tembro 2.0.4 → 2.0.5

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 (372) hide show
  1. package/dist/components/actions/action-menu.cjs +1 -1
  2. package/dist/components/actions/action-menu.d.ts +13 -1
  3. package/dist/components/actions/action-menu.js +87 -61
  4. package/dist/components/actions/button-group.cjs +1 -1
  5. package/dist/components/actions/button-group.d.ts +9 -1
  6. package/dist/components/actions/button-group.js +58 -14
  7. package/dist/components/actions/copy-button.cjs +1 -1
  8. package/dist/components/actions/copy-button.d.ts +2 -1
  9. package/dist/components/actions/copy-button.js +13 -11
  10. package/dist/components/calendar/calendar.cjs +1 -1
  11. package/dist/components/calendar/calendar.d.ts +14 -1
  12. package/dist/components/calendar/calendar.js +207 -128
  13. package/dist/components/calendar/date-picker.cjs +1 -1
  14. package/dist/components/calendar/date-picker.d.ts +3 -1
  15. package/dist/components/calendar/date-picker.js +57 -27
  16. package/dist/components/calendar/date-range-picker.cjs +1 -1
  17. package/dist/components/calendar/date-range-picker.d.ts +10 -1
  18. package/dist/components/calendar/date-range-picker.js +149 -64
  19. package/dist/components/data-table/data-table-toolbar.cjs +1 -1
  20. package/dist/components/data-table/data-table-toolbar.d.ts +5 -1
  21. package/dist/components/data-table/data-table-toolbar.js +36 -23
  22. package/dist/components/data-table/data-table.cjs +1 -1
  23. package/dist/components/data-table/data-table.d.ts +6 -4
  24. package/dist/components/data-table/data-table.js +87 -79
  25. package/dist/components/data-table/demo.cjs +1 -1
  26. package/dist/components/data-table/demo.js +3 -13
  27. package/dist/components/data-table/index.cjs +1 -1
  28. package/dist/components/data-table/index.js +5 -5
  29. package/dist/components/data-table/public.cjs +1 -1
  30. package/dist/components/data-table/public.d.ts +1 -6
  31. package/dist/components/data-table/public.js +7 -12
  32. package/dist/components/display/activity-feed.cjs +1 -1
  33. package/dist/components/display/activity-feed.d.ts +12 -1
  34. package/dist/components/display/activity-feed.js +69 -47
  35. package/dist/components/display/carousel.cjs +1 -1
  36. package/dist/components/display/carousel.d.ts +10 -1
  37. package/dist/components/display/carousel.js +68 -23
  38. package/dist/components/display/code-block.cjs +2 -1
  39. package/dist/components/display/code-block.d.ts +3 -1
  40. package/dist/components/display/code-block.js +33 -19
  41. package/dist/components/display/comparison-card.cjs +1 -1
  42. package/dist/components/display/comparison-card.d.ts +3 -3
  43. package/dist/components/display/comparison-card.js +14 -38
  44. package/dist/components/display/data-state.cjs +1 -1
  45. package/dist/components/display/data-state.d.ts +12 -2
  46. package/dist/components/display/data-state.js +80 -42
  47. package/dist/components/display/demo.cjs +1 -1
  48. package/dist/components/display/demo.js +1 -5
  49. package/dist/components/display/index.cjs +1 -1
  50. package/dist/components/display/index.d.ts +0 -3
  51. package/dist/components/display/index.js +21 -24
  52. package/dist/components/feedback/alert.cjs +1 -1
  53. package/dist/components/feedback/alert.d.ts +6 -1
  54. package/dist/components/feedback/alert.js +49 -19
  55. package/dist/components/feedback/index.cjs +1 -1
  56. package/dist/components/feedback/index.d.ts +0 -2
  57. package/dist/components/feedback/index.js +3 -5
  58. package/dist/components/filters/demo.cjs +1 -1
  59. package/dist/components/filters/demo.js +1 -5
  60. package/dist/components/filters/filter-bar.cjs +1 -1
  61. package/dist/components/filters/filter-bar.d.ts +15 -1
  62. package/dist/components/filters/filter-bar.js +94 -50
  63. package/dist/components/filters/index.cjs +1 -1
  64. package/dist/components/filters/index.d.ts +0 -1
  65. package/dist/components/filters/index.js +3 -4
  66. package/dist/components/form/form-field-shell.cjs +1 -1
  67. package/dist/components/form/form-field-shell.d.ts +17 -3
  68. package/dist/components/form/form-field-shell.js +54 -40
  69. package/dist/components/form/form-input.cjs +1 -1
  70. package/dist/components/form/form-input.js +278 -217
  71. package/dist/components/form/form-select.cjs +1 -1
  72. package/dist/components/form/form-select.js +47 -33
  73. package/dist/components/form/form-switch.cjs +1 -1
  74. package/dist/components/form/form-switch.js +79 -66
  75. package/dist/components/form/form-textarea.cjs +1 -1
  76. package/dist/components/form/form-textarea.js +59 -48
  77. package/dist/components/form/index.cjs +1 -1
  78. package/dist/components/form/index.js +14 -14
  79. package/dist/components/form/public.cjs +1 -1
  80. package/dist/components/form/public.d.ts +0 -8
  81. package/dist/components/form/public.js +7 -15
  82. package/dist/components/inputs/async-select.cjs +1 -1
  83. package/dist/components/inputs/async-select.d.ts +11 -2
  84. package/dist/components/inputs/async-select.js +278 -270
  85. package/dist/components/inputs/combobox.cjs +1 -1
  86. package/dist/components/inputs/combobox.d.ts +5 -1
  87. package/dist/components/inputs/combobox.js +52 -19
  88. package/dist/components/inputs/simple-select.cjs +1 -1
  89. package/dist/components/inputs/simple-select.d.ts +2 -1
  90. package/dist/components/inputs/simple-select.js +32 -16
  91. package/dist/components/layout/app-sidebar.cjs +1 -1
  92. package/dist/components/layout/app-sidebar.d.ts +4 -1
  93. package/dist/components/layout/app-sidebar.js +152 -132
  94. package/dist/components/layout/breadcrumbs.cjs +1 -1
  95. package/dist/components/layout/breadcrumbs.d.ts +2 -1
  96. package/dist/components/layout/breadcrumbs.js +10 -10
  97. package/dist/components/layout/index.cjs +1 -1
  98. package/dist/components/layout/index.js +3 -3
  99. package/dist/components/layout/stat-card.cjs +1 -1
  100. package/dist/components/layout/stat-card.d.ts +8 -1
  101. package/dist/components/layout/stat-card.js +33 -11
  102. package/dist/components/modern/calendar-scheduler.cjs +1 -1
  103. package/dist/components/modern/calendar-scheduler.d.ts +2 -1
  104. package/dist/components/modern/calendar-scheduler.js +21 -12
  105. package/dist/components/overlay/alert-dialog.cjs +1 -1
  106. package/dist/components/overlay/alert-dialog.d.ts +15 -1
  107. package/dist/components/overlay/alert-dialog.js +102 -27
  108. package/dist/components/overlay/drawer.cjs +1 -1
  109. package/dist/components/overlay/drawer.d.ts +4 -1
  110. package/dist/components/overlay/drawer.js +20 -17
  111. package/dist/components/patterns/index.cjs +1 -1
  112. package/dist/components/patterns/index.d.ts +0 -1
  113. package/dist/components/patterns/index.js +1 -2
  114. package/dist/components/patterns/public.cjs +1 -1
  115. package/dist/components/patterns/public.d.ts +0 -1
  116. package/dist/components/patterns/public.js +1 -2
  117. package/dist/components/ui/button/index.cjs +1 -1
  118. package/dist/components/ui/button/index.d.ts +3 -1
  119. package/dist/components/ui/button/index.js +7 -5
  120. package/dist/components/ui/checkbox/index.cjs +1 -1
  121. package/dist/components/ui/checkbox/index.d.ts +8 -0
  122. package/dist/components/ui/checkbox/index.js +16 -14
  123. package/dist/components/ui/collapse/index.cjs +1 -1
  124. package/dist/components/ui/collapse/index.d.ts +17 -3
  125. package/dist/components/ui/collapse/index.js +88 -33
  126. package/dist/components/ui/dialog/index.cjs +1 -1
  127. package/dist/components/ui/dialog/index.d.ts +2 -1
  128. package/dist/components/ui/dialog/index.js +6 -4
  129. package/dist/components/ui/dropdown-menu/index.cjs +1 -1
  130. package/dist/components/ui/dropdown-menu/index.d.ts +9 -4
  131. package/dist/components/ui/dropdown-menu/index.js +87 -62
  132. package/dist/index.cjs +1 -1
  133. package/dist/index.js +137 -156
  134. package/dist/public-component-surface.cjs +1 -1
  135. package/dist/public-component-surface.js +0 -15
  136. package/dist/showcase/component-api-schema.cjs +1 -1
  137. package/dist/showcase/component-api-schema.js +2 -2
  138. package/dist/showcase/create-demo.cjs +20 -34
  139. package/dist/showcase/create-demo.js +15 -16
  140. package/dist/showcase/fallback.cjs +3 -3
  141. package/dist/showcase/fallback.js +275 -265
  142. package/dist/showcase/premium/accordion/showcase.cjs +1 -1
  143. package/dist/showcase/premium/accordion/showcase.js +36 -5
  144. package/dist/showcase/premium/action-menu/showcase.cjs +1 -1
  145. package/dist/showcase/premium/action-menu/showcase.js +26 -8
  146. package/dist/showcase/premium/activity-feed/showcase.cjs +1 -1
  147. package/dist/showcase/premium/activity-feed/showcase.js +60 -36
  148. package/dist/showcase/premium/alert/showcase.cjs +1 -1
  149. package/dist/showcase/premium/alert/showcase.js +41 -18
  150. package/dist/showcase/premium/alert-dialog/showcase.cjs +1 -1
  151. package/dist/showcase/premium/alert-dialog/showcase.js +35 -7
  152. package/dist/showcase/premium/async-multi-select/mock.cjs +4 -3
  153. package/dist/showcase/premium/async-multi-select/mock.js +5 -5
  154. package/dist/showcase/premium/async-multi-select/showcase.cjs +1 -1
  155. package/dist/showcase/premium/async-multi-select/showcase.js +4 -3
  156. package/dist/showcase/premium/async-select/mock.cjs +1 -1
  157. package/dist/showcase/premium/async-select/mock.js +1 -1
  158. package/dist/showcase/premium/async-select/showcase.cjs +1 -1
  159. package/dist/showcase/premium/async-select/showcase.js +69 -22
  160. package/dist/showcase/premium/button/showcase.cjs +1 -1
  161. package/dist/showcase/premium/button/showcase.js +49 -3
  162. package/dist/showcase/premium/button-group/showcase.cjs +1 -1
  163. package/dist/showcase/premium/button-group/showcase.js +53 -29
  164. package/dist/showcase/premium/calendar/showcase.cjs +1 -1
  165. package/dist/showcase/premium/calendar/showcase.js +7 -2
  166. package/dist/showcase/premium/carousel/showcase.cjs +1 -1
  167. package/dist/showcase/premium/carousel/showcase.js +95 -47
  168. package/dist/showcase/premium/checkbox/showcase.cjs +1 -1
  169. package/dist/showcase/premium/checkbox/showcase.js +143 -67
  170. package/dist/showcase/premium/clearable-input/mock.cjs +4 -3
  171. package/dist/showcase/premium/clearable-input/mock.js +3 -2
  172. package/dist/showcase/premium/clearable-input/showcase.cjs +1 -1
  173. package/dist/showcase/premium/clearable-input/showcase.js +8 -2
  174. package/dist/showcase/premium/collapse/showcase.cjs +1 -1
  175. package/dist/showcase/premium/collapse/showcase.js +7 -0
  176. package/dist/showcase/premium/combobox/showcase.cjs +1 -1
  177. package/dist/showcase/premium/combobox/showcase.d.ts +2 -1
  178. package/dist/showcase/premium/combobox/showcase.js +56 -47
  179. package/dist/showcase/premium/data-table/showcase.cjs +1 -1
  180. package/dist/showcase/premium/data-table/showcase.js +138 -46
  181. package/dist/showcase/premium/data-table-parts/showcase.cjs +1 -1
  182. package/dist/showcase/premium/data-table-parts/showcase.js +13 -13
  183. package/dist/showcase/premium/date-input/mock.cjs +1 -1
  184. package/dist/showcase/premium/date-input/mock.js +1 -1
  185. package/dist/showcase/premium/date-range-picker/showcase.cjs +1 -1
  186. package/dist/showcase/premium/date-range-picker/showcase.js +32 -1
  187. package/dist/showcase/premium/dropdown-menu/showcase.cjs +1 -1
  188. package/dist/showcase/premium/dropdown-menu/showcase.js +88 -54
  189. package/dist/showcase/premium/form-wrapper/mock.cjs +41 -15
  190. package/dist/showcase/premium/form-wrapper/mock.js +4 -4
  191. package/dist/showcase/premium/form-wrapper/showcase.cjs +1 -1
  192. package/dist/showcase/premium/form-wrapper/showcase.js +77 -28
  193. package/dist/showcase/premium/index.cjs +1 -1
  194. package/dist/showcase/premium/index.js +426 -467
  195. package/dist/showcase/premium/input/mock.cjs +4 -1
  196. package/dist/showcase/premium/input/mock.js +1 -1
  197. package/dist/showcase/premium/masked-input/mock.cjs +1 -1
  198. package/dist/showcase/premium/masked-input/mock.js +1 -1
  199. package/dist/showcase/premium/money-input/mock.cjs +1 -1
  200. package/dist/showcase/premium/money-input/mock.js +1 -1
  201. package/dist/showcase/premium/number-input/mock.cjs +1 -1
  202. package/dist/showcase/premium/number-input/mock.js +1 -1
  203. package/dist/showcase/premium/phone-input/mock.cjs +1 -1
  204. package/dist/showcase/premium/phone-input/mock.js +1 -1
  205. package/dist/showcase/premium/quantity-input/mock.cjs +1 -1
  206. package/dist/showcase/premium/quantity-input/mock.js +1 -1
  207. package/dist/showcase/premium/simple-select/mock.cjs +1 -1
  208. package/dist/showcase/premium/simple-select/mock.js +1 -1
  209. package/dist/showcase/premium/simple-select/showcase.cjs +1 -1
  210. package/dist/showcase/premium/simple-select/showcase.js +4 -2
  211. package/dist/showcase/preview-catalog.cjs +7 -10
  212. package/dist/showcase/preview-catalog.js +7 -7
  213. package/dist/showcase/registry-quality.cjs +1 -1
  214. package/dist/showcase/registry-quality.js +0 -23
  215. package/dist/showcase/registry-specific.cjs +1 -1
  216. package/dist/showcase/registry-specific.js +149 -383
  217. package/dist/showcase/render-registry-preview.cjs +1 -1
  218. package/dist/showcase/render-registry-preview.js +163 -195
  219. package/dist/showcase/site-data.cjs +1 -1
  220. package/dist/showcase/site-data.js +197 -941
  221. package/dist/showcase/supplemental.cjs +1 -1
  222. package/dist/showcase/supplemental.js +1 -1
  223. package/dist/showcase/tembro-registry.json.cjs +1 -1
  224. package/dist/showcase/tembro-registry.json.js +33 -51
  225. package/package.json +1 -1
  226. package/packages/cli/dist/index.cjs +2 -2
  227. package/packages/cli/vendor/src/components/actions/action-menu.tsx +149 -83
  228. package/packages/cli/vendor/src/components/actions/button-group.tsx +141 -33
  229. package/packages/cli/vendor/src/components/actions/copy-button.tsx +21 -16
  230. package/packages/cli/vendor/src/components/calendar/calendar.tsx +223 -88
  231. package/packages/cli/vendor/src/components/calendar/date-picker.tsx +73 -29
  232. package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +154 -49
  233. package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +71 -50
  234. package/packages/cli/vendor/src/components/data-table/data-table.tsx +65 -53
  235. package/packages/cli/vendor/src/components/data-table/demo.tsx +2 -12
  236. package/packages/cli/vendor/src/components/data-table/public.ts +1 -6
  237. package/packages/cli/vendor/src/components/display/activity-feed.tsx +98 -40
  238. package/packages/cli/vendor/src/components/display/carousel.tsx +88 -2
  239. package/packages/cli/vendor/src/components/display/code-block.tsx +58 -26
  240. package/packages/cli/vendor/src/components/display/comparison-card.tsx +15 -41
  241. package/packages/cli/vendor/src/components/display/data-state.tsx +119 -50
  242. package/packages/cli/vendor/src/components/display/demo.tsx +0 -4
  243. package/packages/cli/vendor/src/components/display/index.ts +0 -3
  244. package/packages/cli/vendor/src/components/feedback/alert.tsx +86 -28
  245. package/packages/cli/vendor/src/components/feedback/index.ts +0 -2
  246. package/packages/cli/vendor/src/components/filters/demo.tsx +0 -1
  247. package/packages/cli/vendor/src/components/filters/filter-bar.tsx +126 -54
  248. package/packages/cli/vendor/src/components/filters/index.ts +0 -1
  249. package/packages/cli/vendor/src/components/form/form-field-shell.tsx +72 -34
  250. package/packages/cli/vendor/src/components/form/form-input.tsx +118 -11
  251. package/packages/cli/vendor/src/components/form/form-select.tsx +26 -3
  252. package/packages/cli/vendor/src/components/form/form-switch.tsx +77 -58
  253. package/packages/cli/vendor/src/components/form/form-textarea.tsx +65 -51
  254. package/packages/cli/vendor/src/components/form/public.ts +0 -9
  255. package/packages/cli/vendor/src/components/inputs/async-select.tsx +126 -82
  256. package/packages/cli/vendor/src/components/inputs/combobox.tsx +66 -9
  257. package/packages/cli/vendor/src/components/inputs/simple-select.tsx +52 -24
  258. package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +42 -1
  259. package/packages/cli/vendor/src/components/layout/breadcrumbs.tsx +17 -8
  260. package/packages/cli/vendor/src/components/layout/stat-card.tsx +63 -23
  261. package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +32 -22
  262. package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +148 -24
  263. package/packages/cli/vendor/src/components/overlay/drawer.tsx +42 -30
  264. package/packages/cli/vendor/src/components/patterns/index.ts +0 -1
  265. package/packages/cli/vendor/src/components/patterns/public.ts +0 -1
  266. package/packages/cli/vendor/src/components/ui/button/index.tsx +27 -17
  267. package/packages/cli/vendor/src/components/ui/checkbox/index.tsx +22 -5
  268. package/packages/cli/vendor/src/components/ui/collapse/index.tsx +97 -16
  269. package/packages/cli/vendor/src/components/ui/dialog/index.tsx +12 -8
  270. package/packages/cli/vendor/src/components/ui/dropdown-menu/index.tsx +82 -28
  271. package/packages/cli/vendor/src/public-component-surface.ts +0 -3
  272. package/packages/cli/vendor/src/showcase/component-api-schema.ts +2 -2
  273. package/packages/cli/vendor/src/showcase/create-demo.tsx +31 -46
  274. package/packages/cli/vendor/src/showcase/fallback.tsx +80 -99
  275. package/packages/cli/vendor/src/showcase/premium/accordion/showcase.tsx +32 -2
  276. package/packages/cli/vendor/src/showcase/premium/action-menu/showcase.tsx +12 -3
  277. package/packages/cli/vendor/src/showcase/premium/activity-feed/showcase.tsx +15 -2
  278. package/packages/cli/vendor/src/showcase/premium/alert/showcase.tsx +32 -17
  279. package/packages/cli/vendor/src/showcase/premium/alert-dialog/showcase.tsx +28 -3
  280. package/packages/cli/vendor/src/showcase/premium/async-multi-select/mock.ts +6 -5
  281. package/packages/cli/vendor/src/showcase/premium/async-multi-select/showcase.tsx +5 -4
  282. package/packages/cli/vendor/src/showcase/premium/async-select/mock.ts +1 -1
  283. package/packages/cli/vendor/src/showcase/premium/async-select/showcase.tsx +36 -0
  284. package/packages/cli/vendor/src/showcase/premium/button/showcase.tsx +26 -5
  285. package/packages/cli/vendor/src/showcase/premium/button-group/showcase.tsx +20 -3
  286. package/packages/cli/vendor/src/showcase/premium/calendar/showcase.tsx +5 -0
  287. package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +33 -5
  288. package/packages/cli/vendor/src/showcase/premium/checkbox/showcase.tsx +46 -3
  289. package/packages/cli/vendor/src/showcase/premium/clearable-input/mock.ts +5 -3
  290. package/packages/cli/vendor/src/showcase/premium/clearable-input/showcase.tsx +5 -2
  291. package/packages/cli/vendor/src/showcase/premium/collapse/showcase.tsx +4 -0
  292. package/packages/cli/vendor/src/showcase/premium/combobox/showcase.tsx +8 -0
  293. package/packages/cli/vendor/src/showcase/premium/data-table/showcase.tsx +77 -27
  294. package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +11 -11
  295. package/packages/cli/vendor/src/showcase/premium/date-input/mock.ts +1 -1
  296. package/packages/cli/vendor/src/showcase/premium/date-range-picker/showcase.tsx +7 -0
  297. package/packages/cli/vendor/src/showcase/premium/dropdown-menu/showcase.tsx +46 -3
  298. package/packages/cli/vendor/src/showcase/premium/form-wrapper/mock.ts +70 -44
  299. package/packages/cli/vendor/src/showcase/premium/form-wrapper/showcase.tsx +129 -12
  300. package/packages/cli/vendor/src/showcase/premium/index.ts +7 -24
  301. package/packages/cli/vendor/src/showcase/premium/input/mock.ts +2 -2
  302. package/packages/cli/vendor/src/showcase/premium/masked-input/mock.ts +1 -1
  303. package/packages/cli/vendor/src/showcase/premium/money-input/mock.ts +1 -1
  304. package/packages/cli/vendor/src/showcase/premium/number-input/mock.ts +1 -1
  305. package/packages/cli/vendor/src/showcase/premium/phone-input/mock.ts +1 -1
  306. package/packages/cli/vendor/src/showcase/premium/quantity-input/mock.ts +1 -1
  307. package/packages/cli/vendor/src/showcase/premium/simple-select/mock.ts +1 -1
  308. package/packages/cli/vendor/src/showcase/premium/simple-select/showcase.tsx +2 -1
  309. package/packages/cli/vendor/src/showcase/preview-catalog.tsx +7 -7
  310. package/packages/cli/vendor/src/showcase/registry-quality.ts +4 -28
  311. package/packages/cli/vendor/src/showcase/registry-specific.tsx +3 -178
  312. package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +18 -51
  313. package/packages/cli/vendor/src/showcase/site-data.tsx +2443 -2761
  314. package/packages/cli/vendor/src/showcase/supplemental.tsx +2 -42
  315. package/packages/cli/vendor/src/showcase/tembro-registry.json +11 -58
  316. package/registry.json +11 -61
  317. package/dist/components/display/entity-card.cjs +0 -1
  318. package/dist/components/display/entity-card.d.ts +0 -18
  319. package/dist/components/display/entity-card.js +0 -61
  320. package/dist/components/display/entity-header.cjs +0 -1
  321. package/dist/components/display/entity-header.d.ts +0 -13
  322. package/dist/components/display/entity-header.js +0 -52
  323. package/dist/components/display/file-card.cjs +0 -1
  324. package/dist/components/display/file-card.d.ts +0 -14
  325. package/dist/components/display/file-card.js +0 -59
  326. package/dist/components/feedback/empty-search-state.cjs +0 -1
  327. package/dist/components/feedback/empty-search-state.d.ts +0 -11
  328. package/dist/components/feedback/empty-search-state.js +0 -45
  329. package/dist/components/feedback/empty-state.cjs +0 -1
  330. package/dist/components/feedback/empty-state.d.ts +0 -11
  331. package/dist/components/feedback/empty-state.js +0 -38
  332. package/dist/components/filters/filter-chips.cjs +0 -1
  333. package/dist/components/filters/filter-chips.d.ts +0 -18
  334. package/dist/components/filters/filter-chips.js +0 -61
  335. package/dist/components/patterns/form-builder-presets.cjs +0 -1
  336. package/dist/components/patterns/form-builder-presets.d.ts +0 -1
  337. package/dist/components/patterns/form-builder-presets.js +0 -2
  338. package/dist/components/patterns/form-builder.cjs +0 -1
  339. package/dist/components/patterns/form-builder.d.ts +0 -109
  340. package/dist/components/patterns/form-builder.js +0 -263
  341. package/dist/showcase/premium/empty-state/index.cjs +0 -1
  342. package/dist/showcase/premium/empty-state/index.d.ts +0 -2
  343. package/dist/showcase/premium/empty-state/index.js +0 -3
  344. package/dist/showcase/premium/empty-state/mock.cjs +0 -14
  345. package/dist/showcase/premium/empty-state/mock.d.ts +0 -2
  346. package/dist/showcase/premium/empty-state/mock.js +0 -31
  347. package/dist/showcase/premium/empty-state/showcase.cjs +0 -1
  348. package/dist/showcase/premium/empty-state/showcase.d.ts +0 -3
  349. package/dist/showcase/premium/empty-state/showcase.js +0 -99
  350. package/dist/showcase/premium/form-builder/index.cjs +0 -1
  351. package/dist/showcase/premium/form-builder/index.d.ts +0 -2
  352. package/dist/showcase/premium/form-builder/index.js +0 -3
  353. package/dist/showcase/premium/form-builder/mock.cjs +0 -57
  354. package/dist/showcase/premium/form-builder/mock.d.ts +0 -2
  355. package/dist/showcase/premium/form-builder/mock.js +0 -40
  356. package/dist/showcase/premium/form-builder/showcase.cjs +0 -1
  357. package/dist/showcase/premium/form-builder/showcase.d.ts +0 -3
  358. package/dist/showcase/premium/form-builder/showcase.js +0 -69
  359. package/packages/cli/vendor/src/components/display/entity-card.tsx +0 -80
  360. package/packages/cli/vendor/src/components/display/entity-header.tsx +0 -80
  361. package/packages/cli/vendor/src/components/display/file-card.tsx +0 -61
  362. package/packages/cli/vendor/src/components/feedback/empty-search-state.tsx +0 -65
  363. package/packages/cli/vendor/src/components/feedback/empty-state.tsx +0 -56
  364. package/packages/cli/vendor/src/components/filters/filter-chips.tsx +0 -89
  365. package/packages/cli/vendor/src/components/patterns/form-builder-presets.ts +0 -13
  366. package/packages/cli/vendor/src/components/patterns/form-builder.tsx +0 -443
  367. package/packages/cli/vendor/src/showcase/premium/empty-state/index.ts +0 -2
  368. package/packages/cli/vendor/src/showcase/premium/empty-state/mock.ts +0 -30
  369. package/packages/cli/vendor/src/showcase/premium/empty-state/showcase.tsx +0 -65
  370. package/packages/cli/vendor/src/showcase/premium/form-builder/index.ts +0 -2
  371. package/packages/cli/vendor/src/showcase/premium/form-builder/mock.ts +0 -79
  372. package/packages/cli/vendor/src/showcase/premium/form-builder/showcase.tsx +0 -55
