themelia-react-ui 2.0.6 → 3.0.0

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 (912) hide show
  1. package/CHANGELOG.md +250 -0
  2. package/MIGRATION.md +746 -7
  3. package/README.md +27 -23
  4. package/dist/{accordion-0tQUZ20r.js → accordion-DNVqwEIC.js} +36 -36
  5. package/dist/accordion-DNVqwEIC.js.map +1 -0
  6. package/dist/action-menu-D5343RwT.js +286 -0
  7. package/dist/action-menu-D5343RwT.js.map +1 -0
  8. package/dist/ai-artifact-otrz9ZwS.js +1214 -0
  9. package/dist/ai-artifact-otrz9ZwS.js.map +1 -0
  10. package/dist/anchored-positioning-1U_eBFNx.js +9 -0
  11. package/dist/anchored-positioning-1U_eBFNx.js.map +1 -0
  12. package/dist/app-shell-CPN30Nb1.js +372 -0
  13. package/dist/app-shell-CPN30Nb1.js.map +1 -0
  14. package/dist/{attachment-BCpA4e7i.js → attachment-D2-fpfmv.js} +15 -15
  15. package/dist/{attachment-BCpA4e7i.js.map → attachment-D2-fpfmv.js.map} +1 -1
  16. package/dist/{auth-B0girIk_.js → auth-g_oUTDDC.js} +234 -241
  17. package/dist/auth-g_oUTDDC.js.map +1 -0
  18. package/dist/{avatar-B9Jnp-T-.js → avatar-Ca3Ihrq4.js} +4 -4
  19. package/dist/{avatar-B9Jnp-T-.js.map → avatar-Ca3Ihrq4.js.map} +1 -1
  20. package/dist/{badge-wWauMgAt.js → badge-oGiXblW7.js} +8 -9
  21. package/dist/badge-oGiXblW7.js.map +1 -0
  22. package/dist/base/accordion.js +1 -1
  23. package/dist/base/action-menu.js +1 -1
  24. package/dist/base/attachment.js +1 -1
  25. package/dist/base/avatar.js +1 -1
  26. package/dist/base/badge.js +1 -1
  27. package/dist/base/batch-action-bar.js +1 -1
  28. package/dist/base/buttons.js +2 -2
  29. package/dist/base/cards.js +3 -3
  30. package/dist/base/carousel.js +11 -11
  31. package/dist/base/carousel.js.map +1 -1
  32. package/dist/base/cascader.js +1 -1
  33. package/dist/base/chart.js +1 -1
  34. package/dist/base/choice-inputs.js +2 -2
  35. package/dist/base/code-block.js +1 -1
  36. package/dist/base/combobox.js +1 -1
  37. package/dist/base/command.js +1 -1
  38. package/dist/base/copyable.js +1 -1
  39. package/dist/base/date-pickers.js +2 -2
  40. package/dist/base/display.js +7 -7
  41. package/dist/base/feedback.js +4 -4
  42. package/dist/base/forms-numeric.js +2 -2
  43. package/dist/base/forms.js +2 -2
  44. package/dist/base/inline-edit.js +13 -13
  45. package/dist/base/inline-edit.js.map +1 -1
  46. package/dist/base/item.js +1 -1
  47. package/dist/base/media-gallery.js +203 -2
  48. package/dist/base/media-gallery.js.map +1 -0
  49. package/dist/base/metadata-list.js +1 -1
  50. package/dist/base/navigation.js +7 -7
  51. package/dist/base/popover-menu.js +1 -1
  52. package/dist/base/popover.js +1 -1
  53. package/dist/base/qr-code.js +32 -22
  54. package/dist/base/qr-code.js.map +1 -1
  55. package/dist/base/repeaters.js +91 -88
  56. package/dist/base/repeaters.js.map +1 -1
  57. package/dist/base/sidebar.js +2 -2
  58. package/dist/base/signature-pad.js +14 -14
  59. package/dist/base/signature-pad.js.map +1 -1
  60. package/dist/base/skeleton.js +1 -1
  61. package/dist/base/spinner.js +6 -12
  62. package/dist/base/spinner.js.map +1 -1
  63. package/dist/base/structure.js +1 -1
  64. package/dist/base/table.js +1 -1
  65. package/dist/base/text-inputs.js +3 -3
  66. package/dist/base/toaster.js +2 -2
  67. package/dist/base/tree.js +2 -2
  68. package/dist/base/upload-queue.js +303 -2
  69. package/dist/base/upload-queue.js.map +1 -0
  70. package/dist/base/upload.js +3 -4
  71. package/dist/base/value-inputs.js +1 -1
  72. package/dist/{batch-action-bar-BoqWIIpV.js → batch-action-bar-D6MZQNnC.js} +10 -10
  73. package/dist/{batch-action-bar-BoqWIIpV.js.map → batch-action-bar-D6MZQNnC.js.map} +1 -1
  74. package/dist/blocks/admin.js +242 -228
  75. package/dist/blocks/admin.js.map +1 -1
  76. package/dist/blocks/ai.js +395 -357
  77. package/dist/blocks/ai.js.map +1 -1
  78. package/dist/blocks/analytics/charts.js +1022 -0
  79. package/dist/blocks/analytics/charts.js.map +1 -0
  80. package/dist/blocks/analytics/usage-card.js +1 -1
  81. package/dist/blocks/analytics.js +171 -1365
  82. package/dist/blocks/analytics.js.map +1 -1
  83. package/dist/blocks/collaboration.js +1 -1
  84. package/dist/blocks/commerce/receipt.js +1 -1
  85. package/dist/blocks/commerce.js +1487 -1358
  86. package/dist/blocks/commerce.js.map +1 -1
  87. package/dist/blocks/data-display.js +2 -3
  88. package/dist/blocks/onboarding.js +91 -82
  89. package/dist/blocks/onboarding.js.map +1 -1
  90. package/dist/blocks/planning.js +25 -25
  91. package/dist/blocks/planning.js.map +1 -1
  92. package/dist/blocks/timelines.js +2 -2
  93. package/dist/{breadcrumbs-Bp9Ke7kd.js → breadcrumbs-CQ9JSlez.js} +52 -45
  94. package/dist/breadcrumbs-CQ9JSlez.js.map +1 -0
  95. package/dist/{button-ChBovTx0.js → button-rd6FiHfQ.js} +12 -8
  96. package/dist/button-rd6FiHfQ.js.map +1 -0
  97. package/dist/{buttons-DeW0bQeK.js → buttons-pZVgPTZn.js} +230 -246
  98. package/dist/buttons-pZVgPTZn.js.map +1 -0
  99. package/dist/{cards-CNXnmvV5.js → cards-CgWyqvgZ.js} +25 -22
  100. package/dist/{cards-CNXnmvV5.js.map → cards-CgWyqvgZ.js.map} +1 -1
  101. package/dist/cascader-Cf05pwaq.js +444 -0
  102. package/dist/cascader-Cf05pwaq.js.map +1 -0
  103. package/dist/{chart-I7ROnsl8.js → chart-CygRCyIZ.js} +5 -5
  104. package/dist/{chart-I7ROnsl8.js.map → chart-CygRCyIZ.js.map} +1 -1
  105. package/dist/{checkbox-MoyHIAPs.js → checkbox-Dy5_XBMZ.js} +4 -4
  106. package/dist/{checkbox-MoyHIAPs.js.map → checkbox-Dy5_XBMZ.js.map} +1 -1
  107. package/dist/{choice-inputs-DHGtx0QV.js → choice-inputs-oJEsrb5Y.js} +113 -114
  108. package/dist/choice-inputs-oJEsrb5Y.js.map +1 -0
  109. package/dist/{code-block-BSJyq9e-.js → code-block-BrLD7mCi.js} +44 -60
  110. package/dist/code-block-BrLD7mCi.js.map +1 -0
  111. package/dist/collapsible-CRCCg_bO.js +80 -0
  112. package/dist/collapsible-CRCCg_bO.js.map +1 -0
  113. package/dist/{collection-content-CSnwtOTH.js → collection-content-D7SoDlYd.js} +3 -3
  114. package/dist/{collection-content-CSnwtOTH.js.map → collection-content-D7SoDlYd.js.map} +1 -1
  115. package/dist/combobox-Dl6f6kHz.js +362 -0
  116. package/dist/combobox-Dl6f6kHz.js.map +1 -0
  117. package/dist/combobox-DrDXtSSt.js +929 -0
  118. package/dist/combobox-DrDXtSSt.js.map +1 -0
  119. package/dist/command-CjZ2VzKC.js +432 -0
  120. package/dist/command-CjZ2VzKC.js.map +1 -0
  121. package/dist/comments-C2MZyRmh.js +1214 -0
  122. package/dist/comments-C2MZyRmh.js.map +1 -0
  123. package/dist/components/base/accordion/accordion.d.ts +11 -3
  124. package/dist/components/base/action-menu/action-menu.d.ts +11 -3
  125. package/dist/components/base/buttons/button.d.ts +2 -2
  126. package/dist/components/base/buttons/index.d.ts +1 -1
  127. package/dist/components/base/buttons/loader-button.d.ts +6 -15
  128. package/dist/components/base/cards/index.d.ts +1 -1
  129. package/dist/components/base/cards/partials/card-body-context.d.ts +6 -0
  130. package/dist/components/base/cards/smart-card.d.ts +0 -2
  131. package/dist/components/base/cards/smart-card.types.d.ts +12 -10
  132. package/dist/components/base/cascader/cascader.d.ts +8 -2
  133. package/dist/components/base/cascader/cascader.types.d.ts +24 -2
  134. package/dist/components/base/cascader/index.d.ts +1 -1
  135. package/dist/components/base/choice-inputs/switch.d.ts +1 -1
  136. package/dist/components/base/code-block/use-code-copy.d.ts +2 -6
  137. package/dist/components/base/command/command.d.ts +1 -1
  138. package/dist/components/base/date-pickers/datepicker.types.d.ts +1 -3
  139. package/dist/components/base/display/dialog.d.ts +3 -9
  140. package/dist/components/base/display/index.d.ts +2 -3
  141. package/dist/components/base/display/separator.d.ts +1 -1
  142. package/dist/components/base/feedback/alert.d.ts +2 -1
  143. package/dist/components/base/feedback/empty.d.ts +10 -2
  144. package/dist/components/base/forms/workflow.d.ts +2 -2
  145. package/dist/components/base/forms-numeric/dimensions-input.d.ts +9 -17
  146. package/dist/components/base/forms-numeric/index.d.ts +3 -3
  147. package/dist/components/base/item/item.types.d.ts +6 -2
  148. package/dist/components/base/metadata-list/index.d.ts +1 -3
  149. package/dist/components/base/metadata-list/metadata-list.d.ts +4 -1
  150. package/dist/components/base/navigation/index.d.ts +2 -2
  151. package/dist/components/base/navigation/language-switcher.d.ts +7 -6
  152. package/dist/components/base/navigation/navigation-tabs.d.ts +8 -1
  153. package/dist/components/base/navigation/page-header/index.d.ts +1 -1
  154. package/dist/components/base/navigation/page-header/page-header.d.ts +13 -17
  155. package/dist/components/base/navigation/pagination.d.ts +5 -5
  156. package/dist/components/base/popover/popover.recipes.d.ts +0 -1
  157. package/dist/components/base/qr-code/qr-code.d.ts +4 -0
  158. package/dist/components/base/repeaters/index.d.ts +1 -1
  159. package/dist/components/base/repeaters/key-value-editor.d.ts +4 -0
  160. package/dist/components/base/sheet/sheet.d.ts +6 -15
  161. package/dist/components/base/sidebar/index.d.ts +1 -6
  162. package/dist/components/base/sidebar/sidebar.d.ts +38 -10
  163. package/dist/components/base/skeleton/skeleton.d.ts +1 -1
  164. package/dist/components/base/structure/structure.types.d.ts +11 -2
  165. package/dist/components/base/text-inputs/index.d.ts +1 -1
  166. package/dist/components/base/tree/index.d.ts +1 -0
  167. package/dist/components/base/tree/tree.d.ts +2 -2
  168. package/dist/components/base/tree/tree.types.d.ts +7 -1
  169. package/dist/components/base/upload/file-upload.validation.d.ts +37 -1
  170. package/dist/components/base/upload/image-upload.d.ts +2 -0
  171. package/dist/components/base/upload/index.d.ts +3 -9
  172. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -0
  173. package/dist/components/base/value-inputs/slider.d.ts +5 -2
  174. package/dist/components/blocks/admin/action-surfaces/index.d.ts +17 -4
  175. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +9 -3
  176. package/dist/components/blocks/admin/index.d.ts +1 -1
  177. package/dist/components/blocks/ai/ai-artifact/ai-artifact.d.ts +1 -1
  178. package/dist/components/blocks/ai/ai-artifact/types.d.ts +9 -4
  179. package/dist/components/blocks/ai/ai-chain-of-thought/ai-chain-of-thought.d.ts +1 -1
  180. package/dist/components/blocks/ai/ai-chain-of-thought/types.d.ts +11 -1
  181. package/dist/components/blocks/ai/ai-citation/ai-citation.d.ts +1 -1
  182. package/dist/components/blocks/ai/ai-citation/types.d.ts +6 -0
  183. package/dist/components/blocks/ai/ai-confirmation/ai-confirmation.d.ts +1 -1
  184. package/dist/components/blocks/ai/ai-confirmation/types.d.ts +21 -5
  185. package/dist/components/blocks/ai/ai-feedback/types.d.ts +7 -2
  186. package/dist/components/blocks/ai/ai-inline-citation/types.d.ts +9 -3
  187. package/dist/components/blocks/ai/ai-package-info/ai-package-info.d.ts +1 -1
  188. package/dist/components/blocks/ai/ai-package-info/types.d.ts +6 -0
  189. package/dist/components/blocks/ai/ai-sources/ai-sources.d.ts +1 -1
  190. package/dist/components/blocks/ai/ai-sources/types.d.ts +8 -2
  191. package/dist/components/blocks/ai/ai-task/ai-task.d.ts +1 -1
  192. package/dist/components/blocks/ai/ai-task/types.d.ts +10 -1
  193. package/dist/components/blocks/ai/ai-tool-call/ai-tool-call.d.ts +1 -1
  194. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +6 -0
  195. package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
  196. package/dist/components/blocks/analytics/activity-heatmap/types.d.ts +1 -1
  197. package/dist/components/blocks/analytics/analytics.strings.d.ts +2 -0
  198. package/dist/components/blocks/analytics/atoms/metric-trend-chip.d.ts +11 -1
  199. package/dist/components/blocks/analytics/chart-card/chart-card.d.ts +7 -5
  200. package/dist/components/blocks/analytics/charts/index.d.ts +27 -0
  201. package/dist/components/blocks/analytics/index.d.ts +17 -24
  202. package/dist/components/blocks/analytics/metric/metric.d.ts +5 -5
  203. package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +2 -2
  204. package/dist/components/blocks/analytics/types.d.ts +12 -3
  205. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
  206. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  207. package/dist/components/blocks/commerce/address-card/types.d.ts +5 -16
  208. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +2 -2
  209. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +6 -4
  210. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +0 -2
  211. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  212. package/dist/components/blocks/commerce/cart-summary/types.d.ts +9 -11
  213. package/dist/components/blocks/commerce/coupon-input/coupon-input.d.ts +1 -1
  214. package/dist/components/blocks/commerce/coupon-input/types.d.ts +7 -3
  215. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +0 -2
  216. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  217. package/dist/components/blocks/commerce/discount-stack/types.d.ts +4 -6
  218. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
  219. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +2 -0
  220. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-balance.d.ts +18 -0
  221. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-compact.d.ts +1 -1
  222. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-copy-button.d.ts +0 -1
  223. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-dark.d.ts +1 -1
  224. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-full.d.ts +1 -1
  225. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-illustrated.d.ts +1 -1
  226. package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-minimal.d.ts +1 -1
  227. package/dist/components/blocks/commerce/giftcard-card/types.d.ts +16 -5
  228. package/dist/components/blocks/commerce/index.d.ts +8 -8
  229. package/dist/components/blocks/commerce/inventory-level/inventory-level.strings.d.ts +2 -0
  230. package/dist/components/blocks/commerce/inventory-level/types.d.ts +1 -1
  231. package/dist/components/blocks/commerce/inventory-section/types.d.ts +0 -5
  232. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +6 -3
  233. package/dist/components/blocks/commerce/loyalty-points/loyalty-points.d.ts +1 -1
  234. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +11 -5
  235. package/dist/components/blocks/commerce/order-status/order-status.d.ts +1 -1
  236. package/dist/components/blocks/commerce/order-status/types.d.ts +8 -8
  237. package/dist/components/blocks/commerce/order-timeline/order-timeline.d.ts +1 -1
  238. package/dist/components/blocks/commerce/order-timeline/types.d.ts +3 -1
  239. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  240. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +0 -8
  241. package/dist/components/blocks/commerce/payment-method/types.d.ts +0 -2
  242. package/dist/components/blocks/commerce/receipt/index.d.ts +1 -1
  243. package/dist/components/blocks/commerce/receipt/receipt-items.d.ts +1 -1
  244. package/dist/components/blocks/commerce/receipt/types.d.ts +10 -0
  245. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  246. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +0 -2
  247. package/dist/components/blocks/commerce/refund-status/types.d.ts +0 -2
  248. package/dist/components/blocks/commerce/seo-listing/types.d.ts +7 -0
  249. package/dist/components/blocks/commerce/shared/code-entry.d.ts +39 -0
  250. package/dist/components/blocks/commerce/shared/order-status.d.ts +1 -1
  251. package/dist/components/blocks/commerce/subscription-summary/subscription-summary.d.ts +1 -1
  252. package/dist/components/blocks/commerce/subscription-summary/types.d.ts +10 -1
  253. package/dist/components/blocks/commerce/upcoming-booking/index.d.ts +2 -1
  254. package/dist/components/blocks/commerce/upcoming-booking/types.d.ts +8 -0
  255. package/dist/components/blocks/commerce/upcoming-booking/upcoming-booking.d.ts +2 -2
  256. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -5
  257. package/dist/components/blocks/commerce/voucher-entry/types.d.ts +6 -3
  258. package/dist/components/blocks/commerce/voucher-entry/voucher-entry.d.ts +1 -1
  259. package/dist/components/blocks/content-block-hooks.d.ts +22 -0
  260. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +5 -1
  261. package/dist/components/blocks/data-display/dense-info-card/helpers.d.ts +3 -1
  262. package/dist/components/blocks/data-display/dense-info-card/index.d.ts +1 -1
  263. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-classification.d.ts +1 -1
  264. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-dashboard.d.ts +1 -1
  265. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-financial.d.ts +1 -1
  266. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-project.d.ts +1 -1
  267. package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-score.d.ts +1 -1
  268. package/dist/components/blocks/data-display/dense-info-card/types.d.ts +12 -5
  269. package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +6 -0
  270. package/dist/components/blocks/data-display/index.d.ts +0 -1
  271. package/dist/components/blocks/data-display/relationship-card-frame.d.ts +1 -1
  272. package/dist/components/blocks/onboarding/checklist/checklist.types.d.ts +5 -3
  273. package/dist/components/blocks/planning/task-card.types.d.ts +7 -3
  274. package/dist/components/blocks/timelines/changelog/types.d.ts +2 -2
  275. package/dist/components/blocks/timelines/index.d.ts +2 -2
  276. package/dist/components/blocks/timelines/milestones/types.d.ts +2 -2
  277. package/dist/components/blocks/timelines/shared/timeline.d.ts +6 -0
  278. package/dist/components/blocks/timelines/steps-card/index.d.ts +2 -1
  279. package/dist/components/blocks/timelines/steps-card/steps-card.d.ts +2 -2
  280. package/dist/components/blocks/timelines/steps-card/types.d.ts +13 -1
  281. package/dist/components/features/activities/activities.strings.d.ts +5 -3
  282. package/dist/components/features/activities/activities.types.d.ts +28 -11
  283. package/dist/components/features/activities/hooks/use-activity-feed.d.ts +6 -0
  284. package/dist/components/features/activities/index.d.ts +1 -1
  285. package/dist/components/features/activities/partials/activity-headline.d.ts +5 -0
  286. package/dist/components/features/activities/partials/activity-row.d.ts +12 -13
  287. package/dist/components/features/activities/partials/row-layers.d.ts +7 -0
  288. package/dist/components/features/activities/relative-time.d.ts +18 -0
  289. package/dist/components/features/ai-chat/ai-chat.d.ts +6 -2
  290. package/dist/components/features/ai-chat/ai-chat.strings.d.ts +41 -2
  291. package/dist/components/features/ai-chat/ai-chat.types.d.ts +6 -0
  292. package/dist/components/features/ai-chat/partials/ai-chat-attachments-strip.d.ts +5 -1
  293. package/dist/components/features/ai-chat/partials/ai-chat-prompt-input.d.ts +2 -2
  294. package/dist/components/features/ai-chat/partials/ai-chat-queue.d.ts +3 -1
  295. package/dist/components/features/ai-chat/partials/ai-chat-suggestions-row.d.ts +6 -1
  296. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
  297. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +19 -5
  298. package/dist/components/features/appointment-calendar/index.d.ts +1 -1
  299. package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +18 -10
  300. package/dist/components/features/async-preview/async-preview.d.ts +2 -2
  301. package/dist/components/features/async-preview/async-preview.types.d.ts +30 -1
  302. package/dist/components/features/async-preview/preview-trigger-cell.d.ts +7 -2
  303. package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
  304. package/dist/components/features/combobox/combobox.d.ts +12 -3
  305. package/dist/components/features/combobox/components/error-message.d.ts +3 -1
  306. package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +2 -2
  307. package/dist/components/features/combobox/index.d.ts +1 -1
  308. package/dist/components/features/combobox/types.d.ts +47 -45
  309. package/dist/components/features/comments/comments.strings.d.ts +6 -5
  310. package/dist/components/features/comments/comments.types.d.ts +40 -26
  311. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -1
  312. package/dist/components/features/comments/hooks/use-comments.d.ts +8 -1
  313. package/dist/components/features/data-view/data-view.strings.d.ts +9 -2
  314. package/dist/components/features/data-view/data-view.types.d.ts +15 -2
  315. package/dist/components/features/email-composer/email-html.d.ts +5 -0
  316. package/dist/components/features/email-composer/http.d.ts +2 -0
  317. package/dist/components/features/email-composer/strings.d.ts +17 -2
  318. package/dist/components/features/email-composer/types.d.ts +17 -2
  319. package/dist/components/features/email-composer/use-composer.d.ts +2 -78
  320. package/dist/components/features/event-calendar/event-calendar-day-cell.d.ts +1 -1
  321. package/dist/components/features/event-calendar/event-calendar-event-badge.d.ts +1 -1
  322. package/dist/components/features/event-calendar/event-calendar-header.d.ts +1 -1
  323. package/dist/components/features/event-calendar/event-calendar-legend.d.ts +2 -2
  324. package/dist/components/features/event-calendar/event-calendar.d.ts +1 -1
  325. package/dist/components/features/event-calendar/event-calendar.types.d.ts +126 -21
  326. package/dist/components/features/filters/facets/range-facet.d.ts +13 -8
  327. package/dist/components/features/filters/filter-context.d.ts +9 -0
  328. package/dist/components/features/filters/filters.strings.d.ts +36 -3
  329. package/dist/components/features/filters/filters.types.d.ts +72 -5
  330. package/dist/components/features/filters/hooks/use-filter-draft.d.ts +1 -0
  331. package/dist/components/features/filters/index.d.ts +2 -2
  332. package/dist/components/features/filters/operator-options.d.ts +25 -2
  333. package/dist/components/features/filters/partials/active-filter-item.d.ts +0 -13
  334. package/dist/components/features/filters/partials/async-options-status.d.ts +32 -0
  335. package/dist/components/features/filters/partials/filter-draft-footer.d.ts +11 -0
  336. package/dist/components/features/filters/partials/filter-operator-select.d.ts +4 -2
  337. package/dist/components/features/filters/partials/filter-pill.d.ts +5 -1
  338. package/dist/components/features/filters/partials/filter-tabs.d.ts +2 -1
  339. package/dist/components/features/filters/partials/regular-filter-content.d.ts +1 -1
  340. package/dist/components/features/filters/utils/filter-utils.d.ts +29 -4
  341. package/dist/components/features/global-search/global-search-dialog.d.ts +7 -1
  342. package/dist/components/features/global-search/global-search.d.ts +7 -1
  343. package/dist/components/features/global-search/global-search.strings.d.ts +19 -3
  344. package/dist/components/features/global-search/global-search.types.d.ts +30 -6
  345. package/dist/components/features/global-search/index.d.ts +1 -1
  346. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +6 -1
  347. package/dist/components/features/global-search/partials/global-search-input.d.ts +2 -0
  348. package/dist/components/features/kanban/index.d.ts +2 -2
  349. package/dist/components/features/kanban/kanban-context.d.ts +4 -0
  350. package/dist/components/features/kanban/kanban-keyboard.d.ts +7 -2
  351. package/dist/components/features/kanban/kanban.d.ts +10 -1
  352. package/dist/components/features/kanban/kanban.strings.d.ts +11 -2
  353. package/dist/components/features/kanban/kanban.types.d.ts +26 -0
  354. package/dist/components/features/map/map.d.ts +4 -0
  355. package/dist/components/features/map/place-autocomplete.d.ts +10 -1
  356. package/dist/components/features/media-library/hooks/use-media-library.d.ts +3 -1
  357. package/dist/components/features/media-library/media-library.d.ts +1 -1
  358. package/dist/components/features/media-library/media-library.strings.d.ts +33 -3
  359. package/dist/components/features/media-library/media-library.types.d.ts +47 -2
  360. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  361. package/dist/components/features/mentions/hooks/use-mentions-search.d.ts +7 -0
  362. package/dist/components/features/mentions/index.d.ts +1 -1
  363. package/dist/components/features/mentions/mentions.strings.d.ts +10 -2
  364. package/dist/components/features/mentions/partials/mention-chip.d.ts +1 -0
  365. package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +8 -1
  366. package/dist/components/features/mentions/partials/mention-picker.d.ts +8 -1
  367. package/dist/components/features/mentions/partials/mention-search-error.d.ts +6 -0
  368. package/dist/components/features/mentions/utils/index.d.ts +0 -1
  369. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  370. package/dist/components/features/overlays/dialog.d.ts +1 -1
  371. package/dist/components/features/overlays/drawer.d.ts +1 -1
  372. package/dist/components/features/overlays/index.d.ts +2 -2
  373. package/dist/components/features/overlays/overlays.strings.d.ts +2 -1
  374. package/dist/components/features/overlays/overlays.types.d.ts +27 -10
  375. package/dist/components/features/products/components/index.d.ts +0 -10
  376. package/dist/components/features/products/components/product-contract-overview.d.ts +1 -1
  377. package/dist/components/features/products/components/product-details-card.d.ts +1 -1
  378. package/dist/components/features/products/components/product-operations-card.d.ts +1 -1
  379. package/dist/components/features/products/components/product-option-action-menu.d.ts +1 -1
  380. package/dist/components/features/products/components/product-options-summary.d.ts +1 -1
  381. package/dist/components/features/products/components/product-policies-card.d.ts +1 -1
  382. package/dist/components/features/products/components/product-quote-preview-card.d.ts +1 -1
  383. package/dist/components/features/products/components/product-readiness-card.d.ts +1 -1
  384. package/dist/components/features/products/components/product-structure-card.d.ts +1 -1
  385. package/dist/components/features/products/components/product-variant-action-menu.d.ts +1 -1
  386. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  387. package/dist/components/features/products/components/product-variants-table.d.ts +1 -1
  388. package/dist/components/features/products/partials/product-surface.d.ts +15 -0
  389. package/dist/components/features/products/products.strings.d.ts +8 -0
  390. package/dist/components/features/products/products.types.d.ts +25 -7
  391. package/dist/components/features/questionnaire/questionnaire.types.d.ts +6 -4
  392. package/dist/components/features/resource/index.d.ts +2 -3
  393. package/dist/components/features/resource/resource.d.ts +2 -10
  394. package/dist/components/features/resource/resource.types.d.ts +7 -149
  395. package/dist/components/features/resource-assignment/partials/assignment-surface.d.ts +15 -0
  396. package/dist/components/features/resource-assignment/resource-assignment.strings.d.ts +6 -1
  397. package/dist/components/features/resource-assignment/resource-assignment.types.d.ts +6 -0
  398. package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +5 -7
  399. package/dist/components/features/rich-text-editor/partials/html-helpers.d.ts +2 -3
  400. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +6 -2
  401. package/dist/components/features/rich-text-editor/partials/index.d.ts +2 -3
  402. package/dist/components/features/rich-text-editor/partials/rich-text-editor-tiptap.d.ts +0 -1
  403. package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +2 -3
  404. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +13 -1
  405. package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +5 -0
  406. package/dist/components/features/schema-form/schema-form.d.ts +1 -1
  407. package/dist/components/features/schema-form/schema-form.types.d.ts +13 -5
  408. package/dist/components/features/suggestions/suggestions.strings.d.ts +14 -0
  409. package/dist/components/features/suggestions/suggestions.types.d.ts +12 -4
  410. package/dist/components/features/table/data-table.d.ts +1 -1
  411. package/dist/components/features/table/filter-bar.d.ts +1 -1
  412. package/dist/components/features/table/pagination.d.ts +1 -1
  413. package/dist/components/features/table/partials/cell-value.d.ts +1 -1
  414. package/dist/components/features/table/table-body.d.ts +1 -1
  415. package/dist/components/features/table/table-header.d.ts +1 -1
  416. package/dist/components/features/table/table-helpers.d.ts +31 -9
  417. package/dist/components/features/table/table-region.recipes.d.ts +11 -0
  418. package/dist/components/features/table/table-toolbar.d.ts +1 -1
  419. package/dist/components/features/table/table.strings.d.ts +1 -0
  420. package/dist/components/features/table/table.types.d.ts +74 -48
  421. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +4 -0
  422. package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +10 -7
  423. package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +17 -0
  424. package/dist/components/layout/app-shell/app-shell.types.d.ts +46 -49
  425. package/dist/components/layout/app-shell/index.d.ts +2 -2
  426. package/dist/components/layout/app-shell/shell-regions.d.ts +9 -0
  427. package/dist/components/layout/app-shell/shell-skip-link.d.ts +9 -0
  428. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
  429. package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
  430. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  431. package/dist/components/layout/auth/auth-shell.d.ts +1 -1
  432. package/dist/components/layout/auth/auth.types.d.ts +0 -5
  433. package/dist/components/layout/containers/inline-gutter-context.d.ts +7 -0
  434. package/dist/components/layout/containers/main-landmark-context.d.ts +6 -0
  435. package/dist/components/layout/header/header.types.d.ts +16 -6
  436. package/dist/components/layout/header/partials/header-global-search-trigger.d.ts +1 -1
  437. package/dist/components/layout/header/partials/header-notifications.d.ts +1 -1
  438. package/dist/components/layout/header/partials/header-search.d.ts +1 -1
  439. package/dist/components/layout/hooks/use-command-shortcut.d.ts +10 -1
  440. package/dist/components/layout/layout.types.d.ts +2 -2
  441. package/dist/components/layout/navigation/breadcrumb-progress/breadcrumb-progress.d.ts +1 -1
  442. package/dist/components/layout/navigation/breadcrumb-progress/types.d.ts +9 -0
  443. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +8 -1
  444. package/dist/components/layout/page/index.d.ts +2 -3
  445. package/dist/components/layout/page/page.strings.d.ts +12 -0
  446. package/dist/components/layout/page/page.types.d.ts +7 -110
  447. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  448. package/dist/components/layout/settings/index.d.ts +1 -1
  449. package/dist/components/layout/settings/settings.d.ts +3 -5
  450. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  451. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
  452. package/dist/components/layout/sidebar/components/sidebar-navigation-footer.d.ts +1 -1
  453. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
  454. package/dist/components/layout/sidebar/index.d.ts +1 -1
  455. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +15 -7
  456. package/dist/components/layout/sidebar/sidebar.types.d.ts +10 -12
  457. package/dist/components/layout/sidebar/sidebar.utils.d.ts +4 -0
  458. package/dist/components/layout/workspace/workspace.strings.d.ts +2 -2
  459. package/dist/components/layout/workspace/workspace.types.d.ts +13 -7
  460. package/dist/components/primitives/date.d.ts +22 -3
  461. package/dist/components/primitives/file-size.d.ts +8 -2
  462. package/dist/components/primitives/index.d.ts +1 -1
  463. package/dist/components/primitives/initials.d.ts +3 -1
  464. package/dist/components/primitives/link.d.ts +8 -1
  465. package/dist/components/primitives/money.d.ts +1 -1
  466. package/dist/components/primitives/number.d.ts +2 -1
  467. package/dist/components/typography/heading.d.ts +9 -3
  468. package/dist/components/typography/index.d.ts +1 -1
  469. package/dist/components/typography/text-link.d.ts +10 -3
  470. package/dist/components/ui/badge.d.ts +2 -4
  471. package/dist/components/ui/breadcrumb.d.ts +2 -3
  472. package/dist/components/ui/button.d.ts +8 -2
  473. package/dist/components/ui/collapsible.d.ts +1 -4
  474. package/dist/components/ui/command.d.ts +20 -18
  475. package/dist/components/ui/dialog.d.ts +3 -9
  476. package/dist/components/ui/empty.d.ts +2 -2
  477. package/dist/components/ui/input-group.d.ts +3 -3
  478. package/dist/components/ui/item.d.ts +3 -3
  479. package/dist/components/ui/popover.d.ts +3 -7
  480. package/dist/components/ui/sheet.d.ts +4 -12
  481. package/dist/components/ui/sidebar-state.d.ts +6 -1
  482. package/dist/components/ui/sidebar.d.ts +7 -4
  483. package/dist/components/ui/tabs.d.ts +2 -2
  484. package/dist/components/ui/toggle-group.d.ts +3 -3
  485. package/dist/components/ui/toggle.d.ts +2 -2
  486. package/dist/components/ui/tooltip.d.ts +1 -3
  487. package/dist/{containers-CSdc32h9.js → containers-BdfLTP4w.js} +37 -32
  488. package/dist/containers-BdfLTP4w.js.map +1 -0
  489. package/dist/content-block-hooks-Z3iKjqd1.js +17 -0
  490. package/dist/content-block-hooks-Z3iKjqd1.js.map +1 -0
  491. package/dist/{copyable-3fdHfMR3.js → copyable-Bmr14W0d.js} +6 -6
  492. package/dist/{copyable-3fdHfMR3.js.map → copyable-Bmr14W0d.js.map} +1 -1
  493. package/dist/{data-display-Cmj-xZYl.js → data-display-CWe9SOYh.js} +264 -251
  494. package/dist/data-display-CWe9SOYh.js.map +1 -0
  495. package/dist/date-3qsCE1ID.js +209 -0
  496. package/dist/date-3qsCE1ID.js.map +1 -0
  497. package/dist/{date-picker-CyQlFYsP.js → date-picker-D1keJQIG.js} +129 -129
  498. package/dist/date-picker-D1keJQIG.js.map +1 -0
  499. package/dist/date-pickers-D8aJoeHc.js +185 -0
  500. package/dist/date-pickers-D8aJoeHc.js.map +1 -0
  501. package/dist/disclosure-panel-B0HFNZ9x.js.map +1 -1
  502. package/dist/{display-CT_N2a3w.js → display-VlmP1I0i.js} +23 -46
  503. package/dist/display-VlmP1I0i.js.map +1 -0
  504. package/dist/{dropdown-menu-C08iIugv.js → dropdown-menu-B8hjvbkS.js} +9 -9
  505. package/dist/{dropdown-menu-C08iIugv.js.map → dropdown-menu-B8hjvbkS.js.map} +1 -1
  506. package/dist/dropzone-CHBNK3de.js +116 -0
  507. package/dist/dropzone-CHBNK3de.js.map +1 -0
  508. package/dist/features/activities.js +682 -628
  509. package/dist/features/activities.js.map +1 -1
  510. package/dist/features/ai-chat.js +258 -226
  511. package/dist/features/ai-chat.js.map +1 -1
  512. package/dist/features/appointment-calendar.js +436 -340
  513. package/dist/features/appointment-calendar.js.map +1 -1
  514. package/dist/features/async-preview.js +351 -265
  515. package/dist/features/async-preview.js.map +1 -1
  516. package/dist/features/combobox.js +2 -2
  517. package/dist/features/comments.js +1 -1
  518. package/dist/features/data-view.js +212 -151
  519. package/dist/features/data-view.js.map +1 -1
  520. package/dist/features/email-composer/engine.js +1 -1
  521. package/dist/features/email-composer.js +344 -315
  522. package/dist/features/email-composer.js.map +1 -1
  523. package/dist/features/event-calendar.js +504 -355
  524. package/dist/features/event-calendar.js.map +1 -1
  525. package/dist/features/filters.js +2 -2
  526. package/dist/features/global-search.js +250 -206
  527. package/dist/features/global-search.js.map +1 -1
  528. package/dist/features/kanban.js +269 -189
  529. package/dist/features/kanban.js.map +1 -1
  530. package/dist/features/map.js +385 -371
  531. package/dist/features/map.js.map +1 -1
  532. package/dist/features/media-library.js +1571 -1199
  533. package/dist/features/media-library.js.map +1 -1
  534. package/dist/features/mentions.js +2 -2
  535. package/dist/features/overlays.js +2 -2
  536. package/dist/features/products.js +1780 -1691
  537. package/dist/features/products.js.map +1 -1
  538. package/dist/features/questionnaire.js +165 -152
  539. package/dist/features/questionnaire.js.map +1 -1
  540. package/dist/features/resource-assignment.js +223 -191
  541. package/dist/features/resource-assignment.js.map +1 -1
  542. package/dist/features/resource.js +55 -220
  543. package/dist/features/resource.js.map +1 -1
  544. package/dist/features/rich-text-editor.js +3 -3
  545. package/dist/features/schema-form.js +280 -228
  546. package/dist/features/schema-form.js.map +1 -1
  547. package/dist/features/suggestions.js +48 -39
  548. package/dist/features/suggestions.js.map +1 -1
  549. package/dist/features/table.js +2 -2
  550. package/dist/features/theme-tweaker.js +723 -633
  551. package/dist/features/theme-tweaker.js.map +1 -1
  552. package/dist/feedback-DmqmXKLn.js +254 -0
  553. package/dist/feedback-DmqmXKLn.js.map +1 -0
  554. package/dist/{field-affordance-recipes-D6H7tVJi.js → field-affordance-recipes-DfbMadot.js} +13 -9
  555. package/dist/field-affordance-recipes-DfbMadot.js.map +1 -0
  556. package/dist/{field-state-recipes-7sza8QbC.js → field-state-recipes-EtCxpEy3.js} +6 -2
  557. package/dist/field-state-recipes-EtCxpEy3.js.map +1 -0
  558. package/dist/filters-BviMRMLS.js +2692 -0
  559. package/dist/filters-BviMRMLS.js.map +1 -0
  560. package/dist/{focus-recipes-B653VaLq.js → focus-recipes-DSkiUvUp.js} +3 -3
  561. package/dist/focus-recipes-DSkiUvUp.js.map +1 -0
  562. package/dist/{form-field-CAPdwdnZ.js → form-field-BdfCwSoQ.js} +5 -5
  563. package/dist/{form-field-CAPdwdnZ.js.map → form-field-BdfCwSoQ.js.map} +1 -1
  564. package/dist/{form-sizing-CgcrUbLU.js → form-sizing-DE_dZw32.js} +3 -3
  565. package/dist/{form-sizing-CgcrUbLU.js.map → form-sizing-DE_dZw32.js.map} +1 -1
  566. package/dist/{forms-B3W8CH7-.js → forms-B8DzJnBN.js} +35 -35
  567. package/dist/forms-B8DzJnBN.js.map +1 -0
  568. package/dist/forms-numeric-DOBswjKj.js +992 -0
  569. package/dist/forms-numeric-DOBswjKj.js.map +1 -0
  570. package/dist/{header-ZIIsRKxP.js → header-Cq3G0ZRP.js} +100 -95
  571. package/dist/header-Cq3G0ZRP.js.map +1 -0
  572. package/dist/{hooks-BitHSh-Y.js → hooks-DHfeSMAO.js} +34 -14
  573. package/dist/hooks-DHfeSMAO.js.map +1 -0
  574. package/dist/{http-D_6rOnzU.js → http-Cu-GPpss.js} +61 -35
  575. package/dist/http-Cu-GPpss.js.map +1 -0
  576. package/dist/{icon-badge-npxF1SLX.js → icon-badge-B0Kq7wom.js} +3 -3
  577. package/dist/{icon-badge-npxF1SLX.js.map → icon-badge-B0Kq7wom.js.map} +1 -1
  578. package/dist/index.js +6 -6
  579. package/dist/inline-gutter-context-CSqmrMFZ.js +11 -0
  580. package/dist/inline-gutter-context-CSqmrMFZ.js.map +1 -0
  581. package/dist/{input-DIREVYHs.js → input-2YrgTUrz.js} +3 -3
  582. package/dist/{input-DIREVYHs.js.map → input-2YrgTUrz.js.map} +1 -1
  583. package/dist/{input-7KAc7XQL.js → input-DfJyrjoR.js} +6 -6
  584. package/dist/{input-7KAc7XQL.js.map → input-DfJyrjoR.js.map} +1 -1
  585. package/dist/{interaction-recipes-4wZ2tvfb.js → interaction-recipes-DmuS1ase.js} +2 -2
  586. package/dist/{interaction-recipes-4wZ2tvfb.js.map → interaction-recipes-DmuS1ase.js.map} +1 -1
  587. package/dist/item-GJ9mvCcg.js +279 -0
  588. package/dist/item-GJ9mvCcg.js.map +1 -0
  589. package/dist/layout/app-shell.js +1 -1
  590. package/dist/layout/auth.js +1 -1
  591. package/dist/layout/containers.js +1 -1
  592. package/dist/layout/header.js +1 -1
  593. package/dist/layout/hooks.js +1 -1
  594. package/dist/layout/navigation.js +1 -1
  595. package/dist/layout/page.js +2 -2
  596. package/dist/layout/settings.js +2 -2
  597. package/dist/layout/sidebar.js +3 -3
  598. package/dist/layout/workspace.js +1 -1
  599. package/dist/layout.js +12 -12
  600. package/dist/{layout.types-E_GAApzO.js → layout.types-DbtnyAtd.js} +11 -8
  601. package/dist/layout.types-DbtnyAtd.js.map +1 -0
  602. package/dist/lib/anchored-positioning.d.ts +11 -0
  603. package/dist/lib/field-affordance-recipes.d.ts +10 -0
  604. package/dist/lib/field-state-recipes.d.ts +6 -0
  605. package/dist/lib/focus-recipes.d.ts +7 -0
  606. package/dist/lib/format.d.ts +25 -0
  607. package/dist/lib/money-format.d.ts +6 -0
  608. package/dist/lib/motion-recipes.d.ts +6 -0
  609. package/dist/lib/surface-recipes.d.ts +32 -2
  610. package/dist/lib/theme-scope.d.ts +17 -1
  611. package/dist/lib/token-merge.generated.d.ts +13 -19
  612. package/dist/lib/ui-provider/index.d.ts +1 -1
  613. package/dist/lib/ui-provider/types.d.ts +5 -0
  614. package/dist/lib/use-controllable-state.d.ts +16 -0
  615. package/dist/lib/use-copy-feedback.d.ts +15 -0
  616. package/dist/lib/utils.js +1 -1
  617. package/dist/lib/variant-props.d.ts +9 -0
  618. package/dist/main-landmark-context-BAsyqp2I.js +11 -0
  619. package/dist/main-landmark-context-BAsyqp2I.js.map +1 -0
  620. package/dist/mentions-zz0ewNIq.js +670 -0
  621. package/dist/mentions-zz0ewNIq.js.map +1 -0
  622. package/dist/{message-BJHnn43M.js → message-BiiVrRrm.js} +10 -7
  623. package/dist/{message-BJHnn43M.js.map → message-BiiVrRrm.js.map} +1 -1
  624. package/dist/{metadata-list-XkqZ_UXH.js → metadata-list-G85roWjS.js} +13 -12
  625. package/dist/metadata-list-G85roWjS.js.map +1 -0
  626. package/dist/{motion-recipes-DitYv6P2.js → motion-recipes-CUc_aHuG.js} +7 -4
  627. package/dist/motion-recipes-CUc_aHuG.js.map +1 -0
  628. package/dist/navigation-C0Be5C3i.js +304 -0
  629. package/dist/navigation-C0Be5C3i.js.map +1 -0
  630. package/dist/{navigation-Bt-v7rWP.js → navigation-CmqaQR_G.js} +99 -103
  631. package/dist/navigation-CmqaQR_G.js.map +1 -0
  632. package/dist/number-NFWKIoiK.js +340 -0
  633. package/dist/number-NFWKIoiK.js.map +1 -0
  634. package/dist/{overflow-tab-bar-BQCA2Zn2.js → overflow-tab-bar-DV7HE_3t.js} +8 -8
  635. package/dist/{overflow-tab-bar-BQCA2Zn2.js.map → overflow-tab-bar-DV7HE_3t.js.map} +1 -1
  636. package/dist/overlays-D-gAIfPF.js +1018 -0
  637. package/dist/overlays-D-gAIfPF.js.map +1 -0
  638. package/dist/page-D4pQhgSq.js +216 -0
  639. package/dist/page-D4pQhgSq.js.map +1 -0
  640. package/dist/{page-header-commands-DIKspJfx.js → page-header-commands-elelNOfd.js} +29 -29
  641. package/dist/{page-header-commands-DIKspJfx.js.map → page-header-commands-elelNOfd.js.map} +1 -1
  642. package/dist/{pagination-Br8TdV9A.js → pagination-BuSWw1US.js} +22 -23
  643. package/dist/pagination-BuSWw1US.js.map +1 -0
  644. package/dist/{popover-k8TdUcAt.js → popover-BpMxbqEK.js} +73 -69
  645. package/dist/popover-BpMxbqEK.js.map +1 -0
  646. package/dist/{popover-menu-yn-o0kyA.js → popover-menu-CO-_iiuz.js} +7 -7
  647. package/dist/{popover-menu-yn-o0kyA.js.map → popover-menu-CO-_iiuz.js.map} +1 -1
  648. package/dist/{popover.recipes-DJ0AkUan.js → popover.recipes-BqkdvlZn.js} +3 -4
  649. package/dist/{popover.recipes-DJ0AkUan.js.map → popover.recipes-BqkdvlZn.js.map} +1 -1
  650. package/dist/{portal-recipes-DyUXqUtD.js → portal-recipes-BPeS4rGB.js} +2 -2
  651. package/dist/{portal-recipes-DyUXqUtD.js.map → portal-recipes-BPeS4rGB.js.map} +1 -1
  652. package/dist/primitives-BlC1lXBr.js +447 -0
  653. package/dist/primitives-BlC1lXBr.js.map +1 -0
  654. package/dist/primitives.js +4 -4
  655. package/dist/{progress-DZFXXzPs.js → progress-RARK8AjB.js} +5 -5
  656. package/dist/{progress-DZFXXzPs.js.map → progress-RARK8AjB.js.map} +1 -1
  657. package/dist/receipt-CUf2Vegp.js +114 -0
  658. package/dist/receipt-CUf2Vegp.js.map +1 -0
  659. package/dist/{rich-text-BnTzZjIo.js → rich-text-Cypm9__d.js} +7 -8
  660. package/dist/{rich-text-BnTzZjIo.js.map → rich-text-Cypm9__d.js.map} +1 -1
  661. package/dist/rich-text-editor-Z6cQepsA.js +919 -0
  662. package/dist/rich-text-editor-Z6cQepsA.js.map +1 -0
  663. package/dist/rich-text-editor-toolbar-DYbRJARB.js +100 -0
  664. package/dist/rich-text-editor-toolbar-DYbRJARB.js.map +1 -0
  665. package/dist/rich-text-tree-DdKHIJx4.js +154 -0
  666. package/dist/rich-text-tree-DdKHIJx4.js.map +1 -0
  667. package/dist/safe-image-src-C6kQSMBZ.js +17 -0
  668. package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
  669. package/dist/{scroll-area-Bj6CRUif.js → scroll-area-B9HKbji0.js} +3 -3
  670. package/dist/{scroll-area-Bj6CRUif.js.map → scroll-area-B9HKbji0.js.map} +1 -1
  671. package/dist/{separator-DM6gs2vu.js → separator-DaDe26sf.js} +3 -3
  672. package/dist/separator-DaDe26sf.js.map +1 -0
  673. package/dist/{separator-B9ewiCGO.js → separator-KGsNXt2J.js} +2 -2
  674. package/dist/{separator-B9ewiCGO.js.map → separator-KGsNXt2J.js.map} +1 -1
  675. package/dist/services/actions/action-adapters.d.ts +5 -2
  676. package/dist/services/actions/index.d.ts +1 -1
  677. package/dist/services/actions.js +2 -2
  678. package/dist/services/actions.js.map +1 -1
  679. package/dist/settings-D5j_RJvT.js +160 -0
  680. package/dist/settings-D5j_RJvT.js.map +1 -0
  681. package/dist/sheet-B6j_BE9O.js +241 -0
  682. package/dist/sheet-B6j_BE9O.js.map +1 -0
  683. package/dist/{sidebar-CmD6a-HK.js → sidebar-C-iQ_TJP.js} +377 -351
  684. package/dist/sidebar-C-iQ_TJP.js.map +1 -0
  685. package/dist/sidebar-D5VO2W8S.js +715 -0
  686. package/dist/sidebar-D5VO2W8S.js.map +1 -0
  687. package/dist/{skeleton-DDgdhmu9.js → skeleton-Cab_KgVo.js} +12 -12
  688. package/dist/skeleton-Cab_KgVo.js.map +1 -0
  689. package/dist/{smart-card-B6vLxqa_.js → smart-card-C59z6KFO.js} +217 -210
  690. package/dist/smart-card-C59z6KFO.js.map +1 -0
  691. package/dist/{structure-DZJ2wbAU.js → structure-DElaQwwN.js} +2 -2
  692. package/dist/{structure-DZJ2wbAU.js.map → structure-DElaQwwN.js.map} +1 -1
  693. package/dist/style.css +1 -1
  694. package/dist/{surface-recipes-C8mNycaY.js → surface-recipes-DV6rrOFq.js} +10 -2
  695. package/dist/surface-recipes-DV6rrOFq.js.map +1 -0
  696. package/dist/{table-CXSPHH25.js → table-CSRUgpdK.js} +62 -61
  697. package/dist/table-CSRUgpdK.js.map +1 -0
  698. package/dist/table-DdXDBsR_.js +1657 -0
  699. package/dist/table-DdXDBsR_.js.map +1 -0
  700. package/dist/{tabs-C4Kr_hCr.js → tabs-WnHfV2pM.js} +27 -27
  701. package/dist/tabs-WnHfV2pM.js.map +1 -0
  702. package/dist/{text-inputs-jdkS3ReG.js → text-inputs-ljyBYaCd.js} +112 -112
  703. package/dist/text-inputs-ljyBYaCd.js.map +1 -0
  704. package/dist/theme.css +21 -5
  705. package/dist/timelines-mOmS9Eh3.js +479 -0
  706. package/dist/timelines-mOmS9Eh3.js.map +1 -0
  707. package/dist/tooltip-yjX-Uv-p.js +112 -0
  708. package/dist/tooltip-yjX-Uv-p.js.map +1 -0
  709. package/dist/{tree-CeYVzdFE.js → tree-YpkxUG2Z.js} +80 -72
  710. package/dist/tree-YpkxUG2Z.js.map +1 -0
  711. package/dist/typography/rich-text.js +1 -1
  712. package/dist/{typography-C7-YMW1S.js → typography-C0dELqYV.js} +46 -40
  713. package/dist/typography-C0dELqYV.js.map +1 -0
  714. package/dist/typography.js +1 -1
  715. package/dist/{ui-provider-C-74NVLc.js → ui-provider-Bu1S-o96.js} +4 -3
  716. package/dist/ui-provider-Bu1S-o96.js.map +1 -0
  717. package/dist/ui-provider.js +2 -2
  718. package/dist/{upload-Hdm5gObf.js → upload-DMuMYJFT.js} +276 -268
  719. package/dist/upload-DMuMYJFT.js.map +1 -0
  720. package/dist/{usage-card-9s8hLDfn.js → usage-card-DDPki5P1.js} +57 -54
  721. package/dist/usage-card-DDPki5P1.js.map +1 -0
  722. package/dist/use-controllable-state-BlP8SyBI.js +13 -0
  723. package/dist/use-controllable-state-BlP8SyBI.js.map +1 -0
  724. package/dist/use-copy-feedback-CzcaqlLf.js +28 -0
  725. package/dist/use-copy-feedback-CzcaqlLf.js.map +1 -0
  726. package/dist/use-metric-format-options-Dk4rC1NO.js +251 -0
  727. package/dist/use-metric-format-options-Dk4rC1NO.js.map +1 -0
  728. package/dist/{utils-DhuoqFy4.js → utils-BVbAG2J6.js} +98 -76
  729. package/dist/utils-BVbAG2J6.js.map +1 -0
  730. package/dist/value-inputs-h5MwjGCo.js +982 -0
  731. package/dist/value-inputs-h5MwjGCo.js.map +1 -0
  732. package/dist/value-typography-D15uwfj-.js +154 -0
  733. package/dist/value-typography-D15uwfj-.js.map +1 -0
  734. package/dist/workspace-DIryPqBt.js +400 -0
  735. package/dist/workspace-DIryPqBt.js.map +1 -0
  736. package/docs/consumer-skill/SKILL.md +7 -0
  737. package/docs/consumer-skill/agents/themelia-ui-designer.md +11 -2
  738. package/docs/consumer-skill/examples/analytics.tsx +1 -1
  739. package/docs/consumer-skill/examples/app-layout.tsx +3 -3
  740. package/docs/consumer-skill/examples/commerce-lines.tsx +7 -5
  741. package/docs/consumer-skill/examples/detail.tsx +3 -2
  742. package/docs/consumer-skill/examples/email-composer.tsx +1 -1
  743. package/docs/consumer-skill/examples/index-table.tsx +2 -2
  744. package/docs/consumer-skill/examples/scoped-directory.tsx +7 -6
  745. package/docs/consumer-skill/references/agents-md.md +20 -16
  746. package/docs/consumer-skill/references/analytics.md +20 -6
  747. package/docs/consumer-skill/references/building-views.md +213 -0
  748. package/docs/consumer-skill/references/catalogue.md +617 -0
  749. package/docs/consumer-skill/references/component-contracts.json +10202 -18084
  750. package/docs/consumer-skill/references/composition.md +21 -17
  751. package/docs/consumer-skill/references/discovery.md +8 -5
  752. package/docs/consumer-skill/references/installation.md +10 -4
  753. package/docs/consumer-skill/references/integration.md +5 -5
  754. package/docs/consumer-skill/references/product-composition.md +2 -2
  755. package/docs/consumer-skill/references/public-api.json +580 -633
  756. package/docs/consumer-skill/references/review.md +6 -4
  757. package/docs/consumer-skill/references/screen-archetypes.md +2 -2
  758. package/docs/consumer-skill/references/theming.md +1 -1
  759. package/docs/consumer-skill/references/tokens.json +4 -4
  760. package/docs/consumer-skill/references/workflows.md +7 -7
  761. package/docs/consumer-skill/scripts/composition-policy.mjs +40 -20
  762. package/docs/consumer-skill/scripts/composition.mjs +4 -1
  763. package/docs/consumer-skill/scripts/discovery.mjs +3 -1
  764. package/docs/consumer-skill/scripts/setup-skills.mjs +31 -4
  765. package/docs/consumer-skills/themelia-components/SKILL.md +8 -4
  766. package/docs/consumer-skills/themelia-composition/SKILL.md +7 -3
  767. package/docs/consumer-skills/themelia-design/SKILL.md +7 -1
  768. package/docs/consumer-skills/themelia-tokenization/SKILL.md +1 -1
  769. package/package.json +9 -12
  770. package/templates/README.md +3 -2
  771. package/templates/admin-shell-template.tsx +49 -9
  772. package/templates/analytics-operations-template.tsx +20 -24
  773. package/templates/customers-template.tsx +12 -9
  774. package/templates/index.ts +2 -8
  775. package/templates/orders-template.tsx +28 -24
  776. package/templates/products-template.tsx +14 -4
  777. package/templates/user-permissions-template.tsx +11 -14
  778. package/dist/accordion-0tQUZ20r.js.map +0 -1
  779. package/dist/action-menu-C0gjzLyE.js +0 -284
  780. package/dist/action-menu-C0gjzLyE.js.map +0 -1
  781. package/dist/ai-artifact-CGGpQryR.js +0 -1200
  782. package/dist/ai-artifact-CGGpQryR.js.map +0 -1
  783. package/dist/anchored-positioning-DPnKTvNs.js +0 -6
  784. package/dist/anchored-positioning-DPnKTvNs.js.map +0 -1
  785. package/dist/app-shell-EHuuRDGy.js +0 -321
  786. package/dist/app-shell-EHuuRDGy.js.map +0 -1
  787. package/dist/auth-B0girIk_.js.map +0 -1
  788. package/dist/badge-wWauMgAt.js.map +0 -1
  789. package/dist/base/sheet.js +0 -3
  790. package/dist/breadcrumbs-Bp9Ke7kd.js.map +0 -1
  791. package/dist/button-ChBovTx0.js.map +0 -1
  792. package/dist/buttons-DeW0bQeK.js.map +0 -1
  793. package/dist/cascader-CrAl9zD5.js +0 -439
  794. package/dist/cascader-CrAl9zD5.js.map +0 -1
  795. package/dist/choice-inputs-DHGtx0QV.js.map +0 -1
  796. package/dist/code-block-BSJyq9e-.js.map +0 -1
  797. package/dist/collapsible-BzJ91LUG.js +0 -81
  798. package/dist/collapsible-BzJ91LUG.js.map +0 -1
  799. package/dist/combobox-Bcvu5J8O.js +0 -363
  800. package/dist/combobox-Bcvu5J8O.js.map +0 -1
  801. package/dist/combobox-C2JiSQPc.js +0 -915
  802. package/dist/combobox-C2JiSQPc.js.map +0 -1
  803. package/dist/command-9e52NPgK.js +0 -425
  804. package/dist/command-9e52NPgK.js.map +0 -1
  805. package/dist/comments-BsgErEqd.js +0 -1174
  806. package/dist/comments-BsgErEqd.js.map +0 -1
  807. package/dist/components/base/buttons/tooltip-button.d.ts +0 -7
  808. package/dist/components/base/display/content-block.d.ts +0 -75
  809. package/dist/components/base/display/content-block.strings.d.ts +0 -5
  810. package/dist/components/base/sheet/index.d.ts +0 -29
  811. package/dist/components/blocks/ai/use-copy-feedback.d.ts +0 -6
  812. package/dist/components/blocks/data-display/metadata/index.d.ts +0 -30
  813. package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +0 -10
  814. package/dist/components/features/resource/resource.strings.d.ts +0 -12
  815. package/dist/components/features/rich-text-editor/partials/rich-text-editor-fallback.d.ts +0 -8
  816. package/dist/components/features/sync/index.d.ts +0 -26
  817. package/dist/components/features/sync/sync-range-dialog-form.d.ts +0 -5
  818. package/dist/components/features/sync/sync.strings.d.ts +0 -18
  819. package/dist/components/features/sync/sync.types.d.ts +0 -44
  820. package/dist/components/layout/page/partials/page-actions.d.ts +0 -3
  821. package/dist/components/ui/slot.d.ts +0 -6
  822. package/dist/containers-CSdc32h9.js.map +0 -1
  823. package/dist/data-display-Cmj-xZYl.js.map +0 -1
  824. package/dist/date-Br0FicVv.js +0 -144
  825. package/dist/date-Br0FicVv.js.map +0 -1
  826. package/dist/date-picker-CyQlFYsP.js.map +0 -1
  827. package/dist/date-pickers-tj2MXmXd.js +0 -185
  828. package/dist/date-pickers-tj2MXmXd.js.map +0 -1
  829. package/dist/display-CT_N2a3w.js.map +0 -1
  830. package/dist/features/sync.js +0 -142
  831. package/dist/features/sync.js.map +0 -1
  832. package/dist/feedback-Dzo1xtAU.js +0 -246
  833. package/dist/feedback-Dzo1xtAU.js.map +0 -1
  834. package/dist/field-affordance-recipes-D6H7tVJi.js.map +0 -1
  835. package/dist/field-state-recipes-7sza8QbC.js.map +0 -1
  836. package/dist/filters-Dl80yYtN.js +0 -2415
  837. package/dist/filters-Dl80yYtN.js.map +0 -1
  838. package/dist/focus-recipes-B653VaLq.js.map +0 -1
  839. package/dist/forms-B3W8CH7-.js.map +0 -1
  840. package/dist/forms-numeric-CwjQJe-O.js +0 -991
  841. package/dist/forms-numeric-CwjQJe-O.js.map +0 -1
  842. package/dist/header-ZIIsRKxP.js.map +0 -1
  843. package/dist/hooks-BitHSh-Y.js.map +0 -1
  844. package/dist/http-D_6rOnzU.js.map +0 -1
  845. package/dist/item-FfWnaYST.js +0 -278
  846. package/dist/item-FfWnaYST.js.map +0 -1
  847. package/dist/layout.types-E_GAApzO.js.map +0 -1
  848. package/dist/media-gallery-C81DAnKI.js +0 -203
  849. package/dist/media-gallery-C81DAnKI.js.map +0 -1
  850. package/dist/mentions-qOnedSt4.js +0 -639
  851. package/dist/mentions-qOnedSt4.js.map +0 -1
  852. package/dist/metadata-list-XkqZ_UXH.js.map +0 -1
  853. package/dist/motion-recipes-DitYv6P2.js.map +0 -1
  854. package/dist/navigation-BgtPJAhi.js +0 -288
  855. package/dist/navigation-BgtPJAhi.js.map +0 -1
  856. package/dist/navigation-Bt-v7rWP.js.map +0 -1
  857. package/dist/number-CYqBcrSj.js +0 -346
  858. package/dist/number-CYqBcrSj.js.map +0 -1
  859. package/dist/overlays-CC8zI3Du.js +0 -1017
  860. package/dist/overlays-CC8zI3Du.js.map +0 -1
  861. package/dist/page-BoQ1VaFJ.js +0 -331
  862. package/dist/page-BoQ1VaFJ.js.map +0 -1
  863. package/dist/pagination-Br8TdV9A.js.map +0 -1
  864. package/dist/popover-k8TdUcAt.js.map +0 -1
  865. package/dist/primitives-BkkQjYl7.js +0 -385
  866. package/dist/primitives-BkkQjYl7.js.map +0 -1
  867. package/dist/receipt-C7LhOg7Q.js +0 -116
  868. package/dist/receipt-C7LhOg7Q.js.map +0 -1
  869. package/dist/rich-text-editor-CAurDwT5.js +0 -1273
  870. package/dist/rich-text-editor-CAurDwT5.js.map +0 -1
  871. package/dist/rich-text-editor-toolbar-DbXig7Jk.js +0 -99
  872. package/dist/rich-text-editor-toolbar-DbXig7Jk.js.map +0 -1
  873. package/dist/rich-text-tree-BqyQ_7-R.js +0 -66
  874. package/dist/rich-text-tree-BqyQ_7-R.js.map +0 -1
  875. package/dist/sanitize-html-BWkH4dLM.js +0 -105
  876. package/dist/sanitize-html-BWkH4dLM.js.map +0 -1
  877. package/dist/separator-DM6gs2vu.js.map +0 -1
  878. package/dist/settings-DZPHgpx4.js +0 -155
  879. package/dist/settings-DZPHgpx4.js.map +0 -1
  880. package/dist/sheet-C4DHsgLk.js +0 -250
  881. package/dist/sheet-C4DHsgLk.js.map +0 -1
  882. package/dist/sidebar-C8BnDwTH.js +0 -709
  883. package/dist/sidebar-C8BnDwTH.js.map +0 -1
  884. package/dist/sidebar-CmD6a-HK.js.map +0 -1
  885. package/dist/skeleton-DDgdhmu9.js.map +0 -1
  886. package/dist/slot-CLF9kLrS.js +0 -16
  887. package/dist/slot-CLF9kLrS.js.map +0 -1
  888. package/dist/smart-card-B6vLxqa_.js.map +0 -1
  889. package/dist/surface-recipes-C8mNycaY.js.map +0 -1
  890. package/dist/table-CBonSdTp.js +0 -1584
  891. package/dist/table-CBonSdTp.js.map +0 -1
  892. package/dist/table-CXSPHH25.js.map +0 -1
  893. package/dist/tabs-C4Kr_hCr.js.map +0 -1
  894. package/dist/text-inputs-jdkS3ReG.js.map +0 -1
  895. package/dist/timelines-CoPwdJP0.js +0 -458
  896. package/dist/timelines-CoPwdJP0.js.map +0 -1
  897. package/dist/tooltip-31NwIpTo.js +0 -113
  898. package/dist/tooltip-31NwIpTo.js.map +0 -1
  899. package/dist/tree-CeYVzdFE.js.map +0 -1
  900. package/dist/typography-C7-YMW1S.js.map +0 -1
  901. package/dist/ui-provider-C-74NVLc.js.map +0 -1
  902. package/dist/upload-Hdm5gObf.js.map +0 -1
  903. package/dist/upload-queue-D0sYPuqo.js +0 -409
  904. package/dist/upload-queue-D0sYPuqo.js.map +0 -1
  905. package/dist/usage-card-9s8hLDfn.js.map +0 -1
  906. package/dist/utils-DhuoqFy4.js.map +0 -1
  907. package/dist/value-inputs-D3aPgq9H.js +0 -980
  908. package/dist/value-inputs-D3aPgq9H.js.map +0 -1
  909. package/dist/value-typography-uSzzG9Gf.js +0 -122
  910. package/dist/value-typography-uSzzG9Gf.js.map +0 -1
  911. package/dist/workspace-CC8Vchiu.js +0 -411
  912. package/dist/workspace-CC8Vchiu.js.map +0 -1
