themelia-react-ui 1.0.0 → 1.0.2

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 (507) hide show
  1. package/CHANGELOG.md +190 -1
  2. package/README.md +92 -13
  3. package/dist/{accordion-BRWh3BM1.js → accordion-BRTcsp8J.js} +8 -8
  4. package/dist/accordion-BRTcsp8J.js.map +1 -0
  5. package/dist/{action-menu-Cx3SdfbN.js → action-menu-Drxw_vJk.js} +36 -36
  6. package/dist/action-menu-Drxw_vJk.js.map +1 -0
  7. package/dist/affordance-geometry.generated-CL84ZN9A.js +63 -0
  8. package/dist/affordance-geometry.generated-CL84ZN9A.js.map +1 -0
  9. package/dist/{ai-artifact-DkOArd3-.js → ai-artifact-DLVdK0Py.js} +151 -155
  10. package/dist/ai-artifact-DLVdK0Py.js.map +1 -0
  11. package/dist/{app-shell-BH_bGcE2.js → app-shell-C_fKpljx.js} +11 -10
  12. package/dist/app-shell-C_fKpljx.js.map +1 -0
  13. package/dist/{attachment-DsLgNHXt.js → attachment-DbjUWsP0.js} +12 -12
  14. package/dist/{attachment-DsLgNHXt.js.map → attachment-DbjUWsP0.js.map} +1 -1
  15. package/dist/auth-CAQcasMV.js +723 -0
  16. package/dist/auth-CAQcasMV.js.map +1 -0
  17. package/dist/{avatar-CsnWaYmt.js → avatar-Bu2HhitA.js} +76 -71
  18. package/dist/avatar-Bu2HhitA.js.map +1 -0
  19. package/dist/{badge-BZXZT9wd.js → badge-CzId1Wlm.js} +4 -4
  20. package/dist/{badge-BZXZT9wd.js.map → badge-CzId1Wlm.js.map} +1 -1
  21. package/dist/base/accordion.js +1 -1
  22. package/dist/base/action-menu.js +1 -1
  23. package/dist/base/attachment.js +1 -1
  24. package/dist/base/avatar.js +1 -1
  25. package/dist/base/badge.js +1 -1
  26. package/dist/base/buttons.js +3 -2
  27. package/dist/base/cards.js +3 -3
  28. package/dist/base/carousel.js +25 -27
  29. package/dist/base/carousel.js.map +1 -1
  30. package/dist/base/cascader.js +150 -148
  31. package/dist/base/cascader.js.map +1 -1
  32. package/dist/base/chart.js +1 -1
  33. package/dist/base/choice-inputs.js +3 -2
  34. package/dist/base/code-block.js +1 -1
  35. package/dist/base/combobox.js +1 -1
  36. package/dist/base/command.js +1 -1
  37. package/dist/base/copyable.js +1 -1
  38. package/dist/base/date-pickers.js +3 -3
  39. package/dist/base/display.js +7 -7
  40. package/dist/base/feedback.js +4 -3
  41. package/dist/base/forms-numeric.js +1 -1
  42. package/dist/base/forms.js +2 -2
  43. package/dist/base/inline-edit.js +233 -0
  44. package/dist/base/inline-edit.js.map +1 -0
  45. package/dist/base/item.js +1 -1
  46. package/dist/base/media-gallery.js +1 -1
  47. package/dist/base/navigation.js +6 -6
  48. package/dist/base/popover-menu.js +1 -1
  49. package/dist/base/popover.js +1 -1
  50. package/dist/base/qr-code.js +1 -1
  51. package/dist/base/repeaters.js +33 -33
  52. package/dist/base/repeaters.js.map +1 -1
  53. package/dist/base/sheet.js +1 -1
  54. package/dist/base/sidebar.js +1 -1
  55. package/dist/base/signature-pad.js +83 -81
  56. package/dist/base/signature-pad.js.map +1 -1
  57. package/dist/base/skeleton.js +1 -1
  58. package/dist/base/spinner.js +1 -1
  59. package/dist/base/structure.js +1 -1
  60. package/dist/base/table.js +1 -1
  61. package/dist/base/text-inputs.js +2 -2
  62. package/dist/base/toaster.js +6 -6
  63. package/dist/base/toaster.js.map +1 -1
  64. package/dist/base/tree.js +1 -1
  65. package/dist/base/upload-queue.js +1 -1
  66. package/dist/base/upload.js +3 -3
  67. package/dist/base/value-inputs.js +1 -1
  68. package/dist/blocks/admin.js +134 -134
  69. package/dist/blocks/admin.js.map +1 -1
  70. package/dist/blocks/ai.js +120 -117
  71. package/dist/blocks/ai.js.map +1 -1
  72. package/dist/blocks/analytics/usage-card.js +3 -0
  73. package/dist/blocks/analytics.js +530 -491
  74. package/dist/blocks/analytics.js.map +1 -1
  75. package/dist/blocks/collaboration.js +2 -2
  76. package/dist/blocks/commerce/receipt.js +1 -1
  77. package/dist/blocks/commerce.js +395 -383
  78. package/dist/blocks/commerce.js.map +1 -1
  79. package/dist/blocks/data-display.js +1 -1
  80. package/dist/blocks/onboarding.js +6 -6
  81. package/dist/blocks/onboarding.js.map +1 -1
  82. package/dist/blocks/planning.js +311 -0
  83. package/dist/blocks/planning.js.map +1 -0
  84. package/dist/blocks/timelines.js +1 -1
  85. package/dist/{breadcrumbs-DdQ_I5ra.js → breadcrumbs-BuYz5SDU.js} +9 -8
  86. package/dist/breadcrumbs-BuYz5SDU.js.map +1 -0
  87. package/dist/button-BZDasD04.js +651 -0
  88. package/dist/button-BZDasD04.js.map +1 -0
  89. package/dist/{button-BS6l5JUw.js → button-BZyfTvwm.js} +3 -3
  90. package/dist/button-BZyfTvwm.js.map +1 -0
  91. package/dist/buttons-D_6KJvEE.js +99 -0
  92. package/dist/buttons-D_6KJvEE.js.map +1 -0
  93. package/dist/{cards-BMB0laLG.js → cards-qGSErLw_.js} +12 -12
  94. package/dist/{cards-BMB0laLG.js.map → cards-qGSErLw_.js.map} +1 -1
  95. package/dist/chart-Bsc5BICK.js +150 -0
  96. package/dist/chart-Bsc5BICK.js.map +1 -0
  97. package/dist/checkbox-BQNDjUCh.js +34 -0
  98. package/dist/checkbox-BQNDjUCh.js.map +1 -0
  99. package/dist/choice-inputs-Mk3iWbhr.js +725 -0
  100. package/dist/choice-inputs-Mk3iWbhr.js.map +1 -0
  101. package/dist/{code-block-DIlqzoiD.js → code-block-DzHKRybS.js} +23 -23
  102. package/dist/code-block-DzHKRybS.js.map +1 -0
  103. package/dist/{collapsible-DsnktFNv.js → collapsible-ClvC7Bj3.js} +3 -3
  104. package/dist/{collapsible-DsnktFNv.js.map → collapsible-ClvC7Bj3.js.map} +1 -1
  105. package/dist/{collection-content-C4fthJV_.js → collection-content-D6S8cv_n.js} +3 -3
  106. package/dist/{collection-content-C4fthJV_.js.map → collection-content-D6S8cv_n.js.map} +1 -1
  107. package/dist/{combobox-HDftpzxt.js → combobox-BFnbJJp3.js} +18 -18
  108. package/dist/combobox-BFnbJJp3.js.map +1 -0
  109. package/dist/{combobox-CHD750do.js → combobox-hozNwUcc.js} +313 -316
  110. package/dist/combobox-hozNwUcc.js.map +1 -0
  111. package/dist/{command-D0kWBZfd.js → command-BnmSchli.js} +9 -9
  112. package/dist/command-BnmSchli.js.map +1 -0
  113. package/dist/comments-u5L0OGip.js +1156 -0
  114. package/dist/comments-u5L0OGip.js.map +1 -0
  115. package/dist/components/base/buttons/button-group.recipes.d.ts +1 -1
  116. package/dist/components/base/buttons/button.recipes.d.ts +10 -19
  117. package/dist/components/base/buttons/use-pending-button-focus.d.ts +3 -0
  118. package/dist/components/base/cards/card.recipes.d.ts +13 -5
  119. package/dist/components/base/cards/partials/card-primitives.d.ts +9 -4
  120. package/dist/components/base/cards/smart-card.types.d.ts +3 -1
  121. package/dist/components/base/date-pickers/date-picker.recipes.d.ts +5 -18
  122. package/dist/components/base/date-pickers/datepicker.types.d.ts +3 -0
  123. package/dist/components/base/forms/form-field.d.ts +1 -0
  124. package/dist/components/base/forms/form-sizing.d.ts +3 -3
  125. package/dist/components/base/inline-edit/index.d.ts +2 -0
  126. package/dist/components/base/inline-edit/inline-edit.d.ts +81 -0
  127. package/dist/components/base/inline-edit/inline-edit.recipes.d.ts +6 -0
  128. package/dist/components/base/navigation/tabs.d.ts +3 -5
  129. package/dist/components/base/popover/popover.recipes.d.ts +3 -3
  130. package/dist/components/base/structure/structure.recipes.d.ts +6 -0
  131. package/dist/components/base/table/index.d.ts +1 -1
  132. package/dist/components/base/text-inputs/clear-native-field.d.ts +2 -0
  133. package/dist/components/base/text-inputs/input-trailing-action.d.ts +3 -0
  134. package/dist/components/blocks/analytics/index.d.ts +1 -0
  135. package/dist/components/blocks/analytics/types.d.ts +1 -1
  136. package/dist/components/blocks/analytics/usage-card/index.d.ts +3 -0
  137. package/dist/components/blocks/analytics/usage-card/types.d.ts +52 -0
  138. package/dist/components/blocks/analytics/usage-card/usage-card.d.ts +6 -0
  139. package/dist/components/blocks/analytics/usage-card/usage-card.data.d.ts +19 -0
  140. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +22 -0
  141. package/dist/components/blocks/collaboration/message/message.recipes.d.ts +12 -0
  142. package/dist/components/blocks/data-display/empty-state/partials/illustrations/document-stack.d.ts +1 -4
  143. package/dist/components/blocks/data-display/empty-state/partials/illustrations/inbox-clean.d.ts +1 -4
  144. package/dist/components/blocks/data-display/empty-state/partials/illustrations/index.d.ts +3 -3
  145. package/dist/components/blocks/data-display/empty-state/partials/illustrations/stacked-cards.d.ts +1 -6
  146. package/dist/components/blocks/planning/index.d.ts +3 -0
  147. package/dist/components/blocks/planning/task-card.d.ts +3 -0
  148. package/dist/components/blocks/planning/task-card.strings.d.ts +15 -0
  149. package/dist/components/blocks/planning/task-card.types.d.ts +66 -0
  150. package/dist/components/features/combobox/components/error-message.d.ts +1 -1
  151. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -0
  152. package/dist/components/features/filters/facets/search-facet.d.ts +0 -12
  153. package/dist/components/features/filters/facets/tags-facet.d.ts +1 -1
  154. package/dist/components/features/media-library/media-library.d.ts +1 -1
  155. package/dist/components/features/media-library/media-library.types.d.ts +9 -1
  156. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  157. package/dist/components/features/overlays/hooks/use-pending-overlay-focus.d.ts +2 -0
  158. package/dist/components/features/overlays/overlays.types.d.ts +5 -4
  159. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +2 -1
  160. package/dist/components/features/table/data-table.d.ts +1 -1
  161. package/dist/components/features/table/table.types.d.ts +1 -1
  162. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +3 -1
  163. package/dist/components/layout/auth/auth.types.d.ts +1 -0
  164. package/dist/components/layout/page/page.d.ts +0 -1
  165. package/dist/components/layout/page/page.types.d.ts +9 -3
  166. package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -1
  167. package/dist/components/layout/sidebar/sidebar.types.d.ts +4 -0
  168. package/dist/components/layout/workspace/workspace.types.d.ts +3 -0
  169. package/dist/components/typography/heading.d.ts +5 -2
  170. package/dist/components/typography/index.d.ts +1 -1
  171. package/dist/components/typography/text.styles.d.ts +10 -0
  172. package/dist/components/ui/popover.d.ts +1 -1
  173. package/dist/components/ui/sidebar.d.ts +1 -1
  174. package/dist/components/ui/table.d.ts +2 -1
  175. package/dist/container.recipes-D9t8MHR3.js +27 -0
  176. package/dist/container.recipes-D9t8MHR3.js.map +1 -0
  177. package/dist/{containers-CPNyNo1_.js → containers-DqB-bSYE.js} +34 -56
  178. package/dist/containers-DqB-bSYE.js.map +1 -0
  179. package/dist/control-group-recipes-DBXmfh2E.js +21 -0
  180. package/dist/control-group-recipes-DBXmfh2E.js.map +1 -0
  181. package/dist/{copyable-B7SBXJMr.js → copyable-BTSByfmq.js} +6 -6
  182. package/dist/{copyable-B7SBXJMr.js.map → copyable-BTSByfmq.js.map} +1 -1
  183. package/dist/{data-display-b3d1TfL4.js → data-display-Bihs9Ven.js} +542 -329
  184. package/dist/data-display-Bihs9Ven.js.map +1 -0
  185. package/dist/{date-BFNMnrS5.js → date-DOKhJPu7.js} +4 -4
  186. package/dist/{date-BFNMnrS5.js.map → date-DOKhJPu7.js.map} +1 -1
  187. package/dist/{date-picker-DI6kPNof.js → date-picker-DzP5HQq7.js} +492 -472
  188. package/dist/date-picker-DzP5HQq7.js.map +1 -0
  189. package/dist/date-pickers-BpgGz7S-.js +196 -0
  190. package/dist/date-pickers-BpgGz7S-.js.map +1 -0
  191. package/dist/{display-ByI5tkqy.js → display-CS6Hbk18.js} +8 -8
  192. package/dist/{display-ByI5tkqy.js.map → display-CS6Hbk18.js.map} +1 -1
  193. package/dist/{dropdown-menu-BlnyHr-9.js → dropdown-menu-D-boNgGO.js} +7 -7
  194. package/dist/{dropdown-menu-BlnyHr-9.js.map → dropdown-menu-D-boNgGO.js.map} +1 -1
  195. package/dist/features/activities.js +152 -141
  196. package/dist/features/activities.js.map +1 -1
  197. package/dist/features/ai-chat.js +182 -179
  198. package/dist/features/ai-chat.js.map +1 -1
  199. package/dist/features/async-preview.js +9 -9
  200. package/dist/features/async-preview.js.map +1 -1
  201. package/dist/features/combobox.js +1 -1
  202. package/dist/features/comments.js +1 -1
  203. package/dist/features/data-view.js +25 -23
  204. package/dist/features/data-view.js.map +1 -1
  205. package/dist/features/email-composer/engine.js +1 -1
  206. package/dist/features/email-composer.js +103 -104
  207. package/dist/features/email-composer.js.map +1 -1
  208. package/dist/features/event-calendar.js +375 -373
  209. package/dist/features/event-calendar.js.map +1 -1
  210. package/dist/features/filters.js +1 -1
  211. package/dist/features/global-search.js +222 -224
  212. package/dist/features/global-search.js.map +1 -1
  213. package/dist/features/kanban.js +29 -29
  214. package/dist/features/kanban.js.map +1 -1
  215. package/dist/features/map.js +59 -58
  216. package/dist/features/map.js.map +1 -1
  217. package/dist/features/media-library.js +856 -855
  218. package/dist/features/media-library.js.map +1 -1
  219. package/dist/features/mentions.js +1 -1
  220. package/dist/features/overlays.js +1 -1
  221. package/dist/features/products.js +1210 -1209
  222. package/dist/features/products.js.map +1 -1
  223. package/dist/features/questionnaire.js +133 -132
  224. package/dist/features/questionnaire.js.map +1 -1
  225. package/dist/features/resource-assignment.js +29 -31
  226. package/dist/features/resource-assignment.js.map +1 -1
  227. package/dist/features/resource.js +13 -13
  228. package/dist/features/resource.js.map +1 -1
  229. package/dist/features/rich-text-editor.js +2 -2
  230. package/dist/features/schema-form.js +82 -82
  231. package/dist/features/schema-form.js.map +1 -1
  232. package/dist/features/suggestions.js +3 -3
  233. package/dist/features/sync.js +4 -4
  234. package/dist/features/sync.js.map +1 -1
  235. package/dist/features/table.js +1 -1
  236. package/dist/features/theme-tweaker.js +456 -450
  237. package/dist/features/theme-tweaker.js.map +1 -1
  238. package/dist/feedback-CJkUAapr.js +233 -0
  239. package/dist/feedback-CJkUAapr.js.map +1 -0
  240. package/dist/field-affordance-recipes-uKY4MsZ_.js +25 -0
  241. package/dist/field-affordance-recipes-uKY4MsZ_.js.map +1 -0
  242. package/dist/{field-state-recipes-CBTRt9Bt.js → field-state-recipes-DQQpiLWC.js} +3 -3
  243. package/dist/field-state-recipes-DQQpiLWC.js.map +1 -0
  244. package/dist/{filters-qtrcv1hf.js → filters-D6FF8L6s.js} +715 -720
  245. package/dist/filters-D6FF8L6s.js.map +1 -0
  246. package/dist/{form-field-C6W-y2hR.js → form-field-CZwrkP7m.js} +17 -9
  247. package/dist/form-field-CZwrkP7m.js.map +1 -0
  248. package/dist/{form-sizing-39NohSqn.js → form-sizing-QP8aIRaW.js} +10 -6
  249. package/dist/form-sizing-QP8aIRaW.js.map +1 -0
  250. package/dist/{forms-BF-HSbff.js → forms-B5NCbkSC.js} +35 -35
  251. package/dist/{forms-BF-HSbff.js.map → forms-B5NCbkSC.js.map} +1 -1
  252. package/dist/forms-numeric-Crrm80Lm.js +867 -0
  253. package/dist/forms-numeric-Crrm80Lm.js.map +1 -0
  254. package/dist/{header-B8ex54cY.js → header-kxruN3RM.js} +53 -49
  255. package/dist/header-kxruN3RM.js.map +1 -0
  256. package/dist/{hooks-D6UBVzf2.js → hooks-BrlnCwQd.js} +2 -2
  257. package/dist/{hooks-D6UBVzf2.js.map → hooks-BrlnCwQd.js.map} +1 -1
  258. package/dist/{http-CLTVJc5I.js → http-CdEIHyQf.js} +2 -2
  259. package/dist/http-CdEIHyQf.js.map +1 -0
  260. package/dist/{icon-badge-Dv0RYQwj.js → icon-badge-Btc6pQrp.js} +4 -4
  261. package/dist/{icon-badge-Dv0RYQwj.js.map → icon-badge-Btc6pQrp.js.map} +1 -1
  262. package/dist/index.js +2 -2
  263. package/dist/input-SX9V0AL3.js +255 -0
  264. package/dist/input-SX9V0AL3.js.map +1 -0
  265. package/dist/input-vxcaNCYC.js +20 -0
  266. package/dist/input-vxcaNCYC.js.map +1 -0
  267. package/dist/{item-pJ0GsOiJ.js → item-DE4YnuJx.js} +18 -17
  268. package/dist/item-DE4YnuJx.js.map +1 -0
  269. package/dist/layout/app-shell.js +1 -1
  270. package/dist/layout/auth.js +1 -1
  271. package/dist/layout/containers.js +1 -1
  272. package/dist/layout/header.js +1 -1
  273. package/dist/layout/hooks.js +1 -1
  274. package/dist/layout/navigation.js +1 -1
  275. package/dist/layout/page.js +1 -1
  276. package/dist/layout/settings.js +1 -1
  277. package/dist/layout/sidebar.js +2 -2
  278. package/dist/layout/workspace.js +1 -1
  279. package/dist/layout.js +10 -10
  280. package/dist/lib/affordance-geometry.generated.d.ts +44 -4
  281. package/dist/lib/control-group-recipes.d.ts +22 -0
  282. package/dist/lib/field-affordance-recipes.d.ts +35 -2
  283. package/dist/lib/field-state-recipes.d.ts +2 -2
  284. package/dist/lib/navigation-row-recipes.d.ts +3 -2
  285. package/dist/lib/overlay-anatomy-recipes.d.ts +1 -1
  286. package/dist/lib/surface-recipes.d.ts +5 -2
  287. package/dist/lib/token-merge.generated.d.ts +144 -2
  288. package/dist/lib/ui-provider/types.d.ts +4 -2
  289. package/dist/lib/use-prefers-reduced-motion.d.ts +2 -0
  290. package/dist/lib/utils.js +1 -1
  291. package/dist/{media-gallery-Ca4YmvBi.js → media-gallery-DLp3HAz0.js} +75 -74
  292. package/dist/media-gallery-DLp3HAz0.js.map +1 -0
  293. package/dist/{mentions-CRio8mTm.js → mentions-Cl0Kt_Pd.js} +52 -50
  294. package/dist/{mentions-CRio8mTm.js.map → mentions-Cl0Kt_Pd.js.map} +1 -1
  295. package/dist/message-SZUNB1eX.js +127 -0
  296. package/dist/message-SZUNB1eX.js.map +1 -0
  297. package/dist/{navigation-BTrEb5u4.js → navigation-DnQSNMT0.js} +64 -55
  298. package/dist/navigation-DnQSNMT0.js.map +1 -0
  299. package/dist/{navigation-DqEITuD2.js → navigation-DyytsLRB.js} +37 -37
  300. package/dist/navigation-DyytsLRB.js.map +1 -0
  301. package/dist/{navigation-row-recipes-BFpvGPGE.js → navigation-row-recipes-DQEXQcqY.js} +3 -3
  302. package/dist/navigation-row-recipes-DQEXQcqY.js.map +1 -0
  303. package/dist/{number-BNT_BIzJ.js → number-DasMFWEG.js} +4 -4
  304. package/dist/{number-BNT_BIzJ.js.map → number-DasMFWEG.js.map} +1 -1
  305. package/dist/overlays-DUbs1KEi.js +1011 -0
  306. package/dist/overlays-DUbs1KEi.js.map +1 -0
  307. package/dist/{page-BMBGjJY8.js → page-hGmT4nWK.js} +75 -64
  308. package/dist/page-hGmT4nWK.js.map +1 -0
  309. package/dist/{page-header-BH41wCyY.js → page-header-D8nERkn5.js} +9 -9
  310. package/dist/page-header-D8nERkn5.js.map +1 -0
  311. package/dist/{pagination-C29vvt3I.js → pagination-NLGqRirf.js} +20 -20
  312. package/dist/pagination-NLGqRirf.js.map +1 -0
  313. package/dist/{popover-TInGXsjg.js → popover-CghIYdQf.js} +23 -22
  314. package/dist/popover-CghIYdQf.js.map +1 -0
  315. package/dist/{popover-menu-BzqXqE72.js → popover-menu-B4PoWhRl.js} +6 -6
  316. package/dist/{popover-menu-BzqXqE72.js.map → popover-menu-B4PoWhRl.js.map} +1 -1
  317. package/dist/{popover.recipes-zgBhMlUu.js → popover.recipes-QlD4JenO.js} +5 -5
  318. package/dist/popover.recipes-QlD4JenO.js.map +1 -0
  319. package/dist/{primitives-DKPOGVpj.js → primitives-C7ff0QaI.js} +120 -113
  320. package/dist/primitives-C7ff0QaI.js.map +1 -0
  321. package/dist/primitives.js +3 -3
  322. package/dist/progress-BroqrAyV.js +169 -0
  323. package/dist/progress-BroqrAyV.js.map +1 -0
  324. package/dist/{receipt-DYWTQGEc.js → receipt-BuJynLgf.js} +8 -8
  325. package/dist/{receipt-DYWTQGEc.js.map → receipt-BuJynLgf.js.map} +1 -1
  326. package/dist/{rich-text-B7sBAdDG.js → rich-text-DlxDOtf4.js} +4 -4
  327. package/dist/{rich-text-B7sBAdDG.js.map → rich-text-DlxDOtf4.js.map} +1 -1
  328. package/dist/rich-text-editor-BKyG7rWz.js +574 -0
  329. package/dist/rich-text-editor-BKyG7rWz.js.map +1 -0
  330. package/dist/{rich-text-editor.recipes-DxvOE0Lp.js → rich-text-editor.recipes-B72Nfuze.js} +35 -26
  331. package/dist/rich-text-editor.recipes-B72Nfuze.js.map +1 -0
  332. package/dist/{scroll-area-BheMQ270.js → scroll-area-D-pIhEKl.js} +3 -3
  333. package/dist/scroll-area-D-pIhEKl.js.map +1 -0
  334. package/dist/{separator-Gk_WXH-l.js → separator-BNIgG3au.js} +3 -3
  335. package/dist/{separator-Gk_WXH-l.js.map → separator-BNIgG3au.js.map} +1 -1
  336. package/dist/{separator-DO0EbCEm.js → separator-BhtFyo4x.js} +2 -2
  337. package/dist/{separator-DO0EbCEm.js.map → separator-BhtFyo4x.js.map} +1 -1
  338. package/dist/services/actions.js +1 -1
  339. package/dist/{settings-D9f_wdIC.js → settings-DOTOzeZ2.js} +10 -9
  340. package/dist/{settings-D9f_wdIC.js.map → settings-DOTOzeZ2.js.map} +1 -1
  341. package/dist/{sheet-vOUloJ4O.js → sheet-BFhrNehm.js} +11 -11
  342. package/dist/sheet-BFhrNehm.js.map +1 -0
  343. package/dist/{sidebar-CNBKFDRW.js → sidebar-CyR4XKwR.js} +219 -200
  344. package/dist/sidebar-CyR4XKwR.js.map +1 -0
  345. package/dist/{sidebar-C3UKkbC5.js → sidebar-SvGJ0Zwi.js} +63 -58
  346. package/dist/sidebar-SvGJ0Zwi.js.map +1 -0
  347. package/dist/{skeleton-BvRhK8y-.js → skeleton-3F0uhYn3.js} +4 -4
  348. package/dist/{skeleton-BvRhK8y-.js.map → skeleton-3F0uhYn3.js.map} +1 -1
  349. package/dist/{smart-card-B5FcKODh.js → smart-card-DjGVV2xr.js} +206 -199
  350. package/dist/smart-card-DjGVV2xr.js.map +1 -0
  351. package/dist/{spinner-JtlFJ7Nc.js → spinner-Cpf7oRkF.js} +5 -5
  352. package/dist/{spinner-JtlFJ7Nc.js.map → spinner-Cpf7oRkF.js.map} +1 -1
  353. package/dist/{structure-BvW4vG4H.js → structure-CRdqVawd.js} +14 -14
  354. package/dist/{structure-BvW4vG4H.js.map → structure-CRdqVawd.js.map} +1 -1
  355. package/dist/{structure.recipes-DjqnBpwz.js → structure.recipes-Bqhf9oIh.js} +2 -2
  356. package/dist/structure.recipes-Bqhf9oIh.js.map +1 -0
  357. package/dist/style.css +1 -1
  358. package/dist/{surface-recipes-CQfRr-VL.js → surface-recipes-Dd__PD-w.js} +4 -3
  359. package/dist/surface-recipes-Dd__PD-w.js.map +1 -0
  360. package/dist/{table-DnlAJ-xR.js → table-CLtJTxoR.js} +17 -16
  361. package/dist/table-CLtJTxoR.js.map +1 -0
  362. package/dist/table-CcRDZiLP.js +1444 -0
  363. package/dist/table-CcRDZiLP.js.map +1 -0
  364. package/dist/tabs-BNgu7g0u.js +188 -0
  365. package/dist/tabs-BNgu7g0u.js.map +1 -0
  366. package/dist/text-inputs-DsR56TR-.js +330 -0
  367. package/dist/text-inputs-DsR56TR-.js.map +1 -0
  368. package/dist/{text.styles-BwB7vAF2.js → text.styles-Q4sGAIgA.js} +18 -10
  369. package/dist/text.styles-Q4sGAIgA.js.map +1 -0
  370. package/dist/theme.css +77 -115
  371. package/dist/{timelines-CnZ2S_Gr.js → timelines-D1pkt3se.js} +84 -78
  372. package/dist/timelines-D1pkt3se.js.map +1 -0
  373. package/dist/{tree-COD9BGdU.js → tree-BtmYyMZV.js} +8 -8
  374. package/dist/{tree-COD9BGdU.js.map → tree-BtmYyMZV.js.map} +1 -1
  375. package/dist/typography/rich-text.js +1 -1
  376. package/dist/typography-BxQgiZyw.js +96 -0
  377. package/dist/typography-BxQgiZyw.js.map +1 -0
  378. package/dist/typography.js +1 -1
  379. package/dist/{ui-provider-CftIB6TY.js → ui-provider-DRPn3qNl.js} +3 -2
  380. package/dist/ui-provider-DRPn3qNl.js.map +1 -0
  381. package/dist/ui-provider.js +1 -1
  382. package/dist/{upload-DIzw1dx1.js → upload-CDbYw1WN.js} +326 -323
  383. package/dist/upload-CDbYw1WN.js.map +1 -0
  384. package/dist/{upload-queue-xRJ3qDmd.js → upload-queue-CNd_hH_a.js} +25 -25
  385. package/dist/upload-queue-CNd_hH_a.js.map +1 -0
  386. package/dist/usage-card-VyJLUwRr.js +457 -0
  387. package/dist/usage-card-VyJLUwRr.js.map +1 -0
  388. package/dist/utils-BvH9PSmq.js +4275 -0
  389. package/dist/utils-BvH9PSmq.js.map +1 -0
  390. package/dist/value-inputs-D0KCrfVC.js +840 -0
  391. package/dist/value-inputs-D0KCrfVC.js.map +1 -0
  392. package/dist/{workspace-Cbqz4FzN.js → workspace-CcR8r-Nt.js} +115 -122
  393. package/dist/workspace-CcR8r-Nt.js.map +1 -0
  394. package/docs/consumer-skill/SKILL.md +112 -18
  395. package/docs/consumer-skill/examples/analytics.tsx +34 -0
  396. package/docs/consumer-skill/examples/app-layout.tsx +42 -12
  397. package/docs/consumer-skill/examples/detail.tsx +24 -9
  398. package/docs/consumer-skill/examples/manifest.json +27 -1
  399. package/docs/consumer-skill/examples/planning-usage-edit.tsx +29 -0
  400. package/docs/consumer-skill/examples/scoped-directory.tsx +77 -0
  401. package/docs/consumer-skill/examples/website.tsx +56 -0
  402. package/docs/consumer-skill/references/analytics.md +70 -0
  403. package/docs/consumer-skill/references/composition.md +219 -2
  404. package/docs/consumer-skill/references/design-contract.md +37 -10
  405. package/docs/consumer-skill/references/discovery.md +93 -5
  406. package/docs/consumer-skill/references/installation.md +20 -3
  407. package/docs/consumer-skill/references/integration.md +26 -0
  408. package/docs/consumer-skill/references/public-api.json +2416 -388
  409. package/docs/consumer-skill/references/review.md +126 -0
  410. package/docs/consumer-skill/references/theming.md +52 -7
  411. package/docs/consumer-skill/references/tokens.json +177 -9
  412. package/docs/consumer-skill/references/workflows.md +129 -1
  413. package/docs/consumer-skill/scripts/check-composition.mjs +31 -0
  414. package/docs/consumer-skill/scripts/composition-policy.mjs +317 -0
  415. package/docs/consumer-skill/scripts/discovery.mjs +65 -8
  416. package/docs/consumer-skill/scripts/surface-policy.mjs +66 -0
  417. package/package.json +30 -6
  418. package/dist/accordion-BRWh3BM1.js.map +0 -1
  419. package/dist/action-menu-Cx3SdfbN.js.map +0 -1
  420. package/dist/affordance-geometry.generated-DXl-Zb3Z.js +0 -23
  421. package/dist/affordance-geometry.generated-DXl-Zb3Z.js.map +0 -1
  422. package/dist/ai-artifact-DkOArd3-.js.map +0 -1
  423. package/dist/app-shell-BH_bGcE2.js.map +0 -1
  424. package/dist/auth-BDB1V_2q.js +0 -704
  425. package/dist/auth-BDB1V_2q.js.map +0 -1
  426. package/dist/avatar-CsnWaYmt.js.map +0 -1
  427. package/dist/breadcrumbs-DdQ_I5ra.js.map +0 -1
  428. package/dist/button-BS6l5JUw.js.map +0 -1
  429. package/dist/buttons-Co6GavvM.js +0 -674
  430. package/dist/buttons-Co6GavvM.js.map +0 -1
  431. package/dist/chart-DVfcwQu6.js +0 -149
  432. package/dist/chart-DVfcwQu6.js.map +0 -1
  433. package/dist/choice-inputs-CavA-SGV.js +0 -644
  434. package/dist/choice-inputs-CavA-SGV.js.map +0 -1
  435. package/dist/code-block-DIlqzoiD.js.map +0 -1
  436. package/dist/combobox-CHD750do.js.map +0 -1
  437. package/dist/combobox-HDftpzxt.js.map +0 -1
  438. package/dist/command-D0kWBZfd.js.map +0 -1
  439. package/dist/comments-CvYeglMS.js +0 -1132
  440. package/dist/comments-CvYeglMS.js.map +0 -1
  441. package/dist/containers-CPNyNo1_.js.map +0 -1
  442. package/dist/data-display-b3d1TfL4.js.map +0 -1
  443. package/dist/date-picker-DI6kPNof.js.map +0 -1
  444. package/dist/date-pickers-ByP6Cv2z.js +0 -224
  445. package/dist/date-pickers-ByP6Cv2z.js.map +0 -1
  446. package/dist/feedback-a9j9J-9A.js +0 -391
  447. package/dist/feedback-a9j9J-9A.js.map +0 -1
  448. package/dist/field-affordance-recipes-CHdUtn2Z.js +0 -17
  449. package/dist/field-affordance-recipes-CHdUtn2Z.js.map +0 -1
  450. package/dist/field-state-recipes-CBTRt9Bt.js.map +0 -1
  451. package/dist/filters-qtrcv1hf.js.map +0 -1
  452. package/dist/form-field-C6W-y2hR.js.map +0 -1
  453. package/dist/form-sizing-39NohSqn.js.map +0 -1
  454. package/dist/forms-numeric-Y15Bg5Nr.js +0 -867
  455. package/dist/forms-numeric-Y15Bg5Nr.js.map +0 -1
  456. package/dist/header-B8ex54cY.js.map +0 -1
  457. package/dist/http-CLTVJc5I.js.map +0 -1
  458. package/dist/input-DMorJiTI.js +0 -202
  459. package/dist/input-DMorJiTI.js.map +0 -1
  460. package/dist/input-ci9fIgFH.js +0 -20
  461. package/dist/input-ci9fIgFH.js.map +0 -1
  462. package/dist/item-pJ0GsOiJ.js.map +0 -1
  463. package/dist/media-gallery-Ca4YmvBi.js.map +0 -1
  464. package/dist/message-B5-6LeYl.js +0 -108
  465. package/dist/message-B5-6LeYl.js.map +0 -1
  466. package/dist/navigation-BTrEb5u4.js.map +0 -1
  467. package/dist/navigation-DqEITuD2.js.map +0 -1
  468. package/dist/navigation-row-recipes-BFpvGPGE.js.map +0 -1
  469. package/dist/overlays-DBqV0J_V.js +0 -982
  470. package/dist/overlays-DBqV0J_V.js.map +0 -1
  471. package/dist/page-BMBGjJY8.js.map +0 -1
  472. package/dist/page-header-BH41wCyY.js.map +0 -1
  473. package/dist/pagination-C29vvt3I.js.map +0 -1
  474. package/dist/popover-TInGXsjg.js.map +0 -1
  475. package/dist/popover.recipes-zgBhMlUu.js.map +0 -1
  476. package/dist/primitives-DKPOGVpj.js.map +0 -1
  477. package/dist/rich-text-editor-BZSJchAF.js +0 -575
  478. package/dist/rich-text-editor-BZSJchAF.js.map +0 -1
  479. package/dist/rich-text-editor.recipes-DxvOE0Lp.js.map +0 -1
  480. package/dist/scroll-area-BheMQ270.js.map +0 -1
  481. package/dist/select-B2mb-qN2.js +0 -108
  482. package/dist/select-B2mb-qN2.js.map +0 -1
  483. package/dist/sheet-vOUloJ4O.js.map +0 -1
  484. package/dist/sidebar-C3UKkbC5.js.map +0 -1
  485. package/dist/sidebar-CNBKFDRW.js.map +0 -1
  486. package/dist/smart-card-B5FcKODh.js.map +0 -1
  487. package/dist/structure.recipes-DjqnBpwz.js.map +0 -1
  488. package/dist/surface-recipes-CQfRr-VL.js.map +0 -1
  489. package/dist/table-DnlAJ-xR.js.map +0 -1
  490. package/dist/table-ghtAQ-JJ.js +0 -1424
  491. package/dist/table-ghtAQ-JJ.js.map +0 -1
  492. package/dist/tabs-DY09eoZg.js +0 -187
  493. package/dist/tabs-DY09eoZg.js.map +0 -1
  494. package/dist/text-inputs-BhOcedTo.js +0 -331
  495. package/dist/text-inputs-BhOcedTo.js.map +0 -1
  496. package/dist/text.styles-BwB7vAF2.js.map +0 -1
  497. package/dist/timelines-CnZ2S_Gr.js.map +0 -1
  498. package/dist/typography-Cv8MT-82.js +0 -96
  499. package/dist/typography-Cv8MT-82.js.map +0 -1
  500. package/dist/ui-provider-CftIB6TY.js.map +0 -1
  501. package/dist/upload-DIzw1dx1.js.map +0 -1
  502. package/dist/upload-queue-xRJ3qDmd.js.map +0 -1
  503. package/dist/utils-C2EKeIw3.js +0 -72
  504. package/dist/utils-C2EKeIw3.js.map +0 -1
  505. package/dist/value-inputs-Co1fu-xv.js +0 -824
  506. package/dist/value-inputs-Co1fu-xv.js.map +0 -1
  507. package/dist/workspace-Cbqz4FzN.js.map +0 -1
