tembro 2.0.4 → 2.0.6

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 (401) 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-pagination.cjs +1 -1
  20. package/dist/components/data-table/data-table-pagination.js +4 -4
  21. package/dist/components/data-table/data-table-toolbar.cjs +1 -1
  22. package/dist/components/data-table/data-table-toolbar.d.ts +5 -1
  23. package/dist/components/data-table/data-table-toolbar.js +36 -23
  24. package/dist/components/data-table/data-table.cjs +1 -1
  25. package/dist/components/data-table/data-table.d.ts +8 -6
  26. package/dist/components/data-table/data-table.js +89 -80
  27. package/dist/components/data-table/demo.cjs +1 -1
  28. package/dist/components/data-table/demo.js +3 -13
  29. package/dist/components/data-table/index.cjs +1 -1
  30. package/dist/components/data-table/index.js +5 -5
  31. package/dist/components/data-table/public.cjs +1 -1
  32. package/dist/components/data-table/public.d.ts +1 -6
  33. package/dist/components/data-table/public.js +7 -12
  34. package/dist/components/display/activity-feed.cjs +1 -1
  35. package/dist/components/display/activity-feed.d.ts +12 -1
  36. package/dist/components/display/activity-feed.js +69 -47
  37. package/dist/components/display/carousel.cjs +1 -1
  38. package/dist/components/display/carousel.d.ts +16 -1
  39. package/dist/components/display/carousel.js +71 -26
  40. package/dist/components/display/code-block.cjs +2 -1
  41. package/dist/components/display/code-block.d.ts +3 -1
  42. package/dist/components/display/code-block.js +33 -19
  43. package/dist/components/display/comparison-card.cjs +1 -1
  44. package/dist/components/display/comparison-card.d.ts +3 -3
  45. package/dist/components/display/comparison-card.js +14 -38
  46. package/dist/components/display/data-state.cjs +1 -1
  47. package/dist/components/display/data-state.d.ts +12 -2
  48. package/dist/components/display/data-state.js +80 -42
  49. package/dist/components/display/demo.cjs +1 -1
  50. package/dist/components/display/demo.js +1 -5
  51. package/dist/components/display/index.cjs +1 -1
  52. package/dist/components/display/index.d.ts +0 -3
  53. package/dist/components/display/index.js +21 -24
  54. package/dist/components/display/smart-card.d.ts +1 -1
  55. package/dist/components/display/status-legend.d.ts +1 -1
  56. package/dist/components/feedback/alert.cjs +1 -1
  57. package/dist/components/feedback/alert.d.ts +6 -1
  58. package/dist/components/feedback/alert.js +49 -19
  59. package/dist/components/feedback/index.cjs +1 -1
  60. package/dist/components/feedback/index.d.ts +0 -2
  61. package/dist/components/feedback/index.js +3 -5
  62. package/dist/components/filters/demo.cjs +1 -1
  63. package/dist/components/filters/demo.js +1 -5
  64. package/dist/components/filters/filter-bar.cjs +1 -1
  65. package/dist/components/filters/filter-bar.d.ts +15 -1
  66. package/dist/components/filters/filter-bar.js +94 -50
  67. package/dist/components/filters/index.cjs +1 -1
  68. package/dist/components/filters/index.d.ts +0 -1
  69. package/dist/components/filters/index.js +3 -4
  70. package/dist/components/form/form-field-shell.cjs +1 -1
  71. package/dist/components/form/form-field-shell.d.ts +17 -3
  72. package/dist/components/form/form-field-shell.js +54 -40
  73. package/dist/components/form/form-input.cjs +1 -1
  74. package/dist/components/form/form-input.d.ts +3 -4
  75. package/dist/components/form/form-input.js +285 -224
  76. package/dist/components/form/form-select.cjs +1 -1
  77. package/dist/components/form/form-select.d.ts +2 -2
  78. package/dist/components/form/form-select.js +49 -35
  79. package/dist/components/form/form-switch.cjs +1 -1
  80. package/dist/components/form/form-switch.js +79 -66
  81. package/dist/components/form/form-textarea.cjs +1 -1
  82. package/dist/components/form/form-textarea.js +59 -48
  83. package/dist/components/form/index.cjs +1 -1
  84. package/dist/components/form/index.js +14 -14
  85. package/dist/components/form/public.cjs +1 -1
  86. package/dist/components/form/public.d.ts +0 -8
  87. package/dist/components/form/public.js +7 -15
  88. package/dist/components/inputs/async-select.cjs +1 -1
  89. package/dist/components/inputs/async-select.d.ts +14 -2
  90. package/dist/components/inputs/async-select.js +278 -270
  91. package/dist/components/inputs/combobox.cjs +1 -1
  92. package/dist/components/inputs/combobox.d.ts +5 -1
  93. package/dist/components/inputs/combobox.js +52 -19
  94. package/dist/components/inputs/search-input.d.ts +3 -0
  95. package/dist/components/inputs/simple-select.cjs +1 -1
  96. package/dist/components/inputs/simple-select.d.ts +10 -31
  97. package/dist/components/inputs/simple-select.js +5 -85
  98. package/dist/components/layout/app-sidebar.cjs +1 -1
  99. package/dist/components/layout/app-sidebar.d.ts +4 -1
  100. package/dist/components/layout/app-sidebar.js +152 -132
  101. package/dist/components/layout/breadcrumbs.cjs +1 -1
  102. package/dist/components/layout/breadcrumbs.d.ts +2 -1
  103. package/dist/components/layout/breadcrumbs.js +10 -10
  104. package/dist/components/layout/index.cjs +1 -1
  105. package/dist/components/layout/index.js +3 -3
  106. package/dist/components/layout/stat-card.cjs +1 -1
  107. package/dist/components/layout/stat-card.d.ts +8 -1
  108. package/dist/components/layout/stat-card.js +33 -11
  109. package/dist/components/modern/calendar-scheduler.cjs +1 -1
  110. package/dist/components/modern/calendar-scheduler.d.ts +2 -1
  111. package/dist/components/modern/calendar-scheduler.js +21 -12
  112. package/dist/components/overlay/alert-dialog.cjs +1 -1
  113. package/dist/components/overlay/alert-dialog.d.ts +15 -1
  114. package/dist/components/overlay/alert-dialog.js +102 -27
  115. package/dist/components/overlay/drawer.cjs +1 -1
  116. package/dist/components/overlay/drawer.d.ts +4 -1
  117. package/dist/components/overlay/drawer.js +20 -17
  118. package/dist/components/patterns/index.cjs +1 -1
  119. package/dist/components/patterns/index.d.ts +0 -1
  120. package/dist/components/patterns/index.js +1 -2
  121. package/dist/components/patterns/public.cjs +1 -1
  122. package/dist/components/patterns/public.d.ts +0 -1
  123. package/dist/components/patterns/public.js +1 -2
  124. package/dist/components/ui/button/index.cjs +1 -1
  125. package/dist/components/ui/button/index.d.ts +3 -1
  126. package/dist/components/ui/button/index.js +7 -5
  127. package/dist/components/ui/card/index.cjs +1 -1
  128. package/dist/components/ui/card/index.d.ts +13 -2
  129. package/dist/components/ui/card/index.js +74 -49
  130. package/dist/components/ui/checkbox/index.cjs +1 -1
  131. package/dist/components/ui/checkbox/index.d.ts +8 -0
  132. package/dist/components/ui/checkbox/index.js +16 -14
  133. package/dist/components/ui/collapse/index.cjs +1 -1
  134. package/dist/components/ui/collapse/index.d.ts +17 -3
  135. package/dist/components/ui/collapse/index.js +88 -33
  136. package/dist/components/ui/dialog/index.cjs +1 -1
  137. package/dist/components/ui/dialog/index.d.ts +2 -1
  138. package/dist/components/ui/dialog/index.js +6 -4
  139. package/dist/components/ui/dropdown-menu/index.cjs +1 -1
  140. package/dist/components/ui/dropdown-menu/index.d.ts +9 -4
  141. package/dist/components/ui/dropdown-menu/index.js +87 -62
  142. package/dist/components/ui/input/index.cjs +1 -1
  143. package/dist/components/ui/input/index.d.ts +8 -0
  144. package/dist/components/ui/input/index.js +63 -30
  145. package/dist/components/ui/select/index.cjs +1 -1
  146. package/dist/components/ui/select/index.d.ts +33 -1
  147. package/dist/components/ui/select/index.js +154 -48
  148. package/dist/index.cjs +1 -1
  149. package/dist/index.js +137 -156
  150. package/dist/public-component-surface.cjs +1 -1
  151. package/dist/public-component-surface.js +0 -15
  152. package/dist/showcase/component-api-schema.cjs +1 -1
  153. package/dist/showcase/component-api-schema.js +2 -2
  154. package/dist/showcase/create-demo.cjs +23 -36
  155. package/dist/showcase/create-demo.js +15 -16
  156. package/dist/showcase/fallback.cjs +3 -3
  157. package/dist/showcase/fallback.js +275 -265
  158. package/dist/showcase/premium/accordion/showcase.cjs +1 -1
  159. package/dist/showcase/premium/accordion/showcase.js +36 -5
  160. package/dist/showcase/premium/action-menu/showcase.cjs +1 -1
  161. package/dist/showcase/premium/action-menu/showcase.js +26 -8
  162. package/dist/showcase/premium/activity-feed/showcase.cjs +1 -1
  163. package/dist/showcase/premium/activity-feed/showcase.js +60 -36
  164. package/dist/showcase/premium/alert/showcase.cjs +1 -1
  165. package/dist/showcase/premium/alert/showcase.js +41 -18
  166. package/dist/showcase/premium/alert-dialog/showcase.cjs +1 -1
  167. package/dist/showcase/premium/alert-dialog/showcase.js +35 -7
  168. package/dist/showcase/premium/async-multi-select/mock.cjs +4 -3
  169. package/dist/showcase/premium/async-multi-select/mock.js +5 -5
  170. package/dist/showcase/premium/async-multi-select/showcase.cjs +1 -1
  171. package/dist/showcase/premium/async-multi-select/showcase.js +4 -3
  172. package/dist/showcase/premium/async-select/mock.cjs +1 -1
  173. package/dist/showcase/premium/async-select/mock.js +1 -1
  174. package/dist/showcase/premium/async-select/showcase.cjs +1 -1
  175. package/dist/showcase/premium/async-select/showcase.js +69 -22
  176. package/dist/showcase/premium/button/showcase.cjs +1 -1
  177. package/dist/showcase/premium/button/showcase.js +49 -3
  178. package/dist/showcase/premium/button-group/showcase.cjs +1 -1
  179. package/dist/showcase/premium/button-group/showcase.js +53 -29
  180. package/dist/showcase/premium/calendar/showcase.cjs +1 -1
  181. package/dist/showcase/premium/calendar/showcase.js +7 -2
  182. package/dist/showcase/premium/carousel/showcase.cjs +1 -1
  183. package/dist/showcase/premium/carousel/showcase.js +95 -47
  184. package/dist/showcase/premium/checkbox/showcase.cjs +1 -1
  185. package/dist/showcase/premium/checkbox/showcase.js +143 -67
  186. package/dist/showcase/premium/clearable-input/mock.cjs +4 -3
  187. package/dist/showcase/premium/clearable-input/mock.js +3 -2
  188. package/dist/showcase/premium/clearable-input/showcase.cjs +1 -1
  189. package/dist/showcase/premium/clearable-input/showcase.js +8 -2
  190. package/dist/showcase/premium/collapse/showcase.cjs +1 -1
  191. package/dist/showcase/premium/collapse/showcase.js +7 -0
  192. package/dist/showcase/premium/combobox/showcase.cjs +1 -1
  193. package/dist/showcase/premium/combobox/showcase.d.ts +2 -1
  194. package/dist/showcase/premium/combobox/showcase.js +56 -47
  195. package/dist/showcase/premium/data-table/showcase.cjs +1 -1
  196. package/dist/showcase/premium/data-table/showcase.js +138 -46
  197. package/dist/showcase/premium/data-table-parts/showcase.cjs +1 -1
  198. package/dist/showcase/premium/data-table-parts/showcase.js +16 -14
  199. package/dist/showcase/premium/date-input/mock.cjs +1 -1
  200. package/dist/showcase/premium/date-input/mock.js +1 -1
  201. package/dist/showcase/premium/date-range-picker/showcase.cjs +1 -1
  202. package/dist/showcase/premium/date-range-picker/showcase.js +32 -1
  203. package/dist/showcase/premium/dropdown-menu/showcase.cjs +1 -1
  204. package/dist/showcase/premium/dropdown-menu/showcase.js +88 -54
  205. package/dist/showcase/premium/form-wrapper/mock.cjs +41 -15
  206. package/dist/showcase/premium/form-wrapper/mock.js +4 -4
  207. package/dist/showcase/premium/form-wrapper/showcase.cjs +1 -1
  208. package/dist/showcase/premium/form-wrapper/showcase.js +77 -28
  209. package/dist/showcase/premium/index.cjs +1 -1
  210. package/dist/showcase/premium/index.js +426 -467
  211. package/dist/showcase/premium/input/mock.cjs +4 -1
  212. package/dist/showcase/premium/input/mock.js +1 -1
  213. package/dist/showcase/premium/masked-input/mock.cjs +1 -1
  214. package/dist/showcase/premium/masked-input/mock.js +1 -1
  215. package/dist/showcase/premium/money-input/mock.cjs +1 -1
  216. package/dist/showcase/premium/money-input/mock.js +1 -1
  217. package/dist/showcase/premium/number-input/mock.cjs +1 -1
  218. package/dist/showcase/premium/number-input/mock.js +1 -1
  219. package/dist/showcase/premium/phone-input/mock.cjs +1 -1
  220. package/dist/showcase/premium/phone-input/mock.js +1 -1
  221. package/dist/showcase/premium/quantity-input/mock.cjs +1 -1
  222. package/dist/showcase/premium/quantity-input/mock.js +1 -1
  223. package/dist/showcase/premium/select/mock.cjs +8 -9
  224. package/dist/showcase/premium/select/mock.js +1 -1
  225. package/dist/showcase/premium/select/showcase.cjs +1 -1
  226. package/dist/showcase/premium/select/showcase.js +76 -86
  227. package/dist/showcase/premium/simple-select/mock.cjs +1 -1
  228. package/dist/showcase/premium/simple-select/mock.js +1 -1
  229. package/dist/showcase/premium/simple-select/showcase.cjs +1 -1
  230. package/dist/showcase/premium/simple-select/showcase.js +4 -2
  231. package/dist/showcase/preview-catalog.cjs +7 -10
  232. package/dist/showcase/preview-catalog.js +7 -7
  233. package/dist/showcase/registry-quality.cjs +1 -1
  234. package/dist/showcase/registry-quality.js +0 -23
  235. package/dist/showcase/registry-specific.cjs +1 -1
  236. package/dist/showcase/registry-specific.js +153 -383
  237. package/dist/showcase/render-registry-preview.cjs +1 -1
  238. package/dist/showcase/render-registry-preview.js +169 -197
  239. package/dist/showcase/site-data.cjs +1 -1
  240. package/dist/showcase/site-data.js +197 -941
  241. package/dist/showcase/supplemental.cjs +1 -1
  242. package/dist/showcase/supplemental.js +1 -1
  243. package/dist/showcase/tembro-registry.json.cjs +1 -1
  244. package/dist/showcase/tembro-registry.json.js +33 -51
  245. package/package.json +1 -1
  246. package/packages/cli/dist/index.cjs +2 -2
  247. package/packages/cli/vendor/src/components/actions/action-menu.tsx +149 -83
  248. package/packages/cli/vendor/src/components/actions/button-group.tsx +141 -33
  249. package/packages/cli/vendor/src/components/actions/copy-button.tsx +21 -16
  250. package/packages/cli/vendor/src/components/calendar/calendar.tsx +223 -88
  251. package/packages/cli/vendor/src/components/calendar/date-picker.tsx +73 -29
  252. package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +154 -49
  253. package/packages/cli/vendor/src/components/data-table/data-table-pagination.tsx +7 -7
  254. package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +71 -50
  255. package/packages/cli/vendor/src/components/data-table/data-table.tsx +86 -73
  256. package/packages/cli/vendor/src/components/data-table/demo.tsx +2 -12
  257. package/packages/cli/vendor/src/components/data-table/public.ts +1 -6
  258. package/packages/cli/vendor/src/components/display/activity-feed.tsx +98 -40
  259. package/packages/cli/vendor/src/components/display/carousel.tsx +104 -6
  260. package/packages/cli/vendor/src/components/display/code-block.tsx +58 -26
  261. package/packages/cli/vendor/src/components/display/comparison-card.tsx +15 -41
  262. package/packages/cli/vendor/src/components/display/data-state.tsx +119 -50
  263. package/packages/cli/vendor/src/components/display/demo.tsx +0 -4
  264. package/packages/cli/vendor/src/components/display/index.ts +0 -3
  265. package/packages/cli/vendor/src/components/display/smart-card.tsx +1 -1
  266. package/packages/cli/vendor/src/components/display/status-legend.tsx +1 -1
  267. package/packages/cli/vendor/src/components/feedback/alert.tsx +86 -28
  268. package/packages/cli/vendor/src/components/feedback/index.ts +0 -2
  269. package/packages/cli/vendor/src/components/filters/demo.tsx +0 -1
  270. package/packages/cli/vendor/src/components/filters/filter-bar.tsx +126 -54
  271. package/packages/cli/vendor/src/components/filters/index.ts +0 -1
  272. package/packages/cli/vendor/src/components/form/form-field-shell.tsx +72 -34
  273. package/packages/cli/vendor/src/components/form/form-input.tsx +127 -23
  274. package/packages/cli/vendor/src/components/form/form-select.tsx +30 -7
  275. package/packages/cli/vendor/src/components/form/form-switch.tsx +77 -58
  276. package/packages/cli/vendor/src/components/form/form-textarea.tsx +65 -51
  277. package/packages/cli/vendor/src/components/form/public.ts +0 -9
  278. package/packages/cli/vendor/src/components/inputs/async-select.tsx +138 -91
  279. package/packages/cli/vendor/src/components/inputs/combobox.tsx +66 -9
  280. package/packages/cli/vendor/src/components/inputs/search-input.tsx +5 -2
  281. package/packages/cli/vendor/src/components/inputs/simple-select.tsx +20 -162
  282. package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +42 -1
  283. package/packages/cli/vendor/src/components/layout/breadcrumbs.tsx +17 -8
  284. package/packages/cli/vendor/src/components/layout/stat-card.tsx +63 -23
  285. package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +32 -22
  286. package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +148 -24
  287. package/packages/cli/vendor/src/components/overlay/drawer.tsx +42 -30
  288. package/packages/cli/vendor/src/components/patterns/index.ts +0 -1
  289. package/packages/cli/vendor/src/components/patterns/public.ts +0 -1
  290. package/packages/cli/vendor/src/components/ui/button/index.tsx +27 -17
  291. package/packages/cli/vendor/src/components/ui/card/index.tsx +95 -25
  292. package/packages/cli/vendor/src/components/ui/checkbox/index.tsx +22 -5
  293. package/packages/cli/vendor/src/components/ui/collapse/index.tsx +97 -16
  294. package/packages/cli/vendor/src/components/ui/dialog/index.tsx +12 -8
  295. package/packages/cli/vendor/src/components/ui/dropdown-menu/index.tsx +82 -28
  296. package/packages/cli/vendor/src/components/ui/input/index.tsx +98 -0
  297. package/packages/cli/vendor/src/components/ui/select/index.tsx +227 -34
  298. package/packages/cli/vendor/src/public-component-surface.ts +0 -3
  299. package/packages/cli/vendor/src/showcase/component-api-schema.ts +2 -2
  300. package/packages/cli/vendor/src/showcase/create-demo.tsx +44 -58
  301. package/packages/cli/vendor/src/showcase/fallback.tsx +80 -99
  302. package/packages/cli/vendor/src/showcase/premium/accordion/showcase.tsx +32 -2
  303. package/packages/cli/vendor/src/showcase/premium/action-menu/showcase.tsx +12 -3
  304. package/packages/cli/vendor/src/showcase/premium/activity-feed/showcase.tsx +15 -2
  305. package/packages/cli/vendor/src/showcase/premium/alert/showcase.tsx +32 -17
  306. package/packages/cli/vendor/src/showcase/premium/alert-dialog/showcase.tsx +28 -3
  307. package/packages/cli/vendor/src/showcase/premium/async-multi-select/mock.ts +6 -5
  308. package/packages/cli/vendor/src/showcase/premium/async-multi-select/showcase.tsx +5 -4
  309. package/packages/cli/vendor/src/showcase/premium/async-select/mock.ts +1 -1
  310. package/packages/cli/vendor/src/showcase/premium/async-select/showcase.tsx +36 -0
  311. package/packages/cli/vendor/src/showcase/premium/button/showcase.tsx +26 -5
  312. package/packages/cli/vendor/src/showcase/premium/button-group/showcase.tsx +20 -3
  313. package/packages/cli/vendor/src/showcase/premium/calendar/showcase.tsx +5 -0
  314. package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +33 -5
  315. package/packages/cli/vendor/src/showcase/premium/checkbox/showcase.tsx +46 -3
  316. package/packages/cli/vendor/src/showcase/premium/clearable-input/mock.ts +5 -3
  317. package/packages/cli/vendor/src/showcase/premium/clearable-input/showcase.tsx +5 -2
  318. package/packages/cli/vendor/src/showcase/premium/collapse/showcase.tsx +4 -0
  319. package/packages/cli/vendor/src/showcase/premium/combobox/showcase.tsx +8 -0
  320. package/packages/cli/vendor/src/showcase/premium/data-table/showcase.tsx +77 -27
  321. package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +14 -14
  322. package/packages/cli/vendor/src/showcase/premium/date-input/mock.ts +1 -1
  323. package/packages/cli/vendor/src/showcase/premium/date-range-picker/showcase.tsx +7 -0
  324. package/packages/cli/vendor/src/showcase/premium/dropdown-menu/showcase.tsx +46 -3
  325. package/packages/cli/vendor/src/showcase/premium/form-wrapper/mock.ts +70 -44
  326. package/packages/cli/vendor/src/showcase/premium/form-wrapper/showcase.tsx +129 -12
  327. package/packages/cli/vendor/src/showcase/premium/index.ts +7 -24
  328. package/packages/cli/vendor/src/showcase/premium/input/mock.ts +2 -2
  329. package/packages/cli/vendor/src/showcase/premium/masked-input/mock.ts +1 -1
  330. package/packages/cli/vendor/src/showcase/premium/money-input/mock.ts +1 -1
  331. package/packages/cli/vendor/src/showcase/premium/number-input/mock.ts +1 -1
  332. package/packages/cli/vendor/src/showcase/premium/phone-input/mock.ts +1 -1
  333. package/packages/cli/vendor/src/showcase/premium/quantity-input/mock.ts +1 -1
  334. package/packages/cli/vendor/src/showcase/premium/select/mock.ts +1 -1
  335. package/packages/cli/vendor/src/showcase/premium/select/showcase.tsx +13 -21
  336. package/packages/cli/vendor/src/showcase/premium/simple-select/mock.ts +1 -1
  337. package/packages/cli/vendor/src/showcase/premium/simple-select/showcase.tsx +2 -1
  338. package/packages/cli/vendor/src/showcase/preview-catalog.tsx +7 -7
  339. package/packages/cli/vendor/src/showcase/registry-quality.ts +4 -28
  340. package/packages/cli/vendor/src/showcase/registry-specific.tsx +10 -186
  341. package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +23 -57
  342. package/packages/cli/vendor/src/showcase/site-data.tsx +2443 -2761
  343. package/packages/cli/vendor/src/showcase/supplemental.tsx +2 -42
  344. package/packages/cli/vendor/src/showcase/tembro-registry.json +11 -58
  345. package/registry.json +11 -61
  346. package/dist/components/display/entity-card.cjs +0 -1
  347. package/dist/components/display/entity-card.d.ts +0 -18
  348. package/dist/components/display/entity-card.js +0 -61
  349. package/dist/components/display/entity-header.cjs +0 -1
  350. package/dist/components/display/entity-header.d.ts +0 -13
  351. package/dist/components/display/entity-header.js +0 -52
  352. package/dist/components/display/file-card.cjs +0 -1
  353. package/dist/components/display/file-card.d.ts +0 -14
  354. package/dist/components/display/file-card.js +0 -59
  355. package/dist/components/feedback/empty-search-state.cjs +0 -1
  356. package/dist/components/feedback/empty-search-state.d.ts +0 -11
  357. package/dist/components/feedback/empty-search-state.js +0 -45
  358. package/dist/components/feedback/empty-state.cjs +0 -1
  359. package/dist/components/feedback/empty-state.d.ts +0 -11
  360. package/dist/components/feedback/empty-state.js +0 -38
  361. package/dist/components/filters/filter-chips.cjs +0 -1
  362. package/dist/components/filters/filter-chips.d.ts +0 -18
  363. package/dist/components/filters/filter-chips.js +0 -61
  364. package/dist/components/patterns/form-builder-presets.cjs +0 -1
  365. package/dist/components/patterns/form-builder-presets.d.ts +0 -1
  366. package/dist/components/patterns/form-builder-presets.js +0 -2
  367. package/dist/components/patterns/form-builder.cjs +0 -1
  368. package/dist/components/patterns/form-builder.d.ts +0 -109
  369. package/dist/components/patterns/form-builder.js +0 -263
  370. package/dist/showcase/premium/empty-state/index.cjs +0 -1
  371. package/dist/showcase/premium/empty-state/index.d.ts +0 -2
  372. package/dist/showcase/premium/empty-state/index.js +0 -3
  373. package/dist/showcase/premium/empty-state/mock.cjs +0 -14
  374. package/dist/showcase/premium/empty-state/mock.d.ts +0 -2
  375. package/dist/showcase/premium/empty-state/mock.js +0 -31
  376. package/dist/showcase/premium/empty-state/showcase.cjs +0 -1
  377. package/dist/showcase/premium/empty-state/showcase.d.ts +0 -3
  378. package/dist/showcase/premium/empty-state/showcase.js +0 -99
  379. package/dist/showcase/premium/form-builder/index.cjs +0 -1
  380. package/dist/showcase/premium/form-builder/index.d.ts +0 -2
  381. package/dist/showcase/premium/form-builder/index.js +0 -3
  382. package/dist/showcase/premium/form-builder/mock.cjs +0 -57
  383. package/dist/showcase/premium/form-builder/mock.d.ts +0 -2
  384. package/dist/showcase/premium/form-builder/mock.js +0 -40
  385. package/dist/showcase/premium/form-builder/showcase.cjs +0 -1
  386. package/dist/showcase/premium/form-builder/showcase.d.ts +0 -3
  387. package/dist/showcase/premium/form-builder/showcase.js +0 -69
  388. package/packages/cli/vendor/src/components/display/entity-card.tsx +0 -80
  389. package/packages/cli/vendor/src/components/display/entity-header.tsx +0 -80
  390. package/packages/cli/vendor/src/components/display/file-card.tsx +0 -61
  391. package/packages/cli/vendor/src/components/feedback/empty-search-state.tsx +0 -65
  392. package/packages/cli/vendor/src/components/feedback/empty-state.tsx +0 -56
  393. package/packages/cli/vendor/src/components/filters/filter-chips.tsx +0 -89
  394. package/packages/cli/vendor/src/components/patterns/form-builder-presets.ts +0 -13
  395. package/packages/cli/vendor/src/components/patterns/form-builder.tsx +0 -443
  396. package/packages/cli/vendor/src/showcase/premium/empty-state/index.ts +0 -2
  397. package/packages/cli/vendor/src/showcase/premium/empty-state/mock.ts +0 -30
  398. package/packages/cli/vendor/src/showcase/premium/empty-state/showcase.tsx +0 -65
  399. package/packages/cli/vendor/src/showcase/premium/form-builder/index.ts +0 -2
  400. package/packages/cli/vendor/src/showcase/premium/form-builder/mock.ts +0 -79
  401. package/packages/cli/vendor/src/showcase/premium/form-builder/showcase.tsx +0 -55
