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