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