@@ -1,263 +0,0 @@
1
- import { cn as e } from "../../lib/utils.js";
2
- import { Button as t } from "../ui/button/index.js";
3
- import { FormInput as n } from "../form/form-input.js";
4
- import { FormSelect as r } from "../form/form-select.js";
5
- import { FormSwitch as i } from "../form/form-switch.js";
6
- import { FormTextarea as a } from "../form/form-textarea.js";
7
- import { FormAsyncSelect as o } from "../form/form-async-select.js";
8
- import { FormDateInput as s } from "../form/form-date-input.js";
9
- import { FormDateRangeInput as c } from "../form/form-date-range-input.js";
10
- import { FormNumberInput as l } from "../form/form-number-input.js";
11
- import { FormPhoneInput as u } from "../form/form-phone-input.js";
12
- import * as d from "react";
13
- import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
14
- //#region src/components/patterns/form-builder.tsx
15
- var h = {
16
- compact: "gap-3",
17
- default: "gap-4",
18
- comfortable: "gap-6"
19
- }, g = {
20
- 1: "grid-cols-1",
21
- 2: "grid-cols-1 md:grid-cols-2",
22
- 3: "grid-cols-1 md:grid-cols-2 xl:grid-cols-3",
23
- 4: "grid-cols-1 md:grid-cols-2 xl:grid-cols-4"
24
- }, _ = {
25
- 1: "col-span-1",
26
- 2: "md:col-span-2",
27
- 3: "xl:col-span-3",
28
- 4: "xl:col-span-4",
29
- full: "col-span-full"
30
- };
31
- function v(e) {
32
- let { id: t, hidden: n, className: r, colSpan: i, props: a } = e;
33
- return {
34
- base: {
35
- id: t,
36
- hidden: n,
37
- className: r,
38
- colSpan: i
39
- },
40
- props: a
41
- };
42
- }
43
- function y(e) {
44
- let { base: t, props: n } = v(e);
45
- return {
46
- ...t,
47
- type: "input",
48
- props: n
49
- };
50
- }
51
- function b(e) {
52
- let { base: t, props: n } = v(e);
53
- return {
54
- ...t,
55
- type: "textarea",
56
- props: n
57
- };
58
- }
59
- function x(e) {
60
- let { base: t, props: n } = v(e);
61
- return {
62
- ...t,
63
- type: "select",
64
- props: n
65
- };
66
- }
67
- function S(e) {
68
- let { base: t, props: n } = v(e);
69
- return {
70
- ...t,
71
- type: "async-select",
72
- props: n
73
- };
74
- }
75
- function C(e) {
76
- let { base: t, props: n } = v(e);
77
- return {
78
- ...t,
79
- type: "switch",
80
- props: n
81
- };
82
- }
83
- function w(e) {
84
- let { base: t, props: n } = v(e);
85
- return {
86
- ...t,
87
- type: "number",
88
- props: n
89
- };
90
- }
91
- function T(e) {
92
- let { base: t, props: n } = v(e);
93
- return {
94
- ...t,
95
- type: "phone",
96
- props: n
97
- };
98
- }
99
- function E(e) {
100
- let { base: t, props: n } = v(e);
101
- return {
102
- ...t,
103
- type: "date",
104
- props: n
105
- };
106
- }
107
- function D(e) {
108
- let { base: t, props: n } = v(e);
109
- return {
110
- ...t,
111
- type: "date-range",
112
- props: n
113
- };
114
- }
115
- function O(e) {
116
- let { id: t, hidden: n, className: r, colSpan: i, render: a } = e;
117
- return {
118
- id: t,
119
- hidden: n,
120
- className: r,
121
- colSpan: i,
122
- type: "custom",
123
- render: a
124
- };
125
- }
126
- function k(e) {
127
- return e;
128
- }
129
- function A(e, t) {
130
- let f = n, m = r;
131
- switch (e.type) {
132
- case "custom": return e.render(t);
133
- case "input": return d.createElement(f, {
134
- control: t.control,
135
- disabled: t.disabled,
136
- readOnly: t.readOnly,
137
- ...e.props
138
- });
139
- case "textarea": return /* @__PURE__ */ p(a, {
140
- control: t.control,
141
- disabled: t.disabled,
142
- readOnly: t.readOnly,
143
- ...e.props
144
- });
145
- case "select": return d.createElement(m, {
146
- control: t.control,
147
- disabled: t.disabled,
148
- ...e.props
149
- });
150
- case "async-select": return /* @__PURE__ */ p(o, {
151
- control: t.control,
152
- disabled: t.disabled,
153
- ...e.props
154
- });
155
- case "switch": return /* @__PURE__ */ p(i, {
156
- control: t.control,
157
- disabled: t.disabled,
158
- ...e.props
159
- });
160
- case "number": return /* @__PURE__ */ p(l, {
161
- control: t.control,
162
- disabled: t.disabled,
163
- readOnly: t.readOnly,
164
- ...e.props
165
- });
166
- case "phone": return /* @__PURE__ */ p(u, {
167
- control: t.control,
168
- disabled: t.disabled,
169
- readOnly: t.readOnly,
170
- ...e.props
171
- });
172
- case "date": return /* @__PURE__ */ p(s, {
173
- control: t.control,
174
- disabled: t.disabled,
175
- readOnly: t.readOnly,
176
- ...e.props
177
- });
178
- case "date-range": return /* @__PURE__ */ p(c, {
179
- control: t.control,
180
- fromInputProps: {
181
- disabled: t.disabled,
182
- readOnly: t.readOnly
183
- },
184
- toInputProps: {
185
- disabled: t.disabled,
186
- readOnly: t.readOnly
187
- },
188
- ...e.props
189
- });
190
- default: return null;
191
- }
192
- }
193
- function j({ fields: e, sections: t }) {
194
- return t?.length ? t : [{
195
- id: "default",
196
- fields: e ?? []
197
- }];
198
- }
199
- function M({ className: n, control: r, fields: i, sections: a, layout: o = "grid", density: s = "default", columns: c = 2, disabled: l, readOnly: u, footer: v, submitLabel: y, resetLabel: b, onResetClick: x, isSubmitting: S, sectionClassName: C, fieldClassName: w, footerClassName: T, ...E }) {
200
- let D = j({
201
- fields: i,
202
- sections: a
203
- }), O = d.useMemo(() => ({
204
- control: r,
205
- disabled: l,
206
- readOnly: u
207
- }), [
208
- r,
209
- l,
210
- u
211
- ]);
212
- return /* @__PURE__ */ m("form", {
213
- "data-slot": "form-builder",
214
- className: e("grid", h[s], n),
215
- ...E,
216
- children: [D.filter((e) => !e.hidden).map((t) => /* @__PURE__ */ m("section", {
217
- "data-slot": "form-builder-section",
218
- className: e("grid gap-4", t.className, C),
219
- children: [(t.title || t.description || t.actions) && /* @__PURE__ */ m("div", {
220
- "data-slot": "form-builder-section-header",
221
- className: "flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",
222
- children: [/* @__PURE__ */ m("div", {
223
- className: "min-w-0 space-y-1",
224
- children: [t.title && /* @__PURE__ */ p("h2", {
225
- className: "text-base font-semibold leading-none tracking-tight",
226
- children: t.title
227
- }), t.description && /* @__PURE__ */ p("p", {
228
- className: "text-sm text-muted-foreground",
229
- children: t.description
230
- })]
231
- }), t.actions && /* @__PURE__ */ p("div", {
232
- className: "flex shrink-0 flex-wrap items-center gap-2",
233
- children: t.actions
234
- })]
235
- }), /* @__PURE__ */ p("div", {
236
- "data-slot": "form-builder-fields",
237
- "data-layout": o,
238
- className: e("grid", h[s], o === "grid" ? g[c] : "grid-cols-1"),
239
- children: t.fields.filter((e) => !e.hidden).map((t) => /* @__PURE__ */ p("div", {
240
- "data-slot": "form-builder-field",
241
- className: e(t.colSpan && _[t.colSpan], t.className, w),
242
- children: A(t, O)
243
- }, t.id))
244
- })]
245
- }, t.id)), (v || y || b) && /* @__PURE__ */ p("div", {
246
- "data-slot": "form-builder-footer",
247
- className: e("flex flex-wrap items-center justify-end gap-2", T),
248
- children: v ?? /* @__PURE__ */ m(f, { children: [b && /* @__PURE__ */ p(t, {
249
- type: "button",
250
- variant: "outline",
251
- disabled: l || S,
252
- onClick: x,
253
- children: b
254
- }), y && /* @__PURE__ */ p(t, {
255
- type: "submit",
256
- disabled: l || S,
257
- children: y
258
- })] })
259
- })]
260
- });
261
- }
262
- //#endregion
263
- export { M as FormBuilder, S as asyncSelectField, O as customField, E as dateField, D as dateRangeField, k as formSection, y as inputField, w as numberField, T as phoneField, A as renderFormBuilderField, x as selectField, C as switchField, b as textareaField };
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./showcase.cjs"),t=require("./mock.cjs");exports.EmptyStateShowcase=e.EmptyStateShowcase,exports.emptyStateMock=t.emptyStateMock;
@@ -1,2 +0,0 @@
1
- export { EmptyStateShowcase } from "./showcase";
2
- export { emptyStateMock } from "./mock";
@@ -1,3 +0,0 @@
1
- import { EmptyStateShowcase as e } from "./showcase.js";
2
- import { emptyStateMock as t } from "./mock.js";
3
- export { e as EmptyStateShowcase, t as emptyStateMock };
@@ -1,14 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { EmptyState } from "tembro"
2
-
3
- export function Example() {
4
- return (
5
- <EmptyState
6
- title="No results yet"
7
- description="Create your first item to unlock actions and charts."
8
- actionLabel="Create item"
9
- onAction={() => {
10
- console.log("Create action triggered")
11
- }}
12
- />
13
- )
14
- }`,highlights:[`No-content user messaging`,`Built-in action callback`,`Lightweight onboarding placeholder`,`Reusable for any resource list`],scenarios:[{title:`First launch`,description:`Guide users to create first entity in a clean state.`},{title:`Filtered empty`,description:`Tell users what changed filters removed all items.`},{title:`Error fallback`,description:`Use with loading and retry controls when data fetch fails.`}],capabilityNotes:[`Always provide a clear next action to recover from empty state.`,`Keep titles short and outcome oriented.`,`Prefer one primary action + short explanation for fastest user decision.`]};exports.emptyStateMock=e;
@@ -1,2 +0,0 @@
1
- import type { ComponentDemoMock } from "../types";
2
- export declare const emptyStateMock: ComponentDemoMock;
@@ -1,31 +0,0 @@
1
- //#region src/showcase/premium/empty-state/mock.ts
2
- var e = {
3
- code: "import { EmptyState } from \"tembro\"\n\nexport function Example() {\n return (\n <EmptyState\n title=\"No results yet\"\n description=\"Create your first item to unlock actions and charts.\"\n actionLabel=\"Create item\"\n onAction={() => {\n console.log(\"Create action triggered\")\n }}\n />\n )\n}",
4
- highlights: [
5
- "No-content user messaging",
6
- "Built-in action callback",
7
- "Lightweight onboarding placeholder",
8
- "Reusable for any resource list"
9
- ],
10
- scenarios: [
11
- {
12
- title: "First launch",
13
- description: "Guide users to create first entity in a clean state."
14
- },
15
- {
16
- title: "Filtered empty",
17
- description: "Tell users what changed filters removed all items."
18
- },
19
- {
20
- title: "Error fallback",
21
- description: "Use with loading and retry controls when data fetch fails."
22
- }
23
- ],
24
- capabilityNotes: [
25
- "Always provide a clear next action to recover from empty state.",
26
- "Keep titles short and outcome oriented.",
27
- "Prefer one primary action + short explanation for fastest user decision."
28
- ]
29
- };
30
- //#endregion
31
- export { e as emptyStateMock };
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../components/ui/button/index.cjs"),n=require("../../../components/ui/badge/index.cjs"),r=require("../../../components/feedback/empty-state.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("react/jsx-runtime");var o=`rounded-[22px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`;function s({mode:e}){let[s,c]=i.useState(0),[l,u]=i.useState(!0);return(0,a.jsxs)(`div`,{className:`space-y-5`,children:[(0,a.jsx)(`section`,{className:`rounded-[24px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5 sm:p-6`,children:(0,a.jsxs)(`div`,{className:`flex flex-col gap-6 xl:flex-row xl:items-start xl:justify-between`,children:[(0,a.jsxs)(`div`,{className:`max-w-xl`,children:[(0,a.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted`,children:`No-content state`}),(0,a.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`Empty state should unblock the next step`}),(0,a.jsx)(`p`,{className:`mt-3 max-w-lg text-sm leading-6 aui-text-muted`,children:`The preview should show a clear title, short explanation, and one meaningful next action. Empty state is not decorative whitespace.`})]}),(0,a.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,a.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`No data`}),(0,a.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`One next action`})]})]})}),l?(0,a.jsx)(r.EmptyState,{title:`No results found`,description:`There is nothing to show yet. Create one item to continue.`,actionLabel:`Create first item`,onAction:()=>c(e=>e+1)}):(0,a.jsx)(r.EmptyState,{title:`Empty state intentionally hidden`,description:`Use a custom fallback only when needed.`}),(0,a.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[0.9fr_1.1fr]`,children:[(0,a.jsxs)(`section`,{className:o,children:[(0,a.jsx)(`p`,{className:`text-sm font-medium aui-text-muted`,children:`Interaction count`}),(0,a.jsx)(`p`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:s}),(0,a.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Use the primary CTA only for the most direct recovery path.`})]}),e===`playground`?(0,a.jsxs)(`section`,{className:o,children:[(0,a.jsx)(`p`,{className:`text-sm font-medium aui-text-muted`,children:`Preview controls`}),(0,a.jsxs)(`div`,{className:`mt-4 flex flex-wrap gap-2`,children:[(0,a.jsx)(t.Button,{size:`sm`,variant:l?`default`:`outline`,onClick:()=>u(e=>!e),children:`Toggle feedback`}),(0,a.jsx)(t.Button,{size:`sm`,variant:`outline`,onClick:()=>c(0),children:`Reset actions`})]})]}):null]})]})}exports.EmptyStateShowcase=s;
@@ -1,3 +0,0 @@
1
- import * as React from "react";
2
- import type { ComponentDemoProps } from "../types";
3
- export declare function EmptyStateShowcase({ mode }: ComponentDemoProps): React.JSX.Element;
@@ -1,99 +0,0 @@
1
- import { Button as e } from "../../../components/ui/button/index.js";
2
- import { Badge as t } from "../../../components/ui/badge/index.js";
3
- import { EmptyState as n } from "../../../components/feedback/empty-state.js";
4
- import * as r from "react";
5
- import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
- //#region src/showcase/premium/empty-state/showcase.tsx
7
- var o = "rounded-[22px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5";
8
- function s({ mode: s }) {
9
- let [c, l] = r.useState(0), [u, d] = r.useState(!0);
10
- return /* @__PURE__ */ a("div", {
11
- className: "space-y-5",
12
- children: [
13
- /* @__PURE__ */ i("section", {
14
- className: "rounded-[24px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5 sm:p-6",
15
- children: /* @__PURE__ */ a("div", {
16
- className: "flex flex-col gap-6 xl:flex-row xl:items-start xl:justify-between",
17
- children: [/* @__PURE__ */ a("div", {
18
- className: "max-w-xl",
19
- children: [
20
- /* @__PURE__ */ i("p", {
21
- className: "text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted",
22
- children: "No-content state"
23
- }),
24
- /* @__PURE__ */ i("h3", {
25
- className: "mt-3 text-2xl font-semibold tracking-tight aui-text-strong",
26
- children: "Empty state should unblock the next step"
27
- }),
28
- /* @__PURE__ */ i("p", {
29
- className: "mt-3 max-w-lg text-sm leading-6 aui-text-muted",
30
- children: "The preview should show a clear title, short explanation, and one meaningful next action. Empty state is not decorative whitespace."
31
- })
32
- ]
33
- }), /* @__PURE__ */ a("div", {
34
- className: "flex flex-wrap gap-2",
35
- children: [/* @__PURE__ */ i(t, {
36
- variant: "outline",
37
- className: "rounded-full",
38
- children: "No data"
39
- }), /* @__PURE__ */ i(t, {
40
- variant: "outline",
41
- className: "rounded-full",
42
- children: "One next action"
43
- })]
44
- })]
45
- })
46
- }),
47
- u ? /* @__PURE__ */ i(n, {
48
- title: "No results found",
49
- description: "There is nothing to show yet. Create one item to continue.",
50
- actionLabel: "Create first item",
51
- onAction: () => l((e) => e + 1)
52
- }) : /* @__PURE__ */ i(n, {
53
- title: "Empty state intentionally hidden",
54
- description: "Use a custom fallback only when needed."
55
- }),
56
- /* @__PURE__ */ a("div", {
57
- className: "grid gap-4 xl:grid-cols-[0.9fr_1.1fr]",
58
- children: [/* @__PURE__ */ a("section", {
59
- className: o,
60
- children: [
61
- /* @__PURE__ */ i("p", {
62
- className: "text-sm font-medium aui-text-muted",
63
- children: "Interaction count"
64
- }),
65
- /* @__PURE__ */ i("p", {
66
- className: "mt-3 text-2xl font-semibold tracking-tight aui-text-strong",
67
- children: c
68
- }),
69
- /* @__PURE__ */ i("p", {
70
- className: "mt-2 text-sm leading-6 aui-text-muted",
71
- children: "Use the primary CTA only for the most direct recovery path."
72
- })
73
- ]
74
- }), s === "playground" ? /* @__PURE__ */ a("section", {
75
- className: o,
76
- children: [/* @__PURE__ */ i("p", {
77
- className: "text-sm font-medium aui-text-muted",
78
- children: "Preview controls"
79
- }), /* @__PURE__ */ a("div", {
80
- className: "mt-4 flex flex-wrap gap-2",
81
- children: [/* @__PURE__ */ i(e, {
82
- size: "sm",
83
- variant: u ? "default" : "outline",
84
- onClick: () => d((e) => !e),
85
- children: "Toggle feedback"
86
- }), /* @__PURE__ */ i(e, {
87
- size: "sm",
88
- variant: "outline",
89
- onClick: () => l(0),
90
- children: "Reset actions"
91
- })]
92
- })]
93
- }) : null]
94
- })
95
- ]
96
- });
97
- }
98
- //#endregion
99
- export { s as EmptyStateShowcase };
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./showcase.cjs"),t=require("./mock.cjs");exports.FormBuilderShowcase=e.FormBuilderShowcase,exports.formBuilderMock=t.formBuilderMock;
@@ -1,2 +0,0 @@
1
- export { FormBuilderShowcase } from "./showcase";
2
- export { formBuilderMock } from "./mock";
@@ -1,3 +0,0 @@
1
- import { FormBuilderShowcase as e } from "./showcase.js";
2
- import { formBuilderMock as t } from "./mock.js";
3
- export { e as FormBuilderShowcase, t as formBuilderMock };
@@ -1,57 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useForm } from "react-hook-form"
2
- import {
3
- FormBuilder,
4
- formSection,
5
- inputField,
6
- phoneField,
7
- switchField,
8
- textareaField,
9
- } from "tembro"
10
-
11
- type DemoValues = {
12
- workspace: string
13
- ownerPhone: string
14
- notes: string
15
- isLive: boolean
16
- }
17
-
18
- const sections = [
19
- formSection<DemoValues>({
20
- id: "main",
21
- title: "Workspace settings",
22
- description: "Field schema, sections and disabled/readOnly behavior all live in FormBuilder config.",
23
- fields: [
24
- inputField<DemoValues>({ id: "workspace", props: { name: "workspace", label: "Workspace name", required: true } }),
25
- phoneField<DemoValues>({ id: "ownerPhone", props: { name: "ownerPhone", label: "Owner phone" } }),
26
- textareaField<DemoValues>({ id: "notes", colSpan: "full", props: { name: "notes", label: "Notes", rows: 3 } }),
27
- switchField<DemoValues>({
28
- id: "isLive",
29
- colSpan: "full",
30
- props: { name: "isLive", label: "Publish workspace", description: "Toggle public availability" },
31
- }),
32
- ],
33
- }),
34
- ]
35
-
36
- export function Example() {
37
- const form = useForm<DemoValues>({
38
- defaultValues: {
39
- workspace: "Azamat UI",
40
- ownerPhone: "+998 90 123 45 67",
41
- notes: "Connected form sections with submit and reset lifecycle.",
42
- isLive: true,
43
- },
44
- })
45
-
46
- return (
47
- <FormBuilder
48
- control={form.control}
49
- sections={sections}
50
- columns={1}
51
- submitLabel="Save"
52
- resetLabel="Reset"
53
- disabled={false}
54
- readOnly={false}
55
- />
56
- )
57
- }`,htmlCode:`<form><label for="workspace">Workspace</label><input id="workspace" value="Azamat UI" /></form>`,cliCommand:`npx tembro add form-builder`,highlights:[`Field schema`,`Sections and presets`,`submitLabel / resetLabel wiring`,`Disabled/readOnly passthrough`,`Reusable field helpers`],relatedBlockSlugs:[`settings-form`,`crm-dashboard`],scenarios:[{title:`Field schema validation`,description:"Use typed `formSection` and helper fields for deterministic layout."},{title:`Submit + reset`,description:`Pass submitLabel/resetLabel and rely on RHF formState for disabled transitions.`},{title:`Custom render`,description:`Inject custom field-level props through helper factories.`},{title:`Read-only mode`,description:`Toggle readOnly for inspect-only workflows without changing schema.`}],capabilityNotes:["`sections` gives a single source of truth for layout and required validations.","Use `fields` for precise schema-driven field composition.",`Expose submit and reset labels directly from component props so UX can match product language.`,"Combine `disabled` + `readOnly` for different page states like locked records and review modes."]};exports.formBuilderMock=e;
@@ -1,2 +0,0 @@
1
- import type { ComponentDemoMock } from "../types";
2
- export declare const formBuilderMock: ComponentDemoMock;
@@ -1,40 +0,0 @@
1
- //#region src/showcase/premium/form-builder/mock.ts
2
- var e = {
3
- code: "import { useForm } from \"react-hook-form\"\nimport {\n FormBuilder,\n formSection,\n inputField,\n phoneField,\n switchField,\n textareaField,\n} from \"tembro\"\n\ntype DemoValues = {\n workspace: string\n ownerPhone: string\n notes: string\n isLive: boolean\n}\n\nconst sections = [\n formSection<DemoValues>({\n id: \"main\",\n title: \"Workspace settings\",\n description: \"Field schema, sections and disabled/readOnly behavior all live in FormBuilder config.\",\n fields: [\n inputField<DemoValues>({ id: \"workspace\", props: { name: \"workspace\", label: \"Workspace name\", required: true } }),\n phoneField<DemoValues>({ id: \"ownerPhone\", props: { name: \"ownerPhone\", label: \"Owner phone\" } }),\n textareaField<DemoValues>({ id: \"notes\", colSpan: \"full\", props: { name: \"notes\", label: \"Notes\", rows: 3 } }),\n switchField<DemoValues>({\n id: \"isLive\",\n colSpan: \"full\",\n props: { name: \"isLive\", label: \"Publish workspace\", description: \"Toggle public availability\" },\n }),\n ],\n }),\n]\n\nexport function Example() {\n const form = useForm<DemoValues>({\n defaultValues: {\n workspace: \"Azamat UI\",\n ownerPhone: \"+998 90 123 45 67\",\n notes: \"Connected form sections with submit and reset lifecycle.\",\n isLive: true,\n },\n })\n\n return (\n <FormBuilder\n control={form.control}\n sections={sections}\n columns={1}\n submitLabel=\"Save\"\n resetLabel=\"Reset\"\n disabled={false}\n readOnly={false}\n />\n )\n}",
4
- htmlCode: "<form><label for=\"workspace\">Workspace</label><input id=\"workspace\" value=\"Azamat UI\" /></form>",
5
- cliCommand: "npx tembro add form-builder",
6
- highlights: [
7
- "Field schema",
8
- "Sections and presets",
9
- "submitLabel / resetLabel wiring",
10
- "Disabled/readOnly passthrough",
11
- "Reusable field helpers"
12
- ],
13
- relatedBlockSlugs: ["settings-form", "crm-dashboard"],
14
- scenarios: [
15
- {
16
- title: "Field schema validation",
17
- description: "Use typed `formSection` and helper fields for deterministic layout."
18
- },
19
- {
20
- title: "Submit + reset",
21
- description: "Pass submitLabel/resetLabel and rely on RHF formState for disabled transitions."
22
- },
23
- {
24
- title: "Custom render",
25
- description: "Inject custom field-level props through helper factories."
26
- },
27
- {
28
- title: "Read-only mode",
29
- description: "Toggle readOnly for inspect-only workflows without changing schema."
30
- }
31
- ],
32
- capabilityNotes: [
33
- "`sections` gives a single source of truth for layout and required validations.",
34
- "Use `fields` for precise schema-driven field composition.",
35
- "Expose submit and reset labels directly from component props so UX can match product language.",
36
- "Combine `disabled` + `readOnly` for different page states like locked records and review modes."
37
- ]
38
- };
39
- //#endregion
40
- export { e as formBuilderMock };
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../components/ui/button/index.cjs"),n=require("../../../components/patterns/form-builder.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("react/jsx-runtime"),a=require("react-hook-form");function o({mode:e}){let o=(0,a.useForm)({defaultValues:{workspace:`Azamat UI`,ownerPhone:`+998 90 123 45 67`,notes:`Connected sections and submit/reset wiring.`,isLive:!0}}),s=r.useMemo(()=>[n.formSection({id:`main`,title:`Workspace settings`,description:`Schema-driven form builder with explicit submit and reset controls.`,fields:[n.inputField({id:`workspace`,props:{name:`workspace`,label:`Workspace`,required:!0}}),n.phoneField({id:`ownerPhone`,props:{name:`ownerPhone`,label:`Owner phone`}}),n.textareaField({id:`notes`,colSpan:`full`,props:{name:`notes`,label:`Notes`,rows:3}}),n.switchField({id:`isLive`,colSpan:`full`,props:{name:`isLive`,label:`Publish workspace`,description:`Visible only when record is active.`}})]})],[]);return(0,i.jsxs)(`div`,{className:`space-y-4`,children:[(0,i.jsx)(n.FormBuilder,{control:o.control,sections:s,columns:1,submitLabel:e===`playground`?`Save workspace`:void 0}),(0,i.jsx)(t.Button,{type:`button`,variant:`outline`,onClick:()=>o.reset(),children:`Reset form`})]})}exports.FormBuilderShowcase=o;
@@ -1,3 +0,0 @@
1
- import * as React from "react";
2
- import type { ComponentDemoProps } from "../types";
3
- export declare function FormBuilderShowcase({ mode }: ComponentDemoProps): React.JSX.Element;
@@ -1,69 +0,0 @@
1
- import { Button as e } from "../../../components/ui/button/index.js";
2
- import { FormBuilder as t, formSection as n, inputField as r, phoneField as i, switchField as a, textareaField as o } from "../../../components/patterns/form-builder.js";
3
- import * as s from "react";
4
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
5
- import { useForm as u } from "react-hook-form";
6
- //#region src/showcase/premium/form-builder/showcase.tsx
7
- function d({ mode: d }) {
8
- let f = u({ defaultValues: {
9
- workspace: "Azamat UI",
10
- ownerPhone: "+998 90 123 45 67",
11
- notes: "Connected sections and submit/reset wiring.",
12
- isLive: !0
13
- } }), p = s.useMemo(() => [n({
14
- id: "main",
15
- title: "Workspace settings",
16
- description: "Schema-driven form builder with explicit submit and reset controls.",
17
- fields: [
18
- r({
19
- id: "workspace",
20
- props: {
21
- name: "workspace",
22
- label: "Workspace",
23
- required: !0
24
- }
25
- }),
26
- i({
27
- id: "ownerPhone",
28
- props: {
29
- name: "ownerPhone",
30
- label: "Owner phone"
31
- }
32
- }),
33
- o({
34
- id: "notes",
35
- colSpan: "full",
36
- props: {
37
- name: "notes",
38
- label: "Notes",
39
- rows: 3
40
- }
41
- }),
42
- a({
43
- id: "isLive",
44
- colSpan: "full",
45
- props: {
46
- name: "isLive",
47
- label: "Publish workspace",
48
- description: "Visible only when record is active."
49
- }
50
- })
51
- ]
52
- })], []);
53
- return /* @__PURE__ */ l("div", {
54
- className: "space-y-4",
55
- children: [/* @__PURE__ */ c(t, {
56
- control: f.control,
57
- sections: p,
58
- columns: 1,
59
- submitLabel: d === "playground" ? "Save workspace" : void 0
60
- }), /* @__PURE__ */ c(e, {
61
- type: "button",
62
- variant: "outline",
63
- onClick: () => f.reset(),
64
- children: "Reset form"
65
- })]
66
- });
67
- }
68
- //#endregion
69
- export { d as FormBuilderShowcase };