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,5 +1,5 @@
1
1
  import * as React from "react"
2
- import { CalendarIcon } from "lucide-react"
2
+ import { CalendarIcon, XIcon } from "lucide-react"
3
3
 
4
4
  import { Calendar, type CalendarDateRange, type CalendarProps } from "@/components/calendar/calendar"
5
5
  import { Button } from "@/components/ui/button"
@@ -10,10 +10,17 @@ import { parseDateKey } from "./date-utils"
10
10
  export type DateRangePickerValue = CalendarDateRange
11
11
 
12
12
  export type DateRangePickerLabels = CalendarProps["labels"] & {
13
- placeholder?: string
14
- apply?: React.ReactNode
15
- clear?: React.ReactNode
16
- }
13
+ placeholder?: string
14
+ apply?: React.ReactNode
15
+ clear?: React.ReactNode
16
+ start?: string
17
+ end?: string
18
+ }
19
+
20
+ export type DateRangePickerPreset = {
21
+ label: React.ReactNode
22
+ value: DateRangePickerValue
23
+ }
17
24
 
18
25
  export type DateRangePickerProps = Omit<
19
26
  CalendarProps,
@@ -23,31 +30,41 @@ export type DateRangePickerProps = Omit<
23
30
  onValueChange?: (value: DateRangePickerValue) => void
24
31
  labels?: DateRangePickerLabels
25
32
  placeholder?: string
26
- disabled?: boolean
27
- formatValue?: (value: string) => React.ReactNode
28
- closeOnSelect?: boolean
29
- showFooter?: boolean
30
- triggerClassName?: string
31
- contentClassName?: string
32
- }
33
+ disabled?: boolean
34
+ clearable?: boolean
35
+ formatValue?: (value: string) => React.ReactNode
36
+ closeOnSelect?: boolean
37
+ closeOnPresetSelect?: boolean
38
+ showFooter?: boolean
39
+ presets?: DateRangePickerPreset[]
40
+ triggerClassName?: string
41
+ contentClassName?: string
42
+ }
33
43
 
34
- function defaultFormatValue(value: string) {
35
- const date = parseDateKey(value)
36
- if (!date) return value
37
- return new Intl.DateTimeFormat("en-US", { dateStyle: "medium" }).format(date)
38
- }
44
+ function defaultFormatValue(value: string) {
45
+ const date = parseDateKey(value)
46
+ if (!date) return value
47
+ return new Intl.DateTimeFormat("en-US", { dateStyle: "medium" }).format(date)
48
+ }
49
+
50
+ function getTextLabel(value: React.ReactNode, fallback: string) {
51
+ return typeof value === "string" ? value : fallback
52
+ }
39
53
 
