@pipe0/react 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (577) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/README.md +172 -0
  3. package/dist/components/compound/pipe-catalog/active-filters.d.mts +26 -0
  4. package/dist/components/compound/pipe-catalog/active-filters.d.mts.map +1 -0
  5. package/dist/components/compound/pipe-catalog/active-filters.mjs +47 -0
  6. package/dist/components/compound/pipe-catalog/active-filters.mjs.map +1 -0
  7. package/dist/components/compound/pipe-catalog/card.d.mts +30 -0
  8. package/dist/components/compound/pipe-catalog/card.d.mts.map +1 -0
  9. package/dist/components/compound/pipe-catalog/card.mjs +77 -0
  10. package/dist/components/compound/pipe-catalog/card.mjs.map +1 -0
  11. package/dist/components/compound/pipe-catalog/category-filter.d.mts +30 -0
  12. package/dist/components/compound/pipe-catalog/category-filter.d.mts.map +1 -0
  13. package/dist/components/compound/pipe-catalog/category-filter.mjs +56 -0
  14. package/dist/components/compound/pipe-catalog/category-filter.mjs.map +1 -0
  15. package/dist/components/compound/pipe-catalog/column-filter.d.mts +40 -0
  16. package/dist/components/compound/pipe-catalog/column-filter.d.mts.map +1 -0
  17. package/dist/components/compound/pipe-catalog/column-filter.mjs +66 -0
  18. package/dist/components/compound/pipe-catalog/column-filter.mjs.map +1 -0
  19. package/dist/components/compound/pipe-catalog/column-filters.d.mts +16 -0
  20. package/dist/components/compound/pipe-catalog/column-filters.d.mts.map +1 -0
  21. package/dist/components/compound/pipe-catalog/column-filters.mjs +21 -0
  22. package/dist/components/compound/pipe-catalog/column-filters.mjs.map +1 -0
  23. package/dist/components/compound/pipe-catalog/empty.d.mts +22 -0
  24. package/dist/components/compound/pipe-catalog/empty.d.mts.map +1 -0
  25. package/dist/components/compound/pipe-catalog/empty.mjs +31 -0
  26. package/dist/components/compound/pipe-catalog/empty.mjs.map +1 -0
  27. package/dist/components/compound/pipe-catalog/index.d.mts +13 -0
  28. package/dist/components/compound/pipe-catalog/index.mjs +15 -0
  29. package/dist/components/compound/pipe-catalog/input-field-filter.d.mts +22 -0
  30. package/dist/components/compound/pipe-catalog/input-field-filter.d.mts.map +1 -0
  31. package/dist/components/compound/pipe-catalog/input-field-filter.mjs +22 -0
  32. package/dist/components/compound/pipe-catalog/input-field-filter.mjs.map +1 -0
  33. package/dist/components/compound/pipe-catalog/list.d.mts +34 -0
  34. package/dist/components/compound/pipe-catalog/list.d.mts.map +1 -0
  35. package/dist/components/compound/pipe-catalog/list.mjs +29 -0
  36. package/dist/components/compound/pipe-catalog/list.mjs.map +1 -0
  37. package/dist/components/compound/pipe-catalog/output-field-filter.d.mts +22 -0
  38. package/dist/components/compound/pipe-catalog/output-field-filter.d.mts.map +1 -0
  39. package/dist/components/compound/pipe-catalog/output-field-filter.mjs +22 -0
  40. package/dist/components/compound/pipe-catalog/output-field-filter.mjs.map +1 -0
  41. package/dist/components/compound/pipe-catalog/provider-filter.d.mts +22 -0
  42. package/dist/components/compound/pipe-catalog/provider-filter.d.mts.map +1 -0
  43. package/dist/components/compound/pipe-catalog/provider-filter.mjs +29 -0
  44. package/dist/components/compound/pipe-catalog/provider-filter.mjs.map +1 -0
  45. package/dist/components/compound/pipe-catalog/root.d.mts +47 -0
  46. package/dist/components/compound/pipe-catalog/root.d.mts.map +1 -0
  47. package/dist/components/compound/pipe-catalog/root.mjs +85 -0
  48. package/dist/components/compound/pipe-catalog/root.mjs.map +1 -0
  49. package/dist/components/compound/pipe-catalog/search-filter.d.mts +24 -0
  50. package/dist/components/compound/pipe-catalog/search-filter.d.mts.map +1 -0
  51. package/dist/components/compound/pipe-catalog/search-filter.mjs +46 -0
  52. package/dist/components/compound/pipe-catalog/search-filter.mjs.map +1 -0
  53. package/dist/components/compound/pipe-catalog/tag-filter.d.mts +22 -0
  54. package/dist/components/compound/pipe-catalog/tag-filter.d.mts.map +1 -0
  55. package/dist/components/compound/pipe-catalog/tag-filter.mjs +22 -0
  56. package/dist/components/compound/pipe-catalog/tag-filter.mjs.map +1 -0
  57. package/dist/components/compound/pipe-form/content.d.mts +18 -0
  58. package/dist/components/compound/pipe-form/content.d.mts.map +1 -0
  59. package/dist/components/compound/pipe-form/content.mjs +45 -0
  60. package/dist/components/compound/pipe-form/content.mjs.map +1 -0
  61. package/dist/components/compound/pipe-form/field.d.mts +17 -0
  62. package/dist/components/compound/pipe-form/field.d.mts.map +1 -0
  63. package/dist/components/compound/pipe-form/field.mjs +21 -0
  64. package/dist/components/compound/pipe-form/field.mjs.map +1 -0
  65. package/dist/components/compound/pipe-form/footer.d.mts +14 -0
  66. package/dist/components/compound/pipe-form/footer.d.mts.map +1 -0
  67. package/dist/components/compound/pipe-form/footer.mjs +14 -0
  68. package/dist/components/compound/pipe-form/footer.mjs.map +1 -0
  69. package/dist/components/compound/pipe-form/group.d.mts +13 -0
  70. package/dist/components/compound/pipe-form/group.d.mts.map +1 -0
  71. package/dist/components/compound/pipe-form/group.mjs +17 -0
  72. package/dist/components/compound/pipe-form/group.mjs.map +1 -0
  73. package/dist/components/compound/pipe-form/header.d.mts +14 -0
  74. package/dist/components/compound/pipe-form/header.d.mts.map +1 -0
  75. package/dist/components/compound/pipe-form/header.mjs +14 -0
  76. package/dist/components/compound/pipe-form/header.mjs.map +1 -0
  77. package/dist/components/compound/pipe-form/index.d.mts +9 -0
  78. package/dist/components/compound/pipe-form/index.mjs +11 -0
  79. package/dist/components/compound/pipe-form/root.d.mts +56 -0
  80. package/dist/components/compound/pipe-form/root.d.mts.map +1 -0
  81. package/dist/components/compound/pipe-form/root.mjs +98 -0
  82. package/dist/components/compound/pipe-form/root.mjs.map +1 -0
  83. package/dist/components/compound/pipe-form/section.d.mts +13 -0
  84. package/dist/components/compound/pipe-form/section.d.mts.map +1 -0
  85. package/dist/components/compound/pipe-form/section.mjs +17 -0
  86. package/dist/components/compound/pipe-form/section.mjs.map +1 -0
  87. package/dist/components/compound/pipe-form/submit-button.d.mts +9 -0
  88. package/dist/components/compound/pipe-form/submit-button.d.mts.map +1 -0
  89. package/dist/components/compound/pipe-form/submit-button.mjs +17 -0
  90. package/dist/components/compound/pipe-form/submit-button.mjs.map +1 -0
  91. package/dist/components/compound/pipe-form/title.d.mts +16 -0
  92. package/dist/components/compound/pipe-form/title.d.mts.map +1 -0
  93. package/dist/components/compound/pipe-form/title.mjs +14 -0
  94. package/dist/components/compound/pipe-form/title.mjs.map +1 -0
  95. package/dist/components/compound/search-catalog/active-filters.d.mts +26 -0
  96. package/dist/components/compound/search-catalog/active-filters.d.mts.map +1 -0
  97. package/dist/components/compound/search-catalog/active-filters.mjs +46 -0
  98. package/dist/components/compound/search-catalog/active-filters.mjs.map +1 -0
  99. package/dist/components/compound/search-catalog/card.d.mts +30 -0
  100. package/dist/components/compound/search-catalog/card.d.mts.map +1 -0
  101. package/dist/components/compound/search-catalog/card.mjs +77 -0
  102. package/dist/components/compound/search-catalog/card.mjs.map +1 -0
  103. package/dist/components/compound/search-catalog/category-filter.d.mts +29 -0
  104. package/dist/components/compound/search-catalog/category-filter.d.mts.map +1 -0
  105. package/dist/components/compound/search-catalog/category-filter.mjs +51 -0
  106. package/dist/components/compound/search-catalog/category-filter.mjs.map +1 -0
  107. package/dist/components/compound/search-catalog/column-filter.d.mts +40 -0
  108. package/dist/components/compound/search-catalog/column-filter.d.mts.map +1 -0
  109. package/dist/components/compound/search-catalog/column-filter.mjs +63 -0
  110. package/dist/components/compound/search-catalog/column-filter.mjs.map +1 -0
  111. package/dist/components/compound/search-catalog/column-filters.d.mts +15 -0
  112. package/dist/components/compound/search-catalog/column-filters.d.mts.map +1 -0
  113. package/dist/components/compound/search-catalog/column-filters.mjs +16 -0
  114. package/dist/components/compound/search-catalog/column-filters.mjs.map +1 -0
  115. package/dist/components/compound/search-catalog/empty.d.mts +22 -0
  116. package/dist/components/compound/search-catalog/empty.d.mts.map +1 -0
  117. package/dist/components/compound/search-catalog/empty.mjs +31 -0
  118. package/dist/components/compound/search-catalog/empty.mjs.map +1 -0
  119. package/dist/components/compound/search-catalog/index.d.mts +12 -0
  120. package/dist/components/compound/search-catalog/index.mjs +14 -0
  121. package/dist/components/compound/search-catalog/list.d.mts +19 -0
  122. package/dist/components/compound/search-catalog/list.d.mts.map +1 -0
  123. package/dist/components/compound/search-catalog/list.mjs +29 -0
  124. package/dist/components/compound/search-catalog/list.mjs.map +1 -0
  125. package/dist/components/compound/search-catalog/output-field-filter.d.mts +22 -0
  126. package/dist/components/compound/search-catalog/output-field-filter.d.mts.map +1 -0
  127. package/dist/components/compound/search-catalog/output-field-filter.mjs +22 -0
  128. package/dist/components/compound/search-catalog/output-field-filter.mjs.map +1 -0
  129. package/dist/components/compound/search-catalog/provider-filter.d.mts +22 -0
  130. package/dist/components/compound/search-catalog/provider-filter.d.mts.map +1 -0
  131. package/dist/components/compound/search-catalog/provider-filter.mjs +29 -0
  132. package/dist/components/compound/search-catalog/provider-filter.mjs.map +1 -0
  133. package/dist/components/compound/search-catalog/root.d.mts +33 -0
  134. package/dist/components/compound/search-catalog/root.d.mts.map +1 -0
  135. package/dist/components/compound/search-catalog/root.mjs +74 -0
  136. package/dist/components/compound/search-catalog/root.mjs.map +1 -0
  137. package/dist/components/compound/search-catalog/search-filter.d.mts +24 -0
  138. package/dist/components/compound/search-catalog/search-filter.d.mts.map +1 -0
  139. package/dist/components/compound/search-catalog/search-filter.mjs +46 -0
  140. package/dist/components/compound/search-catalog/search-filter.mjs.map +1 -0
  141. package/dist/components/compound/search-catalog/tag-filter.d.mts +22 -0
  142. package/dist/components/compound/search-catalog/tag-filter.d.mts.map +1 -0
  143. package/dist/components/compound/search-catalog/tag-filter.mjs +22 -0
  144. package/dist/components/compound/search-catalog/tag-filter.mjs.map +1 -0
  145. package/dist/components/compound/search-form/content.d.mts +18 -0
  146. package/dist/components/compound/search-form/content.d.mts.map +1 -0
  147. package/dist/components/compound/search-form/content.mjs +45 -0
  148. package/dist/components/compound/search-form/content.mjs.map +1 -0
  149. package/dist/components/compound/search-form/field.d.mts +17 -0
  150. package/dist/components/compound/search-form/field.d.mts.map +1 -0
  151. package/dist/components/compound/search-form/field.mjs +21 -0
  152. package/dist/components/compound/search-form/field.mjs.map +1 -0
  153. package/dist/components/compound/search-form/footer.d.mts +14 -0
  154. package/dist/components/compound/search-form/footer.d.mts.map +1 -0
  155. package/dist/components/compound/search-form/footer.mjs +14 -0
  156. package/dist/components/compound/search-form/footer.mjs.map +1 -0
  157. package/dist/components/compound/search-form/group.d.mts +13 -0
  158. package/dist/components/compound/search-form/group.d.mts.map +1 -0
  159. package/dist/components/compound/search-form/group.mjs +17 -0
  160. package/dist/components/compound/search-form/group.mjs.map +1 -0
  161. package/dist/components/compound/search-form/header.d.mts +14 -0
  162. package/dist/components/compound/search-form/header.d.mts.map +1 -0
  163. package/dist/components/compound/search-form/header.mjs +14 -0
  164. package/dist/components/compound/search-form/header.mjs.map +1 -0
  165. package/dist/components/compound/search-form/index.d.mts +9 -0
  166. package/dist/components/compound/search-form/index.mjs +11 -0
  167. package/dist/components/compound/search-form/root.d.mts +45 -0
  168. package/dist/components/compound/search-form/root.d.mts.map +1 -0
  169. package/dist/components/compound/search-form/root.mjs +90 -0
  170. package/dist/components/compound/search-form/root.mjs.map +1 -0
  171. package/dist/components/compound/search-form/section.d.mts +13 -0
  172. package/dist/components/compound/search-form/section.d.mts.map +1 -0
  173. package/dist/components/compound/search-form/section.mjs +17 -0
  174. package/dist/components/compound/search-form/section.mjs.map +1 -0
  175. package/dist/components/compound/search-form/submit-button.d.mts +9 -0
  176. package/dist/components/compound/search-form/submit-button.d.mts.map +1 -0
  177. package/dist/components/compound/search-form/submit-button.mjs +17 -0
  178. package/dist/components/compound/search-form/submit-button.mjs.map +1 -0
  179. package/dist/components/compound/search-form/title.d.mts +16 -0
  180. package/dist/components/compound/search-form/title.d.mts.map +1 -0
  181. package/dist/components/compound/search-form/title.mjs +14 -0
  182. package/dist/components/compound/search-form/title.mjs.map +1 -0
  183. package/dist/components/compound/searches-catalog/active-filters.d.mts +26 -0
  184. package/dist/components/compound/searches-catalog/active-filters.d.mts.map +1 -0
  185. package/dist/components/compound/searches-catalog/active-filters.mjs +46 -0
  186. package/dist/components/compound/searches-catalog/active-filters.mjs.map +1 -0
  187. package/dist/components/compound/searches-catalog/card.d.mts +22 -0
  188. package/dist/components/compound/searches-catalog/card.d.mts.map +1 -0
  189. package/dist/components/compound/searches-catalog/card.mjs +70 -0
  190. package/dist/components/compound/searches-catalog/card.mjs.map +1 -0
  191. package/dist/components/compound/searches-catalog/category-filter.d.mts +29 -0
  192. package/dist/components/compound/searches-catalog/category-filter.d.mts.map +1 -0
  193. package/dist/components/compound/searches-catalog/category-filter.mjs +51 -0
  194. package/dist/components/compound/searches-catalog/category-filter.mjs.map +1 -0
  195. package/dist/components/compound/searches-catalog/column-filter.d.mts +31 -0
  196. package/dist/components/compound/searches-catalog/column-filter.d.mts.map +1 -0
  197. package/dist/components/compound/searches-catalog/column-filter.mjs +58 -0
  198. package/dist/components/compound/searches-catalog/column-filter.mjs.map +1 -0
  199. package/dist/components/compound/searches-catalog/column-filters.d.mts +15 -0
  200. package/dist/components/compound/searches-catalog/column-filters.d.mts.map +1 -0
  201. package/dist/components/compound/searches-catalog/column-filters.mjs +16 -0
  202. package/dist/components/compound/searches-catalog/column-filters.mjs.map +1 -0
  203. package/dist/components/compound/searches-catalog/empty.d.mts +22 -0
  204. package/dist/components/compound/searches-catalog/empty.d.mts.map +1 -0
  205. package/dist/components/compound/searches-catalog/empty.mjs +31 -0
  206. package/dist/components/compound/searches-catalog/empty.mjs.map +1 -0
  207. package/dist/components/compound/searches-catalog/index.d.mts +12 -0
  208. package/dist/components/compound/searches-catalog/index.mjs +14 -0
  209. package/dist/components/compound/searches-catalog/list.d.mts +19 -0
  210. package/dist/components/compound/searches-catalog/list.d.mts.map +1 -0
  211. package/dist/components/compound/searches-catalog/list.mjs +29 -0
  212. package/dist/components/compound/searches-catalog/list.mjs.map +1 -0
  213. package/dist/components/compound/searches-catalog/output-field-filter.d.mts +22 -0
  214. package/dist/components/compound/searches-catalog/output-field-filter.d.mts.map +1 -0
  215. package/dist/components/compound/searches-catalog/output-field-filter.mjs +22 -0
  216. package/dist/components/compound/searches-catalog/output-field-filter.mjs.map +1 -0
  217. package/dist/components/compound/searches-catalog/provider-filter.d.mts +22 -0
  218. package/dist/components/compound/searches-catalog/provider-filter.d.mts.map +1 -0
  219. package/dist/components/compound/searches-catalog/provider-filter.mjs +29 -0
  220. package/dist/components/compound/searches-catalog/provider-filter.mjs.map +1 -0
  221. package/dist/components/compound/searches-catalog/root.d.mts +33 -0
  222. package/dist/components/compound/searches-catalog/root.d.mts.map +1 -0
  223. package/dist/components/compound/searches-catalog/root.mjs +74 -0
  224. package/dist/components/compound/searches-catalog/root.mjs.map +1 -0
  225. package/dist/components/compound/searches-catalog/search-filter.d.mts +24 -0
  226. package/dist/components/compound/searches-catalog/search-filter.d.mts.map +1 -0
  227. package/dist/components/compound/searches-catalog/search-filter.mjs +46 -0
  228. package/dist/components/compound/searches-catalog/search-filter.mjs.map +1 -0
  229. package/dist/components/compound/searches-catalog/tag-filter.d.mts +22 -0
  230. package/dist/components/compound/searches-catalog/tag-filter.d.mts.map +1 -0
  231. package/dist/components/compound/searches-catalog/tag-filter.mjs +22 -0
  232. package/dist/components/compound/searches-catalog/tag-filter.mjs.map +1 -0
  233. package/dist/components/defaults/adapters/async-include-exclude-select-input.mjs +32 -0
  234. package/dist/components/defaults/adapters/async-include-exclude-select-input.mjs.map +1 -0
  235. package/dist/components/defaults/adapters/async-multi-select-input.mjs +26 -0
  236. package/dist/components/defaults/adapters/async-multi-select-input.mjs.map +1 -0
  237. package/dist/components/defaults/adapters/boolean-input.mjs +82 -0
  238. package/dist/components/defaults/adapters/boolean-input.mjs.map +1 -0
  239. package/dist/components/defaults/adapters/connector-input.mjs +94 -0
  240. package/dist/components/defaults/adapters/connector-input.mjs.map +1 -0
  241. package/dist/components/defaults/adapters/context-select-input.mjs +74 -0
  242. package/dist/components/defaults/adapters/context-select-input.mjs.map +1 -0
  243. package/dist/components/defaults/adapters/cursor-pagination-input.mjs +29 -0
  244. package/dist/components/defaults/adapters/cursor-pagination-input.mjs.map +1 -0
  245. package/dist/components/defaults/adapters/date-range-input.mjs +53 -0
  246. package/dist/components/defaults/adapters/date-range-input.mjs.map +1 -0
  247. package/dist/components/defaults/adapters/exact-range-input.mjs +75 -0
  248. package/dist/components/defaults/adapters/exact-range-input.mjs.map +1 -0
  249. package/dist/components/defaults/adapters/fields-select-input.mjs +25 -0
  250. package/dist/components/defaults/adapters/fields-select-input.mjs.map +1 -0
  251. package/dist/components/defaults/adapters/include-exclude-input.mjs +33 -0
  252. package/dist/components/defaults/adapters/include-exclude-input.mjs.map +1 -0
  253. package/dist/components/defaults/adapters/include-exclude-select-input.mjs +36 -0
  254. package/dist/components/defaults/adapters/include-exclude-select-input.mjs.map +1 -0
  255. package/dist/components/defaults/adapters/index.d.mts +11 -0
  256. package/dist/components/defaults/adapters/index.d.mts.map +1 -0
  257. package/dist/components/defaults/adapters/index.mjs +73 -0
  258. package/dist/components/defaults/adapters/index.mjs.map +1 -0
  259. package/dist/components/defaults/adapters/int-input.mjs +16 -0
  260. package/dist/components/defaults/adapters/int-input.mjs.map +1 -0
  261. package/dist/components/defaults/adapters/json-extraction-input.mjs +333 -0
  262. package/dist/components/defaults/adapters/json-extraction-input.mjs.map +1 -0
  263. package/dist/components/defaults/adapters/json-schema-input.mjs +30 -0
  264. package/dist/components/defaults/adapters/json-schema-input.mjs.map +1 -0
  265. package/dist/components/defaults/adapters/key-value-list-input.mjs +100 -0
  266. package/dist/components/defaults/adapters/key-value-list-input.mjs.map +1 -0
  267. package/dist/components/defaults/adapters/min-max-int-input.mjs +65 -0
  268. package/dist/components/defaults/adapters/min-max-int-input.mjs.map +1 -0
  269. package/dist/components/defaults/adapters/multi-create-input.mjs +32 -0
  270. package/dist/components/defaults/adapters/multi-create-input.mjs.map +1 -0
  271. package/dist/components/defaults/adapters/multi-select-input.mjs +26 -0
  272. package/dist/components/defaults/adapters/multi-select-input.mjs.map +1 -0
  273. package/dist/components/defaults/adapters/number-input.mjs +15 -0
  274. package/dist/components/defaults/adapters/number-input.mjs.map +1 -0
  275. package/dist/components/defaults/adapters/ordered-multi-create-input.mjs +43 -0
  276. package/dist/components/defaults/adapters/ordered-multi-create-input.mjs.map +1 -0
  277. package/dist/components/defaults/adapters/output-field-input.mjs +37 -0
  278. package/dist/components/defaults/adapters/output-field-input.mjs.map +1 -0
  279. package/dist/components/defaults/adapters/pipes-trigger-input.mjs +381 -0
  280. package/dist/components/defaults/adapters/pipes-trigger-input.mjs.map +1 -0
  281. package/dist/components/defaults/adapters/prompt-input.mjs +208 -0
  282. package/dist/components/defaults/adapters/prompt-input.mjs.map +1 -0
  283. package/dist/components/defaults/adapters/providers-input.mjs +23 -0
  284. package/dist/components/defaults/adapters/providers-input.mjs.map +1 -0
  285. package/dist/components/defaults/adapters/range-input.mjs +61 -0
  286. package/dist/components/defaults/adapters/range-input.mjs.map +1 -0
  287. package/dist/components/defaults/adapters/select-input.mjs +54 -0
  288. package/dist/components/defaults/adapters/select-input.mjs.map +1 -0
  289. package/dist/components/defaults/adapters/tagged-text-input.mjs +154 -0
  290. package/dist/components/defaults/adapters/tagged-text-input.mjs.map +1 -0
  291. package/dist/components/defaults/adapters/template-input.mjs +34 -0
  292. package/dist/components/defaults/adapters/template-input.mjs.map +1 -0
  293. package/dist/components/defaults/adapters/text-input.mjs +18 -0
  294. package/dist/components/defaults/adapters/text-input.mjs.map +1 -0
  295. package/dist/components/defaults/adapters/textarea-input.mjs +17 -0
  296. package/dist/components/defaults/adapters/textarea-input.mjs.map +1 -0
  297. package/dist/components/defaults/catalog/active-filter-pill.mjs +30 -0
  298. package/dist/components/defaults/catalog/active-filter-pill.mjs.map +1 -0
  299. package/dist/components/defaults/catalog/card-derived.d.mts +98 -0
  300. package/dist/components/defaults/catalog/card-derived.d.mts.map +1 -0
  301. package/dist/components/defaults/catalog/card-derived.mjs +172 -0
  302. package/dist/components/defaults/catalog/card-derived.mjs.map +1 -0
  303. package/dist/components/defaults/catalog/card-primitives.d.mts +81 -0
  304. package/dist/components/defaults/catalog/card-primitives.d.mts.map +1 -0
  305. package/dist/components/defaults/catalog/card-primitives.mjs +108 -0
  306. package/dist/components/defaults/catalog/card-primitives.mjs.map +1 -0
  307. package/dist/components/defaults/catalog/category-filter.d.mts +13 -0
  308. package/dist/components/defaults/catalog/category-filter.d.mts.map +1 -0
  309. package/dist/components/defaults/catalog/category-filter.mjs +28 -0
  310. package/dist/components/defaults/catalog/category-filter.mjs.map +1 -0
  311. package/dist/components/defaults/catalog/category-section.d.mts +39 -0
  312. package/dist/components/defaults/catalog/category-section.d.mts.map +1 -0
  313. package/dist/components/defaults/catalog/category-section.mjs +59 -0
  314. package/dist/components/defaults/catalog/category-section.mjs.map +1 -0
  315. package/dist/components/defaults/catalog/empty-state.mjs +20 -0
  316. package/dist/components/defaults/catalog/empty-state.mjs.map +1 -0
  317. package/dist/components/defaults/catalog/filter-select.d.mts +13 -0
  318. package/dist/components/defaults/catalog/filter-select.d.mts.map +1 -0
  319. package/dist/components/defaults/catalog/filter-select.mjs +45 -0
  320. package/dist/components/defaults/catalog/filter-select.mjs.map +1 -0
  321. package/dist/components/defaults/catalog/layout.mjs +53 -0
  322. package/dist/components/defaults/catalog/layout.mjs.map +1 -0
  323. package/dist/components/defaults/catalog/provider-avatars.d.mts +37 -0
  324. package/dist/components/defaults/catalog/provider-avatars.d.mts.map +1 -0
  325. package/dist/components/defaults/catalog/provider-avatars.mjs +98 -0
  326. package/dist/components/defaults/catalog/provider-avatars.mjs.map +1 -0
  327. package/dist/components/defaults/field-section-enumeration.mjs +32 -0
  328. package/dist/components/defaults/field-section-enumeration.mjs.map +1 -0
  329. package/dist/components/defaults/layout/field-wrapper.d.mts +13 -0
  330. package/dist/components/defaults/layout/field-wrapper.d.mts.map +1 -0
  331. package/dist/components/defaults/layout/field-wrapper.mjs +67 -0
  332. package/dist/components/defaults/layout/field-wrapper.mjs.map +1 -0
  333. package/dist/components/defaults/layout/form.mjs +21 -0
  334. package/dist/components/defaults/layout/form.mjs.map +1 -0
  335. package/dist/components/defaults/layout/group.d.mts +16 -0
  336. package/dist/components/defaults/layout/group.d.mts.map +1 -0
  337. package/dist/components/defaults/layout/group.mjs +87 -0
  338. package/dist/components/defaults/layout/group.mjs.map +1 -0
  339. package/dist/components/defaults/layout/section.d.mts +14 -0
  340. package/dist/components/defaults/layout/section.d.mts.map +1 -0
  341. package/dist/components/defaults/layout/section.mjs +39 -0
  342. package/dist/components/defaults/layout/section.mjs.map +1 -0
  343. package/dist/components/defaults/layout/submit-button.d.mts +9 -0
  344. package/dist/components/defaults/layout/submit-button.d.mts.map +1 -0
  345. package/dist/components/defaults/layout/submit-button.mjs +23 -0
  346. package/dist/components/defaults/layout/submit-button.mjs.map +1 -0
  347. package/dist/components/defaults/toggle-advanced-button.mjs +29 -0
  348. package/dist/components/defaults/toggle-advanced-button.mjs.map +1 -0
  349. package/dist/components/field-renderer.d.mts +14 -0
  350. package/dist/components/field-renderer.d.mts.map +1 -0
  351. package/dist/components/field-renderer.mjs +21 -0
  352. package/dist/components/field-renderer.mjs.map +1 -0
  353. package/dist/components/hover-info.mjs +30 -0
  354. package/dist/components/hover-info.mjs.map +1 -0
  355. package/dist/components/internal/LiquidEditor/ChipEditPopover.mjs +319 -0
  356. package/dist/components/internal/LiquidEditor/ChipEditPopover.mjs.map +1 -0
  357. package/dist/components/internal/LiquidEditor/LiquidEditor.mjs +208 -0
  358. package/dist/components/internal/LiquidEditor/LiquidEditor.mjs.map +1 -0
  359. package/dist/components/internal/LiquidEditor/UnifiedReferencePicker.mjs +240 -0
  360. package/dist/components/internal/LiquidEditor/UnifiedReferencePicker.mjs.map +1 -0
  361. package/dist/components/internal/combobox/include-exclude-combobox.mjs +368 -0
  362. package/dist/components/internal/combobox/include-exclude-combobox.mjs.map +1 -0
  363. package/dist/components/internal/combobox/suggest-combobox.mjs +294 -0
  364. package/dist/components/internal/combobox/suggest-combobox.mjs.map +1 -0
  365. package/dist/components/internal/field-legend.mjs +37 -0
  366. package/dist/components/internal/field-legend.mjs.map +1 -0
  367. package/dist/components/internal/form-level-errors.mjs +71 -0
  368. package/dist/components/internal/form-level-errors.mjs.map +1 -0
  369. package/dist/components/internal/icons.mjs +131 -0
  370. package/dist/components/internal/icons.mjs.map +1 -0
  371. package/dist/components/internal/multi-select-popover-trigger.mjs +26 -0
  372. package/dist/components/internal/multi-select-popover-trigger.mjs.map +1 -0
  373. package/dist/components/internal/schema-editor/SchemaEditor.mjs +468 -0
  374. package/dist/components/internal/schema-editor/SchemaEditor.mjs.map +1 -0
  375. package/dist/components/internal/schema-editor/generate-schema-rows.mjs +374 -0
  376. package/dist/components/internal/schema-editor/generate-schema-rows.mjs.map +1 -0
  377. package/dist/components/internal/schema-editor/schema-editor-context.mjs +32 -0
  378. package/dist/components/internal/schema-editor/schema-editor-context.mjs.map +1 -0
  379. package/dist/components/internal/schema-editor/schema-utils.mjs +249 -0
  380. package/dist/components/internal/schema-editor/schema-utils.mjs.map +1 -0
  381. package/dist/components/internal/suggestion-menu/suggestion-menu-utils.mjs +12 -0
  382. package/dist/components/internal/suggestion-menu/suggestion-menu-utils.mjs.map +1 -0
  383. package/dist/components/internal/suggestion-menu/suggestion-menu.mjs +151 -0
  384. package/dist/components/internal/suggestion-menu/suggestion-menu.mjs.map +1 -0
  385. package/dist/components/internal/tag-chip-decoration.mjs +180 -0
  386. package/dist/components/internal/tag-chip-decoration.mjs.map +1 -0
  387. package/dist/components/rich-text.mjs +42 -0
  388. package/dist/components/rich-text.mjs.map +1 -0
  389. package/dist/components/ui/badge.mjs +32 -0
  390. package/dist/components/ui/badge.mjs.map +1 -0
  391. package/dist/components/ui/button.d.mts +19 -0
  392. package/dist/components/ui/button.d.mts.map +1 -0
  393. package/dist/components/ui/button.mjs +47 -0
  394. package/dist/components/ui/button.mjs.map +1 -0
  395. package/dist/components/ui/combobox.mjs +103 -0
  396. package/dist/components/ui/combobox.mjs.map +1 -0
  397. package/dist/components/ui/input-group.mjs +30 -0
  398. package/dist/components/ui/input-group.mjs.map +1 -0
  399. package/dist/components/ui/input.mjs +17 -0
  400. package/dist/components/ui/input.mjs.map +1 -0
  401. package/dist/components/ui/label.mjs +17 -0
  402. package/dist/components/ui/label.mjs.map +1 -0
  403. package/dist/components/ui/popover.mjs +40 -0
  404. package/dist/components/ui/popover.mjs.map +1 -0
  405. package/dist/components/ui/select.mjs +92 -0
  406. package/dist/components/ui/select.mjs.map +1 -0
  407. package/dist/components/ui/switch.mjs +21 -0
  408. package/dist/components/ui/switch.mjs.map +1 -0
  409. package/dist/components/ui/table.mjs +56 -0
  410. package/dist/components/ui/table.mjs.map +1 -0
  411. package/dist/components/ui/textarea.mjs +15 -0
  412. package/dist/components/ui/textarea.mjs.map +1 -0
  413. package/dist/components/ui/tooltip.mjs +48 -0
  414. package/dist/components/ui/tooltip.mjs.map +1 -0
  415. package/dist/context/catalog-card-context.mjs +31 -0
  416. package/dist/context/catalog-card-context.mjs.map +1 -0
  417. package/dist/context/catalog-config-context.d.mts +43 -0
  418. package/dist/context/catalog-config-context.d.mts.map +1 -0
  419. package/dist/context/catalog-config-context.mjs +48 -0
  420. package/dist/context/catalog-config-context.mjs.map +1 -0
  421. package/dist/context/form-context.mjs +11 -0
  422. package/dist/context/form-context.mjs.map +1 -0
  423. package/dist/context/form-customization-context.d.mts +71 -0
  424. package/dist/context/form-customization-context.d.mts.map +1 -0
  425. package/dist/context/form-customization-context.mjs +114 -0
  426. package/dist/context/form-customization-context.mjs.map +1 -0
  427. package/dist/context/form-provider.d.mts +41 -0
  428. package/dist/context/form-provider.d.mts.map +1 -0
  429. package/dist/context/form-provider.mjs +53 -0
  430. package/dist/context/form-provider.mjs.map +1 -0
  431. package/dist/context/pipe-catalog-card-context.d.mts +17 -0
  432. package/dist/context/pipe-catalog-card-context.d.mts.map +1 -0
  433. package/dist/context/pipe-catalog-card-context.mjs +13 -0
  434. package/dist/context/pipe-catalog-card-context.mjs.map +1 -0
  435. package/dist/context/pipe-catalog-context.d.mts +26 -0
  436. package/dist/context/pipe-catalog-context.d.mts.map +1 -0
  437. package/dist/context/pipe-catalog-context.mjs +13 -0
  438. package/dist/context/pipe-catalog-context.mjs.map +1 -0
  439. package/dist/context/pipe-form-context.d.mts +25 -0
  440. package/dist/context/pipe-form-context.d.mts.map +1 -0
  441. package/dist/context/pipe-form-context.mjs +13 -0
  442. package/dist/context/pipe-form-context.mjs.map +1 -0
  443. package/dist/context/portal-container-context.d.mts +5 -0
  444. package/dist/context/portal-container-context.d.mts.map +1 -0
  445. package/dist/context/portal-container-context.mjs +15 -0
  446. package/dist/context/portal-container-context.mjs.map +1 -0
  447. package/dist/context/search-catalog-card-context.d.mts +16 -0
  448. package/dist/context/search-catalog-card-context.d.mts.map +1 -0
  449. package/dist/context/search-catalog-card-context.mjs +13 -0
  450. package/dist/context/search-catalog-card-context.mjs.map +1 -0
  451. package/dist/context/search-catalog-context.d.mts +20 -0
  452. package/dist/context/search-catalog-context.d.mts.map +1 -0
  453. package/dist/context/search-catalog-context.mjs +13 -0
  454. package/dist/context/search-catalog-context.mjs.map +1 -0
  455. package/dist/context/search-form-context.d.mts +25 -0
  456. package/dist/context/search-form-context.d.mts.map +1 -0
  457. package/dist/context/search-form-context.mjs +13 -0
  458. package/dist/context/search-form-context.mjs.map +1 -0
  459. package/dist/context/searches-catalog-card-context.d.mts +16 -0
  460. package/dist/context/searches-catalog-card-context.d.mts.map +1 -0
  461. package/dist/context/searches-catalog-card-context.mjs +13 -0
  462. package/dist/context/searches-catalog-card-context.mjs.map +1 -0
  463. package/dist/context/searches-catalog-context.d.mts +20 -0
  464. package/dist/context/searches-catalog-context.d.mts.map +1 -0
  465. package/dist/context/searches-catalog-context.mjs +13 -0
  466. package/dist/context/searches-catalog-context.mjs.map +1 -0
  467. package/dist/hooks/use-debounce.mjs +28 -0
  468. package/dist/hooks/use-debounce.mjs.map +1 -0
  469. package/dist/hooks/use-debounced-fn.mjs +47 -0
  470. package/dist/hooks/use-debounced-fn.mjs.map +1 -0
  471. package/dist/hooks/use-disclosure.mjs +35 -0
  472. package/dist/hooks/use-disclosure.mjs.map +1 -0
  473. package/dist/hooks/use-field-error.d.mts +11 -0
  474. package/dist/hooks/use-field-error.d.mts.map +1 -0
  475. package/dist/hooks/use-field-error.mjs +23 -0
  476. package/dist/hooks/use-field-error.mjs.map +1 -0
  477. package/dist/hooks/use-floating-element.mjs +45 -0
  478. package/dist/hooks/use-floating-element.mjs.map +1 -0
  479. package/dist/hooks/use-form-core.d.mts +16 -0
  480. package/dist/hooks/use-form-core.d.mts.map +1 -0
  481. package/dist/hooks/use-form-core.mjs +241 -0
  482. package/dist/hooks/use-form-core.mjs.map +1 -0
  483. package/dist/hooks/use-jsonata-preview.mjs +38 -0
  484. package/dist/hooks/use-jsonata-preview.mjs.map +1 -0
  485. package/dist/hooks/use-menu-navigation.mjs +86 -0
  486. package/dist/hooks/use-menu-navigation.mjs.map +1 -0
  487. package/dist/hooks/use-pipe-catalog-table.d.mts +47 -0
  488. package/dist/hooks/use-pipe-catalog-table.d.mts.map +1 -0
  489. package/dist/hooks/use-pipe-catalog-table.mjs +170 -0
  490. package/dist/hooks/use-pipe-catalog-table.mjs.map +1 -0
  491. package/dist/hooks/use-pipe-form.d.mts +31 -0
  492. package/dist/hooks/use-pipe-form.d.mts.map +1 -0
  493. package/dist/hooks/use-pipe-form.mjs +65 -0
  494. package/dist/hooks/use-pipe-form.mjs.map +1 -0
  495. package/dist/hooks/use-search-catalog-table.d.mts +40 -0
  496. package/dist/hooks/use-search-catalog-table.d.mts.map +1 -0
  497. package/dist/hooks/use-search-catalog-table.mjs +161 -0
  498. package/dist/hooks/use-search-catalog-table.mjs.map +1 -0
  499. package/dist/hooks/use-search-form.d.mts +17 -0
  500. package/dist/hooks/use-search-form.d.mts.map +1 -0
  501. package/dist/hooks/use-search-form.mjs +58 -0
  502. package/dist/hooks/use-search-form.mjs.map +1 -0
  503. package/dist/hooks/use-searches-catalog-table.d.mts +40 -0
  504. package/dist/hooks/use-searches-catalog-table.d.mts.map +1 -0
  505. package/dist/hooks/use-searches-catalog-table.mjs +161 -0
  506. package/dist/hooks/use-searches-catalog-table.mjs.map +1 -0
  507. package/dist/index.d.mts +96 -0
  508. package/dist/index.mjs +98 -0
  509. package/dist/lib/utils.mjs +11 -0
  510. package/dist/lib/utils.mjs.map +1 -0
  511. package/dist/styles/pipe0-form.css +3785 -0
  512. package/dist/types/adapters.d.mts +107 -0
  513. package/dist/types/adapters.d.mts.map +1 -0
  514. package/dist/types/catalog-adapters.d.mts +122 -0
  515. package/dist/types/catalog-adapters.d.mts.map +1 -0
  516. package/dist/types/field-handle.d.mts +3 -0
  517. package/dist/types/field-props.d.mts +285 -0
  518. package/dist/types/field-props.d.mts.map +1 -0
  519. package/dist/types/form-customization.d.mts +25 -0
  520. package/dist/types/form-customization.d.mts.map +1 -0
  521. package/dist/types/form-handle.d.mts +23 -0
  522. package/dist/types/form-handle.d.mts.map +1 -0
  523. package/dist/utils/build-section-handlers.mjs +419 -0
  524. package/dist/utils/build-section-handlers.mjs.map +1 -0
  525. package/dist/utils/catalog-helpers.d.mts +12 -0
  526. package/dist/utils/catalog-helpers.d.mts.map +1 -0
  527. package/dist/utils/catalog-helpers.mjs +35 -0
  528. package/dist/utils/catalog-helpers.mjs.map +1 -0
  529. package/dist/utils/generate-random-string.mjs +11 -0
  530. package/dist/utils/generate-random-string.mjs.map +1 -0
  531. package/dist/utils/merge-form-stores.mjs +14 -0
  532. package/dist/utils/merge-form-stores.mjs.map +1 -0
  533. package/dist/utils/object-path.mjs +72 -0
  534. package/dist/utils/object-path.mjs.map +1 -0
  535. package/dist/utils/render-slot.d.mts +44 -0
  536. package/dist/utils/render-slot.d.mts.map +1 -0
  537. package/dist/utils/render-slot.mjs +30 -0
  538. package/dist/utils/render-slot.mjs.map +1 -0
  539. package/dist/widgets/avatar-group.d.mts +36 -0
  540. package/dist/widgets/avatar-group.d.mts.map +1 -0
  541. package/dist/widgets/avatar-group.mjs +114 -0
  542. package/dist/widgets/avatar-group.mjs.map +1 -0
  543. package/dist/widgets/emoji-glyph.d.mts +11 -0
  544. package/dist/widgets/emoji-glyph.d.mts.map +1 -0
  545. package/dist/widgets/emoji-glyph.mjs +13 -0
  546. package/dist/widgets/emoji-glyph.mjs.map +1 -0
  547. package/dist/widgets/field-type-badge.d.mts +13 -0
  548. package/dist/widgets/field-type-badge.d.mts.map +1 -0
  549. package/dist/widgets/field-type-badge.mjs +30 -0
  550. package/dist/widgets/field-type-badge.mjs.map +1 -0
  551. package/dist/widgets/icon-glyph.d.mts +16 -0
  552. package/dist/widgets/icon-glyph.d.mts.map +1 -0
  553. package/dist/widgets/icon-glyph.mjs +59 -0
  554. package/dist/widgets/icon-glyph.mjs.map +1 -0
  555. package/dist/widgets/index.d.mts +9 -0
  556. package/dist/widgets/index.mjs +11 -0
  557. package/dist/widgets/logo-url.d.mts +17 -0
  558. package/dist/widgets/logo-url.d.mts.map +1 -0
  559. package/dist/widgets/logo-url.mjs +17 -0
  560. package/dist/widgets/logo-url.mjs.map +1 -0
  561. package/dist/widgets/pricing-badge.d.mts +11 -0
  562. package/dist/widgets/pricing-badge.d.mts.map +1 -0
  563. package/dist/widgets/pricing-badge.mjs +13 -0
  564. package/dist/widgets/pricing-badge.mjs.map +1 -0
  565. package/dist/widgets/provider-logo.d.mts +16 -0
  566. package/dist/widgets/provider-logo.d.mts.map +1 -0
  567. package/dist/widgets/provider-logo.mjs +20 -0
  568. package/dist/widgets/provider-logo.mjs.map +1 -0
  569. package/dist/widgets/widget-strip.d.mts +16 -0
  570. package/dist/widgets/widget-strip.d.mts.map +1 -0
  571. package/dist/widgets/widget-strip.mjs +42 -0
  572. package/dist/widgets/widget-strip.mjs.map +1 -0
  573. package/dist/widgets/widget-view.d.mts +14 -0
  574. package/dist/widgets/widget-view.d.mts.map +1 -0
  575. package/dist/widgets/widget-view.mjs +36 -0
  576. package/dist/widgets/widget-view.mjs.map +1 -0
  577. package/package.json +82 -0
