tembro 2.0.4 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/dist/components/actions/action-menu.cjs +1 -1
  2. package/dist/components/actions/action-menu.d.ts +13 -1
  3. package/dist/components/actions/action-menu.js +87 -61
  4. package/dist/components/actions/button-group.cjs +1 -1
  5. package/dist/components/actions/button-group.d.ts +9 -1
  6. package/dist/components/actions/button-group.js +58 -14
  7. package/dist/components/actions/copy-button.cjs +1 -1
  8. package/dist/components/actions/copy-button.d.ts +2 -1
  9. package/dist/components/actions/copy-button.js +13 -11
  10. package/dist/components/calendar/calendar.cjs +1 -1
  11. package/dist/components/calendar/calendar.d.ts +14 -1
  12. package/dist/components/calendar/calendar.js +207 -128
  13. package/dist/components/calendar/date-picker.cjs +1 -1
  14. package/dist/components/calendar/date-picker.d.ts +3 -1
  15. package/dist/components/calendar/date-picker.js +57 -27
  16. package/dist/components/calendar/date-range-picker.cjs +1 -1
  17. package/dist/components/calendar/date-range-picker.d.ts +10 -1
  18. package/dist/components/calendar/date-range-picker.js +149 -64
  19. package/dist/components/data-table/data-table-toolbar.cjs +1 -1
  20. package/dist/components/data-table/data-table-toolbar.d.ts +5 -1
  21. package/dist/components/data-table/data-table-toolbar.js +36 -23
  22. package/dist/components/data-table/data-table.cjs +1 -1
  23. package/dist/components/data-table/data-table.d.ts +6 -4
  24. package/dist/components/data-table/data-table.js +87 -79
  25. package/dist/components/data-table/demo.cjs +1 -1
  26. package/dist/components/data-table/demo.js +3 -13
  27. package/dist/components/data-table/index.cjs +1 -1
  28. package/dist/components/data-table/index.js +5 -5
  29. package/dist/components/data-table/public.cjs +1 -1
  30. package/dist/components/data-table/public.d.ts +1 -6
  31. package/dist/components/data-table/public.js +7 -12
  32. package/dist/components/display/activity-feed.cjs +1 -1
  33. package/dist/components/display/activity-feed.d.ts +12 -1
  34. package/dist/components/display/activity-feed.js +69 -47
  35. package/dist/components/display/carousel.cjs +1 -1
  36. package/dist/components/display/carousel.d.ts +10 -1
  37. package/dist/components/display/carousel.js +68 -23
  38. package/dist/components/display/code-block.cjs +2 -1
  39. package/dist/components/display/code-block.d.ts +3 -1
  40. package/dist/components/display/code-block.js +33 -19
  41. package/dist/components/display/comparison-card.cjs +1 -1
  42. package/dist/components/display/comparison-card.d.ts +3 -3
  43. package/dist/components/display/comparison-card.js +14 -38
  44. package/dist/components/display/data-state.cjs +1 -1
  45. package/dist/components/display/data-state.d.ts +12 -2
  46. package/dist/components/display/data-state.js +80 -42
  47. package/dist/components/display/demo.cjs +1 -1
  48. package/dist/components/display/demo.js +1 -5
  49. package/dist/components/display/index.cjs +1 -1
  50. package/dist/components/display/index.d.ts +0 -3
  51. package/dist/components/display/index.js +21 -24
  52. package/dist/components/feedback/alert.cjs +1 -1
  53. package/dist/components/feedback/alert.d.ts +6 -1
  54. package/dist/components/feedback/alert.js +49 -19
  55. package/dist/components/feedback/index.cjs +1 -1
  56. package/dist/components/feedback/index.d.ts +0 -2
  57. package/dist/components/feedback/index.js +3 -5
  58. package/dist/components/filters/demo.cjs +1 -1
  59. package/dist/components/filters/demo.js +1 -5
  60. package/dist/components/filters/filter-bar.cjs +1 -1
  61. package/dist/components/filters/filter-bar.d.ts +15 -1
  62. package/dist/components/filters/filter-bar.js +94 -50
  63. package/dist/components/filters/index.cjs +1 -1
  64. package/dist/components/filters/index.d.ts +0 -1
  65. package/dist/components/filters/index.js +3 -4
  66. package/dist/components/form/form-field-shell.cjs +1 -1
  67. package/dist/components/form/form-field-shell.d.ts +17 -3
  68. package/dist/components/form/form-field-shell.js +54 -40
  69. package/dist/components/form/form-input.cjs +1 -1
  70. package/dist/components/form/form-input.js +278 -217
  71. package/dist/components/form/form-select.cjs +1 -1
  72. package/dist/components/form/form-select.js +47 -33
  73. package/dist/components/form/form-switch.cjs +1 -1
  74. package/dist/components/form/form-switch.js +79 -66
  75. package/dist/components/form/form-textarea.cjs +1 -1
  76. package/dist/components/form/form-textarea.js +59 -48
  77. package/dist/components/form/index.cjs +1 -1
  78. package/dist/components/form/index.js +14 -14
  79. package/dist/components/form/public.cjs +1 -1
  80. package/dist/components/form/public.d.ts +0 -8
  81. package/dist/components/form/public.js +7 -15
  82. package/dist/components/inputs/async-select.cjs +1 -1
  83. package/dist/components/inputs/async-select.d.ts +11 -2
  84. package/dist/components/inputs/async-select.js +278 -270
  85. package/dist/components/inputs/combobox.cjs +1 -1
  86. package/dist/components/inputs/combobox.d.ts +5 -1
  87. package/dist/components/inputs/combobox.js +52 -19
  88. package/dist/components/inputs/simple-select.cjs +1 -1
  89. package/dist/components/inputs/simple-select.d.ts +2 -1
  90. package/dist/components/inputs/simple-select.js +32 -16
  91. package/dist/components/layout/app-sidebar.cjs +1 -1
  92. package/dist/components/layout/app-sidebar.d.ts +4 -1
  93. package/dist/components/layout/app-sidebar.js +152 -132
  94. package/dist/components/layout/breadcrumbs.cjs +1 -1
  95. package/dist/components/layout/breadcrumbs.d.ts +2 -1
  96. package/dist/components/layout/breadcrumbs.js +10 -10
  97. package/dist/components/layout/index.cjs +1 -1
  98. package/dist/components/layout/index.js +3 -3
  99. package/dist/components/layout/stat-card.cjs +1 -1
  100. package/dist/components/layout/stat-card.d.ts +8 -1
  101. package/dist/components/layout/stat-card.js +33 -11
  102. package/dist/components/modern/calendar-scheduler.cjs +1 -1
  103. package/dist/components/modern/calendar-scheduler.d.ts +2 -1
  104. package/dist/components/modern/calendar-scheduler.js +21 -12
  105. package/dist/components/overlay/alert-dialog.cjs +1 -1
  106. package/dist/components/overlay/alert-dialog.d.ts +15 -1
  107. package/dist/components/overlay/alert-dialog.js +102 -27
  108. package/dist/components/overlay/drawer.cjs +1 -1
  109. package/dist/components/overlay/drawer.d.ts +4 -1
  110. package/dist/components/overlay/drawer.js +20 -17
  111. package/dist/components/patterns/index.cjs +1 -1
  112. package/dist/components/patterns/index.d.ts +0 -1
  113. package/dist/components/patterns/index.js +1 -2
  114. package/dist/components/patterns/public.cjs +1 -1
  115. package/dist/components/patterns/public.d.ts +0 -1
  116. package/dist/components/patterns/public.js +1 -2
  117. package/dist/components/ui/button/index.cjs +1 -1
  118. package/dist/components/ui/button/index.d.ts +3 -1
  119. package/dist/components/ui/button/index.js +7 -5
  120. package/dist/components/ui/checkbox/index.cjs +1 -1
  121. package/dist/components/ui/checkbox/index.d.ts +8 -0
  122. package/dist/components/ui/checkbox/index.js +16 -14
  123. package/dist/components/ui/collapse/index.cjs +1 -1
  124. package/dist/components/ui/collapse/index.d.ts +17 -3
  125. package/dist/components/ui/collapse/index.js +88 -33
  126. package/dist/components/ui/dialog/index.cjs +1 -1
  127. package/dist/components/ui/dialog/index.d.ts +2 -1
  128. package/dist/components/ui/dialog/index.js +6 -4
  129. package/dist/components/ui/dropdown-menu/index.cjs +1 -1
  130. package/dist/components/ui/dropdown-menu/index.d.ts +9 -4
  131. package/dist/components/ui/dropdown-menu/index.js +87 -62
  132. package/dist/index.cjs +1 -1
  133. package/dist/index.js +137 -156
  134. package/dist/public-component-surface.cjs +1 -1
  135. package/dist/public-component-surface.js +0 -15
  136. package/dist/showcase/component-api-schema.cjs +1 -1
  137. package/dist/showcase/component-api-schema.js +2 -2
  138. package/dist/showcase/create-demo.cjs +20 -34
  139. package/dist/showcase/create-demo.js +15 -16
  140. package/dist/showcase/fallback.cjs +3 -3
  141. package/dist/showcase/fallback.js +275 -265
  142. package/dist/showcase/premium/accordion/showcase.cjs +1 -1
  143. package/dist/showcase/premium/accordion/showcase.js +36 -5
  144. package/dist/showcase/premium/action-menu/showcase.cjs +1 -1
  145. package/dist/showcase/premium/action-menu/showcase.js +26 -8
  146. package/dist/showcase/premium/activity-feed/showcase.cjs +1 -1
  147. package/dist/showcase/premium/activity-feed/showcase.js +60 -36
  148. package/dist/showcase/premium/alert/showcase.cjs +1 -1
  149. package/dist/showcase/premium/alert/showcase.js +41 -18
  150. package/dist/showcase/premium/alert-dialog/showcase.cjs +1 -1
  151. package/dist/showcase/premium/alert-dialog/showcase.js +35 -7
  152. package/dist/showcase/premium/async-multi-select/mock.cjs +4 -3
  153. package/dist/showcase/premium/async-multi-select/mock.js +5 -5
  154. package/dist/showcase/premium/async-multi-select/showcase.cjs +1 -1
  155. package/dist/showcase/premium/async-multi-select/showcase.js +4 -3
  156. package/dist/showcase/premium/async-select/mock.cjs +1 -1
  157. package/dist/showcase/premium/async-select/mock.js +1 -1
  158. package/dist/showcase/premium/async-select/showcase.cjs +1 -1
  159. package/dist/showcase/premium/async-select/showcase.js +69 -22
  160. package/dist/showcase/premium/button/showcase.cjs +1 -1
  161. package/dist/showcase/premium/button/showcase.js +49 -3
  162. package/dist/showcase/premium/button-group/showcase.cjs +1 -1
  163. package/dist/showcase/premium/button-group/showcase.js +53 -29
  164. package/dist/showcase/premium/calendar/showcase.cjs +1 -1
  165. package/dist/showcase/premium/calendar/showcase.js +7 -2
  166. package/dist/showcase/premium/carousel/showcase.cjs +1 -1
  167. package/dist/showcase/premium/carousel/showcase.js +95 -47
  168. package/dist/showcase/premium/checkbox/showcase.cjs +1 -1
  169. package/dist/showcase/premium/checkbox/showcase.js +143 -67
  170. package/dist/showcase/premium/clearable-input/mock.cjs +4 -3
  171. package/dist/showcase/premium/clearable-input/mock.js +3 -2
  172. package/dist/showcase/premium/clearable-input/showcase.cjs +1 -1
  173. package/dist/showcase/premium/clearable-input/showcase.js +8 -2
  174. package/dist/showcase/premium/collapse/showcase.cjs +1 -1
  175. package/dist/showcase/premium/collapse/showcase.js +7 -0
  176. package/dist/showcase/premium/combobox/showcase.cjs +1 -1
  177. package/dist/showcase/premium/combobox/showcase.d.ts +2 -1
  178. package/dist/showcase/premium/combobox/showcase.js +56 -47
  179. package/dist/showcase/premium/data-table/showcase.cjs +1 -1
  180. package/dist/showcase/premium/data-table/showcase.js +138 -46
  181. package/dist/showcase/premium/data-table-parts/showcase.cjs +1 -1
  182. package/dist/showcase/premium/data-table-parts/showcase.js +13 -13
  183. package/dist/showcase/premium/date-input/mock.cjs +1 -1
  184. package/dist/showcase/premium/date-input/mock.js +1 -1
  185. package/dist/showcase/premium/date-range-picker/showcase.cjs +1 -1
  186. package/dist/showcase/premium/date-range-picker/showcase.js +32 -1
  187. package/dist/showcase/premium/dropdown-menu/showcase.cjs +1 -1
  188. package/dist/showcase/premium/dropdown-menu/showcase.js +88 -54
  189. package/dist/showcase/premium/form-wrapper/mock.cjs +41 -15
  190. package/dist/showcase/premium/form-wrapper/mock.js +4 -4
  191. package/dist/showcase/premium/form-wrapper/showcase.cjs +1 -1
  192. package/dist/showcase/premium/form-wrapper/showcase.js +77 -28
  193. package/dist/showcase/premium/index.cjs +1 -1
  194. package/dist/showcase/premium/index.js +426 -467
  195. package/dist/showcase/premium/input/mock.cjs +4 -1
  196. package/dist/showcase/premium/input/mock.js +1 -1
  197. package/dist/showcase/premium/masked-input/mock.cjs +1 -1
  198. package/dist/showcase/premium/masked-input/mock.js +1 -1
  199. package/dist/showcase/premium/money-input/mock.cjs +1 -1
  200. package/dist/showcase/premium/money-input/mock.js +1 -1
  201. package/dist/showcase/premium/number-input/mock.cjs +1 -1
  202. package/dist/showcase/premium/number-input/mock.js +1 -1
  203. package/dist/showcase/premium/phone-input/mock.cjs +1 -1
  204. package/dist/showcase/premium/phone-input/mock.js +1 -1
  205. package/dist/showcase/premium/quantity-input/mock.cjs +1 -1
  206. package/dist/showcase/premium/quantity-input/mock.js +1 -1
  207. package/dist/showcase/premium/simple-select/mock.cjs +1 -1
  208. package/dist/showcase/premium/simple-select/mock.js +1 -1
  209. package/dist/showcase/premium/simple-select/showcase.cjs +1 -1
  210. package/dist/showcase/premium/simple-select/showcase.js +4 -2
  211. package/dist/showcase/preview-catalog.cjs +7 -10
  212. package/dist/showcase/preview-catalog.js +7 -7
  213. package/dist/showcase/registry-quality.cjs +1 -1
  214. package/dist/showcase/registry-quality.js +0 -23
  215. package/dist/showcase/registry-specific.cjs +1 -1
  216. package/dist/showcase/registry-specific.js +149 -383
  217. package/dist/showcase/render-registry-preview.cjs +1 -1
  218. package/dist/showcase/render-registry-preview.js +163 -195
  219. package/dist/showcase/site-data.cjs +1 -1
  220. package/dist/showcase/site-data.js +197 -941
  221. package/dist/showcase/supplemental.cjs +1 -1
  222. package/dist/showcase/supplemental.js +1 -1
  223. package/dist/showcase/tembro-registry.json.cjs +1 -1
  224. package/dist/showcase/tembro-registry.json.js +33 -51
  225. package/package.json +1 -1
  226. package/packages/cli/dist/index.cjs +2 -2
  227. package/packages/cli/vendor/src/components/actions/action-menu.tsx +149 -83
  228. package/packages/cli/vendor/src/components/actions/button-group.tsx +141 -33
  229. package/packages/cli/vendor/src/components/actions/copy-button.tsx +21 -16
  230. package/packages/cli/vendor/src/components/calendar/calendar.tsx +223 -88
  231. package/packages/cli/vendor/src/components/calendar/date-picker.tsx +73 -29
  232. package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +154 -49
  233. package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +71 -50
  234. package/packages/cli/vendor/src/components/data-table/data-table.tsx +65 -53
  235. package/packages/cli/vendor/src/components/data-table/demo.tsx +2 -12
  236. package/packages/cli/vendor/src/components/data-table/public.ts +1 -6
  237. package/packages/cli/vendor/src/components/display/activity-feed.tsx +98 -40
  238. package/packages/cli/vendor/src/components/display/carousel.tsx +88 -2
  239. package/packages/cli/vendor/src/components/display/code-block.tsx +58 -26
  240. package/packages/cli/vendor/src/components/display/comparison-card.tsx +15 -41
  241. package/packages/cli/vendor/src/components/display/data-state.tsx +119 -50
  242. package/packages/cli/vendor/src/components/display/demo.tsx +0 -4
  243. package/packages/cli/vendor/src/components/display/index.ts +0 -3
  244. package/packages/cli/vendor/src/components/feedback/alert.tsx +86 -28
  245. package/packages/cli/vendor/src/components/feedback/index.ts +0 -2
  246. package/packages/cli/vendor/src/components/filters/demo.tsx +0 -1
  247. package/packages/cli/vendor/src/components/filters/filter-bar.tsx +126 -54
  248. package/packages/cli/vendor/src/components/filters/index.ts +0 -1
  249. package/packages/cli/vendor/src/components/form/form-field-shell.tsx +72 -34
  250. package/packages/cli/vendor/src/components/form/form-input.tsx +118 -11
  251. package/packages/cli/vendor/src/components/form/form-select.tsx +26 -3
  252. package/packages/cli/vendor/src/components/form/form-switch.tsx +77 -58
  253. package/packages/cli/vendor/src/components/form/form-textarea.tsx +65 -51
  254. package/packages/cli/vendor/src/components/form/public.ts +0 -9
  255. package/packages/cli/vendor/src/components/inputs/async-select.tsx +126 -82
  256. package/packages/cli/vendor/src/components/inputs/combobox.tsx +66 -9
  257. package/packages/cli/vendor/src/components/inputs/simple-select.tsx +52 -24
  258. package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +42 -1
  259. package/packages/cli/vendor/src/components/layout/breadcrumbs.tsx +17 -8
  260. package/packages/cli/vendor/src/components/layout/stat-card.tsx +63 -23
  261. package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +32 -22
  262. package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +148 -24
  263. package/packages/cli/vendor/src/components/overlay/drawer.tsx +42 -30
  264. package/packages/cli/vendor/src/components/patterns/index.ts +0 -1
  265. package/packages/cli/vendor/src/components/patterns/public.ts +0 -1
  266. package/packages/cli/vendor/src/components/ui/button/index.tsx +27 -17
  267. package/packages/cli/vendor/src/components/ui/checkbox/index.tsx +22 -5
  268. package/packages/cli/vendor/src/components/ui/collapse/index.tsx +97 -16
  269. package/packages/cli/vendor/src/components/ui/dialog/index.tsx +12 -8
  270. package/packages/cli/vendor/src/components/ui/dropdown-menu/index.tsx +82 -28
  271. package/packages/cli/vendor/src/public-component-surface.ts +0 -3
  272. package/packages/cli/vendor/src/showcase/component-api-schema.ts +2 -2
  273. package/packages/cli/vendor/src/showcase/create-demo.tsx +31 -46
  274. package/packages/cli/vendor/src/showcase/fallback.tsx +80 -99
  275. package/packages/cli/vendor/src/showcase/premium/accordion/showcase.tsx +32 -2
  276. package/packages/cli/vendor/src/showcase/premium/action-menu/showcase.tsx +12 -3
  277. package/packages/cli/vendor/src/showcase/premium/activity-feed/showcase.tsx +15 -2
  278. package/packages/cli/vendor/src/showcase/premium/alert/showcase.tsx +32 -17
  279. package/packages/cli/vendor/src/showcase/premium/alert-dialog/showcase.tsx +28 -3
  280. package/packages/cli/vendor/src/showcase/premium/async-multi-select/mock.ts +6 -5
  281. package/packages/cli/vendor/src/showcase/premium/async-multi-select/showcase.tsx +5 -4
  282. package/packages/cli/vendor/src/showcase/premium/async-select/mock.ts +1 -1
  283. package/packages/cli/vendor/src/showcase/premium/async-select/showcase.tsx +36 -0
  284. package/packages/cli/vendor/src/showcase/premium/button/showcase.tsx +26 -5
  285. package/packages/cli/vendor/src/showcase/premium/button-group/showcase.tsx +20 -3
  286. package/packages/cli/vendor/src/showcase/premium/calendar/showcase.tsx +5 -0
  287. package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +33 -5
  288. package/packages/cli/vendor/src/showcase/premium/checkbox/showcase.tsx +46 -3
  289. package/packages/cli/vendor/src/showcase/premium/clearable-input/mock.ts +5 -3
  290. package/packages/cli/vendor/src/showcase/premium/clearable-input/showcase.tsx +5 -2
  291. package/packages/cli/vendor/src/showcase/premium/collapse/showcase.tsx +4 -0
  292. package/packages/cli/vendor/src/showcase/premium/combobox/showcase.tsx +8 -0
  293. package/packages/cli/vendor/src/showcase/premium/data-table/showcase.tsx +77 -27
  294. package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +11 -11
  295. package/packages/cli/vendor/src/showcase/premium/date-input/mock.ts +1 -1
  296. package/packages/cli/vendor/src/showcase/premium/date-range-picker/showcase.tsx +7 -0
  297. package/packages/cli/vendor/src/showcase/premium/dropdown-menu/showcase.tsx +46 -3
  298. package/packages/cli/vendor/src/showcase/premium/form-wrapper/mock.ts +70 -44
  299. package/packages/cli/vendor/src/showcase/premium/form-wrapper/showcase.tsx +129 -12
  300. package/packages/cli/vendor/src/showcase/premium/index.ts +7 -24
  301. package/packages/cli/vendor/src/showcase/premium/input/mock.ts +2 -2
  302. package/packages/cli/vendor/src/showcase/premium/masked-input/mock.ts +1 -1
  303. package/packages/cli/vendor/src/showcase/premium/money-input/mock.ts +1 -1
  304. package/packages/cli/vendor/src/showcase/premium/number-input/mock.ts +1 -1
  305. package/packages/cli/vendor/src/showcase/premium/phone-input/mock.ts +1 -1
  306. package/packages/cli/vendor/src/showcase/premium/quantity-input/mock.ts +1 -1
  307. package/packages/cli/vendor/src/showcase/premium/simple-select/mock.ts +1 -1
  308. package/packages/cli/vendor/src/showcase/premium/simple-select/showcase.tsx +2 -1
  309. package/packages/cli/vendor/src/showcase/preview-catalog.tsx +7 -7
  310. package/packages/cli/vendor/src/showcase/registry-quality.ts +4 -28
  311. package/packages/cli/vendor/src/showcase/registry-specific.tsx +3 -178
  312. package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +18 -51
  313. package/packages/cli/vendor/src/showcase/site-data.tsx +2443 -2761
  314. package/packages/cli/vendor/src/showcase/supplemental.tsx +2 -42
  315. package/packages/cli/vendor/src/showcase/tembro-registry.json +11 -58
  316. package/registry.json +11 -61
  317. package/dist/components/display/entity-card.cjs +0 -1
  318. package/dist/components/display/entity-card.d.ts +0 -18
  319. package/dist/components/display/entity-card.js +0 -61
  320. package/dist/components/display/entity-header.cjs +0 -1
  321. package/dist/components/display/entity-header.d.ts +0 -13
  322. package/dist/components/display/entity-header.js +0 -52
  323. package/dist/components/display/file-card.cjs +0 -1
  324. package/dist/components/display/file-card.d.ts +0 -14
  325. package/dist/components/display/file-card.js +0 -59
  326. package/dist/components/feedback/empty-search-state.cjs +0 -1
  327. package/dist/components/feedback/empty-search-state.d.ts +0 -11
  328. package/dist/components/feedback/empty-search-state.js +0 -45
  329. package/dist/components/feedback/empty-state.cjs +0 -1
  330. package/dist/components/feedback/empty-state.d.ts +0 -11
  331. package/dist/components/feedback/empty-state.js +0 -38
  332. package/dist/components/filters/filter-chips.cjs +0 -1
  333. package/dist/components/filters/filter-chips.d.ts +0 -18
  334. package/dist/components/filters/filter-chips.js +0 -61
  335. package/dist/components/patterns/form-builder-presets.cjs +0 -1
  336. package/dist/components/patterns/form-builder-presets.d.ts +0 -1
  337. package/dist/components/patterns/form-builder-presets.js +0 -2
  338. package/dist/components/patterns/form-builder.cjs +0 -1
  339. package/dist/components/patterns/form-builder.d.ts +0 -109
  340. package/dist/components/patterns/form-builder.js +0 -263
  341. package/dist/showcase/premium/empty-state/index.cjs +0 -1
  342. package/dist/showcase/premium/empty-state/index.d.ts +0 -2
  343. package/dist/showcase/premium/empty-state/index.js +0 -3
  344. package/dist/showcase/premium/empty-state/mock.cjs +0 -14
  345. package/dist/showcase/premium/empty-state/mock.d.ts +0 -2
  346. package/dist/showcase/premium/empty-state/mock.js +0 -31
  347. package/dist/showcase/premium/empty-state/showcase.cjs +0 -1
  348. package/dist/showcase/premium/empty-state/showcase.d.ts +0 -3
  349. package/dist/showcase/premium/empty-state/showcase.js +0 -99
  350. package/dist/showcase/premium/form-builder/index.cjs +0 -1
  351. package/dist/showcase/premium/form-builder/index.d.ts +0 -2
  352. package/dist/showcase/premium/form-builder/index.js +0 -3
  353. package/dist/showcase/premium/form-builder/mock.cjs +0 -57
  354. package/dist/showcase/premium/form-builder/mock.d.ts +0 -2
  355. package/dist/showcase/premium/form-builder/mock.js +0 -40
  356. package/dist/showcase/premium/form-builder/showcase.cjs +0 -1
  357. package/dist/showcase/premium/form-builder/showcase.d.ts +0 -3
  358. package/dist/showcase/premium/form-builder/showcase.js +0 -69
  359. package/packages/cli/vendor/src/components/display/entity-card.tsx +0 -80
  360. package/packages/cli/vendor/src/components/display/entity-header.tsx +0 -80
  361. package/packages/cli/vendor/src/components/display/file-card.tsx +0 -61
  362. package/packages/cli/vendor/src/components/feedback/empty-search-state.tsx +0 -65
  363. package/packages/cli/vendor/src/components/feedback/empty-state.tsx +0 -56
  364. package/packages/cli/vendor/src/components/filters/filter-chips.tsx +0 -89
  365. package/packages/cli/vendor/src/components/patterns/form-builder-presets.ts +0 -13
  366. package/packages/cli/vendor/src/components/patterns/form-builder.tsx +0 -443
  367. package/packages/cli/vendor/src/showcase/premium/empty-state/index.ts +0 -2
  368. package/packages/cli/vendor/src/showcase/premium/empty-state/mock.ts +0 -30
  369. package/packages/cli/vendor/src/showcase/premium/empty-state/showcase.tsx +0 -65
  370. package/packages/cli/vendor/src/showcase/premium/form-builder/index.ts +0 -2
  371. package/packages/cli/vendor/src/showcase/premium/form-builder/mock.ts +0 -79
  372. package/packages/cli/vendor/src/showcase/premium/form-builder/showcase.tsx +0 -55