@@ -1,884 +1,19 @@
1
1
  "use client";
2
- import { f as e, m as t } from "../ui-provider-C-74NVLc.js";
3
- import { useStrings as n } from "../lib/strings.js";
4
- import { t as r } from "../utils-DhuoqFy4.js";
5
- import { n as i } from "../buttons-DeW0bQeK.js";
6
- import { c as a, o, s } from "../typography-C7-YMW1S.js";
7
- import { c } from "../text.styles-B64My8RZ.js";
8
- import { t as l } from "../focus-recipes-B653VaLq.js";
9
- import { r as u, t as d } from "../structure-DZJ2wbAU.js";
10
- import { i as f, r as p, t as m } from "../tone-recipes-BPsRAvhu.js";
11
- import { t as h } from "../smart-card-B6vLxqa_.js";
12
- import { t as g } from "../progress-DZFXXzPs.js";
13
- import { r as _ } from "../skeleton-DDgdhmu9.js";
14
- import { t as v } from "../interaction-recipes-4wZ2tvfb.js";
15
- import { a as y, i as b, o as x, r as S } from "../value-typography-uSzzG9Gf.js";
16
- import { _ as C, g as w } from "../primitives-BkkQjYl7.js";
17
- import { a as T } from "../number-CYqBcrSj.js";
18
- import { t as E } from "../icon-badge-npxF1SLX.js";
19
- import { t as D } from "../badge-wWauMgAt.js";
20
- import { t as O } from "../chart-I7ROnsl8.js";
21
- import { n as ee } from "../display-CT_N2a3w.js";
22
- import { n as te, t as ne } from "../usage-card-9s8hLDfn.js";
23
- import { useId as k, useMemo as A, useSyncExternalStore as re } from "react";
24
- import { Fragment as ie, jsx as j, jsxs as M } from "react/jsx-runtime";
25
- import { ArrowDown as N, ArrowRight as ae, ArrowUp as P, ArrowUpRight as oe, Calendar as se, Equal as ce, Minus as le } from "lucide-react";
26
- import { Area as F, AreaChart as I, ResponsiveContainer as L } from "recharts";
27
- //#region src/components/blocks/analytics/analytics.strings.ts
28
- var R = {
29
- metricErrorLabel: "Unable to load metric",
30
- comparisonTitle: "Comparison",
31
- heatmapDayLabels: [
32
- "Mon",
33
- "",
34
- "Wed",
35
- "",
36
- "Fri",
37
- "",
38
- ""
39
- ],
40
- heatmapMonthNames: [
41
- "Jan",
42
- "Feb",
43
- "Mar",
44
- "Apr",
45
- "May",
46
- "Jun",
47
- "Jul",
48
- "Aug",
49
- "Sep",
50
- "Oct",
51
- "Nov",
52
- "Dec"
53
- ],
54
- heatmapLegendLess: "Less",
55
- heatmapLegendMore: "More"
56
- };
57
- //#endregion
58
- //#region src/components/blocks/analytics/format-metric-value.ts
59
- function z(e, t = {}) {
60
- if (e.value === null || e.value === void 0) return "—";
61
- let n = e.value, r = typeof n == "number" ? n : null, { locale: i } = t;
62
- switch (e.valueType) {
63
- case "currency": return r === null ? String(n) : T({
64
- amount: r,
65
- currency: e.currency ?? t.defaultCurrency ?? "USD",
66
- locale: i,
67
- formatMode: t.moneyFormatMode ?? "with_code"
68
- }) ?? "—";
69
- case "percentage": return r === null ? String(n) : x(r, { locale: i });
70
- case "duration": return r === null ? String(n) : S(r, { locale: i });
71
- case "number": return r === null ? String(n) : b(r, { locale: i });
72
- default: return String(n);
73
- }
74
- }
75
- function ue(e) {
76
- return e.trend ? e.trend : e.change?.direction === "up" ? "positive" : e.change?.direction === "down" ? "negative" : "neutral";
77
- }
78
- //#endregion
79
- //#region src/components/blocks/analytics/atoms/metric-trend-chip.tsx
80
- var de = {
81
- positive: {
82
- text: "text-success",
83
- badge: `${f.success.tint} ${f.success.ink}`,
84
- arrow: "text-success"
85
- },
86
- negative: {
87
- text: "text-destructive",
88
- badge: `${f.destructive.tint} ${f.destructive.ink}`,
89
- arrow: "text-destructive"
90
- },
91
- neutral: {
92
- text: "text-muted-foreground",
93
- badge: "bg-muted text-muted-foreground",
94
- arrow: "text-muted-foreground"
95
- }
96
- }, B = {
97
- sm: "size-icon-sm",
98
- md: "size-icon-md",
99
- lg: "size-icon"
100
- }, V = {
101
- sm: "xxs",
102
- md: "xs",
103
- lg: "sm"
104
- }, fe = {
105
- sm: "px-space-sm py-space-2xs",
106
- md: "px-space-md py-space-2xs",
107
- lg: "px-space-md py-space-xs"
108
- };
109
- function pe(e, t) {
110
- return e || (t === "up" ? "positive" : t === "down" ? "negative" : "neutral");
111
- }
112
- function H({ change: e, trend: t, size: n = "md", variant: i = "default", className: o }) {
113
- let s = pe(t, e.direction), c = e.direction === "up" ? P : e.direction === "down" ? N : le, l = de[s], u = String(e.value), d = e.direction === "up" ? "+" : (e.direction, "");
114
- return i === "inline" ? /* @__PURE__ */ M(C, {
115
- type: "inherit",
116
- size: V[n],
117
- weight: "medium",
118
- className: r("metric-trend-chip--component", l.text, "tabular-nums", o),
119
- children: [d, u]
120
- }) : i === "compact" ? /* @__PURE__ */ M("span", {
121
- className: r("inline-flex items-center gap-space-2xs", l.text, o),
122
- children: [/* @__PURE__ */ j(c, {
123
- className: B[n],
124
- strokeWidth: 2.5,
125
- "aria-hidden": "true"
126
- }), /* @__PURE__ */ j(C, {
127
- type: "inherit",
128
- size: V[n],
129
- weight: "semibold",
130
- className: "tabular-nums",
131
- children: u
132
- })]
133
- }) : i === "badge" ? /* @__PURE__ */ M("span", {
134
- className: r("inline-flex items-center gap-space-xs rounded-radius", l.badge, fe[n], o),
135
- children: [
136
- /* @__PURE__ */ j(c, {
137
- className: B[n],
138
- strokeWidth: 2.5,
139
- "aria-hidden": "true"
140
- }),
141
- /* @__PURE__ */ j(C, {
142
- type: "inherit",
143
- size: V[n],
144
- weight: "semibold",
145
- className: "tabular-nums",
146
- children: u
147
- }),
148
- !!e.label && /* @__PURE__ */ j(a, {
149
- type: "inherit",
150
- tag: "span",
151
- size: V[n],
152
- children: e.label
153
- })
154
- ]
155
- }) : /* @__PURE__ */ M("span", {
156
- className: r("inline-flex items-center gap-space-xs", l.text, o),
157
- children: [
158
- /* @__PURE__ */ j(c, {
159
- className: B[n],
160
- strokeWidth: 2.5,
161
- "aria-hidden": "true"
162
- }),
163
- /* @__PURE__ */ j(C, {
164
- type: "inherit",
165
- size: V[n],
166
- weight: "semibold",
167
- className: "tabular-nums",
168
- children: u
169
- }),
170
- !!e.label && /* @__PURE__ */ j(a, {
171
- tag: "span",
172
- size: V[n],
173
- type: "secondary",
174
- children: e.label
175
- })
176
- ]
177
- });
178
- }
179
- H.displayName = "MetricTrendChip";
180
- //#endregion
181
- //#region src/lib/use-prefers-reduced-motion.ts
182
- var U = "(prefers-reduced-motion: reduce)";
183
- function me(e) {
184
- if (typeof window > "u" || typeof window.matchMedia != "function") return () => {};
185
- let t = window.matchMedia(U);
186
- return t.addEventListener("change", e), () => t.removeEventListener("change", e);
187
- }
188
- function he() {
189
- return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia(U).matches;
190
- }
191
- function ge() {
192
- return !0;
193
- }
194
- function W() {
195
- return re(me, he, ge);
196
- }
197
- //#endregion
198
- //#region src/components/blocks/analytics/atoms/metric-sparkline.tsx
199
- var _e = {
200
- positive: "var(--success)",
201
- negative: "var(--destructive)",
202
- neutral: "var(--muted-foreground)"
203
- };
204
- function G({ data: e, trend: t = "neutral", color: n, className: i, animated: a = !0, "aria-label": o = "Trend sparkline" }) {
205
- let s = k(), c = W(), l = A(() => `metric-spark-${s.replaceAll(":", "")}`, [s]), u = n ?? _e[t], d = A(() => !Array.isArray(e) || e.length === 0 ? [] : e.map((e, t) => ({
206
- i: t,
207
- v: e
208
- })), [e]);
209
- return d.length === 0 ? /* @__PURE__ */ j("div", {
210
- className: r("metric-sparkline--component", "h-full w-full", i),
211
- "aria-hidden": "true"
212
- }) : /* @__PURE__ */ j("div", {
213
- className: r("metric-sparkline--component h-full w-full", i),
214
- role: "img",
215
- "aria-label": o,
216
- children: /* @__PURE__ */ j(L, {
217
- width: "100%",
218
- height: "100%",
219
- initialDimension: {
220
- width: 1,
221
- height: 1
222
- },
223
- children: /* @__PURE__ */ M(I, {
224
- data: d,
225
- margin: {
226
- top: 2,
227
- right: 0,
228
- bottom: 0,
229
- left: 0
230
- },
231
- children: [/* @__PURE__ */ j("defs", { children: /* @__PURE__ */ M("linearGradient", {
232
- id: l,
233
- x1: "0",
234
- y1: "0",
235
- x2: "0",
236
- y2: "1",
237
- children: [/* @__PURE__ */ j("stop", {
238
- offset: "0%",
239
- stopColor: u,
240
- stopOpacity: .25
241
- }), /* @__PURE__ */ j("stop", {
242
- offset: "100%",
243
- stopColor: u,
244
- stopOpacity: 0
245
- })]
246
- }) }), /* @__PURE__ */ j(F, {
247
- type: "monotone",
248
- dataKey: "v",
249
- stroke: u,
250
- strokeWidth: 1.75,
251
- fill: `url(#${l})`,
252
- dot: !1,
253
- activeDot: !1,
254
- isAnimationActive: a && !c,
255
- animationDuration: 600
256
- })]
257
- })
258
- })
259
- });
260
- }
261
- G.displayName = "MetricSparkline";
262
- //#endregion
263
- //#region src/components/blocks/analytics/atoms/metric-skeleton.tsx
264
- var K = ({ className: e }) => /* @__PURE__ */ j(_, { className: e });
265
- function q({ variant: e = "default", size: t = "md", className: n }) {
266
- let i = /* @__PURE__ */ M(d, {
267
- gap: "lg",
268
- children: [
269
- /* @__PURE__ */ j(K, { className: "h-3 w-24" }),
270
- /* @__PURE__ */ M(d, {
271
- gap: "md",
272
- children: [/* @__PURE__ */ j(K, { className: t === "lg" ? "h-9 w-40" : "h-7 w-32" }), /* @__PURE__ */ j(K, { className: "h-3 w-20" })]
273
- }),
274
- /* @__PURE__ */ j(K, { className: "h-8 w-full" })
275
- ]
276
- });
277
- return e === "card" || e === "bordered" || e === "accent" || e === "colored" ? /* @__PURE__ */ j(h, {
278
- surface: e === "card" ? void 0 : "card",
279
- className: r("metric-skeleton--component", n),
280
- "aria-busy": "true",
281
- "aria-live": "polite",
282
- children: i
283
- }) : e === "compact" ? /* @__PURE__ */ M("div", {
284
- className: r("flex items-center gap-space-lg", n),
285
- "aria-busy": "true",
286
- children: [
287
- /* @__PURE__ */ j(K, { className: "size-avatar rounded-radius" }),
288
- /* @__PURE__ */ M(d, {
289
- gap: "sm",
290
- className: "flex-1",
291
- children: [/* @__PURE__ */ j(K, { className: "h-3 w-20" }), /* @__PURE__ */ j(K, { className: "h-4 w-28" })]
292
- }),
293
- /* @__PURE__ */ j(K, { className: "h-5 w-12 rounded-full" })
294
- ]
295
- }) : e === "minimal" ? /* @__PURE__ */ M("div", {
296
- className: r("inline-flex items-baseline gap-space-md", n),
297
- "aria-busy": "true",
298
- children: [/* @__PURE__ */ j(K, { className: "h-3 w-12" }), /* @__PURE__ */ j(K, { className: "h-3 w-16" })]
299
- }) : /* @__PURE__ */ M("div", {
300
- className: r("flex flex-col gap-space-sm p-surface", n),
301
- "aria-busy": "true",
302
- children: [
303
- /* @__PURE__ */ j(K, { className: "h-3 w-20" }),
304
- /* @__PURE__ */ j(K, { className: "h-5 w-28" }),
305
- /* @__PURE__ */ j(K, { className: "mt-1 h-6 w-full" })
306
- ]
307
- });
308
- }
309
- q.displayName = "MetricSkeleton";
310
- //#endregion
311
- //#region src/components/blocks/analytics/use-metric-format-options.ts
312
- function ve() {
313
- let { locale: n } = e(), { defaultCurrency: r, formatMode: i } = t();
314
- return A(() => ({
315
- locale: n,
316
- defaultCurrency: r,
317
- moneyFormatMode: i
318
- }), [
319
- n,
320
- r,
321
- i
322
- ]);
323
- }
324
- //#endregion
325
- //#region src/components/blocks/analytics/metric/metric.tsx
326
- var ye = {
327
- ...f,
328
- neutral: {
329
- edge: "border-border",
330
- wash: "bg-card",
331
- solid: "bg-foreground"
332
- },
333
- secondary: {
334
- edge: "border-border",
335
- wash: "bg-secondary text-secondary-foreground",
336
- solid: "bg-secondary-foreground"
337
- }
338
- }, be = {
339
- default: "neutral",
340
- primary: "primary",
341
- success: "success",
342
- warning: "warning",
343
- danger: "destructive",
344
- info: "info"
345
- }, xe = {
346
- sm: "sm",
347
- md: "base",
348
- lg: "base"
349
- }, J = {
350
- sm: "2xl",
351
- md: "2xl",
352
- lg: "3xl"
353
- }, Se = {
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
- }, Ce = {
358
- sm: "h-control-sm",
359
- md: "h-control",
360
- lg: "h-control-lg"
361
- }, we = 16;
362
- function Y(e) {
363
- let { data: t, variant: n = "default", size: i = "md", tone: o, colorScheme: s = "default", showSparkline: c = !0, showChange: l = !0, showIcon: u = !0, loading: d = !1, error: f = !1, errorLabel: p, progress: m = 0, className: g, "aria-label": _ } = e, v = r("metric--component", g), y = ve(), b = A(() => z(t, y), [t, y]), x = A(() => ue(t), [t]);
364
- if (d) return /* @__PURE__ */ j(q, {
365
- variant: n,
366
- size: i,
367
- className: v
368
- });
369
- if (f) return /* @__PURE__ */ j(h, {
370
- className: v,
371
- contentClassName: "flex items-center justify-center",
372
- children: /* @__PURE__ */ j(a, {
373
- type: "inherit",
374
- children: p ?? R.metricErrorLabel
375
- })
376
- });
377
- let S = be[s], C = {
378
- data: t,
379
- formattedValue: b,
380
- trend: x,
381
- size: i,
382
- showSparkline: c,
383
- showChange: l,
384
- showIcon: u,
385
- tone: o ?? (n === "colored" && S === "neutral" ? "primary" : S),
386
- ariaLabel: _ ?? t.label,
387
- className: v
388
- };
389
- switch (n) {
390
- case "card": return /* @__PURE__ */ j(Ee, { ...C });
391
- case "compact": return /* @__PURE__ */ j(De, { ...C });
392
- case "minimal": return /* @__PURE__ */ j(Oe, { ...C });
393
- case "bordered": return /* @__PURE__ */ j(ke, { ...C });
394
- case "accent": return /* @__PURE__ */ j(Ae, { ...C });
395
- case "colored": return /* @__PURE__ */ j(je, {
396
- ...C,
397
- progress: m
398
- });
399
- default: return /* @__PURE__ */ j(Te, { ...C });
400
- }
401
- }
402
- Y.displayName = "Metric";
403
- function Te({ data: e, formattedValue: t, trend: n, size: i, showSparkline: o, showChange: c, showIcon: l, ariaLabel: u, className: f }) {
404
- let p = e.icon;
405
- return /* @__PURE__ */ M(d, {
406
- gap: "xs",
407
- className: f,
408
- "aria-label": u,
409
- children: [
410
- /* @__PURE__ */ M(d, {
411
- direction: "horizontal",
412
- align: "center",
413
- gap: "sm",
414
- className: "min-w-0 text-muted-foreground",
415
- children: [!!l && !!p && /* @__PURE__ */ j(p, {
416
- className: "size-icon-md shrink-0",
417
- "aria-hidden": "true"
418
- }), /* @__PURE__ */ j(a, {
419
- size: "xs",
420
- type: "secondary",
421
- weight: "medium",
422
- className: "truncate",
423
- children: e.label
424
- })]
425
- }),
426
- /* @__PURE__ */ j(s, {
427
- tag: "h5",
428
- size: xe[i],
429
- className: "truncate tabular-nums text-inherit",
430
- title: t,
431
- children: t
432
- }),
433
- !!c && !!e.change && /* @__PURE__ */ j("div", {
434
- className: "min-w-0",
435
- children: /* @__PURE__ */ j(H, {
436
- change: e.change,
437
- trend: e.trend,
438
- size: i,
439
- variant: "compact"
440
- })
441
- }),
442
- !!e.subtitle && /* @__PURE__ */ j(a, {
443
- size: "xs",
444
- type: "secondary",
445
- className: "truncate",
446
- children: e.subtitle
447
- }),
448
- !!o && !!e.sparkline?.length && /* @__PURE__ */ j(G, {
449
- data: e.sparkline,
450
- trend: n,
451
- className: r("mt-auto", Ce[i])
452
- }),
453
- !!e.footer && /* @__PURE__ */ j(a, {
454
- size: "xs",
455
- type: "discrete",
456
- className: "truncate",
457
- children: e.footer
458
- })
459
- ]
460
- });
461
- }
462
- function Ee({ data: e, formattedValue: t, trend: n, size: i, showSparkline: o, showChange: c, showIcon: u, ariaLabel: f, className: p }) {
463
- let m = e.icon, g = !!(e.href || e.onClick);
464
- return /* @__PURE__ */ M(h, {
465
- title: /* @__PURE__ */ j(a, {
466
- tag: "span",
467
- size: "xs",
468
- type: "secondary",
469
- weight: "medium",
470
- children: e.label
471
- }),
472
- icon: u && m ? /* @__PURE__ */ j(m, {
473
- className: "size-icon",
474
- "aria-hidden": "true"
475
- }) : null,
476
- tooltip: e.tooltip,
477
- className: r("@container/metric-card", g && "relative transition-shadow hover:shadow-md [&_.card--tooltip-trigger]:relative [&_.card--tooltip-trigger]:z-10", p),
478
- "aria-label": f,
479
- children: [g && (e.href ? /* @__PURE__ */ j("a", {
480
- href: e.href,
481
- onClick: e.onClick,
482
- "aria-label": f,
483
- className: `metric--action absolute inset-0 z-0 rounded-surface focus-visible:outline-none ${l.inset}`
484
- }) : /* @__PURE__ */ j("button", {
485
- type: "button",
486
- onClick: e.onClick,
487
- "aria-label": f,
488
- className: `metric--action ${v.nativeButtonReset} absolute inset-0 z-0 cursor-pointer rounded-surface focus-visible:outline-none ${l.inset}`
489
- })), /* @__PURE__ */ M(d, {
490
- gap: "normal",
491
- children: [
492
- /* @__PURE__ */ M(d, {
493
- direction: "horizontal",
494
- align: "baseline",
495
- justify: "between",
496
- gap: "sm",
497
- children: [/* @__PURE__ */ j(s, {
498
- tag: i === "sm" ? "h5" : i === "lg" ? "h3" : "h4",
499
- size: J[i],
500
- className: r("max-w-full break-words tabular-nums text-inherit", Se[i]),
501
- children: t
502
- }), !!c && !!e.change && /* @__PURE__ */ j(H, {
503
- change: e.change,
504
- trend: e.trend,
505
- size: i,
506
- variant: "badge",
507
- className: "@max-[16rem]/metric-card:px-space-xs"
508
- })]
509
- }),
510
- !!e.subtitle && /* @__PURE__ */ j(a, {
511
- type: "secondary",
512
- children: e.subtitle
513
- }),
514
- !!o && !!e.sparkline?.length && /* @__PURE__ */ j(G, {
515
- data: e.sparkline,
516
- trend: n,
517
- className: i === "lg" ? "h-control-lg" : "h-control"
518
- }),
519
- !!e.footer && /* @__PURE__ */ j(a, {
520
- size: "xs",
521
- type: "secondary",
522
- children: e.footer
523
- })
524
- ]
525
- })]
526
- });
527
- }
528
- function De({ data: e, formattedValue: t, size: n, showChange: i, showIcon: o, ariaLabel: s, className: c }) {
529
- let l = e.icon;
530
- return /* @__PURE__ */ M("div", {
531
- className: r("flex items-center gap-space-lg", c),
532
- "aria-label": s,
533
- children: [
534
- !!o && !!l && /* @__PURE__ */ j(E, {
535
- icon: l,
536
- tone: "secondary",
537
- shape: "square",
538
- size: "md"
539
- }),
540
- /* @__PURE__ */ M("div", {
541
- className: "min-w-0 flex-1",
542
- children: [/* @__PURE__ */ j(a, {
543
- size: "xs",
544
- type: "secondary",
545
- className: "truncate",
546
- children: e.label
547
- }), /* @__PURE__ */ j(C, {
548
- type: "inherit",
549
- size: n === "sm" ? "sm" : "base",
550
- weight: "bold",
551
- className: "block truncate tabular-nums",
552
- children: t
553
- })]
554
- }),
555
- !!i && !!e.change && /* @__PURE__ */ j(H, {
556
- change: e.change,
557
- trend: e.trend,
558
- size: n,
559
- variant: "badge",
560
- className: "shrink-0"
561
- })
562
- ]
563
- });
564
- }
565
- function Oe({ data: e, formattedValue: t, size: n, showChange: i, ariaLabel: o, className: s }) {
566
- return /* @__PURE__ */ M("span", {
567
- className: r("inline-flex items-baseline gap-space-md", s),
568
- "aria-label": o,
569
- children: [
570
- /* @__PURE__ */ M(a, {
571
- tag: "span",
572
- size: n === "lg" ? "sm" : "xs",
573
- type: "secondary",
574
- children: [e.label, ":"]
575
- }),
576
- /* @__PURE__ */ j(C, {
577
- type: "inherit",
578
- size: n === "lg" ? "sm" : "xs",
579
- weight: "semibold",
580
- className: "tabular-nums",
581
- children: t
582
- }),
583
- !!i && !!e.change && /* @__PURE__ */ j(H, {
584
- change: e.change,
585
- trend: e.trend,
586
- size: "sm",
587
- variant: "inline"
588
- })
589
- ]
590
- });
591
- }
592
- function ke({ data: e, formattedValue: t, trend: n, size: i, showSparkline: o, showChange: c, showIcon: l, tone: u, ariaLabel: f, className: p }) {
593
- let m = e.icon, g = ye[u];
594
- return /* @__PURE__ */ j(h, {
595
- surface: "card",
596
- className: r(g.edge, g.wash, p),
597
- "aria-label": f,
598
- children: /* @__PURE__ */ M(d, {
599
- gap: "lg",
600
- children: [
601
- /* @__PURE__ */ M(d, {
602
- direction: "horizontal",
603
- align: "center",
604
- justify: "between",
605
- gap: "md",
606
- children: [/* @__PURE__ */ M("div", {
607
- className: "flex items-center gap-space-md text-muted-foreground",
608
- children: [!!l && !!m && /* @__PURE__ */ j(m, {
609
- className: "size-icon shrink-0",
610
- "aria-hidden": "true"
611
- }), /* @__PURE__ */ j(a, {
612
- size: "xs",
613
- type: "secondary",
614
- weight: "medium",
615
- children: e.label
616
- })]
617
- }), !!c && !!e.change && /* @__PURE__ */ j(H, {
618
- change: e.change,
619
- trend: e.trend,
620
- size: i,
621
- variant: "badge"
622
- })]
623
- }),
624
- /* @__PURE__ */ j(s, {
625
- tag: i === "lg" ? "h3" : "h4",
626
- size: J[i],
627
- className: "tabular-nums text-inherit",
628
- children: t
629
- }),
630
- !!e.subtitle && /* @__PURE__ */ j(a, {
631
- size: "xs",
632
- type: "secondary",
633
- children: e.subtitle
634
- }),
635
- !!o && !!e.sparkline?.length && /* @__PURE__ */ j(G, {
636
- data: e.sparkline,
637
- trend: n,
638
- className: Ce[i]
639
- }),
640
- !!e.footer && /* @__PURE__ */ j(a, {
641
- size: "xs",
642
- type: "discrete",
643
- children: e.footer
644
- })
645
- ]
646
- })
647
- });
648
- }
649
- function Ae({ data: e, formattedValue: t, trend: n, size: i, showSparkline: c, showChange: l, showIcon: u, ariaLabel: f, className: p }) {
650
- let m = e.icon;
651
- return /* @__PURE__ */ M(h, {
652
- surface: "card",
653
- padding: "none",
654
- className: r("dark", p),
655
- "aria-label": f,
656
- children: [/* @__PURE__ */ M(d, {
657
- gap: "md",
658
- className: "p-surface",
659
- children: [
660
- /* @__PURE__ */ M(d, {
661
- direction: "horizontal",
662
- align: "center",
663
- justify: "between",
664
- gap: "lg",
665
- children: [/* @__PURE__ */ j(o, {
666
- className: "text-inherit",
667
- children: e.label
668
- }), !!u && !!m && /* @__PURE__ */ j(E, {
669
- tone: "secondary",
670
- shape: "square",
671
- size: "sm",
672
- children: /* @__PURE__ */ j(m, {
673
- className: "size-icon-md",
674
- "aria-hidden": "true"
675
- })
676
- })]
677
- }),
678
- /* @__PURE__ */ M("div", {
679
- className: "flex items-baseline gap-space-md",
680
- children: [/* @__PURE__ */ j(s, {
681
- tag: "h3",
682
- size: J[i],
683
- className: "tabular-nums text-inherit",
684
- children: t
685
- }), !!l && !!e.change && /* @__PURE__ */ j(H, {
686
- change: e.change,
687
- trend: e.trend,
688
- size: i,
689
- variant: "compact"
690
- })]
691
- }),
692
- !!e.subtitle && /* @__PURE__ */ j(a, {
693
- size: "xs",
694
- type: "secondary",
695
- children: e.subtitle
696
- })
697
- ]
698
- }), !!c && !!e.sparkline?.length && /* @__PURE__ */ j(G, {
699
- data: e.sparkline,
700
- trend: n,
701
- className: "h-control-lg w-full"
702
- })]
703
- });
704
- }
705
- function je({ data: e, formattedValue: t, size: n, showChange: i, tone: o, ariaLabel: c, className: l, progress: u = 0 }) {
706
- let f = ye[o], p = Math.round(Math.min(Math.max(u, 0), 100) / 100 * we);
707
- return /* @__PURE__ */ j(h, {
708
- surface: "card",
709
- className: l,
710
- "aria-label": c,
711
- children: /* @__PURE__ */ M(d, {
712
- gap: "lg",
713
- children: [
714
- /* @__PURE__ */ M(d, {
715
- gap: "md",
716
- children: [/* @__PURE__ */ M("div", {
717
- className: "flex items-center gap-space-md",
718
- children: [/* @__PURE__ */ j(a, {
719
- size: "xs",
720
- type: "secondary",
721
- weight: "medium",
722
- className: "truncate",
723
- children: e.label
724
- }), /* @__PURE__ */ j("span", {
725
- className: r(m.inline, f.solid),
726
- "aria-hidden": "true"
727
- })]
728
- }), /* @__PURE__ */ M("div", {
729
- className: "flex flex-wrap items-baseline gap-x-space-md",
730
- children: [/* @__PURE__ */ j(s, {
731
- tag: "h3",
732
- size: J[n],
733
- className: "whitespace-nowrap tabular-nums text-inherit",
734
- children: t
735
- }), !!e.subtitle && /* @__PURE__ */ j(a, {
736
- size: "xs",
737
- type: "secondary",
738
- children: e.subtitle
739
- })]
740
- })]
741
- }),
742
- /* @__PURE__ */ j("div", {
743
- className: "flex items-center gap-space-2xs",
744
- role: "progressbar",
745
- "aria-label": `${e.label} progress`,
746
- "aria-valuenow": u,
747
- "aria-valuemin": 0,
748
- "aria-valuemax": 100,
749
- "aria-valuetext": `${u}%`,
750
- children: Array.from({ length: we }, (e, t) => /* @__PURE__ */ j("div", { className: r("h-6 w-1.5 rounded-radius-sm transition-colors", t < p ? f.solid : "bg-muted") }, `seg-${t}`))
751
- }),
752
- (!!(i && e.change) || !!e.footer) && /* @__PURE__ */ M(d, {
753
- gap: "md",
754
- children: [!!i && !!e.change && /* @__PURE__ */ j("div", { children: /* @__PURE__ */ j(H, {
755
- change: e.change,
756
- trend: e.trend,
757
- size: n,
758
- variant: "default"
759
- }) }), !!e.footer && /* @__PURE__ */ M("div", {
760
- className: "inline-flex items-center gap-space-xs text-muted-foreground",
761
- children: [/* @__PURE__ */ j(oe, {
762
- className: "size-icon-sm",
763
- "aria-hidden": "true"
764
- }), /* @__PURE__ */ j(a, {
765
- size: "xs",
766
- type: "secondary",
767
- children: e.footer
768
- })]
769
- })]
770
- })
771
- ]
772
- })
773
- });
774
- }
775
- //#endregion
776
- //#region src/components/blocks/analytics/metric-bar/metric-bar.tsx
777
- function Me({ metrics: e, period: t, onPeriodChange: n, variant: o = "default", size: s = "sm", showSparklines: c = !0, showChanges: l = !0, footerText: u, className: d }) {
778
- let f = /* @__PURE__ */ j("div", {
779
- 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",
780
- children: e.map((e) => /* @__PURE__ */ j("div", {
781
- className: "flex min-w-0 flex-col px-surface py-row-y @xl/metric-bar:min-w-36 @xl/metric-bar:flex-1",
782
- children: /* @__PURE__ */ j(Y, {
783
- data: e,
784
- variant: "default",
785
- size: s,
786
- showSparkline: c,
787
- showChange: l,
788
- className: "flex-1"
789
- })
790
- }, e.id))
791
- }), p = !!t && /* @__PURE__ */ j("div", {
792
- 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",
793
- children: /* @__PURE__ */ M(i, {
794
- tone: "secondary",
795
- buttonStyle: "ghost",
796
- className: "gap-space-sm",
797
- onClick: n ? () => n(t.value) : void 0,
798
- children: [/* @__PURE__ */ j(se, {
799
- className: "size-icon-md",
800
- "aria-hidden": "true"
801
- }), /* @__PURE__ */ j(a, {
802
- type: "inherit",
803
- size: "inherit",
804
- weight: "medium",
805
- children: t.label
806
- })]
807
- })
808
- });
809
- return o === "gradient" ? /* @__PURE__ */ M("div", {
810
- className: r("metric-bar--component box-border @container/metric-bar", "w-full", "rounded-surface bg-gradient-to-r from-chart-3/8 via-chart-2/5 to-chart-1/8 p-px", d),
811
- children: [/* @__PURE__ */ M("div", {
812
- className: "flex min-w-0 flex-col overflow-hidden rounded-surface bg-card text-card-foreground @xl/metric-bar:flex-row",
813
- children: [p && /* @__PURE__ */ M(ie, { children: [p, /* @__PURE__ */ j("div", {
814
- className: "hidden w-px bg-border @xl/metric-bar:block",
815
- "aria-hidden": "true"
816
- })] }), f]
817
- }), !!u && /* @__PURE__ */ j("div", {
818
- className: "rounded-b-surface border-t border-border/60 bg-card text-card-foreground px-surface py-row-y",
819
- children: /* @__PURE__ */ j(a, {
820
- size: "xs",
821
- type: "discrete",
822
- children: u
823
- })
824
- })]
825
- }) : /* @__PURE__ */ M("div", {
826
- className: r("metric-bar--component box-border @container/metric-bar flex w-full flex-col overflow-hidden rounded-surface border border-border bg-card text-card-foreground shadow-sm", d),
827
- children: [/* @__PURE__ */ M("div", {
828
- className: "flex min-w-0 flex-col overflow-hidden @xl/metric-bar:flex-row",
829
- children: [p && /* @__PURE__ */ M(ie, { children: [p, /* @__PURE__ */ j("div", {
830
- className: "hidden w-px bg-border @xl/metric-bar:block",
831
- "aria-hidden": "true"
832
- })] }), f]
833
- }), !!u && /* @__PURE__ */ j("div", {
834
- className: "border-t border-border/60 px-surface py-row-y",
835
- children: /* @__PURE__ */ j(a, {
836
- size: "xs",
837
- type: "discrete",
838
- children: u
839
- })
840
- })]
841
- });
842
- }
843
- Me.displayName = "MetricBar";
844
- //#endregion
845
- //#region src/components/blocks/analytics/metric-grid/metric-grid.tsx
846
- var Ne = {
847
- 1: "grid-cols-1",
848
- 2: "grid-cols-1 @md/metric-grid:grid-cols-2",
849
- 3: "grid-cols-1 @2xl/metric-grid:grid-cols-3",
850
- 4: "grid-cols-1 @md/metric-grid:grid-cols-2 @5xl/metric-grid:grid-cols-4",
851
- 6: "grid-cols-1 @md/metric-grid:grid-cols-2 @3xl/metric-grid:grid-cols-3 @7xl/metric-grid:grid-cols-6"
852
- };
853
- function Pe(e) {
854
- return Ne[e <= 1 ? 1 : e === 2 ? 2 : e === 3 ? 3 : e <= 4 || e > 6 ? 4 : 6];
855
- }
856
- function Fe({ metrics: e, variant: t = "card", size: n = "md", tone: i, colorScheme: a = "default", columns: o = "auto", gap: s = "xl", showSparklines: c = !0, showChanges: l = !0, showIcons: d = !0, loading: f = !1, className: p }) {
857
- let m = o === "auto" ? Pe(e.length) : Ne[o];
858
- return /* @__PURE__ */ j("div", {
859
- className: r("metric-grid--component @container/metric-grid", p),
860
- children: /* @__PURE__ */ j(u, {
861
- columns: 1,
862
- gap: s,
863
- className: r("metric-grid--grid", m),
864
- children: e.map((e) => /* @__PURE__ */ j(Y, {
865
- data: e,
866
- variant: t,
867
- size: n,
868
- tone: i,
869
- colorScheme: a,
870
- showSparkline: c,
871
- showChange: l,
872
- showIcon: d,
873
- loading: f
874
- }, e.id))
875
- })
876
- });
877
- }
878
- Fe.displayName = "MetricGrid";
879
- //#endregion
2
+ import { useStrings as e } from "../lib/strings.js";
3
+ import { t } from "../utils-BVbAG2J6.js";
4
+ import { c as n, o as r } from "../typography-C0dELqYV.js";
5
+ import { c as i } from "../text.styles-B64My8RZ.js";
6
+ import { t as a } from "../structure-DElaQwwN.js";
7
+ import { r as o } from "../tone-recipes-BPsRAvhu.js";
8
+ import { a as s, o as c } from "../value-typography-D15uwfj-.js";
9
+ import { _ as l, g as u } from "../primitives-BlC1lXBr.js";
10
+ import { t as d } from "../badge-oGiXblW7.js";
11
+ import { a as f, i as p, n as m, o as h, r as g, s as _, t as v } from "../use-metric-format-options-Dk4rC1NO.js";
12
+ import { n as y, t as b } from "../usage-card-DDPki5P1.js";
13
+ import { jsx as x, jsxs as S } from "react/jsx-runtime";
14
+ import { ArrowDown as C, ArrowRight as w, ArrowUp as T, Equal as E } from "lucide-react";
880
15
  //#region src/components/blocks/analytics/metric-comparison/metric-comparison.tsx
