@embeddable.com/remarkable-pro 0.0.25 → 0.0.26
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/dist/BarChartDefaultHorizontalPro.js +35 -24
- package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
- package/dist/BarChartDefaultPro.js +38 -22
- package/dist/BarChartDefaultPro.js.map +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +36 -28
- package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
- package/dist/BarChartGroupedPro.js +36 -28
- package/dist/BarChartGroupedPro.js.map +1 -1
- package/dist/BarChartStackedHorizontalPro.js +31 -23
- package/dist/BarChartStackedHorizontalPro.js.map +1 -1
- package/dist/BarChartStackedPro.js +31 -23
- package/dist/BarChartStackedPro.js.map +1 -1
- package/dist/{ChartCard-BHPN4_tz.js → ChartCard-C6rVK7Ux.js} +21 -21
- package/dist/{ChartCard-BHPN4_tz.js.map → ChartCard-C6rVK7Ux.js.map} +1 -1
- package/dist/ChartGranularitySelectField-BxhibpgC.js +40 -0
- package/dist/ChartGranularitySelectField-BxhibpgC.js.map +1 -0
- package/dist/{Color.type.emb-DWdIUAm5.js → Color.type.emb-De2K8PVb.js} +2067 -2042
- package/dist/{Color.type.emb-DWdIUAm5.js.map → Color.type.emb-De2K8PVb.js.map} +1 -1
- package/dist/ColorEditor.js +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +3 -3
- package/dist/DateRangePickerCustomPro.js +4 -4
- package/dist/DateRangeSelectFieldPro.js +3 -3
- package/dist/DonutChartPro.js +4 -4
- package/dist/DonutLabelChartPro.js +4 -4
- package/dist/{EditorCard-ZXwl5-DV.js → EditorCard-DCm6Ykb8.js} +3 -3
- package/dist/{EditorCard-ZXwl5-DV.js.map → EditorCard-DCm6Ykb8.js.map} +1 -1
- package/dist/GranularitySelectField-CYq2YuAO.js +104 -0
- package/dist/GranularitySelectField-CYq2YuAO.js.map +1 -0
- package/dist/GranularitySelectFieldPro.js +43 -137
- package/dist/GranularitySelectFieldPro.js.map +1 -1
- package/dist/HeatMapPro.js +4 -4
- package/dist/{IconCalendarFilled-Bl7kPqxG.js → IconCalendarFilled-CYiLMPm9.js} +2 -2
- package/dist/{IconCalendarFilled-Bl7kPqxG.js.map → IconCalendarFilled-CYiLMPm9.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +4 -4
- package/dist/KpiChartNumberPro.js +4 -4
- package/dist/LineChartComparisonDefaultPro.js +45 -40
- package/dist/LineChartComparisonDefaultPro.js.map +1 -1
- package/dist/LineChartDefaultPro.js +37 -29
- package/dist/LineChartDefaultPro.js.map +1 -1
- package/dist/LineChartGroupedPro.js +31 -23
- package/dist/LineChartGroupedPro.js.map +1 -1
- package/dist/MultiSelectFieldPro.js +4 -4
- package/dist/PieChartPro.js +4 -4
- package/dist/PivotTablePro.js +4 -4
- package/dist/SingleSelectFieldPro.js +4 -4
- package/dist/TableChartPaginated.js +4 -4
- package/dist/TableScrollable.js +17 -17
- package/dist/{bars.utils-DLqiVSYV.js → bars.utils-IYtKAgtt.js} +4 -4
- package/dist/{bars.utils-DLqiVSYV.js.map → bars.utils-IYtKAgtt.js.map} +1 -1
- package/dist/{charts.utils-lvlkFPJk.js → charts.utils-CeGAdGVG.js} +4 -4
- package/dist/{charts.utils-lvlkFPJk.js.map → charts.utils-CeGAdGVG.js.map} +1 -1
- package/dist/{component.inputs.constants-DO_jX-yc.js → component.inputs.constants-wDyG8tFg.js} +464 -382
- package/dist/component.inputs.constants-wDyG8tFg.js.map +1 -0
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts +2 -1
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts +2 -1
- package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts +2 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts +2 -1
- package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts +2 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/index.d.ts +2 -1
- package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts +2 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts +2 -1
- package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts +2 -1
- package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts +9 -0
- package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts.map +1 -0
- package/dist/components/charts/utils/granularity.utils.d.ts +13 -0
- package/dist/components/charts/utils/granularity.utils.d.ts.map +1 -0
- package/dist/components/component.inputs.constants.d.ts +12 -0
- package/dist/components/component.inputs.constants.d.ts.map +1 -1
- package/dist/components/component.subinputs.constants.d.ts +18 -0
- package/dist/components/component.subinputs.constants.d.ts.map +1 -1
- package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.d.ts +12 -0
- package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.d.ts.map +1 -0
- package/dist/components/editors/{GranularitySelectFieldPro/GranularitySelectFieldPro.utils.d.ts → shared/GranularitySelectField/GranularitySelectField.utils.d.ts} +3 -3
- package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.utils.d.ts.map +1 -0
- package/dist/embeddable-components.json +34 -34
- package/dist/{formatter.utils-CBCUxVH8.js → formatter.utils-DlbthOXA.js} +8 -8
- package/dist/{formatter.utils-CBCUxVH8.js.map → formatter.utils-DlbthOXA.js.map} +1 -1
- package/dist/granularity.utils-CA504xa0.js +15 -0
- package/dist/granularity.utils-CA504xa0.js.map +1 -0
- package/dist/{index-Rxsr4tZ-.js → index-AqDTPWnU.js} +5 -5
- package/dist/{index-Rxsr4tZ-.js.map → index-AqDTPWnU.js.map} +1 -1
- package/dist/index-B2N9BsUK.js +92 -0
- package/dist/index-B2N9BsUK.js.map +1 -0
- package/dist/{index-DLT2A69c.js → index-BFvsuXiz.js} +5 -5
- package/dist/{index-DLT2A69c.js.map → index-BFvsuXiz.js.map} +1 -1
- package/dist/{index-BSK_5Rq3.js → index-BaboirUQ.js} +5 -5
- package/dist/{index-BSK_5Rq3.js.map → index-BaboirUQ.js.map} +1 -1
- package/dist/index-Bd4SFepB.js +93 -0
- package/dist/index-Bd4SFepB.js.map +1 -0
- package/dist/{index-CzM9TqMe.js → index-BkcQaDp8.js} +6 -6
- package/dist/{index-CzM9TqMe.js.map → index-BkcQaDp8.js.map} +1 -1
- package/dist/index-Cf96kZIH.js +82 -0
- package/dist/index-Cf96kZIH.js.map +1 -0
- package/dist/{index-DZYPPNrI.js → index-CgVjpFNs.js} +5 -5
- package/dist/{index-DZYPPNrI.js.map → index-CgVjpFNs.js.map} +1 -1
- package/dist/{index-s4oA7Iyp.js → index-CiO0tI86.js} +8 -8
- package/dist/{index-s4oA7Iyp.js.map → index-CiO0tI86.js.map} +1 -1
- package/dist/index-CoOz-mWY.js +90 -0
- package/dist/index-CoOz-mWY.js.map +1 -0
- package/dist/{index-EOl5XOZN.js → index-CvKdGFx3.js} +6 -6
- package/dist/{index-EOl5XOZN.js.map → index-CvKdGFx3.js.map} +1 -1
- package/dist/index-D3HMg6eu.js +177 -0
- package/dist/index-D3HMg6eu.js.map +1 -0
- package/dist/index-DCA_6rWw.js +182 -0
- package/dist/index-DCA_6rWw.js.map +1 -0
- package/dist/{index-CpUKjpYd.js → index-DHiPuxQQ.js} +4 -4
- package/dist/{index-CpUKjpYd.js.map → index-DHiPuxQQ.js.map} +1 -1
- package/dist/{index-0eDJ_Ho5.js → index-DfrwKtFA.js} +5 -5
- package/dist/{index-0eDJ_Ho5.js.map → index-DfrwKtFA.js.map} +1 -1
- package/dist/{index-BRuc7lF2.js → index-DytdIFQb.js} +5 -5
- package/dist/{index-BRuc7lF2.js.map → index-DytdIFQb.js.map} +1 -1
- package/dist/index-eEE2JmCK.js +346 -0
- package/dist/index-eEE2JmCK.js.map +1 -0
- package/dist/index-fcVfPVmY.js +83 -0
- package/dist/index-fcVfPVmY.js.map +1 -0
- package/dist/{index-BRX2mrGM.js → index-gnajbHE2.js} +18 -18
- package/dist/{index-BRX2mrGM.js.map → index-gnajbHE2.js.map} +1 -1
- package/dist/{index-Cn_Rs8nk.js → index-icM1qOGP.js} +5 -5
- package/dist/{index-Cn_Rs8nk.js.map → index-icM1qOGP.js.map} +1 -1
- package/dist/index-rodtTo_t.js +91 -0
- package/dist/index-rodtTo_t.js.map +1 -0
- package/dist/index.js +70 -69
- package/dist/{pies.utils-BxCBtjpf.js → pies.utils-XolEkyOz.js} +5 -5
- package/dist/{pies.utils-BxCBtjpf.js.map → pies.utils-XolEkyOz.js.map} +1 -1
- package/dist/{preview.data.constants-CXMriS2F.js → preview.data.constants-37wUPKG8.js} +2 -2
- package/dist/{preview.data.constants-CXMriS2F.js.map → preview.data.constants-37wUPKG8.js.map} +1 -1
- package/dist/remarkable-pro.css +1 -1
- package/dist/{tables.utils-DMLGNJ4g.js → tables.utils-Bb34U0u9.js} +4 -4
- package/dist/{tables.utils-DMLGNJ4g.js.map → tables.utils-Bb34U0u9.js.map} +1 -1
- package/dist/theme/defaults/defaults.GranularityOptions.constants.d.ts +1 -0
- package/dist/theme/defaults/defaults.GranularityOptions.constants.d.ts.map +1 -1
- package/dist/{timeRange.utils-C_oRVExZ.js → timeRange.utils-DdzcsFwj.js} +5 -5
- package/dist/{timeRange.utils-C_oRVExZ.js.map → timeRange.utils-DdzcsFwj.js.map} +1 -1
- package/package.json +2 -2
- package/dist/component.inputs.constants-DO_jX-yc.js.map +0 -1
- package/dist/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.utils.d.ts.map +0 -1
- package/dist/index-ByFoIwAq.js +0 -83
- package/dist/index-ByFoIwAq.js.map +0 -1
- package/dist/index-CRWWARnB.js +0 -75
- package/dist/index-CRWWARnB.js.map +0 -1
- package/dist/index-CVIirzal.js +0 -73
- package/dist/index-CVIirzal.js.map +0 -1
- package/dist/index-Cj1Zuh74.js +0 -165
- package/dist/index-Cj1Zuh74.js.map +0 -1
- package/dist/index-D9LxkwlG.js +0 -82
- package/dist/index-D9LxkwlG.js.map +0 -1
- package/dist/index-DDeRZxp1.js +0 -334
- package/dist/index-DDeRZxp1.js.map +0 -1
- package/dist/index-DMtpdR9I.js +0 -170
- package/dist/index-DMtpdR9I.js.map +0 -1
- package/dist/index-L5_Ts7FG.js +0 -83
- package/dist/index-L5_Ts7FG.js.map +0 -1
- package/dist/index-Uhz2U4Dp.js +0 -84
- package/dist/index-Uhz2U4Dp.js.map +0 -1
package/dist/ColorEditor.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineEditor as l } from "@embeddable.com/react";
|
|
2
|
-
import { j as r, A as a, I as i,
|
|
2
|
+
import { j as r, A as a, I as i, w as p, V as u } from "./Color.type.emb-De2K8PVb.js";
|
|
3
3
|
import { useState as m, useEffect as C } from "react";
|
|
4
4
|
const I = "_colorInputContainer_1o1qe_1", d = "_colorInput_1o1qe_1", s = {
|
|
5
5
|
colorInputContainer: I,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { definePreview as n, defineComponent as t } from "@embeddable.com/react";
|
|
2
|
-
import { V as r } from "./Color.type.emb-
|
|
3
|
-
import { D as i } from "./index-
|
|
4
|
-
import { b as e, C as a } from "./component.inputs.constants-
|
|
2
|
+
import { V as r } from "./Color.type.emb-De2K8PVb.js";
|
|
3
|
+
import { D as i } from "./index-DHiPuxQQ.js";
|
|
4
|
+
import { b as e, C as a } from "./component.inputs.constants-wDyG8tFg.js";
|
|
5
5
|
const l = {
|
|
6
6
|
name: "ComparisonPeriodSelectFieldPro",
|
|
7
7
|
label: "Comparison Period Select Field",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useTheme as C, definePreview as P, defineComponent as y } from "@embeddable.com/react";
|
|
2
|
-
import { j as l, k as D, V as s } from "./Color.type.emb-
|
|
2
|
+
import { j as l, k as D, V as s } from "./Color.type.emb-De2K8PVb.js";
|
|
3
3
|
import { u as w, g as V, a as k, b as S } from "./dates.utils-BF32dTLi.js";
|
|
4
|
-
import { a as j, r as F, i as M, b as a } from "./component.inputs.constants-
|
|
5
|
-
import { E as T } from "./EditorCard-
|
|
6
|
-
import { I as x } from "./IconCalendarFilled-
|
|
4
|
+
import { a as j, r as F, i as M, b as a } from "./component.inputs.constants-wDyG8tFg.js";
|
|
5
|
+
import { E as T } from "./EditorCard-DCm6Ykb8.js";
|
|
6
|
+
import { I as x } from "./IconCalendarFilled-CYiLMPm9.js";
|
|
7
7
|
const r = (e) => {
|
|
8
8
|
const t = C();
|
|
9
9
|
j(t);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { definePreview as o, defineComponent as l } from "@embeddable.com/react";
|
|
2
|
-
import { V as t } from "./Color.type.emb-
|
|
3
|
-
import { D as n } from "./index-
|
|
4
|
-
import { b as e } from "./component.inputs.constants-
|
|
2
|
+
import { V as t } from "./Color.type.emb-De2K8PVb.js";
|
|
3
|
+
import { D as n } from "./index-gnajbHE2.js";
|
|
4
|
+
import { b as e } from "./component.inputs.constants-wDyG8tFg.js";
|
|
5
5
|
const r = {
|
|
6
6
|
name: "DateRangeSelectFieldPro",
|
|
7
7
|
label: "Date-Range Picker - Presets",
|
package/dist/DonutChartPro.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { V as n, l as a } from "./Color.type.emb-
|
|
1
|
+
import { V as n, l as a } from "./Color.type.emb-De2K8PVb.js";
|
|
2
2
|
import { definePreview as r, defineComponent as i } from "@embeddable.com/react";
|
|
3
|
-
import { D as o } from "./index-
|
|
4
|
-
import { b as e } from "./component.inputs.constants-
|
|
5
|
-
import { p as t } from "./preview.data.constants-
|
|
3
|
+
import { D as o } from "./index-CgVjpFNs.js";
|
|
4
|
+
import { b as e } from "./component.inputs.constants-wDyG8tFg.js";
|
|
5
|
+
import { p as t } from "./preview.data.constants-37wUPKG8.js";
|
|
6
6
|
const m = {
|
|
7
7
|
name: "DonutChartPro",
|
|
8
8
|
label: "Donut Chart",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { D as s } from "./index-
|
|
2
|
-
import { V as t, l as r } from "./Color.type.emb-
|
|
1
|
+
import { D as s } from "./index-CvKdGFx3.js";
|
|
2
|
+
import { V as t, l as r } from "./Color.type.emb-De2K8PVb.js";
|
|
3
3
|
import { definePreview as o, defineComponent as i } from "@embeddable.com/react";
|
|
4
|
-
import { b as e } from "./component.inputs.constants-
|
|
5
|
-
import { p as n } from "./preview.data.constants-
|
|
4
|
+
import { b as e } from "./component.inputs.constants-wDyG8tFg.js";
|
|
5
|
+
import { p as n } from "./preview.data.constants-37wUPKG8.js";
|
|
6
6
|
const l = {
|
|
7
7
|
name: "DonutLabelChartPro",
|
|
8
8
|
label: "Donut Label Chart",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { j as r,
|
|
1
|
+
import { j as r, r as c, s as d, t as m, v as l } from "./Color.type.emb-De2K8PVb.js";
|
|
2
2
|
import { useTheme as p } from "@embeddable.com/react";
|
|
3
|
-
import { a as x, i as C, I as j } from "./component.inputs.constants-
|
|
3
|
+
import { a as x, i as C, I as j } from "./component.inputs.constants-wDyG8tFg.js";
|
|
4
4
|
const u = "_card_15bw3_1", f = {
|
|
5
5
|
card: u
|
|
6
6
|
}, b = ({
|
|
@@ -29,4 +29,4 @@ const u = "_card_15bw3_1", f = {
|
|
|
29
29
|
export {
|
|
30
30
|
b as E
|
|
31
31
|
};
|
|
32
|
-
//# sourceMappingURL=EditorCard-
|
|
32
|
+
//# sourceMappingURL=EditorCard-DCm6Ykb8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorCard-
|
|
1
|
+
{"version":3,"file":"EditorCard-DCm6Ykb8.js","sources":["../src/components/editors/shared/EditorCard/EditorCard.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport styles from './EditorCard.module.css';\nimport { FC } from 'react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { Card, CardContent, CardFeedback, CardHeader } from '@embeddable.com/remarkable-ui';\nimport { IconAlertCircle } from '@tabler/icons-react';\n\ntype EditorCardProps = {\n title?: string;\n subtitle?: string;\n children: React.ReactNode;\n errorMessage?: string;\n};\n\nexport const EditorCard: FC<EditorCardProps> = ({\n title,\n subtitle,\n children,\n errorMessage,\n ...props\n}) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const getDisplay = () => {\n if (errorMessage) {\n return (\n <CardFeedback\n variant=\"error\"\n icon={IconAlertCircle}\n title={i18n.t('editors.errorTitle')}\n message={errorMessage}\n />\n );\n }\n\n return children;\n };\n\n return (\n <Card className={styles.card} {...props}>\n <CardHeader title={title} subtitle={subtitle} />\n <CardContent>{getDisplay()}</CardContent>\n </Card>\n );\n};\n"],"names":["EditorCard","title","subtitle","children","errorMessage","props","theme","useTheme","i18nSetup","getDisplay","jsx","CardFeedback","IconAlertCircle","i18n","Card","styles","CardHeader","CardContent"],"mappings":";;;;;GAeaA,IAAkC,CAAC;AAAA,EAC9C,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAMG,IAAa,MACbL,IAEAM,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAMC;AAAA,MACN,OAAOC,EAAK,EAAE,oBAAoB;AAAA,MAClC,SAAST;AAAA,IAAA;AAAA,EAAA,IAKRD;AAGT,gCACGW,GAAA,EAAK,WAAWC,EAAO,MAAO,GAAGV,GAChC,UAAA;AAAA,IAAAK,gBAAAA,EAAAA,IAACM,GAAA,EAAW,OAAAf,GAAc,UAAAC,EAAA,CAAoB;AAAA,IAC9CQ,gBAAAA,EAAAA,IAACO,GAAA,EAAa,UAAAR,EAAA,EAAW,CAAE;AAAA,EAAA,GAC7B;AAEJ;"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { j as E, S as F } from "./Color.type.emb-De2K8PVb.js";
|
|
2
|
+
import { useMemo as g, useEffect as C } from "react";
|
|
3
|
+
import { useTheme as G } from "@embeddable.com/react";
|
|
4
|
+
import { f as N, e as d, a as w } from "./component.inputs.constants-wDyG8tFg.js";
|
|
5
|
+
const D = 1, v = 100, x = () => N.map((e) => ({
|
|
6
|
+
...e,
|
|
7
|
+
label: d(e.label)
|
|
8
|
+
})), m = (e) => {
|
|
9
|
+
if (e instanceof Date) return Number.isNaN(e.getTime()) ? null : e;
|
|
10
|
+
if (typeof e == "string" || typeof e == "number") {
|
|
11
|
+
const t = new Date(e);
|
|
12
|
+
return Number.isNaN(t.getTime()) ? null : t;
|
|
13
|
+
}
|
|
14
|
+
return null;
|
|
15
|
+
}, u = (e) => new Date(e.getTime() + 1), s = (e, t, r) => (t.getTime() - e.getTime()) / r;
|
|
16
|
+
function U(e, t, r) {
|
|
17
|
+
if (e > t) return 0;
|
|
18
|
+
switch (r) {
|
|
19
|
+
case "second":
|
|
20
|
+
return s(e, u(t), 1e3);
|
|
21
|
+
case "minute":
|
|
22
|
+
return s(e, u(t), 60 * 1e3);
|
|
23
|
+
case "hour":
|
|
24
|
+
return s(e, u(t), 3600 * 1e3);
|
|
25
|
+
case "day":
|
|
26
|
+
return s(e, u(t), 1440 * 60 * 1e3);
|
|
27
|
+
case "week":
|
|
28
|
+
return s(e, u(t), 10080 * 60 * 1e3);
|
|
29
|
+
case "month":
|
|
30
|
+
return s(e, u(t), 672 * 60 * 60 * 1e3);
|
|
31
|
+
// shortest month
|
|
32
|
+
case "quarter":
|
|
33
|
+
return s(e, u(t), 2160 * 60 * 60 * 1e3);
|
|
34
|
+
// shortest quarter
|
|
35
|
+
case "year":
|
|
36
|
+
return s(e, u(t), 365 * 24 * 60 * 60 * 1e3);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const k = (e, t, r) => {
|
|
40
|
+
const o = U(e, t, r);
|
|
41
|
+
return o >= D && o <= v;
|
|
42
|
+
}, A = (e, t) => {
|
|
43
|
+
if (!e) return t;
|
|
44
|
+
const r = m(e == null ? void 0 : e.from), o = m(e == null ? void 0 : e.to);
|
|
45
|
+
if (!r || !o) return t;
|
|
46
|
+
const a = /* @__PURE__ */ new Set();
|
|
47
|
+
for (const c of t) {
|
|
48
|
+
const i = c.value;
|
|
49
|
+
k(r, o, i) && a.add(i);
|
|
50
|
+
}
|
|
51
|
+
return t.filter((c) => a.has(c.value));
|
|
52
|
+
}, S = (e, t) => {
|
|
53
|
+
var o;
|
|
54
|
+
if (!t)
|
|
55
|
+
return;
|
|
56
|
+
if (e.some((a) => a.value === t))
|
|
57
|
+
return t;
|
|
58
|
+
const r = e.length > 2 ? 1 : 0;
|
|
59
|
+
return (o = e[r]) == null ? void 0 : o.value;
|
|
60
|
+
}, K = (e) => {
|
|
61
|
+
const t = G();
|
|
62
|
+
w(t);
|
|
63
|
+
const {
|
|
64
|
+
granularity: r,
|
|
65
|
+
granularities: o,
|
|
66
|
+
clearable: a,
|
|
67
|
+
placeholder: c,
|
|
68
|
+
primaryTimeRange: i,
|
|
69
|
+
variant: p,
|
|
70
|
+
side: T,
|
|
71
|
+
align: y,
|
|
72
|
+
onChange: f
|
|
73
|
+
} = e, h = x(), l = g(() => A(
|
|
74
|
+
i,
|
|
75
|
+
h.filter(
|
|
76
|
+
(n) => o == null ? void 0 : o.includes(n.value)
|
|
77
|
+
)
|
|
78
|
+
), [i, o]);
|
|
79
|
+
C(() => {
|
|
80
|
+
if (r && !l.some((n) => n.value === r)) {
|
|
81
|
+
const n = S(l, r);
|
|
82
|
+
n && f(n);
|
|
83
|
+
}
|
|
84
|
+
}, [l, r, f]);
|
|
85
|
+
const b = S(l, r);
|
|
86
|
+
return /* @__PURE__ */ E.jsx(
|
|
87
|
+
F,
|
|
88
|
+
{
|
|
89
|
+
variant: p,
|
|
90
|
+
clearable: a,
|
|
91
|
+
placeholder: c,
|
|
92
|
+
value: b,
|
|
93
|
+
options: l,
|
|
94
|
+
onChange: (n) => f(n),
|
|
95
|
+
avoidCollisions: !1,
|
|
96
|
+
side: T,
|
|
97
|
+
align: y
|
|
98
|
+
}
|
|
99
|
+
);
|
|
100
|
+
};
|
|
101
|
+
export {
|
|
102
|
+
K as G
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=GranularitySelectField-CYq2YuAO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GranularitySelectField-CYq2YuAO.js","sources":["../src/components/editors/shared/GranularitySelectField/GranularitySelectField.utils.ts","../src/components/editors/shared/GranularitySelectField/GranularitySelectField.tsx"],"sourcesContent":["import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { Granularity, TimeRange } from '@embeddable.com/core';\nimport {\n defaultGranularitySelectFieldOptions,\n TGranularityValue,\n} from '../../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { resolveI18nString } from '../../../component.utils';\n\nconst DEFAULT_MIN_BUCKETS = 1;\nconst DEFAULT_MAX_BUCKETS = 100;\n\nexport const getGranularitySelectFieldOptions = (): SelectListOptionProps[] => {\n return defaultGranularitySelectFieldOptions.map((opt) => ({\n ...opt,\n label: resolveI18nString(opt.label),\n }));\n};\n\n// Convert possibly-string timestamps to Date safely.\nconst toDate = (d: unknown): Date | null => {\n if (d instanceof Date) return Number.isNaN(d.getTime()) ? null : d;\n if (typeof d === 'string' || typeof d === 'number') {\n const parsed = new Date(d);\n return Number.isNaN(parsed.getTime()) ? null : parsed;\n }\n return null;\n};\n\n// Inclusive end -> Exclusive end helper (only used for sub-day diffs)\nconst toExclusiveEnd = (endInclusive: Date): Date => new Date(endInclusive.getTime() + 1);\n\nconst bucketCountByUnit = (start: Date, endExclusive: Date, unitMs: number): number => {\n return (endExclusive.getTime() - start.getTime()) / unitMs;\n};\n\n// Bucket counting (treat end as INCLUSIVE)\nfunction bucketCount(start: Date, endInclusive: Date, granularity: Granularity): number {\n if (start > endInclusive) return 0;\n\n switch (granularity) {\n case 'second':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 1000);\n\n case 'minute':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 60 * 1000);\n\n case 'hour':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 60 * 60 * 1000);\n\n case 'day':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 24 * 60 * 60 * 1000);\n\n case 'week':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 7 * 24 * 60 * 60 * 1000);\n\n case 'month':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 28 * 24 * 60 * 60 * 1000); // shortest month\n\n case 'quarter':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 90 * 24 * 60 * 60 * 1000); // shortest quarter\n\n case 'year':\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 365 * 24 * 60 * 60 * 1000); // shortest year\n }\n}\n\nconst isGranularityValid = (\n start: Date,\n endInclusive: Date,\n granularity: TGranularityValue,\n): boolean => {\n const buckets = bucketCount(start, endInclusive, granularity);\n return buckets >= DEFAULT_MIN_BUCKETS && buckets <= DEFAULT_MAX_BUCKETS;\n};\n\nexport const getAvailableGranularityOptionsFromTimeRange = (\n timeRange: TimeRange,\n allOptions: SelectListOptionProps[],\n): SelectListOptionProps[] => {\n if (!timeRange) return allOptions;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const from = toDate((timeRange as any)?.from);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const to = toDate((timeRange as any)?.to);\n\n // If we can’t parse range, don’t hide anything (fail open)\n if (!from || !to) return allOptions;\n\n const validSet = new Set<TGranularityValue>();\n\n for (const opt of allOptions) {\n const g = opt.value as TGranularityValue;\n if (isGranularityValid(from, to, g)) {\n validSet.add(g);\n }\n }\n\n // preserve original UI ordering\n return allOptions.filter((opt) => validSet.has(opt.value as TGranularityValue));\n};\n\nexport const getSafeSelection = (\n availableOptions: SelectListOptionProps[],\n granularity?: Granularity,\n): Granularity | undefined => {\n if (!granularity) {\n return undefined;\n }\n\n if (availableOptions.some((opt) => opt.value === granularity)) {\n return granularity;\n }\n\n const optionToSelect = availableOptions.length > 2 ? 1 : 0;\n\n return availableOptions[optionToSelect]?.value as Granularity;\n};\n","import { useEffect, useMemo } from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField, SingleSelectFieldProps } from '@embeddable.com/remarkable-ui';\nimport { Granularity, TimeRange } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport {\n getAvailableGranularityOptionsFromTimeRange,\n getGranularitySelectFieldOptions,\n getSafeSelection,\n} from './GranularitySelectField.utils';\nimport { TGranularityValue } from '../../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { ChartCardHeaderProps } from '../../../charts/shared/ChartCard/ChartCard';\n\nexport type GranularitySelectFieldProps = {\n onChange: (newGranularity: Granularity) => void;\n primaryTimeRange?: TimeRange;\n granularity?: TGranularityValue;\n granularities?: TGranularityValue[];\n} & ChartCardHeaderProps &\n Pick<SingleSelectFieldProps, 'variant' | 'side' | 'align' | 'clearable' | 'placeholder'>;\n\nexport const GranularitySelectField = (props: GranularitySelectFieldProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n granularity,\n granularities,\n clearable,\n placeholder,\n primaryTimeRange,\n variant,\n side,\n align,\n onChange,\n } = props;\n\n const granularitySelectFieldOptions = getGranularitySelectFieldOptions();\n\n const availableOptions = useMemo(() => {\n return getAvailableGranularityOptionsFromTimeRange(\n primaryTimeRange,\n granularitySelectFieldOptions.filter((opt) =>\n granularities?.includes(opt.value as TGranularityValue),\n ),\n );\n }, [primaryTimeRange, granularities]);\n\n useEffect(() => {\n if (granularity) {\n // Selected granularity is not available\n // Select 1st available option when number of options is =< 2\n // Select 2nd option to avoid when number of options > 2\n if (!availableOptions.some((opt) => opt.value === granularity)) {\n const newGranularity = getSafeSelection(availableOptions, granularity);\n if (newGranularity) {\n onChange(newGranularity as Granularity);\n }\n }\n }\n }, [availableOptions, granularity, onChange]);\n\n const safeValue = getSafeSelection(availableOptions, granularity);\n\n return (\n <SingleSelectField\n variant={variant}\n clearable={clearable}\n placeholder={placeholder}\n value={safeValue}\n options={availableOptions}\n onChange={(newValue) => onChange(newValue as Granularity)}\n avoidCollisions={false}\n side={side}\n align={align}\n />\n );\n};\n"],"names":["DEFAULT_MIN_BUCKETS","DEFAULT_MAX_BUCKETS","getGranularitySelectFieldOptions","defaultGranularitySelectFieldOptions","opt","resolveI18nString","toDate","d","parsed","toExclusiveEnd","endInclusive","bucketCountByUnit","start","endExclusive","unitMs","bucketCount","granularity","isGranularityValid","buckets","getAvailableGranularityOptionsFromTimeRange","timeRange","allOptions","from","to","validSet","g","getSafeSelection","availableOptions","optionToSelect","_a","GranularitySelectField","props","theme","useTheme","i18nSetup","granularities","clearable","placeholder","primaryTimeRange","variant","side","align","onChange","granularitySelectFieldOptions","useMemo","useEffect","newGranularity","safeValue","jsx","SingleSelectField","newValue"],"mappings":"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"}
|
|
@@ -1,145 +1,51 @@
|
|
|
1
|
-
import { useTheme as
|
|
2
|
-
import { j as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
month: "month",
|
|
13
|
-
quarter: "quarter",
|
|
14
|
-
year: "year"
|
|
15
|
-
}, x = [
|
|
16
|
-
{ value: a.second, label: "defaults.granularityOptions.second|Second" },
|
|
17
|
-
{ value: a.minute, label: "defaults.granularityOptions.minute|Minute" },
|
|
18
|
-
{ value: a.hour, label: "defaults.granularityOptions.hour|Hour" },
|
|
19
|
-
{ value: a.day, label: "defaults.granularityOptions.day|Day" },
|
|
20
|
-
{ value: a.week, label: "defaults.granularityOptions.week|Week" },
|
|
21
|
-
{ value: a.month, label: "defaults.granularityOptions.month|Month" },
|
|
22
|
-
{ value: a.quarter, label: "defaults.granularityOptions.quarter|Quarter" },
|
|
23
|
-
{ value: a.year, label: "defaults.granularityOptions.year|Year" }
|
|
24
|
-
], A = 1, M = 100, N = () => x.map((e) => ({
|
|
25
|
-
...e,
|
|
26
|
-
label: G(e.label)
|
|
27
|
-
})), p = (e) => {
|
|
28
|
-
if (e instanceof Date) return isNaN(e.getTime()) ? null : e;
|
|
29
|
-
if (typeof e == "string" || typeof e == "number") {
|
|
30
|
-
const r = new Date(e);
|
|
31
|
-
return isNaN(r.getTime()) ? null : r;
|
|
32
|
-
}
|
|
33
|
-
return null;
|
|
34
|
-
}, l = (e) => new Date(e.getTime() + 1), o = (e, r, t) => (r.getTime() - e.getTime()) / t;
|
|
35
|
-
function U(e, r, t) {
|
|
36
|
-
if (e > r) return 0;
|
|
37
|
-
switch (t) {
|
|
38
|
-
case a.second:
|
|
39
|
-
return o(e, l(r), 1e3);
|
|
40
|
-
case a.minute:
|
|
41
|
-
return o(e, l(r), 60 * 1e3);
|
|
42
|
-
case a.hour:
|
|
43
|
-
return o(e, l(r), 3600 * 1e3);
|
|
44
|
-
case a.day:
|
|
45
|
-
return o(e, l(r), 1440 * 60 * 1e3);
|
|
46
|
-
case a.week:
|
|
47
|
-
return o(e, l(r), 10080 * 60 * 1e3);
|
|
48
|
-
case a.month:
|
|
49
|
-
return o(e, l(r), 672 * 60 * 60 * 1e3);
|
|
50
|
-
// shortest month
|
|
51
|
-
case a.quarter:
|
|
52
|
-
return o(e, l(r), 2160 * 60 * 60 * 1e3);
|
|
53
|
-
// shortest quarter
|
|
54
|
-
case a.year:
|
|
55
|
-
return o(e, l(r), 365 * 24 * 60 * 60 * 1e3);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
const _ = (e, r, t) => {
|
|
59
|
-
const n = U(e, r, t);
|
|
60
|
-
return n >= A && n <= M;
|
|
61
|
-
}, j = (e, r) => {
|
|
62
|
-
if (!e) return r;
|
|
63
|
-
const t = p(e == null ? void 0 : e.from), n = p(e == null ? void 0 : e.to);
|
|
64
|
-
if (!t || !n) return r;
|
|
65
|
-
const s = /* @__PURE__ */ new Set();
|
|
66
|
-
for (const u of r) {
|
|
67
|
-
const d = u.value;
|
|
68
|
-
_(t, n, d) && s.add(d);
|
|
69
|
-
}
|
|
70
|
-
return r.filter((u) => s.has(u.value));
|
|
71
|
-
}, g = (e, r) => {
|
|
72
|
-
var n;
|
|
73
|
-
if (!r)
|
|
74
|
-
return;
|
|
75
|
-
if (e.some((s) => s.value === r))
|
|
76
|
-
return r;
|
|
77
|
-
const t = e.length > 2 ? 1 : 0;
|
|
78
|
-
return (n = e[t]) == null ? void 0 : n.value;
|
|
79
|
-
}, b = (e) => {
|
|
80
|
-
const r = T();
|
|
81
|
-
P(r);
|
|
82
|
-
const { granularity: t, granularities: n, clearable: s, onChange: u } = e, { description: d, placeholder: h, title: v, primaryTimeRange: f } = D(e), S = N(), y = O(() => j(
|
|
83
|
-
f,
|
|
84
|
-
S.filter(
|
|
85
|
-
(c) => n == null ? void 0 : n.includes(c.value)
|
|
86
|
-
)
|
|
87
|
-
), [f, n]);
|
|
88
|
-
V(() => {
|
|
89
|
-
if (t && !y.some((c) => c.value === t)) {
|
|
90
|
-
const c = g(y, t);
|
|
91
|
-
c && u(c);
|
|
92
|
-
}
|
|
93
|
-
}, [y, t, u]);
|
|
94
|
-
const w = g(y, t);
|
|
95
|
-
return /* @__PURE__ */ m.jsx(q, { title: v, subtitle: d, children: /* @__PURE__ */ m.jsx(
|
|
96
|
-
k,
|
|
1
|
+
import { useTheme as p, definePreview as y, defineComponent as b } from "@embeddable.com/react";
|
|
2
|
+
import { j as t, V as f } from "./Color.type.emb-De2K8PVb.js";
|
|
3
|
+
import { a as v, r as h, G as e, b as a } from "./component.inputs.constants-wDyG8tFg.js";
|
|
4
|
+
import { E as S } from "./EditorCard-DCm6Ykb8.js";
|
|
5
|
+
import { G as P } from "./GranularitySelectField-CYq2YuAO.js";
|
|
6
|
+
const l = (r) => {
|
|
7
|
+
const n = p();
|
|
8
|
+
v(n);
|
|
9
|
+
const { granularity: i, granularities: o, clearable: u, primaryTimeRange: s, onChange: d } = r, { description: c, placeholder: g, title: m } = h(r);
|
|
10
|
+
return /* @__PURE__ */ t.jsx(S, { title: m, subtitle: c, children: /* @__PURE__ */ t.jsx(
|
|
11
|
+
P,
|
|
97
12
|
{
|
|
98
|
-
clearable:
|
|
99
|
-
placeholder:
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
13
|
+
clearable: u,
|
|
14
|
+
placeholder: g,
|
|
15
|
+
granularity: i,
|
|
16
|
+
granularities: o,
|
|
17
|
+
primaryTimeRange: s,
|
|
18
|
+
onChange: d
|
|
104
19
|
}
|
|
105
20
|
) });
|
|
106
|
-
},
|
|
21
|
+
}, C = {
|
|
107
22
|
name: "GranularitySelectFieldPro",
|
|
108
23
|
label: "Granularity Select Field",
|
|
109
24
|
category: "Dropdowns",
|
|
110
25
|
defaultWidth: 300,
|
|
111
26
|
defaultHeight: 120,
|
|
112
27
|
inputs: [
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
{ ...
|
|
28
|
+
a.title,
|
|
29
|
+
a.description,
|
|
30
|
+
{ ...a.placeholder, defaultValue: "Select a granularity" },
|
|
116
31
|
{
|
|
117
|
-
...
|
|
32
|
+
...a.granularities,
|
|
118
33
|
label: "Available granularities",
|
|
119
|
-
category: "Pre-configured variables"
|
|
120
|
-
// Ignore seconds and minutes
|
|
121
|
-
defaultValue: [
|
|
122
|
-
a.hour,
|
|
123
|
-
a.day,
|
|
124
|
-
a.week,
|
|
125
|
-
a.month,
|
|
126
|
-
a.quarter,
|
|
127
|
-
a.year
|
|
128
|
-
]
|
|
34
|
+
category: "Pre-configured variables"
|
|
129
35
|
},
|
|
130
36
|
{
|
|
131
|
-
...
|
|
37
|
+
...a.granularity,
|
|
132
38
|
label: "Selected granularity",
|
|
133
39
|
category: "Pre-configured variables"
|
|
134
40
|
},
|
|
135
41
|
{
|
|
136
|
-
...
|
|
42
|
+
...a.timeRange,
|
|
137
43
|
name: "primaryTimeRange",
|
|
138
44
|
label: "Primary date-range",
|
|
139
45
|
description: "Connect your primary date-range variable to enable automatic selection of the most appropriate granularity",
|
|
140
46
|
category: "Pre-configured variables"
|
|
141
47
|
},
|
|
142
|
-
{ ...
|
|
48
|
+
{ ...a.clearable, defaultValue: !1 }
|
|
143
49
|
],
|
|
144
50
|
events: [
|
|
145
51
|
{
|
|
@@ -163,31 +69,31 @@ const _ = (e, r, t) => {
|
|
|
163
69
|
events: [{ name: "onChange", property: "value" }]
|
|
164
70
|
}
|
|
165
71
|
]
|
|
166
|
-
},
|
|
72
|
+
}, w = y(l, {
|
|
167
73
|
granularities: [
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
74
|
+
e.second,
|
|
75
|
+
e.minute,
|
|
76
|
+
e.hour,
|
|
77
|
+
e.day,
|
|
78
|
+
e.week,
|
|
79
|
+
e.month,
|
|
80
|
+
e.quarter,
|
|
81
|
+
e.year
|
|
176
82
|
],
|
|
177
83
|
onChange: () => null
|
|
178
|
-
}),
|
|
179
|
-
props: (
|
|
180
|
-
...
|
|
84
|
+
}), R = b(l, C, {
|
|
85
|
+
props: (r) => ({
|
|
86
|
+
...r
|
|
181
87
|
}),
|
|
182
88
|
events: {
|
|
183
|
-
onChange: (
|
|
184
|
-
value:
|
|
89
|
+
onChange: (r) => ({
|
|
90
|
+
value: r ?? f.noFilter()
|
|
185
91
|
})
|
|
186
92
|
}
|
|
187
93
|
});
|
|
188
94
|
export {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
95
|
+
R as default,
|
|
96
|
+
C as meta,
|
|
97
|
+
w as preview
|
|
192
98
|
};
|
|
193
99
|
//# sourceMappingURL=GranularitySelectFieldPro.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GranularitySelectFieldPro.js","sources":["../src/theme/defaults/defaults.GranularityOptions.constants.ts","../src/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.utils.ts","../src/components/editors/GranularitySelectFieldPro/index.tsx","../src/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.emb.ts"],"sourcesContent":["import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\n\nexport const Granularity = {\n second: 'second',\n minute: 'minute',\n hour: 'hour',\n day: 'day',\n week: 'week',\n month: 'month',\n quarter: 'quarter',\n year: 'year',\n} as const;\n\nexport type TGranularity = keyof typeof Granularity;\nexport type TGranularityValue = (typeof Granularity)[TGranularity];\n\nexport const defaultGranularitySelectFieldOptions: SelectListOptionProps[] = [\n { value: Granularity.second, label: 'defaults.granularityOptions.second|Second' },\n { value: Granularity.minute, label: 'defaults.granularityOptions.minute|Minute' },\n { value: Granularity.hour, label: 'defaults.granularityOptions.hour|Hour' },\n { value: Granularity.day, label: 'defaults.granularityOptions.day|Day' },\n { value: Granularity.week, label: 'defaults.granularityOptions.week|Week' },\n { value: Granularity.month, label: 'defaults.granularityOptions.month|Month' },\n { value: Granularity.quarter, label: 'defaults.granularityOptions.quarter|Quarter' },\n { value: Granularity.year, label: 'defaults.granularityOptions.year|Year' },\n];\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport {\n defaultGranularitySelectFieldOptions,\n Granularity,\n TGranularity,\n TGranularityValue,\n} from '../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { resolveI18nString } from '../../component.utils';\n\nconst DEFAULT_MIN_BUCKETS = 1;\nconst DEFAULT_MAX_BUCKETS = 100;\n\nexport const getGranularitySelectFieldOptions = (): SelectListOptionProps[] => {\n return defaultGranularitySelectFieldOptions.map((opt) => ({\n ...opt,\n label: resolveI18nString(opt.label),\n }));\n};\n\n// Convert possibly-string timestamps to Date safely.\nconst toDate = (d: unknown): Date | null => {\n if (d instanceof Date) return isNaN(d.getTime()) ? null : d;\n if (typeof d === 'string' || typeof d === 'number') {\n const parsed = new Date(d);\n return isNaN(parsed.getTime()) ? null : parsed;\n }\n return null;\n};\n\n// Inclusive end -> Exclusive end helper (only used for sub-day diffs)\nconst toExclusiveEnd = (endInclusive: Date): Date => new Date(endInclusive.getTime() + 1);\n\nconst bucketCountByUnit = (start: Date, endExclusive: Date, unitMs: number): number => {\n return (endExclusive.getTime() - start.getTime()) / unitMs;\n};\n\n// Bucket counting (treat end as INCLUSIVE)\nfunction bucketCount(start: Date, endInclusive: Date, granularity: TGranularity): number {\n if (start > endInclusive) return 0;\n\n switch (granularity) {\n case Granularity.second:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 1000);\n\n case Granularity.minute:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 60 * 1000);\n\n case Granularity.hour:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 60 * 60 * 1000);\n\n case Granularity.day:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 24 * 60 * 60 * 1000);\n\n case Granularity.week:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 7 * 24 * 60 * 60 * 1000);\n\n case Granularity.month:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 28 * 24 * 60 * 60 * 1000); // shortest month\n\n case Granularity.quarter:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 90 * 24 * 60 * 60 * 1000); // shortest quarter\n\n case Granularity.year:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 365 * 24 * 60 * 60 * 1000); // shortest year\n }\n}\n\nconst isGranularityValid = (\n start: Date,\n endInclusive: Date,\n granularity: TGranularityValue,\n): boolean => {\n const buckets = bucketCount(start, endInclusive, granularity);\n return buckets >= DEFAULT_MIN_BUCKETS && buckets <= DEFAULT_MAX_BUCKETS;\n};\n\nexport const getAvailableGranularityOptionsFromTimeRange = (\n timeRange: TimeRange,\n allOptions: SelectListOptionProps[],\n): SelectListOptionProps[] => {\n if (!timeRange) return allOptions;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const from = toDate((timeRange as any)?.from);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const to = toDate((timeRange as any)?.to);\n\n // If we can’t parse range, don’t hide anything (fail open)\n if (!from || !to) return allOptions;\n\n const validSet = new Set<TGranularityValue>();\n\n for (const opt of allOptions) {\n const g = opt.value as TGranularityValue;\n if (isGranularityValid(from, to, g)) {\n validSet.add(g);\n }\n }\n\n // preserve original UI ordering\n return allOptions.filter((opt) => validSet.has(opt.value as TGranularityValue));\n};\n\nexport const getSafeSelection = (\n availableOptions: SelectListOptionProps[],\n granularity?: string,\n): string | undefined => {\n if (!granularity) {\n return undefined;\n }\n\n if (availableOptions.some((opt) => opt.value === granularity)) {\n return granularity;\n }\n\n const optionToSelect = availableOptions.length > 2 ? 1 : 0;\n\n return availableOptions[optionToSelect]?.value as string;\n};\n","import { useEffect, useMemo } from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport {\n getAvailableGranularityOptionsFromTimeRange,\n getGranularitySelectFieldOptions,\n getSafeSelection,\n} from './GranularitySelectFieldPro.utils';\nimport { TGranularityValue } from '../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\n\ntype GranularitySelectFieldProProps = {\n onChange: (newGranularity: string) => void;\n placeholder?: string;\n primaryTimeRange?: TimeRange;\n granularity?: TGranularityValue;\n granularities?: TGranularityValue[];\n clearable?: boolean;\n} & ChartCardHeaderProps;\n\nconst GranularitySelectFieldPro = (props: GranularitySelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { granularity, granularities, clearable, onChange } = props;\n const { description, placeholder, title, primaryTimeRange } = resolveI18nProps(props);\n\n const granularitySelectFieldOptions = getGranularitySelectFieldOptions();\n\n const availableOptions = useMemo(() => {\n return getAvailableGranularityOptionsFromTimeRange(\n primaryTimeRange,\n granularitySelectFieldOptions.filter((opt) =>\n granularities?.includes(opt.value as TGranularityValue),\n ),\n );\n }, [primaryTimeRange, granularities]);\n\n useEffect(() => {\n if (granularity) {\n // Selected granularity is not available\n // Select 1st available option when number of options is =< 2\n // Select 2nd option to avoid when number of options > 2\n if (!availableOptions.some((opt) => opt.value === granularity)) {\n const newGranularity = getSafeSelection(availableOptions, granularity);\n if (newGranularity) {\n onChange(newGranularity);\n }\n }\n }\n }, [availableOptions, granularity, onChange]);\n\n const safeValue = getSafeSelection(availableOptions, granularity);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n clearable={clearable}\n placeholder={placeholder}\n value={safeValue}\n options={availableOptions}\n onChange={onChange}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default GranularitySelectFieldPro;\n","import {\n defineComponent,\n definePreview,\n EmbeddedComponentMeta,\n Inputs,\n} from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport { inputs } from '../../component.inputs.constants';\nimport { Granularity } from '../../../theme/defaults/defaults.GranularityOptions.constants';\nimport GranularitySelectFieldPro from './index';\n\nexport const meta = {\n name: 'GranularitySelectFieldPro',\n label: 'Granularity Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n { ...inputs.placeholder, defaultValue: 'Select a granularity' },\n {\n ...inputs.granularities,\n label: 'Available granularities',\n category: 'Pre-configured variables',\n // Ignore seconds and minutes\n defaultValue: [\n Granularity.hour,\n Granularity.day,\n Granularity.week,\n Granularity.month,\n Granularity.quarter,\n Granularity.year,\n ],\n },\n {\n ...inputs.granularity,\n label: 'Selected granularity',\n category: 'Pre-configured variables',\n },\n {\n ...inputs.timeRange,\n name: 'primaryTimeRange',\n label: 'Primary date-range',\n description:\n 'Connect your primary date-range variable to enable automatic selection of the most appropriate granularity',\n category: 'Pre-configured variables',\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected granularity updated',\n properties: [\n {\n name: 'value',\n label: 'Selected granularity',\n type: 'granularity',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'granularity value',\n type: 'granularity',\n defaultValue: 'day',\n inputs: ['granularity'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport const preview = definePreview(GranularitySelectFieldPro, {\n granularities: [\n Granularity.second,\n Granularity.minute,\n Granularity.hour,\n Granularity.day,\n Granularity.week,\n Granularity.month,\n Granularity.quarter,\n Granularity.year,\n ],\n onChange: () => null,\n});\n\nexport default defineComponent(GranularitySelectFieldPro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n },\n events: {\n onChange: (granularity) => ({\n value: granularity ?? Value.noFilter(),\n }),\n },\n});\n"],"names":["Granularity","defaultGranularitySelectFieldOptions","DEFAULT_MIN_BUCKETS","DEFAULT_MAX_BUCKETS","getGranularitySelectFieldOptions","opt","resolveI18nString","toDate","d","parsed","toExclusiveEnd","endInclusive","bucketCountByUnit","start","endExclusive","unitMs","bucketCount","granularity","isGranularityValid","buckets","getAvailableGranularityOptionsFromTimeRange","timeRange","allOptions","from","to","validSet","g","getSafeSelection","availableOptions","optionToSelect","_a","GranularitySelectFieldPro","props","theme","useTheme","i18nSetup","granularities","clearable","onChange","description","placeholder","title","primaryTimeRange","resolveI18nProps","granularitySelectFieldOptions","useMemo","useEffect","newGranularity","safeValue","jsx","EditorCard","SingleSelectField","meta","inputs","preview","definePreview","GranularitySelectFieldPro_emb","defineComponent","Value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GranularitySelectFieldPro.js","sources":["../src/components/editors/GranularitySelectFieldPro/index.tsx","../src/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.emb.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { TimeRange } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { TGranularityValue } from '../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\nimport { GranularitySelectField } from '../shared/GranularitySelectField/GranularitySelectField';\n\ntype GranularitySelectFieldProProps = {\n onChange: (newGranularity: string) => void;\n placeholder?: string;\n primaryTimeRange?: TimeRange;\n granularity?: TGranularityValue;\n granularities?: TGranularityValue[];\n clearable?: boolean;\n} & ChartCardHeaderProps;\n\nconst GranularitySelectFieldPro = (props: GranularitySelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { granularity, granularities, clearable, primaryTimeRange, onChange } = props;\n const { description, placeholder, title } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <GranularitySelectField\n clearable={clearable}\n placeholder={placeholder}\n granularity={granularity}\n granularities={granularities}\n primaryTimeRange={primaryTimeRange}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default GranularitySelectFieldPro;\n","import {\n defineComponent,\n definePreview,\n EmbeddedComponentMeta,\n Inputs,\n} from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport { inputs } from '../../component.inputs.constants';\nimport { Granularity } from '../../../theme/defaults/defaults.GranularityOptions.constants';\nimport GranularitySelectFieldPro from './index';\n\nexport const meta = {\n name: 'GranularitySelectFieldPro',\n label: 'Granularity Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n { ...inputs.placeholder, defaultValue: 'Select a granularity' },\n {\n ...inputs.granularities,\n label: 'Available granularities',\n category: 'Pre-configured variables',\n },\n {\n ...inputs.granularity,\n label: 'Selected granularity',\n category: 'Pre-configured variables',\n },\n {\n ...inputs.timeRange,\n name: 'primaryTimeRange',\n label: 'Primary date-range',\n description:\n 'Connect your primary date-range variable to enable automatic selection of the most appropriate granularity',\n category: 'Pre-configured variables',\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected granularity updated',\n properties: [\n {\n name: 'value',\n label: 'Selected granularity',\n type: 'granularity',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'granularity value',\n type: 'granularity',\n defaultValue: 'day',\n inputs: ['granularity'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport const preview = definePreview(GranularitySelectFieldPro, {\n granularities: [\n Granularity.second,\n Granularity.minute,\n Granularity.hour,\n Granularity.day,\n Granularity.week,\n Granularity.month,\n Granularity.quarter,\n Granularity.year,\n ],\n onChange: () => null,\n});\n\nexport default defineComponent(GranularitySelectFieldPro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n },\n events: {\n onChange: (granularity) => ({\n value: granularity ?? Value.noFilter(),\n }),\n },\n});\n"],"names":["GranularitySelectFieldPro","props","theme","useTheme","i18nSetup","granularity","granularities","clearable","primaryTimeRange","onChange","description","placeholder","title","resolveI18nProps","jsx","EditorCard","GranularitySelectField","meta","inputs","preview","definePreview","Granularity","GranularitySelectFieldPro_emb","defineComponent","Value"],"mappings":";;;;;AAmBA,MAAMA,IAA4B,CAACC,MAA0C;AAC3E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,aAAAG,GAAa,eAAAC,GAAe,WAAAC,GAAW,kBAAAC,GAAkB,UAAAC,MAAaR,GACxE,EAAE,aAAAS,GAAa,aAAAC,GAAa,OAAAC,EAAA,IAAUC,EAAiBZ,CAAK;AAElE,SACEa,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAH,GAAc,UAAUF,GAClC,UAAAI,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAAT;AAAA,MACA,aAAAI;AAAA,MACA,aAAAN;AAAA,MACA,eAAAC;AAAA,MACA,kBAAAE;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ,GC3BaQ,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,uBAAA;AAAA,IACvC;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aACE;AAAA,MACF,UAAU;AAAA,IAAA;AAAA,IAEZ,EAAE,GAAGA,EAAO,WAAW,cAAc,GAAA;AAAA,EAAM;AAAA,EAE7C,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAc;AAAA,MACd,QAAQ,CAAC,aAAa;AAAA,MACtB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEaC,IAAUC,EAAcpB,GAA2B;AAAA,EAC9D,eAAe;AAAA,IACbqB,EAAY;AAAA,IACZA,EAAY;AAAA,IACZA,EAAY;AAAA,IACZA,EAAY;AAAA,IACZA,EAAY;AAAA,IACZA,EAAY;AAAA,IACZA,EAAY;AAAA,IACZA,EAAY;AAAA,EAAA;AAAA,EAEd,UAAU,MAAM;AAClB,CAAC,GAEDC,IAAeC,EAAgBvB,GAA2BiB,GAAM;AAAA,EAC9D,OAAO,CAACC,OACC;AAAA,IACL,GAAGA;AAAAA,EAAA;AAAA,EAGP,QAAQ;AAAA,IACN,UAAU,CAACb,OAAiB;AAAA,MAC1B,OAAOA,KAAemB,EAAM,SAAA;AAAA,IAAS;AAAA,EACvC;AAEJ,CAAC;"}
|
package/dist/HeatMapPro.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { g as a, l as i } from "./Color.type.emb-
|
|
1
|
+
import { g as a, l as i } from "./Color.type.emb-De2K8PVb.js";
|
|
2
2
|
import { definePreview as r, defineComponent as l } from "@embeddable.com/react";
|
|
3
|
-
import { H as n } from "./index-
|
|
4
|
-
import { b as e } from "./component.inputs.constants-
|
|
5
|
-
import { p as t } from "./preview.data.constants-
|
|
3
|
+
import { H as n } from "./index-BaboirUQ.js";
|
|
4
|
+
import { b as e } from "./component.inputs.constants-wDyG8tFg.js";
|
|
5
|
+
import { p as t } from "./preview.data.constants-37wUPKG8.js";
|
|
6
6
|
const m = {
|
|
7
7
|
name: "HeatMapPro",
|
|
8
8
|
label: "Heat Map",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as a } from "./Color.type.emb-
|
|
1
|
+
import { i as a } from "./Color.type.emb-De2K8PVb.js";
|
|
2
2
|
/**
|
|
3
3
|
* @license @tabler/icons-react v3.36.1 - MIT
|
|
4
4
|
*
|
|
@@ -9,4 +9,4 @@ const l = [["path", { d: "M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.99
|
|
|
9
9
|
export {
|
|
10
10
|
v as I
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=IconCalendarFilled-
|
|
12
|
+
//# sourceMappingURL=IconCalendarFilled-CYiLMPm9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconCalendarFilled-
|
|
1
|
+
{"version":3,"file":"IconCalendarFilled-CYiLMPm9.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarFilled.mjs"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.36.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 1.993 -.117l.007 .117v1h6v-1a1 1 0 0 1 1 -1zm3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16v-9.625z\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M12 12a1 1 0 0 1 .993 .883l.007 .117v3a1 1 0 0 1 -1.993 .117l-.007 -.117v-2a1 1 0 0 1 -.117 -1.993l.117 -.007h1z\", \"key\": \"svg-1\" }]];\nconst IconCalendarFilled = createReactComponent(\"filled\", \"calendar-filled\", \"CalendarFilled\", __iconNode);\n\nexport { __iconNode, IconCalendarFilled as default };\n//# sourceMappingURL=IconCalendarFilled.mjs.map\n"],"names":["__iconNode","IconCalendarFilled","createReactComponent"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,iWAAiW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,oHAAoH,KAAO,QAAO,CAAE,CAAC,GACviBC,IAAqBC,EAAqB,UAAU,mBAAmB,kBAAkBF,CAAU;","x_google_ignoreList":[0]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { definePreview as s, defineComponent as l } from "@embeddable.com/react";
|
|
2
|
-
import { K as t } from "./index-
|
|
3
|
-
import { l as i } from "./Color.type.emb-
|
|
4
|
-
import { b as a } from "./component.inputs.constants-
|
|
5
|
-
import { p as o } from "./preview.data.constants-
|
|
2
|
+
import { K as t } from "./index-BkcQaDp8.js";
|
|
3
|
+
import { l as i } from "./Color.type.emb-De2K8PVb.js";
|
|
4
|
+
import { b as a } from "./component.inputs.constants-wDyG8tFg.js";
|
|
5
|
+
import { p as o } from "./preview.data.constants-37wUPKG8.js";
|
|
6
6
|
const p = {
|
|
7
7
|
name: "KpiChartNumberComparisonPro",
|
|
8
8
|
label: "Kpi Chart - Number Comparison",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { definePreview as o, defineComponent as s } from "@embeddable.com/react";
|
|
2
|
-
import { K as a } from "./index-
|
|
3
|
-
import { l as m } from "./Color.type.emb-
|
|
4
|
-
import { b as e } from "./component.inputs.constants-
|
|
5
|
-
import { p as t } from "./preview.data.constants-
|
|
2
|
+
import { K as a } from "./index-DfrwKtFA.js";
|
|
3
|
+
import { l as m } from "./Color.type.emb-De2K8PVb.js";
|
|
4
|
+
import { b as e } from "./component.inputs.constants-wDyG8tFg.js";
|
|
5
|
+
import { p as t } from "./preview.data.constants-37wUPKG8.js";
|
|
6
6
|
const i = {
|
|
7
7
|
name: "KpiChartNumberPro",
|
|
8
8
|
label: "Kpi Chart - Number",
|