tembro 2.0.5 → 2.1.0

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 (381) hide show
  1. package/dist/components/calendar/calendar.cjs +1 -1
  2. package/dist/components/calendar/calendar.d.ts +2 -1
  3. package/dist/components/calendar/calendar.js +126 -122
  4. package/dist/components/calendar/date-range-picker.cjs +1 -1
  5. package/dist/components/calendar/date-range-picker.d.ts +2 -1
  6. package/dist/components/calendar/date-range-picker.js +39 -39
  7. package/dist/components/charts/charts.cjs +1 -1
  8. package/dist/components/charts/charts.d.ts +13 -4
  9. package/dist/components/charts/charts.js +76 -46
  10. package/dist/components/charts/progress-ring.cjs +1 -1
  11. package/dist/components/charts/progress-ring.d.ts +3 -1
  12. package/dist/components/charts/progress-ring.js +11 -10
  13. package/dist/components/data-table/data-table-column-visibility-menu.cjs +1 -1
  14. package/dist/components/data-table/data-table-column-visibility-menu.d.ts +4 -1
  15. package/dist/components/data-table/data-table-column-visibility-menu.js +36 -8
  16. package/dist/components/data-table/data-table-pagination.cjs +1 -1
  17. package/dist/components/data-table/data-table-pagination.js +4 -4
  18. package/dist/components/data-table/data-table-toolbar.cjs +1 -1
  19. package/dist/components/data-table/data-table-toolbar.js +12 -13
  20. package/dist/components/data-table/data-table.cjs +1 -1
  21. package/dist/components/data-table/data-table.d.ts +2 -2
  22. package/dist/components/data-table/data-table.js +2 -1
  23. package/dist/components/display/carousel.cjs +1 -1
  24. package/dist/components/display/carousel.d.ts +15 -1
  25. package/dist/components/display/carousel.js +128 -86
  26. package/dist/components/display/code-block.cjs +2 -2
  27. package/dist/components/display/code-block.d.ts +2 -1
  28. package/dist/components/display/code-block.js +17 -12
  29. package/dist/components/display/delta-badge.cjs +1 -1
  30. package/dist/components/display/delta-badge.d.ts +2 -1
  31. package/dist/components/display/delta-badge.js +11 -7
  32. package/dist/components/display/kanban.cjs +1 -1
  33. package/dist/components/display/kanban.d.ts +4 -1
  34. package/dist/components/display/kanban.js +60 -33
  35. package/dist/components/display/metric-grid.cjs +1 -1
  36. package/dist/components/display/metric-grid.d.ts +1 -0
  37. package/dist/components/display/metric-grid.js +1 -1
  38. package/dist/components/display/qr-code.cjs +1 -1
  39. package/dist/components/display/qr-code.d.ts +2 -1
  40. package/dist/components/display/qr-code.js +19 -16
  41. package/dist/components/display/smart-card.d.ts +1 -1
  42. package/dist/components/display/status-legend.d.ts +1 -1
  43. package/dist/components/display/tag.cjs +1 -1
  44. package/dist/components/display/tag.d.ts +2 -1
  45. package/dist/components/display/tag.js +28 -22
  46. package/dist/components/display/tree-view.cjs +1 -1
  47. package/dist/components/display/tree-view.d.ts +9 -1
  48. package/dist/components/display/tree-view.js +104 -40
  49. package/dist/components/display/trend-card.cjs +1 -1
  50. package/dist/components/display/trend-card.js +27 -41
  51. package/dist/components/feedback/alert.cjs +1 -1
  52. package/dist/components/feedback/alert.d.ts +2 -1
  53. package/dist/components/feedback/alert.js +6 -6
  54. package/dist/components/feedback/loading-state.cjs +1 -1
  55. package/dist/components/feedback/loading-state.d.ts +3 -1
  56. package/dist/components/feedback/loading-state.js +23 -10
  57. package/dist/components/feedback/page-state.cjs +1 -1
  58. package/dist/components/feedback/page-state.d.ts +2 -1
  59. package/dist/components/feedback/page-state.js +7 -4
  60. package/dist/components/form/form-field-shell.cjs +1 -1
  61. package/dist/components/form/form-field-shell.d.ts +4 -2
  62. package/dist/components/form/form-field-shell.js +57 -41
  63. package/dist/components/form/form-input.cjs +1 -1
  64. package/dist/components/form/form-input.d.ts +3 -4
  65. package/dist/components/form/form-input.js +259 -257
  66. package/dist/components/form/form-select.cjs +1 -1
  67. package/dist/components/form/form-select.d.ts +2 -2
  68. package/dist/components/form/form-select.js +8 -6
  69. package/dist/components/form/form-switch.cjs +1 -1
  70. package/dist/components/form/form-switch.d.ts +1 -1
  71. package/dist/components/form/form-switch.js +58 -54
  72. package/dist/components/form/form-textarea.cjs +1 -1
  73. package/dist/components/form/form-textarea.d.ts +1 -1
  74. package/dist/components/form/form-textarea.js +29 -27
  75. package/dist/components/inputs/async-select.d.ts +3 -0
  76. package/dist/components/inputs/search-input.d.ts +3 -0
  77. package/dist/components/inputs/simple-select.cjs +1 -1
  78. package/dist/components/inputs/simple-select.d.ts +10 -32
  79. package/dist/components/inputs/simple-select.js +5 -101
  80. package/dist/components/layout/app-sidebar.cjs +1 -1
  81. package/dist/components/layout/app-sidebar.d.ts +1 -0
  82. package/dist/components/layout/app-sidebar.js +36 -36
  83. package/dist/components/layout/breadcrumbs.cjs +1 -1
  84. package/dist/components/layout/breadcrumbs.d.ts +2 -1
  85. package/dist/components/layout/breadcrumbs.js +7 -7
  86. package/dist/components/modern/calendar-scheduler.cjs +1 -1
  87. package/dist/components/modern/calendar-scheduler.d.ts +5 -1
  88. package/dist/components/modern/calendar-scheduler.js +47 -28
  89. package/dist/components/modern/dual-list-picker.cjs +1 -1
  90. package/dist/components/modern/dual-list-picker.d.ts +5 -1
  91. package/dist/components/modern/dual-list-picker.js +81 -23
  92. package/dist/components/modern/rich-text-editor.cjs +1 -1
  93. package/dist/components/modern/rich-text-editor.d.ts +3 -1
  94. package/dist/components/modern/rich-text-editor.js +12 -9
  95. package/dist/components/modern/tour.cjs +1 -1
  96. package/dist/components/modern/tour.d.ts +5 -1
  97. package/dist/components/modern/tour.js +57 -35
  98. package/dist/components/navigation/command-bar.cjs +1 -1
  99. package/dist/components/navigation/command-bar.d.ts +3 -1
  100. package/dist/components/navigation/command-bar.js +10 -7
  101. package/dist/components/navigation/demo.cjs +1 -1
  102. package/dist/components/navigation/demo.js +0 -1
  103. package/dist/components/navigation/nav-tabs.cjs +1 -1
  104. package/dist/components/navigation/nav-tabs.js +39 -27
  105. package/dist/components/navigation/page-tabs.cjs +1 -1
  106. package/dist/components/navigation/page-tabs.js +41 -30
  107. package/dist/components/navigation/pagination.cjs +1 -1
  108. package/dist/components/navigation/pagination.d.ts +7 -1
  109. package/dist/components/navigation/pagination.js +48 -25
  110. package/dist/components/notifications/notification-center.cjs +1 -1
  111. package/dist/components/notifications/notification-center.d.ts +3 -1
  112. package/dist/components/notifications/notification-center.js +56 -38
  113. package/dist/components/notifications/toast.cjs +1 -1
  114. package/dist/components/notifications/toast.d.ts +1 -0
  115. package/dist/components/notifications/toast.js +4 -0
  116. package/dist/components/overlay/alert-dialog.cjs +1 -1
  117. package/dist/components/overlay/alert-dialog.js +1 -1
  118. package/dist/components/overlay/confirm-dialog.cjs +1 -1
  119. package/dist/components/overlay/confirm-dialog.d.ts +4 -2
  120. package/dist/components/overlay/confirm-dialog.js +31 -22
  121. package/dist/components/overlay/drawer.cjs +1 -1
  122. package/dist/components/overlay/drawer.d.ts +3 -1
  123. package/dist/components/overlay/drawer.js +24 -16
  124. package/dist/components/ui/accordion/index.d.ts +4 -0
  125. package/dist/components/ui/badge/index.cjs +1 -1
  126. package/dist/components/ui/badge/index.d.ts +1 -1
  127. package/dist/components/ui/badge/index.js +2 -1
  128. package/dist/components/ui/button/index.cjs +1 -1
  129. package/dist/components/ui/button/index.d.ts +2 -1
  130. package/dist/components/ui/button/index.js +13 -10
  131. package/dist/components/ui/card/index.cjs +1 -1
  132. package/dist/components/ui/card/index.d.ts +13 -2
  133. package/dist/components/ui/card/index.js +74 -49
  134. package/dist/components/ui/dialog/index.cjs +1 -1
  135. package/dist/components/ui/dialog/index.js +2 -1
  136. package/dist/components/ui/hover-card.cjs +1 -1
  137. package/dist/components/ui/hover-card.d.ts +11 -3
  138. package/dist/components/ui/hover-card.js +29 -24
  139. package/dist/components/ui/input/index.cjs +1 -1
  140. package/dist/components/ui/input/index.d.ts +9 -1
  141. package/dist/components/ui/input/index.js +63 -30
  142. package/dist/components/ui/popover/index.cjs +1 -1
  143. package/dist/components/ui/popover/index.d.ts +2 -2
  144. package/dist/components/ui/popover/index.js +6 -5
  145. package/dist/components/ui/radio-group/index.cjs +1 -1
  146. package/dist/components/ui/radio-group/index.d.ts +5 -1
  147. package/dist/components/ui/radio-group/index.js +50 -16
  148. package/dist/components/ui/right-click-menu/index.cjs +1 -1
  149. package/dist/components/ui/right-click-menu/index.d.ts +5 -1
  150. package/dist/components/ui/right-click-menu/index.js +77 -23
  151. package/dist/components/ui/segmented-control/index.cjs +1 -1
  152. package/dist/components/ui/segmented-control/index.d.ts +2 -1
  153. package/dist/components/ui/segmented-control/index.js +23 -11
  154. package/dist/components/ui/select/index.cjs +1 -1
  155. package/dist/components/ui/select/index.d.ts +40 -1
  156. package/dist/components/ui/select/index.js +159 -48
  157. package/dist/components/ui/switch/index.cjs +1 -1
  158. package/dist/components/ui/switch/index.d.ts +18 -0
  159. package/dist/components/ui/switch/index.js +47 -17
  160. package/dist/components/ui/tabs/index.cjs +1 -1
  161. package/dist/components/ui/tabs/index.d.ts +14 -4
  162. package/dist/components/ui/tabs/index.js +11 -8
  163. package/dist/components/ui/textarea/index.cjs +1 -1
  164. package/dist/components/ui/textarea/index.d.ts +10 -2
  165. package/dist/components/ui/textarea/index.js +37 -8
  166. package/dist/components/ui/textarea.cjs +1 -0
  167. package/dist/components/ui/textarea.d.ts +1 -0
  168. package/dist/components/ui/textarea.js +2 -0
  169. package/dist/components/ui/tooltip/index.cjs +1 -1
  170. package/dist/components/ui/tooltip/index.d.ts +11 -3
  171. package/dist/components/ui/tooltip/index.js +41 -20
  172. package/dist/components/upload/file-upload.cjs +1 -1
  173. package/dist/components/upload/file-upload.d.ts +8 -1
  174. package/dist/components/upload/file-upload.js +132 -100
  175. package/dist/components/upload/image-upload.cjs +1 -1
  176. package/dist/components/upload/image-upload.d.ts +5 -1
  177. package/dist/components/upload/image-upload.js +34 -9
  178. package/dist/index.cjs +1 -1
  179. package/dist/index.js +31 -31
  180. package/dist/public-component-surface.cjs +1 -1
  181. package/dist/public-component-surface.js +15 -0
  182. package/dist/showcase/component-api-schema.cjs +1 -1
  183. package/dist/showcase/component-api-schema.js +187 -10
  184. package/dist/showcase/create-demo.cjs +5 -4
  185. package/dist/showcase/create-demo.js +2 -2
  186. package/dist/showcase/fallback.cjs +3 -3
  187. package/dist/showcase/fallback.js +221 -243
  188. package/dist/showcase/premium/alert/showcase.cjs +1 -1
  189. package/dist/showcase/premium/alert/showcase.js +1 -0
  190. package/dist/showcase/premium/app-sidebar/showcase.cjs +1 -1
  191. package/dist/showcase/premium/app-sidebar/showcase.js +1 -0
  192. package/dist/showcase/premium/badge/showcase.cjs +1 -1
  193. package/dist/showcase/premium/badge/showcase.js +7 -0
  194. package/dist/showcase/premium/badge/types.d.ts +1 -1
  195. package/dist/showcase/premium/breadcrumbs/showcase.cjs +1 -1
  196. package/dist/showcase/premium/breadcrumbs/showcase.js +12 -1
  197. package/dist/showcase/premium/button/mock.cjs +1 -4
  198. package/dist/showcase/premium/button/mock.js +1 -1
  199. package/dist/showcase/premium/button/showcase.cjs +1 -1
  200. package/dist/showcase/premium/button/showcase.js +2 -2
  201. package/dist/showcase/premium/card/showcase.cjs +1 -1
  202. package/dist/showcase/premium/card/showcase.js +96 -47
  203. package/dist/showcase/premium/carousel/showcase.cjs +1 -1
  204. package/dist/showcase/premium/carousel/showcase.js +76 -49
  205. package/dist/showcase/premium/command-bar/showcase.cjs +1 -1
  206. package/dist/showcase/premium/command-bar/showcase.js +2 -0
  207. package/dist/showcase/premium/data-table/mock.cjs +12 -11
  208. package/dist/showcase/premium/data-table/mock.js +1 -1
  209. package/dist/showcase/premium/data-table/showcase.cjs +1 -1
  210. package/dist/showcase/premium/data-table/showcase.js +1 -1
  211. package/dist/showcase/premium/data-table-parts/showcase.cjs +1 -1
  212. package/dist/showcase/premium/data-table-parts/showcase.js +3 -1
  213. package/dist/showcase/premium/file-upload/showcase.cjs +1 -1
  214. package/dist/showcase/premium/file-upload/showcase.js +25 -4
  215. package/dist/showcase/premium/image-upload/showcase.cjs +1 -1
  216. package/dist/showcase/premium/image-upload/showcase.js +4 -1
  217. package/dist/showcase/premium/index.cjs +1 -1
  218. package/dist/showcase/premium/index.js +396 -402
  219. package/dist/showcase/premium/loading-state/showcase.cjs +1 -1
  220. package/dist/showcase/premium/loading-state/showcase.js +3 -1
  221. package/dist/showcase/premium/metric-grid/showcase.cjs +1 -1
  222. package/dist/showcase/premium/metric-grid/showcase.js +96 -28
  223. package/dist/showcase/premium/notification-center/showcase.cjs +1 -1
  224. package/dist/showcase/premium/notification-center/showcase.js +7 -3
  225. package/dist/showcase/premium/page-state/showcase.cjs +1 -1
  226. package/dist/showcase/premium/page-state/showcase.js +5 -1
  227. package/dist/showcase/premium/pagination/showcase.cjs +1 -1
  228. package/dist/showcase/premium/pagination/showcase.js +15 -2
  229. package/dist/showcase/premium/popover/showcase.cjs +1 -1
  230. package/dist/showcase/premium/popover/showcase.js +85 -50
  231. package/dist/showcase/premium/radio-group/showcase.cjs +1 -1
  232. package/dist/showcase/premium/radio-group/showcase.js +27 -4
  233. package/dist/showcase/premium/right-click-menu/showcase.cjs +1 -1
  234. package/dist/showcase/premium/right-click-menu/showcase.js +56 -43
  235. package/dist/showcase/premium/segmented-control/showcase.cjs +1 -1
  236. package/dist/showcase/premium/segmented-control/showcase.js +1 -0
  237. package/dist/showcase/premium/select/data.cjs +1 -1
  238. package/dist/showcase/premium/select/data.js +69 -34
  239. package/dist/showcase/premium/select/mock.cjs +20 -8
  240. package/dist/showcase/premium/select/mock.js +3 -2
  241. package/dist/showcase/premium/select/showcase.cjs +1 -1
  242. package/dist/showcase/premium/select/showcase.js +101 -86
  243. package/dist/showcase/premium/select/types.d.ts +3 -0
  244. package/dist/showcase/premium/statistic/showcase.cjs +1 -1
  245. package/dist/showcase/premium/statistic/showcase.js +57 -25
  246. package/dist/showcase/premium/switch/showcase.cjs +1 -1
  247. package/dist/showcase/premium/switch/showcase.js +25 -14
  248. package/dist/showcase/premium/tabs/showcase.cjs +1 -1
  249. package/dist/showcase/premium/tabs/showcase.js +171 -48
  250. package/dist/showcase/premium/textarea/mock.cjs +12 -4
  251. package/dist/showcase/premium/textarea/mock.js +1 -1
  252. package/dist/showcase/premium/textarea/showcase.cjs +1 -1
  253. package/dist/showcase/premium/textarea/showcase.js +8 -3
  254. package/dist/showcase/premium/toast/showcase.cjs +1 -1
  255. package/dist/showcase/premium/toast/showcase.js +32 -6
  256. package/dist/showcase/premium/types.d.ts +1 -1
  257. package/dist/showcase/registry-quality.cjs +1 -1
  258. package/dist/showcase/registry-quality.js +1 -0
  259. package/dist/showcase/registry-specific.cjs +1 -1
  260. package/dist/showcase/registry-specific.js +78 -74
  261. package/dist/showcase/render-registry-preview.cjs +1 -1
  262. package/dist/showcase/render-registry-preview.js +90 -108
  263. package/dist/showcase/site-data.cjs +1 -1
  264. package/dist/showcase/site-data.js +60 -21
  265. package/dist/showcase/tembro-registry.json.cjs +1 -1
  266. package/dist/showcase/tembro-registry.json.js +34 -20
  267. package/dist/showcase/types.d.ts +1 -1
  268. package/package.json +1 -1
  269. package/packages/cli/dist/index.cjs +31 -31
  270. package/packages/cli/vendor/src/components/calendar/calendar.tsx +59 -50
  271. package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +7 -4
  272. package/packages/cli/vendor/src/components/charts/charts.tsx +109 -66
  273. package/packages/cli/vendor/src/components/charts/progress-ring.tsx +37 -26
  274. package/packages/cli/vendor/src/components/data-table/data-table-column-visibility-menu.tsx +41 -22
  275. package/packages/cli/vendor/src/components/data-table/data-table-pagination.tsx +7 -7
  276. package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +8 -6
  277. package/packages/cli/vendor/src/components/data-table/data-table.tsx +21 -20
  278. package/packages/cli/vendor/src/components/display/carousel.tsx +102 -9
  279. package/packages/cli/vendor/src/components/display/code-block.tsx +22 -2
  280. package/packages/cli/vendor/src/components/display/delta-badge.tsx +11 -11
  281. package/packages/cli/vendor/src/components/display/kanban.tsx +103 -57
  282. package/packages/cli/vendor/src/components/display/metric-grid.tsx +16 -13
  283. package/packages/cli/vendor/src/components/display/qr-code.tsx +17 -15
  284. package/packages/cli/vendor/src/components/display/smart-card.tsx +1 -1
  285. package/packages/cli/vendor/src/components/display/status-legend.tsx +1 -1
  286. package/packages/cli/vendor/src/components/display/tag.tsx +39 -21
  287. package/packages/cli/vendor/src/components/display/tree-view.tsx +221 -84
  288. package/packages/cli/vendor/src/components/display/trend-card.tsx +6 -40
  289. package/packages/cli/vendor/src/components/feedback/alert.tsx +3 -1
  290. package/packages/cli/vendor/src/components/feedback/loading-state.tsx +33 -17
  291. package/packages/cli/vendor/src/components/feedback/page-state.tsx +8 -7
  292. package/packages/cli/vendor/src/components/form/form-field-shell.tsx +37 -8
  293. package/packages/cli/vendor/src/components/form/form-input.tsx +11 -12
  294. package/packages/cli/vendor/src/components/form/form-select.tsx +6 -4
  295. package/packages/cli/vendor/src/components/form/form-switch.tsx +9 -3
  296. package/packages/cli/vendor/src/components/form/form-textarea.tsx +6 -2
  297. package/packages/cli/vendor/src/components/inputs/async-select.tsx +11 -8
  298. package/packages/cli/vendor/src/components/inputs/search-input.tsx +5 -2
  299. package/packages/cli/vendor/src/components/inputs/simple-select.tsx +20 -190
  300. package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +3 -1
  301. package/packages/cli/vendor/src/components/layout/breadcrumbs.tsx +3 -1
  302. package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +28 -13
  303. package/packages/cli/vendor/src/components/modern/dual-list-picker.tsx +103 -35
  304. package/packages/cli/vendor/src/components/modern/rich-text-editor.tsx +25 -22
  305. package/packages/cli/vendor/src/components/modern/tour.tsx +47 -29
  306. package/packages/cli/vendor/src/components/navigation/command-bar.tsx +6 -0
  307. package/packages/cli/vendor/src/components/navigation/demo.tsx +0 -1
  308. package/packages/cli/vendor/src/components/navigation/nav-tabs.tsx +38 -29
  309. package/packages/cli/vendor/src/components/navigation/page-tabs.tsx +35 -23
  310. package/packages/cli/vendor/src/components/navigation/pagination.tsx +65 -31
  311. package/packages/cli/vendor/src/components/notifications/notification-center.tsx +64 -39
  312. package/packages/cli/vendor/src/components/notifications/toast.tsx +23 -21
  313. package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +1 -1
  314. package/packages/cli/vendor/src/components/overlay/confirm-dialog.tsx +45 -22
  315. package/packages/cli/vendor/src/components/overlay/drawer.tsx +18 -5
  316. package/packages/cli/vendor/src/components/ui/accordion/index.tsx +4 -0
  317. package/packages/cli/vendor/src/components/ui/badge/index.tsx +2 -1
  318. package/packages/cli/vendor/src/components/ui/button/index.tsx +11 -5
  319. package/packages/cli/vendor/src/components/ui/card/index.tsx +95 -25
  320. package/packages/cli/vendor/src/components/ui/dialog/index.tsx +2 -1
  321. package/packages/cli/vendor/src/components/ui/hover-card.tsx +54 -28
  322. package/packages/cli/vendor/src/components/ui/input/index.tsx +98 -0
  323. package/packages/cli/vendor/src/components/ui/popover/index.tsx +10 -8
  324. package/packages/cli/vendor/src/components/ui/radio-group/index.tsx +55 -6
  325. package/packages/cli/vendor/src/components/ui/right-click-menu/index.tsx +120 -9
  326. package/packages/cli/vendor/src/components/ui/segmented-control/index.tsx +29 -3
  327. package/packages/cli/vendor/src/components/ui/select/index.tsx +260 -34
  328. package/packages/cli/vendor/src/components/ui/switch/index.tsx +71 -6
  329. package/packages/cli/vendor/src/components/ui/tabs/index.tsx +22 -6
  330. package/packages/cli/vendor/src/components/ui/textarea/index.tsx +105 -15
  331. package/packages/cli/vendor/src/components/ui/textarea.tsx +2 -0
  332. package/packages/cli/vendor/src/components/ui/tooltip/index.tsx +67 -22
  333. package/packages/cli/vendor/src/components/upload/file-upload.tsx +120 -57
  334. package/packages/cli/vendor/src/components/upload/image-upload.tsx +71 -24
  335. package/packages/cli/vendor/src/public-component-surface.ts +3 -0
  336. package/packages/cli/vendor/src/showcase/component-api-schema.ts +79 -41
  337. package/packages/cli/vendor/src/showcase/create-demo.tsx +16 -15
  338. package/packages/cli/vendor/src/showcase/fallback.tsx +4 -19
  339. package/packages/cli/vendor/src/showcase/premium/alert/showcase.tsx +1 -0
  340. package/packages/cli/vendor/src/showcase/premium/app-sidebar/showcase.tsx +1 -0
  341. package/packages/cli/vendor/src/showcase/premium/badge/showcase.tsx +4 -2
  342. package/packages/cli/vendor/src/showcase/premium/badge/types.ts +1 -1
  343. package/packages/cli/vendor/src/showcase/premium/breadcrumbs/showcase.tsx +3 -1
  344. package/packages/cli/vendor/src/showcase/premium/button/mock.ts +2 -5
  345. package/packages/cli/vendor/src/showcase/premium/button/showcase.tsx +2 -2
  346. package/packages/cli/vendor/src/showcase/premium/card/showcase.tsx +26 -1
  347. package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +19 -3
  348. package/packages/cli/vendor/src/showcase/premium/command-bar/showcase.tsx +1 -1
  349. package/packages/cli/vendor/src/showcase/premium/data-table/mock.ts +26 -25
  350. package/packages/cli/vendor/src/showcase/premium/data-table/showcase.tsx +3 -3
  351. package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +3 -3
  352. package/packages/cli/vendor/src/showcase/premium/file-upload/showcase.tsx +21 -1
  353. package/packages/cli/vendor/src/showcase/premium/image-upload/showcase.tsx +4 -1
  354. package/packages/cli/vendor/src/showcase/premium/index.ts +0 -2
  355. package/packages/cli/vendor/src/showcase/premium/loading-state/showcase.tsx +1 -1
  356. package/packages/cli/vendor/src/showcase/premium/metric-grid/showcase.tsx +36 -4
  357. package/packages/cli/vendor/src/showcase/premium/notification-center/showcase.tsx +4 -3
  358. package/packages/cli/vendor/src/showcase/premium/page-state/showcase.tsx +1 -0
  359. package/packages/cli/vendor/src/showcase/premium/pagination/showcase.tsx +13 -1
  360. package/packages/cli/vendor/src/showcase/premium/popover/showcase.tsx +27 -11
  361. package/packages/cli/vendor/src/showcase/premium/radio-group/showcase.tsx +13 -1
  362. package/packages/cli/vendor/src/showcase/premium/right-click-menu/showcase.tsx +8 -5
  363. package/packages/cli/vendor/src/showcase/premium/segmented-control/showcase.tsx +1 -0
  364. package/packages/cli/vendor/src/showcase/premium/select/data.ts +12 -3
  365. package/packages/cli/vendor/src/showcase/premium/select/mock.ts +4 -4
  366. package/packages/cli/vendor/src/showcase/premium/select/showcase.tsx +35 -22
  367. package/packages/cli/vendor/src/showcase/premium/select/types.ts +3 -0
  368. package/packages/cli/vendor/src/showcase/premium/statistic/showcase.tsx +10 -1
  369. package/packages/cli/vendor/src/showcase/premium/switch/showcase.tsx +15 -6
  370. package/packages/cli/vendor/src/showcase/premium/tabs/showcase.tsx +48 -1
  371. package/packages/cli/vendor/src/showcase/premium/textarea/mock.ts +12 -4
  372. package/packages/cli/vendor/src/showcase/premium/textarea/showcase.tsx +5 -0
  373. package/packages/cli/vendor/src/showcase/premium/toast/showcase.tsx +17 -1
  374. package/packages/cli/vendor/src/showcase/premium/types.ts +1 -1
  375. package/packages/cli/vendor/src/showcase/registry-quality.ts +3 -2
  376. package/packages/cli/vendor/src/showcase/registry-specific.tsx +7 -8
  377. package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +5 -21
  378. package/packages/cli/vendor/src/showcase/site-data.tsx +21 -15
  379. package/packages/cli/vendor/src/showcase/tembro-registry.json +42 -20
  380. package/packages/cli/vendor/src/showcase/types.ts +1 -1
  381. package/registry.json +18 -6