@@ -1,59 +0,0 @@
1
- import { cn as e, stopInteractivePropagation as t } from "../../lib/utils.js";
2
- import { Button as n } from "../ui/button/index.js";
3
- import "react";
4
- import { FileIcon as r, MoreHorizontalIcon as i } from "lucide-react";
5
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
- //#region src/components/display/file-card.tsx
7
- function s({ name: s, description: c, meta: l, icon: u, preview: d, actions: f, selected: p = !1, disabled: m = !1, onOpen: h, className: g, ..._ }) {
8
- return /* @__PURE__ */ o("div", {
9
- "data-slot": "file-card",
10
- "data-selected": p || void 0,
11
- "data-disabled": m || void 0,
12
- className: e("group grid gap-3 rounded-lg border bg-card p-3 transition-colors hover:bg-muted/35 data-[selected=true]:border-primary data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-55", h && "cursor-pointer", g),
13
- onClick: h,
14
- ..._,
15
- children: [d && /* @__PURE__ */ a("div", {
16
- className: "overflow-hidden rounded-md bg-muted",
17
- children: d
18
- }), /* @__PURE__ */ o("div", {
19
- className: "flex items-start gap-3",
20
- children: [
21
- /* @__PURE__ */ a("div", {
22
- className: "flex size-9 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground",
23
- children: u ?? /* @__PURE__ */ a(r, { className: "size-4" })
24
- }),
25
- /* @__PURE__ */ o("div", {
26
- className: "min-w-0 flex-1",
27
- children: [
28
- /* @__PURE__ */ a("div", {
29
- className: "truncate text-sm font-medium text-foreground",
30
- children: s
31
- }),
32
- c && /* @__PURE__ */ a("div", {
33
- className: "mt-0.5 line-clamp-2 text-xs text-muted-foreground",
34
- children: c
35
- }),
36
- l && /* @__PURE__ */ a("div", {
37
- className: "mt-2 text-xs text-muted-foreground",
38
- children: l
39
- })
40
- ]
41
- }),
42
- f ?? /* @__PURE__ */ o(n, {
43
- type: "button",
44
- variant: "ghost",
45
- size: "icon-xs",
46
- onClick: t,
47
- onMouseDown: t,
48
- onDoubleClick: t,
49
- children: [/* @__PURE__ */ a(i, {}), /* @__PURE__ */ a("span", {
50
- className: "sr-only",
51
- children: "File actions"
52
- })]
53
- })
54
- ]
55
- })]
56
- });
57
- }
58
- //#endregion
59
- export { s as FileCard };
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime");function o({query:e,title:r=`No results found`,description:o,suggestions:s,onClear:c,clearLabel:l=`Clear search`,className:u,...d}){return(0,a.jsxs)(`div`,{"data-slot":`empty-search-state`,className:t.cn(`flex flex-col items-center justify-center p-8 text-center min-h-[300px]`,u),...d,children:[(0,a.jsx)(`div`,{className:`mb-4 flex size-12 items-center justify-center rounded-full bg-muted/50 text-muted-foreground`,children:(0,a.jsx)(i.SearchXIcon,{className:`size-6`})}),(0,a.jsxs)(`h3`,{className:`text-lg font-semibold tracking-tight`,children:[r,` `,e?`for "${e}"`:``]}),o&&(0,a.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground max-w-sm`,children:o}),s&&(0,a.jsx)(`div`,{className:`mt-4 text-sm text-muted-foreground`,children:s}),c&&(0,a.jsx)(`div`,{className:`mt-6`,children:(0,a.jsx)(n.Button,{variant:`outline`,onClick:c,children:l})})]})}exports.EmptySearchState=o;
@@ -1,11 +0,0 @@
1
- import * as React from "react";
2
- export type EmptySearchStateProps = React.ComponentProps<"div"> & {
3
- query?: string;
4
- title?: React.ReactNode;
5
- description?: React.ReactNode;
6
- suggestions?: React.ReactNode;
7
- onClear?: () => void;
8
- clearLabel?: React.ReactNode;
9
- };
10
- declare function EmptySearchState({ query, title, description, suggestions, onClear, clearLabel, className, ...props }: EmptySearchStateProps): React.JSX.Element;
11
- export { EmptySearchState };
@@ -1,45 +0,0 @@
1
- import { cn as e } from "../../lib/utils.js";
2
- import { Button as t } from "../ui/button/index.js";
3
- import "react";
4
- import { SearchXIcon as n } from "lucide-react";
5
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
- //#region src/components/feedback/empty-search-state.tsx
7
- function a({ query: a, title: o = "No results found", description: s, suggestions: c, onClear: l, clearLabel: u = "Clear search", className: d, ...f }) {
8
- return /* @__PURE__ */ i("div", {
9
- "data-slot": "empty-search-state",
10
- className: e("flex flex-col items-center justify-center p-8 text-center min-h-[300px]", d),
11
- ...f,
12
- children: [
13
- /* @__PURE__ */ r("div", {
14
- className: "mb-4 flex size-12 items-center justify-center rounded-full bg-muted/50 text-muted-foreground",
15
- children: /* @__PURE__ */ r(n, { className: "size-6" })
16
- }),
17
- /* @__PURE__ */ i("h3", {
18
- className: "text-lg font-semibold tracking-tight",
19
- children: [
20
- o,
21
- " ",
22
- a ? `for "${a}"` : ""
23
- ]
24
- }),
25
- s && /* @__PURE__ */ r("p", {
26
- className: "mt-2 text-sm text-muted-foreground max-w-sm",
27
- children: s
28
- }),
29
- c && /* @__PURE__ */ r("div", {
30
- className: "mt-4 text-sm text-muted-foreground",
31
- children: c
32
- }),
33
- l && /* @__PURE__ */ r("div", {
34
- className: "mt-6",
35
- children: /* @__PURE__ */ r(t, {
36
- variant: "outline",
37
- onClick: l,
38
- children: u
39
- })
40
- })
41
- ]
42
- });
43
- }
44
- //#endregion
45
- export { a as EmptySearchState };
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime");function o({className:e,icon:r,title:o=`No data`,description:s,action:c,actionLabel:l,onAction:u,...d}){return(0,a.jsxs)(`div`,{"data-slot":`empty-state`,className:t.cn(`flex min-h-52 flex-col items-center justify-center gap-4 rounded-[var(--radius-3xl)] border border-dashed border-border/80 bg-muted/25 p-10 text-center shadow-sm ring-1 ring-foreground/4`,e),...d,children:[(0,a.jsx)(`div`,{className:`flex size-12 items-center justify-center rounded-full border border-border/70 bg-background/92 text-muted-foreground shadow-[0_1px_0_rgba(255,255,255,0.08)]`,children:r??(0,a.jsx)(i.InboxIcon,{className:`size-5`})}),(0,a.jsxs)(`div`,{className:`grid gap-1.5`,children:[o&&(0,a.jsx)(`h3`,{className:`text-base font-semibold tracking-tight text-foreground`,children:o}),s&&(0,a.jsx)(`p`,{className:`max-w-sm text-sm leading-6 text-muted-foreground`,children:s})]}),c??(l&&u?(0,a.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:u,children:l}):null)]})}exports.EmptyState=o;
@@ -1,11 +0,0 @@
1
- import * as React from "react";
2
- export type EmptyStateProps = React.ComponentProps<"div"> & {
3
- icon?: React.ReactNode;
4
- title?: React.ReactNode;
5
- description?: React.ReactNode;
6
- action?: React.ReactNode;
7
- actionLabel?: React.ReactNode;
8
- onAction?: () => void;
9
- };
10
- declare function EmptyState({ className, icon, title, description, action, actionLabel, onAction, ...props }: EmptyStateProps): React.JSX.Element;
11
- export { EmptyState };
@@ -1,38 +0,0 @@
1
- import { cn as e } from "../../lib/utils.js";
2
- import { Button as t } from "../ui/button/index.js";
3
- import "react";
4
- import { InboxIcon as n } from "lucide-react";
5
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
- //#region src/components/feedback/empty-state.tsx
7
- function a({ className: a, icon: o, title: s = "No data", description: c, action: l, actionLabel: u, onAction: d, ...f }) {
8
- return /* @__PURE__ */ i("div", {
9
- "data-slot": "empty-state",
10
- className: e("flex min-h-52 flex-col items-center justify-center gap-4 rounded-[var(--radius-3xl)] border border-dashed border-border/80 bg-muted/25 p-10 text-center shadow-sm ring-1 ring-foreground/4", a),
11
- ...f,
12
- children: [
13
- /* @__PURE__ */ r("div", {
14
- className: "flex size-12 items-center justify-center rounded-full border border-border/70 bg-background/92 text-muted-foreground shadow-[0_1px_0_rgba(255,255,255,0.08)]",
15
- children: o ?? /* @__PURE__ */ r(n, { className: "size-5" })
16
- }),
17
- /* @__PURE__ */ i("div", {
18
- className: "grid gap-1.5",
19
- children: [s && /* @__PURE__ */ r("h3", {
20
- className: "text-base font-semibold tracking-tight text-foreground",
21
- children: s
22
- }), c && /* @__PURE__ */ r("p", {
23
- className: "max-w-sm text-sm leading-6 text-muted-foreground",
24
- children: c
25
- })]
26
- }),
27
- l ?? (u && d ? /* @__PURE__ */ r(t, {
28
- type: "button",
29
- variant: "outline",
30
- size: "sm",
31
- onClick: d,
32
- children: u
33
- }) : null)
34
- ]
35
- });
36
- }
37
- //#endregion
38
- export { a as EmptyState };
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/badge/index.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");var s={default:`secondary`,success:`secondary`,warning:`outline`,danger:`destructive`,info:`outline`,muted:`outline`};function c({chips:e,clearLabel:i=`Clear all`,empty:c=`No active filters`,onRemove:l,onClear:u,className:d,...f}){let p=e.filter(e=>!e.hidden);return p.length?(0,o.jsxs)(`div`,{"data-slot":`filter-chips`,className:t.cn(`flex flex-wrap items-center gap-2`,d),...f,children:[p.map(e=>(0,o.jsxs)(r.Badge,{variant:s[e.tone??`default`],className:t.cn(`gap-1.5`,e.disabled&&`opacity-60`),children:[(0,o.jsx)(`span`,{children:e.label}),e.value!==void 0&&(0,o.jsx)(`span`,{className:`text-muted-foreground`,children:e.value}),l&&!e.disabled&&(0,o.jsx)(`button`,{type:`button`,className:`rounded-full p-0.5 hover:bg-muted`,onClick:n=>{t.stopInteractivePropagation(n),l(e.key)},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,children:(0,o.jsx)(a.XIcon,{className:`size-3`})})]},e.key)),u&&(0,o.jsx)(n.Button,{type:`button`,variant:`ghost`,size:`xs`,onClick:e=>{t.stopInteractivePropagation(e),u()},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,children:i})]}):(0,o.jsx)(`div`,{"data-slot":`filter-chips-empty`,className:t.cn(`text-sm text-muted-foreground`,d),...f,children:c})}exports.FilterChips=c;
@@ -1,18 +0,0 @@
1
- import * as React from "react";
2
- export type FilterChip = {
3
- key: string;
4
- label: React.ReactNode;
5
- value?: React.ReactNode;
6
- tone?: "default" | "success" | "warning" | "danger" | "info" | "muted";
7
- disabled?: boolean;
8
- hidden?: boolean;
9
- };
10
- export type FilterChipsProps = React.ComponentProps<"div"> & {
11
- chips: FilterChip[];
12
- clearLabel?: React.ReactNode;
13
- empty?: React.ReactNode;
14
- onRemove?: (key: string) => void;
15
- onClear?: () => void;
16
- };
17
- declare function FilterChips({ chips, clearLabel, empty, onRemove, onClear, className, ...props }: FilterChipsProps): React.JSX.Element;
18
- export { FilterChips };
@@ -1,61 +0,0 @@
1
- import { cn as e, stopInteractivePropagation as t } from "../../lib/utils.js";
2
- import { Button as n } from "../ui/button/index.js";
3
- import { Badge as r } from "../ui/badge/index.js";
4
- import "react";
5
- import { XIcon as i } from "lucide-react";
6
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
- //#region src/components/filters/filter-chips.tsx
8
- var s = {
9
- default: "secondary",
10
- success: "secondary",
11
- warning: "outline",
12
- danger: "destructive",
13
- info: "outline",
14
- muted: "outline"
15
- };
16
- function c({ chips: c, clearLabel: l = "Clear all", empty: u = "No active filters", onRemove: d, onClear: f, className: p, ...m }) {
17
- let h = c.filter((e) => !e.hidden);
18
- return h.length ? /* @__PURE__ */ o("div", {
19
- "data-slot": "filter-chips",
20
- className: e("flex flex-wrap items-center gap-2", p),
21
- ...m,
22
- children: [h.map((n) => /* @__PURE__ */ o(r, {
23
- variant: s[n.tone ?? "default"],
24
- className: e("gap-1.5", n.disabled && "opacity-60"),
25
- children: [
26
- /* @__PURE__ */ a("span", { children: n.label }),
27
- n.value !== void 0 && /* @__PURE__ */ a("span", {
28
- className: "text-muted-foreground",
29
- children: n.value
30
- }),
31
- d && !n.disabled && /* @__PURE__ */ a("button", {
32
- type: "button",
33
- className: "rounded-full p-0.5 hover:bg-muted",
34
- onClick: (e) => {
35
- t(e), d(n.key);
36
- },
37
- onMouseDown: t,
38
- onDoubleClick: t,
39
- children: /* @__PURE__ */ a(i, { className: "size-3" })
40
- })
41
- ]
42
- }, n.key)), f && /* @__PURE__ */ a(n, {
43
- type: "button",
44
- variant: "ghost",
45
- size: "xs",
46
- onClick: (e) => {
47
- t(e), f();
48
- },
49
- onMouseDown: t,
50
- onDoubleClick: t,
51
- children: l
52
- })]
53
- }) : /* @__PURE__ */ a("div", {
54
- "data-slot": "filter-chips-empty",
55
- className: e("text-sm text-muted-foreground", p),
56
- ...m,
57
- children: u
58
- });
59
- }
60
- //#endregion
61
- export { c as FilterChips };
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./form-builder.cjs");exports.asyncSelectField=e.asyncSelectField,exports.customField=e.customField,exports.dateField=e.dateField,exports.dateRangeField=e.dateRangeField,exports.formSection=e.formSection,exports.inputField=e.inputField,exports.numberField=e.numberField,exports.phoneField=e.phoneField,exports.selectField=e.selectField,exports.switchField=e.switchField,exports.textareaField=e.textareaField;
@@ -1 +0,0 @@
1
- export { asyncSelectField, customField, dateField, dateRangeField, formSection, inputField, numberField, phoneField, selectField, switchField, textareaField, } from "./form-builder";
@@ -1,2 +0,0 @@
1
- import { asyncSelectField as e, customField as t, dateField as n, dateRangeField as r, formSection as i, inputField as a, numberField as o, phoneField as s, selectField as c, switchField as l, textareaField as u } from "./form-builder.js";
2
- export { e as asyncSelectField, t as customField, n as dateField, r as dateRangeField, i as formSection, a as inputField, o as numberField, s as phoneField, c as selectField, l as switchField, u as textareaField };
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../form/form-input.cjs"),i=require("../form/form-select.cjs"),a=require("../form/form-switch.cjs"),o=require("../form/form-textarea.cjs"),s=require("../form/form-async-select.cjs"),c=require("../form/form-date-input.cjs"),l=require("../form/form-date-range-input.cjs"),u=require("../form/form-number-input.cjs"),d=require("../form/form-phone-input.cjs");let f=require("react");f=e.__toESM(f,1);let p=require("react/jsx-runtime");var m={compact:`gap-3`,default:`gap-4`,comfortable:`gap-6`},h={1:`grid-cols-1`,2:`grid-cols-1 md:grid-cols-2`,3:`grid-cols-1 md:grid-cols-2 xl:grid-cols-3`,4:`grid-cols-1 md:grid-cols-2 xl:grid-cols-4`},g={1:`col-span-1`,2:`md:col-span-2`,3:`xl:col-span-3`,4:`xl:col-span-4`,full:`col-span-full`};function _(e){let{id:t,hidden:n,className:r,colSpan:i,props:a}=e;return{base:{id:t,hidden:n,className:r,colSpan:i},props:a}}function v(e){let{base:t,props:n}=_(e);return{...t,type:`input`,props:n}}function y(e){let{base:t,props:n}=_(e);return{...t,type:`textarea`,props:n}}function b(e){let{base:t,props:n}=_(e);return{...t,type:`select`,props:n}}function x(e){let{base:t,props:n}=_(e);return{...t,type:`async-select`,props:n}}function S(e){let{base:t,props:n}=_(e);return{...t,type:`switch`,props:n}}function C(e){let{base:t,props:n}=_(e);return{...t,type:`number`,props:n}}function w(e){let{base:t,props:n}=_(e);return{...t,type:`phone`,props:n}}function T(e){let{base:t,props:n}=_(e);return{...t,type:`date`,props:n}}function E(e){let{base:t,props:n}=_(e);return{...t,type:`date-range`,props:n}}function D(e){let{id:t,hidden:n,className:r,colSpan:i,render:a}=e;return{id:t,hidden:n,className:r,colSpan:i,type:`custom`,render:a}}function O(e){return e}function k(e,t){let n=r.FormInput,m=i.FormSelect;switch(e.type){case`custom`:return e.render(t);case`input`:return f.createElement(n,{control:t.control,disabled:t.disabled,readOnly:t.readOnly,...e.props});case`textarea`:return(0,p.jsx)(o.FormTextarea,{control:t.control,disabled:t.disabled,readOnly:t.readOnly,...e.props});case`select`:return f.createElement(m,{control:t.control,disabled:t.disabled,...e.props});case`async-select`:return(0,p.jsx)(s.FormAsyncSelect,{control:t.control,disabled:t.disabled,...e.props});case`switch`:return(0,p.jsx)(a.FormSwitch,{control:t.control,disabled:t.disabled,...e.props});case`number`:return(0,p.jsx)(u.FormNumberInput,{control:t.control,disabled:t.disabled,readOnly:t.readOnly,...e.props});case`phone`:return(0,p.jsx)(d.FormPhoneInput,{control:t.control,disabled:t.disabled,readOnly:t.readOnly,...e.props});case`date`:return(0,p.jsx)(c.FormDateInput,{control:t.control,disabled:t.disabled,readOnly:t.readOnly,...e.props});case`date-range`:return(0,p.jsx)(l.FormDateRangeInput,{control:t.control,fromInputProps:{disabled:t.disabled,readOnly:t.readOnly},toInputProps:{disabled:t.disabled,readOnly:t.readOnly},...e.props});default:return null}}function A({fields:e,sections:t}){return t?.length?t:[{id:`default`,fields:e??[]}]}function j({className:e,control:r,fields:i,sections:a,layout:o=`grid`,density:s=`default`,columns:c=2,disabled:l,readOnly:u,footer:d,submitLabel:_,resetLabel:v,onResetClick:y,isSubmitting:b,sectionClassName:x,fieldClassName:S,footerClassName:C,...w}){let T=A({fields:i,sections:a}),E=f.useMemo(()=>({control:r,disabled:l,readOnly:u}),[r,l,u]);return(0,p.jsxs)(`form`,{"data-slot":`form-builder`,className:t.cn(`grid`,m[s],e),...w,children:[T.filter(e=>!e.hidden).map(e=>(0,p.jsxs)(`section`,{"data-slot":`form-builder-section`,className:t.cn(`grid gap-4`,e.className,x),children:[(e.title||e.description||e.actions)&&(0,p.jsxs)(`div`,{"data-slot":`form-builder-section-header`,className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,p.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[e.title&&(0,p.jsx)(`h2`,{className:`text-base font-semibold leading-none tracking-tight`,children:e.title}),e.description&&(0,p.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e.description})]}),e.actions&&(0,p.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:e.actions})]}),(0,p.jsx)(`div`,{"data-slot":`form-builder-fields`,"data-layout":o,className:t.cn(`grid`,m[s],o===`grid`?h[c]:`grid-cols-1`),children:e.fields.filter(e=>!e.hidden).map(e=>(0,p.jsx)(`div`,{"data-slot":`form-builder-field`,className:t.cn(e.colSpan&&g[e.colSpan],e.className,S),children:k(e,E)},e.id))})]},e.id)),(d||_||v)&&(0,p.jsx)(`div`,{"data-slot":`form-builder-footer`,className:t.cn(`flex flex-wrap items-center justify-end gap-2`,C),children:d??(0,p.jsxs)(p.Fragment,{children:[v&&(0,p.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:l||b,onClick:y,children:v}),_&&(0,p.jsx)(n.Button,{type:`submit`,disabled:l||b,children:_})]})})]})}exports.FormBuilder=j,exports.asyncSelectField=x,exports.customField=D,exports.dateField=T,exports.dateRangeField=E,exports.formSection=O,exports.inputField=v,exports.numberField=C,exports.phoneField=w,exports.renderFormBuilderField=k,exports.selectField=b,exports.switchField=S,exports.textareaField=y;
@@ -1,109 +0,0 @@
1
- import * as React from "react";
2
- import type { Control, FieldPath, FieldValues } from "react-hook-form";
3
- import { type FormInputProps } from "@/components/form/form-input";
4
- import { type FormTextareaProps } from "@/components/form/form-textarea";
5
- import { type FormSelectProps } from "@/components/form/form-select";
6
- import { type FormAsyncSelectProps } from "@/components/form/form-async-select";
7
- import { type FormSwitchProps } from "@/components/form/form-switch";
8
- import { type FormNumberInputProps } from "@/components/form/form-number-input";
9
- import { type FormPhoneInputProps } from "@/components/form/form-phone-input";
10
- import { type FormDateInputProps } from "@/components/form/form-date-input";
11
- import { type FormDateRangeInputProps } from "@/components/form/form-date-range-input";
12
- export type FormBuilderLayout = "grid" | "stack";
13
- export type FormBuilderDensity = "compact" | "default" | "comfortable";
14
- export type FormBuilderFieldRenderContext<TFieldValues extends FieldValues> = {
15
- control: Control<TFieldValues>;
16
- disabled?: boolean;
17
- readOnly?: boolean;
18
- };
19
- type BaseFormBuilderField = {
20
- id: string;
21
- hidden?: boolean;
22
- className?: string;
23
- colSpan?: 1 | 2 | 3 | 4 | "full";
24
- };
25
- export type FormBuilderCustomField<TFieldValues extends FieldValues> = BaseFormBuilderField & {
26
- type: "custom";
27
- render: (context: FormBuilderFieldRenderContext<TFieldValues>) => React.ReactNode;
28
- };
29
- export type FormBuilderInputField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
30
- type: "input";
31
- props: Omit<FormInputProps<TFieldValues, TName>, "control">;
32
- };
33
- export type FormBuilderTextareaField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
34
- type: "textarea";
35
- props: Omit<FormTextareaProps<TFieldValues, TName>, "control">;
36
- };
37
- export type FormBuilderSelectField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
38
- type: "select";
39
- props: Omit<FormSelectProps<TFieldValues, TName>, "control">;
40
- };
41
- export type FormBuilderAsyncSelectField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
42
- type: "async-select";
43
- props: Omit<FormAsyncSelectProps<TFieldValues, TName>, "control">;
44
- };
45
- export type FormBuilderSwitchField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
46
- type: "switch";
47
- props: Omit<FormSwitchProps<TFieldValues, TName>, "control">;
48
- };
49
- export type FormBuilderNumberField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
50
- type: "number";
51
- props: Omit<FormNumberInputProps<TFieldValues, TName>, "control">;
52
- };
53
- export type FormBuilderPhoneField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
54
- type: "phone";
55
- props: Omit<FormPhoneInputProps<TFieldValues, TName>, "control">;
56
- };
57
- export type FormBuilderDateField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
58
- type: "date";
59
- props: Omit<FormDateInputProps<TFieldValues, TName>, "control">;
60
- };
61
- export type FormBuilderDateRangeField<TFieldValues extends FieldValues, TFromName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TToName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = BaseFormBuilderField & {
62
- type: "date-range";
63
- props: Omit<FormDateRangeInputProps<TFieldValues, TFromName, TToName>, "control">;
64
- };
65
- export type FormBuilderField<TFieldValues extends FieldValues> = FormBuilderCustomField<TFieldValues> | FormBuilderInputField<TFieldValues> | FormBuilderTextareaField<TFieldValues> | FormBuilderSelectField<TFieldValues> | FormBuilderAsyncSelectField<TFieldValues> | FormBuilderSwitchField<TFieldValues> | FormBuilderNumberField<TFieldValues> | FormBuilderPhoneField<TFieldValues> | FormBuilderDateField<TFieldValues> | FormBuilderDateRangeField<TFieldValues>;
66
- export type FormBuilderSection<TFieldValues extends FieldValues> = {
67
- id: string;
68
- title?: React.ReactNode;
69
- description?: React.ReactNode;
70
- actions?: React.ReactNode;
71
- hidden?: boolean;
72
- className?: string;
73
- fields: FormBuilderField<TFieldValues>[];
74
- };
75
- export type FormBuilderProps<TFieldValues extends FieldValues> = Omit<React.ComponentProps<"form">, "children"> & {
76
- control: Control<TFieldValues>;
77
- fields?: FormBuilderField<TFieldValues>[];
78
- sections?: FormBuilderSection<TFieldValues>[];
79
- layout?: FormBuilderLayout;
80
- density?: FormBuilderDensity;
81
- columns?: 1 | 2 | 3 | 4;
82
- disabled?: boolean;
83
- readOnly?: boolean;
84
- footer?: React.ReactNode;
85
- submitLabel?: React.ReactNode;
86
- resetLabel?: React.ReactNode;
87
- onResetClick?: () => void;
88
- isSubmitting?: boolean;
89
- sectionClassName?: string;
90
- fieldClassName?: string;
91
- footerClassName?: string;
92
- };
93
- type FieldPresetOptions<TProps> = BaseFormBuilderField & {
94
- props: TProps;
95
- };
96
- declare function inputField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderInputField<TFieldValues, TName>["props"]>): FormBuilderInputField<TFieldValues, TName>;
97
- declare function textareaField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderTextareaField<TFieldValues, TName>["props"]>): FormBuilderTextareaField<TFieldValues, TName>;
98
- declare function selectField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderSelectField<TFieldValues, TName>["props"]>): FormBuilderSelectField<TFieldValues, TName>;
99
- declare function asyncSelectField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderAsyncSelectField<TFieldValues, TName>["props"]>): FormBuilderAsyncSelectField<TFieldValues, TName>;
100
- declare function switchField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderSwitchField<TFieldValues, TName>["props"]>): FormBuilderSwitchField<TFieldValues, TName>;
101
- declare function numberField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderNumberField<TFieldValues, TName>["props"]>): FormBuilderNumberField<TFieldValues, TName>;
102
- declare function phoneField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderPhoneField<TFieldValues, TName>["props"]>): FormBuilderPhoneField<TFieldValues, TName>;
103
- declare function dateField<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderDateField<TFieldValues, TName>["props"]>): FormBuilderDateField<TFieldValues, TName>;
104
- declare function dateRangeField<TFieldValues extends FieldValues, TFromName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TToName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(options: FieldPresetOptions<FormBuilderDateRangeField<TFieldValues, TFromName, TToName>["props"]>): FormBuilderDateRangeField<TFieldValues, TFromName, TToName>;
105
- declare function customField<TFieldValues extends FieldValues>(options: BaseFormBuilderField & Pick<FormBuilderCustomField<TFieldValues>, "render">): FormBuilderCustomField<TFieldValues>;
106
- declare function formSection<TFieldValues extends FieldValues>(section: FormBuilderSection<TFieldValues>): FormBuilderSection<TFieldValues>;
107
- declare function renderFormBuilderField<TFieldValues extends FieldValues>(field: FormBuilderField<TFieldValues>, context: FormBuilderFieldRenderContext<TFieldValues>): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
108
- declare function FormBuilder<TFieldValues extends FieldValues>({ className, control, fields, sections, layout, density, columns, disabled, readOnly, footer, submitLabel, resetLabel, onResetClick, isSubmitting, sectionClassName, fieldClassName, footerClassName, ...props }: FormBuilderProps<TFieldValues>): React.JSX.Element;
109
- export { FormBuilder, asyncSelectField, customField, dateField, dateRangeField, formSection, inputField, numberField, phoneField, renderFormBuilderField, selectField, switchField, textareaField, };