admin-ui-starter-kit 0.6.4 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1176) hide show
  1. package/.agents/skills/component-library-rules/references/components/base__cards.md +3 -4
  2. package/.agents/skills/component-library-rules/references/components/base__table.md +32 -11
  3. package/.agents/skills/component-library-rules/references/components/layout__layout-containers.md +2 -2
  4. package/dist/_shared/accordion-BRj4TDQx.js +135 -0
  5. package/dist/_shared/accordion-BRj4TDQx.js.map +1 -0
  6. package/dist/_shared/accordion-DvlDjk29.cjs +2 -0
  7. package/dist/_shared/accordion-DvlDjk29.cjs.map +1 -0
  8. package/dist/_shared/action-menu-BrHF4nss.cjs +2 -0
  9. package/dist/_shared/action-menu-BrHF4nss.cjs.map +1 -0
  10. package/dist/_shared/action-menu-Crn22LKo.js +96 -0
  11. package/dist/_shared/action-menu-Crn22LKo.js.map +1 -0
  12. package/dist/_shared/ai-artifact-BHgd3agA.js +1099 -0
  13. package/dist/_shared/ai-artifact-BHgd3agA.js.map +1 -0
  14. package/dist/_shared/ai-artifact-BRM5cvGv.cjs +3 -0
  15. package/dist/_shared/ai-artifact-BRM5cvGv.cjs.map +1 -0
  16. package/dist/_shared/alert-CMVVt2Br.js +81 -0
  17. package/dist/_shared/alert-CMVVt2Br.js.map +1 -0
  18. package/dist/_shared/alert-Dmhtbmpg.cjs +2 -0
  19. package/dist/_shared/alert-Dmhtbmpg.cjs.map +1 -0
  20. package/dist/_shared/app-shell-BZQJfTkf.cjs +2 -0
  21. package/dist/_shared/app-shell-BZQJfTkf.cjs.map +1 -0
  22. package/dist/_shared/app-shell-Da6GHxTZ.js +69 -0
  23. package/dist/_shared/app-shell-Da6GHxTZ.js.map +1 -0
  24. package/dist/_shared/auth-DZW6NkJx.cjs +2 -0
  25. package/dist/_shared/auth-DZW6NkJx.cjs.map +1 -0
  26. package/dist/_shared/auth-Dh790NI_.js +643 -0
  27. package/dist/_shared/auth-Dh790NI_.js.map +1 -0
  28. package/dist/_shared/badge-B8xGFpfM.cjs +2 -0
  29. package/dist/_shared/badge-B8xGFpfM.cjs.map +1 -0
  30. package/dist/_shared/badge-BYNwSWh5.js +110 -0
  31. package/dist/_shared/badge-BYNwSWh5.js.map +1 -0
  32. package/dist/_shared/breadcrumbs-CuT0YIfo.js +105 -0
  33. package/dist/_shared/breadcrumbs-CuT0YIfo.js.map +1 -0
  34. package/dist/_shared/breadcrumbs-jNzlYqS9.cjs +2 -0
  35. package/dist/_shared/breadcrumbs-jNzlYqS9.cjs.map +1 -0
  36. package/dist/_shared/button-BMiPFJIb.cjs +2 -0
  37. package/dist/_shared/button-BMiPFJIb.cjs.map +1 -0
  38. package/dist/_shared/button-vv59_uS_.js +189 -0
  39. package/dist/_shared/button-vv59_uS_.js.map +1 -0
  40. package/dist/_shared/buttons-CvqIMv3I.js +137 -0
  41. package/dist/_shared/buttons-CvqIMv3I.js.map +1 -0
  42. package/dist/_shared/buttons-tCkWktN3.cjs +2 -0
  43. package/dist/_shared/buttons-tCkWktN3.cjs.map +1 -0
  44. package/dist/_shared/card-radio-group-Bhe8gAbH.js +150 -0
  45. package/dist/_shared/card-radio-group-Bhe8gAbH.js.map +1 -0
  46. package/dist/_shared/card-radio-group-CdG1zr8M.cjs +2 -0
  47. package/dist/_shared/card-radio-group-CdG1zr8M.cjs.map +1 -0
  48. package/dist/_shared/cards-Cu6p1Brd.cjs +2 -0
  49. package/dist/_shared/cards-Cu6p1Brd.cjs.map +1 -0
  50. package/dist/_shared/cards-cQ9lL6zy.js +354 -0
  51. package/dist/_shared/cards-cQ9lL6zy.js.map +1 -0
  52. package/dist/_shared/combobox-BGYjyXeN.cjs +2 -0
  53. package/dist/_shared/combobox-BGYjyXeN.cjs.map +1 -0
  54. package/dist/_shared/combobox-DTwomOBt.js +954 -0
  55. package/dist/_shared/combobox-DTwomOBt.js.map +1 -0
  56. package/dist/_shared/comments-C97vL5km.js +952 -0
  57. package/dist/_shared/comments-C97vL5km.js.map +1 -0
  58. package/dist/_shared/comments-DBe6dP-d.cjs +2 -0
  59. package/dist/_shared/comments-DBe6dP-d.cjs.map +1 -0
  60. package/dist/_shared/containers-CB7zaAvN.cjs +2 -0
  61. package/dist/_shared/containers-CB7zaAvN.cjs.map +1 -0
  62. package/dist/_shared/containers-CLBmhGfs.js +48 -0
  63. package/dist/_shared/containers-CLBmhGfs.js.map +1 -0
  64. package/dist/_shared/copyable-BgFdERqs.js +38 -0
  65. package/dist/_shared/copyable-BgFdERqs.js.map +1 -0
  66. package/dist/_shared/copyable-Ce8rmE-V.cjs +2 -0
  67. package/dist/_shared/copyable-Ce8rmE-V.cjs.map +1 -0
  68. package/dist/_shared/data-display-DUWxoDKq.js +1873 -0
  69. package/dist/_shared/data-display-DUWxoDKq.js.map +1 -0
  70. package/dist/_shared/data-display-o-rbMuIA.cjs +2 -0
  71. package/dist/_shared/data-display-o-rbMuIA.cjs.map +1 -0
  72. package/dist/_shared/date-picker-Cxx9jllA.js +1361 -0
  73. package/dist/_shared/date-picker-Cxx9jllA.js.map +1 -0
  74. package/dist/_shared/date-picker-DE5A8yqN.cjs +2 -0
  75. package/dist/_shared/date-picker-DE5A8yqN.cjs.map +1 -0
  76. package/dist/_shared/date-pickers-Dex1Mfye.cjs +2 -0
  77. package/dist/_shared/date-pickers-Dex1Mfye.cjs.map +1 -0
  78. package/dist/_shared/date-pickers-m0dpDcqH.js +329 -0
  79. package/dist/_shared/date-pickers-m0dpDcqH.js.map +1 -0
  80. package/dist/_shared/display-Bro3Kufg.js +986 -0
  81. package/dist/_shared/display-Bro3Kufg.js.map +1 -0
  82. package/dist/_shared/display-CRQjSjgB.cjs +2 -0
  83. package/dist/_shared/display-CRQjSjgB.cjs.map +1 -0
  84. package/dist/_shared/form-sizing-DJus3nK3.cjs +2 -0
  85. package/dist/_shared/form-sizing-DJus3nK3.cjs.map +1 -0
  86. package/dist/_shared/form-sizing-DWjJsQSR.js +42 -0
  87. package/dist/_shared/form-sizing-DWjJsQSR.js.map +1 -0
  88. package/dist/_shared/forms-D-SNQmtB.cjs +2 -0
  89. package/dist/_shared/forms-D-SNQmtB.cjs.map +1 -0
  90. package/dist/_shared/forms-p7cfzJwf.js +3533 -0
  91. package/dist/_shared/forms-p7cfzJwf.js.map +1 -0
  92. package/dist/_shared/header-8C71wVRp.js +447 -0
  93. package/dist/_shared/header-8C71wVRp.js.map +1 -0
  94. package/dist/_shared/header-CYgFCnjZ.cjs +2 -0
  95. package/dist/_shared/header-CYgFCnjZ.cjs.map +1 -0
  96. package/dist/_shared/hooks-Ci1LFWRG.js +95 -0
  97. package/dist/_shared/hooks-Ci1LFWRG.js.map +1 -0
  98. package/dist/_shared/hooks-Cjl7LJpn.cjs +2 -0
  99. package/dist/_shared/hooks-Cjl7LJpn.cjs.map +1 -0
  100. package/dist/_shared/input-BgcP6x4C.js +182 -0
  101. package/dist/_shared/input-BgcP6x4C.js.map +1 -0
  102. package/dist/_shared/input-DV3g7Fm5.cjs +2 -0
  103. package/dist/_shared/input-DV3g7Fm5.cjs.map +1 -0
  104. package/dist/_shared/item-D7GTzvhf.js +226 -0
  105. package/dist/_shared/item-D7GTzvhf.js.map +1 -0
  106. package/dist/_shared/item-DTrnHpfm.cjs +2 -0
  107. package/dist/_shared/item-DTrnHpfm.cjs.map +1 -0
  108. package/dist/_shared/layout-BExg7Vlx.js +261 -0
  109. package/dist/_shared/layout-BExg7Vlx.js.map +1 -0
  110. package/dist/_shared/layout-CKRD_goE.cjs +2 -0
  111. package/dist/_shared/layout-CKRD_goE.cjs.map +1 -0
  112. package/dist/_shared/layout.types-CXFAjJCj.cjs +2 -0
  113. package/dist/_shared/layout.types-CXFAjJCj.cjs.map +1 -0
  114. package/dist/_shared/layout.types-ip8BYRa7.js +28 -0
  115. package/dist/_shared/layout.types-ip8BYRa7.js.map +1 -0
  116. package/dist/_shared/mentions-BtGhYisA.js +506 -0
  117. package/dist/_shared/mentions-BtGhYisA.js.map +1 -0
  118. package/dist/_shared/mentions-CnVOuQJU.cjs +2 -0
  119. package/dist/_shared/mentions-CnVOuQJU.cjs.map +1 -0
  120. package/dist/_shared/money-display-BvVpRUs5.cjs +2 -0
  121. package/dist/_shared/money-display-BvVpRUs5.cjs.map +1 -0
  122. package/dist/_shared/money-display-D6Qtvyyv.js +198 -0
  123. package/dist/_shared/money-display-D6Qtvyyv.js.map +1 -0
  124. package/dist/_shared/navigation-C4dO1I82.cjs +2 -0
  125. package/dist/_shared/navigation-C4dO1I82.cjs.map +1 -0
  126. package/dist/_shared/navigation-Ct-LFlpY.js +436 -0
  127. package/dist/_shared/navigation-Ct-LFlpY.js.map +1 -0
  128. package/dist/_shared/overlays-ChyqXn0n.js +735 -0
  129. package/dist/_shared/overlays-ChyqXn0n.js.map +1 -0
  130. package/dist/_shared/overlays-Dn2bt3CL.cjs +2 -0
  131. package/dist/_shared/overlays-Dn2bt3CL.cjs.map +1 -0
  132. package/dist/_shared/popover-menu-17Dxn25O.js +93 -0
  133. package/dist/_shared/popover-menu-17Dxn25O.js.map +1 -0
  134. package/dist/_shared/popover-menu-DXVN0bvj.cjs +2 -0
  135. package/dist/_shared/popover-menu-DXVN0bvj.cjs.map +1 -0
  136. package/dist/_shared/rich-text-editor-BRpcNkj1.js +620 -0
  137. package/dist/_shared/rich-text-editor-BRpcNkj1.js.map +1 -0
  138. package/dist/_shared/rich-text-editor-BXxGNbmI.cjs +2 -0
  139. package/dist/_shared/rich-text-editor-BXxGNbmI.cjs.map +1 -0
  140. package/dist/_shared/settings-CW9yzfQM.js +143 -0
  141. package/dist/_shared/settings-CW9yzfQM.js.map +1 -0
  142. package/dist/_shared/settings-cCPrw7si.cjs +2 -0
  143. package/dist/_shared/settings-cCPrw7si.cjs.map +1 -0
  144. package/dist/_shared/sidebar-Cq6J_I4l.cjs +2 -0
  145. package/dist/_shared/sidebar-Cq6J_I4l.cjs.map +1 -0
  146. package/dist/_shared/sidebar-DtF_ihE3.js +548 -0
  147. package/dist/_shared/sidebar-DtF_ihE3.js.map +1 -0
  148. package/dist/_shared/spinner-DY2de3Wt.cjs +2 -0
  149. package/dist/_shared/spinner-DY2de3Wt.cjs.map +1 -0
  150. package/dist/_shared/spinner-ZmIq_zsx.js +67 -0
  151. package/dist/_shared/spinner-ZmIq_zsx.js.map +1 -0
  152. package/dist/_shared/table-BBWc-wIw.js +1377 -0
  153. package/dist/_shared/table-BBWc-wIw.js.map +1 -0
  154. package/dist/_shared/table-DMDkdLzV.cjs +2 -0
  155. package/dist/_shared/table-DMDkdLzV.cjs.map +1 -0
  156. package/dist/_shared/textarea-C1TeJ7Vt.cjs +2 -0
  157. package/dist/_shared/textarea-C1TeJ7Vt.cjs.map +1 -0
  158. package/dist/_shared/textarea-CGRkgH5z.js +118 -0
  159. package/dist/_shared/textarea-CGRkgH5z.js.map +1 -0
  160. package/dist/_shared/typography-CzFVA1w1.js +201 -0
  161. package/dist/_shared/typography-CzFVA1w1.js.map +1 -0
  162. package/dist/_shared/typography-GtkgK9QX.cjs +2 -0
  163. package/dist/_shared/typography-GtkgK9QX.cjs.map +1 -0
  164. package/dist/_shared/workspace-BF5BtDhD.cjs +2 -0
  165. package/dist/_shared/workspace-BF5BtDhD.cjs.map +1 -0
  166. package/dist/_shared/workspace-IvsczduM.js +357 -0
  167. package/dist/_shared/workspace-IvsczduM.js.map +1 -0
  168. package/dist/components/base/accordion/index.cjs +1 -1
  169. package/dist/components/base/accordion/index.js +1 -1
  170. package/dist/components/base/badge/badge.d.ts.map +1 -1
  171. package/dist/components/base/badge/index.cjs +1 -1
  172. package/dist/components/base/badge/index.js +1 -1
  173. package/dist/components/base/buttons/index.cjs +1 -1
  174. package/dist/components/base/buttons/index.js +2 -2
  175. package/dist/components/base/cards/index.cjs +1 -1
  176. package/dist/components/base/cards/index.js +1 -1
  177. package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
  178. package/dist/components/base/cards/smart-card.types.d.ts +3 -3
  179. package/dist/components/base/carousel/index.cjs +1 -1
  180. package/dist/components/base/carousel/index.js +1 -1
  181. package/dist/components/base/combobox/index.cjs +1 -1
  182. package/dist/components/base/combobox/index.js +1 -1
  183. package/dist/components/base/copyable/index.cjs +1 -1
  184. package/dist/components/base/copyable/index.js +1 -1
  185. package/dist/components/base/currency/index.cjs +1 -1
  186. package/dist/components/base/currency/index.js +1 -1
  187. package/dist/components/base/date-pickers/index.cjs +1 -1
  188. package/dist/components/base/date-pickers/index.js +2 -2
  189. package/dist/components/base/display/chart.cjs +1 -1
  190. package/dist/components/base/display/chart.js +1 -1
  191. package/dist/components/base/display/index.cjs +1 -1
  192. package/dist/components/base/display/index.js +3 -3
  193. package/dist/components/base/event-calendar/index.cjs +1 -1
  194. package/dist/components/base/event-calendar/index.js +3 -3
  195. package/dist/components/base/forms/index.cjs +1 -1
  196. package/dist/components/base/forms/index.js +5 -5
  197. package/dist/components/base/item/index.cjs +1 -1
  198. package/dist/components/base/item/index.js +1 -1
  199. package/dist/components/base/map/index.cjs +1 -1
  200. package/dist/components/base/map/index.js +2 -2
  201. package/dist/components/base/navigation/index.cjs +1 -1
  202. package/dist/components/base/navigation/index.js +3 -3
  203. package/dist/components/base/popover-menu/index.cjs +1 -1
  204. package/dist/components/base/popover-menu/index.js +1 -1
  205. package/dist/components/base/spinner/index.cjs +1 -1
  206. package/dist/components/base/spinner/index.js +1 -1
  207. package/dist/components/base/table/data-table.d.ts.map +1 -1
  208. package/dist/components/base/table/index.cjs +1 -1
  209. package/dist/components/base/table/index.js +1 -1
  210. package/dist/components/composed/admin/index.cjs +1 -1
  211. package/dist/components/composed/admin/index.js +11 -11
  212. package/dist/components/composed/ai/index.cjs +1 -1
  213. package/dist/components/composed/ai/index.js +8 -8
  214. package/dist/components/composed/analytics/index.cjs +1 -1
  215. package/dist/components/composed/analytics/index.js +3 -3
  216. package/dist/components/composed/cards/index.cjs +1 -1
  217. package/dist/components/composed/cards/index.js +7 -7
  218. package/dist/components/composed/commerce/index.cjs +1 -1
  219. package/dist/components/composed/commerce/index.js +8 -8
  220. package/dist/components/composed/dark-surfaces/index.cjs +1 -1
  221. package/dist/components/composed/dark-surfaces/index.js +4 -4
  222. package/dist/components/composed/data-display/index.cjs +1 -1
  223. package/dist/components/composed/data-display/index.js +1 -1
  224. package/dist/components/composed/data-display/metadata/metadata-list.d.ts.map +1 -1
  225. package/dist/components/composed/navigation/index.cjs +1 -1
  226. package/dist/components/composed/navigation/index.js +5 -5
  227. package/dist/components/composed/onboarding/index.cjs +1 -1
  228. package/dist/components/composed/onboarding/index.js +3 -3
  229. package/dist/components/composed/timelines/index.cjs +1 -1
  230. package/dist/components/composed/timelines/index.js +3 -3
  231. package/dist/components/features/activities/index.cjs +1 -1
  232. package/dist/components/features/activities/index.js +4 -4
  233. package/dist/components/features/ai-chat/index.cjs +1 -1
  234. package/dist/components/features/ai-chat/index.js +5 -5
  235. package/dist/components/features/card/index.cjs +1 -1
  236. package/dist/components/features/card/index.js +4 -4
  237. package/dist/components/features/comments/index.cjs +1 -1
  238. package/dist/components/features/comments/index.js +2 -2
  239. package/dist/components/features/data-view/index.cjs +1 -1
  240. package/dist/components/features/data-view/index.js +2 -2
  241. package/dist/components/features/event-log/index.cjs +1 -1
  242. package/dist/components/features/event-log/index.js +4 -4
  243. package/dist/components/features/filters/index.cjs +1 -1
  244. package/dist/components/features/filters/index.js +6 -6
  245. package/dist/components/features/global-search/index.cjs +1 -1
  246. package/dist/components/features/global-search/index.js +4 -4
  247. package/dist/components/features/kanban/index.cjs +1 -1
  248. package/dist/components/features/kanban/index.js +3 -3
  249. package/dist/components/features/media-library/index.cjs +1 -1
  250. package/dist/components/features/media-library/index.js +8 -8
  251. package/dist/components/features/mentions/index.cjs +1 -1
  252. package/dist/components/features/mentions/index.js +1 -1
  253. package/dist/components/features/overlays/index.cjs +1 -1
  254. package/dist/components/features/overlays/index.js +1 -1
  255. package/dist/components/features/products/index.cjs +1 -1
  256. package/dist/components/features/products/index.js +11 -11
  257. package/dist/components/features/resource/index.cjs +1 -1
  258. package/dist/components/features/resource/index.js +4 -4
  259. package/dist/components/features/rich-text-editor/index.cjs +1 -1
  260. package/dist/components/features/rich-text-editor/index.js +1 -1
  261. package/dist/components/features/schema-form/index.cjs +1 -1
  262. package/dist/components/features/schema-form/index.js +8 -8
  263. package/dist/components/features/suggestions/index.cjs +1 -1
  264. package/dist/components/features/suggestions/index.js +1 -1
  265. package/dist/components/features/sync/index.cjs +1 -1
  266. package/dist/components/features/sync/index.js +2 -2
  267. package/dist/components/layout/app-shell/index.cjs +1 -1
  268. package/dist/components/layout/app-shell/index.js +1 -1
  269. package/dist/components/layout/auth/index.cjs +1 -1
  270. package/dist/components/layout/auth/index.js +1 -1
  271. package/dist/components/layout/containers/containers.types.d.ts +2 -2
  272. package/dist/components/layout/containers/containers.types.d.ts.map +1 -1
  273. package/dist/components/layout/containers/content-container.d.ts.map +1 -1
  274. package/dist/components/layout/containers/index.cjs +1 -1
  275. package/dist/components/layout/containers/index.js +1 -2
  276. package/dist/components/layout/header/index.cjs +1 -1
  277. package/dist/components/layout/header/index.js +1 -1
  278. package/dist/components/layout/hooks/index.cjs +1 -1
  279. package/dist/components/layout/hooks/index.js +1 -1
  280. package/dist/components/layout/index.cjs +1 -1
  281. package/dist/components/layout/index.js +11 -12
  282. package/dist/components/layout/layout.types.d.ts.map +1 -1
  283. package/dist/components/layout/page/index.cjs +1 -1
  284. package/dist/components/layout/page/index.js +2 -2
  285. package/dist/components/layout/settings/index.cjs +1 -1
  286. package/dist/components/layout/settings/index.js +1 -1
  287. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts.map +1 -1
  288. package/dist/components/layout/sidebar/index.cjs +1 -1
  289. package/dist/components/layout/sidebar/index.js +2 -2
  290. package/dist/components/layout/workspace/index.cjs +1 -1
  291. package/dist/components/layout/workspace/index.js +1 -1
  292. package/dist/components/typography/index.cjs +1 -1
  293. package/dist/components/typography/index.js +1 -1
  294. package/dist/services/actions/index.cjs +1 -1
  295. package/dist/services/actions/index.js +1 -1
  296. package/dist/showcase/assets/AreaChart-CsIm9z7Y.js +6 -0
  297. package/dist/showcase/assets/CompositeItem-D9zznn01.js +1 -0
  298. package/dist/showcase/assets/CompositeRoot-CvxtZ81W.js +1 -0
  299. package/dist/showcase/assets/DialogTrigger-C-osQGHu.js +1 -0
  300. package/dist/showcase/assets/LabelableContext-_EE-HBND.js +1 -0
  301. package/dist/showcase/assets/PreviewLayout-KdEsSl3b.js +1 -0
  302. package/dist/showcase/assets/RadioGroup-4jOeNTc1.js +1 -0
  303. package/dist/showcase/assets/ScrollAreaCorner-CXTdUcaE.js +1 -0
  304. package/dist/showcase/assets/Separator-CHVXO6nj.js +1 -0
  305. package/dist/showcase/assets/ToolbarRootContext-CM5tQGGX.js +1 -0
  306. package/dist/showcase/assets/accordion-CA84bxb2.js +171 -0
  307. package/dist/showcase/assets/accordion-variants-DqWzAOO3.js +1 -0
  308. package/dist/showcase/assets/action-menu-D0q5z-Kq.js +1 -0
  309. package/dist/showcase/assets/actions-DnqxABJU.js +310 -0
  310. package/dist/showcase/assets/activities-BC9hoMy9.js +500 -0
  311. package/dist/showcase/assets/activities-feed-card-D6wGLpbH.js +1 -0
  312. package/dist/showcase/assets/admin-CMnMsugJ.js +140 -0
  313. package/dist/showcase/assets/ai-B6_sE9Zg.js +207 -0
  314. package/dist/showcase/assets/ai-artifact-BVvbsSJB.js +2 -0
  315. package/dist/showcase/assets/ai-chat-lcXeqJrA.js +568 -0
  316. package/dist/showcase/assets/ai-elements-B32o_UjE.js +387 -0
  317. package/dist/showcase/assets/ai-tool-call-BLrAioKz.js +1 -0
  318. package/dist/showcase/assets/alert-B1p1Grce.js +62 -0
  319. package/dist/showcase/assets/alert-BBiffYsY.js +93 -0
  320. package/dist/showcase/assets/alert-vH0nJ8J9.js +1 -0
  321. package/dist/showcase/assets/api-key-list-BrSc6V1y.js +1 -0
  322. package/dist/showcase/assets/api-key-list-CoKe_PaL.js +73 -0
  323. package/dist/showcase/assets/app-sidebar-R93lRPB4.js +1 -0
  324. package/dist/showcase/assets/arrow-down-xxVIADbv.js +1 -0
  325. package/dist/showcase/assets/arrow-left-DxnlnN8R.js +1 -0
  326. package/dist/showcase/assets/arrow-right-S5k93UPM.js +1 -0
  327. package/dist/showcase/assets/arrow-up-OlEVG7a-.js +1 -0
  328. package/dist/showcase/assets/arrow-up-right-j55bbl4b.js +1 -0
  329. package/dist/showcase/assets/avatar-BbiXvZq7.js +67 -0
  330. package/dist/showcase/assets/avatar-Bwpw-hQo.js +57 -0
  331. package/dist/showcase/assets/avatar-D0DKQ1lK.js +1 -0
  332. package/dist/showcase/assets/avatar-WyjSBov9.js +1 -0
  333. package/dist/showcase/assets/badge-BzLZQO3L.js +31 -0
  334. package/dist/showcase/assets/badge-check-TFWm1m3F.js +1 -0
  335. package/dist/showcase/assets/bell-CmuQlO_k.js +1 -0
  336. package/dist/showcase/assets/bot-Bu518AJB.js +1 -0
  337. package/dist/showcase/assets/box-D-wrSdOJ.js +1 -0
  338. package/dist/showcase/assets/braces-CgCdmdAl.js +1 -0
  339. package/dist/showcase/assets/brain-DkHdwgHO.js +1 -0
  340. package/dist/showcase/assets/brand-CpovnVoG.js +36 -0
  341. package/dist/showcase/assets/breadcrumb-BUc0WC5d.js +1 -0
  342. package/dist/showcase/assets/breadcrumb-Do_Dazt1.js +52 -0
  343. package/dist/showcase/assets/breadcrumbs-Bj21o2zm.js +1 -0
  344. package/dist/showcase/assets/briefcase-CQBh2kok.js +1 -0
  345. package/dist/showcase/assets/building-2-D07Ej6iR.js +1 -0
  346. package/dist/showcase/assets/button-CCZ4KEGQ.js +44 -0
  347. package/dist/showcase/assets/button-group-BTjeHOvz.js +1 -0
  348. package/dist/showcase/assets/buttons-D45Wwiwn.js +272 -0
  349. package/dist/showcase/assets/calendar-BsEWULmZ.js +16 -0
  350. package/dist/showcase/assets/calendar-CkPefzIO.js +1 -0
  351. package/dist/showcase/assets/calendar-DZlT3qTq.js +1 -0
  352. package/dist/showcase/assets/calendar-days-C9awTMru.js +1 -0
  353. package/dist/showcase/assets/camera-CQhMw-RD.js +1 -0
  354. package/dist/showcase/assets/card-CKrz_UHt.js +1 -0
  355. package/dist/showcase/assets/card-DZgZgjXO.js +188 -0
  356. package/dist/showcase/assets/card-primitives-CpkDLK3Y.js +1 -0
  357. package/dist/showcase/assets/card-radio-group-BjXwMI4v.js +1 -0
  358. package/dist/showcase/assets/cards-Cd24XZ9l.js +353 -0
  359. package/dist/showcase/assets/carousel-Doon04yO.js +449 -0
  360. package/dist/showcase/assets/cell-renderers-CTay3duH.js +1 -0
  361. package/dist/showcase/assets/chart-CkvbdpWw.js +358 -0
  362. package/dist/showcase/assets/chart-column-Dz57kUMl.js +1 -0
  363. package/dist/showcase/assets/checkbox-L-L4-wvA.js +1 -0
  364. package/dist/showcase/assets/checkbox-sP254E7e.js +1 -0
  365. package/dist/showcase/assets/chevron-down-CLc_a2Ua.js +1 -0
  366. package/dist/showcase/assets/chevron-left-CMRIGOJt.js +1 -0
  367. package/dist/showcase/assets/chevron-up-BDw6LdDZ.js +1 -0
  368. package/dist/showcase/assets/chevrons-up-down-C519RKki.js +1 -0
  369. package/dist/showcase/assets/circle-B_tOHWTY.js +1 -0
  370. package/dist/showcase/assets/circle-alert-B56AFULT.js +1 -0
  371. package/dist/showcase/assets/circle-check-B4XZj4Ty.js +1 -0
  372. package/dist/showcase/assets/circle-check-big-C0iEkwPB.js +1 -0
  373. package/dist/showcase/assets/circle-dot-DPdJZkc6.js +1 -0
  374. package/dist/showcase/assets/circle-question-mark-LTetdrq6.js +1 -0
  375. package/dist/showcase/assets/circle-x-B4FwM-sI.js +1 -0
  376. package/dist/showcase/assets/clock-3-DZhjBuw8.js +1 -0
  377. package/dist/showcase/assets/clock-B9Fna2Q3.js +1 -0
  378. package/dist/showcase/assets/code-xml-B6Xb_vIg.js +1 -0
  379. package/dist/showcase/assets/collapsible-Bf7Oo37i.js +27 -0
  380. package/dist/showcase/assets/collapsible-BfLeooy8.js +1 -0
  381. package/dist/showcase/assets/combobox-4NYfJznY.js +685 -0
  382. package/dist/showcase/assets/command-7jRRucHf.js +1 -0
  383. package/dist/showcase/assets/command-D56CjgNc.js +1 -0
  384. package/dist/showcase/assets/comment-composer-BWeXIZfK.js +1 -0
  385. package/dist/showcase/assets/comment-item-ChkiK-ut.js +1 -0
  386. package/dist/showcase/assets/comments-YnEop7v3.js +357 -0
  387. package/dist/showcase/assets/commerce-7XxWJChs.js +267 -0
  388. package/dist/showcase/assets/composite-CHcyYCsk.js +1 -0
  389. package/dist/showcase/assets/contact-card-BXw-VuBm.js +65 -0
  390. package/dist/showcase/assets/content-container-C4uopCBg.js +1 -0
  391. package/dist/showcase/assets/copyable-CjVYEJ0P.js +1 -0
  392. package/dist/showcase/assets/copyable-Cz2jW7yL.js +96 -0
  393. package/dist/showcase/assets/course-card-CvK3dw9W.js +77 -0
  394. package/dist/showcase/assets/cpu-Vk5WgcC1.js +1 -0
  395. package/dist/showcase/assets/credit-card-CaigqZGk.js +1 -0
  396. package/dist/showcase/assets/css-variables-hLaBmeMt.js +1190 -0
  397. package/dist/showcase/assets/currency-yO1giHp1.js +149 -0
  398. package/dist/showcase/assets/dark-surfaces-BPQnyk9a.js +90 -0
  399. package/dist/showcase/assets/data-view-CjjXn5VT.js +124 -0
  400. package/dist/showcase/assets/data-view-DF0n8uva.js +4 -0
  401. package/dist/showcase/assets/database-ChUBDe8E.js +1 -0
  402. package/dist/showcase/assets/date-block-DUg1Oyn4.js +1 -0
  403. package/dist/showcase/assets/date-picker-CoQPZa34.js +1 -0
  404. package/dist/showcase/assets/date-pickers-B-IUbyXw.js +73 -0
  405. package/dist/showcase/assets/dense-info-zVQSWqOU.js +106 -0
  406. package/dist/showcase/assets/design-system-consistency-Bnz_h3-6.js +264 -0
  407. package/dist/showcase/assets/dialog-BtilpgxJ.js +1 -0
  408. package/dist/showcase/assets/dialog-kf9WwmTC.js +1 -0
  409. package/dist/showcase/assets/display-utilities-BBzG5EPX.js +267 -0
  410. package/dist/showcase/assets/dist-9gFIhkw-.js +45 -0
  411. package/dist/showcase/assets/dist-CGpz_7Mu.js +1 -0
  412. package/dist/showcase/assets/dollar-sign-CWbYI3Pd.js +1 -0
  413. package/dist/showcase/assets/download-Bt_z-poH.js +1 -0
  414. package/dist/showcase/assets/dropdown-menu-C1_SYTHm.js +1 -0
  415. package/dist/showcase/assets/dropzone-D5BGVTnl.js +1 -0
  416. package/dist/showcase/assets/earth-sP5mIgG3.js +1 -0
  417. package/dist/showcase/assets/ellipsis-vertical-BD7kMOzj.js +1 -0
  418. package/dist/showcase/assets/ellipsis-yqIF49C8.js +1 -0
  419. package/dist/showcase/assets/empty-DIrJgtrh.js +1 -0
  420. package/dist/showcase/assets/empty-item-GgnZk2yf.js +49 -0
  421. package/dist/showcase/assets/empty-state-ZGKkJ6sf.js +190 -0
  422. package/dist/showcase/assets/empty-state-n_Fspzt-.js +1 -0
  423. package/dist/showcase/assets/enhanced-activities-CCw_hZnZ.js +357 -0
  424. package/dist/showcase/assets/enhanced-combobox-bBF-ADDs.js +1 -0
  425. package/dist/showcase/assets/esm-CyFPn936.js +2 -0
  426. package/dist/showcase/assets/event-calendar-Czo7yBDx.js +138 -0
  427. package/dist/showcase/assets/event-log-DJ3B3nMV.js +330 -0
  428. package/dist/showcase/assets/example-eGsLGIcp.js +1 -0
  429. package/dist/showcase/assets/external-link-DPOQEVWH.js +1 -0
  430. package/dist/showcase/assets/eye-CN92NVL0.js +1 -0
  431. package/dist/showcase/assets/feature-announcement-BXkSW17e.js +34 -0
  432. package/dist/showcase/assets/file-CFHePlKG.js +1 -0
  433. package/dist/showcase/assets/file-text--WYCYQMw.js +1 -0
  434. package/dist/showcase/assets/filter-layout-B35gGmcO.js +1 -0
  435. package/dist/showcase/assets/filters-GDW_oiT3.js +139 -0
  436. package/dist/showcase/assets/flag-XsT9XFPr.js +1 -0
  437. package/dist/showcase/assets/folder-open-RtsQ8vxf.js +1 -0
  438. package/dist/showcase/assets/form-field-Bijd1Gex.js +1 -0
  439. package/dist/showcase/assets/form-sizing-Dltt6Fj-.js +1 -0
  440. package/dist/showcase/assets/format-Ckw4OM66.js +1 -0
  441. package/dist/showcase/assets/forms-00bU7LN8.js +915 -0
  442. package/dist/showcase/assets/funnel-qu25WlXD.js +1 -0
  443. package/dist/showcase/assets/generic-Bf82Wiol.js +1 -0
  444. package/dist/showcase/assets/getPseudoElementBounds-BR4_m2HH.js +1 -0
  445. package/dist/showcase/assets/gift-D4GQoqzV.js +1 -0
  446. package/dist/showcase/assets/giftcard-cards-CMutwaAY.js +85 -0
  447. package/dist/showcase/assets/git-branch-B2QG2zRg.js +1 -0
  448. package/dist/showcase/assets/global-search-CRAB9TSF.js +1 -0
  449. package/dist/showcase/assets/global-search-DY0cKfhY.js +215 -0
  450. package/dist/showcase/assets/globe-BxZW28rG.js +1 -0
  451. package/dist/showcase/assets/gradient-card-CQGnXG8r.js +58 -0
  452. package/dist/showcase/assets/hash-CsRtIoKK.js +1 -0
  453. package/dist/showcase/assets/header-DzYOgZLP.js +1 -0
  454. package/dist/showcase/assets/header-notifications-D_CJPbvs.js +1 -0
  455. package/dist/showcase/assets/heart-B2YsYprq.js +1 -0
  456. package/dist/showcase/assets/hooks-BhUMA4Tb.js +220 -0
  457. package/dist/showcase/assets/house-HeRFNhI0.js +1 -0
  458. package/dist/showcase/assets/icon-badge-CpDkc-S0.js +37 -0
  459. package/dist/showcase/assets/icon-badge-eNEGgpAV.js +1 -0
  460. package/dist/showcase/assets/image-T88JyDag.js +1 -0
  461. package/dist/showcase/assets/inbox-DLrLLnTR.js +1 -0
  462. package/dist/showcase/assets/index-DDZl6kOS.js +10 -0
  463. package/dist/showcase/assets/index-nOkXemgw.css +2 -0
  464. package/dist/showcase/assets/inertValue-BajuuRy4.js +1 -0
  465. package/dist/showcase/assets/info-CNYfw2Yz.js +1 -0
  466. package/dist/showcase/assets/inline-stat-BN6yhDR5.js +15 -0
  467. package/dist/showcase/assets/inline-stat-Bqw3lVfk.js +1 -0
  468. package/dist/showcase/assets/input-C-9K6F0N.js +1 -0
  469. package/dist/showcase/assets/input-DaZzfkZV.js +1 -0
  470. package/dist/showcase/assets/input-group-DE-Xdhv4.js +1 -0
  471. package/dist/showcase/assets/input-group-DIQZnytn.js +47 -0
  472. package/dist/showcase/assets/inputs-Cl_JgSR4.js +155 -0
  473. package/dist/showcase/assets/installation-DdhD4Dkq.js +134 -0
  474. package/dist/showcase/assets/invoice-header-DOs2ACqQ.js +36 -0
  475. package/dist/showcase/assets/invoice-items-1EuA62mF.js +36 -0
  476. package/dist/showcase/assets/invoice-mini-vCrYEtWp.js +14 -0
  477. package/dist/showcase/assets/invoice-table--mDTs1Iz.js +30 -0
  478. package/dist/showcase/assets/isSameDay-BNB1yam4.js +1 -0
  479. package/dist/showcase/assets/isToday-BugOpGJC.js +1 -0
  480. package/dist/showcase/assets/italic-Ck4UD2ZT.js +1 -0
  481. package/dist/showcase/assets/item-BcesxqFS.js +139 -0
  482. package/dist/showcase/assets/item-BgPlwUMv.js +1 -0
  483. package/dist/showcase/assets/item-CB9k_rmo.js +1 -0
  484. package/dist/showcase/assets/kanban-cPuSVqWY.js +188 -0
  485. package/dist/showcase/assets/key-round-BmYjd5dk.js +1 -0
  486. package/dist/showcase/assets/label-BTIBJBqN.js +1 -0
  487. package/dist/showcase/assets/languages-he6FNXRs.js +1 -0
  488. package/dist/showcase/assets/layers-B_48DtOz.js +1 -0
  489. package/dist/showcase/assets/layout-app-shell-zwLv6jTP.js +608 -0
  490. package/dist/showcase/assets/layout-auth-2Zv5lr52.js +790 -0
  491. package/dist/showcase/assets/layout-containers-Dzw3xlKn.js +101 -0
  492. package/dist/showcase/assets/layout-header-TJ-WVmG3.js +203 -0
  493. package/dist/showcase/assets/layout-page-CIVQCKXK.js +314 -0
  494. package/dist/showcase/assets/layout-primitives-i_O81fzT.js +34 -0
  495. package/dist/showcase/assets/layout-sidebar-eH_pwBq_.js +224 -0
  496. package/dist/showcase/assets/layout-users-CWSaFBLj.js +117 -0
  497. package/dist/showcase/assets/layout-workspace-w3oe32GE.js +191 -0
  498. package/dist/showcase/assets/lib-CoS0xjP8.js +1 -0
  499. package/dist/showcase/assets/list-checks-DecRPpK3.js +1 -0
  500. package/dist/showcase/assets/lock-D9f8uXol.js +1 -0
  501. package/dist/showcase/assets/lock-keyhole-C20eixH6.js +1 -0
  502. package/dist/showcase/assets/mail-CVgP8Qlo.js +1 -0
  503. package/dist/showcase/assets/mail-check-mplTKcSH.js +1 -0
  504. package/dist/showcase/assets/map-B6OGeOup.js +124 -0
  505. package/dist/showcase/assets/map-pin-BZXSwrzT.js +1 -0
  506. package/dist/showcase/assets/media-library-DSlVIM1Q.js +699 -0
  507. package/dist/showcase/assets/mention-inline-suggestions-CNAEeXgy.js +1 -0
  508. package/dist/showcase/assets/mentions-Cb3g4hDN.js +138 -0
  509. package/dist/showcase/assets/menus-CE0Hlj8N.js +171 -0
  510. package/dist/showcase/assets/message-square-HliU8vbW.js +1 -0
  511. package/dist/showcase/assets/metadata-list-CJ5v5Bvc.js +286 -0
  512. package/dist/showcase/assets/metadata-list-DY92-pw2.js +1 -0
  513. package/dist/showcase/assets/metric-DxMTjIvU.js +1 -0
  514. package/dist/showcase/assets/metric-bar-cW9nWCRl.js +1 -0
  515. package/dist/showcase/assets/metric-grid-CvfO52X1.js +1 -0
  516. package/dist/showcase/assets/metric-trend-chip-BmjQdRus.js +1 -0
  517. package/dist/showcase/assets/metrics-analytics-bar-BZqB5d1y.js +44 -0
  518. package/dist/showcase/assets/metrics-analytics-cards-jAhlrQCI.js +50 -0
  519. package/dist/showcase/assets/metrics-comparison-DURZ6qEL.js +76 -0
  520. package/dist/showcase/assets/metrics-heatmap-HhJDBguh.js +27 -0
  521. package/dist/showcase/assets/metrics-inline-badge-Dq5k-P6F.js +17 -0
  522. package/dist/showcase/assets/metrics-kpi-row-DXzhwa6z.js +31 -0
  523. package/dist/showcase/assets/metrics-micro-grid-C6O5b0wP.js +42 -0
  524. package/dist/showcase/assets/metrics-overview-Hv2mseb3.js +192 -0
  525. package/dist/showcase/assets/metrics-stat-cards-CW42vBCS.js +54 -0
  526. package/dist/showcase/assets/minus-BW62vCxf.js +1 -0
  527. package/dist/showcase/assets/money-display-CAdGk5Lr.js +1 -0
  528. package/dist/showcase/assets/month-year-picker-dHuvgz1E.js +1 -0
  529. package/dist/showcase/assets/navigation-C4uSLvbZ.js +90 -0
  530. package/dist/showcase/assets/navigation-SjsZrtIc.js +231 -0
  531. package/dist/showcase/assets/navigation-extras-CMVNVskk.js +43 -0
  532. package/dist/showcase/assets/onboarding-checklist-C1jwRdMU.js +119 -0
  533. package/dist/showcase/assets/overflow-tab-bar-BYFLpl5w.js +1 -0
  534. package/dist/showcase/assets/overlays-0Y8MAz39.js +159 -0
  535. package/dist/showcase/assets/overlays-ClOnjahL.js +408 -0
  536. package/dist/showcase/assets/overview-B5ztGmTp.js +184 -0
  537. package/dist/showcase/assets/package-check-MeSw6bS4.js +1 -0
  538. package/dist/showcase/assets/package-vYJ0q0QM.js +1 -0
  539. package/dist/showcase/assets/page-4lMKtBQ7.js +1 -0
  540. package/dist/showcase/assets/page-action-button-C5-TGSzy.js +1 -0
  541. package/dist/showcase/assets/page-header-C_-KYryO.js +1 -0
  542. package/dist/showcase/assets/pagination-D3L3Iwus.js +1 -0
  543. package/dist/showcase/assets/pagination-dZXPxwHx.js +42 -0
  544. package/dist/showcase/assets/paperclip-BZhdPOw8.js +1 -0
  545. package/dist/showcase/assets/password-input-CDSMtGxt.js +1 -0
  546. package/dist/showcase/assets/pencil-DiYr3CZ9.js +1 -0
  547. package/dist/showcase/assets/phone-Dm5qzlG8.js +1 -0
  548. package/dist/showcase/assets/plus-pfGaA3St.js +1 -0
  549. package/dist/showcase/assets/popover-CjVWDO7C.js +1 -0
  550. package/dist/showcase/assets/popover-menu-JcZyGV3Y.js +1 -0
  551. package/dist/showcase/assets/popover-pZ4Jbp0s.js +1 -0
  552. package/dist/showcase/assets/products-C62MKtAR.js +423 -0
  553. package/dist/showcase/assets/progress-Btw-ZUaU.js +18 -0
  554. package/dist/showcase/assets/progress-DpB5LL6R.js +1 -0
  555. package/dist/showcase/assets/props-table-Bjc9IHmp.js +1 -0
  556. package/dist/showcase/assets/quote-DcxVd1fj.js +1 -0
  557. package/dist/showcase/assets/receipt-BHns-S5Q.js +1 -0
  558. package/dist/showcase/assets/receipt-text-L0aYasyt.js +1 -0
  559. package/dist/showcase/assets/refinement-guide-BBOGBJ4I.js +189 -0
  560. package/dist/showcase/assets/refresh-cw-z6mlm0HI.js +1 -0
  561. package/dist/showcase/assets/resolveValueLabel-hsarzg5A.js +1 -0
  562. package/dist/showcase/assets/resource-CIn_zKZ4.js +139 -0
  563. package/dist/showcase/assets/resource-DxktLgEK.js +1 -0
  564. package/dist/showcase/assets/resource-selector-card-dkcEQ6bl.js +43 -0
  565. package/dist/showcase/assets/rich-text-editor-Dd-rWisw.js +124 -0
  566. package/dist/showcase/assets/rich-text-editor-DvJMFj48.js +143 -0
  567. package/dist/showcase/assets/rotate-ccw-DEz6nb5P.js +1 -0
  568. package/dist/showcase/assets/route-BeXaXTk8.js +1 -0
  569. package/dist/showcase/assets/save-EE7Tc5OT.js +1 -0
  570. package/dist/showcase/assets/schema-form-RK9Zpz1E.js +327 -0
  571. package/dist/showcase/assets/scroll-area-BejQJ0Q1.js +32 -0
  572. package/dist/showcase/assets/scroll-area-DS8LJ7LG.js +1 -0
  573. package/dist/showcase/assets/section-Cv8i4DIx.js +1 -0
  574. package/dist/showcase/assets/select-Cuy3YKW9.js +1 -0
  575. package/dist/showcase/assets/select-qFy1jm91.js +1 -0
  576. package/dist/showcase/assets/send-CXv0ST9u.js +1 -0
  577. package/dist/showcase/assets/separator-CecGyBaV.js +1 -0
  578. package/dist/showcase/assets/separator-CqtFQXrk.js +28 -0
  579. package/dist/showcase/assets/settings-2-CCeMwMOj.js +1 -0
  580. package/dist/showcase/assets/settings-CXjN6wTC.js +1 -0
  581. package/dist/showcase/assets/sheet-Csyrmkqp.js +1 -0
  582. package/dist/showcase/assets/shield-DR0ZfAFA.js +1 -0
  583. package/dist/showcase/assets/shield-alert-Bp1iFJ2q.js +1 -0
  584. package/dist/showcase/assets/shield-check-ClL4B_Cd.js +1 -0
  585. package/dist/showcase/assets/shopping-bag-DnSmbPUX.js +1 -0
  586. package/dist/showcase/assets/showcase-CQKt5VGi.js +132 -0
  587. package/dist/showcase/assets/sidebar-CXy94md1.js +1 -0
  588. package/dist/showcase/assets/sidebar.context-C8gkOwJ5.js +1 -0
  589. package/dist/showcase/assets/skeleton-B8wC5P66.js +29 -0
  590. package/dist/showcase/assets/skeleton-DBlCLlBC.js +1 -0
  591. package/dist/showcase/assets/slider-BcjkNx6W.js +1 -0
  592. package/dist/showcase/assets/smart-card-Cg6rtWH9.js +1 -0
  593. package/dist/showcase/assets/sonner-ZGBQ13wS.js +22 -0
  594. package/dist/showcase/assets/sortable.esm-CGFWc-Cn.js +5 -0
  595. package/dist/showcase/assets/sparkles-q1-9JZqa.js +1 -0
  596. package/dist/showcase/assets/spinner-CKg8QLHu.js +1 -0
  597. package/dist/showcase/assets/spinner-D1Ao9j9T.js +49 -0
  598. package/dist/showcase/assets/spinner-oahLIkgb.js +30 -0
  599. package/dist/showcase/assets/square-pen-DZ3bQJia.js +1 -0
  600. package/dist/showcase/assets/stacked-avatars-CKPtb3Hj.js +1 -0
  601. package/dist/showcase/assets/star-suetD-KI.js +1 -0
  602. package/dist/showcase/assets/startOfDay-OjIsUeiv.js +1 -0
  603. package/dist/showcase/assets/styles-1mYOoC2k.js +1 -0
  604. package/dist/showcase/assets/suggestions-DLYaI-In.js +126 -0
  605. package/dist/showcase/assets/switch-CTTrJNwo.js +1 -0
  606. package/dist/showcase/assets/switch-ChJWWmxN.js +1 -0
  607. package/dist/showcase/assets/sync-DsHYydvo.js +124 -0
  608. package/dist/showcase/assets/table-Ck2ptin2.js +686 -0
  609. package/dist/showcase/assets/table-DyJ9oADQ.js +1 -0
  610. package/dist/showcase/assets/table-actions-COU4zHfh.js +1 -0
  611. package/dist/showcase/assets/tabs-Bl_RHGIw.js +1 -0
  612. package/dist/showcase/assets/tabs-DS-4VSkb.js +19 -0
  613. package/dist/showcase/assets/tags-input-BlYzb5fF.js +1 -0
  614. package/dist/showcase/assets/text-button-OPdNs3fb.js +1 -0
  615. package/dist/showcase/assets/text-link-D27gqGeg.js +1 -0
  616. package/dist/showcase/assets/textarea-DpC7J5F-.js +1 -0
  617. package/dist/showcase/assets/textarea-JtXUjxvc.js +1 -0
  618. package/dist/showcase/assets/timelines-DQM-B4Xo.js +200 -0
  619. package/dist/showcase/assets/toggle-group-CMneKREH.js +1 -0
  620. package/dist/showcase/assets/toggles-CAXXgjO_.js +71 -0
  621. package/dist/showcase/assets/toggles-group-CHRqrpoM.js +32 -0
  622. package/dist/showcase/assets/tooltip-CwGZAioX.js +31 -0
  623. package/dist/showcase/assets/trash-2-BpMb9Zbb.js +1 -0
  624. package/dist/showcase/assets/trending-up-B1BzitCg.js +1 -0
  625. package/dist/showcase/assets/truck-CDSE5-HZ.js +1 -0
  626. package/dist/showcase/assets/typography-BoNJ1hRZ.js +223 -0
  627. package/dist/showcase/assets/ui-badge-Djh6NiB2.js +28 -0
  628. package/dist/showcase/assets/ui-card-QC_rl_H2.js +30 -0
  629. package/dist/showcase/assets/ui-table-qAGsc3qN.js +42 -0
  630. package/dist/showcase/assets/upload-tray-DKCJgW5u.js +138 -0
  631. package/dist/showcase/assets/use-layout-link-BPlsZ8Ys.js +1 -0
  632. package/dist/showcase/assets/useAnchoredPopupScrollLock-526MebAC.js +1 -0
  633. package/dist/showcase/assets/useAriaLabelledBy-CqySZiH9.js +1 -0
  634. package/dist/showcase/assets/useCollapsiblePanel-DWX7LbGX.js +1 -0
  635. package/dist/showcase/assets/useCompositeItem-DGEBUXgE.js +1 -0
  636. package/dist/showcase/assets/useCompositeListItem-B2nuNlc2.js +1 -0
  637. package/dist/showcase/assets/useLabelableId-DY4O1lpt.js +1 -0
  638. package/dist/showcase/assets/useOpenInteractionType-DxwujDvt.js +1 -0
  639. package/dist/showcase/assets/useRender-BPoNv-Lm.js +1 -0
  640. package/dist/showcase/assets/useTriggerFocusGuards-BnOSAjfy.js +1 -0
  641. package/dist/showcase/assets/useValueChanged-CXmDOWxx.js +1 -0
  642. package/dist/showcase/assets/user-BGchdtV_.js +1 -0
  643. package/dist/showcase/assets/user-plus-BifI_xVA.js +1 -0
  644. package/dist/showcase/assets/users-Cl5yYqdg.js +1 -0
  645. package/dist/showcase/assets/vendor-profile-BNW4FYna.js +37 -0
  646. package/dist/showcase/assets/video-BtQPixYN.js +1 -0
  647. package/dist/showcase/assets/wrench-CRalc5fG.js +1 -0
  648. package/dist/showcase/assets/x-D6hUY89S.js +1 -0
  649. package/dist/showcase/assets/zap-v_qbqeI5.js +1 -0
  650. package/dist/showcase/index.html +2 -2
  651. package/dist/style.css +1 -1
  652. package/package.json +1 -1
  653. package/src/css/themes/shadcn.default.css +6 -6
  654. package/src/css/tokens/foundation.css +6 -6
  655. package/dist/_shared/accordion-B9EjlZLY.js +0 -135
  656. package/dist/_shared/accordion-B9EjlZLY.js.map +0 -1
  657. package/dist/_shared/accordion-IFDIc0E7.cjs +0 -2
  658. package/dist/_shared/accordion-IFDIc0E7.cjs.map +0 -1
  659. package/dist/_shared/action-menu-B6yFRDz1.cjs +0 -2
  660. package/dist/_shared/action-menu-B6yFRDz1.cjs.map +0 -1
  661. package/dist/_shared/action-menu-CNS-fwQr.js +0 -96
  662. package/dist/_shared/action-menu-CNS-fwQr.js.map +0 -1
  663. package/dist/_shared/ai-artifact-B3qhuiKC.js +0 -1099
  664. package/dist/_shared/ai-artifact-B3qhuiKC.js.map +0 -1
  665. package/dist/_shared/ai-artifact-Dtr0bnVq.cjs +0 -3
  666. package/dist/_shared/ai-artifact-Dtr0bnVq.cjs.map +0 -1
  667. package/dist/_shared/alert-V0V36Sny.cjs +0 -2
  668. package/dist/_shared/alert-V0V36Sny.cjs.map +0 -1
  669. package/dist/_shared/alert-m-4s0Hqq.js +0 -81
  670. package/dist/_shared/alert-m-4s0Hqq.js.map +0 -1
  671. package/dist/_shared/app-shell-D3eGUtL-.js +0 -69
  672. package/dist/_shared/app-shell-D3eGUtL-.js.map +0 -1
  673. package/dist/_shared/app-shell-QJHARDMB.cjs +0 -2
  674. package/dist/_shared/app-shell-QJHARDMB.cjs.map +0 -1
  675. package/dist/_shared/auth-DdezEtKK.cjs +0 -2
  676. package/dist/_shared/auth-DdezEtKK.cjs.map +0 -1
  677. package/dist/_shared/auth-e7yab9pK.js +0 -643
  678. package/dist/_shared/auth-e7yab9pK.js.map +0 -1
  679. package/dist/_shared/badge-BeSKxX1u.cjs +0 -2
  680. package/dist/_shared/badge-BeSKxX1u.cjs.map +0 -1
  681. package/dist/_shared/badge-a2Z3K5aQ.js +0 -110
  682. package/dist/_shared/badge-a2Z3K5aQ.js.map +0 -1
  683. package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs +0 -2
  684. package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs.map +0 -1
  685. package/dist/_shared/breadcrumbs-B57Unsoe.js +0 -105
  686. package/dist/_shared/breadcrumbs-B57Unsoe.js.map +0 -1
  687. package/dist/_shared/button-Bd5bEIiB.cjs +0 -2
  688. package/dist/_shared/button-Bd5bEIiB.cjs.map +0 -1
  689. package/dist/_shared/button-DHksjMvc.js +0 -189
  690. package/dist/_shared/button-DHksjMvc.js.map +0 -1
  691. package/dist/_shared/buttons-Bek9F7qK.cjs +0 -2
  692. package/dist/_shared/buttons-Bek9F7qK.cjs.map +0 -1
  693. package/dist/_shared/buttons-DcynMPnE.js +0 -137
  694. package/dist/_shared/buttons-DcynMPnE.js.map +0 -1
  695. package/dist/_shared/card-radio-group-C2p_iBal.cjs +0 -2
  696. package/dist/_shared/card-radio-group-C2p_iBal.cjs.map +0 -1
  697. package/dist/_shared/card-radio-group-Fdi1Cz1j.js +0 -150
  698. package/dist/_shared/card-radio-group-Fdi1Cz1j.js.map +0 -1
  699. package/dist/_shared/cards-CbbHly7W.cjs +0 -2
  700. package/dist/_shared/cards-CbbHly7W.cjs.map +0 -1
  701. package/dist/_shared/cards-RZxRLx3f.js +0 -355
  702. package/dist/_shared/cards-RZxRLx3f.js.map +0 -1
  703. package/dist/_shared/combobox-BIe72dV3.js +0 -954
  704. package/dist/_shared/combobox-BIe72dV3.js.map +0 -1
  705. package/dist/_shared/combobox-CJiFDoTi.cjs +0 -2
  706. package/dist/_shared/combobox-CJiFDoTi.cjs.map +0 -1
  707. package/dist/_shared/comments-BJqgvSFY.js +0 -952
  708. package/dist/_shared/comments-BJqgvSFY.js.map +0 -1
  709. package/dist/_shared/comments-BjPciQfo.cjs +0 -2
  710. package/dist/_shared/comments-BjPciQfo.cjs.map +0 -1
  711. package/dist/_shared/containers-D7oZE4XI.cjs +0 -2
  712. package/dist/_shared/containers-D7oZE4XI.cjs.map +0 -1
  713. package/dist/_shared/containers-anBivbL9.js +0 -19
  714. package/dist/_shared/containers-anBivbL9.js.map +0 -1
  715. package/dist/_shared/content-container-CVUJCLhn.cjs +0 -2
  716. package/dist/_shared/content-container-CVUJCLhn.cjs.map +0 -1
  717. package/dist/_shared/content-container-Dv8XsAw4.js +0 -33
  718. package/dist/_shared/content-container-Dv8XsAw4.js.map +0 -1
  719. package/dist/_shared/copyable-Dopk9pEJ.js +0 -38
  720. package/dist/_shared/copyable-Dopk9pEJ.js.map +0 -1
  721. package/dist/_shared/copyable-rQwxsTJ3.cjs +0 -2
  722. package/dist/_shared/copyable-rQwxsTJ3.cjs.map +0 -1
  723. package/dist/_shared/data-display-C21skrV4.cjs +0 -2
  724. package/dist/_shared/data-display-C21skrV4.cjs.map +0 -1
  725. package/dist/_shared/data-display-C5-1dZua.js +0 -1873
  726. package/dist/_shared/data-display-C5-1dZua.js.map +0 -1
  727. package/dist/_shared/date-picker-BiUgIkjP.cjs +0 -2
  728. package/dist/_shared/date-picker-BiUgIkjP.cjs.map +0 -1
  729. package/dist/_shared/date-picker-DFkLiveH.js +0 -1361
  730. package/dist/_shared/date-picker-DFkLiveH.js.map +0 -1
  731. package/dist/_shared/date-pickers-C86tVD8e.cjs +0 -2
  732. package/dist/_shared/date-pickers-C86tVD8e.cjs.map +0 -1
  733. package/dist/_shared/date-pickers-D4oxOOHE.js +0 -329
  734. package/dist/_shared/date-pickers-D4oxOOHE.js.map +0 -1
  735. package/dist/_shared/display-B0wLVN8t.js +0 -986
  736. package/dist/_shared/display-B0wLVN8t.js.map +0 -1
  737. package/dist/_shared/display-Bin2vVex.cjs +0 -2
  738. package/dist/_shared/display-Bin2vVex.cjs.map +0 -1
  739. package/dist/_shared/form-sizing-C51oI3Di.js +0 -42
  740. package/dist/_shared/form-sizing-C51oI3Di.js.map +0 -1
  741. package/dist/_shared/form-sizing-Co53Drri.cjs +0 -2
  742. package/dist/_shared/form-sizing-Co53Drri.cjs.map +0 -1
  743. package/dist/_shared/forms-BoquZE2Y.js +0 -3533
  744. package/dist/_shared/forms-BoquZE2Y.js.map +0 -1
  745. package/dist/_shared/forms-CzrEYejY.cjs +0 -2
  746. package/dist/_shared/forms-CzrEYejY.cjs.map +0 -1
  747. package/dist/_shared/header-CxhEtk9M.cjs +0 -2
  748. package/dist/_shared/header-CxhEtk9M.cjs.map +0 -1
  749. package/dist/_shared/header-h3f14vQx.js +0 -447
  750. package/dist/_shared/header-h3f14vQx.js.map +0 -1
  751. package/dist/_shared/hooks-CS55-w3h.js +0 -95
  752. package/dist/_shared/hooks-CS55-w3h.js.map +0 -1
  753. package/dist/_shared/hooks-sfHAyDgD.cjs +0 -2
  754. package/dist/_shared/hooks-sfHAyDgD.cjs.map +0 -1
  755. package/dist/_shared/input-CB6hxh-5.cjs +0 -2
  756. package/dist/_shared/input-CB6hxh-5.cjs.map +0 -1
  757. package/dist/_shared/input-CfnHBT--.js +0 -182
  758. package/dist/_shared/input-CfnHBT--.js.map +0 -1
  759. package/dist/_shared/item-Xs-fgzaT.js +0 -226
  760. package/dist/_shared/item-Xs-fgzaT.js.map +0 -1
  761. package/dist/_shared/item-eUP9Rtmg.cjs +0 -2
  762. package/dist/_shared/item-eUP9Rtmg.cjs.map +0 -1
  763. package/dist/_shared/layout.types-CYuDZ_4h.cjs +0 -2
  764. package/dist/_shared/layout.types-CYuDZ_4h.cjs.map +0 -1
  765. package/dist/_shared/layout.types-j7zZAPtg.js +0 -28
  766. package/dist/_shared/layout.types-j7zZAPtg.js.map +0 -1
  767. package/dist/_shared/mentions-BahbwDwU.js +0 -506
  768. package/dist/_shared/mentions-BahbwDwU.js.map +0 -1
  769. package/dist/_shared/mentions-aHalksbt.cjs +0 -2
  770. package/dist/_shared/mentions-aHalksbt.cjs.map +0 -1
  771. package/dist/_shared/money-display-BLPNMmiT.cjs +0 -2
  772. package/dist/_shared/money-display-BLPNMmiT.cjs.map +0 -1
  773. package/dist/_shared/money-display-D_-Cb8-9.js +0 -198
  774. package/dist/_shared/money-display-D_-Cb8-9.js.map +0 -1
  775. package/dist/_shared/navigation-BcYAwgzo.js +0 -436
  776. package/dist/_shared/navigation-BcYAwgzo.js.map +0 -1
  777. package/dist/_shared/navigation-DAB7uuBj.cjs +0 -2
  778. package/dist/_shared/navigation-DAB7uuBj.cjs.map +0 -1
  779. package/dist/_shared/overlays-DW8OIK5R.js +0 -735
  780. package/dist/_shared/overlays-DW8OIK5R.js.map +0 -1
  781. package/dist/_shared/overlays-Du65iCkx.cjs +0 -2
  782. package/dist/_shared/overlays-Du65iCkx.cjs.map +0 -1
  783. package/dist/_shared/page-D8UMXREv.cjs +0 -2
  784. package/dist/_shared/page-D8UMXREv.cjs.map +0 -1
  785. package/dist/_shared/page-D9LNsHMN.js +0 -262
  786. package/dist/_shared/page-D9LNsHMN.js.map +0 -1
  787. package/dist/_shared/popover-menu-qxBZlTck.js +0 -93
  788. package/dist/_shared/popover-menu-qxBZlTck.js.map +0 -1
  789. package/dist/_shared/popover-menu-z9QTjl4o.cjs +0 -2
  790. package/dist/_shared/popover-menu-z9QTjl4o.cjs.map +0 -1
  791. package/dist/_shared/rich-text-editor-DeIiIDn7.cjs +0 -2
  792. package/dist/_shared/rich-text-editor-DeIiIDn7.cjs.map +0 -1
  793. package/dist/_shared/rich-text-editor-VIBlL0x3.js +0 -620
  794. package/dist/_shared/rich-text-editor-VIBlL0x3.js.map +0 -1
  795. package/dist/_shared/settings-BeZOIEJB.js +0 -143
  796. package/dist/_shared/settings-BeZOIEJB.js.map +0 -1
  797. package/dist/_shared/settings-DI-K34bW.cjs +0 -2
  798. package/dist/_shared/settings-DI-K34bW.cjs.map +0 -1
  799. package/dist/_shared/sidebar-DfToCaiC.cjs +0 -2
  800. package/dist/_shared/sidebar-DfToCaiC.cjs.map +0 -1
  801. package/dist/_shared/sidebar-DhpRdTZH.js +0 -541
  802. package/dist/_shared/sidebar-DhpRdTZH.js.map +0 -1
  803. package/dist/_shared/spinner-D35zNriU.cjs +0 -2
  804. package/dist/_shared/spinner-D35zNriU.cjs.map +0 -1
  805. package/dist/_shared/spinner-DMC2IIml.js +0 -67
  806. package/dist/_shared/spinner-DMC2IIml.js.map +0 -1
  807. package/dist/_shared/table-B_pqCQxC.js +0 -1377
  808. package/dist/_shared/table-B_pqCQxC.js.map +0 -1
  809. package/dist/_shared/table-CGVOXtdv.cjs +0 -2
  810. package/dist/_shared/table-CGVOXtdv.cjs.map +0 -1
  811. package/dist/_shared/textarea-B24qgdmd.cjs +0 -2
  812. package/dist/_shared/textarea-B24qgdmd.cjs.map +0 -1
  813. package/dist/_shared/textarea-ChLRmmVU.js +0 -118
  814. package/dist/_shared/textarea-ChLRmmVU.js.map +0 -1
  815. package/dist/_shared/typography-CO9uwZhF.cjs +0 -2
  816. package/dist/_shared/typography-CO9uwZhF.cjs.map +0 -1
  817. package/dist/_shared/typography-DE0NGEIE.js +0 -201
  818. package/dist/_shared/typography-DE0NGEIE.js.map +0 -1
  819. package/dist/_shared/workspace-BgtWS9fA.cjs +0 -2
  820. package/dist/_shared/workspace-BgtWS9fA.cjs.map +0 -1
  821. package/dist/_shared/workspace-D2jJ0PlS.js +0 -357
  822. package/dist/_shared/workspace-D2jJ0PlS.js.map +0 -1
  823. package/dist/showcase/assets/AreaChart-Y0ZwblHU.js +0 -6
  824. package/dist/showcase/assets/CompositeItem-BIY_Cp7P.js +0 -1
  825. package/dist/showcase/assets/CompositeRoot-DSPvBRQr.js +0 -1
  826. package/dist/showcase/assets/DialogTrigger-DHUp8vXe.js +0 -1
  827. package/dist/showcase/assets/LabelableContext-CasUI4hR.js +0 -1
  828. package/dist/showcase/assets/PreviewLayout-B_l930k0.js +0 -1
  829. package/dist/showcase/assets/RadioGroup-BgZ-UH79.js +0 -1
  830. package/dist/showcase/assets/ScrollAreaCorner-BbwFElLA.js +0 -1
  831. package/dist/showcase/assets/Separator-dQuencsA.js +0 -1
  832. package/dist/showcase/assets/ToolbarRootContext-BE0hbejq.js +0 -1
  833. package/dist/showcase/assets/accordion-D93ZNsLn.js +0 -171
  834. package/dist/showcase/assets/accordion-variants-Bl4bIQH4.js +0 -1
  835. package/dist/showcase/assets/action-menu--rEgMzDi.js +0 -1
  836. package/dist/showcase/assets/actions-3iedOWD9.js +0 -310
  837. package/dist/showcase/assets/activities-CyrAWFlu.js +0 -500
  838. package/dist/showcase/assets/activities-feed-card-bhIATc2O.js +0 -1
  839. package/dist/showcase/assets/admin-CZzNsj2q.js +0 -140
  840. package/dist/showcase/assets/ai-CasHwkW4.js +0 -207
  841. package/dist/showcase/assets/ai-artifact-BgWvrLAb.js +0 -2
  842. package/dist/showcase/assets/ai-chat-seS9aW-1.js +0 -568
  843. package/dist/showcase/assets/ai-elements-Tku5_ous.js +0 -387
  844. package/dist/showcase/assets/ai-tool-call-BU6xbmXG.js +0 -1
  845. package/dist/showcase/assets/alert-6Emt6KX2.js +0 -1
  846. package/dist/showcase/assets/alert-B6aLWiRW.js +0 -62
  847. package/dist/showcase/assets/alert-CtoTQ0vN.js +0 -93
  848. package/dist/showcase/assets/api-key-list-C0glWR3z.js +0 -1
  849. package/dist/showcase/assets/api-key-list-DcWSbY3u.js +0 -73
  850. package/dist/showcase/assets/app-sidebar-D_eNP_jh.js +0 -1
  851. package/dist/showcase/assets/arrow-down-qyKZ1H5j.js +0 -1
  852. package/dist/showcase/assets/arrow-left-C9I0h_su.js +0 -1
  853. package/dist/showcase/assets/arrow-right-DswaRsr6.js +0 -1
  854. package/dist/showcase/assets/arrow-up-5BijPOxK.js +0 -1
  855. package/dist/showcase/assets/arrow-up-right-CbVVNT6g.js +0 -1
  856. package/dist/showcase/assets/avatar-BYHVCvVW.js +0 -67
  857. package/dist/showcase/assets/avatar-BlLAVC87.js +0 -1
  858. package/dist/showcase/assets/avatar-DQTXjcS4.js +0 -1
  859. package/dist/showcase/assets/avatar-DveZy09C.js +0 -57
  860. package/dist/showcase/assets/badge-Bth3mRTh.js +0 -31
  861. package/dist/showcase/assets/badge-check-DocF8Ho3.js +0 -1
  862. package/dist/showcase/assets/bell-DXBoeAzi.js +0 -1
  863. package/dist/showcase/assets/bot-Ch-Y1HK8.js +0 -1
  864. package/dist/showcase/assets/box-72m9QSDa.js +0 -1
  865. package/dist/showcase/assets/braces-CC17X3TE.js +0 -1
  866. package/dist/showcase/assets/brain-Dvbla_5x.js +0 -1
  867. package/dist/showcase/assets/brand-D5ciAq8v.js +0 -36
  868. package/dist/showcase/assets/breadcrumb-BBCaOVyz.js +0 -52
  869. package/dist/showcase/assets/breadcrumb-Bt8yVTCj.js +0 -1
  870. package/dist/showcase/assets/breadcrumbs-CkVWfcAN.js +0 -1
  871. package/dist/showcase/assets/briefcase-8rQTJwpE.js +0 -1
  872. package/dist/showcase/assets/building-2-CV7gTtXz.js +0 -1
  873. package/dist/showcase/assets/button-HGjoBio3.js +0 -44
  874. package/dist/showcase/assets/button-group-LWToSCrp.js +0 -1
  875. package/dist/showcase/assets/buttons-Bn_dX6Kk.js +0 -272
  876. package/dist/showcase/assets/calendar-BTsffmY8.js +0 -1
  877. package/dist/showcase/assets/calendar-Bhpyn4u0.js +0 -1
  878. package/dist/showcase/assets/calendar-DjrUTKcD.js +0 -16
  879. package/dist/showcase/assets/calendar-days-BKCkzWjV.js +0 -1
  880. package/dist/showcase/assets/camera-EjpDG3mc.js +0 -1
  881. package/dist/showcase/assets/card-Bp6iGuOF.js +0 -188
  882. package/dist/showcase/assets/card-CHc6AVFt.js +0 -1
  883. package/dist/showcase/assets/card-primitives-Bv6XGPJd.js +0 -1
  884. package/dist/showcase/assets/card-radio-group-Ce9FsiSv.js +0 -1
  885. package/dist/showcase/assets/cards-_CGG9zir.js +0 -354
  886. package/dist/showcase/assets/carousel-BVbsKH2W.js +0 -449
  887. package/dist/showcase/assets/cell-renderers-CosD6Gby.js +0 -1
  888. package/dist/showcase/assets/chart-CwOp8Sf8.js +0 -358
  889. package/dist/showcase/assets/chart-column-sz871NdJ.js +0 -1
  890. package/dist/showcase/assets/checkbox-BO38TYqr.js +0 -1
  891. package/dist/showcase/assets/checkbox-W4MhlPlJ.js +0 -1
  892. package/dist/showcase/assets/chevron-down-BFh1Fz2P.js +0 -1
  893. package/dist/showcase/assets/chevron-left-C5_X5glO.js +0 -1
  894. package/dist/showcase/assets/chevron-up-DPH3boVS.js +0 -1
  895. package/dist/showcase/assets/chevrons-up-down-CM5mIDaw.js +0 -1
  896. package/dist/showcase/assets/circle-BFDzL1iF.js +0 -1
  897. package/dist/showcase/assets/circle-alert-C6MbOB0m.js +0 -1
  898. package/dist/showcase/assets/circle-check-C0X85t4j.js +0 -1
  899. package/dist/showcase/assets/circle-check-big-CBaodck_.js +0 -1
  900. package/dist/showcase/assets/circle-dot-DdRpIhnL.js +0 -1
  901. package/dist/showcase/assets/circle-question-mark-CKlcead7.js +0 -1
  902. package/dist/showcase/assets/circle-x-MO44aKHe.js +0 -1
  903. package/dist/showcase/assets/clock-3-CXQJFcbh.js +0 -1
  904. package/dist/showcase/assets/clock-GhBJJ6n1.js +0 -1
  905. package/dist/showcase/assets/code-xml-BSX7Qyi5.js +0 -1
  906. package/dist/showcase/assets/collapsible-CZLTO5EH.js +0 -1
  907. package/dist/showcase/assets/collapsible-LrDO_sSQ.js +0 -27
  908. package/dist/showcase/assets/combobox-TmDBXkM-.js +0 -685
  909. package/dist/showcase/assets/command-9-r1qrJt.js +0 -1
  910. package/dist/showcase/assets/command-DGne3l9s.js +0 -1
  911. package/dist/showcase/assets/comment-composer-BI0qnvuY.js +0 -1
  912. package/dist/showcase/assets/comment-item-Cedds6Lm.js +0 -1
  913. package/dist/showcase/assets/comments-De02NOns.js +0 -357
  914. package/dist/showcase/assets/commerce-DldtS83o.js +0 -267
  915. package/dist/showcase/assets/composite-BjZZlzzb.js +0 -1
  916. package/dist/showcase/assets/contact-card-muCZ3uXV.js +0 -65
  917. package/dist/showcase/assets/content-container-BxSLICeL.js +0 -1
  918. package/dist/showcase/assets/copyable-DYhhmTqM.js +0 -1
  919. package/dist/showcase/assets/copyable-MNU75-J9.js +0 -96
  920. package/dist/showcase/assets/course-card-Dl1wsuJx.js +0 -77
  921. package/dist/showcase/assets/cpu-CsWq4fcX.js +0 -1
  922. package/dist/showcase/assets/credit-card-B0AUZiWw.js +0 -1
  923. package/dist/showcase/assets/css-variables-Be7DzahT.js +0 -1190
  924. package/dist/showcase/assets/currency-BtPM_Xtw.js +0 -149
  925. package/dist/showcase/assets/dark-surfaces-DRFERSEv.js +0 -90
  926. package/dist/showcase/assets/data-view-DmWd0h7G.js +0 -4
  927. package/dist/showcase/assets/data-view-DnLH2o0i.js +0 -124
  928. package/dist/showcase/assets/database-C0YqGaQ_.js +0 -1
  929. package/dist/showcase/assets/date-block-BQH25FLS.js +0 -1
  930. package/dist/showcase/assets/date-picker-BF-jevhh.js +0 -1
  931. package/dist/showcase/assets/date-pickers-q2v3ajJm.js +0 -73
  932. package/dist/showcase/assets/dense-info-Cb-roqDU.js +0 -106
  933. package/dist/showcase/assets/design-system-consistency-DMSJknaM.js +0 -264
  934. package/dist/showcase/assets/dialog-C0ALRmbP.js +0 -1
  935. package/dist/showcase/assets/dialog-CbXon08k.js +0 -1
  936. package/dist/showcase/assets/display-utilities-kBUVw7o3.js +0 -267
  937. package/dist/showcase/assets/dist-CTSkWj_M.js +0 -45
  938. package/dist/showcase/assets/dist-W8bxVfew.js +0 -1
  939. package/dist/showcase/assets/dollar-sign-VNxVZleW.js +0 -1
  940. package/dist/showcase/assets/download-Ds_6eIpx.js +0 -1
  941. package/dist/showcase/assets/dropdown-menu-C1G_y9dv.js +0 -1
  942. package/dist/showcase/assets/dropzone-CxOLmdkt.js +0 -1
  943. package/dist/showcase/assets/earth-HLyEI1oq.js +0 -1
  944. package/dist/showcase/assets/ellipsis-BLyAd9A-.js +0 -1
  945. package/dist/showcase/assets/ellipsis-vertical-TG4mYU2J.js +0 -1
  946. package/dist/showcase/assets/empty-B54k9xAG.js +0 -1
  947. package/dist/showcase/assets/empty-item-BmA4rmq7.js +0 -49
  948. package/dist/showcase/assets/empty-state-CH7gjjg7.js +0 -190
  949. package/dist/showcase/assets/empty-state-hUKvmKa-.js +0 -1
  950. package/dist/showcase/assets/enhanced-activities-BRDVL9RR.js +0 -357
  951. package/dist/showcase/assets/enhanced-combobox-2wbQJS6R.js +0 -1
  952. package/dist/showcase/assets/esm-CUTefMLr.js +0 -2
  953. package/dist/showcase/assets/event-calendar-Bf9xFZlt.js +0 -138
  954. package/dist/showcase/assets/event-log-CeRDSL-h.js +0 -330
  955. package/dist/showcase/assets/example-CJMJcnb4.js +0 -1
  956. package/dist/showcase/assets/external-link-CvXhYrnd.js +0 -1
  957. package/dist/showcase/assets/eye-Cl_GfUKH.js +0 -1
  958. package/dist/showcase/assets/feature-announcement-Dw0SokLo.js +0 -34
  959. package/dist/showcase/assets/file-CJFWrwy1.js +0 -1
  960. package/dist/showcase/assets/file-text-BTTFP8Jo.js +0 -1
  961. package/dist/showcase/assets/filter-layout-DUVqG5Ql.js +0 -1
  962. package/dist/showcase/assets/filters-BLcCaplV.js +0 -139
  963. package/dist/showcase/assets/flag-BxI3EGPG.js +0 -1
  964. package/dist/showcase/assets/folder-open-4d8qsiAj.js +0 -1
  965. package/dist/showcase/assets/form-field-Dhy0eM5B.js +0 -1
  966. package/dist/showcase/assets/form-sizing-C3UG5WKC.js +0 -1
  967. package/dist/showcase/assets/format-zGqa9Olc.js +0 -1
  968. package/dist/showcase/assets/forms-D99qG5Gb.js +0 -915
  969. package/dist/showcase/assets/funnel-Cg7SOShf.js +0 -1
  970. package/dist/showcase/assets/generic-CfrG943t.js +0 -1
  971. package/dist/showcase/assets/getPseudoElementBounds-lw5shsdM.js +0 -1
  972. package/dist/showcase/assets/gift-BXtKbzvA.js +0 -1
  973. package/dist/showcase/assets/giftcard-cards-CqYaN0jC.js +0 -85
  974. package/dist/showcase/assets/git-branch-BWAuIMOQ.js +0 -1
  975. package/dist/showcase/assets/global-search-CHUva8pR.js +0 -1
  976. package/dist/showcase/assets/global-search-Df7JovOG.js +0 -215
  977. package/dist/showcase/assets/globe-CvIW_foU.js +0 -1
  978. package/dist/showcase/assets/gradient-card-CdM2J1Hv.js +0 -58
  979. package/dist/showcase/assets/hash-wBs5gyr_.js +0 -1
  980. package/dist/showcase/assets/header-DXPFmpUT.js +0 -1
  981. package/dist/showcase/assets/header-notifications-FsnCJLpe.js +0 -1
  982. package/dist/showcase/assets/heart-B4fOMIr6.js +0 -1
  983. package/dist/showcase/assets/hooks-DtMOMalj.js +0 -220
  984. package/dist/showcase/assets/house-hebmAxEE.js +0 -1
  985. package/dist/showcase/assets/icon-badge-DrZ5qGpa.js +0 -1
  986. package/dist/showcase/assets/icon-badge-JEug_P_U.js +0 -37
  987. package/dist/showcase/assets/image-CxNywgkb.js +0 -1
  988. package/dist/showcase/assets/inbox-DqAmGdDd.js +0 -1
  989. package/dist/showcase/assets/index-DujM0kEF.css +0 -2
  990. package/dist/showcase/assets/index-jD-KSiHu.js +0 -10
  991. package/dist/showcase/assets/inertValue-Dg9TwvOb.js +0 -1
  992. package/dist/showcase/assets/info-B5fZn_ZC.js +0 -1
  993. package/dist/showcase/assets/inline-stat-CklKufoA.js +0 -1
  994. package/dist/showcase/assets/inline-stat-Dep7oHIi.js +0 -15
  995. package/dist/showcase/assets/input-CkNgwwCs.js +0 -1
  996. package/dist/showcase/assets/input-DAPMRlKO.js +0 -1
  997. package/dist/showcase/assets/input-group-06D68uB6.js +0 -47
  998. package/dist/showcase/assets/input-group-Bq9aXQPG.js +0 -1
  999. package/dist/showcase/assets/inputs-C8G3y-zR.js +0 -155
  1000. package/dist/showcase/assets/installation-BV5xOvoE.js +0 -134
  1001. package/dist/showcase/assets/invoice-header-BcUxzT68.js +0 -36
  1002. package/dist/showcase/assets/invoice-items-B42Jfxl7.js +0 -36
  1003. package/dist/showcase/assets/invoice-mini-RJGdlErg.js +0 -14
  1004. package/dist/showcase/assets/invoice-table--MdP6ysv.js +0 -30
  1005. package/dist/showcase/assets/isSameDay-srttAIjD.js +0 -1
  1006. package/dist/showcase/assets/isToday-BPub5Zvi.js +0 -1
  1007. package/dist/showcase/assets/italic-1BNA_XlU.js +0 -1
  1008. package/dist/showcase/assets/item-B9KyqUGa.js +0 -139
  1009. package/dist/showcase/assets/item-DoIlPm6J.js +0 -1
  1010. package/dist/showcase/assets/item-ffIfXEGd.js +0 -1
  1011. package/dist/showcase/assets/kanban-Cfad3edR.js +0 -188
  1012. package/dist/showcase/assets/key-round-J11Zc216.js +0 -1
  1013. package/dist/showcase/assets/label-DqaB8ZB2.js +0 -1
  1014. package/dist/showcase/assets/languages-D9UaP3QU.js +0 -1
  1015. package/dist/showcase/assets/layers-QXZ9Jfej.js +0 -1
  1016. package/dist/showcase/assets/layout-app-shell-CW1eRJmU.js +0 -608
  1017. package/dist/showcase/assets/layout-auth-j4K6lveg.js +0 -790
  1018. package/dist/showcase/assets/layout-containers-NclLtsV0.js +0 -101
  1019. package/dist/showcase/assets/layout-header-B8AOTiwL.js +0 -203
  1020. package/dist/showcase/assets/layout-page-DM79QHyW.js +0 -314
  1021. package/dist/showcase/assets/layout-primitives-Dyop-WMt.js +0 -34
  1022. package/dist/showcase/assets/layout-sidebar-uBNaHqjD.js +0 -224
  1023. package/dist/showcase/assets/layout-users-BkhDiOOz.js +0 -117
  1024. package/dist/showcase/assets/layout-workspace-C2hSimZW.js +0 -191
  1025. package/dist/showcase/assets/lib-CDssULuD.js +0 -1
  1026. package/dist/showcase/assets/list-checks-DA2jqXdm.js +0 -1
  1027. package/dist/showcase/assets/lock-BDZLNQLR.js +0 -1
  1028. package/dist/showcase/assets/lock-keyhole-CWYENd9O.js +0 -1
  1029. package/dist/showcase/assets/mail-CCdaRmft.js +0 -1
  1030. package/dist/showcase/assets/mail-check-DZF1VbCX.js +0 -1
  1031. package/dist/showcase/assets/map-CDFEmmZH.js +0 -124
  1032. package/dist/showcase/assets/map-pin-CdV-R6nt.js +0 -1
  1033. package/dist/showcase/assets/media-library-BJyn1s9d.js +0 -699
  1034. package/dist/showcase/assets/mention-inline-suggestions-DPO6FhXx.js +0 -1
  1035. package/dist/showcase/assets/mentions-DtWHbcS6.js +0 -138
  1036. package/dist/showcase/assets/menus-BmjngFE4.js +0 -171
  1037. package/dist/showcase/assets/message-square-bM29txT3.js +0 -1
  1038. package/dist/showcase/assets/metadata-list-DvYTAJri.js +0 -286
  1039. package/dist/showcase/assets/metadata-list-xVUTVyy9.js +0 -1
  1040. package/dist/showcase/assets/metric-BPNCh4eA.js +0 -1
  1041. package/dist/showcase/assets/metric-bar-BX4sCMrM.js +0 -1
  1042. package/dist/showcase/assets/metric-grid-IyHP3nmU.js +0 -1
  1043. package/dist/showcase/assets/metric-trend-chip-Dih8eR17.js +0 -1
  1044. package/dist/showcase/assets/metrics-analytics-bar-DK16RNMs.js +0 -44
  1045. package/dist/showcase/assets/metrics-analytics-cards-Byyl13YT.js +0 -50
  1046. package/dist/showcase/assets/metrics-comparison-DGHFMBL-.js +0 -76
  1047. package/dist/showcase/assets/metrics-heatmap-Bl6C7i0j.js +0 -27
  1048. package/dist/showcase/assets/metrics-inline-badge-Bz79zbNK.js +0 -17
  1049. package/dist/showcase/assets/metrics-kpi-row-DzZ9dRFY.js +0 -31
  1050. package/dist/showcase/assets/metrics-micro-grid-DyoQiuzr.js +0 -42
  1051. package/dist/showcase/assets/metrics-overview-DoyHPEZw.js +0 -192
  1052. package/dist/showcase/assets/metrics-stat-cards-B1b7NFqW.js +0 -54
  1053. package/dist/showcase/assets/minus-BE2L5hVc.js +0 -1
  1054. package/dist/showcase/assets/money-display-CXQ_8LfA.js +0 -1
  1055. package/dist/showcase/assets/month-year-picker-ra8FEN8F.js +0 -1
  1056. package/dist/showcase/assets/navigation-CFfVZQJ1.js +0 -231
  1057. package/dist/showcase/assets/navigation-Da0MVkqr.js +0 -90
  1058. package/dist/showcase/assets/navigation-extras-LpsdoXfx.js +0 -43
  1059. package/dist/showcase/assets/onboarding-checklist-DPNatNOk.js +0 -119
  1060. package/dist/showcase/assets/overflow-tab-bar-C0vTzcEY.js +0 -1
  1061. package/dist/showcase/assets/overlays-Blmbun0J.js +0 -408
  1062. package/dist/showcase/assets/overlays-t0joc10Y.js +0 -159
  1063. package/dist/showcase/assets/overview-Ckq8vbOR.js +0 -184
  1064. package/dist/showcase/assets/package-Cjod_a06.js +0 -1
  1065. package/dist/showcase/assets/package-check-JRHaNnkl.js +0 -1
  1066. package/dist/showcase/assets/page-9xr7xnuW.js +0 -1
  1067. package/dist/showcase/assets/page-action-button-BRXnfsEx.js +0 -1
  1068. package/dist/showcase/assets/page-header-Bdlxfn_9.js +0 -1
  1069. package/dist/showcase/assets/pagination-CeaYhOvv.js +0 -42
  1070. package/dist/showcase/assets/pagination-DdZZHvNF.js +0 -1
  1071. package/dist/showcase/assets/paperclip-BRM-yXTB.js +0 -1
  1072. package/dist/showcase/assets/password-input-1FVEugoO.js +0 -1
  1073. package/dist/showcase/assets/pencil-DiG2dQ8F.js +0 -1
  1074. package/dist/showcase/assets/phone-BREyNZN-.js +0 -1
  1075. package/dist/showcase/assets/plus-CQcelTNc.js +0 -1
  1076. package/dist/showcase/assets/popover-Czmwspmc.js +0 -1
  1077. package/dist/showcase/assets/popover-menu-beuCaiLt.js +0 -1
  1078. package/dist/showcase/assets/popover-uqk7myG2.js +0 -1
  1079. package/dist/showcase/assets/products-DGNqIbLs.js +0 -423
  1080. package/dist/showcase/assets/progress-D76Df908.js +0 -1
  1081. package/dist/showcase/assets/progress-DjUprSDD.js +0 -18
  1082. package/dist/showcase/assets/props-table-DoDq8Mvr.js +0 -1
  1083. package/dist/showcase/assets/quote-BvGGgyJ0.js +0 -1
  1084. package/dist/showcase/assets/receipt-rgnlMgyi.js +0 -1
  1085. package/dist/showcase/assets/receipt-text-CBQrVlnU.js +0 -1
  1086. package/dist/showcase/assets/refinement-guide-B_BpIMxm.js +0 -189
  1087. package/dist/showcase/assets/refresh-cw-C-yHy6B7.js +0 -1
  1088. package/dist/showcase/assets/resolveValueLabel-0bwEvIG-.js +0 -1
  1089. package/dist/showcase/assets/resource-8f61BZ8t.js +0 -1
  1090. package/dist/showcase/assets/resource-BEh6R0gu.js +0 -139
  1091. package/dist/showcase/assets/resource-selector-card-DJwXY_Ms.js +0 -43
  1092. package/dist/showcase/assets/rich-text-editor-D433iv0N.js +0 -143
  1093. package/dist/showcase/assets/rich-text-editor-vTRfWsOK.js +0 -124
  1094. package/dist/showcase/assets/rotate-ccw-JuE4H14F.js +0 -1
  1095. package/dist/showcase/assets/route-eSu1bFNn.js +0 -1
  1096. package/dist/showcase/assets/save-Bpjj-rBP.js +0 -1
  1097. package/dist/showcase/assets/schema-form-DmOpxd96.js +0 -327
  1098. package/dist/showcase/assets/scroll-area-B9OdCBy9.js +0 -32
  1099. package/dist/showcase/assets/scroll-area-BH80l2As.js +0 -1
  1100. package/dist/showcase/assets/section-BPNIPavy.js +0 -1
  1101. package/dist/showcase/assets/select-BauiG1a3.js +0 -1
  1102. package/dist/showcase/assets/select-CPopSr5c.js +0 -1
  1103. package/dist/showcase/assets/send-DNCcBKXs.js +0 -1
  1104. package/dist/showcase/assets/separator-BK0beCOv.js +0 -28
  1105. package/dist/showcase/assets/separator-CKM9A-mm.js +0 -1
  1106. package/dist/showcase/assets/settings-2-B8fz7JZB.js +0 -1
  1107. package/dist/showcase/assets/settings-Cy2y3sQw.js +0 -1
  1108. package/dist/showcase/assets/sheet-C7VWkXE1.js +0 -1
  1109. package/dist/showcase/assets/shield-ClPev4gS.js +0 -1
  1110. package/dist/showcase/assets/shield-alert-6XO5YZ5u.js +0 -1
  1111. package/dist/showcase/assets/shield-check-DSfGVZq0.js +0 -1
  1112. package/dist/showcase/assets/shopping-bag-DzMrGvpF.js +0 -1
  1113. package/dist/showcase/assets/showcase-DuZaO6q9.js +0 -132
  1114. package/dist/showcase/assets/sidebar-7y9EQYWf.js +0 -1
  1115. package/dist/showcase/assets/sidebar.context-DUheJD8t.js +0 -1
  1116. package/dist/showcase/assets/skeleton-Dgr8Vabr.js +0 -29
  1117. package/dist/showcase/assets/skeleton-HSpErFqw.js +0 -1
  1118. package/dist/showcase/assets/slider-B7f81APg.js +0 -1
  1119. package/dist/showcase/assets/smart-card-p97LLZCW.js +0 -1
  1120. package/dist/showcase/assets/sonner-CWazrN19.js +0 -22
  1121. package/dist/showcase/assets/sortable.esm-uufol7Mz.js +0 -5
  1122. package/dist/showcase/assets/sparkles-Z4V23xKK.js +0 -1
  1123. package/dist/showcase/assets/spinner-BUgjAjWE.js +0 -49
  1124. package/dist/showcase/assets/spinner-CXu7z8-j.js +0 -1
  1125. package/dist/showcase/assets/spinner-DCwR0mnD.js +0 -30
  1126. package/dist/showcase/assets/square-pen-jwp_OWMQ.js +0 -1
  1127. package/dist/showcase/assets/stacked-avatars-CHEpTotO.js +0 -1
  1128. package/dist/showcase/assets/star-Ck8Lg5hm.js +0 -1
  1129. package/dist/showcase/assets/startOfDay-BzULZHy4.js +0 -1
  1130. package/dist/showcase/assets/styles-CNYitflH.js +0 -1
  1131. package/dist/showcase/assets/suggestions-CSF9MlKl.js +0 -126
  1132. package/dist/showcase/assets/switch-BX9KSLIF.js +0 -1
  1133. package/dist/showcase/assets/switch-Bn0WaWa9.js +0 -1
  1134. package/dist/showcase/assets/sync-BuKBnqWW.js +0 -124
  1135. package/dist/showcase/assets/table-DNJcLaud.js +0 -686
  1136. package/dist/showcase/assets/table-NfpOWGsG.js +0 -1
  1137. package/dist/showcase/assets/table-actions-Ci9Yszp0.js +0 -1
  1138. package/dist/showcase/assets/tabs-CYNFQdIr.js +0 -19
  1139. package/dist/showcase/assets/tabs-Cm_p6znb.js +0 -1
  1140. package/dist/showcase/assets/tags-input-DE4QZqS_.js +0 -1
  1141. package/dist/showcase/assets/text-button-D9llh4pU.js +0 -1
  1142. package/dist/showcase/assets/text-link-ZT6QGJOL.js +0 -1
  1143. package/dist/showcase/assets/textarea-CgcHuGVq.js +0 -1
  1144. package/dist/showcase/assets/textarea-D2uT_GJt.js +0 -1
  1145. package/dist/showcase/assets/timelines-BEFO7tJ0.js +0 -200
  1146. package/dist/showcase/assets/toggle-group-oYpa59lN.js +0 -1
  1147. package/dist/showcase/assets/toggles-BL93YmQo.js +0 -71
  1148. package/dist/showcase/assets/toggles-group-BG-xiQCY.js +0 -32
  1149. package/dist/showcase/assets/tooltip-BMI7zHwP.js +0 -31
  1150. package/dist/showcase/assets/trash-2-CtRtVsCy.js +0 -1
  1151. package/dist/showcase/assets/trending-up-2NQ-P8vB.js +0 -1
  1152. package/dist/showcase/assets/truck-Cl0nyN_j.js +0 -1
  1153. package/dist/showcase/assets/typography-C7pCPhg7.js +0 -223
  1154. package/dist/showcase/assets/ui-badge-BvmuMzSq.js +0 -28
  1155. package/dist/showcase/assets/ui-card-B7ziOMAn.js +0 -30
  1156. package/dist/showcase/assets/ui-table-BEFHakBU.js +0 -42
  1157. package/dist/showcase/assets/upload-tray-CMKqTtEp.js +0 -138
  1158. package/dist/showcase/assets/use-layout-link-nEU6ctSs.js +0 -1
  1159. package/dist/showcase/assets/useAnchoredPopupScrollLock-B1xyKMh7.js +0 -1
  1160. package/dist/showcase/assets/useAriaLabelledBy-BMlFgz-H.js +0 -1
  1161. package/dist/showcase/assets/useCollapsiblePanel-BEzH6TC2.js +0 -1
  1162. package/dist/showcase/assets/useCompositeItem-CIuww7-p.js +0 -1
  1163. package/dist/showcase/assets/useCompositeListItem-PrMTh4tz.js +0 -1
  1164. package/dist/showcase/assets/useLabelableId-BBLkeLGr.js +0 -1
  1165. package/dist/showcase/assets/useOpenInteractionType-CW0quo3l.js +0 -1
  1166. package/dist/showcase/assets/useRender-6NNMHJJU.js +0 -1
  1167. package/dist/showcase/assets/useTriggerFocusGuards-DEza_iee.js +0 -1
  1168. package/dist/showcase/assets/useValueChanged-BmWIb3SN.js +0 -1
  1169. package/dist/showcase/assets/user-BDIP5UPS.js +0 -1
  1170. package/dist/showcase/assets/user-plus-BCqHFh2h.js +0 -1
  1171. package/dist/showcase/assets/users-Bh7xGRX2.js +0 -1
  1172. package/dist/showcase/assets/vendor-profile-BlYcRbPI.js +0 -37
  1173. package/dist/showcase/assets/video-BucshqNW.js +0 -1
  1174. package/dist/showcase/assets/wrench-DQvhyTEb.js +0 -1
  1175. package/dist/showcase/assets/x-DyuS4YRT.js +0 -1
  1176. package/dist/showcase/assets/zap-Dpn8_pnQ.js +0 -1
