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