@@ -1,17 +1,17 @@
1
1
  import { Button as e } from "../../../components/ui/button/index.js";
2
2
  import { Badge as t } from "../../../components/ui/badge/index.js";
3
- import { Select as n, SelectContent as r, SelectItem as i, SelectTrigger as a, SelectValue as o } from "../../../components/ui/select/index.js";
4
- import { selectDemoGroups as s } from "./data.js";
5
- import * as c from "react";
6
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
3
+ import { Select as n } from "../../../components/ui/select/index.js";
4
+ import { selectDemoGroups as r } from "./data.js";
5
+ import * as i from "react";
6
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
7
  //#region src/showcase/premium/select/showcase.tsx
8
- var d = "border-t border-[color:var(--aui-divider)] py-6";
9
- function f({ state: f, setState: p }) {
10
- let m = s[0].options, h = s[1].options, g = f.selectValue ?? m[0].value, _ = m.find((e) => e.value === g) ?? m[0], v = m[1] ?? m[0], [y, b] = c.useState("plan"), x = _.value === "enterprise" ? [
8
+ var s = "border-t border-[color:var(--aui-divider)] py-6";
9
+ function c({ state: c, setState: l }) {
10
+ let u = r[0].options, d = r[1].options, f = r[2].options, p = c.selectValue ?? u[0].value, m = u.find((e) => e.value === p) ?? u[0], h = u[1] ?? u[0], [g, _] = i.useState("plan"), [v, y] = i.useState("north"), b = m.value === "enterprise" ? [
11
11
  ["Seats", "Unlimited"],
12
12
  ["Support", "Dedicated"],
13
13
  ["SLA", "Priority"]
14
- ] : _.value === "growth" ? [
14
+ ] : m.value === "growth" ? [
15
15
  ["Seats", "25"],
16
16
  ["Support", "Shared"],
17
17
  ["SLA", "Same day"]
@@ -20,175 +20,190 @@ function f({ state: f, setState: p }) {
20
20
  ["Support", "Email"],
21
21
  ["SLA", "Standard"]
22
22
  ];
23
- return /* @__PURE__ */ u("div", {
23
+ return /* @__PURE__ */ o("div", {
24
24
  className: "space-y-0",
25
- children: [/* @__PURE__ */ u("section", {
25
+ children: [/* @__PURE__ */ o("section", {
26
26
  className: "pb-6",
27
- children: [/* @__PURE__ */ u("div", {
27
+ children: [/* @__PURE__ */ o("div", {
28
28
  className: "flex flex-col gap-6 xl:flex-row xl:items-end xl:justify-between",
29
- children: [/* @__PURE__ */ u("div", {
29
+ children: [/* @__PURE__ */ o("div", {
30
30
  className: "max-w-xl",
31
31
  children: [
32
- /* @__PURE__ */ l("p", {
32
+ /* @__PURE__ */ a("p", {
33
33
  className: "text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted",
34
34
  children: "Selection"
35
35
  }),
36
- /* @__PURE__ */ l("h3", {
36
+ /* @__PURE__ */ a("h3", {
37
37
  className: "mt-3 text-2xl font-semibold tracking-tight aui-text-strong",
38
38
  children: "One clean select surface first"
39
39
  }),
40
- /* @__PURE__ */ l("p", {
40
+ /* @__PURE__ */ a("p", {
41
41
  className: "mt-3 text-sm leading-6 aui-text-muted",
42
42
  children: "Show the default trigger, controlled value, and summary update in one place."
43
43
  })
44
44
  ]
45
- }), /* @__PURE__ */ u("div", {
45
+ }), /* @__PURE__ */ o("div", {
46
46
  className: "grid gap-3 sm:grid-cols-3 xl:min-w-[360px] xl:max-w-[420px]",
47
47
  children: [
48
- /* @__PURE__ */ u("div", {
48
+ /* @__PURE__ */ o("div", {
49
49
  className: "rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3",
50
- children: [/* @__PURE__ */ l("p", {
50
+ children: [/* @__PURE__ */ a("p", {
51
51
  className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
52
52
  children: "Choice"
53
- }), /* @__PURE__ */ l("p", {
53
+ }), /* @__PURE__ */ a("p", {
54
54
  className: "mt-2 text-lg font-semibold aui-text-strong",
55
- children: _.label
55
+ children: m.label
56
56
  })]
57
57
  }),
58
- /* @__PURE__ */ u("div", {
58
+ /* @__PURE__ */ o("div", {
59
59
  className: "rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3",
60
- children: [/* @__PURE__ */ l("p", {
60
+ children: [/* @__PURE__ */ a("p", {
61
61
  className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
62
62
  children: "Mode"
63
- }), /* @__PURE__ */ l("p", {
63
+ }), /* @__PURE__ */ a("p", {
64
64
  className: "mt-2 text-lg font-semibold capitalize aui-text-strong",
65
- children: y
65
+ children: g
66
66
  })]
67
67
  }),
68
- /* @__PURE__ */ u("div", {
68
+ /* @__PURE__ */ o("div", {
69
69
  className: "rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3",
70
- children: [/* @__PURE__ */ l("p", {
70
+ children: [/* @__PURE__ */ a("p", {
71
71
  className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
72
72
  children: "Options"
73
- }), /* @__PURE__ */ l("p", {
73
+ }), /* @__PURE__ */ a("p", {
74
74
  className: "mt-2 text-lg font-semibold aui-text-strong",
75
- children: y === "plan" ? m.length : h.length
75
+ children: g === "plan" ? u.length : d.length
76
76
  })]
77
77
  })
78
78
  ]
79
79
  })]
80
- }), /* @__PURE__ */ u("div", {
80
+ }), /* @__PURE__ */ o("div", {
81
81
  className: "mt-6 flex flex-wrap gap-2",
82
- children: [/* @__PURE__ */ l(e, {
82
+ children: [/* @__PURE__ */ a(e, {
83
83
  size: "sm",
84
- variant: y === "plan" ? "default" : "outline",
85
- onClick: () => b("plan"),
84
+ variant: g === "plan" ? "default" : "outline",
85
+ onClick: () => _("plan"),
86
86
  children: "Default trigger"
87
- }), /* @__PURE__ */ l(e, {
87
+ }), /* @__PURE__ */ a(e, {
88
88
  size: "sm",
89
- variant: y === "density" ? "default" : "outline",
90
- onClick: () => b("density"),
89
+ variant: g === "density" ? "default" : "outline",
90
+ onClick: () => _("density"),
91
91
  children: "Compact trigger"
92
92
  })]
93
93
  })]
94
- }), /* @__PURE__ */ l("section", {
95
- className: d,
96
- children: /* @__PURE__ */ u("div", {
94
+ }), /* @__PURE__ */ a("section", {
95
+ className: s,
96
+ children: /* @__PURE__ */ o("div", {
97
97
  className: "grid gap-6 xl:grid-cols-[minmax(0,0.92fr)_minmax(0,1.08fr)]",
98
- children: [/* @__PURE__ */ u("div", {
98
+ children: [/* @__PURE__ */ o("div", {
99
99
  className: "space-y-4",
100
100
  children: [
101
- /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("p", {
101
+ /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
102
102
  className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
103
103
  children: "Primary select"
104
- }), /* @__PURE__ */ l("h4", {
104
+ }), /* @__PURE__ */ a("h4", {
105
105
  className: "mt-2 text-xl font-semibold tracking-tight aui-text-strong",
106
- children: y === "plan" ? "Standard choice trigger" : "Compact toolbar trigger"
106
+ children: g === "plan" ? "Standard choice trigger" : "Compact toolbar trigger"
107
107
  })] }),
108
- /* @__PURE__ */ u("div", {
108
+ /* @__PURE__ */ o("div", {
109
109
  className: "rounded-[20px] border border-[color:var(--aui-divider)] p-4",
110
- children: [/* @__PURE__ */ l("p", {
110
+ children: [/* @__PURE__ */ a("p", {
111
111
  className: "text-sm font-medium aui-text-muted",
112
- children: y === "plan" ? "Workspace plan" : "Toolbar density"
113
- }), /* @__PURE__ */ l("div", {
112
+ children: g === "plan" ? "Workspace plan" : "Toolbar density"
113
+ }), /* @__PURE__ */ a("div", {
114
114
  className: "mt-3",
115
- children: y === "plan" ? /* @__PURE__ */ u(n, {
116
- value: g,
117
- onValueChange: (e) => p({ selectValue: e ?? m[0].value }),
118
- children: [/* @__PURE__ */ l(a, {
119
- className: "w-full",
120
- children: /* @__PURE__ */ l(o, {})
121
- }), /* @__PURE__ */ l(r, { children: m.map((e) => /* @__PURE__ */ l(i, {
122
- value: e.value,
123
- children: e.label
124
- }, e.value)) })]
125
- }) : /* @__PURE__ */ u(n, {
126
- defaultValue: h[0].value,
127
- children: [/* @__PURE__ */ l(a, {
128
- size: "sm",
129
- className: "w-full",
130
- children: /* @__PURE__ */ l(o, {})
131
- }), /* @__PURE__ */ l(r, { children: h.map((e) => /* @__PURE__ */ l(i, {
132
- value: e.value,
133
- children: e.label
134
- }, e.value)) })]
115
+ children: g === "plan" ? /* @__PURE__ */ a(n, {
116
+ value: p,
117
+ onValueChange: (e) => l({ selectValue: e ?? u[0].value }),
118
+ options: u,
119
+ triggerClassName: "w-full"
120
+ }) : /* @__PURE__ */ a(n, {
121
+ defaultValue: d[0].value,
122
+ options: d,
123
+ size: "sm",
124
+ triggerClassName: "w-full"
135
125
  })
136
126
  })]
137
127
  }),
138
- /* @__PURE__ */ l("div", {
128
+ /* @__PURE__ */ o("div", {
129
+ className: "rounded-[20px] border border-[color:var(--aui-divider)] p-4",
130
+ children: [/* @__PURE__ */ a("p", {
131
+ className: "text-sm font-medium aui-text-muted",
132
+ children: "Grouped searchable select"
133
+ }), /* @__PURE__ */ a("div", {
134
+ className: "mt-3",
135
+ children: /* @__PURE__ */ a(n, {
136
+ value: v,
137
+ onValueChange: (e) => y(e ?? "north"),
138
+ searchable: !0,
139
+ clearable: !0,
140
+ placeholder: "Choose workspace",
141
+ emptyMessage: "No workspace matched",
142
+ groups: [{
143
+ label: "Regions",
144
+ options: f.slice(0, 2)
145
+ }, {
146
+ label: "Operations",
147
+ options: f.slice(2)
148
+ }],
149
+ triggerClassName: "w-full"
150
+ })
151
+ })]
152
+ }),
153
+ /* @__PURE__ */ a("div", {
139
154
  className: "grid gap-3 sm:grid-cols-3",
140
- children: x.map(([e, t]) => /* @__PURE__ */ u("div", {
155
+ children: b.map(([e, t]) => /* @__PURE__ */ o("div", {
141
156
  className: "rounded-[18px] border border-[color:var(--aui-divider)] px-4 py-3",
142
- children: [/* @__PURE__ */ l("p", {
157
+ children: [/* @__PURE__ */ a("p", {
143
158
  className: "text-xs aui-text-muted",
144
159
  children: e
145
- }), /* @__PURE__ */ l("p", {
160
+ }), /* @__PURE__ */ a("p", {
146
161
  className: "mt-1 text-sm font-medium aui-text-strong",
147
162
  children: t
148
163
  })]
149
164
  }, e))
150
165
  })
151
166
  ]
152
- }), /* @__PURE__ */ u("div", {
167
+ }), /* @__PURE__ */ o("div", {
153
168
  className: "space-y-4",
154
169
  children: [
155
- /* @__PURE__ */ u("div", {
170
+ /* @__PURE__ */ o("div", {
156
171
  className: "flex items-center justify-between gap-3",
157
- children: [/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("p", {
172
+ children: [/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
158
173
  className: "text-xs font-semibold uppercase tracking-[0.22em] aui-text-muted",
159
174
  children: "Controlled result"
160
- }), /* @__PURE__ */ l("h4", {
175
+ }), /* @__PURE__ */ a("h4", {
161
176
  className: "mt-2 text-xl font-semibold tracking-tight aui-text-strong",
162
- children: _.label
163
- })] }), /* @__PURE__ */ l(t, {
177
+ children: m.label
178
+ })] }), /* @__PURE__ */ a(t, {
164
179
  variant: "outline",
165
180
  className: "rounded-full",
166
- children: _.value
181
+ children: m.value
167
182
  })]
168
183
  }),
169
- /* @__PURE__ */ l("div", {
184
+ /* @__PURE__ */ a("div", {
170
185
  className: "border-y border-[color:var(--aui-divider)]",
171
186
  children: [
172
187
  "Base Select should cover normal forms and static choices first.",
173
188
  "Async and searchable variants should be documented as upgrades, not parallel defaults.",
174
189
  "Controlled value must update nearby product UI immediately."
175
- ].map((e) => /* @__PURE__ */ l("div", {
190
+ ].map((e) => /* @__PURE__ */ a("div", {
176
191
  className: "border-b border-[color:var(--aui-divider)] py-3 text-sm leading-6 aui-text-muted last:border-b-0",
177
192
  children: e
178
193
  }, e))
179
194
  }),
180
- /* @__PURE__ */ u("div", {
195
+ /* @__PURE__ */ o("div", {
181
196
  className: "flex flex-wrap gap-2",
182
- children: [/* @__PURE__ */ u(e, {
197
+ children: [/* @__PURE__ */ o(e, {
183
198
  type: "button",
184
199
  size: "sm",
185
- onClick: () => p({ selectValue: v.value }),
186
- children: ["Choose ", v.label]
187
- }), /* @__PURE__ */ l(e, {
200
+ onClick: () => l({ selectValue: h.value }),
201
+ children: ["Choose ", h.label]
202
+ }), /* @__PURE__ */ a(e, {
188
203
  type: "button",
189
204
  size: "sm",
190
205
  variant: "secondary",
191
- onClick: () => p({ selectValue: m[0].value }),
206
+ onClick: () => l({ selectValue: u[0].value }),
192
207
  children: "Reset"
193
208
  })]
194
209
  })
@@ -199,4 +214,4 @@ function f({ state: f, setState: p }) {
199
214
  });
200
215
  }
201
216
  //#endregion
202
- export { f as SelectShowcase };
217
+ export { c as SelectShowcase };
@@ -1,6 +1,9 @@
1
1
  export type SelectDemoOption = {
2
2
  value: string;
3
3
  label: string;
4
+ description?: string;
5
+ disabled?: boolean;
6
+ keywords?: string[];
4
7
  };
5
8
  export type SelectDemoGroup = {
6
9
  title: string;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../components/ui/badge/index.cjs"),t=require("../../../components/display/statistic.cjs");let n=require("react/jsx-runtime");var r=`border-t border-[color:var(--aui-divider)] py-6`;function i(){return(0,n.jsxs)(`div`,{className:`space-y-0`,children:[(0,n.jsxs)(`section`,{className:`pb-6`,children:[(0,n.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Installed display primitive`}),(0,n.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`Statistic is the KPI surface, not a generic card clone`}),(0,n.jsx)(`p`,{className:`mt-3 max-w-2xl text-sm leading-6 aui-text-muted`,children:`Use the base statistic when the number matters most. Promote to StatisticCard or StatisticGrid when several metrics need shared structure.`})]}),(0,n.jsx)(`section`,{className:r,children:(0,n.jsxs)(t.StatisticGrid,{columns:3,children:[(0,n.jsx)(t.StatisticCard,{label:`Revenue`,value:`$24.8k`,change:`+12.4%`,trend:`up`,description:`vs last 30 days`}),(0,n.jsx)(t.StatisticCard,{label:`Errors`,value:`14`,change:`-3.1%`,trend:`down`,description:`production incidents`}),(0,n.jsx)(t.StatisticCard,{label:`Adoption`,value:`86%`,description:`workspace activation rate`,action:(0,n.jsx)(e.Badge,{variant:`secondary`,children:`Live`})})]})}),(0,n.jsx)(`section`,{className:r,children:(0,n.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[1fr_360px]`,children:[(0,n.jsx)(`div`,{className:`rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] p-4`,children:(0,n.jsx)(t.Statistic,{label:`Publish latency`,value:`1.8s`,suffix:`avg`,change:`-0.4s`,trend:`down`,description:`from the previous release window`})}),(0,n.jsxs)(`div`,{className:`rounded-xl border border-[color:var(--aui-divider)] p-4`,children:[(0,n.jsx)(`p`,{className:`text-sm font-semibold aui-text-strong`,children:`Guidance`}),(0,n.jsxs)(`div`,{className:`mt-3 space-y-3 text-sm leading-6 aui-text-muted`,children:[(0,n.jsx)(`p`,{children:`Keep labels short and units clear. Users should understand the value before reading the description.`}),(0,n.jsx)(`p`,{children:`Trend color should reinforce meaning, not carry the whole message alone.`})]})]})]})})]})}exports.StatisticShowcase=i;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../components/ui/badge/index.cjs"),t=require("../../../components/display/statistic.cjs"),n=require("../../../components/display/trend-card.cjs"),r=require("../../../components/charts/progress-ring.cjs");let i=require("react/jsx-runtime");var a=`border-t border-[color:var(--aui-divider)] py-6`;function o(){return(0,i.jsxs)(`div`,{className:`space-y-0`,children:[(0,i.jsxs)(`section`,{className:`pb-6`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Installed display primitive`}),(0,i.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`Statistic is the KPI surface, not a generic card clone`}),(0,i.jsx)(`p`,{className:`mt-3 max-w-2xl text-sm leading-6 aui-text-muted`,children:`Use the base statistic when the number matters most. Promote to StatisticCard or StatisticGrid when several metrics need shared structure.`})]}),(0,i.jsx)(`section`,{className:a,children:(0,i.jsxs)(t.StatisticGrid,{columns:3,children:[(0,i.jsx)(t.StatisticCard,{label:`Revenue`,value:`$24.8k`,change:`+12.4%`,trend:`up`,description:`vs last 30 days`}),(0,i.jsx)(t.StatisticCard,{label:`Errors`,value:`14`,change:`-3.1%`,trend:`down`,description:`production incidents`}),(0,i.jsx)(t.StatisticCard,{label:`Adoption`,value:`86%`,description:`workspace activation rate`,action:(0,i.jsx)(e.Badge,{variant:`secondary`,children:`Live`})})]})}),(0,i.jsx)(`section`,{className:a,children:(0,i.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[1fr_360px]`,children:[(0,i.jsx)(`div`,{className:`rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] p-4`,children:(0,i.jsx)(t.Statistic,{label:`Publish latency`,value:`1.8s`,suffix:`avg`,change:`-0.4s`,trend:`down`,description:`from the previous release window`})}),(0,i.jsxs)(`div`,{className:`rounded-xl border border-[color:var(--aui-divider)] p-4`,children:[(0,i.jsx)(`p`,{className:`text-sm font-semibold aui-text-strong`,children:`Guidance`}),(0,i.jsxs)(`div`,{className:`mt-3 space-y-3 text-sm leading-6 aui-text-muted`,children:[(0,i.jsx)(`p`,{children:`Keep labels short and units clear. Users should understand the value before reading the description.`}),(0,i.jsx)(`p`,{children:`Trend color should reinforce meaning, not carry the whole message alone.`})]})]})]})}),(0,i.jsx)(`section`,{className:a,children:(0,i.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[1fr_240px]`,children:[(0,i.jsx)(n.TrendCard,{title:`Release velocity`,value:`24`,change:`+3`,trend:`up`,description:`completed this sprint`,sparkline:[8,10,9,14,18,19,24]}),(0,i.jsx)(`div`,{className:`rounded-xl border border-[color:var(--aui-divider)] p-4`,children:(0,i.jsx)(r.ProgressRing,{value:76,label:`76%`,description:`coverage`,tone:`success`})})]})})]})}exports.StatisticShowcase=o;
@@ -1,53 +1,55 @@
1
1
  import { Badge as e } from "../../../components/ui/badge/index.js";
2
2
  import { Statistic as t, StatisticCard as n, StatisticGrid as r } from "../../../components/display/statistic.js";
3
- import { jsx as i, jsxs as a } from "react/jsx-runtime";
3
+ import { TrendCard as i } from "../../../components/display/trend-card.js";
4
+ import { ProgressRing as a } from "../../../components/charts/progress-ring.js";
5
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
4
6
  //#region src/showcase/premium/statistic/showcase.tsx
5
- var o = "border-t border-[color:var(--aui-divider)] py-6";
6
- function s() {
7
- return /* @__PURE__ */ a("div", {
7
+ var c = "border-t border-[color:var(--aui-divider)] py-6";
8
+ function l() {
9
+ return /* @__PURE__ */ s("div", {
8
10
  className: "space-y-0",
9
11
  children: [
10
- /* @__PURE__ */ a("section", {
12
+ /* @__PURE__ */ s("section", {
11
13
  className: "pb-6",
12
14
  children: [
13
- /* @__PURE__ */ i("p", {
15
+ /* @__PURE__ */ o("p", {
14
16
  className: "text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted",
15
17
  children: "Installed display primitive"
16
18
  }),
17
- /* @__PURE__ */ i("h3", {
19
+ /* @__PURE__ */ o("h3", {
18
20
  className: "mt-3 text-2xl font-semibold tracking-tight aui-text-strong",
19
21
  children: "Statistic is the KPI surface, not a generic card clone"
20
22
  }),
21
- /* @__PURE__ */ i("p", {
23
+ /* @__PURE__ */ o("p", {
22
24
  className: "mt-3 max-w-2xl text-sm leading-6 aui-text-muted",
23
25
  children: "Use the base statistic when the number matters most. Promote to StatisticCard or StatisticGrid when several metrics need shared structure."
24
26
  })
25
27
  ]
26
28
  }),
27
- /* @__PURE__ */ i("section", {
28
- className: o,
29
- children: /* @__PURE__ */ a(r, {
29
+ /* @__PURE__ */ o("section", {
30
+ className: c,
31
+ children: /* @__PURE__ */ s(r, {
30
32
  columns: 3,
31
33
  children: [
32
- /* @__PURE__ */ i(n, {
34
+ /* @__PURE__ */ o(n, {
33
35
  label: "Revenue",
34
36
  value: "$24.8k",
35
37
  change: "+12.4%",
36
38
  trend: "up",
37
39
  description: "vs last 30 days"
38
40
  }),
39
- /* @__PURE__ */ i(n, {
41
+ /* @__PURE__ */ o(n, {
40
42
  label: "Errors",
41
43
  value: "14",
42
44
  change: "-3.1%",
43
45
  trend: "down",
44
46
  description: "production incidents"
45
47
  }),
46
- /* @__PURE__ */ i(n, {
48
+ /* @__PURE__ */ o(n, {
47
49
  label: "Adoption",
48
50
  value: "86%",
49
51
  description: "workspace activation rate",
50
- action: /* @__PURE__ */ i(e, {
52
+ action: /* @__PURE__ */ o(e, {
51
53
  variant: "secondary",
52
54
  children: "Live"
53
55
  })
@@ -55,13 +57,13 @@ function s() {
55
57
  ]
56
58
  })
57
59
  }),
58
- /* @__PURE__ */ i("section", {
59
- className: o,
60
- children: /* @__PURE__ */ a("div", {
60
+ /* @__PURE__ */ o("section", {
61
+ className: c,
62
+ children: /* @__PURE__ */ s("div", {
61
63
  className: "grid gap-6 xl:grid-cols-[1fr_360px]",
62
- children: [/* @__PURE__ */ i("div", {
64
+ children: [/* @__PURE__ */ o("div", {
63
65
  className: "rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] p-4",
64
- children: /* @__PURE__ */ i(t, {
66
+ children: /* @__PURE__ */ o(t, {
65
67
  label: "Publish latency",
66
68
  value: "1.8s",
67
69
  suffix: "avg",
@@ -69,20 +71,50 @@ function s() {
69
71
  trend: "down",
70
72
  description: "from the previous release window"
71
73
  })
72
- }), /* @__PURE__ */ a("div", {
74
+ }), /* @__PURE__ */ s("div", {
73
75
  className: "rounded-xl border border-[color:var(--aui-divider)] p-4",
74
- children: [/* @__PURE__ */ i("p", {
76
+ children: [/* @__PURE__ */ o("p", {
75
77
  className: "text-sm font-semibold aui-text-strong",
76
78
  children: "Guidance"
77
- }), /* @__PURE__ */ a("div", {
79
+ }), /* @__PURE__ */ s("div", {
78
80
  className: "mt-3 space-y-3 text-sm leading-6 aui-text-muted",
79
- children: [/* @__PURE__ */ i("p", { children: "Keep labels short and units clear. Users should understand the value before reading the description." }), /* @__PURE__ */ i("p", { children: "Trend color should reinforce meaning, not carry the whole message alone." })]
81
+ children: [/* @__PURE__ */ o("p", { children: "Keep labels short and units clear. Users should understand the value before reading the description." }), /* @__PURE__ */ o("p", { children: "Trend color should reinforce meaning, not carry the whole message alone." })]
80
82
  })]
81
83
  })]
82
84
  })
85
+ }),
86
+ /* @__PURE__ */ o("section", {
87
+ className: c,
88
+ children: /* @__PURE__ */ s("div", {
89
+ className: "grid gap-6 xl:grid-cols-[1fr_240px]",
90
+ children: [/* @__PURE__ */ o(i, {
91
+ title: "Release velocity",
92
+ value: "24",
93
+ change: "+3",
94
+ trend: "up",
95
+ description: "completed this sprint",
96
+ sparkline: [
97
+ 8,
98
+ 10,
99
+ 9,
100
+ 14,
101
+ 18,
102
+ 19,
103
+ 24
104
+ ]
105
+ }), /* @__PURE__ */ o("div", {
106
+ className: "rounded-xl border border-[color:var(--aui-divider)] p-4",
107
+ children: /* @__PURE__ */ o(a, {
108
+ value: 76,
109
+ label: "76%",
110
+ description: "coverage",
111
+ tone: "success"
112
+ })
113
+ })]
114
+ })
83
115
  })
84
116
  ]
85
117
  });
86
118
  }
87
119
  //#endregion
88
- export { s as StatisticShowcase };
120
+ export { l as StatisticShowcase };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../components/ui/button/index.cjs"),t=require("../../../components/ui/switch/index.cjs"),n=require("../../../components/ui/badge/index.cjs"),r=require("./data.cjs");let i=require("react/jsx-runtime");var a=`rounded-[22px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`;function o({state:o,setState:s}){return(0,i.jsxs)(`div`,{className:`space-y-5`,children:[(0,i.jsxs)(`section`,{className:`rounded-[24px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5 sm:p-6`,children:[(0,i.jsxs)(`div`,{className:`flex flex-col gap-6 xl:flex-row xl:items-start xl:justify-between`,children:[(0,i.jsxs)(`div`,{className:`max-w-xl`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted`,children:`Preferences`}),(0,i.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`Switches should feel like settings`}),(0,i.jsx)(`p`,{className:`mt-3 max-w-lg text-sm leading-6 aui-text-muted`,children:`This pattern is for single on/off preferences. The preview should read like a settings page, not a stack of anonymous toggles.`})]}),(0,i.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,i.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Controlled`}),(0,i.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Settings`}),(0,i.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Single preference`})]})]}),(0,i.jsx)(`div`,{className:`mt-6 grid gap-3`,children:r.switchDemoRows.map((e,n)=>(0,i.jsxs)(`div`,{className:`${a} flex items-center justify-between gap-4`,children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`p`,{className:`font-medium aui-text-strong`,children:e.title}),(0,i.jsx)(`p`,{className:`text-sm aui-text-muted`,children:e.description})]}),(0,i.jsx)(t.Switch,{checked:n===0?o.switchOn:e.defaultChecked,onCheckedChange:n===0?e=>s({switchOn:e}):void 0,defaultChecked:n>0?e.defaultChecked:void 0})]},e.title))})]}),(0,i.jsx)(`section`,{className:a,children:(0,i.jsxs)(`div`,{className:`flex flex-col gap-5 lg:flex-row lg:items-center lg:justify-between`,children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Live state`}),(0,i.jsxs)(`h4`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:[`Dark mode sync is `,o.switchOn?`on`:`off`]}),(0,i.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Switches should show immediate preference feedback without requiring a save button.`})]}),(0,i.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,i.jsx)(e.Button,{type:`button`,size:`sm`,onClick:()=>s({switchOn:!0}),children:`Turn on`}),(0,i.jsx)(e.Button,{type:`button`,size:`sm`,variant:`secondary`,onClick:()=>s({switchOn:!1}),children:`Turn off`})]})]})})]})}exports.SwitchShowcase=o;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../components/ui/button/index.cjs"),t=require("../../../components/ui/switch/index.cjs"),n=require("../../../components/ui/badge/index.cjs"),r=require("./data.cjs");let i=require("react/jsx-runtime");var a=`rounded-[22px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`;function o({state:o,setState:s}){return(0,i.jsxs)(`div`,{className:`space-y-5`,children:[(0,i.jsxs)(`section`,{className:`rounded-[24px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5 sm:p-6`,children:[(0,i.jsxs)(`div`,{className:`flex flex-col gap-6 xl:flex-row xl:items-start xl:justify-between`,children:[(0,i.jsxs)(`div`,{className:`max-w-xl`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted`,children:`Preferences`}),(0,i.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`Switches should feel like settings`}),(0,i.jsx)(`p`,{className:`mt-3 max-w-lg text-sm leading-6 aui-text-muted`,children:`This pattern is for single on/off preferences. The preview should read like a settings page, not a stack of anonymous toggles.`})]}),(0,i.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,i.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Controlled`}),(0,i.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Settings`}),(0,i.jsx)(n.Badge,{variant:`outline`,className:`rounded-full`,children:`Single preference`})]})]}),(0,i.jsx)(`div`,{className:`mt-6 grid gap-3`,children:r.switchDemoRows.map((e,n)=>(0,i.jsx)(`div`,{className:a,children:(0,i.jsx)(t.Switch,{label:e.title,description:e.description,checked:n===0?o.switchOn:e.defaultChecked,onCheckedChange:n===0?e=>s({switchOn:e}):void 0,defaultChecked:n>0?e.defaultChecked:void 0,size:n===0?`lg`:`md`,labelPlacement:`start`,className:`w-full justify-between`})},e.title))})]}),(0,i.jsxs)(`section`,{className:a,children:[(0,i.jsxs)(`div`,{className:`flex flex-col gap-5 lg:flex-row lg:items-center lg:justify-between`,children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Live state`}),(0,i.jsxs)(`h4`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:[`Dark mode sync is `,o.switchOn?`on`:`off`]}),(0,i.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Switches should show immediate preference feedback without requiring a save button.`})]}),(0,i.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,i.jsx)(e.Button,{type:`button`,size:`sm`,onClick:()=>s({switchOn:!0}),children:`Turn on`}),(0,i.jsx)(e.Button,{type:`button`,size:`sm`,variant:`secondary`,onClick:()=>s({switchOn:!1}),children:`Turn off`})]})]}),(0,i.jsxs)(`div`,{className:`mt-5 grid gap-3 sm:grid-cols-2`,children:[(0,i.jsx)(t.Switch,{label:`Sync in progress`,description:`Loading disables the control until the request finishes.`,loading:!0,defaultChecked:!0}),(0,i.jsx)(t.Switch,{label:`Invalid setting`,description:`Error state keeps the same field layout.`,invalid:!0})]})]})]})}exports.SwitchShowcase=o;
@@ -50,24 +50,23 @@ function s({ state: s, setState: c }) {
50
50
  })]
51
51
  }), /* @__PURE__ */ i("div", {
52
52
  className: "mt-6 grid gap-3",
53
- children: r.map((e, n) => /* @__PURE__ */ a("div", {
54
- className: `${o} flex items-center justify-between gap-4`,
55
- children: [/* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("p", {
56
- className: "font-medium aui-text-strong",
57
- children: e.title
58
- }), /* @__PURE__ */ i("p", {
59
- className: "text-sm aui-text-muted",
60
- children: e.description
61
- })] }), /* @__PURE__ */ i(t, {
53
+ children: r.map((e, n) => /* @__PURE__ */ i("div", {
54
+ className: o,
55
+ children: /* @__PURE__ */ i(t, {
56
+ label: e.title,
57
+ description: e.description,
62
58
  checked: n === 0 ? s.switchOn : e.defaultChecked,
63
59
  onCheckedChange: n === 0 ? (e) => c({ switchOn: e }) : void 0,
64
- defaultChecked: n > 0 ? e.defaultChecked : void 0
65
- })]
60
+ defaultChecked: n > 0 ? e.defaultChecked : void 0,
61
+ size: n === 0 ? "lg" : "md",
62
+ labelPlacement: "start",
63
+ className: "w-full justify-between"
64
+ })
66
65
  }, e.title))
67
66
  })]
68
- }), /* @__PURE__ */ i("section", {
67
+ }), /* @__PURE__ */ a("section", {
69
68
  className: o,
70
- children: /* @__PURE__ */ a("div", {
69
+ children: [/* @__PURE__ */ a("div", {
71
70
  className: "flex flex-col gap-5 lg:flex-row lg:items-center lg:justify-between",
72
71
  children: [/* @__PURE__ */ a("div", { children: [
73
72
  /* @__PURE__ */ i("p", {
@@ -97,7 +96,19 @@ function s({ state: s, setState: c }) {
97
96
  children: "Turn off"
98
97
  })]
99
98
  })]
100
- })
99
+ }), /* @__PURE__ */ a("div", {
100
+ className: "mt-5 grid gap-3 sm:grid-cols-2",
101
+ children: [/* @__PURE__ */ i(t, {
102
+ label: "Sync in progress",
103
+ description: "Loading disables the control until the request finishes.",
104
+ loading: !0,
105
+ defaultChecked: !0
106
+ }), /* @__PURE__ */ i(t, {
107
+ label: "Invalid setting",
108
+ description: "Error state keeps the same field layout.",
109
+ invalid: !0
110
+ })]
111
+ })]
101
112
  })]
102
113
  });
103
114
  }
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../components/ui/button/index.cjs"),t=require("../../../components/ui/tabs/index.cjs"),n=require("./data.cjs");let r=require("react/jsx-runtime");var i=`rounded-[22px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`;function a({state:a,setState:o}){let s=n.tabsDemoPanels.find(e=>e.value===a.activeTab);return(0,r.jsxs)(`div`,{className:`space-y-5`,children:[(0,r.jsxs)(`section`,{className:`rounded-[24px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5 sm:p-6`,children:[(0,r.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted`,children:`View switching`}),(0,r.jsx)(`h3`,{className:`aui-text-strong mt-3 text-2xl font-semibold tracking-tight`,children:`Tabs should read like page sections`}),(0,r.jsx)(`p`,{className:`aui-text-muted mt-3 max-w-2xl text-sm leading-6`,children:`Overview, activity and settings stay separated without turning the screen into a navigation maze.`})]}),(0,r.jsxs)(`section`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,r.jsxs)(`div`,{className:i,children:[(0,r.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Current tab`}),(0,r.jsx)(`p`,{className:`mt-3 text-lg font-semibold aui-text-strong`,children:s?.label}),(0,r.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`The selected view should feel like a real section change, not a tiny state toggle.`})]}),(0,r.jsxs)(`div`,{className:i,children:[(0,r.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Sections`}),(0,r.jsxs)(`p`,{className:`mt-3 text-lg font-semibold aui-text-strong`,children:[n.tabsDemoPanels.length,` surfaces`]}),(0,r.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Use a small number of high-signal tabs so the layout stays readable.`})]}),(0,r.jsxs)(`div`,{className:i,children:[(0,r.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Pattern`}),(0,r.jsx)(`p`,{className:`mt-3 text-lg font-semibold aui-text-strong`,children:`Page sections`}),(0,r.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Tabs work best when each panel owns a distinct slice of the workflow.`})]})]}),(0,r.jsx)(`div`,{className:i,children:(0,r.jsxs)(t.Tabs,{value:a.activeTab,onValueChange:e=>o({activeTab:e}),children:[(0,r.jsx)(t.TabsList,{children:n.tabsDemoPanels.map(e=>(0,r.jsx)(t.TabsTrigger,{value:e.value,children:e.label},e.value))}),n.tabsDemoPanels.map(e=>(0,r.jsx)(t.TabsContent,{value:e.value,className:`aui-text-muted mt-4 border-t border-[color:var(--aui-divider)] pt-4 text-sm leading-6`,children:e.content},e.value))]})}),(0,r.jsx)(`section`,{className:i,children:(0,r.jsxs)(`div`,{className:`flex flex-col gap-5 lg:flex-row lg:items-center lg:justify-between`,children:[(0,r.jsxs)(`div`,{children:[(0,r.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Live state`}),(0,r.jsxs)(`h4`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:[`Active tab: `,s?.label]}),(0,r.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Change tabs above or jump directly to a common product section.`})]}),(0,r.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:n.tabsDemoPanels.map(t=>(0,r.jsx)(e.Button,{type:`button`,size:`sm`,variant:a.activeTab===t.value?`default`:`secondary`,onClick:()=>o({activeTab:t.value}),children:t.label},t.value))})]})})]})}exports.TabsShowcase=a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../components/ui/button/index.cjs"),t=require("../../../components/ui/tabs/index.cjs"),n=require("./data.cjs");let r=require("lucide-react"),i=require("react/jsx-runtime");var a=`rounded-[22px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5`;function o({state:o,setState:s}){let c=n.tabsDemoPanels.find(e=>e.value===o.activeTab);return(0,i.jsxs)(`div`,{className:`space-y-5`,children:[(0,i.jsxs)(`section`,{className:`rounded-[24px] border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] p-5 sm:p-6`,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.26em] aui-text-muted`,children:`View switching`}),(0,i.jsx)(`h3`,{className:`aui-text-strong mt-3 text-2xl font-semibold tracking-tight`,children:`Tabs should read like page sections`}),(0,i.jsx)(`p`,{className:`aui-text-muted mt-3 max-w-2xl text-sm leading-6`,children:`Overview, activity and settings stay separated without turning the screen into a navigation maze.`})]}),(0,i.jsxs)(`section`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,i.jsxs)(`div`,{className:a,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Current tab`}),(0,i.jsx)(`p`,{className:`mt-3 text-lg font-semibold aui-text-strong`,children:c?.label}),(0,i.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`The selected view should feel like a real section change, not a tiny state toggle.`})]}),(0,i.jsxs)(`div`,{className:a,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Sections`}),(0,i.jsxs)(`p`,{className:`mt-3 text-lg font-semibold aui-text-strong`,children:[n.tabsDemoPanels.length,` surfaces`]}),(0,i.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Use a small number of high-signal tabs so the layout stays readable.`})]}),(0,i.jsxs)(`div`,{className:a,children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Pattern`}),(0,i.jsx)(`p`,{className:`mt-3 text-lg font-semibold aui-text-strong`,children:`Page sections`}),(0,i.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Tabs work best when each panel owns a distinct slice of the workflow.`})]})]}),(0,i.jsx)(`div`,{className:a,children:(0,i.jsxs)(t.Tabs,{value:o.activeTab,onValueChange:e=>s({activeTab:e}),children:[(0,i.jsx)(t.TabsList,{overflow:`scroll`,children:n.tabsDemoPanels.map(e=>(0,i.jsx)(t.TabsTrigger,{value:e.value,children:e.label},e.value))}),n.tabsDemoPanels.map(e=>(0,i.jsx)(t.TabsContent,{value:e.value,className:`aui-text-muted mt-4 border-t border-[color:var(--aui-divider)] pt-4 text-sm leading-6`,children:e.content},e.value))]})}),(0,i.jsx)(`section`,{className:a,children:(0,i.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[0.9fr_1.1fr]`,children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`p`,{className:`text-lg font-semibold aui-text-strong`,children:`Variants and overflow`}),(0,i.jsx)(`p`,{className:`mt-2 max-w-xl text-sm leading-6 aui-text-muted`,children:`The same primitive covers underline navigation, compact density, icon labels, and long mobile tab rows.`})]}),(0,i.jsxs)(`div`,{className:`grid gap-4`,children:[(0,i.jsx)(t.Tabs,{defaultValue:`activity`,children:(0,i.jsxs)(t.TabsList,{variant:`underline`,overflow:`scroll`,children:[(0,i.jsxs)(t.TabsTrigger,{variant:`underline`,value:`activity`,children:[(0,i.jsx)(r.ActivityIcon,{}),`Activity`]}),(0,i.jsxs)(t.TabsTrigger,{variant:`underline`,value:`files`,children:[(0,i.jsx)(r.FileTextIcon,{}),`Files`]}),(0,i.jsxs)(t.TabsTrigger,{variant:`underline`,value:`members`,children:[(0,i.jsx)(r.UsersIcon,{}),`Members`]}),(0,i.jsxs)(t.TabsTrigger,{variant:`underline`,value:`security`,children:[(0,i.jsx)(r.ShieldIcon,{}),`Security`]}),(0,i.jsxs)(t.TabsTrigger,{variant:`underline`,value:`settings`,children:[(0,i.jsx)(r.SettingsIcon,{}),`Settings`]})]})}),(0,i.jsx)(t.Tabs,{defaultValue:`compact`,children:(0,i.jsxs)(t.TabsList,{variant:`compact`,overflow:`wrap`,children:[(0,i.jsx)(t.TabsTrigger,{variant:`compact`,value:`compact`,children:`Compact`}),(0,i.jsxs)(t.TabsTrigger,{variant:`compact`,value:`alerts`,children:[(0,i.jsx)(r.BellIcon,{}),`Alerts`]}),(0,i.jsx)(t.TabsTrigger,{variant:`compact`,value:`audit`,children:`Audit`})]})}),(0,i.jsxs)(t.Tabs,{defaultValue:`vertical`,orientation:`vertical`,className:`grid gap-3 sm:grid-cols-[180px_1fr]`,children:[(0,i.jsxs)(t.TabsList,{variant:`pills`,overflow:`wrap`,className:`grid`,children:[(0,i.jsx)(t.TabsTrigger,{variant:`pills`,value:`vertical`,children:`Vertical`}),(0,i.jsx)(t.TabsTrigger,{variant:`pills`,value:`pills`,children:`Pills`}),(0,i.jsx)(t.TabsTrigger,{variant:`pills`,value:`overflow`,children:`Overflow`})]}),(0,i.jsx)(t.TabsContent,{value:`vertical`,className:`mt-0 rounded-xl border border-[color:var(--aui-divider)] p-4 text-sm leading-6 aui-text-muted`,children:`Vertical tabs keep local settings readable when each panel has a larger form.`}),(0,i.jsx)(t.TabsContent,{value:`pills`,className:`mt-0 rounded-xl border border-[color:var(--aui-divider)] p-4 text-sm leading-6 aui-text-muted`,children:`Pill tabs carry a stronger selected state for dense dashboards.`}),(0,i.jsx)(t.TabsContent,{value:`overflow`,className:`mt-0 rounded-xl border border-[color:var(--aui-divider)] p-4 text-sm leading-6 aui-text-muted`,children:`Scroll overflow keeps long labels accessible on small screens.`})]})]})]})}),(0,i.jsx)(`section`,{className:a,children:(0,i.jsxs)(`div`,{className:`flex flex-col gap-5 lg:flex-row lg:items-center lg:justify-between`,children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Live state`}),(0,i.jsxs)(`h4`,{className:`mt-2 text-lg font-semibold aui-text-strong`,children:[`Active tab: `,c?.label]}),(0,i.jsx)(`p`,{className:`mt-2 text-sm leading-6 aui-text-muted`,children:`Change tabs above or jump directly to a common product section.`})]}),(0,i.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:n.tabsDemoPanels.map(t=>(0,i.jsx)(e.Button,{type:`button`,size:`sm`,variant:o.activeTab===t.value?`default`:`secondary`,onClick:()=>s({activeTab:t.value}),children:t.label},t.value))})]})})]})}exports.TabsShowcase=o;