admin-ui-starter-kit 0.6.5 → 0.6.7

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 (1204) hide show
  1. package/.agents/skills/component-library-rules/references/components/base__cards.md +7 -8
  2. package/.agents/skills/component-library-rules/references/components/base__carousel.md +4 -4
  3. package/.agents/skills/component-library-rules/references/components/base__combobox.md +1 -1
  4. package/.agents/skills/component-library-rules/references/components/base__css-variables.md +2 -1
  5. package/.agents/skills/component-library-rules/references/components/base__event-calendar.md +1 -1
  6. package/.agents/skills/component-library-rules/references/components/base__table.md +32 -11
  7. package/.agents/skills/component-library-rules/references/components/base__typography.md +1 -1
  8. package/.agents/skills/component-library-rules/references/components/composed__metadata-list.md +3 -3
  9. package/.agents/skills/component-library-rules/references/components/features__activities.md +1 -1
  10. package/.agents/skills/component-library-rules/references/components/features__enhanced-activities.md +6 -6
  11. package/.agents/skills/component-library-rules/references/components/features__metrics-overview.md +3 -3
  12. package/.agents/skills/component-library-rules/references/components/features__overlays.md +2 -2
  13. package/.agents/skills/component-library-rules/references/components/features__products.md +1 -1
  14. package/.agents/skills/component-library-rules/references/components/layout__layout-app-shell.md +1 -1
  15. package/.agents/skills/component-library-rules/references/components/layout__layout-containers.md +3 -3
  16. package/.agents/skills/component-library-rules/references/components/layout__layout-sidebar.md +2 -2
  17. package/dist/_shared/accordion-CxjH2WZG.js +135 -0
  18. package/dist/_shared/accordion-CxjH2WZG.js.map +1 -0
  19. package/dist/_shared/accordion-mTdJmy23.cjs +2 -0
  20. package/dist/_shared/accordion-mTdJmy23.cjs.map +1 -0
  21. package/dist/_shared/action-menu-BrHF4nss.cjs +2 -0
  22. package/dist/_shared/action-menu-BrHF4nss.cjs.map +1 -0
  23. package/dist/_shared/action-menu-Crn22LKo.js +96 -0
  24. package/dist/_shared/action-menu-Crn22LKo.js.map +1 -0
  25. package/dist/_shared/ai-artifact-CS2Pv-bu.js +1099 -0
  26. package/dist/_shared/ai-artifact-CS2Pv-bu.js.map +1 -0
  27. package/dist/_shared/ai-artifact-R4bxz5Iq.cjs +3 -0
  28. package/dist/_shared/ai-artifact-R4bxz5Iq.cjs.map +1 -0
  29. package/dist/_shared/alert-BisCSsOE.cjs +2 -0
  30. package/dist/_shared/alert-BisCSsOE.cjs.map +1 -0
  31. package/dist/_shared/alert-D23Q7I0W.js +81 -0
  32. package/dist/_shared/alert-D23Q7I0W.js.map +1 -0
  33. package/dist/_shared/app-shell-BZQJfTkf.cjs +2 -0
  34. package/dist/_shared/app-shell-BZQJfTkf.cjs.map +1 -0
  35. package/dist/_shared/app-shell-Da6GHxTZ.js +69 -0
  36. package/dist/_shared/app-shell-Da6GHxTZ.js.map +1 -0
  37. package/dist/_shared/auth-BV9Daibu.cjs +2 -0
  38. package/dist/_shared/auth-BV9Daibu.cjs.map +1 -0
  39. package/dist/_shared/auth-DACpcTnL.js +643 -0
  40. package/dist/_shared/auth-DACpcTnL.js.map +1 -0
  41. package/dist/_shared/badge-B4oBB5BJ.js +110 -0
  42. package/dist/_shared/badge-B4oBB5BJ.js.map +1 -0
  43. package/dist/_shared/badge-DvUA9Pr2.cjs +2 -0
  44. package/dist/_shared/badge-DvUA9Pr2.cjs.map +1 -0
  45. package/dist/_shared/breadcrumbs-CuT0YIfo.js +105 -0
  46. package/dist/_shared/breadcrumbs-CuT0YIfo.js.map +1 -0
  47. package/dist/_shared/breadcrumbs-jNzlYqS9.cjs +2 -0
  48. package/dist/_shared/breadcrumbs-jNzlYqS9.cjs.map +1 -0
  49. package/dist/_shared/button-BMiPFJIb.cjs +2 -0
  50. package/dist/_shared/button-BMiPFJIb.cjs.map +1 -0
  51. package/dist/_shared/button-vv59_uS_.js +189 -0
  52. package/dist/_shared/button-vv59_uS_.js.map +1 -0
  53. package/dist/_shared/buttons-CvqIMv3I.js +137 -0
  54. package/dist/_shared/buttons-CvqIMv3I.js.map +1 -0
  55. package/dist/_shared/buttons-tCkWktN3.cjs +2 -0
  56. package/dist/_shared/buttons-tCkWktN3.cjs.map +1 -0
  57. package/dist/_shared/card-radio-group-BL--IyPB.js +150 -0
  58. package/dist/_shared/card-radio-group-BL--IyPB.js.map +1 -0
  59. package/dist/_shared/card-radio-group-Cl5ptR1d.cjs +2 -0
  60. package/dist/_shared/card-radio-group-Cl5ptR1d.cjs.map +1 -0
  61. package/dist/_shared/cards-CMNXFo3Y.js +354 -0
  62. package/dist/_shared/cards-CMNXFo3Y.js.map +1 -0
  63. package/dist/_shared/cards-DQN9fcwo.cjs +2 -0
  64. package/dist/_shared/cards-DQN9fcwo.cjs.map +1 -0
  65. package/dist/_shared/combobox-D0avSXIB.cjs +2 -0
  66. package/dist/_shared/combobox-D0avSXIB.cjs.map +1 -0
  67. package/dist/_shared/combobox-Df0srISK.js +954 -0
  68. package/dist/_shared/combobox-Df0srISK.js.map +1 -0
  69. package/dist/_shared/command-B5BpMgBT.js +39 -0
  70. package/dist/_shared/command-B5BpMgBT.js.map +1 -0
  71. package/dist/_shared/command-en62SpQ7.cjs +2 -0
  72. package/dist/_shared/command-en62SpQ7.cjs.map +1 -0
  73. package/dist/_shared/comments-CfkortDW.js +952 -0
  74. package/dist/_shared/comments-CfkortDW.js.map +1 -0
  75. package/dist/_shared/comments-yVd7QMOu.cjs +2 -0
  76. package/dist/_shared/comments-yVd7QMOu.cjs.map +1 -0
  77. package/dist/_shared/copyable-Cn7tRGL5.js +38 -0
  78. package/dist/_shared/copyable-Cn7tRGL5.js.map +1 -0
  79. package/dist/_shared/copyable-CoKTxMSP.cjs +2 -0
  80. package/dist/_shared/copyable-CoKTxMSP.cjs.map +1 -0
  81. package/dist/_shared/data-display-BG7CD164.js +1873 -0
  82. package/dist/_shared/data-display-BG7CD164.js.map +1 -0
  83. package/dist/_shared/data-display-CXVoX3la.cjs +2 -0
  84. package/dist/_shared/data-display-CXVoX3la.cjs.map +1 -0
  85. package/dist/_shared/date-picker-Bf-nnyi-.js +1361 -0
  86. package/dist/_shared/date-picker-Bf-nnyi-.js.map +1 -0
  87. package/dist/_shared/date-picker-Cox4PAUt.cjs +2 -0
  88. package/dist/_shared/date-picker-Cox4PAUt.cjs.map +1 -0
  89. package/dist/_shared/date-pickers-DbN4q0dn.cjs +2 -0
  90. package/dist/_shared/date-pickers-DbN4q0dn.cjs.map +1 -0
  91. package/dist/_shared/date-pickers-DvrOCP-s.js +329 -0
  92. package/dist/_shared/date-pickers-DvrOCP-s.js.map +1 -0
  93. package/dist/_shared/display-BQijMo37.js +986 -0
  94. package/dist/_shared/display-BQijMo37.js.map +1 -0
  95. package/dist/_shared/display-C0ut-Lew.cjs +2 -0
  96. package/dist/_shared/display-C0ut-Lew.cjs.map +1 -0
  97. package/dist/_shared/form-sizing-DJus3nK3.cjs +2 -0
  98. package/dist/_shared/form-sizing-DJus3nK3.cjs.map +1 -0
  99. package/dist/_shared/form-sizing-DWjJsQSR.js +42 -0
  100. package/dist/_shared/form-sizing-DWjJsQSR.js.map +1 -0
  101. package/dist/_shared/forms-BjG7QIb1.cjs +2 -0
  102. package/dist/_shared/forms-BjG7QIb1.cjs.map +1 -0
  103. package/dist/_shared/forms-DljDdyXR.js +3533 -0
  104. package/dist/_shared/forms-DljDdyXR.js.map +1 -0
  105. package/dist/_shared/header-BpFJRINR.cjs +2 -0
  106. package/dist/_shared/header-BpFJRINR.cjs.map +1 -0
  107. package/dist/_shared/header-CKqQF4_r.js +447 -0
  108. package/dist/_shared/header-CKqQF4_r.js.map +1 -0
  109. package/dist/_shared/hooks-DcCkbP1F.js +95 -0
  110. package/dist/_shared/hooks-DcCkbP1F.js.map +1 -0
  111. package/dist/_shared/hooks-RkLytuGj.cjs +2 -0
  112. package/dist/_shared/hooks-RkLytuGj.cjs.map +1 -0
  113. package/dist/_shared/input-Cin0qpjj.js +182 -0
  114. package/dist/_shared/input-Cin0qpjj.js.map +1 -0
  115. package/dist/_shared/input-uuWeiagN.cjs +2 -0
  116. package/dist/_shared/input-uuWeiagN.cjs.map +1 -0
  117. package/dist/_shared/item-CIlSaQg8.js +226 -0
  118. package/dist/_shared/item-CIlSaQg8.js.map +1 -0
  119. package/dist/_shared/item-CSk9Y2qB.cjs +2 -0
  120. package/dist/_shared/item-CSk9Y2qB.cjs.map +1 -0
  121. package/dist/_shared/layout-Cun0HPL4.cjs +2 -0
  122. package/dist/_shared/layout-Cun0HPL4.cjs.map +1 -0
  123. package/dist/_shared/layout-HrU5gwH3.js +261 -0
  124. package/dist/_shared/layout-HrU5gwH3.js.map +1 -0
  125. package/dist/_shared/mentions-BqN82Fon.cjs +2 -0
  126. package/dist/_shared/mentions-BqN82Fon.cjs.map +1 -0
  127. package/dist/_shared/mentions-DV0FT1Th.js +506 -0
  128. package/dist/_shared/mentions-DV0FT1Th.js.map +1 -0
  129. package/dist/_shared/money-display-D5FCRhzB.cjs +2 -0
  130. package/dist/_shared/money-display-D5FCRhzB.cjs.map +1 -0
  131. package/dist/_shared/money-display-FcCAQDCz.js +198 -0
  132. package/dist/_shared/money-display-FcCAQDCz.js.map +1 -0
  133. package/dist/_shared/navigation-CI_Dd8jM.js +436 -0
  134. package/dist/_shared/navigation-CI_Dd8jM.js.map +1 -0
  135. package/dist/_shared/navigation-DUGhCPzJ.cjs +2 -0
  136. package/dist/_shared/navigation-DUGhCPzJ.cjs.map +1 -0
  137. package/dist/_shared/overlays-BRLemLSn.cjs +2 -0
  138. package/dist/_shared/overlays-BRLemLSn.cjs.map +1 -0
  139. package/dist/_shared/overlays-Bef7VNYY.js +735 -0
  140. package/dist/_shared/overlays-Bef7VNYY.js.map +1 -0
  141. package/dist/_shared/popover-menu-CAjhhTfX.js +93 -0
  142. package/dist/_shared/popover-menu-CAjhhTfX.js.map +1 -0
  143. package/dist/_shared/popover-menu-DlkRgOkR.cjs +2 -0
  144. package/dist/_shared/popover-menu-DlkRgOkR.cjs.map +1 -0
  145. package/dist/_shared/rich-text-editor-Bpt3r3J3.js +620 -0
  146. package/dist/_shared/rich-text-editor-Bpt3r3J3.js.map +1 -0
  147. package/dist/_shared/rich-text-editor-DUTX7kBa.cjs +2 -0
  148. package/dist/_shared/rich-text-editor-DUTX7kBa.cjs.map +1 -0
  149. package/dist/_shared/settings-CNT4-6u8.cjs +2 -0
  150. package/dist/_shared/settings-CNT4-6u8.cjs.map +1 -0
  151. package/dist/_shared/settings-CRP6409J.js +143 -0
  152. package/dist/_shared/settings-CRP6409J.js.map +1 -0
  153. package/dist/_shared/sidebar-B0LcBrfI.cjs +2 -0
  154. package/dist/_shared/sidebar-B0LcBrfI.cjs.map +1 -0
  155. package/dist/_shared/sidebar-Bc6JsOTD.js +548 -0
  156. package/dist/_shared/sidebar-Bc6JsOTD.js.map +1 -0
  157. package/dist/_shared/spinner-CVG62sGs.js +67 -0
  158. package/dist/_shared/spinner-CVG62sGs.js.map +1 -0
  159. package/dist/_shared/spinner-VjdonFU2.cjs +2 -0
  160. package/dist/_shared/spinner-VjdonFU2.cjs.map +1 -0
  161. package/dist/_shared/table-_yujELN3.js +1377 -0
  162. package/dist/_shared/table-_yujELN3.js.map +1 -0
  163. package/dist/_shared/table-iV8H1AE0.cjs +2 -0
  164. package/dist/_shared/table-iV8H1AE0.cjs.map +1 -0
  165. package/dist/_shared/textarea-B4zbbqff.cjs +2 -0
  166. package/dist/_shared/textarea-B4zbbqff.cjs.map +1 -0
  167. package/dist/_shared/textarea-Dp0RU-rc.js +118 -0
  168. package/dist/_shared/textarea-Dp0RU-rc.js.map +1 -0
  169. package/dist/_shared/typography-DXvCmE8w.js +201 -0
  170. package/dist/_shared/typography-DXvCmE8w.js.map +1 -0
  171. package/dist/_shared/typography-pzCKaFOc.cjs +2 -0
  172. package/dist/_shared/typography-pzCKaFOc.cjs.map +1 -0
  173. package/dist/_shared/workspace-C3U57t2a.cjs +2 -0
  174. package/dist/_shared/workspace-C3U57t2a.cjs.map +1 -0
  175. package/dist/_shared/workspace-Db--ow3r.js +357 -0
  176. package/dist/_shared/workspace-Db--ow3r.js.map +1 -0
  177. package/dist/components/base/accordion/index.cjs +1 -1
  178. package/dist/components/base/accordion/index.js +1 -1
  179. package/dist/components/base/badge/badge.d.ts.map +1 -1
  180. package/dist/components/base/badge/index.cjs +1 -1
  181. package/dist/components/base/badge/index.js +1 -1
  182. package/dist/components/base/buttons/index.cjs +1 -1
  183. package/dist/components/base/buttons/index.js +2 -2
  184. package/dist/components/base/cards/index.cjs +1 -1
  185. package/dist/components/base/cards/index.js +1 -1
  186. package/dist/components/base/cards/smart-card.types.d.ts +3 -3
  187. package/dist/components/base/carousel/index.cjs +1 -1
  188. package/dist/components/base/carousel/index.js +1 -1
  189. package/dist/components/base/combobox/index.cjs +1 -1
  190. package/dist/components/base/combobox/index.js +1 -1
  191. package/dist/components/base/command/index.cjs +1 -1
  192. package/dist/components/base/command/index.js +1 -1
  193. package/dist/components/base/copyable/index.cjs +1 -1
  194. package/dist/components/base/copyable/index.js +1 -1
  195. package/dist/components/base/currency/index.cjs +1 -1
  196. package/dist/components/base/currency/index.js +1 -1
  197. package/dist/components/base/date-pickers/index.cjs +1 -1
  198. package/dist/components/base/date-pickers/index.js +2 -2
  199. package/dist/components/base/display/chart.cjs +1 -1
  200. package/dist/components/base/display/chart.js +1 -1
  201. package/dist/components/base/display/index.cjs +1 -1
  202. package/dist/components/base/display/index.js +3 -3
  203. package/dist/components/base/event-calendar/index.cjs +1 -1
  204. package/dist/components/base/event-calendar/index.cjs.map +1 -1
  205. package/dist/components/base/event-calendar/index.js +6 -6
  206. package/dist/components/base/event-calendar/index.js.map +1 -1
  207. package/dist/components/base/forms/index.cjs +1 -1
  208. package/dist/components/base/forms/index.js +5 -5
  209. package/dist/components/base/item/index.cjs +1 -1
  210. package/dist/components/base/item/index.js +1 -1
  211. package/dist/components/base/map/index.cjs +1 -1
  212. package/dist/components/base/map/index.js +2 -2
  213. package/dist/components/base/navigation/index.cjs +1 -1
  214. package/dist/components/base/navigation/index.js +3 -3
  215. package/dist/components/base/popover-menu/index.cjs +1 -1
  216. package/dist/components/base/popover-menu/index.js +1 -1
  217. package/dist/components/base/spinner/index.cjs +1 -1
  218. package/dist/components/base/spinner/index.js +1 -1
  219. package/dist/components/base/table/data-table.d.ts.map +1 -1
  220. package/dist/components/base/table/index.cjs +1 -1
  221. package/dist/components/base/table/index.js +1 -1
  222. package/dist/components/base/table/table-header.d.ts.map +1 -1
  223. package/dist/components/composed/admin/index.cjs +1 -1
  224. package/dist/components/composed/admin/index.cjs.map +1 -1
  225. package/dist/components/composed/admin/index.js +13 -13
  226. package/dist/components/composed/admin/index.js.map +1 -1
  227. package/dist/components/composed/ai/index.cjs +1 -1
  228. package/dist/components/composed/ai/index.cjs.map +1 -1
  229. package/dist/components/composed/ai/index.js +25 -25
  230. package/dist/components/composed/ai/index.js.map +1 -1
  231. package/dist/components/composed/analytics/index.cjs +1 -1
  232. package/dist/components/composed/analytics/index.cjs.map +1 -1
  233. package/dist/components/composed/analytics/index.js +26 -26
  234. package/dist/components/composed/analytics/index.js.map +1 -1
  235. package/dist/components/composed/cards/index.cjs +1 -1
  236. package/dist/components/composed/cards/index.cjs.map +1 -1
  237. package/dist/components/composed/cards/index.js +15 -15
  238. package/dist/components/composed/cards/index.js.map +1 -1
  239. package/dist/components/composed/commerce/index.cjs +1 -1
  240. package/dist/components/composed/commerce/index.cjs.map +1 -1
  241. package/dist/components/composed/commerce/index.js +28 -28
  242. package/dist/components/composed/commerce/index.js.map +1 -1
  243. package/dist/components/composed/dark-surfaces/index.cjs +1 -1
  244. package/dist/components/composed/dark-surfaces/index.js +4 -4
  245. package/dist/components/composed/data-display/index.cjs +1 -1
  246. package/dist/components/composed/data-display/index.js +1 -1
  247. package/dist/components/composed/data-display/metadata/metadata-list.d.ts.map +1 -1
  248. package/dist/components/composed/navigation/index.cjs +1 -1
  249. package/dist/components/composed/navigation/index.cjs.map +1 -1
  250. package/dist/components/composed/navigation/index.js +15 -15
  251. package/dist/components/composed/navigation/index.js.map +1 -1
  252. package/dist/components/composed/onboarding/index.cjs +1 -1
  253. package/dist/components/composed/onboarding/index.js +3 -3
  254. package/dist/components/composed/timelines/index.cjs +1 -1
  255. package/dist/components/composed/timelines/index.cjs.map +1 -1
  256. package/dist/components/composed/timelines/index.js +10 -10
  257. package/dist/components/composed/timelines/index.js.map +1 -1
  258. package/dist/components/features/activities/index.cjs +1 -1
  259. package/dist/components/features/activities/index.cjs.map +1 -1
  260. package/dist/components/features/activities/index.js +9 -9
  261. package/dist/components/features/activities/index.js.map +1 -1
  262. package/dist/components/features/ai-chat/index.cjs +2 -2
  263. package/dist/components/features/ai-chat/index.cjs.map +1 -1
  264. package/dist/components/features/ai-chat/index.js +8 -8
  265. package/dist/components/features/ai-chat/index.js.map +1 -1
  266. package/dist/components/features/card/index.cjs +1 -1
  267. package/dist/components/features/card/index.js +4 -4
  268. package/dist/components/features/comments/index.cjs +1 -1
  269. package/dist/components/features/comments/index.js +2 -2
  270. package/dist/components/features/data-view/index.cjs +1 -1
  271. package/dist/components/features/data-view/index.cjs.map +1 -1
  272. package/dist/components/features/data-view/index.js +3 -3
  273. package/dist/components/features/data-view/index.js.map +1 -1
  274. package/dist/components/features/event-log/index.cjs +1 -1
  275. package/dist/components/features/event-log/index.js +4 -4
  276. package/dist/components/features/filters/index.cjs +1 -1
  277. package/dist/components/features/filters/index.cjs.map +1 -1
  278. package/dist/components/features/filters/index.js +11 -11
  279. package/dist/components/features/filters/index.js.map +1 -1
  280. package/dist/components/features/global-search/index.cjs +1 -1
  281. package/dist/components/features/global-search/index.cjs.map +1 -1
  282. package/dist/components/features/global-search/index.js +14 -14
  283. package/dist/components/features/global-search/index.js.map +1 -1
  284. package/dist/components/features/kanban/index.cjs +1 -1
  285. package/dist/components/features/kanban/index.js +3 -3
  286. package/dist/components/features/media-library/index.cjs +1 -1
  287. package/dist/components/features/media-library/index.cjs.map +1 -1
  288. package/dist/components/features/media-library/index.js +23 -23
  289. package/dist/components/features/media-library/index.js.map +1 -1
  290. package/dist/components/features/mentions/index.cjs +1 -1
  291. package/dist/components/features/mentions/index.js +1 -1
  292. package/dist/components/features/overlays/index.cjs +1 -1
  293. package/dist/components/features/overlays/index.js +1 -1
  294. package/dist/components/features/products/index.cjs +1 -1
  295. package/dist/components/features/products/index.cjs.map +1 -1
  296. package/dist/components/features/products/index.js +14 -14
  297. package/dist/components/features/products/index.js.map +1 -1
  298. package/dist/components/features/resource/index.cjs +1 -1
  299. package/dist/components/features/resource/index.cjs.map +1 -1
  300. package/dist/components/features/resource/index.js +5 -5
  301. package/dist/components/features/resource/index.js.map +1 -1
  302. package/dist/components/features/rich-text-editor/index.cjs +1 -1
  303. package/dist/components/features/rich-text-editor/index.js +1 -1
  304. package/dist/components/features/schema-form/index.cjs +1 -1
  305. package/dist/components/features/schema-form/index.js +8 -8
  306. package/dist/components/features/suggestions/index.cjs +1 -1
  307. package/dist/components/features/suggestions/index.js +1 -1
  308. package/dist/components/features/sync/index.cjs +1 -1
  309. package/dist/components/features/sync/index.js +2 -2
  310. package/dist/components/layout/app-shell/index.cjs +1 -1
  311. package/dist/components/layout/app-shell/index.js +1 -1
  312. package/dist/components/layout/auth/index.cjs +1 -1
  313. package/dist/components/layout/auth/index.js +1 -1
  314. package/dist/components/layout/header/index.cjs +1 -1
  315. package/dist/components/layout/header/index.js +1 -1
  316. package/dist/components/layout/hooks/index.cjs +1 -1
  317. package/dist/components/layout/hooks/index.js +1 -1
  318. package/dist/components/layout/index.cjs +1 -1
  319. package/dist/components/layout/index.js +8 -8
  320. package/dist/components/layout/page/index.cjs +1 -1
  321. package/dist/components/layout/page/index.js +1 -1
  322. package/dist/components/layout/settings/index.cjs +1 -1
  323. package/dist/components/layout/settings/index.js +1 -1
  324. package/dist/components/layout/sidebar/index.cjs +1 -1
  325. package/dist/components/layout/sidebar/index.js +2 -2
  326. package/dist/components/layout/workspace/index.cjs +1 -1
  327. package/dist/components/layout/workspace/index.js +1 -1
  328. package/dist/components/typography/index.cjs +1 -1
  329. package/dist/components/typography/index.js +1 -1
  330. package/dist/services/actions/index.cjs +1 -1
  331. package/dist/services/actions/index.js +1 -1
  332. package/dist/showcase/assets/AreaChart-DtVzijR8.js +6 -0
  333. package/dist/showcase/assets/CompositeItem-SL6R0H3r.js +1 -0
  334. package/dist/showcase/assets/CompositeRoot-CTygKc2d.js +1 -0
  335. package/dist/showcase/assets/DialogTrigger-m2m9VdXk.js +1 -0
  336. package/dist/showcase/assets/LabelableContext-D6DcOg5I.js +1 -0
  337. package/dist/showcase/assets/PreviewLayout-CHW8F5uE.js +1 -0
  338. package/dist/showcase/assets/RadioGroup-BAOoU1eO.js +1 -0
  339. package/dist/showcase/assets/ScrollAreaCorner-CrCCP65t.js +1 -0
  340. package/dist/showcase/assets/Separator-DMs71Vib.js +1 -0
  341. package/dist/showcase/assets/ToolbarRootContext-DWKxsCxT.js +1 -0
  342. package/dist/showcase/assets/accordion-Clw5XNXP.js +171 -0
  343. package/dist/showcase/assets/accordion-variants-jiwKaPjE.js +1 -0
  344. package/dist/showcase/assets/action-menu-CW8zR6Ne.js +1 -0
  345. package/dist/showcase/assets/actions-Cf7vl3u0.js +310 -0
  346. package/dist/showcase/assets/activities-CyI5sJuS.js +500 -0
  347. package/dist/showcase/assets/activities-feed-card-Gv-Y4BBq.js +1 -0
  348. package/dist/showcase/assets/admin-CQVbTxGD.js +140 -0
  349. package/dist/showcase/assets/ai-Bkp2BY_z.js +207 -0
  350. package/dist/showcase/assets/ai-artifact-Cf1vEdVD.js +2 -0
  351. package/dist/showcase/assets/ai-chat-Bs3x6cK3.js +568 -0
  352. package/dist/showcase/assets/ai-elements-VbMUV2-i.js +387 -0
  353. package/dist/showcase/assets/ai-tool-call-BQYg4QB_.js +1 -0
  354. package/dist/showcase/assets/alert-BUmpNcXV.js +1 -0
  355. package/dist/showcase/assets/alert-CWPNW7eb.js +93 -0
  356. package/dist/showcase/assets/alert-nUwhk3AB.js +62 -0
  357. package/dist/showcase/assets/api-key-list-B1qVywOP.js +73 -0
  358. package/dist/showcase/assets/api-key-list-BI2FGbzV.js +1 -0
  359. package/dist/showcase/assets/app-sidebar-B35a8HWK.js +1 -0
  360. package/dist/showcase/assets/arrow-down-C1w0M8tE.js +1 -0
  361. package/dist/showcase/assets/arrow-left-DtILDtAv.js +1 -0
  362. package/dist/showcase/assets/arrow-right-TnZMfDbP.js +1 -0
  363. package/dist/showcase/assets/arrow-up-BX-KDIDB.js +1 -0
  364. package/dist/showcase/assets/arrow-up-right-CrnWqXwJ.js +1 -0
  365. package/dist/showcase/assets/avatar-C5YI0roK.js +67 -0
  366. package/dist/showcase/assets/avatar-DsnH-Xmz.js +1 -0
  367. package/dist/showcase/assets/avatar-S4vMi7Be.js +57 -0
  368. package/dist/showcase/assets/avatar-q4wqX6yD.js +1 -0
  369. package/dist/showcase/assets/badge-DJacF8-J.js +31 -0
  370. package/dist/showcase/assets/badge-check-DDJtQHcD.js +1 -0
  371. package/dist/showcase/assets/bell-DiXXE8YI.js +1 -0
  372. package/dist/showcase/assets/bot-bONqc_7j.js +1 -0
  373. package/dist/showcase/assets/box-lhUq3Chj.js +1 -0
  374. package/dist/showcase/assets/braces-IKXiJgb3.js +1 -0
  375. package/dist/showcase/assets/brain-DcXlhbJZ.js +1 -0
  376. package/dist/showcase/assets/brand-CramZg2-.js +36 -0
  377. package/dist/showcase/assets/breadcrumb-BL7UjlLh.js +1 -0
  378. package/dist/showcase/assets/breadcrumb-CZRbcf09.js +52 -0
  379. package/dist/showcase/assets/breadcrumbs-DJzvSt_Z.js +1 -0
  380. package/dist/showcase/assets/briefcase-CQQ0m97G.js +1 -0
  381. package/dist/showcase/assets/building-2-BkQcv8WR.js +1 -0
  382. package/dist/showcase/assets/button-K7M0irWq.js +44 -0
  383. package/dist/showcase/assets/button-group-KCGa38c8.js +1 -0
  384. package/dist/showcase/assets/buttons-CvyBMRD6.js +272 -0
  385. package/dist/showcase/assets/calendar-BJHjhWQX.js +1 -0
  386. package/dist/showcase/assets/calendar-ChMVRsNC.js +16 -0
  387. package/dist/showcase/assets/calendar-days-BgkRJVxQ.js +1 -0
  388. package/dist/showcase/assets/calendar-xpHhfGnq.js +1 -0
  389. package/dist/showcase/assets/camera-C67freYi.js +1 -0
  390. package/dist/showcase/assets/card-CfOqXMVz.js +188 -0
  391. package/dist/showcase/assets/card-bLjedjT5.js +1 -0
  392. package/dist/showcase/assets/card-primitives-FUPmQCsu.js +1 -0
  393. package/dist/showcase/assets/card-radio-group-D_QNJ2Hm.js +1 -0
  394. package/dist/showcase/assets/cards-yHZa0kEf.js +353 -0
  395. package/dist/showcase/assets/carousel-DG1cKry4.js +449 -0
  396. package/dist/showcase/assets/cell-renderers-qfJ-7alN.js +1 -0
  397. package/dist/showcase/assets/chart-B_yVfbWJ.js +358 -0
  398. package/dist/showcase/assets/chart-column-CYrVWmMk.js +1 -0
  399. package/dist/showcase/assets/checkbox-NW6EcvtD.js +1 -0
  400. package/dist/showcase/assets/checkbox-pA_L1P-f.js +1 -0
  401. package/dist/showcase/assets/chevron-down-DLrHjdQ6.js +1 -0
  402. package/dist/showcase/assets/chevron-left-B_NQOEWI.js +1 -0
  403. package/dist/showcase/assets/chevron-up-6hst2jwR.js +1 -0
  404. package/dist/showcase/assets/chevrons-up-down-C_pj9oOa.js +1 -0
  405. package/dist/showcase/assets/circle-Cw9qV72m.js +1 -0
  406. package/dist/showcase/assets/circle-alert-D3Vcma6L.js +1 -0
  407. package/dist/showcase/assets/circle-check-DdjJpGc9.js +1 -0
  408. package/dist/showcase/assets/circle-check-big-Dnq-jwtv.js +1 -0
  409. package/dist/showcase/assets/circle-dot-DN8DFgIP.js +1 -0
  410. package/dist/showcase/assets/circle-question-mark-Dzgiv4oS.js +1 -0
  411. package/dist/showcase/assets/circle-x-BzTSkndC.js +1 -0
  412. package/dist/showcase/assets/clock-3-CVwHXCmo.js +1 -0
  413. package/dist/showcase/assets/clock-BIJ9p953.js +1 -0
  414. package/dist/showcase/assets/code-xml-DrU5ziCA.js +1 -0
  415. package/dist/showcase/assets/collapsible-7rdCo71k.js +27 -0
  416. package/dist/showcase/assets/collapsible-DCcTSlEH.js +1 -0
  417. package/dist/showcase/assets/combobox-mx8o5sV1.js +685 -0
  418. package/dist/showcase/assets/command-CKJDGdA9.js +1 -0
  419. package/dist/showcase/assets/command-CzGLPzoO.js +1 -0
  420. package/dist/showcase/assets/comment-composer-CSoEIapl.js +1 -0
  421. package/dist/showcase/assets/comment-item-pjaH53iB.js +1 -0
  422. package/dist/showcase/assets/comments-_ccotzWA.js +357 -0
  423. package/dist/showcase/assets/commerce-BuiQiRsf.js +267 -0
  424. package/dist/showcase/assets/composite-Bghohd0p.js +1 -0
  425. package/dist/showcase/assets/contact-card-CqM2uz_w.js +65 -0
  426. package/dist/showcase/assets/content-container-fC4z98GI.js +1 -0
  427. package/dist/showcase/assets/copyable-BMQK8sID.js +1 -0
  428. package/dist/showcase/assets/copyable-DVR2FAa0.js +96 -0
  429. package/dist/showcase/assets/course-card-Cku2z18g.js +77 -0
  430. package/dist/showcase/assets/cpu-A072t3kq.js +1 -0
  431. package/dist/showcase/assets/credit-card-BGwhx9Zo.js +1 -0
  432. package/dist/showcase/assets/css-variables-BAW_VrGk.js +1205 -0
  433. package/dist/showcase/assets/currency-Da3C0Uzb.js +149 -0
  434. package/dist/showcase/assets/dark-surfaces-BHYLEj80.js +90 -0
  435. package/dist/showcase/assets/data-view--EAYihh0.js +124 -0
  436. package/dist/showcase/assets/data-view-BAMwKzZO.js +4 -0
  437. package/dist/showcase/assets/database-C489WIbr.js +1 -0
  438. package/dist/showcase/assets/date-block-DuNaPSBU.js +1 -0
  439. package/dist/showcase/assets/date-picker-Dq-9L64y.js +1 -0
  440. package/dist/showcase/assets/date-pickers-D0ReMKc9.js +73 -0
  441. package/dist/showcase/assets/dense-info-CXwjqQB1.js +106 -0
  442. package/dist/showcase/assets/design-system-consistency-CGoKv0Vf.js +264 -0
  443. package/dist/showcase/assets/dialog-DIrJcAzq.js +1 -0
  444. package/dist/showcase/assets/dialog-O45UwQJs.js +1 -0
  445. package/dist/showcase/assets/display-utilities-VKOARJyC.js +267 -0
  446. package/dist/showcase/assets/dist-BavkTE-I.js +1 -0
  447. package/dist/showcase/assets/dist-DPxPKIgU.js +45 -0
  448. package/dist/showcase/assets/dollar-sign-CH2fcyek.js +1 -0
  449. package/dist/showcase/assets/download-whAw79X4.js +1 -0
  450. package/dist/showcase/assets/dropdown-menu-PVKwhWds.js +1 -0
  451. package/dist/showcase/assets/dropzone-B9sc8Mwa.js +1 -0
  452. package/dist/showcase/assets/earth-BpkE9LMh.js +1 -0
  453. package/dist/showcase/assets/ellipsis-CEVdIbhD.js +1 -0
  454. package/dist/showcase/assets/ellipsis-vertical-CBIvtUVz.js +1 -0
  455. package/dist/showcase/assets/empty-Dp1eCMIl.js +1 -0
  456. package/dist/showcase/assets/empty-item--dZz4VlJ.js +49 -0
  457. package/dist/showcase/assets/empty-state-ZOiE-hWY.js +190 -0
  458. package/dist/showcase/assets/empty-state-dsivN4CA.js +1 -0
  459. package/dist/showcase/assets/enhanced-activities-BpzUxaof.js +357 -0
  460. package/dist/showcase/assets/enhanced-combobox-D71BOuiX.js +1 -0
  461. package/dist/showcase/assets/esm-DT-TXPCJ.js +2 -0
  462. package/dist/showcase/assets/event-calendar-aVpAFZFq.js +138 -0
  463. package/dist/showcase/assets/event-log-DVcvyQ-P.js +330 -0
  464. package/dist/showcase/assets/example-CzbL5xoH.js +1 -0
  465. package/dist/showcase/assets/external-link-BaLE1QE5.js +1 -0
  466. package/dist/showcase/assets/eye-Dq0mLKrs.js +1 -0
  467. package/dist/showcase/assets/feature-announcement-sWKBC2fs.js +34 -0
  468. package/dist/showcase/assets/file-CgW3NvCL.js +1 -0
  469. package/dist/showcase/assets/file-text-JGaJQ8Wd.js +1 -0
  470. package/dist/showcase/assets/filter-layout-jfahl8aJ.js +1 -0
  471. package/dist/showcase/assets/filters-D7zegZVD.js +139 -0
  472. package/dist/showcase/assets/flag-H6U1f4wd.js +1 -0
  473. package/dist/showcase/assets/folder-open-sT96wRxJ.js +1 -0
  474. package/dist/showcase/assets/form-field-CQuSWnj8.js +1 -0
  475. package/dist/showcase/assets/form-sizing-Dltt6Fj-.js +1 -0
  476. package/dist/showcase/assets/format-DGPJ5dDq.js +1 -0
  477. package/dist/showcase/assets/forms-CdDJkAFt.js +915 -0
  478. package/dist/showcase/assets/funnel-Bh56GDO0.js +1 -0
  479. package/dist/showcase/assets/generic-CqSABKHr.js +1 -0
  480. package/dist/showcase/assets/getPseudoElementBounds-Cgw3-xUB.js +1 -0
  481. package/dist/showcase/assets/gift-ChVS2ovQ.js +1 -0
  482. package/dist/showcase/assets/giftcard-cards-CuaGn8-J.js +85 -0
  483. package/dist/showcase/assets/git-branch-86jQZnz4.js +1 -0
  484. package/dist/showcase/assets/global-search-C92CjOf8.js +215 -0
  485. package/dist/showcase/assets/global-search-DpVIWyO9.js +1 -0
  486. package/dist/showcase/assets/globe-DmGzYOlq.js +1 -0
  487. package/dist/showcase/assets/gradient-card-BUZzXFdZ.js +58 -0
  488. package/dist/showcase/assets/hash-pc6IIDge.js +1 -0
  489. package/dist/showcase/assets/header-DbM4l1Z6.js +1 -0
  490. package/dist/showcase/assets/header-notifications-CaymUd4n.js +1 -0
  491. package/dist/showcase/assets/heart-DtfPBlXq.js +1 -0
  492. package/dist/showcase/assets/hooks-JiLlGOJ-.js +220 -0
  493. package/dist/showcase/assets/house-CzNWewi5.js +1 -0
  494. package/dist/showcase/assets/icon-badge-G9Fp891n.js +1 -0
  495. package/dist/showcase/assets/icon-badge-e8N5BSYf.js +37 -0
  496. package/dist/showcase/assets/image-9IQW7agU.js +1 -0
  497. package/dist/showcase/assets/inbox-DU4YaGtc.js +1 -0
  498. package/dist/showcase/assets/index-CuXjv2p6.css +2 -0
  499. package/dist/showcase/assets/index-DN09-Vts.js +10 -0
  500. package/dist/showcase/assets/inertValue-kRQb7jwi.js +1 -0
  501. package/dist/showcase/assets/info-B9AXwUDF.js +1 -0
  502. package/dist/showcase/assets/inline-stat-BkLIKCvD.js +1 -0
  503. package/dist/showcase/assets/inline-stat-XqGHDQrK.js +15 -0
  504. package/dist/showcase/assets/input-BXHv6p9P.js +1 -0
  505. package/dist/showcase/assets/input-D_T9s_tn.js +1 -0
  506. package/dist/showcase/assets/input-group-Bs8dmhR6.js +47 -0
  507. package/dist/showcase/assets/input-group-CqkASeoV.js +1 -0
  508. package/dist/showcase/assets/inputs-DY7w_ssI.js +155 -0
  509. package/dist/showcase/assets/installation-Dg3FdGJ1.js +134 -0
  510. package/dist/showcase/assets/invoice-header-Ba-Y55Ag.js +36 -0
  511. package/dist/showcase/assets/invoice-items-CIJ8EfPg.js +36 -0
  512. package/dist/showcase/assets/invoice-mini-BISFvM7J.js +14 -0
  513. package/dist/showcase/assets/invoice-table-DcyVZTvl.js +30 -0
  514. package/dist/showcase/assets/isSameDay-av07hGac.js +1 -0
  515. package/dist/showcase/assets/isToday-GY5FlPL9.js +1 -0
  516. package/dist/showcase/assets/italic-Du0n76Xk.js +1 -0
  517. package/dist/showcase/assets/item-D8Lp4R-T.js +139 -0
  518. package/dist/showcase/assets/item-DTsZnSJG.js +1 -0
  519. package/dist/showcase/assets/item-Di7HZF5G.js +1 -0
  520. package/dist/showcase/assets/kanban-Dcminjsa.js +188 -0
  521. package/dist/showcase/assets/key-round-BBue3xKx.js +1 -0
  522. package/dist/showcase/assets/label-dkUEHYaz.js +1 -0
  523. package/dist/showcase/assets/languages-XxP8Uu82.js +1 -0
  524. package/dist/showcase/assets/layers-Bi_-RuHS.js +1 -0
  525. package/dist/showcase/assets/layout-app-shell-Cr6Ep0Zz.js +608 -0
  526. package/dist/showcase/assets/layout-auth-DffIslnp.js +790 -0
  527. package/dist/showcase/assets/layout-containers-BuSg6L6o.js +101 -0
  528. package/dist/showcase/assets/layout-header-DAxSUI18.js +203 -0
  529. package/dist/showcase/assets/layout-page-CVgVJHf1.js +314 -0
  530. package/dist/showcase/assets/layout-primitives-q8NXbEld.js +34 -0
  531. package/dist/showcase/assets/layout-sidebar-bB6AJaGs.js +224 -0
  532. package/dist/showcase/assets/layout-users-DG5u517t.js +117 -0
  533. package/dist/showcase/assets/layout-workspace-CKMDUM2b.js +191 -0
  534. package/dist/showcase/assets/lib-CaQvPpSJ.js +1 -0
  535. package/dist/showcase/assets/list-checks-Dhr60VvL.js +1 -0
  536. package/dist/showcase/assets/lock-CYVbyBpM.js +1 -0
  537. package/dist/showcase/assets/lock-keyhole-TUVID45I.js +1 -0
  538. package/dist/showcase/assets/mail-DfkwmVKE.js +1 -0
  539. package/dist/showcase/assets/mail-check-CnBhgH_h.js +1 -0
  540. package/dist/showcase/assets/map-Ck14_o-F.js +124 -0
  541. package/dist/showcase/assets/map-pin-Di7TUhai.js +1 -0
  542. package/dist/showcase/assets/media-library-CzM_to29.js +699 -0
  543. package/dist/showcase/assets/mention-inline-suggestions-B1RHUfnH.js +1 -0
  544. package/dist/showcase/assets/mentions-CdaPXOLl.js +138 -0
  545. package/dist/showcase/assets/menus-DuqcLdg1.js +171 -0
  546. package/dist/showcase/assets/message-square-DuW3PrFI.js +1 -0
  547. package/dist/showcase/assets/metadata-list-CCRGSPaS.js +286 -0
  548. package/dist/showcase/assets/metadata-list-Drvz5mwy.js +1 -0
  549. package/dist/showcase/assets/metric-BSaXa3Z_.js +1 -0
  550. package/dist/showcase/assets/metric-bar-CM1Rmk8y.js +1 -0
  551. package/dist/showcase/assets/metric-grid-BBGxdYNJ.js +1 -0
  552. package/dist/showcase/assets/metric-trend-chip-C_LrbPyT.js +1 -0
  553. package/dist/showcase/assets/metrics-analytics-bar-ByvVltQV.js +44 -0
  554. package/dist/showcase/assets/metrics-analytics-cards-CNGiVG1A.js +50 -0
  555. package/dist/showcase/assets/metrics-comparison-BLUvtt5N.js +76 -0
  556. package/dist/showcase/assets/metrics-heatmap-CZWhn4_i.js +27 -0
  557. package/dist/showcase/assets/metrics-inline-badge-CcPm2_ON.js +17 -0
  558. package/dist/showcase/assets/metrics-kpi-row-CitG5Aea.js +31 -0
  559. package/dist/showcase/assets/metrics-micro-grid-CAsplRVI.js +42 -0
  560. package/dist/showcase/assets/metrics-overview-DSRwW-3j.js +192 -0
  561. package/dist/showcase/assets/metrics-stat-cards-BTdSpUV_.js +54 -0
  562. package/dist/showcase/assets/minus-BaXg6nPb.js +1 -0
  563. package/dist/showcase/assets/money-display-HegN6NVU.js +1 -0
  564. package/dist/showcase/assets/month-year-picker-DGSalGea.js +1 -0
  565. package/dist/showcase/assets/navigation-B9kcgNmJ.js +90 -0
  566. package/dist/showcase/assets/navigation-D4OJbw4T.js +231 -0
  567. package/dist/showcase/assets/navigation-extras-xm_wzPZr.js +43 -0
  568. package/dist/showcase/assets/onboarding-checklist-CWuCJKDd.js +119 -0
  569. package/dist/showcase/assets/overflow-tab-bar-Dq-I4MUu.js +1 -0
  570. package/dist/showcase/assets/overlays-BHf9SZOh.js +159 -0
  571. package/dist/showcase/assets/overlays-DziL3nVU.js +408 -0
  572. package/dist/showcase/assets/overview-Cc69up8i.js +184 -0
  573. package/dist/showcase/assets/package-Bc-NuFnd.js +1 -0
  574. package/dist/showcase/assets/package-check-5LQwCfGh.js +1 -0
  575. package/dist/showcase/assets/page-B2o5HSfY.js +1 -0
  576. package/dist/showcase/assets/page-action-button-CfS6vsyC.js +1 -0
  577. package/dist/showcase/assets/page-header-W6quU5pO.js +1 -0
  578. package/dist/showcase/assets/pagination-Bfs7Zszm.js +1 -0
  579. package/dist/showcase/assets/pagination-DHs104ji.js +42 -0
  580. package/dist/showcase/assets/paperclip-CXeiMywc.js +1 -0
  581. package/dist/showcase/assets/password-input-C61t743N.js +1 -0
  582. package/dist/showcase/assets/pencil-C1TXsTfP.js +1 -0
  583. package/dist/showcase/assets/phone-Bh-68R_E.js +1 -0
  584. package/dist/showcase/assets/plus-CKBaO4jG.js +1 -0
  585. package/dist/showcase/assets/popover-C_7qLizt.js +1 -0
  586. package/dist/showcase/assets/popover-hgtHqd0h.js +1 -0
  587. package/dist/showcase/assets/popover-menu-DmYSBsji.js +1 -0
  588. package/dist/showcase/assets/products-DSvcQz-Q.js +423 -0
  589. package/dist/showcase/assets/progress-Chxeo8g4.js +18 -0
  590. package/dist/showcase/assets/progress-fYPoCyf-.js +1 -0
  591. package/dist/showcase/assets/props-table-izArO1Pv.js +1 -0
  592. package/dist/showcase/assets/quote-wvfNu9t7.js +1 -0
  593. package/dist/showcase/assets/receipt-BlXBX4ZJ.js +1 -0
  594. package/dist/showcase/assets/receipt-text-stSsUTV5.js +1 -0
  595. package/dist/showcase/assets/refinement-guide-Bri81J9N.js +189 -0
  596. package/dist/showcase/assets/refresh-cw-tZzNDEGO.js +1 -0
  597. package/dist/showcase/assets/resolveValueLabel-Cti97iX8.js +1 -0
  598. package/dist/showcase/assets/resource-B727CTVi.js +139 -0
  599. package/dist/showcase/assets/resource-DytT_quB.js +1 -0
  600. package/dist/showcase/assets/resource-selector-card-wNuW382N.js +43 -0
  601. package/dist/showcase/assets/rich-text-editor-DdK5YD0y.js +143 -0
  602. package/dist/showcase/assets/rich-text-editor-DqY2H6e0.js +124 -0
  603. package/dist/showcase/assets/rotate-ccw-Bp4aMDrI.js +1 -0
  604. package/dist/showcase/assets/route-D2owHMka.js +1 -0
  605. package/dist/showcase/assets/save-DjC_iy0t.js +1 -0
  606. package/dist/showcase/assets/schema-form-CQtLwGC1.js +327 -0
  607. package/dist/showcase/assets/scroll-area-BQlHFfkG.js +32 -0
  608. package/dist/showcase/assets/scroll-area-D3Rrt85s.js +1 -0
  609. package/dist/showcase/assets/section-DYfGx1Q5.js +1 -0
  610. package/dist/showcase/assets/select-BCJGhRpc.js +1 -0
  611. package/dist/showcase/assets/select-Cf5EigqA.js +1 -0
  612. package/dist/showcase/assets/send-86Vr11Ys.js +1 -0
  613. package/dist/showcase/assets/separator-BHjNVb5O.js +1 -0
  614. package/dist/showcase/assets/separator-BejjbTbO.js +28 -0
  615. package/dist/showcase/assets/settings-2-DNNVOsjP.js +1 -0
  616. package/dist/showcase/assets/settings-Bsi5BLx5.js +1 -0
  617. package/dist/showcase/assets/sheet-BazhMvfb.js +1 -0
  618. package/dist/showcase/assets/shield-alert-D-Jbocfj.js +1 -0
  619. package/dist/showcase/assets/shield-check-D9eDVcJ1.js +1 -0
  620. package/dist/showcase/assets/shield-xI2P9G5d.js +1 -0
  621. package/dist/showcase/assets/shopping-bag-DOGs3sez.js +1 -0
  622. package/dist/showcase/assets/showcase-s-5CuLAJ.js +132 -0
  623. package/dist/showcase/assets/sidebar-Rz44gw_a.js +1 -0
  624. package/dist/showcase/assets/sidebar.context-Bbcdo3o8.js +1 -0
  625. package/dist/showcase/assets/skeleton-CY8ieqD-.js +1 -0
  626. package/dist/showcase/assets/skeleton-CgoH6CPT.js +29 -0
  627. package/dist/showcase/assets/slider-okW2bgkG.js +1 -0
  628. package/dist/showcase/assets/smart-card-CVwEPwfI.js +1 -0
  629. package/dist/showcase/assets/sonner-CixCpxj2.js +22 -0
  630. package/dist/showcase/assets/sortable.esm-DKcVtGTb.js +5 -0
  631. package/dist/showcase/assets/sparkles-DDEVdtmy.js +1 -0
  632. package/dist/showcase/assets/spinner-BVGPoAEv.js +49 -0
  633. package/dist/showcase/assets/spinner-FURXSp1Q.js +1 -0
  634. package/dist/showcase/assets/spinner-u6TwJ3Ii.js +30 -0
  635. package/dist/showcase/assets/square-pen-DVXVT0cQ.js +1 -0
  636. package/dist/showcase/assets/stacked-avatars-CKOQhAx4.js +1 -0
  637. package/dist/showcase/assets/star-B3ZPfxuz.js +1 -0
  638. package/dist/showcase/assets/startOfDay-LwMBRUSU.js +1 -0
  639. package/dist/showcase/assets/styles-UIKkojWJ.js +1 -0
  640. package/dist/showcase/assets/suggestions-DbrzKjbi.js +126 -0
  641. package/dist/showcase/assets/switch-CAw84QpS.js +1 -0
  642. package/dist/showcase/assets/switch-Cjt2MCgr.js +1 -0
  643. package/dist/showcase/assets/sync-DWbqfpBH.js +124 -0
  644. package/dist/showcase/assets/table-Bx5lo5FP.js +686 -0
  645. package/dist/showcase/assets/table-C2RQulDb.js +1 -0
  646. package/dist/showcase/assets/table-actions-Clo3WEfM.js +1 -0
  647. package/dist/showcase/assets/tabs-DRtlcg6b.js +19 -0
  648. package/dist/showcase/assets/tabs-wMPtvuT5.js +1 -0
  649. package/dist/showcase/assets/tags-input-D5FpWOWF.js +1 -0
  650. package/dist/showcase/assets/text-button-Cwh6D6qG.js +1 -0
  651. package/dist/showcase/assets/text-link-DI1uXdGl.js +1 -0
  652. package/dist/showcase/assets/textarea-CGbt4gBZ.js +1 -0
  653. package/dist/showcase/assets/textarea-JPgPLhyk.js +1 -0
  654. package/dist/showcase/assets/timelines-CkHN08n6.js +200 -0
  655. package/dist/showcase/assets/toggle-group-BpXkR9uD.js +1 -0
  656. package/dist/showcase/assets/toggles-DK9iCbki.js +71 -0
  657. package/dist/showcase/assets/toggles-group-DwzRj0f7.js +32 -0
  658. package/dist/showcase/assets/tooltip-PtP1suag.js +31 -0
  659. package/dist/showcase/assets/trash-2-BE4XUI2g.js +1 -0
  660. package/dist/showcase/assets/trending-up-ByxOf-nR.js +1 -0
  661. package/dist/showcase/assets/truck-RTOdcRV0.js +1 -0
  662. package/dist/showcase/assets/typography-BKLgHDxU.js +223 -0
  663. package/dist/showcase/assets/ui-badge-DIh_3Wmo.js +28 -0
  664. package/dist/showcase/assets/ui-card-BOdHnZwv.js +30 -0
  665. package/dist/showcase/assets/ui-table-BW4FCClv.js +42 -0
  666. package/dist/showcase/assets/upload-tray-CV9_5Lpa.js +138 -0
  667. package/dist/showcase/assets/use-layout-link-MyeE-CDj.js +1 -0
  668. package/dist/showcase/assets/useAnchoredPopupScrollLock-DSaog2w5.js +1 -0
  669. package/dist/showcase/assets/useAriaLabelledBy-DSpPzrxG.js +1 -0
  670. package/dist/showcase/assets/useCollapsiblePanel-DsuJtES0.js +1 -0
  671. package/dist/showcase/assets/useCompositeItem-lbAimLrR.js +1 -0
  672. package/dist/showcase/assets/useCompositeListItem-pRXWGj4x.js +1 -0
  673. package/dist/showcase/assets/useLabelableId-IRM1zB5m.js +1 -0
  674. package/dist/showcase/assets/useOpenInteractionType-CHDcTj9f.js +1 -0
  675. package/dist/showcase/assets/useRender-Ogz5zjeJ.js +1 -0
  676. package/dist/showcase/assets/useTriggerFocusGuards-Du6btFNB.js +1 -0
  677. package/dist/showcase/assets/useValueChanged-CXpsR4fl.js +1 -0
  678. package/dist/showcase/assets/user-plus-CLj8AZe1.js +1 -0
  679. package/dist/showcase/assets/user-ymdT26JK.js +1 -0
  680. package/dist/showcase/assets/users-BGba2Xwv.js +1 -0
  681. package/dist/showcase/assets/vendor-profile-Ci6c9mFC.js +37 -0
  682. package/dist/showcase/assets/video-BcKa36-p.js +1 -0
  683. package/dist/showcase/assets/wrench-Cj2hRrih.js +1 -0
  684. package/dist/showcase/assets/x-iCqjAC2D.js +1 -0
  685. package/dist/showcase/assets/zap-H4bc_OhS.js +1 -0
  686. package/dist/showcase/index.html +2 -2
  687. package/dist/style.css +1 -1
  688. package/package.json +1 -1
  689. package/src/css/themes/shadcn.default.css +6 -6
  690. package/src/css/tokens/foundation.css +23 -9
  691. package/dist/_shared/accordion-B9EjlZLY.js +0 -135
  692. package/dist/_shared/accordion-B9EjlZLY.js.map +0 -1
  693. package/dist/_shared/accordion-IFDIc0E7.cjs +0 -2
  694. package/dist/_shared/accordion-IFDIc0E7.cjs.map +0 -1
  695. package/dist/_shared/action-menu-B6yFRDz1.cjs +0 -2
  696. package/dist/_shared/action-menu-B6yFRDz1.cjs.map +0 -1
  697. package/dist/_shared/action-menu-CNS-fwQr.js +0 -96
  698. package/dist/_shared/action-menu-CNS-fwQr.js.map +0 -1
  699. package/dist/_shared/ai-artifact-B3qhuiKC.js +0 -1099
  700. package/dist/_shared/ai-artifact-B3qhuiKC.js.map +0 -1
  701. package/dist/_shared/ai-artifact-Dtr0bnVq.cjs +0 -3
  702. package/dist/_shared/ai-artifact-Dtr0bnVq.cjs.map +0 -1
  703. package/dist/_shared/alert-V0V36Sny.cjs +0 -2
  704. package/dist/_shared/alert-V0V36Sny.cjs.map +0 -1
  705. package/dist/_shared/alert-m-4s0Hqq.js +0 -81
  706. package/dist/_shared/alert-m-4s0Hqq.js.map +0 -1
  707. package/dist/_shared/app-shell-D3eGUtL-.js +0 -69
  708. package/dist/_shared/app-shell-D3eGUtL-.js.map +0 -1
  709. package/dist/_shared/app-shell-QJHARDMB.cjs +0 -2
  710. package/dist/_shared/app-shell-QJHARDMB.cjs.map +0 -1
  711. package/dist/_shared/auth-BZY91F5_.cjs +0 -2
  712. package/dist/_shared/auth-BZY91F5_.cjs.map +0 -1
  713. package/dist/_shared/auth-DcotjEbY.js +0 -643
  714. package/dist/_shared/auth-DcotjEbY.js.map +0 -1
  715. package/dist/_shared/badge-BeSKxX1u.cjs +0 -2
  716. package/dist/_shared/badge-BeSKxX1u.cjs.map +0 -1
  717. package/dist/_shared/badge-a2Z3K5aQ.js +0 -110
  718. package/dist/_shared/badge-a2Z3K5aQ.js.map +0 -1
  719. package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs +0 -2
  720. package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs.map +0 -1
  721. package/dist/_shared/breadcrumbs-B57Unsoe.js +0 -105
  722. package/dist/_shared/breadcrumbs-B57Unsoe.js.map +0 -1
  723. package/dist/_shared/button-Bd5bEIiB.cjs +0 -2
  724. package/dist/_shared/button-Bd5bEIiB.cjs.map +0 -1
  725. package/dist/_shared/button-DHksjMvc.js +0 -189
  726. package/dist/_shared/button-DHksjMvc.js.map +0 -1
  727. package/dist/_shared/buttons-Bek9F7qK.cjs +0 -2
  728. package/dist/_shared/buttons-Bek9F7qK.cjs.map +0 -1
  729. package/dist/_shared/buttons-DcynMPnE.js +0 -137
  730. package/dist/_shared/buttons-DcynMPnE.js.map +0 -1
  731. package/dist/_shared/card-radio-group-C2p_iBal.cjs +0 -2
  732. package/dist/_shared/card-radio-group-C2p_iBal.cjs.map +0 -1
  733. package/dist/_shared/card-radio-group-Fdi1Cz1j.js +0 -150
  734. package/dist/_shared/card-radio-group-Fdi1Cz1j.js.map +0 -1
  735. package/dist/_shared/cards-C1ythc0Q.js +0 -354
  736. package/dist/_shared/cards-C1ythc0Q.js.map +0 -1
  737. package/dist/_shared/cards-GSYfJ-oX.cjs +0 -2
  738. package/dist/_shared/cards-GSYfJ-oX.cjs.map +0 -1
  739. package/dist/_shared/combobox-BIe72dV3.js +0 -954
  740. package/dist/_shared/combobox-BIe72dV3.js.map +0 -1
  741. package/dist/_shared/combobox-CJiFDoTi.cjs +0 -2
  742. package/dist/_shared/combobox-CJiFDoTi.cjs.map +0 -1
  743. package/dist/_shared/command-ByedBajF.js +0 -39
  744. package/dist/_shared/command-ByedBajF.js.map +0 -1
  745. package/dist/_shared/command-EGR0nhGc.cjs +0 -2
  746. package/dist/_shared/command-EGR0nhGc.cjs.map +0 -1
  747. package/dist/_shared/comments-CmljtbAW.js +0 -952
  748. package/dist/_shared/comments-CmljtbAW.js.map +0 -1
  749. package/dist/_shared/comments-ColUq7eh.cjs +0 -2
  750. package/dist/_shared/comments-ColUq7eh.cjs.map +0 -1
  751. package/dist/_shared/copyable-Dopk9pEJ.js +0 -38
  752. package/dist/_shared/copyable-Dopk9pEJ.js.map +0 -1
  753. package/dist/_shared/copyable-rQwxsTJ3.cjs +0 -2
  754. package/dist/_shared/copyable-rQwxsTJ3.cjs.map +0 -1
  755. package/dist/_shared/data-display-BTsCY7A5.js +0 -1873
  756. package/dist/_shared/data-display-BTsCY7A5.js.map +0 -1
  757. package/dist/_shared/data-display-BdGQMXit.cjs +0 -2
  758. package/dist/_shared/data-display-BdGQMXit.cjs.map +0 -1
  759. package/dist/_shared/date-picker-BiUgIkjP.cjs +0 -2
  760. package/dist/_shared/date-picker-BiUgIkjP.cjs.map +0 -1
  761. package/dist/_shared/date-picker-DFkLiveH.js +0 -1361
  762. package/dist/_shared/date-picker-DFkLiveH.js.map +0 -1
  763. package/dist/_shared/date-pickers-C86tVD8e.cjs +0 -2
  764. package/dist/_shared/date-pickers-C86tVD8e.cjs.map +0 -1
  765. package/dist/_shared/date-pickers-D4oxOOHE.js +0 -329
  766. package/dist/_shared/date-pickers-D4oxOOHE.js.map +0 -1
  767. package/dist/_shared/display-B0wLVN8t.js +0 -986
  768. package/dist/_shared/display-B0wLVN8t.js.map +0 -1
  769. package/dist/_shared/display-Bin2vVex.cjs +0 -2
  770. package/dist/_shared/display-Bin2vVex.cjs.map +0 -1
  771. package/dist/_shared/form-sizing-C51oI3Di.js +0 -42
  772. package/dist/_shared/form-sizing-C51oI3Di.js.map +0 -1
  773. package/dist/_shared/form-sizing-Co53Drri.cjs +0 -2
  774. package/dist/_shared/form-sizing-Co53Drri.cjs.map +0 -1
  775. package/dist/_shared/forms-CEE1te78.cjs +0 -2
  776. package/dist/_shared/forms-CEE1te78.cjs.map +0 -1
  777. package/dist/_shared/forms-CQoGvG7q.js +0 -3533
  778. package/dist/_shared/forms-CQoGvG7q.js.map +0 -1
  779. package/dist/_shared/header-B9IPDQRW.js +0 -447
  780. package/dist/_shared/header-B9IPDQRW.js.map +0 -1
  781. package/dist/_shared/header-C_1x4-rd.cjs +0 -2
  782. package/dist/_shared/header-C_1x4-rd.cjs.map +0 -1
  783. package/dist/_shared/hooks---vunGQ6.js +0 -95
  784. package/dist/_shared/hooks---vunGQ6.js.map +0 -1
  785. package/dist/_shared/hooks-CjVzmgvY.cjs +0 -2
  786. package/dist/_shared/hooks-CjVzmgvY.cjs.map +0 -1
  787. package/dist/_shared/input-CB6hxh-5.cjs +0 -2
  788. package/dist/_shared/input-CB6hxh-5.cjs.map +0 -1
  789. package/dist/_shared/input-CfnHBT--.js +0 -182
  790. package/dist/_shared/input-CfnHBT--.js.map +0 -1
  791. package/dist/_shared/item-Xs-fgzaT.js +0 -226
  792. package/dist/_shared/item-Xs-fgzaT.js.map +0 -1
  793. package/dist/_shared/item-eUP9Rtmg.cjs +0 -2
  794. package/dist/_shared/item-eUP9Rtmg.cjs.map +0 -1
  795. package/dist/_shared/layout-BXrQqUKq.js +0 -262
  796. package/dist/_shared/layout-BXrQqUKq.js.map +0 -1
  797. package/dist/_shared/layout-DWicdsPI.cjs +0 -2
  798. package/dist/_shared/layout-DWicdsPI.cjs.map +0 -1
  799. package/dist/_shared/mentions-BahbwDwU.js +0 -506
  800. package/dist/_shared/mentions-BahbwDwU.js.map +0 -1
  801. package/dist/_shared/mentions-aHalksbt.cjs +0 -2
  802. package/dist/_shared/mentions-aHalksbt.cjs.map +0 -1
  803. package/dist/_shared/money-display-BLPNMmiT.cjs +0 -2
  804. package/dist/_shared/money-display-BLPNMmiT.cjs.map +0 -1
  805. package/dist/_shared/money-display-D_-Cb8-9.js +0 -198
  806. package/dist/_shared/money-display-D_-Cb8-9.js.map +0 -1
  807. package/dist/_shared/navigation-BcYAwgzo.js +0 -436
  808. package/dist/_shared/navigation-BcYAwgzo.js.map +0 -1
  809. package/dist/_shared/navigation-DAB7uuBj.cjs +0 -2
  810. package/dist/_shared/navigation-DAB7uuBj.cjs.map +0 -1
  811. package/dist/_shared/overlays-DW8OIK5R.js +0 -735
  812. package/dist/_shared/overlays-DW8OIK5R.js.map +0 -1
  813. package/dist/_shared/overlays-Du65iCkx.cjs +0 -2
  814. package/dist/_shared/overlays-Du65iCkx.cjs.map +0 -1
  815. package/dist/_shared/popover-menu-qxBZlTck.js +0 -93
  816. package/dist/_shared/popover-menu-qxBZlTck.js.map +0 -1
  817. package/dist/_shared/popover-menu-z9QTjl4o.cjs +0 -2
  818. package/dist/_shared/popover-menu-z9QTjl4o.cjs.map +0 -1
  819. package/dist/_shared/rich-text-editor-DeIiIDn7.cjs +0 -2
  820. package/dist/_shared/rich-text-editor-DeIiIDn7.cjs.map +0 -1
  821. package/dist/_shared/rich-text-editor-VIBlL0x3.js +0 -620
  822. package/dist/_shared/rich-text-editor-VIBlL0x3.js.map +0 -1
  823. package/dist/_shared/settings-Bfr6PgSi.cjs +0 -2
  824. package/dist/_shared/settings-Bfr6PgSi.cjs.map +0 -1
  825. package/dist/_shared/settings-CrPaYr4A.js +0 -143
  826. package/dist/_shared/settings-CrPaYr4A.js.map +0 -1
  827. package/dist/_shared/sidebar-CDOLD8fN.js +0 -548
  828. package/dist/_shared/sidebar-CDOLD8fN.js.map +0 -1
  829. package/dist/_shared/sidebar-DcsxeNml.cjs +0 -2
  830. package/dist/_shared/sidebar-DcsxeNml.cjs.map +0 -1
  831. package/dist/_shared/spinner-D35zNriU.cjs +0 -2
  832. package/dist/_shared/spinner-D35zNriU.cjs.map +0 -1
  833. package/dist/_shared/spinner-DMC2IIml.js +0 -67
  834. package/dist/_shared/spinner-DMC2IIml.js.map +0 -1
  835. package/dist/_shared/table-B_pqCQxC.js +0 -1377
  836. package/dist/_shared/table-B_pqCQxC.js.map +0 -1
  837. package/dist/_shared/table-CGVOXtdv.cjs +0 -2
  838. package/dist/_shared/table-CGVOXtdv.cjs.map +0 -1
  839. package/dist/_shared/textarea-B24qgdmd.cjs +0 -2
  840. package/dist/_shared/textarea-B24qgdmd.cjs.map +0 -1
  841. package/dist/_shared/textarea-ChLRmmVU.js +0 -118
  842. package/dist/_shared/textarea-ChLRmmVU.js.map +0 -1
  843. package/dist/_shared/typography-CO9uwZhF.cjs +0 -2
  844. package/dist/_shared/typography-CO9uwZhF.cjs.map +0 -1
  845. package/dist/_shared/typography-DE0NGEIE.js +0 -201
  846. package/dist/_shared/typography-DE0NGEIE.js.map +0 -1
  847. package/dist/_shared/workspace-C1twu23r.cjs +0 -2
  848. package/dist/_shared/workspace-C1twu23r.cjs.map +0 -1
  849. package/dist/_shared/workspace-CkOZLdcN.js +0 -357
  850. package/dist/_shared/workspace-CkOZLdcN.js.map +0 -1
  851. package/dist/showcase/assets/AreaChart-WJREayr9.js +0 -6
  852. package/dist/showcase/assets/CompositeItem-CY3XmFuI.js +0 -1
  853. package/dist/showcase/assets/CompositeRoot-BPMF0t1F.js +0 -1
  854. package/dist/showcase/assets/DialogTrigger-BzaF3YN8.js +0 -1
  855. package/dist/showcase/assets/LabelableContext-LKvvFFnV.js +0 -1
  856. package/dist/showcase/assets/PreviewLayout-B0n7l00P.js +0 -1
  857. package/dist/showcase/assets/RadioGroup-VBtGFETg.js +0 -1
  858. package/dist/showcase/assets/ScrollAreaCorner-BimGwdGs.js +0 -1
  859. package/dist/showcase/assets/Separator-BfKe0YiY.js +0 -1
  860. package/dist/showcase/assets/ToolbarRootContext-Cscyv1PN.js +0 -1
  861. package/dist/showcase/assets/accordion-BEN0VkL4.js +0 -171
  862. package/dist/showcase/assets/accordion-variants-QFG3H38z.js +0 -1
  863. package/dist/showcase/assets/action-menu-Bfw1tFqM.js +0 -1
  864. package/dist/showcase/assets/actions-CFpHs5IC.js +0 -310
  865. package/dist/showcase/assets/activities-CDxlaghU.js +0 -500
  866. package/dist/showcase/assets/activities-feed-card-BO1kcjRK.js +0 -1
  867. package/dist/showcase/assets/admin-DFpHXeuv.js +0 -140
  868. package/dist/showcase/assets/ai-DyO6VqQP.js +0 -207
  869. package/dist/showcase/assets/ai-artifact-MVA3ikv6.js +0 -2
  870. package/dist/showcase/assets/ai-chat-D-xcp6Jf.js +0 -568
  871. package/dist/showcase/assets/ai-elements-DlFqIOYp.js +0 -387
  872. package/dist/showcase/assets/ai-tool-call-DedG9TdK.js +0 -1
  873. package/dist/showcase/assets/alert-CmRK2lOe.js +0 -1
  874. package/dist/showcase/assets/alert-DCIVryEp.js +0 -62
  875. package/dist/showcase/assets/alert-DDP3Ktic.js +0 -93
  876. package/dist/showcase/assets/api-key-list-CWa997YX.js +0 -1
  877. package/dist/showcase/assets/api-key-list-mTPebHF3.js +0 -73
  878. package/dist/showcase/assets/app-sidebar-Cnfk9z5K.js +0 -1
  879. package/dist/showcase/assets/arrow-down-CCYWFimd.js +0 -1
  880. package/dist/showcase/assets/arrow-left-CrYjfZJ0.js +0 -1
  881. package/dist/showcase/assets/arrow-right-eLxbBrdm.js +0 -1
  882. package/dist/showcase/assets/arrow-up-kA33fcPv.js +0 -1
  883. package/dist/showcase/assets/arrow-up-right-BSWGQVDB.js +0 -1
  884. package/dist/showcase/assets/avatar-BDGhB3aA.js +0 -57
  885. package/dist/showcase/assets/avatar-CLBQvnYG.js +0 -1
  886. package/dist/showcase/assets/avatar-WUMW3Qjo.js +0 -1
  887. package/dist/showcase/assets/avatar-cKSNuTzf.js +0 -67
  888. package/dist/showcase/assets/badge--mqVg8Ry.js +0 -31
  889. package/dist/showcase/assets/badge-check-D7YjWqnm.js +0 -1
  890. package/dist/showcase/assets/bell-6YyocFK6.js +0 -1
  891. package/dist/showcase/assets/bot-BC4pGAB3.js +0 -1
  892. package/dist/showcase/assets/box-CPGIu4Nv.js +0 -1
  893. package/dist/showcase/assets/braces-9jywZtTA.js +0 -1
  894. package/dist/showcase/assets/brain-wf_S427C.js +0 -1
  895. package/dist/showcase/assets/brand-78lhbKSW.js +0 -36
  896. package/dist/showcase/assets/breadcrumb-6XHObtqO.js +0 -1
  897. package/dist/showcase/assets/breadcrumb-BVrrS53_.js +0 -52
  898. package/dist/showcase/assets/breadcrumbs-BwC3Iaae.js +0 -1
  899. package/dist/showcase/assets/briefcase-BViWYew9.js +0 -1
  900. package/dist/showcase/assets/building-2-CwR3gV1I.js +0 -1
  901. package/dist/showcase/assets/button-BWwsy37B.js +0 -44
  902. package/dist/showcase/assets/button-group-BTiMRQIO.js +0 -1
  903. package/dist/showcase/assets/buttons-D9pH8hPs.js +0 -272
  904. package/dist/showcase/assets/calendar-Bzl2i1lu.js +0 -1
  905. package/dist/showcase/assets/calendar-CNMlC7Fn.js +0 -16
  906. package/dist/showcase/assets/calendar-D5NdEmaD.js +0 -1
  907. package/dist/showcase/assets/calendar-days-j8QDBUc5.js +0 -1
  908. package/dist/showcase/assets/camera-Cwb84N8a.js +0 -1
  909. package/dist/showcase/assets/card-CX3vQ2Te.js +0 -1
  910. package/dist/showcase/assets/card-FLJkfdKP.js +0 -188
  911. package/dist/showcase/assets/card-primitives-C2s13Uvp.js +0 -1
  912. package/dist/showcase/assets/card-radio-group-BP27dErL.js +0 -1
  913. package/dist/showcase/assets/cards-DcdxRM9W.js +0 -354
  914. package/dist/showcase/assets/carousel-CTKyiHD2.js +0 -449
  915. package/dist/showcase/assets/cell-renderers-ouSypXTE.js +0 -1
  916. package/dist/showcase/assets/chart-CMsMyCah.js +0 -358
  917. package/dist/showcase/assets/chart-column-BrwpEFzy.js +0 -1
  918. package/dist/showcase/assets/checkbox-4qgEfnjv.js +0 -1
  919. package/dist/showcase/assets/checkbox-ratLYBAF.js +0 -1
  920. package/dist/showcase/assets/chevron-down-BInaIfd1.js +0 -1
  921. package/dist/showcase/assets/chevron-left-Bjy3FJ_M.js +0 -1
  922. package/dist/showcase/assets/chevron-up-Ufl6UEyV.js +0 -1
  923. package/dist/showcase/assets/chevrons-up-down-CrOH-P5z.js +0 -1
  924. package/dist/showcase/assets/circle-G0dEx2Ay.js +0 -1
  925. package/dist/showcase/assets/circle-alert-CiibDCe8.js +0 -1
  926. package/dist/showcase/assets/circle-check-Bqm54c03.js +0 -1
  927. package/dist/showcase/assets/circle-check-big-BfiY_qy_.js +0 -1
  928. package/dist/showcase/assets/circle-dot-VNm7CEgH.js +0 -1
  929. package/dist/showcase/assets/circle-question-mark-mM7PKy4G.js +0 -1
  930. package/dist/showcase/assets/circle-x-2tzzp_vB.js +0 -1
  931. package/dist/showcase/assets/clock-3-CfdZnMP2.js +0 -1
  932. package/dist/showcase/assets/clock-ByB7C11p.js +0 -1
  933. package/dist/showcase/assets/code-xml-D2fN-BaU.js +0 -1
  934. package/dist/showcase/assets/collapsible-B2lI_uVI.js +0 -1
  935. package/dist/showcase/assets/collapsible-Bs5YFx-M.js +0 -27
  936. package/dist/showcase/assets/combobox-BqNSwFaM.js +0 -685
  937. package/dist/showcase/assets/command-Dcbh_YP-.js +0 -1
  938. package/dist/showcase/assets/command-Mb30xkwq.js +0 -1
  939. package/dist/showcase/assets/comment-composer-DqTw0zIM.js +0 -1
  940. package/dist/showcase/assets/comment-item-DbQAZ3yP.js +0 -1
  941. package/dist/showcase/assets/comments-CGMOOi7k.js +0 -357
  942. package/dist/showcase/assets/commerce-bVpLHwpS.js +0 -267
  943. package/dist/showcase/assets/composite-CTpmYme_.js +0 -1
  944. package/dist/showcase/assets/contact-card-nuS10UKK.js +0 -65
  945. package/dist/showcase/assets/content-container-NexBp0FV.js +0 -1
  946. package/dist/showcase/assets/copyable-CNltkC2A.js +0 -1
  947. package/dist/showcase/assets/copyable-qr6--oJx.js +0 -96
  948. package/dist/showcase/assets/course-card-0kkl37FX.js +0 -77
  949. package/dist/showcase/assets/cpu-DSD9h0l5.js +0 -1
  950. package/dist/showcase/assets/credit-card-CN0E6FU8.js +0 -1
  951. package/dist/showcase/assets/css-variables-CzmmLWxt.js +0 -1190
  952. package/dist/showcase/assets/currency-BtofP745.js +0 -149
  953. package/dist/showcase/assets/dark-surfaces-BU7kfTIi.js +0 -90
  954. package/dist/showcase/assets/data-view-3W7_KBli.js +0 -124
  955. package/dist/showcase/assets/data-view-snL5QtHe.js +0 -4
  956. package/dist/showcase/assets/database-BarEYzaF.js +0 -1
  957. package/dist/showcase/assets/date-block-dTt9Rcfd.js +0 -1
  958. package/dist/showcase/assets/date-picker-BKzZeQGc.js +0 -1
  959. package/dist/showcase/assets/date-pickers-CYERVYRo.js +0 -73
  960. package/dist/showcase/assets/dense-info-hnKZfRnQ.js +0 -106
  961. package/dist/showcase/assets/design-system-consistency-D6qngflS.js +0 -264
  962. package/dist/showcase/assets/dialog-mO0FpHmT.js +0 -1
  963. package/dist/showcase/assets/dialog-xbuhPXmf.js +0 -1
  964. package/dist/showcase/assets/display-utilities-C4IflxoK.js +0 -267
  965. package/dist/showcase/assets/dist-BFChHTWK.js +0 -45
  966. package/dist/showcase/assets/dist-BkVfs5PY.js +0 -1
  967. package/dist/showcase/assets/dollar-sign-BES-Y4q8.js +0 -1
  968. package/dist/showcase/assets/download-CuEg-4DT.js +0 -1
  969. package/dist/showcase/assets/dropdown-menu-C4Fcfk9z.js +0 -1
  970. package/dist/showcase/assets/dropzone-CrJ_k9fJ.js +0 -1
  971. package/dist/showcase/assets/earth-Cmx-Axig.js +0 -1
  972. package/dist/showcase/assets/ellipsis-Co7iTzp_.js +0 -1
  973. package/dist/showcase/assets/ellipsis-vertical-DMYJFiqQ.js +0 -1
  974. package/dist/showcase/assets/empty-Dw4ozyll.js +0 -1
  975. package/dist/showcase/assets/empty-item-DQwAsl0J.js +0 -49
  976. package/dist/showcase/assets/empty-state-BKvbnAy1.js +0 -1
  977. package/dist/showcase/assets/empty-state-Dv6f2fmP.js +0 -190
  978. package/dist/showcase/assets/enhanced-activities-Ctmivg46.js +0 -357
  979. package/dist/showcase/assets/enhanced-combobox-D0AsPZ-b.js +0 -1
  980. package/dist/showcase/assets/esm-oZ6qcNoa.js +0 -2
  981. package/dist/showcase/assets/event-calendar-ChXdeehr.js +0 -138
  982. package/dist/showcase/assets/event-log-DeOCb2tT.js +0 -330
  983. package/dist/showcase/assets/example-CDvNeHNP.js +0 -1
  984. package/dist/showcase/assets/external-link-BaiCqIx3.js +0 -1
  985. package/dist/showcase/assets/eye-zG-fqYfd.js +0 -1
  986. package/dist/showcase/assets/feature-announcement-C2XGWNgI.js +0 -34
  987. package/dist/showcase/assets/file-sAbDfDuO.js +0 -1
  988. package/dist/showcase/assets/file-text-Boa9IOND.js +0 -1
  989. package/dist/showcase/assets/filter-layout-tZmZz-2B.js +0 -1
  990. package/dist/showcase/assets/filters-D8gEkDAE.js +0 -139
  991. package/dist/showcase/assets/flag-Cu20rcE4.js +0 -1
  992. package/dist/showcase/assets/folder-open-Cuk6KKLi.js +0 -1
  993. package/dist/showcase/assets/form-field-D8sL8tat.js +0 -1
  994. package/dist/showcase/assets/form-sizing-C3UG5WKC.js +0 -1
  995. package/dist/showcase/assets/format-CaRklI--.js +0 -1
  996. package/dist/showcase/assets/forms-CNk2oX65.js +0 -915
  997. package/dist/showcase/assets/funnel-B2kBprKZ.js +0 -1
  998. package/dist/showcase/assets/generic-oWYKMvId.js +0 -1
  999. package/dist/showcase/assets/getPseudoElementBounds-GjucWEcD.js +0 -1
  1000. package/dist/showcase/assets/gift-C_D_-5GL.js +0 -1
  1001. package/dist/showcase/assets/giftcard-cards-B4DDGzdi.js +0 -85
  1002. package/dist/showcase/assets/git-branch-DlTTLnjW.js +0 -1
  1003. package/dist/showcase/assets/global-search-BjHAfaqS.js +0 -215
  1004. package/dist/showcase/assets/global-search-hKQWHfrf.js +0 -1
  1005. package/dist/showcase/assets/globe-D-gH7XQ2.js +0 -1
  1006. package/dist/showcase/assets/gradient-card-jVxEisUP.js +0 -58
  1007. package/dist/showcase/assets/hash-DySqEhph.js +0 -1
  1008. package/dist/showcase/assets/header-B8hHkAVl.js +0 -1
  1009. package/dist/showcase/assets/header-notifications-s180jNb1.js +0 -1
  1010. package/dist/showcase/assets/heart-DDFCk8Tb.js +0 -1
  1011. package/dist/showcase/assets/hooks-0A_FzYrt.js +0 -220
  1012. package/dist/showcase/assets/house-BqE1X-Wf.js +0 -1
  1013. package/dist/showcase/assets/icon-badge-CyiMjD7j.js +0 -37
  1014. package/dist/showcase/assets/icon-badge-fJVhEHym.js +0 -1
  1015. package/dist/showcase/assets/image-DCtwKHqe.js +0 -1
  1016. package/dist/showcase/assets/inbox-DZA-pAGB.js +0 -1
  1017. package/dist/showcase/assets/index-B37z19z3.js +0 -10
  1018. package/dist/showcase/assets/index-CIsKgiSF.css +0 -2
  1019. package/dist/showcase/assets/inertValue-SPYMBsOM.js +0 -1
  1020. package/dist/showcase/assets/info-DrfDr3GT.js +0 -1
  1021. package/dist/showcase/assets/inline-stat-BVJNx4xR.js +0 -1
  1022. package/dist/showcase/assets/inline-stat-C3cWbSUK.js +0 -15
  1023. package/dist/showcase/assets/input-CKTTGrnR.js +0 -1
  1024. package/dist/showcase/assets/input-UHuWYPMF.js +0 -1
  1025. package/dist/showcase/assets/input-group-BR_lU__a.js +0 -1
  1026. package/dist/showcase/assets/input-group-iZaLbsTP.js +0 -47
  1027. package/dist/showcase/assets/inputs-C7j8Xivm.js +0 -155
  1028. package/dist/showcase/assets/installation-DYnTwaPR.js +0 -134
  1029. package/dist/showcase/assets/invoice-header-D_0KvXQe.js +0 -36
  1030. package/dist/showcase/assets/invoice-items-jcNb-sST.js +0 -36
  1031. package/dist/showcase/assets/invoice-mini-DrZAbjPq.js +0 -14
  1032. package/dist/showcase/assets/invoice-table-DlAw0U4U.js +0 -30
  1033. package/dist/showcase/assets/isSameDay-Cl6v_syG.js +0 -1
  1034. package/dist/showcase/assets/isToday-BBoFjSnJ.js +0 -1
  1035. package/dist/showcase/assets/italic-j2U8krYa.js +0 -1
  1036. package/dist/showcase/assets/item-B2WoC1SD.js +0 -139
  1037. package/dist/showcase/assets/item-BMJ5hfT5.js +0 -1
  1038. package/dist/showcase/assets/item-C_5-EHNK.js +0 -1
  1039. package/dist/showcase/assets/kanban-Cv64Szxq.js +0 -188
  1040. package/dist/showcase/assets/key-round-CORDYqE2.js +0 -1
  1041. package/dist/showcase/assets/label-B0UjYqfw.js +0 -1
  1042. package/dist/showcase/assets/languages-Njdo5y8i.js +0 -1
  1043. package/dist/showcase/assets/layers-Dyew-8IP.js +0 -1
  1044. package/dist/showcase/assets/layout-app-shell-DEZt0d84.js +0 -608
  1045. package/dist/showcase/assets/layout-auth-BT84haSd.js +0 -790
  1046. package/dist/showcase/assets/layout-containers-D6SP4vRB.js +0 -101
  1047. package/dist/showcase/assets/layout-header-kLYjJnHz.js +0 -203
  1048. package/dist/showcase/assets/layout-page-CmS4d8jw.js +0 -314
  1049. package/dist/showcase/assets/layout-primitives-BW858Ymj.js +0 -34
  1050. package/dist/showcase/assets/layout-sidebar-eIDEoyzV.js +0 -224
  1051. package/dist/showcase/assets/layout-users-HyZHQIov.js +0 -117
  1052. package/dist/showcase/assets/layout-workspace-BrDwVUvn.js +0 -191
  1053. package/dist/showcase/assets/lib-Dhty05ZR.js +0 -1
  1054. package/dist/showcase/assets/list-checks-CcWjdDq8.js +0 -1
  1055. package/dist/showcase/assets/lock-CwH3bXx5.js +0 -1
  1056. package/dist/showcase/assets/lock-keyhole-BdBxeIkW.js +0 -1
  1057. package/dist/showcase/assets/mail-Cn94c8yp.js +0 -1
  1058. package/dist/showcase/assets/mail-check-D-q_vPxD.js +0 -1
  1059. package/dist/showcase/assets/map-BfUZMScw.js +0 -124
  1060. package/dist/showcase/assets/map-pin-BZB9GUXP.js +0 -1
  1061. package/dist/showcase/assets/media-library-DguE2q94.js +0 -699
  1062. package/dist/showcase/assets/mention-inline-suggestions-CyGplHOl.js +0 -1
  1063. package/dist/showcase/assets/mentions-lmr_XmfN.js +0 -138
  1064. package/dist/showcase/assets/menus-D0qYbzKk.js +0 -171
  1065. package/dist/showcase/assets/message-square-7VpiUwcS.js +0 -1
  1066. package/dist/showcase/assets/metadata-list-B8O2ljIS.js +0 -1
  1067. package/dist/showcase/assets/metadata-list-BcYg9Ru3.js +0 -286
  1068. package/dist/showcase/assets/metric-HzQnjCpO.js +0 -1
  1069. package/dist/showcase/assets/metric-bar-Fr1TDnSu.js +0 -1
  1070. package/dist/showcase/assets/metric-grid-CM-P894v.js +0 -1
  1071. package/dist/showcase/assets/metric-trend-chip-DqYH_U8e.js +0 -1
  1072. package/dist/showcase/assets/metrics-analytics-bar-DKRLzyXq.js +0 -44
  1073. package/dist/showcase/assets/metrics-analytics-cards-qMbAYBbk.js +0 -50
  1074. package/dist/showcase/assets/metrics-comparison-GSWVebL_.js +0 -76
  1075. package/dist/showcase/assets/metrics-heatmap-Fj5QZoO3.js +0 -27
  1076. package/dist/showcase/assets/metrics-inline-badge-BuyhiYDl.js +0 -17
  1077. package/dist/showcase/assets/metrics-kpi-row-xNn4bjZc.js +0 -31
  1078. package/dist/showcase/assets/metrics-micro-grid-W_ZYCffp.js +0 -42
  1079. package/dist/showcase/assets/metrics-overview-D-km110k.js +0 -192
  1080. package/dist/showcase/assets/metrics-stat-cards-odVtufFY.js +0 -54
  1081. package/dist/showcase/assets/minus-DZsXg5PW.js +0 -1
  1082. package/dist/showcase/assets/money-display-C7Hp2pT3.js +0 -1
  1083. package/dist/showcase/assets/month-year-picker-Dnr4J0mO.js +0 -1
  1084. package/dist/showcase/assets/navigation-0nrtBP5O.js +0 -90
  1085. package/dist/showcase/assets/navigation-BaWNq9oa.js +0 -231
  1086. package/dist/showcase/assets/navigation-extras-B22W1Vkk.js +0 -43
  1087. package/dist/showcase/assets/onboarding-checklist-BFj7rmdZ.js +0 -119
  1088. package/dist/showcase/assets/overflow-tab-bar-D_rltswa.js +0 -1
  1089. package/dist/showcase/assets/overlays-CNfiB-zF.js +0 -408
  1090. package/dist/showcase/assets/overlays-CuxuFGC8.js +0 -159
  1091. package/dist/showcase/assets/overview-CBmdAWO6.js +0 -184
  1092. package/dist/showcase/assets/package-BwwfLMWb.js +0 -1
  1093. package/dist/showcase/assets/package-check-BepTKJLy.js +0 -1
  1094. package/dist/showcase/assets/page-_JDFUWqe.js +0 -1
  1095. package/dist/showcase/assets/page-action-button-Cf34I-B2.js +0 -1
  1096. package/dist/showcase/assets/page-header-pdHFvyTo.js +0 -1
  1097. package/dist/showcase/assets/pagination-Db1WJvjK.js +0 -42
  1098. package/dist/showcase/assets/pagination-s8_MGk9D.js +0 -1
  1099. package/dist/showcase/assets/paperclip-B9HQ47_2.js +0 -1
  1100. package/dist/showcase/assets/password-input-D-eZWMGX.js +0 -1
  1101. package/dist/showcase/assets/pencil-Dm53P6Db.js +0 -1
  1102. package/dist/showcase/assets/phone-a4Ja9xAp.js +0 -1
  1103. package/dist/showcase/assets/plus-DbOlx2x0.js +0 -1
  1104. package/dist/showcase/assets/popover-B8qrRgt3.js +0 -1
  1105. package/dist/showcase/assets/popover-Bm5wETUP.js +0 -1
  1106. package/dist/showcase/assets/popover-menu-EH4P-BuI.js +0 -1
  1107. package/dist/showcase/assets/products-n6VBSMDh.js +0 -423
  1108. package/dist/showcase/assets/progress-D9r6PSCF.js +0 -1
  1109. package/dist/showcase/assets/progress-DVnMcpeq.js +0 -18
  1110. package/dist/showcase/assets/props-table-udnF7Z46.js +0 -1
  1111. package/dist/showcase/assets/quote-qVQF4JC7.js +0 -1
  1112. package/dist/showcase/assets/receipt-DaC4l-Mr.js +0 -1
  1113. package/dist/showcase/assets/receipt-text-BnwhWHdU.js +0 -1
  1114. package/dist/showcase/assets/refinement-guide-zBbAE-vw.js +0 -189
  1115. package/dist/showcase/assets/refresh-cw-CX6ghqEe.js +0 -1
  1116. package/dist/showcase/assets/resolveValueLabel-Cjbd_80A.js +0 -1
  1117. package/dist/showcase/assets/resource-D1fXD_Pt.js +0 -139
  1118. package/dist/showcase/assets/resource-i2YV9aHL.js +0 -1
  1119. package/dist/showcase/assets/resource-selector-card-CdQEPr9U.js +0 -43
  1120. package/dist/showcase/assets/rich-text-editor-DJ2i03XV.js +0 -143
  1121. package/dist/showcase/assets/rich-text-editor-Wh8r117d.js +0 -124
  1122. package/dist/showcase/assets/rotate-ccw-2_FhUcdG.js +0 -1
  1123. package/dist/showcase/assets/route-EGSdKgEp.js +0 -1
  1124. package/dist/showcase/assets/save-nXKvyYEx.js +0 -1
  1125. package/dist/showcase/assets/schema-form-D_9UkVBe.js +0 -327
  1126. package/dist/showcase/assets/scroll-area-CB7X4JqZ.js +0 -1
  1127. package/dist/showcase/assets/scroll-area-DCHN9iYj.js +0 -32
  1128. package/dist/showcase/assets/section-C2ovQgbv.js +0 -1
  1129. package/dist/showcase/assets/select-BTOraQSw.js +0 -1
  1130. package/dist/showcase/assets/select-CE0BbUs7.js +0 -1
  1131. package/dist/showcase/assets/send-CI0r12bX.js +0 -1
  1132. package/dist/showcase/assets/separator-CmGfh7lI.js +0 -1
  1133. package/dist/showcase/assets/separator-PhQTNRIB.js +0 -28
  1134. package/dist/showcase/assets/settings-2-qkVb0lyz.js +0 -1
  1135. package/dist/showcase/assets/settings-YXjlZ9zs.js +0 -1
  1136. package/dist/showcase/assets/sheet-CFDUB2H1.js +0 -1
  1137. package/dist/showcase/assets/shield-Dr_UeG6H.js +0 -1
  1138. package/dist/showcase/assets/shield-alert-7rAVXg-K.js +0 -1
  1139. package/dist/showcase/assets/shield-check-BbzHL-nM.js +0 -1
  1140. package/dist/showcase/assets/shopping-bag-DeprN0fB.js +0 -1
  1141. package/dist/showcase/assets/showcase-BU6Fvpg_.js +0 -132
  1142. package/dist/showcase/assets/sidebar-CudnhnWN.js +0 -1
  1143. package/dist/showcase/assets/sidebar.context-CZaDhRhh.js +0 -1
  1144. package/dist/showcase/assets/skeleton-DD6VPVrv.js +0 -1
  1145. package/dist/showcase/assets/skeleton-Dc5LvW7E.js +0 -29
  1146. package/dist/showcase/assets/slider-BxvP9nxk.js +0 -1
  1147. package/dist/showcase/assets/smart-card-B0Llbpiy.js +0 -1
  1148. package/dist/showcase/assets/sonner-mszFoDWT.js +0 -22
  1149. package/dist/showcase/assets/sortable.esm-J5bJPtH9.js +0 -5
  1150. package/dist/showcase/assets/sparkles-CQSdl3Gw.js +0 -1
  1151. package/dist/showcase/assets/spinner-BSxBn2qs.js +0 -49
  1152. package/dist/showcase/assets/spinner-DJxoGJtq.js +0 -30
  1153. package/dist/showcase/assets/spinner-DihTCcve.js +0 -1
  1154. package/dist/showcase/assets/square-pen-CGMSA_p6.js +0 -1
  1155. package/dist/showcase/assets/stacked-avatars-Ct8B4doW.js +0 -1
  1156. package/dist/showcase/assets/star-DFlmmJdh.js +0 -1
  1157. package/dist/showcase/assets/startOfDay-BedffeNt.js +0 -1
  1158. package/dist/showcase/assets/styles-jR6uS97D.js +0 -1
  1159. package/dist/showcase/assets/suggestions-DnjJ-U9n.js +0 -126
  1160. package/dist/showcase/assets/switch-Dkojf4Yd.js +0 -1
  1161. package/dist/showcase/assets/switch-bTb6CSLr.js +0 -1
  1162. package/dist/showcase/assets/sync-rk8eFwoJ.js +0 -124
  1163. package/dist/showcase/assets/table-4qIerTVI.js +0 -686
  1164. package/dist/showcase/assets/table-BjMmmYd7.js +0 -1
  1165. package/dist/showcase/assets/table-actions-DqofOI1V.js +0 -1
  1166. package/dist/showcase/assets/tabs-BV6mMsfk.js +0 -19
  1167. package/dist/showcase/assets/tabs-u2fkHRw8.js +0 -1
  1168. package/dist/showcase/assets/tags-input-Cu_UwlwT.js +0 -1
  1169. package/dist/showcase/assets/text-button-Fyy21evq.js +0 -1
  1170. package/dist/showcase/assets/text-link-WRyY3ZZo.js +0 -1
  1171. package/dist/showcase/assets/textarea-BbCxWNzV.js +0 -1
  1172. package/dist/showcase/assets/textarea-CtD7JQsv.js +0 -1
  1173. package/dist/showcase/assets/timelines-BBPQpCFX.js +0 -200
  1174. package/dist/showcase/assets/toggle-group-B8mQ6wer.js +0 -1
  1175. package/dist/showcase/assets/toggles-CCClWVXZ.js +0 -71
  1176. package/dist/showcase/assets/toggles-group-DgCilPMo.js +0 -32
  1177. package/dist/showcase/assets/tooltip-ClJCWWTI.js +0 -31
  1178. package/dist/showcase/assets/trash-2-Cs7y4-K-.js +0 -1
  1179. package/dist/showcase/assets/trending-up-spYhMxs6.js +0 -1
  1180. package/dist/showcase/assets/truck-DENWgqxK.js +0 -1
  1181. package/dist/showcase/assets/typography-DMmYNFQj.js +0 -223
  1182. package/dist/showcase/assets/ui-badge-BJEtsa7X.js +0 -28
  1183. package/dist/showcase/assets/ui-card-CrPKoi3P.js +0 -30
  1184. package/dist/showcase/assets/ui-table-2HhDwPcu.js +0 -42
  1185. package/dist/showcase/assets/upload-tray-CUZAErkI.js +0 -138
  1186. package/dist/showcase/assets/use-layout-link-Co3GiFmb.js +0 -1
  1187. package/dist/showcase/assets/useAnchoredPopupScrollLock-DgIA0IXg.js +0 -1
  1188. package/dist/showcase/assets/useAriaLabelledBy-CDdoyQgg.js +0 -1
  1189. package/dist/showcase/assets/useCollapsiblePanel-BT0RSjGM.js +0 -1
  1190. package/dist/showcase/assets/useCompositeItem-DFghnuRZ.js +0 -1
  1191. package/dist/showcase/assets/useCompositeListItem-vXyRoJ2x.js +0 -1
  1192. package/dist/showcase/assets/useLabelableId-D__l5sQX.js +0 -1
  1193. package/dist/showcase/assets/useOpenInteractionType-bZIaLWfE.js +0 -1
  1194. package/dist/showcase/assets/useRender-BV0akLbc.js +0 -1
  1195. package/dist/showcase/assets/useTriggerFocusGuards-dYriJrQP.js +0 -1
  1196. package/dist/showcase/assets/useValueChanged-Dg0AWST0.js +0 -1
  1197. package/dist/showcase/assets/user-B9eCi5Vl.js +0 -1
  1198. package/dist/showcase/assets/user-plus-Uo4IAY7e.js +0 -1
  1199. package/dist/showcase/assets/users-DLep-WjV.js +0 -1
  1200. package/dist/showcase/assets/vendor-profile-BbcE51Pa.js +0 -37
  1201. package/dist/showcase/assets/video-BasdlaQE.js +0 -1
  1202. package/dist/showcase/assets/wrench-BYUVe1-z.js +0 -1
  1203. package/dist/showcase/assets/x-Bx9ayVXr.js +0 -1
  1204. package/dist/showcase/assets/zap-Mgu5HEtF.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/composed/commerce/upcoming-booking/upcoming-booking.tsx","../../../../src/components/composed/commerce/loyalty-points/types.ts","../../../../src/components/composed/commerce/loyalty-points/loyalty-points.tsx","../../../../src/components/composed/commerce/discount-stack/types.ts","../../../../src/components/composed/commerce/discount-stack/discount-stack.tsx","../../../../src/components/composed/commerce/shipment-tracking/shipment-tracking.tsx","../../../../src/components/composed/commerce/tax-breakdown/types.ts","../../../../src/components/composed/commerce/tax-breakdown/tax-breakdown.tsx","../../../../src/components/composed/commerce/subscription-summary/types.ts","../../../../src/components/composed/commerce/subscription-summary/subscription-summary.tsx","../../../../src/components/composed/commerce/refund-status/types.ts","../../../../src/components/composed/commerce/refund-status/refund-status.tsx","../../../../src/components/composed/commerce/address-card/types.ts","../../../../src/components/composed/commerce/address-card/address-card.tsx","../../../../src/components/composed/commerce/voucher-entry/types.ts","../../../../src/components/composed/commerce/voucher-entry/voucher-entry.tsx","../../../../src/components/composed/commerce/cart-summary/types.ts","../../../../src/components/composed/commerce/cart-summary/cart-summary.tsx","../../../../src/components/composed/commerce/coupon-input/types.ts","../../../../src/components/composed/commerce/coupon-input/coupon-input.tsx","../../../../src/components/composed/commerce/order-status/types.ts","../../../../src/components/composed/commerce/order-status/order-status.tsx","../../../../src/components/composed/commerce/payment-method/types.ts","../../../../src/components/composed/commerce/payment-method/payment-method.tsx"],"sourcesContent":["/**\n * UpcomingBookingRow — compact booking list. Each row shows a `DateBlock`\n * (weekday / day / month / time) on the left, service + customer in the\n * middle, and trailing amount. Locale and date-tone are configurable.\n *\n * Time is placed BELOW the date block by default (matches the date block\n * vertical rhythm); pass `timePlacement=\"inline-trailing\"` to use a\n * separate trailing time column.\n */\nimport { Text } from '@/components/typography/text';\nimport { DateBlock } from '@/components/base/display/date-block';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\n\nimport type { BookingEntry, UpcomingBookingRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nfunction resolveDate(entry: BookingEntry): Date | string | number | null {\n\tif (entry.date != null) return entry.date;\n\tif (entry.day && entry.month) {\n\t\tconst year = new Date().getFullYear();\n\t\tconst synth = new Date(`${entry.month} ${entry.day}, ${year}`);\n\t\tif (!Number.isNaN(synth.getTime())) return synth;\n\t}\n\treturn null;\n}\n\nexport function UpcomingBookingRow({\n\tbookings,\n\tclassName,\n\tlocale,\n\tdateTone = 'inverse',\n\ttimePlacement = 'below',\n}: UpcomingBookingRowProps) {\n\treturn (\n\t\t<ItemGroup className={cn('upcoming-booking--component w-full gap-2', className)}>\n\t\t\t{bookings.map((b, idx) => {\n\t\t\t\tconst dateInput = resolveDate(b);\n\t\t\t\treturn (\n\t\t\t\t\t<Item key={b.id ?? `${b.service}-${b.time}-${idx}`} className=\"items-center\">\n\t\t\t\t\t\t{!!dateInput && (\n\t\t\t\t\t\t\t<ItemMedia>\n\t\t\t\t\t\t\t\t<DateBlock\n\t\t\t\t\t\t\t\t\tdate={dateInput}\n\t\t\t\t\t\t\t\t\ttime={timePlacement === 'below' ? b.time : undefined}\n\t\t\t\t\t\t\t\t\ttone={dateTone}\n\t\t\t\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\t\t\t\ttimePlacement=\"below\"\n\t\t\t\t\t\t\t\t\tlayout=\"stacked\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<ItemContent className=\"min-w-0 sm:min-w-48\">\n\t\t\t\t\t\t\t<ItemTitle>{b.service}</ItemTitle>\n\t\t\t\t\t\t\t<ItemDescription clamp={1}>{b.customer}</ItemDescription>\n\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t<ItemActions className=\"ml-auto shrink-0 flex-wrap justify-end\">\n\t\t\t\t\t\t\t{timePlacement === 'inline-trailing' && (\n\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n\t\t\t\t\t\t\t\t\t{b.time}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Text weight=\"semibold\" className=\"shrink-0 tabular-nums\">\n\t\t\t\t\t\t\t\t{b.amount}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t</Item>\n\t\t\t\t);\n\t\t\t})}\n\t\t</ItemGroup>\n\t);\n}\n\nUpcomingBookingRow.displayName = 'UpcomingBookingRow';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface LoyaltyHistoryEntry {\n label: string;\n points: string;\n date: string;\n positive: boolean;\n}\n\nexport interface LoyaltyPointsStrings {\n balanceLabel: string;\n pointsAvailable: string;\n redeem: string;\n}\n\nexport const defaultLoyaltyPointsStrings: LoyaltyPointsStrings = {\n balanceLabel: 'Loyalty Balance',\n pointsAvailable: 'points available',\n redeem: 'Redeem Points',\n};\n\nexport interface LoyaltyPointsCardProps {\n balance: number | string;\n tier?: string;\n tierVariant?: string;\n history?: LoyaltyHistoryEntry[];\n /** @deprecated Use `strings.redeem`. */\n redeemLabel?: string;\n onRedeem?: () => void;\n className?: string;\n strings?: StringsProp<LoyaltyPointsStrings>;\n}\n","/**\n * LoyaltyPointsCard — current balance, tier badge, recent history rows\n * (label / date / signed-points), and a redemption CTA. Strings overridable\n * for i18n.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport Heading from '@/components/typography/heading';\nimport { Text } from '@/components/typography/text';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemGroup,\n\tItemTitle,\n} from '@/components/base/item';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\nimport { Gift, Trophy } from 'lucide-react';\n\nimport { defaultLoyaltyPointsStrings, type LoyaltyPointsCardProps } from './types';\n\nexport function LoyaltyPointsCard({\n\tbalance,\n\ttier = 'Gold Tier',\n\ttierVariant: _tierVariant,\n\thistory = [],\n\tredeemLabel,\n\tonRedeem,\n\tclassName,\n\tstrings: stringsProp,\n}: LoyaltyPointsCardProps) {\n\tconst compatibilityStrings = useStrings(\n\t\tdefaultLoyaltyPointsStrings,\n\t\tredeemLabel !== undefined ? { redeem: redeemLabel } : undefined,\n\t);\n\tconst strings = useStrings(compatibilityStrings, stringsProp);\n\treturn (\n\t\t<SmartCard className={cn('loyalty-points--component w-full', className)}>\n\t\t\t<InlineStat\n\t\t\t\tlabel={strings.balanceLabel}\n\t\t\t\tvalue={\n\t\t\t\t\t<Badge variant=\"warning\">\n\t\t\t\t\t\t<Trophy className=\"mr-1 inline size-3\" />\n\t\t\t\t\t\t{tier}\n\t\t\t\t\t</Badge>\n\t\t\t\t}\n\t\t\t\tlabelClassName=\"text-xs font-medium uppercase tracking-wider text-muted-foreground\"\n\t\t\t/>\n\n\t\t\t<Heading tag=\"h3\" className=\"text-4xl tabular-nums tracking-tight\">\n\t\t\t\t{typeof balance === 'number' ? balance.toLocaleString() : balance}\n\t\t\t</Heading>\n\t\t\t<Text size=\"xs\" type=\"secondary\">\n\t\t\t\t{strings.pointsAvailable}\n\t\t\t</Text>\n\n\t\t\t<Separator className=\"my-4\" />\n\n\t\t\t<ItemGroup>\n\t\t\t\t{history.map((entry) => (\n\t\t\t\t\t<Item key={entry.date + entry.label} size=\"small\">\n\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t<ItemTitle bold={false}>{entry.label}</ItemTitle>\n\t\t\t\t\t\t\t<ItemDescription clamp={1}>{entry.date}</ItemDescription>\n\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t<ItemActions>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'tabular-nums',\n\t\t\t\t\t\t\t\t\tentry.positive ? 'text-success' : 'text-destructive',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{entry.points}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t</Item>\n\t\t\t\t))}\n\t\t\t</ItemGroup>\n\n\t\t\t<Button\n\t\t\t\tvariant=\"dark\"\n\t\t\t\tclassName=\"mt-5 w-full rounded-full\"\n\t\t\t\tonClick={onRedeem}\n\t\t\t>\n\t\t\t\t<Gift className=\"mr-1.5 size-3.5\" />\n\t\t\t\t{strings.redeem}\n\t\t\t</Button>\n\t\t</SmartCard>\n\t);\n}\n\nLoyaltyPointsCard.displayName = 'LoyaltyPointsCard';\n","import type { ComposedBadgeVariant as BadgeVariant } from '@/components/base/badge/badge';\nimport type { StringsProp } from '@/lib/strings';\n\nexport interface Discount {\n type: string;\n label: string;\n amount: string;\n badge: BadgeVariant;\n}\n\nexport interface DiscountStackStrings {\n title: string;\n totalSavings: string;\n}\n\nexport const defaultDiscountStackStrings: DiscountStackStrings = {\n title: 'Applied Discounts',\n totalSavings: 'Total Savings',\n};\n\nexport interface DiscountStackPreviewProps {\n discounts: Discount[];\n totalSavings: string;\n className?: string;\n strings?: StringsProp<DiscountStackStrings>;\n}\n","/**\n * DiscountStackPreview — list of applied discounts (type chip + label +\n * amount) with a total-savings summary line. Strings overridable for i18n.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport Heading from '@/components/typography/heading';\nimport { Text } from '@/components/typography/text';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { useStrings } from '@/lib/strings';\n\nimport { defaultDiscountStackStrings, type DiscountStackPreviewProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function DiscountStackPreview({\n\tdiscounts,\n\ttotalSavings,\n\tclassName,\n\tstrings: stringsProp,\n}: DiscountStackPreviewProps) {\n\tconst strings = useStrings(defaultDiscountStackStrings, stringsProp);\n\treturn (\n\t\t<SmartCard title={strings.title} className={cn('discount-stack--component w-full', className)}>\n\t\t\t<ItemGroup className=\"mt-4\">\n\t\t\t\t{discounts.map((d) => (\n\t\t\t\t\t<Item key={d.type} size=\"small\">\n\t\t\t\t\t\t<ItemMedia>\n\t\t\t\t\t\t\t<Badge variant={d.badge} className=\"w-16 justify-center text-xxs\">\n\t\t\t\t\t\t\t\t{d.type}\n\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t<ItemTitle bold={false}>{d.label}</ItemTitle>\n\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t<ItemActions>\n\t\t\t\t\t\t\t<Text weight=\"semibold\" className=\"tabular-nums text-success\">\n\t\t\t\t\t\t\t\t{d.amount}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t</Item>\n\t\t\t\t))}\n\t\t\t</ItemGroup>\n\n\t\t\t<Separator className=\"my-4\" />\n\n\t\t\t<InlineStat\n\t\t\t\tlabel={strings.totalSavings}\n\t\t\t\tvalue={\n\t\t\t\t\t<Heading tag=\"h4\" className=\"text-xl tabular-nums tracking-tight text-success border-none pb-0\">\n\t\t\t\t\t\t{totalSavings}\n\t\t\t\t\t</Heading>\n\t\t\t\t}\n\t\t\t\tlabelClassName=\"text-sm font-semibold\"\n\t\t\t/>\n\t\t</SmartCard>\n\t);\n}\n\nDiscountStackPreview.displayName = 'DiscountStackPreview';\n","/**\n * ShipmentTrackingCard — tracking number + carrier header, current status\n * with pulse dot, horizontal step progress bar, and an optional details row\n * grid (e.g. weight, ETA, recipient). All copy is consumer-supplied via\n * `steps[].label` / `details[].label`.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport { cn } from '@/lib/utils';\n\nimport type { ShipmentTrackingCardProps } from './types';\n\nexport function ShipmentTrackingCard({\n trackingNumber,\n carrier,\n status,\n steps,\n details = [],\n className,\n}: ShipmentTrackingCardProps) {\n return (\n <SmartCard className={cn('shipment-tracking--component w-full', className)}>\n <div className=\"flex items-center justify-between\">\n <Text size=\"xs\" weight=\"medium\" className=\"font-mono text-muted-foreground tracking-wide\">\n {trackingNumber}\n </Text>\n {!!carrier && <Badge variant=\"info\">{carrier}</Badge>}\n </div>\n\n <div className=\"mt-4 flex items-center gap-1.5\">\n <span className=\"h-2 w-2 rounded-full bg-success\" />\n <Text weight=\"semibold\">\n {status}\n </Text>\n </div>\n\n <div className=\"mt-5 flex items-center justify-between\">\n {steps.map((step, i) => (\n <div key={step.label} className=\"flex flex-1 flex-col items-center gap-2\">\n <div className=\"flex w-full items-center\">\n <div className={cn('size-3 shrink-0 rounded-full', step.done ? 'bg-success' : 'bg-muted')} />\n {i < steps.length - 1 && (\n <div className={cn('h-0.5 flex-1', step.done ? 'bg-success' : 'bg-muted')} />\n )}\n </div>\n <Text size=\"xs\" type=\"secondary\" className=\"text-center leading-tight\">\n {step.label}\n </Text>\n </div>\n ))}\n </div>\n\n {details.length > 0 && (\n <>\n <Separator className=\"my-4\" />\n <div className=\"space-y-2\">\n {details.map((detail) => (\n <InlineStat\n key={detail.label}\n label={detail.label}\n value={detail.value}\n labelClassName=\"text-xs\"\n valueClassName=\"text-sm font-medium truncate max-w-[180px]\"\n />\n ))}\n </div>\n </>\n )}\n </SmartCard>\n );\n}\n\nShipmentTrackingCard.displayName = 'ShipmentTrackingCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface TaxLineItem {\n\tid?: string;\n\tlabel: string;\n\trate?: string;\n\tamount: string;\n}\n\nexport interface TaxBreakdownStrings {\n\ttitle: string;\n\tsubtotal: string;\n\ttotalTax: string;\n\ttotal: string;\n}\n\nexport const defaultTaxBreakdownStrings: TaxBreakdownStrings = {\n\ttitle: 'Tax Breakdown',\n\tsubtotal: 'Subtotal',\n\ttotalTax: 'Total Tax',\n\ttotal: 'Total',\n};\n\nexport interface TaxBreakdownCardProps {\n\tsubtotal: string;\n\ttaxes: TaxLineItem[];\n\ttotalTax?: string;\n\ttotal: string;\n\tclassName?: string;\n\tstrings?: StringsProp<TaxBreakdownStrings>;\n}\n","/**\n * TaxBreakdownCard — itemised tax breakdown for an order or invoice. Shows a\n * subtotal, one row per tax line (with optional rate suffix), an optional\n * \"Total tax\" rollup, and a final total. Pairs with `CartSummaryCard` when\n * consumers need to expose VAT / regional tax detail. Strings overridable\n * for i18n.\n */\nimport { Receipt } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport { useStrings } from '@/lib/strings';\n\nimport { defaultTaxBreakdownStrings, type TaxBreakdownCardProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function TaxBreakdownCard({\n\tsubtotal,\n\ttaxes,\n\ttotalTax,\n\ttotal,\n\tclassName,\n\tstrings: stringsProp,\n}: TaxBreakdownCardProps) {\n\tconst strings = useStrings(defaultTaxBreakdownStrings, stringsProp);\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<Receipt className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\tclassName={cn('tax-breakdown--component w-full', className)}\n\t\t>\n\t\t\t<InlineStat\n\t\t\t\tlabel={strings.subtotal}\n\t\t\t\tvalue={subtotal}\n\t\t\t\tmono\n\t\t\t\tlabelClassName=\"text-sm\"\n\t\t\t\tvalueClassName=\"text-sm font-medium\"\n\t\t\t/>\n\n\t\t\t<div className=\"mt-3 space-y-1.5 rounded-lg border border-border/50 bg-muted/30 px-3 py-2.5\">\n\t\t\t\t{taxes.map((tax, i) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={tax.id ?? `${tax.label}-${i}`}\n\t\t\t\t\t\tclassName=\"flex items-baseline justify-between gap-3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex items-baseline gap-1.5 min-w-0\">\n\t\t\t\t\t\t\t<Text size=\"xs\" className=\"truncate\">{tax.label}</Text>\n\t\t\t\t\t\t\t{!!tax.rate && (\n\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xxs\" type=\"discrete\" className=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t{tax.rate}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"medium\" className=\"tabular-nums shrink-0\">\n\t\t\t\t\t\t\t{tax.amount}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t\t{!!totalTax && taxes.length > 1 && (\n\t\t\t\t\t<InlineStat\n\t\t\t\t\t\tlabel={strings.totalTax}\n\t\t\t\t\t\tvalue={totalTax}\n\t\t\t\t\t\tmono\n\t\t\t\t\t\tclassName=\"border-t border-border/50 pt-1.5 mt-0.5\"\n\t\t\t\t\t\tlabelClassName=\"text-xs font-medium\"\n\t\t\t\t\t\tvalueClassName=\"text-xs font-semibold\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<Separator className=\"my-3\" />\n\n\t\t\t<InlineStat\n\t\t\t\tlabel={strings.total}\n\t\t\t\tvalue={total}\n\t\t\t\tmono\n\t\t\t\tlabelClassName=\"text-sm font-semibold\"\n\t\t\t\tvalueClassName=\"text-lg font-bold\"\n\t\t\t/>\n\t\t</SmartCard>\n\t);\n}\n\nTaxBreakdownCard.displayName = 'TaxBreakdownCard';\n","import type { LucideIcon } from 'lucide-react';\nimport type { StringsProp } from '@/lib/strings';\n\nexport interface SubscriptionPerk {\n\ticon?: LucideIcon;\n\tlabel: string;\n}\n\nexport interface SubscriptionSummaryStrings {\n\ttitle: string;\n\tplan: string;\n\tnextBilling: string;\n\tperks: string;\n\tmanage: string;\n\tupgrade: string;\n}\n\nexport const defaultSubscriptionSummaryStrings: SubscriptionSummaryStrings = {\n\ttitle: 'Subscription',\n\tplan: 'Plan',\n\tnextBilling: 'Next billing',\n\tperks: 'Included',\n\tmanage: 'Manage',\n\tupgrade: 'Upgrade',\n};\n\nexport interface SubscriptionSummaryCardProps {\n\tplanName: string;\n\tpriceLabel: string;\n\tcycleLabel: string;\n\tnextBillingDate: string;\n\tstatusLabel?: string;\n\tperks?: SubscriptionPerk[];\n\tonManage?: () => void;\n\tonUpgrade?: () => void;\n\tclassName?: string;\n\tstrings?: StringsProp<SubscriptionSummaryStrings>;\n}\n","/**\n * SubscriptionSummaryCard — at-a-glance subscription card with the active\n * plan name as the hero heading, an inline price + cycle, the next billing\n * date in a meta row, an optional perks list, and trailing\n * Manage / Upgrade actions. Strings overridable for i18n.\n */\nimport {\n\tCalendar,\n\tCheck,\n\tChevronRight,\n\tRepeat } from 'lucide-react';\nimport { Badge } from '@/components/base/badge';\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards';\nimport { IconBadge,\n} from '@/components/base/display';\nimport {\n\tItem,\n\tItemContent,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport Heading from '@/components/typography/heading';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\n\nimport {\n\tdefaultSubscriptionSummaryStrings,\n\ttype SubscriptionSummaryCardProps,\n} from './types';\n\nimport { cn } from '@/lib/utils';\nexport function SubscriptionSummaryCard({\n\tplanName,\n\tpriceLabel,\n\tcycleLabel,\n\tnextBillingDate,\n\tstatusLabel,\n\tperks = [],\n\tonManage,\n\tonUpgrade,\n\tclassName,\n\tstrings: stringsProp,\n}: SubscriptionSummaryCardProps) {\n\tconst strings = useStrings(defaultSubscriptionSummaryStrings, stringsProp);\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<Repeat className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\theaderEnd={statusLabel ? <Badge variant=\"success\">{statusLabel}</Badge> : null}\n\t\t\tclassName={cn('subscription-summary--component w-full', className)}\n\t\t>\n\t\t\t<div className=\"rounded-lg border border-border/60 bg-muted/30 p-4\">\n\t\t\t\t<Text size=\"xxs\" type=\"secondary\" weight=\"medium\" className=\"uppercase tracking-wider\">\n\t\t\t\t\t{strings.plan}\n\t\t\t\t</Text>\n\t\t\t\t<Heading tag=\"h3\" className=\"mt-1 text-xl font-semibold tracking-tight border-none pb-0\">\n\t\t\t\t\t{planName}\n\t\t\t\t</Heading>\n\t\t\t\t<div className=\"mt-1 flex items-baseline gap-1\">\n\t\t\t\t\t<Text tag=\"span\" size=\"xl\" weight=\"bold\" className=\"tabular-nums\">\n\t\t\t\t\t\t{priceLabel}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text type=\"secondary\">\n\t\t\t\t\t\t{cycleLabel}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"mt-3 flex items-center justify-between rounded-md bg-card px-1\">\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Calendar className=\"size-3.5 text-muted-foreground\" />\n\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">{strings.nextBilling}</Text>\n\t\t\t\t</div>\n\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className=\"tabular-nums\">{nextBillingDate}</Text>\n\t\t\t</div>\n\n\t\t\t{perks.length > 0 && (\n\t\t\t\t<div className=\"mt-4 space-y-2\">\n\t\t\t\t\t<Text size=\"xxs\" type=\"secondary\" weight=\"medium\" className=\"uppercase tracking-wider\">\n\t\t\t\t\t\t{strings.perks}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t{perks.map((perk, i) => {\n\t\t\t\t\t\t\tconst Icon = perk.icon ?? Check;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Item key={`${perk.label}-${i}`} size=\"small\">\n\t\t\t\t\t\t\t\t\t<ItemMedia>\n\t\t\t\t\t\t\t\t\t\t<IconBadge icon={Icon} tone=\"success\" size=\"small\" />\n\t\t\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t\t\t\t<ItemTitle bold={false}>{perk.label}</ItemTitle>\n\t\t\t\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{(onManage || onUpgrade) && (\n\t\t\t\t<div className=\"mt-4 flex items-center gap-2\">\n\t\t\t\t\t{!!onManage && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tbuttonStyle=\"outline\"\n\t\t\t\t\t\t\tonClick={onManage}\n\t\t\t\t\t\t\tclassName=\"flex-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{strings.manage}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!onUpgrade && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={onUpgrade}\n\t\t\t\t\t\t\tclassName=\"flex-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{strings.upgrade}\n\t\t\t\t\t\t\t<ChevronRight className=\"ml-1 size-3.5\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nSubscriptionSummaryCard.displayName = 'SubscriptionSummaryCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport type RefundStage = 'requested' | 'approved' | 'processing' | 'completed';\n\nexport interface RefundStatusStrings {\n\ttitle: string;\n\trequested: string;\n\tapproved: string;\n\tprocessing: string;\n\tcompleted: string;\n\tamount: string;\n\treason: string;\n\teta: string;\n\tmethod: string;\n}\n\nexport const defaultRefundStatusStrings: RefundStatusStrings = {\n\ttitle: 'Refund Status',\n\trequested: 'Requested',\n\tapproved: 'Approved',\n\tprocessing: 'Processing',\n\tcompleted: 'Completed',\n\tamount: 'Refund amount',\n\treason: 'Reason',\n\teta: 'Expected by',\n\tmethod: 'Refund to',\n};\n\nexport interface RefundStatusCardProps {\n\tstage: RefundStage;\n\tamount: string;\n\treason?: string;\n\tmethod?: string;\n\teta?: string;\n\trequestedAt?: string;\n\tclassName?: string;\n\tstrings?: StringsProp<RefundStatusStrings>;\n}\n","/**\n * RefundStatusCard — refund-flow tracker. Shows the four canonical refund\n * stages (Requested → Approved → Processing → Completed) as a horizontal\n * progress bar, with refund amount as the lead figure and an optional reason\n * / method / ETA detail block. Strings overridable for i18n.\n */\nimport {\n\tCheck,\n\tRotateCcw } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport Heading from '@/components/typography/heading';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultRefundStatusStrings,\n\ttype RefundStage,\n\ttype RefundStatusCardProps,\n} from './types';\n\nconst STAGE_ORDER: RefundStage[] = ['requested', 'approved', 'processing', 'completed'];\n\nexport function RefundStatusCard({\n\tstage,\n\tamount,\n\treason,\n\tmethod,\n\teta,\n\trequestedAt,\n\tclassName,\n\tstrings: stringsProp,\n}: RefundStatusCardProps) {\n\tconst strings = useStrings(defaultRefundStatusStrings, stringsProp);\n\tconst currentIdx = STAGE_ORDER.indexOf(stage);\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<RotateCcw className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\tclassName={cn('refund-status--component w-full', className)}\n\t\t>\n\t\t\t<div className=\"rounded-lg bg-muted/40 px-4 py-3\">\n\t\t\t\t<Text size=\"xxs\" type=\"secondary\" weight=\"medium\" className=\"uppercase tracking-wider\">\n\t\t\t\t\t{strings.amount}\n\t\t\t\t</Text>\n\t\t\t\t<Heading tag=\"h3\" className=\"text-3xl tabular-nums tracking-tight\">\n\t\t\t\t\t{amount}\n\t\t\t\t</Heading>\n\t\t\t\t{!!requestedAt && (\n\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-0.5\">\n\t\t\t\t\t\t{strings.requested}: {requestedAt}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{/* Stages */}\n\t\t\t<div className=\"mt-4 flex items-center justify-between\">\n\t\t\t\t{STAGE_ORDER.map((s, i) => {\n\t\t\t\t\tconst done = i <= currentIdx;\n\t\t\t\t\tconst current = i === currentIdx;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div key={s} className=\"flex flex-1 flex-col items-center gap-1.5\">\n\t\t\t\t\t\t\t<div className=\"flex w-full items-center\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'relative flex size-5 shrink-0 items-center justify-center rounded-full',\n\t\t\t\t\t\t\t\t\t\tdone\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-success text-success-foreground'\n\t\t\t\t\t\t\t\t\t\t\t: 'border border-border bg-card text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\tcurrent && 'ring-2 ring-success/30 ring-offset-2 ring-offset-background',\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{done ? (\n\t\t\t\t\t\t\t\t\t\t<Check className=\"size-3\" />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xxs\" weight=\"medium\" className=\"tabular-nums\">{i + 1}</Text>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{i < STAGE_ORDER.length - 1 && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'h-0.5 flex-1',\n\t\t\t\t\t\t\t\t\t\t\ti < currentIdx ? 'bg-success' : 'bg-border',\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tsize=\"xxs\"\n\t\t\t\t\t\t\t\tweight={current ? 'semibold' : 'medium'}\n\t\t\t\t\t\t\t\ttype={done ? 'main' : 'secondary'}\n\t\t\t\t\t\t\t\tclassName=\"text-center leading-tight\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{strings[s]}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\n\t\t\t{(reason || method || eta) && (\n\t\t\t\t<>\n\t\t\t\t\t<Separator className=\"my-4\" />\n\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t{!!reason && (\n\t\t\t\t\t\t\t<InlineStat label={strings.reason} value={reason} className=\"items-start\" valueClassName=\"text-sm font-medium text-right\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!method && (\n\t\t\t\t\t\t\t<InlineStat label={strings.method} value={method} valueClassName=\"text-sm font-medium\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!eta && (\n\t\t\t\t\t\t\t<InlineStat label={strings.eta} value={eta} mono valueClassName=\"text-sm font-medium\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nRefundStatusCard.displayName = 'RefundStatusCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport type AddressKind = 'shipping' | 'billing' | 'pickup';\n\nexport interface AddressCardStrings {\n\tdefaultBadge: string;\n\tedit: string;\n\tremove: string;\n\tmakeDefault: string;\n\tshipping: string;\n\tbilling: string;\n\tpickup: string;\n}\n\nexport const defaultAddressCardStrings: AddressCardStrings = {\n\tdefaultBadge: 'Default',\n\tedit: 'Edit',\n\tremove: 'Remove',\n\tmakeDefault: 'Make default',\n\tshipping: 'Shipping address',\n\tbilling: 'Billing address',\n\tpickup: 'Pickup address',\n};\n\nexport interface AddressCardProps {\n\tkind?: AddressKind;\n\tname: string;\n\tline1: string;\n\tline2?: string;\n\tcity: string;\n\tregion?: string;\n\tpostalCode?: string;\n\tcountry: string;\n\tphone?: string;\n\tisDefault?: boolean;\n\tonEdit?: () => void;\n\tonRemove?: () => void;\n\tonMakeDefault?: () => void;\n\tclassName?: string;\n\tstrings?: StringsProp<AddressCardStrings>;\n}\n","/**\n * AddressCard — saved postal address surface. Title varies by `kind`\n * (shipping / billing / pickup); shows recipient name, address lines, phone,\n * and a \"Default\" badge when applicable.\n *\n * Edit / remove / make-default actions ride through SmartCard's actions menu\n * (the canonical card-actions affordance) instead of inline footer buttons —\n * keeps the surface consistent with every other card in the library.\n */\nimport { Edit2, MapPin, Star, Trash2 } from 'lucide-react';\nimport { Badge } from '@/components/base/badge';\nimport { SmartCard, type SmartCardAction } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\n\nimport {\n\tdefaultAddressCardStrings,\n\ttype AddressCardProps,\n\ttype AddressKind,\n} from './types';\n\nimport { cn } from '@/lib/utils';\nexport function AddressCard({\n\tkind = 'shipping',\n\tname,\n\tline1,\n\tline2,\n\tcity,\n\tregion,\n\tpostalCode,\n\tcountry,\n\tphone,\n\tisDefault = false,\n\tonEdit,\n\tonRemove,\n\tonMakeDefault,\n\tclassName,\n\tstrings: stringsProp,\n}: AddressCardProps) {\n\tconst strings = useStrings(defaultAddressCardStrings, stringsProp);\n\tconst titleByKind: Record<AddressKind, string> = {\n\t\tshipping: strings.shipping,\n\t\tbilling: strings.billing,\n\t\tpickup: strings.pickup,\n\t};\n\n\tconst cityLine = [city, region, postalCode].filter(Boolean).join(', ');\n\n\tconst actions: SmartCardAction[] = [];\n\tif (onEdit) {\n\t\tactions.push({\n\t\t\tid: 'edit',\n\t\t\tlabel: strings.edit,\n\t\t\ticon: <Edit2 className=\"size-3.5\" />,\n\t\t\tonClick: onEdit,\n\t\t});\n\t}\n\tif (onMakeDefault && !isDefault) {\n\t\tactions.push({\n\t\t\tid: 'make-default',\n\t\t\tlabel: strings.makeDefault,\n\t\t\ticon: <Star className=\"size-3.5\" />,\n\t\t\tonClick: onMakeDefault,\n\t\t});\n\t}\n\tif (onRemove) {\n\t\tactions.push({\n\t\t\tid: 'remove',\n\t\t\tlabel: strings.remove,\n\t\t\ticon: <Trash2 className=\"size-3.5\" />,\n\t\t\tonClick: onRemove,\n\t\t});\n\t}\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<MapPin className=\"size-4\" />}\n\t\t\ttitle={titleByKind[kind]}\n\t\t\ttitleSuffix={\n\t\t\t\tisDefault ? <Badge variant=\"primary\">{strings.defaultBadge}</Badge> : null\n\t\t\t}\n\t\t\tactions={actions.length > 0 ? actions : undefined}\n\t\t\tclassName={cn('address-card--component w-full', className)}\n\t\t>\n\t\t\t<div className=\"space-y-0.5\">\n\t\t\t\t<Text weight=\"semibold\">{name}</Text>\n\t\t\t\t<Text>{line1}</Text>\n\t\t\t\t{!!line2 && <Text>{line2}</Text>}\n\t\t\t\t{!!cityLine && <Text>{cityLine}</Text>}\n\t\t\t\t<Text type=\"secondary\">{country}</Text>\n\t\t\t\t{!!phone && (\n\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-1.5 tabular-nums\">\n\t\t\t\t\t\t{phone}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nAddressCard.displayName = 'AddressCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface VoucherEntryStrings {\n\ttitle: string;\n\tinputLabel: string;\n\tplaceholder: string;\n\thelperText: string;\n\tcheck: string;\n\tremove: string;\n\tbalance: string;\n\tapplied: string;\n\tnotFound: string;\n}\n\nexport const defaultVoucherEntryStrings: VoucherEntryStrings = {\n\ttitle: 'Redeem a gift card',\n\tinputLabel: 'Gift card code',\n\tplaceholder: 'Enter gift card code',\n\thelperText: 'Apply one gift card or voucher to this order.',\n\tcheck: 'Check balance',\n\tremove: 'Remove',\n\tbalance: 'Available balance',\n\tapplied: 'Applied',\n\tnotFound: 'That gift card code is not valid.',\n};\n\nexport interface VoucherEntryCardProps {\n\tappliedCode?: string;\n\tbalance?: string;\n\terror?: string;\n\tloading?: boolean;\n\tonCheck?: (code: string) => void;\n\tonRemove?: () => void;\n\tclassName?: string;\n\tstrings?: StringsProp<VoucherEntryStrings>;\n}\n","/**\n * VoucherEntryCard — gift-card / voucher redemption entry.\n *\n * Empty state — leading gift icon input + check button, helper line surfacing\n * errors. Applied state — success-tinted row with check medallion, code,\n * balance amount, and a destructive remove icon.\n */\nimport {\n\ttype FormEvent,\n\tuseId,\n\tuseState } from 'react';\nimport { Check,\n\tGift,\n\tX } from 'lucide-react';\nimport { Badge } from '@/components/base/badge';\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards';\nimport { IconBadge,\n} from '@/components/base/display';\nimport { FormField } from '@/components/base/forms';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemFooter,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { Input } from '@/components/base/forms/fields';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\n\nimport { defaultVoucherEntryStrings, type VoucherEntryCardProps } from './types';\n\nimport { cn } from '@/lib/utils';\nconst normalizeCode = (value: string): string => value.toUpperCase();\n\nexport function VoucherEntryCard({\n\tappliedCode,\n\tbalance,\n\terror,\n\tloading,\n\tonCheck,\n\tonRemove,\n\tclassName,\n\tstrings: stringsProp,\n}: VoucherEntryCardProps) {\n\tconst strings = useStrings(defaultVoucherEntryStrings, stringsProp);\n\tconst inputId = useId();\n\tconst [code, setCode] = useState('');\n\tconst trimmedCode = code.trim();\n\tconst handleSubmit = (event: FormEvent<HTMLFormElement>) => {\n\t\tevent.preventDefault();\n\t\tif (!trimmedCode) return;\n\t\tonCheck?.(trimmedCode);\n\t};\n\n\tif (appliedCode) {\n\t\treturn (\n\t\t\t<SmartCard\n\t\t\t\ticon={<Gift className=\"size-4\" />}\n\t\t\t\ttitle={strings.title}\n\t\t\t\tclassName={cn('voucher-entry--component w-full', className)}\n\t\t\t>\n\t\t\t\t<Item size=\"small\" variant=\"outline\" className=\"items-center gap-x-2.5 gap-y-1.5 border-success/30 bg-success/5\">\n\t\t\t\t\t<ItemMedia>\n\t\t\t\t\t\t<IconBadge icon={Check} tone=\"success\" size=\"default\" className=\"ring-1 ring-success/20\" />\n\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t<ItemContent className=\"min-w-0\">\n\t\t\t\t\t\t<div className=\"flex flex-wrap items-center gap-1.5\">\n\t\t\t\t\t\t\t<ItemTitle className=\"max-w-full font-mono tracking-wider\">{appliedCode}</ItemTitle>\n\t\t\t\t\t\t\t<Badge variant=\"success\" size=\"small\">{strings.applied}</Badge>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<ItemDescription clamp={1}>{strings.balance}</ItemDescription>\n\t\t\t\t\t</ItemContent>\n\t\t\t\t\t<ItemFooter className=\"border-t border-success/15 pt-1\">\n\t\t\t\t\t\t<span />\n\t\t\t\t\t\t<ItemActions className=\"shrink-0 gap-1.5\">\n\t\t\t\t\t\t\t{!!balance && (\n\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"semibold\" type=\"success\" className=\"tabular-nums shrink-0\">\n\t\t\t\t\t\t\t\t\t{balance}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!!onRemove && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\t\t\t\tonClick={onRemove}\n\t\t\t\t\t\t\t\t\taria-label={strings.remove}\n\t\t\t\t\t\t\t\t\tclassName=\"size-7 shrink-0 text-muted-foreground hover:text-destructive\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<X className=\"size-3.5\" />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t</ItemFooter>\n\t\t\t\t</Item>\n\t\t\t</SmartCard>\n\t\t);\n\t}\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<Gift className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\tclassName={cn('voucher-entry--component w-full', className)}\n\t\t>\n\t\t\t<form onSubmit={handleSubmit}>\n\t\t\t\t<FormField\n\t\t\t\t\tlabel={strings.inputLabel}\n\t\t\t\t\thtmlFor={inputId}\n\t\t\t\t\terror={error}\n\t\t\t\t\thint={error ? undefined : strings.helperText}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t<div className=\"min-w-48 flex-1\">\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tid={inputId}\n\t\t\t\t\t\t\t\tvalue={code}\n\t\t\t\t\t\t\t\tonChange={(e) => setCode(normalizeCode((e.target as HTMLInputElement).value))}\n\t\t\t\t\t\t\t\tplaceholder={strings.placeholder}\n\t\t\t\t\t\t\t\tstartIcon={Gift}\n\t\t\t\t\t\t\t\tautoCapitalize=\"characters\"\n\t\t\t\t\t\t\t\tspellCheck={false}\n\t\t\t\t\t\t\t\tclassName=\"font-mono\"\n\t\t\t\t\t\t\t\tinvalid={Boolean(error)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\t\tdisabled={!trimmedCode}\n\t\t\t\t\t\t\tclassName=\"shrink-0\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{strings.check}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</FormField>\n\t\t\t</form>\n\t\t</SmartCard>\n\t);\n}\n\nVoucherEntryCard.displayName = 'VoucherEntryCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface CartLineItem {\n\tid: string;\n\tname?: string;\n\tproductTitle?: string;\n\ttitle?: string;\n\tvariantTitle?: string;\n\tqty: number;\n\tprice: string;\n\timageUrl?: string;\n\timageSrc?: string;\n\tsrc?: string;\n\turl?: string;\n\timageAlt?: string;\n}\n\nexport interface CartSummaryStrings {\n\ttitle: string;\n\tsubtotal: string;\n\ttax: string;\n\tshipping: string;\n\tdiscount: string;\n\ttotal: string;\n\tcheckout: string;\n}\n\nexport const defaultCartSummaryStrings: CartSummaryStrings = {\n\ttitle: 'Cart',\n\tsubtotal: 'Subtotal',\n\ttax: 'Tax',\n\tshipping: 'Shipping',\n\tdiscount: 'Discount',\n\ttotal: 'Total',\n\tcheckout: 'Checkout',\n};\n\nexport interface CartSummaryCardProps {\n\titems: CartLineItem[];\n\tsubtotal?: string;\n\ttax?: string;\n\tshipping?: string;\n\tdiscount?: string;\n\ttotal: string;\n\tonCheckout?: () => void;\n\tclassName?: string;\n\tstrings?: StringsProp<CartSummaryStrings>;\n}\n","/**\n * CartSummaryCard — line-item list with optional subtotal / tax / shipping /\n * discount breakdown and a primary \"Checkout\" action. Items render through\n * `<ItemGroup>` for density consistency; the breakdown rows sit in a tight\n * summary block above the total. The discount value is shown as a signed\n * delta in success colour.\n */\nimport { ShoppingBag } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { useStrings } from '@/lib/strings';\n\nimport { defaultCartSummaryStrings, type CartLineItem, type CartSummaryCardProps } from './types';\n\nimport { cn } from '@/lib/utils';\nconst stripLeadingMinus = (value: string): string => value.replace(/^[\\s−-]+/, '');\n\nconst resolveCartLineTitle = (item: CartLineItem): string => {\n\treturn [item.productTitle, item.title, item.name].find((value) => !!value?.trim()) ?? item.id;\n};\n\nconst resolveCartLineImageSrc = (item: CartLineItem): string | undefined => {\n\treturn [item.imageUrl, item.imageSrc, item.src, item.url].find((value) => !!value?.trim());\n};\n\nconst getCartLinePlaceholderLabel = (title: string): string => {\n\tconst initials = title\n\t\t.trim()\n\t\t.split(/\\s+/)\n\t\t.map((part) => part[0])\n\t\t.join('')\n\t\t.slice(0, 2)\n\t\t.toUpperCase();\n\n\treturn initials || title.trim().slice(0, 2).toUpperCase();\n};\n\nfunction CartLineImagePlaceholder({ title }: { title: string }) {\n\treturn (\n\t\t<div\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName=\"flex size-full items-center justify-center rounded-[inherit] bg-muted text-xxs font-semibold text-muted-foreground ring-1 ring-border/60\"\n\t\t>\n\t\t\t{getCartLinePlaceholderLabel(title)}\n\t\t</div>\n\t);\n}\n\nexport function CartSummaryCard({\n\titems,\n\tsubtotal,\n\ttax,\n\tshipping,\n\tdiscount,\n\ttotal,\n\tonCheckout,\n\tclassName,\n\tstrings: stringsProp,\n}: CartSummaryCardProps) {\n\tconst strings = useStrings(defaultCartSummaryStrings, stringsProp);\n\tconst hasBreakdown = !!(subtotal || tax || shipping || discount);\n\n\treturn (\n\t\t<SmartCard icon={<ShoppingBag className=\"size-4\" />} title={strings.title} className={cn('cart-summary--component w-full', className)}>\n\t\t\t<ItemGroup>\n\t\t\t\t{items.map((it) => {\n\t\t\t\t\tconst title = resolveCartLineTitle(it);\n\t\t\t\t\tconst imageSrc = resolveCartLineImageSrc(it);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Item key={it.id} className=\"cart-summary--item\">\n\t\t\t\t\t\t\t<ItemMedia variant=\"image\" className=\"cart-summary--item-media\">\n\t\t\t\t\t\t\t\t{imageSrc ? (\n\t\t\t\t\t\t\t\t\t<img src={imageSrc} alt={it.imageAlt ?? title} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<CartLineImagePlaceholder title={title} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t\t<ItemContent className=\"cart-summary--item-content\">\n\t\t\t\t\t\t\t\t<ItemTitle>{title}</ItemTitle>\n\t\t\t\t\t\t\t\t{!!it.variantTitle && (\n\t\t\t\t\t\t\t\t\t<ItemDescription clamp={1}>{it.variantTitle}</ItemDescription>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t\t<ItemActions className=\"cart-summary--item-actions\">\n\t\t\t\t\t\t\t\t<div className=\"flex shrink-0 flex-col items-end gap-0.5\">\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"tabular-nums\">x{it.qty}</Text>\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\" className=\"tabular-nums\">{it.price}</Text>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t\t</Item>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ItemGroup>\n\n\t\t\t{!!hasBreakdown && (\n\t\t\t\t<div className=\"mt-3 space-y-1.5 rounded-lg bg-muted/30 px-3 py-2.5\">\n\t\t\t\t\t{!!subtotal && (\n\t\t\t\t\t\t<InlineStat label={strings.subtotal} value={subtotal} mono valueClassName=\"text-xs font-medium\" labelClassName=\"text-xs\" />\n\t\t\t\t\t)}\n\t\t\t\t\t{!!tax && (\n\t\t\t\t\t\t<InlineStat label={strings.tax} value={tax} mono valueClassName=\"text-xs font-medium\" labelClassName=\"text-xs\" />\n\t\t\t\t\t)}\n\t\t\t\t\t{!!shipping && (\n\t\t\t\t\t\t<InlineStat label={strings.shipping} value={shipping} mono valueClassName=\"text-xs font-medium\" labelClassName=\"text-xs\" />\n\t\t\t\t\t)}\n\t\t\t\t\t{!!discount && (\n\t\t\t\t\t\t<InlineStat\n\t\t\t\t\t\t\tlabel={strings.discount}\n\t\t\t\t\t\t\tvalue={`−${stripLeadingMinus(discount)}`}\n\t\t\t\t\t\t\tmono\n\t\t\t\t\t\t\tlabelClassName=\"text-xs\"\n\t\t\t\t\t\t\tvalueClassName=\"text-xs font-semibold text-success\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<Separator className=\"my-3\" />\n\n\t\t\t<InlineStat\n\t\t\t\tlabel={strings.total}\n\t\t\t\tvalue={total}\n\t\t\t\tmono\n\t\t\t\tlabelClassName=\"text-sm font-semibold\"\n\t\t\t\tvalueClassName=\"text-lg font-bold\"\n\t\t\t/>\n\n\t\t\t{!!onCheckout && (\n\t\t\t\t<Button onClick={onCheckout} fullWidth className=\"mt-4\">{strings.checkout}</Button>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nCartSummaryCard.displayName = 'CartSummaryCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface CouponInputStrings {\n\ttitle: string;\n\tplaceholder: string;\n\tapply: string;\n\tremove: string;\n\tapplied: string;\n\tinvalid: string;\n}\n\nexport const defaultCouponInputStrings: CouponInputStrings = {\n\ttitle: 'Have a code?',\n\tplaceholder: 'Enter coupon code',\n\tapply: 'Apply',\n\tremove: 'Remove',\n\tapplied: 'Applied',\n\tinvalid: 'That code is not valid',\n};\n\nexport interface CouponInputCardProps {\n\tappliedCode?: string;\n\tappliedDiscount?: string;\n\terror?: string;\n\tonApply?: (code: string) => void;\n\tonRemove?: () => void;\n\tloading?: boolean;\n\tclassName?: string;\n\tstrings?: StringsProp<CouponInputStrings>;\n}\n","/**\n * CouponInputCard — promo / coupon code entry with an applied state and\n * inline error messaging.\n *\n * Empty state — leading-icon input + apply button, helper line for\n * placeholders or errors. Applied state — success-tinted row with a check\n * medallion, monospaced code, discount delta, and a destructive remove icon.\n */\nimport {\n\tuseState } from 'react';\nimport { Check,\n\tSparkles,\n\tTicketPercent,\n\tX } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Button } from '@/components/base/buttons';\nimport { IconBadge,\n} from '@/components/base/display';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemFooter,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography';\nimport { Input } from '@/components/base/forms/fields';\nimport { useStrings } from '@/lib/strings';\n\nimport { defaultCouponInputStrings, type CouponInputCardProps } from './types';\n\nimport { cn } from '@/lib/utils';\nconst stripLeadingMinus = (value: string): string => value.replace(/^[\\s−-]+/, '');\nconst normalizeCode = (value: string): string => value.toUpperCase();\n\nexport function CouponInputCard({\n\tappliedCode,\n\tappliedDiscount,\n\terror,\n\tonApply,\n\tonRemove,\n\tloading,\n\tclassName,\n\tstrings: stringsProp,\n}: CouponInputCardProps) {\n\tconst strings = useStrings(defaultCouponInputStrings, stringsProp);\n\tconst [code, setCode] = useState('');\n\tconst trimmedCode = code.trim();\n\n\tif (appliedCode) {\n\t\treturn (\n\t\t\t<SmartCard icon={<TicketPercent className=\"size-4\" />} title={strings.title} className={cn('coupon-input--component w-full', className)}>\n\t\t\t\t<Item size=\"small\" variant=\"muted\" className=\"items-center gap-x-2.5 gap-y-1.5 border border-success/30 bg-success/8\">\n\t\t\t\t\t<ItemMedia>\n\t\t\t\t\t\t<IconBadge icon={Check} tone=\"success\" size=\"default\" className=\"ring-1 ring-success/20\" />\n\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t<ItemContent className=\"min-w-0\">\n\t\t\t\t\t\t<ItemTitle className=\"max-w-full font-mono tracking-wider\">{appliedCode}</ItemTitle>\n\t\t\t\t\t\t<ItemDescription className=\"uppercase tracking-wide\" clamp={1}>\n\t\t\t\t\t\t\t{strings.applied}\n\t\t\t\t\t\t</ItemDescription>\n\t\t\t\t\t</ItemContent>\n\t\t\t\t\t<ItemFooter className=\"border-t border-success/15 pt-1\">\n\t\t\t\t\t\t<span />\n\t\t\t\t\t\t<ItemActions className=\"shrink-0 gap-1.5\">\n\t\t\t\t\t\t\t{!!appliedDiscount && (\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\t\t\ttype=\"success\"\n\t\t\t\t\t\t\t\t\tclassName=\"tabular-nums shrink-0\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t−{stripLeadingMinus(appliedDiscount)}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!!onRemove && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\t\t\t\tonClick={onRemove}\n\t\t\t\t\t\t\t\t\taria-label={strings.remove}\n\t\t\t\t\t\t\t\t\tclassName=\"size-7 shrink-0 text-muted-foreground hover:text-destructive\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<X className=\"size-3.5\" />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t</ItemFooter>\n\t\t\t\t</Item>\n\t\t\t</SmartCard>\n\t\t);\n\t}\n\n\treturn (\n\t\t<SmartCard icon={<TicketPercent className=\"size-4\" />} title={strings.title} className={cn('coupon-input--component w-full', className)}>\n\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t<div className=\"min-w-44 flex-1\">\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tvalue={code}\n\t\t\t\t\t\t\tonChange={(e) => setCode(normalizeCode((e.target as HTMLInputElement).value))}\n\t\t\t\t\t\t\tplaceholder={strings.placeholder}\n\t\t\t\t\t\t\tstartIcon={Sparkles}\n\t\t\t\t\t\t\tautoCapitalize=\"characters\"\n\t\t\t\t\t\t\tspellCheck={false}\n\t\t\t\t\t\t\tclassName=\"font-mono\"\n\t\t\t\t\t\t\tinvalid={Boolean(error)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\tonClick={() => onApply?.(trimmedCode)}\n\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\tdisabled={!trimmedCode}\n\t\t\t\t\t\tclassName=\"shrink-0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{strings.apply}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t\t{!!error && (\n\t\t\t\t\t<Text size=\"xs\" type=\"error\">{error || strings.invalid}</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nCouponInputCard.displayName = 'CouponInputCard';\n","import type { ComposedBadgeVariant } from '@/components/base/badge/badge';\nimport type { StringsProp } from '@/lib/strings';\n\nexport type OrderStatusKind = 'pending' | 'paid' | 'fulfilled' | 'shipped' | 'delivered' | 'cancelled';\n\nexport interface OrderStatusEvent {\n\tlabel: string;\n\ttimestamp?: string;\n\tcomplete: boolean;\n}\n\nexport interface OrderStatusStrings {\n\ttitle: string;\n\tstatusLabel: string;\n\teta: string;\n\tlatestEvent: string;\n\tcurrentStep: string;\n}\n\nexport const defaultOrderStatusStrings: OrderStatusStrings = {\n\ttitle: 'Order status',\n\tstatusLabel: 'Current status',\n\teta: 'ETA',\n\tlatestEvent: 'Latest event',\n\tcurrentStep: 'Current step',\n};\n\nexport interface OrderStatusCardProps {\n\torderNumber: string;\n\tstatus: OrderStatusKind;\n\tstatusVariant?: ComposedBadgeVariant;\n\tevents: OrderStatusEvent[];\n\tcurrentEta?: string;\n\tclassName?: string;\n\tstrings?: StringsProp<OrderStatusStrings>;\n}\n","/**\n * OrderStatusCard — order number + status badge + readable event timeline.\n * Ideal for dashboards / receipt summaries. Strings overridable for i18n.\n */\nimport { CalendarClock, Check, Circle, Package } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport { Badge } from '@/components/base/badge';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultOrderStatusStrings,\n\ttype OrderStatusCardProps,\n\ttype OrderStatusKind,\n} from './types';\n\nconst VARIANT_BY_STATUS: Record<OrderStatusKind, 'primary' | 'success' | 'warning' | 'error' | 'info' | 'secondary'> = {\n\tpending: 'warning',\n\tpaid: 'info',\n\tfulfilled: 'info',\n\tshipped: 'primary',\n\tdelivered: 'success',\n\tcancelled: 'error',\n};\n\nexport function OrderStatusCard({\n\torderNumber,\n\tstatus,\n\tstatusVariant,\n\tevents,\n\tcurrentEta,\n\tclassName,\n\tstrings: stringsProp,\n}: OrderStatusCardProps) {\n\tconst strings = useStrings(defaultOrderStatusStrings, stringsProp);\n\tconst variant = statusVariant ?? VARIANT_BY_STATUS[status];\n\tconst lastCompleteIdx = events.reduce((acc, e, i) => (e.complete ? i : acc), -1);\n\tconst latestEvent = events[lastCompleteIdx] ?? events[0];\n\tconst nextEvent = events.find((event) => !event.complete);\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<Package className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\ttitleSuffix={<Badge variant={variant} className=\"capitalize\">{status}</Badge>}\n\t\t\tdescription={`#${orderNumber}`}\n\t\t\tclassName={cn('order-status--component w-full', className)}\n\t\t>\n\t\t\t<div className=\"rounded-lg border border-border bg-muted/20 p-3\">\n\t\t\t\t<div className=\"grid gap-3 sm:grid-cols-3\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<Text size=\"xxs\" type=\"secondary\" className=\"uppercase tracking-wide\">\n\t\t\t\t\t\t\t{strings.statusLabel}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<Text weight=\"semibold\" className=\"mt-0.5 capitalize\">\n\t\t\t\t\t\t\t{status}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t{!!latestEvent && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Text size=\"xxs\" type=\"secondary\" className=\"uppercase tracking-wide\">\n\t\t\t\t\t\t\t\t{latestEvent.complete ? strings.latestEvent : strings.currentStep}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text weight=\"semibold\" className=\"mt-0.5\">\n\t\t\t\t\t\t\t\t{latestEvent.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!currentEta && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Text size=\"xxs\" type=\"secondary\" className=\"uppercase tracking-wide\">\n\t\t\t\t\t\t\t\t{strings.eta}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text weight=\"semibold\" className=\"mt-0.5 tabular-nums\">\n\t\t\t\t\t\t\t\t{currentEta}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{events.length > 0 && (\n\t\t\t\t<ol className=\"mt-4\">\n\t\t\t\t\t{events.map((event, index) => {\n\t\t\t\t\t\tconst isLast = index === events.length - 1;\n\t\t\t\t\t\tconst isCurrent = nextEvent ? event === nextEvent : index === lastCompleteIdx;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li key={`${event.label}-${index}`} className=\"relative flex gap-3\">\n\t\t\t\t\t\t\t\t<div className=\"flex flex-col items-center\">\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'flex size-6 shrink-0 items-center justify-center rounded-full border',\n\t\t\t\t\t\t\t\t\t\t\tevent.complete\n\t\t\t\t\t\t\t\t\t\t\t\t? 'border-success bg-success text-success-foreground'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'border-border bg-card text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\t\tisCurrent && !event.complete && 'border-primary text-primary ring-4 ring-primary/10',\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{event.complete ? (\n\t\t\t\t\t\t\t\t\t\t\t<Check className=\"size-3.5\" strokeWidth={2.5} />\n\t\t\t\t\t\t\t\t\t\t) : isCurrent ? (\n\t\t\t\t\t\t\t\t\t\t\t<CalendarClock className=\"size-3.5\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<Circle className=\"size-3\" />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{!isLast && (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'min-h-6 w-px flex-1',\n\t\t\t\t\t\t\t\t\t\t\t\tindex < lastCompleteIdx ? 'bg-success' : 'bg-border',\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className={cn('min-w-0 flex-1 pb-4', isLast && 'pb-0')}>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tweight={event.complete || isCurrent ? 'semibold' : 'medium'}\n\t\t\t\t\t\t\t\t\t\tclassName={cn(!event.complete && !isCurrent && 'text-muted-foreground')}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{event.label}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t{!!event.timestamp && (\n\t\t\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-0.5 tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t\t{event.timestamp}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</ol>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nOrderStatusCard.displayName = 'OrderStatusCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport type PaymentBrand = 'visa' | 'mastercard' | 'amex' | 'paypal' | 'applepay' | 'googlepay' | 'unknown';\n\nexport interface PaymentMethodStrings {\n\ttitle: string;\n\tdefault: string;\n\tcardHolder: string;\n\texpires: string;\n\tchange: string;\n}\n\nexport const defaultPaymentMethodStrings: PaymentMethodStrings = {\n\ttitle: 'Payment method',\n\tdefault: 'Default',\n\tcardHolder: 'Card holder',\n\texpires: 'Expires',\n\tchange: 'Change',\n};\n\nexport interface PaymentMethodCardProps {\n\tbrand: PaymentBrand;\n\tlast4: string;\n\texpiry?: string; // MM/YY\n\tholderName?: string;\n\tisDefault?: boolean;\n\tonChange?: () => void;\n\tclassName?: string;\n\tstrings?: StringsProp<PaymentMethodStrings>;\n}\n","/**\n * PaymentMethodCard — saved-card surface. The hero block is rendered as a\n * mini credit-card mock with real card proportions, brand chip top-right, masked\n * PAN center, and holder + expiry on the bottom row. Trailing actions sit\n * in a footer below the mock so the hierarchy is \"card → details → CTA\".\n */\nimport { CreditCard } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { Badge } from '@/components/base/badge';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultPaymentMethodStrings, type PaymentBrand, type PaymentMethodCardProps } from './types';\n\nconst BRAND_LABEL: Record<PaymentBrand, string> = {\n\tvisa: 'VISA',\n\tmastercard: 'MasterCard',\n\tamex: 'AMEX',\n\tpaypal: 'PayPal',\n\tapplepay: 'Apple Pay',\n\tgooglepay: 'Google Pay',\n\tunknown: 'Card',\n};\n\nconst BRAND_GRADIENT: Record<PaymentBrand, string> = {\n\tvisa: 'from-info via-primary to-info',\n\tmastercard: 'from-warning via-destructive to-destructive',\n\tamex: 'from-info via-primary to-info',\n\tpaypal: 'from-info via-primary to-info',\n\tapplepay: 'from-foreground via-muted-foreground to-foreground',\n\tgooglepay: 'from-success via-primary to-success',\n\tunknown: 'from-foreground via-muted-foreground to-foreground',\n};\n\nexport function PaymentMethodCard({\n\tbrand,\n\tlast4,\n\texpiry,\n\tholderName,\n\tisDefault,\n\tonChange,\n\tclassName,\n\tstrings: stringsProp,\n}: PaymentMethodCardProps) {\n\tconst strings = useStrings(defaultPaymentMethodStrings, stringsProp);\n\tconst brandLabel = BRAND_LABEL[brand];\n\tconst gradient = BRAND_GRADIENT[brand];\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<CreditCard className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\ttitleSuffix={isDefault ? <Badge variant=\"primary\">{strings.default}</Badge> : null}\n\t\t\theaderAction={onChange ? (\n\t\t\t\t<Button buttonStyle=\"ghost\" variant=\"secondary\" onClick={onChange}>\n\t\t\t\t\t{strings.change}\n\t\t\t\t</Button>\n\t\t\t) : undefined}\n\t\t\tclassName={cn('payment-method--component w-full', className)}\n\t\t>\n\t\t\t{/* Mini card mock */}\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'relative mx-auto flex aspect-[85.6/53.98] w-full max-w-[22rem] flex-col justify-between overflow-hidden rounded-lg bg-gradient-to-br p-3.5 text-inverse-foreground shadow-sm ring-1 ring-inverse-border',\n\t\t\t\t\tgradient,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"relative flex items-start justify-between\">\n\t\t\t\t\t<div className=\"flex size-7 items-center justify-center rounded-md bg-gradient-to-br from-warning/80 to-warning shadow-sm\">\n\t\t\t\t\t\t<div className=\"size-4 rounded-sm border border-warning-foreground/25 bg-warning-foreground/15\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Text\n\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\tweight=\"bold\"\n\t\t\t\t\t\tclassName=\"rounded bg-inverse-surface px-2 py-0.5 tracking-[0.15em] text-inverse-foreground backdrop-blur-sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{brandLabel}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t<Text\n\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\tsize=\"base\"\n\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\tclassName=\"block font-mono tracking-[0.25em] text-inverse-foreground\"\n\t\t\t\t\t>\n\t\t\t\t\t\t•••• •••• •••• {last4}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"relative flex items-end justify-between gap-3\">\n\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t{!!holderName && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text size=\"xxs\" className=\"block uppercase tracking-wider text-inverse-subtle\">{strings.cardHolder}</Text>\n\t\t\t\t\t\t\t\t<Text weight=\"semibold\" className=\"truncate text-inverse-foreground\">{holderName}</Text>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{!!expiry && (\n\t\t\t\t\t\t<div className=\"text-right shrink-0\">\n\t\t\t\t\t\t\t<Text size=\"xxs\" className=\"block uppercase tracking-wider text-inverse-subtle\">{strings.expires}</Text>\n\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\" className=\"tabular-nums text-inverse-foreground\">{expiry}</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</SmartCard>\n\t);\n}\n\nPaymentMethodCard.displayName = 'PaymentMethodCard';\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/composed/commerce/upcoming-booking/upcoming-booking.tsx","../../../../src/components/composed/commerce/loyalty-points/types.ts","../../../../src/components/composed/commerce/loyalty-points/loyalty-points.tsx","../../../../src/components/composed/commerce/discount-stack/types.ts","../../../../src/components/composed/commerce/discount-stack/discount-stack.tsx","../../../../src/components/composed/commerce/shipment-tracking/shipment-tracking.tsx","../../../../src/components/composed/commerce/tax-breakdown/types.ts","../../../../src/components/composed/commerce/tax-breakdown/tax-breakdown.tsx","../../../../src/components/composed/commerce/subscription-summary/types.ts","../../../../src/components/composed/commerce/subscription-summary/subscription-summary.tsx","../../../../src/components/composed/commerce/refund-status/types.ts","../../../../src/components/composed/commerce/refund-status/refund-status.tsx","../../../../src/components/composed/commerce/address-card/types.ts","../../../../src/components/composed/commerce/address-card/address-card.tsx","../../../../src/components/composed/commerce/voucher-entry/types.ts","../../../../src/components/composed/commerce/voucher-entry/voucher-entry.tsx","../../../../src/components/composed/commerce/cart-summary/types.ts","../../../../src/components/composed/commerce/cart-summary/cart-summary.tsx","../../../../src/components/composed/commerce/coupon-input/types.ts","../../../../src/components/composed/commerce/coupon-input/coupon-input.tsx","../../../../src/components/composed/commerce/order-status/types.ts","../../../../src/components/composed/commerce/order-status/order-status.tsx","../../../../src/components/composed/commerce/payment-method/types.ts","../../../../src/components/composed/commerce/payment-method/payment-method.tsx"],"sourcesContent":["/**\n * UpcomingBookingRow — compact booking list. Each row shows a `DateBlock`\n * (weekday / day / month / time) on the left, service + customer in the\n * middle, and trailing amount. Locale and date-tone are configurable.\n *\n * Time is placed BELOW the date block by default (matches the date block\n * vertical rhythm); pass `timePlacement=\"inline-trailing\"` to use a\n * separate trailing time column.\n */\nimport { Text } from '@/components/typography/text';\nimport { DateBlock } from '@/components/base/display/date-block';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\n\nimport type { BookingEntry, UpcomingBookingRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nfunction resolveDate(entry: BookingEntry): Date | string | number | null {\n\tif (entry.date != null) return entry.date;\n\tif (entry.day && entry.month) {\n\t\tconst year = new Date().getFullYear();\n\t\tconst synth = new Date(`${entry.month} ${entry.day}, ${year}`);\n\t\tif (!Number.isNaN(synth.getTime())) return synth;\n\t}\n\treturn null;\n}\n\nexport function UpcomingBookingRow({\n\tbookings,\n\tclassName,\n\tlocale,\n\tdateTone = 'inverse',\n\ttimePlacement = 'below',\n}: UpcomingBookingRowProps) {\n\treturn (\n\t\t<ItemGroup className={cn('upcoming-booking--component w-full gap-2', className)}>\n\t\t\t{bookings.map((b, idx) => {\n\t\t\t\tconst dateInput = resolveDate(b);\n\t\t\t\treturn (\n\t\t\t\t\t<Item key={b.id ?? `${b.service}-${b.time}-${idx}`} className=\"items-center\">\n\t\t\t\t\t\t{!!dateInput && (\n\t\t\t\t\t\t\t<ItemMedia>\n\t\t\t\t\t\t\t\t<DateBlock\n\t\t\t\t\t\t\t\t\tdate={dateInput}\n\t\t\t\t\t\t\t\t\ttime={timePlacement === 'below' ? b.time : undefined}\n\t\t\t\t\t\t\t\t\ttone={dateTone}\n\t\t\t\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\t\t\t\ttimePlacement=\"below\"\n\t\t\t\t\t\t\t\t\tlayout=\"stacked\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<ItemContent className=\"min-w-0 sm:min-w-48\">\n\t\t\t\t\t\t\t<ItemTitle>{b.service}</ItemTitle>\n\t\t\t\t\t\t\t<ItemDescription clamp={1}>{b.customer}</ItemDescription>\n\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t<ItemActions className=\"ml-auto shrink-0 flex-wrap justify-end\">\n\t\t\t\t\t\t\t{timePlacement === 'inline-trailing' && (\n\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n\t\t\t\t\t\t\t\t\t{b.time}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Text weight=\"semibold\" className=\"shrink-0 tabular-nums\">\n\t\t\t\t\t\t\t\t{b.amount}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t</Item>\n\t\t\t\t);\n\t\t\t})}\n\t\t</ItemGroup>\n\t);\n}\n\nUpcomingBookingRow.displayName = 'UpcomingBookingRow';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface LoyaltyHistoryEntry {\n label: string;\n points: string;\n date: string;\n positive: boolean;\n}\n\nexport interface LoyaltyPointsStrings {\n balanceLabel: string;\n pointsAvailable: string;\n redeem: string;\n}\n\nexport const defaultLoyaltyPointsStrings: LoyaltyPointsStrings = {\n balanceLabel: 'Loyalty Balance',\n pointsAvailable: 'points available',\n redeem: 'Redeem Points',\n};\n\nexport interface LoyaltyPointsCardProps {\n balance: number | string;\n tier?: string;\n tierVariant?: string;\n history?: LoyaltyHistoryEntry[];\n /** @deprecated Use `strings.redeem`. */\n redeemLabel?: string;\n onRedeem?: () => void;\n className?: string;\n strings?: StringsProp<LoyaltyPointsStrings>;\n}\n","/**\n * LoyaltyPointsCard — current balance, tier badge, recent history rows\n * (label / date / signed-points), and a redemption CTA. Strings overridable\n * for i18n.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport Heading from '@/components/typography/heading';\nimport { Text } from '@/components/typography/text';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemGroup,\n\tItemTitle,\n} from '@/components/base/item';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\nimport { Gift, Trophy } from 'lucide-react';\n\nimport { defaultLoyaltyPointsStrings, type LoyaltyPointsCardProps } from './types';\n\nexport function LoyaltyPointsCard({\n\tbalance,\n\ttier = 'Gold Tier',\n\ttierVariant: _tierVariant,\n\thistory = [],\n\tredeemLabel,\n\tonRedeem,\n\tclassName,\n\tstrings: stringsProp,\n}: LoyaltyPointsCardProps) {\n\tconst compatibilityStrings = useStrings(\n\t\tdefaultLoyaltyPointsStrings,\n\t\tredeemLabel !== undefined ? { redeem: redeemLabel } : undefined,\n\t);\n\tconst strings = useStrings(compatibilityStrings, stringsProp);\n\treturn (\n\t\t<SmartCard className={cn('loyalty-points--component w-full', className)}>\n\t\t\t<InlineStat\n\t\t\t\tlabel={strings.balanceLabel}\n\t\t\t\tvalue={\n\t\t\t\t\t<Badge variant=\"warning\">\n\t\t\t\t\t\t<Trophy className=\"mr-1 inline size-3\" />\n\t\t\t\t\t\t{tier}\n\t\t\t\t\t</Badge>\n\t\t\t\t}\n\t\t\t\tlabelClassName=\"text-xs font-medium uppercase tracking-wider text-muted-foreground\"\n\t\t\t/>\n\n\t\t\t<Heading tag=\"h3\" className=\"text-lg tabular-nums tracking-tight\">\n\t\t\t\t{typeof balance === 'number' ? balance.toLocaleString() : balance}\n\t\t\t</Heading>\n\t\t\t<Text size=\"xs\" type=\"secondary\">\n\t\t\t\t{strings.pointsAvailable}\n\t\t\t</Text>\n\n\t\t\t<Separator className=\"my-4\" />\n\n\t\t\t<ItemGroup>\n\t\t\t\t{history.map((entry) => (\n\t\t\t\t\t<Item key={entry.date + entry.label} size=\"small\">\n\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t<ItemTitle bold={false}>{entry.label}</ItemTitle>\n\t\t\t\t\t\t\t<ItemDescription clamp={1}>{entry.date}</ItemDescription>\n\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t<ItemActions>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'tabular-nums',\n\t\t\t\t\t\t\t\t\tentry.positive ? 'text-success' : 'text-destructive',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{entry.points}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t</Item>\n\t\t\t\t))}\n\t\t\t</ItemGroup>\n\n\t\t\t<Button\n\t\t\t\tvariant=\"dark\"\n\t\t\t\tclassName=\"mt-5 w-full rounded-full\"\n\t\t\t\tonClick={onRedeem}\n\t\t\t>\n\t\t\t\t<Gift className=\"mr-1.5 size-3.5\" />\n\t\t\t\t{strings.redeem}\n\t\t\t</Button>\n\t\t</SmartCard>\n\t);\n}\n\nLoyaltyPointsCard.displayName = 'LoyaltyPointsCard';\n","import type { ComposedBadgeVariant as BadgeVariant } from '@/components/base/badge/badge';\nimport type { StringsProp } from '@/lib/strings';\n\nexport interface Discount {\n type: string;\n label: string;\n amount: string;\n badge: BadgeVariant;\n}\n\nexport interface DiscountStackStrings {\n title: string;\n totalSavings: string;\n}\n\nexport const defaultDiscountStackStrings: DiscountStackStrings = {\n title: 'Applied Discounts',\n totalSavings: 'Total Savings',\n};\n\nexport interface DiscountStackPreviewProps {\n discounts: Discount[];\n totalSavings: string;\n className?: string;\n strings?: StringsProp<DiscountStackStrings>;\n}\n","/**\n * DiscountStackPreview — list of applied discounts (type chip + label +\n * amount) with a total-savings summary line. Strings overridable for i18n.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport Heading from '@/components/typography/heading';\nimport { Text } from '@/components/typography/text';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { useStrings } from '@/lib/strings';\n\nimport { defaultDiscountStackStrings, type DiscountStackPreviewProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function DiscountStackPreview({\n\tdiscounts,\n\ttotalSavings,\n\tclassName,\n\tstrings: stringsProp,\n}: DiscountStackPreviewProps) {\n\tconst strings = useStrings(defaultDiscountStackStrings, stringsProp);\n\treturn (\n\t\t<SmartCard title={strings.title} className={cn('discount-stack--component w-full', className)}>\n\t\t\t<ItemGroup className=\"mt-4\">\n\t\t\t\t{discounts.map((d) => (\n\t\t\t\t\t<Item key={d.type} size=\"small\">\n\t\t\t\t\t\t<ItemMedia>\n\t\t\t\t\t\t\t<Badge variant={d.badge} className=\"w-16 justify-center text-xs\">\n\t\t\t\t\t\t\t\t{d.type}\n\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t<ItemTitle bold={false}>{d.label}</ItemTitle>\n\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t<ItemActions>\n\t\t\t\t\t\t\t<Text weight=\"semibold\" className=\"tabular-nums text-success\">\n\t\t\t\t\t\t\t\t{d.amount}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t</Item>\n\t\t\t\t))}\n\t\t\t</ItemGroup>\n\n\t\t\t<Separator className=\"my-4\" />\n\n\t\t\t<InlineStat\n\t\t\t\tlabel={strings.totalSavings}\n\t\t\t\tvalue={\n\t\t\t\t\t<Heading tag=\"h4\" className=\"text-base tabular-nums tracking-tight text-success border-none pb-0\">\n\t\t\t\t\t\t{totalSavings}\n\t\t\t\t\t</Heading>\n\t\t\t\t}\n\t\t\t\tlabelClassName=\"text-sm font-semibold\"\n\t\t\t/>\n\t\t</SmartCard>\n\t);\n}\n\nDiscountStackPreview.displayName = 'DiscountStackPreview';\n","/**\n * ShipmentTrackingCard — tracking number + carrier header, current status\n * with pulse dot, horizontal step progress bar, and an optional details row\n * grid (e.g. weight, ETA, recipient). All copy is consumer-supplied via\n * `steps[].label` / `details[].label`.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport { cn } from '@/lib/utils';\n\nimport type { ShipmentTrackingCardProps } from './types';\n\nexport function ShipmentTrackingCard({\n trackingNumber,\n carrier,\n status,\n steps,\n details = [],\n className,\n}: ShipmentTrackingCardProps) {\n return (\n <SmartCard className={cn('shipment-tracking--component w-full', className)}>\n <div className=\"flex items-center justify-between\">\n <Text size=\"xs\" weight=\"medium\" className=\"font-mono text-muted-foreground tracking-wide\">\n {trackingNumber}\n </Text>\n {!!carrier && <Badge variant=\"info\">{carrier}</Badge>}\n </div>\n\n <div className=\"mt-4 flex items-center gap-1.5\">\n <span className=\"h-2 w-2 rounded-full bg-success\" />\n <Text weight=\"semibold\">\n {status}\n </Text>\n </div>\n\n <div className=\"mt-5 flex items-center justify-between\">\n {steps.map((step, i) => (\n <div key={step.label} className=\"flex flex-1 flex-col items-center gap-2\">\n <div className=\"flex w-full items-center\">\n <div className={cn('size-3 shrink-0 rounded-full', step.done ? 'bg-success' : 'bg-muted')} />\n {i < steps.length - 1 && (\n <div className={cn('h-0.5 flex-1', step.done ? 'bg-success' : 'bg-muted')} />\n )}\n </div>\n <Text size=\"xs\" type=\"secondary\" className=\"text-center leading-tight\">\n {step.label}\n </Text>\n </div>\n ))}\n </div>\n\n {details.length > 0 && (\n <>\n <Separator className=\"my-4\" />\n <div className=\"space-y-2\">\n {details.map((detail) => (\n <InlineStat\n key={detail.label}\n label={detail.label}\n value={detail.value}\n labelClassName=\"text-xs\"\n valueClassName=\"text-sm font-medium truncate max-w-[180px]\"\n />\n ))}\n </div>\n </>\n )}\n </SmartCard>\n );\n}\n\nShipmentTrackingCard.displayName = 'ShipmentTrackingCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface TaxLineItem {\n\tid?: string;\n\tlabel: string;\n\trate?: string;\n\tamount: string;\n}\n\nexport interface TaxBreakdownStrings {\n\ttitle: string;\n\tsubtotal: string;\n\ttotalTax: string;\n\ttotal: string;\n}\n\nexport const defaultTaxBreakdownStrings: TaxBreakdownStrings = {\n\ttitle: 'Tax Breakdown',\n\tsubtotal: 'Subtotal',\n\ttotalTax: 'Total Tax',\n\ttotal: 'Total',\n};\n\nexport interface TaxBreakdownCardProps {\n\tsubtotal: string;\n\ttaxes: TaxLineItem[];\n\ttotalTax?: string;\n\ttotal: string;\n\tclassName?: string;\n\tstrings?: StringsProp<TaxBreakdownStrings>;\n}\n","/**\n * TaxBreakdownCard — itemised tax breakdown for an order or invoice. Shows a\n * subtotal, one row per tax line (with optional rate suffix), an optional\n * \"Total tax\" rollup, and a final total. Pairs with `CartSummaryCard` when\n * consumers need to expose VAT / regional tax detail. Strings overridable\n * for i18n.\n */\nimport { Receipt } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport { useStrings } from '@/lib/strings';\n\nimport { defaultTaxBreakdownStrings, type TaxBreakdownCardProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function TaxBreakdownCard({\n\tsubtotal,\n\ttaxes,\n\ttotalTax,\n\ttotal,\n\tclassName,\n\tstrings: stringsProp,\n}: TaxBreakdownCardProps) {\n\tconst strings = useStrings(defaultTaxBreakdownStrings, stringsProp);\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<Receipt className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\tclassName={cn('tax-breakdown--component w-full', className)}\n\t\t>\n\t\t\t<InlineStat\n\t\t\t\tlabel={strings.subtotal}\n\t\t\t\tvalue={subtotal}\n\t\t\t\tmono\n\t\t\t\tlabelClassName=\"text-sm\"\n\t\t\t\tvalueClassName=\"text-sm font-medium\"\n\t\t\t/>\n\n\t\t\t<div className=\"mt-3 space-y-1.5 rounded-lg border border-border/50 bg-muted/30 px-3 py-2.5\">\n\t\t\t\t{taxes.map((tax, i) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={tax.id ?? `${tax.label}-${i}`}\n\t\t\t\t\t\tclassName=\"flex items-baseline justify-between gap-3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex items-baseline gap-1.5 min-w-0\">\n\t\t\t\t\t\t\t<Text size=\"xs\" className=\"truncate\">{tax.label}</Text>\n\t\t\t\t\t\t\t{!!tax.rate && (\n\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"discrete\" className=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t{tax.rate}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"medium\" className=\"tabular-nums shrink-0\">\n\t\t\t\t\t\t\t{tax.amount}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t\t{!!totalTax && taxes.length > 1 && (\n\t\t\t\t\t<InlineStat\n\t\t\t\t\t\tlabel={strings.totalTax}\n\t\t\t\t\t\tvalue={totalTax}\n\t\t\t\t\t\tmono\n\t\t\t\t\t\tclassName=\"border-t border-border/50 pt-1.5 mt-0.5\"\n\t\t\t\t\t\tlabelClassName=\"text-xs font-medium\"\n\t\t\t\t\t\tvalueClassName=\"text-xs font-semibold\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<Separator className=\"my-3\" />\n\n\t\t\t<InlineStat\n\t\t\t\tlabel={strings.total}\n\t\t\t\tvalue={total}\n\t\t\t\tmono\n\t\t\t\tlabelClassName=\"text-sm font-semibold\"\n\t\t\t\tvalueClassName=\"text-base font-bold\"\n\t\t\t/>\n\t\t</SmartCard>\n\t);\n}\n\nTaxBreakdownCard.displayName = 'TaxBreakdownCard';\n","import type { LucideIcon } from 'lucide-react';\nimport type { StringsProp } from '@/lib/strings';\n\nexport interface SubscriptionPerk {\n\ticon?: LucideIcon;\n\tlabel: string;\n}\n\nexport interface SubscriptionSummaryStrings {\n\ttitle: string;\n\tplan: string;\n\tnextBilling: string;\n\tperks: string;\n\tmanage: string;\n\tupgrade: string;\n}\n\nexport const defaultSubscriptionSummaryStrings: SubscriptionSummaryStrings = {\n\ttitle: 'Subscription',\n\tplan: 'Plan',\n\tnextBilling: 'Next billing',\n\tperks: 'Included',\n\tmanage: 'Manage',\n\tupgrade: 'Upgrade',\n};\n\nexport interface SubscriptionSummaryCardProps {\n\tplanName: string;\n\tpriceLabel: string;\n\tcycleLabel: string;\n\tnextBillingDate: string;\n\tstatusLabel?: string;\n\tperks?: SubscriptionPerk[];\n\tonManage?: () => void;\n\tonUpgrade?: () => void;\n\tclassName?: string;\n\tstrings?: StringsProp<SubscriptionSummaryStrings>;\n}\n","/**\n * SubscriptionSummaryCard — at-a-glance subscription card with the active\n * plan name as the hero heading, an inline price + cycle, the next billing\n * date in a meta row, an optional perks list, and trailing\n * Manage / Upgrade actions. Strings overridable for i18n.\n */\nimport {\n\tCalendar,\n\tCheck,\n\tChevronRight,\n\tRepeat } from 'lucide-react';\nimport { Badge } from '@/components/base/badge';\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards';\nimport { IconBadge,\n} from '@/components/base/display';\nimport {\n\tItem,\n\tItemContent,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport Heading from '@/components/typography/heading';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\n\nimport {\n\tdefaultSubscriptionSummaryStrings,\n\ttype SubscriptionSummaryCardProps,\n} from './types';\n\nimport { cn } from '@/lib/utils';\nexport function SubscriptionSummaryCard({\n\tplanName,\n\tpriceLabel,\n\tcycleLabel,\n\tnextBillingDate,\n\tstatusLabel,\n\tperks = [],\n\tonManage,\n\tonUpgrade,\n\tclassName,\n\tstrings: stringsProp,\n}: SubscriptionSummaryCardProps) {\n\tconst strings = useStrings(defaultSubscriptionSummaryStrings, stringsProp);\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<Repeat className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\theaderEnd={statusLabel ? <Badge variant=\"success\">{statusLabel}</Badge> : null}\n\t\t\tclassName={cn('subscription-summary--component w-full', className)}\n\t\t>\n\t\t\t<div className=\"rounded-lg border border-border/60 bg-muted/30 p-4\">\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" weight=\"medium\" className=\"uppercase tracking-wider\">\n\t\t\t\t\t{strings.plan}\n\t\t\t\t</Text>\n\t\t\t\t<Heading tag=\"h3\" className=\"mt-1 text-base font-semibold tracking-tight border-none pb-0\">\n\t\t\t\t\t{planName}\n\t\t\t\t</Heading>\n\t\t\t\t<div className=\"mt-1 flex items-baseline gap-1\">\n\t\t\t\t\t<Text tag=\"span\" size=\"base\" weight=\"bold\" className=\"tabular-nums\">\n\t\t\t\t\t\t{priceLabel}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text type=\"secondary\">\n\t\t\t\t\t\t{cycleLabel}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"mt-3 flex items-center justify-between rounded-md bg-card px-1\">\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Calendar className=\"size-3.5 text-muted-foreground\" />\n\t\t\t\t\t<Text size=\"xs\" type=\"secondary\">{strings.nextBilling}</Text>\n\t\t\t\t</div>\n\t\t\t\t<Text size=\"xs\" weight=\"semibold\" className=\"tabular-nums\">{nextBillingDate}</Text>\n\t\t\t</div>\n\n\t\t\t{perks.length > 0 && (\n\t\t\t\t<div className=\"mt-4 space-y-2\">\n\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" weight=\"medium\" className=\"uppercase tracking-wider\">\n\t\t\t\t\t\t{strings.perks}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t{perks.map((perk, i) => {\n\t\t\t\t\t\t\tconst Icon = perk.icon ?? Check;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Item key={`${perk.label}-${i}`} size=\"small\">\n\t\t\t\t\t\t\t\t\t<ItemMedia>\n\t\t\t\t\t\t\t\t\t\t<IconBadge icon={Icon} tone=\"success\" size=\"small\" />\n\t\t\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t\t\t\t<ItemContent>\n\t\t\t\t\t\t\t\t\t\t<ItemTitle bold={false}>{perk.label}</ItemTitle>\n\t\t\t\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{(onManage || onUpgrade) && (\n\t\t\t\t<div className=\"mt-4 flex items-center gap-2\">\n\t\t\t\t\t{!!onManage && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tbuttonStyle=\"outline\"\n\t\t\t\t\t\t\tonClick={onManage}\n\t\t\t\t\t\t\tclassName=\"flex-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{strings.manage}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!onUpgrade && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={onUpgrade}\n\t\t\t\t\t\t\tclassName=\"flex-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{strings.upgrade}\n\t\t\t\t\t\t\t<ChevronRight className=\"ml-1 size-3.5\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nSubscriptionSummaryCard.displayName = 'SubscriptionSummaryCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport type RefundStage = 'requested' | 'approved' | 'processing' | 'completed';\n\nexport interface RefundStatusStrings {\n\ttitle: string;\n\trequested: string;\n\tapproved: string;\n\tprocessing: string;\n\tcompleted: string;\n\tamount: string;\n\treason: string;\n\teta: string;\n\tmethod: string;\n}\n\nexport const defaultRefundStatusStrings: RefundStatusStrings = {\n\ttitle: 'Refund Status',\n\trequested: 'Requested',\n\tapproved: 'Approved',\n\tprocessing: 'Processing',\n\tcompleted: 'Completed',\n\tamount: 'Refund amount',\n\treason: 'Reason',\n\teta: 'Expected by',\n\tmethod: 'Refund to',\n};\n\nexport interface RefundStatusCardProps {\n\tstage: RefundStage;\n\tamount: string;\n\treason?: string;\n\tmethod?: string;\n\teta?: string;\n\trequestedAt?: string;\n\tclassName?: string;\n\tstrings?: StringsProp<RefundStatusStrings>;\n}\n","/**\n * RefundStatusCard — refund-flow tracker. Shows the four canonical refund\n * stages (Requested → Approved → Processing → Completed) as a horizontal\n * progress bar, with refund amount as the lead figure and an optional reason\n * / method / ETA detail block. Strings overridable for i18n.\n */\nimport {\n\tCheck,\n\tRotateCcw } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport Heading from '@/components/typography/heading';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultRefundStatusStrings,\n\ttype RefundStage,\n\ttype RefundStatusCardProps,\n} from './types';\n\nconst STAGE_ORDER: RefundStage[] = ['requested', 'approved', 'processing', 'completed'];\n\nexport function RefundStatusCard({\n\tstage,\n\tamount,\n\treason,\n\tmethod,\n\teta,\n\trequestedAt,\n\tclassName,\n\tstrings: stringsProp,\n}: RefundStatusCardProps) {\n\tconst strings = useStrings(defaultRefundStatusStrings, stringsProp);\n\tconst currentIdx = STAGE_ORDER.indexOf(stage);\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<RotateCcw className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\tclassName={cn('refund-status--component w-full', className)}\n\t\t>\n\t\t\t<div className=\"rounded-lg bg-muted/40 px-4 py-3\">\n\t\t\t\t<Text size=\"xs\" type=\"secondary\" weight=\"medium\" className=\"uppercase tracking-wider\">\n\t\t\t\t\t{strings.amount}\n\t\t\t\t</Text>\n\t\t\t\t<Heading tag=\"h3\" className=\"text-lg tabular-nums tracking-tight\">\n\t\t\t\t\t{amount}\n\t\t\t\t</Heading>\n\t\t\t\t{!!requestedAt && (\n\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-0.5\">\n\t\t\t\t\t\t{strings.requested}: {requestedAt}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{/* Stages */}\n\t\t\t<div className=\"mt-4 flex items-center justify-between\">\n\t\t\t\t{STAGE_ORDER.map((s, i) => {\n\t\t\t\t\tconst done = i <= currentIdx;\n\t\t\t\t\tconst current = i === currentIdx;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div key={s} className=\"flex flex-1 flex-col items-center gap-1.5\">\n\t\t\t\t\t\t\t<div className=\"flex w-full items-center\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'relative flex size-5 shrink-0 items-center justify-center rounded-full',\n\t\t\t\t\t\t\t\t\t\tdone\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-success text-success-foreground'\n\t\t\t\t\t\t\t\t\t\t\t: 'border border-border bg-card text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\tcurrent && 'ring-2 ring-success/30 ring-offset-2 ring-offset-background',\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{done ? (\n\t\t\t\t\t\t\t\t\t\t<Check className=\"size-3\" />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"medium\" className=\"tabular-nums\">{i + 1}</Text>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{i < STAGE_ORDER.length - 1 && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'h-0.5 flex-1',\n\t\t\t\t\t\t\t\t\t\t\ti < currentIdx ? 'bg-success' : 'bg-border',\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\tweight={current ? 'semibold' : 'medium'}\n\t\t\t\t\t\t\t\ttype={done ? 'main' : 'secondary'}\n\t\t\t\t\t\t\t\tclassName=\"text-center leading-tight\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{strings[s]}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\n\t\t\t{(reason || method || eta) && (\n\t\t\t\t<>\n\t\t\t\t\t<Separator className=\"my-4\" />\n\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t{!!reason && (\n\t\t\t\t\t\t\t<InlineStat label={strings.reason} value={reason} className=\"items-start\" valueClassName=\"text-sm font-medium text-right\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!method && (\n\t\t\t\t\t\t\t<InlineStat label={strings.method} value={method} valueClassName=\"text-sm font-medium\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!eta && (\n\t\t\t\t\t\t\t<InlineStat label={strings.eta} value={eta} mono valueClassName=\"text-sm font-medium\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nRefundStatusCard.displayName = 'RefundStatusCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport type AddressKind = 'shipping' | 'billing' | 'pickup';\n\nexport interface AddressCardStrings {\n\tdefaultBadge: string;\n\tedit: string;\n\tremove: string;\n\tmakeDefault: string;\n\tshipping: string;\n\tbilling: string;\n\tpickup: string;\n}\n\nexport const defaultAddressCardStrings: AddressCardStrings = {\n\tdefaultBadge: 'Default',\n\tedit: 'Edit',\n\tremove: 'Remove',\n\tmakeDefault: 'Make default',\n\tshipping: 'Shipping address',\n\tbilling: 'Billing address',\n\tpickup: 'Pickup address',\n};\n\nexport interface AddressCardProps {\n\tkind?: AddressKind;\n\tname: string;\n\tline1: string;\n\tline2?: string;\n\tcity: string;\n\tregion?: string;\n\tpostalCode?: string;\n\tcountry: string;\n\tphone?: string;\n\tisDefault?: boolean;\n\tonEdit?: () => void;\n\tonRemove?: () => void;\n\tonMakeDefault?: () => void;\n\tclassName?: string;\n\tstrings?: StringsProp<AddressCardStrings>;\n}\n","/**\n * AddressCard — saved postal address surface. Title varies by `kind`\n * (shipping / billing / pickup); shows recipient name, address lines, phone,\n * and a \"Default\" badge when applicable.\n *\n * Edit / remove / make-default actions ride through SmartCard's actions menu\n * (the canonical card-actions affordance) instead of inline footer buttons —\n * keeps the surface consistent with every other card in the library.\n */\nimport { Edit2, MapPin, Star, Trash2 } from 'lucide-react';\nimport { Badge } from '@/components/base/badge';\nimport { SmartCard, type SmartCardAction } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\n\nimport {\n\tdefaultAddressCardStrings,\n\ttype AddressCardProps,\n\ttype AddressKind,\n} from './types';\n\nimport { cn } from '@/lib/utils';\nexport function AddressCard({\n\tkind = 'shipping',\n\tname,\n\tline1,\n\tline2,\n\tcity,\n\tregion,\n\tpostalCode,\n\tcountry,\n\tphone,\n\tisDefault = false,\n\tonEdit,\n\tonRemove,\n\tonMakeDefault,\n\tclassName,\n\tstrings: stringsProp,\n}: AddressCardProps) {\n\tconst strings = useStrings(defaultAddressCardStrings, stringsProp);\n\tconst titleByKind: Record<AddressKind, string> = {\n\t\tshipping: strings.shipping,\n\t\tbilling: strings.billing,\n\t\tpickup: strings.pickup,\n\t};\n\n\tconst cityLine = [city, region, postalCode].filter(Boolean).join(', ');\n\n\tconst actions: SmartCardAction[] = [];\n\tif (onEdit) {\n\t\tactions.push({\n\t\t\tid: 'edit',\n\t\t\tlabel: strings.edit,\n\t\t\ticon: <Edit2 className=\"size-3.5\" />,\n\t\t\tonClick: onEdit,\n\t\t});\n\t}\n\tif (onMakeDefault && !isDefault) {\n\t\tactions.push({\n\t\t\tid: 'make-default',\n\t\t\tlabel: strings.makeDefault,\n\t\t\ticon: <Star className=\"size-3.5\" />,\n\t\t\tonClick: onMakeDefault,\n\t\t});\n\t}\n\tif (onRemove) {\n\t\tactions.push({\n\t\t\tid: 'remove',\n\t\t\tlabel: strings.remove,\n\t\t\ticon: <Trash2 className=\"size-3.5\" />,\n\t\t\tonClick: onRemove,\n\t\t});\n\t}\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<MapPin className=\"size-4\" />}\n\t\t\ttitle={titleByKind[kind]}\n\t\t\ttitleSuffix={\n\t\t\t\tisDefault ? <Badge variant=\"primary\">{strings.defaultBadge}</Badge> : null\n\t\t\t}\n\t\t\tactions={actions.length > 0 ? actions : undefined}\n\t\t\tclassName={cn('address-card--component w-full', className)}\n\t\t>\n\t\t\t<div className=\"space-y-0.5\">\n\t\t\t\t<Text weight=\"semibold\">{name}</Text>\n\t\t\t\t<Text>{line1}</Text>\n\t\t\t\t{!!line2 && <Text>{line2}</Text>}\n\t\t\t\t{!!cityLine && <Text>{cityLine}</Text>}\n\t\t\t\t<Text type=\"secondary\">{country}</Text>\n\t\t\t\t{!!phone && (\n\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-1.5 tabular-nums\">\n\t\t\t\t\t\t{phone}\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nAddressCard.displayName = 'AddressCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface VoucherEntryStrings {\n\ttitle: string;\n\tinputLabel: string;\n\tplaceholder: string;\n\thelperText: string;\n\tcheck: string;\n\tremove: string;\n\tbalance: string;\n\tapplied: string;\n\tnotFound: string;\n}\n\nexport const defaultVoucherEntryStrings: VoucherEntryStrings = {\n\ttitle: 'Redeem a gift card',\n\tinputLabel: 'Gift card code',\n\tplaceholder: 'Enter gift card code',\n\thelperText: 'Apply one gift card or voucher to this order.',\n\tcheck: 'Check balance',\n\tremove: 'Remove',\n\tbalance: 'Available balance',\n\tapplied: 'Applied',\n\tnotFound: 'That gift card code is not valid.',\n};\n\nexport interface VoucherEntryCardProps {\n\tappliedCode?: string;\n\tbalance?: string;\n\terror?: string;\n\tloading?: boolean;\n\tonCheck?: (code: string) => void;\n\tonRemove?: () => void;\n\tclassName?: string;\n\tstrings?: StringsProp<VoucherEntryStrings>;\n}\n","/**\n * VoucherEntryCard — gift-card / voucher redemption entry.\n *\n * Empty state — leading gift icon input + check button, helper line surfacing\n * errors. Applied state — success-tinted row with check medallion, code,\n * balance amount, and a destructive remove icon.\n */\nimport {\n\ttype FormEvent,\n\tuseId,\n\tuseState } from 'react';\nimport { Check,\n\tGift,\n\tX } from 'lucide-react';\nimport { Badge } from '@/components/base/badge';\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards';\nimport { IconBadge,\n} from '@/components/base/display';\nimport { FormField } from '@/components/base/forms';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemFooter,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { Input } from '@/components/base/forms/fields';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\n\nimport { defaultVoucherEntryStrings, type VoucherEntryCardProps } from './types';\n\nimport { cn } from '@/lib/utils';\nconst normalizeCode = (value: string): string => value.toUpperCase();\n\nexport function VoucherEntryCard({\n\tappliedCode,\n\tbalance,\n\terror,\n\tloading,\n\tonCheck,\n\tonRemove,\n\tclassName,\n\tstrings: stringsProp,\n}: VoucherEntryCardProps) {\n\tconst strings = useStrings(defaultVoucherEntryStrings, stringsProp);\n\tconst inputId = useId();\n\tconst [code, setCode] = useState('');\n\tconst trimmedCode = code.trim();\n\tconst handleSubmit = (event: FormEvent<HTMLFormElement>) => {\n\t\tevent.preventDefault();\n\t\tif (!trimmedCode) return;\n\t\tonCheck?.(trimmedCode);\n\t};\n\n\tif (appliedCode) {\n\t\treturn (\n\t\t\t<SmartCard\n\t\t\t\ticon={<Gift className=\"size-4\" />}\n\t\t\t\ttitle={strings.title}\n\t\t\t\tclassName={cn('voucher-entry--component w-full', className)}\n\t\t\t>\n\t\t\t\t<Item size=\"small\" variant=\"outline\" className=\"items-center gap-x-2.5 gap-y-1.5 border-success/30 bg-success/5\">\n\t\t\t\t\t<ItemMedia>\n\t\t\t\t\t\t<IconBadge icon={Check} tone=\"success\" size=\"default\" className=\"ring-1 ring-success/20\" />\n\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t<ItemContent className=\"min-w-0\">\n\t\t\t\t\t\t<div className=\"flex flex-wrap items-center gap-1.5\">\n\t\t\t\t\t\t\t<ItemTitle className=\"max-w-full font-mono tracking-wider\">{appliedCode}</ItemTitle>\n\t\t\t\t\t\t\t<Badge variant=\"success\" size=\"small\">{strings.applied}</Badge>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<ItemDescription clamp={1}>{strings.balance}</ItemDescription>\n\t\t\t\t\t</ItemContent>\n\t\t\t\t\t<ItemFooter className=\"border-t border-success/15 pt-1\">\n\t\t\t\t\t\t<span />\n\t\t\t\t\t\t<ItemActions className=\"shrink-0 gap-1.5\">\n\t\t\t\t\t\t\t{!!balance && (\n\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"semibold\" type=\"success\" className=\"tabular-nums shrink-0\">\n\t\t\t\t\t\t\t\t\t{balance}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!!onRemove && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\t\t\t\tonClick={onRemove}\n\t\t\t\t\t\t\t\t\taria-label={strings.remove}\n\t\t\t\t\t\t\t\t\tclassName=\"size-7 shrink-0 text-muted-foreground hover:text-destructive\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<X className=\"size-3.5\" />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t</ItemFooter>\n\t\t\t\t</Item>\n\t\t\t</SmartCard>\n\t\t);\n\t}\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<Gift className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\tclassName={cn('voucher-entry--component w-full', className)}\n\t\t>\n\t\t\t<form onSubmit={handleSubmit}>\n\t\t\t\t<FormField\n\t\t\t\t\tlabel={strings.inputLabel}\n\t\t\t\t\thtmlFor={inputId}\n\t\t\t\t\terror={error}\n\t\t\t\t\thint={error ? undefined : strings.helperText}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t<div className=\"min-w-48 flex-1\">\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tid={inputId}\n\t\t\t\t\t\t\t\tvalue={code}\n\t\t\t\t\t\t\t\tonChange={(e) => setCode(normalizeCode((e.target as HTMLInputElement).value))}\n\t\t\t\t\t\t\t\tplaceholder={strings.placeholder}\n\t\t\t\t\t\t\t\tstartIcon={Gift}\n\t\t\t\t\t\t\t\tautoCapitalize=\"characters\"\n\t\t\t\t\t\t\t\tspellCheck={false}\n\t\t\t\t\t\t\t\tclassName=\"font-mono\"\n\t\t\t\t\t\t\t\tinvalid={Boolean(error)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\t\tdisabled={!trimmedCode}\n\t\t\t\t\t\t\tclassName=\"shrink-0\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{strings.check}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</FormField>\n\t\t\t</form>\n\t\t</SmartCard>\n\t);\n}\n\nVoucherEntryCard.displayName = 'VoucherEntryCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface CartLineItem {\n\tid: string;\n\tname?: string;\n\tproductTitle?: string;\n\ttitle?: string;\n\tvariantTitle?: string;\n\tqty: number;\n\tprice: string;\n\timageUrl?: string;\n\timageSrc?: string;\n\tsrc?: string;\n\turl?: string;\n\timageAlt?: string;\n}\n\nexport interface CartSummaryStrings {\n\ttitle: string;\n\tsubtotal: string;\n\ttax: string;\n\tshipping: string;\n\tdiscount: string;\n\ttotal: string;\n\tcheckout: string;\n}\n\nexport const defaultCartSummaryStrings: CartSummaryStrings = {\n\ttitle: 'Cart',\n\tsubtotal: 'Subtotal',\n\ttax: 'Tax',\n\tshipping: 'Shipping',\n\tdiscount: 'Discount',\n\ttotal: 'Total',\n\tcheckout: 'Checkout',\n};\n\nexport interface CartSummaryCardProps {\n\titems: CartLineItem[];\n\tsubtotal?: string;\n\ttax?: string;\n\tshipping?: string;\n\tdiscount?: string;\n\ttotal: string;\n\tonCheckout?: () => void;\n\tclassName?: string;\n\tstrings?: StringsProp<CartSummaryStrings>;\n}\n","/**\n * CartSummaryCard — line-item list with optional subtotal / tax / shipping /\n * discount breakdown and a primary \"Checkout\" action. Items render through\n * `<ItemGroup>` for density consistency; the breakdown rows sit in a tight\n * summary block above the total. The discount value is shown as a signed\n * delta in success colour.\n */\nimport { ShoppingBag } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { InlineStat } from '@/components/composed/data-display';\nimport { Separator } from '@/components/base/display/separator';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { useStrings } from '@/lib/strings';\n\nimport { defaultCartSummaryStrings, type CartLineItem, type CartSummaryCardProps } from './types';\n\nimport { cn } from '@/lib/utils';\nconst stripLeadingMinus = (value: string): string => value.replace(/^[\\s−-]+/, '');\n\nconst resolveCartLineTitle = (item: CartLineItem): string => {\n\treturn [item.productTitle, item.title, item.name].find((value) => !!value?.trim()) ?? item.id;\n};\n\nconst resolveCartLineImageSrc = (item: CartLineItem): string | undefined => {\n\treturn [item.imageUrl, item.imageSrc, item.src, item.url].find((value) => !!value?.trim());\n};\n\nconst getCartLinePlaceholderLabel = (title: string): string => {\n\tconst initials = title\n\t\t.trim()\n\t\t.split(/\\s+/)\n\t\t.map((part) => part[0])\n\t\t.join('')\n\t\t.slice(0, 2)\n\t\t.toUpperCase();\n\n\treturn initials || title.trim().slice(0, 2).toUpperCase();\n};\n\nfunction CartLineImagePlaceholder({ title }: { title: string }) {\n\treturn (\n\t\t<div\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName=\"flex size-full items-center justify-center rounded-[inherit] bg-muted text-xs font-semibold text-muted-foreground ring-1 ring-border/60\"\n\t\t>\n\t\t\t{getCartLinePlaceholderLabel(title)}\n\t\t</div>\n\t);\n}\n\nexport function CartSummaryCard({\n\titems,\n\tsubtotal,\n\ttax,\n\tshipping,\n\tdiscount,\n\ttotal,\n\tonCheckout,\n\tclassName,\n\tstrings: stringsProp,\n}: CartSummaryCardProps) {\n\tconst strings = useStrings(defaultCartSummaryStrings, stringsProp);\n\tconst hasBreakdown = !!(subtotal || tax || shipping || discount);\n\n\treturn (\n\t\t<SmartCard icon={<ShoppingBag className=\"size-4\" />} title={strings.title} className={cn('cart-summary--component w-full', className)}>\n\t\t\t<ItemGroup>\n\t\t\t\t{items.map((it) => {\n\t\t\t\t\tconst title = resolveCartLineTitle(it);\n\t\t\t\t\tconst imageSrc = resolveCartLineImageSrc(it);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Item key={it.id} className=\"cart-summary--item\">\n\t\t\t\t\t\t\t<ItemMedia variant=\"image\" className=\"cart-summary--item-media\">\n\t\t\t\t\t\t\t\t{imageSrc ? (\n\t\t\t\t\t\t\t\t\t<img src={imageSrc} alt={it.imageAlt ?? title} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<CartLineImagePlaceholder title={title} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t\t<ItemContent className=\"cart-summary--item-content\">\n\t\t\t\t\t\t\t\t<ItemTitle>{title}</ItemTitle>\n\t\t\t\t\t\t\t\t{!!it.variantTitle && (\n\t\t\t\t\t\t\t\t\t<ItemDescription clamp={1}>{it.variantTitle}</ItemDescription>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t\t<ItemActions className=\"cart-summary--item-actions\">\n\t\t\t\t\t\t\t\t<div className=\"flex shrink-0 flex-col items-end gap-0.5\">\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"tabular-nums\">x{it.qty}</Text>\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\" className=\"tabular-nums\">{it.price}</Text>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t\t</Item>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ItemGroup>\n\n\t\t\t{!!hasBreakdown && (\n\t\t\t\t<div className=\"mt-3 space-y-1.5 rounded-lg bg-muted/30 px-3 py-2.5\">\n\t\t\t\t\t{!!subtotal && (\n\t\t\t\t\t\t<InlineStat label={strings.subtotal} value={subtotal} mono valueClassName=\"text-xs font-medium\" labelClassName=\"text-xs\" />\n\t\t\t\t\t)}\n\t\t\t\t\t{!!tax && (\n\t\t\t\t\t\t<InlineStat label={strings.tax} value={tax} mono valueClassName=\"text-xs font-medium\" labelClassName=\"text-xs\" />\n\t\t\t\t\t)}\n\t\t\t\t\t{!!shipping && (\n\t\t\t\t\t\t<InlineStat label={strings.shipping} value={shipping} mono valueClassName=\"text-xs font-medium\" labelClassName=\"text-xs\" />\n\t\t\t\t\t)}\n\t\t\t\t\t{!!discount && (\n\t\t\t\t\t\t<InlineStat\n\t\t\t\t\t\t\tlabel={strings.discount}\n\t\t\t\t\t\t\tvalue={`−${stripLeadingMinus(discount)}`}\n\t\t\t\t\t\t\tmono\n\t\t\t\t\t\t\tlabelClassName=\"text-xs\"\n\t\t\t\t\t\t\tvalueClassName=\"text-xs font-semibold text-success\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<Separator className=\"my-3\" />\n\n\t\t\t<InlineStat\n\t\t\t\tlabel={strings.total}\n\t\t\t\tvalue={total}\n\t\t\t\tmono\n\t\t\t\tlabelClassName=\"text-sm font-semibold\"\n\t\t\t\tvalueClassName=\"text-base font-bold\"\n\t\t\t/>\n\n\t\t\t{!!onCheckout && (\n\t\t\t\t<Button onClick={onCheckout} fullWidth className=\"mt-4\">{strings.checkout}</Button>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nCartSummaryCard.displayName = 'CartSummaryCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport interface CouponInputStrings {\n\ttitle: string;\n\tplaceholder: string;\n\tapply: string;\n\tremove: string;\n\tapplied: string;\n\tinvalid: string;\n}\n\nexport const defaultCouponInputStrings: CouponInputStrings = {\n\ttitle: 'Have a code?',\n\tplaceholder: 'Enter coupon code',\n\tapply: 'Apply',\n\tremove: 'Remove',\n\tapplied: 'Applied',\n\tinvalid: 'That code is not valid',\n};\n\nexport interface CouponInputCardProps {\n\tappliedCode?: string;\n\tappliedDiscount?: string;\n\terror?: string;\n\tonApply?: (code: string) => void;\n\tonRemove?: () => void;\n\tloading?: boolean;\n\tclassName?: string;\n\tstrings?: StringsProp<CouponInputStrings>;\n}\n","/**\n * CouponInputCard — promo / coupon code entry with an applied state and\n * inline error messaging.\n *\n * Empty state — leading-icon input + apply button, helper line for\n * placeholders or errors. Applied state — success-tinted row with a check\n * medallion, monospaced code, discount delta, and a destructive remove icon.\n */\nimport {\n\tuseState } from 'react';\nimport { Check,\n\tSparkles,\n\tTicketPercent,\n\tX } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Button } from '@/components/base/buttons';\nimport { IconBadge,\n} from '@/components/base/display';\nimport {\n\tItem,\n\tItemActions,\n\tItemContent,\n\tItemDescription,\n\tItemFooter,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography';\nimport { Input } from '@/components/base/forms/fields';\nimport { useStrings } from '@/lib/strings';\n\nimport { defaultCouponInputStrings, type CouponInputCardProps } from './types';\n\nimport { cn } from '@/lib/utils';\nconst stripLeadingMinus = (value: string): string => value.replace(/^[\\s−-]+/, '');\nconst normalizeCode = (value: string): string => value.toUpperCase();\n\nexport function CouponInputCard({\n\tappliedCode,\n\tappliedDiscount,\n\terror,\n\tonApply,\n\tonRemove,\n\tloading,\n\tclassName,\n\tstrings: stringsProp,\n}: CouponInputCardProps) {\n\tconst strings = useStrings(defaultCouponInputStrings, stringsProp);\n\tconst [code, setCode] = useState('');\n\tconst trimmedCode = code.trim();\n\n\tif (appliedCode) {\n\t\treturn (\n\t\t\t<SmartCard icon={<TicketPercent className=\"size-4\" />} title={strings.title} className={cn('coupon-input--component w-full', className)}>\n\t\t\t\t<Item size=\"small\" variant=\"muted\" className=\"items-center gap-x-2.5 gap-y-1.5 border border-success/30 bg-success/8\">\n\t\t\t\t\t<ItemMedia>\n\t\t\t\t\t\t<IconBadge icon={Check} tone=\"success\" size=\"default\" className=\"ring-1 ring-success/20\" />\n\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t<ItemContent className=\"min-w-0\">\n\t\t\t\t\t\t<ItemTitle className=\"max-w-full font-mono tracking-wider\">{appliedCode}</ItemTitle>\n\t\t\t\t\t\t<ItemDescription className=\"uppercase tracking-wide\" clamp={1}>\n\t\t\t\t\t\t\t{strings.applied}\n\t\t\t\t\t\t</ItemDescription>\n\t\t\t\t\t</ItemContent>\n\t\t\t\t\t<ItemFooter className=\"border-t border-success/15 pt-1\">\n\t\t\t\t\t\t<span />\n\t\t\t\t\t\t<ItemActions className=\"shrink-0 gap-1.5\">\n\t\t\t\t\t\t\t{!!appliedDiscount && (\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\t\t\ttype=\"success\"\n\t\t\t\t\t\t\t\t\tclassName=\"tabular-nums shrink-0\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t−{stripLeadingMinus(appliedDiscount)}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!!onRemove && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\t\t\t\tonClick={onRemove}\n\t\t\t\t\t\t\t\t\taria-label={strings.remove}\n\t\t\t\t\t\t\t\t\tclassName=\"size-7 shrink-0 text-muted-foreground hover:text-destructive\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<X className=\"size-3.5\" />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</ItemActions>\n\t\t\t\t\t</ItemFooter>\n\t\t\t\t</Item>\n\t\t\t</SmartCard>\n\t\t);\n\t}\n\n\treturn (\n\t\t<SmartCard icon={<TicketPercent className=\"size-4\" />} title={strings.title} className={cn('coupon-input--component w-full', className)}>\n\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t<div className=\"min-w-44 flex-1\">\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tvalue={code}\n\t\t\t\t\t\t\tonChange={(e) => setCode(normalizeCode((e.target as HTMLInputElement).value))}\n\t\t\t\t\t\t\tplaceholder={strings.placeholder}\n\t\t\t\t\t\t\tstartIcon={Sparkles}\n\t\t\t\t\t\t\tautoCapitalize=\"characters\"\n\t\t\t\t\t\t\tspellCheck={false}\n\t\t\t\t\t\t\tclassName=\"font-mono\"\n\t\t\t\t\t\t\tinvalid={Boolean(error)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\tonClick={() => onApply?.(trimmedCode)}\n\t\t\t\t\t\tloading={loading}\n\t\t\t\t\t\tdisabled={!trimmedCode}\n\t\t\t\t\t\tclassName=\"shrink-0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{strings.apply}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t\t{!!error && (\n\t\t\t\t\t<Text size=\"xs\" type=\"error\">{error || strings.invalid}</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</SmartCard>\n\t);\n}\n\nCouponInputCard.displayName = 'CouponInputCard';\n","import type { ComposedBadgeVariant } from '@/components/base/badge/badge';\nimport type { StringsProp } from '@/lib/strings';\n\nexport type OrderStatusKind = 'pending' | 'paid' | 'fulfilled' | 'shipped' | 'delivered' | 'cancelled';\n\nexport interface OrderStatusEvent {\n\tlabel: string;\n\ttimestamp?: string;\n\tcomplete: boolean;\n}\n\nexport interface OrderStatusStrings {\n\ttitle: string;\n\tstatusLabel: string;\n\teta: string;\n\tlatestEvent: string;\n\tcurrentStep: string;\n}\n\nexport const defaultOrderStatusStrings: OrderStatusStrings = {\n\ttitle: 'Order status',\n\tstatusLabel: 'Current status',\n\teta: 'ETA',\n\tlatestEvent: 'Latest event',\n\tcurrentStep: 'Current step',\n};\n\nexport interface OrderStatusCardProps {\n\torderNumber: string;\n\tstatus: OrderStatusKind;\n\tstatusVariant?: ComposedBadgeVariant;\n\tevents: OrderStatusEvent[];\n\tcurrentEta?: string;\n\tclassName?: string;\n\tstrings?: StringsProp<OrderStatusStrings>;\n}\n","/**\n * OrderStatusCard — order number + status badge + readable event timeline.\n * Ideal for dashboards / receipt summaries. Strings overridable for i18n.\n */\nimport { CalendarClock, Check, Circle, Package } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Text } from '@/components/typography';\nimport { Badge } from '@/components/base/badge';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultOrderStatusStrings,\n\ttype OrderStatusCardProps,\n\ttype OrderStatusKind,\n} from './types';\n\nconst VARIANT_BY_STATUS: Record<OrderStatusKind, 'primary' | 'success' | 'warning' | 'error' | 'info' | 'secondary'> = {\n\tpending: 'warning',\n\tpaid: 'info',\n\tfulfilled: 'info',\n\tshipped: 'primary',\n\tdelivered: 'success',\n\tcancelled: 'error',\n};\n\nexport function OrderStatusCard({\n\torderNumber,\n\tstatus,\n\tstatusVariant,\n\tevents,\n\tcurrentEta,\n\tclassName,\n\tstrings: stringsProp,\n}: OrderStatusCardProps) {\n\tconst strings = useStrings(defaultOrderStatusStrings, stringsProp);\n\tconst variant = statusVariant ?? VARIANT_BY_STATUS[status];\n\tconst lastCompleteIdx = events.reduce((acc, e, i) => (e.complete ? i : acc), -1);\n\tconst latestEvent = events[lastCompleteIdx] ?? events[0];\n\tconst nextEvent = events.find((event) => !event.complete);\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<Package className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\ttitleSuffix={<Badge variant={variant} className=\"capitalize\">{status}</Badge>}\n\t\t\tdescription={`#${orderNumber}`}\n\t\t\tclassName={cn('order-status--component w-full', className)}\n\t\t>\n\t\t\t<div className=\"rounded-lg border border-border bg-muted/20 p-3\">\n\t\t\t\t<div className=\"grid gap-3 sm:grid-cols-3\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"uppercase tracking-wide\">\n\t\t\t\t\t\t\t{strings.statusLabel}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<Text weight=\"semibold\" className=\"mt-0.5 capitalize\">\n\t\t\t\t\t\t\t{status}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t{!!latestEvent && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"uppercase tracking-wide\">\n\t\t\t\t\t\t\t\t{latestEvent.complete ? strings.latestEvent : strings.currentStep}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text weight=\"semibold\" className=\"mt-0.5\">\n\t\t\t\t\t\t\t\t{latestEvent.label}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!currentEta && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"uppercase tracking-wide\">\n\t\t\t\t\t\t\t\t{strings.eta}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text weight=\"semibold\" className=\"mt-0.5 tabular-nums\">\n\t\t\t\t\t\t\t\t{currentEta}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{events.length > 0 && (\n\t\t\t\t<ol className=\"mt-4\">\n\t\t\t\t\t{events.map((event, index) => {\n\t\t\t\t\t\tconst isLast = index === events.length - 1;\n\t\t\t\t\t\tconst isCurrent = nextEvent ? event === nextEvent : index === lastCompleteIdx;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li key={`${event.label}-${index}`} className=\"relative flex gap-3\">\n\t\t\t\t\t\t\t\t<div className=\"flex flex-col items-center\">\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'flex size-6 shrink-0 items-center justify-center rounded-full border',\n\t\t\t\t\t\t\t\t\t\t\tevent.complete\n\t\t\t\t\t\t\t\t\t\t\t\t? 'border-success bg-success text-success-foreground'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'border-border bg-card text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\t\tisCurrent && !event.complete && 'border-primary text-primary ring-4 ring-primary/10',\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{event.complete ? (\n\t\t\t\t\t\t\t\t\t\t\t<Check className=\"size-3.5\" strokeWidth={2.5} />\n\t\t\t\t\t\t\t\t\t\t) : isCurrent ? (\n\t\t\t\t\t\t\t\t\t\t\t<CalendarClock className=\"size-3.5\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<Circle className=\"size-3\" />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{!isLast && (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'min-h-6 w-px flex-1',\n\t\t\t\t\t\t\t\t\t\t\t\tindex < lastCompleteIdx ? 'bg-success' : 'bg-border',\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className={cn('min-w-0 flex-1 pb-4', isLast && 'pb-0')}>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tweight={event.complete || isCurrent ? 'semibold' : 'medium'}\n\t\t\t\t\t\t\t\t\t\tclassName={cn(!event.complete && !isCurrent && 'text-muted-foreground')}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{event.label}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t{!!event.timestamp && (\n\t\t\t\t\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-0.5 tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t\t{event.timestamp}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</ol>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nOrderStatusCard.displayName = 'OrderStatusCard';\n","import type { StringsProp } from '@/lib/strings';\n\nexport type PaymentBrand = 'visa' | 'mastercard' | 'amex' | 'paypal' | 'applepay' | 'googlepay' | 'unknown';\n\nexport interface PaymentMethodStrings {\n\ttitle: string;\n\tdefault: string;\n\tcardHolder: string;\n\texpires: string;\n\tchange: string;\n}\n\nexport const defaultPaymentMethodStrings: PaymentMethodStrings = {\n\ttitle: 'Payment method',\n\tdefault: 'Default',\n\tcardHolder: 'Card holder',\n\texpires: 'Expires',\n\tchange: 'Change',\n};\n\nexport interface PaymentMethodCardProps {\n\tbrand: PaymentBrand;\n\tlast4: string;\n\texpiry?: string; // MM/YY\n\tholderName?: string;\n\tisDefault?: boolean;\n\tonChange?: () => void;\n\tclassName?: string;\n\tstrings?: StringsProp<PaymentMethodStrings>;\n}\n","/**\n * PaymentMethodCard — saved-card surface. The hero block is rendered as a\n * mini credit-card mock with real card proportions, brand chip top-right, masked\n * PAN center, and holder + expiry on the bottom row. Trailing actions sit\n * in a footer below the mock so the hierarchy is \"card → details → CTA\".\n */\nimport { CreditCard } from 'lucide-react';\nimport { SmartCard } from '@/components/base/cards';\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { Badge } from '@/components/base/badge';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultPaymentMethodStrings, type PaymentBrand, type PaymentMethodCardProps } from './types';\n\nconst BRAND_LABEL: Record<PaymentBrand, string> = {\n\tvisa: 'VISA',\n\tmastercard: 'MasterCard',\n\tamex: 'AMEX',\n\tpaypal: 'PayPal',\n\tapplepay: 'Apple Pay',\n\tgooglepay: 'Google Pay',\n\tunknown: 'Card',\n};\n\nconst BRAND_GRADIENT: Record<PaymentBrand, string> = {\n\tvisa: 'from-info via-primary to-info',\n\tmastercard: 'from-warning via-destructive to-destructive',\n\tamex: 'from-info via-primary to-info',\n\tpaypal: 'from-info via-primary to-info',\n\tapplepay: 'from-foreground via-muted-foreground to-foreground',\n\tgooglepay: 'from-success via-primary to-success',\n\tunknown: 'from-foreground via-muted-foreground to-foreground',\n};\n\nexport function PaymentMethodCard({\n\tbrand,\n\tlast4,\n\texpiry,\n\tholderName,\n\tisDefault,\n\tonChange,\n\tclassName,\n\tstrings: stringsProp,\n}: PaymentMethodCardProps) {\n\tconst strings = useStrings(defaultPaymentMethodStrings, stringsProp);\n\tconst brandLabel = BRAND_LABEL[brand];\n\tconst gradient = BRAND_GRADIENT[brand];\n\n\treturn (\n\t\t<SmartCard\n\t\t\ticon={<CreditCard className=\"size-4\" />}\n\t\t\ttitle={strings.title}\n\t\t\ttitleSuffix={isDefault ? <Badge variant=\"primary\">{strings.default}</Badge> : null}\n\t\t\theaderAction={onChange ? (\n\t\t\t\t<Button buttonStyle=\"ghost\" variant=\"secondary\" onClick={onChange}>\n\t\t\t\t\t{strings.change}\n\t\t\t\t</Button>\n\t\t\t) : undefined}\n\t\t\tclassName={cn('payment-method--component w-full', className)}\n\t\t>\n\t\t\t{/* Mini card mock */}\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'relative mx-auto flex aspect-[85.6/53.98] w-full max-w-[22rem] flex-col justify-between overflow-hidden rounded-lg bg-gradient-to-br p-3.5 text-inverse-foreground shadow-sm ring-1 ring-inverse-border',\n\t\t\t\t\tgradient,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"relative flex items-start justify-between\">\n\t\t\t\t\t<div className=\"flex size-7 items-center justify-center rounded-md bg-gradient-to-br from-warning/80 to-warning shadow-sm\">\n\t\t\t\t\t\t<div className=\"size-4 rounded-sm border border-warning-foreground/25 bg-warning-foreground/15\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Text\n\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\tweight=\"bold\"\n\t\t\t\t\t\tclassName=\"rounded bg-inverse-surface px-2 py-0.5 tracking-[0.15em] text-inverse-foreground backdrop-blur-sm\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{brandLabel}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t<Text\n\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\tsize=\"base\"\n\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\tclassName=\"block font-mono tracking-[0.25em] text-inverse-foreground\"\n\t\t\t\t\t>\n\t\t\t\t\t\t•••• •••• •••• {last4}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"relative flex items-end justify-between gap-3\">\n\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t{!!holderName && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text size=\"xs\" className=\"block uppercase tracking-wider text-inverse-subtle\">{strings.cardHolder}</Text>\n\t\t\t\t\t\t\t\t<Text weight=\"semibold\" className=\"truncate text-inverse-foreground\">{holderName}</Text>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{!!expiry && (\n\t\t\t\t\t\t<div className=\"text-right shrink-0\">\n\t\t\t\t\t\t\t<Text size=\"xs\" className=\"block uppercase tracking-wider text-inverse-subtle\">{strings.expires}</Text>\n\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\" className=\"tabular-nums text-inverse-foreground\">{expiry}</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t</SmartCard>\n\t);\n}\n\nPaymentMethodCard.displayName = 'PaymentMethodCard';\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/button-Bd5bEIiB.cjs"),r=require("../../../_shared/typography-CO9uwZhF.cjs"),i=require("../../../_shared/icon-badge-CU6ZkcER.cjs"),a=require("../../../_shared/separator-q42IlFFA.cjs"),o=require("../../../_shared/item-eUP9Rtmg.cjs"),s=require("../../../_shared/data-display-BdGQMXit.cjs");let c=require("react"),l=require("react/jsx-runtime"),u=require("lucide-react");var d={title:`Booking Receipt`,statusConfirmed:`Confirmed`,amountPaidLabel:`Amount Paid`},f={successTitle:`Payment Successful`,successDescription:`Transaction completed`,detailsToggle:`Payment Details`},p={defaultTitle:`Details`},m={title:`Order Items`,totalLabel:`Total`},h={title:`Outstanding Balance`,dueDateLabel:`Due Date`,customerLabel:`Customer`,sendReminder:`Send Reminder`,recordPayment:`Record Payment`};function g({amount:d,details:p=[],helpText:m,onHelp:h,className:g,strings:_}){let v=e.useStrings(f,_),[y,b]=(0,c.useState)(!0);return(0,l.jsxs)(`div`,{className:t.cn(`dark-payment--component`,`dark rounded-lg bg-card p-5 text-card-foreground shadow-sm ring-1 ring-border`,g),children:[(0,l.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,l.jsx)(i.t,{icon:u.Check,tone:`success`,className:`size-avatar-lg [&>svg]:size-icon-lg`}),(0,l.jsx)(r.o,{tag:`h5`,className:`mt-3 !border-0 !pb-0`,children:v.successTitle}),(0,l.jsx)(r.s,{size:`xs`,type:`secondary`,children:v.successDescription}),(0,l.jsx)(r.o,{tag:`h3`,className:`border-none pb-0 text-2xl tabular-nums tracking-tight`,children:d})]}),p.length>0&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.t,{className:`my-4`}),(0,l.jsxs)(n.t,{variant:`light`,buttonStyle:`ghost`,onClick:()=>b(!y),className:`flex w-full items-center justify-between border-0 p-0 h-auto text-muted-foreground hover:text-foreground`,children:[(0,l.jsx)(r.s,{weight:`medium`,children:v.detailsToggle}),y?(0,l.jsx)(u.ChevronUp,{className:`size-4`}):(0,l.jsx)(u.ChevronDown,{className:`size-4`})]}),!!y&&(0,l.jsx)(`div`,{className:`mt-3 space-y-2.5`,children:p.map(e=>(0,l.jsx)(s.i,{label:e.label,value:e.value,labelClassName:`text-sm`,valueClassName:`text-sm font-medium`},e.label))})]}),!!m&&(0,l.jsxs)(o.t,{variant:`muted`,className:t.cn(`mt-4`,h&&`cursor-pointer`),onClick:h,children:[(0,l.jsx)(o.c,{variant:`icon`,className:`text-muted-foreground`,children:(0,l.jsx)(u.HelpCircle,{})}),(0,l.jsx)(o.r,{children:(0,l.jsx)(o.u,{bold:!1,className:`text-muted-foreground`,children:m})}),(0,l.jsx)(o.n,{children:(0,l.jsx)(u.ChevronRight,{className:`size-4 text-muted-foreground`})})]})]})}g.displayName=`DarkPaymentConfirmation`;function _({referenceCode:n,status:i,details:a=[],amountPaid:o,className:c,strings:u}){let f=e.useStrings(d,u),p=i??f.statusConfirmed;return(0,l.jsxs)(`div`,{className:t.cn(`booking-receipt--component`,`dark space-y-3 rounded-lg bg-card p-4 text-card-foreground shadow-sm ring-1 ring-border`,c),children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,l.jsx)(r.o,{tag:`h6`,className:`!border-0 !pb-0`,children:f.title}),(0,l.jsxs)(r.s,{size:`xs`,weight:`medium`,className:`flex items-center gap-1.5 rounded-full bg-success/15 px-2.5 py-1 text-success`,children:[(0,l.jsx)(`span`,{className:`size-1.5 rounded-full bg-success`}),p]})]}),a.length>0&&(0,l.jsx)(`div`,{className:`space-y-1.5 text-sm`,children:a.map(e=>(0,l.jsx)(s.i,{label:e.label,value:e.value,labelClassName:`text-sm`,valueClassName:`text-sm font-medium`},e.label))}),!!n&&(0,l.jsx)(r.s,{tag:`div`,size:`xs`,type:`secondary`,align:`center`,className:`rounded-md bg-muted px-3 py-2 font-mono tracking-wider`,children:n}),(0,l.jsx)(s.i,{className:`border-t border-border pt-3`,label:f.amountPaidLabel,value:(0,l.jsx)(r.o,{tag:`h4`,className:`border-none pb-0 text-lg`,children:o}),labelClassName:`text-sm`})]})}_.displayName=`BookingReceiptDark`;function v({title:i,items:a,totalLabel:o,totalValue:s,defaultOpen:d=!0,className:f,strings:m}){let h=e.useStrings(p,m),g=i??h.defaultTitle,[_,v]=(0,c.useState)(d);return(0,l.jsxs)(`div`,{className:t.cn(`dark-info-panel--component`,`dark rounded-lg bg-card p-4 text-card-foreground shadow-sm ring-1 ring-border`,f),children:[(0,l.jsxs)(n.t,{variant:`light`,buttonStyle:`ghost`,onClick:()=>v(!_),className:`flex w-full items-center justify-between border-0 p-0 h-auto`,children:[(0,l.jsx)(r.o,{tag:`h6`,className:`!border-0 !pb-0`,children:g}),_?(0,l.jsx)(u.ChevronUp,{className:`size-4 text-muted-foreground`}):(0,l.jsx)(u.ChevronDown,{className:`size-4 text-muted-foreground`})]}),!!_&&(0,l.jsxs)(`div`,{className:`mt-3 space-y-3 text-sm`,children:[a.map(e=>(0,l.jsxs)(`div`,{className:`flex items-baseline justify-between gap-6`,children:[(0,l.jsx)(r.s,{type:`secondary`,className:`min-w-0`,children:e.label}),(0,l.jsx)(r.s,{weight:`medium`,className:t.cn(`shrink-0 text-right`,e.highlight&&`text-success`),children:e.value})]},e.label)),!!o&&!!s&&(0,l.jsx)(`div`,{className:`border-t border-dashed border-border pt-3`,children:(0,l.jsxs)(`div`,{className:`flex items-baseline justify-between gap-6`,children:[(0,l.jsx)(r.s,{weight:`semibold`,type:`secondary`,className:`min-w-0`,children:o}),(0,l.jsx)(r.s,{weight:`semibold`,className:`shrink-0 text-right`,children:s})]})})]})]})}v.displayName=`DarkInfoPanel`;var y={neutral:`bg-muted-foreground`,primary:`bg-primary`,info:`bg-info`,success:`bg-success`,warning:`bg-warning`,destructive:`bg-destructive`};function b({items:n,summary:i=[],total:a,className:c,strings:u}){let d=e.useStrings(m,u);return(0,l.jsxs)(`div`,{className:t.cn(`order-items--component`,`dark rounded-lg bg-card p-4 text-card-foreground shadow-sm ring-1 ring-border`,c),children:[(0,l.jsx)(r.o,{tag:`h6`,className:`!border-0 !pb-0`,children:d.title}),(0,l.jsx)(o.o,{className:`mt-3 gap-2`,children:n.map(e=>(0,l.jsxs)(o.t,{variant:`muted`,className:`flex-col items-stretch gap-2`,children:[(0,l.jsxs)(o.s,{children:[(0,l.jsx)(r.s,{size:`xs`,type:`secondary`,children:e.vendor}),!!e.badge&&(0,l.jsx)(r.s,{size:`xs`,weight:`medium`,className:`rounded-full bg-secondary px-3 py-1 text-secondary-foreground`,children:e.badge})]}),(0,l.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-3`,children:[(0,l.jsxs)(o.r,{children:[(0,l.jsx)(o.u,{children:e.name}),(0,l.jsx)(o.i,{clamp:1,children:(0,l.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,l.jsx)(`span`,{className:t.cn(`size-2.5 rounded-full`,y[e.tone??`neutral`])}),`x`,e.qty]})})]}),(0,l.jsx)(o.n,{children:(0,l.jsx)(r.s,{weight:`bold`,children:e.price})})]})]},e.name))}),!!(i.length>0||a)&&(0,l.jsxs)(`div`,{className:`mt-3 space-y-2 border-t border-border pt-3 text-sm`,children:[i.map(e=>(0,l.jsx)(s.i,{label:e.label,value:e.value,labelClassName:`text-sm text-muted-foreground`,valueClassName:`text-sm text-muted-foreground`},e.label)),!!a&&(0,l.jsx)(s.i,{className:`border-t border-dashed border-border pt-2`,label:d.totalLabel,value:a,labelClassName:`text-sm font-semibold`,valueClassName:`text-sm font-semibold`})]})]})}b.displayName=`OrderItemsCard`;function x({amount:i,amountColor:a=`text-warning`,dueDate:o,customer:c,onSendReminder:d,onRecordPayment:f,className:p,strings:m}){let g=e.useStrings(h,m);return(0,l.jsxs)(`div`,{className:t.cn(`outstanding-balance--component`,`dark rounded-lg bg-card p-5 text-card-foreground shadow-sm ring-1 ring-border`,p),children:[(0,l.jsx)(r.s,{size:`xs`,weight:`medium`,type:`secondary`,className:`uppercase tracking-wider`,children:g.title}),(0,l.jsx)(r.o,{tag:`h3`,className:t.cn(`border-none pb-0 text-2xl tabular-nums tracking-tight`,a),children:i}),(0,l.jsxs)(`div`,{className:`mt-4 space-y-2`,children:[(0,l.jsx)(s.i,{label:g.dueDateLabel,value:(0,l.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,l.jsx)(`span`,{className:`size-2 rounded-full bg-destructive animate-pulse`}),(0,l.jsx)(r.s,{tag:`span`,weight:`medium`,children:o})]}),labelClassName:`text-xs`}),(0,l.jsx)(s.i,{label:g.customerLabel,value:c,labelClassName:`text-xs`,valueClassName:`text-sm font-medium`})]}),(0,l.jsxs)(`div`,{className:`mt-4 flex gap-2`,children:[(0,l.jsxs)(n.t,{variant:`warning`,className:`flex-1 rounded-md`,onClick:d,children:[(0,l.jsx)(u.Send,{className:`mr-1.5 size-3.5`}),g.sendReminder]}),(0,l.jsxs)(n.t,{variant:`success`,className:`flex-1 rounded-md`,onClick:f,children:[(0,l.jsx)(u.CreditCard,{className:`mr-1.5 size-3.5`}),g.recordPayment]})]})]})}x.displayName=`OutstandingBalanceCard`,exports.BookingReceiptDark=_,exports.DarkInfoPanel=v,exports.DarkPaymentConfirmation=g,exports.OrderItemsCard=b,exports.OutstandingBalanceCard=x;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/button-BMiPFJIb.cjs"),r=require("../../../_shared/typography-pzCKaFOc.cjs"),i=require("../../../_shared/icon-badge-CU6ZkcER.cjs"),a=require("../../../_shared/separator-q42IlFFA.cjs"),o=require("../../../_shared/item-CSk9Y2qB.cjs"),s=require("../../../_shared/data-display-CXVoX3la.cjs");let c=require("react"),l=require("react/jsx-runtime"),u=require("lucide-react");var d={title:`Booking Receipt`,statusConfirmed:`Confirmed`,amountPaidLabel:`Amount Paid`},f={successTitle:`Payment Successful`,successDescription:`Transaction completed`,detailsToggle:`Payment Details`},p={defaultTitle:`Details`},m={title:`Order Items`,totalLabel:`Total`},h={title:`Outstanding Balance`,dueDateLabel:`Due Date`,customerLabel:`Customer`,sendReminder:`Send Reminder`,recordPayment:`Record Payment`};function g({amount:d,details:p=[],helpText:m,onHelp:h,className:g,strings:_}){let v=e.useStrings(f,_),[y,b]=(0,c.useState)(!0);return(0,l.jsxs)(`div`,{className:t.cn(`dark-payment--component`,`dark rounded-lg bg-card p-5 text-card-foreground shadow-sm ring-1 ring-border`,g),children:[(0,l.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,l.jsx)(i.t,{icon:u.Check,tone:`success`,className:`size-avatar-lg [&>svg]:size-icon-lg`}),(0,l.jsx)(r.o,{tag:`h5`,className:`mt-3 !border-0 !pb-0`,children:v.successTitle}),(0,l.jsx)(r.s,{size:`xs`,type:`secondary`,children:v.successDescription}),(0,l.jsx)(r.o,{tag:`h3`,className:`border-none pb-0 text-2xl tabular-nums tracking-tight`,children:d})]}),p.length>0&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.t,{className:`my-4`}),(0,l.jsxs)(n.t,{variant:`light`,buttonStyle:`ghost`,onClick:()=>b(!y),className:`flex w-full items-center justify-between border-0 p-0 h-auto text-muted-foreground hover:text-foreground`,children:[(0,l.jsx)(r.s,{weight:`medium`,children:v.detailsToggle}),y?(0,l.jsx)(u.ChevronUp,{className:`size-4`}):(0,l.jsx)(u.ChevronDown,{className:`size-4`})]}),!!y&&(0,l.jsx)(`div`,{className:`mt-3 space-y-2.5`,children:p.map(e=>(0,l.jsx)(s.i,{label:e.label,value:e.value,labelClassName:`text-sm`,valueClassName:`text-sm font-medium`},e.label))})]}),!!m&&(0,l.jsxs)(o.t,{variant:`muted`,className:t.cn(`mt-4`,h&&`cursor-pointer`),onClick:h,children:[(0,l.jsx)(o.c,{variant:`icon`,className:`text-muted-foreground`,children:(0,l.jsx)(u.HelpCircle,{})}),(0,l.jsx)(o.r,{children:(0,l.jsx)(o.u,{bold:!1,className:`text-muted-foreground`,children:m})}),(0,l.jsx)(o.n,{children:(0,l.jsx)(u.ChevronRight,{className:`size-4 text-muted-foreground`})})]})]})}g.displayName=`DarkPaymentConfirmation`;function _({referenceCode:n,status:i,details:a=[],amountPaid:o,className:c,strings:u}){let f=e.useStrings(d,u),p=i??f.statusConfirmed;return(0,l.jsxs)(`div`,{className:t.cn(`booking-receipt--component`,`dark space-y-3 rounded-lg bg-card p-4 text-card-foreground shadow-sm ring-1 ring-border`,c),children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,l.jsx)(r.o,{tag:`h6`,className:`!border-0 !pb-0`,children:f.title}),(0,l.jsxs)(r.s,{size:`xs`,weight:`medium`,className:`flex items-center gap-1.5 rounded-full bg-success/15 px-2.5 py-1 text-success`,children:[(0,l.jsx)(`span`,{className:`size-1.5 rounded-full bg-success`}),p]})]}),a.length>0&&(0,l.jsx)(`div`,{className:`space-y-1.5 text-sm`,children:a.map(e=>(0,l.jsx)(s.i,{label:e.label,value:e.value,labelClassName:`text-sm`,valueClassName:`text-sm font-medium`},e.label))}),!!n&&(0,l.jsx)(r.s,{tag:`div`,size:`xs`,type:`secondary`,align:`center`,className:`rounded-md bg-muted px-3 py-2 font-mono tracking-wider`,children:n}),(0,l.jsx)(s.i,{className:`border-t border-border pt-3`,label:f.amountPaidLabel,value:(0,l.jsx)(r.o,{tag:`h4`,className:`border-none pb-0 text-lg`,children:o}),labelClassName:`text-sm`})]})}_.displayName=`BookingReceiptDark`;function v({title:i,items:a,totalLabel:o,totalValue:s,defaultOpen:d=!0,className:f,strings:m}){let h=e.useStrings(p,m),g=i??h.defaultTitle,[_,v]=(0,c.useState)(d);return(0,l.jsxs)(`div`,{className:t.cn(`dark-info-panel--component`,`dark rounded-lg bg-card p-4 text-card-foreground shadow-sm ring-1 ring-border`,f),children:[(0,l.jsxs)(n.t,{variant:`light`,buttonStyle:`ghost`,onClick:()=>v(!_),className:`flex w-full items-center justify-between border-0 p-0 h-auto`,children:[(0,l.jsx)(r.o,{tag:`h6`,className:`!border-0 !pb-0`,children:g}),_?(0,l.jsx)(u.ChevronUp,{className:`size-4 text-muted-foreground`}):(0,l.jsx)(u.ChevronDown,{className:`size-4 text-muted-foreground`})]}),!!_&&(0,l.jsxs)(`div`,{className:`mt-3 space-y-3 text-sm`,children:[a.map(e=>(0,l.jsxs)(`div`,{className:`flex items-baseline justify-between gap-6`,children:[(0,l.jsx)(r.s,{type:`secondary`,className:`min-w-0`,children:e.label}),(0,l.jsx)(r.s,{weight:`medium`,className:t.cn(`shrink-0 text-right`,e.highlight&&`text-success`),children:e.value})]},e.label)),!!o&&!!s&&(0,l.jsx)(`div`,{className:`border-t border-dashed border-border pt-3`,children:(0,l.jsxs)(`div`,{className:`flex items-baseline justify-between gap-6`,children:[(0,l.jsx)(r.s,{weight:`semibold`,type:`secondary`,className:`min-w-0`,children:o}),(0,l.jsx)(r.s,{weight:`semibold`,className:`shrink-0 text-right`,children:s})]})})]})]})}v.displayName=`DarkInfoPanel`;var y={neutral:`bg-muted-foreground`,primary:`bg-primary`,info:`bg-info`,success:`bg-success`,warning:`bg-warning`,destructive:`bg-destructive`};function b({items:n,summary:i=[],total:a,className:c,strings:u}){let d=e.useStrings(m,u);return(0,l.jsxs)(`div`,{className:t.cn(`order-items--component`,`dark rounded-lg bg-card p-4 text-card-foreground shadow-sm ring-1 ring-border`,c),children:[(0,l.jsx)(r.o,{tag:`h6`,className:`!border-0 !pb-0`,children:d.title}),(0,l.jsx)(o.o,{className:`mt-3 gap-2`,children:n.map(e=>(0,l.jsxs)(o.t,{variant:`muted`,className:`flex-col items-stretch gap-2`,children:[(0,l.jsxs)(o.s,{children:[(0,l.jsx)(r.s,{size:`xs`,type:`secondary`,children:e.vendor}),!!e.badge&&(0,l.jsx)(r.s,{size:`xs`,weight:`medium`,className:`rounded-full bg-secondary px-3 py-1 text-secondary-foreground`,children:e.badge})]}),(0,l.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-3`,children:[(0,l.jsxs)(o.r,{children:[(0,l.jsx)(o.u,{children:e.name}),(0,l.jsx)(o.i,{clamp:1,children:(0,l.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,l.jsx)(`span`,{className:t.cn(`size-2.5 rounded-full`,y[e.tone??`neutral`])}),`x`,e.qty]})})]}),(0,l.jsx)(o.n,{children:(0,l.jsx)(r.s,{weight:`bold`,children:e.price})})]})]},e.name))}),!!(i.length>0||a)&&(0,l.jsxs)(`div`,{className:`mt-3 space-y-2 border-t border-border pt-3 text-sm`,children:[i.map(e=>(0,l.jsx)(s.i,{label:e.label,value:e.value,labelClassName:`text-sm text-muted-foreground`,valueClassName:`text-sm text-muted-foreground`},e.label)),!!a&&(0,l.jsx)(s.i,{className:`border-t border-dashed border-border pt-2`,label:d.totalLabel,value:a,labelClassName:`text-sm font-semibold`,valueClassName:`text-sm font-semibold`})]})]})}b.displayName=`OrderItemsCard`;function x({amount:i,amountColor:a=`text-warning`,dueDate:o,customer:c,onSendReminder:d,onRecordPayment:f,className:p,strings:m}){let g=e.useStrings(h,m);return(0,l.jsxs)(`div`,{className:t.cn(`outstanding-balance--component`,`dark rounded-lg bg-card p-5 text-card-foreground shadow-sm ring-1 ring-border`,p),children:[(0,l.jsx)(r.s,{size:`xs`,weight:`medium`,type:`secondary`,className:`uppercase tracking-wider`,children:g.title}),(0,l.jsx)(r.o,{tag:`h3`,className:t.cn(`border-none pb-0 text-2xl tabular-nums tracking-tight`,a),children:i}),(0,l.jsxs)(`div`,{className:`mt-4 space-y-2`,children:[(0,l.jsx)(s.i,{label:g.dueDateLabel,value:(0,l.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,l.jsx)(`span`,{className:`size-2 rounded-full bg-destructive animate-pulse`}),(0,l.jsx)(r.s,{tag:`span`,weight:`medium`,children:o})]}),labelClassName:`text-xs`}),(0,l.jsx)(s.i,{label:g.customerLabel,value:c,labelClassName:`text-xs`,valueClassName:`text-sm font-medium`})]}),(0,l.jsxs)(`div`,{className:`mt-4 flex gap-2`,children:[(0,l.jsxs)(n.t,{variant:`warning`,className:`flex-1 rounded-md`,onClick:d,children:[(0,l.jsx)(u.Send,{className:`mr-1.5 size-3.5`}),g.sendReminder]}),(0,l.jsxs)(n.t,{variant:`success`,className:`flex-1 rounded-md`,onClick:f,children:[(0,l.jsx)(u.CreditCard,{className:`mr-1.5 size-3.5`}),g.recordPayment]})]})]})}x.displayName=`OutstandingBalanceCard`,exports.BookingReceiptDark=_,exports.DarkInfoPanel=v,exports.DarkPaymentConfirmation=g,exports.OrderItemsCard=b,exports.OutstandingBalanceCard=x;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,11 +1,11 @@