40
54
  function DateRangePicker({
41
55
  className,
42
56
  value,
43
57
  onValueChange,
44
- labels,
45
- placeholder,
46
- disabled = false,
47
- formatValue = defaultFormatValue,
48
- closeOnSelect = true,
49
- showFooter = false,
50
- triggerClassName,
58
+ labels,
59
+ placeholder,
60
+ disabled = false,
61
+ clearable = true,
62
+ formatValue = defaultFormatValue,
63
+ closeOnSelect = false,
64
+ closeOnPresetSelect = false,
65
+ showFooter = true,
66
+ presets,
67
+ triggerClassName,
51
68
  contentClassName,
52
69
  numberOfMonths = 2,
53
70
  pagedNavigation = true,
@@ -98,16 +115,44 @@ function DateRangePicker({
98
115
  setOpen(false)
99
116
  }
100
117
 
101
- const clearDraftValue = () => {
102
- const nextValue = {}
118
+ const clearDraftValue = () => {
119
+ const nextValue = {}
103
120
 
104
121
  if (showFooter) {
105
122
  setDraftValue(nextValue)
106
123
  return
107
124
  }
108
125
 
109
- onValueChange?.(nextValue)
110
- }
126
+ onValueChange?.(nextValue)
127
+ }
128
+
129
+ const resetValue = () => {
130
+ const nextValue = {}
131
+ setDraftValue(nextValue)
132
+ onValueChange?.(nextValue)
133
+ }
134
+
135
+ const clearValue = (event: React.MouseEvent<HTMLElement>) => {
136
+ event.preventDefault()
137
+ event.stopPropagation()
138
+ resetValue()
139
+ }
140
+
141
+ const selectPreset = (presetValue: DateRangePickerValue) => {
142
+ if (showFooter) {
143
+ setDraftValue(presetValue)
144
+ if (closeOnPresetSelect) {
145
+ onValueChange?.(presetValue)
146
+ setOpen(false)
147
+ }
148
+ return
149
+ }
150
+
151
+ onValueChange?.(presetValue)
152
+ if ((closeOnSelect || closeOnPresetSelect) && presetValue.from && presetValue.to) {
153
+ setOpen(false)
154
+ }
155
+ }
111
156
 
112
157
  return (
113
158
  <div data-slot="date-range-picker" className={cn("w-full", className)}>
@@ -118,33 +163,93 @@ function DateRangePicker({
118
163
  type="button"
119
164
  variant="outline"
120
165
  disabled={disabled}
121
- className={cn(
122
- "min-h-11 w-full justify-start rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]",
123
- !hasValue && "text-muted-foreground",
124
- triggerClassName
125
- )}
126
- />
127
- }
128
- >
129
- <CalendarIcon data-icon="inline-start" />
130
- <span className="min-w-0 flex-1 truncate">{label}</span>
131
- </PopoverTrigger>
166
+ className={cn(
167
+ "group min-h-11 w-full justify-start gap-3 rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 px-3 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]",
168
+ !hasValue && "text-muted-foreground",
169
+ triggerClassName
170
+ )}
171
+ />
172
+ }
173
+ >
174
+ <CalendarIcon data-icon="inline-start" className={cn(hasValue && "text-primary")} />
175
+ {hasValue ? (
176
+ <span className="grid min-w-0 flex-1 grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-2">
177
+ <span className="grid min-w-0 gap-0.5">
178
+ <span className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">{labels?.start ?? "Start"}</span>
179
+ <span className="truncate text-sm font-semibold text-foreground">{from ? formatValue(from) : "..."}</span>
180
+ </span>
181
+ <span className="text-muted-foreground">-</span>
182
+ <span className="grid min-w-0 gap-0.5">
183
+ <span className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">{labels?.end ?? "End"}</span>
184
+ <span className="truncate text-sm font-semibold text-foreground">{to ? formatValue(to) : "..."}</span>
185
+ </span>
186
+ </span>
187
+ ) : (
188
+ <span className="grid min-w-0 flex-1 gap-0.5">
189
+ <span className="text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground">Range</span>
190
+ <span className="truncate text-sm">{label}</span>
191
+ </span>
192
+ )}
193
+ {clearable && hasValue ? (
194
+ <span
195
+ role="button"
196
+ tabIndex={0}
197
+ aria-label={getTextLabel(labels?.clear, "Clear date range")}
198
+ className="ml-auto inline-flex size-7 shrink-0 items-center justify-center rounded-[var(--radius-sm)] text-muted-foreground opacity-80 transition hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring"
199
+ onClick={clearValue}
200
+ onKeyDown={(event) => {
201
+ if (event.key === "Enter" || event.key === " ") {
202
+ event.preventDefault()
203
+ resetValue()
204
+ }
205
+ }}
206
+ >
207
+ <XIcon className="size-3.5" />
208
+ </span>
209
+ ) : null}
210
+ </PopoverTrigger>
132
211
  <PopoverContent
133
212
  align="start"
134
213
  className={cn(
135
214
  "w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur",
136
215
  contentClassName
137
216
  )}
138
- >
139
- <Calendar
140
- mode="range"
141
- range={activeValue}
142
- onRangeChange={handleRangeChange}
143
- labels={labels}
144
- numberOfMonths={numberOfMonths}
145
- pagedNavigation={pagedNavigation}
146
- {...calendarProps}
147
- />
217
+ >
218
+ {presets?.length ? (
219
+ <div className="flex flex-wrap gap-2 border-b border-border/70 bg-muted/20 px-3 py-3">
220
+ {presets.map((preset, index) => (
221
+ <Button
222
+ key={index}
223
+ type="button"
224
+ variant="outline"
225
+ size="sm"
226
+ className="h-7 rounded-full px-3 text-xs"
227
+ onClick={() => selectPreset(preset.value)}
228
+ >
229
+ {preset.label}
230
+ </Button>
231
+ ))}
232
+ </div>
233
+ ) : null}
234
+ <Calendar
235
+ mode="range"
236
+ range={activeValue}
237
+ onRangeChange={handleRangeChange}
238
+ labels={labels}
239
+ renderSelectionSummary={({ range }) => {
240
+ const fromValue = range?.from ? formatValue(range.from) : null
241
+ const toValue = range?.to ? formatValue(range.to) : null
242
+
243
+ if (fromValue && toValue) return `${fromValue} -> ${toValue}`
244
+ if (fromValue) return `${fromValue} -> ...`
245
+ return "No range selected"
246
+ }}
247
+ numberOfMonths={numberOfMonths}
248
+ pagedNavigation={pagedNavigation}
249
+ showClearShortcut={!showFooter && clearable}
250
+ showSelectionSummary
251
+ {...calendarProps}
252
+ />
148
253
  {showFooter && (
149
254
  <div className="flex flex-wrap items-center justify-between gap-3 border-t border-border/70 bg-muted/24 px-4 py-3">
150
255
  <div className="min-w-0 text-sm text-muted-foreground">
@@ -1,8 +1,8 @@
1
- import * as React from "react"
2
-
3
- import { SimpleSelect } from "@/components/inputs/simple-select"
4
- import { Pagination, type PaginationLabels } from "@/components/navigation/pagination"
5
- import { cn } from "@/lib/utils"
1
+ import * as React from "react"
2
+
3
+ import { Select } from "@/components/ui/select"
4
+ import { Pagination, type PaginationLabels } from "@/components/navigation/pagination"
5
+ import { cn } from "@/lib/utils"
6
6
 
7
7
  export type DataTablePaginationLabels = PaginationLabels & {
8
8
  rowsPerPage?: React.ReactNode
@@ -63,9 +63,9 @@ function DataTablePagination({
63
63
  {showPageSize && onPageSizeChange && (
64
64
  <div className="flex items-center gap-2 text-sm text-muted-foreground">
65
65
  <span>{labels?.rowsPerPage ?? "Rows per page"}</span>
66
- <SimpleSelect
66
+ <Select
67
67
  value={String(pageSize)}
68
- onValueChange={(value) => onPageSizeChange(Number(value))}
68
+ onValueChange={(value) => onPageSizeChange(Number(value))}
69
69
  options={pageSizeOptions.map((option) => ({
70
70
  label: String(option),
71
71
  value: String(option),
@@ -22,46 +22,55 @@ const dataTableToolbarVariants = cva("flex flex-col", {
22
22
  },
23
23
  })
24
24
 
25
- export type DataTableToolbarProps = React.ComponentProps<"div"> &
26
- VariantProps<typeof dataTableToolbarVariants> & {
27
- title?: React.ReactNode
28
- description?: React.ReactNode
29
- search?: React.ReactNode
30
- filters?: React.ReactNode
31
- actions?: React.ReactNode
32
- selectionActions?: React.ReactNode
33
- selectedCount?: number
34
- totalCount?: number
35
- selectedLabel?: (selectedCount: number, totalCount?: number) => React.ReactNode
36
- titleClassName?: string
37
- descriptionClassName?: string
38
- actionsClassName?: string
39
- }
25
+ export type DataTableToolbarProps = React.ComponentProps<"div"> &
26
+ VariantProps<typeof dataTableToolbarVariants> & {
27
+ title?: React.ReactNode
28
+ description?: React.ReactNode
29
+ search?: React.ReactNode
30
+ filters?: React.ReactNode
31
+ summary?: React.ReactNode
32
+ actions?: React.ReactNode
33
+ selectionActions?: React.ReactNode
34
+ selectedCount?: number
35
+ totalCount?: number
36
+ selectedLabel?: (selectedCount: number, totalCount?: number) => React.ReactNode
37
+ titleClassName?: string
38
+ descriptionClassName?: string
39
+ searchClassName?: string
40
+ filtersClassName?: string
41
+ summaryClassName?: string
42
+ actionsClassName?: string
43
+ }
40
44
 
41
45
  function DataTableToolbar({
42
46
  className,
43
47
  variant,
44
48
  density,
45
49
  title,
46
- description,
47
- search,
48
- filters,
49
- actions,
50
- selectionActions,
51
- selectedCount = 0,
52
- totalCount,
53
- selectedLabel = (selected, total) =>
54
- total === undefined ? `${selected} selected` : `${selected} of ${total} selected`,
55
- titleClassName,
56
- descriptionClassName,
57
- actionsClassName,
58
- children,
59
- ...props
60
- }: DataTableToolbarProps) {
61
- const hasHeading = Boolean(title || description)
62
- const hasSelection = selectedCount > 0 && Boolean(selectionActions)
63
-
64
- return (
50
+ description,
51
+ search,
52
+ filters,
53
+ summary,
54
+ actions,
55
+ selectionActions,
56
+ selectedCount = 0,
57
+ totalCount,
58
+ selectedLabel = (selected, total) =>
59
+ total === undefined ? `${selected} selected` : `${selected} of ${total} selected`,
60
+ titleClassName,
61
+ descriptionClassName,
62
+ searchClassName,
63
+ filtersClassName,
64
+ summaryClassName,
65
+ actionsClassName,
66
+ children,
67
+ ...props
68
+ }: DataTableToolbarProps) {
69
+ const hasHeading = Boolean(title || description)
70
+ const hasSelection = selectedCount > 0 && Boolean(selectionActions)
71
+ const hasMainControls = Boolean(search || filters || children)
72
+
73
+ return (
65
74
  <div
66
75
  data-slot="data-table-toolbar"
67
76
  data-variant={variant ?? "plain"}
@@ -69,8 +78,8 @@ function DataTableToolbar({
69
78
  className={cn(dataTableToolbarVariants({ variant, density }), className)}
70
79
  {...props}
71
80
  >
72
- {(hasHeading || actions) && (
73
- <div className="flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between">
81
+ {(hasHeading || actions) && (
82
+ <div className="flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between">
74
83
  {hasHeading && (
75
84
  <div className="grid gap-1">
76
85
  {title && <h2 className={cn("text-lg font-semibold tracking-tight text-foreground", titleClassName)}>{title}</h2>}
@@ -78,24 +87,36 @@ function DataTableToolbar({
78
87
  </div>
79
88
  )}
80
89
 
81
- {actions && <div className={cn("flex shrink-0 flex-wrap items-center gap-2", actionsClassName)}>{actions}</div>}
82
- </div>
83
- )}
84
-
85
- {(search || filters || hasSelection || children) && (
86
- <div className="flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between">
87
- <div className="flex min-w-0 flex-1 flex-col gap-2 sm:flex-row sm:items-center">
88
- {search}
89
- {filters}
90
- {children}
91
- </div>
92
-
90
+ {actions && <div className={cn("flex min-w-0 shrink-0 flex-wrap items-center gap-2 xl:justify-end", actionsClassName)}>{actions}</div>}
91
+ </div>
92
+ )}
93
+
94
+ {(hasMainControls || summary || hasSelection) && (
95
+ <div className="flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between">
96
+ <div className="flex min-w-0 flex-1 flex-col gap-3">
97
+ {hasMainControls && (
98
+ <div className="flex min-w-0 flex-1 flex-col gap-2 lg:flex-row lg:flex-wrap lg:items-center">
99
+ {search ? <div className={cn("min-w-[16rem] max-w-xl flex-1", searchClassName)}>{search}</div> : null}
100
+ {filters ? <div className={cn("flex min-w-0 flex-1 flex-wrap items-center gap-2", filtersClassName)}>{filters}</div> : null}
101
+ {children}
102
+ </div>
103
+ )}
104
+ {summary ? (
105
+ <div
106
+ data-slot="data-table-summary"
107
+ className={cn("flex flex-wrap items-center gap-2 text-sm text-muted-foreground", summaryClassName)}
108
+ >
109
+ {summary}
110
+ </div>
111
+ ) : null}
112
+ </div>
113
+
93
114
  {hasSelection && (
94
- <div data-slot="data-table-selection-bar" className="flex shrink-0 items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-2.5 py-1.5 text-sm shadow-[var(--aui-control-shadow,none)] backdrop-blur">
115
+ <div data-slot="data-table-selection-bar" className="flex shrink-0 flex-wrap items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-2.5 py-1.5 text-sm shadow-[var(--aui-control-shadow,none)] backdrop-blur">
95
116
  <span className="text-muted-foreground">{selectedLabel(selectedCount, totalCount)}</span>
96
117
  {selectionActions}
97
118
  </div>
98
- )}
119
+ )}
99
120
  </div>
100
121
  )}
101
122
  </div>