@embeddable.com/remarkable-pro 0.3.9 → 0.3.11
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/AreaChartPro.js +1 -1
- package/dist/BarChartDefaultHorizontalPro.js +1 -1
- package/dist/BarChartDefaultPro.js +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +1 -1
- package/dist/BarChartGroupedPro.js +1 -1
- package/dist/BarChartStackedHorizontalPro.js +1 -1
- package/dist/BarChartStackedPro.js +1 -1
- package/dist/BarLineChartPro.js +1 -1
- package/dist/BubbleChartPro.js +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +1 -1
- package/dist/DateRangePickerCustomPro.js +1 -1
- package/dist/DateRangeSelectFieldPro.js +1 -1
- package/dist/{DimensionAndMeasureSingleSelectField-CC5BTau4.js → DimensionAndMeasureSingleSelectField-_jJAx5WA.js} +2 -2
- package/dist/{DimensionAndMeasureSingleSelectField-CC5BTau4.js.map → DimensionAndMeasureSingleSelectField-_jJAx5WA.js.map} +1 -1
- package/dist/DimensionMeasureMultiSelectFieldPro.js +1 -1
- package/dist/DimensionSingleSelectFieldPro.js +1 -1
- package/dist/DonutChartPro.js +1 -1
- package/dist/DonutLabelChartPro.js +1 -1
- package/dist/FilterBuilderPro.js +1 -1
- package/dist/{GranularitySelectField-D9mv6FF7.js → GranularitySelectField-DqIroVY8.js} +2 -2
- package/dist/{GranularitySelectField-D9mv6FF7.js.map → GranularitySelectField-DqIroVY8.js.map} +1 -1
- package/dist/GranularitySelectFieldPro.js +1 -1
- package/dist/HeatMapPro.js +1 -1
- package/dist/HorizontalDividerPro.js +1 -1
- package/dist/KpiChartNumberComparisonPro.js +1 -1
- package/dist/KpiChartNumberPro.js +1 -1
- package/dist/LineChartComparisonDefaultPro.js +1 -1
- package/dist/LineChartComparisonWithKpiTabsPro.js +1 -1
- package/dist/LineChartDefaultPro.js +1 -1
- package/dist/LineChartGroupedPro.js +1 -1
- package/dist/LineChartWithKpiTabsPro.js +1 -1
- package/dist/MarkdownPro.js +1 -1
- package/dist/MeasureMultiSelectFieldPro.js +1 -1
- package/dist/MeasureSingleSelectFieldPro.js +1 -1
- package/dist/MultiSelectFieldPro.js +1 -1
- package/dist/PieChartPro.js +1 -1
- package/dist/PivotTablePro.js +1 -1
- package/dist/ScatterChartPro.js +1 -1
- package/dist/SingleSelectFieldPro.js +1 -1
- package/dist/TableChartPaginated.js +1 -1
- package/dist/TableScrollable.js +1 -1
- package/dist/TextFieldPro.js +1 -1
- package/dist/{bars.loadData.utils-fZI0VNkB.js → bars.loadData.utils-UhQFoiF3.js} +3 -3
- package/dist/{bars.loadData.utils-fZI0VNkB.js.map → bars.loadData.utils-UhQFoiF3.js.map} +1 -1
- package/dist/{bars.utils-BR7xdKJL.js → bars.utils-BGi2vvkU.js} +3 -3
- package/dist/{bars.utils-BR7xdKJL.js.map → bars.utils-BGi2vvkU.js.map} +1 -1
- package/dist/{charts.fillGaps.hooks-tjjJ-L-X.js → charts.fillGaps.hooks-ImD798b-.js} +34 -34
- package/dist/charts.fillGaps.hooks-ImD798b-.js.map +1 -0
- package/dist/{component.inputs.constants-WqUoEXZX.js → component.inputs.constants-CJRHMXHA.js} +178 -168
- package/dist/component.inputs.constants-CJRHMXHA.js.map +1 -0
- package/dist/components/charts/charts.fillGaps.hooks.d.ts.map +1 -1
- package/dist/components/component.subinputs.constants.d.ts +8 -0
- package/dist/components/component.subinputs.constants.d.ts.map +1 -1
- package/dist/{definition-rVkVVeS6.js → definition-3QpYOtAr.js} +3 -3
- package/dist/{definition-rVkVVeS6.js.map → definition-3QpYOtAr.js.map} +1 -1
- package/dist/{definition-CUET0bC2.js → definition-81RJMlxU.js} +3 -3
- package/dist/{definition-CUET0bC2.js.map → definition-81RJMlxU.js.map} +1 -1
- package/dist/{definition-DqaokgFC.js → definition-BAb2u4mc.js} +6 -6
- package/dist/{definition-DqaokgFC.js.map → definition-BAb2u4mc.js.map} +1 -1
- package/dist/{definition-hq9u01ar.js → definition-BLXhy0w7.js} +2 -2
- package/dist/{definition-hq9u01ar.js.map → definition-BLXhy0w7.js.map} +1 -1
- package/dist/{definition-D8XbATlY.js → definition-BObbBhcm.js} +5 -5
- package/dist/{definition-D8XbATlY.js.map → definition-BObbBhcm.js.map} +1 -1
- package/dist/{definition-DeAu3Owr.js → definition-BSCzplhq.js} +3 -3
- package/dist/{definition-DeAu3Owr.js.map → definition-BSCzplhq.js.map} +1 -1
- package/dist/{definition-BWuUDcjc.js → definition-BT_TJ2xu.js} +6 -6
- package/dist/{definition-BWuUDcjc.js.map → definition-BT_TJ2xu.js.map} +1 -1
- package/dist/{definition-DanyoB3T.js → definition-BUb4WQQi.js} +4 -4
- package/dist/{definition-DanyoB3T.js.map → definition-BUb4WQQi.js.map} +1 -1
- package/dist/{definition-BKo_lK59.js → definition-BUjb1Q6D.js} +2 -2
- package/dist/{definition-BKo_lK59.js.map → definition-BUjb1Q6D.js.map} +1 -1
- package/dist/{definition-CUhQEZ6r.js → definition-BVKJiEOy.js} +3 -3
- package/dist/{definition-CUhQEZ6r.js.map → definition-BVKJiEOy.js.map} +1 -1
- package/dist/{definition-o-5gD8vB.js → definition-BWMkkQfu.js} +3 -3
- package/dist/{definition-o-5gD8vB.js.map → definition-BWMkkQfu.js.map} +1 -1
- package/dist/{definition-DvNvLADK.js → definition-BhJTfgLy.js} +3 -3
- package/dist/{definition-DvNvLADK.js.map → definition-BhJTfgLy.js.map} +1 -1
- package/dist/{definition-BNBB0_t9.js → definition-Bhq5zlSY.js} +6 -6
- package/dist/{definition-BNBB0_t9.js.map → definition-Bhq5zlSY.js.map} +1 -1
- package/dist/{definition-C9JkxGxC.js → definition-BhzssiIh.js} +3 -3
- package/dist/{definition-C9JkxGxC.js.map → definition-BhzssiIh.js.map} +1 -1
- package/dist/{definition-7QqFZpBX.js → definition-Bumjg1Nc.js} +5 -5
- package/dist/{definition-7QqFZpBX.js.map → definition-Bumjg1Nc.js.map} +1 -1
- package/dist/{definition-H0k6JdIe.js → definition-BwAHlBSA.js} +3 -3
- package/dist/{definition-H0k6JdIe.js.map → definition-BwAHlBSA.js.map} +1 -1
- package/dist/{definition-a4k4zu-S.js → definition-C7M49DO-.js} +2 -2
- package/dist/{definition-a4k4zu-S.js.map → definition-C7M49DO-.js.map} +1 -1
- package/dist/{definition-DtgG_A8G.js → definition-C9J7qbst.js} +3 -3
- package/dist/{definition-DtgG_A8G.js.map → definition-C9J7qbst.js.map} +1 -1
- package/dist/{definition-BxGoL7F_.js → definition-CB2yhrXd.js} +3 -3
- package/dist/{definition-BxGoL7F_.js.map → definition-CB2yhrXd.js.map} +1 -1
- package/dist/{definition-Djha-scF.js → definition-CI1F6BYS.js} +4 -4
- package/dist/{definition-Djha-scF.js.map → definition-CI1F6BYS.js.map} +1 -1
- package/dist/{definition-CU5wU8GH.js → definition-CKr3luD3.js} +6 -6
- package/dist/{definition-CU5wU8GH.js.map → definition-CKr3luD3.js.map} +1 -1
- package/dist/{definition-_WRoLhz1.js → definition-CUecLROw.js} +2 -2
- package/dist/{definition-_WRoLhz1.js.map → definition-CUecLROw.js.map} +1 -1
- package/dist/{definition-DkgbKZS3.js → definition-CWC28cKE.js} +2 -2
- package/dist/{definition-DkgbKZS3.js.map → definition-CWC28cKE.js.map} +1 -1
- package/dist/{definition-B-ha7ip9.js → definition-Cc3GuVLL.js} +3 -3
- package/dist/{definition-B-ha7ip9.js.map → definition-Cc3GuVLL.js.map} +1 -1
- package/dist/{definition-oU2ZMz1V.js → definition-Cvmrf_Av.js} +5 -5
- package/dist/{definition-oU2ZMz1V.js.map → definition-Cvmrf_Av.js.map} +1 -1
- package/dist/{definition-B1mBn8UP.js → definition-CzIq3snB.js} +5 -5
- package/dist/{definition-B1mBn8UP.js.map → definition-CzIq3snB.js.map} +1 -1
- package/dist/{definition-BE7dzWJf.js → definition-D5M0-YDz.js} +6 -6
- package/dist/{definition-BE7dzWJf.js.map → definition-D5M0-YDz.js.map} +1 -1
- package/dist/{definition-BrCdk9h7.js → definition-DA1NiTYd.js} +4 -4
- package/dist/{definition-BrCdk9h7.js.map → definition-DA1NiTYd.js.map} +1 -1
- package/dist/{definition-Df9xEGGh.js → definition-DBm7UExP.js} +6 -6
- package/dist/{definition-Df9xEGGh.js.map → definition-DBm7UExP.js.map} +1 -1
- package/dist/{definition-D0Ofarri.js → definition-DCw41pB6.js} +3 -3
- package/dist/{definition-D0Ofarri.js.map → definition-DCw41pB6.js.map} +1 -1
- package/dist/{definition-DwgGLIsi.js → definition-DGm0gnDo.js} +4 -4
- package/dist/{definition-DwgGLIsi.js.map → definition-DGm0gnDo.js.map} +1 -1
- package/dist/{definition-CvLRALjd.js → definition-DOgO1UO1.js} +3 -3
- package/dist/{definition-CvLRALjd.js.map → definition-DOgO1UO1.js.map} +1 -1
- package/dist/{definition-BKTuIe2e.js → definition-DYRmzQG8.js} +5 -5
- package/dist/{definition-BKTuIe2e.js.map → definition-DYRmzQG8.js.map} +1 -1
- package/dist/{definition-BrGnOErk.js → definition-QQGyselv.js} +3 -3
- package/dist/{definition-BrGnOErk.js.map → definition-QQGyselv.js.map} +1 -1
- package/dist/{definition-DwxvVeU1.js → definition-ViiZJXzp.js} +3 -3
- package/dist/{definition-DwxvVeU1.js.map → definition-ViiZJXzp.js.map} +1 -1
- package/dist/{definition-DTw_4bG-.js → definition-WpA0B1mq.js} +5 -5
- package/dist/{definition-DTw_4bG-.js.map → definition-WpA0B1mq.js.map} +1 -1
- package/dist/{definition-DFfB8LEv.js → definition-n2w2opqD.js} +4 -4
- package/dist/{definition-DFfB8LEv.js.map → definition-n2w2opqD.js.map} +1 -1
- package/dist/{definition-Bq-44rMc.js → definition-v65ricVf.js} +2 -2
- package/dist/{definition-Bq-44rMc.js.map → definition-v65ricVf.js.map} +1 -1
- package/dist/{dimensionsAndMeasures.utils-Bkihe1T9.js → dimensionsAndMeasures.utils-6WmCMSx-.js} +2 -2
- package/dist/{dimensionsAndMeasures.utils-Bkihe1T9.js.map → dimensionsAndMeasures.utils-6WmCMSx-.js.map} +1 -1
- package/dist/embeddable-components.json +46 -46
- package/dist/{formatter.utils-CFf9W7Jq.js → formatter.utils-BaA4WFcv.js} +2 -2
- package/dist/{formatter.utils-CFf9W7Jq.js.map → formatter.utils-BaA4WFcv.js.map} +1 -1
- package/dist/{granularity.utils-Ck8am6YG.js → granularity.utils-BXLMSveL.js} +2 -2
- package/dist/{granularity.utils-Ck8am6YG.js.map → granularity.utils-BXLMSveL.js.map} +1 -1
- package/dist/index.js +49 -49
- package/dist/meta/AreaChartPro.meta.json +11 -1
- package/dist/meta/BarChartDefaultHorizontalPro.meta.json +11 -1
- package/dist/meta/BarChartDefaultPro.meta.json +11 -1
- package/dist/meta/BarChartGroupedHorizontalPro.meta.json +11 -1
- package/dist/meta/BarChartGroupedPro.meta.json +11 -1
- package/dist/meta/BarChartStackedHorizontalPro.meta.json +11 -1
- package/dist/meta/BarChartStackedPro.meta.json +11 -1
- package/dist/meta/BarLineChartPro.meta.json +11 -1
- package/dist/meta/HeatMapPro.meta.json +20 -0
- package/dist/meta/LineChartComparisonDefaultPro.meta.json +11 -1
- package/dist/meta/LineChartComparisonWithKpiTabsPro.meta.json +11 -1
- package/dist/meta/LineChartDefaultPro.meta.json +11 -1
- package/dist/meta/LineChartGroupedPro.meta.json +11 -1
- package/dist/meta/LineChartWithKpiTabsPro.meta.json +11 -1
- package/dist/meta/PivotTablePro.meta.json +20 -0
- package/dist/{pies.utils-DmDV0WY9.js → pies.utils-vf7_pmdH.js} +3 -3
- package/dist/{pies.utils-DmDV0WY9.js.map → pies.utils-vf7_pmdH.js.map} +1 -1
- package/dist/{tables.utils-2q0j8fQN.js → tables.utils-Be6yca9d.js} +3 -3
- package/dist/{tables.utils-2q0j8fQN.js.map → tables.utils-Be6yca9d.js.map} +1 -1
- package/dist/{theme.constants-OTt5Bo-V.js → theme.constants-gny2xWxf.js} +3 -3
- package/dist/{theme.constants-OTt5Bo-V.js.map → theme.constants-gny2xWxf.js.map} +1 -1
- package/package.json +1 -1
- package/dist/charts.fillGaps.hooks-tjjJ-L-X.js.map +0 -1
- package/dist/component.inputs.constants-WqUoEXZX.js.map +0 -1
|
@@ -2,8 +2,8 @@ import { j as o, V as s } from "./index-BpJ2xsEV.js";
|
|
|
2
2
|
import { useTheme as g, definePreview as S } from "@embeddable.com/react";
|
|
3
3
|
import { E as v } from "./EditorCard-UMHyz0mi.js";
|
|
4
4
|
import { i as h, r as b } from "./component.utils-oQMZT7TK.js";
|
|
5
|
-
import { D } from "./DimensionAndMeasureSingleSelectField-
|
|
6
|
-
import { i as e } from "./component.inputs.constants-
|
|
5
|
+
import { D } from "./DimensionAndMeasureSingleSelectField-_jJAx5WA.js";
|
|
6
|
+
import { i as e } from "./component.inputs.constants-CJRHMXHA.js";
|
|
7
7
|
import { p as t } from "./preview.data.constants-DyU7ur6g.js";
|
|
8
8
|
const i = (n) => {
|
|
9
9
|
const l = g();
|
|
@@ -93,4 +93,4 @@ export {
|
|
|
93
93
|
T as d,
|
|
94
94
|
M as i
|
|
95
95
|
};
|
|
96
|
-
//# sourceMappingURL=definition-
|
|
96
|
+
//# sourceMappingURL=definition-QQGyselv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-QQGyselv.js","sources":["../src/components/editors/DimensionSingleSelectFieldPro/index.tsx","../src/components/editors/DimensionSingleSelectFieldPro/definition.ts"],"sourcesContent":["import { Dimension } from '@embeddable.com/core';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\nimport { Theme } from '../../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { DimensionAndMeasureSingleSelectField } from '../shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField';\n\nexport type DimensionSingleSelectFieldProProps = {\n selectedDimension?: Dimension;\n dimensionOptions: Dimension[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Dimension | undefined) => void;\n} & ChartCardHeaderProps;\n\nconst DimensionSingleSelectFieldPro = (props: DimensionSingleSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedDimension, dimensionOptions, clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DimensionAndMeasureSingleSelectField<Dimension>\n selectedValue={selectedDimension}\n options={dimensionOptions}\n placeholder={placeholder}\n clearable={clearable}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default DimensionSingleSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'DimensionSingleSelectFieldPro',\n label: 'Dimension Single Select Field',\n description:\n 'Dropdown for selecting a single dimension from a list. Pairs with a dimension variable; emits onChange.',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select value...' },\n inputs.dimensionOptions,\n {\n ...inputs.dimension,\n name: 'selectedDimension',\n label: 'Selected dimension',\n category: 'Pre-configured variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected dimension updated',\n properties: [\n {\n name: 'value',\n label: 'Selected dimension',\n type: 'dimension',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'dimension single-select value',\n type: 'dimension',\n defaultValue: Value.noFilter(),\n inputs: ['selectedDimension'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n dimensionOptions: [previewData.dimension, previewData.dimensionGroup],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n dimensionOptions: inputs.dimensionOptions ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: value ?? Value.noFilter(),\n };\n },\n};\n\nexport const dimensionSingleSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["DimensionSingleSelectFieldPro","props","theme","useTheme","i18nSetup","selectedDimension","dimensionOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","jsx","EditorCard","DimensionAndMeasureSingleSelectField","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","dimensionSingleSelectFieldPro"],"mappings":";;;;;;;AAiBA,MAAMA,IAAgC,CAACC,MAA8C;AACnF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,mBAAAG,GAAmB,kBAAAC,GAAkB,WAAAC,GAAW,UAAAC,MAAaP,GAC/D,EAAE,OAAAQ,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,EAAA,IAAgBC,EAAiBZ,CAAK;AAE3E,SACEa,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAN,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAG,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,eAAeX;AAAA,MACf,SAASC;AAAA,MACT,aAAAM;AAAA,MACA,WAAAL;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;;;8CC7BMS,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aACE;AAAA,EACF,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,kBAAA;AAAA,IACvCA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,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,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,mBAAmB;AAAA,MAC5B,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,kBAAkB,CAACC,EAAY,WAAWA,EAAY,cAAc;AAAA,EACpE,UAAU,MAAM;AAClB,CAAC,GAEKtB,IAAQ,CAACiB,OACN;AAAA,EACL,GAAGA;AAAAA,EACH,kBAAkBA,EAAO,oBAAoB,CAAA;AAAC,IAI5CM,IAAS;AAAA,EACb,UAAU,CAACC,OACF;AAAA,IACL,OAAOA,KAASN,EAAM,SAAA;AAAA,EAAS;AAGrC,GAEaO,IAAgC;AAAA,EAAA,WAC3CJ;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAnB;AAAA,IACA,QAAAuB;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { m as D, j as l, H as V, V as d, l as x } from "./index-BpJ2xsEV.js";
|
|
2
2
|
import { useTheme as v, definePreview as L } from "@embeddable.com/react";
|
|
3
|
-
import { g as R, a as T, c as j } from "./pies.utils-
|
|
3
|
+
import { g as R, a as T, c as j } from "./pies.utils-vf7_pmdH.js";
|
|
4
4
|
import { i as S } from "./component.utils-oQMZT7TK.js";
|
|
5
5
|
import { C as y, a as A } from "./ChartCard-jnVaCkEl.js";
|
|
6
|
-
import { i as s, s as M } from "./component.inputs.constants-
|
|
6
|
+
import { i as s, s as M } from "./component.inputs.constants-CJRHMXHA.js";
|
|
7
7
|
import { p as i } from "./preview.data.constants-DyU7ur6g.js";
|
|
8
8
|
const r = (e) => {
|
|
9
9
|
var m;
|
|
@@ -121,4 +121,4 @@ export {
|
|
|
121
121
|
J as i,
|
|
122
122
|
K as p
|
|
123
123
|
};
|
|
124
|
-
//# sourceMappingURL=definition-
|
|
124
|
+
//# sourceMappingURL=definition-ViiZJXzp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-ViiZJXzp.js","sources":["../src/components/charts/pies/PieChartPro/index.tsx","../src/components/charts/pies/PieChartPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { PieChart } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData, createPieClickHandler } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { mergician } from 'mergician';\nexport type PieChartProProps = DefaultPieChartProps;\n\nconst PieChartPro = (props: PieChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n onSegmentClick,\n } = props;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const options = mergician(\n getPieChartProOptions({ measure, dimension }, theme),\n theme.charts.pieChartPro?.options ?? {},\n );\n\n const handleClick = createPieClickHandler({ results, dimension, onClicked: onSegmentClick });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n <PieChart\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default PieChartPro;\n","import { DataResponse, LoadDataRequest, Value, loadData } from '@embeddable.com/core';\nimport { PieChartClickArg } from '../pies.types';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\n\nconst meta = {\n name: 'PieChartPro',\n label: 'Pie Chart',\n description:\n 'Pie chart for parts-of-whole over one dimension with one measure. Prefer DonutChartPro for a modern look.',\n category: 'Pie Charts',\n defaultHeight: 442,\n defaultWidth: 630,\n inputs: [\n inputs.dataset,\n { ...inputs.measure, inputs: [...inputs.measure.inputs, subInputs.showValueAsPercentage] },\n inputs.dimension,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.maxLegendItems,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onSegmentClick',\n label: 'A segment is clicked',\n properties: [\n {\n name: 'dimensionValue',\n label: 'Clicked dimension',\n type: 'string',\n },\n {\n name: 'dimensionTimeRange',\n label: 'Clicked dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measure: previewData.measure,\n results: previewData.results1Measure1Dimension,\n showValueLabels: false,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure, inputs.dimension],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst events = {\n onSegmentClick: (value: PieChartClickArg) => ({\n dimensionValue: value.dimensionValue ?? Value.noFilter(),\n dimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n});\n\nexport const pieChartPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["PieChartPro","props","theme","useTheme","i18nSetup","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","onSegmentClick","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleClick","createPieClickHandler","jsx","ChartCard","asChartCardHeaderProps","PieChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","value","Value","pieChartPro"],"mappings":"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"}
|
|
@@ -2,11 +2,11 @@ import { m as z, j as u, B as F, V as x, l as O } from "./index-BpJ2xsEV.js";
|
|
|
2
2
|
import { useTheme as _, definePreview as H } from "@embeddable.com/react";
|
|
3
3
|
import { i as W, r as X } from "./component.utils-oQMZT7TK.js";
|
|
4
4
|
import { C as E, a as U } from "./ChartCard-jnVaCkEl.js";
|
|
5
|
-
import { g as q, a as J } from "./bars.utils-
|
|
6
|
-
import { u as K } from "./charts.fillGaps.hooks-
|
|
7
|
-
import { C as N, g as Q } from "./granularity.utils-
|
|
5
|
+
import { g as q, a as J } from "./bars.utils-BGi2vvkU.js";
|
|
6
|
+
import { u as K } from "./charts.fillGaps.hooks-ImD798b-.js";
|
|
7
|
+
import { C as N, g as Q } from "./granularity.utils-BXLMSveL.js";
|
|
8
8
|
import { c as Y } from "./charts.utils-CM-dKk0n.js";
|
|
9
|
-
import { i as e, s as C } from "./component.inputs.constants-
|
|
9
|
+
import { i as e, s as C } from "./component.inputs.constants-CJRHMXHA.js";
|
|
10
10
|
import { p as c } from "./preview.data.constants-DyU7ur6g.js";
|
|
11
11
|
import { g as Z } from "./clientContext.utils-DpB5KsfX.js";
|
|
12
12
|
const d = (a) => {
|
|
@@ -176,4 +176,4 @@ export {
|
|
|
176
176
|
he as b,
|
|
177
177
|
pe as i
|
|
178
178
|
};
|
|
179
|
-
//# sourceMappingURL=definition-
|
|
179
|
+
//# sourceMappingURL=definition-WpA0B1mq.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-DTw_4bG-.js","sources":["../src/components/charts/bars/BarChartDefaultPro/index.tsx","../src/components/charts/bars/BarChartDefaultPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { BarChartBaseProps } from '../bars.types';\nimport { createSimpleClickHandler } from '../../charts.utils';\n\nexport type BarChartDefaultProProps = BarChartBaseProps & {\n reverseXAxis?: boolean;\n xAxisMaxItems?: number;\n yAxisRangeMin?: number;\n yAxisRangeMax?: number;\n};\n\nconst BarChartDefaultPro = (props: BarChartDefaultProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n measures,\n yAxisRangeMin,\n xAxisMaxItems,\n yAxisRangeMax,\n showLegend,\n showTooltips,\n showLogarithmicScale,\n showValueLabels,\n reverseXAxis,\n dimension,\n granularity,\n setGranularity,\n onBarClicked,\n } = props;\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: xAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: false, data, dimension }, theme), // Format Y axis based on first measure\n theme.charts?.barChartDefaultPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension,\n granularity,\n onClicked: onBarClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarChartProOptionsClickArg } from '../bars.types';\n\nconst meta = {\n name: 'BarChartDefaultPro',\n label: 'Bar Chart - Default',\n description:\n 'Vertical bar chart with one categorical x-axis dimension and one or more measures. Use to compare values across discrete categories.',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [...inputs.measures.inputs, subInputs.color, subInputs.showValueAsPercentage],\n },\n {\n ...inputs.dimensionWithGranularitySelectField,\n label: 'X-axis',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.xAxisMaxItems,\n inputs.maxResults,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartDefaultProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measures: [previewData.measure],\n results: previewData.results1Measure1Dimension,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimension?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, dimension ?? inputs.dimension],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n dimension: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, dimension, clientContext));\n\nconst events = {\n onBarClicked: (value: BarChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [BarChartDefaultProState, (state: BarChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const dimensionWithGranularity = getDimensionWithGranularity(\n inputs.dimension,\n state?.granularity,\n );\n\n return {\n ...inputs,\n dimension: dimensionWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, dimensionWithGranularity, clientContext),\n };\n};\n\nexport const barChartDefaultPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["BarChartDefaultPro","props","theme","useTheme","i18nSetup","measures","yAxisRangeMin","xAxisMaxItems","yAxisRangeMax","showLegend","showTooltips","showLogarithmicScale","showValueLabels","reverseXAxis","dimension","granularity","setGranularity","onBarClicked","resolvedI18nProps","resolveI18nProps","tooltip","description","title","xAxisLabel","yAxisLabel","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","value","Value","state","setState","dimensionWithGranularity","getDimensionWithGranularity","barChartDefaultPro"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition-WpA0B1mq.js","sources":["../src/components/charts/bars/BarChartDefaultPro/index.tsx","../src/components/charts/bars/BarChartDefaultPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { BarChartBaseProps } from '../bars.types';\nimport { createSimpleClickHandler } from '../../charts.utils';\n\nexport type BarChartDefaultProProps = BarChartBaseProps & {\n reverseXAxis?: boolean;\n xAxisMaxItems?: number;\n yAxisRangeMin?: number;\n yAxisRangeMax?: number;\n};\n\nconst BarChartDefaultPro = (props: BarChartDefaultProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n measures,\n yAxisRangeMin,\n xAxisMaxItems,\n yAxisRangeMax,\n showLegend,\n showTooltips,\n showLogarithmicScale,\n showValueLabels,\n reverseXAxis,\n dimension,\n granularity,\n setGranularity,\n onBarClicked,\n } = props;\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: xAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: false, data, dimension }, theme), // Format Y axis based on first measure\n theme.charts?.barChartDefaultPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension,\n granularity,\n onClicked: onBarClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarChartProOptionsClickArg } from '../bars.types';\n\nconst meta = {\n name: 'BarChartDefaultPro',\n label: 'Bar Chart - Default',\n description:\n 'Vertical bar chart with one categorical x-axis dimension and one or more measures. Use to compare values across discrete categories.',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [...inputs.measures.inputs, subInputs.color, subInputs.showValueAsPercentage],\n },\n {\n ...inputs.dimensionWithGranularitySelectField,\n label: 'X-axis',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.xAxisMaxItems,\n inputs.maxResults,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartDefaultProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measures: [previewData.measure],\n results: previewData.results1Measure1Dimension,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimension?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, dimension ?? inputs.dimension],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n dimension: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, dimension, clientContext));\n\nconst events = {\n onBarClicked: (value: BarChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [BarChartDefaultProState, (state: BarChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const dimensionWithGranularity = getDimensionWithGranularity(\n inputs.dimension,\n state?.granularity,\n );\n\n return {\n ...inputs,\n dimension: dimensionWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, dimensionWithGranularity, clientContext),\n };\n};\n\nexport const barChartDefaultPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["BarChartDefaultPro","props","theme","useTheme","i18nSetup","measures","yAxisRangeMin","xAxisMaxItems","yAxisRangeMax","showLegend","showTooltips","showLogarithmicScale","showValueLabels","reverseXAxis","dimension","granularity","setGranularity","onBarClicked","resolvedI18nProps","resolveI18nProps","tooltip","description","title","xAxisLabel","yAxisLabel","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","value","Value","state","setState","dimensionWithGranularity","getDimensionWithGranularity","barChartDefaultPro"],"mappings":"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"}
|
|
@@ -2,11 +2,11 @@ import { m as B, v as I, j as A, x as O, V as p, l as z } from "./index-BpJ2xsEV
|
|
|
2
2
|
import { useTheme as _, definePreview as H } from "@embeddable.com/react";
|
|
3
3
|
import { i as E, r as W } from "./component.utils-oQMZT7TK.js";
|
|
4
4
|
import { C as q, a as J } from "./ChartCard-jnVaCkEl.js";
|
|
5
|
-
import { g as K, a as N, l as Q } from "./definition-
|
|
5
|
+
import { g as K, a as N, l as Q } from "./definition-BObbBhcm.js";
|
|
6
6
|
import { g as V } from "./dimension.utils-CiM7fJ79.js";
|
|
7
7
|
import { s as U } from "./color.utils-BSg_DFOh.js";
|
|
8
|
-
import { u as Z } from "./charts.fillGaps.hooks-
|
|
9
|
-
import { C as $, g as X } from "./granularity.utils-
|
|
8
|
+
import { u as Z } from "./charts.fillGaps.hooks-ImD798b-.js";
|
|
9
|
+
import { C as $, g as X } from "./granularity.utils-BXLMSveL.js";
|
|
10
10
|
import { p as f } from "./preview.data.constants-DyU7ur6g.js";
|
|
11
11
|
import { g as ee } from "./clientContext.utils-DpB5KsfX.js";
|
|
12
12
|
const ne = (e, n) => {
|
|
@@ -255,4 +255,4 @@ export {
|
|
|
255
255
|
ne as g,
|
|
256
256
|
De as i
|
|
257
257
|
};
|
|
258
|
-
//# sourceMappingURL=definition-
|
|
258
|
+
//# sourceMappingURL=definition-n2w2opqD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-DFfB8LEv.js","sources":["../src/components/charts/lines/AreaChartPro/AreaChartPro.utils.ts","../src/components/charts/lines/AreaChartPro/index.tsx","../src/components/charts/lines/AreaChartPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { Chart, ChartData, ChartOptions } from 'chart.js';\nimport { mergician } from 'mergician';\nimport {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from '../LineChartGroupedPro/LineChartGroupedPro.utils';\nimport { getTimeRangeFromDimensionValue } from '../../../utils/dimension.utils';\nimport { setColorAlpha } from '../../../../utils/color.utils';\nimport { AreaChartProAreaClickArg, AreaChartProPointClickArg } from '../lines.types';\nimport { ChartClickArgs } from '@embeddable.com/remarkable-ui';\n\nexport const getAreaChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const data = getLineChartGroupedProData(props, theme);\n\n return {\n ...data,\n datasets: data.datasets.map((dataset) => ({\n ...dataset,\n fill: true,\n backgroundColor: setColorAlpha(dataset.backgroundColor as string, 0.9),\n })),\n };\n};\n\ntype PixelPoint = { x: number; y: number };\n\nconst getPixelPoints = (chart: Chart, datasetIndex: number): PixelPoint[] =>\n chart.getDatasetMeta(datasetIndex).data;\n\nconst interpolateLineY = (chart: Chart, datasetIndex: number, clickX: number): number | null => {\n const points = getPixelPoints(chart, datasetIndex);\n for (let i = 0; i < points.length - 1; i++) {\n const left = points[i]!;\n const right = points[i + 1]!;\n if (left.x <= clickX && right.x >= clickX) {\n const t = (clickX - left.x) / (right.x - left.x);\n return left.y + t * (right.y - left.y);\n }\n }\n const last = points.at(-1);\n return last?.x === clickX ? last.y : null;\n};\n\nconst handlePointClick = (\n chart: Chart,\n elementAtEvent: ChartClickArgs['elementAtEvent'],\n clickY: number,\n data: ChartData<'line'>,\n dimension: Dimension,\n granularity: Granularity | undefined,\n onPointClicked: (arg: AreaChartProPointClickArg) => void,\n): boolean => {\n if (!elementAtEvent.length) return false;\n\n const clicked = elementAtEvent[0]!;\n const pointY = getPixelPoints(chart, clicked.datasetIndex)[clicked.index]?.y;\n if (pointY == null) return false;\n\n if (Math.abs(clickY - pointY) > 8) return false;\n\n const dimensionValue = data?.labels?.[clicked.index] as string | undefined;\n const measureValue = (data?.datasets?.[clicked.datasetIndex] as { data?: unknown[] })?.data?.[\n clicked.index\n ] as number | undefined;\n\n onPointClicked({\n dimensionValue,\n dimensionTimeRange: getTimeRangeFromDimensionValue({\n value: dimensionValue,\n stateGranularity: granularity,\n dimension,\n }),\n measureValue,\n });\n return true;\n};\n\nconst handleAreaClick = (\n chart: Chart,\n clickX: number,\n clickY: number,\n data: ChartData<'line'>,\n groupBy: Dimension,\n onAreaClicked: (arg: AreaChartProAreaClickArg) => void,\n): void => {\n const chartBottom = chart.chartArea?.bottom ?? Infinity;\n\n for (let i = chart.data.datasets.length - 1; i >= 0; i--) {\n const lineY = interpolateLineY(chart, i, clickX);\n const baseY = i > 0 ? interpolateLineY(chart, i - 1, clickX) : chartBottom;\n if (lineY == null || baseY == null) continue;\n if (clickY < Math.min(lineY, baseY) || clickY > Math.max(lineY, baseY)) continue;\n\n const groupingDimensionValue = (data?.datasets?.[i] as { rawLabel?: string })?.rawLabel;\n onAreaClicked({\n groupingDimensionValue,\n groupingDimensionTimeRange: getTimeRangeFromDimensionValue({\n value: groupingDimensionValue,\n dimension: groupBy,\n }),\n });\n return;\n }\n};\n\nexport const createAreaClickHandler =\n ({\n data,\n dimension,\n groupBy,\n granularity,\n onPointClicked,\n onAreaClicked,\n }: {\n data: ChartData<'line'>;\n dimension: Dimension;\n groupBy: Dimension;\n granularity?: Granularity;\n onPointClicked?: (arg: AreaChartProPointClickArg) => void;\n onAreaClicked?: (arg: AreaChartProAreaClickArg) => void;\n }) =>\n ({ event, elementAtEvent }: ChartClickArgs): void => {\n const chart = Chart.getChart(event.target as HTMLCanvasElement);\n if (!chart) return;\n\n const clickX = event.nativeEvent.offsetX;\n const clickY = event.nativeEvent.offsetY;\n\n if (\n onPointClicked &&\n handlePointClick(chart, elementAtEvent, clickY, data, dimension, granularity, onPointClicked)\n )\n return;\n if (onAreaClicked) handleAreaClick(chart, clickX, clickY, data, groupBy, onAreaClicked);\n };\n\nexport const getAreaChartProOptions = (\n options: {\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const lineOptions = getLineChartGroupedProOptions(options, theme);\n\n return mergician(lineOptions, {\n scales: { y: { stacked: true } },\n interaction: { mode: 'index' as const, intersect: false },\n ...(theme.charts?.areaChartPro?.options || {}),\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { LineChartGroupedProProp } from '../LineChartGroupedPro';\nimport {\n createAreaClickHandler,\n getAreaChartProData,\n getAreaChartProOptions,\n} from './AreaChartPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { AreaChartProAreaClickArg, AreaChartProPointClickArg } from '../lines.types';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type AreaChartProProps = Omit<LineChartGroupedProProp, 'onLineClicked'> & {\n onPointClicked?: (arg: AreaChartProPointClickArg) => void;\n onAreaClicked?: (arg: AreaChartProAreaClickArg) => void;\n};\n\nconst AreaChartPro = (props: AreaChartProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n const {\n measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n granularity,\n setGranularity,\n onPointClicked,\n onAreaClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getAreaChartProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n\n const handleClick = createAreaClickHandler({\n data,\n dimension: xAxis,\n groupBy,\n granularity,\n onPointClicked,\n onAreaClicked,\n });\n\n const options = getAreaChartProOptions(\n { data, dimension: xAxis, groupDimension: groupBy, measure },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n )}\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default AreaChartPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { AreaChartProAreaClickArg, AreaChartProPointClickArg } from '../lines.types';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { lineChartGroupedPro, LineChartGroupedProState } from '../LineChartGroupedPro/definition';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\n\nconst meta = {\n ...lineChartGroupedPro.meta,\n name: 'AreaChartPro',\n label: 'Area Chart',\n events: [\n {\n name: 'onAreaClicked',\n label: 'An area is clicked',\n properties: [\n {\n name: 'segmentDimensionValue',\n label: 'Clicked segment dimension value',\n type: 'string',\n },\n {\n name: 'segmentDimensionTimeRange',\n label: 'Clicked segment dimension time range',\n type: 'timeRange',\n },\n ],\n },\n {\n name: 'onPointClicked',\n label: 'A point is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n {\n name: 'measureValue',\n label: 'Clicked measure value',\n type: 'number',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type AreaChartProState = LineChartGroupedProState;\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n xAxis?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [xAxis ?? inputs.xAxis, inputs.groupBy, inputs.measure],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, xAxis, clientContext));\n\nconst events = {\n onAreaClicked: (value: AreaChartProAreaClickArg) => ({\n segmentDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n segmentDimensionTimeRange: value.groupingDimensionTimeRange ?? Value.noFilter(),\n }),\n onPointClicked: (value: AreaChartProPointClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n measureValue: value.measureValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [AreaChartProState, (state: AreaChartProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n };\n};\n\nexport const areaChartPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getAreaChartProData","props","theme","data","getLineChartGroupedProData","dataset","setColorAlpha","getPixelPoints","chart","datasetIndex","interpolateLineY","clickX","points","i","left","right","t","last","handlePointClick","elementAtEvent","clickY","dimension","granularity","onPointClicked","clicked","pointY","_a","dimensionValue","_b","measureValue","_e","_d","_c","getTimeRangeFromDimensionValue","handleAreaClick","groupBy","onAreaClicked","chartBottom","lineY","baseY","groupingDimensionValue","createAreaClickHandler","event","Chart","getAreaChartProOptions","options","lineOptions","getLineChartGroupedProOptions","mergician","AreaChartPro","useTheme","i18nSetup","resolvedI18nProps","resolveI18nProps","title","description","tooltip","xAxisLabel","yAxisLabel","measure","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","handleClick","granularitySelectorHasMarginTop","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","LineChart","meta","lineChartGroupedPro","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","inputs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","value","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","areaChartPro"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition-n2w2opqD.js","sources":["../src/components/charts/lines/AreaChartPro/AreaChartPro.utils.ts","../src/components/charts/lines/AreaChartPro/index.tsx","../src/components/charts/lines/AreaChartPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { Chart, ChartData, ChartOptions } from 'chart.js';\nimport { mergician } from 'mergician';\nimport {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from '../LineChartGroupedPro/LineChartGroupedPro.utils';\nimport { getTimeRangeFromDimensionValue } from '../../../utils/dimension.utils';\nimport { setColorAlpha } from '../../../../utils/color.utils';\nimport { AreaChartProAreaClickArg, AreaChartProPointClickArg } from '../lines.types';\nimport { ChartClickArgs } from '@embeddable.com/remarkable-ui';\n\nexport const getAreaChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const data = getLineChartGroupedProData(props, theme);\n\n return {\n ...data,\n datasets: data.datasets.map((dataset) => ({\n ...dataset,\n fill: true,\n backgroundColor: setColorAlpha(dataset.backgroundColor as string, 0.9),\n })),\n };\n};\n\ntype PixelPoint = { x: number; y: number };\n\nconst getPixelPoints = (chart: Chart, datasetIndex: number): PixelPoint[] =>\n chart.getDatasetMeta(datasetIndex).data;\n\nconst interpolateLineY = (chart: Chart, datasetIndex: number, clickX: number): number | null => {\n const points = getPixelPoints(chart, datasetIndex);\n for (let i = 0; i < points.length - 1; i++) {\n const left = points[i]!;\n const right = points[i + 1]!;\n if (left.x <= clickX && right.x >= clickX) {\n const t = (clickX - left.x) / (right.x - left.x);\n return left.y + t * (right.y - left.y);\n }\n }\n const last = points.at(-1);\n return last?.x === clickX ? last.y : null;\n};\n\nconst handlePointClick = (\n chart: Chart,\n elementAtEvent: ChartClickArgs['elementAtEvent'],\n clickY: number,\n data: ChartData<'line'>,\n dimension: Dimension,\n granularity: Granularity | undefined,\n onPointClicked: (arg: AreaChartProPointClickArg) => void,\n): boolean => {\n if (!elementAtEvent.length) return false;\n\n const clicked = elementAtEvent[0]!;\n const pointY = getPixelPoints(chart, clicked.datasetIndex)[clicked.index]?.y;\n if (pointY == null) return false;\n\n if (Math.abs(clickY - pointY) > 8) return false;\n\n const dimensionValue = data?.labels?.[clicked.index] as string | undefined;\n const measureValue = (data?.datasets?.[clicked.datasetIndex] as { data?: unknown[] })?.data?.[\n clicked.index\n ] as number | undefined;\n\n onPointClicked({\n dimensionValue,\n dimensionTimeRange: getTimeRangeFromDimensionValue({\n value: dimensionValue,\n stateGranularity: granularity,\n dimension,\n }),\n measureValue,\n });\n return true;\n};\n\nconst handleAreaClick = (\n chart: Chart,\n clickX: number,\n clickY: number,\n data: ChartData<'line'>,\n groupBy: Dimension,\n onAreaClicked: (arg: AreaChartProAreaClickArg) => void,\n): void => {\n const chartBottom = chart.chartArea?.bottom ?? Infinity;\n\n for (let i = chart.data.datasets.length - 1; i >= 0; i--) {\n const lineY = interpolateLineY(chart, i, clickX);\n const baseY = i > 0 ? interpolateLineY(chart, i - 1, clickX) : chartBottom;\n if (lineY == null || baseY == null) continue;\n if (clickY < Math.min(lineY, baseY) || clickY > Math.max(lineY, baseY)) continue;\n\n const groupingDimensionValue = (data?.datasets?.[i] as { rawLabel?: string })?.rawLabel;\n onAreaClicked({\n groupingDimensionValue,\n groupingDimensionTimeRange: getTimeRangeFromDimensionValue({\n value: groupingDimensionValue,\n dimension: groupBy,\n }),\n });\n return;\n }\n};\n\nexport const createAreaClickHandler =\n ({\n data,\n dimension,\n groupBy,\n granularity,\n onPointClicked,\n onAreaClicked,\n }: {\n data: ChartData<'line'>;\n dimension: Dimension;\n groupBy: Dimension;\n granularity?: Granularity;\n onPointClicked?: (arg: AreaChartProPointClickArg) => void;\n onAreaClicked?: (arg: AreaChartProAreaClickArg) => void;\n }) =>\n ({ event, elementAtEvent }: ChartClickArgs): void => {\n const chart = Chart.getChart(event.target as HTMLCanvasElement);\n if (!chart) return;\n\n const clickX = event.nativeEvent.offsetX;\n const clickY = event.nativeEvent.offsetY;\n\n if (\n onPointClicked &&\n handlePointClick(chart, elementAtEvent, clickY, data, dimension, granularity, onPointClicked)\n )\n return;\n if (onAreaClicked) handleAreaClick(chart, clickX, clickY, data, groupBy, onAreaClicked);\n };\n\nexport const getAreaChartProOptions = (\n options: {\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const lineOptions = getLineChartGroupedProOptions(options, theme);\n\n return mergician(lineOptions, {\n scales: { y: { stacked: true } },\n interaction: { mode: 'index' as const, intersect: false },\n ...(theme.charts?.areaChartPro?.options || {}),\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { LineChartGroupedProProp } from '../LineChartGroupedPro';\nimport {\n createAreaClickHandler,\n getAreaChartProData,\n getAreaChartProOptions,\n} from './AreaChartPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { AreaChartProAreaClickArg, AreaChartProPointClickArg } from '../lines.types';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type AreaChartProProps = Omit<LineChartGroupedProProp, 'onLineClicked'> & {\n onPointClicked?: (arg: AreaChartProPointClickArg) => void;\n onAreaClicked?: (arg: AreaChartProAreaClickArg) => void;\n};\n\nconst AreaChartPro = (props: AreaChartProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n const {\n measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n granularity,\n setGranularity,\n onPointClicked,\n onAreaClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getAreaChartProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n\n const handleClick = createAreaClickHandler({\n data,\n dimension: xAxis,\n groupBy,\n granularity,\n onPointClicked,\n onAreaClicked,\n });\n\n const options = getAreaChartProOptions(\n { data, dimension: xAxis, groupDimension: groupBy, measure },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n )}\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default AreaChartPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { AreaChartProAreaClickArg, AreaChartProPointClickArg } from '../lines.types';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { lineChartGroupedPro, LineChartGroupedProState } from '../LineChartGroupedPro/definition';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\n\nconst meta = {\n ...lineChartGroupedPro.meta,\n name: 'AreaChartPro',\n label: 'Area Chart',\n events: [\n {\n name: 'onAreaClicked',\n label: 'An area is clicked',\n properties: [\n {\n name: 'segmentDimensionValue',\n label: 'Clicked segment dimension value',\n type: 'string',\n },\n {\n name: 'segmentDimensionTimeRange',\n label: 'Clicked segment dimension time range',\n type: 'timeRange',\n },\n ],\n },\n {\n name: 'onPointClicked',\n label: 'A point is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n {\n name: 'measureValue',\n label: 'Clicked measure value',\n type: 'number',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type AreaChartProState = LineChartGroupedProState;\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n xAxis?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [xAxis ?? inputs.xAxis, inputs.groupBy, inputs.measure],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, xAxis, clientContext));\n\nconst events = {\n onAreaClicked: (value: AreaChartProAreaClickArg) => ({\n segmentDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n segmentDimensionTimeRange: value.groupingDimensionTimeRange ?? Value.noFilter(),\n }),\n onPointClicked: (value: AreaChartProPointClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n measureValue: value.measureValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [AreaChartProState, (state: AreaChartProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n };\n};\n\nexport const areaChartPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getAreaChartProData","props","theme","data","getLineChartGroupedProData","dataset","setColorAlpha","getPixelPoints","chart","datasetIndex","interpolateLineY","clickX","points","i","left","right","t","last","handlePointClick","elementAtEvent","clickY","dimension","granularity","onPointClicked","clicked","pointY","_a","dimensionValue","_b","measureValue","_e","_d","_c","getTimeRangeFromDimensionValue","handleAreaClick","groupBy","onAreaClicked","chartBottom","lineY","baseY","groupingDimensionValue","createAreaClickHandler","event","Chart","getAreaChartProOptions","options","lineOptions","getLineChartGroupedProOptions","mergician","AreaChartPro","useTheme","i18nSetup","resolvedI18nProps","resolveI18nProps","title","description","tooltip","xAxisLabel","yAxisLabel","measure","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","handleClick","granularitySelectorHasMarginTop","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","LineChart","meta","lineChartGroupedPro","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","inputs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","value","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","areaChartPro"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { a0 as x, j as l, a8 as b, V as i } from "./index-BpJ2xsEV.js";
|
|
|
3
3
|
import { useState as C, useEffect as F } from "react";
|
|
4
4
|
import { E as P } from "./EditorCard-UMHyz0mi.js";
|
|
5
5
|
import { i as y, r as E } from "./component.utils-oQMZT7TK.js";
|
|
6
|
-
import { i as t } from "./component.inputs.constants-
|
|
6
|
+
import { i as t } from "./component.inputs.constants-CJRHMXHA.js";
|
|
7
7
|
const r = (e) => {
|
|
8
8
|
const s = g();
|
|
9
9
|
y(s);
|
|
@@ -87,4 +87,4 @@ export {
|
|
|
87
87
|
H as i,
|
|
88
88
|
M as t
|
|
89
89
|
};
|
|
90
|
-
//# sourceMappingURL=definition-
|
|
90
|
+
//# sourceMappingURL=definition-v65ricVf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-v65ricVf.js","sources":["../src/components/editors/TextFieldPro/index.tsx","../src/components/editors/TextFieldPro/definition.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { TextField, useDebounce } from '@embeddable.com/remarkable-ui';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { Theme } from '../../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\n\nexport type TextFieldProProps = {\n value?: string;\n placeholder?: string;\n onChange?: (value: string) => void;\n} & EditorCardHeaderProps;\n\nconst TextFieldPro = (props: TextFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n const { title, description, tooltip, placeholder = '' } = resolveI18nProps(props);\n const { value = '', onChange } = props;\n\n const [currentValue, setCurrentValue] = useState(value);\n\n const debouncedUpdateState = useDebounce((newValue: string) => {\n onChange?.(newValue);\n });\n\n useEffect(() => {\n debouncedUpdateState(currentValue);\n }, [currentValue, debouncedUpdateState]);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <TextField\n value={currentValue}\n placeholder={placeholder}\n onChange={setCurrentValue}\n clearable\n />\n </EditorCard>\n );\n};\n\nexport default TextFieldPro;\n","import { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport Component from '.';\nimport { inputs } from '../../component.inputs.constants';\n\nconst meta = {\n name: 'TextFieldPro',\n label: 'Text Field',\n description: 'Free-text input field. Pairs with a string variable; emits onChange.',\n category: 'Inputs',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.placeholder,\n {\n ...inputs.string,\n name: 'value',\n label: 'Value',\n category: 'Pre-configured Variables',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Entered value updated',\n properties: [\n {\n name: 'value',\n label: 'Entered value',\n type: 'string',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'text value',\n type: 'string',\n defaultValue: Value.noFilter(),\n inputs: ['value'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n placeholder: 'Enter text...',\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n});\n\nconst events = {\n onChange: (value: string) => ({\n value: value === '' || value == null ? Value.noFilter() : value,\n }),\n};\n\nexport const textFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["TextFieldPro","props","theme","useTheme","i18nSetup","title","description","tooltip","placeholder","resolveI18nProps","value","onChange","currentValue","setCurrentValue","useState","debouncedUpdateState","useDebounce","newValue","useEffect","jsx","EditorCard","TextField","meta","inputs","Value","preview","definePreview","Component","events","textFieldPro"],"mappings":";;;;;;AAcA,MAAMA,IAAe,CAACC,MAA6B;AACjD,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AACf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,IAAc,GAAA,IAAOC,EAAiBR,CAAK,GAC1E,EAAE,OAAAS,IAAQ,IAAI,UAAAC,EAAA,IAAaV,GAE3B,CAACW,GAAcC,CAAe,IAAIC,EAASJ,CAAK,GAEhDK,IAAuBC,EAAY,CAACC,MAAqB;AAC7D,IAAAN,KAAA,QAAAA,EAAWM;AAAA,EACb,CAAC;AAED,SAAAC,EAAU,MAAM;AACd,IAAAH,EAAqBH,CAAY;AAAA,EACnC,GAAG,CAACA,GAAcG,CAAoB,CAAC,GAGrCI,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAf,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAY,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,OAAOT;AAAA,MACP,aAAAJ;AAAA,MACA,UAAUK;AAAA,MACV,WAAS;AAAA,IAAA;AAAA,EAAA,GAEb;AAEJ;;;8CCnCMS,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,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,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,OAAO;AAAA,MAChB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,aAAa;AAAA,EACb,UAAU,MAAM;AAClB,CAAC,GAEK1B,IAAQ,CAACsB,OAAiC;AAAA,EAC9C,GAAGA;AACL,IAEMK,IAAS;AAAA,EACb,UAAU,CAAClB,OAAmB;AAAA,IAC5B,OAAOA,MAAU,MAAMA,KAAS,OAAOc,EAAM,aAAad;AAAA,EAAA;AAE9D,GAEamB,IAAe;AAAA,EAAA,WAC1BF;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAxB;AAAA,IACA,QAAA2B;AAAA,EAAA;AAEJ;"}
|
package/dist/{dimensionsAndMeasures.utils-Bkihe1T9.js → dimensionsAndMeasures.utils-6WmCMSx-.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as i } from "./formatter.utils-
|
|
1
|
+
import { g as i } from "./formatter.utils-BaA4WFcv.js";
|
|
2
2
|
const a = ({
|
|
3
3
|
dimensionsAndMeasures: n,
|
|
4
4
|
searchValue: t,
|
|
@@ -13,4 +13,4 @@ const a = ({
|
|
|
13
13
|
export {
|
|
14
14
|
a as g
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=dimensionsAndMeasures.utils-
|
|
16
|
+
//# sourceMappingURL=dimensionsAndMeasures.utils-6WmCMSx-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dimensionsAndMeasures.utils-
|
|
1
|
+
{"version":3,"file":"dimensionsAndMeasures.utils-6WmCMSx-.js","sources":["../src/components/editors/utils/dimensionsAndMeasures.utils.ts"],"sourcesContent":["import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\n\nexport const getDimensionAndMeasureOptions = ({\n dimensionsAndMeasures,\n searchValue,\n theme,\n}: {\n dimensionsAndMeasures: DimensionOrMeasure[];\n searchValue?: string;\n theme: Theme;\n}): SelectListOptionProps[] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return dimensionsAndMeasures\n .filter((dimensionOrMeasure) => {\n if (!searchValue) return true;\n\n return themeFormatter\n .dimensionOrMeasureTitle(dimensionOrMeasure)\n .toLowerCase()\n .includes(searchValue.toLowerCase());\n })\n .map((dimensionOrMeasure) => {\n return {\n value: dimensionOrMeasure.name,\n label: themeFormatter.dimensionOrMeasureTitle(dimensionOrMeasure),\n };\n });\n};\n"],"names":["getDimensionAndMeasureOptions","dimensionsAndMeasures","searchValue","theme","themeFormatter","getThemeFormatter","dimensionOrMeasure"],"mappings":";AAKO,MAAMA,IAAgC,CAAC;AAAA,EAC5C,uBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AACF,MAI+B;AAC7B,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAOF,EACJ,OAAO,CAACK,MACFJ,IAEEE,EACJ,wBAAwBE,CAAkB,EAC1C,cACA,SAASJ,EAAY,aAAa,IALZ,EAM1B,EACA,IAAI,CAACI,OACG;AAAA,IACL,OAAOA,EAAmB;AAAA,IAC1B,OAAOF,EAAe,wBAAwBE,CAAkB;AAAA,EAAA,EAEnE;AACL;"}
|
|
@@ -1,89 +1,89 @@
|
|
|
1
1
|
{
|
|
2
2
|
"components": [
|
|
3
|
+
"DimensionMeasureMultiSelectFieldPro",
|
|
3
4
|
"ComparisonPeriodSelectFieldPro",
|
|
4
|
-
"MeasureMultiSelectFieldPro",
|
|
5
5
|
"DimensionSingleSelectFieldPro",
|
|
6
|
-
"
|
|
6
|
+
"SingleSelectFieldPro",
|
|
7
|
+
"MultiSelectFieldPro",
|
|
8
|
+
"MeasureSingleSelectFieldPro",
|
|
7
9
|
"FilterBuilderPro",
|
|
8
10
|
"GranularitySelectFieldPro",
|
|
11
|
+
"MeasureMultiSelectFieldPro",
|
|
9
12
|
"BarChartDefaultHorizontalPro",
|
|
10
|
-
"
|
|
11
|
-
"MultiSelectFieldPro",
|
|
13
|
+
"BarChartGroupedPro",
|
|
12
14
|
"BarChartDefaultPro",
|
|
15
|
+
"DateRangeSelectFieldPro",
|
|
16
|
+
"DateRangePickerCustomPro",
|
|
13
17
|
"TextFieldPro",
|
|
14
|
-
"BarChartGroupedHorizontalPro",
|
|
15
|
-
"SingleSelectFieldPro",
|
|
16
18
|
"EmptyBlockPro",
|
|
17
|
-
"MarkdownPro",
|
|
18
|
-
"DateRangePickerCustomPro",
|
|
19
|
-
"DateRangeSelectFieldPro",
|
|
20
19
|
"HorizontalDividerPro",
|
|
21
|
-
"
|
|
20
|
+
"BarChartGroupedHorizontalPro",
|
|
21
|
+
"LineChartGroupedPro",
|
|
22
|
+
"BarChartStackedHorizontalPro",
|
|
23
|
+
"MarkdownPro",
|
|
22
24
|
"KpiChartNumberPro",
|
|
23
|
-
"KpiChartNumberComparisonPro",
|
|
24
|
-
"BarChartGroupedPro",
|
|
25
|
-
"BarLineChartPro",
|
|
26
25
|
"AreaChartPro",
|
|
27
|
-
"LineChartComparisonDefaultPro",
|
|
28
|
-
"DonutChartPro",
|
|
29
26
|
"LineChartComparisonWithKpiTabsPro",
|
|
30
|
-
"
|
|
27
|
+
"BarLineChartPro",
|
|
28
|
+
"KpiChartNumberComparisonPro",
|
|
29
|
+
"LineChartComparisonDefaultPro",
|
|
30
|
+
"LineChartDefaultPro",
|
|
31
|
+
"BubbleChartPro",
|
|
32
|
+
"DonutLabelChartPro",
|
|
31
33
|
"PieChartPro",
|
|
32
34
|
"LineChartWithKpiTabsPro",
|
|
35
|
+
"DonutChartPro",
|
|
36
|
+
"PivotTablePro",
|
|
33
37
|
"HeatMapPro",
|
|
34
|
-
"BarChartStackedHorizontalPro",
|
|
35
|
-
"DonutLabelChartPro",
|
|
36
|
-
"LineChartDefaultPro",
|
|
37
|
-
"TableChartPaginated",
|
|
38
|
-
"LineChartGroupedPro",
|
|
39
38
|
"ScatterChartPro",
|
|
40
|
-
"
|
|
41
|
-
"
|
|
39
|
+
"TableScrollable",
|
|
40
|
+
"BarChartStackedPro",
|
|
41
|
+
"TableChartPaginated"
|
|
42
42
|
],
|
|
43
43
|
"editors": [
|
|
44
44
|
"MarkdownEditor",
|
|
45
45
|
"ColorEditor"
|
|
46
46
|
],
|
|
47
47
|
"previews": [
|
|
48
|
+
"DimensionMeasureMultiSelectFieldPro",
|
|
48
49
|
"ComparisonPeriodSelectFieldPro",
|
|
49
|
-
"MeasureMultiSelectFieldPro",
|
|
50
50
|
"DimensionSingleSelectFieldPro",
|
|
51
|
-
"
|
|
51
|
+
"SingleSelectFieldPro",
|
|
52
|
+
"MultiSelectFieldPro",
|
|
53
|
+
"MeasureSingleSelectFieldPro",
|
|
52
54
|
"FilterBuilderPro",
|
|
53
55
|
"GranularitySelectFieldPro",
|
|
56
|
+
"MeasureMultiSelectFieldPro",
|
|
54
57
|
"BarChartDefaultHorizontalPro",
|
|
55
|
-
"
|
|
56
|
-
"MultiSelectFieldPro",
|
|
58
|
+
"BarChartGroupedPro",
|
|
57
59
|
"BarChartDefaultPro",
|
|
60
|
+
"DateRangeSelectFieldPro",
|
|
61
|
+
"DateRangePickerCustomPro",
|
|
58
62
|
"TextFieldPro",
|
|
59
|
-
"BarChartGroupedHorizontalPro",
|
|
60
|
-
"SingleSelectFieldPro",
|
|
61
63
|
"EmptyBlockPro",
|
|
62
|
-
"MarkdownPro",
|
|
63
|
-
"DateRangePickerCustomPro",
|
|
64
|
-
"DateRangeSelectFieldPro",
|
|
65
64
|
"HorizontalDividerPro",
|
|
66
|
-
"
|
|
65
|
+
"BarChartGroupedHorizontalPro",
|
|
66
|
+
"LineChartGroupedPro",
|
|
67
|
+
"BarChartStackedHorizontalPro",
|
|
68
|
+
"MarkdownPro",
|
|
67
69
|
"KpiChartNumberPro",
|
|
68
|
-
"KpiChartNumberComparisonPro",
|
|
69
|
-
"BarChartGroupedPro",
|
|
70
|
-
"BarLineChartPro",
|
|
71
70
|
"AreaChartPro",
|
|
72
|
-
"LineChartComparisonDefaultPro",
|
|
73
|
-
"DonutChartPro",
|
|
74
71
|
"LineChartComparisonWithKpiTabsPro",
|
|
75
|
-
"
|
|
72
|
+
"BarLineChartPro",
|
|
73
|
+
"KpiChartNumberComparisonPro",
|
|
74
|
+
"LineChartComparisonDefaultPro",
|
|
75
|
+
"LineChartDefaultPro",
|
|
76
|
+
"BubbleChartPro",
|
|
77
|
+
"DonutLabelChartPro",
|
|
76
78
|
"PieChartPro",
|
|
77
79
|
"LineChartWithKpiTabsPro",
|
|
80
|
+
"DonutChartPro",
|
|
81
|
+
"PivotTablePro",
|
|
78
82
|
"HeatMapPro",
|
|
79
|
-
"BarChartStackedHorizontalPro",
|
|
80
|
-
"DonutLabelChartPro",
|
|
81
|
-
"LineChartDefaultPro",
|
|
82
|
-
"TableChartPaginated",
|
|
83
|
-
"LineChartGroupedPro",
|
|
84
83
|
"ScatterChartPro",
|
|
85
|
-
"
|
|
86
|
-
"
|
|
84
|
+
"TableScrollable",
|
|
85
|
+
"BarChartStackedPro",
|
|
86
|
+
"TableChartPaginated"
|
|
87
87
|
],
|
|
88
88
|
"plugin": "react"
|
|
89
89
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { s as F } from "./index-BpJ2xsEV.js";
|
|
2
2
|
import { b as D } from "./component.utils-oQMZT7TK.js";
|
|
3
|
-
import { D as l } from "./component.inputs.constants-
|
|
3
|
+
import { D as l } from "./component.inputs.constants-CJRHMXHA.js";
|
|
4
4
|
const c = (r) => {
|
|
5
5
|
const n = {};
|
|
6
6
|
return (o) => {
|
|
@@ -61,4 +61,4 @@ export {
|
|
|
61
61
|
I as g,
|
|
62
62
|
b as i
|
|
63
63
|
};
|
|
64
|
-
//# sourceMappingURL=formatter.utils-
|
|
64
|
+
//# sourceMappingURL=formatter.utils-BaA4WFcv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.utils-
|
|
1
|
+
{"version":3,"file":"formatter.utils-BaA4WFcv.js","sources":["../src/utils/cache.utils.ts","../src/utils/data.utils.ts","../src/theme/formatter/formatter.utils.ts"],"sourcesContent":["/**\n * Creates a formatter cache.\n * Cache used to prevent unnecessary (expensive) creation of formatter objects\n */\nexport const cache = <Params, Formatter>(factory: (params?: Params) => Formatter) => {\n const internalCache: { [key: string]: Formatter } = {};\n const get = (params?: Params) => {\n const key = JSON.stringify(params);\n let formatter = internalCache[key];\n if (formatter) {\n return formatter;\n }\n formatter = factory(params);\n internalCache[key] = formatter;\n return formatter;\n };\n return get;\n};\n","import { CUBE_DIMENSION_TYPE_TIME, Dimension } from '@embeddable.com/core';\n\nconst ISO_DATE_TIME_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}$/;\n\nexport const isValidISODate = (value: string): boolean => {\n return Boolean(value && ISO_DATE_TIME_REGEX.test(value));\n};\n\nexport const getDimensionFieldName = (d: Dimension): string =>\n `${d.name}${d.nativeType === CUBE_DIMENSION_TYPE_TIME && d.inputs?.granularity ? `.${d.inputs.granularity}` : ''}`;\n","import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { DateTimeFormatter, NumberFormatter, StringFormatter } from './formatter.types';\nimport { Theme } from '../theme.types';\nimport { cache } from '../../utils/cache.utils';\nimport { isValidISODate } from '../../utils/data.utils';\nimport { resolveI18nString } from '../../components/component.utils';\nimport { DisplayFormatTypeOptions } from '../../components/types/DisplayFormat.type.emb';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getSubInputValue = (key: DimensionOrMeasure, inputKey: string, metaKey?: string) =>\n key.inputs?.[inputKey] ?? (key.meta as any)?.[metaKey ?? inputKey];\n\nexport type GetThemeFormatter = {\n string: (key: string) => string;\n number: (value: number | bigint, options?: Intl.NumberFormatOptions) => string;\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions) => string;\n dimensionOrMeasureTitle: (key: DimensionOrMeasure) => string;\n data: (key: DimensionOrMeasure, value: any) => string;\n};\n\nexport const getThemeFormatter = (theme: Theme): GetThemeFormatter => {\n const cachedNumberFormatter = cache<Intl.NumberFormatOptions, NumberFormatter>((options) =>\n theme.formatter.numberFormatter(theme, options),\n );\n\n const cachedDataNumberFormatter = cache<DimensionOrMeasure, NumberFormatter>((key) =>\n theme.formatter.dataNumberFormatter(theme, key!),\n );\n\n const cachedDateTimeFormatter = cache<Intl.DateTimeFormatOptions, DateTimeFormatter>((options) =>\n theme.formatter.dateTimeFormatter(theme, options),\n );\n\n const cachedDataDateTimeFormatter = cache<DimensionOrMeasure, DateTimeFormatter>((key) =>\n theme.formatter.dataDateTimeFormatter(theme, key!),\n );\n\n const cachedDataOthersFormatter = cache<DimensionOrMeasure, StringFormatter>((key) =>\n theme.formatter.dataOthersFormatter(theme, key!),\n );\n\n return {\n string: (key: string) => theme.formatter.stringFormatter().format(key),\n number: (value: number | bigint, options?: Intl.NumberFormatOptions): string => {\n return cachedNumberFormatter(options).format(value);\n },\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions): string => {\n return cachedDateTimeFormatter(options).format(value);\n },\n dimensionOrMeasureTitle: (key: DimensionOrMeasure): string => {\n const displayName = getSubInputValue(key, 'displayName');\n if (displayName) {\n if (displayName.includes('|')) {\n return resolveI18nString(displayName);\n }\n return displayName;\n }\n\n const resolved = cachedDataOthersFormatter(key).format(key.name);\n return resolved === key.name ? (key.title ?? key.name) : resolved;\n },\n data: (key: DimensionOrMeasure, value: any): string => {\n let newValue = value;\n\n // Nulls (inputs override meta)\n if (value == null) {\n return getSubInputValue(key, 'displayNullAs') ?? '';\n }\n\n // JSON and Markdown (inputs override meta)\n const displayFormat = getSubInputValue(key, 'displayFormat');\n if (displayFormat === DisplayFormatTypeOptions.JSON) {\n return JSON.stringify(value, null, 2);\n }\n if (displayFormat === DisplayFormatTypeOptions.MARKDOWN) {\n return value;\n }\n // Objects\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n\n // Number\n if (key.nativeType === 'number') {\n newValue = cachedDataNumberFormatter(key).format(value);\n }\n\n // Time\n if (key.nativeType === 'time' && isValidISODate(value)) {\n newValue = cachedDataDateTimeFormatter(key).format(new Date(value));\n }\n\n // Others (boolean and string)\n if (key.nativeType === 'boolean' || key.nativeType === 'string') {\n newValue = cachedDataOthersFormatter(key).format(value);\n }\n\n // Prefix and suffix (inputs override meta; meta uses pretext/posttext)\n const prefix = getSubInputValue(key, 'prefix', 'pretext') || '';\n const suffix = getSubInputValue(key, 'suffix', 'posttext') || '';\n const appended = `${prefix}${newValue}${suffix}`;\n\n // Max characters (inputs override meta)\n const maxCharacters = getSubInputValue(key, 'maxCharacters');\n if (maxCharacters != null) {\n if (appended.length <= maxCharacters) {\n return appended;\n }\n return appended.substring(0, maxCharacters) + '...';\n }\n\n return appended;\n },\n };\n};\n"],"names":["cache","factory","internalCache","params","key","formatter","ISO_DATE_TIME_REGEX","isValidISODate","value","getDimensionFieldName","d","CUBE_DIMENSION_TYPE_TIME","_a","getSubInputValue","inputKey","metaKey","_b","getThemeFormatter","theme","cachedNumberFormatter","options","cachedDataNumberFormatter","cachedDateTimeFormatter","cachedDataDateTimeFormatter","cachedDataOthersFormatter","displayName","resolveI18nString","resolved","newValue","displayFormat","DisplayFormatTypeOptions","prefix","suffix","appended","maxCharacters"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as s, f as y } from "./index-BpJ2xsEV.js";
|
|
2
|
-
import { G as p } from "./GranularitySelectField-
|
|
2
|
+
import { G as p } from "./GranularitySelectField-DqIroVY8.js";
|
|
3
3
|
const g = "_chartGranularitySelectFieldContainer_m26zn_1", G = "_marginTop_m26zn_7", o = {
|
|
4
4
|
chartGranularitySelectFieldContainer: g,
|
|
5
5
|
marginTop: G
|
|
@@ -48,4 +48,4 @@ export {
|
|
|
48
48
|
S as C,
|
|
49
49
|
x as g
|
|
50
50
|
};
|
|
51
|
-
//# sourceMappingURL=granularity.utils-
|
|
51
|
+
//# sourceMappingURL=granularity.utils-BXLMSveL.js.map
|