@@ -1,21 +1,24 @@
1
1
  "use client";
2
2
  import { useStrings as e } from "../lib/strings.js";
3
- import { t } from "../utils-C2EKeIw3.js";
4
- import { n } from "../buttons-Co6GavvM.js";
5
- import { a as r, i, r as a } from "../typography-Cv8MT-82.js";
6
- import { r as o, t as s } from "../structure-BvW4vG4H.js";
7
- import { t as c } from "../smart-card-B5FcKODh.js";
8
- import { i as l, n as u, r as d, t as f } from "../format-iamDSqs2.js";
9
- import { _ as p, g as m } from "../primitives-DKPOGVpj.js";
10
- import { t as h } from "../badge-BZXZT9wd.js";
11
- import { t as g } from "../chart-DVfcwQu6.js";
12
- import { n as _ } from "../display-ByI5tkqy.js";
13
- import { useId as v, useMemo as y } from "react";
14
- import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
15
- import { ArrowDown as C, ArrowRight as ee, ArrowUp as w, ArrowUpRight as T, Calendar as E, Equal as te, Minus as D } from "lucide-react";
16
- import { Area as O, AreaChart as k, ResponsiveContainer as A } from "recharts";
3
+ import { t } from "../utils-BvH9PSmq.js";
4
+ import { o as n } from "../text.styles-Q4sGAIgA.js";
5
+ import { a as r, i, r as a } from "../typography-BxQgiZyw.js";
6
+ import { t as o } from "../button-BZDasD04.js";
7
+ import { r as s, t as c } from "../structure-CRdqVawd.js";
8
+ import { t as l } from "../smart-card-DjGVV2xr.js";
9
+ import { r as u } from "../skeleton-3F0uhYn3.js";
10
+ import { i as d, n as f, r as p, t as m } from "../format-iamDSqs2.js";
11
+ import { _ as h, g } from "../primitives-C7ff0QaI.js";
12
+ import { t as _ } from "../badge-CzId1Wlm.js";
13
+ import { t as v } from "../chart-Bsc5BICK.js";
14
+ import { n as y } from "../display-CS6Hbk18.js";
15
+ import { n as ee, t as b } from "../usage-card-VyJLUwRr.js";
16
+ import { useId as x, useMemo as S, useSyncExternalStore as C } from "react";
17
+ import { Fragment as w, jsx as T, jsxs as E } from "react/jsx-runtime";
18
+ import { ArrowDown as D, ArrowRight as te, ArrowUp as O, ArrowUpRight as ne, Calendar as re, Equal as ie, Minus as ae } from "lucide-react";
19
+ import { Area as k, AreaChart as A, ResponsiveContainer as j } from "recharts";
17
20
  //#region src/components/blocks/analytics/analytics.strings.ts