881
- var X = {
16
+ var D = {
882
17
  title: "Comparison",
883
18
  currentLabel: "This period",
884
19
  previousLabel: "Previous period",
@@ -886,447 +21,140 @@ var X = {
886
21
  noBaseline: "Relative change unavailable",
887
22
  pointsUnit: "pp"
888
23
  };
889
- function Ie(e) {
24
+ function O(e) {
890
25
  if (e == null) return null;
891
26
  let t = Number(e);
892
27
  return Number.isFinite(t) ? t : null;
893
28
  }
894
- function Le({ current: e, previous: t, title: i, currentPeriod: s, previousPeriod: c, className: l, strings: u }) {
895
- let f = n(X, u), p = ve(), m = Ie(e.value), h = Ie(t.value), g = m !== null && h !== null ? m - h : null, _ = g !== null && Number.isFinite(g), v = g !== null && g > 0, x = g === 0, S = g !== null && h ? g / Math.abs(h) : null, w = S !== null && Number.isFinite(S) ? y(x ? 0 : S, p.locale, {
29
+ function k({ current: i, previous: o, title: u, currentPeriod: p, previousPeriod: m, className: h, strings: g }) {
30
+ let _ = e(D, g), y = v(), b = O(i.value), k = O(o.value), A = b !== null && k !== null ? b - k : null, j = A !== null && Number.isFinite(A), M = A !== null && A > 0, N = A === 0, P = A !== null && k ? A / Math.abs(k) : null, F = P !== null && Number.isFinite(P) ? c(N ? 0 : P, y.locale, {
896
31
  maximumFractionDigits: 0,
897
- signDisplay: x ? "auto" : "always"
898
- }) : null, T = x ? ce : v ? P : N, E = x ? "neutral" : e.trend ?? (v ? "positive" : "negative"), O = E === "positive" ? "success" : E === "negative" ? "destructive" : "secondary";
899
- return /* @__PURE__ */ M(d, {
32
+ signDisplay: N ? "auto" : "always"
33
+ }) : null, I = N ? E : M ? T : C, L = N ? "neutral" : i.trend ?? (M ? "positive" : "negative"), R = L === "positive" ? "success" : L === "negative" ? "destructive" : "secondary";
34
+ return /* @__PURE__ */ S(a, {
900
35
  "data-component": "metric-comparison",
901
36
  "data-slot": "metric-comparison",
902
37
  gap: "md",
903
- className: r("metric-comparison--component @container/metric-comparison", l),
904
- "aria-label": i ?? f.title,
905
- children: [/* @__PURE__ */ M("div", {
38
+ className: t("metric-comparison--component @container/metric-comparison", h),
39
+ role: "group",
40
+ "aria-label": u ?? _.title,
41
+ children: [/* @__PURE__ */ S("div", {
906
42
  className: "grid items-center gap-space-md grid-cols-1 @md/metric-comparison:grid-cols-[1fr_auto_1fr]",
907
43
  children: [
908
- /* @__PURE__ */ M(d, {
44
+ /* @__PURE__ */ S(a, {
909
45
  gap: "dense",
910
46
  className: "metric-comparison--current min-w-0",
911
- children: [/* @__PURE__ */ M(d, {
47
+ children: [/* @__PURE__ */ S(a, {
912
48
  direction: "horizontal",
913
49
  wrap: !0,
914
50
  align: "center",
915
51
  gap: "sm",
916
- children: [/* @__PURE__ */ j(o, {
52
+ children: [/* @__PURE__ */ x(r, {
917
53
  className: "text-inherit",
918
- children: f.currentLabel
919
- }), !!s && /* @__PURE__ */ j(D, {
54
+ children: _.currentLabel
55
+ }), !!p && /* @__PURE__ */ x(d, {
920
56
  tone: "secondary",
921
57
  inline: !0,
922
58
  className: "metric-comparison--period",
923
- children: s
59
+ children: p
924
60
  })]
925
- }), /* @__PURE__ */ j(C, {
61
+ }), /* @__PURE__ */ x(l, {
926
62
  type: "inherit",
927
63
  size: "base",
928
64
  weight: "semibold",
929
65
  className: "tabular-nums",
930
- children: z(e, p)
66
+ children: f(i, y)
931
67
  })]
932
68
  }),
933
- /* @__PURE__ */ M("div", {
69
+ /* @__PURE__ */ S("div", {
934
70
  className: "flex items-center text-muted-foreground @md/metric-comparison:justify-center",
935
- children: [/* @__PURE__ */ j(ae, {
71
+ children: [/* @__PURE__ */ x(w, {
936
72
  className: "hidden size-icon @md/metric-comparison:block",
937
73
  "aria-hidden": "true"
938
- }), /* @__PURE__ */ j(N, {
74
+ }), /* @__PURE__ */ x(C, {
939
75
  className: "size-icon @md/metric-comparison:hidden",
940
76
  "aria-hidden": "true"
941
77
  })]
942
78
  }),
943
- /* @__PURE__ */ M(d, {
79
+ /* @__PURE__ */ S(a, {
944
80
  gap: "dense",
945
81
  className: "metric-comparison--previous min-w-0",
946
- children: [/* @__PURE__ */ M(d, {
82
+ children: [/* @__PURE__ */ S(a, {
947
83
  direction: "horizontal",
948
84
  wrap: !0,
949
85
  align: "center",
950
86
  gap: "sm",
951
- children: [/* @__PURE__ */ j(o, {
87
+ children: [/* @__PURE__ */ x(r, {
952
88
  className: "text-inherit",
953
- children: f.previousLabel
954
- }), !!c && /* @__PURE__ */ j(D, {
89
+ children: _.previousLabel
90
+ }), !!m && /* @__PURE__ */ x(d, {
955
91
  tone: "secondary",
956
92
  inline: !0,
957
93
  className: "metric-comparison--period",
958
- children: c
94
+ children: m
959
95
  })]
960
- }), /* @__PURE__ */ j(C, {
96
+ }), /* @__PURE__ */ x(l, {
961
97
  size: "base",
962
98
  weight: "semibold",
963
99
  type: "secondary",
964
100
  className: "tabular-nums",
965
- children: z(t, p)
101
+ children: f(o, y)
966
102
  })]
967
103
  })
968
104
  ]
969
- }), !!_ && /* @__PURE__ */ M(d, {
105
+ }), !!j && /* @__PURE__ */ S(a, {
970
106
  direction: "horizontal",
971
107
  wrap: !0,
972
108
  align: "center",
973
109
  gap: "md",
974
110
  className: "metric-comparison--delta",
975
- children: [/* @__PURE__ */ M(D, {
976
- tone: O,
111
+ children: [/* @__PURE__ */ S(d, {
112
+ tone: R,
977
113
  size: "sm",
978
114
  inline: !0,
979
- children: [/* @__PURE__ */ j(T, {
115
+ children: [/* @__PURE__ */ x(I, {
980
116
  className: "size-icon-sm",
981
117
  strokeWidth: 2.5,
982
118
  "aria-hidden": "true"
983
- }), /* @__PURE__ */ M(C, {
119
+ }), /* @__PURE__ */ S(l, {
984
120
  size: "inherit",
985
121
  weight: "semibold",
986
122
  className: "tabular-nums text-inherit",
987
- children: [v ? "+" : x ? "" : "−", ((t) => {
988
- let n = Math.abs(t);
989
- return e.valueType === "percentage" ? `${b(n * 100, {
990
- locale: p.locale,
123
+ children: [M ? "+" : N ? "" : "−", ((e) => {
124
+ let t = Math.abs(e);
125
+ return i.valueType === "percentage" ? `${s(t * 100, {
126
+ locale: y.locale,
991
127
  maximumFractionDigits: 1
992
- })} ${f.pointsUnit ?? X.pointsUnit}` : z({
993
- ...e,
994
- value: n
995
- }, p);
996
- })(g)]
128
+ })} ${_.pointsUnit ?? D.pointsUnit}` : f({
129
+ ...i,
130
+ value: t
131
+ }, y);
132
+ })(A)]
997
133
  })]
998
- }), /* @__PURE__ */ j(a, {
134
+ }), /* @__PURE__ */ x(n, {
999
135
  size: "xs",
1000
136
  type: "secondary",
1001
137
  className: "tabular-nums",
1002
- children: w ? `${w} ${f.suffix}` : f.noBaseline ?? X.noBaseline
138
+ children: F ? `${F} ${_.suffix}` : _.noBaseline ?? D.noBaseline
1003
139
  })]
1004
140
  })]
1005
141
  });
1006
142
  }
1007
- Le.displayName = "MetricComparison";
1008
- //#endregion
1009
- //#region src/components/blocks/analytics/metric-micro-grid/metric-micro-grid.tsx
1010
- var Re = [
1011
- "bars",
1012
- "line",
1013
- "dots",
1014
- "progress",
1015
- "area",
1016
- "pie"
1017
- ], ze = {
1018
- bars: "var(--chart-1)",
1019
- line: "var(--chart-1)",
1020
- dots: "var(--chart-1)",
1021
- progress: "var(--chart-1)",
1022
- area: "var(--chart-1)",
1023
- pie: "var(--chart-1)"
1024
- }, Be = [
1025
- "var(--chart-1)",
1026
- "var(--chart-2)",
1027
- "var(--chart-3)"
1028
- ], Z = "h-control-sm";
1029
- function Ve({ data: e, color: t }) {
1030
- let n = Math.max(...e, 1);
1031
- return /* @__PURE__ */ j("div", {
1032
- className: r("flex items-end gap-space-2xs", Z),
1033
- children: e.slice(0, 6).map((e, r) => /* @__PURE__ */ j("div", {
1034
- className: "flex-1 rounded-t-radius-sm",
1035
- style: {
1036
- height: `${e / n * 100}%`,
1037
- backgroundColor: t
1038
- }
1039
- }, `bar-${r}`))
1040
- });
1041
- }
1042
- function He({ data: e, color: t }) {
1043
- let n = Math.max(...e, 1), i = Math.min(...e), a = n - i || 1, o = e.slice(0, 6);
1044
- return /* @__PURE__ */ j("svg", {
1045
- viewBox: "0 0 60 16",
1046
- className: r("w-full", Z),
1047
- preserveAspectRatio: "none",
1048
- children: /* @__PURE__ */ j("polyline", {
1049
- fill: "none",
1050
- stroke: t,
1051
- strokeWidth: "1.5",
1052
- strokeLinecap: "round",
1053
- strokeLinejoin: "round",
1054
- points: o.map((e, t) => `${t / Math.max(o.length - 1, 1) * 60},${16 - (e - i) / a * 14}`).join(" ")
1055
- })
1056
- });
1057
- }
1058
- function Ue({ data: e, color: t }) {
1059
- let n = e.slice(0, 5), i = Math.max(...n), a = Math.min(...n), o = i - a || 1;
1060
- return /* @__PURE__ */ j("div", {
1061
- className: r("flex justify-around", Z),
1062
- "data-intrinsic-geometry": !0,
1063
- children: n.map((e, n) => /* @__PURE__ */ j("div", {
1064
- className: "relative h-full w-1.5",
1065
- children: /* @__PURE__ */ j("div", {
1066
- className: "absolute inset-x-0 h-1.5 rounded-full",
1067
- style: {
1068
- bottom: `calc(${(e - a) / o} * (100% - 0.375rem))`,
1069
- backgroundColor: t
1070
- }
1071
- })
1072
- }, `dot-${n}`))
1073
- });
1074
- }
1075
- function We({ data: e, label: t }) {
1076
- return /* @__PURE__ */ j(g, {
1077
- value: e[0] ?? 0,
1078
- max: e[1] ?? 100,
1079
- size: "sm",
1080
- "aria-label": t,
1081
- indicatorProps: { className: "bg-chart-1" }
1082
- });
1083
- }
1084
- function Ge({ data: e, color: t }) {
1085
- let n = k(), i = W(), a = `micro-area-${n.replaceAll(":", "")}`, o = Math.min(...e), s = e.map((e, t) => ({
1086
- i: t,
1087
- v: e - o
1088
- }));
1089
- return /* @__PURE__ */ j("div", {
1090
- className: r("w-full", Z),
1091
- children: /* @__PURE__ */ j(L, {
1092
- width: "100%",
1093
- height: "100%",
1094
- initialDimension: {
1095
- width: 1,
1096
- height: 1
1097
- },
1098
- children: /* @__PURE__ */ M(I, {
1099
- data: s,
1100
- margin: {
1101
- top: 0,
1102
- right: 0,
1103
- bottom: 0,
1104
- left: 0
1105
- },
1106
- children: [/* @__PURE__ */ j("defs", { children: /* @__PURE__ */ M("linearGradient", {
1107
- id: a,
1108
- x1: "0",
1109
- y1: "0",
1110
- x2: "0",
1111
- y2: "1",
1112
- children: [/* @__PURE__ */ j("stop", {
1113
- offset: "0%",
1114
- stopColor: t,
1115
- stopOpacity: .3
1116
- }), /* @__PURE__ */ j("stop", {
1117
- offset: "100%",
1118
- stopColor: t,
1119
- stopOpacity: 0
1120
- })]
1121
- }) }), /* @__PURE__ */ j(F, {
1122
- type: "monotone",
1123
- dataKey: "v",
1124
- stroke: t,
1125
- strokeWidth: 1.25,
1126
- fill: `url(#${a})`,
1127
- isAnimationActive: !i
1128
- })]
1129
- })
1130
- })
1131
- });
1132
- }
1133
- function Ke({ data: e }) {
1134
- let t = e.reduce((e, t) => e + t, 0) || 1, n = 0;
1135
- return /* @__PURE__ */ j("svg", {
1136
- viewBox: "0 0 24 24",
1137
- className: "size-control-sm",
1138
- children: e.slice(0, 3).map((e, r) => {
1139
- let i = e / t * 360, a = n;
1140
- n += i;
1141
- 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);
1142
- return /* @__PURE__ */ j("path", {
1143
- d: `M12,12 L${l},${u} A10,10 0 ${c},1 ${d},${f} Z`,
1144
- fill: Be[r % Be.length]
1145
- }, `slice-${r}`);
1146
- })
1147
- });
1148
- }
1149
- function qe({ kind: e, data: t, label: n }) {
1150
- let r = ze[e];
1151
- return e === "bars" ? /* @__PURE__ */ j(Ve, {
1152
- data: t,
1153
- color: r
1154
- }) : e === "line" ? /* @__PURE__ */ j(He, {
1155
- data: t,
1156
- color: r
1157
- }) : e === "dots" ? /* @__PURE__ */ j(Ue, {
1158
- data: t,
1159
- color: r
1160
- }) : e === "progress" ? /* @__PURE__ */ j(We, {
1161
- data: t,
1162
- label: n
1163
- }) : e === "area" ? /* @__PURE__ */ j(Ge, {
1164
- data: t,
1165
- color: r
1166
- }) : /* @__PURE__ */ j(Ke, { data: t });
1167
- }
1168
- var Je = {
1169
- 1: "grid-cols-1",
1170
- 2: "grid-cols-2",
1171
- 3: "grid-cols-1 @md/metric-micro-grid:grid-cols-3",
1172
- 4: "grid-cols-2 @3xl/metric-micro-grid:grid-cols-4",
1173
- 5: "grid-cols-2 @xl/metric-micro-grid:grid-cols-3 @5xl/metric-micro-grid:grid-cols-5",
1174
- 6: "grid-cols-2 @xl/metric-micro-grid:grid-cols-3 @5xl/metric-micro-grid:grid-cols-6"
1175
- };
1176
- function Ye({ title: e = "Overview", cells: t, className: n }) {
1177
- let i = t.slice(0, 6);
1178
- return /* @__PURE__ */ j("div", {
1179
- "data-component": "metric-micro-grid",
1180
- "data-slot": "metric-micro-grid",
1181
- className: r("metric-micro-grid--component @container/metric-micro-grid min-w-0 overflow-hidden", n),
1182
- "aria-label": e,
1183
- children: /* @__PURE__ */ j("div", {
1184
- className: r("-me-px -mb-px grid", Je[Math.max(i.length, 1)]),
1185
- children: i.map((e, t) => /* @__PURE__ */ j("div", {
1186
- className: "min-w-0 border-e border-b border-border/60 p-surface-xs",
1187
- children: /* @__PURE__ */ M(d, {
1188
- gap: "sm",
1189
- children: [
1190
- /* @__PURE__ */ j(o, {
1191
- className: "truncate text-inherit",
1192
- children: e.label
1193
- }),
1194
- /* @__PURE__ */ j(C, {
1195
- type: "inherit",
1196
- weight: "bold",
1197
- className: "truncate tabular-nums",
1198
- children: e.value
1199
- }),
1200
- /* @__PURE__ */ j("div", {
1201
- className: "mt-auto",
1202
- children: /* @__PURE__ */ j(qe, {
1203
- kind: e.chart ?? Re[t],
1204
- data: e.data,
1205
- label: e.label
1206
- })
1207
- })
1208
- ]
1209
- })
1210
- }, e.id ?? e.label))
1211
- })
1212
- });
1213
- }
1214
- Ye.displayName = "MetricMicroGrid";
1215
- //#endregion
1216
- //#region src/components/blocks/analytics/metric-gradient/metric-gradient.tsx
1217
- var Xe = {
1218
- green: "bg-gradient-to-br from-chart-1 via-chart-2 to-chart-1",
1219
- purple: "bg-gradient-to-br from-chart-3 via-chart-4 to-chart-3",
1220
- warm: "bg-gradient-to-br from-chart-5 via-chart-4 to-chart-5",
1221
- ocean: "bg-gradient-to-br from-chart-2 via-chart-1 to-chart-2"
1222
- }, Q = "var(--inverse-foreground)", Ze = "var(--inverse-muted)";
1223
- function Qe({ title: e, value: t, change: n, data: i, theme: c = "green", subtitle: l, className: u }) {
1224
- let f = k(), p = W(), m = `metric-grad-${f.replaceAll(":", "")}`;
1225
- return /* @__PURE__ */ j("div", {
1226
- className: r("metric-gradient--component", "relative overflow-hidden rounded-surface p-surface text-inverse-foreground shadow-sm ring-1 ring-inverse-border", Xe[c], u),
1227
- children: /* @__PURE__ */ M(d, {
1228
- gap: "md",
1229
- children: [/* @__PURE__ */ M(d, {
1230
- direction: "horizontal",
1231
- align: "start",
1232
- justify: "between",
1233
- wrap: !0,
1234
- className: "relative rounded-surface bg-inverse-background p-surface",
1235
- children: [/* @__PURE__ */ M(d, {
1236
- gap: "xs",
1237
- className: "min-w-0",
1238
- children: [
1239
- /* @__PURE__ */ j(o, {
1240
- tone: "inverse",
1241
- children: e
1242
- }),
1243
- !!t && /* @__PURE__ */ j(s, {
1244
- tag: "h3",
1245
- className: "tabular-nums text-inverse-foreground",
1246
- children: t
1247
- }),
1248
- !!l && /* @__PURE__ */ j(a, {
1249
- size: "xs",
1250
- className: "text-inverse-muted",
1251
- children: l
1252
- })
1253
- ]
1254
- }), !!n && /* @__PURE__ */ j(H, {
1255
- change: n,
1256
- trend: n.direction === "up" ? "positive" : n.direction === "down" ? "negative" : "neutral",
1257
- size: "sm",
1258
- variant: "badge",
1259
- className: "shrink-0 !bg-inverse-surface-strong !text-inverse-foreground"
1260
- })]
1261
- }), /* @__PURE__ */ j("div", {
1262
- className: "relative -mx-1 h-24",
1263
- children: /* @__PURE__ */ j(L, {
1264
- width: "100%",
1265
- height: "100%",
1266
- initialDimension: {
1267
- width: 1,
1268
- height: 1
1269
- },
1270
- children: /* @__PURE__ */ M(I, {
1271
- data: i,
1272
- margin: {
1273
- top: 4,
1274
- right: 0,
1275
- bottom: 0,
1276
- left: 0
1277
- },
1278
- children: [/* @__PURE__ */ j("defs", { children: /* @__PURE__ */ M("linearGradient", {
1279
- id: m,
1280
- x1: "0",
1281
- y1: "0",
1282
- x2: "0",
1283
- y2: "1",
1284
- children: [/* @__PURE__ */ j("stop", {
1285
- offset: "0%",
1286
- stopColor: Q,
1287
- stopOpacity: .3
1288
- }), /* @__PURE__ */ j("stop", {
1289
- offset: "100%",
1290
- stopColor: Q,
1291
- stopOpacity: 0
1292
- })]
1293
- }) }), /* @__PURE__ */ j(F, {
1294
- type: "monotone",
1295
- dataKey: "value",
1296
- stroke: Ze,
1297
- strokeWidth: 2,
1298
- fill: `url(#${m})`,
1299
- dot: !1,
1300
- activeDot: {
1301
- r: 4,
1302
- strokeWidth: 2,
1303
- fill: Q,
1304
- stroke: Ze
1305
- },
1306
- isAnimationActive: !p,
1307
- animationDuration: 800
1308
- })]
1309
- })
1310
- })
1311
- })]
1312
- })
1313
- });
1314
- }
1315
- Qe.displayName = "MetricGradient";
143
+ k.displayName = "MetricComparison";
1316
144
  //#endregion
1317
145
  //#region src/components/blocks/analytics/activity-heatmap/activity-heatmap.tsx
1318
- var $e = {
1319
- 0: p.activity[0],
1320
- 1: p.activity[1],
1321
- 2: p.activity[2],
1322
- 3: p.activity[3],
1323
- 4: p.activity[4]
1324
- }, et = r("text--component fill-current", c({
146
+ var A = {
147
+ 0: o.activity[0],
148
+ 1: o.activity[1],
149
+ 2: o.activity[2],
150
+ 3: o.activity[3],
151
+ 4: o.activity[4]
152
+ }, j = t("text--component fill-current", i({
1325
153
  size: "xs",
1326
154
  type: "secondary",
1327
155
  lineHeight: "none"
1328
156
  }));
1329
- function tt(e, t) {
157
+ function M(e, t) {
1330
158
  if (e.length === 0) return {
1331
159
  weeks: [],
1332
160
  monthLabels: []
@@ -1362,59 +190,60 @@ function tt(e, t) {
1362
190
  monthLabels: u
1363
191
  };
1364
192
  }
1365
- function nt({ title: e, description: t, data: i, className: o, strings: s }) {
1366
- let c = n(R, s), { weeks: l, monthLabels: u } = tt(i, c.heatmapMonthNames);
1367
- return /* @__PURE__ */ M(d, {
193
+ function N({ title: r, description: i, data: o, className: s, strings: c }) {
194
+ let l = e(_, c), { weeks: u, monthLabels: d } = M(o, l.heatmapMonthNames);
195
+ return /* @__PURE__ */ S(a, {
1368
196
  gap: "md",
1369
197
  "data-component": "activity-heatmap",
1370
198
  "data-slot": "activity-heatmap",
1371
- className: r("activity-heatmap--component", o),
1372
- "aria-label": e,
1373
- children: [!!t && /* @__PURE__ */ j(a, {
199
+ className: t("activity-heatmap--component", s),
200
+ role: "group",
201
+ "aria-label": r,
202
+ children: [!!i && /* @__PURE__ */ x(n, {
1374
203
  type: "secondary",
1375
- children: t
1376
- }), /* @__PURE__ */ j("div", {
204
+ children: i
205
+ }), /* @__PURE__ */ x("div", {
1377
206
  className: "overflow-x-auto",
1378
207
  "data-intrinsic-geometry": !0,
1379
- children: /* @__PURE__ */ M("div", {
208
+ children: /* @__PURE__ */ S("div", {
1380
209
  className: "inline-flex min-w-max flex-col gap-space-sm",
1381
- children: [/* @__PURE__ */ M("svg", {
1382
- width: 28 + l.length * 15,
210
+ children: [/* @__PURE__ */ S("svg", {
211
+ width: 28 + u.length * 15,
1383
212
  height: 124,
1384
213
  className: "block overflow-visible",
1385
214
  role: "img",
1386
- "aria-label": e,
1387
- children: [/* @__PURE__ */ M("g", { children: [u.filter((e, t, n) => t === 0 || e.weekIndex - n[t - 1].weekIndex >= 3).map((e) => /* @__PURE__ */ j("text", {
1388
- className: et,
215
+ "aria-label": r,
216
+ children: [/* @__PURE__ */ S("g", { children: [d.filter((e, t, n) => t === 0 || e.weekIndex - n[t - 1].weekIndex >= 3).map((e) => /* @__PURE__ */ x("text", {
217
+ className: j,
1389
218
  "data-typography": "text",
1390
219
  x: 28 + e.weekIndex * 15,
1391
220
  y: 0,
1392
221
  dominantBaseline: "text-before-edge",
1393
222
  children: e.label
1394
- }, `${e.label}-${e.weekIndex}`)), c.heatmapDayLabels.map((e, t) => e ? /* @__PURE__ */ j("text", {
1395
- className: et,
223
+ }, `${e.label}-${e.weekIndex}`)), l.heatmapDayLabels.map((e, t) => e ? /* @__PURE__ */ x("text", {
224
+ className: j,
1396
225
  "data-typography": "text",
1397
226
  x: 24,
1398
227
  y: 28 + t * 15,
1399
228
  dominantBaseline: "central",
1400
229
  textAnchor: "end",
1401
230
  children: e
1402
- }, `day-${t}`) : null)] }), l.map((e, t) => /* @__PURE__ */ j("g", { children: e.map((e, n) => /* @__PURE__ */ j("rect", {
231
+ }, `day-${t}`) : null)] }), u.map((e, t) => /* @__PURE__ */ x("g", { children: e.map((e, n) => /* @__PURE__ */ x("rect", {
1403
232
  x: 28 + t * 15,
1404
233
  y: 22 + n * 15,
1405
234
  width: 12,
1406
235
  height: 12,
1407
236
  rx: 2.5,
1408
- className: e ? $e[e.level] : "fill-transparent",
1409
- children: e && /* @__PURE__ */ j("title", { children: `${e.date}: Level ${e.level}` })
237
+ className: e ? A[e.level] : "fill-transparent",
238
+ children: e && /* @__PURE__ */ x("title", { children: l.heatmapFormatCell?.(e.date, e.level) ?? `${e.date}: Level ${e.level}` })
1410
239
  }, `d-${t}-${n}`)) }, `w-${t}`))]
1411
- }), /* @__PURE__ */ M("div", {
240
+ }), /* @__PURE__ */ S("div", {
1412
241
  className: "activity-heatmap--legend flex items-center justify-end gap-space-sm",
1413
242
  children: [
1414
- /* @__PURE__ */ j(a, {
243
+ /* @__PURE__ */ x(n, {
1415
244
  size: "xs",
1416
245
  type: "secondary",
1417
- children: c.heatmapLegendLess
246
+ children: l.heatmapLegendLess
1418
247
  }),
1419
248
  [
1420
249
  0,
@@ -1422,22 +251,22 @@ function nt({ title: e, description: t, data: i, className: o, strings: s }) {
1422
251
  2,
1423
252
  3,
1424
253
  4
1425
- ].map((e) => /* @__PURE__ */ j("svg", {
254
+ ].map((e) => /* @__PURE__ */ x("svg", {
1426
255
  width: 12,
1427
256
  height: 12,
1428
257
  "aria-hidden": "true",
1429
258
  className: "shrink-0",
1430
- children: /* @__PURE__ */ j("rect", {
259
+ children: /* @__PURE__ */ x("rect", {
1431
260
  width: 12,
1432
261
  height: 12,
1433
262
  rx: 2.5,
1434
- className: $e[e]
263
+ className: A[e]
1435
264
  })
1436
265
  }, `legend-${e}`)),
1437
- /* @__PURE__ */ j(a, {
266
+ /* @__PURE__ */ x(n, {
1438
267
  size: "xs",
1439
268
  type: "secondary",
1440
- children: c.heatmapLegendMore
269
+ children: l.heatmapLegendMore
1441
270
  })
1442
271
  ]
1443
272
  })]
@@ -1445,32 +274,10 @@ function nt({ title: e, description: t, data: i, className: o, strings: s }) {
1445
274
  })]
1446
275
  });
1447
276
  }
1448
- nt.displayName = "ActivityHeatmap";
1449
- //#endregion
1450
- //#region src/components/blocks/analytics/chart-card/chart-card.tsx
1451
- function rt({ title: e, description: t, headerEnd: n, titleSuffix: i, footer: a, config: o, children: s, initialDimension: c, surface: l, padding: u, className: d, contentClassName: f, chartClassName: p }) {
1452
- return /* @__PURE__ */ j(ee, {
1453
- title: e,
1454
- description: t,
1455
- headerEnd: n,
1456
- titleSuffix: i,
1457
- footerSlot: a,
1458
- surface: l,
1459
- padding: u,
1460
- className: r("chart-card--component", d),
1461
- contentClassName: r("chart-card--content", f),
1462
- children: /* @__PURE__ */ j(O, {
1463
- config: o,
1464
- initialDimension: c,
1465
- className: r("chart-card--chart min-h-[var(--chart-min-height)]", p),
1466
- children: s
1467
- })
1468
- });
1469
- }
1470
- rt.displayName = "ChartCard";
277
+ N.displayName = "ActivityHeatmap";
1471
278
  //#endregion
1472
279
  //#region src/components/blocks/analytics/time-ruler/types.ts
1473
- var it = {
280
+ var P = {
1474
281
  legendNone: "None",
1475
282
  legendLow: "Low",
1476
283
  legendMedium: "Medium",
@@ -1481,96 +288,95 @@ var it = {
1481
288
  };
1482
289
  //#endregion
1483
290
  //#region src/components/blocks/analytics/time-ruler/time-ruler.tsx
1484
- function $({ hours: e, currentHour: t, className: i, strings: o }) {
1485
- let s = n(it, o), c = Math.max(...e, 1), l = e.indexOf(Math.max(...e));
1486
- function u(e) {
1487
- if (e === 0) return p.density[0];
1488
- let t = e / c;
1489
- return t < .33 ? p.density[1] : t < .66 ? p.density[2] : p.density[3];
291
+ function F({ hours: r, currentHour: i, className: s, strings: c }) {
292
+ let l = e(P, c), d = Math.max(...r, 0), f = Math.max(d, 1), p = d > 0 ? r.indexOf(d) : -1, m = i !== void 0 && i >= 0 && i < 24;
293
+ function h(e) {
294
+ if (e === 0) return o.density[0];
295
+ let t = e / f;
296
+ return t < .33 ? o.density[1] : t < .66 ? o.density[2] : o.density[3];
1490
297
  }
1491
- return /* @__PURE__ */ M(d, {
298
+ return /* @__PURE__ */ S(a, {
1492
299
  gap: "sm",
1493
- className: r("time-ruler--component", i),
300
+ className: t("time-ruler--component", s),
1494
301
  children: [
1495
- /* @__PURE__ */ j("div", {
1496
- className: "relative flex h-8 gap-px overflow-hidden rounded-radius-md",
1497
- children: e.map((e, t) => /* @__PURE__ */ j("div", {
1498
- className: r("relative flex-1 transition-colors", u(e), t === l && "ring-1 ring-primary ring-inset"),
1499
- title: s.formatHourTitle(s.formatHourLabel(t), e)
1500
- }, t))
302
+ /* @__PURE__ */ S("div", {
303
+ "aria-hidden": "true",
304
+ className: "time-ruler--bar relative",
305
+ children: [/* @__PURE__ */ x("div", {
306
+ className: "flex h-8 gap-px overflow-hidden rounded-radius-md",
307
+ children: r.map((e, n) => /* @__PURE__ */ x("div", {
308
+ "data-hour": n,
309
+ "data-peak": n === p || void 0,
310
+ className: t("relative flex-1 transition-colors", h(e), n === p && "ring-1 ring-primary ring-inset"),
311
+ title: l.formatHourTitle(l.formatHourLabel(n), e)
312
+ }, n))
313
+ }), m && /* @__PURE__ */ x("div", {
314
+ className: "time-ruler--now absolute bottom-1 h-0 w-0 border-x-[4px] border-b-[5px] border-x-transparent border-b-destructive",
315
+ style: {
316
+ left: `${i / 24 * 100}%`,
317
+ transform: "translateX(-50%)"
318
+ }
319
+ })]
1501
320
  }),
1502
- /* @__PURE__ */ j("div", {
321
+ /* @__PURE__ */ x("div", {
322
+ "aria-hidden": "true",
1503
323
  className: "relative flex",
1504
- children: e.map((e, t) => /* @__PURE__ */ j("div", {
324
+ children: r.map((e, t) => /* @__PURE__ */ x("div", {
1505
325
  className: "flex-1 text-center",
1506
- children: t % 4 == 0 && /* @__PURE__ */ j(w, {
326
+ children: t % 4 == 0 && /* @__PURE__ */ x(u, {
1507
327
  size: "xs",
1508
328
  className: "tabular-nums",
1509
- children: s.formatHourLabel(t)
329
+ children: l.formatHourLabel(t)
1510
330
  })
1511
331
  }, t))
1512
332
  }),
1513
- t !== void 0 && t >= 0 && t < 24 && /* @__PURE__ */ j("div", {
1514
- className: "relative h-0",
1515
- children: /* @__PURE__ */ j("div", {
1516
- className: "absolute -top-[42px] flex flex-col items-center",
1517
- style: {
1518
- left: `${t / 24 * 100}%`,
1519
- transform: "translateX(-50%)"
1520
- },
1521
- children: /* @__PURE__ */ j("div", { className: "h-0 w-0 border-x-[4px] border-b-[5px] border-x-transparent border-b-destructive" })
1522
- })
333
+ /* @__PURE__ */ x("ul", {
334
+ className: "time-ruler--data sr-only",
335
+ children: r.map((e, t) => e > 0 && /* @__PURE__ */ S("li", { children: [l.formatHourTitle(l.formatHourLabel(t), e), t === i && ` (${l.legendNow})`] }, t))
1523
336
  }),
1524
- /* @__PURE__ */ M("div", {
1525
- className: "flex items-center gap-space-lg",
1526
- children: [
1527
- /* @__PURE__ */ M("div", {
1528
- className: "flex items-center gap-space-xs",
1529
- children: [/* @__PURE__ */ j("div", { className: r("h-2 w-3 rounded-radius-sm", p.density[0]) }), /* @__PURE__ */ j(a, {
1530
- size: "xs",
1531
- type: "secondary",
1532
- children: s.legendNone
1533
- })]
1534
- }),
1535
- /* @__PURE__ */ M("div", {
1536
- className: "flex items-center gap-space-xs",
1537
- children: [/* @__PURE__ */ j("div", { className: r("h-2 w-3 rounded-radius-sm", p.density[1]) }), /* @__PURE__ */ j(a, {
1538
- size: "xs",
1539
- type: "secondary",
1540
- children: s.legendLow
1541
- })]
1542
- }),
1543
- /* @__PURE__ */ M("div", {
1544
- className: "flex items-center gap-space-xs",
1545
- children: [/* @__PURE__ */ j("div", { className: r("h-2 w-3 rounded-radius-sm", p.density[2]) }), /* @__PURE__ */ j(a, {
1546
- size: "xs",
1547
- type: "secondary",
1548
- children: s.legendMedium
1549
- })]
1550
- }),
1551
- /* @__PURE__ */ M("div", {
1552
- className: "flex items-center gap-space-xs",
1553
- children: [/* @__PURE__ */ j("div", { className: r("h-2 w-3 rounded-radius-sm", p.density[3]) }), /* @__PURE__ */ j(a, {
1554
- size: "xs",
1555
- type: "secondary",
1556
- children: s.legendHigh
1557
- })]
1558
- }),
1559
- t !== void 0 && /* @__PURE__ */ M("div", {
1560
- className: "flex items-center gap-space-xs",
1561
- children: [/* @__PURE__ */ j("div", { className: "h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive" }), /* @__PURE__ */ j(a, {
1562
- size: "xs",
1563
- type: "secondary",
1564
- children: s.legendNow
1565
- })]
1566
- })
1567
- ]
337
+ /* @__PURE__ */ S(a, {
338
+ direction: "horizontal",
339
+ align: "center",
340
+ gap: "lg",
341
+ className: "time-ruler--legend",
342
+ children: [[
343
+ l.legendNone,
344
+ l.legendLow,
345
+ l.legendMedium,
346
+ l.legendHigh
347
+ ].map((e, r) => /* @__PURE__ */ S(a, {
348
+ direction: "horizontal",
349
+ align: "center",
350
+ gap: "xs",
351
+ wrap: !1,
352
+ children: [/* @__PURE__ */ x("div", {
353
+ "aria-hidden": "true",
354
+ className: t("h-2 w-3 rounded-radius-sm", o.density[r])
355
+ }), /* @__PURE__ */ x(n, {
356
+ size: "xs",
357
+ type: "secondary",
358
+ children: e
359
+ })]
360
+ }, r)), i !== void 0 && /* @__PURE__ */ S(a, {
361
+ direction: "horizontal",
362
+ align: "center",
363
+ gap: "xs",
364
+ wrap: !1,
365
+ children: [/* @__PURE__ */ x("div", {
366
+ "aria-hidden": "true",
367
+ className: "h-0 w-0 border-x-[3px] border-b-[4px] border-x-transparent border-b-destructive"
368
+ }), /* @__PURE__ */ x(n, {
369
+ size: "xs",
370
+ type: "secondary",
371
+ children: l.legendNow
372
+ })]
373
+ })]
1568
374
  })
1569
375
  ]
1570
376
  });
1571
377
  }
1572
- $.displayName = "TimeDistributionRuler";
378
+ F.displayName = "TimeDistributionRuler";
1573
379
  //#endregion
1574
- export { nt as ActivityHeatmap, rt as ChartCard, Y as Metric, Me as MetricBar, Le as MetricComparison, Qe as MetricGradient, Fe as MetricGrid, Ye as MetricMicroGrid, q as MetricSkeleton, G as MetricSparkline, H as MetricTrendChip, $ as TimeDistributionRuler, ne as UsageCard, R as defaultAnalyticsStrings, X as defaultMetricComparisonStrings, it as defaultTimeDistributionRulerStrings, te as defaultUsageCardStrings, z as formatMetricValue, ue as resolveTrend };
380
+ export { N as ActivityHeatmap, k as MetricComparison, m as MetricSkeleton, g as MetricTrendChip, F as TimeDistributionRuler, b as UsageCard, _ as defaultAnalyticsStrings, D as defaultMetricComparisonStrings, p as defaultMetricTrendChipStrings, P as defaultTimeDistributionRulerStrings, y as defaultUsageCardStrings, f as formatMetricValue, h as resolveTrend };
1575
381
 
1576
382
  //# sourceMappingURL=analytics.js.map