@@ -0,0 +1,39 @@
1
+ import { ReactNode } from "react";
2
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/components/defaults/catalog/category-section.d.ts
5
+ interface CatalogCategorySectionProps {
6
+ /** Display label (e.g. "People"). */
7
+ label: ReactNode;
8
+ /** Hex / CSS color used for the small leading dot. */
9
+ color?: string;
10
+ /** Count rendered next to the label. */
11
+ count?: number;
12
+ /** Default open state when uncontrolled. Defaults to `true`. */
13
+ defaultOpen?: boolean;
14
+ /** Controlled open state. */
15
+ open?: boolean;
16
+ onOpenChange?: (open: boolean) => void;
17
+ className?: string;
18
+ /** Class names applied to the body container that wraps `children`. */
19
+ bodyClassName?: string;
20
+ children?: ReactNode;
21
+ }
22
+ /**
23
+ * Collapsible category section header. Used to group catalog cards by
24
+ * category. Click the header (or chevron) to toggle the body.
25
+ */
26
+ declare function CatalogCategorySection({
27
+ label,
28
+ color,
29
+ count,
30
+ defaultOpen,
31
+ open,
32
+ onOpenChange,
33
+ className,
34
+ bodyClassName,
35
+ children
36
+ }: CatalogCategorySectionProps): _$react_jsx_runtime0.JSX.Element;
37
+ //#endregion
38
+ export { CatalogCategorySection, CatalogCategorySectionProps };
39
+ //# sourceMappingURL=category-section.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-section.d.mts","names":[],"sources":["../../../../src/components/defaults/catalog/category-section.tsx"],"mappings":";;;;UAIiB,2BAAA;;EAEf,KAAA,EAAO,SAAA;EAFQ;EAIf,KAAA;;EAEA,KAAA;EAJA;EAMA,WAAA;EAJA;EAMA,IAAA;EACA,YAAA,IAAgB,IAAA;EAChB,SAAA;EADA;EAGA,aAAA;EACA,QAAA,GAAW,SAAA;AAAA;;;;;iBAOG,sBAAA,CAAA;EACd,KAAA;EACA,KAAA;EACA,KAAA;EACA,WAAA;EACA,IAAA;EACA,YAAA;EACA,SAAA;EACA,aAAA;EACA;AAAA,GACC,2BAAA,GAA2B,oBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,59 @@
1
+ import { cn } from "../../../lib/utils.mjs";
2
+ import { useState } from "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { ChevronDown } from "lucide-react";
5
+
6
+ //#region src/components/defaults/catalog/category-section.tsx
7
+ /**
8
+ * Collapsible category section header. Used to group catalog cards by
9
+ * category. Click the header (or chevron) to toggle the body.
10
+ */
11
+ function CatalogCategorySection({ label, color, count, defaultOpen = true, open, onOpenChange, className, bodyClassName, children }) {
12
+ const [internalOpen, setInternalOpen] = useState(defaultOpen);
13
+ const isControlled = open !== void 0;
14
+ const isOpen = isControlled ? !!open : internalOpen;
15
+ const toggle = () => {
16
+ const next = !isOpen;
17
+ if (!isControlled) setInternalOpen(next);
18
+ onOpenChange?.(next);
19
+ };
20
+ return /* @__PURE__ */ jsxs("section", {
21
+ "data-p0": "catalog-category-section",
22
+ "data-open": isOpen ? "true" : "false",
23
+ className: cn("pz:flex pz:flex-col", className),
24
+ children: [/* @__PURE__ */ jsxs("button", {
25
+ type: "button",
26
+ "data-p0": "catalog-category-section-header",
27
+ onClick: toggle,
28
+ "aria-expanded": isOpen,
29
+ className: "pz:flex pz:items-center pz:gap-2 pz:py-2 pz:text-left pz:bg-transparent pz:border-0 pz:border-b pz:border-input pz:cursor-pointer pz:transition-colors pz:hover:bg-muted/30",
30
+ children: [
31
+ /* @__PURE__ */ jsx(ChevronDown, {
32
+ "aria-hidden": "true",
33
+ className: cn("pz:size-3.5 pz:text-muted-foreground pz:shrink-0 pz:transition-transform", isOpen ? void 0 : "pz:-rotate-90")
34
+ }),
35
+ color ? /* @__PURE__ */ jsx("span", {
36
+ "aria-hidden": "true",
37
+ className: "pz:size-1.5 pz:rounded-full pz:shrink-0",
38
+ style: { backgroundColor: color }
39
+ }) : null,
40
+ /* @__PURE__ */ jsx("span", {
41
+ className: "pz:text-[11px] pz:font-semibold pz:tracking-[0.08em] pz:uppercase pz:text-foreground",
42
+ children: label
43
+ }),
44
+ typeof count === "number" ? /* @__PURE__ */ jsx("span", {
45
+ className: "pz:text-[11px] pz:text-muted-foreground",
46
+ children: count
47
+ }) : null
48
+ ]
49
+ }), isOpen ? /* @__PURE__ */ jsx("div", {
50
+ "data-p0": "catalog-category-section-body",
51
+ className: cn("pz:flex pz:flex-col", bodyClassName),
52
+ children
53
+ }) : null]
54
+ });
55
+ }
56
+
57
+ //#endregion
58
+ export { CatalogCategorySection };
59
+ //# sourceMappingURL=category-section.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-section.mjs","names":[],"sources":["../../../../src/components/defaults/catalog/category-section.tsx"],"sourcesContent":["import { ChevronDown } from \"lucide-react\";\nimport { type ReactNode, useState } from \"react\";\nimport { cn } from \"../../../lib/utils.js\";\n\nexport interface CatalogCategorySectionProps {\n /** Display label (e.g. \"People\"). */\n label: ReactNode;\n /** Hex / CSS color used for the small leading dot. */\n color?: string;\n /** Count rendered next to the label. */\n count?: number;\n /** Default open state when uncontrolled. Defaults to `true`. */\n defaultOpen?: boolean;\n /** Controlled open state. */\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n className?: string;\n /** Class names applied to the body container that wraps `children`. */\n bodyClassName?: string;\n children?: ReactNode;\n}\n\n/**\n * Collapsible category section header. Used to group catalog cards by\n * category. Click the header (or chevron) to toggle the body.\n */\nexport function CatalogCategorySection({\n label,\n color,\n count,\n defaultOpen = true,\n open,\n onOpenChange,\n className,\n bodyClassName,\n children,\n}: CatalogCategorySectionProps) {\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const isControlled = open !== undefined;\n const isOpen = isControlled ? !!open : internalOpen;\n\n const toggle = () => {\n const next = !isOpen;\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n };\n\n return (\n <section\n data-p0=\"catalog-category-section\"\n data-open={isOpen ? \"true\" : \"false\"}\n className={cn(\"pz:flex pz:flex-col\", className)}\n >\n <button\n type=\"button\"\n data-p0=\"catalog-category-section-header\"\n onClick={toggle}\n aria-expanded={isOpen}\n className=\"pz:flex pz:items-center pz:gap-2 pz:py-2 pz:text-left pz:bg-transparent pz:border-0 pz:border-b pz:border-input pz:cursor-pointer pz:transition-colors pz:hover:bg-muted/30\"\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"pz:size-3.5 pz:text-muted-foreground pz:shrink-0 pz:transition-transform\",\n isOpen ? undefined : \"pz:-rotate-90\",\n )}\n />\n {color ? (\n <span\n aria-hidden=\"true\"\n className=\"pz:size-1.5 pz:rounded-full pz:shrink-0\"\n style={{ backgroundColor: color }}\n />\n ) : null}\n <span className=\"pz:text-[11px] pz:font-semibold pz:tracking-[0.08em] pz:uppercase pz:text-foreground\">\n {label}\n </span>\n {typeof count === \"number\" ? (\n <span className=\"pz:text-[11px] pz:text-muted-foreground\">{count}</span>\n ) : null}\n </button>\n {isOpen ? (\n <div\n data-p0=\"catalog-category-section-body\"\n className={cn(\"pz:flex pz:flex-col\", bodyClassName)}\n >\n {children}\n </div>\n ) : null}\n </section>\n );\n}\n"],"mappings":";;;;;;;;;;AA0BA,SAAgB,uBAAuB,EACrC,OACA,OACA,OACA,cAAc,MACd,MACA,cACA,WACA,eACA,YAC8B;CAC9B,MAAM,CAAC,cAAc,mBAAmB,SAAS,YAAY;CAC7D,MAAM,eAAe,SAAS;CAC9B,MAAM,SAAS,eAAe,CAAC,CAAC,OAAO;CAEvC,MAAM,eAAe;EACnB,MAAM,OAAO,CAAC;AACd,MAAI,CAAC,aAAc,iBAAgB,KAAK;AACxC,iBAAe,KAAK;;AAGtB,QACE,qBAAC,WAAD;EACE,WAAQ;EACR,aAAW,SAAS,SAAS;EAC7B,WAAW,GAAG,uBAAuB,UAAU;YAHjD,CAKE,qBAAC,UAAD;GACE,MAAK;GACL,WAAQ;GACR,SAAS;GACT,iBAAe;GACf,WAAU;aALZ;IAOE,oBAAC,aAAD;KACE,eAAY;KACZ,WAAW,GACT,4EACA,SAAS,SAAY,gBACtB;KACD;IACD,QACC,oBAAC,QAAD;KACE,eAAY;KACZ,WAAU;KACV,OAAO,EAAE,iBAAiB,OAAO;KACjC,IACA;IACJ,oBAAC,QAAD;KAAM,WAAU;eACb;KACI;IACN,OAAO,UAAU,WAChB,oBAAC,QAAD;KAAM,WAAU;eAA2C;KAAa,IACtE;IACG;MACR,SACC,oBAAC,OAAD;GACE,WAAQ;GACR,WAAW,GAAG,uBAAuB,cAAc;GAElD;GACG,IACJ,KACI"}
@@ -0,0 +1,20 @@
1
+ import { cn } from "../../../lib/utils.mjs";
2
+ import { useCatalogConfig } from "../../../context/catalog-config-context.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+
5
+ //#region src/components/defaults/catalog/empty-state.tsx
6
+ function DefaultEmptyState({ children, className }) {
7
+ const { classNames } = useCatalogConfig();
8
+ return /* @__PURE__ */ jsx("div", {
9
+ "data-p0": "catalog-empty-state",
10
+ className: cn("pz:flex pz:h-[200px] pz:flex-col pz:items-center pz:justify-center pz:rounded-md pz:border pz:border-dashed pz:p-8 pz:text-center", classNames?.emptyState, className),
11
+ children: /* @__PURE__ */ jsx("p", {
12
+ className: "pz:text-sm pz:text-muted-foreground",
13
+ children: children ?? "No results found. Try adjusting your filters."
14
+ })
15
+ });
16
+ }
17
+
18
+ //#endregion
19
+ export { DefaultEmptyState };
20
+ //# sourceMappingURL=empty-state.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.mjs","names":[],"sources":["../../../../src/components/defaults/catalog/empty-state.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { useCatalogConfig } from \"../../../context/catalog-config-context.js\";\nimport { cn } from \"../../../lib/utils.js\";\n\nexport interface DefaultEmptyStateProps {\n children?: ReactNode;\n className?: string;\n}\n\nexport function DefaultEmptyState({ children, className }: DefaultEmptyStateProps) {\n const { classNames } = useCatalogConfig();\n return (\n <div\n data-p0=\"catalog-empty-state\"\n className={cn(\n \"pz:flex pz:h-[200px] pz:flex-col pz:items-center pz:justify-center pz:rounded-md pz:border pz:border-dashed pz:p-8 pz:text-center\",\n classNames?.emptyState,\n className,\n )}\n >\n <p className=\"pz:text-sm pz:text-muted-foreground\">\n {children ?? \"No results found. Try adjusting your filters.\"}\n </p>\n </div>\n );\n}\n"],"mappings":";;;;;AASA,SAAgB,kBAAkB,EAAE,UAAU,aAAqC;CACjF,MAAM,EAAE,eAAe,kBAAkB;AACzC,QACE,oBAAC,OAAD;EACE,WAAQ;EACR,WAAW,GACT,qIACA,YAAY,YACZ,UACD;YAED,oBAAC,KAAD;GAAG,WAAU;aACV,YAAY;GACX;EACA"}
@@ -0,0 +1,13 @@
1
+ import { ComponentType, ReactNode } from "react";
2
+ //#region src/components/defaults/catalog/filter-select.d.ts
3
+ interface FilterSelectOption {
4
+ label: ReactNode;
5
+ value: string;
6
+ icon?: ComponentType<{
7
+ className?: string;
8
+ }>;
9
+ imageSrc?: string;
10
+ }
11
+ //#endregion
12
+ export { FilterSelectOption };
13
+ //# sourceMappingURL=filter-select.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-select.d.mts","names":[],"sources":["../../../../src/components/defaults/catalog/filter-select.tsx"],"mappings":";;UAYiB,kBAAA;EACf,KAAA,EAAO,SAAA;EACP,KAAA;EACA,IAAA,GAAO,aAAA;IAAgB,SAAA;EAAA;EACvB,QAAA;AAAA"}
@@ -0,0 +1,45 @@
1
+ import { cn } from "../../../lib/utils.mjs";
2
+ import { useCatalogConfig } from "../../../context/catalog-config-context.mjs";
3
+ import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from "../../ui/select.mjs";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+
6
+ //#region src/components/defaults/catalog/filter-select.tsx
7
+ function DefaultFilterSelect({ placeholder, value, onChange, options, clearValue = "__clear__", className }) {
8
+ const { classNames } = useCatalogConfig();
9
+ const isActive = !!value;
10
+ return /* @__PURE__ */ jsxs(Select, {
11
+ value: value || "",
12
+ onValueChange: (v) => {
13
+ if (!v || v === clearValue) onChange(null);
14
+ else onChange(v);
15
+ },
16
+ children: [/* @__PURE__ */ jsx(SelectTrigger, {
17
+ "data-active": isActive ? "" : void 0,
18
+ className: cn("pz:h-9 pz:gap-2 pz:px-3", classNames?.filterSelect, classNames?.filterSelectButton, isActive && "pz:bg-primary pz:text-primary-foreground pz:border-primary", isActive && classNames?.filterSelectButtonActive, className),
19
+ children: /* @__PURE__ */ jsx(SelectValue, { placeholder })
20
+ }), /* @__PURE__ */ jsx(SelectContent, {
21
+ className: classNames?.filterPopover,
22
+ children: /* @__PURE__ */ jsxs(SelectGroup, { children: [/* @__PURE__ */ jsx(SelectItem, {
23
+ value: clearValue,
24
+ children: /* @__PURE__ */ jsx("span", {
25
+ className: "pz:text-muted-foreground",
26
+ children: "Clear filter"
27
+ })
28
+ }), options.map((opt) => {
29
+ const Icon = opt.icon;
30
+ return /* @__PURE__ */ jsxs(SelectItem, {
31
+ value: opt.value,
32
+ children: [Icon ? /* @__PURE__ */ jsx(Icon, { className: "pz:size-4" }) : opt.imageSrc ? /* @__PURE__ */ jsx("img", {
33
+ src: opt.imageSrc,
34
+ alt: "",
35
+ className: "pz:size-4 pz:rounded-sm"
36
+ }) : null, opt.label]
37
+ }, opt.value);
38
+ })] })
39
+ })]
40
+ });
41
+ }
42
+
43
+ //#endregion
44
+ export { DefaultFilterSelect };
45
+ //# sourceMappingURL=filter-select.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-select.mjs","names":[],"sources":["../../../../src/components/defaults/catalog/filter-select.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from \"react\";\nimport { useCatalogConfig } from \"../../../context/catalog-config-context.js\";\nimport { cn } from \"../../../lib/utils.js\";\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../../ui/select.js\";\n\nexport interface FilterSelectOption {\n label: ReactNode;\n value: string;\n icon?: ComponentType<{ className?: string }>;\n imageSrc?: string;\n}\n\nexport interface DefaultFilterSelectProps {\n placeholder: ReactNode;\n value: string;\n onChange: (value: string | null) => void;\n options: ReadonlyArray<FilterSelectOption>;\n /** Sentinel option value used to clear the selection. Defaults to \"__clear__\". */\n clearValue?: string;\n className?: string;\n}\n\nexport function DefaultFilterSelect({\n placeholder,\n value,\n onChange,\n options,\n clearValue = \"__clear__\",\n className,\n}: DefaultFilterSelectProps) {\n const { classNames } = useCatalogConfig();\n const isActive = !!value;\n return (\n <Select\n value={value || \"\"}\n onValueChange={(v) => {\n if (!v || v === clearValue) onChange(null);\n else onChange(v);\n }}\n >\n <SelectTrigger\n data-active={isActive ? \"\" : undefined}\n className={cn(\n \"pz:h-9 pz:gap-2 pz:px-3\",\n classNames?.filterSelect,\n classNames?.filterSelectButton,\n isActive && \"pz:bg-primary pz:text-primary-foreground pz:border-primary\",\n isActive && classNames?.filterSelectButtonActive,\n className,\n )}\n >\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent className={classNames?.filterPopover}>\n <SelectGroup>\n <SelectItem value={clearValue}>\n <span className=\"pz:text-muted-foreground\">Clear filter</span>\n </SelectItem>\n {options.map((opt) => {\n const Icon = opt.icon;\n return (\n <SelectItem key={opt.value} value={opt.value}>\n {Icon ? (\n <Icon className=\"pz:size-4\" />\n ) : opt.imageSrc ? (\n <img src={opt.imageSrc} alt=\"\" className=\"pz:size-4 pz:rounded-sm\" />\n ) : null}\n {opt.label}\n </SelectItem>\n );\n })}\n </SelectGroup>\n </SelectContent>\n </Select>\n );\n}\n"],"mappings":";;;;;;AA6BA,SAAgB,oBAAoB,EAClC,aACA,OACA,UACA,SACA,aAAa,aACb,aAC2B;CAC3B,MAAM,EAAE,eAAe,kBAAkB;CACzC,MAAM,WAAW,CAAC,CAAC;AACnB,QACE,qBAAC,QAAD;EACE,OAAO,SAAS;EAChB,gBAAgB,MAAM;AACpB,OAAI,CAAC,KAAK,MAAM,WAAY,UAAS,KAAK;OACrC,UAAS,EAAE;;YAJpB,CAOE,oBAAC,eAAD;GACE,eAAa,WAAW,KAAK;GAC7B,WAAW,GACT,2BACA,YAAY,cACZ,YAAY,oBACZ,YAAY,8DACZ,YAAY,YAAY,0BACxB,UACD;aAED,oBAAC,aAAD,EAA0B,aAAe;GAC3B,GAChB,oBAAC,eAAD;GAAe,WAAW,YAAY;aACpC,qBAAC,aAAD,aACE,oBAAC,YAAD;IAAY,OAAO;cACjB,oBAAC,QAAD;KAAM,WAAU;eAA2B;KAAmB;IACnD,GACZ,QAAQ,KAAK,QAAQ;IACpB,MAAM,OAAO,IAAI;AACjB,WACE,qBAAC,YAAD;KAA4B,OAAO,IAAI;eAAvC,CACG,OACC,oBAAC,MAAD,EAAM,WAAU,aAAc,IAC5B,IAAI,WACN,oBAAC,OAAD;MAAK,KAAK,IAAI;MAAU,KAAI;MAAG,WAAU;MAA4B,IACnE,MACH,IAAI,MACM;OAPI,IAAI,MAOR;KAEf,CACU;GACA,EACT"}
@@ -0,0 +1,53 @@
1
+ import { PortalContainerContext } from "../../../context/portal-container-context.mjs";
2
+ import { cn } from "../../../lib/utils.mjs";
3
+ import { useCatalogConfig } from "../../../context/catalog-config-context.mjs";
4
+ import { renderSlot } from "../../../utils/render-slot.mjs";
5
+ import { useCallback, useState } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import { mergeProps } from "@base-ui/react/merge-props";
8
+ import { useRender } from "@base-ui/react/use-render";
9
+
10
+ //#region src/components/defaults/catalog/layout.tsx
11
+ /**
12
+ * Outermost catalog wrapper. Owns the `PortalContainerContext.Provider` so
13
+ * elements-react popovers/dropdowns mounted inside the catalog tree portal
14
+ * back into this container — keeping them inside the catalog's CSS scope.
15
+ */
16
+ function DefaultCatalogRoot({ className, render, children, ...props }) {
17
+ const { classNames } = useCatalogConfig();
18
+ const [portalContainer, setPortalContainer] = useState(null);
19
+ const portalRef = useCallback((node) => {
20
+ setPortalContainer(node);
21
+ }, []);
22
+ const wrappedChildren = /* @__PURE__ */ jsx(PortalContainerContext.Provider, {
23
+ value: portalContainer,
24
+ children
25
+ });
26
+ return renderSlot({
27
+ defaultTagName: "div",
28
+ render,
29
+ state: {},
30
+ props: {
31
+ "data-p0": "catalog",
32
+ className: cn("pz:flex pz:flex-col pz:gap-4", classNames?.root, className),
33
+ ref: portalRef,
34
+ children: wrappedChildren,
35
+ ...props
36
+ }
37
+ });
38
+ }
39
+ function DefaultCatalogFilters({ className, render, ...props }) {
40
+ const { classNames } = useCatalogConfig();
41
+ return useRender({
42
+ defaultTagName: "div",
43
+ render,
44
+ props: mergeProps({
45
+ className: cn("pz:flex pz:flex-wrap pz:gap-2", classNames?.filters, className),
46
+ "data-p0": "catalog-filters"
47
+ }, props)
48
+ });
49
+ }
50
+
51
+ //#endregion
52
+ export { DefaultCatalogFilters, DefaultCatalogRoot };
53
+ //# sourceMappingURL=layout.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.mjs","names":[],"sources":["../../../../src/components/defaults/catalog/layout.tsx"],"sourcesContent":["import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { type ComponentProps, type ReactNode, useCallback, useState } from \"react\";\nimport { useCatalogConfig } from \"../../../context/catalog-config-context.js\";\nimport { PortalContainerContext } from \"../../../context/portal-container-context.js\";\nimport { cn } from \"../../../lib/utils.js\";\nimport { type RenderProp, renderSlot } from \"../../../utils/render-slot.js\";\n\n/**\n * Outermost catalog wrapper. Owns the `PortalContainerContext.Provider` so\n * elements-react popovers/dropdowns mounted inside the catalog tree portal\n * back into this container — keeping them inside the catalog's CSS scope.\n */\nexport function DefaultCatalogRoot({\n className,\n render,\n children,\n ...props\n}: ComponentProps<\"div\"> & {\n render?: RenderProp<ComponentProps<\"div\">, Record<never, never>>;\n}) {\n const { classNames } = useCatalogConfig();\n const [portalContainer, setPortalContainer] = useState<HTMLElement | null>(null);\n const portalRef = useCallback((node: HTMLElement | null) => {\n setPortalContainer(node);\n }, []);\n\n const wrappedChildren: ReactNode = (\n <PortalContainerContext.Provider value={portalContainer}>\n {children}\n </PortalContainerContext.Provider>\n );\n\n return renderSlot({\n defaultTagName: \"div\",\n render,\n state: {},\n props: {\n \"data-p0\": \"catalog\",\n className: cn(\"pz:flex pz:flex-col pz:gap-4\", classNames?.root, className),\n ref: portalRef,\n children: wrappedChildren,\n ...props,\n } as ComponentProps<\"div\">,\n });\n}\n\nexport function DefaultCatalogList({\n className,\n render,\n ...props\n}: useRender.ComponentProps<\"div\">) {\n const { classNames } = useCatalogConfig();\n return useRender({\n defaultTagName: \"div\",\n render,\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"pz:grid pz:gap-3 pz:grid-cols-1 pz:sm:grid-cols-2 pz:lg:grid-cols-3\",\n classNames?.list,\n className,\n ),\n ...({ \"data-p0\": \"catalog-list\" } as Record<string, string>),\n },\n props,\n ),\n });\n}\n\nexport function DefaultCatalogFilters({\n className,\n render,\n ...props\n}: useRender.ComponentProps<\"div\">) {\n const { classNames } = useCatalogConfig();\n return useRender({\n defaultTagName: \"div\",\n render,\n props: mergeProps<\"div\">(\n {\n className: cn(\"pz:flex pz:flex-wrap pz:gap-2\", classNames?.filters, className),\n ...({ \"data-p0\": \"catalog-filters\" } as Record<string, string>),\n },\n props,\n ),\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;AAaA,SAAgB,mBAAmB,EACjC,WACA,QACA,UACA,GAAG,SAGF;CACD,MAAM,EAAE,eAAe,kBAAkB;CACzC,MAAM,CAAC,iBAAiB,sBAAsB,SAA6B,KAAK;CAChF,MAAM,YAAY,aAAa,SAA6B;AAC1D,qBAAmB,KAAK;IACvB,EAAE,CAAC;CAEN,MAAM,kBACJ,oBAAC,uBAAuB,UAAxB;EAAiC,OAAO;EACrC;EAC+B;AAGpC,QAAO,WAAW;EAChB,gBAAgB;EAChB;EACA,OAAO,EAAE;EACT,OAAO;GACL,WAAW;GACX,WAAW,GAAG,gCAAgC,YAAY,MAAM,UAAU;GAC1E,KAAK;GACL,UAAU;GACV,GAAG;GACJ;EACF,CAAC;;AA0BJ,SAAgB,sBAAsB,EACpC,WACA,QACA,GAAG,SAC+B;CAClC,MAAM,EAAE,eAAe,kBAAkB;AACzC,QAAO,UAAU;EACf,gBAAgB;EAChB;EACA,OAAO,WACL;GACE,WAAW,GAAG,iCAAiC,YAAY,SAAS,UAAU;GACxE,WAAW;GAClB,EACD,MACD;EACF,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { AvatarGroupProps } from "../../../widgets/avatar-group.mjs";
2
+ import { ReactNode } from "react";
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+ import { ProviderName } from "@pipe0/base";
5
+
6
+ //#region src/components/defaults/catalog/provider-avatars.d.ts
7
+ interface CatalogProviderAvatarsProps extends Omit<AvatarGroupProps, "providers" | "render"> {
8
+ /** Override the providers list. Defaults to `card.providers` from card context. */
9
+ providers?: readonly ProviderName[];
10
+ /** Override the cost lookup. Defaults to `card.startingCostPerProvider` from card context. */
11
+ startingCostPerProvider?: Partial<Record<ProviderName, number>>;
12
+ /** When true, the hover popover does not appear — pure visual stack. */
13
+ disableHover?: boolean;
14
+ /** Fully replace the popover body. */
15
+ renderPopover?: (state: {
16
+ providers: readonly ProviderName[];
17
+ startingCostPerProvider?: Partial<Record<ProviderName, number>>;
18
+ }) => ReactNode;
19
+ }
20
+ /**
21
+ * `<AvatarGroup>` with a hover popover that lists each provider plus its
22
+ * starting cost. Self-binds to the surrounding catalog card context — pass
23
+ * explicit `providers` to override.
24
+ */
25
+ declare function CatalogProviderAvatars({
26
+ providers,
27
+ startingCostPerProvider,
28
+ disableHover,
29
+ renderPopover,
30
+ size,
31
+ showCount,
32
+ className,
33
+ ...rest
34
+ }: CatalogProviderAvatarsProps): _$react_jsx_runtime0.JSX.Element | null;
35
+ //#endregion
36
+ export { CatalogProviderAvatars, CatalogProviderAvatarsProps };
37
+ //# sourceMappingURL=provider-avatars.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-avatars.d.mts","names":[],"sources":["../../../../src/components/defaults/catalog/provider-avatars.tsx"],"mappings":";;;;;;UASiB,2BAAA,SACP,IAAA,CAAK,gBAAA;;EAEb,SAAA,YAAqB,YAAA;EAHN;EAKf,uBAAA,GAA0B,OAAA,CAAQ,MAAA,CAAO,YAAA;;EAEzC,YAAA;EAJqB;EAMrB,aAAA,IAAiB,KAAA;IACf,SAAA,WAAoB,YAAA;IACpB,uBAAA,GAA0B,OAAA,CAAQ,MAAA,CAAO,YAAA;EAAA,MACrC,SAAA;AAAA;;;;;;iBAQQ,sBAAA,CAAA;EACd,SAAA;EACA,uBAAA;EACA,YAAA;EACA,aAAA;EACA,IAAA;EACA,SAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,2BAAA,GAA2B,oBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,98 @@
1
+ import { usePortalContainer } from "../../../context/portal-container-context.mjs";
2
+ import { cn } from "../../../lib/utils.mjs";
3
+ import { useAnyCatalogCardOptional } from "../../../context/catalog-card-context.mjs";
4
+ import { AvatarGroup } from "../../../widgets/avatar-group.mjs";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { Coins } from "lucide-react";
7
+ import { getProviderEntry } from "@pipe0/base";
8
+ import { PreviewCard } from "@base-ui/react/preview-card";
9
+
10
+ //#region src/components/defaults/catalog/provider-avatars.tsx
11
+ /**
12
+ * `<AvatarGroup>` with a hover popover that lists each provider plus its
13
+ * starting cost. Self-binds to the surrounding catalog card context — pass
14
+ * explicit `providers` to override.
15
+ */
16
+ function CatalogProviderAvatars({ providers, startingCostPerProvider, disableHover, renderPopover, size, showCount, className, ...rest }) {
17
+ const card = useAnyCatalogCardOptional()?.card;
18
+ const portalContainer = usePortalContainer();
19
+ const resolvedProviders = providers ?? card?.providers ?? [];
20
+ const resolvedCosts = startingCostPerProvider ?? card?.startingCostPerProvider;
21
+ if (!resolvedProviders.length) return null;
22
+ if (disableHover) return /* @__PURE__ */ jsx(AvatarGroup, {
23
+ providers: resolvedProviders,
24
+ size,
25
+ showCount,
26
+ className,
27
+ onClick: (e) => e.stopPropagation(),
28
+ ...rest
29
+ });
30
+ return /* @__PURE__ */ jsxs(PreviewCard.Root, { children: [/* @__PURE__ */ jsx(PreviewCard.Trigger, { render: (triggerProps) => /* @__PURE__ */ jsx(AvatarGroup, {
31
+ providers: resolvedProviders,
32
+ size,
33
+ showCount,
34
+ className: cn("pz:cursor-pointer", className),
35
+ ...rest,
36
+ ...triggerProps,
37
+ onClick: (e) => {
38
+ e.stopPropagation();
39
+ const triggerOnClick = triggerProps.onClick;
40
+ triggerOnClick?.(e);
41
+ }
42
+ }) }), /* @__PURE__ */ jsx(PreviewCard.Portal, {
43
+ container: portalContainer,
44
+ children: /* @__PURE__ */ jsx(PreviewCard.Positioner, {
45
+ side: "bottom",
46
+ sideOffset: 4,
47
+ className: "pz:isolate pz:z-50",
48
+ children: /* @__PURE__ */ jsx(PreviewCard.Popup, {
49
+ "data-p0": "catalog-provider-avatars-popup",
50
+ className: "pz:rounded-lg pz:bg-popover pz:text-popover-foreground pz:p-2.5 pz:shadow-md pz:ring-1 pz:ring-foreground/10 pz:outline-none pz:w-56",
51
+ children: renderPopover ? renderPopover({
52
+ providers: resolvedProviders,
53
+ startingCostPerProvider: resolvedCosts
54
+ }) : /* @__PURE__ */ jsx(DefaultPopoverBody, {
55
+ providers: resolvedProviders,
56
+ startingCostPerProvider: resolvedCosts
57
+ })
58
+ })
59
+ })
60
+ })] });
61
+ }
62
+ function DefaultPopoverBody({ providers, startingCostPerProvider }) {
63
+ return /* @__PURE__ */ jsxs("div", {
64
+ className: "pz:flex pz:flex-col pz:gap-1.5",
65
+ children: [/* @__PURE__ */ jsx("h4", {
66
+ className: "pz:m-0 pz:text-sm pz:font-medium",
67
+ children: "Providers"
68
+ }), /* @__PURE__ */ jsx("ul", {
69
+ className: "pz:flex pz:flex-col pz:gap-1.5 pz:list-none pz:m-0 pz:p-0",
70
+ children: providers.map((provider) => {
71
+ const entry = getProviderEntry(provider);
72
+ const cost = startingCostPerProvider?.[provider];
73
+ return /* @__PURE__ */ jsxs("li", {
74
+ className: "pz:flex pz:items-center pz:gap-2",
75
+ children: [
76
+ /* @__PURE__ */ jsx("img", {
77
+ src: entry?.logoUrl ?? "/placeholder.svg?height=24&width=24",
78
+ alt: entry?.label ?? provider,
79
+ className: "pz:rounded-md pz:h-6 pz:w-6 pz:object-cover pz:bg-background pz:border pz:border-input"
80
+ }),
81
+ /* @__PURE__ */ jsx("span", {
82
+ className: "pz:text-sm pz:flex-1 pz:truncate",
83
+ children: entry?.label ?? provider
84
+ }),
85
+ startingCostPerProvider ? /* @__PURE__ */ jsxs("span", {
86
+ className: "pz:inline-flex pz:items-center pz:gap-1 pz:text-xs pz:text-muted-foreground",
87
+ children: [/* @__PURE__ */ jsx(Coins, { className: "pz:size-3" }), cost ?? "Free"]
88
+ }) : null
89
+ ]
90
+ }, provider);
91
+ })
92
+ })]
93
+ });
94
+ }
95
+
96
+ //#endregion
97
+ export { CatalogProviderAvatars };
98
+ //# sourceMappingURL=provider-avatars.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-avatars.mjs","names":["PreviewCardPrimitive"],"sources":["../../../../src/components/defaults/catalog/provider-avatars.tsx"],"sourcesContent":["import { PreviewCard as PreviewCardPrimitive } from \"@base-ui/react/preview-card\";\nimport { getProviderEntry, type ProviderName } from \"@pipe0/base\";\nimport { Coins } from \"lucide-react\";\nimport type { MouseEvent, ReactNode } from \"react\";\nimport { useAnyCatalogCardOptional } from \"../../../context/catalog-card-context.js\";\nimport { usePortalContainer } from \"../../../context/portal-container-context.js\";\nimport { cn } from \"../../../lib/utils.js\";\nimport { AvatarGroup, type AvatarGroupProps } from \"../../../widgets/avatar-group.js\";\n\nexport interface CatalogProviderAvatarsProps\n extends Omit<AvatarGroupProps, \"providers\" | \"render\"> {\n /** Override the providers list. Defaults to `card.providers` from card context. */\n providers?: readonly ProviderName[];\n /** Override the cost lookup. Defaults to `card.startingCostPerProvider` from card context. */\n startingCostPerProvider?: Partial<Record<ProviderName, number>>;\n /** When true, the hover popover does not appear — pure visual stack. */\n disableHover?: boolean;\n /** Fully replace the popover body. */\n renderPopover?: (state: {\n providers: readonly ProviderName[];\n startingCostPerProvider?: Partial<Record<ProviderName, number>>;\n }) => ReactNode;\n}\n\n/**\n * `<AvatarGroup>` with a hover popover that lists each provider plus its\n * starting cost. Self-binds to the surrounding catalog card context — pass\n * explicit `providers` to override.\n */\nexport function CatalogProviderAvatars({\n providers,\n startingCostPerProvider,\n disableHover,\n renderPopover,\n size,\n showCount,\n className,\n ...rest\n}: CatalogProviderAvatarsProps) {\n const card = useAnyCatalogCardOptional()?.card;\n const portalContainer = usePortalContainer();\n const resolvedProviders = providers ?? (card?.providers as ProviderName[] | undefined) ?? [];\n const resolvedCosts = startingCostPerProvider ?? card?.startingCostPerProvider;\n\n if (!resolvedProviders.length) return null;\n\n if (disableHover) {\n return (\n <AvatarGroup\n providers={resolvedProviders}\n size={size}\n showCount={showCount}\n className={className}\n onClick={(e) => e.stopPropagation()}\n {...rest}\n />\n );\n }\n\n return (\n <PreviewCardPrimitive.Root>\n <PreviewCardPrimitive.Trigger\n render={(triggerProps) => (\n <AvatarGroup\n providers={resolvedProviders}\n size={size}\n showCount={showCount}\n className={cn(\"pz:cursor-pointer\", className)}\n {...rest}\n {...(triggerProps as Record<string, unknown>)}\n onClick={(e: MouseEvent<HTMLDivElement>) => {\n e.stopPropagation();\n const triggerOnClick = (\n triggerProps as {\n onClick?: (e: MouseEvent<HTMLDivElement>) => void;\n }\n ).onClick;\n triggerOnClick?.(e);\n }}\n />\n )}\n />\n <PreviewCardPrimitive.Portal container={portalContainer}>\n <PreviewCardPrimitive.Positioner\n side=\"bottom\"\n sideOffset={4}\n className=\"pz:isolate pz:z-50\"\n >\n <PreviewCardPrimitive.Popup\n data-p0=\"catalog-provider-avatars-popup\"\n className=\"pz:rounded-lg pz:bg-popover pz:text-popover-foreground pz:p-2.5 pz:shadow-md pz:ring-1 pz:ring-foreground/10 pz:outline-none pz:w-56\"\n >\n {renderPopover ? (\n renderPopover({\n providers: resolvedProviders,\n startingCostPerProvider: resolvedCosts,\n })\n ) : (\n <DefaultPopoverBody\n providers={resolvedProviders}\n startingCostPerProvider={resolvedCosts}\n />\n )}\n </PreviewCardPrimitive.Popup>\n </PreviewCardPrimitive.Positioner>\n </PreviewCardPrimitive.Portal>\n </PreviewCardPrimitive.Root>\n );\n}\n\nfunction DefaultPopoverBody({\n providers,\n startingCostPerProvider,\n}: {\n providers: readonly ProviderName[];\n startingCostPerProvider?: Partial<Record<ProviderName, number>>;\n}) {\n return (\n <div className=\"pz:flex pz:flex-col pz:gap-1.5\">\n <h4 className=\"pz:m-0 pz:text-sm pz:font-medium\">Providers</h4>\n <ul className=\"pz:flex pz:flex-col pz:gap-1.5 pz:list-none pz:m-0 pz:p-0\">\n {providers.map((provider) => {\n const entry = getProviderEntry(provider);\n const cost = startingCostPerProvider?.[provider];\n return (\n <li key={provider} className=\"pz:flex pz:items-center pz:gap-2\">\n <img\n src={entry?.logoUrl ?? \"/placeholder.svg?height=24&width=24\"}\n alt={entry?.label ?? provider}\n className=\"pz:rounded-md pz:h-6 pz:w-6 pz:object-cover pz:bg-background pz:border pz:border-input\"\n />\n <span className=\"pz:text-sm pz:flex-1 pz:truncate\">{entry?.label ?? provider}</span>\n {startingCostPerProvider ? (\n <span className=\"pz:inline-flex pz:items-center pz:gap-1 pz:text-xs pz:text-muted-foreground\">\n <Coins className=\"pz:size-3\" />\n {cost ?? \"Free\"}\n </span>\n ) : null}\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AA6BA,SAAgB,uBAAuB,EACrC,WACA,yBACA,cACA,eACA,MACA,WACA,WACA,GAAG,QAC2B;CAC9B,MAAM,OAAO,2BAA2B,EAAE;CAC1C,MAAM,kBAAkB,oBAAoB;CAC5C,MAAM,oBAAoB,aAAc,MAAM,aAA4C,EAAE;CAC5F,MAAM,gBAAgB,2BAA2B,MAAM;AAEvD,KAAI,CAAC,kBAAkB,OAAQ,QAAO;AAEtC,KAAI,aACF,QACE,oBAAC,aAAD;EACE,WAAW;EACL;EACK;EACA;EACX,UAAU,MAAM,EAAE,iBAAiB;EACnC,GAAI;EACJ;AAIN,QACE,qBAACA,YAAqB,MAAtB,aACE,oBAACA,YAAqB,SAAtB,EACE,SAAS,iBACP,oBAAC,aAAD;EACE,WAAW;EACL;EACK;EACX,WAAW,GAAG,qBAAqB,UAAU;EAC7C,GAAI;EACJ,GAAK;EACL,UAAU,MAAkC;AAC1C,KAAE,iBAAiB;GACnB,MAAM,iBACJ,aAGA;AACF,oBAAiB,EAAE;;EAErB,GAEJ,GACF,oBAACA,YAAqB,QAAtB;EAA6B,WAAW;YACtC,oBAACA,YAAqB,YAAtB;GACE,MAAK;GACL,YAAY;GACZ,WAAU;aAEV,oBAACA,YAAqB,OAAtB;IACE,WAAQ;IACR,WAAU;cAET,gBACC,cAAc;KACZ,WAAW;KACX,yBAAyB;KAC1B,CAAC,GAEF,oBAAC,oBAAD;KACE,WAAW;KACX,yBAAyB;KACzB;IAEuB;GACG;EACN,EACJ;;AAIhC,SAAS,mBAAmB,EAC1B,WACA,2BAIC;AACD,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,oBAAC,MAAD;GAAI,WAAU;aAAmC;GAAc,GAC/D,oBAAC,MAAD;GAAI,WAAU;aACX,UAAU,KAAK,aAAa;IAC3B,MAAM,QAAQ,iBAAiB,SAAS;IACxC,MAAM,OAAO,0BAA0B;AACvC,WACE,qBAAC,MAAD;KAAmB,WAAU;eAA7B;MACE,oBAAC,OAAD;OACE,KAAK,OAAO,WAAW;OACvB,KAAK,OAAO,SAAS;OACrB,WAAU;OACV;MACF,oBAAC,QAAD;OAAM,WAAU;iBAAoC,OAAO,SAAS;OAAgB;MACnF,0BACC,qBAAC,QAAD;OAAM,WAAU;iBAAhB,CACE,oBAAC,OAAD,EAAO,WAAU,aAAc,GAC9B,QAAQ,OACJ;WACL;MACD;OAbI,SAaJ;KAEP;GACC,EACD"}
@@ -0,0 +1,32 @@
1
+ import { Button } from "../ui/button.mjs";
2
+ import { IconTrash } from "../internal/icons.mjs";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+
5
+ //#region src/components/defaults/field-section-enumeration.tsx
6
+ function FieldSectionEnumeration({ onRemove, index, label }) {
7
+ return /* @__PURE__ */ jsxs("div", {
8
+ className: "pz:p-2 pz:gap-1 pz:border pz:border-input pz:rounded-md pz:flex pz:items-center",
9
+ children: [label ? /* @__PURE__ */ jsxs("div", {
10
+ className: "pz:py-0.5 pz:px-1 pz:select-none pz:text-xs pz:rounded-sm pz:bg-accent pz:border pz:border-input pz:text-muted-foreground pz:grid pz:place-content-center",
11
+ children: [
12
+ index + 1,
13
+ ". ",
14
+ label
15
+ ]
16
+ }) : /* @__PURE__ */ jsx("div", {
17
+ className: "pz:select-none pz:text-xs pz:rounded-sm pz:bg-accent pz:border pz:border-input pz:text-muted-foreground pz:size-5 pz:grid pz:place-content-center",
18
+ children: index + 1
19
+ }), /* @__PURE__ */ jsx(Button, {
20
+ variant: "destructive",
21
+ size: "icon",
22
+ className: "pz:[&_svg]:size-2 pz:size-5 pz:rounded-sm",
23
+ onClick: () => onRemove(index),
24
+ title: "Remove condition",
25
+ children: /* @__PURE__ */ jsx(IconTrash, {})
26
+ })]
27
+ });
28
+ }
29
+
30
+ //#endregion
31
+ export { FieldSectionEnumeration };
32
+ //# sourceMappingURL=field-section-enumeration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-section-enumeration.mjs","names":[],"sources":["../../../src/components/defaults/field-section-enumeration.tsx"],"sourcesContent":["import { IconTrash } from \"../internal/icons\";\nimport { Button } from \"../ui/button\";\n\ntype FieldSectionEnumerationProps = {\n label?: string;\n index: number;\n onRemove: (i: number) => unknown;\n};\n\nexport function FieldSectionEnumeration({ onRemove, index, label }: FieldSectionEnumerationProps) {\n return (\n <div className=\"pz:p-2 pz:gap-1 pz:border pz:border-input pz:rounded-md pz:flex pz:items-center\">\n {label ? (\n <div className=\"pz:py-0.5 pz:px-1 pz:select-none pz:text-xs pz:rounded-sm pz:bg-accent pz:border pz:border-input pz:text-muted-foreground pz:grid pz:place-content-center\">\n {index + 1}. {label}\n </div>\n ) : (\n <div className=\"pz:select-none pz:text-xs pz:rounded-sm pz:bg-accent pz:border pz:border-input pz:text-muted-foreground pz:size-5 pz:grid pz:place-content-center\">\n {index + 1}\n </div>\n )}\n <Button\n variant=\"destructive\"\n size=\"icon\"\n className=\"pz:[&_svg]:size-2 pz:size-5 pz:rounded-sm\"\n onClick={() => onRemove(index)}\n title=\"Remove condition\"\n >\n <IconTrash />\n </Button>\n </div>\n );\n}\n"],"mappings":";;;;;AASA,SAAgB,wBAAwB,EAAE,UAAU,OAAO,SAAuC;AAChG,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACG,QACC,qBAAC,OAAD;GAAK,WAAU;aAAf;IACG,QAAQ;IAAE;IAAG;IACV;OAEN,oBAAC,OAAD;GAAK,WAAU;aACZ,QAAQ;GACL,GAER,oBAAC,QAAD;GACE,SAAQ;GACR,MAAK;GACL,WAAU;GACV,eAAe,SAAS,MAAM;GAC9B,OAAM;aAEN,oBAAC,WAAD,EAAa;GACN,EACL"}
@@ -0,0 +1,13 @@
1
+ import { AnyFieldProps } from "../../../types/field-props.mjs";
2
+ import { useRender } from "@base-ui/react/use-render";
3
+
4
+ //#region src/components/defaults/layout/field-wrapper.d.ts
5
+ interface DefaultFieldWrapperState {
6
+ field: AnyFieldProps;
7
+ }
8
+ interface DefaultFieldWrapperProps extends useRender.ComponentProps<"div", DefaultFieldWrapperState> {
9
+ field: AnyFieldProps;
10
+ }
11
+ //#endregion
12
+ export { DefaultFieldWrapperProps };
13
+ //# sourceMappingURL=field-wrapper.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-wrapper.d.mts","names":[],"sources":["../../../../src/components/defaults/layout/field-wrapper.tsx"],"mappings":";;;;UAQiB,wBAAA;EACf,KAAA,EAAO,aAAA;AAAA;AAAA,UAGQ,wBAAA,SACP,SAAA,CAAU,cAAA,QAAsB,wBAAA;EACxC,KAAA,EAAO,aAAA;AAAA"}
@@ -0,0 +1,67 @@
1
+ import { cn } from "../../../lib/utils.mjs";
2
+ import { useFormConfig } from "../../../context/form-context.mjs";
3
+ import { HoverInfo } from "../../hover-info.mjs";
4
+ import { RichText } from "../../rich-text.mjs";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import { mergeProps } from "@base-ui/react/merge-props";
7
+ import { useRender } from "@base-ui/react/use-render";
8
+
9
+ //#region src/components/defaults/layout/field-wrapper.tsx
10
+ function DefaultFieldWrapper({ field, children, className, render, ...props }) {
11
+ const { classNames } = useFormConfig();
12
+ const hasError = !!field.error;
13
+ const isDisabled = field.disabled;
14
+ const defaultContent = /* @__PURE__ */ jsxs(Fragment, { children: [
15
+ !(field.kind === "boolean_input") && (field.label || field.description || field.info) && /* @__PURE__ */ jsxs("div", {
16
+ className: "pz:flex pz:flex-col pz:gap-1",
17
+ children: [/* @__PURE__ */ jsxs("div", {
18
+ className: "pz:flex pz:items-center pz:gap-1.5",
19
+ children: [field.label && /* @__PURE__ */ jsx("label", {
20
+ "data-p0": "label",
21
+ htmlFor: field.id,
22
+ className: classNames?.label ?? cn("pz:text-sm pz:leading-none pz:font-medium pz:select-none", hasError && "pz:text-destructive"),
23
+ children: /* @__PURE__ */ jsx(RichText, { children: field.label })
24
+ }), field.info && /* @__PURE__ */ jsx(HoverInfo, { children: /* @__PURE__ */ jsx(RichText, { children: field.info }) })]
25
+ }), field.description && /* @__PURE__ */ jsx("p", {
26
+ "data-p0": "description",
27
+ className: classNames?.description ?? "pz:text-xs pz:text-muted-foreground",
28
+ children: /* @__PURE__ */ jsx(RichText, { children: field.description })
29
+ })]
30
+ }),
31
+ isDisabled ? /* @__PURE__ */ jsx("div", {
32
+ className: "pz:opacity-60 pz:pointer-events-none",
33
+ children
34
+ }) : children,
35
+ isDisabled && field.disabledReason && /* @__PURE__ */ jsx("div", {
36
+ "data-p0": "disabled-reason",
37
+ className: classNames?.disabledReason ?? "pz:rounded-md pz:border pz:border-input pz:bg-muted/40 pz:px-3 pz:py-2 pz:text-xs pz:text-muted-foreground",
38
+ children: /* @__PURE__ */ jsx(RichText, { children: field.disabledReason })
39
+ }),
40
+ hasError && /* @__PURE__ */ jsx("span", {
41
+ "data-p0": "error",
42
+ className: classNames?.error ?? "pz:text-destructive pz:text-xs pz:font-medium",
43
+ role: "alert",
44
+ children: /* @__PURE__ */ jsx(RichText, { children: field.error })
45
+ })
46
+ ] });
47
+ return useRender({
48
+ defaultTagName: "div",
49
+ render,
50
+ state: { field },
51
+ props: mergeProps({
52
+ className: cn(classNames?.field ?? "pz:grid pz:gap-2", isDisabled && classNames?.fieldDisabled, className),
53
+ children: defaultContent,
54
+ "data-p0": "field",
55
+ "data-p0-field": field.path,
56
+ "data-p0-kind": field.kind,
57
+ ...isDisabled ? {
58
+ "data-p0-disabled": "true",
59
+ "aria-disabled": "true"
60
+ } : {}
61
+ }, props)
62
+ });
63
+ }
64
+
65
+ //#endregion
66
+ export { DefaultFieldWrapper };
67
+ //# sourceMappingURL=field-wrapper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-wrapper.mjs","names":[],"sources":["../../../../src/components/defaults/layout/field-wrapper.tsx"],"sourcesContent":["import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { useFormConfig } from \"../../../context/form-context.js\";\nimport { cn } from \"../../../lib/utils.js\";\nimport type { AnyFieldProps } from \"../../../types/field-props.js\";\nimport { HoverInfo } from \"../../hover-info.js\";\nimport { RichText } from \"../../rich-text.js\";\n\nexport interface DefaultFieldWrapperState {\n field: AnyFieldProps;\n}\n\nexport interface DefaultFieldWrapperProps\n extends useRender.ComponentProps<\"div\", DefaultFieldWrapperState> {\n field: AnyFieldProps;\n}\n\nexport function DefaultFieldWrapper({\n field,\n children,\n className,\n render,\n ...props\n}: DefaultFieldWrapperProps) {\n const { classNames } = useFormConfig();\n const hasError = !!field.error;\n const isDisabled = field.disabled;\n\n // Boolean toggles render their label inline with the switch (settings-row\n // pattern), so the wrapper's label/description block is suppressed for them.\n const inlineLabel = field.kind === \"boolean_input\";\n\n const defaultContent = (\n <>\n {!inlineLabel && (field.label || field.description || field.info) && (\n <div className=\"pz:flex pz:flex-col pz:gap-1\">\n <div className=\"pz:flex pz:items-center pz:gap-1.5\">\n {field.label && (\n <label\n data-p0=\"label\"\n htmlFor={field.id}\n className={\n classNames?.label ??\n cn(\n \"pz:text-sm pz:leading-none pz:font-medium pz:select-none\",\n hasError && \"pz:text-destructive\",\n )\n }\n >\n <RichText>{field.label}</RichText>\n </label>\n )}\n {field.info && (\n <HoverInfo>\n <RichText>{field.info}</RichText>\n </HoverInfo>\n )}\n </div>\n {field.description && (\n <p\n data-p0=\"description\"\n className={classNames?.description ?? \"pz:text-xs pz:text-muted-foreground\"}\n >\n <RichText>{field.description}</RichText>\n </p>\n )}\n </div>\n )}\n {isDisabled ? (\n <div className=\"pz:opacity-60 pz:pointer-events-none\">{children}</div>\n ) : (\n children\n )}\n {isDisabled && field.disabledReason && (\n <div\n data-p0=\"disabled-reason\"\n className={\n classNames?.disabledReason ??\n \"pz:rounded-md pz:border pz:border-input pz:bg-muted/40 pz:px-3 pz:py-2 pz:text-xs pz:text-muted-foreground\"\n }\n >\n <RichText>{field.disabledReason}</RichText>\n </div>\n )}\n {hasError && (\n <span\n data-p0=\"error\"\n className={classNames?.error ?? \"pz:text-destructive pz:text-xs pz:font-medium\"}\n role=\"alert\"\n >\n <RichText>{field.error}</RichText>\n </span>\n )}\n </>\n );\n\n return useRender({\n defaultTagName: \"div\",\n render,\n state: { field },\n props: mergeProps<\"div\">(\n {\n className: cn(\n classNames?.field ?? \"pz:grid pz:gap-2\",\n isDisabled && classNames?.fieldDisabled,\n className,\n ),\n children: defaultContent,\n ...({\n \"data-p0\": \"field\",\n \"data-p0-field\": field.path,\n \"data-p0-kind\": field.kind,\n ...(isDisabled ? { \"data-p0-disabled\": \"true\", \"aria-disabled\": \"true\" } : {}),\n } as Record<string, string>),\n },\n props,\n ),\n });\n}\n"],"mappings":";;;;;;;;;AAiBA,SAAgB,oBAAoB,EAClC,OACA,UACA,WACA,QACA,GAAG,SACwB;CAC3B,MAAM,EAAE,eAAe,eAAe;CACtC,MAAM,WAAW,CAAC,CAAC,MAAM;CACzB,MAAM,aAAa,MAAM;CAMzB,MAAM,iBACJ;EACG,EAJe,MAAM,SAAS,qBAIb,MAAM,SAAS,MAAM,eAAe,MAAM,SAC1D,qBAAC,OAAD;GAAK,WAAU;aAAf,CACE,qBAAC,OAAD;IAAK,WAAU;cAAf,CACG,MAAM,SACL,oBAAC,SAAD;KACE,WAAQ;KACR,SAAS,MAAM;KACf,WACE,YAAY,SACZ,GACE,4DACA,YAAY,sBACb;eAGH,oBAAC,UAAD,YAAW,MAAM,OAAiB;KAC5B,GAET,MAAM,QACL,oBAAC,WAAD,YACE,oBAAC,UAAD,YAAW,MAAM,MAAgB,GACvB,EAEV;OACL,MAAM,eACL,oBAAC,KAAD;IACE,WAAQ;IACR,WAAW,YAAY,eAAe;cAEtC,oBAAC,UAAD,YAAW,MAAM,aAAuB;IACtC,EAEF;;EAEP,aACC,oBAAC,OAAD;GAAK,WAAU;GAAwC;GAAe,IAEtE;EAED,cAAc,MAAM,kBACnB,oBAAC,OAAD;GACE,WAAQ;GACR,WACE,YAAY,kBACZ;aAGF,oBAAC,UAAD,YAAW,MAAM,gBAA0B;GACvC;EAEP,YACC,oBAAC,QAAD;GACE,WAAQ;GACR,WAAW,YAAY,SAAS;GAChC,MAAK;aAEL,oBAAC,UAAD,YAAW,MAAM,OAAiB;GAC7B;EAER;AAGL,QAAO,UAAU;EACf,gBAAgB;EAChB;EACA,OAAO,EAAE,OAAO;EAChB,OAAO,WACL;GACE,WAAW,GACT,YAAY,SAAS,oBACrB,cAAc,YAAY,eAC1B,UACD;GACD,UAAU;GAER,WAAW;GACX,iBAAiB,MAAM;GACvB,gBAAgB,MAAM;GACtB,GAAI,aAAa;IAAE,oBAAoB;IAAQ,iBAAiB;IAAQ,GAAG,EAAE;GAEhF,EACD,MACD;EACF,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { cn } from "../../../lib/utils.mjs";
2
+ import { useFormConfig } from "../../../context/form-context.mjs";
3
+ import { mergeProps } from "@base-ui/react/merge-props";
4
+ import { useRender } from "@base-ui/react/use-render";
5
+
6
+ //#region src/components/defaults/layout/form.tsx
7
+ function DefaultForm({ onSubmit, className, render, ...props }) {
8
+ const { classNames } = useFormConfig();
9
+ return useRender({
10
+ defaultTagName: "form",
11
+ render,
12
+ props: mergeProps({
13
+ onSubmit,
14
+ className: cn("p0-form", classNames?.form, className)
15
+ }, props)
16
+ });
17
+ }
18
+
19
+ //#endregion
20
+ export { DefaultForm };
21
+ //# sourceMappingURL=form.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.mjs","names":[],"sources":["../../../../src/components/defaults/layout/form.tsx"],"sourcesContent":["import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport type { BaseSyntheticEvent } from \"react\";\nimport { useFormConfig } from \"../../../context/form-context.js\";\nimport { cn } from \"../../../lib/utils.js\";\n\nexport interface DefaultFormProps extends Omit<useRender.ComponentProps<\"form\">, \"onSubmit\"> {\n onSubmit: (e?: BaseSyntheticEvent) => void | Promise<void>;\n}\n\nexport function DefaultForm({ onSubmit, className, render, ...props }: DefaultFormProps) {\n const { classNames } = useFormConfig();\n\n return useRender({\n defaultTagName: \"form\",\n render,\n props: mergeProps<\"form\">(\n {\n onSubmit,\n className: cn(\"p0-form\", classNames?.form, className),\n },\n props,\n ),\n });\n}\n"],"mappings":";;;;;;AAUA,SAAgB,YAAY,EAAE,UAAU,WAAW,QAAQ,GAAG,SAA2B;CACvF,MAAM,EAAE,eAAe,eAAe;AAEtC,QAAO,UAAU;EACf,gBAAgB;EAChB;EACA,OAAO,WACL;GACE;GACA,WAAW,GAAG,WAAW,YAAY,MAAM,UAAU;GACtD,EACD,MACD;EACF,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { AnyFieldProps } from "../../../types/field-props.mjs";
2
+ import { FormGroupHandle } from "../../../types/form-handle.mjs";
3
+ import { useRender } from "@base-ui/react/use-render";
4
+
5
+ //#region src/components/defaults/layout/group.d.ts
6
+ interface DefaultGroupState {
7
+ group: FormGroupHandle;
8
+ fields: AnyFieldProps[];
9
+ expanded: boolean;
10
+ }
11
+ interface DefaultGroupProps extends useRender.ComponentProps<"div", DefaultGroupState> {
12
+ group: FormGroupHandle;
13
+ }
14
+ //#endregion
15
+ export { DefaultGroupProps };
16
+ //# sourceMappingURL=group.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.d.mts","names":[],"sources":["../../../../src/components/defaults/layout/group.tsx"],"mappings":";;;;;UAYiB,iBAAA;EACf,KAAA,EAAO,eAAA;EACP,MAAA,EAAQ,aAAA;EACR,QAAA;AAAA;AAAA,UAGe,iBAAA,SAA0B,SAAA,CAAU,cAAA,QAAsB,iBAAA;EACzE,KAAA,EAAO,eAAA;AAAA"}