18
- var j = {
21
+ var M = {
19
22
  metricErrorLabel: "Unable to load metric",
20
23
  comparisonTitle: "Comparison",
21
24
  heatmapDayLabels: [
@@ -46,26 +49,26 @@ var j = {
46
49
  };
47
50
  //#endregion
48
51
  //#region src/components/blocks/analytics/format-metric-value.ts
49
- function M(e) {
52
+ function N(e) {
50
53
  if (e.value === null || e.value === void 0) return "—";
51
54
  let t = e.value, n = typeof t == "number" ? t : null;
52
55
  switch (e.valueType) {
53
- case "currency": return n === null ? String(t) : f(n, {
56
+ case "currency": return n === null ? String(t) : m(n, {
54
57
  currency: e.currency,
55
58
  currencyDisplay: "code"
56
59
  }).replace(/\u00a0/g, " ");
57
- case "percentage": return n === null ? String(t) : l(n);
58
- case "duration": return n === null ? String(t) : u(n);
59
- case "number": return n === null ? String(t) : d(n);
60
+ case "percentage": return n === null ? String(t) : d(n);
61
+ case "duration": return n === null ? String(t) : f(n);
62
+ case "number": return n === null ? String(t) : p(n);
60
63
  default: return String(t);
61
64
  }
62
65
  }
63
- function N(e) {
66
+ function P(e) {
64
67
  return e.trend ? e.trend : e.change?.direction === "up" ? "positive" : e.change?.direction === "down" ? "negative" : "neutral";
65
68
  }
66
69
  //#endregion
67
70
  //#region src/components/blocks/analytics/atoms/metric-trend-chip.tsx
68
- var ne = {
71
+ var oe = {
69
72
  positive: {
70
73
  text: "text-success",
71
74
  badge: "bg-success/10 text-success",
@@ -81,205 +84,222 @@ var ne = {
81
84
  badge: "bg-muted text-muted-foreground",
82
85
  arrow: "text-muted-foreground"
83
86
  }
84
- }, P = {
87
+ }, F = {
85
88
  sm: "size-icon-sm",
86
89
  md: "size-icon-md",
87
90
  lg: "size-icon"
88
- }, F = {
91
+ }, I = {
89
92
  sm: "xxs",
90
93
  md: "xs",
91
94
  lg: "sm"
92
- }, re = {
93
- sm: "px-1.5 py-0.5",
94
- md: "px-2 py-0.5",
95
- lg: "px-2.5 py-1"
95
+ }, se = {
96
+ sm: "px-space-sm py-space-2xs",
97
+ md: "px-space-md py-space-2xs",
98
+ lg: "px-space-md py-space-xs"
96
99
  };
97
- function ie(e, t) {
100
+ function ce(e, t) {
98
101
  return e || (t === "up" ? "positive" : t === "down" ? "negative" : "neutral");
99
102
  }
100
- function I({ change: e, trend: n, size: i = "md", variant: a = "default", className: o }) {
101
- let s = ie(n, e.direction), c = e.direction === "up" ? w : e.direction === "down" ? C : D, l = ne[s], u = String(e.value), d = e.direction === "up" ? "+" : (e.direction, "");
102
- return a === "inline" ? /* @__PURE__ */ S(p, {
103
- size: F[i],
103
+ function L({ change: e, trend: n, size: i = "md", variant: a = "default", className: o }) {
104
+ let s = ce(n, e.direction), c = e.direction === "up" ? O : e.direction === "down" ? D : ae, l = oe[s], u = String(e.value), d = e.direction === "up" ? "+" : (e.direction, "");
105
+ return a === "inline" ? /* @__PURE__ */ E(h, {
106
+ size: I[i],
104
107
  weight: "medium",
105
108
  className: t("metric-trend-chip--component", l.text, "tabular-nums", o),
106
109
  children: [d, u]
107
- }) : a === "compact" ? /* @__PURE__ */ S("span", {
110
+ }) : a === "compact" ? /* @__PURE__ */ E("span", {
108
111
  className: t("inline-flex items-center gap-space-2xs", l.text, o),
109
- children: [/* @__PURE__ */ x(c, {
110
- className: P[i],
112
+ children: [/* @__PURE__ */ T(c, {
113
+ className: F[i],
111
114
  strokeWidth: 2.5,
112
115
  "aria-hidden": "true"
113
- }), /* @__PURE__ */ x(p, {
114
- size: F[i],
116
+ }), /* @__PURE__ */ T(h, {
117
+ size: I[i],
115
118
  weight: "semibold",
116
119
  className: "text-current tabular-nums",
117
120
  children: u
118
121
  })]
119
- }) : a === "badge" ? /* @__PURE__ */ S("span", {
120
- className: t("inline-flex items-center gap-space-xs rounded-full", l.badge, re[i], o),
122
+ }) : a === "badge" ? /* @__PURE__ */ E("span", {
123
+ className: t("inline-flex items-center gap-space-xs rounded-radius", l.badge, se[i], o),
121
124
  children: [
122
- /* @__PURE__ */ x(c, {
123
- className: P[i],
125
+ /* @__PURE__ */ T(c, {
126
+ className: F[i],
124
127
  strokeWidth: 2.5,
125
128
  "aria-hidden": "true"
126
129
  }),
127
- /* @__PURE__ */ x(p, {
128
- size: F[i],
130
+ /* @__PURE__ */ T(h, {
131
+ size: I[i],
129
132
  weight: "semibold",
130
133
  className: "text-current tabular-nums",
131
134
  children: u
132
135
  }),
133
- !!e.label && /* @__PURE__ */ x(r, {
136
+ !!e.label && /* @__PURE__ */ T(r, {
134
137
  tag: "span",
135
- size: F[i],
138
+ size: I[i],
136
139
  className: "text-current opacity-70",
137
140
  children: e.label
138
141
  })
139
142
  ]
140
- }) : /* @__PURE__ */ S("span", {
143
+ }) : /* @__PURE__ */ E("span", {
141
144
  className: t("inline-flex items-center gap-space-xs", l.text, o),
142
145
  children: [
143
- /* @__PURE__ */ x(c, {
144
- className: P[i],
146
+ /* @__PURE__ */ T(c, {
147
+ className: F[i],
145
148
  strokeWidth: 2.5,
146
149
  "aria-hidden": "true"
147
150
  }),
148
- /* @__PURE__ */ x(p, {
149
- size: F[i],
151
+ /* @__PURE__ */ T(h, {
152
+ size: I[i],
150
153
  weight: "semibold",
151
154
  className: "tabular-nums",
152
155
  children: u
153
156
  }),
154
- !!e.label && /* @__PURE__ */ x(r, {
157
+ !!e.label && /* @__PURE__ */ T(r, {
155
158
  tag: "span",
156
- size: F[i],
159
+ size: I[i],
157
160
  type: "secondary",
158
161
  children: e.label
159
162
  })
160
163
  ]
161
164
  });
162
165
  }
163
- I.displayName = "MetricTrendChip";
166
+ L.displayName = "MetricTrendChip";
167
+ //#endregion
168
+ //#region src/lib/use-prefers-reduced-motion.ts
169
+ var R = "(prefers-reduced-motion: reduce)";
170
+ function le(e) {
171
+ if (typeof window > "u" || typeof window.matchMedia != "function") return () => {};
172
+ let t = window.matchMedia(R);
173
+ return t.addEventListener("change", e), () => t.removeEventListener("change", e);
174
+ }
175
+ function ue() {
176
+ return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia(R).matches;
177
+ }
178
+ function de() {
179
+ return !0;
180
+ }
181
+ function z() {
182
+ return C(le, ue, de);
183
+ }
164
184
  //#endregion
165
185
  //#region src/components/blocks/analytics/atoms/metric-sparkline.tsx
166
- var ae = {
186
+ var fe = {
167
187
  positive: "var(--success)",
168
188
  negative: "var(--destructive)",
169
189
  neutral: "var(--muted-foreground)"
170
190
  };
171
- function L({ data: e, trend: n = "neutral", color: r, className: i, animated: a = !0, "aria-label": o = "Trend sparkline" }) {
172
- let s = v(), c = y(() => `metric-spark-${s.replaceAll(":", "")}`, [s]), l = r ?? ae[n], u = y(() => !Array.isArray(e) || e.length === 0 ? [] : e.map((e, t) => ({
191
+ function B({ data: e, trend: n = "neutral", color: r, className: i, animated: a = !0, "aria-label": o = "Trend sparkline" }) {
192
+ let s = x(), c = z(), l = S(() => `metric-spark-${s.replaceAll(":", "")}`, [s]), u = r ?? fe[n], d = S(() => !Array.isArray(e) || e.length === 0 ? [] : e.map((e, t) => ({
173
193
  i: t,
174
194
  v: e
175
195
  })), [e]);
176
- return u.length === 0 ? /* @__PURE__ */ x("div", {
196
+ return d.length === 0 ? /* @__PURE__ */ T("div", {
177
197
  className: t("metric-sparkline--component", "h-full w-full", i),
178
198
  "aria-hidden": "true"
179
- }) : /* @__PURE__ */ x("div", {
199
+ }) : /* @__PURE__ */ T("div", {
180
200
  className: t("metric-sparkline--component h-full w-full", i),
181
201
  role: "img",
182
202
  "aria-label": o,
183
- children: /* @__PURE__ */ x(A, {
203
+ children: /* @__PURE__ */ T(j, {
184
204
  width: "100%",
185
205
  height: "100%",
186
206
  initialDimension: {
187
207
  width: 1,
188
208
  height: 1
189
209
  },
190
- children: /* @__PURE__ */ S(k, {
191
- data: u,
210
+ children: /* @__PURE__ */ E(A, {
211
+ data: d,
192
212
  margin: {
193
213
  top: 2,
194
214
  right: 0,
195
215
  bottom: 0,
196
216
  left: 0
197
217
  },
198
- children: [/* @__PURE__ */ x("defs", { children: /* @__PURE__ */ S("linearGradient", {
199
- id: c,
218
+ children: [/* @__PURE__ */ T("defs", { children: /* @__PURE__ */ E("linearGradient", {
219
+ id: l,
200
220
  x1: "0",
201
221
  y1: "0",
202
222
  x2: "0",
203
223
  y2: "1",
204
- children: [/* @__PURE__ */ x("stop", {
224
+ children: [/* @__PURE__ */ T("stop", {
205
225
  offset: "0%",
206
- stopColor: l,
226
+ stopColor: u,
207
227
  stopOpacity: .25
208
- }), /* @__PURE__ */ x("stop", {
228
+ }), /* @__PURE__ */ T("stop", {
209
229
  offset: "100%",
210
- stopColor: l,
230
+ stopColor: u,
211
231
  stopOpacity: 0
212
232
  })]
213
- }) }), /* @__PURE__ */ x(O, {
233
+ }) }), /* @__PURE__ */ T(k, {
214
234
  type: "monotone",
215
235
  dataKey: "v",
216
- stroke: l,
236
+ stroke: u,
217
237
  strokeWidth: 1.75,
218
- fill: `url(#${c})`,
238
+ fill: `url(#${l})`,
219
239
  dot: !1,
220
240
  activeDot: !1,
221
- isAnimationActive: a,
241
+ isAnimationActive: a && !c,
222
242
  animationDuration: 600
223
243
  })]
224
244
  })
225
245
  })
226
246
  });
227
247
  }
228
- L.displayName = "MetricSparkline";
248
+ B.displayName = "MetricSparkline";
229
249
  //#endregion
230
250
  //#region src/components/blocks/analytics/atoms/metric-skeleton.tsx
231
- var R = ({ className: e }) => /* @__PURE__ */ x("div", { className: t("animate-pulse rounded bg-muted", e) });
232
- function z({ variant: e = "default", size: n = "md", className: r }) {
251
+ var V = ({ className: e }) => /* @__PURE__ */ T(u, { className: e });
252
+ function H({ variant: e = "default", size: n = "md", className: r }) {
233
253
  let i = "p-surface";
234
- return e === "card" ? /* @__PURE__ */ S(c, {
254
+ return e === "card" ? /* @__PURE__ */ E(l, {
235
255
  className: t("metric-skeleton--component", r),
236
256
  "aria-busy": "true",
237
257
  "aria-live": "polite",
238
258
  children: [
239
- /* @__PURE__ */ x(R, { className: "h-3 w-24" }),
240
- /* @__PURE__ */ x(R, { className: t("mt-space-lg", n === "lg" ? "h-9 w-40" : "h-7 w-32") }),
241
- /* @__PURE__ */ x(R, { className: "mt-space-md h-3 w-20" }),
242
- /* @__PURE__ */ x(R, { className: "mt-space-lg h-8 w-full" })
259
+ /* @__PURE__ */ T(V, { className: "h-3 w-24" }),
260
+ /* @__PURE__ */ T(V, { className: t("mt-space-lg", n === "lg" ? "h-9 w-40" : "h-7 w-32") }),
261
+ /* @__PURE__ */ T(V, { className: "mt-space-md h-3 w-20" }),
262
+ /* @__PURE__ */ T(V, { className: "mt-space-lg h-8 w-full" })
243
263
  ]
244
- }) : e === "bordered" || e === "accent" || e === "colored" ? /* @__PURE__ */ S("div", {
264
+ }) : e === "bordered" || e === "accent" || e === "colored" ? /* @__PURE__ */ E("div", {
245
265
  className: t("metric-skeleton--component", "rounded-radius border border-border bg-card shadow-sm", i, r),
246
266
  "aria-busy": "true",
247
267
  "aria-live": "polite",
248
268
  children: [
249
- /* @__PURE__ */ x(R, { className: "h-3 w-24" }),
250
- /* @__PURE__ */ x(R, { className: t("mt-space-lg", n === "lg" ? "h-9 w-40" : "h-7 w-32") }),
251
- /* @__PURE__ */ x(R, { className: "mt-space-md h-3 w-20" }),
252
- /* @__PURE__ */ x(R, { className: "mt-space-lg h-8 w-full" })
269
+ /* @__PURE__ */ T(V, { className: "h-3 w-24" }),
270
+ /* @__PURE__ */ T(V, { className: t("mt-space-lg", n === "lg" ? "h-9 w-40" : "h-7 w-32") }),
271
+ /* @__PURE__ */ T(V, { className: "mt-space-md h-3 w-20" }),
272
+ /* @__PURE__ */ T(V, { className: "mt-space-lg h-8 w-full" })
253
273
  ]
254
- }) : e === "compact" ? /* @__PURE__ */ S("div", {
274
+ }) : e === "compact" ? /* @__PURE__ */ E("div", {
255
275
  className: t("flex items-center gap-space-lg", r),
256
276
  "aria-busy": "true",
257
277
  children: [
258
- /* @__PURE__ */ x(R, { className: "size-9 rounded-radius" }),
259
- /* @__PURE__ */ S("div", {
278
+ /* @__PURE__ */ T(V, { className: "size-9 rounded-radius" }),
279
+ /* @__PURE__ */ E("div", {
260
280
  className: "flex-1 space-y-space-sm",
261
- children: [/* @__PURE__ */ x(R, { className: "h-3 w-20" }), /* @__PURE__ */ x(R, { className: "h-4 w-28" })]
281
+ children: [/* @__PURE__ */ T(V, { className: "h-3 w-20" }), /* @__PURE__ */ T(V, { className: "h-4 w-28" })]
262
282
  }),
263
- /* @__PURE__ */ x(R, { className: "h-5 w-12 rounded-full" })
283
+ /* @__PURE__ */ T(V, { className: "h-5 w-12 rounded-full" })
264
284
  ]
265
- }) : e === "minimal" ? /* @__PURE__ */ S("div", {
285
+ }) : e === "minimal" ? /* @__PURE__ */ E("div", {
266
286
  className: t("inline-flex items-baseline gap-space-md", r),
267
287
  "aria-busy": "true",
268
- children: [/* @__PURE__ */ x(R, { className: "h-3 w-12" }), /* @__PURE__ */ x(R, { className: "h-3 w-16" })]
269
- }) : /* @__PURE__ */ S("div", {
288
+ children: [/* @__PURE__ */ T(V, { className: "h-3 w-12" }), /* @__PURE__ */ T(V, { className: "h-3 w-16" })]
289
+ }) : /* @__PURE__ */ E("div", {
270
290
  className: t("flex flex-col gap-space-sm", i, r),
271
291
  "aria-busy": "true",
272
292
  children: [
273
- /* @__PURE__ */ x(R, { className: "h-3 w-20" }),
274
- /* @__PURE__ */ x(R, { className: "h-5 w-28" }),
275
- /* @__PURE__ */ x(R, { className: "mt-1 h-6 w-full" })
293
+ /* @__PURE__ */ T(V, { className: "h-3 w-20" }),
294
+ /* @__PURE__ */ T(V, { className: "h-5 w-28" }),
295
+ /* @__PURE__ */ T(V, { className: "mt-1 h-6 w-full" })
276
296
  ]
277
297
  });
278
298
  }
279
- z.displayName = "MetricSkeleton";
299
+ H.displayName = "MetricSkeleton";
280
300
  //#endregion
281
301
  //#region src/components/blocks/analytics/metric/metric.tsx
282
- var B = {
302
+ var pe = {
283
303
  default: {
284
304
  border: "border-border",
285
305
  bg: "bg-card",
@@ -322,31 +342,35 @@ var B = {
322
342
  dot: "bg-info",
323
343
  ring: "ring-info/20"
324
344
  }
325
- }, oe = {
345
+ }, me = {
326
346
  sm: "text-sm",
327
347
  md: "text-base",
328
348
  lg: "text-base"
329
- }, V = {
330
- sm: "text-base",
331
- md: "text-base",
332
- lg: "text-base"
333
- }, H = {
349
+ }, U = {
350
+ sm: "2xl",
351
+ md: "2xl",
352
+ lg: "3xl"
353
+ }, he = {
354
+ sm: "@max-[11rem]/metric-card:text-xl",
355
+ md: "@max-[11rem]/metric-card:text-xl",
356
+ lg: "@max-[16rem]/metric-card:text-2xl @max-[11rem]/metric-card:text-xl"
357
+ }, W = {
334
358
  sm: "h-control-sm",
335
359
  md: "h-control",
336
360
  lg: "h-control-lg"
337
- }, U = 16;
338
- function W(e) {
339
- let { data: n, variant: i = "default", size: a = "md", colorScheme: o = "default", showSparkline: s = !0, showChange: c = !0, showIcon: l = !0, loading: u = !1, error: d = !1, errorLabel: f, progress: p = 0, className: m, "aria-label": h } = e, g = t("metric--component", m), _ = y(() => M(n), [n]), v = y(() => N(n), [n]);
340
- if (u) return /* @__PURE__ */ x(z, {
361
+ }, G = 16;
362
+ function K(e) {
363
+ let { data: n, variant: i = "default", size: a = "md", colorScheme: o = "default", showSparkline: s = !0, showChange: c = !0, showIcon: l = !0, loading: u = !1, error: d = !1, errorLabel: f, progress: p = 0, className: m, "aria-label": h } = e, g = t("metric--component", m), _ = S(() => N(n), [n]), v = S(() => P(n), [n]);
364
+ if (u) return /* @__PURE__ */ T(H, {
341
365
  variant: i,
342
366
  size: a,
343
367
  className: g
344
368
  });
345
- if (d) return /* @__PURE__ */ x("div", {
369
+ if (d) return /* @__PURE__ */ T("div", {
346
370
  className: t("flex items-center justify-center rounded-radius border border-border bg-card text-card-foreground", "p-surface", g),
347
- children: /* @__PURE__ */ x(r, { children: f ?? j.metricErrorLabel })
371
+ children: /* @__PURE__ */ T(r, { children: f ?? M.metricErrorLabel })
348
372
  });
349
- let b = {
373
+ let y = {
350
374
  data: n,
351
375
  formattedValue: _,
352
376
  trend: v,
@@ -359,35 +383,35 @@ function W(e) {
359
383
  className: g
360
384
  };
361
385
  switch (i) {
362
- case "card": return /* @__PURE__ */ x(ce, { ...b });
363
- case "compact": return /* @__PURE__ */ x(le, { ...b });
364
- case "minimal": return /* @__PURE__ */ x(ue, { ...b });
365
- case "bordered": return /* @__PURE__ */ x(de, { ...b });
366
- case "accent": return /* @__PURE__ */ x(fe, { ...b });
367
- case "colored": return /* @__PURE__ */ x(pe, {
368
- ...b,
386
+ case "card": return /* @__PURE__ */ T(_e, { ...y });
387
+ case "compact": return /* @__PURE__ */ T(ve, { ...y });
388
+ case "minimal": return /* @__PURE__ */ T(ye, { ...y });
389
+ case "bordered": return /* @__PURE__ */ T(be, { ...y });
390
+ case "accent": return /* @__PURE__ */ T(xe, { ...y });
391
+ case "colored": return /* @__PURE__ */ T(Se, {
392
+ ...y,
369
393
  progress: p
370
394
  });
371
- default: return /* @__PURE__ */ x(se, { ...b });
395
+ default: return /* @__PURE__ */ T(ge, { ...y });
372
396
  }
373
397
  }
374
- W.displayName = "Metric";
375
- function se({ data: e, formattedValue: n, trend: a, size: o, showSparkline: c, showChange: l, showIcon: u, ariaLabel: d, className: f }) {
398
+ K.displayName = "Metric";
399
+ function ge({ data: e, formattedValue: n, trend: a, size: o, showSparkline: s, showChange: l, showIcon: u, ariaLabel: d, className: f }) {
376
400
  let p = e.icon;
377
- return /* @__PURE__ */ S(s, {
401
+ return /* @__PURE__ */ E(c, {
378
402
  gap: "xs",
379
403
  className: f,
380
404
  "aria-label": d,
381
405
  children: [
382
- /* @__PURE__ */ S(s, {
406
+ /* @__PURE__ */ E(c, {
383
407
  direction: "horizontal",
384
408
  align: "center",
385
409
  gap: "sm",
386
410
  className: "min-w-0 text-muted-foreground",
387
- children: [!!u && !!p && /* @__PURE__ */ x(p, {
411
+ children: [!!u && !!p && /* @__PURE__ */ T(p, {
388
412
  className: "size-icon-md shrink-0",
389
413
  "aria-hidden": "true"
390
- }), /* @__PURE__ */ x(r, {
414
+ }), /* @__PURE__ */ T(r, {
391
415
  size: "xs",
392
416
  type: "secondary",
393
417
  weight: "medium",
@@ -395,33 +419,33 @@ function se({ data: e, formattedValue: n, trend: a, size: o, showSparkline: c, s
395
419
  children: e.label
396
420
  })]
397
421
  }),
398
- /* @__PURE__ */ x(i, {
422
+ /* @__PURE__ */ T(i, {
399
423
  tag: "h5",
400
- className: t("font-bold tabular-nums tracking-tight border-none pb-0 leading-tight truncate", oe[o]),
424
+ className: t("font-bold tabular-nums tracking-tight border-none pb-0 leading-tight truncate", me[o]),
401
425
  title: n,
402
426
  children: n
403
427
  }),
404
- !!l && !!e.change && /* @__PURE__ */ x("div", {
428
+ !!l && !!e.change && /* @__PURE__ */ T("div", {
405
429
  className: "min-w-0",
406
- children: /* @__PURE__ */ x(I, {
430
+ children: /* @__PURE__ */ T(L, {
407
431
  change: e.change,
408
432
  trend: e.trend,
409
433
  size: o,
410
434
  variant: "compact"
411
435
  })
412
436
  }),
413
- !!e.subtitle && /* @__PURE__ */ x(r, {
437
+ !!e.subtitle && /* @__PURE__ */ T(r, {
414
438
  size: "xs",
415
439
  type: "secondary",
416
440
  className: "truncate",
417
441
  children: e.subtitle
418
442
  }),
419
- !!c && !!e.sparkline?.length && /* @__PURE__ */ x(L, {
443
+ !!s && !!e.sparkline?.length && /* @__PURE__ */ T(B, {
420
444
  data: e.sparkline,
421
445
  trend: a,
422
- className: t("mt-auto", H[o])
446
+ className: t("mt-auto", W[o])
423
447
  }),
424
- !!e.footer && /* @__PURE__ */ x(r, {
448
+ !!e.footer && /* @__PURE__ */ T(r, {
425
449
  size: "xs",
426
450
  type: "discrete",
427
451
  className: "truncate",
@@ -430,89 +454,100 @@ function se({ data: e, formattedValue: n, trend: a, size: o, showSparkline: c, s
430
454
  ]
431
455
  });
432
456
  }
433
- function ce({ data: e, formattedValue: n, trend: a, size: o, showSparkline: l, showChange: u, showIcon: d, ariaLabel: f, className: p }) {
434
- let m = e.icon, h = !!(e.href || e.onClick), g = /* @__PURE__ */ x(c, {
435
- title: e.label,
436
- icon: d && m ? /* @__PURE__ */ x(m, {
457
+ function _e({ data: e, formattedValue: n, trend: a, size: o, showSparkline: s, showChange: u, showIcon: d, ariaLabel: f, className: p }) {
458
+ let m = e.icon, h = !!(e.href || e.onClick);
459
+ return /* @__PURE__ */ E(l, {
460
+ title: /* @__PURE__ */ T(r, {
461
+ tag: "span",
462
+ size: "xs",
463
+ type: "secondary",
464
+ weight: "medium",
465
+ children: e.label
466
+ }),
467
+ icon: d && m ? /* @__PURE__ */ T(m, {
437
468
  className: "size-icon",
438
469
  "aria-hidden": "true"
439
470
  }) : null,
440
471
  tooltip: e.tooltip,
441
- className: t(h && "cursor-pointer transition-shadow hover:shadow-md", p),
472
+ className: t("@container/metric-card", h && "relative transition-shadow hover:shadow-md [&_.card--tooltip-trigger]:relative [&_.card--tooltip-trigger]:z-10", p),
442
473
  "aria-label": f,
443
- children: /* @__PURE__ */ S(s, {
474
+ children: [h && (e.href ? /* @__PURE__ */ T("a", {
475
+ href: e.href,
476
+ onClick: e.onClick,
477
+ "aria-label": f,
478
+ className: "metric--action absolute inset-0 z-0 rounded-radius focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset"
479
+ }) : /* @__PURE__ */ T("button", {
480
+ type: "button",
481
+ onClick: e.onClick,
482
+ "aria-label": f,
483
+ className: "metric--action absolute inset-0 z-0 m-0 cursor-pointer rounded-radius border-0 bg-transparent p-0 font-sans focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset"
484
+ })), /* @__PURE__ */ E(c, {
444
485
  gap: "normal",
445
486
  children: [
446
- /* @__PURE__ */ S(s, {
487
+ /* @__PURE__ */ E(c, {
447
488
  direction: "horizontal",
448
489
  align: "baseline",
449
490
  justify: "between",
450
- gap: "normal",
451
- children: [/* @__PURE__ */ x(i, {
491
+ gap: "sm",
492
+ children: [/* @__PURE__ */ T(i, {
452
493
  tag: o === "sm" ? "h5" : o === "lg" ? "h3" : "h4",
453
- className: t("max-w-full break-words font-bold tabular-nums tracking-tight border-none pb-0 leading-none", V[o]),
494
+ size: U[o],
495
+ className: t("max-w-full break-words tabular-nums", he[o]),
454
496
  children: n
455
- }), !!u && !!e.change && /* @__PURE__ */ x(I, {
497
+ }), !!u && !!e.change && /* @__PURE__ */ T(L, {
456
498
  change: e.change,
457
499
  trend: e.trend,
458
500
  size: o,
459
- variant: "badge"
501
+ variant: "badge",
502
+ className: "@max-[16rem]/metric-card:px-space-xs"
460
503
  })]
461
504
  }),
462
- !!e.subtitle && /* @__PURE__ */ x(r, {
505
+ !!e.subtitle && /* @__PURE__ */ T(r, {
463
506
  type: "secondary",
464
507
  children: e.subtitle
465
508
  }),
466
- !!l && !!e.sparkline?.length && /* @__PURE__ */ x(L, {
509
+ !!s && !!e.sparkline?.length && /* @__PURE__ */ T(B, {
467
510
  data: e.sparkline,
468
511
  trend: a,
469
512
  className: o === "lg" ? "h-control-lg" : "h-control"
470
513
  }),
471
- !!e.footer && /* @__PURE__ */ x(r, {
514
+ !!e.footer && /* @__PURE__ */ T(r, {
472
515
  size: "xs",
473
516
  type: "secondary",
474
517
  children: e.footer
475
518
  })
476
519
  ]
477
- })
520
+ })]
478
521
  });
479
- return h && e.onClick ? /* @__PURE__ */ x("div", {
480
- role: "button",
481
- tabIndex: 0,
482
- onClick: e.onClick,
483
- onKeyDown: (t) => (t.key === "Enter" || t.key === " ") && e.onClick?.(),
484
- className: "rounded-radius focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40",
485
- children: g
486
- }) : g;
487
522
  }
488
- function le({ data: e, formattedValue: n, size: i, showChange: a, showIcon: o, ariaLabel: s, className: c }) {
523
+ function ve({ data: e, formattedValue: n, size: i, showChange: a, showIcon: o, ariaLabel: s, className: c }) {
489
524
  let l = e.icon;
490
- return /* @__PURE__ */ S("div", {
525
+ return /* @__PURE__ */ E("div", {
491
526
  className: t("flex items-center gap-space-lg", c),
492
527
  "aria-label": s,
493
528
  children: [
494
- !!o && !!l && /* @__PURE__ */ x("span", {
529
+ !!o && !!l && /* @__PURE__ */ T("span", {
495
530
  className: "inline-flex size-avatar shrink-0 items-center justify-center rounded-radius bg-muted/60 text-muted-foreground",
496
- children: /* @__PURE__ */ x(l, {
531
+ children: /* @__PURE__ */ T(l, {
497
532
  className: "size-icon",
498
533
  "aria-hidden": "true"
499
534
  })
500
535
  }),
501
- /* @__PURE__ */ S("div", {
536
+ /* @__PURE__ */ E("div", {
502
537
  className: "min-w-0 flex-1",
503
- children: [/* @__PURE__ */ x(r, {
538
+ children: [/* @__PURE__ */ T(r, {
504
539
  size: "xs",
505
540
  type: "secondary",
506
541
  className: "truncate",
507
542
  children: e.label
508
- }), /* @__PURE__ */ x(p, {
543
+ }), /* @__PURE__ */ T(h, {
509
544
  size: i === "sm" ? "sm" : "base",
510
545
  weight: "bold",
511
546
  className: "block truncate tabular-nums",
512
547
  children: n
513
548
  })]
514
549
  }),
515
- !!a && !!e.change && /* @__PURE__ */ x(I, {
550
+ !!a && !!e.change && /* @__PURE__ */ T(L, {
516
551
  change: e.change,
517
552
  trend: e.trend,
518
553
  size: i,
@@ -522,24 +557,24 @@ function le({ data: e, formattedValue: n, size: i, showChange: a, showIcon: o, a
522
557
  ]
523
558
  });
524
559
  }
525
- function ue({ data: e, formattedValue: n, size: i, showChange: a, ariaLabel: o, className: s }) {
526
- return /* @__PURE__ */ S("span", {
560
+ function ye({ data: e, formattedValue: n, size: i, showChange: a, ariaLabel: o, className: s }) {
561
+ return /* @__PURE__ */ E("span", {
527
562
  className: t("inline-flex items-baseline gap-space-md", s),
528
563
  "aria-label": o,
529
564
  children: [
530
- /* @__PURE__ */ S(r, {
565
+ /* @__PURE__ */ E(r, {
531
566
  tag: "span",
532
567
  size: i === "lg" ? "sm" : "xs",
533
568
  type: "secondary",
534
569
  children: [e.label, ":"]
535
570
  }),
536
- /* @__PURE__ */ x(p, {
571
+ /* @__PURE__ */ T(h, {
537
572
  size: i === "lg" ? "sm" : "xs",
538
573
  weight: "semibold",
539
574
  className: "tabular-nums",
540
575
  children: n
541
576
  }),
542
- !!a && !!e.change && /* @__PURE__ */ x(I, {
577
+ !!a && !!e.change && /* @__PURE__ */ T(L, {
543
578
  change: e.change,
544
579
  trend: e.trend,
545
580
  size: "sm",
@@ -548,52 +583,53 @@ function ue({ data: e, formattedValue: n, size: i, showChange: a, ariaLabel: o,
548
583
  ]
549
584
  });
550
585
  }
551
- function de({ data: e, formattedValue: n, trend: a, size: o, showSparkline: c, showChange: l, showIcon: u, colorScheme: d, ariaLabel: f, className: p }) {
552
- let m = e.icon, h = B[d];
553
- return /* @__PURE__ */ S(s, {
586
+ function be({ data: e, formattedValue: n, trend: a, size: o, showSparkline: s, showChange: l, showIcon: u, colorScheme: d, ariaLabel: f, className: p }) {
587
+ let m = e.icon, h = pe[d];
588
+ return /* @__PURE__ */ E(c, {
554
589
  gap: "lg",
555
590
  className: t("rounded-radius border shadow-sm", "p-surface", h.border, h.bg, p),
556
591
  "aria-label": f,
557
592
  children: [
558
- /* @__PURE__ */ S(s, {
593
+ /* @__PURE__ */ E(c, {
559
594
  direction: "horizontal",
560
595
  align: "center",
561
596
  justify: "between",
562
597
  gap: "md",
563
- children: [/* @__PURE__ */ S("div", {
598
+ children: [/* @__PURE__ */ E("div", {
564
599
  className: "flex items-center gap-space-md text-muted-foreground",
565
- children: [!!u && !!m && /* @__PURE__ */ x(m, {
600
+ children: [!!u && !!m && /* @__PURE__ */ T(m, {
566
601
  className: "size-icon shrink-0",
567
602
  "aria-hidden": "true"
568
- }), /* @__PURE__ */ x(r, {
603
+ }), /* @__PURE__ */ T(r, {
569
604
  size: "xs",
570
605
  type: "secondary",
571
606
  weight: "medium",
572
607
  children: e.label
573
608
  })]
574
- }), !!l && !!e.change && /* @__PURE__ */ x(I, {
609
+ }), !!l && !!e.change && /* @__PURE__ */ T(L, {
575
610
  change: e.change,
576
611
  trend: e.trend,
577
612
  size: o,
578
613
  variant: "badge"
579
614
  })]
580
615
  }),
581
- /* @__PURE__ */ x(i, {
616
+ /* @__PURE__ */ T(i, {
582
617
  tag: o === "lg" ? "h3" : "h4",
583
- className: t("font-bold tabular-nums tracking-tight border-none pb-0 leading-none", V[o]),
618
+ size: U[o],
619
+ className: "tabular-nums",
584
620
  children: n
585
621
  }),
586
- !!e.subtitle && /* @__PURE__ */ x(r, {
622
+ !!e.subtitle && /* @__PURE__ */ T(r, {
587
623
  size: "xs",
588
624
  type: "secondary",
589
625
  children: e.subtitle
590
626
  }),
591
- !!c && !!e.sparkline?.length && /* @__PURE__ */ x(L, {
627
+ !!s && !!e.sparkline?.length && /* @__PURE__ */ T(B, {
592
628
  data: e.sparkline,
593
629
  trend: a,
594
- className: H[o]
630
+ className: W[o]
595
631
  }),
596
- !!e.footer && /* @__PURE__ */ x(r, {
632
+ !!e.footer && /* @__PURE__ */ T(r, {
597
633
  size: "xs",
598
634
  type: "discrete",
599
635
  children: e.footer
@@ -601,87 +637,89 @@ function de({ data: e, formattedValue: n, trend: a, size: o, showSparkline: c, s
601
637
  ]
602
638
  });
603
639
  }
604
- function fe({ data: e, formattedValue: n, trend: o, size: c, showSparkline: l, showChange: u, ariaLabel: d, className: f }) {
640
+ function xe({ data: e, formattedValue: n, trend: o, size: s, showSparkline: l, showChange: u, ariaLabel: d, className: f }) {
605
641
  let p = e.icon;
606
- return /* @__PURE__ */ S(s, {
642
+ return /* @__PURE__ */ E(c, {
607
643
  gap: "none",
608
644
  className: t("dark relative overflow-hidden rounded-radius bg-card text-card-foreground shadow-sm ring-1 ring-border", f),
609
645
  "aria-label": d,
610
- children: [/* @__PURE__ */ S(s, {
646
+ children: [/* @__PURE__ */ E(c, {
611
647
  gap: "md",
612
648
  className: "p-surface",
613
649
  children: [
614
- /* @__PURE__ */ S(s, {
650
+ /* @__PURE__ */ E(c, {
615
651
  direction: "horizontal",
616
652
  align: "center",
617
653
  justify: "between",
618
654
  gap: "lg",
619
- children: [/* @__PURE__ */ x(a, { children: e.label }), !!p && /* @__PURE__ */ x("span", {
655
+ children: [/* @__PURE__ */ T(a, { children: e.label }), !!p && /* @__PURE__ */ T("span", {
620
656
  className: "inline-flex size-avatar-sm items-center justify-center rounded-radius bg-foreground/[0.08]",
621
- children: /* @__PURE__ */ x(p, {
657
+ children: /* @__PURE__ */ T(p, {
622
658
  className: "size-icon-md text-muted-foreground",
623
659
  "aria-hidden": "true"
624
660
  })
625
661
  })]
626
662
  }),
627
- /* @__PURE__ */ S("div", {
628
- className: "flex items-baseline gap-2.5",
629
- children: [/* @__PURE__ */ x(i, {
663
+ /* @__PURE__ */ E("div", {
664
+ className: "flex items-baseline gap-space-md",
665
+ children: [/* @__PURE__ */ T(i, {
630
666
  tag: "h3",
631
- className: t("font-bold tabular-nums tracking-tight border-none pb-0 leading-none text-foreground", V[c]),
667
+ size: U[s],
668
+ className: "tabular-nums",
632
669
  children: n
633
- }), !!u && !!e.change && /* @__PURE__ */ x(I, {
670
+ }), !!u && !!e.change && /* @__PURE__ */ T(L, {
634
671
  change: e.change,
635
672
  trend: e.trend,
636
- size: c,
673
+ size: s,
637
674
  variant: "compact"
638
675
  })]
639
676
  }),
640
- !!e.subtitle && /* @__PURE__ */ x(r, {
677
+ !!e.subtitle && /* @__PURE__ */ T(r, {
641
678
  size: "xs",
642
679
  type: "secondary",
643
680
  children: e.subtitle
644
681
  })
645
682
  ]
646
- }), !!l && !!e.sparkline?.length && /* @__PURE__ */ x(L, {
683
+ }), !!l && !!e.sparkline?.length && /* @__PURE__ */ T(B, {
647
684
  data: e.sparkline,
648
685
  trend: o,
649
686
  className: "h-control-lg w-full"
650
687
  })]
651
688
  });
652
689
  }
653
- function pe({ data: e, formattedValue: n, size: a, showChange: o, colorScheme: s, ariaLabel: c, className: l, progress: u = 0 }) {
654
- let d = B[s === "default" ? "primary" : s], f = Math.round(Math.min(Math.max(u, 0), 100) / 100 * U);
655
- return /* @__PURE__ */ S("div", {
690
+ function Se({ data: e, formattedValue: n, size: a, showChange: o, colorScheme: s, ariaLabel: c, className: l, progress: u = 0 }) {
691
+ let d = pe[s === "default" ? "primary" : s], f = Math.round(Math.min(Math.max(u, 0), 100) / 100 * G);
692
+ return /* @__PURE__ */ E("div", {
656
693
  className: t("rounded-radius bg-card shadow-sm border border-border/50", "p-surface", l),
657
694
  "aria-label": c,
658
695
  children: [
659
- /* @__PURE__ */ S("div", {
696
+ /* @__PURE__ */ E("div", {
660
697
  className: "flex items-center gap-space-md",
661
- children: [/* @__PURE__ */ x(r, {
698
+ children: [/* @__PURE__ */ T(r, {
662
699
  size: "xs",
663
700
  type: "secondary",
664
701
  weight: "medium",
665
702
  className: "truncate",
666
703
  children: e.label
667
- }), /* @__PURE__ */ x("span", {
704
+ }), /* @__PURE__ */ T("span", {
668
705
  className: t("size-1.5 rounded-full shrink-0", d.dot),
669
706
  "aria-hidden": "true"
670
707
  })]
671
708
  }),
672
- /* @__PURE__ */ S("div", {
709
+ /* @__PURE__ */ E("div", {
673
710
  className: "mt-space-md flex items-baseline gap-space-md",
674
- children: [/* @__PURE__ */ x(i, {
711
+ children: [/* @__PURE__ */ T(i, {
675
712
  tag: "h3",
676
- className: t("font-bold tabular-nums tracking-tight border-none pb-0 leading-none", V[a]),
713
+ size: U[a],
714
+ className: "tabular-nums",
677
715
  children: n
678
- }), !!e.subtitle && /* @__PURE__ */ x(r, {
716
+ }), !!e.subtitle && /* @__PURE__ */ T(r, {
679
717
  size: "xs",
680
718
  type: "secondary",
681
719
  children: e.subtitle
682
720
  })]
683
721
  }),
684
- /* @__PURE__ */ x("div", {
722
+ /* @__PURE__ */ T("div", {
685
723
  className: "mt-space-xl flex items-center gap-space-2xs",
686
724
  role: "progressbar",
687
725
  "aria-label": `${e.label} progress`,
@@ -689,23 +727,23 @@ function pe({ data: e, formattedValue: n, size: a, showChange: o, colorScheme: s
689
727
  "aria-valuemin": 0,
690
728
  "aria-valuemax": 100,
691
729
  "aria-valuetext": `${u}%`,
692
- children: Array.from({ length: U }, (e, n) => /* @__PURE__ */ x("div", { className: t("h-6 w-1.5 rounded-radius-sm transition-colors", n < f ? d.bar : "bg-muted") }, `seg-${n}`))
730
+ children: Array.from({ length: G }, (e, n) => /* @__PURE__ */ T("div", { className: t("h-6 w-1.5 rounded-radius-sm transition-colors", n < f ? d.bar : "bg-muted") }, `seg-${n}`))
693
731
  }),
694
- !!o && !!e.change && /* @__PURE__ */ x("div", {
732
+ !!o && !!e.change && /* @__PURE__ */ T("div", {
695
733
  className: "mt-space-lg",
696
- children: /* @__PURE__ */ x(I, {
734
+ children: /* @__PURE__ */ T(L, {
697
735
  change: e.change,
698
736
  trend: e.trend,
699
737
  size: a,
700
738
  variant: "default"
701
739
  })
702
740
  }),
703
- !!e.footer && /* @__PURE__ */ S("div", {
741
+ !!e.footer && /* @__PURE__ */ E("div", {
704
742
  className: "mt-space-md inline-flex items-center gap-space-xs text-muted-foreground",
705
- children: [/* @__PURE__ */ x(T, {
743
+ children: [/* @__PURE__ */ T(ne, {
706
744
  className: "size-icon-sm",
707
745
  "aria-hidden": "true"
708
- }), /* @__PURE__ */ x(r, {
746
+ }), /* @__PURE__ */ T(r, {
709
747
  size: "xs",
710
748
  type: "secondary",
711
749
  children: e.footer
@@ -716,12 +754,12 @@ function pe({ data: e, formattedValue: n, size: a, showChange: o, colorScheme: s
716
754
  }
717
755
  //#endregion
718
756
  //#region src/components/blocks/analytics/metric-bar/metric-bar.tsx
719
- function G({ metrics: e, period: i, onPeriodChange: a, variant: o = "default", size: s = "sm", showSparklines: c = !0, showChanges: l = !0, footerText: u, className: d }) {
720
- let f = /* @__PURE__ */ x("div", {
757
+ function q({ metrics: e, period: n, onPeriodChange: i, variant: a = "default", size: s = "sm", showSparklines: c = !0, showChanges: l = !0, footerText: u, className: d }) {
758
+ let f = /* @__PURE__ */ T("div", {
721
759
  className: "grid min-w-0 flex-1 grid-cols-1 divide-y divide-border @xl/metric-bar:flex @xl/metric-bar:items-stretch @xl/metric-bar:divide-x @xl/metric-bar:divide-y-0",
722
- children: e.map((e) => /* @__PURE__ */ x("div", {
723
- className: "flex min-w-0 flex-col px-4 py-2.5 @xl/metric-bar:min-w-36 @xl/metric-bar:flex-1",
724
- children: /* @__PURE__ */ x(W, {
760
+ children: e.map((e) => /* @__PURE__ */ T("div", {
761
+ className: "flex min-w-0 flex-col px-surface py-row-y @xl/metric-bar:min-w-36 @xl/metric-bar:flex-1",
762
+ children: /* @__PURE__ */ T(K, {
725
763
  data: e,
726
764
  variant: "default",
727
765
  size: s,
@@ -730,50 +768,50 @@ function G({ metrics: e, period: i, onPeriodChange: a, variant: o = "default", s
730
768
  className: "flex-1"
731
769
  })
732
770
  }, e.id))
733
- }), p = !!i && /* @__PURE__ */ x("div", {
734
- className: "flex shrink-0 items-center border-b border-border px-3 py-2 lg:border-b-0 lg:py-0",
735
- children: /* @__PURE__ */ S(n, {
771
+ }), p = !!n && /* @__PURE__ */ T("div", {
772
+ className: "flex shrink-0 items-center border-b border-border px-row-x py-row-y @xl/metric-bar:border-b-0 @xl/metric-bar:py-0",
773
+ children: /* @__PURE__ */ E(o, {
736
774
  tone: "secondary",
737
775
  buttonStyle: "ghost",
738
776
  className: "gap-space-sm",
739
- onClick: a ? () => a(i.value) : void 0,
740
- children: [/* @__PURE__ */ x(E, {
777
+ onClick: i ? () => i(n.value) : void 0,
778
+ children: [/* @__PURE__ */ T(re, {
741
779
  className: "size-icon-md",
742
780
  "aria-hidden": "true"
743
- }), /* @__PURE__ */ x(r, {
781
+ }), /* @__PURE__ */ T(r, {
744
782
  size: "inherit",
745
783
  weight: "medium",
746
- children: i.label
784
+ children: n.label
747
785
  })]
748
786
  })
749
787
  });
750
- return o === "gradient" ? /* @__PURE__ */ S("div", {
788
+ return a === "gradient" ? /* @__PURE__ */ E("div", {
751
789
  className: t("metric-bar--component @container/metric-bar", "w-full", "rounded-radius bg-gradient-to-r from-primary/8 via-info/5 to-success/8 p-px", d),
752
- children: [/* @__PURE__ */ S("div", {
790
+ children: [/* @__PURE__ */ E("div", {
753
791
  className: "flex min-w-0 flex-col overflow-hidden rounded-radius bg-card @xl/metric-bar:flex-row",
754
- children: [p && /* @__PURE__ */ S(b, { children: [p, /* @__PURE__ */ x("div", {
792
+ children: [p && /* @__PURE__ */ E(w, { children: [p, /* @__PURE__ */ T("div", {
755
793
  className: "hidden w-px bg-border @xl/metric-bar:block",
756
794
  "aria-hidden": "true"
757
795
  })] }), f]
758
- }), !!u && /* @__PURE__ */ x("div", {
759
- className: "rounded-b-radius border-t border-border/50 bg-card px-4 py-2",
760
- children: /* @__PURE__ */ x(r, {
796
+ }), !!u && /* @__PURE__ */ T("div", {
797
+ className: "rounded-b-radius border-t border-border/50 bg-card px-surface py-row-y",
798
+ children: /* @__PURE__ */ T(r, {
761
799
  size: "xs",
762
800
  type: "discrete",
763
801
  children: u
764
802
  })
765
803
  })]
766
- }) : /* @__PURE__ */ S("div", {
804
+ }) : /* @__PURE__ */ E("div", {
767
805
  className: t("metric-bar--component @container/metric-bar flex w-full flex-col overflow-hidden rounded-radius border border-border bg-card shadow-sm", d),
768
- children: [/* @__PURE__ */ S("div", {
806
+ children: [/* @__PURE__ */ E("div", {
769
807
  className: "flex min-w-0 flex-col overflow-hidden @xl/metric-bar:flex-row",
770
- children: [p && /* @__PURE__ */ S(b, { children: [p, /* @__PURE__ */ x("div", {
808
+ children: [p && /* @__PURE__ */ E(w, { children: [p, /* @__PURE__ */ T("div", {
771
809
  className: "hidden w-px bg-border @xl/metric-bar:block",
772
810
  "aria-hidden": "true"
773
811
  })] }), f]
774
- }), !!u && /* @__PURE__ */ x("div", {
775
- className: "border-t border-border/50 px-4 py-2",
776
- children: /* @__PURE__ */ x(r, {
812
+ }), !!u && /* @__PURE__ */ T("div", {
813
+ className: "border-t border-border/50 px-surface py-row-y",
814
+ children: /* @__PURE__ */ T(r, {
777
815
  size: "xs",
778
816
  type: "discrete",
779
817
  children: u
@@ -781,28 +819,28 @@ function G({ metrics: e, period: i, onPeriodChange: a, variant: o = "default", s
781
819
  })]
782
820
  });
783
821
  }
784
- G.displayName = "MetricBar";
822
+ q.displayName = "MetricBar";
785
823
  //#endregion
786
824
  //#region src/components/blocks/analytics/metric-grid/metric-grid.tsx
787
- var K = {
825
+ var J = {
788
826
  1: "grid-cols-1",
789
827
  2: "grid-cols-1 @md/metric-grid:grid-cols-2",
790
828
  3: "grid-cols-1 @md/metric-grid:grid-cols-2 @3xl/metric-grid:grid-cols-3",
791
829
  4: "grid-cols-1 @md/metric-grid:grid-cols-2 @5xl/metric-grid:grid-cols-4",
792
830
  6: "grid-cols-1 @md/metric-grid:grid-cols-2 @3xl/metric-grid:grid-cols-3 @7xl/metric-grid:grid-cols-6"
793
831
  };
794
- function me(e) {
795
- return K[e <= 1 ? 1 : e === 2 ? 2 : e === 3 ? 3 : e <= 4 || e > 6 ? 4 : 6];
832
+ function Ce(e) {
833
+ return J[e <= 1 ? 1 : e === 2 ? 2 : e === 3 ? 3 : e <= 4 || e > 6 ? 4 : 6];
796
834
  }
797
- function q({ metrics: e, variant: n = "card", size: r = "md", colorScheme: i = "default", columns: a = "auto", gap: s = "xl", showSparklines: c = !0, showChanges: l = !0, showIcons: u = !0, loading: d = !1, className: f }) {
798
- let p = a === "auto" ? me(e.length) : K[a];
799
- return /* @__PURE__ */ x("div", {
835
+ function Y({ metrics: e, variant: n = "card", size: r = "md", colorScheme: i = "default", columns: a = "auto", gap: o = "xl", showSparklines: c = !0, showChanges: l = !0, showIcons: u = !0, loading: d = !1, className: f }) {
836
+ let p = a === "auto" ? Ce(e.length) : J[a];
837
+ return /* @__PURE__ */ T("div", {
800
838
  className: t("metric-grid--component @container/metric-grid", f),
801
- children: /* @__PURE__ */ x(o, {
839
+ children: /* @__PURE__ */ T(s, {
802
840
  columns: 1,
803
- gap: s,
841
+ gap: o,
804
842
  className: t("metric-grid--grid", p),
805
- children: e.map((e) => /* @__PURE__ */ x(W, {
843
+ children: e.map((e) => /* @__PURE__ */ T(K, {
806
844
  data: e,
807
845
  variant: n,
808
846
  size: r,
@@ -815,119 +853,121 @@ function q({ metrics: e, variant: n = "card", size: r = "md", colorScheme: i = "
815
853
  })
816
854
  });
817
855
  }
818
- q.displayName = "MetricGrid";
856
+ Y.displayName = "MetricGrid";
819
857
  //#endregion
820
858
  //#region src/components/blocks/analytics/metric-comparison/metric-comparison.tsx
821
- var J = {
859
+ var X = {
822
860
  title: "Comparison",
823
861
  currentLabel: "This period",
824
862
  previousLabel: "Previous period",
825
863
  suffix: "vs previous"
826
864
  };
827
- function Y(e) {
865
+ function Z(e) {
828
866
  if (e == null) return null;
829
867
  if (typeof e == "number") return e;
830
868
  let t = Number(e);
831
869
  return Number.isFinite(t) ? t : null;
832
870
  }
833
- function X({ current: n, previous: o, title: c, currentPeriod: l, previousPeriod: u, className: d, strings: f }) {
834
- let m = e(J, f), g = Y(n.value), _ = Y(o.value), v = g !== null && _ !== null, y = v ? g - _ : 0, b = v && _ !== 0 ? Math.round(y / _ * 100) : 0, T = y > 0, E = y === 0, D = E ? te : T ? w : C, O = E ? {
871
+ function Q({ current: n, previous: o, title: s, currentPeriod: l, previousPeriod: u, className: d, strings: f }) {
872
+ let p = e(X, f), m = Z(n.value), g = Z(o.value), v = m !== null && g !== null, y = v ? m - g : 0, ee = v && g !== 0 ? Math.round(y / g * 100) : 0, b = y > 0, x = y === 0, S = x ? ie : b ? O : D, C = x ? {
835
873
  box: "bg-muted/40",
836
- chip: "bg-card text-muted-foreground border border-border/60"
837
- } : T ? {
874
+ badge: "secondary"
875
+ } : b ? {
838
876
  box: "bg-success/10",
839
- chip: "bg-success/15 text-success"
877
+ badge: "success"
840
878
  } : {
841
879
  box: "bg-destructive/10",
842
- chip: "bg-destructive/15 text-destructive"
880
+ badge: "destructive"
843
881
  };
844
- return /* @__PURE__ */ S(s, {
882
+ return /* @__PURE__ */ E(c, {
845
883
  "data-component": "metric-comparison",
846
884
  "data-slot": "metric-comparison",
847
885
  gap: "md",
848
886
  className: t("metric-comparison--component @container/metric-comparison", d),
849
- "aria-label": c ?? m.title,
887
+ "aria-label": s ?? p.title,
850
888
  children: [
851
- !!(l || u) && /* @__PURE__ */ S(s, {
889
+ !!(l || u) && /* @__PURE__ */ E(c, {
852
890
  direction: "horizontal",
853
891
  wrap: !0,
854
892
  align: "center",
855
893
  gap: "sm",
856
- children: [!!l && /* @__PURE__ */ x(h, {
894
+ children: [!!l && /* @__PURE__ */ T(_, {
857
895
  tone: "secondary",
858
896
  inline: !0,
859
897
  children: l
860
- }), !!u && /* @__PURE__ */ x(h, {
898
+ }), !!u && /* @__PURE__ */ T(_, {
861
899
  tone: "secondary",
862
900
  inline: !0,
863
901
  children: u
864
902
  })]
865
903
  }),
866
- /* @__PURE__ */ S("div", {
904
+ /* @__PURE__ */ E("div", {
867
905
  className: "grid items-stretch gap-space-md grid-cols-1 @md/metric-comparison:grid-cols-[1fr_auto_1fr]",
868
906
  children: [
869
- /* @__PURE__ */ S("div", {
907
+ /* @__PURE__ */ E("div", {
870
908
  className: "rounded-radius border border-border/60 bg-card p-surface",
871
- children: [/* @__PURE__ */ x(a, { children: m.currentLabel }), /* @__PURE__ */ x(i, {
909
+ children: [/* @__PURE__ */ T(a, { children: p.currentLabel }), /* @__PURE__ */ T(i, {
872
910
  tag: "h5",
873
911
  className: "text-base tabular-nums tracking-tight border-none pb-0",
874
- children: M(n)
912
+ children: N(n)
875
913
  })]
876
914
  }),
877
- /* @__PURE__ */ S("div", {
915
+ /* @__PURE__ */ E("div", {
878
916
  className: "flex items-center justify-center text-muted-foreground/60",
879
- children: [/* @__PURE__ */ x(ee, {
917
+ children: [/* @__PURE__ */ T(te, {
880
918
  className: "hidden size-icon @md/metric-comparison:block",
881
919
  "aria-hidden": "true"
882
- }), /* @__PURE__ */ x(C, {
920
+ }), /* @__PURE__ */ T(D, {
883
921
  className: "size-icon @md/metric-comparison:hidden",
884
922
  "aria-hidden": "true"
885
923
  })]
886
924
  }),
887
- /* @__PURE__ */ S("div", {
925
+ /* @__PURE__ */ E("div", {
888
926
  className: "rounded-radius border border-border/60 bg-muted/30 p-surface",
889
- children: [/* @__PURE__ */ x(a, { children: m.previousLabel }), /* @__PURE__ */ x(i, {
927
+ children: [/* @__PURE__ */ T(a, { children: p.previousLabel }), /* @__PURE__ */ T(i, {
890
928
  tag: "h5",
891
929
  className: "text-base tabular-nums tracking-tight border-none pb-0 text-muted-foreground",
892
- children: M(o)
930
+ children: N(o)
893
931
  })]
894
932
  })
895
933
  ]
896
934
  }),
897
- !!v && /* @__PURE__ */ x("div", {
898
- className: t("rounded-radius p-surface", O.box),
899
- children: /* @__PURE__ */ S(s, {
935
+ !!v && /* @__PURE__ */ T("div", {
936
+ className: t("rounded-radius p-surface", C.box),
937
+ children: /* @__PURE__ */ E(c, {
900
938
  direction: "horizontal",
901
939
  wrap: !0,
902
940
  align: "center",
903
941
  gap: "md",
904
- children: [/* @__PURE__ */ S("div", {
905
- className: t("inline-flex items-center gap-space-xs rounded-full px-2 py-0.5", O.chip),
906
- children: [/* @__PURE__ */ x(D, {
942
+ children: [/* @__PURE__ */ E(_, {
943
+ tone: C.badge,
944
+ size: "sm",
945
+ inline: !0,
946
+ children: [/* @__PURE__ */ T(S, {
907
947
  className: "size-icon-sm",
908
948
  strokeWidth: 2.5,
909
949
  "aria-hidden": "true"
910
- }), /* @__PURE__ */ S(p, {
911
- size: "xs",
950
+ }), /* @__PURE__ */ E(h, {
951
+ size: "inherit",
912
952
  weight: "semibold",
913
- className: "tabular-nums",
914
- children: [T ? "+" : E ? "" : "−", ((e) => {
953
+ className: "tabular-nums text-inherit",
954
+ children: [b ? "+" : x ? "" : "−", ((e) => {
915
955
  let t = Math.abs(e);
916
- return M({
956
+ return N({
917
957
  ...n,
918
958
  value: t
919
959
  });
920
960
  })(y)]
921
961
  })]
922
- }), /* @__PURE__ */ S(r, {
962
+ }), /* @__PURE__ */ E(r, {
923
963
  size: "xs",
924
964
  type: "secondary",
925
- className: t("tabular-nums", T && "text-success", !T && !E && "text-destructive"),
965
+ className: t("tabular-nums", b && "text-success", !b && !x && "text-destructive"),
926
966
  children: [
927
- T ? "+" : E ? "" : "−",
928
- Math.abs(b),
967
+ b ? "+" : x ? "" : "−",
968
+ Math.abs(ee),
929
969
  "% ",
930
- m.suffix
970
+ p.suffix
931
971
  ]
932
972
  })]
933
973
  })
@@ -935,33 +975,33 @@ function X({ current: n, previous: o, title: c, currentPeriod: l, previousPeriod
935
975
  ]
936
976
  });
937
977
  }
938
- X.displayName = "MetricComparison";
978
+ Q.displayName = "MetricComparison";
939
979
  //#endregion
940
980
  //#region src/components/blocks/analytics/metric-micro-grid/metric-micro-grid.tsx
941
- var he = [
981
+ var we = [
942
982
  "bars",
943
983
  "line",
944
984
  "dots",
945
985
  "progress",
946
986
  "area",
947
987
  "pie"
948
- ], ge = {
988
+ ], Te = {
949
989
  bars: "var(--primary)",
950
990
  line: "var(--info)",
951
991
  dots: "var(--warning)",
952
992
  progress: "var(--success)",
953
993
  area: "var(--primary)",
954
994
  pie: "var(--success)"
955
- }, Z = [
995
+ }, Ee = [
956
996
  "var(--success)",
957
997
  "var(--info)",
958
998
  "var(--warning)"
959
999
  ];
960
- function _e({ data: e, color: n }) {
1000
+ function De({ data: e, color: n }) {
961
1001
  let r = Math.max(...e, 1);
962
- return /* @__PURE__ */ x("div", {
1002
+ return /* @__PURE__ */ T("div", {
963
1003
  className: t("metric-micro-grid--component", "flex h-5 items-end gap-space-2xs"),
964
- children: e.slice(0, 6).map((e, t) => /* @__PURE__ */ x("div", {
1004
+ children: e.slice(0, 6).map((e, t) => /* @__PURE__ */ T("div", {
965
1005
  className: "flex-1 rounded-t-radius-sm",
966
1006
  style: {
967
1007
  height: `${e / r * 100}%`,
@@ -971,13 +1011,13 @@ function _e({ data: e, color: n }) {
971
1011
  }, `bar-${t}`))
972
1012
  });
973
1013
  }
974
- function ve({ data: e, color: t }) {
1014
+ function Oe({ data: e, color: t }) {
975
1015
  let n = Math.max(...e, 1), r = Math.min(...e), i = n - r || 1, a = e.slice(0, 6);
976
- return /* @__PURE__ */ x("svg", {
1016
+ return /* @__PURE__ */ T("svg", {
977
1017
  viewBox: "0 0 60 16",
978
1018
  className: "h-5 w-full",
979
1019
  preserveAspectRatio: "none",
980
- children: /* @__PURE__ */ x("polyline", {
1020
+ children: /* @__PURE__ */ T("polyline", {
981
1021
  fill: "none",
982
1022
  stroke: t,
983
1023
  strokeWidth: "1.5",
@@ -987,12 +1027,12 @@ function ve({ data: e, color: t }) {
987
1027
  })
988
1028
  });
989
1029
  }
990
- function ye({ data: e, color: t }) {
1030
+ function ke({ data: e, color: t }) {
991
1031
  let n = Math.max(...e, 1);
992
- return /* @__PURE__ */ x("div", {
1032
+ return /* @__PURE__ */ T("div", {
993
1033
  className: "flex h-5 items-end justify-around",
994
1034
  "data-intrinsic-geometry": !0,
995
- children: e.slice(0, 5).map((e, r) => /* @__PURE__ */ x("div", {
1035
+ children: e.slice(0, 5).map((e, r) => /* @__PURE__ */ T("div", {
996
1036
  className: "h-1.5 w-1.5 rounded-full",
997
1037
  style: {
998
1038
  marginBottom: `${e / n * 12}px`,
@@ -1001,12 +1041,12 @@ function ye({ data: e, color: t }) {
1001
1041
  }, `dot-${r}`))
1002
1042
  });
1003
1043
  }
1004
- function be({ data: e, color: t }) {
1044
+ function Ae({ data: e, color: t }) {
1005
1045
  let n = e[0] ?? 0, r = e[1] ?? 100, i = Math.min(n / r * 100, 100);
1006
- return /* @__PURE__ */ x("div", {
1046
+ return /* @__PURE__ */ T("div", {
1007
1047
  className: "h-1.5 w-full overflow-hidden rounded-full bg-muted",
1008
- children: /* @__PURE__ */ x("div", {
1009
- className: "h-full rounded-full transition-all",
1048
+ children: /* @__PURE__ */ T("div", {
1049
+ className: "h-full rounded-full transition-[width,background-color] motion-reduce:transition-none",
1010
1050
  style: {
1011
1051
  width: `${i}%`,
1012
1052
  backgroundColor: t
@@ -1014,115 +1054,116 @@ function be({ data: e, color: t }) {
1014
1054
  })
1015
1055
  });
1016
1056
  }
1017
- function xe({ data: e, color: t }) {
1018
- let n = `micro-area-${v().replaceAll(":", "")}`, r = e.map((e, t) => ({
1057
+ function je({ data: e, color: t }) {
1058
+ let n = x(), r = z(), i = `micro-area-${n.replaceAll(":", "")}`, a = e.map((e, t) => ({
1019
1059
  i: t,
1020
1060
  v: e
1021
1061
  }));
1022
- return /* @__PURE__ */ x("div", {
1062
+ return /* @__PURE__ */ T("div", {
1023
1063
  className: "h-5 w-full",
1024
- children: /* @__PURE__ */ x(A, {
1064
+ children: /* @__PURE__ */ T(j, {
1025
1065
  width: "100%",
1026
1066
  height: "100%",
1027
1067
  initialDimension: {
1028
1068
  width: 1,
1029
1069
  height: 1
1030
1070
  },
1031
- children: /* @__PURE__ */ S(k, {
1032
- data: r,
1071
+ children: /* @__PURE__ */ E(A, {
1072
+ data: a,
1033
1073
  margin: {
1034
1074
  top: 0,
1035
1075
  right: 0,
1036
1076
  bottom: 0,
1037
1077
  left: 0
1038
1078
  },
1039
- children: [/* @__PURE__ */ x("defs", { children: /* @__PURE__ */ S("linearGradient", {
1040
- id: n,
1079
+ children: [/* @__PURE__ */ T("defs", { children: /* @__PURE__ */ E("linearGradient", {
1080
+ id: i,
1041
1081
  x1: "0",
1042
1082
  y1: "0",
1043
1083
  x2: "0",
1044
1084
  y2: "1",
1045
- children: [/* @__PURE__ */ x("stop", {
1085
+ children: [/* @__PURE__ */ T("stop", {
1046
1086
  offset: "0%",
1047
1087
  stopColor: t,
1048
1088
  stopOpacity: .3
1049
- }), /* @__PURE__ */ x("stop", {
1089
+ }), /* @__PURE__ */ T("stop", {
1050
1090
  offset: "100%",
1051
1091
  stopColor: t,
1052
1092
  stopOpacity: 0
1053
1093
  })]
1054
- }) }), /* @__PURE__ */ x(O, {
1094
+ }) }), /* @__PURE__ */ T(k, {
1055
1095
  type: "monotone",
1056
1096
  dataKey: "v",
1057
1097
  stroke: t,
1058
1098
  strokeWidth: 1.25,
1059
- fill: `url(#${n})`
1099
+ fill: `url(#${i})`,
1100
+ isAnimationActive: !r
1060
1101
  })]
1061
1102
  })
1062
1103
  })
1063
1104
  });
1064
1105
  }
1065
- function Se({ data: e }) {
1106
+ function Me({ data: e }) {
1066
1107
  let t = e.reduce((e, t) => e + t, 0) || 1, n = 0;
1067
- return /* @__PURE__ */ x("svg", {
1108
+ return /* @__PURE__ */ T("svg", {
1068
1109
  viewBox: "0 0 24 24",
1069
1110
  className: "h-6 w-6",
1070
1111
  children: e.slice(0, 3).map((e, r) => {
1071
1112
  let i = e / t * 360, a = n;
1072
1113
  n += i;
1073
1114
  let o = (a - 90) * Math.PI / 180, s = (a + i - 90) * Math.PI / 180, c = +(i > 180), l = 12 + 10 * Math.cos(o), u = 12 + 10 * Math.sin(o), d = 12 + 10 * Math.cos(s), f = 12 + 10 * Math.sin(s);
1074
- return /* @__PURE__ */ x("path", {
1115
+ return /* @__PURE__ */ T("path", {
1075
1116
  d: `M12,12 L${l},${u} A10,10 0 ${c},1 ${d},${f} Z`,
1076
- fill: Z[r % Z.length]
1117
+ fill: Ee[r % Ee.length]
1077
1118
  }, `slice-${r}`);
1078
1119
  })
1079
1120
  });
1080
1121
  }
1081
- function Ce({ kind: e, data: t }) {
1082
- let n = ge[e];
1083
- return e === "bars" ? /* @__PURE__ */ x(_e, {
1122
+ function Ne({ kind: e, data: t }) {
1123
+ let n = Te[e];
1124
+ return e === "bars" ? /* @__PURE__ */ T(De, {
1084
1125
  data: t,
1085
1126
  color: n
1086
- }) : e === "line" ? /* @__PURE__ */ x(ve, {
1127
+ }) : e === "line" ? /* @__PURE__ */ T(Oe, {
1087
1128
  data: t,
1088
1129
  color: n
1089
- }) : e === "dots" ? /* @__PURE__ */ x(ye, {
1130
+ }) : e === "dots" ? /* @__PURE__ */ T(ke, {
1090
1131
  data: t,
1091
1132
  color: n
1092
- }) : e === "progress" ? /* @__PURE__ */ x(be, {
1133
+ }) : e === "progress" ? /* @__PURE__ */ T(Ae, {
1093
1134
  data: t,
1094
1135
  color: n
1095
- }) : e === "area" ? /* @__PURE__ */ x(xe, {
1136
+ }) : e === "area" ? /* @__PURE__ */ T(je, {
1096
1137
  data: t,
1097
1138
  color: n
1098
- }) : /* @__PURE__ */ x(Se, { data: t });
1139
+ }) : /* @__PURE__ */ T(Me, { data: t });
1099
1140
  }
1100
- function Q({ title: e = "Overview", cells: n, className: r }) {
1101
- return /* @__PURE__ */ x("div", {
1141
+ function Pe({ title: e = "Overview", cells: n, className: r }) {
1142
+ return /* @__PURE__ */ T("div", {
1102
1143
  "data-component": "metric-micro-grid",
1103
1144
  "data-slot": "metric-micro-grid",
1104
1145
  className: t("metric-micro-grid--component min-w-0", r),
1105
1146
  "aria-label": e,
1106
- children: /* @__PURE__ */ x("div", {
1147
+ children: /* @__PURE__ */ T("div", {
1107
1148
  className: "grid grid-cols-3 grid-rows-2",
1108
- children: n.slice(0, 6).map((e, n) => /* @__PURE__ */ x("div", {
1149
+ children: n.slice(0, 6).map((e, n) => /* @__PURE__ */ T("div", {
1109
1150
  className: t("p-surface-xs", n % 3 != 2 && "border-r border-border/50", n < 3 && "border-b border-border/50"),
1110
- children: /* @__PURE__ */ S(s, {
1151
+ children: /* @__PURE__ */ E(c, {
1111
1152
  gap: "sm",
1112
1153
  children: [
1113
- /* @__PURE__ */ x(a, {
1154
+ /* @__PURE__ */ T(a, {
1114
1155
  className: "truncate",
1115
1156
  children: e.label
1116
1157
  }),
1117
- /* @__PURE__ */ x(p, {
1158
+ /* @__PURE__ */ T(h, {
1118
1159
  weight: "bold",
1119
1160
  className: "truncate tabular-nums",
1120
1161
  children: e.value
1121
1162
  }),
1122
- /* @__PURE__ */ x("div", {
1163
+ /* @__PURE__ */ T("div", {
1123
1164
  className: "mt-auto",
1124
- children: /* @__PURE__ */ x(Ce, {
1125
- kind: e.chart ?? he[n],
1165
+ children: /* @__PURE__ */ T(Ne, {
1166
+ kind: e.chart ?? we[n],
1126
1167
  data: e.data
1127
1168
  })
1128
1169
  })
@@ -1132,99 +1173,99 @@ function Q({ title: e = "Overview", cells: n, className: r }) {
1132
1173
  })
1133
1174
  });
1134
1175
  }
1135
- Q.displayName = "MetricMicroGrid";
1176
+ Pe.displayName = "MetricMicroGrid";
1136
1177
  //#endregion
1137
1178
  //#region src/components/blocks/analytics/metric-gradient/metric-gradient.tsx
1138
- var we = {
1179
+ var Fe = {
1139
1180
  green: "bg-gradient-to-br from-success via-primary to-success",
1140
1181
  purple: "bg-gradient-to-br from-primary via-info to-primary",
1141
1182
  warm: "bg-gradient-to-br from-warning via-destructive to-warning",
1142
1183
  ocean: "bg-gradient-to-br from-info via-success to-info"
1143
- }, $ = "var(--inverse-foreground)", Te = "var(--inverse-muted)";
1144
- function Ee({ title: e, value: n, change: o, data: c, theme: l = "green", subtitle: u, className: d }) {
1145
- let f = `metric-grad-${v().replaceAll(":", "")}`;
1146
- return /* @__PURE__ */ x("div", {
1147
- className: t("metric-gradient--component", "relative overflow-hidden rounded-radius p-surface text-inverse-foreground shadow-sm ring-1 ring-inverse-border", we[l], d),
1148
- children: /* @__PURE__ */ S(s, {
1184
+ }, $ = "var(--inverse-foreground)", Ie = "var(--inverse-muted)";
1185
+ function Le({ title: e, value: n, change: o, data: s, theme: l = "green", subtitle: u, className: d }) {
1186
+ let f = x(), p = z(), m = `metric-grad-${f.replaceAll(":", "")}`;
1187
+ return /* @__PURE__ */ T("div", {
1188
+ className: t("metric-gradient--component", "relative overflow-hidden rounded-radius p-surface text-inverse-foreground shadow-sm ring-1 ring-inverse-border", Fe[l], d),
1189
+ children: /* @__PURE__ */ E(c, {
1149
1190
  gap: "md",
1150
- children: [/* @__PURE__ */ S(s, {
1191
+ children: [/* @__PURE__ */ E(c, {
1151
1192
  direction: "horizontal",
1152
1193
  align: "start",
1153
1194
  justify: "between",
1154
1195
  wrap: !0,
1155
1196
  className: "relative rounded-radius bg-inverse-background p-surface",
1156
- children: [/* @__PURE__ */ S(s, {
1197
+ children: [/* @__PURE__ */ E(c, {
1157
1198
  gap: "xs",
1158
1199
  className: "min-w-0",
1159
1200
  children: [
1160
- /* @__PURE__ */ x(a, {
1201
+ /* @__PURE__ */ T(a, {
1161
1202
  tone: "inverse",
1162
1203
  children: e
1163
1204
  }),
1164
- !!n && /* @__PURE__ */ x(i, {
1205
+ !!n && /* @__PURE__ */ T(i, {
1165
1206
  tag: "h3",
1166
1207
  className: "text-base font-bold tabular-nums tracking-tight border-none pb-0 leading-none text-inverse-foreground",
1167
1208
  children: n
1168
1209
  }),
1169
- !!u && /* @__PURE__ */ x(r, {
1210
+ !!u && /* @__PURE__ */ T(r, {
1170
1211
  size: "xs",
1171
1212
  className: "text-inverse-muted",
1172
1213
  children: u
1173
1214
  })
1174
1215
  ]
1175
- }), !!o && /* @__PURE__ */ x(I, {
1216
+ }), !!o && /* @__PURE__ */ T(L, {
1176
1217
  change: o,
1177
1218
  trend: o.direction === "up" ? "positive" : o.direction === "down" ? "negative" : "neutral",
1178
1219
  size: "sm",
1179
1220
  variant: "badge",
1180
1221
  className: "shrink-0 !bg-inverse-surface-strong !text-inverse-foreground"
1181
1222
  })]
1182
- }), /* @__PURE__ */ x("div", {
1223
+ }), /* @__PURE__ */ T("div", {
1183
1224
  className: "relative -mx-1 h-24",
1184
- children: /* @__PURE__ */ x(A, {
1225
+ children: /* @__PURE__ */ T(j, {
1185
1226
  width: "100%",
1186
1227
  height: "100%",
1187
1228
  initialDimension: {
1188
1229
  width: 1,
1189
1230
  height: 1
1190
1231
  },
1191
- children: /* @__PURE__ */ S(k, {
1192
- data: c,
1232
+ children: /* @__PURE__ */ E(A, {
1233
+ data: s,
1193
1234
  margin: {
1194
1235
  top: 4,
1195
1236
  right: 0,
1196
1237
  bottom: 0,
1197
1238
  left: 0
1198
1239
  },
1199
- children: [/* @__PURE__ */ x("defs", { children: /* @__PURE__ */ S("linearGradient", {
1200
- id: f,
1240
+ children: [/* @__PURE__ */ T("defs", { children: /* @__PURE__ */ E("linearGradient", {
1241
+ id: m,
1201
1242
  x1: "0",
1202
1243
  y1: "0",
1203
1244
  x2: "0",
1204
1245
  y2: "1",
1205
- children: [/* @__PURE__ */ x("stop", {
1246
+ children: [/* @__PURE__ */ T("stop", {
1206
1247
  offset: "0%",
1207
1248
  stopColor: $,
1208
1249
  stopOpacity: .3
1209
- }), /* @__PURE__ */ x("stop", {
1250
+ }), /* @__PURE__ */ T("stop", {
1210
1251
  offset: "100%",
1211
1252
  stopColor: $,
1212
1253
  stopOpacity: 0
1213
1254
  })]
1214
- }) }), /* @__PURE__ */ x(O, {
1255
+ }) }), /* @__PURE__ */ T(k, {
1215
1256
  type: "monotone",
1216
1257
  dataKey: "value",
1217
- stroke: Te,
1258
+ stroke: Ie,
1218
1259
  strokeWidth: 2,
1219
- fill: `url(#${f})`,
1260
+ fill: `url(#${m})`,
1220
1261
  dot: !1,
1221
1262
  activeDot: {
1222
1263
  r: 4,
1223
1264
  strokeWidth: 2,
1224
1265
  fill: $,
1225
- stroke: Te
1266
+ stroke: Ie
1226
1267
  },
1227
- isAnimationActive: !0,
1268
+ isAnimationActive: !p,
1228
1269
  animationDuration: 800
1229
1270
  })]
1230
1271
  })
@@ -1233,17 +1274,21 @@ function Ee({ title: e, value: n, change: o, data: c, theme: l = "green", subtit
1233
1274
  })
1234
1275
  });
1235
1276
  }
1236
- Ee.displayName = "MetricGradient";
1277
+ Le.displayName = "MetricGradient";
1237
1278
  //#endregion
1238
1279
  //#region src/components/blocks/analytics/activity-heatmap/activity-heatmap.tsx
1239
- var De = {
1240
- 0: "bg-muted",
1241
- 1: "bg-success/20",
1242
- 2: "bg-success/40",
1243
- 3: "bg-success/65",
1244
- 4: "bg-success"
1245
- };
1246
- function Oe(e, t) {
1280
+ var Re = {
1281
+ 0: "fill-muted",
1282
+ 1: "fill-success/20",
1283
+ 2: "fill-success/40",
1284
+ 3: "fill-success/65",
1285
+ 4: "fill-success"
1286
+ }, ze = t("text--component fill-current", n({
1287
+ size: "xs",
1288
+ type: "secondary",
1289
+ lineHeight: "none"
1290
+ }));
1291
+ function Be(e, t) {
1247
1292
  if (e.length === 0) return {
1248
1293
  weeks: [],
1249
1294
  monthLabels: []
@@ -1254,7 +1299,7 @@ function Oe(e, t) {
1254
1299
  for (let e of n) c.set(e.date, e.level);
1255
1300
  let l = [], u = [], d = -1, f = [], p = new Date(s);
1256
1301
  for (; p <= i;) {
1257
- let e = p.toISOString().slice(0, 10), n = (p.getDay() + 6) % 7;
1302
+ let e = `${String(p.getFullYear()).padStart(4, "0")}-${String(p.getMonth() + 1).padStart(2, "0")}-${String(p.getDate()).padStart(2, "0")}`, n = (p.getDay() + 6) % 7;
1258
1303
  n === 0 && f.length > 0 && (l.push(f), f = []);
1259
1304
  let r = p.getMonth();
1260
1305
  if (r !== d) {
@@ -1279,100 +1324,94 @@ function Oe(e, t) {
1279
1324
  monthLabels: u
1280
1325
  };
1281
1326
  }
1282
- function ke({ title: n, description: i, data: a, className: o, strings: c }) {
1283
- let l = e(j, c), { weeks: u, monthLabels: d } = Oe(a, l.heatmapMonthNames);
1284
- return /* @__PURE__ */ S(s, {
1327
+ function Ve({ title: n, description: i, data: a, className: o, strings: s }) {
1328
+ let l = e(M, s), { weeks: u, monthLabels: d } = Be(a, l.heatmapMonthNames);
1329
+ return /* @__PURE__ */ E(c, {
1285
1330
  gap: "md",
1286
1331
  "data-component": "activity-heatmap",
1287
1332
  "data-slot": "activity-heatmap",
1288
1333
  className: t("activity-heatmap--component", o),
1289
1334
  "aria-label": n,
1290
- children: [
1291
- !!i && /* @__PURE__ */ x(r, {
1292
- type: "secondary",
1293
- children: i
1294
- }),
1295
- /* @__PURE__ */ S("div", {
1296
- className: "overflow-x-auto",
1297
- "data-intrinsic-geometry": !0,
1298
- children: [/* @__PURE__ */ x("div", {
1299
- className: "relative mb-1",
1300
- style: {
1301
- paddingLeft: "28px",
1302
- height: "12px"
1303
- },
1304
- children: /* @__PURE__ */ x("div", {
1305
- className: "relative flex",
1306
- style: { width: `${u.length * 15}px` },
1307
- children: d.filter((e, t, n) => t === 0 || e.weekIndex - n[t - 1].weekIndex >= 3).map((e) => /* @__PURE__ */ x(r, {
1335
+ children: [!!i && /* @__PURE__ */ T(r, {
1336
+ type: "secondary",
1337
+ children: i
1338
+ }), /* @__PURE__ */ T("div", {
1339
+ className: "overflow-x-auto",
1340
+ "data-intrinsic-geometry": !0,
1341
+ children: /* @__PURE__ */ E("div", {
1342
+ className: "inline-flex min-w-max flex-col gap-space-sm",
1343
+ children: [/* @__PURE__ */ E("svg", {
1344
+ width: 28 + u.length * 15,
1345
+ height: 124,
1346
+ className: "block overflow-visible",
1347
+ role: "img",
1348
+ "aria-label": n,
1349
+ children: [/* @__PURE__ */ E("g", { children: [d.filter((e, t, n) => t === 0 || e.weekIndex - n[t - 1].weekIndex >= 3).map((e) => /* @__PURE__ */ T("text", {
1350
+ className: ze,
1351
+ "data-typography": "text",
1352
+ x: 28 + e.weekIndex * 15,
1353
+ y: 0,
1354
+ dominantBaseline: "text-before-edge",
1355
+ children: e.label
1356
+ }, `${e.label}-${e.weekIndex}`)), l.heatmapDayLabels.map((e, t) => e ? /* @__PURE__ */ T("text", {
1357
+ className: ze,
1358
+ "data-typography": "text",
1359
+ x: 24,
1360
+ y: 28 + t * 15,
1361
+ dominantBaseline: "central",
1362
+ textAnchor: "end",
1363
+ children: e
1364
+ }, `day-${t}`) : null)] }), u.map((e, t) => /* @__PURE__ */ T("g", { children: e.map((e, n) => /* @__PURE__ */ T("rect", {
1365
+ x: 28 + t * 15,
1366
+ y: 22 + n * 15,
1367
+ width: 12,
1368
+ height: 12,
1369
+ rx: 2.5,
1370
+ className: e ? Re[e.level] : "fill-transparent",
1371
+ children: e && /* @__PURE__ */ T("title", { children: `${e.date}: Level ${e.level}` })
1372
+ }, `d-${t}-${n}`)) }, `w-${t}`))]
1373
+ }), /* @__PURE__ */ E("div", {
1374
+ className: "activity-heatmap--legend flex items-center justify-end gap-space-sm",
1375
+ children: [
1376
+ /* @__PURE__ */ T(r, {
1308
1377
  size: "xs",
1309
1378
  type: "secondary",
1310
- className: "absolute leading-none whitespace-nowrap",
1311
- style: {
1312
- left: `${e.weekIndex * 15}px`,
1313
- top: 0
1314
- },
1315
- children: e.label
1316
- }, `${e.label}-${e.weekIndex}`))
1317
- })
1318
- }), /* @__PURE__ */ S("div", {
1319
- className: "flex gap-0",
1320
- children: [/* @__PURE__ */ x("div", {
1321
- className: "mr-1 flex flex-col gap-0.75",
1322
- children: l.heatmapDayLabels.map((e, t) => /* @__PURE__ */ x("div", {
1323
- className: "flex h-3 w-6 items-center justify-end",
1324
- children: !!e && /* @__PURE__ */ x(r, {
1325
- size: "xs",
1326
- type: "secondary",
1327
- className: "leading-none",
1328
- children: e
1329
- })
1330
- }, `day-${t}`))
1331
- }), /* @__PURE__ */ x("div", {
1332
- className: "flex gap-0.75",
1333
- children: u.map((e, n) => /* @__PURE__ */ x("div", {
1334
- className: "flex flex-col gap-0.75",
1335
- children: e.map((e, r) => {
1336
- let i = e ? `${e.date}: Level ${e.level}` : void 0;
1337
- return /* @__PURE__ */ x("div", {
1338
- className: t("size-3 rounded-radius-sm", e ? De[e.level] : "bg-transparent"),
1339
- title: i
1340
- }, `d-${n}-${r}`);
1379
+ children: l.heatmapLegendLess
1380
+ }),
1381
+ [
1382
+ 0,
1383
+ 1,
1384
+ 2,
1385
+ 3,
1386
+ 4
1387
+ ].map((e) => /* @__PURE__ */ T("svg", {
1388
+ width: 12,
1389
+ height: 12,
1390
+ "aria-hidden": "true",
1391
+ className: "shrink-0",
1392
+ children: /* @__PURE__ */ T("rect", {
1393
+ width: 12,
1394
+ height: 12,
1395
+ rx: 2.5,
1396
+ className: Re[e]
1341
1397
  })
1342
- }, `w-${n}`))
1343
- })]
1398
+ }, `legend-${e}`)),
1399
+ /* @__PURE__ */ T(r, {
1400
+ size: "xs",
1401
+ type: "secondary",
1402
+ children: l.heatmapLegendMore
1403
+ })
1404
+ ]
1344
1405
  })]
1345
- }),
1346
- /* @__PURE__ */ S("div", {
1347
- className: "mt-space-xl flex items-center justify-end gap-space-sm",
1348
- children: [
1349
- /* @__PURE__ */ x(r, {
1350
- size: "xs",
1351
- type: "secondary",
1352
- children: l.heatmapLegendLess
1353
- }),
1354
- [
1355
- 0,
1356
- 1,
1357
- 2,
1358
- 3,
1359
- 4
1360
- ].map((e) => /* @__PURE__ */ x("div", { className: t("size-3 rounded-radius-sm", De[e]) }, `legend-${e}`)),
1361
- /* @__PURE__ */ x(r, {
1362
- size: "xs",
1363
- type: "secondary",
1364
- children: l.heatmapLegendMore
1365
- })
1366
- ]
1367
1406
  })
1368
- ]
1407
+ })]
1369
1408
  });
1370
1409
  }
1371
- ke.displayName = "ActivityHeatmap";
1410
+ Ve.displayName = "ActivityHeatmap";
1372
1411
  //#endregion
1373
1412
  //#region src/components/blocks/analytics/chart-card/chart-card.tsx
1374
- function Ae({ title: e, description: n, headerEnd: r, titleSuffix: i, footer: a, config: o, children: s, initialDimension: c, surface: l, padding: u, className: d, contentClassName: f, chartClassName: p }) {
1375
- return /* @__PURE__ */ x(_, {
1413
+ function He({ title: e, description: n, headerEnd: r, titleSuffix: i, footer: a, config: o, children: s, initialDimension: c, surface: l, padding: u, className: d, contentClassName: f, chartClassName: p }) {
1414
+ return /* @__PURE__ */ T(y, {
1376
1415
  title: e,
1377
1416
  description: n,
1378
1417
  headerEnd: r,
@@ -1382,7 +1421,7 @@ function Ae({ title: e, description: n, headerEnd: r, titleSuffix: i, footer: a,
1382
1421
  padding: u,
1383
1422
  className: t("chart-card--component", d),
1384
1423
  contentClassName: t("chart-card--content", f),
1385
- children: /* @__PURE__ */ x(g, {
1424
+ children: /* @__PURE__ */ T(v, {
1386
1425
  config: o,
1387
1426
  initialDimension: c,
1388
1427
  className: t("chart-card--chart min-h-[var(--chart-min-height)]", p),
@@ -1390,10 +1429,10 @@ function Ae({ title: e, description: n, headerEnd: r, titleSuffix: i, footer: a,
1390
1429
  })
1391
1430
  });
1392
1431
  }
1393
- Ae.displayName = "ChartCard";
1432
+ He.displayName = "ChartCard";
1394
1433
  //#endregion
1395
1434
  //#region src/components/blocks/analytics/time-ruler/types.ts
1396
- var je = {
1435
+ var Ue = {
1397
1436
  legendNone: "None",
1398
1437
  legendLow: "Low",
1399
1438
  legendMedium: "Medium",
@@ -1404,87 +1443,87 @@ var je = {
1404
1443
  };
1405
1444
  //#endregion
1406
1445
  //#region src/components/blocks/analytics/time-ruler/time-ruler.tsx
1407
- function Me({ hours: n, currentHour: i, className: a, strings: o }) {
1408
- let c = e(je, o), l = Math.max(...n, 1), u = n.indexOf(Math.max(...n));
1446
+ function We({ hours: n, currentHour: i, className: a, strings: o }) {
1447
+ let s = e(Ue, o), l = Math.max(...n, 1), u = n.indexOf(Math.max(...n));
1409
1448
  function d(e) {
1410
1449
  if (e === 0) return "bg-muted";
1411
1450
  let t = e / l;
1412
1451
  return t < .33 ? "bg-primary/25" : t < .66 ? "bg-primary/55" : "bg-primary";
1413
1452
  }
1414
- return /* @__PURE__ */ S(s, {
1453
+ return /* @__PURE__ */ E(c, {
1415
1454
  gap: "sm",
1416
1455
  className: t("time-ruler--component", a),
1417
1456
  children: [
1418
- /* @__PURE__ */ x("div", {
1457
+ /* @__PURE__ */ T("div", {
1419
1458
  className: "relative flex h-8 gap-px overflow-hidden rounded-radius-md",
1420
- children: n.map((e, n) => /* @__PURE__ */ x("div", {
1459
+ children: n.map((e, n) => /* @__PURE__ */ T("div", {
1421
1460
  className: t("relative flex-1 transition-colors duration-200", d(e), n === u && "ring-1 ring-primary ring-inset"),
1422
- title: c.formatHourTitle(c.formatHourLabel(n), e)
1461
+ title: s.formatHourTitle(s.formatHourLabel(n), e)
1423
1462
  }, n))
1424
1463
  }),
1425
- /* @__PURE__ */ x("div", {
1464
+ /* @__PURE__ */ T("div", {
1426
1465
  className: "relative flex",
1427
- children: n.map((e, t) => /* @__PURE__ */ x("div", {
1466
+ children: n.map((e, t) => /* @__PURE__ */ T("div", {
1428
1467
  className: "flex-1 text-center",
1429
- children: t % 4 == 0 && /* @__PURE__ */ x(m, {
1468
+ children: t % 4 == 0 && /* @__PURE__ */ T(g, {
1430
1469
  size: "xs",
1431
1470
  className: "tabular-nums",
1432
- children: c.formatHourLabel(t)
1471
+ children: s.formatHourLabel(t)
1433
1472
  })
1434
1473
  }, t))
1435
1474
  }),
1436
- i !== void 0 && i >= 0 && i < 24 && /* @__PURE__ */ x("div", {
1475
+ i !== void 0 && i >= 0 && i < 24 && /* @__PURE__ */ T("div", {
1437
1476
  className: "relative h-0",
1438
- children: /* @__PURE__ */ x("div", {
1477
+ children: /* @__PURE__ */ T("div", {
1439
1478
  className: "absolute -top-[42px] flex flex-col items-center",
1440
1479
  style: {
1441
1480
  left: `${i / 24 * 100}%`,
1442
1481
  transform: "translateX(-50%)"
1443
1482
  },
1444
- children: /* @__PURE__ */ x("div", { className: "h-0 w-0 border-x-[4px] border-b-[5px] border-x-transparent border-b-destructive" })
1483
+ children: /* @__PURE__ */ T("div", { className: "h-0 w-0 border-x-[4px] border-b-[5px] border-x-transparent border-b-destructive" })
1445
1484
  })
1446
1485
  }),
1447
- /* @__PURE__ */ S("div", {
1486
+ /* @__PURE__ */ E("div", {
1448
1487
  className: "flex items-center gap-space-lg",
1449
1488
  children: [
1450
- /* @__PURE__ */ S("div", {
1489
+ /* @__PURE__ */ E("div", {
1451
1490
  className: "flex items-center gap-space-xs",
1452
- children: [/* @__PURE__ */ x("div", { className: "h-2 w-3 rounded-radius-sm bg-muted" }), /* @__PURE__ */ x(r, {
1491
+ children: [/* @__PURE__ */ T("div", { className: "h-2 w-3 rounded-radius-sm bg-muted" }), /* @__PURE__ */ T(r, {
1453
1492
  size: "xs",
1454
1493
  type: "secondary",
1455
- children: c.legendNone
1494
+ children: s.legendNone
1456
1495
  })]
1457
1496
  }),
1458
- /* @__PURE__ */ S("div", {
1497
+ /* @__PURE__ */ E("div", {
1459
1498
  className: "flex items-center gap-space-xs",
1460
- children: [/* @__PURE__ */ x("div", { className: "h-2 w-3 rounded-radius-sm bg-primary/25" }), /* @__PURE__ */ x(r, {
1499
+ children: [/* @__PURE__ */ T("div", { className: "h-2 w-3 rounded-radius-sm bg-primary/25" }), /* @__PURE__ */ T(r, {
1461
1500
  size: "xs",
1462
1501
  type: "secondary",
1463
- children: c.legendLow
1502
+ children: s.legendLow
1464
1503
  })]
1465
1504
  }),
1466
- /* @__PURE__ */ S("div", {
1505
+ /* @__PURE__ */ E("div", {
1467
1506
  className: "flex items-center gap-space-xs",
1468
- children: [/* @__PURE__ */ x("div", { className: "h-2 w-3 rounded-radius-sm bg-primary/55" }), /* @__PURE__ */ x(r, {
1507
+ children: [/* @__PURE__ */ T("div", { className: "h-2 w-3 rounded-radius-sm bg-primary/55" }), /* @__PURE__ */ T(r, {
1469
1508
  size: "xs",
1470
1509
  type: "secondary",
1471
- children: c.legendMedium
1510
+ children: s.legendMedium
1472
1511
  })]
1473
1512
  }),
1474
- /* @__PURE__ */ S("div", {
1513
+ /* @__PURE__ */ E("div", {
1475
1514
  className: "flex items-center gap-space-xs",
1476
- children: [/* @__PURE__ */ x("div", { className: "h-2 w-3 rounded-radius-sm bg-primary" }), /* @__PURE__ */ x(r, {
1515
+ children: [/* @__PURE__ */ T("div", { className: "h-2 w-3 rounded-radius-sm bg-primary" }), /* @__PURE__ */ T(r, {
1477
1516
  size: "xs",
1478
1517
  type: "secondary",
1479
- children: c.legendHigh
1518
+ children: s.legendHigh
1480
1519
  })]
1481
1520
  }),
1482
- i !== void 0 && /* @__PURE__ */ S("div", {
1521
+ i !== void 0 && /* @__PURE__ */ E("div", {
1483
1522
  className: "flex items-center gap-space-xs",
1484
- children: [/* @__PURE__ */ x("div", { className: "h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive" }), /* @__PURE__ */ x(r, {
1523
+ children: [/* @__PURE__ */ T("div", { className: "h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive" }), /* @__PURE__ */ T(r, {
1485
1524
  size: "xs",
1486
1525
  type: "secondary",
1487
- children: c.legendNow
1526
+ children: s.legendNow
1488
1527
  })]
1489
1528
  })
1490
1529
  ]
@@ -1492,8 +1531,8 @@ function Me({ hours: n, currentHour: i, className: a, strings: o }) {
1492
1531
  ]
1493
1532
  });
1494
1533
  }
1495
- Me.displayName = "TimeDistributionRuler";
1534
+ We.displayName = "TimeDistributionRuler";
1496
1535
  //#endregion
1497
- export { ke as ActivityHeatmap, Ae as ChartCard, W as Metric, G as MetricBar, X as MetricComparison, Ee as MetricGradient, q as MetricGrid, Q as MetricMicroGrid, z as MetricSkeleton, L as MetricSparkline, I as MetricTrendChip, Me as TimeDistributionRuler, j as defaultAnalyticsStrings, J as defaultMetricComparisonStrings, je as defaultTimeDistributionRulerStrings, M as formatMetricValue, N as resolveTrend };
1536
+ export { Ve as ActivityHeatmap, He as ChartCard, K as Metric, q as MetricBar, Q as MetricComparison, Le as MetricGradient, Y as MetricGrid, Pe as MetricMicroGrid, H as MetricSkeleton, B as MetricSparkline, L as MetricTrendChip, We as TimeDistributionRuler, b as UsageCard, M as defaultAnalyticsStrings, X as defaultMetricComparisonStrings, Ue as defaultTimeDistributionRulerStrings, ee as defaultUsageCardStrings, N as formatMetricValue, P as resolveTrend };
1498
1537
 
1499
1538
  //# sourceMappingURL=analytics.js.map