@@ -0,0 +1,198 @@
1
+ import { l as e, p as t } from "./ui-provider-Dj6OSOZi.js";
2
+ import { cn as n } from "../lib/utils.js";
3
+ import { s as r } from "./typography-CzFVA1w1.js";
4
+ import { useMemo as i } from "react";
5
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
+ import { ArrowRight as s } from "lucide-react";
7
+ //#region src/components/base/currency/hooks/use-currency.ts
8
+ function c(t) {
9
+ let n = e(), { defaultCurrency: r, displayCurrency: a, locale: o, dualPricingEnabled: s, displayMode: c, dualPricingDisplay: l, formatMode: u } = i(() => {
10
+ let e = {
11
+ ...n,
12
+ ...t
13
+ }, r = e.defaultCurrency ?? "USD";
14
+ return {
15
+ defaultCurrency: r,
16
+ displayCurrency: e.displayCurrency ?? r,
17
+ locale: e.locale,
18
+ dualPricingEnabled: e.dualPricingEnabled ?? !1,
19
+ displayMode: e.displayMode ?? "default_only",
20
+ dualPricingDisplay: e.dualPricingDisplay ?? "lines",
21
+ formatMode: e.formatMode ?? "with_code"
22
+ };
23
+ }, [n, t]);
24
+ return {
25
+ defaultCurrency: r,
26
+ displayCurrency: a,
27
+ dualPricingEnabled: s,
28
+ displayMode: c,
29
+ dualPricingDisplay: l,
30
+ formatMode: u,
31
+ shouldShowDualPricing: () => s ? c === "dual" : !1,
32
+ formatAmount: (e, t, n) => {
33
+ let r = typeof e == "string" ? parseFloat(e) : e;
34
+ if (!Number.isFinite(r)) return t ? `${String(e)} ${t}`.trim() : String(e);
35
+ let i = new Intl.NumberFormat(o, {
36
+ minimumFractionDigits: 2,
37
+ maximumFractionDigits: 2
38
+ }).format(r);
39
+ switch (u) {
40
+ case "decimal": return i;
41
+ case "with_code": return t ? `${i} ${t}` : i;
42
+ case "with_symbol": return n ? `${n}${i}` : t ? `${i} ${t}` : i;
43
+ case "locale_aware":
44
+ if (!t) return i;
45
+ try {
46
+ return new Intl.NumberFormat(o, {
47
+ style: "currency",
48
+ currency: t
49
+ }).format(r);
50
+ } catch {
51
+ return `${i} ${t}`;
52
+ }
53
+ default: return t ? `${i} ${t}` : i;
54
+ }
55
+ },
56
+ getCurrencySymbol: (e) => ({
57
+ BGN: "лв",
58
+ EUR: "€",
59
+ USD: "$",
60
+ GBP: "£",
61
+ JPY: "¥"
62
+ })[e] ?? e
63
+ };
64
+ }
65
+ //#endregion
66
+ //#region src/components/base/currency/currency-pair-preview.tsx
67
+ var l = /* @__PURE__ */ a(s, {
68
+ className: "size-3 shrink-0 opacity-60",
69
+ "aria-hidden": "true"
70
+ });
71
+ function u({ pair: e, emptyLabel: i = "—", separator: s = l, className: u, size: d, tag: f = "span", ...p }) {
72
+ let { defaultTextSize: m } = t(), h = d ?? m ?? "sm", { formatAmount: g } = c(), _ = e?.source?.value ?? null, v = e?.source?.currency ?? null, y = e?.source?.symbol ?? null, b = e?.target?.value ?? null, x = e?.target?.currency ?? null, S = e?.target?.symbol ?? null;
73
+ return !_ || !b ? /* @__PURE__ */ a(r, {
74
+ tag: f,
75
+ size: h,
76
+ type: "secondary",
77
+ className: n("currency-pair-preview--component", "tabular-nums", u),
78
+ ...p,
79
+ children: i
80
+ }) : /* @__PURE__ */ o(r, {
81
+ tag: f,
82
+ size: h,
83
+ className: n("inline-flex items-center gap-1.5 tabular-nums", u),
84
+ ...p,
85
+ children: [
86
+ /* @__PURE__ */ a("span", { children: g(_, String(v ?? ""), y ?? void 0) }),
87
+ /* @__PURE__ */ a("span", {
88
+ className: "inline-flex items-center text-muted-foreground",
89
+ "aria-hidden": "true",
90
+ children: s
91
+ }),
92
+ /* @__PURE__ */ a("span", { children: g(b, String(x ?? ""), S ?? void 0) })
93
+ ]
94
+ });
95
+ }
96
+ u.displayName = "CurrencyPairPreview";
97
+ //#endregion
98
+ //#region src/components/base/display/money-display.tsx
99
+ var d = (e) => {
100
+ if (e == null) return null;
101
+ let t = typeof e == "number" ? e : Number.parseFloat(String(e).trim());
102
+ return Number.isFinite(t) ? t : null;
103
+ }, f = (e) => {
104
+ let t = d(e?.value);
105
+ return t === null ? null : {
106
+ value: t,
107
+ currency: e?.currency ? String(e.currency) : null,
108
+ symbol: e?.symbol ? String(e.symbol) : null
109
+ };
110
+ }, p = (e) => {
111
+ let t = d(e?.amount);
112
+ return t === null ? null : {
113
+ value: t,
114
+ currency: e?.currency ? String(e.currency) : null,
115
+ symbol: null
116
+ };
117
+ }, m = (e) => {
118
+ let t = d(e?.amount);
119
+ return t === null ? null : {
120
+ value: t,
121
+ currency: e?.currency ? String(e.currency) : null,
122
+ symbol: null
123
+ };
124
+ };
125
+ function h({ money: e, moneyPair: i, amount: s, pair: l, showPair: u = !1, dualPricingDisplay: d, alignment: h, emptyLabel: g = "—", variant: _ = "default", secondaryEmphasis: v = "discrete", className: y, size: b, align: x = "right", weight: S = "medium", tag: C = "span", ...w }) {
126
+ let { defaultTextSize: T } = t(), E = b ?? T ?? "sm", { displayCurrency: D, dualPricingDisplay: O, shouldShowDualPricing: k, formatAmount: A, getCurrencySymbol: j } = c(), M = d ?? O ?? "lines", N = (k() || u) && i?.primary ? p(i.primary) : null, P = p(e), F = f(s), I = N ?? P ?? F ?? null, L = I?.currency ?? D ?? null, R = (u || k()) && !!(i ?? l ?? e?.pair), z = _ === "minimal" || v === "hidden" ? null : (() => {
127
+ if (!R) return null;
128
+ if (i?.primary && i?.secondary) return p(i.secondary);
129
+ if (e?.pair) return m(e.pair);
130
+ if (l?.source || l?.target) {
131
+ let e = f(l?.source ?? null), t = f(l?.target ?? null);
132
+ if (!e && !t) return null;
133
+ let n = e?.currency ?? null, r = t?.currency ?? null;
134
+ return L && r === L ? e : L && n === L ? t : D && r === D ? e : D && n === D ? t : t ?? e;
135
+ }
136
+ return null;
137
+ })(), B = h ?? x, V = B === "left" ? "text-left" : B === "center" ? "text-center" : "text-right", H = B === "left" ? "justify-start" : B === "center" ? "justify-center" : "justify-end";
138
+ if (!I) return /* @__PURE__ */ a(r, {
139
+ tag: C,
140
+ size: E,
141
+ type: "secondary",
142
+ align: B,
143
+ className: n("money-display--component", "money--display inline-flex flex-col tabular-nums", V, y),
144
+ ...w,
145
+ children: g
146
+ });
147
+ let U = A(I.value, L ?? "", I.symbol ?? (L ? j(L) : void 0)), W = z ? A(z.value, z.currency ?? "", z.symbol ?? (z.currency ? j(z.currency) : void 0)) : null, G = v === "match" ? E : v === "muted" ? "xs" : "xxs", K = v === "match" ? void 0 : v === "muted" ? "secondary" : "discrete";
148
+ return M === "inline" && W ? /* @__PURE__ */ o("span", {
149
+ className: n("money--display inline-flex items-baseline gap-1.5 tabular-nums whitespace-nowrap", H, y),
150
+ ...w,
151
+ children: [
152
+ /* @__PURE__ */ a(r, {
153
+ tag: "span",
154
+ size: E,
155
+ weight: S,
156
+ children: U
157
+ }),
158
+ /* @__PURE__ */ a(r, {
159
+ tag: "span",
160
+ size: "xxs",
161
+ type: "discrete",
162
+ "aria-hidden": "true",
163
+ children: "·"
164
+ }),
165
+ /* @__PURE__ */ a(r, {
166
+ tag: "span",
167
+ size: G,
168
+ type: K,
169
+ weight: "regular",
170
+ children: W
171
+ })
172
+ ]
173
+ }) : /* @__PURE__ */ o(r, {
174
+ tag: C,
175
+ size: E,
176
+ align: B,
177
+ className: n("money--display inline-flex flex-col tabular-nums leading-tight", V, y),
178
+ ...w,
179
+ children: [/* @__PURE__ */ a(r, {
180
+ tag: "span",
181
+ size: E,
182
+ weight: S,
183
+ children: U
184
+ }), !!W && /* @__PURE__ */ a(r, {
185
+ tag: "span",
186
+ size: G,
187
+ align: B,
188
+ type: K,
189
+ className: "block whitespace-nowrap font-normal leading-tight",
190
+ children: W
191
+ })]
192
+ });
193
+ }
194
+ h.displayName = "MoneyDisplay";
195
+ //#endregion
196
+ export { u as n, h as t };
197
+
198
+ //# sourceMappingURL=money-display-D6Qtvyyv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money-display-D6Qtvyyv.js","names":[],"sources":["../../src/components/base/currency/hooks/use-currency.ts","../../src/components/base/currency/currency-pair-preview.tsx","../../src/components/base/display/money-display.tsx"],"sourcesContent":["/**\n * `useCurrency` — sugar over the `money` slice of `<UIProvider>`.\n *\n * Reads currency display settings from the global `UIConfig.money` store\n * (initialized with `DEFAULT_UI_CONFIG.money`), optionally overridden\n * per-call via `useCurrency({ ... })`. Returns formatting helpers that\n * compose the `Intl` APIs against the resolved settings.\n *\n * To change library-wide defaults: mount `<UIProvider config={{ money: {\n * defaultCurrency: 'EUR', formatMode: 'with_symbol' } }}>` near the root.\n * To change a single call site only: pass `useCurrency({ formatMode: ... })`.\n */\nimport { useMemo } from 'react';\n\nimport { useMoneyConfig } from '@/lib/ui-provider';\nimport type {\n MoneyConfig,\n MoneyDisplayMode,\n MoneyDualLayout,\n MoneyFormatMode,\n} from '@/lib/ui-provider';\n\n/**\n * Local-call override shape. Mirrors `MoneyConfig` keys, all optional.\n * Kept as a separate type so the public surface of `useCurrency` doesn't\n * depend directly on the UIConfig types.\n */\nexport type CurrencyOverrides = Partial<MoneyConfig>;\n\n/**\n * @deprecated Kept as an alias for back-compat. Prefer importing\n * `MoneyConfig` from `@/lib/ui-provider` directly.\n */\nexport type CurrencyConfig = MoneyConfig;\n\n/**\n * @deprecated Use `<UIProvider config={{ money: {...} }}>` instead.\n * This export is retained as a no-op shim during migration.\n */\nexport function CurrencyConfigProvider({\n children,\n}: {\n config?: Partial<MoneyConfig>;\n children: React.ReactNode;\n}): React.ReactElement {\n return children as React.ReactElement;\n}\n\n/** Hook returning resolved currency settings + formatting helpers. */\nexport function useCurrency(overrides?: CurrencyOverrides) {\n const fromStore = useMoneyConfig();\n\n const resolved = useMemo<Required<Pick<MoneyConfig,\n 'defaultCurrency' | 'dualPricingEnabled' | 'displayMode' |\n 'dualPricingDisplay' | 'formatMode'\n >> & { displayCurrency: string; locale?: string }>(() => {\n const merged: MoneyConfig = { ...fromStore, ...overrides };\n const defaultCurrency = merged.defaultCurrency ?? 'USD';\n return {\n defaultCurrency,\n displayCurrency: merged.displayCurrency ?? defaultCurrency,\n locale: merged.locale,\n dualPricingEnabled: merged.dualPricingEnabled ?? false,\n displayMode:\n merged.displayMode ?? ('default_only' as MoneyDisplayMode),\n dualPricingDisplay:\n merged.dualPricingDisplay ?? ('lines' as MoneyDualLayout),\n formatMode: merged.formatMode ?? ('with_code' as MoneyFormatMode),\n };\n }, [fromStore, overrides]);\n\n const {\n defaultCurrency,\n displayCurrency,\n locale,\n dualPricingEnabled,\n displayMode,\n dualPricingDisplay,\n formatMode,\n } = resolved;\n\n const shouldShowDualPricing = () => {\n if (!dualPricingEnabled) return false;\n return displayMode === 'dual';\n };\n\n const formatAmount = (\n value: string | number,\n currency: string,\n symbol?: string,\n ): string => {\n const numValue = typeof value === 'string' ? parseFloat(value) : value;\n if (!Number.isFinite(numValue)) {\n return currency ? `${String(value)} ${currency}`.trim() : String(value);\n }\n\n const formattedNumber = new Intl.NumberFormat(locale, {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n }).format(numValue);\n\n switch (formatMode) {\n case 'decimal':\n return formattedNumber;\n case 'with_code':\n return currency ? `${formattedNumber} ${currency}` : formattedNumber;\n case 'with_symbol':\n return symbol\n ? `${symbol}${formattedNumber}`\n : currency\n ? `${formattedNumber} ${currency}`\n : formattedNumber;\n case 'locale_aware':\n if (!currency) return formattedNumber;\n try {\n return new Intl.NumberFormat(locale, {\n style: 'currency',\n currency,\n }).format(numValue);\n } catch {\n return `${formattedNumber} ${currency}`;\n }\n default:\n return currency ? `${formattedNumber} ${currency}` : formattedNumber;\n }\n };\n\n const getCurrencySymbol = (currency: string): string => {\n const symbols: Record<string, string> = {\n BGN: 'лв',\n EUR: '€',\n USD: '$',\n GBP: '£',\n JPY: '¥',\n };\n return symbols[currency] ?? currency;\n };\n\n return {\n defaultCurrency,\n displayCurrency,\n dualPricingEnabled,\n displayMode,\n dualPricingDisplay,\n formatMode,\n shouldShowDualPricing,\n formatAmount,\n getCurrencySymbol,\n };\n}\n\n/**\n * @deprecated Use `DEFAULT_UI_CONFIG.money` from `@/lib/ui-provider`.\n * Retained for back-compat during migration.\n */\nexport const defaultCurrencyConfig: MoneyConfig = {\n defaultCurrency: 'USD',\n dualPricingEnabled: false,\n displayMode: 'default_only',\n dualPricingDisplay: 'lines',\n formatMode: 'with_code',\n};\n\nexport default useCurrency;\n","/**\n * CurrencyPairPreview — inline rendering of a `source → target` currency\n * pair using `useCurrency().formatAmount` for each side. Shows the shared\n * EMPTY placeholder when either leg is missing. Provide a custom `separator`\n * (default `→`) for direction or styling variations.\n */\nimport { ArrowRight } from 'lucide-react';\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { useCurrency } from '@/components/base/currency/hooks';\nimport { EMPTY } from '@/lib/format';\nimport { cn } from '@/lib/utils';\nimport { useTypographyConfig } from '@/lib/ui-provider';\n/**\n * Currency-pair shape rendered by `<CurrencyPairPreview>`.\n *\n * `value` is the numeric amount; `currency` is the ISO 4217 code;\n * `symbol` is an optional pre-resolved symbol the consumer can pass when\n * they don't want the library to look one up.\n */\nexport interface CurrencyPairLeg {\n\tvalue?: number | string | null;\n\tcurrency?: string | null;\n\tsymbol?: string | null;\n}\n\nexport interface CurrencyPairData {\n\tsource?: CurrencyPairLeg | null;\n\ttarget?: CurrencyPairLeg | null;\n}\n\ntype BaseTextProps = ComponentProps<typeof Text>;\n\nconst DEFAULT_SEPARATOR = (\n\t<ArrowRight className=\"size-3 shrink-0 opacity-60\" aria-hidden=\"true\" />\n);\n\nexport interface CurrencyPairPreviewProps extends Omit<BaseTextProps, 'children' | 'content'> {\n\tpair?: CurrencyPairData | null;\n\temptyLabel?: ReactNode;\n\tseparator?: ReactNode;\n}\n\nexport function CurrencyPairPreview({\n\tpair,\n\temptyLabel = EMPTY,\n\tseparator = DEFAULT_SEPARATOR,\n\tclassName,\n\tsize: sizeProp,\n\ttag = 'span',\n\t...props\n}: CurrencyPairPreviewProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst size = sizeProp ?? defaultTextSize ?? 'sm';\n\n\tconst { formatAmount } = useCurrency();\n\n\tconst source = pair?.source?.value ?? null;\n\tconst sourceCurrency = pair?.source?.currency ?? null;\n\tconst sourceSymbol = pair?.source?.symbol ?? null;\n\tconst target = pair?.target?.value ?? null;\n\tconst targetCurrency = pair?.target?.currency ?? null;\n\tconst targetSymbol = pair?.target?.symbol ?? null;\n\n\tif (!source || !target) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\ttag={tag}\n\t\t\t\tsize={size}\n\t\t\t\ttype=\"secondary\"\n\t\t\t\tclassName={cn('currency-pair-preview--component', 'tabular-nums', className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{emptyLabel}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Text\n\t\t\ttag={tag}\n\t\t\tsize={size}\n\t\t\tclassName={cn('inline-flex items-center gap-1.5 tabular-nums', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span>\n\t\t\t\t{formatAmount(source, String(sourceCurrency ?? ''), sourceSymbol ?? undefined)}\n\t\t\t</span>\n\t\t\t<span className=\"inline-flex items-center text-muted-foreground\" aria-hidden=\"true\">\n\t\t\t\t{separator}\n\t\t\t</span>\n\t\t\t<span>\n\t\t\t\t{formatAmount(target, String(targetCurrency ?? ''), targetSymbol ?? undefined)}\n\t\t\t</span>\n\t\t</Text>\n\t);\n}\n\nCurrencyPairPreview.displayName = 'CurrencyPairPreview';\n","/**\n * MoneyDisplay — primary + (optional) secondary currency amount renderer.\n *\n * Resolves a money value from any of `money` / `moneyPair` / `amount` / `pair`\n * (in priority order) and formats via the active `useCurrency` config. When\n * dual pricing is enabled (provider or per-instance `showPair`), the\n * converted secondary value renders either stacked\n * (`dualPricingDisplay=\"lines\"`, default) or inline. Numbers always use the\n * active locale's thousands separator and tabular-nums for stable column\n * alignment.\n *\n * Re-exported from `@/components/base/currency/money-display` to keep\n * currency-namespaced imports grouped.\n */\nimport type { ComponentProps, ReactNode } from 'react';\nimport { Text } from '@/components/typography';\nimport { useCurrency } from '@/components/base/currency/hooks';\nimport { EMPTY } from '@/lib/format';\nimport { cn } from '@/lib/utils';\nimport { useTypographyConfig } from '@/lib/ui-provider';\n\n/**\n * Flexible input shapes accepted by `<MoneyDisplay>`. The component reads\n * defensively (numeric or string `value`/`amount`) and treats `currency` as\n * a free-form ISO 4217 string. Consumers map their domain money/currency\n * types into these at the call site.\n */\nexport interface CurrencyAmountData {\n value?: number | string | null;\n currency?: string | null;\n symbol?: string | null;\n}\n\nexport interface MoneyValueData {\n amount?: number | string | null;\n currency?: string | null;\n}\n\nexport interface MoneyData extends MoneyValueData {\n /** Optional secondary leg used when dual-pricing is enabled. */\n pair?: MoneyValueData | null;\n}\n\nexport interface MoneyPairData {\n primary?: MoneyData | null;\n secondary?: MoneyData | null;\n}\n\nexport interface CurrencyPairData {\n source?: CurrencyAmountData | null;\n target?: CurrencyAmountData | null;\n}\n\ntype BaseTextProps = ComponentProps<typeof Text>;\n\nexport type MoneyDisplayVariant = 'default' | 'minimal' | 'stacked';\nexport type MoneyDisplaySecondaryEmphasis = 'discrete' | 'muted' | 'match' | 'hidden';\n\nexport interface MoneyDisplayProps extends Omit<BaseTextProps, 'children' | 'content'> {\n\tmoney?: MoneyData | null;\n\tmoneyPair?: MoneyPairData | null;\n\tamount?: CurrencyAmountData | null;\n\tpair?: CurrencyPairData | null;\n\tshowPair?: boolean;\n\tdualPricingDisplay?: 'inline' | 'lines';\n\talignment?: 'left' | 'center' | 'right';\n\temptyLabel?: ReactNode;\n\t/**\n\t * Visual variant. `default`/`stacked` show secondary on a line below;\n\t * `minimal` always renders just the primary value (single token, no\n\t * secondary, no separator) — use it for dense rows or chips.\n\t */\n\tvariant?: MoneyDisplayVariant;\n\t/**\n\t * Tunes the prominence of the secondary value when it renders.\n\t * `discrete` (default for stacked) — `xxs` discrete tone, easy to scan past.\n\t * `muted` — `xs` secondary tone (legacy behaviour).\n\t * `match` — same size as primary, regular weight.\n\t * `hidden` — never render the secondary even if a pair is provided.\n\t */\n\tsecondaryEmphasis?: MoneyDisplaySecondaryEmphasis;\n}\n\ntype ResolvedAmount = {\n\tvalue: number;\n\tcurrency: string | null;\n\tsymbol: string | null;\n};\n\nconst toNumber = (raw: string | number | undefined | null): number | null => {\n\tif (raw === null || raw === undefined) return null;\n\tconst n = typeof raw === 'number' ? raw : Number.parseFloat(String(raw).trim());\n\treturn Number.isFinite(n) ? n : null;\n};\n\nconst resolveCurrencyAmount = (amount?: CurrencyAmountData | null): ResolvedAmount | null => {\n\tconst n = toNumber(amount?.value);\n\tif (n === null) return null;\n\treturn {\n\t\tvalue: n,\n\t\tcurrency: amount?.currency ? String(amount.currency) : null,\n\t\tsymbol: amount?.symbol ? String(amount.symbol) : null,\n\t};\n};\n\nconst resolveMoney = (money?: MoneyData | null): ResolvedAmount | null => {\n\tconst n = toNumber(money?.amount);\n\tif (n === null) return null;\n\treturn {\n\t\tvalue: n,\n\t\tcurrency: money?.currency ? String(money.currency) : null,\n\t\tsymbol: null,\n\t};\n};\n\nconst resolveMoneyValue = (value?: MoneyValueData | null): ResolvedAmount | null => {\n\tconst n = toNumber(value?.amount);\n\tif (n === null) return null;\n\treturn {\n\t\tvalue: n,\n\t\tcurrency: value?.currency ? String(value.currency) : null,\n\t\tsymbol: null,\n\t};\n};\n\nexport function MoneyDisplay({\n\tmoney,\n\tmoneyPair,\n\tamount,\n\tpair,\n\tshowPair = false,\n\tdualPricingDisplay,\n\talignment,\n\temptyLabel = EMPTY,\n\tvariant = 'default',\n\tsecondaryEmphasis = 'discrete',\n\tclassName,\n\t// Defaults tuned for admin density: `sm` + `medium` reads as a normal\n\t// number in context, not a hero figure. Pass `size=\"base\"` /\n\t// `weight=\"semibold\"` for emphasis (totals, KPI tiles).\n\tsize: sizeProp,\n\talign = 'right',\n\tweight = 'medium',\n\ttag = 'span',\n\t...props\n}: MoneyDisplayProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst size = sizeProp ?? defaultTextSize ?? 'sm';\n\n\tconst {\n\t\tdisplayCurrency,\n\t\tdualPricingDisplay: globalDualPricingDisplay,\n\t\tshouldShowDualPricing,\n\t\tformatAmount,\n\t\tgetCurrencySymbol,\n\t} = useCurrency();\n\n\tconst resolvedDualPricingDisplay = dualPricingDisplay ?? globalDualPricingDisplay ?? 'lines';\n\n\tconst primaryFromMoneyPair =\n\t\t(shouldShowDualPricing() || showPair) && moneyPair?.primary\n\t\t\t? resolveMoney(moneyPair.primary)\n\t\t\t: null;\n\tconst primaryFromMoney = resolveMoney(money);\n\tconst primaryFromAmount = resolveCurrencyAmount(amount);\n\n\tconst primary = primaryFromMoneyPair ?? primaryFromMoney ?? primaryFromAmount ?? null;\n\tconst primaryCurrency = primary?.currency ?? displayCurrency ?? null;\n\n\tconst shouldRenderPair =\n\t\t(showPair || shouldShowDualPricing()) &&\n\t\tBoolean(moneyPair ?? pair ?? money?.pair);\n\n\tconst resolveSecondary = (): ResolvedAmount | null => {\n\t\tif (!shouldRenderPair) return null;\n\n\t\tif (moneyPair?.primary && moneyPair?.secondary) {\n\t\t\treturn resolveMoney(moneyPair.secondary);\n\t\t}\n\n\t\tif (money?.pair) {\n\t\t\treturn resolveMoneyValue(money.pair);\n\t\t}\n\n\t\tif (pair?.source || pair?.target) {\n\t\t\tconst source = resolveCurrencyAmount(pair?.source ?? null);\n\t\t\tconst target = resolveCurrencyAmount(pair?.target ?? null);\n\n\t\t\tif (!source && !target) return null;\n\n\t\t\tconst sourceCurrency = source?.currency ?? null;\n\t\t\tconst targetCurrency = target?.currency ?? null;\n\n\t\t\tif (primaryCurrency && targetCurrency === primaryCurrency) return source;\n\t\t\tif (primaryCurrency && sourceCurrency === primaryCurrency) return target;\n\t\t\tif (displayCurrency && targetCurrency === displayCurrency) return source;\n\t\t\tif (displayCurrency && sourceCurrency === displayCurrency) return target;\n\t\t\treturn target ?? source;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tconst secondary =\n\t\tvariant === 'minimal' || secondaryEmphasis === 'hidden'\n\t\t\t? null\n\t\t\t: resolveSecondary();\n\n\tconst resolvedAlign = alignment ?? align;\n\tconst alignmentClass =\n\t\tresolvedAlign === 'left'\n\t\t\t? 'text-left'\n\t\t\t: resolvedAlign === 'center'\n\t\t\t\t? 'text-center'\n\t\t\t\t: 'text-right';\n\tconst justifyClass =\n\t\tresolvedAlign === 'left'\n\t\t\t? 'justify-start'\n\t\t\t: resolvedAlign === 'center'\n\t\t\t\t? 'justify-center'\n\t\t\t\t: 'justify-end';\n\n\tif (!primary) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\ttag={tag}\n\t\t\t\tsize={size}\n\t\t\t\ttype=\"secondary\"\n\t\t\t\talign={resolvedAlign}\n\t\t\t\tclassName={cn('money-display--component', \n\t\t\t\t\t'money--display inline-flex flex-col tabular-nums',\n\t\t\t\t\talignmentClass,\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{emptyLabel}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tconst primaryLabel = formatAmount(\n\t\tprimary.value,\n\t\tprimaryCurrency ?? '',\n\t\tprimary.symbol ?? (primaryCurrency ? getCurrencySymbol(primaryCurrency) : undefined),\n\t);\n\tconst secondaryLabel = secondary\n\t\t? formatAmount(\n\t\t\t\tsecondary.value,\n\t\t\t\tsecondary.currency ?? '',\n\t\t\t\tsecondary.symbol ?? (secondary.currency ? getCurrencySymbol(secondary.currency) : undefined),\n\t\t\t)\n\t\t: null;\n\n\tconst secondarySize: BaseTextProps['size'] =\n\t\tsecondaryEmphasis === 'match' ? size\n\t\t\t: secondaryEmphasis === 'muted' ? 'xs'\n\t\t\t\t: 'xxs';\n\tconst secondaryType: BaseTextProps['type'] =\n\t\tsecondaryEmphasis === 'match' ? undefined\n\t\t\t: secondaryEmphasis === 'muted' ? 'secondary'\n\t\t\t\t: 'discrete';\n\n\tif (resolvedDualPricingDisplay === 'inline' && secondaryLabel) {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'money--display inline-flex items-baseline gap-1.5 tabular-nums whitespace-nowrap',\n\t\t\t\t\tjustifyClass,\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...(props as React.HTMLAttributes<HTMLSpanElement>)}\n\t\t\t>\n\t\t\t\t<Text tag=\"span\" size={size} weight={weight}>\n\t\t\t\t\t{primaryLabel}\n\t\t\t\t</Text>\n\t\t\t\t<Text tag=\"span\" size=\"xxs\" type=\"discrete\" aria-hidden=\"true\">\n\t\t\t\t\t·\n\t\t\t\t</Text>\n\t\t\t\t<Text tag=\"span\" size={secondarySize} type={secondaryType} weight=\"regular\">\n\t\t\t\t\t{secondaryLabel}\n\t\t\t\t</Text>\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Text\n\t\t\ttag={tag}\n\t\t\tsize={size}\n\t\t\talign={resolvedAlign}\n\t\t\tclassName={cn(\n\t\t\t\t'money--display inline-flex flex-col tabular-nums leading-tight',\n\t\t\t\talignmentClass,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Text tag=\"span\" size={size} weight={weight}>\n\t\t\t\t{primaryLabel}\n\t\t\t</Text>\n\t\t\t{!!secondaryLabel && (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\tsize={secondarySize}\n\t\t\t\t\talign={resolvedAlign}\n\t\t\t\t\ttype={secondaryType}\n\t\t\t\t\tclassName=\"block whitespace-nowrap font-normal leading-tight\"\n\t\t\t\t>\n\t\t\t\t\t{secondaryLabel}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</Text>\n\t);\n}\n\nMoneyDisplay.displayName = 'MoneyDisplay';\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require("../lib/strings.cjs"),t=require("../lib/utils.cjs"),n=require("./button-BMiPFJIb.cjs"),r=require("./typography-GtkgK9QX.cjs"),i=require("./badge-B8xGFpfM.cjs"),a=require("./dropdown-menu-CHQzQWUK.cjs"),o=require("./separator-q42IlFFA.cjs");let s=require("react"),c=require("react/jsx-runtime"),l=require("lucide-react");function u({locales:e,onRenderLabel:r,variant:i=`buttons`,onSelect:a}){let o=(0,s.useCallback)((e,t)=>{t||a?.(e)},[a]);return e.length===0?null:i===`inline`?(0,c.jsxs)(`div`,{className:t.cn(`language-switcher--component`,`flex items-center justify-center gap-2.5`),children:[(0,c.jsx)(l.Globe,{className:`size-4 text-muted-foreground/70`,"aria-hidden":`true`}),(0,c.jsx)(`div`,{className:`flex items-center justify-center gap-2.5`,children:e.map((n,i)=>{let a=r?r(n):n.nativeLabel;return(0,c.jsxs)(s.Fragment,{children:[(0,c.jsx)(`button`,{type:`button`,onClick:()=>o(n.value,n.active),className:t.cn(`text-sm transition-colors`,n.active?`text-primary font-medium`:`text-muted-foreground hover:text-foreground`),children:a}),i<e.length-1&&(0,c.jsx)(`span`,{"aria-hidden":`true`,className:`size-1 rounded-full bg-border`})]},n.value)})})]}):(0,c.jsx)(`div`,{className:`flex flex-wrap items-center justify-center gap-2`,children:e.map(e=>{let i=r?r(e):e.nativeLabel;return(0,c.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:e.active?`solid`:`ghost`,onClick:()=>o(e.value,e.active),className:t.cn(`min-w-18 justify-center transition-colors`,e.active?`font-semibold text-primary`:`text-muted-foreground`),children:i},e.value)})})}u.displayName=`LanguageSwitcher`;function d(e){if(e.length===0)return`/`;try{let t=typeof window<`u`?window.location.origin:`http://localhost`,n=new URL(e,t).pathname.replace(/\/+$/,``);return n.length>0?n:`/`}catch{let t=(e.split(`?`)[0]??e).replace(/\/+$/,``);return t.length>0?t:`/`}}function f({items:e,currentPath:r,activeClassName:i,itemClassName:a}){let o=d(r??(typeof window<`u`?window.location.pathname:``)),s=typeof i==`string`&&i.length>0?i:`bg-muted`,l=e.map(e=>({item:e,normalizedPath:d(e.href)})),u=l.filter(({normalizedPath:e})=>o===e||o.startsWith(`${e}/`)).sort((e,t)=>t.normalizedPath.length-e.normalizedPath.length)[0]?.normalizedPath??null;return(0,c.jsx)(`nav`,{className:t.cn(`aside-navigation-menu--component`,`flex flex-col space-y-1 space-x-0`),children:l.map(({item:e,normalizedPath:r})=>(0,c.jsx)(n.i,{variant:`secondary`,buttonStyle:`ghost`,size:`default`,fullWidth:!0,className:t.cn(`justify-start`,a,r===u?s:null),nativeButton:!1,render:t=>(0,c.jsx)(`a`,{...t,href:e.href}),children:e.title},e.href))})}f.displayName=`AsideNavigationMenu`;var p={tabsAria:`Tabs`};function m({items:n,currentUrl:r,strings:i}){let a=e.useStrings(p,i),o=r??(typeof window<`u`?window.location.pathname:`/`),s=e=>{try{return new URL(e,window.location.origin).pathname.replace(/\/+$/,``)}catch{return e.replace(/\/+$/,``).split(`?`)[0]}},l=s(o);return(0,c.jsx)(`div`,{className:t.cn(`navigation-tabs--component`,`navigation-tabs-container w-full`),children:(0,c.jsx)(`nav`,{className:`inline-flex items-center gap-1 rounded-lg bg-muted/60 p-1`,"aria-label":a.tabsAria,children:n.map(e=>{let n=l===s(e.url);return(0,c.jsx)(`a`,{href:e.url,className:t.cn(`flex h-control whitespace-nowrap items-center gap-space-sm rounded-md border border-transparent bg-background px-control text-sm leading-tight text-foreground transition-all duration-150 hover:bg-primary hover:text-background`,{"!bg-primary !text-background font-semibold":n}),children:e.label},e.url)})})})}m.displayName=`NavigationTabs`;function h({items:e,currentPath:n,className:r,ariaLabel:i=`Tab navigation`}){let a=n??(typeof window<`u`?window.location.pathname:``),o=(0,s.useMemo)(()=>e.map(e=>{let t=a===e.href,n=null;if(typeof e.icon==`string`)n=(0,c.jsx)(`span`,{className:`text-inherit`,children:e.icon});else if(e.icon){let t=e.icon;n=(0,c.jsx)(t,{className:`size-icon-sm`})}return{key:e.href,item:e,isActive:t,iconNode:n,ariaCurrent:t?`page`:void 0}}),[a,e]);return(0,c.jsx)(`div`,{className:t.cn(`tab-navigation-menu--component`,`w-full`,r),children:(0,c.jsx)(`nav`,{className:`inline-flex bg-muted rounded-full items-center gap-1 p-1`,"aria-label":i,children:o.map(({key:e,item:n,isActive:r,iconNode:i,ariaCurrent:a})=>(0,c.jsxs)(`a`,{href:n.href,className:t.cn(`flex h-control whitespace-nowrap items-center gap-space-sm`,`rounded-full px-control`,`text-sm font-medium`,`transition-all duration-200`,`focus-visible:outline-none focus-visible:ring-2`,`focus-visible:ring-ring focus-visible:ring-offset-2`,{"bg-background text-foreground shadow-sm":r,"text-muted-foreground hover:text-foreground hover:bg-background/50":!r}),"aria-current":a,children:[!!i&&(0,c.jsx)(`span`,{className:`text-inherit`,children:i}),n.title,!!n.badge&&(0,c.jsx)(`span`,{className:t.cn(`ml-space-sm rounded-full px-space-md py-space-2xs text-sm font-medium`,r?`bg-primary/10 text-primary`:`bg-muted-foreground/10 text-muted-foreground`),children:n.badge})]},e))})})}h.displayName=`TabNavigationMenu`;function g({eyebrow:e,title:n,description:a,badge:s,breadcrumbs:l,actions:u,children:d,className:f,withSeparator:p=!0}){return(0,c.jsxs)(`header`,{className:t.cn(`page-header--component`,`w-full`,f),children:[!!l&&(0,c.jsx)(`div`,{className:`mb-3`,children:l}),(0,c.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,c.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[!!e&&(0,c.jsx)(r.s,{size:`xxs`,type:`secondary`,weight:`semibold`,className:`mb-1 uppercase tracking-wider`,children:e}),(0,c.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,c.jsx)(r.o,{tag:`h2`,className:`text-base border-0 pb-0`,children:n}),!!s&&(0,c.jsx)(i.t,{variant:s.variant??`secondary`,children:s.label})]}),!!a&&(0,c.jsx)(r.s,{type:`secondary`,className:`mt-1 max-w-2xl`,children:a})]}),!!u&&(0,c.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:u})]}),!!d&&(0,c.jsx)(`div`,{className:`mt-4`,children:d}),!!p&&(0,c.jsx)(o.t,{className:`mt-4`})]})}g.displayName=`PageHeader`;function _({items:e,rootMargin:n=`-40% 0px -50% 0px`,className:i,onSelect:a}){let[o,l]=(0,s.useState)(e[0]?.id??null);return(0,s.useEffect)(()=>{let t=new IntersectionObserver(e=>{let t=e.find(e=>e.isIntersecting);t?.target.id&&l(t.target.id)},{rootMargin:n,threshold:0});return e.forEach(e=>{let n=document.getElementById(e.id);n&&t.observe(n)}),()=>t.disconnect()},[e,n]),(0,c.jsx)(`nav`,{className:t.cn(`section-nav--component`,`flex flex-col gap-0.5`,i),"aria-label":`Section navigation`,children:e.map(e=>{let n=e.icon,i=o===e.id;return(0,c.jsxs)(`a`,{href:`#${e.id}`,onClick:t=>{t.preventDefault(),document.getElementById(e.id)?.scrollIntoView({behavior:`smooth`,block:`start`}),l(e.id),a?.(e.id)},className:t.cn(`flex items-center gap-2 rounded-md px-2 py-1.5 transition-colors`,i?`bg-primary/10 text-primary`:`text-muted-foreground hover:bg-muted/50 hover:text-foreground`),children:[!!n&&(0,c.jsx)(n,{className:`size-3.5 shrink-0`}),(0,c.jsx)(r.s,{tag:`span`,weight:i?`semibold`:`medium`,children:e.label})]},e.id)})})}_.displayName=`SectionNav`;function v(e){if(e.length===0)return`/`;try{let t=typeof window<`u`?window.location.origin:`http://localhost`,n=new URL(e,t).pathname.replace(/\/+$/,``);return n.length>0?n:`/`}catch{let t=(e.split(`?`)[0]??e).replace(/\/+$/,``);return t.length>0?t:`/`}}function y({groups:e,currentPath:n,className:a,itemClassName:o,activeItemClassName:u,ariaLabel:d=`Side navigation`}){let f=v(n??(typeof window<`u`?window.location.pathname:``)),p=(0,s.useMemo)(()=>e.flatMap(e=>e.items.map(t=>({groupId:e.id,normalizedPath:v(t.href)}))),[e]).filter(({normalizedPath:e})=>f===e||f.startsWith(`${e}/`)).sort((e,t)=>t.normalizedPath.length-e.normalizedPath.length)[0]?.normalizedPath??null,[m,h]=(0,s.useState)(()=>Object.fromEntries(e.map(e=>[e.id,!!e.defaultCollapsed]))),g=e=>h(t=>({...t,[e]:!t[e]})),_=u&&u.length>0?u:`bg-primary/5 text-primary`;return(0,c.jsx)(`nav`,{className:t.cn(`side-nav--component`,`flex flex-col gap-4`,a),"aria-label":d,children:e.map(e=>{let n=e.collapsible!==!1&&m[e.id],a=!!e.label,s=!n;return(0,c.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[!!a&&(e.collapsible===!1?(0,c.jsx)(r.s,{tag:`div`,size:`xs`,type:`secondary`,weight:`medium`,className:`px-3 py-1.5 uppercase tracking-wider`,children:e.label}):(0,c.jsxs)(`button`,{type:`button`,onClick:()=>g(e.id),className:t.cn(`flex w-full items-center justify-between px-3 py-1.5 rounded-md`,`text-sm font-medium uppercase tracking-wider text-muted-foreground`,`hover:text-foreground transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`),"aria-expanded":!n,children:[(0,c.jsx)(`span`,{children:e.label}),(0,c.jsx)(l.ChevronDown,{className:t.cn(`size-3.5 transition-transform`,n&&`-rotate-90`),"aria-hidden":`true`})]})),!!s&&(0,c.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:e.items.map(e=>{let n=e.icon,r=v(e.href)===p;return(0,c.jsxs)(`a`,{href:e.disabled?void 0:e.href,"aria-current":r?`page`:void 0,"aria-disabled":e.disabled||void 0,className:t.cn(`group flex items-center gap-2.5 rounded-md px-3 py-1.5`,`text-sm transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,`hover:bg-muted/60`,e.disabled&&`pointer-events-none opacity-50`,r&&_,o),children:[!!n&&(0,c.jsx)(n,{className:t.cn(`size-4 shrink-0`,r?`text-primary`:`text-muted-foreground`)}),(0,c.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!!e.badge&&(0,c.jsx)(i.t,{variant:r?`primary`:`secondary`,className:`shrink-0`,children:e.badge})]},e.href)})})]},e.id)})})}y.displayName=`SideNav`;var b=`inline-flex h-control shrink-0 items-center gap-space-sm rounded-md px-control text-sm font-medium whitespace-nowrap transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`;function x({items:e,value:n,onChange:r,className:i,tabClassName:o,activeTabClassName:u,moreLabel:d=`More`,ariaLabel:f=`Tab navigation`}){let p=(0,s.useRef)(null),m=(0,s.useRef)(null),[h,g]=(0,s.useState)(e.length);(0,s.useLayoutEffect)(()=>{if(!p.current||!m.current)return;let t=p.current,n=m.current,r=()=>{let r=t.clientWidth;if(r===0){g(e.length);return}let i=Array.from(n.querySelectorAll(`[data-tab-id]`)),a=0,o=0;for(let e of i){let t=e.offsetWidth+4;if(a+t+72<=r)a+=t,o+=1;else break}g(o===i.length?o:Math.max(1,o))};if(r(),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(r);return i.observe(t),()=>i.disconnect()},[e]);let _=(0,s.useMemo)(()=>{if(!n)return e;let t=e.findIndex(e=>e.id===n);if(t<0||t<h)return e;let r=[...e],i=Math.max(0,h-1);return[r[t],r[i]]=[r[i],r[t]],r},[e,n,h]),v=_.slice(0,h),y=_.slice(h),x=e=>{r?.(e.id),e.onClick?.()},S=(e,r,i)=>{let a=e.icon,s=t.cn(b,r?t.cn(`bg-card text-foreground shadow-sm`,u):`text-muted-foreground hover:bg-muted/60`,o),l=(0,c.jsxs)(c.Fragment,{children:[!!a&&(0,c.jsx)(a,{className:`size-icon-sm`}),(0,c.jsx)(`span`,{children:e.label}),!!e.badge&&(0,c.jsx)(`span`,{className:t.cn(`ml-1 inline-flex items-center rounded-full px-1.5 py-0.5 text-sm font-semibold`,r?`bg-primary/10 text-primary`:`bg-muted-foreground/10 text-muted-foreground`),children:e.badge})]});return i?.measure?(0,c.jsx)(`span`,{"data-tab-id":e.id,className:t.cn(`overflow-tab-bar--measure`,s),children:l},e.id):e.href?(0,c.jsx)(`a`,{href:e.href,"data-tab-id":e.id,role:`tab`,"aria-selected":r,tabIndex:r||!n?0:-1,onClick:()=>x(e),className:t.cn(`overflow-tab-bar--component`,s),children:l},e.id):(0,c.jsx)(`button`,{type:`button`,"data-tab-id":e.id,role:`tab`,"aria-selected":r,tabIndex:r||!n?0:-1,onClick:()=>x(e),className:s,children:l},e.id)};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{ref:m,"aria-hidden":`true`,className:`pointer-events-none fixed left-0 top-0 z-[-1] flex h-0 w-0 items-center gap-1 overflow-hidden opacity-0`,children:e.map(e=>S(e,!1,{measure:!0}))}),(0,c.jsxs)(`div`,{ref:p,className:t.cn(`relative flex w-full min-w-0 max-w-full items-center gap-1 overflow-hidden rounded-lg bg-muted/40 p-1`,i),children:[(0,c.jsx)(`div`,{role:`tablist`,"aria-label":f,"aria-orientation":`horizontal`,className:`flex min-w-0 flex-1 items-center gap-1 overflow-hidden`,children:v.map(e=>S(e,e.id===n))}),y.length>0&&(0,c.jsxs)(a.t,{children:[(0,c.jsxs)(a.g,{type:`button`,"aria-label":d,className:t.cn(b,`text-muted-foreground hover:bg-muted/60`),children:[(0,c.jsx)(l.MoreHorizontal,{className:`size-icon-sm`}),(0,c.jsx)(`span`,{children:d})]}),(0,c.jsx)(a.r,{align:`end`,className:`min-w-40`,children:y.map(e=>{let r=e.icon;return(0,c.jsxs)(a.a,{onClick:()=>x(e),className:t.cn(`text-sm gap-1.5 px-2 py-1.5`,e.id===n&&`bg-primary/5 text-primary`),children:[!!r&&(0,c.jsx)(r,{className:`size-3.5`}),(0,c.jsx)(`span`,{children:e.label})]},e.id)})})]})]})]})}x.displayName=`OverflowTabBar`,Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return x}});
2
+ //# sourceMappingURL=navigation-C4dO1I82.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-C4dO1I82.cjs","names":[],"sources":["../../src/components/base/navigation/language-switcher.tsx","../../src/components/base/navigation/aside-navigation-menu.tsx","../../src/components/base/navigation/navigation-tabs.tsx","../../src/components/base/navigation/tab-navigation-menu.tsx","../../src/components/base/navigation/page-header/page-header.tsx","../../src/components/base/navigation/section-nav/section-nav.tsx","../../src/components/base/navigation/side-nav.tsx","../../src/components/base/navigation/overflow-tab-bar.tsx"],"sourcesContent":["/**\n * LanguageSwitcher — locale picker with two layouts: `buttons` (chunky\n * primary buttons) and `inline` (small text links separated by dots, prefixed\n * with a globe icon). Defaults to `buttons`.\n *\n * The library never navigates on its own. The consumer wires routing /\n * locale switching by passing `onSelect` (e.g. a Tanstack Router\n * `navigate(...)` or Inertia `router.visit(...)`). When `onSelect` is\n * absent the click is a no-op.\n */\nimport { Globe } from 'lucide-react';\nimport { Fragment, useCallback } from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { cn } from '@/lib/utils';\nimport type { LocaleOption } from '@/types/locale.types';\n\ninterface LanguageSwitcherProps {\n\tlocales: LocaleOption[];\n\tonRenderLabel?: (options: LocaleOption) => string;\n\tvariant?: 'buttons' | 'inline';\n\tonSelect?: (value: string) => void;\n}\n\nexport function LanguageSwitcher({\n\tlocales,\n\tonRenderLabel,\n\tvariant = 'buttons',\n\tonSelect,\n}: LanguageSwitcherProps) {\n\tconst handleSelect = useCallback((value: string, isActive: boolean) => {\n\t\tif (isActive) {\n\t\t\treturn;\n\t\t}\n\n\t\tonSelect?.(value);\n\t}, [onSelect]);\n\n\tif (locales.length === 0) {\n\t\treturn null;\n\t}\n\n\tif (variant === 'inline') {\n\t\treturn (\n\t\t\t<div className={cn('language-switcher--component', 'flex items-center justify-center gap-2.5')}>\n\t\t\t\t<Globe className=\"size-4 text-muted-foreground/70\" aria-hidden=\"true\" />\n\t\t\t\t<div className=\"flex items-center justify-center gap-2.5\">\n\t\t\t\t\t{locales.map((locale, index) => {\n\t\t\t\t\t\tconst label = onRenderLabel\n\t\t\t\t\t\t\t? onRenderLabel(locale)\n\t\t\t\t\t\t\t: locale.nativeLabel;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Fragment key={locale.value}>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\thandleSelect(locale.value, locale.active)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'text-sm transition-colors',\n\t\t\t\t\t\t\t\t\t\tlocale.active\n\t\t\t\t\t\t\t\t\t\t\t? 'text-primary font-medium'\n\t\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground hover:text-foreground',\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t{index < locales.length - 1 && (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"size-1 rounded-full bg-border\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"flex flex-wrap items-center justify-center gap-2\">\n\t\t\t{locales.map((locale) => {\n\t\t\t\tconst label = onRenderLabel ? onRenderLabel(locale) : locale.nativeLabel;\n\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={locale.value}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tbuttonStyle={locale.active ? 'solid' : 'ghost'}\n\t\t\t\t\t\tonClick={() => handleSelect(locale.value, locale.active)}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'min-w-18 justify-center transition-colors',\n\t\t\t\t\t\t\tlocale.active ? 'font-semibold text-primary' : 'text-muted-foreground',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n\nLanguageSwitcher.displayName = 'LanguageSwitcher';\n","/**\n * AsideNavigationMenu — vertical list of navigation links with active-state\n * highlight. Active item is matched by deepest path prefix so nested routes\n * still highlight their parent. Pass `currentPath` explicitly when SSR-ing or\n * when the consuming router does not update `window.location` synchronously.\n */\nimport { BaseButton } from '@/components/base/buttons';\nimport { cn } from '@/lib/utils';\nimport { type NavItem } from '@/types';\n\ninterface AsideNavigationMenuProps {\n\titems: NavItem[];\n\tcurrentPath?: string;\n\tactiveClassName?: string;\n\titemClassName?: string;\n}\n\nfunction normalizePath(rawUrl: string): string {\n\tif (rawUrl.length === 0) {\n\t\treturn '/';\n\t}\n\n\ttry {\n\t\tconst baseOrigin =\n\t\t\ttypeof window !== 'undefined'\n\t\t\t\t? window.location.origin\n\t\t\t\t: 'http://localhost';\n\t\tconst parsed = new URL(rawUrl, baseOrigin);\n\t\tconst trimmed = parsed.pathname.replace(/\\/+$/, '');\n\t\treturn trimmed.length > 0 ? trimmed : '/';\n\t} catch {\n\t\tconst clean = rawUrl.split('?')[0] ?? rawUrl;\n\t\tconst trimmed = clean.replace(/\\/+$/, '');\n\t\treturn trimmed.length > 0 ? trimmed : '/';\n\t}\n}\n\nexport default function AsideNavigationMenu({\n\titems,\n\tcurrentPath,\n\tactiveClassName,\n\titemClassName,\n}: AsideNavigationMenuProps) {\n\tconst rawActivePath = currentPath ?? (typeof window !== 'undefined' ? window.location.pathname : '');\n\tconst activePath = normalizePath(rawActivePath);\n\tconst resolvedActiveClassName =\n\t\ttypeof activeClassName === 'string' && activeClassName.length > 0\n\t\t\t? activeClassName\n\t\t\t: 'bg-muted';\n\tconst normalizedItems = items.map((item) => ({\n\t\titem,\n\t\tnormalizedPath: normalizePath(item.href),\n\t}));\n\n\tconst activeItemPath =\n\t\tnormalizedItems\n\t\t\t.filter(\n\t\t\t\t({ normalizedPath }) =>\n\t\t\t\t\tactivePath === normalizedPath ||\n\t\t\t\t\tactivePath.startsWith(`${normalizedPath}/`),\n\t\t\t)\n\t\t\t.sort((a, b) => b.normalizedPath.length - a.normalizedPath.length)[0]\n\t\t\t?.normalizedPath ?? null;\n\n\treturn (\n\t\t<nav className={cn('aside-navigation-menu--component', 'flex flex-col space-y-1 space-x-0')}>\n\t\t\t{normalizedItems.map(({ item, normalizedPath }) => {\n\t\t\t\tconst isActive = normalizedPath === activeItemPath;\n\n\t\t\t\treturn (\n\t\t\t\t\t<BaseButton\n\t\t\t\t\t\tkey={item.href}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\tfullWidth\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'justify-start',\n\t\t\t\t\t\t\titemClassName,\n\t\t\t\t\t\t\tisActive ? resolvedActiveClassName : null,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tnativeButton={false}\n\t\t\t\t\t\trender={(renderProps) => (\n\t\t\t\t\t\t\t<a {...renderProps} href={item.href} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{item.title}\n\t\t\t\t\t</BaseButton>\n\t\t\t\t);\n\t\t\t})}\n\t\t</nav>\n\t);\n}\n\nAsideNavigationMenu.displayName = 'AsideNavigationMenu';\n","/**\n * NavigationTabs — large pill tab strip for prominent in-page navigation.\n * Active tab gets full-primary fill with inverse text. Lighter-weight\n * alternative is `TabNavigationMenu` (compact card-style pills).\n */\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nexport interface NavigationTabItem {\n\tlabel: string;\n\tto: string;\n}\n\nexport interface NavigationTabsItem {\n\tlabel: string;\n\turl: string;\n\tactive?: boolean;\n}\n\nexport interface NavigationTabsStrings {\n\ttabsAria: string;\n}\n\nexport const defaultNavigationTabsStrings: NavigationTabsStrings = {\n\ttabsAria: 'Tabs',\n};\n\ninterface NavigationTabsProps {\n\titems: NavigationTabsItem[];\n\tcurrentUrl?: string;\n\tstrings?: StringsProp<NavigationTabsStrings>;\n}\n\nfunction NavigationTabs({ items, currentUrl: currentUrlProp, strings: stringsProp }: NavigationTabsProps) {\n\tconst strings = useStrings(defaultNavigationTabsStrings, stringsProp);\n\tconst url = currentUrlProp ?? (typeof window !== 'undefined' ? window.location.pathname : '/');\n\n\tconst normalizeUrl = (rawUrl: string): string => {\n\t\ttry {\n\t\t\tconst urlObj = new URL(rawUrl, window.location.origin);\n\t\t\treturn urlObj.pathname.replace(/\\/+$/, '');\n\t\t} catch {\n\t\t\treturn rawUrl.replace(/\\/+$/, '').split('?')[0];\n\t\t}\n\t};\n\n\tconst currentUrl = normalizeUrl(url);\n\n\tconst clsDefault = 'flex h-control whitespace-nowrap items-center gap-space-sm rounded-md border border-transparent bg-background px-control text-sm leading-tight text-foreground transition-all duration-150 hover:bg-primary hover:text-background';\n\treturn (\n\t\t<div className={cn('navigation-tabs--component', 'navigation-tabs-container w-full')}>\n\t\t\t<nav className=\"inline-flex items-center gap-1 rounded-lg bg-muted/60 p-1\" aria-label={strings.tabsAria}>\n\t\t\t\t{items.map((item) => {\n\t\t\t\t\tconst itemUrl = normalizeUrl(item.url);\n\t\t\t\t\tconst isActive = currentUrl === itemUrl;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={item.url}\n\t\t\t\t\t\t\tkey={item.url}\n\t\t\t\t\t\t\tclassName={cn(clsDefault, {\n\t\t\t\t\t\t\t\t'!bg-primary !text-background font-semibold': isActive,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</nav>\n\t\t</div>\n\t);\n}\n\nexport default NavigationTabs;\n\nNavigationTabs.displayName = 'NavigationTabs';\n","/**\n * TabNavigationMenu — pill-style horizontal navigation. Active tab gets the\n * elevated card background; inactive tabs hover into a translucent variant.\n * Supports optional badges and per-item icons (Lucide component or string).\n */\nimport { useMemo, type ReactNode } from 'react';\n\nimport { cn } from '@/lib/utils';\nimport { type NavItem } from '@/types';\n\ninterface TabNavigationMenuProps {\n\titems: NavItem[];\n\tcurrentPath?: string;\n\tclassName?: string;\n\tariaLabel?: string;\n}\n\nfunction TabNavigationMenu({ items, currentPath, className, ariaLabel = 'Tab navigation' }: TabNavigationMenuProps) {\n\tconst activePath = currentPath ?? (typeof window !== 'undefined' ? window.location.pathname : '');\n\n\tconst normalizedItems = useMemo(() => {\n\t\treturn items.map((item) => {\n\t\t\tconst isActive = activePath === item.href;\n\t\t\tlet iconNode: ReactNode = null;\n\n\t\t\tif (typeof item.icon === 'string') {\n\t\t\t\ticonNode = <span className=\"text-inherit\">{item.icon}</span>;\n\t\t\t} else if (item.icon) {\n\t\t\t\tconst IconComp = item.icon;\n\t\t\t\ticonNode = <IconComp className=\"size-icon-sm\" />;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tkey: item.href,\n\t\t\t\titem,\n\t\t\t\tisActive,\n\t\t\t\ticonNode,\n\t\t\t\tariaCurrent: isActive ? ('page' as const) : undefined,\n\t\t\t};\n\t\t});\n\t}, [activePath, items]);\n\n\treturn (\n\t\t<div className={cn('tab-navigation-menu--component', 'w-full', className)}>\n\t\t\t<nav className=\"inline-flex bg-muted rounded-full items-center gap-1 p-1\" aria-label={ariaLabel}>\n\t\t\t\t{normalizedItems.map(({ key, item, isActive, iconNode, ariaCurrent }) => (\n\t\t\t\t\t<a\n\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\thref={item.href}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'flex h-control whitespace-nowrap items-center gap-space-sm',\n\t\t\t\t\t\t\t'rounded-full px-control',\n\t\t\t\t\t\t\t'text-sm font-medium',\n\t\t\t\t\t\t\t'transition-all duration-200',\n\t\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2',\n\t\t\t\t\t\t\t'focus-visible:ring-ring focus-visible:ring-offset-2',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'bg-background text-foreground shadow-sm': isActive,\n\t\t\t\t\t\t\t\t'text-muted-foreground hover:text-foreground hover:bg-background/50': !isActive,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)}\n\t\t\t\t\t\taria-current={ariaCurrent}\n\t\t\t\t\t>\n\t\t\t\t\t\t{!!iconNode && (\n\t\t\t\t\t\t\t<span className=\"text-inherit\">\n\t\t\t\t\t\t\t\t{iconNode}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'ml-space-sm rounded-full px-space-md py-space-2xs text-sm font-medium',\n\t\t\t\t\t\t\t\t\tisActive\n\t\t\t\t\t\t\t\t\t\t? 'bg-primary/10 text-primary'\n\t\t\t\t\t\t\t\t\t\t: 'bg-muted-foreground/10 text-muted-foreground',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{item.badge}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</a>\n\t\t\t\t))}\n\t\t\t</nav>\n\t\t</div>\n\t);\n}\n\nTabNavigationMenu.displayName = 'TabNavigationMenu';\n\nexport default TabNavigationMenu;\n","/**\n * PageHeader — section / page heading with optional eyebrow, breadcrumbs slot,\n * description, status badge, and a row of action buttons. Designed to sit at the top\n * of every dashboard or detail page for consistent vertical rhythm.\n */\nimport type { ReactNode } from 'react';\nimport Heading from '@/components/typography/heading';\nimport { Text } from '@/components/typography';\nimport { Badge, type ComposedBadgeVariant } from '@/components/base/badge';\nimport { Separator } from '@/components/base/display/separator';\nimport { cn } from '@/lib/utils';\n\nexport interface PageHeaderProps {\n\teyebrow?: ReactNode;\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tbadge?: { label: string; variant?: ComposedBadgeVariant };\n\tbreadcrumbs?: ReactNode;\n\tactions?: ReactNode;\n\tchildren?: ReactNode;\n\tclassName?: string;\n\twithSeparator?: boolean;\n}\n\nexport function PageHeader({\n\teyebrow,\n\ttitle,\n\tdescription,\n\tbadge,\n\tbreadcrumbs,\n\tactions,\n\tchildren,\n\tclassName,\n\twithSeparator = true,\n}: PageHeaderProps) {\n\treturn (\n\t\t<header className={cn('page-header--component', 'w-full', className)}>\n\t\t\t{!!breadcrumbs && <div className=\"mb-3\">{breadcrumbs}</div>}\n\n\t\t\t<div className=\"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between\">\n\t\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t\t{!!eyebrow && (\n\t\t\t\t\t\t<Text size=\"xxs\" type=\"secondary\" weight=\"semibold\" className=\"mb-1 uppercase tracking-wider\">\n\t\t\t\t\t\t\t{eyebrow}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<Heading tag=\"h2\" className=\"text-base border-0 pb-0\">{title}</Heading>\n\t\t\t\t\t\t{!!badge && (\n\t\t\t\t\t\t\t<Badge variant={badge.variant ?? 'secondary'}>{badge.label}</Badge>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t<Text type=\"secondary\" className=\"mt-1 max-w-2xl\">{description}</Text>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{!!actions && <div className=\"flex shrink-0 items-center gap-2\">{actions}</div>}\n\t\t\t</div>\n\n\t\t\t{!!children && <div className=\"mt-4\">{children}</div>}\n\n\t\t\t{!!withSeparator && <Separator className=\"mt-4\" />}\n\t\t</header>\n\t);\n}\n\nPageHeader.displayName = 'PageHeader';\n","/**\n * SectionNav — sticky in-page anchor nav. Pass a list of section ids; the active one\n * is tracked via IntersectionObserver and the matching item is highlighted. Click to\n * scroll to that section. Pure JS — no router required.\n */\nimport { useEffect, useState } from 'react';\nimport type { LucideIcon } from 'lucide-react';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface SectionNavItem {\n\tid: string;\n\tlabel: string;\n\ticon?: LucideIcon;\n}\n\nexport interface SectionNavProps {\n\titems: SectionNavItem[];\n\trootMargin?: string;\n\tclassName?: string;\n\tonSelect?: (id: string) => void;\n}\n\nexport function SectionNav({ items, rootMargin = '-40% 0px -50% 0px', className, onSelect }: SectionNavProps) {\n\tconst [active, setActive] = useState<string | null>(items[0]?.id ?? null);\n\n\tuseEffect(() => {\n\t\tconst obs = new IntersectionObserver(\n\t\t\t(entries) => {\n\t\t\t\tconst visible = entries.find((e) => e.isIntersecting);\n\t\t\t\tif (visible?.target.id) setActive(visible.target.id);\n\t\t\t},\n\t\t\t{ rootMargin, threshold: 0 },\n\t\t);\n\t\titems.forEach((it) => {\n\t\t\tconst el = document.getElementById(it.id);\n\t\t\tif (el) obs.observe(el);\n\t\t});\n\t\treturn () => obs.disconnect();\n\t}, [items, rootMargin]);\n\n\treturn (\n\t\t<nav className={cn('section-nav--component', 'flex flex-col gap-0.5', className)} aria-label=\"Section navigation\">\n\t\t\t{items.map((it) => {\n\t\t\t\tconst Icon = it.icon;\n\t\t\t\tconst isActive = active === it.id;\n\t\t\t\treturn (\n\t\t\t\t\t<a\n\t\t\t\t\t\tkey={it.id}\n\t\t\t\t\t\thref={`#${it.id}`}\n\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tdocument.getElementById(it.id)?.scrollIntoView({ behavior: 'smooth', block: 'start' });\n\t\t\t\t\t\t\tsetActive(it.id);\n\t\t\t\t\t\t\tonSelect?.(it.id);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'flex items-center gap-2 rounded-md px-2 py-1.5 transition-colors',\n\t\t\t\t\t\t\tisActive ? 'bg-primary/10 text-primary' : 'text-muted-foreground hover:bg-muted/50 hover:text-foreground',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{!!Icon && <Icon className=\"size-3.5 shrink-0\" />}\n\t\t\t\t\t\t<Text tag=\"span\" weight={isActive ? 'semibold' : 'medium'}>{it.label}</Text>\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t})}\n\t\t</nav>\n\t);\n}\n\nSectionNav.displayName = 'SectionNav';\n","/**\n * SideNav — collapsible vertical sidebar navigation. Items can be grouped\n * with a heading and optionally collapsed; each item supports an icon, badge,\n * and active-state highlight. The active item is matched by deepest path\n * prefix so nested routes still highlight their parent group.\n *\n * Use this when AsideNavigationMenu (flat) is not enough — e.g. settings\n * panes with multiple sections, or a primary app nav with collapsible groups.\n */\nimport { ChevronDown, type LucideIcon } from 'lucide-react';\nimport { useMemo, useState, type ReactNode } from 'react';\n\nimport { Badge } from '@/components/base/badge';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface SideNavItem {\n\tlabel: ReactNode;\n\thref: string;\n\ticon?: LucideIcon;\n\tbadge?: ReactNode;\n\tdisabled?: boolean;\n}\n\nexport interface SideNavGroup {\n\tid: string;\n\tlabel?: ReactNode;\n\titems: SideNavItem[];\n\tdefaultCollapsed?: boolean;\n\tcollapsible?: boolean;\n}\n\nexport interface SideNavProps {\n\t/** Groups of items. Pass a single group with no `label` for an ungrouped list. */\n\tgroups: SideNavGroup[];\n\tcurrentPath?: string;\n\tclassName?: string;\n\titemClassName?: string;\n\tactiveItemClassName?: string;\n\tariaLabel?: string;\n}\n\nfunction normalizePath(rawUrl: string): string {\n\tif (rawUrl.length === 0) return '/';\n\ttry {\n\t\tconst baseOrigin = typeof window !== 'undefined' ? window.location.origin : 'http://localhost';\n\t\tconst parsed = new URL(rawUrl, baseOrigin);\n\t\tconst trimmed = parsed.pathname.replace(/\\/+$/, '');\n\t\treturn trimmed.length > 0 ? trimmed : '/';\n\t} catch {\n\t\tconst clean = rawUrl.split('?')[0] ?? rawUrl;\n\t\tconst trimmed = clean.replace(/\\/+$/, '');\n\t\treturn trimmed.length > 0 ? trimmed : '/';\n\t}\n}\n\nexport function SideNav({\n\tgroups,\n\tcurrentPath,\n\tclassName,\n\titemClassName,\n\tactiveItemClassName,\n\tariaLabel = 'Side navigation',\n}: SideNavProps) {\n\tconst rawActivePath = currentPath ?? (typeof window !== 'undefined' ? window.location.pathname : '');\n\tconst activePath = normalizePath(rawActivePath);\n\n\tconst allNormalized = useMemo(() => {\n\t\treturn groups.flatMap((g) =>\n\t\t\tg.items.map((item) => ({ groupId: g.id, normalizedPath: normalizePath(item.href) })),\n\t\t);\n\t}, [groups]);\n\n\tconst activeNormalized =\n\t\tallNormalized\n\t\t\t.filter(\n\t\t\t\t({ normalizedPath }) =>\n\t\t\t\t\tactivePath === normalizedPath || activePath.startsWith(`${normalizedPath}/`),\n\t\t\t)\n\t\t\t.sort((a, b) => b.normalizedPath.length - a.normalizedPath.length)[0]?.normalizedPath ??\n\t\tnull;\n\n\tconst [collapsed, setCollapsed] = useState<Record<string, boolean>>(() =>\n\t\tObject.fromEntries(groups.map((g) => [g.id, Boolean(g.defaultCollapsed)])),\n\t);\n\n\tconst toggleGroup = (id: string) =>\n\t\tsetCollapsed((prev) => ({ ...prev, [id]: !prev[id] }));\n\n\tconst resolvedActive =\n\t\tactiveItemClassName && activeItemClassName.length > 0\n\t\t\t? activeItemClassName\n\t\t\t: 'bg-primary/5 text-primary';\n\n\treturn (\n\t\t<nav className={cn('side-nav--component', 'flex flex-col gap-4', className)} aria-label={ariaLabel}>\n\t\t\t{groups.map((group) => {\n\t\t\t\tconst isCollapsed = group.collapsible !== false && collapsed[group.id];\n\t\t\t\tconst showLabel = !!group.label;\n\t\t\t\tconst shouldRenderItems = !isCollapsed;\n\n\t\t\t\treturn (\n\t\t\t\t\t<div key={group.id} className=\"flex flex-col gap-1\">\n\t\t\t\t\t\t{!!showLabel && (\n\t\t\t\t\t\t\tgroup.collapsible !== false ? (\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={() => toggleGroup(group.id)}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'flex w-full items-center justify-between px-3 py-1.5 rounded-md',\n\t\t\t\t\t\t\t\t\t\t'text-sm font-medium uppercase tracking-wider text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\t'hover:text-foreground transition-colors',\n\t\t\t\t\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40',\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\taria-expanded={!isCollapsed}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>{group.label}</span>\n\t\t\t\t\t\t\t\t\t<ChevronDown\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'size-3.5 transition-transform',\n\t\t\t\t\t\t\t\t\t\t\tisCollapsed && '-rotate-90',\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\t\t\t\t\tclassName=\"px-3 py-1.5 uppercase tracking-wider\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{group.label}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!shouldRenderItems && (\n\t\t\t\t\t\t\t<div className=\"flex flex-col gap-0.5\">\n\t\t\t\t\t\t\t\t{group.items.map((item) => {\n\t\t\t\t\t\t\t\t\tconst Icon = item.icon;\n\t\t\t\t\t\t\t\t\tconst itemPath = normalizePath(item.href);\n\t\t\t\t\t\t\t\t\tconst isActive = itemPath === activeNormalized;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tkey={item.href}\n\t\t\t\t\t\t\t\t\t\t\thref={item.disabled ? undefined : item.href}\n\t\t\t\t\t\t\t\t\t\t\taria-current={isActive ? 'page' : undefined}\n\t\t\t\t\t\t\t\t\t\t\taria-disabled={item.disabled || undefined}\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'group flex items-center gap-2.5 rounded-md px-3 py-1.5',\n\t\t\t\t\t\t\t\t\t\t\t\t'text-sm transition-colors',\n\t\t\t\t\t\t\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40',\n\t\t\t\t\t\t\t\t\t\t\t\t'hover:bg-muted/60',\n\t\t\t\t\t\t\t\t\t\t\t\titem.disabled && 'pointer-events-none opacity-50',\n\t\t\t\t\t\t\t\t\t\t\t\tisActive && resolvedActive,\n\t\t\t\t\t\t\t\t\t\t\t\titemClassName,\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'size-4 shrink-0',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisActive ? 'text-primary' : 'text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"min-w-0 flex-1 truncate\">{item.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant={isActive ? 'primary' : 'secondary'}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"shrink-0\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.badge}\n\t\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</nav>\n\t);\n}\n\nSideNav.displayName = 'SideNav';\n","/**\n * OverflowTabBar — horizontal tab strip that gracefully degrades on narrow\n * containers. Tabs that would overflow are moved into a trailing \"More\"\n * dropdown so the strip never wraps. Uses a ResizeObserver to recompute on\n * container resize; the active tab is always kept visible by being moved\n * out of the overflow set when needed.\n *\n * Pair with `TabNavigationMenu` for fixed sets where overflow is impossible,\n * or with `NavigationTabs` for marketing-weight pill bars.\n */\nimport { MoreHorizontal, type LucideIcon } from 'lucide-react';\nimport { useEffect, useLayoutEffect, useMemo, useRef, useState, type ReactNode } from 'react';\n\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { cn } from '@/lib/utils';\n\nexport interface OverflowTabItem {\n\tid: string;\n\tlabel: ReactNode;\n\thref?: string;\n\ticon?: LucideIcon;\n\tbadge?: ReactNode;\n\tonClick?: () => void;\n}\n\nexport interface OverflowTabBarProps {\n\titems: OverflowTabItem[];\n\t/** Currently active tab id. */\n\tvalue?: string;\n\tonChange?: (id: string) => void;\n\tclassName?: string;\n\ttabClassName?: string;\n\tactiveTabClassName?: string;\n\tmoreLabel?: string;\n\tariaLabel?: string;\n}\n\nconst TAB_BUTTON_BASE =\n\t'inline-flex h-control shrink-0 items-center gap-space-sm rounded-md px-control text-sm font-medium whitespace-nowrap transition-colors ' +\n\t'hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40';\n\nexport function OverflowTabBar({\n\titems,\n\tvalue,\n\tonChange,\n\tclassName,\n\ttabClassName,\n\tactiveTabClassName,\n\tmoreLabel = 'More',\n\tariaLabel = 'Tab navigation',\n}: OverflowTabBarProps) {\n\tconst containerRef = useRef<HTMLDivElement | null>(null);\n\tconst measureRef = useRef<HTMLDivElement | null>(null);\n\tconst [visibleCount, setVisibleCount] = useState(items.length);\n\n\t// Recompute how many tabs fit when container or items change.\n\tuseLayoutEffect(() => {\n\t\tif (!containerRef.current || !measureRef.current) return;\n\t\tconst container = containerRef.current;\n\t\tconst measure = measureRef.current;\n\n\t\tconst compute = () => {\n\t\t\tconst containerWidth = container.clientWidth;\n\t\t\tif (containerWidth === 0) {\n\t\t\t\tsetVisibleCount(items.length);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst moreReserve = 72; // approximate \"More\" trigger width\n\t\t\tconst buttons = Array.from(measure.querySelectorAll<HTMLElement>('[data-tab-id]'));\n\t\t\tlet used = 0;\n\t\t\tlet count = 0;\n\t\t\tfor (const btn of buttons) {\n\t\t\t\tconst w = btn.offsetWidth + 4; // gap allowance\n\t\t\t\tif (used + w + moreReserve <= containerWidth) {\n\t\t\t\t\tused += w;\n\t\t\t\t\tcount += 1;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetVisibleCount(count === buttons.length ? count : Math.max(1, count));\n\t\t};\n\n\t\tcompute();\n\t\tif (typeof ResizeObserver === 'undefined') {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new ResizeObserver(compute);\n\t\tobserver.observe(container);\n\t\treturn () => observer.disconnect();\n\t}, [items]);\n\n\t// Ensure active tab is always visible; if it falls into the overflow set,\n\t// pull it forward by reducing the visible count to where it lives.\n\tconst orderedItems = useMemo(() => {\n\t\tif (!value) return items;\n\t\tconst activeIdx = items.findIndex((i) => i.id === value);\n\t\tif (activeIdx < 0 || activeIdx < visibleCount) return items;\n\t\t// Move active item into the visible window (swap with last visible).\n\t\tconst next = [...items];\n\t\tconst lastVisibleIdx = Math.max(0, visibleCount - 1);\n\t\t[next[activeIdx], next[lastVisibleIdx]] = [next[lastVisibleIdx], next[activeIdx]];\n\t\treturn next;\n\t}, [items, value, visibleCount]);\n\n\tconst visibleItems = orderedItems.slice(0, visibleCount);\n\tconst overflowItems = orderedItems.slice(visibleCount);\n\n\tconst handleSelect = (item: OverflowTabItem) => {\n\t\tonChange?.(item.id);\n\t\titem.onClick?.();\n\t};\n\n\tconst renderTab = (item: OverflowTabItem, isActive: boolean, options?: { measure?: boolean }) => {\n\t\tconst Icon = item.icon;\n\t\tconst tabClasses = cn(\n\t\t\tTAB_BUTTON_BASE,\n\t\t\tisActive\n\t\t\t\t? cn('bg-card text-foreground shadow-sm', activeTabClassName)\n\t\t\t\t: 'text-muted-foreground hover:bg-muted/60',\n\t\t\ttabClassName,\n\t\t);\n\t\tconst inner = (\n\t\t\t<>\n\t\t\t\t{!!Icon && <Icon className=\"size-icon-sm\" />}\n\t\t\t\t<span>{item.label}</span>\n\t\t\t\t{!!item.badge && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'ml-1 inline-flex items-center rounded-full px-1.5 py-0.5 text-sm font-semibold',\n\t\t\t\t\t\t\tisActive ? 'bg-primary/10 text-primary' : 'bg-muted-foreground/10 text-muted-foreground',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{item.badge}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t\tif (options?.measure) {\n\t\t\treturn (\n\t\t\t\t<span\n\t\t\t\t\tkey={item.id}\n\t\t\t\t\tdata-tab-id={item.id}\n\t\t\t\t\tclassName={cn('overflow-tab-bar--measure', tabClasses)}\n\t\t\t\t>\n\t\t\t\t\t{inner}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\tif (item.href) {\n\t\t\treturn (\n\t\t\t\t<a\n\t\t\t\t\tkey={item.id}\n\t\t\t\t\thref={item.href}\n\t\t\t\t\tdata-tab-id={item.id}\n\t\t\t\t\trole=\"tab\"\n\t\t\t\t\taria-selected={isActive}\n\t\t\t\t\ttabIndex={isActive || !value ? 0 : -1}\n\t\t\t\t\tonClick={() => handleSelect(item)}\n\t\t\t\t\tclassName={cn('overflow-tab-bar--component', tabClasses)}\n\t\t\t\t>\n\t\t\t\t\t{inner}\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<button\n\t\t\t\tkey={item.id}\n\t\t\t\ttype=\"button\"\n\t\t\t\tdata-tab-id={item.id}\n\t\t\t\trole=\"tab\"\n\t\t\t\taria-selected={isActive}\n\t\t\t\ttabIndex={isActive || !value ? 0 : -1}\n\t\t\t\tonClick={() => handleSelect(item)}\n\t\t\t\tclassName={tabClasses}\n\t\t\t>\n\t\t\t\t{inner}\n\t\t\t</button>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{/* Hidden measure row: always renders all tabs at native width so\n\t\t\t we can measure how many fit. Visually hidden but laid out. */}\n\t\t\t<div\n\t\t\t\tref={measureRef}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName=\"pointer-events-none fixed left-0 top-0 z-[-1] flex h-0 w-0 items-center gap-1 overflow-hidden opacity-0\"\n\t\t\t>\n\t\t\t\t{items.map((i) => renderTab(i, false, { measure: true }))}\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tref={containerRef}\n\t\t\t\tclassName={cn('relative flex w-full min-w-0 max-w-full items-center gap-1 overflow-hidden rounded-lg bg-muted/40 p-1', className)}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\trole=\"tablist\"\n\t\t\t\t\taria-label={ariaLabel}\n\t\t\t\t\taria-orientation=\"horizontal\"\n\t\t\t\t\tclassName=\"flex min-w-0 flex-1 items-center gap-1 overflow-hidden\"\n\t\t\t\t>\n\t\t\t\t\t{visibleItems.map((item) => renderTab(item, item.id === value))}\n\t\t\t\t</div>\n\t\t\t\t{overflowItems.length > 0 && (\n\t\t\t\t\t<DropdownMenu>\n\t\t\t\t\t\t<DropdownMenuTrigger\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label={moreLabel}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\tTAB_BUTTON_BASE,\n\t\t\t\t\t\t\t\t'text-muted-foreground hover:bg-muted/60',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<MoreHorizontal className=\"size-icon-sm\" />\n\t\t\t\t\t\t\t<span>{moreLabel}</span>\n\t\t\t\t\t\t</DropdownMenuTrigger>\n\t\t\t\t\t\t<DropdownMenuContent align=\"end\" className=\"min-w-40\">\n\t\t\t\t\t\t\t{overflowItems.map((item) => {\n\t\t\t\t\t\t\t\tconst Icon = item.icon;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleSelect(item)}\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'text-sm gap-1.5 px-2 py-1.5',\n\t\t\t\t\t\t\t\t\t\t\titem.id === value && 'bg-primary/5 text-primary',\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{!!Icon && <Icon className=\"size-3.5\" />}\n\t\t\t\t\t\t\t\t\t\t<span>{item.label}</span>\n\t\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</DropdownMenuContent>\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nOverflowTabBar.displayName = 'OverflowTabBar';\n\n// useEffect is referenced indirectly through useLayoutEffect above; keep the\n// import so SSR builds that fall back to useEffect still compile cleanly.\nvoid useEffect;\n"],"mappings":"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"}