1
1
  import { useStrings as e } from "../../../lib/strings.js";
2
2
  import { cn as t } from "../../../lib/utils.js";
3
- import { t as n } from "../../../_shared/button-DHksjMvc.js";
4
- import { o as r, s as i } from "../../../_shared/typography-DE0NGEIE.js";
3
+ import { t as n } from "../../../_shared/button-vv59_uS_.js";
4
+ import { o as r, s as i } from "../../../_shared/typography-DXvCmE8w.js";
5
5
  import { t as a } from "../../../_shared/icon-badge-dZQPvuas.js";
6
6
  import { t as o } from "../../../_shared/separator-B8FBp-7E.js";
7
- import { c as s, i as c, n as l, o as u, r as d, s as f, t as p, u as m } from "../../../_shared/item-Xs-fgzaT.js";
8
- import { i as h } from "../../../_shared/data-display-BTsCY7A5.js";
7
+ import { c as s, i as c, n as l, o as u, r as d, s as f, t as p, u as m } from "../../../_shared/item-CIlSaQg8.js";
8
+ import { i as h } from "../../../_shared/data-display-BG7CD164.js";
9
9
  import { useState as g } from "react";
10
10
  import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
11
11
  import { Check as b, ChevronDown as x, ChevronRight as S, ChevronUp as C, CreditCard as w, HelpCircle as T, Send as E } from "lucide-react";
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_shared/data-display-BdGQMXit.cjs");exports.DenseInfoClassification=e.C,exports.DenseInfoDashboard=e.w,exports.DenseInfoFinancial=e.S,exports.DenseInfoProjectCard=e.x,exports.DenseInfoScoreCard=e.b,exports.DocumentStackIllustration=e.p,exports.EmailDisplay=e.c,exports.EmptyState=e.m,exports.InboxCleanIllustration=e.f,exports.InlineMetricBadge=e.y,exports.InlineStat=e.i,exports.InvoiceHeaderCard=e.E,exports.InvoiceItemsCompact=e.k,exports.InvoiceItemsDetailed=e.A,exports.InvoiceItemsTable=e.j,exports.InvoiceMiniCard=e.D,exports.InvoiceTable=e.T,exports.MetadataList=e.a,exports.MiniKpiRow=e.v,exports.NumericValue=e.r,exports.PhoneDisplay=e.s,exports.ResourceSelectorCard=e.g,exports.SearchGlassIllustration=e.d,exports.SectionHeader=e.t,exports.StackedCardsIllustration=e.u,exports.UrlDisplay=e.o,exports.UserCell=e.n,exports.UsersCircleIllustration=e.l,exports.defaultEmptyStateStrings=e.h,exports.defaultResourceSelectorCardStrings=e._,exports.invoiceStatusMap=e.O;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_shared/data-display-CXVoX3la.cjs");exports.DenseInfoClassification=e.C,exports.DenseInfoDashboard=e.w,exports.DenseInfoFinancial=e.S,exports.DenseInfoProjectCard=e.x,exports.DenseInfoScoreCard=e.b,exports.DocumentStackIllustration=e.p,exports.EmailDisplay=e.c,exports.EmptyState=e.m,exports.InboxCleanIllustration=e.f,exports.InlineMetricBadge=e.y,exports.InlineStat=e.i,exports.InvoiceHeaderCard=e.E,exports.InvoiceItemsCompact=e.k,exports.InvoiceItemsDetailed=e.A,exports.InvoiceItemsTable=e.j,exports.InvoiceMiniCard=e.D,exports.InvoiceTable=e.T,exports.MetadataList=e.a,exports.MiniKpiRow=e.v,exports.NumericValue=e.r,exports.PhoneDisplay=e.s,exports.ResourceSelectorCard=e.g,exports.SearchGlassIllustration=e.d,exports.SectionHeader=e.t,exports.StackedCardsIllustration=e.u,exports.UrlDisplay=e.o,exports.UserCell=e.n,exports.UsersCircleIllustration=e.l,exports.defaultEmptyStateStrings=e.h,exports.defaultResourceSelectorCardStrings=e._,exports.invoiceStatusMap=e.O;
@@ -1,2 +1,2 @@
1
- import { A as e, C as t, D as n, E as r, O as i, S as a, T as o, _ as s, a as c, b as l, c as u, d, f, g as p, h as m, i as h, j as g, k as _, l as v, m as y, n as b, o as x, p as S, r as C, s as w, t as T, u as E, v as D, w as O, x as k, y as A } from "../../../_shared/data-display-BTsCY7A5.js";
1
+ import { A as e, C as t, D as n, E as r, O as i, S as a, T as o, _ as s, a as c, b as l, c as u, d, f, g as p, h as m, i as h, j as g, k as _, l as v, m as y, n as b, o as x, p as S, r as C, s as w, t as T, u as E, v as D, w as O, x as k, y as A } from "../../../_shared/data-display-BG7CD164.js";
2
2
  export { t as DenseInfoClassification, O as DenseInfoDashboard, a as DenseInfoFinancial, k as DenseInfoProjectCard, l as DenseInfoScoreCard, S as DocumentStackIllustration, u as EmailDisplay, y as EmptyState, f as InboxCleanIllustration, A as InlineMetricBadge, h as InlineStat, r as InvoiceHeaderCard, _ as InvoiceItemsCompact, e as InvoiceItemsDetailed, g as InvoiceItemsTable, n as InvoiceMiniCard, o as InvoiceTable, c as MetadataList, D as MiniKpiRow, C as NumericValue, w as PhoneDisplay, p as ResourceSelectorCard, d as SearchGlassIllustration, T as SectionHeader, E as StackedCardsIllustration, x as UrlDisplay, b as UserCell, v as UsersCircleIllustration, m as defaultEmptyStateStrings, s as defaultResourceSelectorCardStrings, i as invoiceStatusMap };
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-list.d.ts","sourceRoot":"","sources":["../../../../../src/components/composed/data-display/metadata/metadata-list.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAG7D,OAAO,EACN,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EAAE,mBAAmB,EAAE,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAEtC,MAAM,MAAM,gBAAgB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qFAAqF;IACrF,OAAO,CAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;CAC3C,CAAC;AA8DF,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,OAAW,EACX,KAAa,EACb,UAAkB,EAClB,KAAK,EACL,cAAsB,EACtB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,MAAmB,EACnB,OAAiB,EACjB,KAAgB,EAChB,SAAgB,EAChB,aAAqB,EACrB,IAAW,EACX,OAAO,EAAE,WAAW,GACpB,EAAE,iBAAiB,4BA4TnB;yBA/Ue,YAAY"}
1
+ {"version":3,"file":"metadata-list.d.ts","sourceRoot":"","sources":["../../../../../src/components/composed/data-display/metadata/metadata-list.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAG7D,OAAO,EACN,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EAAE,mBAAmB,EAAE,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAEtC,MAAM,MAAM,gBAAgB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qFAAqF;IACrF,OAAO,CAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;CAC3C,CAAC;AA8DF,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,OAAW,EACX,KAAa,EACb,UAAkB,EAClB,KAAK,EACL,cAAsB,EACtB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,MAAmB,EACnB,OAAiB,EACjB,KAAgB,EAChB,SAAgB,EAChB,aAAqB,EACrB,IAAW,EACX,OAAO,EAAE,WAAW,GACpB,EAAE,iBAAiB,4BA+TnB;yBAlVe,YAAY"}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/button-Bd5bEIiB.cjs"),r=require("../../../_shared/typography-CO9uwZhF.cjs"),i=require("../../../_shared/badge-BeSKxX1u.cjs"),a=require("../../../_shared/cards-GSYfJ-oX.cjs"),o=require("../../../_shared/item-eUP9Rtmg.cjs");let s=require("react"),c=require("react/jsx-runtime"),l=require("lucide-react");var u={neutral:`secondary`,primary:`primary`,info:`info`,success:`success`,warning:`warning`,destructive:`error`},d={neutral:`bg-muted-foreground`,primary:`bg-primary`,info:`bg-info`,success:`bg-success`,warning:`bg-warning`,destructive:`bg-destructive`};function f({columns:e,className:n}){return(0,c.jsx)(a.t,{title:`Pipeline Overview`,titleSuffix:(0,c.jsxs)(i.t,{variant:`secondary`,children:[e.reduce((e,t)=>e+t.items.length,0),` items`]}),className:t.cn(`kanban-board--component`,n),children:(0,c.jsx)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4`,children:e.map(e=>{let n=e.tone??`neutral`;return(0,c.jsxs)(`div`,{className:`rounded-md border border-border/60 bg-muted/30 p-2`,children:[(0,c.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-2`,children:[(0,c.jsx)(r.s,{size:`xs`,weight:`semibold`,className:`truncate`,children:e.title}),(0,c.jsx)(i.t,{variant:u[n],children:e.items.length})]}),(0,c.jsx)(`div`,{className:`space-y-1.5`,children:e.items.map((i,a)=>(0,c.jsxs)(`div`,{className:`flex min-h-8 items-center gap-2 rounded-md border border-border/50 bg-card px-2 py-1.5 shadow-sm`,children:[(0,c.jsx)(`div`,{className:t.cn(`h-1.5 w-1.5 flex-shrink-0 rounded-full`,d[i.tone??n])}),(0,c.jsx)(r.s,{size:`xs`,className:`truncate`,children:i.title})]},`${e.title}-${a}`))})]},e.title)})})})}f.displayName=`KanbanMicroBoard`;function p({title:e,tabs:i,defaultTab:o,className:l}){let u=Object.keys(i),[d,f]=(0,s.useState)(o??u[0]??``);return(0,c.jsxs)(a.t,{title:e,className:t.cn(`tab-switcher--component`,`bg-gradient-to-b from-muted/30 to-card`,l),children:[(0,c.jsx)(`div`,{className:`mt-4 flex gap-1 rounded-full bg-muted/50 p-1`,children:u.map(e=>(0,c.jsx)(n.t,{variant:d===e?`light`:`secondary`,buttonStyle:d===e?`solid`:`ghost`,onClick:()=>f(e),className:t.cn(`flex-1 rounded-full capitalize`,d===e?`shadow-sm`:``),children:e},e))}),(0,c.jsx)(`div`,{className:`mt-4 space-y-2`,children:i[d]?.map(e=>(0,c.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl px-2 py-2 transition-colors hover:bg-muted/20`,children:[!!e.icon&&(0,c.jsx)(`div`,{className:`flex size-8 items-center justify-center rounded-full bg-primary/10`,children:(0,c.jsx)(e.icon,{className:`size-4 text-primary`})}),(0,c.jsx)(r.s,{className:`flex-1`,children:e.name}),(0,c.jsx)(r.s,{weight:`bold`,children:e.value})]},e.name))})]})}p.displayName=`TabSwitcherCard`;var m={legendNone:`None`,legendLow:`Low`,legendMedium:`Medium`,legendHigh:`High`,legendNow:`Now`,formatHourTitle:(e,t)=>`${e}:00 - ${t} bookings`};function h({hours:n,currentHour:i,className:a,strings:o}){let s=e.useStrings(m,o),l=Math.max(...n,1),u=n.indexOf(Math.max(...n));function d(e){if(e===0)return`bg-muted`;let t=e/l;return t<.33?`bg-primary/25`:t<.66?`bg-primary/55`:`bg-primary`}return(0,c.jsxs)(`div`,{className:t.cn(`time-ruler--component`,`space-y-1.5`,a),children:[(0,c.jsx)(`div`,{className:`relative flex h-8 gap-px overflow-hidden rounded-md`,children:n.map((e,n)=>(0,c.jsx)(`div`,{className:t.cn(`relative flex-1 transition-colors duration-200`,d(e),n===u&&`ring-1 ring-primary ring-inset`),title:s.formatHourTitle(String(n).padStart(2,`0`),e)},n))}),(0,c.jsx)(`div`,{className:`relative flex`,children:n.map((e,t)=>(0,c.jsx)(`div`,{className:`flex-1 text-center`,children:t%4==0&&(0,c.jsx)(r.s,{size:`xxs`,type:`secondary`,className:`tabular-nums`,children:String(t).padStart(2,`0`)})},t))}),i!==void 0&&i>=0&&i<24&&(0,c.jsx)(`div`,{className:`relative h-0`,children:(0,c.jsx)(`div`,{className:`absolute -top-[42px] flex flex-col items-center`,style:{left:`${i/24*100}%`,transform:`translateX(-50%)`},children:(0,c.jsx)(`div`,{className:`h-0 w-0 border-x-[4px] border-b-[5px] border-x-transparent border-b-destructive`})})}),(0,c.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-muted`}),(0,c.jsx)(r.s,{size:`xxs`,type:`secondary`,children:s.legendNone})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-primary/25`}),(0,c.jsx)(r.s,{size:`xxs`,type:`secondary`,children:s.legendLow})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-primary/55`}),(0,c.jsx)(r.s,{size:`xxs`,type:`secondary`,children:s.legendMedium})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-primary`}),(0,c.jsx)(r.s,{size:`xxs`,type:`secondary`,children:s.legendHigh})]}),i!==void 0&&(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive`}),(0,c.jsx)(r.s,{size:`xxs`,type:`secondary`,children:s.legendNow})]})]})]})}h.displayName=`TimeDistributionRuler`;function g({rating:e,maxRating:n=5}){return(0,c.jsx)(`div`,{className:t.cn(`vendor-performance--component`,`flex items-center gap-0.5`),children:Array.from({length:n},(n,r)=>(0,c.jsx)(`svg`,{className:t.cn(`h-3.5 w-3.5`,r<e?`text-warning`:`text-muted`),viewBox:`0 0 24 24`,fill:`currentColor`,stroke:`none`,children:(0,c.jsx)(`path`,{d:`M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z`})},`star-${String(r)}`))})}function _(e){return e>=80?`bg-success`:e>=50?`bg-warning`:`bg-destructive`}function v({vendorName:e,rating:n,maxRating:i=5,metrics:o,performanceScore:s,lastActive:l,joinedDate:u,className:d}){return(0,c.jsx)(a.t,{title:e,className:d,footerText:(0,c.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,c.jsxs)(r.s,{size:`xxs`,type:`secondary`,children:[`Last active: `,l]}),(0,c.jsxs)(r.s,{size:`xxs`,type:`secondary`,children:[`Joined: `,u]})]}),children:(0,c.jsxs)(`div`,{className:`space-y-4`,children:[(0,c.jsx)(g,{rating:n,maxRating:i}),(0,c.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:[{label:`Bookings`,value:String(o.bookings)},{label:`Revenue`,value:o.revenue},{label:`Avg Rating`,value:String(o.avgRating)},{label:`Response`,value:o.responseTime}].map(e=>(0,c.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-3 text-center`,children:[(0,c.jsx)(r.s,{size:`lg`,weight:`bold`,className:`tabular-nums`,children:e.value}),(0,c.jsx)(r.s,{size:`xxs`,type:`secondary`,children:e.label})]},e.label))}),(0,c.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,c.jsx)(r.s,{children:`Performance`}),(0,c.jsxs)(r.s,{weight:`semibold`,className:`tabular-nums`,children:[s,`%`]})]}),(0,c.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-muted`,children:(0,c.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-all duration-500`,_(s)),style:{width:`${String(s)}%`}})})]})]})})}v.displayName=`VendorPerformanceCard`;var y={description:`Experiences completed this week`,addActionLabel:`Add activity`};function b({completed:i,total:s,activities:u,onAdd:d,strings:f,className:p}){let m=e.useStrings(y,f);return(0,c.jsx)(a.t,{title:`${i} out of ${s}`,description:m.description,headerEnd:!!d&&(0,c.jsx)(n.t,{variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,"aria-label":m.addActionLabel,onClick:d,children:(0,c.jsx)(l.Plus,{className:`size-4`})}),className:t.cn(`experience-activity--component`,p),children:(0,c.jsx)(o.o,{children:u.map((e,t)=>(0,c.jsxs)(`div`,{children:[t>0&&(0,c.jsx)(o.l,{}),(0,c.jsxs)(o.t,{size:`small`,className:`items-start`,children:[(0,c.jsx)(o.c,{children:(0,c.jsx)(`div`,{className:`flex size-8 items-center justify-center rounded-md bg-primary/10 text-primary`,children:(0,c.jsx)(e.icon,{className:`size-4`})})}),(0,c.jsxs)(o.r,{children:[(0,c.jsx)(o.u,{children:e.title}),(0,c.jsx)(o.i,{clamp:1,children:e.time}),(0,c.jsx)(`div`,{className:`mt-2 grid grid-cols-2 gap-1.5`,children:e.metrics.map(e=>(0,c.jsxs)(`div`,{className:`rounded-md border border-border/50 bg-muted/25 px-2.5 py-1.5`,children:[(0,c.jsx)(r.s,{size:`xs`,type:`secondary`,children:e.label}),(0,c.jsx)(r.s,{size:`xs`,weight:`semibold`,children:e.value})]},e.label))})]})]})]},e.title))})})}b.displayName=`ExperienceActivityCard`;var x={stepLabel:`Step`,ofLabel:`of`};function S({steps:i,currentIndex:a,onStepClick:o,className:s,strings:u}){let d=e.useStrings(x,u);return(0,c.jsxs)(`div`,{className:t.cn(`breadcrumb-progress--component`,`w-full`,s),children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,c.jsxs)(r.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:[d.stepLabel,` `,a+1,` `,d.ofLabel,` `,i.length]}),(0,c.jsxs)(r.s,{tag:`span`,size:`xs`,weight:`semibold`,className:`tabular-nums`,children:[Math.round((a+1)/i.length*100),`%`]})]}),(0,c.jsx)(`ol`,{className:`flex items-center gap-2`,children:i.map((e,s)=>{let u=s<a,d=s===a,f=o&&(u||d);return(0,c.jsxs)(`li`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,c.jsxs)(n.t,{type:`button`,onClick:()=>f&&o?.(e.id,s),disabled:!f,variant:`secondary`,buttonStyle:`ghost`,size:`default`,className:t.cn(`h-auto min-w-0 justify-start gap-2 rounded-md px-2 py-1 text-left transition-colors`,f&&`hover:bg-muted/40`,!f&&`cursor-default`),children:[(0,c.jsx)(`span`,{className:t.cn(`flex size-6 shrink-0 items-center justify-center rounded-full text-xs font-semibold tabular-nums`,u&&`bg-success text-success-foreground`,d&&`bg-primary text-primary-foreground ring-4 ring-primary/15`,!u&&!d&&`bg-muted text-muted-foreground`),children:u?(0,c.jsx)(l.Check,{className:`size-3.5`}):s+1}),(0,c.jsxs)(`div`,{className:`hidden min-w-0 lg:block`,children:[(0,c.jsx)(r.s,{size:`xs`,weight:`semibold`,className:t.cn(!d&&!u&&`text-muted-foreground`),children:e.label}),!!e.hint&&(0,c.jsx)(r.s,{size:`xxs`,type:`discrete`,className:`truncate`,children:e.hint})]})]}),s<i.length-1&&(0,c.jsx)(`div`,{className:t.cn(`h-px flex-1`,u?`bg-success`:`bg-border`)})]},e.id)})})]})}S.displayName=`BreadcrumbProgress`;function C({title:e,items:n,activeId:r,onSelect:s,className:u}){return(0,c.jsx)(a.t,{title:e,padding:`default`,className:t.cn(`category-nav--component`,u),children:(0,c.jsx)(o.o,{children:n.map(e=>{let n=e.icon,a=e.id===r;return(0,c.jsxs)(o.t,{size:`small`,onClick:()=>s?.(e.id),"data-state":a?`active`:`inactive`,className:t.cn(`cursor-pointer transition-colors`,a?`bg-primary/10 text-primary`:`hover:bg-muted/50`),children:[!!n&&(0,c.jsx)(o.c,{variant:`icon`,className:t.cn(a?`text-primary`:`text-muted-foreground`),children:(0,c.jsx)(n,{})}),(0,c.jsxs)(o.r,{children:[(0,c.jsx)(o.u,{bold:a,children:e.label}),!!e.hint&&(0,c.jsx)(o.i,{clamp:1,children:e.hint})]}),(0,c.jsxs)(o.n,{children:[typeof e.count==`number`&&(0,c.jsx)(i.t,{variant:a?`primary`:`secondary`,className:`tabular-nums`,children:e.count}),(0,c.jsx)(l.ChevronRight,{className:t.cn(`size-4 shrink-0 text-muted-foreground/60`,a&&`text-primary`)})]})]},e.id)})})})}C.displayName=`CategoryNavCard`,exports.BreadcrumbProgress=S,exports.CategoryNavCard=C,exports.ExperienceActivityCard=b,exports.KanbanMicroBoard=f,exports.TabSwitcherCard=p,exports.TimeDistributionRuler=h,exports.VendorPerformanceCard=v,exports.defaultBreadcrumbProgressStrings=x;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/button-BMiPFJIb.cjs"),r=require("../../../_shared/typography-pzCKaFOc.cjs"),i=require("../../../_shared/badge-DvUA9Pr2.cjs"),a=require("../../../_shared/cards-DQN9fcwo.cjs"),o=require("../../../_shared/item-CSk9Y2qB.cjs");let s=require("react"),c=require("react/jsx-runtime"),l=require("lucide-react");var u={neutral:`secondary`,primary:`primary`,info:`info`,success:`success`,warning:`warning`,destructive:`error`},d={neutral:`bg-muted-foreground`,primary:`bg-primary`,info:`bg-info`,success:`bg-success`,warning:`bg-warning`,destructive:`bg-destructive`};function f({columns:e,className:n}){return(0,c.jsx)(a.t,{title:`Pipeline Overview`,titleSuffix:(0,c.jsxs)(i.t,{variant:`secondary`,children:[e.reduce((e,t)=>e+t.items.length,0),` items`]}),className:t.cn(`kanban-board--component`,n),children:(0,c.jsx)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4`,children:e.map(e=>{let n=e.tone??`neutral`;return(0,c.jsxs)(`div`,{className:`rounded-md border border-border/60 bg-muted/30 p-2`,children:[(0,c.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-2`,children:[(0,c.jsx)(r.s,{size:`xs`,weight:`semibold`,className:`truncate`,children:e.title}),(0,c.jsx)(i.t,{variant:u[n],children:e.items.length})]}),(0,c.jsx)(`div`,{className:`space-y-1.5`,children:e.items.map((i,a)=>(0,c.jsxs)(`div`,{className:`flex min-h-8 items-center gap-2 rounded-md border border-border/50 bg-card px-2 py-1.5 shadow-sm`,children:[(0,c.jsx)(`div`,{className:t.cn(`h-1.5 w-1.5 flex-shrink-0 rounded-full`,d[i.tone??n])}),(0,c.jsx)(r.s,{size:`xs`,className:`truncate`,children:i.title})]},`${e.title}-${a}`))})]},e.title)})})})}f.displayName=`KanbanMicroBoard`;function p({title:e,tabs:i,defaultTab:o,className:l}){let u=Object.keys(i),[d,f]=(0,s.useState)(o??u[0]??``);return(0,c.jsxs)(a.t,{title:e,className:t.cn(`tab-switcher--component`,`bg-gradient-to-b from-muted/30 to-card`,l),children:[(0,c.jsx)(`div`,{className:`mt-4 flex gap-1 rounded-full bg-muted/50 p-1`,children:u.map(e=>(0,c.jsx)(n.t,{variant:d===e?`light`:`secondary`,buttonStyle:d===e?`solid`:`ghost`,onClick:()=>f(e),className:t.cn(`flex-1 rounded-full capitalize`,d===e?`shadow-sm`:``),children:e},e))}),(0,c.jsx)(`div`,{className:`mt-4 space-y-2`,children:i[d]?.map(e=>(0,c.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl px-2 py-2 transition-colors hover:bg-muted/20`,children:[!!e.icon&&(0,c.jsx)(`div`,{className:`flex size-8 items-center justify-center rounded-full bg-primary/10`,children:(0,c.jsx)(e.icon,{className:`size-4 text-primary`})}),(0,c.jsx)(r.s,{className:`flex-1`,children:e.name}),(0,c.jsx)(r.s,{weight:`bold`,children:e.value})]},e.name))})]})}p.displayName=`TabSwitcherCard`;var m={legendNone:`None`,legendLow:`Low`,legendMedium:`Medium`,legendHigh:`High`,legendNow:`Now`,formatHourTitle:(e,t)=>`${e}:00 - ${t} bookings`};function h({hours:n,currentHour:i,className:a,strings:o}){let s=e.useStrings(m,o),l=Math.max(...n,1),u=n.indexOf(Math.max(...n));function d(e){if(e===0)return`bg-muted`;let t=e/l;return t<.33?`bg-primary/25`:t<.66?`bg-primary/55`:`bg-primary`}return(0,c.jsxs)(`div`,{className:t.cn(`time-ruler--component`,`space-y-1.5`,a),children:[(0,c.jsx)(`div`,{className:`relative flex h-8 gap-px overflow-hidden rounded-md`,children:n.map((e,n)=>(0,c.jsx)(`div`,{className:t.cn(`relative flex-1 transition-colors duration-200`,d(e),n===u&&`ring-1 ring-primary ring-inset`),title:s.formatHourTitle(String(n).padStart(2,`0`),e)},n))}),(0,c.jsx)(`div`,{className:`relative flex`,children:n.map((e,t)=>(0,c.jsx)(`div`,{className:`flex-1 text-center`,children:t%4==0&&(0,c.jsx)(r.s,{size:`xs`,type:`secondary`,className:`tabular-nums`,children:String(t).padStart(2,`0`)})},t))}),i!==void 0&&i>=0&&i<24&&(0,c.jsx)(`div`,{className:`relative h-0`,children:(0,c.jsx)(`div`,{className:`absolute -top-[42px] flex flex-col items-center`,style:{left:`${i/24*100}%`,transform:`translateX(-50%)`},children:(0,c.jsx)(`div`,{className:`h-0 w-0 border-x-[4px] border-b-[5px] border-x-transparent border-b-destructive`})})}),(0,c.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-muted`}),(0,c.jsx)(r.s,{size:`xs`,type:`secondary`,children:s.legendNone})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-primary/25`}),(0,c.jsx)(r.s,{size:`xs`,type:`secondary`,children:s.legendLow})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-primary/55`}),(0,c.jsx)(r.s,{size:`xs`,type:`secondary`,children:s.legendMedium})]}),(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-2 w-3 rounded-sm bg-primary`}),(0,c.jsx)(r.s,{size:`xs`,type:`secondary`,children:s.legendHigh})]}),i!==void 0&&(0,c.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,c.jsx)(`div`,{className:`h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive`}),(0,c.jsx)(r.s,{size:`xs`,type:`secondary`,children:s.legendNow})]})]})]})}h.displayName=`TimeDistributionRuler`;function g({rating:e,maxRating:n=5}){return(0,c.jsx)(`div`,{className:t.cn(`vendor-performance--component`,`flex items-center gap-0.5`),children:Array.from({length:n},(n,r)=>(0,c.jsx)(`svg`,{className:t.cn(`h-3.5 w-3.5`,r<e?`text-warning`:`text-muted`),viewBox:`0 0 24 24`,fill:`currentColor`,stroke:`none`,children:(0,c.jsx)(`path`,{d:`M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z`})},`star-${String(r)}`))})}function _(e){return e>=80?`bg-success`:e>=50?`bg-warning`:`bg-destructive`}function v({vendorName:e,rating:n,maxRating:i=5,metrics:o,performanceScore:s,lastActive:l,joinedDate:u,className:d}){return(0,c.jsx)(a.t,{title:e,className:d,footerText:(0,c.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,c.jsxs)(r.s,{size:`xs`,type:`secondary`,children:[`Last active: `,l]}),(0,c.jsxs)(r.s,{size:`xs`,type:`secondary`,children:[`Joined: `,u]})]}),children:(0,c.jsxs)(`div`,{className:`space-y-4`,children:[(0,c.jsx)(g,{rating:n,maxRating:i}),(0,c.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:[{label:`Bookings`,value:String(o.bookings)},{label:`Revenue`,value:o.revenue},{label:`Avg Rating`,value:String(o.avgRating)},{label:`Response`,value:o.responseTime}].map(e=>(0,c.jsxs)(`div`,{className:`rounded-lg bg-muted/50 p-3 text-center`,children:[(0,c.jsx)(r.s,{size:`lg`,weight:`bold`,className:`tabular-nums`,children:e.value}),(0,c.jsx)(r.s,{size:`xs`,type:`secondary`,children:e.label})]},e.label))}),(0,c.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,c.jsx)(r.s,{children:`Performance`}),(0,c.jsxs)(r.s,{weight:`semibold`,className:`tabular-nums`,children:[s,`%`]})]}),(0,c.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-muted`,children:(0,c.jsx)(`div`,{className:t.cn(`h-full rounded-full transition-all duration-500`,_(s)),style:{width:`${String(s)}%`}})})]})]})})}v.displayName=`VendorPerformanceCard`;var y={description:`Experiences completed this week`,addActionLabel:`Add activity`};function b({completed:i,total:s,activities:u,onAdd:d,strings:f,className:p}){let m=e.useStrings(y,f);return(0,c.jsx)(a.t,{title:`${i} out of ${s}`,description:m.description,headerEnd:!!d&&(0,c.jsx)(n.t,{variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,"aria-label":m.addActionLabel,onClick:d,children:(0,c.jsx)(l.Plus,{className:`size-4`})}),className:t.cn(`experience-activity--component`,p),children:(0,c.jsx)(o.o,{children:u.map((e,t)=>(0,c.jsxs)(`div`,{children:[t>0&&(0,c.jsx)(o.l,{}),(0,c.jsxs)(o.t,{size:`small`,className:`items-start`,children:[(0,c.jsx)(o.c,{children:(0,c.jsx)(`div`,{className:`flex size-8 items-center justify-center rounded-md bg-primary/10 text-primary`,children:(0,c.jsx)(e.icon,{className:`size-4`})})}),(0,c.jsxs)(o.r,{children:[(0,c.jsx)(o.u,{children:e.title}),(0,c.jsx)(o.i,{clamp:1,children:e.time}),(0,c.jsx)(`div`,{className:`mt-2 grid grid-cols-2 gap-1.5`,children:e.metrics.map(e=>(0,c.jsxs)(`div`,{className:`rounded-md border border-border/50 bg-muted/25 px-2.5 py-1.5`,children:[(0,c.jsx)(r.s,{size:`xs`,type:`secondary`,children:e.label}),(0,c.jsx)(r.s,{size:`xs`,weight:`semibold`,children:e.value})]},e.label))})]})]})]},e.title))})})}b.displayName=`ExperienceActivityCard`;var x={stepLabel:`Step`,ofLabel:`of`};function S({steps:i,currentIndex:a,onStepClick:o,className:s,strings:u}){let d=e.useStrings(x,u);return(0,c.jsxs)(`div`,{className:t.cn(`breadcrumb-progress--component`,`w-full`,s),children:[(0,c.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,c.jsxs)(r.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:[d.stepLabel,` `,a+1,` `,d.ofLabel,` `,i.length]}),(0,c.jsxs)(r.s,{tag:`span`,size:`xs`,weight:`semibold`,className:`tabular-nums`,children:[Math.round((a+1)/i.length*100),`%`]})]}),(0,c.jsx)(`ol`,{className:`flex items-center gap-2`,children:i.map((e,s)=>{let u=s<a,d=s===a,f=o&&(u||d);return(0,c.jsxs)(`li`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,c.jsxs)(n.t,{type:`button`,onClick:()=>f&&o?.(e.id,s),disabled:!f,variant:`secondary`,buttonStyle:`ghost`,size:`default`,className:t.cn(`h-auto min-w-0 justify-start gap-2 rounded-md px-2 py-1 text-left transition-colors`,f&&`hover:bg-muted/40`,!f&&`cursor-default`),children:[(0,c.jsx)(`span`,{className:t.cn(`flex size-6 shrink-0 items-center justify-center rounded-full text-xs font-semibold tabular-nums`,u&&`bg-success text-success-foreground`,d&&`bg-primary text-primary-foreground ring-4 ring-primary/15`,!u&&!d&&`bg-muted text-muted-foreground`),children:u?(0,c.jsx)(l.Check,{className:`size-3.5`}):s+1}),(0,c.jsxs)(`div`,{className:`hidden min-w-0 lg:block`,children:[(0,c.jsx)(r.s,{size:`xs`,weight:`semibold`,className:t.cn(!d&&!u&&`text-muted-foreground`),children:e.label}),!!e.hint&&(0,c.jsx)(r.s,{size:`xs`,type:`discrete`,className:`truncate`,children:e.hint})]})]}),s<i.length-1&&(0,c.jsx)(`div`,{className:t.cn(`h-px flex-1`,u?`bg-success`:`bg-border`)})]},e.id)})})]})}S.displayName=`BreadcrumbProgress`;function C({title:e,items:n,activeId:r,onSelect:s,className:u}){return(0,c.jsx)(a.t,{title:e,padding:`default`,className:t.cn(`category-nav--component`,u),children:(0,c.jsx)(o.o,{children:n.map(e=>{let n=e.icon,a=e.id===r;return(0,c.jsxs)(o.t,{size:`small`,onClick:()=>s?.(e.id),"data-state":a?`active`:`inactive`,className:t.cn(`cursor-pointer transition-colors`,a?`bg-primary/10 text-primary`:`hover:bg-muted/50`),children:[!!n&&(0,c.jsx)(o.c,{variant:`icon`,className:t.cn(a?`text-primary`:`text-muted-foreground`),children:(0,c.jsx)(n,{})}),(0,c.jsxs)(o.r,{children:[(0,c.jsx)(o.u,{bold:a,children:e.label}),!!e.hint&&(0,c.jsx)(o.i,{clamp:1,children:e.hint})]}),(0,c.jsxs)(o.n,{children:[typeof e.count==`number`&&(0,c.jsx)(i.t,{variant:a?`primary`:`secondary`,className:`tabular-nums`,children:e.count}),(0,c.jsx)(l.ChevronRight,{className:t.cn(`size-4 shrink-0 text-muted-foreground/60`,a&&`text-primary`)})]})]},e.id)})})})}C.displayName=`CategoryNavCard`,exports.BreadcrumbProgress=S,exports.CategoryNavCard=C,exports.ExperienceActivityCard=b,exports.KanbanMicroBoard=f,exports.TabSwitcherCard=p,exports.TimeDistributionRuler=h,exports.VendorPerformanceCard=v,exports.defaultBreadcrumbProgressStrings=x;
2
2
  //# sourceMappingURL=index.cjs.map