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,40 +1,77 @@
1
1
  import * as React from "react"
2
- import { SlidersHorizontalIcon, XIcon } from "lucide-react"
2
+ import { SlidersHorizontalIcon, XIcon } from "lucide-react"
3
+
4
+ import { Badge } from "@/components/ui/badge"
5
+ import { Button } from "@/components/ui/button"
6
+ import { cn, stopInteractivePropagation } from "@/lib/utils"
7
+
8
+ export type FilterBarChip = {
9
+ key: string
10
+ label: React.ReactNode
11
+ value?: React.ReactNode
12
+ tone?: "default" | "success" | "warning" | "danger" | "info" | "muted"
13
+ disabled?: boolean
14
+ hidden?: boolean
15
+ }
3
16
 
4
- import { Button } from "@/components/ui/button"
5
- import { cn } from "@/lib/utils"
6
-
7
- export type FilterBarProps = React.ComponentProps<"div"> & {
17
+ export type FilterBarProps = React.ComponentProps<"div"> & {
8
18
  search?: React.ReactNode
9
19
  filters?: React.ReactNode
10
- actions?: React.ReactNode
11
- activeCount?: number
12
- activeLabel?: (count: number) => React.ReactNode
13
- resetLabel?: React.ReactNode
14
- onReset?: () => void
15
- collapsible?: boolean
16
- defaultExpanded?: boolean
17
- }
20
+ actions?: React.ReactNode
21
+ chips?: FilterBarChip[]
22
+ activeCount?: number
23
+ activeLabel?: (count: number) => React.ReactNode
24
+ resetLabel?: React.ReactNode
25
+ clearChipLabel?: React.ReactNode
26
+ onReset?: () => void
27
+ onRemoveChip?: (key: string) => void
28
+ collapsible?: boolean
29
+ defaultExpanded?: boolean
30
+ emptyChips?: React.ReactNode
31
+ chipLimit?: number
32
+ chipOverflowLabel?: (hiddenCount: number) => React.ReactNode
33
+ }
34
+
35
+ const chipVariant: Record<NonNullable<FilterBarChip["tone"]>, React.ComponentProps<typeof Badge>["variant"]> = {
36
+ default: "secondary",
37
+ success: "secondary",
38
+ warning: "outline",
39
+ danger: "destructive",
40
+ info: "outline",
41
+ muted: "outline",
42
+ }
18
43
 
