admin-ui-starter-kit 0.4.3 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1014) hide show
  1. package/.agents/skills/admin-ui-consumer-migration/SKILL.md +10 -0
  2. package/.agents/skills/admin-ui-consumer-migration/references/actions-service.md +377 -0
  3. package/CHANGELOG.md +37 -1
  4. package/COMPONENT_SELECTION.md +10 -1
  5. package/INTEGRATION.md +93 -0
  6. package/README.md +95 -1
  7. package/dist/_shared/accordion-Df1XrCDv.cjs +2 -0
  8. package/dist/_shared/accordion-Df1XrCDv.cjs.map +1 -0
  9. package/dist/_shared/accordion-Rzi9wEl6.js +130 -0
  10. package/dist/_shared/accordion-Rzi9wEl6.js.map +1 -0
  11. package/dist/_shared/action-menu-CrOJ63Q9.js +96 -0
  12. package/dist/_shared/action-menu-CrOJ63Q9.js.map +1 -0
  13. package/dist/_shared/action-menu-D9OowHKx.cjs +2 -0
  14. package/dist/_shared/action-menu-D9OowHKx.cjs.map +1 -0
  15. package/dist/_shared/ai-artifact-D4EjKoq6.cjs +3 -0
  16. package/dist/_shared/ai-artifact-D4EjKoq6.cjs.map +1 -0
  17. package/dist/_shared/ai-artifact-nlOrSeqT.js +1099 -0
  18. package/dist/_shared/ai-artifact-nlOrSeqT.js.map +1 -0
  19. package/dist/_shared/auth-C5HawWvp.cjs +2 -0
  20. package/dist/_shared/auth-C5HawWvp.cjs.map +1 -0
  21. package/dist/_shared/auth-DnMEJXP9.js +643 -0
  22. package/dist/_shared/auth-DnMEJXP9.js.map +1 -0
  23. package/dist/_shared/badge-6WYAMJwA.js +108 -0
  24. package/dist/_shared/badge-6WYAMJwA.js.map +1 -0
  25. package/dist/_shared/badge-CBof1rbF.cjs +2 -0
  26. package/dist/_shared/badge-CBof1rbF.cjs.map +1 -0
  27. package/dist/_shared/button-BGKY8UY0.js +173 -0
  28. package/dist/_shared/button-BGKY8UY0.js.map +1 -0
  29. package/dist/_shared/button-BI347RlM.cjs +2 -0
  30. package/dist/_shared/button-BI347RlM.cjs.map +1 -0
  31. package/dist/_shared/button-DEFoa7-c.cjs +2 -0
  32. package/dist/_shared/button-DEFoa7-c.cjs.map +1 -0
  33. package/dist/_shared/button-DlqryxqA.js +46 -0
  34. package/dist/_shared/button-DlqryxqA.js.map +1 -0
  35. package/dist/_shared/buttons-PL-TGJ32.js +143 -0
  36. package/dist/_shared/buttons-PL-TGJ32.js.map +1 -0
  37. package/dist/_shared/buttons-kVvSD_oI.cjs +2 -0
  38. package/dist/_shared/buttons-kVvSD_oI.cjs.map +1 -0
  39. package/dist/_shared/combobox-B4KmDZK0.cjs +2 -0
  40. package/dist/_shared/combobox-B4KmDZK0.cjs.map +1 -0
  41. package/dist/_shared/combobox-YUGi3xSc.js +810 -0
  42. package/dist/_shared/combobox-YUGi3xSc.js.map +1 -0
  43. package/dist/_shared/comments-GzXdwpq4.js +952 -0
  44. package/dist/_shared/comments-GzXdwpq4.js.map +1 -0
  45. package/dist/_shared/comments-Zj_foV1V.cjs +2 -0
  46. package/dist/_shared/comments-Zj_foV1V.cjs.map +1 -0
  47. package/dist/_shared/date-picker-Dl91BM3D.js +1361 -0
  48. package/dist/_shared/date-picker-Dl91BM3D.js.map +1 -0
  49. package/dist/_shared/date-picker-zFOqtmAS.cjs +2 -0
  50. package/dist/_shared/date-picker-zFOqtmAS.cjs.map +1 -0
  51. package/dist/_shared/date-pickers-BBydcIjN.cjs +2 -0
  52. package/dist/_shared/date-pickers-BBydcIjN.cjs.map +1 -0
  53. package/dist/_shared/date-pickers-D2OsgV4V.js +330 -0
  54. package/dist/_shared/date-pickers-D2OsgV4V.js.map +1 -0
  55. package/dist/_shared/dialog-CCN4tjU9.js +101 -0
  56. package/dist/_shared/dialog-CCN4tjU9.js.map +1 -0
  57. package/dist/_shared/dialog-Dd0ENSrU.cjs +2 -0
  58. package/dist/_shared/dialog-Dd0ENSrU.cjs.map +1 -0
  59. package/dist/_shared/display-Dhy5ogxC.cjs +2 -0
  60. package/dist/_shared/display-Dhy5ogxC.cjs.map +1 -0
  61. package/dist/_shared/display-NBtWdAMl.js +1154 -0
  62. package/dist/_shared/display-NBtWdAMl.js.map +1 -0
  63. package/dist/_shared/forms-BweX9Lm8.cjs +2 -0
  64. package/dist/_shared/forms-BweX9Lm8.cjs.map +1 -0
  65. package/dist/_shared/forms-L1hyNKpZ.js +3430 -0
  66. package/dist/_shared/forms-L1hyNKpZ.js.map +1 -0
  67. package/dist/_shared/header-BSBPtGn4.cjs +2 -0
  68. package/dist/_shared/header-BSBPtGn4.cjs.map +1 -0
  69. package/dist/_shared/header-No6GSp4R.js +360 -0
  70. package/dist/_shared/header-No6GSp4R.js.map +1 -0
  71. package/dist/_shared/hooks-BkXvZ4py.js +118 -0
  72. package/dist/_shared/hooks-BkXvZ4py.js.map +1 -0
  73. package/dist/_shared/hooks-D3SbLBRk.cjs +2 -0
  74. package/dist/_shared/hooks-D3SbLBRk.cjs.map +1 -0
  75. package/dist/_shared/mentions-CA1Ka_Bv.cjs +2 -0
  76. package/dist/_shared/mentions-CA1Ka_Bv.cjs.map +1 -0
  77. package/dist/_shared/mentions-CdvvLGQG.js +506 -0
  78. package/dist/_shared/mentions-CdvvLGQG.js.map +1 -0
  79. package/dist/_shared/metadata-Ckcmar8d.js +235 -0
  80. package/dist/_shared/metadata-Ckcmar8d.js.map +1 -0
  81. package/dist/_shared/metadata-DamdYVZL.cjs +2 -0
  82. package/dist/_shared/metadata-DamdYVZL.cjs.map +1 -0
  83. package/dist/_shared/navigation-BemwPPC8.cjs +2 -0
  84. package/dist/_shared/navigation-BemwPPC8.cjs.map +1 -0
  85. package/dist/_shared/navigation-DY540HB0.js +419 -0
  86. package/dist/_shared/navigation-DY540HB0.js.map +1 -0
  87. package/dist/_shared/overlays-CJs_syAu.js +648 -0
  88. package/dist/_shared/overlays-CJs_syAu.js.map +1 -0
  89. package/dist/_shared/overlays-DWFEaAog.cjs +2 -0
  90. package/dist/_shared/overlays-DWFEaAog.cjs.map +1 -0
  91. package/dist/_shared/page-Cg_gNpyK.js +262 -0
  92. package/dist/_shared/page-Cg_gNpyK.js.map +1 -0
  93. package/dist/_shared/page-CpFWQuWU.cjs +2 -0
  94. package/dist/_shared/page-CpFWQuWU.cjs.map +1 -0
  95. package/dist/_shared/rich-text-editor-B2VqNi6j.js +620 -0
  96. package/dist/_shared/rich-text-editor-B2VqNi6j.js.map +1 -0
  97. package/dist/_shared/rich-text-editor-ChE-pI3N.cjs +2 -0
  98. package/dist/_shared/rich-text-editor-ChE-pI3N.cjs.map +1 -0
  99. package/dist/_shared/sheet-BOgUA4fC.cjs +2 -0
  100. package/dist/_shared/sheet-BOgUA4fC.cjs.map +1 -0
  101. package/dist/_shared/sheet-DWQuyRRz.js +100 -0
  102. package/dist/_shared/sheet-DWQuyRRz.js.map +1 -0
  103. package/dist/_shared/sidebar-BGpi9K_Q.js +389 -0
  104. package/dist/_shared/sidebar-BGpi9K_Q.js.map +1 -0
  105. package/dist/_shared/sidebar-BTFfxmNG.cjs +2 -0
  106. package/dist/_shared/sidebar-BTFfxmNG.cjs.map +1 -0
  107. package/dist/_shared/sidebar-CC3lcvNX.cjs +2 -0
  108. package/dist/_shared/sidebar-CC3lcvNX.cjs.map +1 -0
  109. package/dist/_shared/sidebar-wmztVpnO.js +538 -0
  110. package/dist/_shared/sidebar-wmztVpnO.js.map +1 -0
  111. package/dist/_shared/smart-card-B6m7tmt0.cjs +2 -0
  112. package/dist/_shared/smart-card-B6m7tmt0.cjs.map +1 -0
  113. package/dist/_shared/smart-card-thLb85Ih.js +361 -0
  114. package/dist/_shared/smart-card-thLb85Ih.js.map +1 -0
  115. package/dist/_shared/table-BItnJ8lG.cjs +2 -0
  116. package/dist/_shared/table-BItnJ8lG.cjs.map +1 -0
  117. package/dist/_shared/table-D3349b-v.js +1189 -0
  118. package/dist/_shared/table-D3349b-v.js.map +1 -0
  119. package/dist/_shared/workspace-BGVeTeJy.js +357 -0
  120. package/dist/_shared/workspace-BGVeTeJy.js.map +1 -0
  121. package/dist/_shared/workspace-CWyzTUmE.cjs +2 -0
  122. package/dist/_shared/workspace-CWyzTUmE.cjs.map +1 -0
  123. package/dist/components/base/accordion/index.cjs +1 -1
  124. package/dist/components/base/accordion/index.js +1 -1
  125. package/dist/components/base/badge/index.cjs +1 -1
  126. package/dist/components/base/badge/index.js +1 -1
  127. package/dist/components/base/buttons/index.cjs +1 -1
  128. package/dist/components/base/buttons/index.js +2 -2
  129. package/dist/components/base/cards/index.cjs +1 -1
  130. package/dist/components/base/cards/index.js +1 -1
  131. package/dist/components/base/carousel/index.cjs +1 -1
  132. package/dist/components/base/carousel/index.js +1 -1
  133. package/dist/components/base/combobox/index.cjs +1 -1
  134. package/dist/components/base/combobox/index.js +1 -1
  135. package/dist/components/base/date-pickers/index.cjs +1 -1
  136. package/dist/components/base/date-pickers/index.js +2 -2
  137. package/dist/components/base/display/alert.d.ts +1 -1
  138. package/dist/components/base/display/index.cjs +1 -1
  139. package/dist/components/base/display/index.js +6 -6
  140. package/dist/components/base/display/metadata/index.cjs +1 -1
  141. package/dist/components/base/display/metadata/index.js +1 -1
  142. package/dist/components/base/event-calendar/index.cjs +1 -1
  143. package/dist/components/base/event-calendar/index.js +41 -41
  144. package/dist/components/base/forms/index.cjs +1 -1
  145. package/dist/components/base/forms/index.js +1 -1
  146. package/dist/components/base/map/index.cjs +1 -1
  147. package/dist/components/base/map/index.js +31 -31
  148. package/dist/components/base/navigation/index.cjs +1 -1
  149. package/dist/components/base/navigation/index.js +2 -2
  150. package/dist/components/base/sheet/index.cjs +1 -1
  151. package/dist/components/base/sheet/index.js +1 -1
  152. package/dist/components/base/sidebar/index.cjs +1 -1
  153. package/dist/components/base/sidebar/index.js +1 -1
  154. package/dist/components/base/table/index.cjs +1 -1
  155. package/dist/components/base/table/index.js +1 -1
  156. package/dist/components/composed/admin/index.cjs +1 -1
  157. package/dist/components/composed/admin/index.js +47 -47
  158. package/dist/components/composed/ai/index.cjs +1 -1
  159. package/dist/components/composed/ai/index.js +105 -105
  160. package/dist/components/composed/analytics/index.cjs +1 -1
  161. package/dist/components/composed/analytics/index.js +89 -89
  162. package/dist/components/composed/cards/index.cjs +1 -1
  163. package/dist/components/composed/cards/index.js +116 -116
  164. package/dist/components/composed/commerce/index.cjs +1 -1
  165. package/dist/components/composed/commerce/index.js +127 -127
  166. package/dist/components/composed/dark-surfaces/index.cjs +1 -1
  167. package/dist/components/composed/dark-surfaces/index.js +37 -37
  168. package/dist/components/composed/data-display/index.cjs +1 -1
  169. package/dist/components/composed/data-display/index.js +3 -3
  170. package/dist/components/composed/navigation/index.cjs +1 -1
  171. package/dist/components/composed/navigation/index.js +55 -55
  172. package/dist/components/composed/onboarding/index.cjs +1 -1
  173. package/dist/components/composed/onboarding/index.js +1 -1
  174. package/dist/components/composed/timelines/index.cjs +1 -1
  175. package/dist/components/composed/timelines/index.js +2 -2
  176. package/dist/components/features/activities/index.cjs +1 -1
  177. package/dist/components/features/activities/index.js +56 -56
  178. package/dist/components/features/ai-chat/index.cjs +2 -2
  179. package/dist/components/features/ai-chat/index.js +53 -53
  180. package/dist/components/features/card/index.cjs +1 -1
  181. package/dist/components/features/card/index.js +21 -21
  182. package/dist/components/features/comments/index.cjs +1 -1
  183. package/dist/components/features/comments/index.js +2 -2
  184. package/dist/components/features/event-log/index.cjs +1 -1
  185. package/dist/components/features/event-log/index.js +3 -3
  186. package/dist/components/features/filters/index.cjs +1 -1
  187. package/dist/components/features/filters/index.js +143 -143
  188. package/dist/components/features/global-search/index.cjs +1 -1
  189. package/dist/components/features/global-search/index.js +57 -57
  190. package/dist/components/features/kanban/index.cjs +1 -1
  191. package/dist/components/features/kanban/index.js +14 -14
  192. package/dist/components/features/media-library/index.cjs +1 -1
  193. package/dist/components/features/media-library/index.js +178 -178
  194. package/dist/components/features/mentions/index.cjs +1 -1
  195. package/dist/components/features/mentions/index.js +1 -1
  196. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  197. package/dist/components/features/overlays/alert-dialog.d.ts.map +1 -1
  198. package/dist/components/features/overlays/drawer.d.ts +1 -1
  199. package/dist/components/features/overlays/drawer.d.ts.map +1 -1
  200. package/dist/components/features/overlays/index.cjs +1 -1
  201. package/dist/components/features/overlays/index.js +1 -1
  202. package/dist/components/features/overlays/overlays.types.d.ts +1 -0
  203. package/dist/components/features/overlays/overlays.types.d.ts.map +1 -1
  204. package/dist/components/features/products/index.cjs +1 -1
  205. package/dist/components/features/products/index.js +124 -124
  206. package/dist/components/features/rich-text-editor/index.cjs +1 -1
  207. package/dist/components/features/rich-text-editor/index.js +1 -1
  208. package/dist/components/features/schema-form/index.cjs +1 -1
  209. package/dist/components/features/schema-form/index.js +26 -26
  210. package/dist/components/features/suggestions/index.cjs +1 -1
  211. package/dist/components/features/suggestions/index.js +1 -1
  212. package/dist/components/layout/auth/index.cjs +1 -1
  213. package/dist/components/layout/auth/index.js +1 -1
  214. package/dist/components/layout/header/index.cjs +1 -1
  215. package/dist/components/layout/header/index.js +1 -1
  216. package/dist/components/layout/hooks/index.cjs +1 -1
  217. package/dist/components/layout/hooks/index.js +1 -1
  218. package/dist/components/layout/index.cjs +1 -1
  219. package/dist/components/layout/index.js +6 -6
  220. package/dist/components/layout/page/index.cjs +1 -1
  221. package/dist/components/layout/page/index.js +1 -1
  222. package/dist/components/layout/sidebar/index.cjs +1 -1
  223. package/dist/components/layout/sidebar/index.js +2 -2
  224. package/dist/components/layout/workspace/index.cjs +1 -1
  225. package/dist/components/layout/workspace/index.js +1 -1
  226. package/dist/components/ui/alert.d.ts +1 -1
  227. package/dist/components/ui/badge.d.ts +1 -1
  228. package/dist/components/ui/button.d.ts +1 -1
  229. package/dist/services/actions/action-adapters.d.ts +97 -0
  230. package/dist/services/actions/action-adapters.d.ts.map +1 -0
  231. package/dist/services/actions/action-overlay-outlet.d.ts +4 -0
  232. package/dist/services/actions/action-overlay-outlet.d.ts.map +1 -0
  233. package/dist/services/actions/action-provider.d.ts +8 -0
  234. package/dist/services/actions/action-provider.d.ts.map +1 -0
  235. package/dist/services/actions/action-scope.d.ts +4 -0
  236. package/dist/services/actions/action-scope.d.ts.map +1 -0
  237. package/dist/services/actions/action-store.d.ts +56 -0
  238. package/dist/services/actions/action-store.d.ts.map +1 -0
  239. package/dist/services/actions/actions.strings.d.ts +3 -0
  240. package/dist/services/actions/actions.strings.d.ts.map +1 -0
  241. package/dist/services/actions/actions.types.d.ts +309 -0
  242. package/dist/services/actions/actions.types.d.ts.map +1 -0
  243. package/dist/services/actions/hooks.d.ts +9 -0
  244. package/dist/services/actions/hooks.d.ts.map +1 -0
  245. package/dist/services/actions/index.cjs +2 -0
  246. package/dist/services/actions/index.cjs.map +1 -0
  247. package/dist/services/actions/index.d.ts +9 -0
  248. package/dist/services/actions/index.d.ts.map +1 -0
  249. package/dist/services/actions/index.js +844 -0
  250. package/dist/services/actions/index.js.map +1 -0
  251. package/dist/showcase/assets/AreaChart-BYEewdc_.js +6 -0
  252. package/dist/showcase/assets/CompositeItem-Duekeg4m.js +1 -0
  253. package/dist/showcase/assets/CompositeRoot-BgNU3T7R.js +1 -0
  254. package/dist/showcase/assets/DialogTrigger-9xWmoeF5.js +1 -0
  255. package/dist/showcase/assets/LabelableContext-B3W_70Qk.js +1 -0
  256. package/dist/showcase/assets/PreviewLayout-nADJqRlP.js +1 -0
  257. package/dist/showcase/assets/RadioGroup-Bp1VCzxr.js +1 -0
  258. package/dist/showcase/assets/Separator-9PWX3shz.js +1 -0
  259. package/dist/showcase/assets/ToolbarRootContext-DwELw9xS.js +1 -0
  260. package/dist/showcase/assets/accordion-CfqHO9_z.js +171 -0
  261. package/dist/showcase/assets/accordion-variants-pkPHxkLW.js +1 -0
  262. package/dist/showcase/assets/action-menu-DFzSuDjI.js +1 -0
  263. package/dist/showcase/assets/activities-Bo97b2-I.js +501 -0
  264. package/dist/showcase/assets/activities-feed-card-D77gf27B.js +1 -0
  265. package/dist/showcase/assets/activity-BUlCWLI8.js +1 -0
  266. package/dist/showcase/assets/admin-CxTV4kZX.js +80 -0
  267. package/dist/showcase/assets/ai-Bym5H8bn.js +41 -0
  268. package/dist/showcase/assets/ai-artifact-DZVl1WmK.js +2 -0
  269. package/dist/showcase/assets/ai-chat-M3X5-PgT.js +568 -0
  270. package/dist/showcase/assets/ai-elements-DjppcMBD.js +387 -0
  271. package/dist/showcase/assets/ai-new-CXnrIi5S.js +167 -0
  272. package/dist/showcase/assets/ai-tool-call-DyMI8DqD.js +1 -0
  273. package/dist/showcase/assets/alert-D6Pygy2s.js +62 -0
  274. package/dist/showcase/assets/alert-DCrWLbEx.js +93 -0
  275. package/dist/showcase/assets/alert-qTNM0vld.js +1 -0
  276. package/dist/showcase/assets/api-key-list-CCpuHYHc.js +73 -0
  277. package/dist/showcase/assets/app-sidebar-CxTRNC5L.js +1 -0
  278. package/dist/showcase/assets/arrow-down--phuskCV.js +1 -0
  279. package/dist/showcase/assets/arrow-left-B__WWqyA.js +1 -0
  280. package/dist/showcase/assets/arrow-right-1-EvXxjB.js +1 -0
  281. package/dist/showcase/assets/arrow-up-lWotnmo7.js +1 -0
  282. package/dist/showcase/assets/arrow-up-right-IyQ3oeq0.js +1 -0
  283. package/dist/showcase/assets/avatar-gugtNx4D.js +57 -0
  284. package/dist/showcase/assets/avatar-n1nywTlx.js +1 -0
  285. package/dist/showcase/assets/badge-TuE-u3Hv.js +28 -0
  286. package/dist/showcase/assets/badge-check-CPDvpVzK.js +1 -0
  287. package/dist/showcase/assets/bell-DeCVddCA.js +1 -0
  288. package/dist/showcase/assets/bot-B_vzJEJH.js +1 -0
  289. package/dist/showcase/assets/box-z4O8t_K5.js +1 -0
  290. package/dist/showcase/assets/brain-DdKBE4Bh.js +1 -0
  291. package/dist/showcase/assets/brand-CfW7mgTY.js +36 -0
  292. package/dist/showcase/assets/breadcrumb-B4TBbKv3.js +52 -0
  293. package/dist/showcase/assets/breadcrumb-bF_sFVBL.js +1 -0
  294. package/dist/showcase/assets/breadcrumbs-CBv3EaMX.js +1 -0
  295. package/dist/showcase/assets/briefcase-ClqzeNt3.js +1 -0
  296. package/dist/showcase/assets/building-2-BQuWgjZj.js +1 -0
  297. package/dist/showcase/assets/button-CWKNCI82.js +44 -0
  298. package/dist/showcase/assets/button-group-BYhxtFwV.js +1 -0
  299. package/dist/showcase/assets/buttons-mBRyBw3Q.js +270 -0
  300. package/dist/showcase/assets/calendar-BgloJjlW.js +1 -0
  301. package/dist/showcase/assets/calendar-CJDWspzi.js +1 -0
  302. package/dist/showcase/assets/calendar-CgML2kJt.js +16 -0
  303. package/dist/showcase/assets/calendar-days-C0gTLVnY.js +1 -0
  304. package/dist/showcase/assets/camera-nIlaz4Sn.js +1 -0
  305. package/dist/showcase/assets/card-1ncRnRvq.js +1 -0
  306. package/dist/showcase/assets/card-CcgWzFB-.js +188 -0
  307. package/dist/showcase/assets/card-primitives-By4-RTuP.js +1 -0
  308. package/dist/showcase/assets/card-radio-group-DeX3qsRg.js +1 -0
  309. package/dist/showcase/assets/cards-DdqQr8rY.js +328 -0
  310. package/dist/showcase/assets/carousel-CV8ltDl8.js +449 -0
  311. package/dist/showcase/assets/chart-BNzHjskC.js +358 -0
  312. package/dist/showcase/assets/chart-column-CpTxRLEH.js +1 -0
  313. package/dist/showcase/assets/checkbox-CZTTm4Dv.js +1 -0
  314. package/dist/showcase/assets/chevron-down-LWBNHe9S.js +1 -0
  315. package/dist/showcase/assets/chevron-left-BsshO7nf.js +1 -0
  316. package/dist/showcase/assets/chevron-right-t68um2_G.js +1 -0
  317. package/dist/showcase/assets/chevron-up-DjhlESJB.js +1 -0
  318. package/dist/showcase/assets/chevrons-up-down-ZUo0Do59.js +1 -0
  319. package/dist/showcase/assets/circle-BL52dLr9.js +1 -0
  320. package/dist/showcase/assets/circle-alert-CXCt6zxc.js +1 -0
  321. package/dist/showcase/assets/circle-check-CbiRRw7s.js +1 -0
  322. package/dist/showcase/assets/circle-check-big-BSgn7lyt.js +1 -0
  323. package/dist/showcase/assets/circle-dot-WEOpGGJf.js +1 -0
  324. package/dist/showcase/assets/circle-question-mark-C9hLlsD7.js +1 -0
  325. package/dist/showcase/assets/circle-x-BT9TJbJC.js +1 -0
  326. package/dist/showcase/assets/clock-3-CfRK8ckc.js +1 -0
  327. package/dist/showcase/assets/clock-D-3zf0c1.js +1 -0
  328. package/dist/showcase/assets/code-xml-CQYKKuBU.js +1 -0
  329. package/dist/showcase/assets/collapsible-BC0hQvat.js +27 -0
  330. package/dist/showcase/assets/collapsible-CRVtVDCF.js +1 -0
  331. package/dist/showcase/assets/combobox-D4VYvYCT.js +696 -0
  332. package/dist/showcase/assets/command-CxeHT4lL.js +1 -0
  333. package/dist/showcase/assets/command-Do_t_Zou.js +1 -0
  334. package/dist/showcase/assets/comment-composer-DoFwvVlq.js +1 -0
  335. package/dist/showcase/assets/comment-item-CT8UbVeg.js +1 -0
  336. package/dist/showcase/assets/comments-CqdXrjUn.js +357 -0
  337. package/dist/showcase/assets/commerce-B9V2Wo_q.js +79 -0
  338. package/dist/showcase/assets/commerce-extras-CNT3QmAT.js +189 -0
  339. package/dist/showcase/assets/composite-BXLXcagx.js +1 -0
  340. package/dist/showcase/assets/contact-card-BLcAXepj.js +65 -0
  341. package/dist/showcase/assets/content-container-DJVD3ZmI.js +1 -0
  342. package/dist/showcase/assets/copyable-od17NrMu.js +96 -0
  343. package/dist/showcase/assets/course-card-CdZQr5yy.js +77 -0
  344. package/dist/showcase/assets/cpu-B8kRNR1R.js +1 -0
  345. package/dist/showcase/assets/credit-card-BYMQj03s.js +1 -0
  346. package/dist/showcase/assets/currency-Cxv3Cp6B.js +149 -0
  347. package/dist/showcase/assets/dark-surfaces-Cfp58iFb.js +90 -0
  348. package/dist/showcase/assets/database-DuUABvxU.js +1 -0
  349. package/dist/showcase/assets/date-block-E9qfY7W7.js +1 -0
  350. package/dist/showcase/assets/date-picker-I8BdaiiU.js +1 -0
  351. package/dist/showcase/assets/date-pickers-BLJaqhcS.js +73 -0
  352. package/dist/showcase/assets/dense-info-Bk1K_7Ww.js +106 -0
  353. package/dist/showcase/assets/dialog-BuatDnQ9.js +1 -0
  354. package/dist/showcase/assets/dialog-DCx-LydW.js +1 -0
  355. package/dist/showcase/assets/display-Bt7busw5.js +403 -0
  356. package/dist/showcase/assets/dist-BPyBHOXU.js +45 -0
  357. package/dist/showcase/assets/dollar-sign-qXQSS6Gh.js +1 -0
  358. package/dist/showcase/assets/download-B2JAmHmJ.js +1 -0
  359. package/dist/showcase/assets/dropdown-menu-DXT3BZLa.js +1 -0
  360. package/dist/showcase/assets/dropzone-BKIxDJNy.js +1 -0
  361. package/dist/showcase/assets/earth-7-Z3Gv2v.js +1 -0
  362. package/dist/showcase/assets/ellipsis-6Krb3RRW.js +1 -0
  363. package/dist/showcase/assets/ellipsis-vertical-DeOMIw1J.js +1 -0
  364. package/dist/showcase/assets/empty-BSYKaeXQ.js +1 -0
  365. package/dist/showcase/assets/empty-item-YElgv25f.js +49 -0
  366. package/dist/showcase/assets/empty-state-D-LrvnKF.js +1 -0
  367. package/dist/showcase/assets/empty-state-dNh1GtVU.js +188 -0
  368. package/dist/showcase/assets/enhanced-activities-Bw99ItYl.js +361 -0
  369. package/dist/showcase/assets/enhanced-combobox-CqLZmU3K.js +1 -0
  370. package/dist/showcase/assets/event-calendar-CcSi7g5A.js +138 -0
  371. package/dist/showcase/assets/event-log-2uq-eYxh.js +330 -0
  372. package/dist/showcase/assets/example-CTJ8AdNR.js +1 -0
  373. package/dist/showcase/assets/external-link-D0gqSa1q.js +1 -0
  374. package/dist/showcase/assets/eye-CDMCDLei.js +1 -0
  375. package/dist/showcase/assets/feature-announcement-BlyNck35.js +34 -0
  376. package/dist/showcase/assets/file-Y5EbzufX.js +1 -0
  377. package/dist/showcase/assets/file-text-DH1mBuPi.js +1 -0
  378. package/dist/showcase/assets/filters-BtHF4GSM.js +78 -0
  379. package/dist/showcase/assets/flag-CJ08LwLY.js +1 -0
  380. package/dist/showcase/assets/folder-open-DODo2pjy.js +1 -0
  381. package/dist/showcase/assets/form-field-CHY7jh1q.js +1 -0
  382. package/dist/showcase/assets/format-DYJqAuDM.js +1 -0
  383. package/dist/showcase/assets/forms-DgvQQXHO.js +862 -0
  384. package/dist/showcase/assets/frame-CdKicP4A.js +167 -0
  385. package/dist/showcase/assets/getPseudoElementBounds-D9-Hr3mO.js +1 -0
  386. package/dist/showcase/assets/gift-DD8O7cld.js +1 -0
  387. package/dist/showcase/assets/giftcard-cards-Dp9eYodY.js +85 -0
  388. package/dist/showcase/assets/git-branch-DZq1Vo2G.js +1 -0
  389. package/dist/showcase/assets/global-search-BqDotXql.js +215 -0
  390. package/dist/showcase/assets/global-search-PH6LXqZw.js +1 -0
  391. package/dist/showcase/assets/globe-mRTwrUxM.js +1 -0
  392. package/dist/showcase/assets/gradient-card-CaL88YKv.js +58 -0
  393. package/dist/showcase/assets/hash-DuqvHQHv.js +1 -0
  394. package/dist/showcase/assets/header-CiNgDop3.js +1 -0
  395. package/dist/showcase/assets/header-notifications-B9XMBsK_.js +1 -0
  396. package/dist/showcase/assets/heart-DsGJfnDx.js +1 -0
  397. package/dist/showcase/assets/house-B504aFIP.js +1 -0
  398. package/dist/showcase/assets/icon-badge-DMNu8xb5.js +1 -0
  399. package/dist/showcase/assets/image-C3DaMxmn.js +1 -0
  400. package/dist/showcase/assets/inbox-BWKQMLMx.js +1 -0
  401. package/dist/showcase/assets/index-DaYVSqKu.js +10 -0
  402. package/dist/showcase/assets/inertValue-DrtTkMGx.js +1 -0
  403. package/dist/showcase/assets/info-_FrGoCay.js +1 -0
  404. package/dist/showcase/assets/inline-stat-BYu-tiUU.js +1 -0
  405. package/dist/showcase/assets/input-C96HMHWR.js +1 -0
  406. package/dist/showcase/assets/input-fMPi7XxI.js +1 -0
  407. package/dist/showcase/assets/input-group-BZnSgFCn.js +47 -0
  408. package/dist/showcase/assets/input-group-CVONNP3T.js +1 -0
  409. package/dist/showcase/assets/inputs-Blh0LJ8-.js +155 -0
  410. package/dist/showcase/assets/invoice-header-Bpo4iwX3.js +36 -0
  411. package/dist/showcase/assets/invoice-items-OVIrbG0k.js +36 -0
  412. package/dist/showcase/assets/invoice-mini-CaOMTiUO.js +14 -0
  413. package/dist/showcase/assets/invoice-table-BXd_HhUg.js +30 -0
  414. package/dist/showcase/assets/isSameDay-NBVO9AKF.js +1 -0
  415. package/dist/showcase/assets/isToday-Bk5HMXWn.js +1 -0
  416. package/dist/showcase/assets/italic-BOv5bW4H.js +1 -0
  417. package/dist/showcase/assets/item-B4rdcVVp.js +134 -0
  418. package/dist/showcase/assets/item-BVt0zZ12.js +1 -0
  419. package/dist/showcase/assets/item-C4Xk3DC1.js +1 -0
  420. package/dist/showcase/assets/kanban-BXbelelR.js +186 -0
  421. package/dist/showcase/assets/label-Cv6wotdv.js +1 -0
  422. package/dist/showcase/assets/languages-BofyvcCF.js +1 -0
  423. package/dist/showcase/assets/layers-DJK0t5px.js +1 -0
  424. package/dist/showcase/assets/layout-app-shell-D_yMonSl.js +608 -0
  425. package/dist/showcase/assets/layout-auth-BTvSTwUz.js +754 -0
  426. package/dist/showcase/assets/layout-containers-PMuo__2O.js +101 -0
  427. package/dist/showcase/assets/layout-header-DQ3zeCHz.js +170 -0
  428. package/dist/showcase/assets/layout-page-CbvWdHrK.js +122 -0
  429. package/dist/showcase/assets/layout-primitives-6nsFFIdE.js +34 -0
  430. package/dist/showcase/assets/layout-sidebar-CKqeVCSY.js +224 -0
  431. package/dist/showcase/assets/layout-users-Cypq-42s.js +117 -0
  432. package/dist/showcase/assets/layout-workspace-DiRR8vDv.js +183 -0
  433. package/dist/showcase/assets/lock-DXmvLEEx.js +1 -0
  434. package/dist/showcase/assets/lock-keyhole-Cu6M-jjE.js +1 -0
  435. package/dist/showcase/assets/mail-CXVFHkzh.js +1 -0
  436. package/dist/showcase/assets/mail-check-BNEu3j2a.js +1 -0
  437. package/dist/showcase/assets/map-DnE1pFCQ.js +124 -0
  438. package/dist/showcase/assets/map-pin-CpOVa8IH.js +1 -0
  439. package/dist/showcase/assets/media-library-C-KfEvm4.js +695 -0
  440. package/dist/showcase/assets/mention-inline-suggestions-DlmslsfR.js +1 -0
  441. package/dist/showcase/assets/mentions-C8ZdNFuC.js +138 -0
  442. package/dist/showcase/assets/menus-B8yUL75K.js +165 -0
  443. package/dist/showcase/assets/message-square-DNOTaOFs.js +1 -0
  444. package/dist/showcase/assets/metadata-list-BQAanxM-.js +1 -0
  445. package/dist/showcase/assets/metadata-list-DL9qgDAp.js +288 -0
  446. package/dist/showcase/assets/metric-CYi09Ltx.js +1 -0
  447. package/dist/showcase/assets/metric-bar-CQH1z8T3.js +1 -0
  448. package/dist/showcase/assets/metric-grid-H1ixqMCI.js +1 -0
  449. package/dist/showcase/assets/metric-trend-chip-BBzWzFZ-.js +1 -0
  450. package/dist/showcase/assets/metrics-analytics-bar-C7Z2ITl4.js +44 -0
  451. package/dist/showcase/assets/metrics-analytics-cards-CZZSWiMn.js +50 -0
  452. package/dist/showcase/assets/metrics-comparison-BPqz8k30.js +76 -0
  453. package/dist/showcase/assets/metrics-heatmap-C3NYZAfx.js +27 -0
  454. package/dist/showcase/assets/metrics-inline-badge-RjHfm7um.js +17 -0
  455. package/dist/showcase/assets/metrics-kpi-row-DnBjyDH4.js +31 -0
  456. package/dist/showcase/assets/metrics-micro-grid-CKn405qb.js +42 -0
  457. package/dist/showcase/assets/metrics-overview-D8YGtdrh.js +192 -0
  458. package/dist/showcase/assets/metrics-stat-cards-Dxh6cAha.js +54 -0
  459. package/dist/showcase/assets/minus-20OTSSxf.js +1 -0
  460. package/dist/showcase/assets/money-display-BoiAMxH8.js +1 -0
  461. package/dist/showcase/assets/month-year-picker-Bl59Ygq9.js +1 -0
  462. package/dist/showcase/assets/navigation-B8d2CDU6.js +90 -0
  463. package/dist/showcase/assets/navigation-D16JX3kL.js +230 -0
  464. package/dist/showcase/assets/navigation-extras-Dm83uT6i.js +43 -0
  465. package/dist/showcase/assets/onboarding-checklist-DznDpP9M.js +119 -0
  466. package/dist/showcase/assets/overlays-CzlSqbFz.js +408 -0
  467. package/dist/showcase/assets/overlays-DUFqbkb9.js +159 -0
  468. package/dist/showcase/assets/package-BCXIwEPz.js +1 -0
  469. package/dist/showcase/assets/package-check-Ol-Cw3j-.js +1 -0
  470. package/dist/showcase/assets/page-action-button-DpzdSYvw.js +1 -0
  471. package/dist/showcase/assets/page-header-B_b7SqW8.js +1 -0
  472. package/dist/showcase/assets/pagination-BPDQo9Dl.js +1 -0
  473. package/dist/showcase/assets/pagination-PvkEX0qs.js +42 -0
  474. package/dist/showcase/assets/paperclip-CznEsmLN.js +1 -0
  475. package/dist/showcase/assets/password-input-CWMY5q3b.js +1 -0
  476. package/dist/showcase/assets/pencil-Cl9qi90g.js +1 -0
  477. package/dist/showcase/assets/phone-DbvK_QQJ.js +1 -0
  478. package/dist/showcase/assets/plus-CO8t66Yo.js +1 -0
  479. package/dist/showcase/assets/popover-3QIVx9lU.js +1 -0
  480. package/dist/showcase/assets/popover-Cyg9oYIU.js +1 -0
  481. package/dist/showcase/assets/popover-menu-DJPHeIL1.js +1 -0
  482. package/dist/showcase/assets/products-WsU-qdMz.js +407 -0
  483. package/dist/showcase/assets/progress-C61sf-qt.js +1 -0
  484. package/dist/showcase/assets/progress-PvTl8Fgf.js +18 -0
  485. package/dist/showcase/assets/props-table-C8la6vcG.js +1 -0
  486. package/dist/showcase/assets/props.generated-vFrhDrth.json +38618 -0
  487. package/dist/showcase/assets/quote-N1_lRDnX.js +1 -0
  488. package/dist/showcase/assets/receipt-C6a_WyLu.js +1 -0
  489. package/dist/showcase/assets/receipt-text-CDOh8FAv.js +1 -0
  490. package/dist/showcase/assets/refresh-cw-D4-ECZ1x.js +1 -0
  491. package/dist/showcase/assets/resolveValueLabel-DqAP3zJd.js +1 -0
  492. package/dist/showcase/assets/rich-text-editor-CU0IZpwV.js +143 -0
  493. package/dist/showcase/assets/rich-text-editor-DCU7mMoO.js +124 -0
  494. package/dist/showcase/assets/rotate-ccw-Dd5zEmr7.js +1 -0
  495. package/dist/showcase/assets/save-DDmFSQli.js +1 -0
  496. package/dist/showcase/assets/schema-form-B7naqMvv.js +325 -0
  497. package/dist/showcase/assets/scroll-area-CdaYm4UK.js +32 -0
  498. package/dist/showcase/assets/scroll-area-DwWSHYHB.js +1 -0
  499. package/dist/showcase/assets/select-CNzpb5ug.js +1 -0
  500. package/dist/showcase/assets/select-DBXZ_Wzf.js +1 -0
  501. package/dist/showcase/assets/send-eDm7YMmA.js +1 -0
  502. package/dist/showcase/assets/separator-4IC9ED7s.js +1 -0
  503. package/dist/showcase/assets/separator-DPGDsZpG.js +28 -0
  504. package/dist/showcase/assets/settings-IANZGo2i.js +1 -0
  505. package/dist/showcase/assets/sheet-2oCce5ae.js +1 -0
  506. package/dist/showcase/assets/shield-CDZhhvFW.js +1 -0
  507. package/dist/showcase/assets/shield-alert-5hL3sdf3.js +1 -0
  508. package/dist/showcase/assets/shield-check-CaO2dhVS.js +1 -0
  509. package/dist/showcase/assets/shopping-bag-Bt3iK-Bv.js +1 -0
  510. package/dist/showcase/assets/sidebar-Cds60-PS.js +1 -0
  511. package/dist/showcase/assets/sidebar.context-CdH_DH9M.js +1 -0
  512. package/dist/showcase/assets/skeleton-2HajJKO4.js +29 -0
  513. package/dist/showcase/assets/skeleton-CGEJwPdD.js +1 -0
  514. package/dist/showcase/assets/slider-BjQViBR0.js +1 -0
  515. package/dist/showcase/assets/sliders-horizontal-C3JH5WQu.js +1 -0
  516. package/dist/showcase/assets/smart-card-CHouYi8U.js +1 -0
  517. package/dist/showcase/assets/sonner-Cog559j7.js +22 -0
  518. package/dist/showcase/assets/sortable.esm-hUEKsxpQ.js +5 -0
  519. package/dist/showcase/assets/sparkles-B18eTHVN.js +1 -0
  520. package/dist/showcase/assets/spinner-BSI97i4D.js +1 -0
  521. package/dist/showcase/assets/spinner-D0WhVyye.js +30 -0
  522. package/dist/showcase/assets/spinner-DQmJ7k9y.js +49 -0
  523. package/dist/showcase/assets/square-pen-CLyDWdhj.js +1 -0
  524. package/dist/showcase/assets/stacked-avatars-ECnU27uV.js +1 -0
  525. package/dist/showcase/assets/star-C3mhkpSK.js +1 -0
  526. package/dist/showcase/assets/startOfDay-ECIxhJGC.js +1 -0
  527. package/dist/showcase/assets/styles-CDD7mDye.js +1 -0
  528. package/dist/showcase/assets/suggestions-DOW6NBJp.js +126 -0
  529. package/dist/showcase/assets/switch-D59YKmf6.js +1 -0
  530. package/dist/showcase/assets/switch-NICmdoPn.js +1 -0
  531. package/dist/showcase/assets/sync-B8nBZXQ9.js +107 -0
  532. package/dist/showcase/assets/table-CckompuR.js +382 -0
  533. package/dist/showcase/assets/table-DtA4-Q0p.js +1 -0
  534. package/dist/showcase/assets/table-actions-DdoPJTMy.js +1 -0
  535. package/dist/showcase/assets/tabs-BrC_HxL_.js +1 -0
  536. package/dist/showcase/assets/tabs-UVxr80vY.js +19 -0
  537. package/dist/showcase/assets/tags-input-iDfvhzZD.js +1 -0
  538. package/dist/showcase/assets/text-button-DHFCLCoc.js +1 -0
  539. package/dist/showcase/assets/text-link-nCLLDcS_.js +1 -0
  540. package/dist/showcase/assets/textarea-DsSuQHQY.js +1 -0
  541. package/dist/showcase/assets/textarea-DyGI3Kcn.js +1 -0
  542. package/dist/showcase/assets/timelines-JmMcH657.js +200 -0
  543. package/dist/showcase/assets/toggle-group-BZKzMmC8.js +1 -0
  544. package/dist/showcase/assets/toggles-BSJvy4Tw.js +71 -0
  545. package/dist/showcase/assets/toggles-group-Bsc6eaWw.js +32 -0
  546. package/dist/showcase/assets/trash-2-C9AC7Pcv.js +1 -0
  547. package/dist/showcase/assets/trending-up-CGaDZj0S.js +1 -0
  548. package/dist/showcase/assets/truck-Dq6heokm.js +1 -0
  549. package/dist/showcase/assets/typography-ByvwR6Kg.js +223 -0
  550. package/dist/showcase/assets/ui-badge-BYgJSE_w.js +28 -0
  551. package/dist/showcase/assets/ui-card-BdueUfow.js +30 -0
  552. package/dist/showcase/assets/ui-table-CxtCQUsg.js +42 -0
  553. package/dist/showcase/assets/upload-tray-DKJ8nFZp.js +138 -0
  554. package/dist/showcase/assets/use-layout-link-CGBQHZon.js +1 -0
  555. package/dist/showcase/assets/useAnchoredPopupScrollLock-CywAbxVB.js +1 -0
  556. package/dist/showcase/assets/useAriaLabelledBy-B2bZzE7D.js +1 -0
  557. package/dist/showcase/assets/useCollapsiblePanel-SLdY_s6S.js +1 -0
  558. package/dist/showcase/assets/useCompositeItem-g6aCBp84.js +1 -0
  559. package/dist/showcase/assets/useCompositeListItem-DK0Tpege.js +1 -0
  560. package/dist/showcase/assets/useLabelableId-hdKzFCp2.js +1 -0
  561. package/dist/showcase/assets/useOpenInteractionType-CnhifZ1E.js +1 -0
  562. package/dist/showcase/assets/useRender-QhawWhpb.js +1 -0
  563. package/dist/showcase/assets/useTriggerFocusGuards-Cht7Sa7e.js +1 -0
  564. package/dist/showcase/assets/useValueChanged-DURO1kfZ.js +1 -0
  565. package/dist/showcase/assets/user-plus-DbOuTfr7.js +1 -0
  566. package/dist/showcase/assets/user-u65Fo7k7.js +1 -0
  567. package/dist/showcase/assets/users-BUb7CmVp.js +1 -0
  568. package/dist/showcase/assets/vendor-profile-wfI3PBuO.js +37 -0
  569. package/dist/showcase/assets/video-e4hDbTQ2.js +1 -0
  570. package/dist/showcase/assets/wrench-CBUvtxdr.js +1 -0
  571. package/dist/showcase/assets/x-oVTJnCJn.js +1 -0
  572. package/dist/showcase/assets/zap-CzABYL3c.js +1 -0
  573. package/dist/showcase/index.html +1 -1
  574. package/package.json +11 -3
  575. package/scripts/README.md +24 -0
  576. package/scripts/metadata.json +325 -0
  577. package/dist/_shared/accordion-BWU7zxlO.cjs +0 -2
  578. package/dist/_shared/accordion-BWU7zxlO.cjs.map +0 -1
  579. package/dist/_shared/accordion-DTYKGqWD.js +0 -130
  580. package/dist/_shared/accordion-DTYKGqWD.js.map +0 -1
  581. package/dist/_shared/action-menu-BoQnI2UF.cjs +0 -2
  582. package/dist/_shared/action-menu-BoQnI2UF.cjs.map +0 -1
  583. package/dist/_shared/action-menu-uyg1Phsn.js +0 -96
  584. package/dist/_shared/action-menu-uyg1Phsn.js.map +0 -1
  585. package/dist/_shared/ai-artifact-CY1Jf9gM.cjs +0 -3
  586. package/dist/_shared/ai-artifact-CY1Jf9gM.cjs.map +0 -1
  587. package/dist/_shared/ai-artifact-DdlK_l56.js +0 -1099
  588. package/dist/_shared/ai-artifact-DdlK_l56.js.map +0 -1
  589. package/dist/_shared/auth-CDjZFJxy.cjs +0 -2
  590. package/dist/_shared/auth-CDjZFJxy.cjs.map +0 -1
  591. package/dist/_shared/auth-_udUdWtn.js +0 -643
  592. package/dist/_shared/auth-_udUdWtn.js.map +0 -1
  593. package/dist/_shared/badge--o9wFHB_.cjs +0 -2
  594. package/dist/_shared/badge--o9wFHB_.cjs.map +0 -1
  595. package/dist/_shared/badge-yGlx9trX.js +0 -108
  596. package/dist/_shared/badge-yGlx9trX.js.map +0 -1
  597. package/dist/_shared/button-683R5quQ.js +0 -46
  598. package/dist/_shared/button-683R5quQ.js.map +0 -1
  599. package/dist/_shared/button-C1qc97U1.cjs +0 -2
  600. package/dist/_shared/button-C1qc97U1.cjs.map +0 -1
  601. package/dist/_shared/button-CjZrRLzR.cjs +0 -2
  602. package/dist/_shared/button-CjZrRLzR.cjs.map +0 -1
  603. package/dist/_shared/button-SuocMQFT.js +0 -173
  604. package/dist/_shared/button-SuocMQFT.js.map +0 -1
  605. package/dist/_shared/buttons-9YBwevkP.cjs +0 -2
  606. package/dist/_shared/buttons-9YBwevkP.cjs.map +0 -1
  607. package/dist/_shared/buttons-BR4BGVYf.js +0 -143
  608. package/dist/_shared/buttons-BR4BGVYf.js.map +0 -1
  609. package/dist/_shared/combobox-CpSmiPV8.cjs +0 -2
  610. package/dist/_shared/combobox-CpSmiPV8.cjs.map +0 -1
  611. package/dist/_shared/combobox-D01JwyFZ.js +0 -810
  612. package/dist/_shared/combobox-D01JwyFZ.js.map +0 -1
  613. package/dist/_shared/comments-D9velZAW.js +0 -952
  614. package/dist/_shared/comments-D9velZAW.js.map +0 -1
  615. package/dist/_shared/comments-DyUAKSQu.cjs +0 -2
  616. package/dist/_shared/comments-DyUAKSQu.cjs.map +0 -1
  617. package/dist/_shared/date-picker-BnsvBFOZ.cjs +0 -2
  618. package/dist/_shared/date-picker-BnsvBFOZ.cjs.map +0 -1
  619. package/dist/_shared/date-picker-TMcjGO26.js +0 -1361
  620. package/dist/_shared/date-picker-TMcjGO26.js.map +0 -1
  621. package/dist/_shared/date-pickers-BI4xLjHR.js +0 -330
  622. package/dist/_shared/date-pickers-BI4xLjHR.js.map +0 -1
  623. package/dist/_shared/date-pickers-BhaUK5S2.cjs +0 -2
  624. package/dist/_shared/date-pickers-BhaUK5S2.cjs.map +0 -1
  625. package/dist/_shared/dialog-A95-614f.js +0 -101
  626. package/dist/_shared/dialog-A95-614f.js.map +0 -1
  627. package/dist/_shared/dialog-ivDByBmO.cjs +0 -2
  628. package/dist/_shared/dialog-ivDByBmO.cjs.map +0 -1
  629. package/dist/_shared/display-C4n0uuxl.js +0 -1154
  630. package/dist/_shared/display-C4n0uuxl.js.map +0 -1
  631. package/dist/_shared/display-oDW0O9yB.cjs +0 -2
  632. package/dist/_shared/display-oDW0O9yB.cjs.map +0 -1
  633. package/dist/_shared/forms-CwJci54_.js +0 -3430
  634. package/dist/_shared/forms-CwJci54_.js.map +0 -1
  635. package/dist/_shared/forms-E3JkTgcC.cjs +0 -2
  636. package/dist/_shared/forms-E3JkTgcC.cjs.map +0 -1
  637. package/dist/_shared/header-CyBTcM-L.js +0 -360
  638. package/dist/_shared/header-CyBTcM-L.js.map +0 -1
  639. package/dist/_shared/header-kwvkesfq.cjs +0 -2
  640. package/dist/_shared/header-kwvkesfq.cjs.map +0 -1
  641. package/dist/_shared/hooks-MW0UTO3q.cjs +0 -2
  642. package/dist/_shared/hooks-MW0UTO3q.cjs.map +0 -1
  643. package/dist/_shared/hooks-ZiPIvs0_.js +0 -118
  644. package/dist/_shared/hooks-ZiPIvs0_.js.map +0 -1
  645. package/dist/_shared/mentions-Br-EP9tq.js +0 -506
  646. package/dist/_shared/mentions-Br-EP9tq.js.map +0 -1
  647. package/dist/_shared/mentions-DNTsRHJl.cjs +0 -2
  648. package/dist/_shared/mentions-DNTsRHJl.cjs.map +0 -1
  649. package/dist/_shared/metadata-CPSQGPJh.cjs +0 -2
  650. package/dist/_shared/metadata-CPSQGPJh.cjs.map +0 -1
  651. package/dist/_shared/metadata-qTNAOM7E.js +0 -235
  652. package/dist/_shared/metadata-qTNAOM7E.js.map +0 -1
  653. package/dist/_shared/navigation-HnnA6uSV.js +0 -419
  654. package/dist/_shared/navigation-HnnA6uSV.js.map +0 -1
  655. package/dist/_shared/navigation-J2g0Tw9D.cjs +0 -2
  656. package/dist/_shared/navigation-J2g0Tw9D.cjs.map +0 -1
  657. package/dist/_shared/overlays-CIeniDjj.js +0 -639
  658. package/dist/_shared/overlays-CIeniDjj.js.map +0 -1
  659. package/dist/_shared/overlays-Xc_F_Y-E.cjs +0 -2
  660. package/dist/_shared/overlays-Xc_F_Y-E.cjs.map +0 -1
  661. package/dist/_shared/page-BFV-KE8H.js +0 -262
  662. package/dist/_shared/page-BFV-KE8H.js.map +0 -1
  663. package/dist/_shared/page-UJfWfw2R.cjs +0 -2
  664. package/dist/_shared/page-UJfWfw2R.cjs.map +0 -1
  665. package/dist/_shared/rich-text-editor-B6WKHUKC.js +0 -620
  666. package/dist/_shared/rich-text-editor-B6WKHUKC.js.map +0 -1
  667. package/dist/_shared/rich-text-editor-Dm-6r_xe.cjs +0 -2
  668. package/dist/_shared/rich-text-editor-Dm-6r_xe.cjs.map +0 -1
  669. package/dist/_shared/sheet-BKEfwhCn.js +0 -100
  670. package/dist/_shared/sheet-BKEfwhCn.js.map +0 -1
  671. package/dist/_shared/sheet-D4yWgkwC.cjs +0 -2
  672. package/dist/_shared/sheet-D4yWgkwC.cjs.map +0 -1
  673. package/dist/_shared/sidebar-B_L_dnAe.cjs +0 -2
  674. package/dist/_shared/sidebar-B_L_dnAe.cjs.map +0 -1
  675. package/dist/_shared/sidebar-C5DApiDy.js +0 -389
  676. package/dist/_shared/sidebar-C5DApiDy.js.map +0 -1
  677. package/dist/_shared/sidebar-CIlGkVbF.js +0 -538
  678. package/dist/_shared/sidebar-CIlGkVbF.js.map +0 -1
  679. package/dist/_shared/sidebar-D3sK9otF.cjs +0 -2
  680. package/dist/_shared/sidebar-D3sK9otF.cjs.map +0 -1
  681. package/dist/_shared/smart-card-DYZGY_Su.js +0 -361
  682. package/dist/_shared/smart-card-DYZGY_Su.js.map +0 -1
  683. package/dist/_shared/smart-card-Df80VF8x.cjs +0 -2
  684. package/dist/_shared/smart-card-Df80VF8x.cjs.map +0 -1
  685. package/dist/_shared/table-CBKDA7ZE.js +0 -1189
  686. package/dist/_shared/table-CBKDA7ZE.js.map +0 -1
  687. package/dist/_shared/table-CJoxRCWy.cjs +0 -2
  688. package/dist/_shared/table-CJoxRCWy.cjs.map +0 -1
  689. package/dist/_shared/workspace-CTjIGCE0.cjs +0 -2
  690. package/dist/_shared/workspace-CTjIGCE0.cjs.map +0 -1
  691. package/dist/_shared/workspace-WgJgiSUA.js +0 -357
  692. package/dist/_shared/workspace-WgJgiSUA.js.map +0 -1
  693. package/dist/showcase/assets/AreaChart-BkAbL-UV.js +0 -6
  694. package/dist/showcase/assets/CompositeItem-Dzu0MfUC.js +0 -1
  695. package/dist/showcase/assets/CompositeRoot-CQvQ_uj2.js +0 -1
  696. package/dist/showcase/assets/DialogTrigger-BxVhSw4D.js +0 -1
  697. package/dist/showcase/assets/LabelableContext-DapqaNeY.js +0 -1
  698. package/dist/showcase/assets/PreviewLayout-CGEkbS-i.js +0 -1
  699. package/dist/showcase/assets/RadioGroup-DBA3iBQw.js +0 -1
  700. package/dist/showcase/assets/Separator-BEMr82IS.js +0 -1
  701. package/dist/showcase/assets/ToolbarRootContext-xN-ruoGR.js +0 -1
  702. package/dist/showcase/assets/accordion-B-Iy0jKu.js +0 -171
  703. package/dist/showcase/assets/accordion-variants-B9GD0oBE.js +0 -1
  704. package/dist/showcase/assets/action-menu-CMUF6gPp.js +0 -1
  705. package/dist/showcase/assets/activities-C1P9bsJm.js +0 -501
  706. package/dist/showcase/assets/activities-feed-card-WZUuGHmT.js +0 -1
  707. package/dist/showcase/assets/activity-BVP5C805.js +0 -1
  708. package/dist/showcase/assets/admin-DWOK4sj4.js +0 -80
  709. package/dist/showcase/assets/ai-Dteb3y6G.js +0 -41
  710. package/dist/showcase/assets/ai-artifact-B0d7GveY.js +0 -2
  711. package/dist/showcase/assets/ai-chat-IJ0b2FOw.js +0 -568
  712. package/dist/showcase/assets/ai-elements-Cr8GgtEV.js +0 -387
  713. package/dist/showcase/assets/ai-new-BJN9wNvX.js +0 -167
  714. package/dist/showcase/assets/ai-tool-call-BqlQuR1P.js +0 -1
  715. package/dist/showcase/assets/alert-2_0J7Vv6.js +0 -1
  716. package/dist/showcase/assets/alert-7wEOpEor.js +0 -93
  717. package/dist/showcase/assets/alert-C_FOBilU.js +0 -62
  718. package/dist/showcase/assets/api-key-list-CGV1k52v.js +0 -73
  719. package/dist/showcase/assets/app-sidebar-S6oUYO4h.js +0 -1
  720. package/dist/showcase/assets/arrow-down-VNr82bS3.js +0 -1
  721. package/dist/showcase/assets/arrow-left-BSVeKWNq.js +0 -1
  722. package/dist/showcase/assets/arrow-right-D6hTB0Bd.js +0 -1
  723. package/dist/showcase/assets/arrow-up-p9oA4cIz.js +0 -1
  724. package/dist/showcase/assets/arrow-up-right-BtlQ62bc.js +0 -1
  725. package/dist/showcase/assets/avatar-BxcQUuh0.js +0 -57
  726. package/dist/showcase/assets/avatar-LGWm52rv.js +0 -1
  727. package/dist/showcase/assets/badge-COn5psy3.js +0 -28
  728. package/dist/showcase/assets/badge-check-D2C2BPUT.js +0 -1
  729. package/dist/showcase/assets/bell-C80n9VRl.js +0 -1
  730. package/dist/showcase/assets/bot-C83bUUi9.js +0 -1
  731. package/dist/showcase/assets/box-rZ0pA-02.js +0 -1
  732. package/dist/showcase/assets/brain-BJtktdVu.js +0 -1
  733. package/dist/showcase/assets/brand-CxdIBpyJ.js +0 -36
  734. package/dist/showcase/assets/breadcrumb-BZsr_A8k.js +0 -1
  735. package/dist/showcase/assets/breadcrumb-CSU8FvWB.js +0 -52
  736. package/dist/showcase/assets/breadcrumbs-BUm4gHzL.js +0 -1
  737. package/dist/showcase/assets/briefcase-0WhUdLn5.js +0 -1
  738. package/dist/showcase/assets/building-2-1D6zVdCI.js +0 -1
  739. package/dist/showcase/assets/button-C22Gs6y0.js +0 -44
  740. package/dist/showcase/assets/button-group-C0Ts4-x3.js +0 -1
  741. package/dist/showcase/assets/buttons-Dfn6hmwe.js +0 -270
  742. package/dist/showcase/assets/calendar-7a4yQlzJ.js +0 -1
  743. package/dist/showcase/assets/calendar-Bo17POsN.js +0 -1
  744. package/dist/showcase/assets/calendar-D6XNDRVQ.js +0 -16
  745. package/dist/showcase/assets/calendar-days-C4mG2tOe.js +0 -1
  746. package/dist/showcase/assets/camera-C16z6v0m.js +0 -1
  747. package/dist/showcase/assets/card-BjqRQxxz.js +0 -1
  748. package/dist/showcase/assets/card-IzYmUTpI.js +0 -188
  749. package/dist/showcase/assets/card-primitives-BDj4DtS8.js +0 -1
  750. package/dist/showcase/assets/card-radio-group-7GU9AtWs.js +0 -1
  751. package/dist/showcase/assets/cards-DAqpr8CM.js +0 -328
  752. package/dist/showcase/assets/carousel-D1n4Kkoo.js +0 -449
  753. package/dist/showcase/assets/chart-D2EGeI3b.js +0 -358
  754. package/dist/showcase/assets/chart-column-DKcP77Dx.js +0 -1
  755. package/dist/showcase/assets/checkbox-BI3gcjED.js +0 -1
  756. package/dist/showcase/assets/chevron-down-ByPPEdNm.js +0 -1
  757. package/dist/showcase/assets/chevron-left-BNByuq3g.js +0 -1
  758. package/dist/showcase/assets/chevron-right-D4pIMCh9.js +0 -1
  759. package/dist/showcase/assets/chevron-up-Cha879Nz.js +0 -1
  760. package/dist/showcase/assets/chevrons-up-down-eAgHau5X.js +0 -1
  761. package/dist/showcase/assets/circle-V5hdlsIn.js +0 -1
  762. package/dist/showcase/assets/circle-alert-BW-Btwgh.js +0 -1
  763. package/dist/showcase/assets/circle-check-1MSds3Vu.js +0 -1
  764. package/dist/showcase/assets/circle-check-big-vBWkmhCZ.js +0 -1
  765. package/dist/showcase/assets/circle-dot-CsD5uXwH.js +0 -1
  766. package/dist/showcase/assets/circle-question-mark-xYn9p1nL.js +0 -1
  767. package/dist/showcase/assets/circle-x-VSqZOeGt.js +0 -1
  768. package/dist/showcase/assets/clock-3-CP_t59kW.js +0 -1
  769. package/dist/showcase/assets/clock-9xbB7EnW.js +0 -1
  770. package/dist/showcase/assets/code-xml-CeGA85eB.js +0 -1
  771. package/dist/showcase/assets/collapsible-C2W51-wl.js +0 -27
  772. package/dist/showcase/assets/collapsible-C4eof15p.js +0 -1
  773. package/dist/showcase/assets/combobox-i8o4u6Q0.js +0 -696
  774. package/dist/showcase/assets/command-C4F78Ppy.js +0 -1
  775. package/dist/showcase/assets/command-wjOXUieO.js +0 -1
  776. package/dist/showcase/assets/comment-composer-DeURrlgL.js +0 -1
  777. package/dist/showcase/assets/comment-item-D07Qk-Nt.js +0 -1
  778. package/dist/showcase/assets/comments-Bo-lZU18.js +0 -357
  779. package/dist/showcase/assets/commerce-extras-Cio3xn_B.js +0 -189
  780. package/dist/showcase/assets/commerce-jqA58sCZ.js +0 -79
  781. package/dist/showcase/assets/composite-BQFpnmS9.js +0 -1
  782. package/dist/showcase/assets/contact-card-4ajPhcd_.js +0 -65
  783. package/dist/showcase/assets/content-container-B83BnjFb.js +0 -1
  784. package/dist/showcase/assets/copyable-DKkroGJ3.js +0 -96
  785. package/dist/showcase/assets/course-card-DShYl03k.js +0 -77
  786. package/dist/showcase/assets/cpu-BZTsuaUu.js +0 -1
  787. package/dist/showcase/assets/credit-card-CAI3F3HB.js +0 -1
  788. package/dist/showcase/assets/currency-PXgbngHk.js +0 -149
  789. package/dist/showcase/assets/dark-surfaces-pSCicdm4.js +0 -90
  790. package/dist/showcase/assets/database-oHsxHUj-.js +0 -1
  791. package/dist/showcase/assets/date-block-CvCdJr8d.js +0 -1
  792. package/dist/showcase/assets/date-picker-Cd5vsEEd.js +0 -1
  793. package/dist/showcase/assets/date-pickers-CBK-zvSB.js +0 -73
  794. package/dist/showcase/assets/dense-info-zOdJpez6.js +0 -106
  795. package/dist/showcase/assets/dialog-D9-MRCRg.js +0 -1
  796. package/dist/showcase/assets/dialog-EDw9DvZs.js +0 -1
  797. package/dist/showcase/assets/display-CE9JWinr.js +0 -403
  798. package/dist/showcase/assets/dist-CjZ6RM9v.js +0 -45
  799. package/dist/showcase/assets/dollar-sign-BXD_x2mP.js +0 -1
  800. package/dist/showcase/assets/download-D0ur_d_N.js +0 -1
  801. package/dist/showcase/assets/dropdown-menu-Cto8-yDW.js +0 -1
  802. package/dist/showcase/assets/dropzone-9Gb4mR4x.js +0 -1
  803. package/dist/showcase/assets/earth-BN1w3w7h.js +0 -1
  804. package/dist/showcase/assets/ellipsis-DsrebD1Y.js +0 -1
  805. package/dist/showcase/assets/ellipsis-vertical-CAiMV7G2.js +0 -1
  806. package/dist/showcase/assets/empty-DoJF3uif.js +0 -1
  807. package/dist/showcase/assets/empty-item-zZ85qI6s.js +0 -49
  808. package/dist/showcase/assets/empty-state-CGfB7sOE.js +0 -1
  809. package/dist/showcase/assets/empty-state-Y_4qnNWt.js +0 -188
  810. package/dist/showcase/assets/enhanced-activities-B41hAxhb.js +0 -361
  811. package/dist/showcase/assets/enhanced-combobox-BOimEW-1.js +0 -1
  812. package/dist/showcase/assets/event-calendar-BjcfC6fM.js +0 -138
  813. package/dist/showcase/assets/event-log-BhoMXcix.js +0 -330
  814. package/dist/showcase/assets/example-Cz_880po.js +0 -1
  815. package/dist/showcase/assets/external-link-Cy1-PP8k.js +0 -1
  816. package/dist/showcase/assets/eye-C85PNNdH.js +0 -1
  817. package/dist/showcase/assets/feature-announcement-_tpahla3.js +0 -34
  818. package/dist/showcase/assets/file-C8PCBEtY.js +0 -1
  819. package/dist/showcase/assets/file-text-DwqbUujq.js +0 -1
  820. package/dist/showcase/assets/filters-ChqGg_1z.js +0 -78
  821. package/dist/showcase/assets/flag-csHQcBml.js +0 -1
  822. package/dist/showcase/assets/folder-open-BThTng3d.js +0 -1
  823. package/dist/showcase/assets/form-field-B5g_5Zjm.js +0 -1
  824. package/dist/showcase/assets/format-DrTwpH65.js +0 -1
  825. package/dist/showcase/assets/forms-BukyUSKs.js +0 -862
  826. package/dist/showcase/assets/frame-BNKhZVlb.js +0 -167
  827. package/dist/showcase/assets/getPseudoElementBounds-DwyQgIj-.js +0 -1
  828. package/dist/showcase/assets/gift-CtM--bDo.js +0 -1
  829. package/dist/showcase/assets/giftcard-cards-imm4Br0H.js +0 -85
  830. package/dist/showcase/assets/git-branch-Dl3AzbqP.js +0 -1
  831. package/dist/showcase/assets/global-search-Bhl7z_vN.js +0 -1
  832. package/dist/showcase/assets/global-search-C4yaPFSW.js +0 -215
  833. package/dist/showcase/assets/globe-BCikLfKc.js +0 -1
  834. package/dist/showcase/assets/gradient-card-Dh_5ZYv0.js +0 -58
  835. package/dist/showcase/assets/hash-C8m0EECO.js +0 -1
  836. package/dist/showcase/assets/header-BXjw7Lm_.js +0 -1
  837. package/dist/showcase/assets/header-notifications-CShSQ8kR.js +0 -1
  838. package/dist/showcase/assets/heart-BJVBFZ-j.js +0 -1
  839. package/dist/showcase/assets/house-C3fXPhlL.js +0 -1
  840. package/dist/showcase/assets/icon-badge-dwVx3Hxf.js +0 -1
  841. package/dist/showcase/assets/image-gc4qX_7C.js +0 -1
  842. package/dist/showcase/assets/inbox-C0GJ1KEC.js +0 -1
  843. package/dist/showcase/assets/index-BQIv1ffM.js +0 -10
  844. package/dist/showcase/assets/inertValue-DeVQ2cCe.js +0 -1
  845. package/dist/showcase/assets/info-BimmreJ-.js +0 -1
  846. package/dist/showcase/assets/inline-stat-DcNP6bcO.js +0 -1
  847. package/dist/showcase/assets/input-DJAWOJEx.js +0 -1
  848. package/dist/showcase/assets/input-NIgvB9CZ.js +0 -1
  849. package/dist/showcase/assets/input-group-BmqJ20bA.js +0 -1
  850. package/dist/showcase/assets/input-group-gOUubhee.js +0 -47
  851. package/dist/showcase/assets/inputs-Dk8YOVkI.js +0 -155
  852. package/dist/showcase/assets/invoice-header-BnNpWej2.js +0 -36
  853. package/dist/showcase/assets/invoice-items-BdPmW10L.js +0 -36
  854. package/dist/showcase/assets/invoice-mini-CbSYyHIb.js +0 -14
  855. package/dist/showcase/assets/invoice-table-DjnWG3KF.js +0 -30
  856. package/dist/showcase/assets/isSameDay-B2KDl_YX.js +0 -1
  857. package/dist/showcase/assets/isToday-CXNS7ELW.js +0 -1
  858. package/dist/showcase/assets/italic-BRS-PpYL.js +0 -1
  859. package/dist/showcase/assets/item--6Hx9AXZ.js +0 -1
  860. package/dist/showcase/assets/item-BszVRzXj.js +0 -134
  861. package/dist/showcase/assets/item-YF6wMI9W.js +0 -1
  862. package/dist/showcase/assets/kanban-BWBbWLVe.js +0 -186
  863. package/dist/showcase/assets/label-BgpcD3V6.js +0 -1
  864. package/dist/showcase/assets/languages-DDgmIDFe.js +0 -1
  865. package/dist/showcase/assets/layers-nkkXRmvA.js +0 -1
  866. package/dist/showcase/assets/layout-app-shell-D3MbPoGC.js +0 -608
  867. package/dist/showcase/assets/layout-auth-DIeRtG0B.js +0 -754
  868. package/dist/showcase/assets/layout-containers-Dc3-IAgV.js +0 -101
  869. package/dist/showcase/assets/layout-header-Cg6GfMST.js +0 -170
  870. package/dist/showcase/assets/layout-page-DojPq8S6.js +0 -122
  871. package/dist/showcase/assets/layout-primitives-JBSQS72B.js +0 -34
  872. package/dist/showcase/assets/layout-sidebar-C6jUJRhx.js +0 -224
  873. package/dist/showcase/assets/layout-users-uzPscfo7.js +0 -117
  874. package/dist/showcase/assets/layout-workspace-B3leaOKl.js +0 -183
  875. package/dist/showcase/assets/lock-DLIcOBUd.js +0 -1
  876. package/dist/showcase/assets/lock-keyhole-DY6aV7Mq.js +0 -1
  877. package/dist/showcase/assets/mail-AES_tOd2.js +0 -1
  878. package/dist/showcase/assets/mail-check-dJTzg2bD.js +0 -1
  879. package/dist/showcase/assets/map-CZ2l0iGH.js +0 -124
  880. package/dist/showcase/assets/map-pin-0O7GD5Dz.js +0 -1
  881. package/dist/showcase/assets/media-library-CRllxSGQ.js +0 -695
  882. package/dist/showcase/assets/mention-inline-suggestions-Dx2Z1GHF.js +0 -1
  883. package/dist/showcase/assets/mentions-CDqqGCE4.js +0 -138
  884. package/dist/showcase/assets/menus-CDgE79I5.js +0 -165
  885. package/dist/showcase/assets/message-square-CBNI_sf8.js +0 -1
  886. package/dist/showcase/assets/metadata-list-BoEVt7cX.js +0 -1
  887. package/dist/showcase/assets/metadata-list-NtWuY9W8.js +0 -288
  888. package/dist/showcase/assets/metric-Bx_LWobe.js +0 -1
  889. package/dist/showcase/assets/metric-bar-BldYHNLQ.js +0 -1
  890. package/dist/showcase/assets/metric-grid-BDw7w7d2.js +0 -1
  891. package/dist/showcase/assets/metric-trend-chip-lSjDkUEo.js +0 -1
  892. package/dist/showcase/assets/metrics-analytics-bar-CCFhTmQZ.js +0 -44
  893. package/dist/showcase/assets/metrics-analytics-cards-C1AjZqJU.js +0 -50
  894. package/dist/showcase/assets/metrics-comparison-vEE6BtuW.js +0 -76
  895. package/dist/showcase/assets/metrics-heatmap-DKkz8ibX.js +0 -27
  896. package/dist/showcase/assets/metrics-inline-badge-CZmVnReB.js +0 -17
  897. package/dist/showcase/assets/metrics-kpi-row-s2FYIYB1.js +0 -31
  898. package/dist/showcase/assets/metrics-micro-grid-DDlCl9Ep.js +0 -42
  899. package/dist/showcase/assets/metrics-overview-BgliK2L1.js +0 -192
  900. package/dist/showcase/assets/metrics-stat-cards-Cn5sRZsB.js +0 -54
  901. package/dist/showcase/assets/minus-DByvcC8K.js +0 -1
  902. package/dist/showcase/assets/money-display-DG4IaEaA.js +0 -1
  903. package/dist/showcase/assets/month-year-picker-CVurc9L7.js +0 -1
  904. package/dist/showcase/assets/navigation-CHYgQTsY.js +0 -90
  905. package/dist/showcase/assets/navigation-C_6gS4FA.js +0 -230
  906. package/dist/showcase/assets/navigation-extras-CflOar2P.js +0 -43
  907. package/dist/showcase/assets/onboarding-checklist-CYiciKwv.js +0 -119
  908. package/dist/showcase/assets/overlays-HrH2wdTK.js +0 -408
  909. package/dist/showcase/assets/overlays-cp7VMq3b.js +0 -159
  910. package/dist/showcase/assets/package-CjcwDJKu.js +0 -1
  911. package/dist/showcase/assets/package-check-CCH3ax-x.js +0 -1
  912. package/dist/showcase/assets/page-action-button-Cn5j2_EP.js +0 -1
  913. package/dist/showcase/assets/page-header-CkvCF1MQ.js +0 -1
  914. package/dist/showcase/assets/pagination-DM5QGPo2.js +0 -42
  915. package/dist/showcase/assets/pagination-DUzHnhJ6.js +0 -1
  916. package/dist/showcase/assets/paperclip-DoqDQQVa.js +0 -1
  917. package/dist/showcase/assets/password-input-CfS4sfCl.js +0 -1
  918. package/dist/showcase/assets/pencil-C2OfFQMj.js +0 -1
  919. package/dist/showcase/assets/phone-CLvml_XI.js +0 -1
  920. package/dist/showcase/assets/plus-D5swsZCz.js +0 -1
  921. package/dist/showcase/assets/popover-menu-Bu9q96nE.js +0 -1
  922. package/dist/showcase/assets/popover-nCGXR4Yd.js +0 -1
  923. package/dist/showcase/assets/popover-xC8qczvP.js +0 -1
  924. package/dist/showcase/assets/products-BbSzEFvw.js +0 -407
  925. package/dist/showcase/assets/progress-DYfoy7pk.js +0 -1
  926. package/dist/showcase/assets/progress-ENNwjW3X.js +0 -18
  927. package/dist/showcase/assets/props-table-2pIZzGC-.js +0 -1
  928. package/dist/showcase/assets/props.generated-DggzG-JL.json +0 -38611
  929. package/dist/showcase/assets/quote-BO1bufuX.js +0 -1
  930. package/dist/showcase/assets/receipt-kIVP3kxJ.js +0 -1
  931. package/dist/showcase/assets/receipt-text-BDQIvI4l.js +0 -1
  932. package/dist/showcase/assets/refresh-cw-UdL93poQ.js +0 -1
  933. package/dist/showcase/assets/resolveValueLabel-DfiI3G4i.js +0 -1
  934. package/dist/showcase/assets/rich-text-editor-CNtfwLC2.js +0 -143
  935. package/dist/showcase/assets/rich-text-editor-DB4QWptQ.js +0 -124
  936. package/dist/showcase/assets/rotate-ccw-DQPoMfMY.js +0 -1
  937. package/dist/showcase/assets/save-Cd0ZM40i.js +0 -1
  938. package/dist/showcase/assets/schema-form-Cyc6vCVO.js +0 -325
  939. package/dist/showcase/assets/scroll-area-B5NZsDdi.js +0 -32
  940. package/dist/showcase/assets/scroll-area-BvTq99pz.js +0 -1
  941. package/dist/showcase/assets/select-BRbyPtx8.js +0 -1
  942. package/dist/showcase/assets/select-Dymyvyh6.js +0 -1
  943. package/dist/showcase/assets/send-BWzI7mwi.js +0 -1
  944. package/dist/showcase/assets/separator-BsYPzBlF.js +0 -1
  945. package/dist/showcase/assets/separator-Osp0OJ78.js +0 -28
  946. package/dist/showcase/assets/settings-DRmWJILI.js +0 -1
  947. package/dist/showcase/assets/sheet-BKsjMYMo.js +0 -1
  948. package/dist/showcase/assets/shield-D1EaWJMG.js +0 -1
  949. package/dist/showcase/assets/shield-alert-DWsbR2jn.js +0 -1
  950. package/dist/showcase/assets/shield-check-DUTAPADm.js +0 -1
  951. package/dist/showcase/assets/shopping-bag-XmeqUqk9.js +0 -1
  952. package/dist/showcase/assets/sidebar-B5uO9sUB.js +0 -1
  953. package/dist/showcase/assets/sidebar.context-CRjgeYJL.js +0 -1
  954. package/dist/showcase/assets/skeleton-BtiPkfxB.js +0 -1
  955. package/dist/showcase/assets/skeleton-DbybIpkV.js +0 -29
  956. package/dist/showcase/assets/slider-vuwVVBby.js +0 -1
  957. package/dist/showcase/assets/sliders-horizontal-BE_cwUn0.js +0 -1
  958. package/dist/showcase/assets/smart-card-Dhu_1A_u.js +0 -1
  959. package/dist/showcase/assets/sonner-DZB-G4q5.js +0 -22
  960. package/dist/showcase/assets/sortable.esm-YOwRw8Hr.js +0 -5
  961. package/dist/showcase/assets/sparkles-N8rqKQez.js +0 -1
  962. package/dist/showcase/assets/spinner-B5zKCNXu.js +0 -30
  963. package/dist/showcase/assets/spinner-BOjRziLu.js +0 -1
  964. package/dist/showcase/assets/spinner-PIr8y8av.js +0 -49
  965. package/dist/showcase/assets/square-pen-ImRrVwT8.js +0 -1
  966. package/dist/showcase/assets/stacked-avatars-DnIAc098.js +0 -1
  967. package/dist/showcase/assets/star-BaV-UTPq.js +0 -1
  968. package/dist/showcase/assets/startOfDay-CtTeiGV0.js +0 -1
  969. package/dist/showcase/assets/styles-Bv0pDLVi.js +0 -1
  970. package/dist/showcase/assets/suggestions-QnLPdgnG.js +0 -126
  971. package/dist/showcase/assets/switch-DwAS_TXx.js +0 -1
  972. package/dist/showcase/assets/switch-xzxCDtyg.js +0 -1
  973. package/dist/showcase/assets/sync-LeYxWAap.js +0 -107
  974. package/dist/showcase/assets/table-BbEFanNu.js +0 -1
  975. package/dist/showcase/assets/table-CVVHBty6.js +0 -382
  976. package/dist/showcase/assets/table-actions-DvI9U67L.js +0 -1
  977. package/dist/showcase/assets/tabs-CLcyGwLd.js +0 -1
  978. package/dist/showcase/assets/tabs-ck8y1Bjr.js +0 -19
  979. package/dist/showcase/assets/tags-input-DmBY2CKI.js +0 -1
  980. package/dist/showcase/assets/text-button-C54O1rZM.js +0 -1
  981. package/dist/showcase/assets/text-link-9_mZpq_f.js +0 -1
  982. package/dist/showcase/assets/textarea-CHvnWHWH.js +0 -1
  983. package/dist/showcase/assets/textarea-jexcMklP.js +0 -1
  984. package/dist/showcase/assets/timelines-uvFVjEQv.js +0 -200
  985. package/dist/showcase/assets/toggle-group-B3fORi8i.js +0 -1
  986. package/dist/showcase/assets/toggles-Cox6Yk2k.js +0 -71
  987. package/dist/showcase/assets/toggles-group-CSvSPqCB.js +0 -32
  988. package/dist/showcase/assets/trash-2-CE9bDw49.js +0 -1
  989. package/dist/showcase/assets/trending-up-0iJl0XvC.js +0 -1
  990. package/dist/showcase/assets/truck-DlhOPoCD.js +0 -1
  991. package/dist/showcase/assets/typography-BotOITw4.js +0 -223
  992. package/dist/showcase/assets/ui-badge-hfmO1K3-.js +0 -28
  993. package/dist/showcase/assets/ui-card-Aigzxhn3.js +0 -30
  994. package/dist/showcase/assets/ui-table-CKif9sNO.js +0 -42
  995. package/dist/showcase/assets/upload-tray-BnKDNrw9.js +0 -138
  996. package/dist/showcase/assets/use-layout-link-BQ6Y9z__.js +0 -1
  997. package/dist/showcase/assets/useAnchoredPopupScrollLock-CP1vkwD7.js +0 -1
  998. package/dist/showcase/assets/useAriaLabelledBy-J_Rvjwx3.js +0 -1
  999. package/dist/showcase/assets/useCollapsiblePanel-BwUOowW2.js +0 -1
  1000. package/dist/showcase/assets/useCompositeItem-D3XOIML-.js +0 -1
  1001. package/dist/showcase/assets/useCompositeListItem-BWfShNPP.js +0 -1
  1002. package/dist/showcase/assets/useLabelableId-DxorZ3YW.js +0 -1
  1003. package/dist/showcase/assets/useOpenInteractionType-DLUX6CcH.js +0 -1
  1004. package/dist/showcase/assets/useRender-B9zzqKA1.js +0 -1
  1005. package/dist/showcase/assets/useTriggerFocusGuards-BSvL8pKg.js +0 -1
  1006. package/dist/showcase/assets/useValueChanged-DSoTBFAJ.js +0 -1
  1007. package/dist/showcase/assets/user-BZog6aIh.js +0 -1
  1008. package/dist/showcase/assets/user-plus-CPxlPoxf.js +0 -1
  1009. package/dist/showcase/assets/users-BgXAp2UO.js +0 -1
  1010. package/dist/showcase/assets/vendor-profile-BLYiDIrO.js +0 -37
  1011. package/dist/showcase/assets/video-YBnCbmIb.js +0 -1
  1012. package/dist/showcase/assets/wrench-BFTavxzg.js +0 -1
  1013. package/dist/showcase/assets/x-D8UN9pOu.js +0 -1
  1014. package/dist/showcase/assets/zap-DIJUAJEb.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display-NBtWdAMl.js","names":[],"sources":["../../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 * 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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"}