@@ -3,28 +3,39 @@ import * as React from "react"
3
3
  import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
4
4
  import { cn } from "@/lib/utils"
5
5
 
6
- export type ActivityFeedItem = {
6
+ export type ActivityFeedItem = {
7
7
  id: string
8
8
  title: React.ReactNode
9
9
  description?: React.ReactNode
10
10
  time?: React.ReactNode
11
11
  icon?: React.ReactNode
12
12
  tone?: "default" | "success" | "warning" | "danger" | "info" | "muted"
13
- actions?: React.ReactNode
14
- hidden?: boolean
15
- className?: string
16
- }
13
+ actions?: React.ReactNode
14
+ meta?: React.ReactNode
15
+ badge?: React.ReactNode
16
+ unread?: boolean
17
+ hidden?: boolean
18
+ interactive?: boolean
19
+ href?: string
20
+ target?: React.ComponentProps<"a">["target"]
21
+ rel?: React.ComponentProps<"a">["rel"]
22
+ onSelect?: () => void
23
+ className?: string
24
+ }
17
25
 
18
- export type ActivityFeedProps = React.ComponentProps<typeof Card> & {
26
+ export type ActivityFeedProps = React.ComponentProps<typeof Card> & {
19
27
  title?: React.ReactNode
20
28
  description?: React.ReactNode
21
29
  actions?: React.ReactNode
22
30
  items: ActivityFeedItem[]
23
31
  empty?: React.ReactNode
24
- compact?: boolean
25
- contentClassName?: string
26
- itemClassName?: string
27
- }
32
+ compact?: boolean
33
+ density?: "comfortable" | "compact"
34
+ showConnector?: boolean
35
+ connectorClassName?: string
36
+ contentClassName?: string
37
+ itemClassName?: string
38
+ }
28
39
 