19
44
  function FilterBar({
20
45
  className,
21
- search,
22
- filters,
23
- actions,
24
- activeCount = 0,
25
- activeLabel = (count) => `${count} active`,
26
- resetLabel = "Reset",
27
- onReset,
28
- collapsible = false,
29
- defaultExpanded = false,
30
- children,
31
- ...props
32
- }: FilterBarProps) {
33
- const [expanded, setExpanded] = React.useState(defaultExpanded)
34
- const hasFilters = Boolean(filters || children)
35
- const shouldShowFilters = !collapsible || expanded
36
-
37
- return (
46
+ search,
47
+ filters,
48
+ actions,
49
+ chips,
50
+ activeCount,
51
+ activeLabel = (count) => `${count} active`,
52
+ resetLabel = "Reset",
53
+ clearChipLabel,
54
+ onReset,
55
+ onRemoveChip,
56
+ collapsible = false,
57
+ defaultExpanded = false,
58
+ emptyChips,
59
+ chipLimit,
60
+ chipOverflowLabel = (hiddenCount) => `+${hiddenCount} more`,
61
+ children,
62
+ ...props
63
+ }: FilterBarProps) {
64
+ const [expanded, setExpanded] = React.useState(defaultExpanded)
65
+ const visibleChips = chips?.filter((chip) => !chip.hidden) ?? []
66
+ const renderedChips = chipLimit && chipLimit > 0 ? visibleChips.slice(0, chipLimit) : visibleChips
67
+ const hiddenChipCount = Math.max(visibleChips.length - renderedChips.length, 0)
68
+ const resolvedActiveCount = activeCount ?? visibleChips.length
69
+ const hasFilters = Boolean(filters || children)
70
+ const hasChips = Boolean(chips)
71
+ const shouldShowFilters = !collapsible || expanded
72
+ const shouldShowChipRow = visibleChips.length > 0 || (hasChips && emptyChips)
73
+
74
+ return (
38
75
  <div
39
76
  data-slot="filter-bar"
40
77
  className={cn("flex flex-col gap-3 rounded-lg border bg-card p-3", className)}
@@ -51,25 +88,25 @@ function FilterBar({
51
88
  size="sm"
52
89
  onClick={() => setExpanded((value) => !value)}
53
90
  >
54
- <SlidersHorizontalIcon data-icon="inline-start" />
55
- Filters
56
- {activeCount > 0 && (
57
- <span className="ml-1 rounded-full bg-background px-1.5 text-xs">
58
- {activeCount}
59
- </span>
60
- )}
61
- </Button>
91
+ <SlidersHorizontalIcon data-icon="inline-start" />
92
+ Filters
93
+ {resolvedActiveCount > 0 && (
94
+ <span className="ml-1 rounded-full bg-background px-1.5 text-xs">
95
+ {resolvedActiveCount}
96
+ </span>
97
+ )}
98
+ </Button>
62
99
  )}
63
100
  </div>
64
-
65
- <div className="flex shrink-0 flex-wrap items-center gap-2">
66
- {activeCount > 0 && (
67
- <span className="text-sm text-muted-foreground">{activeLabel(activeCount)}</span>
68
- )}
69
- {activeCount > 0 && onReset && (
70
- <Button type="button" variant="ghost" size="sm" onClick={onReset}>
71
- <XIcon data-icon="inline-start" />
72
- {resetLabel}
101
+
102
+ <div className="flex shrink-0 flex-wrap items-center gap-2">
103
+ {resolvedActiveCount > 0 && (
104
+ <span className="text-sm text-muted-foreground">{activeLabel(resolvedActiveCount)}</span>
105
+ )}
106
+ {resolvedActiveCount > 0 && onReset && (
107
+ <Button type="button" variant="ghost" size="sm" onClick={onReset}>
108
+ <XIcon data-icon="inline-start" />
109
+ {resetLabel}
73
110
  </Button>
74
111
  )}
75
112
  {actions}
@@ -78,12 +115,47 @@ function FilterBar({
78
115
 
79
116
  {hasFilters && shouldShowFilters && (
80
117
  <div className="flex flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center">
81
- {filters}
82
- {children}
83
- </div>
84
- )}
85
- </div>
86
- )
87
- }
118
+ {filters}
119
+ {children}
120
+ </div>
121
+ )}
122
+
123
+ {shouldShowChipRow && (
124
+ <div data-slot="filter-bar-chips" className="flex flex-wrap items-center gap-2">
125
+ {visibleChips.length > 0 ? (
126
+ <>
127
+ {renderedChips.map((chip) => (
128
+ <Badge key={chip.key} variant={chipVariant[chip.tone ?? "default"]} className={cn("gap-1.5", chip.disabled && "opacity-60")}>
129
+ <span>{chip.label}</span>
130
+ {chip.value !== undefined && <span className="text-muted-foreground">{chip.value}</span>}
131
+ {onRemoveChip && !chip.disabled && (
132
+ <button
133
+ type="button"
134
+ aria-label={typeof clearChipLabel === "string" ? clearChipLabel : "Remove filter"}
135
+ className="rounded-full p-0.5 hover:bg-muted"
136
+ onClick={(event) => {
137
+ stopInteractivePropagation(event)
138
+ onRemoveChip(chip.key)
139
+ }}
140
+ onMouseDown={stopInteractivePropagation}
141
+ onDoubleClick={stopInteractivePropagation}
142
+ >
143
+ <XIcon className="size-3" />
144
+ </button>
145
+ )}
146
+ </Badge>
147
+ ))}
148
+ {hiddenChipCount > 0 ? (
149
+ <Badge variant="outline">{chipOverflowLabel(hiddenChipCount)}</Badge>
150
+ ) : null}
151
+ </>
152
+ ) : (
153
+ <span className="text-sm text-muted-foreground">{emptyChips}</span>
154
+ )}
155
+ </div>
156
+ )}
157
+ </div>
158
+ )
159
+ }
88
160
 
89
161
  export { FilterBar }
@@ -1,3 +1,2 @@
1
- export * from "./filter-chips"
2
1
  export * from "./filter-bar"
3
2
  export * from "./saved-filter-select"
@@ -6,16 +6,19 @@ import { cn } from "@/lib/utils"
6
6
  export type FormFieldLayout = "vertical" | "horizontal" | "inline"
7
7
  export type FormFieldDescriptionPosition = "top" | "bottom"
8
8
 