@@ -0,0 +1,2 @@
1
+ const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/strings.cjs"),n=require("./ui-provider-BF4m2cR0.cjs"),r=require("../lib/utils.cjs"),i=require("./button-BI347RlM.cjs"),a=require("./buttons-kVvSD_oI.cjs"),o=require("./heading-0DYCOrgC.cjs"),s=require("./typography-Bzsl7aTu.cjs"),c=require("./badge-CBof1rbF.cjs"),l=require("./input-COMcb1WY.cjs"),u=require("./checkbox-D1n-nfLP.cjs"),d=require("./form-sizing-aVwVuF-w.cjs"),f=require("./textarea-C4SOrh0z.cjs"),p=require("./select-CG5Yq-6A.cjs"),m=require("./form-field-rMGPvHFK.cjs"),h=require("./switch-zFZhhOEP.cjs"),g=require("./card-radio-group-Bna2uZs1.cjs"),_=require("./date-picker-zFOqtmAS.cjs"),v=require("./popover-CaHvG8Vj.cjs");let y=require("react");y=e.t(y,1);let b=require("react/jsx-runtime"),x=require("lucide-react"),S=require("@base-ui/react/slider"),C=require("@base-ui/react/radio"),w=require("@base-ui/react/radio-group"),T=require("@dnd-kit/core"),E=require("@dnd-kit/sortable"),D=require("@dnd-kit/utilities"),O=require("react-hook-form");var k={showPassword:`Show password`,hidePassword:`Hide password`},A=y.forwardRef(function({visible:e,defaultVisible:n=!1,onVisibilityChange:i,revealable:a=!0,wrapperClassName:o,visibilityButtonClassName:s,className:c,disabled:u,isLoading:d,inputStrings:f,strings:p,...m},h){let g=t.useStrings(k,p),[_,v]=y.useState(n),S=e!==void 0,C=S?e:_,w=u||d,T=y.useCallback(()=>{let e=!C;S||v(e),i?.(e)},[S,C,i]);return(0,b.jsxs)(`div`,{className:r.cn(`password-input--component`,`relative`,o),children:[(0,b.jsx)(l.t,{ref:h,type:C?`text`:`password`,disabled:u,isLoading:d,className:r.cn(a&&`pe-10`,c),strings:f,...m}),!!a&&(0,b.jsx)(`button`,{type:`button`,className:r.cn(`password-input--toggle`,`text-muted-foreground/80 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus-visible:z-10 focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,s),"aria-label":C?g.hidePassword:g.showPassword,"aria-pressed":C,disabled:w,onMouseDown:e=>e.preventDefault(),onClick:T,children:C?(0,b.jsx)(x.EyeOff,{className:`size-4`,"aria-hidden":`true`}):(0,b.jsx)(x.Eye,{className:`size-4`,"aria-hidden":`true`})})]})});A.displayName=`PasswordInput`;function j(e,{separator:t=`-`,lowercase:n=!0,trim:r=!0}={}){let i=t||`-`,a=i.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),o=String(e??``).normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).replace(/&/g,` and `).replace(/['’]/g,``);return n&&(o=o.toLowerCase()),o=o.replace(/[^\p{Letter}\p{Number}]+/gu,i).replace(RegExp(`${a}{2,}`,`g`),i),r&&(o=o.replace(RegExp(`^${a}|${a}$`,`g`),``)),o}var M=y.forwardRef(function({value:e,slugify:t,separator:n=`-`,lowercase:i=!0,trim:a=!0,wrapperClassName:o,className:s,...c},u){let d=y.useMemo(()=>t?.(e)??j(e,{separator:n,lowercase:i,trim:a}),[i,n,t,a,e]);return(0,b.jsx)(`div`,{className:r.cn(`slug-field--component`,o),children:(0,b.jsx)(l.t,{ref:u,...c,type:`text`,value:d,readOnly:!0,className:s})})});M.displayName=`SlugField`;var N={placeholder:`Select an option`},P=`__select_empty__`,F=e=>e===``||e===null?P:e??void 0,I=e=>{if(e!==P)return e},L=(0,y.memo)((0,y.forwardRef)(({options:e,placeholder:i,strings:a,allowClear:o=!1,invalid:s,size:c,className:l,onChange:u,disabled:f,defaultOpen:m,open:h,onOpenChange:g,name:_,required:v,"aria-label":x,value:S,defaultValue:C},w)=>{let T=t.useStrings(N,a),{defaultControlSize:E}=n.s(),D=d.i(c,E),O=i??T.placeholder,k=(0,y.useMemo)(()=>{let t=e.map(e=>({...e,value:F(e.value)??``}));return o&&(t.some(e=>e.value===P)||t.unshift({label:O,value:P})),t},[e,o,O]),A=(0,y.useMemo)(()=>F(S),[S]),j=(0,y.useMemo)(()=>F(C),[C]),M=(0,y.useMemo)(()=>{let e=A??j;if(e!==void 0)return k.find(t=>t.value===e)?.label},[j,k,A]),L=(0,y.useCallback)(e=>{e!==null&&u?.(I(e))},[u]),R=!!s;return(0,b.jsxs)(p.t,{onValueChange:e=>L(e),disabled:f,defaultOpen:m,open:h,onOpenChange:g,name:_,required:v,value:A,defaultValue:j,children:[(0,b.jsx)(p.a,{ref:w,"aria-label":x,"aria-invalid":R||void 0,className:r.cn(`select--component`,`flex w-full items-center justify-between rounded-radius border px-3 py-1 !shadow-none`,`transition-[color,box-shadow] outline-none`,d.n[D],`bg-transparent dark:bg-input/30`,`data-[placeholder]:text-muted-foreground`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,`disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,l),children:(0,b.jsx)(p.o,{placeholder:O,children:M})}),(0,b.jsx)(p.n,{children:(0,b.jsx)(p.r,{children:k.map(e=>(0,b.jsxs)(p.i,{value:e.value,disabled:e.disabled,children:[!!e.icon&&(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(`span`,{className:`h-4 w-4 shrink-0`,children:e.icon}),e.label]}),!e.icon&&e.label]},e.value))})})]})}));L.displayName=`Select`;function R({label:e,description:t,hint:n,icon:i,name:a,value:c,defaultValue:l,onChange:u,disabled:d=!1,invalid:f,className:p}){let m=c!==void 0,[g,_]=(0,y.useState)(l??!1),v=m?c??!1:g,x=(0,y.useId)(),S=(0,y.useMemo)(()=>a??x,[a,x]),C=typeof t==`string`&&t.trim()!==``,w=C?`${S}-description`:void 0,T=(0,y.useCallback)(e=>{d||(m||_(e),u?.(e))},[d,m,u]),E=(0,y.useCallback)(e=>{e.target.closest(`[role="switch"]`)||T(!v)},[v,T]);return(0,b.jsxs)(`div`,{"aria-invalid":f||void 0,onClick:E,className:r.cn(`switch-card--component`,`group relative flex items-start gap-3 rounded-lg border bg-card p-4 transition-[background,border-color,box-shadow] duration-150`,`border-border`,v&&`border-primary bg-primary/[0.04]`,`aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`,!d&&`cursor-pointer hover:border-foreground/20 hover:bg-muted/30`,d&&`cursor-not-allowed opacity-50`,p),children:[!!a&&(0,b.jsx)(`input`,{type:`hidden`,name:a,value:v?`1`:`0`,"aria-hidden":`true`}),!!i&&(0,b.jsx)(`span`,{className:r.cn(`mt-0.5 inline-flex size-9 shrink-0 items-center justify-center rounded-md transition-colors`,v?`bg-primary/10 text-primary`:`bg-muted/50 text-muted-foreground group-hover:bg-muted group-hover:text-foreground`),children:(0,b.jsx)(i,{className:`size-4`})}),(0,b.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,b.jsx)(s.a,{htmlFor:S,className:r.cn(`block font-semibold tracking-tight`,d?`cursor-not-allowed`:`cursor-pointer`),children:e}),!!C&&(0,b.jsx)(o.n,{type:`secondary`,className:`leading-snug`,children:t}),!!n&&(0,b.jsx)(o.n,{size:`xs`,type:`discrete`,className:`leading-snug`,children:n})]}),(0,b.jsx)(`div`,{className:`mt-1 flex shrink-0 items-center`,children:(0,b.jsx)(h.r,{id:S,checked:v,onCheckedChange:e=>T(e),disabled:d,"aria-label":e,"aria-describedby":w})}),!!C&&(0,b.jsx)(`span`,{id:`${S}-description`,className:`sr-only`,children:t})]})}R.displayName=`SwitchCard`;function z({label:e,description:t,kind:n=`switch`,value:i,defaultValue:a,onChange:c,disabled:l=!1,invalid:d=!1,name:f,className:p,controlPosition:m=`trailing`}){let g=i!==void 0,[_,v]=(0,y.useState)(a??!1),x=g?i??!1:_,S=(0,y.useId)(),C=(0,y.useCallback)(e=>{l||(g||v(e),c?.(e))},[l,g,c]),w=e=>{e.target.closest(`[role="switch"], [role="checkbox"], input[type="checkbox"]`)||C(!x)},T=n===`switch`?(0,b.jsx)(h.r,{id:S,name:f,checked:x,onCheckedChange:e=>C(e),disabled:l,"aria-invalid":d||void 0}):(0,b.jsx)(u.t,{id:S,name:f,checked:x,onCheckedChange:e=>C(e===!0),disabled:l,"aria-invalid":d||void 0}),E=(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsx)(s.a,{htmlFor:S,className:r.cn(`block leading-snug`,l?`cursor-not-allowed opacity-50`:`cursor-pointer`),children:e}),!!t&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,className:`mt-0.5 leading-snug`,children:t})]});return(0,b.jsxs)(`div`,{role:`group`,onClick:w,className:r.cn(`toggle-field--component`,`flex items-start gap-3 rounded-md py-1`,l&&`pointer-events-none`,p),children:[m===`leading`&&(0,b.jsx)(`div`,{className:`mt-0.5 flex shrink-0`,children:T}),E,m===`trailing`&&(0,b.jsx)(`div`,{className:`mt-0.5 flex shrink-0`,children:T})]})}z.displayName=`ToggleField`;var B={placeholder:`Add a tag…`,emptyRecommendations:`No recommendations found.`,clearAll:`Clear all`,summary:(e,t)=>`${e} / ${t} tags`};function V({value:e=[],onChange:n,placeholder:i,recommendations:s,maxTags:u,showMaxTags:d=!1,allowDuplicates:f=!1,validate:p,disabled:m=!1,showClearAll:h=!1,renderTag:g,delimiter:_=/[\n,]/,addOnBlur:v=!0,minLength:S=1,maxLength:C,emptyMessage:w,sortTags:T=!1,caseSensitive:E=!1,field:D,invalid:O,className:k,strings:A}){let j=t.useStrings(B,{...i?{placeholder:i}:{},...w?{emptyRecommendations:w}:{},...A}),[M,N]=(0,y.useState)(``),[P,F]=(0,y.useState)(!1),[I,L]=(0,y.useState)(-1),R=(0,y.useRef)(null),z=(0,y.useCallback)(e=>{if(typeof e==`string`)return e;if(D&&typeof e==`object`&&e){let t=e[D];return typeof t==`string`?t:t==null?``:String(t)}return String(e)},[D]),V=(0,y.useCallback)(t=>typeof e[0]==`string`||e.length===0?t:D?{[D]:t}:t,[D,e]),H=(0,y.useMemo)(()=>s?s.map(e=>e&&typeof e==`object`&&`value`in e&&`label`in e?e:{value:e,label:z(e)}):[],[s,z]),U=(0,y.useMemo)(()=>{if(!H.length||!M)return H;let t=E?M:M.toLowerCase(),n=new Set(e.map(e=>{let t=z(e);return E?t:t.toLowerCase()}));return H.filter(e=>{let r=E?e.label:e.label.toLowerCase(),i=z(e.value),a=E?i:i.toLowerCase();return(r.includes(t)||a.includes(t))&&(f||!n.has(a))})},[H,M,e,f,E,z]),W=(0,y.useMemo)(()=>T?[...e].sort((e,t)=>{let n=z(e),r=z(t);return n.localeCompare(r)}):e,[e,T,z]),G=(0,y.useCallback)(t=>{let r=typeof t==`string`?V(t):t,i=z(r).trim();if(!i||i.length<S||C&&i.length>C||u&&e.length>=u||!f&&e.some(e=>{let t=z(e);return E?t===i:t.toLowerCase()===i.toLowerCase()})||p&&!p(r))return;let a=[...e,r];n?.(a),N(``),F(!1),L(-1)},[e,n,u,f,p,S,C,E,z,V]),K=(0,y.useCallback)(t=>{let r=e.filter((e,n)=>n!==t);n?.(r)},[e,n]),q=(0,y.useCallback)(e=>{let t=e.target.value;N(t),L(-1),s&&s.length>0&&F(!0)},[s]),ee=(0,y.useCallback)(t=>{m||(t.key===`Enter`?(t.preventDefault(),P&&I>=0&&I<U.length?(G(U[I].value),L(-1)):M.trim()&&G(M)):t.key===`Tab`?M&&(t.preventDefault(),G(M)):t.key===`ArrowDown`?(t.preventDefault(),P&&L(e=>e<U.length-1?e+1:e)):t.key===`ArrowUp`?(t.preventDefault(),P&&L(e=>e>0?e-1:0)):t.key===`Escape`?(F(!1),L(-1)):t.key===`Backspace`&&!M&&e.length>0&&K(e.length-1))},[m,P,I,U,M,G,K,e.length]),te=(0,y.useCallback)(e=>{m||(e.preventDefault(),e.clipboardData.getData(`text`).split(_).map(e=>e.trim()).filter(Boolean).forEach(e=>G(e)))},[m,_,G]),ne=(0,y.useCallback)(()=>{setTimeout(()=>{F(!1),v&&M&&G(M)},200)},[v,M,G]),re=(0,y.useCallback)(()=>{n?.([]),N(``)},[n]),ie=(0,y.useCallback)((e,t,n)=>{let i=`${z(e)}-${t}`;return(0,b.jsxs)(c.t,{variant:`secondary`,className:r.cn(`tags-input--component`,`gap-1 pr-1 font-normal`),children:[z(e),(0,b.jsx)(`button`,{type:`button`,"aria-label":`Remove ${z(e)}`,className:r.cn(`inline-flex size-3.5 items-center justify-center rounded-full`,`text-muted-foreground/70 hover:bg-foreground/10 hover:text-foreground`,`outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,`disabled:opacity-50 disabled:pointer-events-none`),onClick:()=>n(t),disabled:m,children:(0,b.jsx)(x.X,{className:`size-3`,"aria-hidden":`true`})})]},i)},[z,m]),J=!!O;return(0,b.jsxs)(`div`,{className:r.cn(`w-full relative`,k),children:[(0,b.jsxs)(`div`,{className:`relative`,children:[(0,b.jsx)(l.t,{ref:R,type:`text`,placeholder:j.placeholder,value:M,onChange:q,onKeyDown:ee,onPaste:te,onBlur:ne,onFocus:()=>{s&&U.length>0&&F(!0)},disabled:m||u!==void 0&&e.length>=u,invalid:J,maxLength:C,className:`w-full`}),!!s&&!!P&&(0,b.jsx)(`div`,{className:`absolute top-full left-0 right-0 z-50 mt-1 max-h-[200px] overflow-y-auto rounded-md bg-popover text-popover-foreground p-1 text-sm shadow-md ring-1 ring-foreground/10`,children:U.length>0?U.map((t,n)=>{let i=z(t.value),a=e.some(e=>z(e)===z(t.value));return(0,b.jsxs)(`button`,{type:`button`,onMouseDown:e=>{e.preventDefault(),G(t.value),L(-1),R.current?.focus()},onMouseEnter:()=>L(n),className:r.cn(`relative flex w-full cursor-pointer items-center justify-between gap-2 rounded-md px-2 py-(--row-py) text-[length:var(--text-xs)]`,`hover:bg-accent hover:text-accent-foreground`,`focus-visible:outline-none`,I===n&&`bg-accent text-accent-foreground`),children:[(0,b.jsx)(`span`,{children:t.label}),(0,b.jsx)(x.Check,{className:r.cn(`ml-auto size-4`,a?`opacity-100`:`opacity-0`)})]},i)}):(0,b.jsx)(o.n,{tag:`div`,size:`xs`,type:`secondary`,className:`px-2 py-(--row-py)`,children:j.emptyRecommendations})})]}),W.length>0&&(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 mt-2`,children:[W.map((e,t)=>g?g(e,t,K):ie(e,t,K)),!!h&&e.length>0&&!m&&(0,b.jsx)(a.n,{type:`button`,size:`sm`,onClick:re,className:`ml-auto`,children:j.clearAll})]}),!!u&&!!d&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,className:`mt-1`,children:j.summary(e.length,u)})]})}V.displayName=`TagsInput`;var H={prefixPlaceholder:`Prefix`},U={US:{value:`+1`,label:`United States`,iso:`US`},CA:{value:`+1`,label:`Canada`,iso:`CA`},AU:{value:`+61`,label:`Australia`,iso:`AU`},BG:{value:`+359`,label:`Bulgaria`,iso:`BG`},GR:{value:`+30`,label:`Greece`,iso:`GR`},GB:{value:`+44`,label:`United Kingdom`,iso:`GB`},DE:{value:`+49`,label:`Germany`,iso:`DE`},FR:{value:`+33`,label:`France`,iso:`FR`},IT:{value:`+39`,label:`Italy`,iso:`IT`},ES:{value:`+34`,label:`Spain`,iso:`ES`},NL:{value:`+31`,label:`Netherlands`,iso:`NL`},BE:{value:`+32`,label:`Belgium`,iso:`BE`},AT:{value:`+43`,label:`Austria`,iso:`AT`},CH:{value:`+41`,label:`Switzerland`,iso:`CH`},PL:{value:`+48`,label:`Poland`,iso:`PL`},RO:{value:`+40`,label:`Romania`,iso:`RO`},RS:{value:`+381`,label:`Serbia`,iso:`RS`},HR:{value:`+385`,label:`Croatia`,iso:`HR`},SI:{value:`+386`,label:`Slovenia`,iso:`SI`},MK:{value:`+389`,label:`North Macedonia`,iso:`MK`},TR:{value:`+90`,label:`Turkey`,iso:`TR`},RU:{value:`+7`,label:`Russia`,iso:`RU`},UA:{value:`+380`,label:`Ukraine`,iso:`UA`},SK:{value:`+421`,label:`Slovakia`,iso:`SK`},CZ:{value:`+420`,label:`Czech Republic`,iso:`CZ`},HU:{value:`+36`,label:`Hungary`,iso:`HU`},PT:{value:`+351`,label:`Portugal`,iso:`PT`},IE:{value:`+353`,label:`Ireland`,iso:`IE`},SE:{value:`+46`,label:`Sweden`,iso:`SE`},NO:{value:`+47`,label:`Norway`,iso:`NO`},DK:{value:`+45`,label:`Denmark`,iso:`DK`},FI:{value:`+358`,label:`Finland`,iso:`FI`},CY:{value:`+357`,label:`Cyprus`,iso:`CY`},AL:{value:`+355`,label:`Albania`,iso:`AL`},ME:{value:`+382`,label:`Montenegro`,iso:`ME`},BA:{value:`+387`,label:`Bosnia and Herzegovina`,iso:`BA`},XK:{value:`+383`,label:`Kosovo`,iso:`XK`},MD:{value:`+373`,label:`Moldova`,iso:`MD`},BY:{value:`+375`,label:`Belarus`,iso:`BY`},LT:{value:`+370`,label:`Lithuania`,iso:`LT`},LV:{value:`+371`,label:`Latvia`,iso:`LV`},EE:{value:`+372`,label:`Estonia`,iso:`EE`}},W=[`US`,`CA`,`GB`,`DE`,`FR`,`IT`,`ES`,`AU`],G=e=>typeof e==`string`?U[e.toUpperCase()]??null:e,K=e=>e.map(G).filter(e=>e!==null),q=(e,t)=>{let n=e.trim().replace(/\s+/g,` `).replace(/[^\d ()+-]/g,``);return t&&n.startsWith(t)&&(n=n.slice(t.length).replace(/^[\s-]+/,``)),t&&n.startsWith(`0`)&&(n=n.slice(1)),n},ee=(e,t)=>e?e.startsWith(`+`)?e:U[e.toUpperCase()]?.value??e:t[0]?.value??``;function te({normalizeOnBlur:e=!0,onBlur:i,onChange:a,prefix:s,defaultPrefix:c,prefixes:u=W,onPrefixChange:f,disablePrefixSelector:m=!1,prefixPlaceholder:h,prefixWidth:g=`w-[120px]`,showCountryName:_=!0,showPrefixInDropdown:v=!0,invalid:x,disabled:S,className:C,size:w,strings:T,...E},D){let{defaultControlSize:O}=n.s(),k=d.i(w,O),A=t.useStrings(H,T),j=(0,y.useMemo)(()=>K(u),[u]),[M,N]=(0,y.useState)((0,y.useMemo)(()=>ee(c,j),[c,j])),P=s!==void 0,F=P?ee(s,j):M,I=(0,y.useMemo)(()=>j.find(e=>e.value===F),[j,F]),L=(0,y.useCallback)(e=>{e!==null&&(P||N(e),f?.(e))},[P,f]),R=(0,y.useCallback)(e=>{if(!a)return;let t=e.target.value;if(F&&t.startsWith(F)){let n=t.slice(F.length).replace(/^[\s-]+/,``),r=n.startsWith(`0`)?n.slice(1):n;if(r!==t){a({...e,target:{...e.target,value:r},currentTarget:{...e.currentTarget,value:r}});return}}a(e)},[a,F]),z=(0,y.useCallback)(t=>{if(e&&typeof a==`function`){let e=q(t.target.value,F);e!==t.target.value&&a({...t,target:{...t.target,value:e},currentTarget:{...t.currentTarget,value:e}})}i?.(t)},[e,a,i,F]);if(j.length===0||m){let e=F||c;return e?(0,b.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,b.jsx)(`div`,{"aria-invalid":x||void 0,className:r.cn(`flex items-center justify-center rounded-md border border-input bg-muted px-3`,d.n[k],S&&`opacity-50`,`aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`),children:(0,b.jsx)(o.n,{tag:`span`,type:`secondary`,weight:`medium`,children:e})}),(0,b.jsx)(`div`,{className:`flex-1`,children:(0,b.jsx)(l.t,{ref:D,size:k,type:`tel`,autoComplete:`tel`,inputMode:`tel`,onChange:R,onBlur:z,invalid:x,disabled:S,className:C,...E})})]}):(0,b.jsx)(l.t,{ref:D,size:k,type:`tel`,autoComplete:`tel`,inputMode:`tel`,onChange:R,onBlur:z,invalid:x,disabled:S,className:r.cn(`phone-input--component`,C),...E})}return(0,b.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,b.jsxs)(p.t,{value:F,onValueChange:e=>L(e),disabled:S,children:[(0,b.jsx)(p.a,{"aria-invalid":x||void 0,className:r.cn(`border-input bg-transparent shrink-0 !shadow-none`,d.n[k],`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,g,S&&`opacity-50 cursor-not-allowed`),children:(0,b.jsx)(p.o,{placeholder:h??A.prefixPlaceholder,children:!!I&&(0,b.jsx)(o.n,{tag:`span`,children:I.value})})}),(0,b.jsx)(p.n,{children:(0,b.jsx)(p.r,{children:j.map(e=>(0,b.jsx)(p.i,{value:e.value,children:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!!v&&(0,b.jsx)(o.n,{tag:`span`,weight:`medium`,className:`min-w-[50px]`,children:e.value}),!!_&&(0,b.jsx)(o.n,{tag:`span`,type:`secondary`,lineHeight:`tight`,children:e.label})]})},e.value))})})]}),(0,b.jsx)(`div`,{className:`flex-1`,children:(0,b.jsx)(l.t,{ref:D,size:k,type:`tel`,autoComplete:`tel`,inputMode:`tel`,onChange:R,onBlur:z,invalid:x,disabled:S,className:C,...E})})]})}var ne=(0,y.memo)(y.forwardRef(te));ne.displayName=`PhoneInput`;var re=(0,y.forwardRef)(function({decimalPlaces:e=2,min:t=0,max:n=100,step:r,...i},a){return(0,b.jsx)(m.a,{className:`percentage-input--component`,ref:a,decimalPlaces:e,allowNegative:!1,min:t,max:n,step:r,endAddon:`%`,...i})});re.displayName=`PercentageInput`;function ie({className:e,defaultValue:t,value:n,min:i=0,max:a=100,...o}){let s=y.useMemo(()=>Array.isArray(n)?n:Array.isArray(t)?t:[i,a],[n,t,i,a]);return(0,b.jsx)(S.Slider.Root,{className:r.cn(`data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full`,e),"data-slot":`slider`,defaultValue:t,value:n,min:i,max:a,thumbAlignment:`edge`,...o,children:(0,b.jsxs)(S.Slider.Control,{className:`relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-40 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col`,children:[(0,b.jsx)(S.Slider.Track,{"data-slot":`slider-track`,className:`relative grow overflow-hidden rounded-full bg-muted select-none data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5`,children:(0,b.jsx)(S.Slider.Indicator,{"data-slot":`slider-range`,className:`absolute bg-primary select-none data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full`})}),Array.from({length:s.length},(e,t)=>(0,b.jsx)(S.Slider.Thumb,{"data-slot":`slider-thumb`,className:`block size-4 shrink-0 rounded-full border border-primary bg-white shadow-sm ring-ring/50 transition-[color,box-shadow] select-none hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50`},t))]})})}function J({name:e,id:t,value:n,defaultValue:i,min:a=0,max:s=100,step:c=1,disabled:l=!1,invalid:u=!1,onChange:d,onValueChange:f,onValueCommitted:p,showValue:m=!1,formatValue:h,unit:g,className:_,orientation:v=`horizontal`},x){let S=(0,y.useId)(),C=t??`slider-${S}`,w=e??C,T=(0,y.useCallback)(e=>{let t=Array.isArray(e)?e[0]:e;f?.(t),d?.({target:{name:w,value:t}})},[w,d,f]),E=(0,y.useCallback)(e=>{let t=Array.isArray(e)?e[0]:e;p?.(t)},[p]),D=(0,y.useMemo)(()=>{if(!m)return null;let e=n??i??a;return h?h(e):g?`${e}${g}`:String(e)},[m,n,i,a,h,g]),O=n===void 0?void 0:[n],k=i===void 0?[a]:[i];return(0,b.jsxs)(`div`,{className:r.cn(`slider--component`,`flex items-center gap-3`,_),children:[(0,b.jsx)(ie,{ref:x,id:C,value:O,defaultValue:k,min:a,max:s,step:c,disabled:l,orientation:v,onValueChange:T,onValueCommitted:E,"aria-invalid":u||void 0,className:r.cn(`min-w-0 flex-1`,u&&`[&_[data-slot=slider-range]]:bg-destructive [&_[data-slot=slider-thumb]]:border-destructive`)}),!!m&&D!==null&&(0,b.jsx)(o.n,{tag:`span`,type:u?`error`:`secondary`,className:`min-w-[3ch] shrink-0 text-right tabular-nums`,children:D})]})}var ae=y.forwardRef(J);ae.displayName=`SliderField`;function oe({options:e,value:t,defaultValue:i,onChange:a,name:s,invalid:c,disabled:l,size:u,className:f}){let{defaultControlSize:p}=n.s(),m=g.r[d.i(u,p)];return(0,b.jsx)(w.RadioGroup,{value:t,defaultValue:i,onValueChange:e=>e&&a?.(e),name:s,disabled:l,"aria-invalid":c||void 0,className:r.cn(`list-radio-group--component`,`overflow-hidden rounded-md border [&>[role=radio]~[role=radio]]:border-t`,`aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`,l&&`pointer-events-none opacity-50`,f),children:e.map(e=>(0,b.jsxs)(C.Radio.Root,{value:e.value,disabled:l||e.disabled,className:r.cn(`group flex w-full items-start gap-3 text-start outline-none cursor-pointer`,`transition-colors hover:bg-muted/40 focus-visible:bg-muted/40`,`data-[checked]:bg-primary/10`,`disabled:cursor-not-allowed disabled:opacity-50`,m),children:[(0,b.jsx)(`div`,{className:`mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-primary group-data-[checked]:border-primary group-not-data-[checked]:border-muted-foreground/50`,children:(0,b.jsx)(C.Radio.Indicator,{render:(0,b.jsx)(x.Circle,{className:`h-2.5 w-2.5 fill-primary text-primary`})})}),(0,b.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,b.jsx)(o.n,{tag:`span`,weight:`medium`,lineHeight:`tight`,className:`block`,children:e.label}),!!e.description&&(0,b.jsx)(o.n,{tag:`span`,size:`xs`,type:`secondary`,className:`block mt-0.5`,children:e.description})]})]},e.value))})}oe.displayName=`ListRadioGroup`;var se=[`floor`,`half_up`,`ceil`];function ce({value:e,onChange:t,labels:n,placeholder:r,...i}){return(0,b.jsx)(L,{className:`rounding-mode-select--component`,options:(0,y.useMemo)(()=>se.map(e=>({value:e,label:n?.[e]??e})),[n]),value:e,onChange:(0,y.useCallback)(e=>{t?.(e)},[t]),placeholder:r,...i})}ce.displayName=`RoundingModeSelect`;var le={placeholder:`Select an item`},ue=`__rich_select_empty__`,de=(0,y.forwardRef)(({options:e,placeholder:i,strings:a,onChange:s,className:c,disabled:l,defaultOpen:u,open:f,onOpenChange:m,name:h,required:g,value:_,defaultValue:v,allowClear:x=!1,invalid:S,size:C},w)=>{let{defaultControlSize:T}=n.s(),E=d.i(C,T),D=t.useStrings(le,a),O=i??D.placeholder,k=(0,y.useCallback)(e=>{if(e!==ue)return e===``||e==null?x?ue:void 0:e},[x]),A=(0,y.useCallback)(e=>{if(e!==ue)return e},[]),j=(0,y.useMemo)(()=>{let t=e.map(e=>({...e,value:k(e.value)??``}));return x&&(t.some(e=>e.label===O)||t.unshift({label:O,value:ue})),t},[e,x,O,k]),M=(0,y.useMemo)(()=>k(_??void 0),[_,k]),N=(0,y.useMemo)(()=>k(v??void 0),[v,k]),P=_!==void 0,[F,I]=(0,y.useState)(N),L=P?M:F,R=(0,y.useMemo)(()=>j.find(e=>e.value===L),[L,j]),z=(0,y.useCallback)(e=>{e!=null&&(P||I(e),s?.(A(e)))},[P,s,A]),B=r.cn(`border-input bg-transparent w-full rounded-radius border outline-none transition-[color,box-shadow] !shadow-none`,d.n[E],d.t[E],`h-auto py-2`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive aria-invalid:text-destructive`,`disabled:cursor-not-allowed disabled:opacity-50`,c),V=P?{value:M}:{};return(0,b.jsxs)(p.t,{onValueChange:e=>z(e),disabled:l,defaultOpen:u,open:f,onOpenChange:m,name:h,required:g,defaultValue:N,...V,children:[(0,b.jsx)(p.a,{ref:w,className:r.cn(`rich-select--component`,B),"aria-invalid":S,children:R?(0,b.jsx)(o.n,{tag:`span`,className:`text-left break-words whitespace-normal`,children:R.label}):(0,b.jsx)(p.o,{placeholder:O})}),(0,b.jsx)(p.n,{children:(0,b.jsx)(p.r,{children:j.map(e=>(0,b.jsx)(p.i,{value:e.value,disabled:e.disabled,children:(0,b.jsxs)(`div`,{className:`flex w-full items-center gap-2`,children:[!!e.icon&&(0,b.jsx)(`span`,{className:`w-4 h-4 shrink-0 flex items-center justify-center self-start mt-0.5`,children:e.icon}),(0,b.jsxs)(`div`,{className:`flex flex-col min-w-0 text-left flex-1`,children:[(0,b.jsx)(o.n,{tag:`span`,weight:`medium`,children:e.label}),!!e.description&&(0,b.jsx)(o.n,{tag:`span`,size:`xs`,type:`secondary`,lineHeight:`tight`,className:`mt-0.5 line-clamp-2`,children:e.description})]})]})},e.value))})})]})});de.displayName=`RichSelect`;var fe={width:`Width`,height:`Height`,depth:`Depth`,unit:`Unit`,widthPlaceholder:`0.00`,heightPlaceholder:`0.00`,depthPlaceholder:`0.00`},pe=[{value:`g`,label:`g (grams)`},{value:`kg`,label:`kg (kilograms)`}],me=(e,t)=>{if(!e)return{width:``,height:``,depth:``};if(t===`string`&&typeof e==`string`){let t=e.split(`x`).map(e=>e.trim());return{width:t[0]||``,height:t[1]||``,depth:t[2]||``}}return t===`object`&&typeof e==`object`?{width:e.width||``,height:e.height||``,depth:e.depth||``}:{width:``,height:``,depth:``}},he=(e,t,n,r)=>r===`string`?`${e}x${t}x${n}`:{width:e,height:t,depth:n};function ge({value:e,defaultValue:i,format:a=`string`,unit:c,defaultUnit:l=`g`,widthLabel:u,heightLabel:f,depthLabel:h,unitLabel:g,unitPlaceholder:_,widthPlaceholder:v,heightPlaceholder:x,depthPlaceholder:S,onChange:C,onUnitChange:w,decimalPlaces:T=2,min:E=0,max:D,showUnitSelector:O=!0,disableUnitSelector:k=!1,layout:A=`horizontal`,invalid:j,disabled:M=!1,className:N,size:P,strings:F}){let{defaultControlSize:I}=n.s(),L=d.i(P,I),R=t.useStrings(fe,F),z=u??R.width,B=f??R.height,V=h??R.depth,H=_??R.unit,U=v??R.widthPlaceholder,W=x??R.heightPlaceholder,G=S??R.depthPlaceholder,K=A===`horizontal`,q=A===`vertical`,ee=O===!0,te=(g??``).length>0,ne=q?z:``,re=q?B:``,ie=q?V:``,J=e!==void 0,ae=c!==void 0,oe=me(J?e:i,a),[se,ce]=(0,y.useState)(oe.width),[le,ue]=(0,y.useState)(oe.height),[de,ge]=(0,y.useState)(oe.depth),[_e,ve]=(0,y.useState)(c||l),ye=me(e,a),be=J?ye.width:se,xe=J?ye.height:le,Se=J?ye.depth:de,Ce=ae?c:_e;(0,y.useEffect)(()=>{if(J){let t=me(e,a);ce(t.width),ue(t.height),ge(t.depth)}},[e,a,J]);let we=(0,y.useCallback)((e,t)=>{let n=be,r=xe,i=Se;e===`width`&&(n=t),e===`height`&&(r=t),e===`depth`&&(i=t),J||(ce(n),ue(r),ge(i));let o=he(n,r,i,a);C?.({target:{value:o}})},[be,xe,Se,J,a,C]),Te=(0,y.useCallback)(e=>{if(e===null)return;let t=e;ae||ve(t),w?.(t)},[ae,w]),Ee=(0,b.jsxs)(`div`,{className:`space-y-2`,children:[!!te&&(0,b.jsx)(s.a,{className:`leading-6`,children:g}),(0,b.jsxs)(p.t,{value:Ce,onValueChange:e=>Te(e),disabled:M||k,children:[(0,b.jsx)(p.a,{"aria-invalid":j||void 0,className:r.cn(`border-input bg-transparent !shadow-none`,d.n[L],`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,`w-32`,M&&`opacity-50 cursor-not-allowed`),children:(0,b.jsx)(p.o,{placeholder:H})}),(0,b.jsx)(p.n,{children:(0,b.jsx)(p.r,{children:pe.map(e=>(0,b.jsx)(p.i,{value:e.value,children:e.label},e.value))})})]})]});return(0,b.jsx)(`div`,{className:r.cn(`dimensions-input--component`,`space-y-2`,N),children:(0,b.jsxs)(`div`,{className:r.cn(`flex gap-2`,A===`vertical`?`flex-col`:`flex-row items-start`),children:[(0,b.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[!!q&&!!ne&&(0,b.jsx)(s.a,{children:ne}),(0,b.jsx)(m.a,{size:L,value:be,onChange:e=>we(`width`,e.target.value),placeholder:U,decimalPlaces:T,min:E,max:D,disabled:M,invalid:j,"aria-label":z}),!!K&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,className:`text-center`,children:z})]}),A===`horizontal`&&(0,b.jsx)(`div`,{className:`flex items-center pt-2`,children:(0,b.jsx)(o.n,{tag:`span`,type:`secondary`,children:`×`})}),(0,b.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[!!q&&!!re&&(0,b.jsx)(s.a,{children:re}),(0,b.jsx)(m.a,{size:L,value:xe,onChange:e=>we(`height`,e.target.value),placeholder:W,decimalPlaces:T,min:E,max:D,disabled:M,invalid:j,"aria-label":B}),!!K&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,className:`text-center`,children:B})]}),A===`horizontal`&&(0,b.jsx)(`div`,{className:`flex items-center pt-2`,children:(0,b.jsx)(o.n,{tag:`span`,type:`secondary`,children:`×`})}),(0,b.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[!!q&&!!ie&&(0,b.jsx)(s.a,{children:ie}),(0,b.jsx)(m.a,{size:L,value:Se,onChange:e=>we(`depth`,e.target.value),placeholder:G,decimalPlaces:T,min:E,max:D,disabled:M,invalid:j,"aria-label":V}),!!K&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,className:`text-center`,children:V})]}),!!ee&&(0,b.jsxs)(`div`,{className:r.cn(A===`vertical`?`w-full`:`w-32 pt-0`),children:[Ee,!!K&&!te&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,className:`mt-1 text-center`,children:H})]})]})})}ge.displayName=`DimensionsInput`;var _e={unitLabel:``,unitPlaceholder:``},ve=[{value:`g`,label:`g`},{value:`kg`,label:`kg`},{value:`lb`,label:`lb`},{value:`oz`,label:`oz`}];function ye({value:e,defaultValue:i,unit:a,defaultUnit:o=`g`,onChange:c,onUnitChange:l,decimalPlaces:u=2,min:f=0,max:h,showUnitSelector:g=!0,disableUnitSelector:_=!1,unitLabel:v,unitPlaceholder:x,unitWidth:S=`w-24`,strings:C,invalid:w,disabled:T=!1,size:E,className:D}){let{defaultControlSize:O}=n.s(),k=d.i(E,O),A=t.useStrings(_e,{...v===void 0?{}:{unitLabel:v},...x===void 0?{}:{unitPlaceholder:x},...C}),j=e!==void 0,M=a!==void 0,[N,P]=(0,y.useState)(i??``),[F,I]=(0,y.useState)(a??o),L=j?e??``:N,R=M?a??o:F,z=(0,y.useCallback)(e=>{j||P(e.target.value),c?.({target:{value:e.target.value}})},[j,c]),B=(0,y.useCallback)(e=>{if(e===null)return;let t=e;M||I(t),l?.(t)},[M,l]),V=(0,y.useMemo)(()=>ve,[]),H=A.unitLabel!==``;return(0,b.jsxs)(`div`,{className:r.cn(`weight-input--component`,`flex items-start gap-2`,D),children:[(0,b.jsx)(`div`,{className:`flex-1`,children:(0,b.jsx)(m.a,{size:k,value:L,onChange:z,decimalPlaces:u,allowNegative:!1,min:f,max:h,disabled:T,invalid:w})}),!!g&&(0,b.jsxs)(`div`,{className:`space-y-2`,children:[!!H&&(0,b.jsx)(s.a,{className:`leading-6`,children:A.unitLabel}),(0,b.jsxs)(p.t,{value:R,onValueChange:e=>B(e),disabled:T||_,children:[(0,b.jsx)(p.a,{"aria-invalid":w||void 0,className:r.cn(`border-input bg-transparent !shadow-none`,d.n[k],`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,(T||_)&&`opacity-50 cursor-not-allowed`,S),children:(0,b.jsx)(p.o,{placeholder:A.unitPlaceholder||void 0})}),(0,b.jsx)(p.n,{children:(0,b.jsx)(p.r,{children:V.map(e=>(0,b.jsx)(p.i,{value:e.value,children:e.label},e.value))})})]})]})]})}ye.displayName=`WeightInput`;var be={latLabel:``,lngLabel:``,latPlaceholder:``,lngPlaceholder:``,previewLinkLabel:``},xe=(e,t)=>{if(!e)return{lat:``,lng:``};if(t===`string`&&typeof e==`string`){let[t,n]=e.split(`,`).map(e=>e.trim());return{lat:t??``,lng:n??``}}return t===`object`&&typeof e==`object`?{lat:e.lat??``,lng:e.lng??``}:{lat:``,lng:``}},Se=(e,t,n)=>n===`string`?`${e},${t}`:{lat:e,lng:t},Ce=(e,t,n)=>{if(!e)return!1;let r=Number(e);return Number.isFinite(r)&&r>=t&&r<=n};function we({value:e,defaultValue:n,format:i=`object`,onChange:a,latLabel:o,lngLabel:c,latPlaceholder:l,lngPlaceholder:u,decimalPlaces:d=6,showPreviewLink:f=!0,previewLinkLabel:p,strings:h,invalid:g,className:_,disabled:v}){let x=t.useStrings(be,{...o===void 0?{}:{latLabel:o},...c===void 0?{}:{lngLabel:c},...l===void 0?{}:{latPlaceholder:l},...u===void 0?{}:{lngPlaceholder:u},...p===void 0?{}:{previewLinkLabel:p},...h}),S=e!==void 0,C=xe(S?e:n,i),[w,T]=(0,y.useState)(C.lat),[E,D]=(0,y.useState)(C.lng),O=xe(e,i),k=S?O.lat:w,A=S?O.lng:E;(0,y.useEffect)(()=>{S&&(T(O.lat),D(O.lng))},[S,O.lat,O.lng]);let j=(0,y.useCallback)((e,t)=>{S||(T(e),D(t)),a?.({target:{value:Se(e,t,i)}})},[S,a,i]),M=(0,y.useMemo)(()=>{let e=Ce(k,-90,90),t=Ce(A,-180,180);return!e||!t?null:`https://www.google.com/maps?q=${encodeURIComponent(`${k},${A}`)}`},[k,A]);return(0,b.jsxs)(`div`,{className:r.cn(`coordinates-input--component`,`space-y-3`,_),children:[(0,b.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 md:grid-cols-2`,children:[(0,b.jsxs)(`div`,{className:`space-y-2`,children:[!!x.latLabel&&(0,b.jsx)(s.a,{children:x.latLabel}),(0,b.jsx)(m.a,{placeholder:x.latPlaceholder||void 0,value:k,onChange:e=>j(e.target.value,A),decimalPlaces:d,allowNegative:!0,min:-90,max:90,invalid:g,disabled:v})]}),(0,b.jsxs)(`div`,{className:`space-y-2`,children:[!!x.lngLabel&&(0,b.jsx)(s.a,{children:x.lngLabel}),(0,b.jsx)(m.a,{placeholder:x.lngPlaceholder||void 0,value:A,onChange:e=>j(k,e.target.value),decimalPlaces:d,allowNegative:!0,min:-180,max:180,invalid:g,disabled:v})]})]}),!!f&&!!M&&!!x.previewLinkLabel&&(0,b.jsx)(s.i,{href:M,type:`secondary`,underline:!1,children:x.previewLinkLabel})]})}we.displayName=`CoordinatesInput`;function Te({value:e,onChange:t,placeholder:n,readableFormat:r=`dd-MM-yyyy HH:mm`,stepMinutes:i=30,modal:a=!0,invalid:o,disabled:s}){let c=e?new Date(e):void 0;return(0,b.jsx)(_.t,{className:`date-time-input--component`,mode:`single`,disabled:s,error:o?` `:void 0,placeholder:n,value:c,onChange:(0,y.useCallback)(e=>{t?.(e.date?e.date.toISOString():void 0)},[t]),readableFormat:r,withTime:{enabled:!0,format:`24`,step:i},modal:a})}Te.displayName=`DateTimeInput`;var Ee={placeholder:`Select time`,dialogTitle:`Select Time`,hours:`Hours`,minutes:`Minutes`,seconds:`Seconds`,now:`Now`,done:`Done`,hoursPlaceholder:`HH`,minutesPlaceholder:`MM`,secondsPlaceholder:`SS`,am:`AM`,pm:`PM`},Y=e=>String(e).padStart(2,`0`),X=e=>{let t=e.trim();if(t===``)return null;let n=Number.parseInt(t,10);return Number.isFinite(n)?n:null},Z=(e,t,n)=>Math.min(Math.max(e,t),n),De=e=>(e??``).replace(/\D/g,``).slice(0,2),Oe=(e,t)=>{if(!Number.isFinite(t)||t<=0||t===1)return e;let n=e%t,r=n>=Math.max(1,Math.floor(t*.8)),i=e-n,a=r?i+t:i;return a>=60?0:a};function ke({className:e,value:n=`00:00:00`,onChange:a,invalid:c,disabled:u,placeholder:d,dialogTitle:f,hoursLabel:p,minutesLabel:m,secondsLabel:h,nowLabel:g,doneLabel:S,format:C=`24`,minuteStep:w=5,showSeconds:T=!0,strings:E}){let D=(0,y.useId)(),O=t.useStrings(Ee,{...d===void 0?{}:{placeholder:d},...f===void 0?{}:{dialogTitle:f},...p===void 0?{}:{hours:p},...m===void 0?{}:{minutes:m},...h===void 0?{}:{seconds:h},...g===void 0?{}:{now:g},...S===void 0?{}:{done:S},...E??{}}),k=(0,y.useCallback)((e,t)=>{let n=X(e??``)??0;return C===`12`?{hours:Y(n>12?12:Z(n===0?12:n,1,12)),meridiem:t}:{hours:Y(n>24?24:Z(n,0,24)),meridiem:t}},[C]),A=(0,y.useCallback)(e=>{let t=X(e??``)??0;return t>59&&(t=0),t=Oe(Z(t,0,59),w),Y(t)},[w]),j=(0,y.useCallback)(e=>{let t=X(e??``)??0;return t>59&&(t=0),t=Z(t,0,59),Y(t)},[]),M=(0,y.useCallback)((e,t,n,r)=>{let i=X(e)??0,a=X(t)??0;a>59&&(a=0),a=Oe(Z(a,0,59),w);let o=T?X(n)??0:0;if(o>59&&(o=0),o=T?Z(o,0,59):0,C===`12`){let e=i>12?12:Z(i===0?12:i,1,12);return`${Y(r===`AM`?e===12?0:e:e===12?12:e+12)}:${Y(a)}:${Y(o)}`}return`${Y(i>24?24:Z(i,0,24))}:${Y(a)}:${Y(o)}`},[C,w,T]),N=(0,y.useCallback)(e=>{let[t=`00`,n=`00`,r=`00`]=(e??``).split(`:`),i=T?r:`00`;return{hours:De(t),minutes:De(n),seconds:De(i)}},[T]),[P,F]=(0,y.useState)(!1),[I,L]=(0,y.useState)(()=>N(n)),[R,z]=(0,y.useState)(()=>{let[e=`00`]=(n??``).split(`:`);return(X(e)??0)>=12?`PM`:`AM`}),B=(0,y.useRef)({});(0,y.useEffect)(()=>{if(P)return;L(N(n));let[e=`00`]=(n??``).split(`:`);z((X(e)??0)>=12?`PM`:`AM`)},[P,N,n]);let V=(e,t)=>{let n=De(t);L(t=>({...t,[e]:n})),B.current[e]&&window.clearTimeout(B.current[e]),B.current[e]=window.setTimeout(()=>{L(t=>{let n={...t};if(e===`hours`){let e=(n.hours??``).trim();e.length===1&&(n.hours=`0${e}`),(n.hours??``).trim().length===2&&(n.hours=k(n.hours,R).hours)}if(e===`minutes`){let e=(n.minutes??``).trim();e.length===1&&(n.minutes=`0${e}`),(n.minutes??``).trim().length===2&&(n.minutes=A(n.minutes))}if(e===`seconds`){let e=(n.seconds??``).trim();e.length===1&&(n.seconds=`0${e}`),(n.seconds??``).trim().length===2&&(n.seconds=j(n.seconds))}let r=M(n.hours,n.minutes,n.seconds,R);a?.(r);let[i=`00`,o=`00`,s=`00`]=r.split(`:`);return C===`12`?n.hours=Y((X(i)??0)%12||12):n.hours=i,n.minutes=o,n.seconds=s,n})},400)},H=e=>{B.current[e]&&window.clearTimeout(B.current[e]),L(e=>{let t={...e};t.hours=k(t.hours,R).hours,t.minutes=A(t.minutes),t.seconds=j(t.seconds);let n=M(t.hours,t.minutes,t.seconds,R);a?.(n);let[r=`00`,i=`00`,o=`00`]=n.split(`:`);return{hours:C===`12`?De(String((X(r)??0)%12||12)):r,minutes:i,seconds:o}})},U=(0,y.useMemo)(()=>{let e=M(I.hours,I.minutes,I.seconds,R);if(!T){let[t=`00`,n=`00`]=e.split(`:`);return`${t}:${n}`}return e},[R,M,T,I.hours,I.minutes,I.seconds]);return(0,b.jsxs)(v.n,{open:P,onOpenChange:F,children:[(0,b.jsx)(v.s,{render:t=>(0,b.jsx)(i.t,{...t,id:D,variant:`secondary`,buttonStyle:`outline`,"aria-expanded":P,"aria-invalid":c,disabled:u,className:r.cn(`time-picker--component`,_.n,`w-full justify-between text-left`,!n&&`!text-muted-foreground`,t.className,e),children:t.children}),children:(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(x.Clock,{className:`h-4 w-4`}),(0,b.jsx)(`span`,{children:U||O.placeholder})]})}),(0,b.jsx)(v.t,{className:`w-auto p-4`,align:`start`,children:(0,b.jsxs)(`div`,{className:`space-y-4`,children:[(0,b.jsx)(o.n,{tag:`div`,weight:`medium`,align:`center`,children:O.dialogTitle}),(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(`div`,{className:`text-center`,children:[(0,b.jsx)(s.a,{size:`xs`,className:`text-muted-foreground`,children:O.hours}),(0,b.jsx)(l.t,{inputMode:`numeric`,value:I.hours,onChange:e=>V(`hours`,e.target.value),onFocus:e=>e.currentTarget.select(),onClick:e=>e.currentTarget.select(),onBlur:()=>H(`hours`),placeholder:O.hoursPlaceholder,className:`w-16 text-center`})]}),(0,b.jsx)(o.n,{tag:`div`,className:`text-2xl`,children:`:`}),(0,b.jsxs)(`div`,{className:`text-center`,children:[(0,b.jsx)(s.a,{size:`xs`,className:`text-muted-foreground`,children:O.minutes}),(0,b.jsx)(l.t,{inputMode:`numeric`,value:I.minutes,onChange:e=>V(`minutes`,e.target.value),onFocus:e=>e.currentTarget.select(),onClick:e=>e.currentTarget.select(),onBlur:()=>H(`minutes`),placeholder:O.minutesPlaceholder,className:`w-16 text-center`})]}),!!T&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o.n,{tag:`div`,className:`text-2xl`,children:`:`}),(0,b.jsxs)(`div`,{className:`text-center`,children:[(0,b.jsx)(s.a,{size:`xs`,className:`text-muted-foreground`,children:O.seconds}),(0,b.jsx)(l.t,{inputMode:`numeric`,value:I.seconds,onChange:e=>V(`seconds`,e.target.value),onFocus:e=>e.currentTarget.select(),onClick:e=>e.currentTarget.select(),onBlur:()=>H(`seconds`),placeholder:O.secondsPlaceholder,className:`w-16 text-center`})]})]}),C===`12`&&(0,b.jsxs)(`div`,{className:`flex items-end gap-1 pb-0.5`,children:[(0,b.jsx)(i.t,{type:`button`,variant:R===`AM`?`primary`:`secondary`,buttonStyle:R===`AM`?`solid`:`outline`,onClick:()=>z(`AM`),children:O.am}),(0,b.jsx)(i.t,{type:`button`,variant:R===`PM`?`primary`:`secondary`,buttonStyle:R===`PM`?`solid`:`outline`,onClick:()=>z(`PM`),children:O.pm})]})]}),(0,b.jsxs)(`div`,{className:`flex gap-2`,children:[(0,b.jsx)(i.t,{variant:`secondary`,buttonStyle:`outline`,className:`flex-1`,onClick:()=>{let e=new Date,t={hours:String(C===`12`?e.getHours()%12||12:e.getHours()),minutes:String(e.getMinutes()),seconds:``};L(t),z(e.getHours()>=12?`PM`:`AM`),a?.(M(t.hours,t.minutes,t.seconds,e.getHours()>=12?`PM`:`AM`))},children:O.now}),(0,b.jsx)(i.t,{variant:`primary`,buttonStyle:`solid`,className:`flex-1`,onClick:()=>{a?.(M(I.hours,I.minutes,I.seconds,R)),F(!1)},children:O.done})]})]})})]})}ke.displayName=`TimePicker`;var Ae=e=>{if(e===0)return`0 Bytes`;let t=1024,n=[`Bytes`,`KB`,`MB`,`GB`,`TB`],r=Math.floor(Math.log(e)/Math.log(t));return`${(e/t**r).toFixed(2)} ${n[r]}`},je=0,Me=()=>`${Date.now().toString(36)}-${(je++).toString(36)}`,Ne=e=>{let[t,n]=(0,y.useState)([]),[r,i]=(0,y.useState)({}),a=(0,y.useCallback)(Ae,[]),o=(0,y.useCallback)(t=>{if(e?.minSize!==void 0&&t.size<e.minSize)return`Size (${Ae(t.size)}) is smaller than minimum (${Ae(e.minSize)}).`;if(e?.maxSize!==void 0&&t.size>e.maxSize)return`Size (${Ae(t.size)}) exceeds maximum (${Ae(e.maxSize)}).`;let n=t.name.split(`.`).pop()?.toLowerCase()||``;if(e?.allowedExtensions&&!e.allowedExtensions.map(e=>e.toLowerCase()).includes(n))return`Extension (.${n}) is not allowed.`;if(e?.customValidator){let n=e.customValidator(t);if(n!==!0)return typeof n==`string`?n:`Custom validation failed.`}return null},[e]),s=(0,y.useCallback)((t,r=!1)=>{let a=Array.isArray(t)?t:Array.from(t),s={};n(t=>{let n=r?[]:[...t];return a.forEach(t=>{let r=t.name.split(`.`).pop()?.toLowerCase()||``;if(n.some(e=>e.name===t.name&&e.size===t.size&&e.extension===r))return;let i=o(t);if(i){s[t.name]=i;return}if(e?.maxFiles!==void 0&&n.length+1>e.maxFiles){s[t.name]=`Cannot exceed max files limit of ${e.maxFiles}.`;return}let a={id:Me(),file:t,name:t.name,size:t.size,formattedSize:Ae(t.size),type:t.type,extension:r,lastModified:t.lastModified};n.push(a)}),n}),i(s)},[e?.maxFiles,o]);return{files:t,addFiles:(0,y.useCallback)(e=>s(e,!1),[s]),setFiles:(0,y.useCallback)(e=>s(e,!0),[s]),remove:(0,y.useCallback)(e=>{n(t=>t.filter(t=>t.id!==e))},[]),removeAll:(0,y.useCallback)(()=>{n(e=>e.length===0?e:[]),i({})},[]),formatSize:a,validationErrors:r}},Pe={instruction:`Drag a file here or click to browse`,helper:``,browse:`Browse files`,remove:`Remove`};function Fe({accept:e,multiple:n=!1,value:a,onChange:s,onChangeFiles:c,disabled:l,invalid:u,instructionText:d,browseButtonText:f,removeButtonText:p,helperText:m,strings:h},g){let _=t.useStrings(Pe,{...d===void 0?{}:{instruction:d},...m===void 0?{}:{helper:m},...f===void 0?{}:{browse:f},...p===void 0?{}:{remove:p},...h}),{files:v,setFiles:S,remove:C,removeAll:w,validationErrors:T}=Ne({maxFiles:n?void 0:1}),E=(0,y.useRef)(null),[D,O]=(0,y.useState)(!1);(0,y.useEffect)(()=>{if(n){Array.isArray(a)&&a.length>0?S(a):a||w();return}a instanceof File?S([a]):a||w()},[a,n]);let k=v[0],A=k?.name??(a instanceof File?a.name:``),j=k?.formattedSize??(a instanceof File?`${Math.round(a.size/1024*100)/100} KB`:``),M=n&&v.length>0,N=!n&&A.length>0,P=(0,y.useCallback)(()=>{l||E.current?.click()},[l]),F=(0,y.useCallback)(e=>{if(!e||e.length===0){w(),n?c?.([]):s?.(void 0);return}let t=Array.from(e);S(e),n?c?.(t):s?.(t[0])},[n,s,c,w,S]),I=(0,y.useCallback)(e=>{let t=e.target.files;if(!t||t.length===0){E.current&&(E.current.value=``);return}F(t),E.current&&(E.current.value=``)},[F]),L=(0,y.useCallback)(()=>{k&&C(k.id),E.current&&(E.current.value=``),s?.(void 0)},[s,C,k]),R=(0,y.useCallback)(e=>{let t=v.filter(t=>t.id!==e).map(e=>e.file);C(e),c?.(t),E.current&&(E.current.value=``)},[v,c,C]),z=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),B=(0,y.useCallback)(e=>{z(e),l||O(!0)},[l,z]),V=(0,y.useCallback)(e=>{z(e),O(!1)},[z]),H=(0,y.useCallback)(e=>{if(z(e),O(!1),l)return;let t=e.dataTransfer?.files;!t||t.length===0||(F(t),E.current&&(E.current.value=``))},[l,F,z]),U=(0,y.useMemo)(()=>r.cn(`relative flex min-h-[180px] flex-col items-center justify-center gap-4 rounded-xl border border-dashed px-6 py-10 text-center transition-colors duration-150`,u?`border-destructive`:`border-muted-foreground/60`,`bg-muted/40`,`hover:border-primary hover:bg-primary/5 hover:text-primary`,l?`cursor-not-allowed opacity-50 hover:border-muted-foreground/60 hover:bg-muted/40 hover:text-muted-foreground`:``,!l&&D?`border-primary bg-primary/10 text-primary`:``),[l,D,u]);return(0,b.jsxs)(`div`,{className:r.cn(`file-upload--component`,`space-y-3`),children:[(0,b.jsxs)(`div`,{role:`button`,tabIndex:l?-1:0,className:U,onClick:e=>{e.defaultPrevented||P()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),P())},onDragEnter:B,onDragOver:B,onDragLeave:V,onDrop:H,"aria-disabled":l,"aria-invalid":u||void 0,children:[(0,b.jsx)(`input`,{ref:e=>{E.current=e,typeof g==`function`?g(e):g&&(g.current=e)},type:`file`,className:`hidden`,accept:e,multiple:n,onChange:I,onClick:e=>{e.stopPropagation()},disabled:l}),(0,b.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-primary/10 text-primary`,children:(0,b.jsx)(x.UploadIcon,{className:`h-6 w-6`,"aria-hidden":`true`})}),(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsx)(o.n,{weight:`medium`,children:_.instruction}),!!_.helper&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,children:_.helper})]}),(0,b.jsx)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`outline`,onClick:e=>{e.preventDefault(),e.stopPropagation(),P()},disabled:l,children:_.browse})]}),!!M&&(0,b.jsx)(`div`,{className:`space-y-2`,children:v.map(e=>(0,b.jsxs)(`div`,{className:`flex items-center gap-3 border rounded-md p-3 bg-card`,children:[(0,b.jsx)(`div`,{className:`shrink-0 h-10 w-10 rounded bg-muted flex items-center justify-center`,children:(0,b.jsx)(x.File,{className:`h-5 w-5 text-muted-foreground`})}),(0,b.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,b.jsx)(o.n,{tag:`div`,weight:`medium`,className:`truncate`,title:e.name,children:e.name}),(0,b.jsx)(o.n,{tag:`div`,size:`xs`,type:`secondary`,children:e.formattedSize})]}),(0,b.jsx)(i.t,{type:`button`,variant:`error`,buttonStyle:`ghost`,size:`xs`,icon:x.Trash2Icon,onClick:()=>R(e.id),children:_.remove})]},e.id))}),!!N&&(0,b.jsxs)(`div`,{className:`flex items-center gap-3 border rounded-md p-3 bg-card`,children:[(0,b.jsx)(`div`,{className:`shrink-0 h-10 w-10 rounded bg-muted flex items-center justify-center`,children:(0,b.jsx)(x.File,{className:`h-5 w-5 text-muted-foreground`})}),(0,b.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,b.jsx)(o.n,{tag:`div`,weight:`medium`,className:`truncate`,title:A,children:A}),(0,b.jsx)(o.n,{tag:`div`,size:`xs`,type:`secondary`,children:j})]}),(0,b.jsx)(i.t,{type:`button`,variant:`error`,buttonStyle:`ghost`,size:`xs`,icon:x.Trash2Icon,onClick:L,children:_.remove})]}),Object.keys(T).length>0&&(0,b.jsx)(`ul`,{className:`space-y-1.5`,children:Object.entries(T).map(([e,t])=>(0,b.jsxs)(`li`,{role:`alert`,className:`flex items-start gap-2 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2`,children:[(0,b.jsx)(`span`,{"aria-hidden":`true`,className:`mt-0.5 inline-flex size-4 shrink-0 items-center justify-center rounded-full bg-destructive/15 text-destructive`,children:(0,b.jsx)(`span`,{className:`size-1.5 rounded-full bg-destructive`})}),(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsx)(o.n,{size:`xs`,weight:`medium`,className:`truncate text-destructive`,children:e}),(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,className:`text-destructive/80`,children:t})]})]},e))})]})}var Ie=y.default.forwardRef(Fe);Ie.displayName=`FileUpload`;var Le=2,Re={square:`aspect-square`,standard:`aspect-[4/3]`,widescreen:`aspect-[16/9]`,portrait:`aspect-[9/16]`},ze={select:`Select image`,change:`Change image`,remove:`Remove`,noSelection:`No file selected yet.`,keepCurrent:`Current image stays until you upload a new one.`,supportsTemplate:`Supports {ext} files up to {size} MB.`,moreFiles:e=>`+ ${e} more file${e===1?``:`s`}`};function Be({accept:e=`.png,.jpg,.jpeg,.gif,.svg`,multiple:n=!1,value:a,onChange:s,disabled:c,defaultPreviewUrl:l,aspectRatio:u=`square`,fit:d=`cover`,maxWidth:f,layout:p=`stacked`,invalid:m,selectButtonText:h,changeButtonText:g,removeButtonText:_,strings:v},S){let C=t.useStrings(ze,{...h===void 0?{}:{select:h},...g===void 0?{}:{change:g},..._===void 0?{}:{remove:_},...v}),w=(0,y.useId)(),T=(0,y.useRef)(null),E=(0,y.useMemo)(()=>{if(!e)return[`png`,`jpg`,`jpeg`,`gif`,`svg`];let t=e.split(`,`).map(e=>e.trim()).map(e=>{if(!e)return null;if(e.startsWith(`.`))return e.slice(1).toLowerCase();if(e.includes(`/`)){let t=e.split(`/`)[1]??``;return t===`*`||t.length===0?null:t.replace(/\+.*/,``).toLowerCase()}return e.toLowerCase()}).filter(e=>!!e);if(t.length!==0)return Array.from(new Set(t))},[e]),{files:D,setFiles:O,remove:k,removeAll:A,validationErrors:j}=Ne((0,y.useMemo)(()=>({maxFiles:n?void 0:1,allowedExtensions:E}),[n,E]));(0,y.useEffect)(()=>{a?O([a]):(A(),T.current&&(T.current.value=``))},[a,O,A]);let M=D[0],N=M?C.change:C.select,[P,F]=(0,y.useState)(void 0),I=(0,y.useMemo)(()=>!E||E.length===0?null:E.map(e=>e.toUpperCase()).join(`, `),[E]);(0,y.useEffect)(()=>{let e=M?.file??a;if(!e){F(void 0);return}let t=URL.createObjectURL(e);return F(t),()=>URL.revokeObjectURL(t)},[M,a]);let L=P??l,R=!!L,z=Re[u]??Re.square,B=d===`contain`?`object-contain p-3`:`object-cover`,V=f?typeof f==`number`?`${f}px`:f:`240px`,H=p===`inline`?void 0:{maxWidth:V},U=p===`inline`?{maxWidth:f?V:`185px`,width:`100%`}:void 0,W=(0,y.useCallback)(e=>{let t=e.target.files;if(!t||t.length===0){A(),s?.(void 0),T.current&&(T.current.value=``);return}O(t),s?.(t[0])},[A,O,s]),G=(0,y.useCallback)(()=>{c||T.current?.click()},[c]),K=(0,y.useCallback)(()=>{M&&k(M.id),s?.(void 0),T.current&&(T.current.value=``)},[M,k,s]);return(0,b.jsxs)(`div`,{className:r.cn(`image-upload--component`,`space-y-3`),style:H,children:[(0,b.jsx)(`input`,{ref:e=>{T.current=e,typeof S==`function`?S(e):S&&(S.current=e)},id:w,type:`file`,className:`sr-only`,accept:e,multiple:n,disabled:c,onChange:W}),(0,b.jsxs)(`div`,{className:r.cn(p===`inline`?`flex items-start gap-4`:`space-y-3`),children:[(0,b.jsx)(`div`,{className:r.cn(`relative overflow-hidden rounded-md border transition-colors`,p===`inline`?`flex-shrink-0 w-full`:`w-full`,z,R?`border-border bg-muted/20`:r.cn(`border-dashed bg-background text-muted-foreground dark:bg-foreground`,m?`border-destructive`:`border-muted-foreground/60`)),style:U,children:R&&L?(0,b.jsx)(`img`,{src:L,alt:M?.name||`Selected image`,className:r.cn(`absolute inset-0 h-full w-full`,B)}):(0,b.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,b.jsx)(x.ImageIcon,{"aria-hidden":!0,className:`h-8 w-8`})})}),(0,b.jsxs)(`div`,{className:r.cn(`space-y-2`,p===`inline`&&`flex-1 min-w-0`),children:[(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,b.jsx)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`outline`,onClick:G,disabled:c,children:N}),!M&&!!R&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,children:C.keepCurrent})]}),!!I&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,children:C.supportsTemplate.replace(`{ext}`,I).replace(`{size}`,String(Le))}),!!M&&(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsx)(o.n,{weight:`medium`,title:M.name,className:`truncate`,children:M.name}),(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,children:M.formattedSize}),!!n&&D.length>1&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,children:C.moreFiles(D.length-1)}),(0,b.jsx)(i.t,{type:`button`,variant:`error`,buttonStyle:`ghost`,size:`xs`,icon:x.Trash2,onClick:K,children:C.remove})]}),!M&&!R&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,children:C.noSelection})]})]}),Object.keys(j).length>0&&(0,b.jsx)(`div`,{className:`space-y-1`,children:Object.entries(j).map(([e,t])=>(0,b.jsxs)(o.n,{size:`xs`,type:`error`,children:[e,`: `,t]},e))})]})}var Ve=y.default.forwardRef(Be);Ve.displayName=`ImageUpload`;var He={instruction:`Drag files here or click to browse`,helper:``,dragOver:`Release to upload`},Ue={compact:{padding:`px-4 py-4`,minH:`min-h-[112px]`,iconBox:`h-9 w-9`,iconSize:`size-4`},base:{padding:`px-6 py-8`,minH:`min-h-[180px]`,iconBox:`h-12 w-12`,iconSize:`size-6`},lg:{padding:`px-8 py-12`,minH:`min-h-[260px]`,iconBox:`h-14 w-14`,iconSize:`size-7`}};function We({onDrop:e,accept:n,multiple:i=!1,disabled:a=!1,invalid:s=!1,size:c=`base`,icon:l,className:u,children:d,strings:f},p){let m=t.useStrings(He,f),h=(0,y.useRef)(null),[g,_]=(0,y.useState)(!1),v=Ue[c],S=(0,y.useCallback)(()=>{a||h.current?.click()},[a]),C=(0,y.useCallback)(t=>{let n=t.target.files;!n||n.length===0||(e(Array.from(n)),h.current&&(h.current.value=``))},[e]),w=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),a||_(!0)},[a]),T=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),_(!1)},[]),E=(0,y.useCallback)(t=>{if(t.preventDefault(),t.stopPropagation(),_(!1),a)return;let n=t.dataTransfer?.files;!n||n.length===0||e(Array.from(n))},[a,e]);return(0,b.jsxs)(`div`,{role:`button`,tabIndex:a?-1:0,"aria-disabled":a||void 0,"aria-invalid":s||void 0,onClick:e=>{e.defaultPrevented||S()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),S())},onDragEnter:w,onDragOver:w,onDragLeave:T,onDrop:E,className:r.cn(`dropzone--component`,`relative flex flex-col items-center justify-center gap-3 rounded-xl border border-dashed text-center transition-colors duration-150`,v.minH,v.padding,s?`border-destructive`:`border-muted-foreground/40`,`bg-muted/30 hover:border-primary hover:bg-primary/5 hover:text-primary`,a&&`cursor-not-allowed opacity-50 hover:border-muted-foreground/40 hover:bg-muted/30 hover:text-muted-foreground`,!a&&g&&`border-primary bg-primary/10 text-primary`,u),children:[(0,b.jsx)(`input`,{ref:e=>{h.current=e,typeof p==`function`?p(e):p&&(p.current=e)},type:`file`,className:`hidden`,accept:n,multiple:i,disabled:a,onChange:C,onClick:e=>e.stopPropagation()}),(0,b.jsx)(`span`,{className:r.cn(`inline-flex items-center justify-center rounded-full bg-primary/10 text-primary`,v.iconBox),"aria-hidden":`true`,children:l??(0,b.jsx)(x.UploadCloud,{className:v.iconSize})}),(0,b.jsxs)(`div`,{className:`space-y-1`,children:[(0,b.jsx)(o.n,{size:c===`compact`?`xs`:`sm`,weight:`medium`,children:g?m.dragOver:m.instruction}),!!m.helper&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,children:m.helper})]}),!!d&&(0,b.jsx)(`div`,{onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:d})]})}var Ge=y.forwardRef(We);Ge.displayName=`Dropzone`;var Ke={change:`Change photo`,remove:`Remove photo`,hint:`Click or drop an image`,dragOver:`Drop image to upload`},qe={sm:{box:`size-16`,icon:`size-4`,remove:`size-5`},base:{box:`size-24`,icon:`size-5`,remove:`size-6`},lg:{box:`size-32`,icon:`size-6`,remove:`size-7`}};function Je({value:e,onChange:n,defaultPreviewUrl:i,accept:a=`.png,.jpg,.jpeg,.gif,.webp`,disabled:s=!1,invalid:c=!1,size:l=`base`,className:u,strings:d,initials:f},p){let m=t.useStrings(Ke,d),h=(0,y.useId)(),g=(0,y.useRef)(null),[_,v]=(0,y.useState)(!1),S=qe[l],{files:C,setFiles:w,removeAll:T}=Ne({maxFiles:1,allowedExtensions:(0,y.useMemo)(()=>a.split(`,`).map(e=>e.trim().replace(/^\./,``).toLowerCase()).filter(Boolean),[a])});(0,y.useEffect)(()=>{e?w([e]):T()},[e]);let E=C[0],[D,O]=(0,y.useState)(void 0);(0,y.useEffect)(()=>{let t=E?.file??e;if(!t){O(void 0);return}let n=URL.createObjectURL(t);return O(n),()=>URL.revokeObjectURL(n)},[E,e]);let k=D??i,A=!!k,j=(0,y.useCallback)(e=>{let t=e.target.files;!t||t.length===0||(w(t),n?.(t[0]),g.current&&(g.current.value=``))},[n,w]),M=(0,y.useCallback)(()=>{s||g.current?.click()},[s]),N=(0,y.useCallback)(()=>{T(),n?.(void 0),g.current&&(g.current.value=``)},[n,T]),P=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),M())},F=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s||v(!0)},[s]),I=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),v(!1)},[]),L=(0,y.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),v(!1),s)return;let t=e.dataTransfer?.files;!t||t.length===0||(w(t),n?.(t[0]))},[s,n,w]);return(0,b.jsxs)(`div`,{className:r.cn(`avatar-upload--component`,`inline-flex flex-col items-center gap-2`,u),children:[(0,b.jsxs)(`div`,{role:`button`,tabIndex:s?-1:0,"aria-label":m.change,"aria-disabled":s||void 0,"aria-invalid":c||void 0,onClick:M,onKeyDown:P,onDragEnter:F,onDragOver:F,onDragLeave:I,onDrop:L,className:r.cn(`group relative flex shrink-0 items-center justify-center overflow-hidden rounded-full`,`border border-dashed transition-colors duration-150 outline-none`,`focus-visible:ring-2 focus-visible:ring-ring/50`,A?`border-border/60 bg-muted/20`:r.cn(`bg-muted/30 hover:border-primary hover:bg-primary/5`,c?`border-destructive`:`border-muted-foreground/40`),s&&`cursor-not-allowed opacity-50`,!s&&_&&`border-primary bg-primary/10`,S.box),children:[(0,b.jsx)(`input`,{id:h,ref:e=>{g.current=e,typeof p==`function`?p(e):p&&(p.current=e)},type:`file`,className:`sr-only`,"aria-label":m.change,accept:a,disabled:s,onChange:j}),A&&k?(0,b.jsx)(`img`,{src:k,alt:m.change,className:`absolute inset-0 size-full object-cover`}):f?(0,b.jsx)(o.n,{size:l===`lg`?`lg`:`base`,weight:`bold`,className:`leading-none`,children:f}):(0,b.jsx)(x.Camera,{className:r.cn(S.icon,`text-muted-foreground`),"aria-hidden":`true`}),!s&&A&&(0,b.jsx)(`div`,{className:`pointer-events-none absolute inset-0 hidden items-center justify-center bg-foreground/50 text-background backdrop-blur-[1px] group-hover:flex`,"aria-hidden":`true`,children:(0,b.jsx)(x.Camera,{className:S.icon})}),!s&&A&&(0,b.jsx)(`button`,{type:`button`,"aria-label":m.remove,onClick:e=>{e.stopPropagation(),N()},className:r.cn(`absolute right-0.5 top-0.5 inline-flex items-center justify-center rounded-full bg-card text-foreground shadow ring-1 ring-border`,`opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100`,S.remove),children:(0,b.jsx)(x.X,{className:`size-3`})}),!s&&!A&&_&&(0,b.jsx)(o.n,{size:`xxs`,weight:`medium`,className:`absolute inset-x-0 bottom-1.5 text-center text-primary`,children:m.dragOver})]}),!A&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,children:m.hint})]})}var Ye=y.forwardRef(Je);Ye.displayName=`AvatarUpload`;var Xe={addInstruction:`Drop or click to add images`,helper:``,dragOver:`Release to upload`,cover:`Cover`,removeAria:`Remove image`,maxReached:`You have reached the maximum number of images.`},Ze=0,Qe=()=>`media-${Date.now().toString(36)}-${(Ze++).toString(36)}`;function $e({item:e,isFirst:t,disabled:n,onRemove:i,strings:a,tileClassName:o}){let{attributes:s,listeners:c,setNodeRef:l,transform:u,transition:d,isDragging:f}=(0,E.useSortable)({id:e.id,disabled:n});return(0,b.jsxs)(`div`,{ref:l,style:{transform:D.CSS.Transform.toString(u),transition:d},className:r.cn(`media-gallery--component`,`group relative aspect-square overflow-hidden rounded-lg border border-border/60 bg-muted/30`,`cursor-grab active:cursor-grabbing`,f&&`z-10 shadow-lg ring-2 ring-primary/40`,n&&`pointer-events-none opacity-50`,o),...s,...c,children:[(0,b.jsx)(`img`,{src:e.previewUrl,alt:e.file.name,className:`absolute inset-0 size-full object-cover`,draggable:!1}),t&&(0,b.jsx)(`span`,{className:`absolute left-1.5 top-1.5 rounded-full bg-card/90 px-1.5 py-0.5 text-xxs font-semibold text-foreground shadow ring-1 ring-border`,children:a.cover}),(0,b.jsx)(`button`,{type:`button`,"aria-label":a.removeAria,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),i()},className:r.cn(`absolute right-1.5 top-1.5 inline-flex size-6 items-center justify-center rounded-full bg-card text-foreground shadow ring-1 ring-border`,`opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100`),children:(0,b.jsx)(x.X,{className:`size-3.5`})})]})}function et({value:e,onChange:n,accept:i=`.png,.jpg,.jpeg,.gif,.webp`,maxFiles:a,disabled:s=!1,invalid:c=!1,className:l,tileClassName:u,strings:d}){let f=t.useStrings(Xe,d),p=(0,y.useId)(),m=(0,y.useRef)(null),[h,g]=(0,y.useState)([]),[_,v]=(0,y.useState)(!1),S=(0,T.useSensors)((0,T.useSensor)(T.PointerSensor,{activationConstraint:{distance:6}})),C=(0,y.useRef)([]);C.current=h,(0,y.useEffect)(()=>{e&&g(t=>t.length===e.length&&t.every((t,n)=>t.file===e[n])?t:(t.forEach(e=>URL.revokeObjectURL(e.previewUrl)),e.map(e=>({id:Qe(),file:e,previewUrl:URL.createObjectURL(e)}))))},[e]),(0,y.useEffect)(()=>()=>{C.current.forEach(e=>URL.revokeObjectURL(e.previewUrl))},[]);let w=(0,y.useCallback)(e=>{n?.(e.map(e=>e.file))},[n]),D=(0,y.useCallback)(e=>{s||g(t=>{let n=a===void 0?e.length:Math.max(0,a-t.length),r=e.slice(0,n).map(e=>({id:Qe(),file:e,previewUrl:URL.createObjectURL(e)})),i=[...t,...r];return w(i),i})},[s,w,a]),O=(0,y.useCallback)(e=>{g(t=>{let n=t.find(t=>t.id===e);n&&URL.revokeObjectURL(n.previewUrl);let r=t.filter(t=>t.id!==e);return w(r),r})},[w]),k=(0,y.useCallback)(e=>{let t=e.target.files;!t||t.length===0||(D(Array.from(t)),m.current&&(m.current.value=``))},[D]),A=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s||v(!0)},[s]),j=(0,y.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),v(!1)},[]),M=(0,y.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),v(!1),s)return;let t=e.dataTransfer?.files;!t||t.length===0||D(Array.from(t))},[D,s]),N=(0,y.useCallback)(e=>{let{active:t,over:n}=e;!n||t.id===n.id||g(e=>{let r=e.findIndex(e=>e.id===t.id),i=e.findIndex(e=>e.id===n.id);if(r===-1||i===-1)return e;let a=[...e],[o]=a.splice(r,1);return a.splice(i,0,o),w(a),a})},[w]),P=(0,y.useMemo)(()=>h.map(e=>e.id),[h]),F=a!==void 0&&h.length>=a;return(0,b.jsxs)(`div`,{className:r.cn(`space-y-3`,l),children:[(0,b.jsx)(T.DndContext,{sensors:S,onDragEnd:N,children:(0,b.jsx)(E.SortableContext,{items:P,strategy:E.rectSortingStrategy,children:(0,b.jsxs)(`div`,{className:r.cn(`grid grid-cols-2 gap-2`,`sm:grid-cols-3 md:grid-cols-4`),children:[h.map((e,t)=>(0,b.jsx)($e,{item:e,isFirst:t===0,disabled:s,onRemove:()=>O(e.id),strings:f,tileClassName:u},e.id)),!F&&(0,b.jsxs)(`div`,{role:`button`,tabIndex:s?-1:0,"aria-disabled":s||void 0,"aria-invalid":c||void 0,onClick:()=>!s&&m.current?.click(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),m.current?.click())},onDragEnter:A,onDragOver:A,onDragLeave:j,onDrop:M,className:r.cn(`flex aspect-square items-center justify-center rounded-lg border border-dashed text-center outline-none transition-colors`,`hover:border-primary hover:bg-primary/5 hover:text-primary focus-visible:ring-2 focus-visible:ring-ring/50`,c?`border-destructive`:`border-muted-foreground/40`,s&&`cursor-not-allowed opacity-50`,!s&&_&&`border-primary bg-primary/10 text-primary`),children:[(0,b.jsx)(`input`,{id:p,ref:m,type:`file`,className:`sr-only`,accept:i,multiple:!0,disabled:s,onChange:k}),(0,b.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-2`,children:[(0,b.jsx)(x.ImagePlus,{className:`size-5 text-muted-foreground`,"aria-hidden":`true`}),(0,b.jsx)(o.n,{size:`xs`,weight:`medium`,children:_?f.dragOver:f.addInstruction})]})]})]})})}),!!F&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,children:f.maxReached}),!F&&!!f.helper&&(0,b.jsx)(o.n,{size:`xs`,type:`secondary`,children:f.helper})]})}et.displayName=`MediaGallery`;var tt={queued:`Queued`,uploading:`Uploading`,done:`Uploaded`,error:`Failed`,cancelled:`Cancelled`,cancel:`Cancel`,retry:`Retry`,remove:`Remove`},nt={queued:{icon:x.Clock,bg:`bg-muted`,fg:`text-muted-foreground`,bar:`bg-muted-foreground/30`},uploading:{icon:x.UploadCloud,bg:`bg-primary/15`,fg:`text-primary`,bar:`bg-primary`},done:{icon:x.Check,bg:`bg-success/15`,fg:`text-success`,bar:`bg-success`},error:{icon:x.AlertCircle,bg:`bg-destructive/15`,fg:`text-destructive`,bar:`bg-destructive`},cancelled:{icon:x.X,bg:`bg-muted`,fg:`text-muted-foreground`,bar:`bg-muted-foreground/30`}};function rt({items:e,onCancel:n,onRetry:a,onRemove:s,className:c,strings:l}){let u=t.useStrings(tt,l),d={queued:u.queued,uploading:u.uploading,done:u.done,error:u.error,cancelled:u.cancelled};return e.length===0?null:(0,b.jsx)(`ul`,{className:r.cn(`upload-progress-list--component`,`space-y-2`,c),children:e.map(e=>{let t=nt[e.status],c=t.icon,l=e.status===`done`?100:e.status===`cancelled`||e.status===`error`?e.progress??0:Math.max(0,Math.min(100,e.progress??0)),f=e.status===`uploading`||e.status===`queued`;return(0,b.jsx)(`li`,{className:`rounded-md border border-border/60 bg-card px-3 py-2`,children:(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(`span`,{className:r.cn(`inline-flex size-7 shrink-0 items-center justify-center rounded-md`,t.bg,t.fg),children:(0,b.jsx)(c,{className:r.cn(`size-3.5`,e.status===`uploading`&&`animate-pulse`)})}),(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,b.jsx)(o.n,{weight:`medium`,className:`truncate`,children:e.name}),(0,b.jsx)(o.n,{size:`xxs`,type:`secondary`,className:`shrink-0 tabular-nums`,children:e.size})]}),f?(0,b.jsx)(`div`,{className:`mt-1.5 h-1 w-full overflow-hidden rounded-full bg-muted`,children:(0,b.jsx)(`div`,{className:r.cn(`h-full rounded-full transition-[width] duration-200`,t.bar),style:{width:`${l}%`}})}):(0,b.jsxs)(o.n,{size:`xxs`,type:e.status===`error`?`error`:`secondary`,children:[d[e.status],e.status===`error`&&!!e.error&&` — ${e.error}`]})]}),(0,b.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[e.status===`uploading`&&!!n&&(0,b.jsx)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,"aria-label":u.cancel,onClick:()=>n(e.id),children:(0,b.jsx)(x.X,{className:`size-3.5`})}),e.status===`error`&&!!a&&(0,b.jsx)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,"aria-label":u.retry,onClick:()=>a(e.id),children:(0,b.jsx)(x.RefreshCw,{className:`size-3.5`})}),(e.status===`done`||e.status===`error`||e.status===`cancelled`)&&!!s&&(0,b.jsx)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-xs`,"aria-label":u.remove,onClick:()=>s(e.id),children:(0,b.jsx)(x.X,{className:`size-3.5`})})]})]})},e.id)})})}rt.displayName=`UploadProgressList`;var it={heading:`Upload progress`,completedLabel:`Completed`,failedLabel:`Failed`,uploadingLabel:`Uploading`,queuedLabel:`Queued`,clearAll:`Clear all`};function at(e){let t=0,n=0,r=0,i=0;for(let a of e)a.status===`done`?t+=1:a.status===`error`?n+=1:a.status===`uploading`?r+=1:a.status===`queued`&&(i+=1);return{completed:t,failed:n,uploading:r,queued:i}}var ot=(0,y.forwardRef)(function({items:e,onAddFiles:n,onCancel:a,onRetry:s,onRemove:l,onClearAll:u,dropzone:d,className:f,strings:p,listStrings:m},h){let g=t.useStrings(it,p),{completed:_,failed:v,uploading:x,queued:S}=at(e),C=(0,y.useCallback)(e=>{e.length>0&&n(e)},[n]),w=e.length>0;return(0,b.jsxs)(`div`,{ref:h,className:r.cn(`upload-tray--component`,`flex flex-col gap-4`,f),children:[(0,b.jsx)(Ge,{onDrop:C,accept:d?.accept,multiple:d?.multiple,size:d?.size,disabled:d?.disabled,invalid:d?.invalid,strings:d?.strings}),!!w&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,b.jsx)(o.n,{tag:`span`,weight:`semibold`,children:g.heading}),_>0&&(0,b.jsxs)(c.t,{variant:`success`,children:[g.completedLabel,`: `,_]}),v>0&&(0,b.jsxs)(c.t,{variant:`destructive`,children:[g.failedLabel,`: `,v]}),x>0&&(0,b.jsxs)(c.t,{variant:`info`,children:[g.uploadingLabel,`: `,x]}),S>0&&(0,b.jsxs)(c.t,{variant:`secondary`,children:[g.queuedLabel,`: `,S]})]}),!!u&&(0,b.jsx)(i.t,{variant:`secondary`,buttonStyle:`ghost`,onClick:u,children:g.clearAll})]}),(0,b.jsx)(rt,{items:e,onCancel:a,onRetry:s,onRemove:l,strings:m})]})]})});ot.displayName=`UploadTray`;var Q={emptyState:`No items added yet.`,addItem:`Add item`,removeAriaLabel:`Remove item`},st={emptyState:Q.emptyState,addButton:Q.addItem,removeAriaLabel:Q.removeAriaLabel,dragHandleAriaLabel:`Drag to reorder`};function ct({item:e,index:t,sortable:n,rowVariant:a,removeVariant:o,hideRemove:s,disabled:c,strings:l,onRemove:u,renderRow:d}){let f=(0,E.useSortable)({id:e.id,disabled:c||!n}),p=n?f.isDragging:!1,m=n?{transform:D.CSS.Transform.toString(f.transform),transition:f.transition,opacity:p?.6:1}:void 0,h=n?f.setNodeRef:void 0,g=n?f.attributes:{},_=n?f.listeners:void 0,v=n?(0,b.jsx)(`button`,{type:`button`,"aria-label":l.dragHandleAriaLabel,className:r.cn(`inline-flex size-9 shrink-0 items-center justify-center rounded-md`,`text-muted-foreground/50 hover:text-foreground hover:bg-muted`,`cursor-grab active:cursor-grabbing`,`outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,`transition-colors`,c&&`pointer-events-none opacity-50`),...g,..._,children:(0,b.jsx)(x.GripVertical,{className:`size-4`,"aria-hidden":`true`})}):null,y=s?null:o===`icon-button`?(0,b.jsx)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`outline`,size:`sm`,"aria-label":l.removeAriaLabel,disabled:c,onClick:()=>u(t),className:`shrink-0`,children:(0,b.jsx)(x.Trash2,{className:`size-4`,"aria-hidden":`true`})}):(0,b.jsx)(`button`,{type:`button`,"aria-label":l.removeAriaLabel,disabled:c,onClick:()=>u(t),className:r.cn(`inline-flex size-9 shrink-0 items-center justify-center rounded-md`,`text-muted-foreground/70 hover:bg-destructive/10 hover:text-destructive`,`outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,`transition-colors`,`disabled:pointer-events-none disabled:opacity-50`),children:(0,b.jsx)(x.X,{className:`size-4`,"aria-hidden":`true`})});return a===`card`?(0,b.jsx)(`div`,{ref:h,style:m,className:r.cn(`repeater--component`,`relative rounded-md border border-input bg-card p-4`,n&&`pl-2`),children:(0,b.jsxs)(`div`,{className:`flex items-start gap-2`,children:[v,(0,b.jsx)(`div`,{className:`min-w-0 flex-1`,children:d(e,{index:t,isDragging:p})}),y]})}):(0,b.jsxs)(`div`,{ref:h,style:m,className:`flex items-start gap-2`,children:[v,(0,b.jsx)(`div`,{className:`min-w-0 flex-1`,children:d(e,{index:t,isDragging:p})}),y]})}function $({items:e,renderRow:n,onAdd:a,onRemove:s,onMove:c,sortable:l=!1,rowVariant:u=`inline`,removeVariant:d=`ghost`,hideRemove:f=!1,hideAdd:p=!1,disabled:m=!1,strings:h,className:g}){let _=t.useStrings(st,h),v=(0,T.useSensors)((0,T.useSensor)(T.PointerSensor,{activationConstraint:{distance:4}}),(0,T.useSensor)(T.KeyboardSensor,{coordinateGetter:E.sortableKeyboardCoordinates})),S=(0,y.useCallback)(t=>{let{active:n,over:r}=t;if(!r||n.id===r.id)return;let i=e.findIndex(e=>e.id===n.id),a=e.findIndex(e=>e.id===r.id);i<0||a<0||c?.(i,a)},[e,c]),C=(0,y.useMemo)(()=>e.map(e=>e.id),[e]),w=(0,b.jsx)(`div`,{className:`space-y-2`,children:e.map((e,t)=>(0,b.jsx)(ct,{item:e,index:t,sortable:l,rowVariant:u,removeVariant:d,hideRemove:f,disabled:m,strings:_,onRemove:s,renderRow:n},e.id))});return(0,b.jsxs)(`div`,{className:r.cn(`space-y-3`,g),children:[e.length===0?(0,b.jsx)(`div`,{className:`rounded-md border border-dashed border-input p-4`,children:(0,b.jsx)(o.n,{type:`secondary`,children:_.emptyState})}):l?(0,b.jsx)(T.DndContext,{sensors:v,collisionDetection:T.closestCenter,onDragEnd:S,children:(0,b.jsx)(E.SortableContext,{items:C,strategy:E.verticalListSortingStrategy,children:w})}):w,!p&&(0,b.jsxs)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`outline`,size:`sm`,disabled:m,onClick:a,children:[(0,b.jsx)(x.Plus,{className:`size-4 mr-1.5`}),_.addButton]})]})}$.displayName=`Repeater`;var lt={keyLabel:`Key`,valueLabel:`Value`,keyPlaceholder:`key`,valuePlaceholder:`value`,addButton:`Add row`,removeRowAriaLabel:`Remove row`,emptyState:`No rows yet.`},ut=()=>typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():Math.random().toString(36).slice(2,10),dt=(0,y.memo)(function({row:e,keyPlaceholder:t,valuePlaceholder:n,invalid:i,onKeyChange:a,onValueChange:o}){let{id:s,key:c,value:u}=e;return(0,b.jsxs)(`div`,{className:r.cn(`key-value-editor--component`,`grid grid-cols-1 md:grid-cols-2 gap-2`),children:[(0,b.jsx)(l.t,{value:c??``,placeholder:t,onChange:e=>a(s,e.target.value),invalid:i}),(0,b.jsx)(l.t,{value:u??``,placeholder:n,onChange:e=>o(s,e.target.value),invalid:i})]})});function ft({value:e,onChange:n,invalid:i,sortable:a=!1,keyPlaceholder:o,valuePlaceholder:c,keyLabel:l,valueLabel:u,addButtonText:d,strings:f}){let p=t.useStrings(lt,{...o===void 0?{}:{keyPlaceholder:o},...c===void 0?{}:{valuePlaceholder:c},...l===void 0?{}:{keyLabel:l},...u===void 0?{}:{valueLabel:u},...d===void 0?{}:{addButton:d},...f}),m=(0,y.useRef)(!1),[h,g]=(0,y.useState)(()=>e&&Object.keys(e).length>0?Object.entries(e).map(([e,t])=>({id:ut(),key:e,value:String(t??``)})):[{id:ut(),key:``,value:``}]),_=(0,y.useCallback)(e=>{let t={};e.forEach(({key:e,value:n})=>{e.trim()!==``&&(t[e]=n??``)}),m.current=!0,n?.(t),queueMicrotask(()=>{m.current=!1})},[n]),v=(0,y.useCallback)((e,t)=>{g(n=>{let r=n.map(n=>n.id===e?{...n,key:t}:n);return _(r),r})},[_]),x=(0,y.useCallback)((e,t)=>{g(n=>{let r=n.map(n=>n.id===e?{...n,value:t}:n);return _(r),r})},[_]),S=(0,y.useCallback)(()=>{g(e=>{let t=[...e,{id:ut(),key:``,value:``}];return _(t),t})},[_]),C=(0,y.useCallback)(e=>{g(t=>{let n=t.filter((t,n)=>n!==e),r=n.length?n:[{id:ut(),key:``,value:``}];return _(r),r})},[_]),w=(0,y.useCallback)((e,t)=>{g(n=>{let r=[...n],[i]=r.splice(e,1);return r.splice(t,0,i),_(r),r})},[_]);return(0,b.jsxs)(`div`,{className:`space-y-2`,children:[(!!p.keyLabel||!!p.valueLabel)&&(0,b.jsxs)(`div`,{className:r.cn(`grid grid-cols-1 md:grid-cols-2 gap-2`,a?`pl-11`:``,`pr-11`),children:[!!p.keyLabel&&(0,b.jsx)(s.a,{className:`flex items-center`,children:p.keyLabel}),!!p.valueLabel&&(0,b.jsx)(s.a,{className:`flex items-center`,children:p.valueLabel})]}),(0,b.jsx)($,{items:h,sortable:a,onAdd:S,onRemove:C,onMove:w,strings:{emptyState:p.emptyState,addButton:p.addButton,removeAriaLabel:p.removeRowAriaLabel},renderRow:e=>(0,b.jsx)(dt,{row:e,keyPlaceholder:p.keyPlaceholder,valuePlaceholder:p.valuePlaceholder,invalid:i,onKeyChange:v,onValueChange:x})})]})}ft.displayName=`KeyValueEditor`;var pt={placeholder:`Enter value`,addButton:`Add item`,...Q};function mt({name:e,placeholder:n,addButtonText:r,emptyMessage:i,invalid:a,sortable:o=!1,strings:s}){let c=t.useStrings(pt,{...n===void 0?{}:{placeholder:n},...r===void 0?{}:{addButton:r},...i===void 0?{}:{emptyState:i},...s}),{control:u,register:d}=(0,O.useFormContext)(),{fields:f,append:p,remove:m,move:h}=(0,O.useFieldArray)({control:u,name:e});return(0,b.jsx)($,{className:`string-repeater--component`,items:f,sortable:o,onAdd:()=>p(``),onRemove:e=>m(e),onMove:(e,t)=>h(e,t),strings:{emptyState:c.emptyState,addButton:c.addButton,removeAriaLabel:c.removeAriaLabel},renderRow:(t,{index:n})=>(0,b.jsx)(l.t,{...d(`${e}.${n}`),placeholder:c.placeholder,invalid:a})})}mt.displayName=`StringRepeater`;var ht={addButton:`Add item`,...Q};function gt({name:e,fields:n,addButtonText:i,emptyMessage:a,invalid:o,sortable:s=!1,strings:c}){let u=t.useStrings(ht,{...i===void 0?{}:{addButton:i},...a===void 0?{}:{emptyState:a},...c}),{control:d,register:p}=(0,O.useFormContext)(),{fields:h,append:g,remove:_,move:v}=(0,O.useFieldArray)({control:d,name:e}),x=(0,y.useCallback)(()=>n.reduce((e,t)=>(e[t.name]=``,e),{}),[n]);return(0,b.jsx)($,{items:h,sortable:s,rowVariant:`card`,removeVariant:`ghost`,onAdd:()=>g(x()),onRemove:e=>_(e),onMove:(e,t)=>v(e,t),strings:{emptyState:u.emptyState,addButton:u.addButton,removeAriaLabel:u.removeAriaLabel},renderRow:(t,{index:i})=>(0,b.jsx)(`div`,{className:r.cn(`object-repeater--component`,`space-y-3`),children:n.map(t=>{let n=`${e}.${i}.${t.name}`;return(0,b.jsx)(m.n,{label:t.label,required:t.required,hint:t.hint,htmlFor:n,children:t.type===`textarea`?(0,b.jsx)(f.t,{...p(n),id:n,placeholder:t.placeholder,minRows:3,invalid:o}):(0,b.jsx)(l.t,{...p(n),id:n,type:t.type||`text`,placeholder:t.placeholder,invalid:o})},t.name)})})})}gt.displayName=`ObjectRepeater`;var _t={addButton:`Add item`,emptyState:Q.emptyState,dragHandle:`Drag to reorder`,removeAriaLabel:Q.removeAriaLabel};function vt({name:e,placeholder:n,addButtonText:r,emptyMessage:i,disableSort:a=!1,invalid:o,strings:s}){let c=t.useStrings(_t,{...r===void 0?{}:{addButton:r},...i===void 0?{}:{emptyState:i},...s??{}}),{control:u,register:d}=(0,O.useFormContext)(),{fields:f,append:p,remove:m,move:h}=(0,O.useFieldArray)({control:u,name:e});return(0,b.jsx)($,{className:`list--component`,items:f,sortable:!a,onAdd:()=>p(``),onRemove:e=>m(e),onMove:(e,t)=>h(e,t),strings:{emptyState:c.emptyState,addButton:c.addButton,removeAriaLabel:c.removeAriaLabel,dragHandleAriaLabel:c.dragHandle},renderRow:(t,{index:r})=>(0,b.jsx)(l.t,{...d(`${e}.${r}`),placeholder:n,invalid:o})})}vt.displayName=`List`;function yt({name:e,value:t,options:i,onChange:a,allowClear:o=!1,size:s,fullWidth:c=!1,disabled:l=!1,invalid:u=!1,className:f}){let{defaultControlSize:p}=n.s(),m=d.i(s,p),h=y.useCallback(e=>{e===t?o&&a(null):a(e)},[o,a,t]);return(0,b.jsx)(`div`,{"data-name":e,role:`radiogroup`,"aria-invalid":u||void 0,className:r.cn(`pill-radio-group--component`,`border-input inline-flex items-center overflow-hidden rounded-lg border`,c&&`w-full`,`aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20`,l&&`pointer-events-none opacity-50`,f),children:i.map((e,n)=>{let i=e.value===t,a=e.icon;return(0,b.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":i,"aria-label":(typeof e.label==`string`?e.label:void 0)||e.value,disabled:l||e.disabled,onClick:()=>h(e.value),className:r.cn(`inline-flex select-none items-center justify-center font-medium transition-colors`,`focus-visible:ring-ring/50 outline-none focus-visible:z-10 focus-visible:ring-2`,`disabled:pointer-events-none disabled:opacity-50`,g.i[m],c&&`flex-1`,n>0&&`border-input border-l`,i?`bg-primary text-primary-foreground`:`bg-background text-foreground hover:bg-muted`),children:[!!a&&(0,b.jsx)(a,{className:r.cn(`size-3.5`,e.label&&`mr-1.5`)}),e.label]},e.value)})})}yt.displayName=`PillRadioGroup`;function bt({name:e,type:t=`text`,placeholder:n,primaryLocale:i,secondaryLocale:a,activeLocale:o,invalid:s,className:c}){let{register:u}=(0,O.useFormContext)(),d=`${e}.${o===`primary`?i:a}`;return t===`textarea`?(0,b.jsx)(f.t,{...u(d),placeholder:n,minRows:3,invalid:s,className:r.cn(`localized-string-field--component`,c)}):(0,b.jsx)(l.t,{...u(d),type:t===`number`?`number`:`text`,placeholder:n,invalid:s,className:c})}bt.displayName=`LocalizedStringField`;function xt({name:e,fields:t,primaryLocale:n,secondaryLocale:r,activeLocale:i,invalid:a,className:o}){let{register:c}=(0,O.useFormContext)(),u=i===`primary`?n:r;return(0,b.jsx)(`div`,{className:`w-full space-y-3 rounded-md border p-4 ${o??``}`,children:t.map(t=>{let n=`${e}.${u}.${t.name}`;return(0,b.jsxs)(`div`,{className:`w-full space-y-1.5`,children:[(0,b.jsxs)(s.a,{htmlFor:n,children:[t.label,!!t.required&&(0,b.jsx)(`span`,{className:`text-destructive ml-1`,children:`*`})]}),t.type===`textarea`?(0,b.jsx)(f.t,{...c(n),id:n,placeholder:t.placeholder,minRows:3,invalid:a}):(0,b.jsx)(l.t,{...c(n),id:n,type:t.type===`number`?`number`:`text`,placeholder:t.placeholder,invalid:a})]},t.name)})})}xt.displayName=`LocalizedObjectField`;var St={placeholder:`Enter value`,addButton:Q.addItem,emptyState:Q.emptyState,removeAriaLabel:Q.removeAriaLabel};function Ct({name:e,placeholder:n,addButtonText:r,emptyMessage:i,primaryLocale:a,secondaryLocale:o,activeLocale:s,invalid:c,sortable:l=!1,strings:u}){let d=t.useStrings(St,{...n===void 0?{}:{placeholder:n},...r===void 0?{}:{addButton:r},...i===void 0?{}:{emptyState:i},...u??{}}),{control:p,register:m}=(0,O.useFormContext)(),h=`${e}.${s===`primary`?a:o}`,{fields:g,append:_,remove:v,move:y}=(0,O.useFieldArray)({control:p,name:h});return(0,b.jsx)($,{className:`localized-string-repeater--component`,items:g,sortable:l,onAdd:()=>_(``),onRemove:e=>v(e),onMove:(e,t)=>y(e,t),strings:{emptyState:d.emptyState,addButton:d.addButton,removeAriaLabel:d.removeAriaLabel},renderRow:(e,{index:t})=>(0,b.jsx)(f.t,{...m(`${h}.${t}`),placeholder:d.placeholder,minRows:2,invalid:c})})}Ct.displayName=`LocalizedStringRepeater`;function wt(e){let{formId:t,onSubmit:n,errors:i,isLoading:a,label:s}=e,c=(e=>{let t=i?.[e];return Array.isArray(t)?t[0]:t})(`password`),u=c?()=>c:void 0,d=(Array.isArray(i?.general)?i.general[0]:i?.general)||(Array.isArray(i?.server)?i.server[0]:i?.server),{handleSubmit:f,control:p}=(0,O.useForm)({defaultValues:(0,y.useMemo)(()=>({password:``}),[])}),h=async e=>{await n({password:e.password})},g=!!a;return(0,b.jsxs)(`form`,{id:t,onSubmit:f(h),className:r.cn(`operation-password-form--component`,`space-y-4`),children:[!!d&&(0,b.jsx)(o.n,{type:`error`,children:d}),(0,b.jsx)(m.t,{name:`password`,control:p,error:u,label:s,required:!0,children:(e,t,n)=>(0,b.jsx)(l.t,{type:`password`,value:e.value??``,onChange:e.onChange,onBlur:e.onBlur,name:e.name,invalid:n,disabled:g,autoFocus:!0})})]})}wt.displayName=`OperationPasswordForm`,Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return yt}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return mt}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return ot}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return bt}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return vt}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return it}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return xt}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return gt}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return wt}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return V}});
2
+ //# sourceMappingURL=forms-BweX9Lm8.cjs.map