admin-ui-starter-kit 0.5.0 → 0.6.1

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 (1745) hide show
  1. package/.agents/skills/admin-ui-components/SKILL.md +71 -0
  2. package/.agents/skills/admin-ui-components/agents/openai.yaml +4 -0
  3. package/.agents/skills/admin-ui-components/references/selection-checklist.md +23 -0
  4. package/.agents/skills/admin-ui-consumer-migration/SKILL.md +50 -12
  5. package/.agents/skills/admin-ui-consumer-migration/references/package-gap-surfaces.md +20 -1
  6. package/.agents/skills/component-library-rules/SKILL.md +39 -24
  7. package/.agents/skills/component-library-rules/references/audit-followups.md +6 -5
  8. package/.agents/skills/component-library-rules/references/base-wrapper.md +1 -1
  9. package/.agents/skills/component-library-rules/references/components/INDEX.json +25 -14
  10. package/.agents/skills/component-library-rules/references/components/INDEX.md +29 -12
  11. package/.agents/skills/component-library-rules/references/components/base__accordion.md +1 -1
  12. package/.agents/skills/component-library-rules/references/components/base__alert.md +3 -3
  13. package/.agents/skills/component-library-rules/references/components/base__avatar.md +118 -0
  14. package/.agents/skills/component-library-rules/references/components/base__buttons.md +21 -17
  15. package/.agents/skills/component-library-rules/references/components/base__cards.md +50 -14
  16. package/.agents/skills/component-library-rules/references/components/base__carousel.md +5 -5
  17. package/.agents/skills/component-library-rules/references/components/base__combobox.md +25 -78
  18. package/.agents/skills/component-library-rules/references/components/base__css-variables.md +810 -0
  19. package/.agents/skills/component-library-rules/references/components/base__display-utilities.md +427 -0
  20. package/.agents/skills/component-library-rules/references/components/base__event-calendar.md +1 -1
  21. package/.agents/skills/component-library-rules/references/components/base__forms.md +8 -2
  22. package/.agents/skills/component-library-rules/references/components/base__icon-badge.md +84 -0
  23. package/.agents/skills/component-library-rules/references/components/base__item.md +10 -1
  24. package/.agents/skills/component-library-rules/references/components/base__navigation.md +7 -6
  25. package/.agents/skills/component-library-rules/references/components/base__spinner.md +2 -0
  26. package/.agents/skills/component-library-rules/references/components/base__table.md +270 -112
  27. package/.agents/skills/component-library-rules/references/components/base__tooltip.md +76 -0
  28. package/.agents/skills/component-library-rules/references/components/composed__ai.md +34 -2
  29. package/.agents/skills/component-library-rules/references/components/composed__commerce.md +44 -2
  30. package/.agents/skills/component-library-rules/references/components/composed__empty-state.md +313 -0
  31. package/.agents/skills/component-library-rules/references/components/composed__inline-stat.md +63 -0
  32. package/.agents/skills/component-library-rules/references/components/composed__metadata-list.md +433 -0
  33. package/.agents/skills/component-library-rules/references/components/composed__onboarding-checklist.md +1 -1
  34. package/.agents/skills/component-library-rules/references/components/composed__resource-selector-card.md +23 -19
  35. package/.agents/skills/component-library-rules/references/components/docs__design-system-consistency.md +413 -0
  36. package/.agents/skills/component-library-rules/references/components/docs__installation.md +221 -0
  37. package/.agents/skills/component-library-rules/references/components/docs__overview.md +266 -0
  38. package/.agents/skills/component-library-rules/references/components/docs__refinement-guide.md +280 -0
  39. package/.agents/skills/component-library-rules/references/components/docs__showcase.md +197 -0
  40. package/.agents/skills/component-library-rules/references/components/features__activities.md +87 -88
  41. package/.agents/skills/component-library-rules/references/components/features__ai-chat.md +7 -7
  42. package/.agents/skills/component-library-rules/references/components/features__data-view.md +175 -0
  43. package/.agents/skills/component-library-rules/references/components/features__enhanced-activities.md +51 -55
  44. package/.agents/skills/component-library-rules/references/components/features__kanban.md +37 -35
  45. package/.agents/skills/component-library-rules/references/components/features__media-library.md +9 -3
  46. package/.agents/skills/component-library-rules/references/components/features__overlays.md +1 -1
  47. package/.agents/skills/component-library-rules/references/components/features__products.md +91 -75
  48. package/.agents/skills/component-library-rules/references/components/features__resource.md +194 -0
  49. package/.agents/skills/component-library-rules/references/components/features__schema-form.md +12 -10
  50. package/.agents/skills/component-library-rules/references/components/features__suggestions.md +6 -6
  51. package/.agents/skills/component-library-rules/references/components/features__sync.md +30 -12
  52. package/.agents/skills/component-library-rules/references/components/layout__layout-app-shell.md +14 -14
  53. package/.agents/skills/component-library-rules/references/components/layout__layout-auth.md +224 -188
  54. package/.agents/skills/component-library-rules/references/components/layout__layout-containers.md +2 -2
  55. package/.agents/skills/component-library-rules/references/components/layout__layout-header.md +8 -8
  56. package/.agents/skills/component-library-rules/references/components/layout__layout-page.md +136 -95
  57. package/.agents/skills/component-library-rules/references/components/layout__layout-sidebar.md +4 -4
  58. package/.agents/skills/component-library-rules/references/components/layout__layout-users.md +4 -4
  59. package/.agents/skills/component-library-rules/references/components/layout__layout-workspace.md +19 -11
  60. package/.agents/skills/component-library-rules/references/components/services__actions.md +443 -0
  61. package/.agents/skills/component-library-rules/references/components/services__hooks.md +326 -0
  62. package/.agents/skills/component-library-rules/references/components/ui__button.md +1 -1
  63. package/.agents/skills/component-library-rules/references/components/ui__empty-item.md +1 -1
  64. package/.agents/skills/component-library-rules/references/components/ui__inputs.md +1 -1
  65. package/.agents/skills/component-library-rules/references/components/ui__menus.md +15 -9
  66. package/.agents/skills/component-library-rules/references/components/ui__skeleton.md +3 -3
  67. package/.agents/skills/component-library-rules/references/consumer-wiring.md +2 -2
  68. package/.agents/skills/component-library-rules/references/history.md +10 -10
  69. package/.agents/skills/component-library-rules/references/import-paths.md +3 -3
  70. package/.agents/skills/component-library-rules/references/item-pattern.md +3 -3
  71. package/.agents/skills/component-library-rules/references/layout.md +7 -5
  72. package/.agents/skills/component-library-rules/references/testing.md +5 -5
  73. package/.agents/skills/component-library-rules/references/ui-provider.md +11 -12
  74. package/.agents/skills/component-library-rules/references/visual-eval.md +1 -1
  75. package/.agents/skills/token-system/SKILL.md +81 -0
  76. package/.agents/skills/token-system/agents/openai.yaml +4 -0
  77. package/.agents/skills/token-system/references/consumer-overrides.md +68 -0
  78. package/AGENTS.md +42 -17
  79. package/COMPONENT_SELECTION.md +18 -8
  80. package/INTEGRATION.md +45 -4
  81. package/MIGRATION.md +32 -0
  82. package/README.md +54 -20
  83. package/dist/_shared/accordion-B9EjlZLY.js +135 -0
  84. package/dist/_shared/accordion-B9EjlZLY.js.map +1 -0
  85. package/dist/_shared/accordion-IFDIc0E7.cjs +2 -0
  86. package/dist/_shared/accordion-IFDIc0E7.cjs.map +1 -0
  87. package/dist/_shared/action-menu-B6yFRDz1.cjs +2 -0
  88. package/dist/_shared/action-menu-B6yFRDz1.cjs.map +1 -0
  89. package/dist/_shared/action-menu-CNS-fwQr.js +96 -0
  90. package/dist/_shared/action-menu-CNS-fwQr.js.map +1 -0
  91. package/dist/_shared/ai-artifact-B3qhuiKC.js +1099 -0
  92. package/dist/_shared/ai-artifact-B3qhuiKC.js.map +1 -0
  93. package/dist/_shared/ai-artifact-Dtr0bnVq.cjs +3 -0
  94. package/dist/_shared/ai-artifact-Dtr0bnVq.cjs.map +1 -0
  95. package/dist/_shared/alert-V0V36Sny.cjs +2 -0
  96. package/dist/_shared/alert-V0V36Sny.cjs.map +1 -0
  97. package/dist/_shared/alert-m-4s0Hqq.js +81 -0
  98. package/dist/_shared/alert-m-4s0Hqq.js.map +1 -0
  99. package/dist/_shared/app-shell-D3eGUtL-.js +69 -0
  100. package/dist/_shared/app-shell-D3eGUtL-.js.map +1 -0
  101. package/dist/_shared/app-shell-QJHARDMB.cjs +2 -0
  102. package/dist/_shared/app-shell-QJHARDMB.cjs.map +1 -0
  103. package/dist/_shared/auth-B_KVUjsB.cjs +2 -0
  104. package/dist/_shared/auth-B_KVUjsB.cjs.map +1 -0
  105. package/dist/_shared/auth-C_TgyzDl.js +643 -0
  106. package/dist/_shared/auth-C_TgyzDl.js.map +1 -0
  107. package/dist/_shared/avatar-BagPbPuD.js +105 -0
  108. package/dist/_shared/avatar-BagPbPuD.js.map +1 -0
  109. package/dist/_shared/avatar-BnKM_o2d.cjs +2 -0
  110. package/dist/_shared/avatar-BnKM_o2d.cjs.map +1 -0
  111. package/dist/_shared/badge-BeSKxX1u.cjs +2 -0
  112. package/dist/_shared/badge-BeSKxX1u.cjs.map +1 -0
  113. package/dist/_shared/badge-a2Z3K5aQ.js +110 -0
  114. package/dist/_shared/badge-a2Z3K5aQ.js.map +1 -0
  115. package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs +2 -0
  116. package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs.map +1 -0
  117. package/dist/_shared/breadcrumbs-B57Unsoe.js +105 -0
  118. package/dist/_shared/breadcrumbs-B57Unsoe.js.map +1 -0
  119. package/dist/_shared/button-Bd5bEIiB.cjs +2 -0
  120. package/dist/_shared/button-Bd5bEIiB.cjs.map +1 -0
  121. package/dist/_shared/button-DHksjMvc.js +189 -0
  122. package/dist/_shared/button-DHksjMvc.js.map +1 -0
  123. package/dist/_shared/buttons-C8jy-jMd.cjs +2 -0
  124. package/dist/_shared/buttons-C8jy-jMd.cjs.map +1 -0
  125. package/dist/_shared/buttons-MxvdokeK.js +137 -0
  126. package/dist/_shared/buttons-MxvdokeK.js.map +1 -0
  127. package/dist/_shared/card-radio-group-C2p_iBal.cjs +2 -0
  128. package/dist/_shared/card-radio-group-C2p_iBal.cjs.map +1 -0
  129. package/dist/_shared/card-radio-group-Fdi1Cz1j.js +150 -0
  130. package/dist/_shared/card-radio-group-Fdi1Cz1j.js.map +1 -0
  131. package/dist/_shared/cards-BKFwMTjM.cjs +2 -0
  132. package/dist/_shared/cards-BKFwMTjM.cjs.map +1 -0
  133. package/dist/_shared/cards-CtBoSZG9.js +355 -0
  134. package/dist/_shared/cards-CtBoSZG9.js.map +1 -0
  135. package/dist/_shared/checkbox-Cbh5x6ad.js +31 -0
  136. package/dist/_shared/checkbox-Cbh5x6ad.js.map +1 -0
  137. package/dist/_shared/checkbox-ECGg8wjW.cjs +2 -0
  138. package/dist/_shared/checkbox-ECGg8wjW.cjs.map +1 -0
  139. package/dist/_shared/combobox-BIe72dV3.js +954 -0
  140. package/dist/_shared/combobox-BIe72dV3.js.map +1 -0
  141. package/dist/_shared/combobox-CJiFDoTi.cjs +2 -0
  142. package/dist/_shared/combobox-CJiFDoTi.cjs.map +1 -0
  143. package/dist/_shared/command-ByedBajF.js +39 -0
  144. package/dist/_shared/command-ByedBajF.js.map +1 -0
  145. package/dist/_shared/command-EGR0nhGc.cjs +2 -0
  146. package/dist/_shared/command-EGR0nhGc.cjs.map +1 -0
  147. package/dist/_shared/comments-C8iXy9XO.cjs +2 -0
  148. package/dist/_shared/comments-C8iXy9XO.cjs.map +1 -0
  149. package/dist/_shared/comments-DGBxF9fD.js +952 -0
  150. package/dist/_shared/comments-DGBxF9fD.js.map +1 -0
  151. package/dist/_shared/copyable-Dopk9pEJ.js +38 -0
  152. package/dist/_shared/copyable-Dopk9pEJ.js.map +1 -0
  153. package/dist/_shared/copyable-rQwxsTJ3.cjs +2 -0
  154. package/dist/_shared/copyable-rQwxsTJ3.cjs.map +1 -0
  155. package/dist/_shared/data-display-CRFaMkxT.js +1873 -0
  156. package/dist/_shared/data-display-CRFaMkxT.js.map +1 -0
  157. package/dist/_shared/data-display-C_44_V-W.cjs +2 -0
  158. package/dist/_shared/data-display-C_44_V-W.cjs.map +1 -0
  159. package/dist/_shared/date-picker-BiUgIkjP.cjs +2 -0
  160. package/dist/_shared/date-picker-BiUgIkjP.cjs.map +1 -0
  161. package/dist/_shared/date-picker-DFkLiveH.js +1361 -0
  162. package/dist/_shared/date-picker-DFkLiveH.js.map +1 -0
  163. package/dist/_shared/date-pickers-C86tVD8e.cjs +2 -0
  164. package/dist/_shared/date-pickers-C86tVD8e.cjs.map +1 -0
  165. package/dist/_shared/date-pickers-D4oxOOHE.js +329 -0
  166. package/dist/_shared/date-pickers-D4oxOOHE.js.map +1 -0
  167. package/dist/_shared/display-B0wLVN8t.js +986 -0
  168. package/dist/_shared/display-B0wLVN8t.js.map +1 -0
  169. package/dist/_shared/display-Bin2vVex.cjs +2 -0
  170. package/dist/_shared/display-Bin2vVex.cjs.map +1 -0
  171. package/dist/_shared/form-sizing-C51oI3Di.js +42 -0
  172. package/dist/_shared/form-sizing-C51oI3Di.js.map +1 -0
  173. package/dist/_shared/form-sizing-Co53Drri.cjs +2 -0
  174. package/dist/_shared/form-sizing-Co53Drri.cjs.map +1 -0
  175. package/dist/_shared/forms-qnwoUqxf.js +3533 -0
  176. package/dist/_shared/forms-qnwoUqxf.js.map +1 -0
  177. package/dist/_shared/forms-rmKcy5uO.cjs +2 -0
  178. package/dist/_shared/forms-rmKcy5uO.cjs.map +1 -0
  179. package/dist/_shared/header-CxhEtk9M.cjs +2 -0
  180. package/dist/_shared/header-CxhEtk9M.cjs.map +1 -0
  181. package/dist/_shared/header-h3f14vQx.js +447 -0
  182. package/dist/_shared/header-h3f14vQx.js.map +1 -0
  183. package/dist/_shared/hooks-CS55-w3h.js +95 -0
  184. package/dist/_shared/hooks-CS55-w3h.js.map +1 -0
  185. package/dist/_shared/hooks-sfHAyDgD.cjs +2 -0
  186. package/dist/_shared/hooks-sfHAyDgD.cjs.map +1 -0
  187. package/dist/_shared/icon-badge-CU6ZkcER.cjs +2 -0
  188. package/dist/_shared/icon-badge-CU6ZkcER.cjs.map +1 -0
  189. package/dist/_shared/icon-badge-dZQPvuas.js +48 -0
  190. package/dist/_shared/icon-badge-dZQPvuas.js.map +1 -0
  191. package/dist/_shared/input-CB6hxh-5.cjs +2 -0
  192. package/dist/_shared/input-CB6hxh-5.cjs.map +1 -0
  193. package/dist/_shared/input-CfnHBT--.js +182 -0
  194. package/dist/_shared/input-CfnHBT--.js.map +1 -0
  195. package/dist/_shared/item-Xs-fgzaT.js +226 -0
  196. package/dist/_shared/item-Xs-fgzaT.js.map +1 -0
  197. package/dist/_shared/item-eUP9Rtmg.cjs +2 -0
  198. package/dist/_shared/item-eUP9Rtmg.cjs.map +1 -0
  199. package/dist/_shared/mentions-BahbwDwU.js +506 -0
  200. package/dist/_shared/mentions-BahbwDwU.js.map +1 -0
  201. package/dist/_shared/mentions-aHalksbt.cjs +2 -0
  202. package/dist/_shared/mentions-aHalksbt.cjs.map +1 -0
  203. package/dist/_shared/money-display-BLPNMmiT.cjs +2 -0
  204. package/dist/_shared/money-display-BLPNMmiT.cjs.map +1 -0
  205. package/dist/_shared/money-display-D_-Cb8-9.js +198 -0
  206. package/dist/_shared/money-display-D_-Cb8-9.js.map +1 -0
  207. package/dist/_shared/navigation-BcYAwgzo.js +436 -0
  208. package/dist/_shared/navigation-BcYAwgzo.js.map +1 -0
  209. package/dist/_shared/navigation-DAB7uuBj.cjs +2 -0
  210. package/dist/_shared/navigation-DAB7uuBj.cjs.map +1 -0
  211. package/dist/_shared/overlays-CdtMAkKG.js +648 -0
  212. package/dist/_shared/overlays-CdtMAkKG.js.map +1 -0
  213. package/dist/_shared/overlays-Diy_H0Au.cjs +2 -0
  214. package/dist/_shared/overlays-Diy_H0Au.cjs.map +1 -0
  215. package/dist/_shared/page-C6EzwvTz.cjs +2 -0
  216. package/dist/_shared/page-C6EzwvTz.cjs.map +1 -0
  217. package/dist/_shared/page-DCW1eWCJ.js +262 -0
  218. package/dist/_shared/page-DCW1eWCJ.js.map +1 -0
  219. package/dist/_shared/popover-dWR7-MzY.cjs +2 -0
  220. package/dist/_shared/popover-dWR7-MzY.cjs.map +1 -0
  221. package/dist/_shared/popover-menu-qxBZlTck.js +93 -0
  222. package/dist/_shared/popover-menu-qxBZlTck.js.map +1 -0
  223. package/dist/_shared/popover-menu-z9QTjl4o.cjs +2 -0
  224. package/dist/_shared/popover-menu-z9QTjl4o.cjs.map +1 -0
  225. package/dist/_shared/popover-xVENY0Ax.js +83 -0
  226. package/dist/_shared/popover-xVENY0Ax.js.map +1 -0
  227. package/dist/_shared/rich-text-editor-DeIiIDn7.cjs +2 -0
  228. package/dist/_shared/rich-text-editor-DeIiIDn7.cjs.map +1 -0
  229. package/dist/_shared/rich-text-editor-VIBlL0x3.js +620 -0
  230. package/dist/_shared/rich-text-editor-VIBlL0x3.js.map +1 -0
  231. package/dist/_shared/scroll-area-B32KwU9k.js +43 -0
  232. package/dist/_shared/scroll-area-B32KwU9k.js.map +1 -0
  233. package/dist/_shared/scroll-area-CIRXK7s0.cjs +2 -0
  234. package/dist/_shared/scroll-area-CIRXK7s0.cjs.map +1 -0
  235. package/dist/_shared/settings-DbAyxMrX.cjs +2 -0
  236. package/dist/_shared/settings-DbAyxMrX.cjs.map +1 -0
  237. package/dist/_shared/settings-QOBrbgdN.js +143 -0
  238. package/dist/_shared/settings-QOBrbgdN.js.map +1 -0
  239. package/dist/_shared/sidebar-BRg39UF1.js +389 -0
  240. package/dist/_shared/sidebar-BRg39UF1.js.map +1 -0
  241. package/dist/_shared/sidebar-Cwhom9QE.cjs +2 -0
  242. package/dist/_shared/sidebar-Cwhom9QE.cjs.map +1 -0
  243. package/dist/_shared/sidebar-DfToCaiC.cjs +2 -0
  244. package/dist/_shared/sidebar-DfToCaiC.cjs.map +1 -0
  245. package/dist/_shared/sidebar-DhpRdTZH.js +541 -0
  246. package/dist/_shared/sidebar-DhpRdTZH.js.map +1 -0
  247. package/dist/_shared/spinner-D35zNriU.cjs +2 -0
  248. package/dist/_shared/spinner-D35zNriU.cjs.map +1 -0
  249. package/dist/_shared/spinner-DMC2IIml.js +67 -0
  250. package/dist/_shared/spinner-DMC2IIml.js.map +1 -0
  251. package/dist/_shared/table-CUA_A-oO.js +1377 -0
  252. package/dist/_shared/table-CUA_A-oO.js.map +1 -0
  253. package/dist/_shared/table-mPchjiRn.cjs +2 -0
  254. package/dist/_shared/table-mPchjiRn.cjs.map +1 -0
  255. package/dist/_shared/textarea-B24qgdmd.cjs +2 -0
  256. package/dist/_shared/textarea-B24qgdmd.cjs.map +1 -0
  257. package/dist/_shared/textarea-ChLRmmVU.js +118 -0
  258. package/dist/_shared/textarea-ChLRmmVU.js.map +1 -0
  259. package/dist/_shared/typography-CO9uwZhF.cjs +2 -0
  260. package/dist/_shared/typography-CO9uwZhF.cjs.map +1 -0
  261. package/dist/_shared/typography-DE0NGEIE.js +201 -0
  262. package/dist/_shared/typography-DE0NGEIE.js.map +1 -0
  263. package/dist/_shared/ui-provider-DZWtUXf2.cjs +2 -0
  264. package/dist/_shared/ui-provider-DZWtUXf2.cjs.map +1 -0
  265. package/dist/_shared/ui-provider-Dj6OSOZi.js +81 -0
  266. package/dist/_shared/ui-provider-Dj6OSOZi.js.map +1 -0
  267. package/dist/_shared/workspace-BgtWS9fA.cjs +2 -0
  268. package/dist/_shared/workspace-BgtWS9fA.cjs.map +1 -0
  269. package/dist/_shared/workspace-D2jJ0PlS.js +357 -0
  270. package/dist/_shared/workspace-D2jJ0PlS.js.map +1 -0
  271. package/dist/components/base/accordion/accordion-variants.d.ts +10 -9
  272. package/dist/components/base/accordion/accordion-variants.d.ts.map +1 -1
  273. package/dist/components/base/accordion/accordion.d.ts +1 -1
  274. package/dist/components/base/accordion/index.cjs +1 -1
  275. package/dist/components/base/accordion/index.js +1 -1
  276. package/dist/components/base/accordion/smart-accordion.d.ts.map +1 -1
  277. package/dist/components/base/badge/badge.d.ts.map +1 -1
  278. package/dist/components/base/badge/index.cjs +1 -1
  279. package/dist/components/base/badge/index.js +1 -1
  280. package/dist/components/base/buttons/base-button.d.ts.map +1 -1
  281. package/dist/components/base/buttons/index.cjs +1 -1
  282. package/dist/components/base/buttons/index.js +2 -2
  283. package/dist/components/base/buttons/loader-button.d.ts.map +1 -1
  284. package/dist/components/base/buttons/page-action-button.d.ts +1 -1
  285. package/dist/components/base/buttons/page-action-button.d.ts.map +1 -1
  286. package/dist/components/base/buttons/text-button.d.ts +3 -6
  287. package/dist/components/base/buttons/text-button.d.ts.map +1 -1
  288. package/dist/components/base/cards/index.cjs +1 -1
  289. package/dist/components/base/cards/index.js +1 -1
  290. package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
  291. package/dist/components/base/cards/smart-card.d.ts.map +1 -1
  292. package/dist/components/base/cards/smart-card.tokens.d.ts +3 -4
  293. package/dist/components/base/cards/smart-card.tokens.d.ts.map +1 -1
  294. package/dist/components/base/cards/smart-card.types.d.ts +4 -4
  295. package/dist/components/base/cards/smart-card.types.d.ts.map +1 -1
  296. package/dist/components/base/carousel/index.cjs +1 -1
  297. package/dist/components/base/carousel/index.cjs.map +1 -1
  298. package/dist/components/base/carousel/index.js +4 -4
  299. package/dist/components/base/carousel/index.js.map +1 -1
  300. package/dist/components/base/combobox/components/combobox-dropdown.d.ts.map +1 -1
  301. package/dist/components/base/combobox/components/error-message.d.ts.map +1 -1
  302. package/dist/components/base/combobox/constants.d.ts +1 -1
  303. package/dist/components/base/combobox/constants.d.ts.map +1 -1
  304. package/dist/components/base/combobox/enhanced-combobox.d.ts.map +1 -1
  305. package/dist/components/base/combobox/index.cjs +1 -1
  306. package/dist/components/base/combobox/index.js +1 -1
  307. package/dist/components/base/combobox/types.d.ts +1 -1
  308. package/dist/components/base/combobox/types.d.ts.map +1 -1
  309. package/dist/components/base/command/command.d.ts +1 -1
  310. package/dist/components/base/command/index.cjs +1 -1
  311. package/dist/components/base/command/index.js +1 -1
  312. package/dist/components/base/copyable/index.cjs +1 -1
  313. package/dist/components/base/copyable/index.js +1 -1
  314. package/dist/components/base/currency/index.cjs +1 -1
  315. package/dist/components/base/currency/index.js +1 -1
  316. package/dist/components/base/date-pickers/date-picker.d.ts +1 -1
  317. package/dist/components/base/date-pickers/index.cjs +1 -1
  318. package/dist/components/base/date-pickers/index.js +2 -2
  319. package/dist/components/base/date-pickers/segmented-time-input.d.ts.map +1 -1
  320. package/dist/components/base/display/avatar.d.ts +24 -1
  321. package/dist/components/base/display/avatar.d.ts.map +1 -1
  322. package/dist/components/base/display/boolean-indicator.d.ts +2 -1
  323. package/dist/components/base/display/boolean-indicator.d.ts.map +1 -1
  324. package/dist/components/base/display/chart.cjs +2 -2
  325. package/dist/components/base/display/chart.cjs.map +1 -1
  326. package/dist/components/base/display/chart.js +4 -4
  327. package/dist/components/base/display/chart.js.map +1 -1
  328. package/dist/components/base/display/date-block.d.ts +2 -1
  329. package/dist/components/base/display/date-block.d.ts.map +1 -1
  330. package/dist/components/base/display/empty.d.ts +8 -0
  331. package/dist/components/base/display/empty.d.ts.map +1 -0
  332. package/dist/components/base/display/icon-badge/icon-badge.d.ts +2 -1
  333. package/dist/components/base/display/icon-badge/icon-badge.d.ts.map +1 -1
  334. package/dist/components/base/display/index.cjs +1 -1
  335. package/dist/components/base/display/index.d.ts +1 -7
  336. package/dist/components/base/display/index.d.ts.map +1 -1
  337. package/dist/components/base/display/index.js +10 -11
  338. package/dist/components/base/display/scroll-area.d.ts +10 -1
  339. package/dist/components/base/display/scroll-area.d.ts.map +1 -1
  340. package/dist/components/base/display/stacked-avatars.d.ts +2 -1
  341. package/dist/components/base/display/stacked-avatars.d.ts.map +1 -1
  342. package/dist/components/base/display/throttle-alert.d.ts +2 -1
  343. package/dist/components/base/display/throttle-alert.d.ts.map +1 -1
  344. package/dist/components/base/event-calendar/event-calendar-event-card.d.ts +2 -1
  345. package/dist/components/base/event-calendar/event-calendar-event-card.d.ts.map +1 -1
  346. package/dist/components/base/event-calendar/index.cjs +1 -1
  347. package/dist/components/base/event-calendar/index.cjs.map +1 -1
  348. package/dist/components/base/event-calendar/index.js +37 -37
  349. package/dist/components/base/event-calendar/index.js.map +1 -1
  350. package/dist/components/base/forms/fields/avatar-upload.d.ts +4 -2
  351. package/dist/components/base/forms/fields/avatar-upload.d.ts.map +1 -1
  352. package/dist/components/base/forms/fields/checkbox.d.ts +14 -1
  353. package/dist/components/base/forms/fields/checkbox.d.ts.map +1 -1
  354. package/dist/components/base/forms/fields/choice-types.d.ts +3 -2
  355. package/dist/components/base/forms/fields/choice-types.d.ts.map +1 -1
  356. package/dist/components/base/forms/fields/coordinates-input.d.ts.map +1 -1
  357. package/dist/components/base/forms/fields/decimal-input.d.ts.map +1 -1
  358. package/dist/components/base/forms/fields/dropzone.d.ts +4 -2
  359. package/dist/components/base/forms/fields/dropzone.d.ts.map +1 -1
  360. package/dist/components/base/forms/fields/file-upload.d.ts +2 -1
  361. package/dist/components/base/forms/fields/file-upload.d.ts.map +1 -1
  362. package/dist/components/base/forms/fields/image-upload.d.ts +2 -1
  363. package/dist/components/base/forms/fields/image-upload.d.ts.map +1 -1
  364. package/dist/components/base/forms/fields/input.d.ts.map +1 -1
  365. package/dist/components/base/forms/fields/key-value-editor.d.ts +2 -1
  366. package/dist/components/base/forms/fields/key-value-editor.d.ts.map +1 -1
  367. package/dist/components/base/forms/fields/list.d.ts.map +1 -1
  368. package/dist/components/base/forms/fields/localized-string-repeater.d.ts.map +1 -1
  369. package/dist/components/base/forms/fields/media-gallery.d.ts +2 -1
  370. package/dist/components/base/forms/fields/media-gallery.d.ts.map +1 -1
  371. package/dist/components/base/forms/fields/object-repeater.d.ts +2 -1
  372. package/dist/components/base/forms/fields/object-repeater.d.ts.map +1 -1
  373. package/dist/components/base/forms/fields/select.d.ts.map +1 -1
  374. package/dist/components/base/forms/fields/string-repeater.d.ts +2 -1
  375. package/dist/components/base/forms/fields/string-repeater.d.ts.map +1 -1
  376. package/dist/components/base/forms/fields/tags-input.d.ts +2 -1
  377. package/dist/components/base/forms/fields/tags-input.d.ts.map +1 -1
  378. package/dist/components/base/forms/fields/time-picker.d.ts.map +1 -1
  379. package/dist/components/base/forms/fields/upload-progress-list.d.ts +2 -1
  380. package/dist/components/base/forms/fields/upload-progress-list.d.ts.map +1 -1
  381. package/dist/components/base/forms/fields/weight-input.d.ts.map +1 -1
  382. package/dist/components/base/forms/form-sizing.d.ts +8 -0
  383. package/dist/components/base/forms/form-sizing.d.ts.map +1 -1
  384. package/dist/components/base/forms/index.cjs +1 -1
  385. package/dist/components/base/forms/index.js +7 -7
  386. package/dist/components/base/forms/workflow.d.ts.map +1 -1
  387. package/dist/components/base/index.d.ts.map +1 -1
  388. package/dist/components/base/item/index.cjs +1 -1
  389. package/dist/components/base/item/index.js +1 -1
  390. package/dist/components/base/item/item.d.ts.map +1 -1
  391. package/dist/components/base/map/index.cjs +1 -1
  392. package/dist/components/base/map/index.cjs.map +1 -1
  393. package/dist/components/base/map/index.js +55 -54
  394. package/dist/components/base/map/index.js.map +1 -1
  395. package/dist/components/base/map/map.d.ts.map +1 -1
  396. package/dist/components/base/navigation/breadcrumbs.d.ts +2 -1
  397. package/dist/components/base/navigation/breadcrumbs.d.ts.map +1 -1
  398. package/dist/components/base/navigation/index.cjs +1 -1
  399. package/dist/components/base/navigation/index.js +3 -3
  400. package/dist/components/base/navigation/overflow-tab-bar.d.ts.map +1 -1
  401. package/dist/components/base/popover/index.cjs +1 -1
  402. package/dist/components/base/popover/index.js +1 -1
  403. package/dist/components/base/popover/popover.d.ts +2 -2
  404. package/dist/components/base/popover-menu/index.cjs +1 -1
  405. package/dist/components/base/popover-menu/index.js +1 -1
  406. package/dist/components/base/sidebar/index.cjs +1 -1
  407. package/dist/components/base/sidebar/index.js +1 -1
  408. package/dist/components/base/spinner/index.cjs +1 -1
  409. package/dist/components/base/spinner/index.js +1 -1
  410. package/dist/components/base/table/column-visibility-toggle.d.ts.map +1 -1
  411. package/dist/components/base/table/data-table.d.ts +1 -1
  412. package/dist/components/base/table/data-table.d.ts.map +1 -1
  413. package/dist/components/base/table/filter-bar.d.ts.map +1 -1
  414. package/dist/components/base/table/index.cjs +1 -1
  415. package/dist/components/base/table/index.js +2 -2
  416. package/dist/components/base/table/table-actions.d.ts.map +1 -1
  417. package/dist/components/base/table/table-header.d.ts.map +1 -1
  418. package/dist/components/base/table/table-toolbar.d.ts.map +1 -1
  419. package/dist/components/base/table/table.strings.d.ts.map +1 -1
  420. package/dist/components/base/table/table.types.d.ts +12 -8
  421. package/dist/components/base/table/table.types.d.ts.map +1 -1
  422. package/dist/components/base/toaster/index.cjs +1 -1
  423. package/dist/components/base/toaster/index.js +1 -1
  424. package/dist/components/composed/admin/action-surfaces/index.d.ts.map +1 -1
  425. package/dist/components/composed/admin/index.cjs +1 -1
  426. package/dist/components/composed/admin/index.cjs.map +1 -1
  427. package/dist/components/composed/admin/index.js +32 -33
  428. package/dist/components/composed/admin/index.js.map +1 -1
  429. package/dist/components/composed/ai/ai-agent/types.d.ts +2 -1
  430. package/dist/components/composed/ai/ai-agent/types.d.ts.map +1 -1
  431. package/dist/components/composed/ai/ai-artifact/ai-artifact.d.ts.map +1 -1
  432. package/dist/components/composed/ai/ai-artifact/types.d.ts +2 -1
  433. package/dist/components/composed/ai/ai-artifact/types.d.ts.map +1 -1
  434. package/dist/components/composed/ai/ai-attachment/types.d.ts +2 -1
  435. package/dist/components/composed/ai/ai-attachment/types.d.ts.map +1 -1
  436. package/dist/components/composed/ai/ai-chain-of-thought/types.d.ts +2 -1
  437. package/dist/components/composed/ai/ai-chain-of-thought/types.d.ts.map +1 -1
  438. package/dist/components/composed/ai/ai-citation/ai-citation.d.ts.map +1 -1
  439. package/dist/components/composed/ai/ai-citation/types.d.ts +2 -1
  440. package/dist/components/composed/ai/ai-citation/types.d.ts.map +1 -1
  441. package/dist/components/composed/ai/ai-classification/ai-classification.d.ts.map +1 -1
  442. package/dist/components/composed/ai/ai-code-block/types.d.ts +2 -1
  443. package/dist/components/composed/ai/ai-code-block/types.d.ts.map +1 -1
  444. package/dist/components/composed/ai/ai-confidence/ai-confidence.d.ts.map +1 -1
  445. package/dist/components/composed/ai/ai-confidence/types.d.ts +2 -1
  446. package/dist/components/composed/ai/ai-confidence/types.d.ts.map +1 -1
  447. package/dist/components/composed/ai/ai-confirmation/ai-confirmation.d.ts.map +1 -1
  448. package/dist/components/composed/ai/ai-confirmation/types.d.ts +2 -1
  449. package/dist/components/composed/ai/ai-confirmation/types.d.ts.map +1 -1
  450. package/dist/components/composed/ai/ai-feedback/types.d.ts +2 -1
  451. package/dist/components/composed/ai/ai-feedback/types.d.ts.map +1 -1
  452. package/dist/components/composed/ai/ai-file-tree/types.d.ts +2 -1
  453. package/dist/components/composed/ai/ai-file-tree/types.d.ts.map +1 -1
  454. package/dist/components/composed/ai/ai-inline-citation/types.d.ts +2 -1
  455. package/dist/components/composed/ai/ai-inline-citation/types.d.ts.map +1 -1
  456. package/dist/components/composed/ai/ai-message-bubble/types.d.ts +2 -1
  457. package/dist/components/composed/ai/ai-message-bubble/types.d.ts.map +1 -1
  458. package/dist/components/composed/ai/ai-package-info/types.d.ts +2 -1
  459. package/dist/components/composed/ai/ai-package-info/types.d.ts.map +1 -1
  460. package/dist/components/composed/ai/ai-prompt-suggestions/types.d.ts +2 -1
  461. package/dist/components/composed/ai/ai-prompt-suggestions/types.d.ts.map +1 -1
  462. package/dist/components/composed/ai/ai-reasoning/types.d.ts +2 -1
  463. package/dist/components/composed/ai/ai-reasoning/types.d.ts.map +1 -1
  464. package/dist/components/composed/ai/ai-sources/types.d.ts +2 -1
  465. package/dist/components/composed/ai/ai-sources/types.d.ts.map +1 -1
  466. package/dist/components/composed/ai/ai-summary/ai-summary.d.ts.map +1 -1
  467. package/dist/components/composed/ai/ai-task/types.d.ts +2 -1
  468. package/dist/components/composed/ai/ai-task/types.d.ts.map +1 -1
  469. package/dist/components/composed/ai/ai-token-usage/types.d.ts +2 -1
  470. package/dist/components/composed/ai/ai-token-usage/types.d.ts.map +1 -1
  471. package/dist/components/composed/ai/ai-tool-call/ai-tool-call.d.ts.map +1 -1
  472. package/dist/components/composed/ai/ai-tool-call/types.d.ts +2 -1
  473. package/dist/components/composed/ai/ai-tool-call/types.d.ts.map +1 -1
  474. package/dist/components/composed/ai/index.cjs +1 -1
  475. package/dist/components/composed/ai/index.cjs.map +1 -1
  476. package/dist/components/composed/ai/index.js +115 -109
  477. package/dist/components/composed/ai/index.js.map +1 -1
  478. package/dist/components/composed/analytics/activity-heatmap/types.d.ts +2 -1
  479. package/dist/components/composed/analytics/activity-heatmap/types.d.ts.map +1 -1
  480. package/dist/components/composed/analytics/index.cjs +1 -1
  481. package/dist/components/composed/analytics/index.cjs.map +1 -1
  482. package/dist/components/composed/analytics/index.js +87 -87
  483. package/dist/components/composed/analytics/index.js.map +1 -1
  484. package/dist/components/composed/cards/contact-card/types.d.ts +2 -1
  485. package/dist/components/composed/cards/contact-card/types.d.ts.map +1 -1
  486. package/dist/components/composed/cards/course-card/types.d.ts +2 -1
  487. package/dist/components/composed/cards/course-card/types.d.ts.map +1 -1
  488. package/dist/components/composed/cards/feature-announcement/feature-announcement.d.ts.map +1 -1
  489. package/dist/components/composed/cards/giftcard-card/types.d.ts +2 -1
  490. package/dist/components/composed/cards/giftcard-card/types.d.ts.map +1 -1
  491. package/dist/components/composed/cards/index.cjs +1 -1
  492. package/dist/components/composed/cards/index.cjs.map +1 -1
  493. package/dist/components/composed/cards/index.js +186 -190
  494. package/dist/components/composed/cards/index.js.map +1 -1
  495. package/dist/components/composed/cards/vendor-profile/types.d.ts +2 -1
  496. package/dist/components/composed/cards/vendor-profile/types.d.ts.map +1 -1
  497. package/dist/components/composed/cards/vendor-profile/vendor-profile.d.ts.map +1 -1
  498. package/dist/components/composed/commerce/address-card/types.d.ts +2 -1
  499. package/dist/components/composed/commerce/address-card/types.d.ts.map +1 -1
  500. package/dist/components/composed/commerce/cart-summary/types.d.ts +2 -1
  501. package/dist/components/composed/commerce/cart-summary/types.d.ts.map +1 -1
  502. package/dist/components/composed/commerce/coupon-input/coupon-input.d.ts.map +1 -1
  503. package/dist/components/composed/commerce/coupon-input/types.d.ts +2 -1
  504. package/dist/components/composed/commerce/coupon-input/types.d.ts.map +1 -1
  505. package/dist/components/composed/commerce/discount-stack/types.d.ts +2 -1
  506. package/dist/components/composed/commerce/discount-stack/types.d.ts.map +1 -1
  507. package/dist/components/composed/commerce/index.cjs +1 -1
  508. package/dist/components/composed/commerce/index.cjs.map +1 -1
  509. package/dist/components/composed/commerce/index.js +197 -202
  510. package/dist/components/composed/commerce/index.js.map +1 -1
  511. package/dist/components/composed/commerce/loyalty-points/loyalty-points.d.ts.map +1 -1
  512. package/dist/components/composed/commerce/loyalty-points/types.d.ts +2 -1
  513. package/dist/components/composed/commerce/loyalty-points/types.d.ts.map +1 -1
  514. package/dist/components/composed/commerce/order-status/types.d.ts +2 -1
  515. package/dist/components/composed/commerce/order-status/types.d.ts.map +1 -1
  516. package/dist/components/composed/commerce/payment-method/types.d.ts +2 -1
  517. package/dist/components/composed/commerce/payment-method/types.d.ts.map +1 -1
  518. package/dist/components/composed/commerce/refund-status/refund-status.d.ts.map +1 -1
  519. package/dist/components/composed/commerce/refund-status/types.d.ts +2 -1
  520. package/dist/components/composed/commerce/refund-status/types.d.ts.map +1 -1
  521. package/dist/components/composed/commerce/subscription-summary/subscription-summary.d.ts.map +1 -1
  522. package/dist/components/composed/commerce/subscription-summary/types.d.ts +2 -1
  523. package/dist/components/composed/commerce/subscription-summary/types.d.ts.map +1 -1
  524. package/dist/components/composed/commerce/tax-breakdown/types.d.ts +2 -1
  525. package/dist/components/composed/commerce/tax-breakdown/types.d.ts.map +1 -1
  526. package/dist/components/composed/commerce/voucher-entry/types.d.ts +2 -1
  527. package/dist/components/composed/commerce/voucher-entry/types.d.ts.map +1 -1
  528. package/dist/components/composed/commerce/voucher-entry/voucher-entry.d.ts.map +1 -1
  529. package/dist/components/composed/dark-surfaces/dark-payment/dark-payment.d.ts.map +1 -1
  530. package/dist/components/composed/dark-surfaces/index.cjs +1 -1
  531. package/dist/components/composed/dark-surfaces/index.cjs.map +1 -1
  532. package/dist/components/composed/dark-surfaces/index.js +71 -72
  533. package/dist/components/composed/dark-surfaces/index.js.map +1 -1
  534. package/dist/components/composed/data-display/empty-state/empty-state.d.ts.map +1 -0
  535. package/dist/components/composed/data-display/empty-state/empty-state.strings.d.ts.map +1 -0
  536. package/dist/components/composed/data-display/empty-state/empty-state.types.d.ts +85 -0
  537. package/dist/components/composed/data-display/empty-state/empty-state.types.d.ts.map +1 -0
  538. package/dist/components/composed/data-display/empty-state/index.d.ts.map +1 -0
  539. package/dist/components/composed/data-display/empty-state/partials/illustrations/document-stack.d.ts.map +1 -0
  540. package/dist/components/composed/data-display/empty-state/partials/illustrations/inbox-clean.d.ts.map +1 -0
  541. package/dist/components/composed/data-display/empty-state/partials/illustrations/index.d.ts.map +1 -0
  542. package/dist/components/composed/data-display/empty-state/partials/illustrations/search-glass.d.ts.map +1 -0
  543. package/dist/components/composed/data-display/empty-state/partials/illustrations/stacked-cards.d.ts.map +1 -0
  544. package/dist/components/composed/data-display/empty-state/partials/illustrations/users-circle.d.ts.map +1 -0
  545. package/dist/components/composed/data-display/fields/email-display.d.ts +23 -0
  546. package/dist/components/composed/data-display/fields/email-display.d.ts.map +1 -0
  547. package/dist/components/composed/data-display/fields/index.d.ts.map +1 -0
  548. package/dist/components/composed/data-display/fields/phone-display.d.ts +23 -0
  549. package/dist/components/composed/data-display/fields/phone-display.d.ts.map +1 -0
  550. package/dist/components/composed/data-display/fields/url-display.d.ts +29 -0
  551. package/dist/components/composed/data-display/fields/url-display.d.ts.map +1 -0
  552. package/dist/components/composed/data-display/index.cjs +1 -2
  553. package/dist/components/composed/data-display/index.d.ts +7 -0
  554. package/dist/components/composed/data-display/index.d.ts.map +1 -1
  555. package/dist/components/composed/data-display/index.js +2 -1165
  556. package/dist/components/composed/data-display/inline-stat/index.d.ts.map +1 -0
  557. package/dist/components/composed/data-display/inline-stat/inline-stat.d.ts.map +1 -0
  558. package/dist/components/composed/data-display/invoice-header/types.d.ts +2 -1
  559. package/dist/components/composed/data-display/invoice-header/types.d.ts.map +1 -1
  560. package/dist/components/composed/data-display/invoice-items/invoice-items.d.ts.map +1 -1
  561. package/dist/components/composed/data-display/invoice-mini/types.d.ts +2 -1
  562. package/dist/components/composed/data-display/invoice-mini/types.d.ts.map +1 -1
  563. package/dist/components/composed/data-display/invoice-table/types.d.ts +2 -1
  564. package/dist/components/composed/data-display/invoice-table/types.d.ts.map +1 -1
  565. package/dist/components/composed/data-display/metadata/index.d.ts.map +1 -0
  566. package/dist/components/composed/data-display/metadata/metadata-list.d.ts.map +1 -0
  567. package/dist/components/composed/data-display/metadata/metadata-list.strings.d.ts.map +1 -0
  568. package/dist/components/composed/data-display/numeric-value/index.d.ts.map +1 -0
  569. package/dist/components/composed/data-display/numeric-value/numeric-value.d.ts.map +1 -0
  570. package/dist/components/composed/data-display/resource-selector-card.d.ts.map +1 -1
  571. package/dist/components/composed/data-display/section-header/index.d.ts.map +1 -0
  572. package/dist/components/composed/data-display/section-header/section-header.d.ts.map +1 -0
  573. package/dist/components/composed/data-display/user-cell/index.d.ts.map +1 -0
  574. package/dist/components/composed/data-display/user-cell/user-cell.d.ts +20 -0
  575. package/dist/components/composed/data-display/user-cell/user-cell.d.ts.map +1 -0
  576. package/dist/components/composed/navigation/breadcrumb-progress/types.d.ts +2 -1
  577. package/dist/components/composed/navigation/breadcrumb-progress/types.d.ts.map +1 -1
  578. package/dist/components/composed/navigation/index.cjs +1 -1
  579. package/dist/components/composed/navigation/index.cjs.map +1 -1
  580. package/dist/components/composed/navigation/index.js +12 -12
  581. package/dist/components/composed/navigation/index.js.map +1 -1
  582. package/dist/components/composed/onboarding/index.cjs +1 -1
  583. package/dist/components/composed/onboarding/index.cjs.map +1 -1
  584. package/dist/components/composed/onboarding/index.js +3 -3
  585. package/dist/components/composed/timelines/activity-stream/types.d.ts +2 -1
  586. package/dist/components/composed/timelines/activity-stream/types.d.ts.map +1 -1
  587. package/dist/components/composed/timelines/changelog/types.d.ts +2 -1
  588. package/dist/components/composed/timelines/changelog/types.d.ts.map +1 -1
  589. package/dist/components/composed/timelines/index.cjs +1 -1
  590. package/dist/components/composed/timelines/index.cjs.map +1 -1
  591. package/dist/components/composed/timelines/index.js +6 -6
  592. package/dist/components/composed/timelines/index.js.map +1 -1
  593. package/dist/components/composed/timelines/milestones/types.d.ts +2 -1
  594. package/dist/components/composed/timelines/milestones/types.d.ts.map +1 -1
  595. package/dist/components/features/activities/activities.types.d.ts +3 -2
  596. package/dist/components/features/activities/activities.types.d.ts.map +1 -1
  597. package/dist/components/features/activities/index.cjs +1 -1
  598. package/dist/components/features/activities/index.cjs.map +1 -1
  599. package/dist/components/features/activities/index.js +33 -30
  600. package/dist/components/features/activities/index.js.map +1 -1
  601. package/dist/components/features/activities/partials/activities-feed-card.d.ts.map +1 -1
  602. package/dist/components/features/ai-chat/index.cjs +2 -2
  603. package/dist/components/features/ai-chat/index.cjs.map +1 -1
  604. package/dist/components/features/ai-chat/index.js +42 -42
  605. package/dist/components/features/ai-chat/index.js.map +1 -1
  606. package/dist/components/features/card/index.cjs +1 -1
  607. package/dist/components/features/card/index.cjs.map +1 -1
  608. package/dist/components/features/card/index.js +6 -6
  609. package/dist/components/features/card/index.js.map +1 -1
  610. package/dist/components/features/comments/index.cjs +1 -1
  611. package/dist/components/features/comments/index.js +2 -2
  612. package/dist/components/features/data-view/data-view.d.ts.map +1 -0
  613. package/dist/components/features/data-view/data-view.strings.d.ts.map +1 -0
  614. package/dist/components/features/data-view/data-view.types.d.ts.map +1 -0
  615. package/dist/components/features/data-view/index.cjs +2 -0
  616. package/dist/components/features/data-view/index.cjs.map +1 -0
  617. package/dist/components/features/data-view/index.d.ts.map +1 -0
  618. package/dist/components/features/data-view/index.js +146 -0
  619. package/dist/components/features/data-view/index.js.map +1 -0
  620. package/dist/components/features/event-log/index.cjs +1 -1
  621. package/dist/components/features/event-log/index.cjs.map +1 -1
  622. package/dist/components/features/event-log/index.js +6 -6
  623. package/dist/components/features/event-log/index.js.map +1 -1
  624. package/dist/components/features/filters/filter-context.d.ts +5 -0
  625. package/dist/components/features/filters/filter-context.d.ts.map +1 -1
  626. package/dist/components/features/filters/filter-layout.d.ts.map +1 -1
  627. package/dist/components/features/filters/filters.types.d.ts +1 -1
  628. package/dist/components/features/filters/filters.types.d.ts.map +1 -1
  629. package/dist/components/features/filters/index.cjs +1 -1
  630. package/dist/components/features/filters/index.cjs.map +1 -1
  631. package/dist/components/features/filters/index.js +333 -308
  632. package/dist/components/features/filters/index.js.map +1 -1
  633. package/dist/components/features/filters/partials/active-filter-item.d.ts.map +1 -1
  634. package/dist/components/features/filters/partials/async-filter-content.d.ts.map +1 -1
  635. package/dist/components/features/filters/partials/regular-filter-content.d.ts.map +1 -1
  636. package/dist/components/features/filters/partials/tags-filter-content.d.ts.map +1 -1
  637. package/dist/components/features/global-search/global-search.d.ts.map +1 -1
  638. package/dist/components/features/global-search/index.cjs +1 -1
  639. package/dist/components/features/global-search/index.cjs.map +1 -1
  640. package/dist/components/features/global-search/index.js +36 -28
  641. package/dist/components/features/global-search/index.js.map +1 -1
  642. package/dist/components/features/global-search/partials/global-search-input.d.ts.map +1 -1
  643. package/dist/components/features/global-search/partials/global-search-result-row.d.ts.map +1 -1
  644. package/dist/components/features/index.d.ts.map +1 -1
  645. package/dist/components/features/kanban/index.cjs +1 -1
  646. package/dist/components/features/kanban/index.cjs.map +1 -1
  647. package/dist/components/features/kanban/index.js +5 -5
  648. package/dist/components/features/kanban/index.js.map +1 -1
  649. package/dist/components/features/media-library/index.cjs +1 -1
  650. package/dist/components/features/media-library/index.cjs.map +1 -1
  651. package/dist/components/features/media-library/index.js +27 -27
  652. package/dist/components/features/media-library/index.js.map +1 -1
  653. package/dist/components/features/mentions/index.cjs +1 -1
  654. package/dist/components/features/mentions/index.js +1 -1
  655. package/dist/components/features/overlays/index.cjs +1 -1
  656. package/dist/components/features/overlays/index.js +1 -1
  657. package/dist/components/features/products/components/product-contract-overview.d.ts.map +1 -1
  658. package/dist/components/features/products/components/product-details-card.d.ts.map +1 -1
  659. package/dist/components/features/products/components/product-quote-preview-card.d.ts.map +1 -1
  660. package/dist/components/features/products/components/product-readiness-card.d.ts.map +1 -1
  661. package/dist/components/features/products/index.cjs +1 -1
  662. package/dist/components/features/products/index.cjs.map +1 -1
  663. package/dist/components/features/products/index.js +135 -135
  664. package/dist/components/features/products/index.js.map +1 -1
  665. package/dist/components/features/products/products.types.d.ts +1 -1
  666. package/dist/components/features/products/products.types.d.ts.map +1 -1
  667. package/dist/components/features/resource/index.cjs +2 -0
  668. package/dist/components/features/resource/index.cjs.map +1 -0
  669. package/dist/components/features/resource/index.d.ts.map +1 -0
  670. package/dist/components/features/resource/index.js +240 -0
  671. package/dist/components/features/resource/index.js.map +1 -0
  672. package/dist/components/features/resource/resource.d.ts.map +1 -0
  673. package/dist/components/features/resource/resource.types.d.ts +87 -0
  674. package/dist/components/features/resource/resource.types.d.ts.map +1 -0
  675. package/dist/components/features/rich-text-editor/index.cjs +1 -1
  676. package/dist/components/features/rich-text-editor/index.js +1 -1
  677. package/dist/components/features/schema-form/index.cjs +1 -1
  678. package/dist/components/features/schema-form/index.cjs.map +1 -1
  679. package/dist/components/features/schema-form/index.js +23 -23
  680. package/dist/components/features/suggestions/index.cjs +1 -1
  681. package/dist/components/features/suggestions/index.js +1 -1
  682. package/dist/components/features/sync/index.cjs +1 -1
  683. package/dist/components/features/sync/index.cjs.map +1 -1
  684. package/dist/components/features/sync/index.js +53 -31
  685. package/dist/components/features/sync/index.js.map +1 -1
  686. package/dist/components/features/sync/sync-range-dialog-form.d.ts.map +1 -1
  687. package/dist/components/features/sync/sync.strings.d.ts +6 -0
  688. package/dist/components/features/sync/sync.strings.d.ts.map +1 -1
  689. package/dist/components/layout/app-shell/app-shell.types.d.ts +7 -7
  690. package/dist/components/layout/app-shell/app-shell.types.d.ts.map +1 -1
  691. package/dist/components/layout/app-shell/index.cjs +1 -1
  692. package/dist/components/layout/app-shell/index.js +1 -1
  693. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts.map +1 -1
  694. package/dist/components/layout/auth/index.cjs +1 -1
  695. package/dist/components/layout/auth/index.js +1 -1
  696. package/dist/components/layout/header/index.cjs +1 -1
  697. package/dist/components/layout/header/index.js +1 -1
  698. package/dist/components/layout/hooks/index.cjs +1 -1
  699. package/dist/components/layout/hooks/index.js +1 -1
  700. package/dist/components/layout/index.cjs +1 -1
  701. package/dist/components/layout/index.d.ts +0 -1
  702. package/dist/components/layout/index.d.ts.map +1 -1
  703. package/dist/components/layout/index.js +11 -12
  704. package/dist/components/layout/page/index.cjs +1 -1
  705. package/dist/components/layout/page/index.js +1 -1
  706. package/dist/components/layout/page/page.types.d.ts +2 -1
  707. package/dist/components/layout/page/page.types.d.ts.map +1 -1
  708. package/dist/components/layout/settings/index.cjs +1 -1
  709. package/dist/components/layout/settings/index.js +1 -1
  710. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts.map +1 -1
  711. package/dist/components/layout/sidebar/components/sidebar-navigation-user.d.ts +2 -1
  712. package/dist/components/layout/sidebar/components/sidebar-navigation-user.d.ts.map +1 -1
  713. package/dist/components/layout/sidebar/index.cjs +1 -1
  714. package/dist/components/layout/sidebar/index.js +2 -2
  715. package/dist/components/layout/sidebar/sidebar.d.ts +2 -1
  716. package/dist/components/layout/sidebar/sidebar.d.ts.map +1 -1
  717. package/dist/components/layout/sidebar/sidebar.types.d.ts +3 -2
  718. package/dist/components/layout/sidebar/sidebar.types.d.ts.map +1 -1
  719. package/dist/components/layout/workspace/index.cjs +1 -1
  720. package/dist/components/layout/workspace/index.js +1 -1
  721. package/dist/components/layout/workspace/workspace.d.ts.map +1 -1
  722. package/dist/components/typography/index.cjs +1 -1
  723. package/dist/components/typography/index.js +2 -3
  724. package/dist/components/typography/label.d.ts.map +1 -1
  725. package/dist/components/ui/button.d.ts +1 -1
  726. package/dist/components/ui/input-group.d.ts +1 -1
  727. package/dist/index.cjs +1 -1
  728. package/dist/index.js +3 -3
  729. package/dist/lib/ui-provider/defaults.d.ts.map +1 -1
  730. package/dist/lib/ui-provider/hooks.d.ts +1 -2
  731. package/dist/lib/ui-provider/hooks.d.ts.map +1 -1
  732. package/dist/lib/ui-provider/index.cjs +1 -1
  733. package/dist/lib/ui-provider/index.d.ts +2 -2
  734. package/dist/lib/ui-provider/index.d.ts.map +1 -1
  735. package/dist/lib/ui-provider/index.js +2 -2
  736. package/dist/lib/ui-provider/types.d.ts +13 -14
  737. package/dist/lib/ui-provider/types.d.ts.map +1 -1
  738. package/dist/lib/utils.cjs +1 -1
  739. package/dist/lib/utils.cjs.map +1 -1
  740. package/dist/lib/utils.d.ts.map +1 -1
  741. package/dist/lib/utils.js +31 -10
  742. package/dist/lib/utils.js.map +1 -1
  743. package/dist/services/actions/index.cjs +1 -1
  744. package/dist/services/actions/index.js +1 -1
  745. package/dist/showcase/assets/AreaChart-CGkuyNyy.js +6 -0
  746. package/dist/showcase/assets/CSPContext-Bfs88_eg.js +1 -0
  747. package/dist/showcase/assets/CompositeItem-DAQ048AO.js +1 -0
  748. package/dist/showcase/assets/CompositeRoot-8-OuCMMq.js +1 -0
  749. package/dist/showcase/assets/DialogTrigger-1P-jwcoH.js +1 -0
  750. package/dist/showcase/assets/FieldItemContext-ChrM5Ge4.js +1 -0
  751. package/dist/showcase/assets/LabelableContext-BDyZArAc.js +1 -0
  752. package/dist/showcase/assets/PreviewLayout-wYGhlcJt.js +1 -0
  753. package/dist/showcase/assets/RadioGroup-DuiI4W--.js +1 -0
  754. package/dist/showcase/assets/ScrollAreaCorner-Df5uTkWT.js +1 -0
  755. package/dist/showcase/assets/Separator-BuTBo5a_.js +1 -0
  756. package/dist/showcase/assets/ToolbarRootContext-B4S4Fn7d.js +1 -0
  757. package/dist/showcase/assets/accordion-D3beuJpC.js +171 -0
  758. package/dist/showcase/assets/accordion-variants-BTMpfSPI.js +1 -0
  759. package/dist/showcase/assets/action-menu-DsAr1OqF.js +1 -0
  760. package/dist/showcase/assets/actions-BzyHAEZR.js +310 -0
  761. package/dist/showcase/assets/activities-BgoelWKu.js +500 -0
  762. package/dist/showcase/assets/activities-feed-card-DI4MIm3-.js +1 -0
  763. package/dist/showcase/assets/admin-n-JemkNh.js +140 -0
  764. package/dist/showcase/assets/ai-BXyk1mT0.js +207 -0
  765. package/dist/showcase/assets/ai-artifact-C8CmZ94f.js +2 -0
  766. package/dist/showcase/assets/ai-chat-CTQQ4e4X.js +568 -0
  767. package/dist/showcase/assets/ai-elements-DGnlBq8E.js +387 -0
  768. package/dist/showcase/assets/ai-tool-call-bHnWNBtN.js +1 -0
  769. package/dist/showcase/assets/alert-CIHGXUul.js +62 -0
  770. package/dist/showcase/assets/alert-N79A6qIx.js +93 -0
  771. package/dist/showcase/assets/alert-bPnj3_cC.js +1 -0
  772. package/dist/showcase/assets/api-key-list-Bf1KoRJq.js +1 -0
  773. package/dist/showcase/assets/api-key-list-DyZ_DaRx.js +73 -0
  774. package/dist/showcase/assets/app-sidebar-Co0LUSvz.js +1 -0
  775. package/dist/showcase/assets/arrow-down-BttnoDxP.js +1 -0
  776. package/dist/showcase/assets/arrow-left-B1kFGJ8v.js +1 -0
  777. package/dist/showcase/assets/arrow-right-Md96ra7v.js +1 -0
  778. package/dist/showcase/assets/arrow-up-B9e9cP-q.js +1 -0
  779. package/dist/showcase/assets/arrow-up-right-BOHJNdrp.js +1 -0
  780. package/dist/showcase/assets/avatar-CJaCYGWf.js +1 -0
  781. package/dist/showcase/assets/avatar-CxwFyL4T.js +57 -0
  782. package/dist/showcase/assets/avatar-D3kvVy00.js +1 -0
  783. package/dist/showcase/assets/avatar-DKLsNeBi.js +67 -0
  784. package/dist/showcase/assets/badge-CSMmwDLr.js +31 -0
  785. package/dist/showcase/assets/badge-check-TQRmqI7C.js +1 -0
  786. package/dist/showcase/assets/bell-CwRy7zpP.js +1 -0
  787. package/dist/showcase/assets/bot-Bt02Uzhq.js +1 -0
  788. package/dist/showcase/assets/box-Bfv5RQBf.js +1 -0
  789. package/dist/showcase/assets/braces-CxUoAPd4.js +1 -0
  790. package/dist/showcase/assets/brain-CNapE0CP.js +1 -0
  791. package/dist/showcase/assets/brand-CBq1YoS0.js +36 -0
  792. package/dist/showcase/assets/breadcrumb-DRioiUd_.js +1 -0
  793. package/dist/showcase/assets/breadcrumb-DyXpErBT.js +52 -0
  794. package/dist/showcase/assets/breadcrumbs-BzHeoItO.js +1 -0
  795. package/dist/showcase/assets/briefcase-N74Hu0O2.js +1 -0
  796. package/dist/showcase/assets/building-2-D81ygy-F.js +1 -0
  797. package/dist/showcase/assets/button-Bgqg7AmN.js +44 -0
  798. package/dist/showcase/assets/button-group-DPV1XIW3.js +1 -0
  799. package/dist/showcase/assets/buttons-qpZWlILG.js +272 -0
  800. package/dist/showcase/assets/calendar-BXG5CwbY.js +1 -0
  801. package/dist/showcase/assets/calendar-D-CSqGtC.js +16 -0
  802. package/dist/showcase/assets/calendar-DcYyOrNY.js +1 -0
  803. package/dist/showcase/assets/calendar-days-CNNiyV9e.js +1 -0
  804. package/dist/showcase/assets/camera-D0yVo0xC.js +1 -0
  805. package/dist/showcase/assets/card-Bl-y9-8y.js +1 -0
  806. package/dist/showcase/assets/card-CH7Ev3xS.js +188 -0
  807. package/dist/showcase/assets/card-primitives-CiU5lL3a.js +1 -0
  808. package/dist/showcase/assets/card-radio-group-DpeIWyiO.js +1 -0
  809. package/dist/showcase/assets/cards-7xave3ub.js +354 -0
  810. package/dist/showcase/assets/carousel--kHTFkC7.js +449 -0
  811. package/dist/showcase/assets/cell-renderers-Cx8rAZln.js +1 -0
  812. package/dist/showcase/assets/chart-DU8INHbt.js +358 -0
  813. package/dist/showcase/assets/chart-column-Dbekq8cy.js +1 -0
  814. package/dist/showcase/assets/checkbox-ClPnzko9.js +1 -0
  815. package/dist/showcase/assets/checkbox-Qhh92dbS.js +1 -0
  816. package/dist/showcase/assets/chevron-down-BqrI6QzQ.js +1 -0
  817. package/dist/showcase/assets/chevron-left-TJKYH3rG.js +1 -0
  818. package/dist/showcase/assets/chevron-up-CPuAmh-d.js +1 -0
  819. package/dist/showcase/assets/chevrons-up-down-DZB44PVY.js +1 -0
  820. package/dist/showcase/assets/circle-CY0DkTje.js +1 -0
  821. package/dist/showcase/assets/circle-alert-9j29FrsT.js +1 -0
  822. package/dist/showcase/assets/circle-check-BkFKejsY.js +1 -0
  823. package/dist/showcase/assets/circle-check-big-vu3Znqdx.js +1 -0
  824. package/dist/showcase/assets/circle-dot-CsBIkbEH.js +1 -0
  825. package/dist/showcase/assets/circle-question-mark-BRiF5RV4.js +1 -0
  826. package/dist/showcase/assets/circle-x-BF20gddw.js +1 -0
  827. package/dist/showcase/assets/clock-3-mhWDhdka.js +1 -0
  828. package/dist/showcase/assets/clock-Dd-urPd2.js +1 -0
  829. package/dist/showcase/assets/code-xml-D2f-X63y.js +1 -0
  830. package/dist/showcase/assets/collapsible-CF0oQTVS.js +1 -0
  831. package/dist/showcase/assets/collapsible-Ru5-bssh.js +27 -0
  832. package/dist/showcase/assets/combobox-DpJTW_Rq.js +685 -0
  833. package/dist/showcase/assets/command-Dno8Ogez.js +1 -0
  834. package/dist/showcase/assets/command-LRFStKBy.js +1 -0
  835. package/dist/showcase/assets/comment-composer-Dht7nfbv.js +1 -0
  836. package/dist/showcase/assets/comment-item-B6IgQsMr.js +1 -0
  837. package/dist/showcase/assets/comments-B3ksV3Mn.js +357 -0
  838. package/dist/showcase/assets/commerce-B1_Offbz.js +267 -0
  839. package/dist/showcase/assets/composite-BjQWIYF-.js +1 -0
  840. package/dist/showcase/assets/contact-card-Bss4YHZz.js +65 -0
  841. package/dist/showcase/assets/content-container-D4BM1Zro.js +1 -0
  842. package/dist/showcase/assets/copyable-C0J88R_R.js +96 -0
  843. package/dist/showcase/assets/copyable-Dst8oaw5.js +1 -0
  844. package/dist/showcase/assets/course-card-BuqwjqtO.js +77 -0
  845. package/dist/showcase/assets/cpu-CFy0M0rN.js +1 -0
  846. package/dist/showcase/assets/credit-card-CFq0S1Ma.js +1 -0
  847. package/dist/showcase/assets/css-variables-BAALjDwD.js +1190 -0
  848. package/dist/showcase/assets/currency-BZzZRv2_.js +149 -0
  849. package/dist/showcase/assets/dark-surfaces-CVKt2Yww.js +90 -0
  850. package/dist/showcase/assets/data-view-Be0uoLqL.js +4 -0
  851. package/dist/showcase/assets/data-view-D6_zyFwk.js +124 -0
  852. package/dist/showcase/assets/database-DSC-ysYT.js +1 -0
  853. package/dist/showcase/assets/date-block-Bgu_LMxB.js +1 -0
  854. package/dist/showcase/assets/date-picker-ByYEZGMg.js +1 -0
  855. package/dist/showcase/assets/date-pickers-DzSQrvWs.js +73 -0
  856. package/dist/showcase/assets/dense-info-BhFkOQbt.js +106 -0
  857. package/dist/showcase/assets/design-system-consistency-D6iCJLcr.js +264 -0
  858. package/dist/showcase/assets/dialog-C1heXuxu.js +1 -0
  859. package/dist/showcase/assets/dialog-DzrcsKvl.js +1 -0
  860. package/dist/showcase/assets/display-utilities-eu-EVMrx.js +267 -0
  861. package/dist/showcase/assets/dist-BlIID0_L.js +1 -0
  862. package/dist/showcase/assets/dist-DV4Tv32d.js +45 -0
  863. package/dist/showcase/assets/dollar-sign-qp4G3P_K.js +1 -0
  864. package/dist/showcase/assets/download-zlcHjSdS.js +1 -0
  865. package/dist/showcase/assets/dropdown-menu-DZ47rJaE.js +1 -0
  866. package/dist/showcase/assets/dropzone-Dx4EqBHu.js +1 -0
  867. package/dist/showcase/assets/earth-BuXqXHh6.js +1 -0
  868. package/dist/showcase/assets/ellipsis-DgAjMZHc.js +1 -0
  869. package/dist/showcase/assets/ellipsis-vertical-BA8_YMyV.js +1 -0
  870. package/dist/showcase/assets/empty-DXjKmyNv.js +1 -0
  871. package/dist/showcase/assets/empty-item-DIGWYsI0.js +49 -0
  872. package/dist/showcase/assets/empty-state-BSc0tQNC.js +190 -0
  873. package/dist/showcase/assets/empty-state-CkixFVN1.js +1 -0
  874. package/dist/showcase/assets/enhanced-activities-CKbHgR4f.js +357 -0
  875. package/dist/showcase/assets/enhanced-combobox-DAKQyFUg.js +1 -0
  876. package/dist/showcase/assets/esm-C3PfkuOc.js +2 -0
  877. package/dist/showcase/assets/event-calendar-rNju8jaT.js +138 -0
  878. package/dist/showcase/assets/event-log-BUK1blGb.js +330 -0
  879. package/dist/showcase/assets/example-PsbgbESI.js +1 -0
  880. package/dist/showcase/assets/external-link-CgB9zfWz.js +1 -0
  881. package/dist/showcase/assets/eye-YnIHbdKe.js +1 -0
  882. package/dist/showcase/assets/feature-announcement-CWwjAPI1.js +34 -0
  883. package/dist/showcase/assets/file-3Z2xkc-8.js +1 -0
  884. package/dist/showcase/assets/file-text-BQeGXxPG.js +1 -0
  885. package/dist/showcase/assets/filter-layout-D7YskzbC.js +1 -0
  886. package/dist/showcase/assets/filters-2YY_wVwq.js +139 -0
  887. package/dist/showcase/assets/flag-Bw3wwRgF.js +1 -0
  888. package/dist/showcase/assets/folder-open-CZ5Bq4lK.js +1 -0
  889. package/dist/showcase/assets/form-field-AWNJL9FM.js +1 -0
  890. package/dist/showcase/assets/form-sizing-C3UG5WKC.js +1 -0
  891. package/dist/showcase/assets/format-DUU7-42g.js +1 -0
  892. package/dist/showcase/assets/forms-CWJ3HBbk.js +915 -0
  893. package/dist/showcase/assets/funnel-vxNNph7w.js +1 -0
  894. package/dist/showcase/assets/generic-DlyFJDj6.js +1 -0
  895. package/dist/showcase/assets/getPseudoElementBounds-CibNto5h.js +1 -0
  896. package/dist/showcase/assets/gift-BjRHqTcQ.js +1 -0
  897. package/dist/showcase/assets/giftcard-cards-DcujCFff.js +85 -0
  898. package/dist/showcase/assets/git-branch-B7XnpQE0.js +1 -0
  899. package/dist/showcase/assets/global-search-CWvNfmpe.js +1 -0
  900. package/dist/showcase/assets/global-search-Ct7I1Xd2.js +215 -0
  901. package/dist/showcase/assets/globe-CHleXWd2.js +1 -0
  902. package/dist/showcase/assets/gradient-card-Bw4oJljh.js +58 -0
  903. package/dist/showcase/assets/hash-BVGqnm6_.js +1 -0
  904. package/dist/showcase/assets/header-CgApizpk.js +1 -0
  905. package/dist/showcase/assets/header-notifications-B2v1Mdri.js +1 -0
  906. package/dist/showcase/assets/heart-BwvHCA-d.js +1 -0
  907. package/dist/showcase/assets/hooks-A_AQLIRZ.js +217 -0
  908. package/dist/showcase/assets/house-opqNxOmP.js +1 -0
  909. package/dist/showcase/assets/icon-badge-CsG95J1Z.js +37 -0
  910. package/dist/showcase/assets/icon-badge-ognVhKWR.js +1 -0
  911. package/dist/showcase/assets/image-apDSlTAx.js +1 -0
  912. package/dist/showcase/assets/inbox-WrbeTKEw.js +1 -0
  913. package/dist/showcase/assets/index-CCxHwV7T.css +2 -0
  914. package/dist/showcase/assets/index-QESvAJrb.js +10 -0
  915. package/dist/showcase/assets/index.esm-BXmcbSs7.js +1 -0
  916. package/dist/showcase/assets/inertValue-DrANZiJk.js +1 -0
  917. package/dist/showcase/assets/info-C3G9KRCx.js +1 -0
  918. package/dist/showcase/assets/inline-stat-BnjUqzDM.js +15 -0
  919. package/dist/showcase/assets/inline-stat-CO01t7SJ.js +1 -0
  920. package/dist/showcase/assets/input-CBJy1dMs.js +1 -0
  921. package/dist/showcase/assets/input-group-CZyYSq4r.js +47 -0
  922. package/dist/showcase/assets/input-group-Dfqufdp4.js +1 -0
  923. package/dist/showcase/assets/input-yYoqWQQ7.js +1 -0
  924. package/dist/showcase/assets/inputs-Bhw_FGDY.js +155 -0
  925. package/dist/showcase/assets/installation-DnvS2ZUn.js +134 -0
  926. package/dist/showcase/assets/invoice-header-B9Ak8GXX.js +36 -0
  927. package/dist/showcase/assets/invoice-items-DY5zUZhE.js +36 -0
  928. package/dist/showcase/assets/invoice-mini-BAryECEH.js +14 -0
  929. package/dist/showcase/assets/invoice-table-BUvjee74.js +30 -0
  930. package/dist/showcase/assets/isSameDay-DVP1ae2V.js +1 -0
  931. package/dist/showcase/assets/isToday-CNAQB-p9.js +1 -0
  932. package/dist/showcase/assets/italic-CjQCLJci.js +1 -0
  933. package/dist/showcase/assets/item-BMSdEK3V.js +1 -0
  934. package/dist/showcase/assets/item-D1Jxrpia.js +1 -0
  935. package/dist/showcase/assets/item-DxPwk321.js +139 -0
  936. package/dist/showcase/assets/kanban-DXWCGieQ.js +188 -0
  937. package/dist/showcase/assets/key-round-DpuhXiJQ.js +1 -0
  938. package/dist/showcase/assets/label-D1wLK5nY.js +1 -0
  939. package/dist/showcase/assets/languages-CGYZVmbV.js +1 -0
  940. package/dist/showcase/assets/layers-DJZSVGAu.js +1 -0
  941. package/dist/showcase/assets/layout-app-shell-UX63nzTO.js +608 -0
  942. package/dist/showcase/assets/layout-auth-Bav5BBqp.js +790 -0
  943. package/dist/showcase/assets/layout-containers-DMHD2zdV.js +101 -0
  944. package/dist/showcase/assets/layout-header-CGesu_kM.js +203 -0
  945. package/dist/showcase/assets/layout-page-DHXu8SIv.js +314 -0
  946. package/dist/showcase/assets/layout-primitives-CokzGwd2.js +34 -0
  947. package/dist/showcase/assets/layout-sidebar-CLUYajcu.js +224 -0
  948. package/dist/showcase/assets/layout-users-DHUNAnFA.js +117 -0
  949. package/dist/showcase/assets/layout-workspace-y0v2FpDW.js +191 -0
  950. package/dist/showcase/assets/lib-g_kR7X9Z.js +1 -0
  951. package/dist/showcase/assets/list-checks-CXt8visd.js +1 -0
  952. package/dist/showcase/assets/lock-CpZ5kLUd.js +1 -0
  953. package/dist/showcase/assets/lock-keyhole-Cy2raRO6.js +1 -0
  954. package/dist/showcase/assets/mail-Cj6uT4TA.js +1 -0
  955. package/dist/showcase/assets/mail-check-Di70bdf6.js +1 -0
  956. package/dist/showcase/assets/map-DMXbG_04.js +124 -0
  957. package/dist/showcase/assets/map-pin-EKhu7vEj.js +1 -0
  958. package/dist/showcase/assets/media-library-Dnp9S0oW.js +699 -0
  959. package/dist/showcase/assets/mention-inline-suggestions-Bp-fVNYF.js +1 -0
  960. package/dist/showcase/assets/mentions-DNRk30XZ.js +138 -0
  961. package/dist/showcase/assets/menus-DFURb5VL.js +171 -0
  962. package/dist/showcase/assets/message-square-DG0qIsG_.js +1 -0
  963. package/dist/showcase/assets/metadata-list-BhlsEWYT.js +1 -0
  964. package/dist/showcase/assets/metadata-list-Cb1DQd4S.js +286 -0
  965. package/dist/showcase/assets/metric-BkzIsP8H.js +1 -0
  966. package/dist/showcase/assets/metric-bar-CU73nx89.js +1 -0
  967. package/dist/showcase/assets/metric-grid-BMLMbLjE.js +1 -0
  968. package/dist/showcase/assets/metric-trend-chip-Dutl5uZo.js +1 -0
  969. package/dist/showcase/assets/metrics-analytics-bar-AqG2oyIy.js +44 -0
  970. package/dist/showcase/assets/metrics-analytics-cards-CrFHmR2f.js +50 -0
  971. package/dist/showcase/assets/metrics-comparison-CY-DyLv7.js +76 -0
  972. package/dist/showcase/assets/metrics-heatmap-BmX_CkiP.js +27 -0
  973. package/dist/showcase/assets/metrics-inline-badge-C1IFjdJN.js +17 -0
  974. package/dist/showcase/assets/metrics-kpi-row-8Kbn034e.js +31 -0
  975. package/dist/showcase/assets/metrics-micro-grid-CodO02yA.js +42 -0
  976. package/dist/showcase/assets/metrics-overview-CdPqEAAG.js +192 -0
  977. package/dist/showcase/assets/metrics-stat-cards-Cw7UMWmb.js +54 -0
  978. package/dist/showcase/assets/minus-B1es6KJX.js +1 -0
  979. package/dist/showcase/assets/money-display-CFfUZLus.js +1 -0
  980. package/dist/showcase/assets/month-year-picker-ChVcYm9f.js +1 -0
  981. package/dist/showcase/assets/navigation-Boyt1q-1.js +231 -0
  982. package/dist/showcase/assets/navigation-CThYYxkL.js +90 -0
  983. package/dist/showcase/assets/navigation-extras-CxLc-Mqx.js +43 -0
  984. package/dist/showcase/assets/onboarding-checklist-C15gqmFc.js +119 -0
  985. package/dist/showcase/assets/overflow-tab-bar-B2Htn-Ft.js +1 -0
  986. package/dist/showcase/assets/overlays-CPZfp0nk.js +159 -0
  987. package/dist/showcase/assets/overlays-Cpj4akiw.js +408 -0
  988. package/dist/showcase/assets/overview-BB-Xbkff.js +184 -0
  989. package/dist/showcase/assets/package-DLn6nx-u.js +1 -0
  990. package/dist/showcase/assets/package-check-B0wyBUSU.js +1 -0
  991. package/dist/showcase/assets/page-BPFNsNh7.js +1 -0
  992. package/dist/showcase/assets/page-action-button-DMS8Vcmz.js +1 -0
  993. package/dist/showcase/assets/page-header-BGqE9hzO.js +1 -0
  994. package/dist/showcase/assets/pagination-Be6ynLCp.js +1 -0
  995. package/dist/showcase/assets/pagination-T4FmLNHn.js +42 -0
  996. package/dist/showcase/assets/paperclip-B_kxXzSN.js +1 -0
  997. package/dist/showcase/assets/password-input-qfQ5eIU4.js +1 -0
  998. package/dist/showcase/assets/pencil-DlDLApli.js +1 -0
  999. package/dist/showcase/assets/phone-D8tvvbSQ.js +1 -0
  1000. package/dist/showcase/assets/plus-BkhJjfUv.js +1 -0
  1001. package/dist/showcase/assets/popover-BsCx2XMI.js +1 -0
  1002. package/dist/showcase/assets/popover-Bu7aaPjE.js +1 -0
  1003. package/dist/showcase/assets/popover-menu-CD_JfEeq.js +1 -0
  1004. package/dist/showcase/assets/products-BzHX1ta0.js +423 -0
  1005. package/dist/showcase/assets/progress-CpW2ZGAy.js +18 -0
  1006. package/dist/showcase/assets/progress-jIJ_EIKE.js +1 -0
  1007. package/dist/showcase/assets/props-table-CCcohuyT.js +1 -0
  1008. package/dist/showcase/assets/props.generated-cO7HmIpY.json +41578 -0
  1009. package/dist/showcase/assets/quote-Bc9eHVKi.js +1 -0
  1010. package/dist/showcase/assets/react-sKtkuLrH.js +1 -0
  1011. package/dist/showcase/assets/receipt-B77_VWtt.js +1 -0
  1012. package/dist/showcase/assets/receipt-text-BlL_TJsS.js +1 -0
  1013. package/dist/showcase/assets/refinement-guide-BpzOvT_R.js +189 -0
  1014. package/dist/showcase/assets/refresh-cw-CELG4taF.js +1 -0
  1015. package/dist/showcase/assets/resolveValueLabel-LRTUaJTb.js +1 -0
  1016. package/dist/showcase/assets/resource-BT8_ck3n.js +1 -0
  1017. package/dist/showcase/assets/resource-C7J3yZp6.js +139 -0
  1018. package/dist/showcase/assets/resource-selector-card-Ay8ImvKg.js +43 -0
  1019. package/dist/showcase/assets/rich-text-editor-CdGVvtsm.js +143 -0
  1020. package/dist/showcase/assets/rich-text-editor-DVtTVuZ6.js +124 -0
  1021. package/dist/showcase/assets/rotate-ccw-MwEZ1b11.js +1 -0
  1022. package/dist/showcase/assets/route-CgBh1oKF.js +1 -0
  1023. package/dist/showcase/assets/save-BFsAGR7O.js +1 -0
  1024. package/dist/showcase/assets/schema-form-CaF-lBkN.js +327 -0
  1025. package/dist/showcase/assets/scroll-area-BkZULoZA.js +1 -0
  1026. package/dist/showcase/assets/scroll-area-CpDi_6FP.js +32 -0
  1027. package/dist/showcase/assets/section-D-N8Ze16.js +1 -0
  1028. package/dist/showcase/assets/select-C9Mfb_Gj.js +1 -0
  1029. package/dist/showcase/assets/select-ReMZs8K6.js +1 -0
  1030. package/dist/showcase/assets/send-C6PbwpHN.js +1 -0
  1031. package/dist/showcase/assets/separator-CywPSoE0.js +28 -0
  1032. package/dist/showcase/assets/separator-Ha9YxI2x.js +1 -0
  1033. package/dist/showcase/assets/settings-2-CVq5Uyv5.js +1 -0
  1034. package/dist/showcase/assets/settings-DkTHc0Ob.js +1 -0
  1035. package/dist/showcase/assets/sheet-k-P0gWlk.js +1 -0
  1036. package/dist/showcase/assets/shield-Cme7_JJR.js +1 -0
  1037. package/dist/showcase/assets/shield-alert-CxV0S5w0.js +1 -0
  1038. package/dist/showcase/assets/shield-check-BW_7p6Xf.js +1 -0
  1039. package/dist/showcase/assets/shopping-bag-CoR8AMYU.js +1 -0
  1040. package/dist/showcase/assets/showcase-m3FzbvoC.js +132 -0
  1041. package/dist/showcase/assets/sidebar-bz_FzvjM.js +1 -0
  1042. package/dist/showcase/assets/sidebar.context-BWMPnGn6.js +1 -0
  1043. package/dist/showcase/assets/skeleton-BJMnQDgf.js +29 -0
  1044. package/dist/showcase/assets/skeleton-DoWW5XZD.js +1 -0
  1045. package/dist/showcase/assets/slider-BH1Gtp_p.js +1 -0
  1046. package/dist/showcase/assets/smart-card-C6-idFYI.js +1 -0
  1047. package/dist/showcase/assets/sonner-CGZ3FC4U.js +22 -0
  1048. package/dist/showcase/assets/sortable.esm-CE0TA9V_.js +5 -0
  1049. package/dist/showcase/assets/sparkles-8yQFcmte.js +1 -0
  1050. package/dist/showcase/assets/spinner-BYUX0luk.js +30 -0
  1051. package/dist/showcase/assets/spinner-CNveVfOr.js +49 -0
  1052. package/dist/showcase/assets/spinner-CO8LjtjY.js +1 -0
  1053. package/dist/showcase/assets/square-pen-CWylvezY.js +1 -0
  1054. package/dist/showcase/assets/stacked-avatars-DiNA5OJK.js +1 -0
  1055. package/dist/showcase/assets/star-t53uwwyp.js +1 -0
  1056. package/dist/showcase/assets/startOfDay-BKFJecZ3.js +1 -0
  1057. package/dist/showcase/assets/styles-CwpnwrEQ.js +1 -0
  1058. package/dist/showcase/assets/suggestions-CvxZxsmc.js +126 -0
  1059. package/dist/showcase/assets/switch-CewkokYT.js +1 -0
  1060. package/dist/showcase/assets/switch-D-7uqDR8.js +1 -0
  1061. package/dist/showcase/assets/sync-DnBSRAwH.js +124 -0
  1062. package/dist/showcase/assets/table-3cUcSCBR.js +664 -0
  1063. package/dist/showcase/assets/table-actions-CrujG5R-.js +1 -0
  1064. package/dist/showcase/assets/table-ds5oNU0h.js +1 -0
  1065. package/dist/showcase/assets/tabs-C-hJfSn5.js +19 -0
  1066. package/dist/showcase/assets/tabs-GG911oaV.js +1 -0
  1067. package/dist/showcase/assets/tags-input-DBeIaeVn.js +1 -0
  1068. package/dist/showcase/assets/text-button-EZojp9Ye.js +1 -0
  1069. package/dist/showcase/assets/text-link-DcKeYjEX.js +1 -0
  1070. package/dist/showcase/assets/textarea-DgNgSl1g.js +1 -0
  1071. package/dist/showcase/assets/textarea-PXKZSiRa.js +1 -0
  1072. package/dist/showcase/assets/timelines-CaF_Ze8z.js +200 -0
  1073. package/dist/showcase/assets/toggle-group-D_iuhL1G.js +1 -0
  1074. package/dist/showcase/assets/toggles-BKaayRmE.js +71 -0
  1075. package/dist/showcase/assets/toggles-group-DRAksOw2.js +32 -0
  1076. package/dist/showcase/assets/tooltip-B_LnC5D2.js +31 -0
  1077. package/dist/showcase/assets/trash-2-DhUpICQq.js +1 -0
  1078. package/dist/showcase/assets/trending-up-Kfm5l65O.js +1 -0
  1079. package/dist/showcase/assets/truck-D6SGLjv1.js +1 -0
  1080. package/dist/showcase/assets/typography-qEz6MMn9.js +223 -0
  1081. package/dist/showcase/assets/ui-badge-BA334hdB.js +28 -0
  1082. package/dist/showcase/assets/ui-card-CjqUyGvB.js +30 -0
  1083. package/dist/showcase/assets/ui-table-cDgI6WMk.js +42 -0
  1084. package/dist/showcase/assets/upload-tray-BcA-7pqW.js +138 -0
  1085. package/dist/showcase/assets/use-form-field-state-CGGJFfWu.js +1 -0
  1086. package/dist/showcase/assets/use-layout-link-DIUWH-oo.js +1 -0
  1087. package/dist/showcase/assets/useAnchoredPopupScrollLock-BavpibMb.js +1 -0
  1088. package/dist/showcase/assets/useAriaLabelledBy-HDEJjv0f.js +1 -0
  1089. package/dist/showcase/assets/useCollapsiblePanel-CL0pCuxO.js +1 -0
  1090. package/dist/showcase/assets/useCompositeItem-LkMSD9DW.js +1 -0
  1091. package/dist/showcase/assets/useCompositeListItem-C_oLUvf8.js +1 -0
  1092. package/dist/showcase/assets/useControlled-BHUji6Sp.js +1 -0
  1093. package/dist/showcase/assets/useLabelableId-DDpjUdIO.js +1 -0
  1094. package/dist/showcase/assets/useOpenInteractionType-DQOSh-Eu.js +1 -0
  1095. package/dist/showcase/assets/useRender-CnmFaF3Y.js +1 -0
  1096. package/dist/showcase/assets/useTriggerFocusGuards-BPFrAxlp.js +1 -0
  1097. package/dist/showcase/assets/useValueChanged-lYlHqRM1.js +1 -0
  1098. package/dist/showcase/assets/user-DLuRcjl0.js +1 -0
  1099. package/dist/showcase/assets/user-plus-B1Pi7SNv.js +1 -0
  1100. package/dist/showcase/assets/users-DAlxvktS.js +1 -0
  1101. package/dist/showcase/assets/vendor-profile-ClJ6G6SO.js +37 -0
  1102. package/dist/showcase/assets/video-DxooIkh-.js +1 -0
  1103. package/dist/showcase/assets/wrench-BiwmotMF.js +1 -0
  1104. package/dist/showcase/assets/x-idpnOHil.js +1 -0
  1105. package/dist/showcase/assets/zap-a90eC6iO.js +1 -0
  1106. package/dist/showcase/index.html +3 -3
  1107. package/dist/style.css +1 -1
  1108. package/package.json +24 -23
  1109. package/scripts/install-skill.mjs +2 -0
  1110. package/scripts/metadata.json +67 -3
  1111. package/scripts/publish-theme.mjs +245 -0
  1112. package/src/App.css +10 -3
  1113. package/src/css/defaults.css +12 -0
  1114. package/src/css/themes/default.css +7 -0
  1115. package/src/css/themes/shadcn.default.css +144 -0
  1116. package/src/css/tokens/compat.css +46 -0
  1117. package/src/css/tokens/components.css +55 -0
  1118. package/src/css/tokens/foundation.css +90 -0
  1119. package/src/css/tokens/layout.css +44 -0
  1120. package/src/css/tokens/primitives.css +263 -0
  1121. package/src/css/tokens/states.css +58 -0
  1122. package/.agents/skills/component-library-rules/references/components/base__display.md +0 -627
  1123. package/.agents/skills/component-library-rules/references/components/base__empty-state.md +0 -310
  1124. package/.agents/skills/component-library-rules/references/components/base__frame.md +0 -235
  1125. package/.agents/skills/component-library-rules/references/components/base__metadata-list.md +0 -430
  1126. package/.agents/skills/component-library-rules/references/components/composed__ai-new.md +0 -221
  1127. package/.agents/skills/component-library-rules/references/components/composed__commerce-extras.md +0 -295
  1128. package/dist/_shared/accordion-Df1XrCDv.cjs +0 -2
  1129. package/dist/_shared/accordion-Df1XrCDv.cjs.map +0 -1
  1130. package/dist/_shared/accordion-Rzi9wEl6.js +0 -130
  1131. package/dist/_shared/accordion-Rzi9wEl6.js.map +0 -1
  1132. package/dist/_shared/action-menu-CrOJ63Q9.js +0 -96
  1133. package/dist/_shared/action-menu-CrOJ63Q9.js.map +0 -1
  1134. package/dist/_shared/action-menu-D9OowHKx.cjs +0 -2
  1135. package/dist/_shared/action-menu-D9OowHKx.cjs.map +0 -1
  1136. package/dist/_shared/ai-artifact--vEDQFvM.cjs +0 -3
  1137. package/dist/_shared/ai-artifact--vEDQFvM.cjs.map +0 -1
  1138. package/dist/_shared/ai-artifact-p45wDWWX.js +0 -1099
  1139. package/dist/_shared/ai-artifact-p45wDWWX.js.map +0 -1
  1140. package/dist/_shared/alert-CuIIKJC-.cjs +0 -2
  1141. package/dist/_shared/alert-CuIIKJC-.cjs.map +0 -1
  1142. package/dist/_shared/alert-k60OnTtb.js +0 -81
  1143. package/dist/_shared/alert-k60OnTtb.js.map +0 -1
  1144. package/dist/_shared/app-shell-DqDnnKT4.cjs +0 -2
  1145. package/dist/_shared/app-shell-DqDnnKT4.cjs.map +0 -1
  1146. package/dist/_shared/app-shell-w5h0vEKg.js +0 -69
  1147. package/dist/_shared/app-shell-w5h0vEKg.js.map +0 -1
  1148. package/dist/_shared/auth-1Fl_2u-c.js +0 -643
  1149. package/dist/_shared/auth-1Fl_2u-c.js.map +0 -1
  1150. package/dist/_shared/auth-CVDNwcge.cjs +0 -2
  1151. package/dist/_shared/auth-CVDNwcge.cjs.map +0 -1
  1152. package/dist/_shared/avatar-0spfQEHG.cjs +0 -2
  1153. package/dist/_shared/avatar-0spfQEHG.cjs.map +0 -1
  1154. package/dist/_shared/avatar-CBi4LGxy.js +0 -52
  1155. package/dist/_shared/avatar-CBi4LGxy.js.map +0 -1
  1156. package/dist/_shared/badge-A8wQRShC.js +0 -108
  1157. package/dist/_shared/badge-A8wQRShC.js.map +0 -1
  1158. package/dist/_shared/badge-D7A2LnSf.cjs +0 -2
  1159. package/dist/_shared/badge-D7A2LnSf.cjs.map +0 -1
  1160. package/dist/_shared/breadcrumbs-Dqp2qAmo.cjs +0 -2
  1161. package/dist/_shared/breadcrumbs-Dqp2qAmo.cjs.map +0 -1
  1162. package/dist/_shared/breadcrumbs-bJ-J0oCd.js +0 -111
  1163. package/dist/_shared/breadcrumbs-bJ-J0oCd.js.map +0 -1
  1164. package/dist/_shared/button-BGKY8UY0.js +0 -173
  1165. package/dist/_shared/button-BGKY8UY0.js.map +0 -1
  1166. package/dist/_shared/button-BI347RlM.cjs +0 -2
  1167. package/dist/_shared/button-BI347RlM.cjs.map +0 -1
  1168. package/dist/_shared/buttons-PL-TGJ32.js +0 -143
  1169. package/dist/_shared/buttons-PL-TGJ32.js.map +0 -1
  1170. package/dist/_shared/buttons-kVvSD_oI.cjs +0 -2
  1171. package/dist/_shared/buttons-kVvSD_oI.cjs.map +0 -1
  1172. package/dist/_shared/card-radio-group-Bna2uZs1.cjs +0 -2
  1173. package/dist/_shared/card-radio-group-Bna2uZs1.cjs.map +0 -1
  1174. package/dist/_shared/card-radio-group-D_CY1HRy.js +0 -158
  1175. package/dist/_shared/card-radio-group-D_CY1HRy.js.map +0 -1
  1176. package/dist/_shared/checkbox-CTqqawIT.js +0 -22
  1177. package/dist/_shared/checkbox-CTqqawIT.js.map +0 -1
  1178. package/dist/_shared/checkbox-D1n-nfLP.cjs +0 -2
  1179. package/dist/_shared/checkbox-D1n-nfLP.cjs.map +0 -1
  1180. package/dist/_shared/combobox-CEzH533Y.cjs +0 -2
  1181. package/dist/_shared/combobox-CEzH533Y.cjs.map +0 -1
  1182. package/dist/_shared/combobox-Dc4vaeGt.js +0 -927
  1183. package/dist/_shared/combobox-Dc4vaeGt.js.map +0 -1
  1184. package/dist/_shared/command-Bxe_FmGD.cjs +0 -2
  1185. package/dist/_shared/command-Bxe_FmGD.cjs.map +0 -1
  1186. package/dist/_shared/command-DwRnPIGs.js +0 -39
  1187. package/dist/_shared/command-DwRnPIGs.js.map +0 -1
  1188. package/dist/_shared/comments-BDnq4RPN.js +0 -952
  1189. package/dist/_shared/comments-BDnq4RPN.js.map +0 -1
  1190. package/dist/_shared/comments-C4djB-nG.cjs +0 -2
  1191. package/dist/_shared/comments-C4djB-nG.cjs.map +0 -1
  1192. package/dist/_shared/copyable-Bx4J7fuT.cjs +0 -2
  1193. package/dist/_shared/copyable-Bx4J7fuT.cjs.map +0 -1
  1194. package/dist/_shared/copyable-cfF4gZoT.js +0 -38
  1195. package/dist/_shared/copyable-cfF4gZoT.js.map +0 -1
  1196. package/dist/_shared/date-picker-Dl91BM3D.js +0 -1361
  1197. package/dist/_shared/date-picker-Dl91BM3D.js.map +0 -1
  1198. package/dist/_shared/date-picker-zFOqtmAS.cjs +0 -2
  1199. package/dist/_shared/date-picker-zFOqtmAS.cjs.map +0 -1
  1200. package/dist/_shared/date-pickers-BBydcIjN.cjs +0 -2
  1201. package/dist/_shared/date-pickers-BBydcIjN.cjs.map +0 -1
  1202. package/dist/_shared/date-pickers-D2OsgV4V.js +0 -330
  1203. package/dist/_shared/date-pickers-D2OsgV4V.js.map +0 -1
  1204. package/dist/_shared/display-AtPyyUZc.cjs +0 -2
  1205. package/dist/_shared/display-AtPyyUZc.cjs.map +0 -1
  1206. package/dist/_shared/display-CL69dmsv.js +0 -1471
  1207. package/dist/_shared/display-CL69dmsv.js.map +0 -1
  1208. package/dist/_shared/form-sizing-D74IS9KG.js +0 -21
  1209. package/dist/_shared/form-sizing-D74IS9KG.js.map +0 -1
  1210. package/dist/_shared/form-sizing-aVwVuF-w.cjs +0 -2
  1211. package/dist/_shared/form-sizing-aVwVuF-w.cjs.map +0 -1
  1212. package/dist/_shared/forms-Bi5rUH3t.cjs +0 -2
  1213. package/dist/_shared/forms-Bi5rUH3t.cjs.map +0 -1
  1214. package/dist/_shared/forms-Yd0b-3MQ.js +0 -3556
  1215. package/dist/_shared/forms-Yd0b-3MQ.js.map +0 -1
  1216. package/dist/_shared/header-C4SvsbMn.cjs +0 -2
  1217. package/dist/_shared/header-C4SvsbMn.cjs.map +0 -1
  1218. package/dist/_shared/header-CcnW83Vs.js +0 -447
  1219. package/dist/_shared/header-CcnW83Vs.js.map +0 -1
  1220. package/dist/_shared/heading-0DYCOrgC.cjs +0 -2
  1221. package/dist/_shared/heading-0DYCOrgC.cjs.map +0 -1
  1222. package/dist/_shared/heading-HeP06nXG.js +0 -107
  1223. package/dist/_shared/heading-HeP06nXG.js.map +0 -1
  1224. package/dist/_shared/hooks-DsDGr8xz.cjs +0 -2
  1225. package/dist/_shared/hooks-DsDGr8xz.cjs.map +0 -1
  1226. package/dist/_shared/hooks-IEM3N4VG.js +0 -95
  1227. package/dist/_shared/hooks-IEM3N4VG.js.map +0 -1
  1228. package/dist/_shared/icon-badge-BAWl1oOe.cjs +0 -2
  1229. package/dist/_shared/icon-badge-BAWl1oOe.cjs.map +0 -1
  1230. package/dist/_shared/icon-badge-zTBVtgt9.js +0 -52
  1231. package/dist/_shared/icon-badge-zTBVtgt9.js.map +0 -1
  1232. package/dist/_shared/input-C7t-RHYq.js +0 -182
  1233. package/dist/_shared/input-C7t-RHYq.js.map +0 -1
  1234. package/dist/_shared/input-COMcb1WY.cjs +0 -2
  1235. package/dist/_shared/input-COMcb1WY.cjs.map +0 -1
  1236. package/dist/_shared/item-DAjqQhhj.js +0 -225
  1237. package/dist/_shared/item-DAjqQhhj.js.map +0 -1
  1238. package/dist/_shared/item-DoXXYgPm.cjs +0 -2
  1239. package/dist/_shared/item-DoXXYgPm.cjs.map +0 -1
  1240. package/dist/_shared/mentions-CqwT7pUL.cjs +0 -2
  1241. package/dist/_shared/mentions-CqwT7pUL.cjs.map +0 -1
  1242. package/dist/_shared/mentions-RxzSRAWE.js +0 -506
  1243. package/dist/_shared/mentions-RxzSRAWE.js.map +0 -1
  1244. package/dist/_shared/metadata-Ckcmar8d.js +0 -235
  1245. package/dist/_shared/metadata-Ckcmar8d.js.map +0 -1
  1246. package/dist/_shared/metadata-DamdYVZL.cjs +0 -2
  1247. package/dist/_shared/metadata-DamdYVZL.cjs.map +0 -1
  1248. package/dist/_shared/money-display-CFSMUtxS.cjs +0 -2
  1249. package/dist/_shared/money-display-CFSMUtxS.cjs.map +0 -1
  1250. package/dist/_shared/money-display-D4Z3P3f_.js +0 -198
  1251. package/dist/_shared/money-display-D4Z3P3f_.js.map +0 -1
  1252. package/dist/_shared/navigation-B-TE-HR-.cjs +0 -2
  1253. package/dist/_shared/navigation-B-TE-HR-.cjs.map +0 -1
  1254. package/dist/_shared/navigation-Cg0UqMDP.js +0 -424
  1255. package/dist/_shared/navigation-Cg0UqMDP.js.map +0 -1
  1256. package/dist/_shared/overlays-CJs_syAu.js +0 -648
  1257. package/dist/_shared/overlays-CJs_syAu.js.map +0 -1
  1258. package/dist/_shared/overlays-DWFEaAog.cjs +0 -2
  1259. package/dist/_shared/overlays-DWFEaAog.cjs.map +0 -1
  1260. package/dist/_shared/page-Bl_eSGLh.js +0 -262
  1261. package/dist/_shared/page-Bl_eSGLh.js.map +0 -1
  1262. package/dist/_shared/page-DTEqSyEK.cjs +0 -2
  1263. package/dist/_shared/page-DTEqSyEK.cjs.map +0 -1
  1264. package/dist/_shared/popover-CaHvG8Vj.cjs +0 -2
  1265. package/dist/_shared/popover-CaHvG8Vj.cjs.map +0 -1
  1266. package/dist/_shared/popover-L37RqoRO.js +0 -83
  1267. package/dist/_shared/popover-L37RqoRO.js.map +0 -1
  1268. package/dist/_shared/popover-menu-Fz-bvWJF.cjs +0 -2
  1269. package/dist/_shared/popover-menu-Fz-bvWJF.cjs.map +0 -1
  1270. package/dist/_shared/popover-menu-bKQatoYF.js +0 -93
  1271. package/dist/_shared/popover-menu-bKQatoYF.js.map +0 -1
  1272. package/dist/_shared/resource-Bb7dj-aj.cjs +0 -2
  1273. package/dist/_shared/resource-Bb7dj-aj.cjs.map +0 -1
  1274. package/dist/_shared/resource-DljsYA7W.js +0 -243
  1275. package/dist/_shared/resource-DljsYA7W.js.map +0 -1
  1276. package/dist/_shared/rich-text-editor-B2VqNi6j.js +0 -620
  1277. package/dist/_shared/rich-text-editor-B2VqNi6j.js.map +0 -1
  1278. package/dist/_shared/rich-text-editor-ChE-pI3N.cjs +0 -2
  1279. package/dist/_shared/rich-text-editor-ChE-pI3N.cjs.map +0 -1
  1280. package/dist/_shared/scroll-area-BH5CPQh4.js +0 -41
  1281. package/dist/_shared/scroll-area-BH5CPQh4.js.map +0 -1
  1282. package/dist/_shared/scroll-area-u46BOVcC.cjs +0 -2
  1283. package/dist/_shared/scroll-area-u46BOVcC.cjs.map +0 -1
  1284. package/dist/_shared/settings-BtNkFHl3.cjs +0 -2
  1285. package/dist/_shared/settings-BtNkFHl3.cjs.map +0 -1
  1286. package/dist/_shared/settings-Do6SuM-H.js +0 -143
  1287. package/dist/_shared/settings-Do6SuM-H.js.map +0 -1
  1288. package/dist/_shared/sidebar-BGpi9K_Q.js +0 -389
  1289. package/dist/_shared/sidebar-BGpi9K_Q.js.map +0 -1
  1290. package/dist/_shared/sidebar-BhcdQ9e9.cjs +0 -2
  1291. package/dist/_shared/sidebar-BhcdQ9e9.cjs.map +0 -1
  1292. package/dist/_shared/sidebar-CC3lcvNX.cjs +0 -2
  1293. package/dist/_shared/sidebar-CC3lcvNX.cjs.map +0 -1
  1294. package/dist/_shared/sidebar-CMoxtuSw.js +0 -538
  1295. package/dist/_shared/sidebar-CMoxtuSw.js.map +0 -1
  1296. package/dist/_shared/smart-card-B6m7tmt0.cjs +0 -2
  1297. package/dist/_shared/smart-card-B6m7tmt0.cjs.map +0 -1
  1298. package/dist/_shared/smart-card-thLb85Ih.js +0 -361
  1299. package/dist/_shared/smart-card-thLb85Ih.js.map +0 -1
  1300. package/dist/_shared/spinner-BfAbXTQ7.js +0 -67
  1301. package/dist/_shared/spinner-BfAbXTQ7.js.map +0 -1
  1302. package/dist/_shared/spinner-DWn3x9Tl.cjs +0 -2
  1303. package/dist/_shared/spinner-DWn3x9Tl.cjs.map +0 -1
  1304. package/dist/_shared/table-BgpL5Yt8.cjs +0 -2
  1305. package/dist/_shared/table-BgpL5Yt8.cjs.map +0 -1
  1306. package/dist/_shared/table-Ct3nl0lV.js +0 -1381
  1307. package/dist/_shared/table-Ct3nl0lV.js.map +0 -1
  1308. package/dist/_shared/textarea-C4SOrh0z.cjs +0 -2
  1309. package/dist/_shared/textarea-C4SOrh0z.cjs.map +0 -1
  1310. package/dist/_shared/textarea-CsMkelmp.js +0 -119
  1311. package/dist/_shared/textarea-CsMkelmp.js.map +0 -1
  1312. package/dist/_shared/typography-Bzsl7aTu.cjs +0 -2
  1313. package/dist/_shared/typography-Bzsl7aTu.cjs.map +0 -1
  1314. package/dist/_shared/typography-CdxyWB1T.js +0 -102
  1315. package/dist/_shared/typography-CdxyWB1T.js.map +0 -1
  1316. package/dist/_shared/ui-provider-BF4m2cR0.cjs +0 -2
  1317. package/dist/_shared/ui-provider-BF4m2cR0.cjs.map +0 -1
  1318. package/dist/_shared/ui-provider-C8Ot88lS.js +0 -85
  1319. package/dist/_shared/ui-provider-C8Ot88lS.js.map +0 -1
  1320. package/dist/_shared/workspace-BzTFBkmd.cjs +0 -2
  1321. package/dist/_shared/workspace-BzTFBkmd.cjs.map +0 -1
  1322. package/dist/_shared/workspace-CvUYln5V.js +0 -357
  1323. package/dist/_shared/workspace-CvUYln5V.js.map +0 -1
  1324. package/dist/components/base/data-view/data-view.d.ts.map +0 -1
  1325. package/dist/components/base/data-view/data-view.strings.d.ts.map +0 -1
  1326. package/dist/components/base/data-view/data-view.types.d.ts.map +0 -1
  1327. package/dist/components/base/data-view/index.cjs +0 -2
  1328. package/dist/components/base/data-view/index.cjs.map +0 -1
  1329. package/dist/components/base/data-view/index.d.ts.map +0 -1
  1330. package/dist/components/base/data-view/index.js +0 -146
  1331. package/dist/components/base/data-view/index.js.map +0 -1
  1332. package/dist/components/base/display/empty-state/empty-state.d.ts.map +0 -1
  1333. package/dist/components/base/display/empty-state/empty-state.strings.d.ts.map +0 -1
  1334. package/dist/components/base/display/empty-state/empty-state.types.d.ts +0 -85
  1335. package/dist/components/base/display/empty-state/empty-state.types.d.ts.map +0 -1
  1336. package/dist/components/base/display/empty-state/index.d.ts.map +0 -1
  1337. package/dist/components/base/display/empty-state/partials/illustrations/document-stack.d.ts.map +0 -1
  1338. package/dist/components/base/display/empty-state/partials/illustrations/inbox-clean.d.ts.map +0 -1
  1339. package/dist/components/base/display/empty-state/partials/illustrations/index.d.ts.map +0 -1
  1340. package/dist/components/base/display/empty-state/partials/illustrations/search-glass.d.ts.map +0 -1
  1341. package/dist/components/base/display/empty-state/partials/illustrations/stacked-cards.d.ts.map +0 -1
  1342. package/dist/components/base/display/empty-state/partials/illustrations/users-circle.d.ts.map +0 -1
  1343. package/dist/components/base/display/fields/email-display.d.ts +0 -22
  1344. package/dist/components/base/display/fields/email-display.d.ts.map +0 -1
  1345. package/dist/components/base/display/fields/index.d.ts.map +0 -1
  1346. package/dist/components/base/display/fields/phone-display.d.ts +0 -22
  1347. package/dist/components/base/display/fields/phone-display.d.ts.map +0 -1
  1348. package/dist/components/base/display/fields/url-display.d.ts +0 -28
  1349. package/dist/components/base/display/fields/url-display.d.ts.map +0 -1
  1350. package/dist/components/base/display/inline-stat/index.d.ts.map +0 -1
  1351. package/dist/components/base/display/inline-stat/inline-stat.d.ts.map +0 -1
  1352. package/dist/components/base/display/metadata/index.cjs +0 -1
  1353. package/dist/components/base/display/metadata/index.d.ts.map +0 -1
  1354. package/dist/components/base/display/metadata/index.js +0 -2
  1355. package/dist/components/base/display/metadata/metadata-list.d.ts.map +0 -1
  1356. package/dist/components/base/display/metadata/metadata-list.strings.d.ts.map +0 -1
  1357. package/dist/components/base/display/numeric-value/index.d.ts.map +0 -1
  1358. package/dist/components/base/display/numeric-value/numeric-value.d.ts.map +0 -1
  1359. package/dist/components/base/display/section-header/index.d.ts.map +0 -1
  1360. package/dist/components/base/display/section-header/section-header.d.ts.map +0 -1
  1361. package/dist/components/base/display/user-cell/index.d.ts.map +0 -1
  1362. package/dist/components/base/display/user-cell/user-cell.d.ts +0 -19
  1363. package/dist/components/base/display/user-cell/user-cell.d.ts.map +0 -1
  1364. package/dist/components/base/frame/frame.d.ts +0 -24
  1365. package/dist/components/base/frame/frame.d.ts.map +0 -1
  1366. package/dist/components/base/frame/index.cjs +0 -2
  1367. package/dist/components/base/frame/index.cjs.map +0 -1
  1368. package/dist/components/base/frame/index.d.ts +0 -2
  1369. package/dist/components/base/frame/index.d.ts.map +0 -1
  1370. package/dist/components/base/frame/index.js +0 -164
  1371. package/dist/components/base/frame/index.js.map +0 -1
  1372. package/dist/components/composed/data-display/index.cjs.map +0 -1
  1373. package/dist/components/composed/data-display/index.js.map +0 -1
  1374. package/dist/components/layout/resource/index.cjs +0 -1
  1375. package/dist/components/layout/resource/index.d.ts.map +0 -1
  1376. package/dist/components/layout/resource/index.js +0 -2
  1377. package/dist/components/layout/resource/resource.d.ts.map +0 -1
  1378. package/dist/components/layout/resource/resource.types.d.ts +0 -86
  1379. package/dist/components/layout/resource/resource.types.d.ts.map +0 -1
  1380. package/dist/showcase/assets/AreaChart-CPs34Emq.js +0 -6
  1381. package/dist/showcase/assets/CSPContext-B11tftuK.js +0 -1
  1382. package/dist/showcase/assets/CompositeItem-CRBdF4lY.js +0 -1
  1383. package/dist/showcase/assets/CompositeRoot-BJL04x4e.js +0 -1
  1384. package/dist/showcase/assets/DialogTrigger-DLTfNVyT.js +0 -1
  1385. package/dist/showcase/assets/FieldItemContext-BSFHjS7g.js +0 -1
  1386. package/dist/showcase/assets/LabelableContext-DqxJotB_.js +0 -1
  1387. package/dist/showcase/assets/PreviewLayout-DQIZaXaO.js +0 -1
  1388. package/dist/showcase/assets/RadioGroup-Bd_Zncc1.js +0 -1
  1389. package/dist/showcase/assets/Separator-BP98bGSM.js +0 -1
  1390. package/dist/showcase/assets/ToolbarRootContext-CHQj8-IW.js +0 -1
  1391. package/dist/showcase/assets/accordion-C-grh_FX.js +0 -171
  1392. package/dist/showcase/assets/accordion-variants-xiD_mqaf.js +0 -1
  1393. package/dist/showcase/assets/action-menu-BkBav9jX.js +0 -1
  1394. package/dist/showcase/assets/activities-DWhVEoyf.js +0 -501
  1395. package/dist/showcase/assets/activities-feed-card-BW5nKGmZ.js +0 -1
  1396. package/dist/showcase/assets/activity-poGMMgYW.js +0 -1
  1397. package/dist/showcase/assets/admin-Dd5rNbt8.js +0 -140
  1398. package/dist/showcase/assets/ai-B-HxItKA.js +0 -41
  1399. package/dist/showcase/assets/ai-artifact-CakosBY2.js +0 -2
  1400. package/dist/showcase/assets/ai-chat-DdxooReQ.js +0 -568
  1401. package/dist/showcase/assets/ai-elements-D1Vv9_Tw.js +0 -387
  1402. package/dist/showcase/assets/ai-new-nIwh-IOk.js +0 -167
  1403. package/dist/showcase/assets/ai-tool-call-D_D0wP5v.js +0 -1
  1404. package/dist/showcase/assets/alert-BUcCtIUZ.js +0 -1
  1405. package/dist/showcase/assets/alert-Dia0s7JO.js +0 -62
  1406. package/dist/showcase/assets/alert-T1jitthq.js +0 -93
  1407. package/dist/showcase/assets/api-key-list-BH7hCegB.js +0 -1
  1408. package/dist/showcase/assets/api-key-list-DGw5v3TM.js +0 -73
  1409. package/dist/showcase/assets/app-sidebar-C9tjHr7T.js +0 -1
  1410. package/dist/showcase/assets/arrow-down-B6kyPDb5.js +0 -1
  1411. package/dist/showcase/assets/arrow-left-D0CtgCZo.js +0 -1
  1412. package/dist/showcase/assets/arrow-right-KBaOzj0x.js +0 -1
  1413. package/dist/showcase/assets/arrow-up-C4Mo45qq.js +0 -1
  1414. package/dist/showcase/assets/arrow-up-right-DP1T-yaT.js +0 -1
  1415. package/dist/showcase/assets/avatar-D7SDbnVK.js +0 -57
  1416. package/dist/showcase/assets/avatar-Dk78XyHT.js +0 -1
  1417. package/dist/showcase/assets/badge-BynPmAU-.js +0 -28
  1418. package/dist/showcase/assets/badge-check-BLKxMna6.js +0 -1
  1419. package/dist/showcase/assets/bell-YYeVQNAQ.js +0 -1
  1420. package/dist/showcase/assets/bot-DW1y5yQ-.js +0 -1
  1421. package/dist/showcase/assets/box-xRYm3qua.js +0 -1
  1422. package/dist/showcase/assets/brain-D_5EG0Lz.js +0 -1
  1423. package/dist/showcase/assets/brand-Dyp6oyOk.js +0 -36
  1424. package/dist/showcase/assets/breadcrumb-DXvRsHCJ.js +0 -52
  1425. package/dist/showcase/assets/breadcrumb-IsBRcWTe.js +0 -1
  1426. package/dist/showcase/assets/breadcrumbs-BU7Rgcpu.js +0 -1
  1427. package/dist/showcase/assets/briefcase-DNJAkTSQ.js +0 -1
  1428. package/dist/showcase/assets/building-2-ew23uhTO.js +0 -1
  1429. package/dist/showcase/assets/button-Vw1Oyu_k.js +0 -44
  1430. package/dist/showcase/assets/button-group-B-jDeq6X.js +0 -1
  1431. package/dist/showcase/assets/buttons-C51ePl4d.js +0 -270
  1432. package/dist/showcase/assets/calendar-B5HmDXFy.js +0 -16
  1433. package/dist/showcase/assets/calendar-BcfonDWf.js +0 -1
  1434. package/dist/showcase/assets/calendar-C30zoOBE.js +0 -1
  1435. package/dist/showcase/assets/calendar-days-RYOuU9Cg.js +0 -1
  1436. package/dist/showcase/assets/camera-CyHnOpqm.js +0 -1
  1437. package/dist/showcase/assets/card-Btuv-VxD.js +0 -188
  1438. package/dist/showcase/assets/card-BvOjmZEl.js +0 -1
  1439. package/dist/showcase/assets/card-primitives-FJQ8zNnk.js +0 -1
  1440. package/dist/showcase/assets/card-radio-group-CEX1QGZc.js +0 -1
  1441. package/dist/showcase/assets/cards-CL6XfZ22.js +0 -328
  1442. package/dist/showcase/assets/carousel-D9G8bQhs.js +0 -449
  1443. package/dist/showcase/assets/cell-renderers-CFw3ElYS.js +0 -1
  1444. package/dist/showcase/assets/chart-CXAM6h1e.js +0 -358
  1445. package/dist/showcase/assets/chart-column-BAuLvocu.js +0 -1
  1446. package/dist/showcase/assets/checkbox-Bu3lf4gm.js +0 -1
  1447. package/dist/showcase/assets/chevron-down-BbbFJsFU.js +0 -1
  1448. package/dist/showcase/assets/chevron-left-CmperXCk.js +0 -1
  1449. package/dist/showcase/assets/chevron-right-0nQcAzMY.js +0 -1
  1450. package/dist/showcase/assets/chevron-up-BXSFzrxh.js +0 -1
  1451. package/dist/showcase/assets/chevrons-up-down-lvrM2T-O.js +0 -1
  1452. package/dist/showcase/assets/circle-DswWOvJq.js +0 -1
  1453. package/dist/showcase/assets/circle-alert-DM8Q0Da0.js +0 -1
  1454. package/dist/showcase/assets/circle-check-BYi8zv0a.js +0 -1
  1455. package/dist/showcase/assets/circle-check-big-WtxiRvrB.js +0 -1
  1456. package/dist/showcase/assets/circle-dot-MfYw-Dij.js +0 -1
  1457. package/dist/showcase/assets/circle-question-mark-CbXDG7RP.js +0 -1
  1458. package/dist/showcase/assets/circle-x-DeZby2HN.js +0 -1
  1459. package/dist/showcase/assets/clock-3-BxradwSg.js +0 -1
  1460. package/dist/showcase/assets/clock-BBX3LCxu.js +0 -1
  1461. package/dist/showcase/assets/code-xml-ldsBhjwS.js +0 -1
  1462. package/dist/showcase/assets/collapsible-COxB1q4f.js +0 -1
  1463. package/dist/showcase/assets/collapsible-D8iHSi7O.js +0 -27
  1464. package/dist/showcase/assets/combobox-gNdpv0PU.js +0 -726
  1465. package/dist/showcase/assets/command-BNVn6pYm.js +0 -1
  1466. package/dist/showcase/assets/command-Bwp2eLDF.js +0 -1
  1467. package/dist/showcase/assets/comment-composer-eU5HG1ZD.js +0 -1
  1468. package/dist/showcase/assets/comment-item-AKJEHLvt.js +0 -1
  1469. package/dist/showcase/assets/comments-hcLJicNU.js +0 -357
  1470. package/dist/showcase/assets/commerce-C_RgOVxU.js +0 -79
  1471. package/dist/showcase/assets/commerce-extras-CVVnDyB5.js +0 -189
  1472. package/dist/showcase/assets/composite-BW91WkOo.js +0 -1
  1473. package/dist/showcase/assets/contact-card-CE82BDxj.js +0 -65
  1474. package/dist/showcase/assets/content-container-Cc8Vv5Wp.js +0 -1
  1475. package/dist/showcase/assets/copyable-CD9f6sxk.js +0 -96
  1476. package/dist/showcase/assets/copyable-DRvJ9iOu.js +0 -1
  1477. package/dist/showcase/assets/course-card-DYzULN2A.js +0 -77
  1478. package/dist/showcase/assets/cpu-Cc__BewW.js +0 -1
  1479. package/dist/showcase/assets/credit-card-CoIW8_5L.js +0 -1
  1480. package/dist/showcase/assets/currency-DEKUvlFU.js +0 -149
  1481. package/dist/showcase/assets/dark-surfaces-D5WXaLLj.js +0 -90
  1482. package/dist/showcase/assets/database-C8o4g1ov.js +0 -1
  1483. package/dist/showcase/assets/date-block-Aw2riL52.js +0 -1
  1484. package/dist/showcase/assets/date-picker-BrBCLxZ8.js +0 -1
  1485. package/dist/showcase/assets/date-pickers-B84_YAGT.js +0 -73
  1486. package/dist/showcase/assets/dense-info-BaI61NnP.js +0 -106
  1487. package/dist/showcase/assets/dialog-CfKGB1qy.js +0 -1
  1488. package/dist/showcase/assets/dialog-DpfYwJPk.js +0 -1
  1489. package/dist/showcase/assets/display-ZDXpxNSP.js +0 -403
  1490. package/dist/showcase/assets/dist-CnonIdcR.js +0 -1
  1491. package/dist/showcase/assets/dist-DRkwLUFP.js +0 -45
  1492. package/dist/showcase/assets/dollar-sign-BTuul0J-.js +0 -1
  1493. package/dist/showcase/assets/download-Nn6XkM9l.js +0 -1
  1494. package/dist/showcase/assets/dropdown-menu-CrcweCup.js +0 -1
  1495. package/dist/showcase/assets/dropzone-MajEhAfA.js +0 -1
  1496. package/dist/showcase/assets/earth-Cv_-EtPW.js +0 -1
  1497. package/dist/showcase/assets/ellipsis-D0y6rUzm.js +0 -1
  1498. package/dist/showcase/assets/ellipsis-vertical-B6ICYsU2.js +0 -1
  1499. package/dist/showcase/assets/empty-CWtvDL2Z.js +0 -1
  1500. package/dist/showcase/assets/empty-item-CBdSL5K4.js +0 -49
  1501. package/dist/showcase/assets/empty-state-DpAXXKE_.js +0 -1
  1502. package/dist/showcase/assets/empty-state-x7W66Jff.js +0 -188
  1503. package/dist/showcase/assets/enhanced-activities-BgQBDjph.js +0 -361
  1504. package/dist/showcase/assets/enhanced-combobox-BT-d7sfw.js +0 -1
  1505. package/dist/showcase/assets/esm-CAF_uoYd.js +0 -2
  1506. package/dist/showcase/assets/event-calendar-Bl3N30L5.js +0 -138
  1507. package/dist/showcase/assets/event-log-BI24HOvx.js +0 -330
  1508. package/dist/showcase/assets/example-CbMg22fx.js +0 -1
  1509. package/dist/showcase/assets/external-link-C4QW5KPr.js +0 -1
  1510. package/dist/showcase/assets/eye-rvb4fYw0.js +0 -1
  1511. package/dist/showcase/assets/feature-announcement-CChQvOnH.js +0 -34
  1512. package/dist/showcase/assets/file-GOMuLez7.js +0 -1
  1513. package/dist/showcase/assets/file-text-B21ZcL9w.js +0 -1
  1514. package/dist/showcase/assets/filters-Crp5EI1q.js +0 -139
  1515. package/dist/showcase/assets/flag-D1iXMqPC.js +0 -1
  1516. package/dist/showcase/assets/folder-open-CjZE_PS8.js +0 -1
  1517. package/dist/showcase/assets/form-field-Dtn_NArM.js +0 -1
  1518. package/dist/showcase/assets/form-sizing-DHUDpiPA.js +0 -1
  1519. package/dist/showcase/assets/format-Cu09wP-k.js +0 -1
  1520. package/dist/showcase/assets/forms-noSArwvn.js +0 -911
  1521. package/dist/showcase/assets/frame-2DJdBXkw.js +0 -167
  1522. package/dist/showcase/assets/generic-BH5YLC_H.js +0 -1
  1523. package/dist/showcase/assets/getPseudoElementBounds-DxlN6Yut.js +0 -1
  1524. package/dist/showcase/assets/gift-DBIsZsVg.js +0 -1
  1525. package/dist/showcase/assets/giftcard-cards-B3ffDDjK.js +0 -85
  1526. package/dist/showcase/assets/git-branch-6eIv9W2g.js +0 -1
  1527. package/dist/showcase/assets/global-search-BelZn8mj.js +0 -215
  1528. package/dist/showcase/assets/global-search-DSMNBBiZ.js +0 -1
  1529. package/dist/showcase/assets/globe-B_Lqx3uz.js +0 -1
  1530. package/dist/showcase/assets/gradient-card-D_2eaE6O.js +0 -58
  1531. package/dist/showcase/assets/hash-BC0RnYwr.js +0 -1
  1532. package/dist/showcase/assets/header-CMjgUhtM.js +0 -1
  1533. package/dist/showcase/assets/header-notifications-fOFoqfCR.js +0 -1
  1534. package/dist/showcase/assets/heart-BM6yPMXn.js +0 -1
  1535. package/dist/showcase/assets/house-CnsMNKdQ.js +0 -1
  1536. package/dist/showcase/assets/icon-badge-IP9B3lQm.js +0 -1
  1537. package/dist/showcase/assets/image-B5jt_w43.js +0 -1
  1538. package/dist/showcase/assets/inbox-BcbV9uGN.js +0 -1
  1539. package/dist/showcase/assets/index-Bn8k0P7-.css +0 -2
  1540. package/dist/showcase/assets/index-DNH0y0r-.js +0 -10
  1541. package/dist/showcase/assets/index.esm-Ducg7a0P.js +0 -1
  1542. package/dist/showcase/assets/inertValue-B82SGILi.js +0 -1
  1543. package/dist/showcase/assets/info-DO5VmDSw.js +0 -1
  1544. package/dist/showcase/assets/inline-stat-B2s_ozrX.js +0 -1
  1545. package/dist/showcase/assets/input-BCxdburb.js +0 -1
  1546. package/dist/showcase/assets/input-DcQuALxy.js +0 -1
  1547. package/dist/showcase/assets/input-group-DZJrOGbm.js +0 -1
  1548. package/dist/showcase/assets/input-group-PwfoPR94.js +0 -47
  1549. package/dist/showcase/assets/inputs-DetnUcEp.js +0 -155
  1550. package/dist/showcase/assets/invoice-header-BMWL_9sW.js +0 -36
  1551. package/dist/showcase/assets/invoice-items-DLEQR54f.js +0 -36
  1552. package/dist/showcase/assets/invoice-mini-BxO8W_p2.js +0 -14
  1553. package/dist/showcase/assets/invoice-table-ClMTdfvZ.js +0 -30
  1554. package/dist/showcase/assets/isSameDay-B9x5Mpln.js +0 -1
  1555. package/dist/showcase/assets/isToday-CT4NGB5x.js +0 -1
  1556. package/dist/showcase/assets/italic-BiQv-7DA.js +0 -1
  1557. package/dist/showcase/assets/item-CdgzxWcL.js +0 -1
  1558. package/dist/showcase/assets/item-JreKWzkR.js +0 -134
  1559. package/dist/showcase/assets/item-a8FCQMvC.js +0 -1
  1560. package/dist/showcase/assets/kanban-CekpGtlO.js +0 -186
  1561. package/dist/showcase/assets/key-round-CpIUGlhG.js +0 -1
  1562. package/dist/showcase/assets/label-BE1d_Rxi.js +0 -1
  1563. package/dist/showcase/assets/languages-DaFWrOam.js +0 -1
  1564. package/dist/showcase/assets/layers-DDIuTz4-.js +0 -1
  1565. package/dist/showcase/assets/layout-app-shell-BkqOwNe9.js +0 -608
  1566. package/dist/showcase/assets/layout-auth-Bng_0NM0.js +0 -754
  1567. package/dist/showcase/assets/layout-containers-Bk_jSDWd.js +0 -101
  1568. package/dist/showcase/assets/layout-header-CuJVU1Rx.js +0 -203
  1569. package/dist/showcase/assets/layout-page-DHOPox5Z.js +0 -278
  1570. package/dist/showcase/assets/layout-primitives-BnIgANs6.js +0 -34
  1571. package/dist/showcase/assets/layout-sidebar-BUOjQm9-.js +0 -224
  1572. package/dist/showcase/assets/layout-users-DFlJQAuB.js +0 -117
  1573. package/dist/showcase/assets/layout-workspace-Cq63UWwT.js +0 -183
  1574. package/dist/showcase/assets/lib-DMGme4uo.js +0 -1
  1575. package/dist/showcase/assets/lock-DTD3z5Vh.js +0 -1
  1576. package/dist/showcase/assets/lock-keyhole-Bbs1Ry2S.js +0 -1
  1577. package/dist/showcase/assets/mail-DAa8myka.js +0 -1
  1578. package/dist/showcase/assets/mail-check-DrmYfqQb.js +0 -1
  1579. package/dist/showcase/assets/map-DfYPJKDx.js +0 -124
  1580. package/dist/showcase/assets/map-pin-Cf_uffQY.js +0 -1
  1581. package/dist/showcase/assets/media-library-Duyf6M0c.js +0 -695
  1582. package/dist/showcase/assets/mention-inline-suggestions-tOlG56Jr.js +0 -1
  1583. package/dist/showcase/assets/mentions-LbZlN995.js +0 -138
  1584. package/dist/showcase/assets/menus-Cs95R125.js +0 -165
  1585. package/dist/showcase/assets/message-square-CjaeUwPc.js +0 -1
  1586. package/dist/showcase/assets/metadata-list-Bcy5s1_q.js +0 -1
  1587. package/dist/showcase/assets/metadata-list-C9L63gMM2.js +0 -288
  1588. package/dist/showcase/assets/metric-D8bF87C1.js +0 -1
  1589. package/dist/showcase/assets/metric-bar-DQF1jEsY.js +0 -1
  1590. package/dist/showcase/assets/metric-grid-DJZjbFrm.js +0 -1
  1591. package/dist/showcase/assets/metric-trend-chip-C9YeKxwe.js +0 -1
  1592. package/dist/showcase/assets/metrics-analytics-bar-CfGjnKEG.js +0 -44
  1593. package/dist/showcase/assets/metrics-analytics-cards-C4R2q2ia.js +0 -50
  1594. package/dist/showcase/assets/metrics-comparison-B2FZ-rUG.js +0 -76
  1595. package/dist/showcase/assets/metrics-heatmap-BS4EafAM.js +0 -27
  1596. package/dist/showcase/assets/metrics-inline-badge-CyWA0Plw.js +0 -17
  1597. package/dist/showcase/assets/metrics-kpi-row-CH_KTuo2.js +0 -31
  1598. package/dist/showcase/assets/metrics-micro-grid-Dw1rbkBU.js +0 -42
  1599. package/dist/showcase/assets/metrics-overview-BuLSn0GC.js +0 -192
  1600. package/dist/showcase/assets/metrics-stat-cards-Zo4F0-y4.js +0 -54
  1601. package/dist/showcase/assets/minus-COUx_vHQ.js +0 -1
  1602. package/dist/showcase/assets/money-display-prumQLQ2.js +0 -1
  1603. package/dist/showcase/assets/month-year-picker-BDTiuGOD.js +0 -1
  1604. package/dist/showcase/assets/navigation-Bf_sgFei.js +0 -90
  1605. package/dist/showcase/assets/navigation-Dnqq0un0.js +0 -230
  1606. package/dist/showcase/assets/navigation-extras-ydwfzYfj.js +0 -43
  1607. package/dist/showcase/assets/onboarding-checklist-DBLaUqhZ.js +0 -119
  1608. package/dist/showcase/assets/overflow-tab-bar-UXs-T5Fq.js +0 -1
  1609. package/dist/showcase/assets/overlays-C1ET_VvE.js +0 -408
  1610. package/dist/showcase/assets/overlays-dMd0EOT1.js +0 -159
  1611. package/dist/showcase/assets/package-C9EnWNEP.js +0 -1
  1612. package/dist/showcase/assets/package-check-BGT72daQ.js +0 -1
  1613. package/dist/showcase/assets/page-action-button-8faHdFOD.js +0 -1
  1614. package/dist/showcase/assets/page-header-DoZnb9z9.js +0 -1
  1615. package/dist/showcase/assets/pagination-BJ3wQQtL.js +0 -42
  1616. package/dist/showcase/assets/pagination-DJnga08n.js +0 -1
  1617. package/dist/showcase/assets/paperclip-DsQ_IPLp.js +0 -1
  1618. package/dist/showcase/assets/password-input-CLxvZdDC.js +0 -1
  1619. package/dist/showcase/assets/pencil-37DzPmX5.js +0 -1
  1620. package/dist/showcase/assets/phone-CLDh9lYU.js +0 -1
  1621. package/dist/showcase/assets/plus-PKSdX45c.js +0 -1
  1622. package/dist/showcase/assets/popover-BWbBoxN0.js +0 -1
  1623. package/dist/showcase/assets/popover-DoEhmJ7G.js +0 -1
  1624. package/dist/showcase/assets/popover-menu-wt8kWbr1.js +0 -1
  1625. package/dist/showcase/assets/products-Bvl2zRfb.js +0 -407
  1626. package/dist/showcase/assets/progress-BeusdG_D.js +0 -18
  1627. package/dist/showcase/assets/progress-CQr08MPz.js +0 -1
  1628. package/dist/showcase/assets/props-table-DSdjPLVr.js +0 -1
  1629. package/dist/showcase/assets/props.generated-AlskAQY9.json +0 -41579
  1630. package/dist/showcase/assets/quote-D1DrZRcn.js +0 -1
  1631. package/dist/showcase/assets/react-dom-Bz4cALsF.js +0 -1
  1632. package/dist/showcase/assets/receipt-CxNJvyC5.js +0 -1
  1633. package/dist/showcase/assets/receipt-text-2YwFjXVP.js +0 -1
  1634. package/dist/showcase/assets/refresh-cw-DlkWEAjG.js +0 -1
  1635. package/dist/showcase/assets/resolveValueLabel-Ctt-9xwK.js +0 -1
  1636. package/dist/showcase/assets/resource-selector-card-C9zM67wN.js +0 -39
  1637. package/dist/showcase/assets/rich-text-editor-DUWBkEdn.js +0 -124
  1638. package/dist/showcase/assets/rich-text-editor-DjsgN-HX.js +0 -143
  1639. package/dist/showcase/assets/rotate-ccw-ZkWMrEMJ.js +0 -1
  1640. package/dist/showcase/assets/save-CQjTFBwm.js +0 -1
  1641. package/dist/showcase/assets/schema-form-yfcV7ZHE.js +0 -325
  1642. package/dist/showcase/assets/scroll-area-D73Zq5No.js +0 -32
  1643. package/dist/showcase/assets/scroll-area-Toa6lE_G.js +0 -1
  1644. package/dist/showcase/assets/select-BQWY3ndy.js +0 -1
  1645. package/dist/showcase/assets/select-x02n3iNp.js +0 -1
  1646. package/dist/showcase/assets/send-L-LNhDVx.js +0 -1
  1647. package/dist/showcase/assets/separator-B57lhXSg.js +0 -28
  1648. package/dist/showcase/assets/separator-kwh2KDqD.js +0 -1
  1649. package/dist/showcase/assets/settings-Mbnp6hDe.js +0 -1
  1650. package/dist/showcase/assets/sheet-DwYghriA.js +0 -1
  1651. package/dist/showcase/assets/shield-D084AWSl.js +0 -1
  1652. package/dist/showcase/assets/shield-alert-h6F2vnr-.js +0 -1
  1653. package/dist/showcase/assets/shield-check-UiN6QwPl.js +0 -1
  1654. package/dist/showcase/assets/shopping-bag-oxYbVKoz.js +0 -1
  1655. package/dist/showcase/assets/sidebar-BWDrvFY1.js +0 -1
  1656. package/dist/showcase/assets/sidebar.context-BhexAjPM.js +0 -1
  1657. package/dist/showcase/assets/skeleton-BIS2X39p.js +0 -29
  1658. package/dist/showcase/assets/skeleton-uyUucxJA.js +0 -1
  1659. package/dist/showcase/assets/slider-DL--Jsf0.js +0 -1
  1660. package/dist/showcase/assets/sliders-horizontal-C6SHwI9f.js +0 -1
  1661. package/dist/showcase/assets/smart-card-DpvRHqI9.js +0 -1
  1662. package/dist/showcase/assets/sonner-CvCutMP9.js +0 -22
  1663. package/dist/showcase/assets/sortable.esm-COtQXiwU.js +0 -5
  1664. package/dist/showcase/assets/sparkles-bMR7rbuC.js +0 -1
  1665. package/dist/showcase/assets/spinner-CBXhPGyW.js +0 -30
  1666. package/dist/showcase/assets/spinner-Dl2u80sI.js +0 -49
  1667. package/dist/showcase/assets/spinner-ULnFdoGj.js +0 -1
  1668. package/dist/showcase/assets/square-pen-3jbmTAqh.js +0 -1
  1669. package/dist/showcase/assets/stacked-avatars-XKXaLCmk.js +0 -1
  1670. package/dist/showcase/assets/star-0BUJBDj_.js +0 -1
  1671. package/dist/showcase/assets/startOfDay-C8cGxdjJ.js +0 -1
  1672. package/dist/showcase/assets/styles-Cl6qvIKS.js +0 -1
  1673. package/dist/showcase/assets/suggestions-EB3TFZpP.js +0 -126
  1674. package/dist/showcase/assets/switch-BbZ7_Rk-.js +0 -1
  1675. package/dist/showcase/assets/switch-C0QtKm5H.js +0 -1
  1676. package/dist/showcase/assets/sync-BAO20Naa.js +0 -107
  1677. package/dist/showcase/assets/table-CnCYxSnD.js +0 -509
  1678. package/dist/showcase/assets/table-DF7x4TGI.js +0 -1
  1679. package/dist/showcase/assets/table-actions-CjaUIKQl.js +0 -1
  1680. package/dist/showcase/assets/tabs-D3YHyrQ5.js +0 -1
  1681. package/dist/showcase/assets/tabs-vUgN5IPn.js +0 -19
  1682. package/dist/showcase/assets/tags-input-jtEAac1b.js +0 -1
  1683. package/dist/showcase/assets/text-button-fiMDoWms.js +0 -1
  1684. package/dist/showcase/assets/text-link-CSzy09hn.js +0 -1
  1685. package/dist/showcase/assets/textarea-DnvQVkFU.js +0 -1
  1686. package/dist/showcase/assets/textarea-mATRsiLJ.js +0 -1
  1687. package/dist/showcase/assets/timelines-fQQIiGc4.js +0 -200
  1688. package/dist/showcase/assets/toggle-group-B0hN7VRz.js +0 -1
  1689. package/dist/showcase/assets/toggles-group-CXm2HDJ1.js +0 -32
  1690. package/dist/showcase/assets/toggles-kwgQf4hQ.js +0 -71
  1691. package/dist/showcase/assets/trash-2-xwHdvAn6.js +0 -1
  1692. package/dist/showcase/assets/trending-up-CKnZUURN.js +0 -1
  1693. package/dist/showcase/assets/truck-8P8-8rHh.js +0 -1
  1694. package/dist/showcase/assets/typography-BP3SCf0c.js +0 -223
  1695. package/dist/showcase/assets/ui-badge-eTC8uxVw.js +0 -28
  1696. package/dist/showcase/assets/ui-card-AQkRKit0.js +0 -30
  1697. package/dist/showcase/assets/ui-table-BTE7t50V.js +0 -42
  1698. package/dist/showcase/assets/upload-tray-DpW8ZnxN.js +0 -138
  1699. package/dist/showcase/assets/use-form-field-state-Sbo6tfr9.js +0 -1
  1700. package/dist/showcase/assets/use-layout-link-DR4Apqbc.js +0 -1
  1701. package/dist/showcase/assets/useAnchoredPopupScrollLock-CT1urU5D.js +0 -1
  1702. package/dist/showcase/assets/useAriaLabelledBy-DiHf8Ou_.js +0 -1
  1703. package/dist/showcase/assets/useCollapsiblePanel-NNLPWtyS.js +0 -1
  1704. package/dist/showcase/assets/useCompositeItem-BE0Lg9Iz.js +0 -1
  1705. package/dist/showcase/assets/useCompositeListItem-OwLLy0R3.js +0 -1
  1706. package/dist/showcase/assets/useControlled-BF8maje6.js +0 -1
  1707. package/dist/showcase/assets/useLabelableId-Y-6YW07q.js +0 -1
  1708. package/dist/showcase/assets/useOpenInteractionType-CUTVNS1V.js +0 -1
  1709. package/dist/showcase/assets/useRender-BiaVVD8L.js +0 -1
  1710. package/dist/showcase/assets/useTriggerFocusGuards-DCMcmSgH.js +0 -1
  1711. package/dist/showcase/assets/useValueChanged-kq4oH4So.js +0 -1
  1712. package/dist/showcase/assets/user-BCzeUL5p.js +0 -1
  1713. package/dist/showcase/assets/user-plus-CUbfQtkK.js +0 -1
  1714. package/dist/showcase/assets/users-DOGJZmUN.js +0 -1
  1715. package/dist/showcase/assets/vendor-profile-C7dXfVv_.js +0 -37
  1716. package/dist/showcase/assets/video-DbaCGki8.js +0 -1
  1717. package/dist/showcase/assets/wrench-TbDfItHQ.js +0 -1
  1718. package/dist/showcase/assets/x-BpAEmld2.js +0 -1
  1719. package/dist/showcase/assets/zap-E8G3kjwh.js +0 -1
  1720. /package/dist/components/{base/display → composed/data-display}/empty-state/empty-state.d.ts +0 -0
  1721. /package/dist/components/{base/display → composed/data-display}/empty-state/empty-state.strings.d.ts +0 -0
  1722. /package/dist/components/{base/display → composed/data-display}/empty-state/index.d.ts +0 -0
  1723. /package/dist/components/{base/display → composed/data-display}/empty-state/partials/illustrations/document-stack.d.ts +0 -0
  1724. /package/dist/components/{base/display → composed/data-display}/empty-state/partials/illustrations/inbox-clean.d.ts +0 -0
  1725. /package/dist/components/{base/display → composed/data-display}/empty-state/partials/illustrations/index.d.ts +0 -0
  1726. /package/dist/components/{base/display → composed/data-display}/empty-state/partials/illustrations/search-glass.d.ts +0 -0
  1727. /package/dist/components/{base/display → composed/data-display}/empty-state/partials/illustrations/stacked-cards.d.ts +0 -0
  1728. /package/dist/components/{base/display → composed/data-display}/empty-state/partials/illustrations/users-circle.d.ts +0 -0
  1729. /package/dist/components/{base/display → composed/data-display}/fields/index.d.ts +0 -0
  1730. /package/dist/components/{base/display → composed/data-display}/inline-stat/index.d.ts +0 -0
  1731. /package/dist/components/{base/display → composed/data-display}/inline-stat/inline-stat.d.ts +0 -0
  1732. /package/dist/components/{base/display → composed/data-display}/metadata/index.d.ts +0 -0
  1733. /package/dist/components/{base/display → composed/data-display}/metadata/metadata-list.d.ts +0 -0
  1734. /package/dist/components/{base/display → composed/data-display}/metadata/metadata-list.strings.d.ts +0 -0
  1735. /package/dist/components/{base/display → composed/data-display}/numeric-value/index.d.ts +0 -0
  1736. /package/dist/components/{base/display → composed/data-display}/numeric-value/numeric-value.d.ts +0 -0
  1737. /package/dist/components/{base/display → composed/data-display}/section-header/index.d.ts +0 -0
  1738. /package/dist/components/{base/display → composed/data-display}/section-header/section-header.d.ts +0 -0
  1739. /package/dist/components/{base/display → composed/data-display}/user-cell/index.d.ts +0 -0
  1740. /package/dist/components/{base → features}/data-view/data-view.d.ts +0 -0
  1741. /package/dist/components/{base → features}/data-view/data-view.strings.d.ts +0 -0
  1742. /package/dist/components/{base → features}/data-view/data-view.types.d.ts +0 -0
  1743. /package/dist/components/{base → features}/data-view/index.d.ts +0 -0
  1744. /package/dist/components/{layout → features}/resource/index.d.ts +0 -0
  1745. /package/dist/components/{layout → features}/resource/resource.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"display-AtPyyUZc.cjs","names":[],"sources":["../../src/components/base/forms/fields/decimal-input.tsx","../../src/components/base/forms/fields/currency-input.tsx","../../src/components/base/forms/fields/money-input.tsx","../../src/components/base/forms/form-field.tsx","../../src/components/base/display/notification-banner.tsx","../../src/components/base/display/placeholder-pattern.tsx","../../src/components/base/display/show-if.tsx","../../src/components/base/display/throttle-alert.tsx","../../src/components/base/display/visually-hidden.tsx","../../src/components/base/display/stacked-avatars.tsx","../../src/components/base/display/date-block.tsx","../../src/components/ui/collapsible.tsx","../../src/components/base/display/money-input.tsx","../../src/components/base/display/boolean-indicator.tsx","../../src/components/ui/progress.tsx","../../src/components/base/display/qr-code.tsx","../../src/components/ui/empty.tsx","../../src/components/base/display/empty-state/empty-state.strings.ts","../../src/components/base/display/empty-state/empty-state.tsx","../../src/components/base/display/empty-state/partials/illustrations/document-stack.tsx","../../src/components/base/display/empty-state/partials/illustrations/inbox-clean.tsx","../../src/components/base/display/empty-state/partials/illustrations/search-glass.tsx","../../src/components/base/display/empty-state/partials/illustrations/stacked-cards.tsx","../../src/components/base/display/empty-state/partials/illustrations/users-circle.tsx","../../src/components/base/display/fields/email-display.tsx","../../src/components/base/display/fields/phone-display.tsx","../../src/components/base/display/fields/url-display.tsx","../../src/components/base/display/inline-stat/inline-stat.tsx","../../src/components/base/display/numeric-value/numeric-value.tsx","../../src/components/base/display/user-cell/user-cell.tsx","../../src/components/base/display/section-header/section-header.tsx"],"sourcesContent":["/**\n * DecimalInput — text-based numeric input with decimal-place enforcement,\n * locale-friendly comma → dot normalisation, optional min/max clamping,\n * rounding mode (`round` / `floor` / `ceil` / `half-even`), and optional\n * stepper buttons when `step` is set.\n *\n * Wraps the base `Input` so all add-on / icon / clear / loading features\n * still work. Extra features layered on top:\n *\n * - `step` — when set, renders − / + stepper buttons that snap the value\n * to a multiple of `step` (anchored at `min` if provided, else 0).\n * - `roundingMode` — controls how stepper / blur normalisation rounds\n * half values; default `'round'` (round-half-up).\n * - `normalizeOnBlur` (default `true`) — pads the displayed value to the\n * full `decimalPlaces` count and clamps to `[min, max]` when the field\n * loses focus.\n *\n * The `value` prop is always a plain string (consumers parse it as needed)\n * so RHF / Inertia can treat it like any other input.\n */\nimport * as React from 'react';\nimport { useCallback } from 'react';\nimport { Minus, Plus } from 'lucide-react';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { useFormsConfig, type FormControlSize } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\nimport { resolveFormControlSize } from '../form-sizing';\nimport { Input, type InputProps } from './input';\n\nexport type DecimalRoundingMode = 'round' | 'floor' | 'ceil' | 'half-even';\n\nexport interface DecimalInputStrings {\n\tdecrement: string;\n\tincrement: string;\n}\n\nexport const defaultDecimalInputStrings: DecimalInputStrings = {\n\tdecrement: 'Decrement',\n\tincrement: 'Increment',\n};\n\nexport interface DecimalInputProps extends Omit<InputProps, 'type' | 'inputMode' | 'strings'> {\n\tdecimalPlaces?: number;\n\tmin?: number;\n\tmax?: number;\n\tallowNegative?: boolean;\n\tallowEmpty?: boolean;\n\t/** When set, renders − / + steppers and snaps the value to multiples of `step`. */\n\tstep?: number;\n\t/** How to round when normalising on blur or stepping. Default `'round'`. */\n\troundingMode?: DecimalRoundingMode;\n\t/** Pad to full decimalPlaces and clamp to [min, max] on blur. Default `true`. */\n\tnormalizeOnBlur?: boolean;\n\t/** String overrides for stepper aria-labels. */\n\tstrings?: StringsProp<DecimalInputStrings>;\n}\n\nconst formatDecimalValue = (\n\tvalue: string,\n\tdecimalPlaces: number,\n\tallowNegative: boolean,\n): string => {\n\tif (!value) return '';\n\n\tlet formatted = value;\n\tformatted = formatted.replace(/,/g, '.');\n\n\tif (allowNegative) {\n\t\tformatted = formatted.replace(/[^\\d.-]/g, '');\n\t} else {\n\t\tformatted = formatted.replace(/[^\\d.]/g, '');\n\t}\n\n\tif (allowNegative && formatted.includes('-')) {\n\t\tconst hasLeadingMinus = formatted.startsWith('-');\n\t\tformatted = formatted.replace(/-/g, '');\n\t\tif (hasLeadingMinus) formatted = '-' + formatted;\n\t}\n\n\tconst parts = formatted.split('.');\n\tif (parts.length > 2) {\n\t\tformatted = parts[0] + '.' + parts.slice(1).join('');\n\t}\n\n\tif (parts.length === 2 && parts[1].length > decimalPlaces) {\n\t\tformatted = parts[0] + '.' + parts[1].substring(0, decimalPlaces);\n\t}\n\n\treturn formatted;\n};\n\nconst isWithinBounds = (value: string, min?: number, max?: number): boolean => {\n\tif (!value || value === '-') return true;\n\tconst numValue = parseFloat(value);\n\tif (Number.isNaN(numValue)) return true;\n\tif (min !== undefined && numValue < min) return false;\n\tif (max !== undefined && numValue > max) return false;\n\treturn true;\n};\n\nfunction applyRounding(value: number, decimals: number, mode: DecimalRoundingMode): number {\n\tconst factor = Math.pow(10, decimals);\n\tconst shifted = value * factor;\n\tswitch (mode) {\n\t\tcase 'floor':\n\t\t\treturn Math.floor(shifted) / factor;\n\t\tcase 'ceil':\n\t\t\treturn Math.ceil(shifted) / factor;\n\t\tcase 'half-even': {\n\t\t\tconst floor = Math.floor(shifted);\n\t\t\tconst diff = shifted - floor;\n\t\t\tif (diff > 0.5) return (floor + 1) / factor;\n\t\t\tif (diff < 0.5) return floor / factor;\n\t\t\treturn (floor % 2 === 0 ? floor : floor + 1) / factor;\n\t\t}\n\t\tcase 'round':\n\t\tdefault:\n\t\t\treturn Math.round(shifted) / factor;\n\t}\n}\n\nfunction clamp(n: number, min?: number, max?: number): number {\n\tlet next = n;\n\tif (min !== undefined) next = Math.max(min, next);\n\tif (max !== undefined) next = Math.min(max, next);\n\treturn next;\n}\n\nfunction snapToStep(\n\tcurrent: number,\n\tdelta: number,\n\tstep: number,\n\tmin?: number,\n\tmode: DecimalRoundingMode = 'round',\n): number {\n\tconst anchor = min ?? 0;\n\tconst stepsFromAnchor = (current - anchor) / step;\n\tconst rounded =\n\t\tmode === 'floor'\n\t\t\t? Math.floor(stepsFromAnchor)\n\t\t\t: mode === 'ceil'\n\t\t\t\t? Math.ceil(stepsFromAnchor)\n\t\t\t\t: Math.round(stepsFromAnchor);\n\tconst stepped = anchor + (rounded + delta) * step;\n\treturn Number(stepped.toFixed(12));\n}\n\nfunction fireChange(\n\ttarget: HTMLInputElement,\n\tvalue: string,\n\tonChange?: InputProps['onChange'],\n) {\n\t// Write the value to the DOM first so UNCONTROLLED inputs actually reflect\n\t// stepper clicks and blur-normalisation. (Previously this only called\n\t// onChange, so steppers were a no-op on uncontrolled fields.) Use the native\n\t// value setter so React's input value-tracker stays in sync for controlled\n\t// consumers, which then reconcile through their onChange + re-render.\n\tconst nativeSetter = Object.getOwnPropertyDescriptor(\n\t\twindow.HTMLInputElement.prototype,\n\t\t'value',\n\t)?.set;\n\tif (nativeSetter) nativeSetter.call(target, value);\n\telse target.value = value;\n\n\tif (!onChange) return;\n\tconst event = {\n\t\ttarget,\n\t\tcurrentTarget: target,\n\t\ttype: 'change',\n\t\tbubbles: false,\n\t\tcancelable: false,\n\t} as unknown as React.ChangeEvent<HTMLInputElement>;\n\tonChange(event);\n}\n\nconst STEPPER_SIZE_CLASS: Record<FormControlSize, string> = {\n\tsm: 'w-8',\n\tbase: 'w-9',\n\tlg: 'w-10',\n};\n\nfunction DecimalInputImpl(\n\t{\n\t\tdecimalPlaces = 2,\n\t\tmin,\n\t\tmax,\n\t\tallowNegative = true,\n\t\tallowEmpty = true,\n\t\tstep,\n\t\troundingMode = 'round',\n\t\tnormalizeOnBlur = true,\n\t\tonChange,\n\t\tonBlur,\n\t\tplaceholder,\n\t\tclassName,\n\t\tvalue: controlledValue,\n\t\tdefaultValue,\n\t\tdisabled,\n\t\tsize: sizeProp,\n\t\tstrings: stringsProp,\n\t\t...props\n\t}: DecimalInputProps,\n\tforwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n\tconst { defaultControlSize } = useFormsConfig();\n\tconst size: FormControlSize = resolveFormControlSize(sizeProp, defaultControlSize);\n\tconst strings = useStrings(defaultDecimalInputStrings, stringsProp);\n\tconst validDecimalPlaces = Math.min(12, Math.max(0, decimalPlaces));\n\tconst inputRef = React.useRef<HTMLInputElement | null>(null);\n\n\tconst handleChange = useCallback(\n\t\t(e: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\tconst newValue = e.target.value;\n\n\t\t\tif (!newValue && allowEmpty) {\n\t\t\t\tonChange?.(e);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst formatted = formatDecimalValue(newValue, validDecimalPlaces, allowNegative);\n\t\t\tif (!isWithinBounds(formatted, min, max)) return;\n\n\t\t\tif (formatted !== newValue) {\n\t\t\t\tconst modifiedEvent = {\n\t\t\t\t\t...e,\n\t\t\t\t\ttarget: { ...e.target, value: formatted },\n\t\t\t\t\tcurrentTarget: { ...e.currentTarget, value: formatted },\n\t\t\t\t} as React.ChangeEvent<HTMLInputElement>;\n\t\t\t\tonChange?.(modifiedEvent);\n\t\t\t} else {\n\t\t\t\tonChange?.(e);\n\t\t\t}\n\t\t},\n\t\t[onChange, validDecimalPlaces, allowNegative, allowEmpty, min, max],\n\t);\n\n\tconst handleBlur = useCallback(\n\t\t(e: React.FocusEvent<HTMLInputElement>) => {\n\t\t\tonBlur?.(e);\n\t\t\tif (!normalizeOnBlur) return;\n\t\t\tconst raw = e.target.value;\n\t\t\tif (!raw && allowEmpty) return;\n\t\t\tconst num = Number.parseFloat(raw.replace(',', '.'));\n\t\t\tif (!Number.isFinite(num)) return;\n\t\t\tconst clamped = clamp(num, min, max);\n\t\t\tconst rounded = applyRounding(clamped, validDecimalPlaces, roundingMode);\n\t\t\tconst next = rounded.toFixed(validDecimalPlaces);\n\t\t\tif (next !== raw && inputRef.current) {\n\t\t\t\tfireChange(inputRef.current, next, onChange);\n\t\t\t}\n\t\t},\n\t\t[onBlur, onChange, normalizeOnBlur, allowEmpty, min, max, validDecimalPlaces, roundingMode],\n\t);\n\n\tconst adjust = useCallback(\n\t\t(delta: number) => {\n\t\t\tif (disabled || step === undefined) return;\n\t\t\tconst target = inputRef.current;\n\t\t\tif (!target) return;\n\t\t\tconst raw = target.value;\n\t\t\tconst current = Number.parseFloat(raw.replace(',', '.'));\n\t\t\tconst base = Number.isFinite(current) ? current : (min ?? 0);\n\t\t\tconst snapped = clamp(snapToStep(base, delta, step, min, roundingMode), min, max);\n\t\t\tconst next = applyRounding(snapped, validDecimalPlaces, roundingMode).toFixed(validDecimalPlaces);\n\t\t\tfireChange(target, next, onChange);\n\t\t},\n\t\t[disabled, step, min, max, roundingMode, validDecimalPlaces, onChange],\n\t);\n\n\tconst showSteppers = typeof step === 'number' && step > 0;\n\tconst placeholderResolved =\n\t\tplaceholder ?? (validDecimalPlaces > 0 ? `0.${'0'.repeat(validDecimalPlaces)}` : '0');\n\n\tif (showSteppers) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cn('decimal-input--component', \n\t\t\t\t\t// Stepper segmented group — input + adjacent − / + buttons\n\t\t\t\t\t// share a single border radius so the group reads as one\n\t\t\t\t\t// control instead of three loose chips.\n\t\t\t\t\t'flex items-stretch overflow-hidden rounded-radius border border-input bg-transparent',\n\t\t\t\t\t'focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]',\n\t\t\t\t\tprops['aria-invalid'] && 'border-destructive ring-destructive/20',\n\t\t\t\t\tdisabled && 'opacity-50 cursor-not-allowed',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\taria-label={strings.decrement}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tonClick={() => adjust(-1)}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'inline-flex shrink-0 items-center justify-center border-r border-input text-muted-foreground transition-colors',\n\t\t\t\t\t\tSTEPPER_SIZE_CLASS[size],\n\t\t\t\t\t\t'hover:bg-muted hover:text-foreground',\n\t\t\t\t\t\t'disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<Minus className=\"size-3.5\" />\n\t\t\t\t</button>\n\t\t\t\t<Input\n\t\t\t\t\tsize={size}\n\t\t\t\t\tref={(node) => { inputRef.current = node; if (typeof forwardedRef === \"function\") forwardedRef(node); else if (forwardedRef) forwardedRef.current = node; }}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tinputMode={validDecimalPlaces > 0 ? 'decimal' : 'numeric'}\n\t\t\t\t\tplaceholder={placeholderResolved}\n\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t\tvalue={controlledValue}\n\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'flex-1 tabular-nums text-center border-0 shadow-none rounded-none focus-visible:ring-0 focus-visible:border-0',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\taria-label={strings.increment}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tonClick={() => adjust(1)}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'inline-flex shrink-0 items-center justify-center border-l border-input text-muted-foreground transition-colors',\n\t\t\t\t\t\tSTEPPER_SIZE_CLASS[size],\n\t\t\t\t\t\t'hover:bg-muted hover:text-foreground',\n\t\t\t\t\t\t'disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<Plus className=\"size-3.5\" />\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Input\n\t\t\tsize={size}\n\t\t\tref={(node) => { inputRef.current = node; if (typeof forwardedRef === \"function\") forwardedRef(node); else if (forwardedRef) forwardedRef.current = node; }}\n\t\t\ttype=\"text\"\n\t\t\tinputMode={validDecimalPlaces > 0 ? 'decimal' : 'numeric'}\n\t\t\tplaceholder={placeholderResolved}\n\t\t\tonChange={handleChange}\n\t\t\tonBlur={handleBlur}\n\t\t\tvalue={controlledValue}\n\t\t\tdefaultValue={defaultValue}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={cn('tabular-nums text-end', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst DecimalInput = React.forwardRef<HTMLInputElement, DecimalInputProps>(DecimalInputImpl);\nDecimalInput.displayName = 'DecimalInput';\n\nexport { DecimalInput };\n","import { useState, useCallback, useEffect, useMemo, memo, forwardRef, type ForwardedRef } from 'react';\nimport * as baseui from '@/components/ui/select';\nimport { Label } from '@/components/typography';\nimport { useFormsConfig } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\nimport { formControlSizeClasses, resolveFormControlSize } from '../form-sizing';\nimport { DecimalInput, type DecimalInputProps } from './decimal-input';\n\nexport interface CurrencyOption {\n value: string;\n label: string;\n}\n\nexport interface CurrencyInputProps extends Omit<DecimalInputProps, 'label' | 'hint' | 'helperText' | 'error'> {\n /** Current currency value */\n currency?: string;\n\n /** Default currency if uncontrolled */\n defaultCurrency?: string;\n\n /** List of available currencies (simple strings or objects with value/label) */\n currencies?: (string | CurrencyOption)[];\n\n /** Callback when currency changes */\n onCurrencyChange?: (currency: string) => void;\n\n /** Position of currency dropdown */\n currencyPosition?: 'start' | 'end';\n\n /** Disable currency selection */\n disableCurrencySelector?: boolean;\n\n /** Placeholder for currency dropdown */\n currencyPlaceholder?: string;\n\n /** Width of the currency dropdown */\n currencyWidth?: string;\n\n /** Label for currency field (sub-label) */\n currencyLabel?: string;\n\n /** Error state for styling (passed from FormField) */\n invalid?: boolean;\n\n /** Called when the input is misconfigured (mismatched currency/defaultCurrency\n * while the selector is disabled, missing currency, etc.). The library\n * also DEV-logs the same message to the console. */\n onConfigError?: (\n message: string,\n details: { currency?: string; defaultCurrency?: string; disableCurrencySelector?: boolean },\n ) => void;\n}\n\n// Common currency symbols\nconst CURRENCY_SYMBOLS: Record<string, string> = {\n USD: '$',\n EUR: '€',\n GBP: '£',\n BGN: 'лв',\n JPY: '¥',\n CNY: '¥',\n CHF: 'CHF',\n CAD: 'C$',\n AUD: 'A$',\n};\n\nconst normalizeCurrencies = (currencies?: (string | CurrencyOption)[]): CurrencyOption[] => {\n if (!currencies || currencies.length === 0) return [];\n\n return currencies.map((currency) => {\n if (typeof currency === 'string') {\n const symbol = CURRENCY_SYMBOLS[currency] || currency;\n return {\n value: currency,\n label: `${symbol} ${currency}`,\n };\n }\n return currency;\n });\n};\n\nfunction CurrencyInputImpl(\n {\n currency: controlledCurrency,\n defaultCurrency,\n currencies,\n onCurrencyChange,\n currencyPosition = 'start',\n disableCurrencySelector = false,\n currencyPlaceholder,\n currencyWidth = 'w-28',\n currencyLabel,\n invalid,\n disabled,\n onConfigError,\n size: sizeProp,\n ...decimalInputProps\n }: CurrencyInputProps,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const { defaultControlSize } = useFormsConfig();\n const size = resolveFormControlSize(sizeProp, defaultControlSize);\n\n // Memoize normalized currencies\n const normalizedCurrencies = useMemo(() => normalizeCurrencies(currencies), [currencies]);\n\n // Internal state for uncontrolled currency\n const [internalCurrency, setInternalCurrency] = useState(\n defaultCurrency ?? normalizedCurrencies[0]?.value ?? ''\n );\n\n // Determine if currency is controlled\n const isCurrencyControlled = controlledCurrency !== undefined;\n const selectedCurrency = isCurrencyControlled ? controlledCurrency : internalCurrency;\n\n useEffect(() => {\n const details = { currency: controlledCurrency, defaultCurrency, disableCurrencySelector };\n if (\n disableCurrencySelector &&\n typeof controlledCurrency === 'string' &&\n typeof defaultCurrency === 'string' &&\n controlledCurrency.trim() !== '' &&\n defaultCurrency.trim() !== '' &&\n controlledCurrency !== defaultCurrency\n ) {\n const message = '[CurrencyInput] currency/defaultCurrency mismatch while selector is disabled.';\n if (import.meta.env?.DEV) {\n console.warn(message, { currency: controlledCurrency, defaultCurrency });\n }\n onConfigError?.(message, details);\n }\n\n if (\n disableCurrencySelector &&\n (typeof selectedCurrency !== 'string' || selectedCurrency.trim().length === 0)\n ) {\n const message = '[CurrencyInput] disableCurrencySelector is enabled but no currency is provided.';\n if (import.meta.env?.DEV) {\n console.warn(message);\n }\n onConfigError?.(message, details);\n }\n }, [controlledCurrency, defaultCurrency, disableCurrencySelector, onConfigError, selectedCurrency]);\n\n // Handle currency change\n const handleCurrencyChange = useCallback(\n (newCurrency: string | null) => {\n if (newCurrency === null) return;\n if (!isCurrencyControlled) {\n setInternalCurrency(newCurrency);\n }\n onCurrencyChange?.(newCurrency);\n },\n [isCurrencyControlled, onCurrencyChange]\n );\n\n // Memoize trigger class names. Size flows through `formControlSizeClasses[size]`\n // so the trigger height matches the inner DecimalInput when a consumer sets\n // `<UIProvider forms={{ defaultControlSize }}>`.\n const triggerClassName = useMemo(\n () =>\n cn(\n 'border-input bg-transparent !shadow-none',\n formControlSizeClasses[size],\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n currencyWidth,\n disabled && 'opacity-50 cursor-not-allowed'\n ),\n [size, currencyWidth, disabled]\n );\n\n // Currency selector component\n const currencySelector = (\n <div className=\"space-y-2\">\n {!!currencyLabel && <Label className=\"leading-6\">{currencyLabel}</Label>}\n <baseui.Select\n value={selectedCurrency}\n onValueChange={(value) => handleCurrencyChange(value)}\n disabled={disabled || disableCurrencySelector}\n >\n <baseui.SelectTrigger aria-invalid={invalid || undefined} className={triggerClassName}>\n <baseui.SelectValue placeholder={currencyPlaceholder ?? ''} />\n </baseui.SelectTrigger>\n <baseui.SelectContent>\n <baseui.SelectGroup>\n {normalizedCurrencies.map((curr) => (\n <baseui.SelectItem key={curr.value} value={curr.value}>\n {curr.label}\n </baseui.SelectItem>\n ))}\n </baseui.SelectGroup>\n </baseui.SelectContent>\n </baseui.Select>\n </div>\n );\n\n return (\n <div className={cn('currency-input--component', 'flex items-start gap-2')}>\n {currencyPosition === 'start' && currencySelector}\n\n <div className=\"flex-1\">\n <DecimalInput\n ref={forwardedRef}\n size={size}\n decimalPlaces={2}\n allowNegative={false}\n disabled={disabled}\n invalid={invalid}\n {...decimalInputProps}\n />\n </div>\n\n {currencyPosition === 'end' && currencySelector}\n </div>\n );\n}\n\n// forwardRef + memo: forward to the underlying decimal input so consumers\n// can focus/measure programmatically.\nexport const CurrencyInput = memo(forwardRef<HTMLInputElement, CurrencyInputProps>(CurrencyInputImpl));\nCurrencyInput.displayName = 'CurrencyInput';\n","/**\n * MoneyInput (forms/fields) — `CurrencyInput` preset with a small default\n * currency list for back-compat and a callback shape that matches the\n * library's `CurrencyCode` typing.\n *\n * For the richer `MoneyInputData`-shaped helper with migration warnings and\n * form-field chrome, use `@/components/base/display/money-input` instead.\n */\nimport { forwardRef, useCallback } from 'react';\n\nimport { CurrencyInput, type CurrencyInputProps } from './currency-input';\nimport type { CurrencyCode } from '@/lib/ui-provider';\n\nexport interface MoneyInputProps extends Omit<CurrencyInputProps, 'currency' | 'defaultCurrency' | 'currencies' | 'onCurrencyChange'> {\n /** Current currency value (ISO 4217 code, e.g. 'USD'). */\n currency?: CurrencyCode;\n /** Default currency if uncontrolled. */\n defaultCurrency?: CurrencyCode;\n /** Available currencies for the inline picker. Defaults to `['USD', 'EUR']`\n * — pass your own list or wire `useMoneyConfig` at the consumer site for\n * real production use. */\n currencies?: CurrencyCode[];\n /** Callback when the user changes the currency in the inline picker. */\n onCurrencyChange?: (currency: CurrencyCode) => void;\n}\n\nconst DEFAULT_CURRENCIES: CurrencyCode[] = ['USD', 'EUR'];\n\nexport const MoneyInput = forwardRef<HTMLInputElement, MoneyInputProps>(function MoneyInput(\n { currencies = DEFAULT_CURRENCIES, onCurrencyChange, currency, defaultCurrency, ...props },\n ref,\n) {\n const handleCurrencyChange = useCallback(\n (nextCurrency: string) => {\n onCurrencyChange?.(nextCurrency);\n },\n [onCurrencyChange]\n );\n\n return (\n <CurrencyInput className=\"money-input--component\"\n ref={ref}\n currencies={currencies}\n currency={currency}\n defaultCurrency={defaultCurrency}\n onCurrencyChange={handleCurrencyChange}\n {...props}\n />\n );\n});\n\nMoneyInput.displayName = 'MoneyInput';\n","/**\n * Unified Form Field Components\n * =============================\n *\n * Two components sharing the same visual structure for field chrome:\n *\n * 1. `FormField` - Pure presentation wrapper (label, hint, error, required indicator)\n * 2. `ControlledFormField` - FormField + react-hook-form Controller integration\n *\n * ## FormField\n * Use for custom components or non-controlled inputs.\n *\n * ```tsx\n * <FormField label={t('label')} error={error} required hint={t('hint')}>\n * <CustomAutocomplete value={value} onSelect={onSelect} />\n * </FormField>\n * ```\n *\n * ## ControlledFormField\n * Use with react-hook-form. Auto-merges backend (Inertia) + validation errors.\n *\n * ```tsx\n * <ControlledFormField\n * name=\"email\"\n * control={control}\n * error={getError}\n * label={t('fields.email.label')}\n * required\n * rules={{ required: true, pattern: /^\\\\S+@\\\\S+$/i }}\n * >\n * {(field, error, invalid) => (\n * <Input\n * placeholder={t('fields.email.placeholder')}\n * value={field.value ?? ''}\n * onChange={field.onChange}\n * onBlur={field.onBlur}\n * invalid={invalid}\n * />\n * )}\n * </ControlledFormField>\n * ```\n *\n * ## Render Function Parameters\n * - `field` - Controller props: value, onChange, onBlur, name, ref\n * - `error` - Merged error string (backend || validation) or undefined\n * - `invalid` - Boolean for input styling (border color, etc.)\n * - `fieldState` - Escape hatch: touched, dirty, isTouched, isDirty, etc.\n *\n * ## Error Priority\n * Backend errors (via `error` getter) take priority over validation errors.\n * This ensures server-side validation is authoritative.\n *\n * ## Chrome Props (shared by both components)\n * - `label` - Field label text\n * - `required` - Shows red asterisk after label\n * - `hint` - Secondary text shown below the field when there is no error\n * - `error` - Error message (red text below input)\n * - `helperText` - Helper text (shown when no error)\n * - `className` - Additional wrapper classes\n */\n\nimport * as React from 'react';\nimport { type ReactNode } from 'react';\nimport {\n\tController,\n\ttype Control,\n\ttype ControllerFieldState,\n\ttype ControllerRenderProps,\n\ttype FieldPath,\n\ttype FieldValues,\n\ttype RegisterOptions,\n} from 'react-hook-form';\n\nimport { Label, Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\ninterface FieldChromeProps {\n\tlabel?: string;\n\tisRequired?: boolean;\n\trequired?: boolean;\n\thint?: string;\n\terror?: string;\n\thelperText?: string;\n\tclassName?: string;\n}\n\ninterface FormFieldProps extends FieldChromeProps {\n\tchildren: ReactNode;\n\thtmlFor?: string;\n}\n\nexport function FormField({\n\tchildren,\n\tlabel,\n\tisRequired,\n\trequired,\n\thint,\n\terror,\n\thelperText,\n\thtmlFor,\n\tclassName,\n}: FormFieldProps) {\n\tconst hasError = Boolean(error);\n\tconst supportingText = error || helperText || (!hasError ? hint : undefined);\n\tconst showBottomText = Boolean(supportingText);\n\tconst resolvedRequired = isRequired ?? required;\n\tconst generatedId = React.useId();\n\tconst childId =\n\t\tReact.isValidElement(children)\n\t\t\t? (children.props as { id?: string }).id\n\t\t\t: undefined;\n\tconst resolvedHtmlFor = htmlFor ?? childId ?? (label && React.isValidElement(children) ? `form-field-${generatedId}` : undefined);\n\tconst resolvedChildren =\n\t\tresolvedHtmlFor && React.isValidElement(children) && !childId\n\t\t\t? React.cloneElement(children as React.ReactElement<{ id?: string }>, { id: resolvedHtmlFor })\n\t\t\t: children;\n\n\treturn (\n\t\t<div className={cn('form-field--component', 'space-y-1', className)}>\n\t\t\t{!!label && (\n\t\t\t\t<Label htmlFor={resolvedHtmlFor} className=\"flex items-center leading-6\">\n\t\t\t\t\t{label}\n\t\t\t\t\t{!!resolvedRequired && (\n\t\t\t\t\t\t<span className=\"ml-1 text-destructive\">*</span>\n\t\t\t\t\t)}\n\t\t\t\t</Label>\n\t\t\t)}\n\n\t\t\t{resolvedChildren}\n\n\t\t\t{!!showBottomText && (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"p\"\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\ttype={hasError ? 'error' : 'secondary'}\n\t\t\t\t\t{...(hasError ? { role: 'alert', 'aria-live': 'polite' } : {})}\n\t\t\t\t>\n\t\t\t\t\t{supportingText}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\ntype ErrorGetter<TName extends string> = (field: TName) => string | undefined;\n\ninterface ControlledFormFieldProps<\n\tTFieldValues extends FieldValues,\n\tTName extends FieldPath<TFieldValues>,\n> extends Omit<FieldChromeProps, 'error'> {\n\tname: TName;\n\tcontrol: Control<TFieldValues>;\n\trules?: RegisterOptions<TFieldValues, TName>;\n\terror?: ErrorGetter<TName>;\n\tchildren: (\n\t\tfield: ControllerRenderProps<TFieldValues, TName>,\n\t\terror: string | undefined,\n\t\tinvalid: boolean,\n\t\tfieldState: ControllerFieldState,\n\t) => ReactNode;\n}\n\nexport function ControlledFormField<\n\tTFieldValues extends FieldValues,\n\tTName extends FieldPath<TFieldValues>,\n>({\n\tname,\n\tcontrol,\n\trules,\n\terror: errorGetter,\n\tchildren,\n\t...chromeProps\n}: ControlledFormFieldProps<TFieldValues, TName>) {\n\treturn (\n\t\t<Controller\n\t\t\tname={name}\n\t\t\tcontrol={control}\n\t\t\trules={rules}\n\t\t\trender={({ field, fieldState }) => {\n\t\t\t\tconst validationError = fieldState.error?.message\n\t\t\t\t\t|| (fieldState.error ? (fieldState.error.type === 'required' ? (chromeProps.label ? `${chromeProps.label} is required` : 'This field is required') : 'Invalid value') : undefined);\n\t\t\t\tconst resolvedError = errorGetter?.(name) || validationError || undefined;\n\t\t\t\tconst invalid = Boolean(resolvedError);\n\n\t\t\t\treturn (\n\t\t\t\t\t<FormField {...chromeProps} error={resolvedError} htmlFor={name}>\n\t\t\t\t\t\t{children(field, resolvedError, invalid, fieldState)}\n\t\t\t\t\t</FormField>\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nFormField.displayName = 'FormField';\nControlledFormField.displayName = 'ControlledFormField';\n","/**\n * NotificationBanner — full-width inline notification with type-specific\n * styling (info / success / error / warning). The icon sits in a soft circle\n * for clear hierarchy, the title (when present) reads at full strength, and\n * the message uses the muted secondary tone so the type colour highlights\n * without overwhelming. Optional dismiss button on the trailing edge.\n *\n * Use inside page bodies for non-blocking notices; reach for `Alert` when\n * the affordance is structural (e.g. inside a form), and Toast for transient\n * feedback.\n */\nimport { AlertTriangle, BadgeCheck, CircleAlert, Info, X } from 'lucide-react';\nimport React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { sanitizeHtml } from '@/lib/sanitize-html';\nimport { cn } from '@/lib/utils';\n\nexport type NotificationType = 'info' | 'success' | 'error' | 'warning';\n\nexport interface NotificationBannerProps {\n\ttype?: NotificationType;\n\tdismissible?: boolean;\n\ttitle?: string;\n\tmessage?: string;\n\tonDismiss?: () => void;\n\tchildren?: React.ReactNode;\n\tasHTML?: boolean;\n\tdismissAriaLabel?: string;\n\tclassName?: string;\n}\n\ninterface BannerTone {\n\twrapper: string;\n\ticonRing: string;\n\ticonColor: string;\n\ttitle: string;\n\tclose: string;\n}\n\nconst TONES: Record<NotificationType, BannerTone> = {\n\tinfo: {\n\t\twrapper: 'border-info/30 bg-info/5',\n\t\ticonRing: 'bg-info/15',\n\t\ticonColor: 'text-info',\n\t\ttitle: 'text-info',\n\t\tclose: 'text-info/70 hover:text-info hover:bg-info/10',\n\t},\n\tsuccess: {\n\t\twrapper: 'border-success/30 bg-success/5',\n\t\ticonRing: 'bg-success/15',\n\t\ticonColor: 'text-success',\n\t\ttitle: 'text-success',\n\t\tclose: 'text-success/70 hover:text-success hover:bg-success/10',\n\t},\n\terror: {\n\t\twrapper: 'border-destructive/30 bg-destructive/5',\n\t\ticonRing: 'bg-destructive/15',\n\t\ticonColor: 'text-destructive',\n\t\ttitle: 'text-destructive',\n\t\tclose: 'text-destructive/70 hover:text-destructive hover:bg-destructive/10',\n\t},\n\twarning: {\n\t\twrapper: 'border-warning/40 bg-warning/10',\n\t\ticonRing: 'bg-warning/20',\n\t\ticonColor: 'text-warning-foreground',\n\t\ttitle: 'text-warning-foreground',\n\t\tclose: 'text-warning-foreground/70 hover:text-warning-foreground hover:bg-warning/20',\n\t},\n};\n\nconst ICONS: Record<NotificationType, React.ElementType> = {\n\tinfo: Info,\n\tsuccess: BadgeCheck,\n\terror: CircleAlert,\n\twarning: AlertTriangle,\n};\n\nfunction SanitizedSpan({ html }: { html: string }) {\n\treturn React.createElement('span', { dangerouslySetInnerHTML: { __html: html } });\n}\n\nexport function NotificationBanner({\n\ttype = 'info',\n\tdismissible = false,\n\ttitle,\n\tmessage,\n\tonDismiss,\n\tchildren,\n\tasHTML = false,\n\tdismissAriaLabel = 'Dismiss notification',\n\tclassName,\n}: NotificationBannerProps) {\n\tconst tone = TONES[type];\n\tconst IconComponent = ICONS[type];\n\tconst sanitizedHtml = React.useMemo(\n\t\t() => sanitizeHtml(message ?? (typeof children === 'string' ? children : '')),\n\t\t[children, message],\n\t);\n\tconst hasTitle = !!title;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"status\"\n\t\t\tclassName={cn('notification-banner--component', \n\t\t\t\t'flex w-full items-start gap-3 rounded-lg border px-4 py-3',\n\t\t\t\t'animate-in fade-in-0 slide-in-from-bottom-1 duration-200',\n\t\t\t\ttone.wrapper,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<span\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'mt-0.5 inline-flex size-8 shrink-0 items-center justify-center rounded-full',\n\t\t\t\t\ttone.iconRing,\n\t\t\t\t\ttone.iconColor,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<IconComponent className=\"size-4\" />\n\t\t\t</span>\n\n\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t{hasTitle && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\tclassName=\"leading-snug text-foreground\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"div\"\n\t\t\t\t\ttype={hasTitle ? 'secondary' : 'main'}\n\t\t\t\t\tclassName={cn('break-words leading-snug', hasTitle && 'mt-0.5')}\n\t\t\t\t>\n\t\t\t\t\t{!!asHTML && <SanitizedSpan html={sanitizedHtml} />}\n\t\t\t\t\t{!asHTML && (message ?? children)}\n\t\t\t\t</Text>\n\t\t\t</div>\n\n\t\t\t{!!dismissible && (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\tsize=\"icon-xs\"\n\t\t\t\t\taria-label={dismissAriaLabel}\n\t\t\t\t\tonClick={onDismiss}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'-mr-1 inline-flex size-7 shrink-0 items-center justify-center rounded-md transition-colors',\n\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\ttone.close,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<X className=\"size-4\" />\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nNotificationBanner.displayName = 'NotificationBanner';\n\nexport default NotificationBanner;\n","/**\n * PlaceholderPattern — diagonal-stripe SVG fill suitable as a skeleton or\n * empty-region indicator. Uses a unique pattern id per instance so multiple\n * copies on the same page don't collide.\n */\nimport { useId } from 'react';\n\nimport { cn } from '@/lib/utils';\nexport interface PlaceholderPatternProps {\n\tclassName?: string;\n}\n\nexport function PlaceholderPattern({ className }: PlaceholderPatternProps) {\n\tconst patternId = useId();\n\n\treturn (\n\t\t<svg\n\t\t\tclassName={cn('placeholder-pattern--component', className)}\n\t\t\tfill=\"none\"\n\t\t\tstroke=\"currentColor\"\n\t\t\taria-hidden=\"true\"\n\t\t>\n\t\t\t<defs>\n\t\t\t\t<pattern\n\t\t\t\t\tid={patternId}\n\t\t\t\t\tx=\"0\"\n\t\t\t\t\ty=\"0\"\n\t\t\t\t\twidth=\"10\"\n\t\t\t\t\theight=\"10\"\n\t\t\t\t\tpatternUnits=\"userSpaceOnUse\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M-3 13 15-5M-5 5l18-18M-1 21 17 3\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstrokeWidth=\"0.75\"\n\t\t\t\t\t\tstrokeLinecap=\"square\"\n\t\t\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t\t\t/>\n\t\t\t\t</pattern>\n\t\t\t</defs>\n\t\t\t<rect\n\t\t\t\tstroke=\"none\"\n\t\t\t\tfill={`url(#${patternId})`}\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"100%\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n\nPlaceholderPattern.displayName = 'PlaceholderPattern';\n\n","/**\n * ShowIf — conditional render gate. Returns `children` when `when` is truthy,\n * otherwise the optional `fallback`. Useful for inline presentation logic\n * where a ternary would be noisier than a self-explanatory tag.\n */\nimport type { ReactNode } from 'react';\n\nexport type ShowIfProps = { when: boolean; children: ReactNode; fallback?: ReactNode };\n\nexport function ShowIf({ when, children, fallback = null }: ShowIfProps) {\n\tif (when) return children;\n\tif (fallback) return fallback;\n\treturn null;\n}\n\nShowIf.displayName = 'ShowIf';\n\nexport default ShowIf;\n\n","/**\n * ThrottleAlert — destructive alert for rate-limit / throttling errors.\n *\n * Single header icon, primary message, and a tight inline meta row showing\n * `attempts` and `remaining`. Use as a banner above a form when a request\n * has been blocked and the user must wait. Strings overridable for i18n.\n */\nimport { ShieldAlert, Clock, RotateCcw } from 'lucide-react';\n\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nexport interface ThrottleAlertStrings {\n\tmaxAttempts: string;\n\ttryAgainIn: string;\n}\n\nexport const defaultThrottleAlertStrings: ThrottleAlertStrings = {\n\tmaxAttempts: 'Max attempts',\n\ttryAgainIn: 'Try again in',\n};\n\nexport interface ThrottleAlertProps {\n\tmessage: string;\n\tattempts: number;\n\tremaining: string;\n\tclassName?: string;\n\tstrings?: Partial<ThrottleAlertStrings>;\n}\n\nexport function ThrottleAlert({\n\tmessage,\n\tattempts,\n\tremaining,\n\tclassName,\n\tstrings: stringsProp,\n}: ThrottleAlertProps) {\n\tconst strings = useStrings(defaultThrottleAlertStrings, stringsProp);\n\n\treturn (\n\t\t<div\n\t\t\trole=\"alert\"\n\t\t\tclassName={cn('throttle-alert--component', \n\t\t\t\t'flex items-start gap-3 rounded-lg border border-destructive/30 bg-destructive/5 px-4 py-3',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<span\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName=\"mt-0.5 inline-flex size-8 shrink-0 items-center justify-center rounded-full bg-destructive/15 text-destructive\"\n\t\t\t>\n\t\t\t\t<ShieldAlert className=\"size-4\" />\n\t\t\t</span>\n\t\t\t<div className=\"min-w-0 flex-1 space-y-1.5\">\n\t\t\t\t<Text weight=\"medium\" className=\"text-destructive leading-snug\">\n\t\t\t\t\t{message}\n\t\t\t\t</Text>\n\t\t\t\t<div className=\"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-destructive/80\">\n\t\t\t\t\t<span className=\"inline-flex items-center gap-1.5\">\n\t\t\t\t\t\t<RotateCcw className=\"size-3\" aria-hidden=\"true\" />\n\t\t\t\t\t\t<span>{strings.maxAttempts}</span>\n\t\t\t\t\t\t<span className=\"font-semibold tabular-nums text-destructive\">{attempts}</span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"inline-flex items-center gap-1.5\">\n\t\t\t\t\t\t<Clock className=\"size-3\" aria-hidden=\"true\" />\n\t\t\t\t\t\t<span>{strings.tryAgainIn}</span>\n\t\t\t\t\t\t<span className=\"font-semibold tabular-nums text-destructive\">{remaining}</span>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nThrottleAlert.displayName = 'ThrottleAlert';\n","/**\n * VisuallyHidden — hides content from sighted users while keeping it readable\n * by assistive tech (screen readers, voice). Use to label icon-only buttons,\n * give context to status changes, or expose extra structure for AT users.\n */\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport interface VisuallyHiddenProps {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport function VisuallyHidden({ children, className }: VisuallyHiddenProps) {\n\treturn (\n\t\t<span\n\t\t\tclassName={cn('visually-hidden--component', \n\t\t\t\t'absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0',\n\t\t\t\t'[clip:rect(0,0,0,0)]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{children}\n\t\t</span>\n\t);\n}\n\nVisuallyHidden.displayName = 'VisuallyHidden';\n","/**\n * StackedAvatars — overlapping avatar group with optional `+N` overflow chip,\n * configurable size, and an optional semantic `tone` for fallbacks (initials)\n * when the consumer hasn't passed `imageUrl`.\n *\n * Wraps the shadcn AvatarGroup primitive with library-default sizes and a\n * deterministic tone picker so fallbacks stay stable without raw hue utilities.\n */\nimport * as React from 'react';\nimport {\n\tAvatar,\n\tAvatarFallback,\n\tAvatarGroup,\n\tAvatarGroupCount,\n\tAvatarImage,\n} from '@/components/ui/avatar';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport type StackedAvatarsSize = 'sm' | 'default' | 'lg';\nexport type StackedAvatarTone =\n\t| 'muted'\n\t| 'primary'\n\t| 'secondary'\n\t| 'info'\n\t| 'success'\n\t| 'warning'\n\t| 'destructive';\n\nexport interface StackedAvatarUser {\n\tid?: string;\n\tname: string;\n\timageUrl?: string;\n\t/** Optional semantic tone override for this user's fallback. Numeric values map to the token set. */\n\ttone?: StackedAvatarTone | number;\n}\n\nexport interface StackedAvatarsProps {\n\tusers: StackedAvatarUser[];\n\tmax?: number;\n\tsize?: StackedAvatarsSize;\n\tclassName?: string;\n\t/** Whether to render a `+N` count when `users.length > max`. Default `true`. */\n\tshowOverflow?: boolean;\n\t/** Provide custom overflow text (e.g. \"+12 more\"). Default `+N`. */\n\toverflowFormatter?: (overflow: number) => React.ReactNode;\n\t/** Extra class names applied to each avatar root. */\n\tavatarClassName?: string;\n}\n\nconst FALLBACK_TONES: StackedAvatarTone[] = [\n\t'muted',\n\t'primary',\n\t'secondary',\n\t'info',\n\t'success',\n];\n\nconst FALLBACK_TONE_CLASSNAMES: Record<StackedAvatarTone, string> = {\n\tmuted: 'bg-muted text-muted-foreground',\n\tprimary: 'bg-primary/10 text-primary',\n\tsecondary: 'bg-secondary text-secondary-foreground',\n\tinfo: 'bg-info/10 text-info',\n\tsuccess: 'bg-success/10 text-success',\n\twarning: 'bg-warning/15 text-warning',\n\tdestructive: 'bg-destructive/10 text-destructive',\n};\n\nfunction getInitials(name: string, compact = false): string {\n\tconst parts = name.trim().split(/\\s+/);\n\tif (parts.length === 0) return '?';\n\tif (compact) return parts[0].slice(0, 1).toUpperCase();\n\tif (parts.length === 1) return parts[0].slice(0, 2).toUpperCase();\n\treturn (parts[0][0] + parts[parts.length - 1][0]).toUpperCase();\n}\n\nfunction pickFallbackTone(seed: string | number, override?: StackedAvatarTone | number) {\n\tif (typeof override === 'string') {\n\t\treturn override;\n\t}\n\tif (typeof override === 'number') {\n\t\treturn FALLBACK_TONES[Math.abs(override) % FALLBACK_TONES.length];\n\t}\n\tconst key = typeof seed === 'number' ? seed : Array.from(seed).reduce((s, c) => s + c.charCodeAt(0), 0);\n\treturn FALLBACK_TONES[key % FALLBACK_TONES.length];\n}\n\nexport function StackedAvatars({\n\tusers,\n\tmax = 4,\n\tsize = 'default',\n\tclassName,\n\tshowOverflow = true,\n\toverflowFormatter,\n\tavatarClassName,\n}: StackedAvatarsProps) {\n\tconst visible = users.slice(0, max);\n\tconst overflow = Math.max(0, users.length - max);\n\n\treturn (\n\t\t<AvatarGroup className={cn('stacked-avatars--component', className)}>\n\t\t\t{visible.map((user, index) => {\n\t\t\t\tconst initials = getInitials(user.name, size === 'sm');\n\t\t\t\tconst fallbackTone = pickFallbackTone(user.id ?? user.name ?? index, user.tone);\n\t\t\t\treturn (\n\t\t\t\t\t<Avatar\n\t\t\t\t\t\tkey={user.id ?? `${user.name}-${index}`}\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\tclassName={cn('ring-background', avatarClassName)}\n\t\t\t\t\t\ttitle={user.name}\n\t\t\t\t\t>\n\t\t\t\t\t\t{user.imageUrl ? (\n\t\t\t\t\t\t\t<AvatarImage src={user.imageUrl} alt={user.name} />\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<AvatarFallback\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'font-semibold',\n\t\t\t\t\t\t\t\tFALLBACK_TONE_CLASSNAMES[fallbackTone],\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{initials}\n\t\t\t\t\t\t</AvatarFallback>\n\t\t\t\t\t</Avatar>\n\t\t\t\t);\n\t\t\t})}\n\t\t\t{!!showOverflow && overflow > 0 && (\n\t\t\t\t<AvatarGroupCount>\n\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\">\n\t\t\t\t\t\t{overflowFormatter ? overflowFormatter(overflow) : `+${overflow}`}\n\t\t\t\t\t</Text>\n\t\t\t\t</AvatarGroupCount>\n\t\t\t)}\n\t\t</AvatarGroup>\n\t);\n}\n\nStackedAvatars.displayName = 'StackedAvatars';\n","/**\n * DateBlock — compact \"boxed\" date display showing weekday + day-of-month\n * + optional month and time. Built on `date-fns` so locales propagate\n * naturally (`enGB`, `bg`, …).\n *\n * Two layouts:\n * - `stacked` (default) — three lines: weekday / day / month\n * - `inline` — single row: weekday + day + month + optional time\n *\n * Time can render `inline` (right of the date), `below` (under the date\n * block), or `hidden`. Compact rooms (booking lists) typically use\n * `stacked` with `time=\"below\"`.\n */\nimport { format, type Locale } from 'date-fns';\n\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nexport type DateBlockLayout = 'stacked' | 'inline';\nexport type DateBlockTimePlacement = 'inline' | 'below' | 'hidden';\nexport type DateBlockTone = 'default' | 'muted' | 'primary' | 'inverse' | 'success' | 'warning' | 'destructive' | 'info';\n\nexport interface DateBlockStrings {\n\t/** Used by `inline` layout when month is hidden (e.g. \"Apr 30 · 14:00\"). */\n\tseparator: string;\n}\n\nexport const defaultDateBlockStrings: DateBlockStrings = {\n\tseparator: '·',\n};\n\nexport interface DateBlockProps {\n\t/** Date instance, ISO string, or unix timestamp. */\n\tdate: Date | string | number;\n\t/** ISO time string (`HH:mm`) or already-formatted time string. */\n\ttime?: string | null;\n\t/** date-fns `Locale` (e.g. `enGB`, `bg`). Defaults to user-agent. */\n\tlocale?: Locale;\n\t/** Layout. Default `stacked`. */\n\tlayout?: DateBlockLayout;\n\t/** Where to place the time. Default `inline` for `inline` layout, `below` for `stacked`. */\n\ttimePlacement?: DateBlockTimePlacement;\n\t/** Tone of the boxed block. Default `default` (card surface). */\n\ttone?: DateBlockTone;\n\t/** Whether to render a card-like box around the block. Default `true` for stacked, `false` for inline. */\n\tboxed?: boolean;\n\t/** Show month label. Default `true`. */\n\tshowMonth?: boolean;\n\t/** Custom format for the day-of-month token (date-fns format). Default `'d'`. */\n\tdayFormat?: string;\n\t/** Custom format for the weekday token. Default `'EEE'`. */\n\tweekdayFormat?: string;\n\t/** Custom format for the month token. Default `'MMM'`. */\n\tmonthFormat?: string;\n\tclassName?: string;\n\tstrings?: Partial<DateBlockStrings>;\n}\n\nconst toneClassMap: Record<DateBlockTone, { bg: string; text: string; border: string; accent: string; subtle: string }> = {\n\tdefault: { bg: 'bg-card', text: 'text-foreground', border: 'border-border', accent: 'text-foreground', subtle: 'text-muted-foreground' },\n\tinverse: { bg: 'bg-primary', text: 'text-background', border: 'border-primary', accent: 'text-background/80', subtle: 'text-background/65' },\n\tmuted: { bg: 'bg-muted/50', text: 'text-foreground', border: 'border-border', accent: 'text-foreground', subtle: 'text-muted-foreground' },\n\tprimary: { bg: 'bg-primary/10', text: 'text-foreground', border: 'border-primary/30', accent: 'text-primary', subtle: 'text-muted-foreground' },\n\tsuccess: { bg: 'bg-success/10', text: 'text-foreground', border: 'border-success/30', accent: 'text-success', subtle: 'text-muted-foreground' },\n\twarning: { bg: 'bg-warning/15', text: 'text-foreground', border: 'border-warning/40', accent: 'text-warning-foreground', subtle: 'text-muted-foreground' },\n\tdestructive: { bg: 'bg-destructive/10', text: 'text-foreground', border: 'border-destructive/30', accent: 'text-destructive', subtle: 'text-muted-foreground' },\n\tinfo: { bg: 'bg-info/10', text: 'text-foreground', border: 'border-info/30', accent: 'text-info', subtle: 'text-muted-foreground' },\n};\n\nfunction resolveDate(input: Date | string | number): Date {\n\tif (input instanceof Date) return input;\n\tconst d = typeof input === 'number' ? new Date(input) : new Date(input);\n\treturn d;\n}\n\nexport function DateBlock({\n\tdate,\n\ttime,\n\tlocale,\n\tlayout = 'stacked',\n\ttimePlacement,\n\ttone = 'default',\n\tboxed,\n\tshowMonth = true,\n\tdayFormat = 'd',\n\tweekdayFormat = 'EEE',\n\tmonthFormat = 'MMM',\n\tclassName,\n\tstrings: stringsProp,\n}: DateBlockProps) {\n\tconst resolved = resolveDate(date);\n\tconst strings = useStrings(defaultDateBlockStrings, stringsProp);\n\tconst tones = toneClassMap[tone];\n\tconst dateValid = !Number.isNaN(resolved.getTime());\n\n\tconst weekday = dateValid ? format(resolved, weekdayFormat, locale ? { locale } : undefined) : '';\n\tconst day = dateValid ? format(resolved, dayFormat, locale ? { locale } : undefined) : '';\n\tconst month = dateValid ? format(resolved, monthFormat, locale ? { locale } : undefined) : '';\n\n\tconst resolvedTimePlacement: DateBlockTimePlacement =\n\t\ttimePlacement ?? (layout === 'inline' ? 'inline' : 'below');\n\tconst useBox = boxed ?? layout === 'stacked';\n\n\tif (layout === 'inline') {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={cn('date-block--component', \n\t\t\t\t\t'inline-flex items-center gap-1.5 tabular-nums',\n\t\t\t\t\tuseBox && cn('rounded-md border px-2 py-1', tones.bg, tones.border),\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className={cn(tones.accent, 'uppercase tracking-wide')}>\n\t\t\t\t\t{weekday}\n\t\t\t\t</Text>\n\t\t\t\t<Text weight=\"semibold\">{day}</Text>\n\t\t\t\t{!!showMonth && (\n\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"uppercase tracking-wide\">\n\t\t\t\t\t\t{month}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t{!!time && resolvedTimePlacement === 'inline' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Text size=\"xs\" type=\"discrete\" aria-hidden>\n\t\t\t\t\t\t\t{strings.separator}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">{time}</Text>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={cn('inline-flex flex-col items-center gap-0.5', className)}>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex flex-col items-center justify-center gap-1 tabular-nums',\n\t\t\t\t\tuseBox && cn('w-14 min-h-14 rounded-md border px-1.5 py-1.5', tones.bg, tones.border),\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"xxs\"\n\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\tstyle={{ lineHeight: 1 }}\n\t\t\t\t\tclassName={cn(tones.accent, 'uppercase tracking-wider')}\n\t\t\t\t>\n\t\t\t\t\t{weekday}\n\t\t\t\t</Text>\n\t\t\t\t<Text size=\"lg\" weight=\"bold\" style={{ lineHeight: 1 }} className={tones.text}>\n\t\t\t\t\t{day}\n\t\t\t\t</Text>\n\t\t\t\t{!!showMonth && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"xxs\"\n\t\t\t\t\t\tstyle={{ lineHeight: 1 }}\n\t\t\t\t\t\tclassName={cn(tones.subtle, 'uppercase tracking-wider')}\n\t\t\t\t\t>\n\t\t\t\t\t\t{month}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{!!time && resolvedTimePlacement === 'below' && (\n\t\t\t\t<Text size=\"xxs\" type=\"secondary\" className=\"tabular-nums\">\n\t\t\t\t\t{time}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t\t{!!time && resolvedTimePlacement === 'inline' && (\n\t\t\t\t<Text size=\"xxs\" type=\"secondary\" className=\"tabular-nums\">\n\t\t\t\t\t{time}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nDateBlock.displayName = 'DateBlock';\n","import { Collapsible as CollapsiblePrimitive } from \"@base-ui/react/collapsible\"\nimport * as React from \"react\"\n\nimport { Slot } from \"@/components/ui/slot\"\n\nfunction Collapsible({ ...props }: CollapsiblePrimitive.Root.Props) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />\n}\n\nfunction CollapsibleTrigger({\n asChild = false,\n nativeButton,\n render,\n children,\n ...props\n}: CollapsiblePrimitive.Trigger.Props & { asChild?: boolean; nativeButton?: boolean }) {\n const slotRender = asChild ? <Slot /> : undefined\n const safeRender: CollapsiblePrimitive.Trigger.Props[\"render\"] = typeof render === \"function\"\n ? ((renderProps, state) => {\n const { nativeButton: _nativeButton, ...rest } = renderProps as Record<string, unknown>\n void _nativeButton\n return render(rest as typeof renderProps, state)\n })\n : render\n let inferredNativeButton = true\n if (asChild && React.isValidElement(children)) {\n if (typeof children.type === \"string\") {\n inferredNativeButton = children.type === \"button\"\n } else {\n const childProps = (children.props ?? {}) as Record<string, unknown>\n inferredNativeButton = !(\"href\" in childProps)\n }\n }\n const resolvedNativeButton = nativeButton ?? (asChild ? inferredNativeButton : true)\n return (\n <CollapsiblePrimitive.Trigger\n data-slot=\"collapsible-trigger\"\n render={slotRender ?? safeRender}\n nativeButton={resolvedNativeButton}\n {...props}\n >\n {children}\n </CollapsiblePrimitive.Trigger>\n )\n}\n\nfunction CollapsibleContent({ ...props }: CollapsiblePrimitive.Panel.Props) {\n return (\n <CollapsiblePrimitive.Panel data-slot=\"collapsible-content\" {...props} />\n )\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","import { AlertTriangle, Info } from 'lucide-react';\nimport { useCallback, useMemo, type ReactNode } from 'react';\n\nimport { MoneyInput as BaseMoneyInput, type MoneyInputProps as BaseMoneyInputProps } from '@/components/base/forms/fields/money-input';\nimport { FormField } from '@/components/base/forms/form-field';\nimport { Text } from '@/components/typography';\nimport { Alert, AlertDescription } from '@/components/base/display/alert';\nimport { cn } from '@/lib/utils';\nimport type { CurrencyCode } from '@/lib/ui-provider';\n\n/** Optional money payload for migration hints. Consumers map their domain\n * shape into this — `formatted` is the consumer's pre-rendered display\n * string for the alternate currency leg. */\nexport interface MoneyData {\n amount?: number | string | null;\n currency?: string | null;\n /** Optional original/record currency that triggered a migration warning. */\n recordCurrency?: string | null;\n /** Optional secondary leg the consumer formatted for display. */\n pair?: { formatted?: string | null } | null;\n}\n\nexport interface MoneyInputData {\n amount: number;\n currency: CurrencyCode;\n}\n\nexport interface MoneyInputProps extends Omit<BaseMoneyInputProps, 'invalid'> {\n /** Optional money payload for migration hints */\n money?: MoneyData | null;\n /** Display label */\n label?: string;\n /** Hint next to label */\n hint?: string;\n /** Helper text below input */\n helperText?: string;\n /** Error message */\n error?: string;\n /** Required indicator */\n required?: boolean;\n /** Invalid state override */\n invalid?: boolean;\n /** Optional change handler for combined data */\n onChangeData?: (data: MoneyInputData) => void;\n /** Record currency for migration detection */\n recordCurrency?: CurrencyCode;\n /** Show migration warning block */\n showMigrationWarning?: boolean;\n /** Custom migration warning message */\n migrationWarningMessage?: ReactNode;\n /** Show original currency hint */\n showOriginalHint?: boolean;\n}\n\nconst defaultEmptyFormatted = '—';\n\nconst resolveFormatted = (formatted: unknown): string =>\n typeof formatted === 'string' ? formatted.trim() : '';\n\nexport function MoneyInput({\n money,\n currency = 'EUR',\n onChangeData,\n recordCurrency: recordCurrencyProp,\n label,\n hint,\n helperText,\n error,\n required,\n invalid,\n showMigrationWarning = true,\n migrationWarningMessage,\n showOriginalHint = true,\n className,\n onChange,\n onCurrencyChange,\n ...props\n}: MoneyInputProps) {\n const recordCurrency = recordCurrencyProp ?? money?.recordCurrency ?? undefined;\n\n const willMigrate = useMemo(\n () => recordCurrency !== undefined && recordCurrency !== currency,\n [recordCurrency, currency],\n );\n\n const otherFormatted = useMemo(() => {\n if (!showOriginalHint) return '';\n return resolveFormatted(money?.pair?.formatted);\n }, [showOriginalHint, money?.pair?.formatted]);\n\n const showOriginalHintBlock = otherFormatted.length > 0 && !error;\n const showMigrationBlock = willMigrate && showMigrationWarning;\n\n const handleAmountChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e);\n const parsed = Number.parseFloat(e.target.value);\n const safeAmount = Number.isFinite(parsed) ? parsed : 0;\n onChangeData?.({ amount: safeAmount, currency });\n },\n [onChange, onChangeData, currency],\n );\n\n const handleCurrencyChange = useCallback(\n (nextCurrency: CurrencyCode) => {\n onCurrencyChange?.(nextCurrency);\n const parsedValue = Number.parseFloat(String(props.value ?? ''));\n const safeAmount = Number.isFinite(parsedValue) ? parsedValue : 0;\n onChangeData?.({ amount: safeAmount, currency: nextCurrency });\n },\n [onCurrencyChange, onChangeData, props.value],\n );\n\n const isInvalid = invalid ?? Boolean(error);\n\n const inputNode = (\n <BaseMoneyInput\n {...props}\n currency={currency}\n onChange={handleAmountChange}\n onCurrencyChange={handleCurrencyChange}\n invalid={isInvalid}\n />\n );\n\n const hasChrome = Boolean(label || hint || helperText || error || required);\n const renderedInput = hasChrome ? (\n <FormField\n label={label}\n hint={hint}\n helperText={helperText}\n error={error}\n required={required}\n >\n {inputNode}\n </FormField>\n ) : inputNode;\n\n return (\n <div className={cn('money-input--component', 'space-y-2', className)}>\n {renderedInput}\n\n {!!showOriginalHintBlock && (\n <div className=\"flex items-center gap-1.5 text-muted-foreground\">\n <Info className=\"h-3.5 w-3.5 shrink-0\" />\n <Text size=\"xs\" type=\"secondary\">\n {otherFormatted || defaultEmptyFormatted}\n </Text>\n </div>\n )}\n\n {!!showMigrationBlock && (\n <Alert className=\"border-warning/50 bg-warning/5 py-2\">\n <AlertTriangle className=\"h-4 w-4 text-warning\" />\n <AlertDescription className=\"text-warning-foreground text-xs\">\n {migrationWarningMessage ??\n `Currency will be converted from ${recordCurrency ?? ''} to ${currency}.`}\n </AlertDescription>\n </Alert>\n )}\n </div>\n );\n}\n\nMoneyInput.displayName = 'MoneyInput';\n","/**\n * BooleanIndicator — labelled yes/no chip showing the truth of a value with an\n * optional check/cross icon. Use for compact metadata grids where each row\n * answers a single boolean question. Strings overridable for i18n.\n */\nimport { CheckCircle2, XCircle } from 'lucide-react';\nimport React from 'react';\nimport { Badge, type ComposedBadgeVariant } from '@/components/base/badge';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nexport interface BooleanIndicatorStrings {\n\ttrue: string;\n\tfalse: string;\n}\n\nexport const defaultBooleanIndicatorStrings: BooleanIndicatorStrings = {\n\ttrue: 'Yes',\n\tfalse: 'No',\n};\n\nexport type BooleanIndicatorProps = {\n\tlabel: React.ReactNode;\n\tvalue?: boolean | null;\n\tshowIcon?: boolean;\n\ttrueVariant?: ComposedBadgeVariant;\n\tfalseVariant?: ComposedBadgeVariant;\n\tclassName?: string;\n\tbadgeClassName?: string;\n\tstrings?: Partial<BooleanIndicatorStrings>;\n\t/** @deprecated Use `strings.true` instead. */\n\ttrueLabel?: React.ReactNode;\n\t/** @deprecated Use `strings.false` instead. */\n\tfalseLabel?: React.ReactNode;\n};\n\nexport function BooleanIndicator({\n\tlabel,\n\tvalue = false,\n\ttrueLabel,\n\tfalseLabel,\n\tshowIcon = true,\n\ttrueVariant = 'success',\n\tfalseVariant = 'secondary',\n\tclassName,\n\tbadgeClassName,\n\tstrings: stringsProp,\n}: BooleanIndicatorProps) {\n\tconst strings = useStrings(defaultBooleanIndicatorStrings, stringsProp);\n\tconst isTrue = Boolean(value);\n\tconst Icon = isTrue ? CheckCircle2 : XCircle;\n\tconst badgeVariant = isTrue ? trueVariant : falseVariant;\n\tconst fallback = isTrue ? trueLabel : falseLabel;\n\tconst content = fallback ?? (isTrue ? strings.true : strings.false);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('boolean-indicator--component', \n\t\t\t\t'flex items-center justify-between rounded-md border border-border/60 bg-muted/30 px-3 py-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"uppercase tracking-wide\">\n\t\t\t\t{label}\n\t\t\t</Text>\n\t\t\t<Badge\n\t\t\t\tvariant={badgeVariant}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tclassName={cn('whitespace-nowrap', badgeClassName)}\n\t\t\t>\n\t\t\t\t{!!showIcon && <Icon className=\"h-3.5 w-3.5\" />}\n\t\t\t\t{content}\n\t\t\t</Badge>\n\t\t</div>\n\t);\n}\n\nBooleanIndicator.displayName = 'BooleanIndicator';\n\nexport default BooleanIndicator;\n","import { Progress as ProgressPrimitive } from \"@base-ui/react/progress\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Progress({\n className,\n children,\n value,\n ...props\n}: ProgressPrimitive.Root.Props) {\n return (\n <ProgressPrimitive.Root\n value={value}\n data-slot=\"progress\"\n className={cn(\"flex flex-wrap gap-3\", className)}\n {...props}\n >\n {children}\n <ProgressTrack>\n <ProgressIndicator />\n </ProgressTrack>\n </ProgressPrimitive.Root>\n )\n}\n\nfunction ProgressTrack({ className, ...props }: ProgressPrimitive.Track.Props) {\n return (\n <ProgressPrimitive.Track\n className={cn(\n \"bg-muted h-1.5 rounded-full relative flex w-full items-center overflow-x-hidden\",\n className\n )}\n data-slot=\"progress-track\"\n {...props}\n />\n )\n}\n\nfunction ProgressIndicator({\n className,\n ...props\n}: ProgressPrimitive.Indicator.Props) {\n return (\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className={cn(\"bg-primary h-full transition-all\", className)}\n {...props}\n />\n )\n}\n\nfunction ProgressLabel({ className, ...props }: ProgressPrimitive.Label.Props) {\n return (\n <ProgressPrimitive.Label\n className={cn(\"text-sm font-medium\", className)}\n data-slot=\"progress-label\"\n {...props}\n />\n )\n}\n\nfunction ProgressValue({ className, ...props }: ProgressPrimitive.Value.Props) {\n return (\n <ProgressPrimitive.Value\n className={cn(\"text-muted-foreground ml-auto text-sm tabular-nums\", className)}\n data-slot=\"progress-value\"\n {...props}\n />\n )\n}\n\nexport {\n Progress,\n ProgressTrack,\n ProgressIndicator,\n ProgressLabel,\n ProgressValue,\n}\n","import { formatHex, oklch } from 'culori';\nimport QR from 'qrcode';\nimport type { HTMLAttributes } from 'react';\nimport { useEffect, useState } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type QRCodeProps = HTMLAttributes<HTMLDivElement> & {\n\tdata: string;\n\tforeground?: string;\n\tbackground?: string;\n\trobustness?: 'L' | 'M' | 'Q' | 'H';\n};\n\nconst oklchRegex = /oklch\\\\(([.\\\\d-]+)\\\\s+([.\\\\d]+)\\\\s+([.\\\\d]+)\\\\)/;\n\nfunction getOklch(color: string, fallback: [number, number, number]) {\n\tconst oklchMatch = color.match(oklchRegex);\n\n\tif (!oklchMatch) {\n\t\treturn { l: fallback[0], c: fallback[1], h: fallback[2] };\n\t}\n\n\treturn {\n\t\tl: Number.parseFloat(oklchMatch[1]),\n\t\tc: Number.parseFloat(oklchMatch[2]),\n\t\th: Number.parseFloat(oklchMatch[3]),\n\t};\n}\n\nexport function QRCode({\n\tdata,\n\tforeground,\n\tbackground,\n\trobustness = 'M',\n\tclassName,\n\t...props\n}: QRCodeProps) {\n\tconst [svg, setSvg] = useState<string | null>(null);\n\n\tuseEffect(() => {\n\t\tconst generateQR = async () => {\n\t\t\ttry {\n\t\t\t\tconst text = String(data ?? '').trim();\n\t\t\t\tif (!text) {\n\t\t\t\t\tsetSvg(null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst styles = getComputedStyle(document.documentElement);\n\t\t\t\tconst foregroundColor =\n\t\t\t\t\tforeground ?? styles.getPropertyValue('--foreground');\n\t\t\t\tconst backgroundColor =\n\t\t\t\t\tbackground ?? styles.getPropertyValue('--background');\n\n\t\t\t\tconst foregroundOklch = getOklch(foregroundColor, [\n\t\t\t\t\t0.21, 0.006, 285.885,\n\t\t\t\t]);\n\t\t\t\tconst backgroundOklch = getOklch(backgroundColor, [0.985, 0, 0]);\n\n\t\t\t\tconst newSvg = await QR.toString(text, {\n\t\t\t\t\ttype: 'svg',\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tdark: formatHex(\n\t\t\t\t\t\t\toklch({ mode: 'oklch', ...foregroundOklch }),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tlight: formatHex(\n\t\t\t\t\t\t\toklch({ mode: 'oklch', ...backgroundOklch }),\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t\twidth: 200,\n\t\t\t\t\terrorCorrectionLevel: robustness,\n\t\t\t\t\tmargin: 0,\n\t\t\t\t});\n\n\t\t\t\tsetSvg(newSvg);\n\t\t\t} catch {\n\t\t\t\t// QR generation failure (invalid data, oversized payload) — render falls\n\t\t\t\t// back to empty SVG; consumer can surface their own error from the parent.\n\t\t\t\tsetSvg('');\n\t\t\t}\n\t\t};\n\n\t\tvoid generateQR();\n\t}, [data, foreground, background, robustness]);\n\n\tif (!svg) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('qr-code--component', 'size-full', '[&_svg]:size-full', className)}\n\t\t\tdangerouslySetInnerHTML={{ __html: svg }}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport default QRCode;\n\nQRCode.displayName = 'QRCode';\n","import { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Empty({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n \"gap-4 rounded-lg border-dashed p-12 flex w-full min-w-0 flex-1 flex-col items-center justify-center text-center text-balance\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn(\n \"gap-2 flex max-w-sm flex-col items-center\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst emptyMediaVariants = cva(\n \"mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction EmptyMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof emptyMediaVariants>) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-title\"\n className={cn(\"text-lg font-medium tracking-tight\", className)}\n {...props}\n />\n )\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n \"text-sm/relaxed text-muted-foreground [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn(\n \"gap-4 text-sm flex w-full max-w-sm min-w-0 flex-col items-center text-balance\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Empty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n}\n","/**\n * Strings for `<EmptyState>`. English defaults — every piece of copy is\n * deep-merge-overridable per rule 8.\n *\n * `title`/`description` here are the *fallback* defaults the component\n * renders when neither the prop nor a per-illustration preset supplies\n * its own copy. In practice, the consumer usually passes an explicit\n * `title` / `description` per resource (\"No products\", \"No invoices yet\")\n * — these defaults exist so a bare `<EmptyState />` still renders\n * sensibly during scaffolding.\n */\nexport interface EmptyStateStrings {\n\ttitle: string;\n\tdescription: string;\n\tariaLabel: string;\n}\n\nexport const defaultEmptyStateStrings: EmptyStateStrings = {\n\ttitle: 'Nothing here yet',\n\tdescription: 'Once data lands, it will show up in this view.',\n\tariaLabel: 'Empty state',\n};\n","/**\n * EmptyState — the canonical zero-data surface for any list, table, or\n * collection in the library. Wraps the shadcn `ui/empty` primitive\n * (rule 1, rule 12) and applies our typography, density, and tokens:\n *\n * - Headline through `<Heading tag=\"h3\">` (admin scale, no marketing inflation)\n * - Description through `<Text size=\"xs\" type=\"secondary\">` — matches\n * the four sibling empty-states across the library\n * - Padding presets driven by props, not arbitrary literals\n * - Optional dashed-border affordance for \"this slot is a drop zone\"\n *\n * Composability:\n * - Slots: `media`, `actions`, `footer`\n * - Render-prop: `renderMedia(ctx)` for fully custom illustrations\n * - Strings: every piece of copy is overridable via `strings`\n *\n * The library ships a small illustration set under\n * `./partials/illustrations/*` — import explicitly per resource:\n *\n * import { StackedCardsIllustration } from\n * '@/components/base/display/empty-state/partials/illustrations';\n *\n * Adaptive shape per resource: pass a different `media` per surface.\n * Don't fork the component.\n */\nimport { forwardRef } from 'react';\n\nimport { Heading, Text } from '@/components/typography';\nimport {\n\tEmpty,\n\tEmptyContent,\n\tEmptyHeader,\n\tEmptyMedia,\n} from '@/components/ui/empty';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultEmptyStateStrings } from './empty-state.strings';\nimport type {\n\tEmptyStateMediaVariant,\n\tEmptyStatePadding,\n\tEmptyStateProps,\n} from './empty-state.types';\n\nconst PADDING_CLASS: Record<EmptyStatePadding, string> = {\n\tcompact: 'py-6',\n\tbase: 'py-12',\n\tloose: 'py-16',\n};\n\nconst MEDIA_VARIANT_TO_PRIMITIVE: Record<EmptyStateMediaVariant, 'default' | 'icon'> = {\n\tnone: 'default',\n\ticon: 'icon',\n\t'icon-soft': 'icon',\n\tillustration: 'default',\n};\n\nconst MEDIA_EXTRA_CLASS: Record<EmptyStateMediaVariant, string | undefined> = {\n\tnone: undefined,\n\ticon: undefined,\n\t'icon-soft': 'bg-muted/40 text-muted-foreground',\n\tillustration: 'mb-4',\n};\n\nexport const EmptyState = forwardRef<HTMLDivElement, EmptyStateProps>(function EmptyState({\n\ttitle,\n\tdescription,\n\tmedia,\n\tmediaVariant = 'none',\n\trenderMedia,\n\tactions,\n\tfooter,\n\tpadding = 'base',\n\tborder = false,\n\tclassName,\n\tstrings: stringsProp,\n\tariaLabel,\n}, ref) {\n\tconst strings = useStrings(defaultEmptyStateStrings, stringsProp);\n\n\tconst resolvedTitle = title ?? strings.title;\n\tconst resolvedDescription =\n\t\tdescription === false ? null : description ?? strings.description;\n\tconst mediaNode = renderMedia ? renderMedia({ mediaVariant }) : media;\n\tconst showMedia = !!mediaNode;\n\n\treturn (\n\t\t<Empty\n\t\t\tref={ref}\n\t\t\trole=\"status\"\n\t\t\taria-label={ariaLabel ?? strings.ariaLabel}\n\t\t\tclassName={cn('empty-state--component', \n\t\t\t\tPADDING_CLASS[padding],\n\t\t\t\tborder ? 'border border-dashed' : 'border-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<EmptyHeader>\n\t\t\t\t{!!showMedia && (\n\t\t\t\t\t<EmptyMedia\n\t\t\t\t\t\tvariant={MEDIA_VARIANT_TO_PRIMITIVE[mediaVariant]}\n\t\t\t\t\t\tclassName={MEDIA_EXTRA_CLASS[mediaVariant]}\n\t\t\t\t\t>\n\t\t\t\t\t\t{mediaNode}\n\t\t\t\t\t</EmptyMedia>\n\t\t\t\t)}\n\t\t\t\t<Heading tag=\"h3\" className=\"border-0 pb-0 text-base\" data-slot=\"empty-title\">\n\t\t\t\t\t{resolvedTitle}\n\t\t\t\t</Heading>\n\t\t\t\t{!!resolvedDescription && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\tclassName=\"leading-relaxed [&>a]:text-primary [&>a]:underline [&>a]:underline-offset-4 hover:[&>a]:no-underline\"\n\t\t\t\t\t\tdata-slot=\"empty-description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{resolvedDescription}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</EmptyHeader>\n\t\t\t{(!!actions || !!footer) && (\n\t\t\t\t<EmptyContent>\n\t\t\t\t\t{!!actions && (\n\t\t\t\t\t\t<div className=\"flex flex-wrap items-center justify-center gap-2\">\n\t\t\t\t\t\t\t{actions}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!footer && <div className=\"text-xs text-muted-foreground\">{footer}</div>}\n\t\t\t\t</EmptyContent>\n\t\t\t)}\n\t\t</Empty>\n\t);\n});\n\nEmptyState.displayName = 'EmptyState';\n","import { cn } from '@/lib/utils';\n\n/**\n * Two staggered document silhouettes — for \"no documents\", \"no\n * invoices\", \"no reports\" surfaces.\n */\nexport function DocumentStackIllustration({ className }: { className?: string }) {\n\treturn (\n\t\t<div className={cn('relative h-24 w-32', className)} aria-hidden=\"true\">\n\t\t\t<div className=\"bg-muted/70 dark:bg-muted/40 border-border/50 absolute left-1 top-1 flex h-20 w-20 -rotate-6 flex-col gap-1.5 rounded-md border p-2 shadow-sm\">\n\t\t\t\t<div className=\"bg-muted h-2 w-12 rounded\" />\n\t\t\t\t<div className=\"bg-muted/60 h-1.5 w-10 rounded\" />\n\t\t\t\t<div className=\"bg-muted/60 h-1.5 w-9 rounded\" />\n\t\t\t</div>\n\t\t\t<div className=\"bg-background border-border absolute right-1 top-2 flex h-20 w-20 rotate-3 flex-col gap-1.5 rounded-md border p-2 shadow-sm\">\n\t\t\t\t<div className=\"bg-muted h-2 w-12 rounded\" />\n\t\t\t\t<div className=\"bg-muted/60 h-1.5 w-10 rounded\" />\n\t\t\t\t<div className=\"bg-muted/60 h-1.5 w-9 rounded\" />\n\t\t\t\t<div className=\"mt-auto flex items-center gap-1\">\n\t\t\t\t\t<div className=\"bg-success size-1.5 rounded-full\" />\n\t\t\t\t\t<div className=\"bg-muted/60 h-1.5 w-8 rounded\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nDocumentStackIllustration.displayName = 'DocumentStackIllustration';\n","import { cn } from '@/lib/utils';\n\n/**\n * Open inbox tray with a soft check above — for \"all caught up\",\n * \"no notifications\", \"inbox zero\" surfaces.\n */\nexport function InboxCleanIllustration({ className }: { className?: string }) {\n\treturn (\n\t\t<div className={cn('relative h-24 w-32', className)} aria-hidden=\"true\">\n\t\t\t<div className=\"bg-success/12 border-success/30 absolute left-1/2 top-0 flex size-8 -translate-x-1/2 items-center justify-center rounded-full border\">\n\t\t\t\t<svg\n\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\tclassName=\"text-success size-3.5\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstrokeWidth=\"2\"\n\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t>\n\t\t\t\t\t<path d=\"M3 8l3 3 7-7\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div className=\"bg-background border-border absolute inset-x-0 bottom-0 flex h-14 flex-col rounded-lg border shadow-sm\">\n\t\t\t\t<div className=\"bg-muted/30 h-3 rounded-t-lg\" />\n\t\t\t\t<div className=\"flex flex-1 items-center justify-between px-3\">\n\t\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t\t<div className=\"bg-muted/60 h-1.5 w-12 rounded\" />\n\t\t\t\t\t\t<div className=\"bg-muted/40 h-1.5 w-8 rounded\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"bg-muted/40 size-3 rounded-full\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nInboxCleanIllustration.displayName = 'InboxCleanIllustration';\n","import { Search } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\n/**\n * Magnifying-glass illustration centered on a soft tinted disk — for\n * \"no search results\", \"nothing matches your filters\" surfaces.\n */\nexport function SearchGlassIllustration({ className }: { className?: string }) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'flex size-20 items-center justify-center rounded-full bg-muted/40 ring-8 ring-muted/20',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\taria-hidden=\"true\"\n\t\t>\n\t\t\t<Search className=\"size-8 text-muted-foreground\" />\n\t\t</div>\n\t);\n}\n\nSearchGlassIllustration.displayName = 'SearchGlassIllustration';\n","import { cn } from '@/lib/utils';\n\n/**\n * Three stacked card silhouettes with a fade-out at the bottom — the\n * generic \"no records\" illustration. Token-driven so it adapts to any\n * theme (uses `bg-muted`, `bg-background`, `border-border`, no raw\n * palette).\n */\nexport function StackedCardsIllustration({ className }: { className?: string }) {\n\treturn (\n\t\t<div className={cn('relative h-24 w-52', className)} aria-hidden=\"true\">\n\t\t\t<div className=\"bg-muted/60 dark:bg-muted/30 border-border/50 absolute inset-x-6 top-0 h-6 rounded-t-lg border\" />\n\t\t\t<div className=\"bg-muted/80 dark:bg-muted/50 border-border/60 absolute inset-x-3 top-3 h-6 rounded-t-lg border\" />\n\t\t\t<div className=\"bg-background border-border absolute inset-x-0 top-6 flex h-16 items-center gap-3 rounded-lg border px-4 shadow-sm\">\n\t\t\t\t<div className=\"bg-muted size-8 shrink-0 rounded\" />\n\t\t\t\t<div className=\"flex flex-1 flex-col gap-1.5\">\n\t\t\t\t\t<div className=\"bg-muted h-2.5 w-3/4 rounded\" />\n\t\t\t\t\t<div className=\"bg-muted/60 h-2 w-1/2 rounded\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"from-background/0 via-background/60 to-background pointer-events-none absolute inset-x-0 bottom-0 h-8 bg-linear-to-b\" />\n\t\t</div>\n\t);\n}\n\nStackedCardsIllustration.displayName = 'StackedCardsIllustration';\n","import { cn } from '@/lib/utils';\n\n/**\n * Three overlapping avatar circles — for \"no team members\", \"no\n * customers\", \"no contributors\" surfaces.\n */\nexport function UsersCircleIllustration({ className }: { className?: string }) {\n\treturn (\n\t\t<div className={cn('relative flex h-24 w-32 items-center justify-center', className)} aria-hidden=\"true\">\n\t\t\t<div className=\"bg-muted/70 border-border absolute left-2 size-12 rounded-full border-2\" />\n\t\t\t<div className=\"bg-muted border-border z-10 size-14 rounded-full border-2 shadow-sm\" />\n\t\t\t<div className=\"bg-muted/60 border-border absolute right-2 size-10 rounded-full border-2\" />\n\t\t</div>\n\t);\n}\n\nUsersCircleIllustration.displayName = 'UsersCircleIllustration';\n","/**\n * EmailDisplay — formats an email address as a copyable, optional `mailto:`\n * link. Falls back to the shared EMPTY placeholder when no value is provided.\n * Strings are overridable for i18n via the `strings` prop.\n */\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Copyable } from '@/components/base/copyable';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { EMPTY } from '@/lib/format';\nimport { cn } from '@/lib/utils';\nimport { useTypographyConfig } from '@/lib/ui-provider';\n\ntype BaseTextProps = ComponentProps<typeof Text>;\n\nexport interface EmailDisplayStrings {\n\tcopySuccess: string;\n}\n\nexport const defaultEmailDisplayStrings: EmailDisplayStrings = {\n\tcopySuccess: 'Email copied to clipboard',\n};\n\nexport interface EmailDisplayProps extends Omit<BaseTextProps, 'children' | 'content'> {\n\temail: string | null | undefined;\n\tcopyable?: boolean;\n\temptyLabel?: ReactNode;\n\tclickable?: boolean;\n\tstrings?: Partial<EmailDisplayStrings>;\n\t/** @deprecated Use `strings.copySuccess` instead. */\n\tcopySuccessMessage?: string;\n}\n\nexport function EmailDisplay({\n\temail,\n\tcopyable = true,\n\tcopySuccessMessage,\n\temptyLabel = EMPTY,\n\tclickable = true,\n\tstrings: stringsProp,\n\tsize: sizeProp,\n\ttype = 'main',\n\ttag = 'span',\n\tclassName,\n\t...props\n}: EmailDisplayProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst size = sizeProp ?? defaultTextSize ?? 'sm';\n\n\tconst strings = useStrings(defaultEmailDisplayStrings, {\n\t\t...(copySuccessMessage ? { copySuccess: copySuccessMessage } : {}),\n\t\t...stringsProp,\n\t});\n\tif (!email || email.trim().length === 0) {\n\t\treturn (\n\t\t\t<Text size={size} type=\"secondary\" tag={tag} className={cn('email-display--component', className)} {...props}>\n\t\t\t\t{emptyLabel}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tconst emailText = (\n\t\t<Text\n\t\t\tsize={size}\n\t\t\ttype={type}\n\t\t\ttag=\"span\"\n\t\t\tclassName={cn(\n\t\t\t\t'font-medium',\n\t\t\t\t'decoration-dotted decoration-border underline underline-offset-4',\n\t\t\t\t'transition-colors duration-200',\n\t\t\t\tclickable ? 'hover:decoration-current' : null,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{email}\n\t\t</Text>\n\t);\n\n\tif (copyable) {\n\t\tconst copyableContent = (\n\t\t\t<Copyable\n\t\t\t\tvalue={email}\n\t\t\t\tdisplayValue={emailText}\n\t\t\t\tsuccessMessage={strings.copySuccess}\n\t\t\t\tclassName=\"-mx-0\"\n\t\t\t/>\n\t\t);\n\n\t\tif (clickable) {\n\t\t\treturn (\n\t\t\t\t<a\n\t\t\t\t\thref={`mailto:${email}`}\n\t\t\t\t\tclassName=\"inline-flex items-center no-underline\"\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t{copyableContent}\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\treturn copyableContent;\n\t}\n\n\tif (clickable) {\n\t\treturn (\n\t\t\t<a href={`mailto:${email}`} className=\"inline-flex items-center no-underline\">\n\t\t\t\t{emailText}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn emailText;\n}\n\nEmailDisplay.displayName = 'EmailDisplay';\n","/**\n * PhoneDisplay — formats a phone number as a copyable, optional `tel:` link.\n * Strips visual separators when generating the `tel:` href; falls back to the\n * shared EMPTY placeholder when no value is provided. Strings overridable.\n */\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Copyable } from '@/components/base/copyable';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { EMPTY } from '@/lib/format';\nimport { cn } from '@/lib/utils';\nimport { useTypographyConfig } from '@/lib/ui-provider';\n\ntype BaseTextProps = ComponentProps<typeof Text>;\n\nexport interface PhoneDisplayStrings {\n\tcopySuccess: string;\n}\n\nexport const defaultPhoneDisplayStrings: PhoneDisplayStrings = {\n\tcopySuccess: 'Phone number copied to clipboard',\n};\n\nexport interface PhoneDisplayProps extends Omit<BaseTextProps, 'children' | 'content'> {\n\tphone: string | null | undefined;\n\tcopyable?: boolean;\n\temptyLabel?: ReactNode;\n\tclickable?: boolean;\n\tstrings?: Partial<PhoneDisplayStrings>;\n\t/** @deprecated Use `strings.copySuccess` instead. */\n\tcopySuccessMessage?: string;\n}\n\nfunction formatPhoneForTel(phone: string): string {\n\treturn phone.replace(/[\\s().-]/g, '');\n}\n\nexport function PhoneDisplay({\n\tphone,\n\tcopyable = true,\n\tcopySuccessMessage,\n\temptyLabel = EMPTY,\n\tclickable = true,\n\tstrings: stringsProp,\n\tsize: sizeProp,\n\ttype = 'main',\n\ttag = 'span',\n\tclassName,\n\t...props\n}: PhoneDisplayProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst size = sizeProp ?? defaultTextSize ?? 'sm';\n\n\tconst strings = useStrings(defaultPhoneDisplayStrings, {\n\t\t...(copySuccessMessage ? { copySuccess: copySuccessMessage } : {}),\n\t\t...stringsProp,\n\t});\n\tif (!phone || phone.trim().length === 0) {\n\t\treturn (\n\t\t\t<Text size={size} type=\"secondary\" tag={tag} className={cn('phone-display--component', className)} {...props}>\n\t\t\t\t{emptyLabel}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tconst phoneText = (\n\t\t<Text\n\t\t\tsize={size}\n\t\t\ttype={type}\n\t\t\ttag=\"span\"\n\t\t\tclassName={cn(\n\t\t\t\t'font-medium',\n\t\t\t\t'decoration-dotted decoration-border underline underline-offset-4',\n\t\t\t\t'transition-colors duration-200',\n\t\t\t\tclickable ? 'hover:decoration-current' : null,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{phone}\n\t\t</Text>\n\t);\n\n\tif (copyable) {\n\t\tconst copyableContent = (\n\t\t\t<Copyable\n\t\t\t\tvalue={phone}\n\t\t\t\tdisplayValue={phoneText}\n\t\t\t\tsuccessMessage={strings.copySuccess}\n\t\t\t\tclassName=\"-mx-0\"\n\t\t\t/>\n\t\t);\n\n\t\tif (clickable) {\n\t\t\treturn (\n\t\t\t\t<a\n\t\t\t\t\thref={`tel:${formatPhoneForTel(phone)}`}\n\t\t\t\t\tclassName=\"inline-flex items-center no-underline\"\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t{copyableContent}\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\treturn copyableContent;\n\t}\n\n\tif (clickable) {\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={`tel:${formatPhoneForTel(phone)}`}\n\t\t\t\tclassName=\"inline-flex items-center no-underline\"\n\t\t\t>\n\t\t\t\t{phoneText}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn phoneText;\n}\n\nPhoneDisplay.displayName = 'PhoneDisplay';\n","/**\n * UrlDisplay — formats a URL as a copyable, optional external link.\n * Detects insecure (http://) URLs and renders an inline tooltip warning. The\n * link can be truncated by hostname/path heuristic with a tooltip showing the\n * full URL on hover. Strings overridable for i18n.\n */\nimport { ExternalLink, ShieldAlert } from 'lucide-react';\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Copyable } from '@/components/base/copyable';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/components/base/display/tooltip';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { EMPTY } from '@/lib/format';\nimport { cn } from '@/lib/utils';\nimport { useTypographyConfig } from '@/lib/ui-provider';\n\ntype BaseTextProps = ComponentProps<typeof Text>;\n\nexport interface UrlDisplayStrings {\n\tcopySuccess: string;\n\thttpWarning: string;\n}\n\nexport const defaultUrlDisplayStrings: UrlDisplayStrings = {\n\tcopySuccess: 'URL copied to clipboard',\n\thttpWarning: 'This URL uses HTTP which is not secure',\n};\n\nexport interface UrlDisplayProps extends Omit<BaseTextProps, 'children' | 'content'> {\n\turl: string | null | undefined;\n\tcopyable?: boolean;\n\temptyLabel?: ReactNode;\n\tclickable?: boolean;\n\ttruncate?: boolean;\n\tmaxLength?: number;\n\tshowExternalIcon?: boolean;\n\tstrings?: Partial<UrlDisplayStrings>;\n\t/** @deprecated Use `strings.copySuccess` instead. */\n\tcopySuccessMessage?: string;\n\t/** @deprecated Use `strings.httpWarning` instead. */\n\thttpWarningMessage?: string;\n}\n\nfunction isHttpUrl(url: string): boolean {\n\ttry {\n\t\tconst parsed = new URL(url);\n\t\treturn parsed.protocol === 'http:';\n\t} catch {\n\t\treturn url.toLowerCase().startsWith('http://');\n\t}\n}\n\nfunction formatUrlForDisplay(url: string, truncate: boolean, maxLength: number): string {\n\tif (!truncate || url.length <= maxLength) {\n\t\treturn url;\n\t}\n\n\ttry {\n\t\tconst parsed = new URL(url);\n\t\tconst domain = parsed.hostname;\n\t\tconst remaining = maxLength - domain.length - 5;\n\n\t\tif (remaining > 10) {\n\t\t\tconst pathStart = parsed.pathname.slice(0, remaining);\n\t\t\treturn `${domain}${pathStart}...`;\n\t\t}\n\n\t\treturn `${url.slice(0, maxLength - 3)}...`;\n\t} catch {\n\t\treturn `${url.slice(0, maxLength - 3)}...`;\n\t}\n}\n\nexport function UrlDisplay({\n\turl,\n\tcopyable = true,\n\tcopySuccessMessage,\n\temptyLabel = EMPTY,\n\tclickable = true,\n\ttruncate = false,\n\tmaxLength = 50,\n\tshowExternalIcon = true,\n\thttpWarningMessage,\n\tstrings: stringsProp,\n\tsize: sizeProp,\n\ttype = 'main',\n\ttag = 'span',\n\tclassName,\n\t...props\n}: UrlDisplayProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst size = sizeProp ?? defaultTextSize ?? 'sm';\n\n\tconst strings = useStrings(defaultUrlDisplayStrings, {\n\t\t...(copySuccessMessage ? { copySuccess: copySuccessMessage } : {}),\n\t\t...(httpWarningMessage ? { httpWarning: httpWarningMessage } : {}),\n\t\t...stringsProp,\n\t});\n\n\tif (!url || url.trim().length === 0) {\n\t\treturn (\n\t\t\t<Text size={size} type=\"secondary\" tag={tag} className={cn('url-display--component', className)} {...props}>\n\t\t\t\t{emptyLabel}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tconst isInsecure = isHttpUrl(url);\n\tconst displayUrl = formatUrlForDisplay(url, truncate, maxLength);\n\tconst shouldShowTitle = truncate && url.length > maxLength;\n\n\tconst urlContent = (\n\t\t<Text size={size} type={type} tag=\"span\" className=\"inline-flex items-center gap-1.5\">\n\t\t\t{!!isInsecure && (\n\t\t\t\t<Tooltip>\n\t\t\t\t\t<TooltipTrigger\n\t\t\t\t\t\trender={(triggerProps) => {\n\t\t\t\t\t\t\t// Tooltip triggers are `<button>` by default; we render a non-button to avoid nested\n\t\t\t\t\t\t\t// interactive elements when UrlDisplay is wrapped in an `<a>`.\n\t\t\t\t\t\t\tconst { type, disabled, className: triggerClassName, ...rest } =\n\t\t\t\t\t\t\t\ttriggerProps as Record<string, unknown> & {\n\t\t\t\t\t\t\t\t\tclassName?: string;\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tvoid type;\n\t\t\t\t\t\t\tvoid disabled;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\taria-label={strings.httpWarning}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'inline-flex items-center text-warning',\n\t\t\t\t\t\t\t\t\t\ttriggerClassName,\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<ShieldAlert className=\"size-3.5\" aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<TooltipContent side=\"top\" className=\"max-w-xs\">\n\t\t\t\t\t\t<Text size=\"xs\">{strings.httpWarning}</Text>\n\t\t\t\t\t</TooltipContent>\n\t\t\t\t</Tooltip>\n\t\t\t)}\n\t\t\t<span\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'decoration-dotted underline underline-offset-4',\n\t\t\t\t\t'transition-colors duration-200',\n\t\t\t\t\tisInsecure ? 'decoration-warning' : 'decoration-border',\n\t\t\t\t\tclickable ? 'hover:decoration-current' : null,\n\t\t\t\t)}\n\t\t\t\ttitle={(shouldShowTitle && url) || undefined}\n\t\t\t>\n\t\t\t\t{displayUrl}\n\t\t\t</span>\n\t\t\t{!!clickable && !!showExternalIcon && (\n\t\t\t\t<ExternalLink className=\"size-3 text-muted-foreground\" />\n\t\t\t)}\n\t\t</Text>\n\t);\n\n\tif (copyable) {\n\t\tconst copyableContent = (\n\t\t\t<Copyable\n\t\t\t\tvalue={url}\n\t\t\t\tdisplayValue={urlContent}\n\t\t\t\tsuccessMessage={strings.copySuccess}\n\t\t\t\tclassName={cn('-mx-0', className)}\n\t\t\t/>\n\t\t);\n\n\t\tif (clickable) {\n\t\t\treturn (\n\t\t\t\t<a\n\t\t\t\t\thref={url}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\tclassName=\"inline-flex items-center no-underline\"\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t>\n\t\t\t\t\t{copyableContent}\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\treturn copyableContent;\n\t}\n\n\tif (clickable) {\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={url}\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\tclassName=\"inline-flex items-center no-underline\"\n\t\t\t>\n\t\t\t\t{urlContent}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn urlContent;\n}\n\nUrlDisplay.displayName = 'UrlDisplay';\n","/**\n * InlineStat — label + value pair, the workhorse of detail panels and card\n * footers. Three layouts:\n *\n * - `between` (default): label and value pushed to opposite ends of the row.\n * - `inline`: label sits immediately before the value, separator-style.\n * - `stacked`: label above (xxs secondary), value below (sm).\n *\n * `mono` toggles `tabular-nums` on the value side for amounts and counters.\n * Use `valueClassName` for one-off colour/weight overrides; the surrounding\n * row is intentionally plain so consumers can stack many of these without\n * visual clutter.\n */\nimport type { ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport type InlineStatLayout = 'between' | 'inline' | 'stacked';\n\nexport interface InlineStatProps {\n\tlabel: ReactNode;\n\tvalue: ReactNode;\n\tlayout?: InlineStatLayout;\n\tmono?: boolean;\n\tclassName?: string;\n\tlabelClassName?: string;\n\tvalueClassName?: string;\n}\n\nexport function InlineStat({\n\tlabel,\n\tvalue,\n\tlayout = 'between',\n\tmono = false,\n\tclassName,\n\tlabelClassName,\n\tvalueClassName,\n}: InlineStatProps) {\n\tif (layout === 'stacked') {\n\t\treturn (\n\t\t\t<div className={cn('inline-stat--component', 'flex flex-col gap-0.5', className)}>\n\t\t\t\t<Text tag=\"span\" size=\"xxs\" type=\"secondary\" className={labelClassName}>\n\t\t\t\t\t{label}\n\t\t\t\t</Text>\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\tclassName={cn(mono && 'tabular-nums', valueClassName)}\n\t\t\t\t>\n\t\t\t\t\t{value}\n\t\t\t\t</Text>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst justify = layout === 'between' ? 'justify-between' : 'justify-start';\n\n\treturn (\n\t\t<div className={cn('flex items-center gap-2', justify, className)}>\n\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className={labelClassName}>\n\t\t\t\t{label}\n\t\t\t</Text>\n\t\t\t<Text\n\t\t\t\ttag=\"span\"\n\t\t\t\tclassName={cn(mono && 'tabular-nums', valueClassName)}\n\t\t\t>\n\t\t\t\t{value}\n\t\t\t</Text>\n\t\t</div>\n\t);\n}\n\nInlineStat.displayName = 'InlineStat';\n","/**\n * NumericValue — displays a number with `tabular-nums` and a chosen alignment.\n * Use for amounts, counters, percentages, durations — anywhere the value\n * benefits from monospace digits and consistent column alignment.\n *\n * Pass `value` as a primitive (auto-formatted via `Intl.NumberFormat`) or\n * pre-format upstream and pass a string. When `currency` is set, the value\n * is rendered with a currency symbol via `formatAmount` from `useCurrency()`\n * — defer to `MoneyDisplay` for richer money rendering (pair display, empty\n * fallback, large display sizes); this component is the leaf primitive.\n */\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\nimport { useTypographyConfig } from '@/lib/ui-provider';\n\nexport type NumericValueAlign = 'left' | 'right' | 'center';\n\ntype TextProps = ComponentProps<typeof Text>;\ntype TextSize = NonNullable<TextProps['size']>;\ntype TextWeight = NonNullable<TextProps['weight']>;\ntype TextType = NonNullable<TextProps['type']>;\n\nexport interface NumericValueProps extends Omit<TextProps, 'children' | 'content' | 'align'> {\n\tvalue: number | string | null | undefined;\n\talign?: NumericValueAlign;\n\t/** When set, formats `value` via `Intl.NumberFormat`; ignored if `value` is already a string. */\n\tlocale?: string;\n\t/** Forwarded to `Intl.NumberFormat` when `value` is numeric. */\n\tformatOptions?: Intl.NumberFormatOptions;\n\t/** Rendered when `value` is `null`/`undefined`/empty. Defaults to `'—'`. */\n\temptyLabel?: ReactNode;\n\tsize?: TextSize;\n\tweight?: TextWeight;\n\ttype?: TextType;\n}\n\nconst DEFAULT_EMPTY = '—';\n\nconst formatValue = (\n\tvalue: NumericValueProps['value'],\n\tlocale: string | undefined,\n\toptions: Intl.NumberFormatOptions | undefined,\n): string | null => {\n\tif (value === null || value === undefined || value === '') return null;\n\tif (typeof value === 'string') return value;\n\tif (Number.isNaN(value)) return null;\n\ttry {\n\t\treturn new Intl.NumberFormat(locale, options).format(value);\n\t} catch {\n\t\treturn String(value);\n\t}\n};\n\nexport function NumericValue({\n\tvalue,\n\talign = 'right',\n\tlocale,\n\tformatOptions,\n\temptyLabel = DEFAULT_EMPTY,\n\tsize: sizeProp,\n\tweight,\n\ttype,\n\tclassName,\n\t...props\n}: NumericValueProps) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst size = sizeProp ?? defaultTextSize ?? 'sm';\n\n\tconst formatted = formatValue(value, locale, formatOptions);\n\tconst alignClass =\n\t\talign === 'right' ? 'text-right' : align === 'center' ? 'text-center' : 'text-left';\n\n\tif (formatted === null) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tsize={size}\n\t\t\t\tweight={weight}\n\t\t\t\ttype={type ?? 'secondary'}\n\t\t\t\tclassName={cn('numeric-value--component', 'tabular-nums', alignClass, 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\tsize={size}\n\t\t\tweight={weight}\n\t\t\ttype={type}\n\t\t\tclassName={cn('tabular-nums', alignClass, className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{formatted}\n\t\t</Text>\n\t);\n}\n\nNumericValue.displayName = 'NumericValue';\n","/**\n * UserCell — avatar + name + optional subtitle list-item row, the canonical\n * shape for team rosters, conversation lists, comment authors, and search\n * result rows. Three sizes match the surrounding row density (sm/base/lg).\n *\n * Pass `avatarUrl` for an image, `initials` for a fallback, or `avatar` for\n * a full custom Avatar tree (e.g. with a status badge). The `trailing` slot\n * sits on the right edge — use it for badges, action buttons, or timestamps.\n *\n * Avatar primitives come from `base/display/avatar` (shadcn-backed) so they\n * match the rest of the system without configuration.\n */\nimport type { ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/base/display/avatar';\nimport { cn } from '@/lib/utils';\n\nexport type UserCellSize = 'sm' | 'base' | 'lg';\n\nexport interface UserCellProps {\n\tname: ReactNode;\n\tsubtitle?: ReactNode;\n\tavatarUrl?: string;\n\tavatarAlt?: string;\n\tinitials?: string;\n\t/** Fully custom avatar element (overrides `avatarUrl` / `initials`). */\n\tavatar?: ReactNode;\n\ttrailing?: ReactNode;\n\tsize?: UserCellSize;\n\tclassName?: string;\n}\n\nconst SIZE_MAP: Record<UserCellSize, { avatar: string; gap: string; nameSize: 'sm' | 'base'; subtitleSize: 'xs' | 'sm' }> = {\n\tsm: { avatar: 'size-7', gap: 'gap-2', nameSize: 'sm', subtitleSize: 'xs' },\n\tbase: { avatar: 'size-9', gap: 'gap-3', nameSize: 'sm', subtitleSize: 'xs' },\n\tlg: { avatar: 'size-11', gap: 'gap-3', nameSize: 'base', subtitleSize: 'sm' },\n};\n\nexport function UserCell({\n\tname,\n\tsubtitle,\n\tavatarUrl,\n\tavatarAlt,\n\tinitials,\n\tavatar,\n\ttrailing,\n\tsize = 'base',\n\tclassName,\n}: UserCellProps) {\n\tconst sizes = SIZE_MAP[size];\n\n\tconst avatarNode = avatar ?? (\n\t\t<Avatar className={sizes.avatar}>\n\t\t\t{!!avatarUrl && <AvatarImage src={avatarUrl} alt={avatarAlt ?? (typeof name === 'string' ? name : undefined)} />}\n\t\t\t{!!initials && <AvatarFallback>{initials}</AvatarFallback>}\n\t\t</Avatar>\n\t);\n\n\treturn (\n\t\t<div className={cn('user-cell--component', 'flex items-center', sizes.gap, className)}>\n\t\t\t{avatarNode}\n\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t<Text size={sizes.nameSize} weight=\"semibold\" className=\"truncate\">\n\t\t\t\t\t{name}\n\t\t\t\t</Text>\n\t\t\t\t{!!subtitle && (\n\t\t\t\t\t<Text size={sizes.subtitleSize} type=\"secondary\" className=\"truncate\">\n\t\t\t\t\t\t{subtitle}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{!!trailing && <div className=\"shrink-0\">{trailing}</div>}\n\t\t</div>\n\t);\n}\n\nUserCell.displayName = 'UserCell';\n","/**\n * SectionHeader — title row for in-card sections and standalone groupings:\n *\n * <Text weight=\"semibold\">{title}</Text>\n * {optional Badge | description on the next line}\n * {optional trailing action button on the right}\n *\n * Distinct from `SmartCard.title` (which is the *card's* primary header) —\n * use SectionHeader for nested sections inside a card body, or for grouping\n * blocks on a page that aren't full cards.\n *\n * `dense` tightens vertical spacing and sizes the title down to `xs` for\n * sub-section labels (e.g. \"Recent activity\" stripes inside a longer card).\n */\nimport type { ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface SectionHeaderProps {\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tbadge?: ReactNode;\n\taction?: ReactNode;\n\tdense?: boolean;\n\tclassName?: string;\n}\n\nexport function SectionHeader({\n\ttitle,\n\tdescription,\n\tbadge,\n\taction,\n\tdense = false,\n\tclassName,\n}: SectionHeaderProps) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn('section-header--component', \n\t\t\t\t'flex items-start justify-between',\n\t\t\t\tdense ? 'gap-2' : 'gap-3',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t<div className={cn('flex items-center', dense ? 'gap-1.5' : 'gap-2')}>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize={dense ? 'xs' : 'sm'}\n\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\tclassName=\"truncate\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</Text>\n\t\t\t\t\t{!!badge && <span className=\"shrink-0\">{badge}</span>}\n\t\t\t\t</div>\n\t\t\t\t{!!description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize={dense ? 'xxs' : 'xs'}\n\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\tclassName={dense ? 'mt-0.5' : 'mt-1'}\n\t\t\t\t\t>\n\t\t\t\t\t\t{description}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{!!action && <div className=\"shrink-0\">{action}</div>}\n\t\t</div>\n\t);\n}\n\nSectionHeader.displayName = 'SectionHeader';\n"],"mappings":"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"}