9
- export type FormFieldShellProps = React.ComponentProps<"div"> & {
10
- label?: React.ReactNode
11
- description?: React.ReactNode
12
- error?: React.ReactNode
13
- required?: boolean
14
- htmlFor?: string
15
- layout?: FormFieldLayout
16
- descriptionPosition?: FormFieldDescriptionPosition
17
- labelAction?: React.ReactNode
18
- requiredIndicator?: React.ReactNode
9
+ export type FormFieldShellProps = React.ComponentProps<"div"> & {
10
+ label?: React.ReactNode
11
+ description?: React.ReactNode
12
+ error?: React.ReactNode
13
+ required?: boolean
14
+ htmlFor?: string
15
+ labelId?: string
16
+ descriptionId?: string
17
+ errorId?: string
18
+ layout?: FormFieldLayout
19
+ descriptionPosition?: FormFieldDescriptionPosition
20
+ labelAction?: React.ReactNode
21
+ requiredIndicator?: React.ReactNode
19
22
  errorIcon?: React.ReactNode
20
23
  showErrorIcon?: boolean
21
24
  disabled?: boolean
@@ -29,14 +32,18 @@ export type FormFieldShellProps = React.ComponentProps<"div"> & {
29
32
 
30
33
  export type FormFieldShellControlProps = Pick<
31
34
  FormFieldShellProps,
32
- | "label"
33
- | "description"
34
- | "required"
35
- | "className"
36
- | "layout"
37
- | "descriptionPosition"
38
- | "labelAction"
39
- | "requiredIndicator"
35
+ | "label"
36
+ | "description"
37
+ | "required"
38
+ | "className"
39
+ | "htmlFor"
40
+ | "labelId"
41
+ | "descriptionId"
42
+ | "errorId"
43
+ | "layout"
44
+ | "descriptionPosition"
45
+ | "labelAction"
46
+ | "requiredIndicator"
40
47
  | "errorIcon"
41
48
  | "showErrorIcon"
42
49
  | "disabled"
@@ -45,9 +52,32 @@ export type FormFieldShellControlProps = Pick<
45
52
  | "labelRowClassName"
46
53
  | "descriptionClassName"
47
54
  | "errorClassName"
48
- | "contentClassName"
49
- >
50
-
55
+ | "contentClassName"
56
+ >
57
+
58
+ export type FormFieldMessageState = {
59
+ description?: React.ReactNode
60
+ error?: React.ReactNode
61
+ }
62
+
63
+ export type FormFieldResolvedIds = {
64
+ labelId: string
65
+ descriptionId: string
66
+ errorId: string
67
+ describedBy?: string
68
+ }
69
+
70
+ function resolveFormFieldIds(id: string, state: FormFieldMessageState = {}): FormFieldResolvedIds {
71
+ const labelId = `${id}-label`
72
+ const descriptionId = `${id}-description`
73
+ const errorId = `${id}-error`
74
+ const describedBy = [state.description ? descriptionId : null, state.error ? errorId : null]
75
+ .filter(Boolean)
76
+ .join(" ") || undefined
77
+
78
+ return { labelId, descriptionId, errorId, describedBy }
79
+ }
80
+
51
81
  const layoutClassName: Record<FormFieldLayout, string> = {
52
82
  vertical: "grid gap-2",
53
83
  horizontal: "grid gap-2 sm:grid-cols-[minmax(0,12rem)_1fr] sm:items-start sm:gap-5",
@@ -58,12 +88,15 @@ function FormFieldShell({
58
88
  className,
59
89
  label,
60
90
  description,
61
- error,
62
- required = false,
63
- htmlFor,
64
- layout = "vertical",
65
- descriptionPosition = "top",
66
- labelAction,
91
+ error,
92
+ required = false,
93
+ htmlFor,
94
+ labelId,
95
+ descriptionId,
96
+ errorId,
97
+ layout = "vertical",
98
+ descriptionPosition = "top",
99
+ labelAction,
67
100
  requiredIndicator = <span className="ml-1 text-destructive">*</span>,
68
101
  errorIcon,
69
102
  showErrorIcon = true,
@@ -92,9 +125,10 @@ function FormFieldShell({
92
125
  )}
93
126
  >
94
127
  {label ? (
95
- <label
96
- data-slot="form-field-label"
97
- htmlFor={htmlFor}
128
+ <label
129
+ data-slot="form-field-label"
130
+ htmlFor={htmlFor}
131
+ id={labelId}
98
132
  className={cn(
99
133
  "min-w-0 text-sm font-semibold leading-none tracking-tight text-foreground",
100
134
  disabled && "cursor-not-allowed opacity-60",
@@ -117,9 +151,10 @@ function FormFieldShell({
117
151
  </div>
118
152
  ) : null
119
153
 
120
- const descriptionNode = description ? (
154
+ const descriptionNode = description ? (
121
155
  <p
122
156
  data-slot="form-field-description"
157
+ id={descriptionId}
123
158
  className={cn("text-sm leading-6 text-muted-foreground", disabled && "opacity-60", descriptionClassName)}
124
159
  >
125
160
  {description}
@@ -135,6 +170,9 @@ function FormFieldShell({
135
170
  const errorNode = error ? (
136
171
  <p
137
172
  data-slot="form-field-error"
173
+ id={errorId}
174
+ role="alert"
175
+ aria-live="polite"
138
176
  className={cn(
139
177
  "flex items-start gap-2 rounded-[min(var(--radius-xl),16px)] border border-destructive/18 bg-destructive/8 px-3 py-2 text-sm font-medium leading-6 text-destructive",
140
178
  errorClassName
@@ -189,6 +227,6 @@ function FormFieldShell({
189
227
  )}
190
228
  </div>
191
229
  )
192
- }
193
-
194
- export { FormFieldShell }
230
+ }
231
+
232
+ export { FormFieldShell, resolveFormFieldIds }