29
40
  const toneDotClassName: Record<NonNullable<ActivityFeedItem["tone"]>, string> = {
30
41
  default: "bg-primary",
@@ -41,14 +52,18 @@ function ActivityFeed({
41
52
  description,
42
53
  actions,
43
54
  items,
44
- empty = "No activity yet.",
45
- compact = false,
46
- contentClassName,
47
- itemClassName,
48
- ...props
49
- }: ActivityFeedProps) {
50
- const visibleItems = items.filter((item) => !item.hidden)
51
- const hasHeader = Boolean(title || description || actions)
55
+ empty = "No activity yet.",
56
+ compact = false,
57
+ density,
58
+ showConnector = true,
59
+ connectorClassName,
60
+ contentClassName,
61
+ itemClassName,
62
+ ...props
63
+ }: ActivityFeedProps) {
64
+ const visibleItems = items.filter((item) => !item.hidden)
65
+ const hasHeader = Boolean(title || description || actions)
66
+ const isCompact = density ? density === "compact" : compact
52
67
 
53
68
  return (
54
69
  <Card data-slot="activity-feed" className={cn("min-w-0", className)} {...props}>
@@ -68,28 +83,71 @@ function ActivityFeed({
68
83
  {visibleItems.length === 0 ? (
69
84
  <div className="rounded-lg border border-dashed p-4 text-center text-sm text-muted-foreground">{empty}</div>
70
85
  ) : (
71
- visibleItems.map((item, index) => (
72
- <div
73
- key={item.id}
74
- data-slot="activity-feed-item"
75
- className={cn("relative flex gap-3 pb-4 last:pb-0", compact && "gap-2 pb-3", itemClassName, item.className)}
76
- >
77
- {index < visibleItems.length - 1 && <div className="absolute left-3 top-7 h-[calc(100%-1.75rem)] w-px bg-border" />}
78
- <div className="relative z-10 mt-0.5 flex size-6 shrink-0 items-center justify-center rounded-full border bg-background">
79
- {item.icon ?? <span className={cn("size-2 rounded-full", toneDotClassName[item.tone ?? "default"])} />}
80
- </div>
81
- <div className="min-w-0 flex-1 space-y-1">
82
- <div className="flex min-w-0 items-start justify-between gap-2">
83
- <div className="min-w-0 text-sm font-medium leading-5 text-foreground">{item.title}</div>
84
- {item.time && <div className="shrink-0 text-xs text-muted-foreground">{item.time}</div>}
85
- </div>
86
- {item.description && <div className="text-sm leading-5 text-muted-foreground">{item.description}</div>}
87
- {item.actions && <div className="pt-1">{item.actions}</div>}
88
- </div>
89
- </div>
90
- ))
91
- )}
92
- </CardContent>
86
+ visibleItems.map((item, index) => {
87
+ const isInteractive = item.interactive ?? Boolean(item.href || item.onSelect)
88
+ const content = (
89
+ <>
90
+ <div className={cn(
91
+ "relative z-10 mt-0.5 flex size-6 shrink-0 items-center justify-center rounded-full border bg-background",
92
+ item.unread && "border-primary/45 bg-primary/8 shadow-[0_0_0_3px_color-mix(in_oklch,var(--primary),transparent_88%)]"
93
+ )}>
94
+ {item.icon ?? <span className={cn("size-2 rounded-full", toneDotClassName[item.tone ?? "default"])} />}
95
+ </div>
96
+ <div className="min-w-0 flex-1 space-y-1">
97
+ <div className="flex min-w-0 items-start justify-between gap-2">
98
+ <div className="min-w-0 space-y-1">
99
+ <div className="min-w-0 text-sm font-medium leading-5 text-foreground">{item.title}</div>
100
+ {item.meta && <div className="text-xs text-muted-foreground">{item.meta}</div>}
101
+ </div>
102
+ <div className="flex shrink-0 items-center gap-2">
103
+ {item.badge}
104
+ {item.time && <div className="text-xs text-muted-foreground">{item.time}</div>}
105
+ </div>
106
+ </div>
107
+ {item.description && <div className="text-sm leading-5 text-muted-foreground">{item.description}</div>}
108
+ {item.actions && <div className="pt-1">{item.actions}</div>}
109
+ </div>
110
+ </>
111
+ )
112
+
113
+ return (
114
+ <div
115
+ key={item.id}
116
+ data-slot="activity-feed-item"
117
+ className={cn("relative flex gap-3 pb-4 last:pb-0", isCompact && "gap-2 pb-3", itemClassName, item.className)}
118
+ >
119
+ {showConnector && index < visibleItems.length - 1 && (
120
+ <div className={cn("absolute left-3 top-7 h-[calc(100%-1.75rem)] w-px bg-border", connectorClassName)} />
121
+ )}
122
+ {item.href ? (
123
+ <a
124
+ href={item.href}
125
+ target={item.target}
126
+ rel={item.rel}
127
+ className={cn(
128
+ "flex min-w-0 flex-1 gap-3 rounded-[var(--radius-lg)] px-2 py-1.5 transition-[background-color,border-color,box-shadow]",
129
+ isInteractive && "hover:bg-muted/35 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40"
130
+ )}
131
+ >
132
+ {content}
133
+ </a>
134
+ ) : isInteractive ? (
135
+ <button
136
+ type="button"
137
+ className="flex min-w-0 flex-1 gap-3 rounded-[var(--radius-lg)] px-2 py-1.5 text-left transition-[background-color,border-color,box-shadow] hover:bg-muted/35 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40"
138
+ onClick={item.onSelect}
139
+ >
140
+ {content}
141
+ </button>
142
+ ) : (
143
+ <div className="flex min-w-0 flex-1 gap-3 px-2 py-1.5">
144
+ {content}
145
+ </div>
146
+ )}
147
+ </div>
148
+ )})
149
+ )}
150
+ </CardContent>
93
151
  </Card>
94
152
  )
95
153
  }
@@ -16,6 +16,15 @@ export type CarouselProps = React.ComponentProps<"div"> & {
16
16
  ariaLabel?: string
17
17
  previousLabel?: string
18
18
  nextLabel?: string
19
+ swipeThreshold?: number
20
+ autoplay?: boolean
21
+ autoplayInterval?: number
22
+ pauseOnHover?: boolean
23
+ stopAutoplayOnInteraction?: boolean
24
+ showPlaybackControl?: boolean
25
+ playLabel?: string
26
+ pauseLabel?: string
27
+ onAutoplayChange?: (playing: boolean) => void
19
28
  }
20
29
 
21
30
  export type CarouselItemProps = React.ComponentProps<"div">
@@ -38,24 +47,80 @@ function Carousel({
38
47
  ariaLabel = "Carousel",
39
48
  previousLabel = "Previous slide",
40
49
  nextLabel = "Next slide",
50
+ swipeThreshold = 44,
51
+ autoplay = false,
52
+ autoplayInterval = 4500,
53
+ pauseOnHover = true,
54
+ stopAutoplayOnInteraction = true,
55
+ showPlaybackControl = false,
56
+ playLabel = "Start autoplay",
57
+ pauseLabel = "Pause autoplay",
58
+ onAutoplayChange,
41
59
  className,
42
60
  children,
43
61
  ...props
44
62
  }: CarouselProps) {
45
63
  const items = React.Children.toArray(children)
46
64
  const [internalIndex, setInternalIndex] = React.useState(defaultIndex)
65
+ const touchStartXRef = React.useRef<number | null>(null)
66
+ const [isHovered, setIsHovered] = React.useState(false)
67
+ const [autoplayStopped, setAutoplayStopped] = React.useState(false)
68
+ const [autoplayEnabled, setAutoplayEnabled] = React.useState(autoplay)
47
69
  const controlled = index !== undefined
48
70
  const activeIndex = clampIndex(controlled ? index : internalIndex, items.length, loop)
49
71
 
50
- function setActiveIndex(nextIndex: number) {
72
+ React.useEffect(() => {
73
+ setAutoplayEnabled(autoplay)
74
+ }, [autoplay])
75
+
76
+ function setActiveIndex(nextIndex: number, reason: "manual" | "autoplay" = "manual") {
51
77
  const resolvedIndex = clampIndex(nextIndex, items.length, loop)
52
78
  if (!controlled) setInternalIndex(resolvedIndex)
79
+ if (reason === "manual" && stopAutoplayOnInteraction) {
80
+ setAutoplayStopped(true)
81
+ if (autoplayEnabled) {
82
+ setAutoplayEnabled(false)
83
+ onAutoplayChange?.(false)
84
+ }
85
+ }
53
86
  onIndexChange?.(resolvedIndex)
54
87
  }
55
88
 
56
89
  const canGoPrevious = loop || activeIndex > 0
57
90
  const canGoNext = loop || activeIndex < items.length - 1
58
91
 
92
+ const handleTouchStart: React.TouchEventHandler<HTMLDivElement> = (event) => {
93
+ touchStartXRef.current = event.touches[0]?.clientX ?? null
94
+ }
95
+
96
+ const handleTouchEnd: React.TouchEventHandler<HTMLDivElement> = (event) => {
97
+ if (touchStartXRef.current == null || items.length <= 1) return
98
+ const endX = event.changedTouches[0]?.clientX ?? touchStartXRef.current
99
+ const deltaX = endX - touchStartXRef.current
100
+ touchStartXRef.current = null
101
+
102
+ if (Math.abs(deltaX) < swipeThreshold) return
103
+ if (deltaX > 0 && canGoPrevious) setActiveIndex(activeIndex - 1)
104
+ if (deltaX < 0 && canGoNext) setActiveIndex(activeIndex + 1)
105
+ }
106
+
107
+ React.useEffect(() => {
108
+ if (!autoplayEnabled || items.length <= 1 || autoplayStopped) return
109
+ if (pauseOnHover && isHovered) return
110
+
111
+ const timer = window.setInterval(() => {
112
+ if (!loop && activeIndex >= items.length - 1) {
113
+ setActiveIndex(0, "autoplay")
114
+ return
115
+ }
116
+ setActiveIndex(activeIndex + 1, "autoplay")
117
+ }, autoplayInterval)
118
+
119
+ return () => {
120
+ window.clearInterval(timer)
121
+ }
122
+ }, [activeIndex, autoplayEnabled, autoplayInterval, autoplayStopped, isHovered, items.length, loop, pauseOnHover])
123
+
59
124
  return (
60
125
  <div
61
126
  data-slot="carousel"
@@ -63,6 +128,7 @@ function Carousel({
63
128
  role="region"
64
129
  aria-roledescription="carousel"
65
130
  aria-label={ariaLabel}
131
+ tabIndex={keyboard ? 0 : undefined}
66
132
  className={cn("grid gap-3", className)}
67
133
  onKeyDown={(event) => {
68
134
  if (!keyboard || items.length <= 1) return
@@ -75,6 +141,10 @@ function Carousel({
75
141
  setActiveIndex(activeIndex + 1)
76
142
  }
77
143
  }}
144
+ onTouchStart={handleTouchStart}
145
+ onTouchEnd={handleTouchEnd}
146
+ onMouseEnter={() => setIsHovered(true)}
147
+ onMouseLeave={() => setIsHovered(false)}
78
148
  {...props}
79
149
  >
80
150
  <div className={cn(
@@ -113,7 +183,7 @@ function Carousel({
113
183
  ) : null}
114
184
  </div>
115
185
  {showDots && items.length > 1 && (
116
- <div className="flex items-center justify-center gap-2" role="tablist" aria-label={`${ariaLabel} slides`}>
186
+ <div className="flex flex-wrap items-center justify-center gap-2" role="tablist" aria-label={`${ariaLabel} slides`}>
117
187
  {items.map((_, itemIndex) => (
118
188
  <button
119
189
  key={itemIndex}
@@ -128,6 +198,22 @@ function Carousel({
128
198
  onClick={() => setActiveIndex(itemIndex)}
129
199
  />
130
200
  ))}
201
+ {showPlaybackControl ? (
202
+ <Button
203
+ type="button"
204
+ variant="ghost"
205
+ size="sm"
206
+ className="ml-2 rounded-full"
207
+ onClick={() => {
208
+ const nextPlaying = !autoplayEnabled
209
+ setAutoplayStopped(false)
210
+ setAutoplayEnabled(nextPlaying)
211
+ onAutoplayChange?.(nextPlaying)
212
+ }}
213
+ >
214
+ {autoplayEnabled ? pauseLabel : playLabel}
215
+ </Button>
216
+ ) : null}
131
217
  </div>
132
218
  )}
133
219
  </div>
@@ -3,31 +3,63 @@ import * as React from "react"
3
3
  import { CopyButton } from "@/components/actions/copy-button"
4
4
  import { cn } from "@/lib/utils"
5
5
 
6
- export type CodeBlockProps = React.ComponentProps<"div"> & {
7
- code: string
8
- language?: string
9
- title?: React.ReactNode
10
- showCopy?: boolean
11
- wrap?: boolean
12
- }
13
-
14
- function CodeBlock({ code, language, title, showCopy = true, wrap = false, className, ...props }: CodeBlockProps) {
15
- return (
16
- <div data-slot="code-block" className={cn("overflow-hidden rounded-lg border bg-card", className)} {...props}>
17
- {(title || language || showCopy) && (
18
- <div className="flex items-center justify-between gap-3 border-b px-3 py-2 text-xs text-muted-foreground">
19
- <div className="flex min-w-0 items-center gap-2">
20
- {title && <span className="truncate font-medium text-foreground">{title}</span>}
21
- {language && <span className="rounded bg-muted px-1.5 py-0.5 font-mono">{language}</span>}
22
- </div>
23
- {showCopy && <CopyButton value={code} size="sm" variant="ghost" copyLabel="Copy" copiedLabel="Copied" />}
24
- </div>
25
- )}
26
- <pre className={cn("overflow-x-auto p-3 text-sm", wrap && "whitespace-pre-wrap break-words")}>
27
- <code>{code}</code>
28
- </pre>
29
- </div>
30
- )
31
- }
6
+ export type CodeBlockProps = React.ComponentProps<"div"> & {
7
+ code: string
8
+ language?: string
9
+ title?: React.ReactNode
10
+ showCopy?: boolean
11
+ wrap?: boolean
12
+ lineNumbers?: boolean
13
+ maxHeight?: number | string
14
+ }
15
+
16
+ function CodeBlock({
17
+ code,
18
+ language,
19
+ title,
20
+ showCopy = true,
21
+ wrap = false,
22
+ lineNumbers = false,
23
+ maxHeight,
24
+ className,
25
+ ...props
26
+ }: CodeBlockProps) {
27
+ const lines = React.useMemo(() => code.split("\n"), [code])
28
+
29
+ return (
30
+ <div
31
+ data-slot="code-block"
32
+ className={cn("overflow-hidden rounded-[var(--aui-card-radius,var(--radius-xl))] border border-[color:var(--aui-card-border,var(--border))] bg-card", className)}
33
+ {...props}
34
+ >
35
+ {(title || language || showCopy) && (
36
+ <div className="flex items-center justify-between gap-3 border-b border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_72%)] px-3 py-2 text-xs text-muted-foreground">
37
+ <div className="flex min-w-0 items-center gap-2">
38
+ {title && <span className="truncate font-medium text-foreground">{title}</span>}
39
+ {language && <span className="rounded bg-muted px-1.5 py-0.5 font-mono">{language}</span>}
40
+ </div>
41
+ {showCopy && <CopyButton value={code} size="sm" variant="ghost" copyLabel="Copy" copiedLabel="Copied" />}
42
+ </div>
43
+ )}
44
+ <pre
45
+ className={cn("overflow-x-auto p-3 text-sm leading-6", wrap && "whitespace-pre-wrap break-words")}
46
+ style={maxHeight ? { maxHeight, overflowY: "auto" } : undefined}
47
+ >
48
+ {lineNumbers ? (
49
+ <code className="grid">
50
+ {lines.map((line, index) => (
51
+ <span key={`${index}-${line}`} className="grid grid-cols-[auto_1fr] gap-4">
52
+ <span className="select-none text-right text-xs text-muted-foreground/75">{index + 1}</span>
53
+ <span>{line || " "}</span>
54
+ </span>
55
+ ))}
56
+ </code>
57
+ ) : (
58
+ <code>{code}</code>
59
+ )}
60
+ </pre>
61
+ </div>
62
+ )
63
+ }
32
64
 
33
65
  export { CodeBlock }
@@ -1,8 +1,6 @@
1
1
  import * as React from "react"
2
2
 
3
- import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
4
- import { DeltaBadge } from "@/components/display/delta-badge"
5
- import { cn } from "@/lib/utils"
3
+ import { StatCard } from "@/components/layout/stat-card"
6
4
 
7
5
  export type ComparisonCardItem = {
8
6
  label: React.ReactNode
@@ -11,50 +9,26 @@ export type ComparisonCardItem = {
11
9
  trend?: "up" | "down" | "neutral"
12
10
  }
13
11
 
14
- export type ComparisonCardProps = React.ComponentProps<typeof Card> & {
12
+ export type ComparisonCardProps = Omit<React.ComponentProps<typeof StatCard>, "comparisonItems" | "comparisonColumns"> & {
15
13
  title?: React.ReactNode
16
14
  items: ComparisonCardItem[]
17
15
  columns?: 2 | 3 | 4
18
16
  }
19
17
 
20
- function ComparisonCard({
21
- title,
22
- items,
23
- columns = 2,
24
- className,
25
- ...props
26
- }: ComparisonCardProps) {
18
+ function ComparisonCard({ title, items, columns = 2, ...props }: ComparisonCardProps) {
27
19
  return (
28
- <Card data-slot="comparison-card" className={className} {...props}>
29
- {title && (
30
- <CardHeader className="pb-3">
31
- <CardTitle className="text-sm font-medium">{title}</CardTitle>
32
- </CardHeader>
33
- )}
34
- <CardContent className={cn(title ? "pt-0" : "")}>
35
- <div
36
- className={cn(
37
- "grid gap-4",
38
- columns === 2 && "grid-cols-2",
39
- columns === 3 && "grid-cols-3",
40
- columns === 4 && "grid-cols-2 sm:grid-cols-4",
41
- !title && "pt-6"
42
- )}
43
- >
44
- {items.map((item, index) => (
45
- <div key={index} className="flex flex-col gap-1">
46
- <span className="text-xs text-muted-foreground">{item.label}</span>
47
- <div className="flex items-baseline gap-1.5">
48
- <span className="text-lg font-semibold leading-none">{item.value}</span>
49
- {item.change && (
50
- <DeltaBadge size="sm" value={item.change} trend={item.trend} />
51
- )}
52
- </div>
53
- </div>
54
- ))}
55
- </div>
56
- </CardContent>
57
- </Card>
20
+ <StatCard
21
+ data-slot="comparison-card"
22
+ title={title}
23
+ comparisonColumns={columns}
24
+ comparisonItems={items.map((item) => ({
25
+ label: item.label,
26
+ value: item.value,
27
+ change: item.change,
28
+ trend: item.trend === "up" ? "success" : item.trend === "down" ? "danger" : "neutral",
29
+ }))}
30
+ {...props}
31
+ />
58
32
  )
59
33
  }
60
34