@embeddable.com/remarkable-pro 0.2.8 → 0.2.10
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 +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/BubbleChartPro.js +9 -0
- package/dist/BubbleChartPro.js.map +1 -0
- package/dist/{ChartCard-CnFskmyD.js → ChartCard-CatiYbl-.js} +4 -4
- package/dist/{ChartCard-CnFskmyD.js.map → ChartCard-CatiYbl-.js.map} +1 -1
- package/dist/{Color.type.emb-D_fJSNRw.js → Color.type.emb-BS-55GUE.js} +2 -2
- package/dist/{Color.type.emb-D_fJSNRw.js.map → Color.type.emb-BS-55GUE.js.map} +1 -1
- package/dist/ColorEditor.js +3 -3
- package/dist/ComparisonPeriodSelectFieldPro.js +1 -1
- package/dist/DateRangePickerCustomPro.js +1 -1
- package/dist/DateRangeSelectFieldPro.js +1 -1
- package/dist/{DimensionAndMeasureSingleSelectField-BJPdnT5d.js → DimensionAndMeasureSingleSelectField-BLjcB7Bi.js} +3 -3
- package/dist/{DimensionAndMeasureSingleSelectField-BJPdnT5d.js.map → DimensionAndMeasureSingleSelectField-BLjcB7Bi.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/{EditorCard-CJkGe_Gl.js → EditorCard-BTieCUGT.js} +3 -3
- package/dist/{EditorCard-CJkGe_Gl.js.map → EditorCard-BTieCUGT.js.map} +1 -1
- package/dist/FilterBuilderPro.js +6 -6
- package/dist/FilterBuilderPro.js.map +1 -1
- package/dist/{GranularitySelectField-Dm8Wy6En.js → GranularitySelectField-CGsBYf4h.js} +3 -3
- package/dist/{GranularitySelectField-Dm8Wy6En.js.map → GranularitySelectField-CGsBYf4h.js.map} +1 -1
- package/dist/GranularitySelectFieldPro.js +1 -1
- package/dist/HeatMapPro.js +1 -1
- package/dist/HorizontalDividerPro.js +1 -1
- package/dist/{IconAlertCircle-ZAvmipnQ.js → IconAlertCircle-DGuTo5fd.js} +3 -3
- package/dist/{IconAlertCircle-ZAvmipnQ.js.map → IconAlertCircle-DGuTo5fd.js.map} +1 -1
- package/dist/{IconCalendarFilled-CU7cHXJ5.js → IconCalendarFilled-S6JFULws.js} +3 -3
- package/dist/{IconCalendarFilled-CU7cHXJ5.js.map → IconCalendarFilled-S6JFULws.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +1 -1
- package/dist/KpiChartNumberPro.js +1 -1
- package/dist/LineChartComparisonDefaultPro.js +1 -1
- package/dist/LineChartComparisonWithKpiTabsPro.js +13 -0
- package/dist/LineChartComparisonWithKpiTabsPro.js.map +1 -0
- package/dist/LineChartDefaultPro.js +1 -1
- package/dist/LineChartGroupedPro.js +1 -1
- package/dist/LineChartWithKpiTabsPro.js +1 -1
- package/dist/{Markdown.type.emb-DXjjeXSE.js → Markdown.type.emb-CUa6Xa26.js} +2 -2
- package/dist/{Markdown.type.emb-DXjjeXSE.js.map → Markdown.type.emb-CUa6Xa26.js.map} +1 -1
- package/dist/MarkdownEditor.js +3 -3
- 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/{af-uHOhV9Co.js → af-CCdGr-PG.js} +3 -3
- package/dist/{af-uHOhV9Co.js.map → af-CCdGr-PG.js.map} +1 -1
- package/dist/{am-CtT1kly4.js → am-BcjBHTya.js} +3 -3
- package/dist/{am-CtT1kly4.js.map → am-BcjBHTya.js.map} +1 -1
- package/dist/{ar-D5E-Zv9V.js → ar-0Yx4b8cc.js} +3 -3
- package/dist/{ar-D5E-Zv9V.js.map → ar-0Yx4b8cc.js.map} +1 -1
- package/dist/{az-ATRYSvK6.js → az-D6jQ3xBE.js} +3 -3
- package/dist/{az-ATRYSvK6.js.map → az-D6jQ3xBE.js.map} +1 -1
- package/dist/{bars.loadData.utils-a3f4E9Xg.js → bars.loadData.utils-Do6Hqrrm.js} +4 -4
- package/dist/{bars.loadData.utils-a3f4E9Xg.js.map → bars.loadData.utils-Do6Hqrrm.js.map} +1 -1
- package/dist/{bars.utils-DQ7dY7NI.js → bars.utils-CL2mYAdO.js} +5 -5
- package/dist/{bars.utils-DQ7dY7NI.js.map → bars.utils-CL2mYAdO.js.map} +1 -1
- package/dist/{be-PUkbmY-X.js → be-ByG07ZJB.js} +3 -3
- package/dist/{be-PUkbmY-X.js.map → be-ByG07ZJB.js.map} +1 -1
- package/dist/{bg-BQiPbTwz.js → bg-DMxdxDal.js} +3 -3
- package/dist/{bg-BQiPbTwz.js.map → bg-DMxdxDal.js.map} +1 -1
- package/dist/{bi-DVuRGcp3.js → bi-Bs7vLeRf.js} +3 -3
- package/dist/{bi-DVuRGcp3.js.map → bi-Bs7vLeRf.js.map} +1 -1
- package/dist/{bm-DFKDlAK-.js → bm-DKqtUyso.js} +3 -3
- package/dist/{bm-DFKDlAK-.js.map → bm-DKqtUyso.js.map} +1 -1
- package/dist/{bn-2fofvXCe.js → bn--zx3B8eB.js} +3 -3
- package/dist/{bn-2fofvXCe.js.map → bn--zx3B8eB.js.map} +1 -1
- package/dist/{bo-jXjY3jii.js → bo-C-Mo2tVa.js} +3 -3
- package/dist/{bo-jXjY3jii.js.map → bo-C-Mo2tVa.js.map} +1 -1
- package/dist/{br--wF92TAa.js → br-bJTDs0ol.js} +3 -3
- package/dist/{br--wF92TAa.js.map → br-bJTDs0ol.js.map} +1 -1
- package/dist/{bs-zUVOTqi3.js → bs-1MO06Z8E.js} +3 -3
- package/dist/{bs-zUVOTqi3.js.map → bs-1MO06Z8E.js.map} +1 -1
- package/dist/{ca-C5jtnFnG.js → ca-CESpc4NU.js} +3 -3
- package/dist/{ca-C5jtnFnG.js.map → ca-CESpc4NU.js.map} +1 -1
- package/dist/{charts.fillGaps.hooks-BNF-g1iW.js → charts.fillGaps.hooks-DJ2h9dko.js} +15 -15
- package/dist/{charts.fillGaps.hooks-BNF-g1iW.js.map → charts.fillGaps.hooks-DJ2h9dko.js.map} +1 -1
- package/dist/{charts.utils-D9vzv_R0.js → charts.utils-CdKlmjQg.js} +2 -2
- package/dist/{charts.utils-D9vzv_R0.js.map → charts.utils-CdKlmjQg.js.map} +1 -1
- package/dist/{component.inputs.constants-Btzhai00.js → component.inputs.constants-CIEx8GcX.js} +4 -4
- package/dist/{component.inputs.constants-Btzhai00.js.map → component.inputs.constants-CIEx8GcX.js.map} +1 -1
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/BarChartDefaultHorizontalPro.emb.d.ts +2 -3
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/BarChartDefaultHorizontalPro.emb.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/definition.d.ts +1 -2
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartDefaultPro/BarChartDefaultPro.emb.d.ts +2 -3
- package/dist/components/charts/bars/BarChartDefaultPro/BarChartDefaultPro.emb.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartDefaultPro/definition.d.ts +1 -2
- package/dist/components/charts/bars/BarChartDefaultPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/BarChartGroupedHorizontalPro.emb.d.ts +2 -3
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/BarChartGroupedHorizontalPro.emb.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/definition.d.ts +1 -2
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/BarChartGroupedPro.emb.d.ts +2 -3
- package/dist/components/charts/bars/BarChartGroupedPro/BarChartGroupedPro.emb.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/definition.d.ts +1 -2
- package/dist/components/charts/bars/BarChartGroupedPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/BarChartStackedHorizontalPro.emb.d.ts +2 -3
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/BarChartStackedHorizontalPro.emb.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/definition.d.ts +1 -2
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/BarChartStackedPro.emb.d.ts +2 -3
- package/dist/components/charts/bars/BarChartStackedPro/BarChartStackedPro.emb.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/definition.d.ts +1 -2
- package/dist/components/charts/bars/BarChartStackedPro/definition.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.d.ts +2 -3
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/definition.d.ts +1 -2
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/definition.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberPro/KpiChartNumberPro.emb.d.ts +2 -3
- package/dist/components/charts/kpis/KpiChartNumberPro/KpiChartNumberPro.emb.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberPro/definition.d.ts +1 -2
- package/dist/components/charts/kpis/KpiChartNumberPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.emb.d.ts +2 -3
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.emb.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/definition.d.ts +4 -2
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/LineChartComparisonWithKpiTabsPro.emb.d.ts +199 -0
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/LineChartComparisonWithKpiTabsPro.emb.d.ts.map +1 -0
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/LineChartComparisonWithKpiTabsPro.utils.d.ts +13 -0
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/LineChartComparisonWithKpiTabsPro.utils.d.ts.map +1 -0
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/definition.d.ts +1167 -0
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/definition.d.ts.map +1 -0
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/index.d.ts +10 -0
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/index.d.ts.map +1 -0
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/index.test.d.ts +2 -0
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/index.test.d.ts.map +1 -0
- package/dist/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.emb.d.ts +2 -3
- package/dist/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.emb.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartDefaultPro/definition.d.ts +1 -2
- package/dist/components/charts/lines/LineChartDefaultPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.emb.d.ts +2 -3
- package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.emb.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/definition.d.ts +1 -2
- package/dist/components/charts/lines/LineChartGroupedPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartWithKpiTabsPro/LineChartWithKpiTabsPro.emb.d.ts +2 -3
- package/dist/components/charts/lines/LineChartWithKpiTabsPro/LineChartWithKpiTabsPro.emb.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartWithKpiTabsPro/definition.d.ts +1 -2
- package/dist/components/charts/lines/LineChartWithKpiTabsPro/definition.d.ts.map +1 -1
- package/dist/components/charts/pies/DonutChartPro/DonutChartPro.emb.d.ts +2 -3
- package/dist/components/charts/pies/DonutChartPro/DonutChartPro.emb.d.ts.map +1 -1
- package/dist/components/charts/pies/DonutChartPro/definition.d.ts +1 -2
- package/dist/components/charts/pies/DonutChartPro/definition.d.ts.map +1 -1
- package/dist/components/charts/pies/DonutLabelChartPro/DonutLabelChartPro.emb.d.ts +2 -3
- package/dist/components/charts/pies/DonutLabelChartPro/DonutLabelChartPro.emb.d.ts.map +1 -1
- package/dist/components/charts/pies/DonutLabelChartPro/definition.d.ts +1 -2
- package/dist/components/charts/pies/DonutLabelChartPro/definition.d.ts.map +1 -1
- package/dist/components/charts/pies/PieChartPro/PieChartPro.emb.d.ts +2 -3
- package/dist/components/charts/pies/PieChartPro/PieChartPro.emb.d.ts.map +1 -1
- package/dist/components/charts/pies/PieChartPro/definition.d.ts +1 -2
- package/dist/components/charts/pies/PieChartPro/definition.d.ts.map +1 -1
- package/dist/components/charts/scatter/BubbleChartPro/BubbleChartPro.emb.d.ts +211 -0
- package/dist/components/charts/scatter/BubbleChartPro/BubbleChartPro.emb.d.ts.map +1 -0
- package/dist/components/charts/scatter/BubbleChartPro/BubbleChartPro.types.d.ts +9 -0
- package/dist/components/charts/scatter/BubbleChartPro/BubbleChartPro.types.d.ts.map +1 -0
- package/dist/components/charts/scatter/BubbleChartPro/BubbleChartPro.utils.d.ts +38 -0
- package/dist/components/charts/scatter/BubbleChartPro/BubbleChartPro.utils.d.ts.map +1 -0
- package/dist/components/charts/scatter/BubbleChartPro/BubbleChartPro.utils.test.d.ts +2 -0
- package/dist/components/charts/scatter/BubbleChartPro/BubbleChartPro.utils.test.d.ts.map +1 -0
- package/dist/components/charts/scatter/BubbleChartPro/definition.d.ts +479 -0
- package/dist/components/charts/scatter/BubbleChartPro/definition.d.ts.map +1 -0
- package/dist/components/charts/scatter/BubbleChartPro/index.d.ts +30 -0
- package/dist/components/charts/scatter/BubbleChartPro/index.d.ts.map +1 -0
- package/dist/components/charts/scatter/ScatterChartPro/ScatterChartPro.emb.d.ts +2 -3
- package/dist/components/charts/scatter/ScatterChartPro/ScatterChartPro.emb.d.ts.map +1 -1
- package/dist/components/charts/scatter/{scatter.types.d.ts → ScatterChartPro/ScatterChartPro.types.d.ts} +1 -1
- package/dist/components/charts/scatter/ScatterChartPro/ScatterChartPro.types.d.ts.map +1 -0
- package/dist/components/charts/scatter/ScatterChartPro/ScatterChartPro.utils.d.ts +3 -3
- package/dist/components/charts/scatter/ScatterChartPro/ScatterChartPro.utils.d.ts.map +1 -1
- package/dist/components/charts/scatter/ScatterChartPro/definition.d.ts +3 -4
- package/dist/components/charts/scatter/ScatterChartPro/definition.d.ts.map +1 -1
- package/dist/components/charts/scatter/ScatterChartPro/index.d.ts +1 -1
- package/dist/components/charts/scatter/ScatterChartPro/index.d.ts.map +1 -1
- package/dist/components/charts/scatter/scatter.utils.d.ts +18 -0
- package/dist/components/charts/scatter/scatter.utils.d.ts.map +1 -0
- package/dist/components/charts/tables/HeatMapPro/HeatMapPro.emb.d.ts +2 -3
- package/dist/components/charts/tables/HeatMapPro/HeatMapPro.emb.d.ts.map +1 -1
- package/dist/components/charts/tables/HeatMapPro/definition.d.ts +1 -2
- package/dist/components/charts/tables/HeatMapPro/definition.d.ts.map +1 -1
- package/dist/components/charts/tables/PivotTablePro/PivotTablePro.emb.d.ts +2 -3
- package/dist/components/charts/tables/PivotTablePro/PivotTablePro.emb.d.ts.map +1 -1
- package/dist/components/charts/tables/PivotTablePro/definition.d.ts +1 -2
- package/dist/components/charts/tables/PivotTablePro/definition.d.ts.map +1 -1
- package/dist/components/charts/tables/TableChartPaginated/TableChartPaginated.emb.d.ts +2 -3
- package/dist/components/charts/tables/TableChartPaginated/TableChartPaginated.emb.d.ts.map +1 -1
- package/dist/components/charts/tables/TableChartPaginated/definition.d.ts +1 -2
- package/dist/components/charts/tables/TableChartPaginated/definition.d.ts.map +1 -1
- package/dist/components/charts/tables/TableScrollable/TableScrollable.emb.d.ts +2 -3
- package/dist/components/charts/tables/TableScrollable/TableScrollable.emb.d.ts.map +1 -1
- package/dist/components/charts/tables/TableScrollable/definition.d.ts +1 -2
- package/dist/components/charts/tables/TableScrollable/definition.d.ts.map +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.emb.d.ts +2 -3
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.emb.d.ts.map +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/definition.d.ts +1 -2
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/definition.d.ts.map +1 -1
- package/dist/components/editors/DimensionOrMeasureMultiSelectFieldPro/DimensionMeasureMultiSelectFieldPro.emb.d.ts +2 -3
- package/dist/components/editors/DimensionOrMeasureMultiSelectFieldPro/DimensionMeasureMultiSelectFieldPro.emb.d.ts.map +1 -1
- package/dist/components/editors/DimensionOrMeasureMultiSelectFieldPro/definition.d.ts +1 -2
- package/dist/components/editors/DimensionOrMeasureMultiSelectFieldPro/definition.d.ts.map +1 -1
- package/dist/components/editors/DimensionSingleSelectFieldPro/DimensionSingleSelectFieldPro.emb.d.ts +2 -3
- package/dist/components/editors/DimensionSingleSelectFieldPro/DimensionSingleSelectFieldPro.emb.d.ts.map +1 -1
- package/dist/components/editors/DimensionSingleSelectFieldPro/definition.d.ts +1 -2
- package/dist/components/editors/DimensionSingleSelectFieldPro/definition.d.ts.map +1 -1
- package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.emb.d.ts +2 -3
- package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.emb.d.ts.map +1 -1
- package/dist/components/editors/FilterBuilderPro/definition.d.ts +1 -2
- package/dist/components/editors/FilterBuilderPro/definition.d.ts.map +1 -1
- package/dist/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.emb.d.ts +2 -3
- package/dist/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.emb.d.ts.map +1 -1
- package/dist/components/editors/GranularitySelectFieldPro/definition.d.ts +1 -2
- package/dist/components/editors/GranularitySelectFieldPro/definition.d.ts.map +1 -1
- package/dist/components/editors/MeasureMultiSelectFieldPro/MeasureMultiSelectFieldPro.emb.d.ts +2 -3
- package/dist/components/editors/MeasureMultiSelectFieldPro/MeasureMultiSelectFieldPro.emb.d.ts.map +1 -1
- package/dist/components/editors/MeasureMultiSelectFieldPro/definition.d.ts +1 -2
- package/dist/components/editors/MeasureMultiSelectFieldPro/definition.d.ts.map +1 -1
- package/dist/components/editors/MeasureSingleSelectFieldPro/MeasureSingleSelectFieldPro.emb.d.ts +2 -3
- package/dist/components/editors/MeasureSingleSelectFieldPro/MeasureSingleSelectFieldPro.emb.d.ts.map +1 -1
- package/dist/components/editors/MeasureSingleSelectFieldPro/definition.d.ts +1 -2
- package/dist/components/editors/MeasureSingleSelectFieldPro/definition.d.ts.map +1 -1
- package/dist/components/editors/MultiSelectFieldPro/MultiSelectFieldPro.emb.d.ts +2 -3
- package/dist/components/editors/MultiSelectFieldPro/MultiSelectFieldPro.emb.d.ts.map +1 -1
- package/dist/components/editors/MultiSelectFieldPro/definition.d.ts +1 -2
- package/dist/components/editors/MultiSelectFieldPro/definition.d.ts.map +1 -1
- package/dist/components/editors/SingleSelectFieldPro/SingleSelectFieldPro.emb.d.ts +2 -3
- package/dist/components/editors/SingleSelectFieldPro/SingleSelectFieldPro.emb.d.ts.map +1 -1
- package/dist/components/editors/SingleSelectFieldPro/definition.d.ts +1 -2
- package/dist/components/editors/SingleSelectFieldPro/definition.d.ts.map +1 -1
- package/dist/components/editors/TextFieldPro/TextFieldPro.emb.d.ts +2 -3
- package/dist/components/editors/TextFieldPro/TextFieldPro.emb.d.ts.map +1 -1
- package/dist/components/editors/TextFieldPro/definition.d.ts +1 -2
- package/dist/components/editors/TextFieldPro/definition.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerCustomPro/DateRangePickerCustomPro.emb.d.ts +2 -3
- package/dist/components/editors/dates/DateRangePickerCustomPro/DateRangePickerCustomPro.emb.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerCustomPro/definition.d.ts +1 -2
- package/dist/components/editors/dates/DateRangePickerCustomPro/definition.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangeSelectFieldPro.emb.d.ts +2 -3
- package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangeSelectFieldPro.emb.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/definition.d.ts +1 -2
- package/dist/components/editors/dates/DateRangePickerPresetsPro/definition.d.ts.map +1 -1
- package/dist/components/preview.data.constants.d.ts +1 -0
- package/dist/components/preview.data.constants.d.ts.map +1 -1
- package/dist/components/shared/EmptyContainerPro/EmptyBlockPro.emb.d.ts +2 -3
- package/dist/components/shared/EmptyContainerPro/EmptyBlockPro.emb.d.ts.map +1 -1
- package/dist/components/shared/EmptyContainerPro/definition.d.ts +1 -2
- package/dist/components/shared/EmptyContainerPro/definition.d.ts.map +1 -1
- package/dist/components/shared/HorizontalDividerPro/HorizontalDividerPro.emb.d.ts +2 -3
- package/dist/components/shared/HorizontalDividerPro/HorizontalDividerPro.emb.d.ts.map +1 -1
- package/dist/components/shared/HorizontalDividerPro/definition.d.ts +1 -2
- package/dist/components/shared/HorizontalDividerPro/definition.d.ts.map +1 -1
- package/dist/components/shared/MarkdownPro/MarkdownPro.emb.d.ts +2 -3
- package/dist/components/shared/MarkdownPro/MarkdownPro.emb.d.ts.map +1 -1
- package/dist/components/shared/MarkdownPro/definition.d.ts +1 -2
- package/dist/components/shared/MarkdownPro/definition.d.ts.map +1 -1
- package/dist/{cs-D_8y61Ku.js → cs-D8VrUgB1.js} +3 -3
- package/dist/{cs-D_8y61Ku.js.map → cs-D8VrUgB1.js.map} +1 -1
- package/dist/{cv-7LZfsIQm.js → cv-BI40TjhM.js} +3 -3
- package/dist/{cv-7LZfsIQm.js.map → cv-BI40TjhM.js.map} +1 -1
- package/dist/{cy-BbGkfM6e.js → cy-BtTp6CZU.js} +3 -3
- package/dist/{cy-BbGkfM6e.js.map → cy-BtTp6CZU.js.map} +1 -1
- package/dist/{da-Bmifdh_T.js → da-Ddz06LQJ.js} +3 -3
- package/dist/{da-Bmifdh_T.js.map → da-Ddz06LQJ.js.map} +1 -1
- package/dist/dates.utils-D8ZJoQxc.js +169 -0
- package/dist/{dates.utils-C32kbsZJ.js.map → dates.utils-D8ZJoQxc.js.map} +1 -1
- package/dist/{de-KhYVicJp.js → de-BeD9UR04.js} +3 -3
- package/dist/{de-KhYVicJp.js.map → de-BeD9UR04.js.map} +1 -1
- package/dist/{definition-C-LSx2FA.js → definition-0nqHbjry.js} +13 -13
- package/dist/{definition-C-LSx2FA.js.map → definition-0nqHbjry.js.map} +1 -1
- package/dist/{definition-H-Otyg-8.js → definition-1sIuX_RS.js} +9 -9
- package/dist/{definition-H-Otyg-8.js.map → definition-1sIuX_RS.js.map} +1 -1
- package/dist/{definition-D7TVH6gU.js → definition-6n187XS3.js} +6 -6
- package/dist/{definition-D7TVH6gU.js.map → definition-6n187XS3.js.map} +1 -1
- package/dist/{definition-DVPzl0Hg.js → definition-B-ZwQgyf.js} +6 -6
- package/dist/{definition-DVPzl0Hg.js.map → definition-B-ZwQgyf.js.map} +1 -1
- package/dist/{definition-CzxHpKyY.js → definition-B27fLC1x.js} +29 -29
- package/dist/{definition-CzxHpKyY.js.map → definition-B27fLC1x.js.map} +1 -1
- package/dist/{definition-BZGU5Msp.js → definition-B70MJmBM.js} +9 -9
- package/dist/{definition-BZGU5Msp.js.map → definition-B70MJmBM.js.map} +1 -1
- package/dist/{definition-tepgLiGn.js → definition-B7BBKe7O.js} +10 -10
- package/dist/{definition-tepgLiGn.js.map → definition-B7BBKe7O.js.map} +1 -1
- package/dist/{definition-hwFKFmsG.js → definition-BHH8dj7a.js} +10 -10
- package/dist/{definition-hwFKFmsG.js.map → definition-BHH8dj7a.js.map} +1 -1
- package/dist/{definition-CJXWUE2a.js → definition-BQGwKbTz.js} +4 -4
- package/dist/{definition-CJXWUE2a.js.map → definition-BQGwKbTz.js.map} +1 -1
- package/dist/{definition-BcpVbttW.js → definition-BSaeb-8G.js} +10 -10
- package/dist/{definition-BcpVbttW.js.map → definition-BSaeb-8G.js.map} +1 -1
- package/dist/{definition-Cn74rnSx.js → definition-ByBRb8r_.js} +9 -9
- package/dist/{definition-Cn74rnSx.js.map → definition-ByBRb8r_.js.map} +1 -1
- package/dist/{definition-BMAruTew.js → definition-C9ErCnmn.js} +6 -6
- package/dist/{definition-BMAruTew.js.map → definition-C9ErCnmn.js.map} +1 -1
- package/dist/{definition-DCtFnBa0.js → definition-COnRI1oJ.js} +10 -10
- package/dist/{definition-DCtFnBa0.js.map → definition-COnRI1oJ.js.map} +1 -1
- package/dist/{definition-DQjmswi2.js → definition-CPhscnZB.js} +3 -3
- package/dist/{definition-DQjmswi2.js.map → definition-CPhscnZB.js.map} +1 -1
- package/dist/{definition-Bp68EhDD.js → definition-CdXHVzxe.js} +6 -6
- package/dist/{definition-Bp68EhDD.js.map → definition-CdXHVzxe.js.map} +1 -1
- package/dist/{definition-CdNZlvx8.js → definition-D0UDgs9O.js} +18 -18
- package/dist/{definition-CdNZlvx8.js.map → definition-D0UDgs9O.js.map} +1 -1
- package/dist/definition-D0g7Pazt.js +309 -0
- package/dist/definition-D0g7Pazt.js.map +1 -0
- package/dist/{definition-6_It7xEv.js → definition-D38kIOtQ.js} +6 -6
- package/dist/{definition-6_It7xEv.js.map → definition-D38kIOtQ.js.map} +1 -1
- package/dist/{definition-BCM8UN7h.js → definition-DI27PK_0.js} +6 -6
- package/dist/{definition-BCM8UN7h.js.map → definition-DI27PK_0.js.map} +1 -1
- package/dist/{definition-BYDeIPmI.js → definition-D_aFQnX_.js} +16 -16
- package/dist/{definition-BYDeIPmI.js.map → definition-D_aFQnX_.js.map} +1 -1
- package/dist/{definition-DsRVyZre.js → definition-DbJm1ZtX.js} +10 -10
- package/dist/{definition-DsRVyZre.js.map → definition-DbJm1ZtX.js.map} +1 -1
- package/dist/{definition-Bp4fdT7n.js → definition-Ddlk9Qnc.js} +3 -3
- package/dist/{definition-Bp4fdT7n.js.map → definition-Ddlk9Qnc.js.map} +1 -1
- package/dist/{definition-BUh53a-T.js → definition-DfkX2-sf.js} +6 -6
- package/dist/{definition-BUh53a-T.js.map → definition-DfkX2-sf.js.map} +1 -1
- package/dist/{definition-Nu22L7zJ.js → definition-Do8J2457.js} +6 -6
- package/dist/{definition-Nu22L7zJ.js.map → definition-Do8J2457.js.map} +1 -1
- package/dist/{definition-DU7SahNH.js → definition-DvEU_VPT.js} +6 -6
- package/dist/{definition-DU7SahNH.js.map → definition-DvEU_VPT.js.map} +1 -1
- package/dist/definition-DwnteodG.js +390 -0
- package/dist/definition-DwnteodG.js.map +1 -0
- package/dist/{definition-DHMdDiX7.js → definition-PMS0Zy7M.js} +6 -6
- package/dist/{definition-DHMdDiX7.js.map → definition-PMS0Zy7M.js.map} +1 -1
- package/dist/{definition-BuHQzlFu.js → definition-_MNEtEy7.js} +5 -5
- package/dist/{definition-BuHQzlFu.js.map → definition-_MNEtEy7.js.map} +1 -1
- package/dist/{definition-DVwHCfly.js → definition-a7s685l9.js} +9 -9
- package/dist/{definition-DVwHCfly.js.map → definition-a7s685l9.js.map} +1 -1
- package/dist/{definition-oqk-pkc7.js → definition-cBjkkasN.js} +6 -6
- package/dist/{definition-oqk-pkc7.js.map → definition-cBjkkasN.js.map} +1 -1
- package/dist/definition-mCpuRoVG.js +342 -0
- package/dist/definition-mCpuRoVG.js.map +1 -0
- package/dist/{definition-Df20AWyW.js → definition-muIAAuOS.js} +15 -15
- package/dist/{definition-Df20AWyW.js.map → definition-muIAAuOS.js.map} +1 -1
- package/dist/{definition-BMOrAxa2.js → definition-qLvZHWiF.js} +14 -14
- package/dist/{definition-BMOrAxa2.js.map → definition-qLvZHWiF.js.map} +1 -1
- package/dist/{definition-Dh3Vibwi.js → definition-rmG59Brv.js} +25 -25
- package/dist/{definition-Dh3Vibwi.js.map → definition-rmG59Brv.js.map} +1 -1
- package/dist/{definition-BW6qSdNS.js → definition-tWKcWrEG.js} +6 -6
- package/dist/{definition-BW6qSdNS.js.map → definition-tWKcWrEG.js.map} +1 -1
- package/dist/{dimension.utils-jwBcagYn.js → dimension.utils-BRQVdJX8.js} +4 -4
- package/dist/{dimension.utils-jwBcagYn.js.map → dimension.utils-BRQVdJX8.js.map} +1 -1
- package/dist/{dimensionsAndMeasures.utils-D0fZ6L7l.js → dimensionsAndMeasures.utils-ffVh3hbf.js} +2 -2
- package/dist/{dimensionsAndMeasures.utils-D0fZ6L7l.js.map → dimensionsAndMeasures.utils-ffVh3hbf.js.map} +1 -1
- package/dist/{dv-B6K-c3IB.js → dv-B_CktpS2.js} +3 -3
- package/dist/{dv-B6K-c3IB.js.map → dv-B_CktpS2.js.map} +1 -1
- package/dist/{el-MTFXlZ6c.js → el-DIN3ITN4.js} +3 -3
- package/dist/{el-MTFXlZ6c.js.map → el-DIN3ITN4.js.map} +1 -1
- package/dist/embeddable-components.json +54 -50
- package/dist/embeddable-theme-0137e.js +16 -14
- package/dist/{en-cnLhRw-Q.js → en-CkkRz0_n.js} +2 -2
- package/dist/{en-cnLhRw-Q.js.map → en-CkkRz0_n.js.map} +1 -1
- package/dist/{eo-BTDY5NEZ.js → eo-IrgFuHLs.js} +3 -3
- package/dist/{eo-BTDY5NEZ.js.map → eo-IrgFuHLs.js.map} +1 -1
- package/dist/{es-BphqLwfy.js → es-CGBTJxaI.js} +3 -3
- package/dist/{es-BphqLwfy.js.map → es-CGBTJxaI.js.map} +1 -1
- package/dist/{et-Dppt1IB5.js → et-MoIbWV9O.js} +3 -3
- package/dist/{et-Dppt1IB5.js.map → et-MoIbWV9O.js.map} +1 -1
- package/dist/{eu-BqB7fEen.js → eu-hmle6Y21.js} +3 -3
- package/dist/{eu-BqB7fEen.js.map → eu-hmle6Y21.js.map} +1 -1
- package/dist/{fa-Co2Q354r.js → fa-B8QXF5G5.js} +3 -3
- package/dist/{fa-Co2Q354r.js.map → fa-B8QXF5G5.js.map} +1 -1
- package/dist/{fi-CeWBVJKd.js → fi-BJXF2XsX.js} +3 -3
- package/dist/{fi-CeWBVJKd.js.map → fi-BJXF2XsX.js.map} +1 -1
- package/dist/{fo-D7UKb-N0.js → fo-DaR3pzgd.js} +3 -3
- package/dist/{fo-D7UKb-N0.js.map → fo-DaR3pzgd.js.map} +1 -1
- package/dist/{formatter.utils-CQ25D0x2.js → formatter.utils-DMnYcJuA.js} +3 -3
- package/dist/{formatter.utils-CQ25D0x2.js.map → formatter.utils-DMnYcJuA.js.map} +1 -1
- package/dist/{fr-QfgaiDMx.js → fr-twa5Pocv.js} +3 -3
- package/dist/{fr-QfgaiDMx.js.map → fr-twa5Pocv.js.map} +1 -1
- package/dist/{fy-DQco3ONW.js → fy-BaB0rA3a.js} +3 -3
- package/dist/{fy-DQco3ONW.js.map → fy-BaB0rA3a.js.map} +1 -1
- package/dist/{ga-D47McKqX.js → ga-DZilhmJg.js} +3 -3
- package/dist/{ga-D47McKqX.js.map → ga-DZilhmJg.js.map} +1 -1
- package/dist/{gd-zYqiUmxc.js → gd-CnGf7izL.js} +3 -3
- package/dist/{gd-zYqiUmxc.js.map → gd-CnGf7izL.js.map} +1 -1
- package/dist/{gl-EYVKFCz3.js → gl-CHwaTlWs.js} +3 -3
- package/dist/{gl-EYVKFCz3.js.map → gl-CHwaTlWs.js.map} +1 -1
- package/dist/{granularity.utils-Ci8GeTuK.js → granularity.utils-DvG93xi4.js} +3 -3
- package/dist/{granularity.utils-Ci8GeTuK.js.map → granularity.utils-DvG93xi4.js.map} +1 -1
- package/dist/{gu-DlwQEXpn.js → gu-CQftkoEv.js} +3 -3
- package/dist/{gu-DlwQEXpn.js.map → gu-CQftkoEv.js.map} +1 -1
- package/dist/{he-BhoY0q36.js → he-BkELaRWz.js} +3 -3
- package/dist/{he-BhoY0q36.js.map → he-BkELaRWz.js.map} +1 -1
- package/dist/{hi-BNdvjeOu.js → hi-DhHC_3Hj.js} +3 -3
- package/dist/{hi-BNdvjeOu.js.map → hi-DhHC_3Hj.js.map} +1 -1
- package/dist/{hr-BC2871jN.js → hr-DO5L4wc7.js} +3 -3
- package/dist/{hr-BC2871jN.js.map → hr-DO5L4wc7.js.map} +1 -1
- package/dist/{ht-CLv0U_6X.js → ht-aNxqEx4N.js} +3 -3
- package/dist/{ht-CLv0U_6X.js.map → ht-aNxqEx4N.js.map} +1 -1
- package/dist/{hu-DoEO9W9V.js → hu-CHDOwPKK.js} +3 -3
- package/dist/{hu-DoEO9W9V.js.map → hu-CHDOwPKK.js.map} +1 -1
- package/dist/{id-B_8QaxfX.js → id-7-T5aCtX.js} +3 -3
- package/dist/{id-B_8QaxfX.js.map → id-7-T5aCtX.js.map} +1 -1
- package/dist/{index-DhX_i17N.js → index-8hrCrGw9.js} +11973 -11782
- package/dist/{index-DhX_i17N.js.map → index-8hrCrGw9.js.map} +1 -1
- package/dist/{index-DZiGovh8.js → index-C6X9ikcG.js} +5 -5
- package/dist/{index-DZiGovh8.js.map → index-C6X9ikcG.js.map} +1 -1
- package/dist/{index-DB9ML_qw.js → index-DXmW1QS5.js} +2 -2
- package/dist/{index-DB9ML_qw.js.map → index-DXmW1QS5.js.map} +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +160 -154
- package/dist/index.js.map +1 -1
- package/dist/{is-BD6Si5zj.js → is-CRmXMShd.js} +3 -3
- package/dist/{is-BD6Si5zj.js.map → is-CRmXMShd.js.map} +1 -1
- package/dist/{isoWeek-Di8MfM18.js → isoWeek-CRwPN2kc.js} +2 -2
- package/dist/{isoWeek-Di8MfM18.js.map → isoWeek-CRwPN2kc.js.map} +1 -1
- package/dist/{it-DGGRCyW0.js → it-DhMNJT-J.js} +3 -3
- package/dist/{it-DGGRCyW0.js.map → it-DhMNJT-J.js.map} +1 -1
- package/dist/{ja-n3n2gXaV.js → ja-CSpsKqc7.js} +3 -3
- package/dist/{ja-n3n2gXaV.js.map → ja-CSpsKqc7.js.map} +1 -1
- package/dist/{jv-CeDdgCLI.js → jv-Cp3uVAj-.js} +3 -3
- package/dist/{jv-CeDdgCLI.js.map → jv-Cp3uVAj-.js.map} +1 -1
- package/dist/{ka-Dk64q98s.js → ka-C0Sy6UwK.js} +3 -3
- package/dist/{ka-Dk64q98s.js.map → ka-C0Sy6UwK.js.map} +1 -1
- package/dist/{kk-tazDvkP6.js → kk-IqjoEKPb.js} +3 -3
- package/dist/{kk-tazDvkP6.js.map → kk-IqjoEKPb.js.map} +1 -1
- package/dist/{km-9otJgiIh.js → km-D8F3ZsCH.js} +3 -3
- package/dist/{km-9otJgiIh.js.map → km-D8F3ZsCH.js.map} +1 -1
- package/dist/{kn-DJczfmYD.js → kn-CvfC3fK7.js} +3 -3
- package/dist/{kn-DJczfmYD.js.map → kn-CvfC3fK7.js.map} +1 -1
- package/dist/{ko-B9A_eri8.js → ko-BV9HqaCn.js} +3 -3
- package/dist/{ko-B9A_eri8.js.map → ko-BV9HqaCn.js.map} +1 -1
- package/dist/{ku-_Kf5C2c7.js → ku-BWcMmNz3.js} +3 -3
- package/dist/{ku-_Kf5C2c7.js.map → ku-BWcMmNz3.js.map} +1 -1
- package/dist/{ky-DRskfNgX.js → ky-DFkI2vEa.js} +3 -3
- package/dist/{ky-DRskfNgX.js.map → ky-DFkI2vEa.js.map} +1 -1
- package/dist/{lb-C-UwEw_7.js → lb-DHc-epOE.js} +3 -3
- package/dist/{lb-C-UwEw_7.js.map → lb-DHc-epOE.js.map} +1 -1
- package/dist/{lo-sW95oISM.js → lo-BxcxInvh.js} +3 -3
- package/dist/{lo-sW95oISM.js.map → lo-BxcxInvh.js.map} +1 -1
- package/dist/{lt-BIQ1X6j9.js → lt-Cg4jT0Np.js} +3 -3
- package/dist/{lt-BIQ1X6j9.js.map → lt-Cg4jT0Np.js.map} +1 -1
- package/dist/{lv-CJ0I6x3J.js → lv-DNDkf-zb.js} +3 -3
- package/dist/{lv-CJ0I6x3J.js.map → lv-DNDkf-zb.js.map} +1 -1
- package/dist/{me-I5vD8A9p.js → me-C87CeVPA.js} +3 -3
- package/dist/{me-I5vD8A9p.js.map → me-C87CeVPA.js.map} +1 -1
- package/dist/{mi-Bh-1jELG.js → mi-BxqM2qJk.js} +3 -3
- package/dist/{mi-Bh-1jELG.js.map → mi-BxqM2qJk.js.map} +1 -1
- package/dist/{mk-CJJWXhz9.js → mk-BIiDrMAt.js} +3 -3
- package/dist/{mk-CJJWXhz9.js.map → mk-BIiDrMAt.js.map} +1 -1
- package/dist/{ml-zyPZ4dun.js → ml-43ejzuG1.js} +3 -3
- package/dist/{ml-zyPZ4dun.js.map → ml-43ejzuG1.js.map} +1 -1
- package/dist/{mn-rjaOKery.js → mn-DwaDo2b5.js} +3 -3
- package/dist/{mn-rjaOKery.js.map → mn-DwaDo2b5.js.map} +1 -1
- package/dist/{mr-TxcSvEjL.js → mr-B912wfBu.js} +3 -3
- package/dist/{mr-TxcSvEjL.js.map → mr-B912wfBu.js.map} +1 -1
- package/dist/{ms-BdT-wuTk.js → ms-EAElgspQ.js} +3 -3
- package/dist/{ms-BdT-wuTk.js.map → ms-EAElgspQ.js.map} +1 -1
- package/dist/{mt-CoyRya_Q.js → mt-DKlqMnqs.js} +3 -3
- package/dist/{mt-CoyRya_Q.js.map → mt-DKlqMnqs.js.map} +1 -1
- package/dist/{my-CaI2s1qJ.js → my-DrGttQM9.js} +3 -3
- package/dist/{my-CaI2s1qJ.js.map → my-DrGttQM9.js.map} +1 -1
- package/dist/{nb-CyODDx_S.js → nb-U8rovHb2.js} +3 -3
- package/dist/{nb-CyODDx_S.js.map → nb-U8rovHb2.js.map} +1 -1
- package/dist/{ne-Bkf2gFnu.js → ne-GUyvxfjT.js} +3 -3
- package/dist/{ne-Bkf2gFnu.js.map → ne-GUyvxfjT.js.map} +1 -1
- package/dist/{nl-D8wjLMXs.js → nl-vSFjNB2l.js} +3 -3
- package/dist/{nl-D8wjLMXs.js.map → nl-vSFjNB2l.js.map} +1 -1
- package/dist/{nn-DYetCtDz.js → nn-rhCcd6To.js} +3 -3
- package/dist/{nn-DYetCtDz.js.map → nn-rhCcd6To.js.map} +1 -1
- package/dist/{pies.utils-M07sKv2c.js → pies.utils-DaFUcVtu.js} +6 -6
- package/dist/{pies.utils-M07sKv2c.js.map → pies.utils-DaFUcVtu.js.map} +1 -1
- package/dist/{pl-80QkwVsG.js → pl-2LBmcbeC.js} +3 -3
- package/dist/{pl-80QkwVsG.js.map → pl-2LBmcbeC.js.map} +1 -1
- package/dist/{preview.data.constants-C__PriSe.js → preview.data.constants-CyGLsdjH.js} +16 -15
- package/dist/preview.data.constants-CyGLsdjH.js.map +1 -0
- package/dist/{pt-e-VMAimL.js → pt-izPJESEU.js} +3 -3
- package/dist/{pt-e-VMAimL.js.map → pt-izPJESEU.js.map} +1 -1
- package/dist/{quarterOfYear-B8xED9o-.js → quarterOfYear-CiZ6-npb.js} +4 -4
- package/dist/{quarterOfYear-B8xED9o-.js.map → quarterOfYear-CiZ6-npb.js.map} +1 -1
- package/dist/{ro-DQdPl1Dm.js → ro-BDxooVEn.js} +3 -3
- package/dist/{ro-DQdPl1Dm.js.map → ro-BDxooVEn.js.map} +1 -1
- package/dist/{ru-fL5OdP54.js → ru-BGll9VwF.js} +3 -3
- package/dist/{ru-fL5OdP54.js.map → ru-BGll9VwF.js.map} +1 -1
- package/dist/{rw-CksoXElC.js → rw-D84aohNM.js} +3 -3
- package/dist/{rw-CksoXElC.js.map → rw-D84aohNM.js.map} +1 -1
- package/dist/scatter.utils-DV4Kp2Lb.js +24 -0
- package/dist/scatter.utils-DV4Kp2Lb.js.map +1 -0
- package/dist/{sd-B-NkiggT.js → sd-DPRg9jcu.js} +3 -3
- package/dist/{sd-B-NkiggT.js.map → sd-DPRg9jcu.js.map} +1 -1
- package/dist/{se-B2Dg9l6V.js → se-Cpnpde5A.js} +3 -3
- package/dist/{se-B2Dg9l6V.js.map → se-Cpnpde5A.js.map} +1 -1
- package/dist/{si-BuORSy_u.js → si-BBdzs0Jl.js} +3 -3
- package/dist/{si-BuORSy_u.js.map → si-BBdzs0Jl.js.map} +1 -1
- package/dist/{sk-Dpacc8Of.js → sk-CLnJe5O-.js} +3 -3
- package/dist/{sk-Dpacc8Of.js.map → sk-CLnJe5O-.js.map} +1 -1
- package/dist/{sl-IAlUX_VT.js → sl-VRWBz-ma.js} +3 -3
- package/dist/{sl-IAlUX_VT.js.map → sl-VRWBz-ma.js.map} +1 -1
- package/dist/{sq-BALl2ESB.js → sq-Din01fsv.js} +3 -3
- package/dist/{sq-BALl2ESB.js.map → sq-Din01fsv.js.map} +1 -1
- package/dist/{sr-kexS3jQx.js → sr-D2cBsHsn.js} +3 -3
- package/dist/{sr-kexS3jQx.js.map → sr-D2cBsHsn.js.map} +1 -1
- package/dist/{ss-BpHxT4zC.js → ss-5Ect3LxK.js} +3 -3
- package/dist/{ss-BpHxT4zC.js.map → ss-5Ect3LxK.js.map} +1 -1
- package/dist/{sv-B6uV_f23.js → sv-DpvVSwYf.js} +3 -3
- package/dist/{sv-B6uV_f23.js.map → sv-DpvVSwYf.js.map} +1 -1
- package/dist/{sw-DjGfz5qZ.js → sw-BgnVAKv-.js} +3 -3
- package/dist/{sw-DjGfz5qZ.js.map → sw-BgnVAKv-.js.map} +1 -1
- package/dist/{ta-CZgkXNj6.js → ta-Ddt2xMp7.js} +3 -3
- package/dist/{ta-CZgkXNj6.js.map → ta-Ddt2xMp7.js.map} +1 -1
- package/dist/{tables.utils-NS_hkFuI.js → tables.utils-BCO7ztkc.js} +4 -4
- package/dist/{tables.utils-NS_hkFuI.js.map → tables.utils-BCO7ztkc.js.map} +1 -1
- package/dist/{te-Qj5uBDEH.js → te-asJ6qJKJ.js} +3 -3
- package/dist/{te-Qj5uBDEH.js.map → te-asJ6qJKJ.js.map} +1 -1
- package/dist/{tet-BtSMpKfs.js → tet-CIfk6vzy.js} +3 -3
- package/dist/{tet-BtSMpKfs.js.map → tet-CIfk6vzy.js.map} +1 -1
- package/dist/{tg-BpLlyWtd.js → tg-BESX7j0W.js} +3 -3
- package/dist/{tg-BpLlyWtd.js.map → tg-BESX7j0W.js.map} +1 -1
- package/dist/{th-vtdRCBlo.js → th-B4vojPLU.js} +3 -3
- package/dist/{th-vtdRCBlo.js.map → th-B4vojPLU.js.map} +1 -1
- package/dist/theme/styles/styles.constants.d.ts +16 -14
- package/dist/theme/styles/styles.constants.d.ts.map +1 -1
- package/dist/theme/theme.types.d.ts +3 -0
- package/dist/theme/theme.types.d.ts.map +1 -1
- package/dist/{theme.constants-CYQqfiRZ.js → theme.constants-B1a2Ohs3.js} +22 -20
- package/dist/theme.constants-B1a2Ohs3.js.map +1 -0
- package/dist/{tk-BVuSwh4G.js → tk-YApgDN3G.js} +3 -3
- package/dist/{tk-BVuSwh4G.js.map → tk-YApgDN3G.js.map} +1 -1
- package/dist/{tlh-CWBMqOLb.js → tlh-BHoLdIku.js} +3 -3
- package/dist/{tlh-CWBMqOLb.js.map → tlh-BHoLdIku.js.map} +1 -1
- package/dist/{tr-Dbnx0zsu.js → tr-DWqjQWuK.js} +3 -3
- package/dist/{tr-Dbnx0zsu.js.map → tr-DWqjQWuK.js.map} +1 -1
- package/dist/{tzl-CLBl0dBo.js → tzl-BwagDVXF.js} +3 -3
- package/dist/{tzl-CLBl0dBo.js.map → tzl-BwagDVXF.js.map} +1 -1
- package/dist/{tzm-BFaFreeK.js → tzm-DqrBve3Q.js} +3 -3
- package/dist/{tzm-BFaFreeK.js.map → tzm-DqrBve3Q.js.map} +1 -1
- package/dist/{uk-CyZq360m.js → uk-CAth7pOp.js} +3 -3
- package/dist/{uk-CyZq360m.js.map → uk-CAth7pOp.js.map} +1 -1
- package/dist/{ur-8TJwtJm2.js → ur-DKyQtlto.js} +3 -3
- package/dist/{ur-8TJwtJm2.js.map → ur-DKyQtlto.js.map} +1 -1
- package/dist/{utc-DmRT4vcf.js → utc-9Lf3EBDh.js} +28 -28
- package/dist/{utc-DmRT4vcf.js.map → utc-9Lf3EBDh.js.map} +1 -1
- package/dist/{uz-u6sik23v.js → uz-C0QhZPYa.js} +3 -3
- package/dist/{uz-u6sik23v.js.map → uz-C0QhZPYa.js.map} +1 -1
- package/dist/{vi-Cf7DhsnC.js → vi-1HL3gjnQ.js} +3 -3
- package/dist/{vi-Cf7DhsnC.js.map → vi-1HL3gjnQ.js.map} +1 -1
- package/dist/{x-pseudo-5fnnIsHO.js → x-pseudo-CEA4Pf_M.js} +3 -3
- package/dist/{x-pseudo-5fnnIsHO.js.map → x-pseudo-CEA4Pf_M.js.map} +1 -1
- package/dist/{yo-Dnzpalqp.js → yo-BH3RxNPE.js} +3 -3
- package/dist/{yo-Dnzpalqp.js.map → yo-BH3RxNPE.js.map} +1 -1
- package/dist/{zh-cn-BxQ3Qvnw.js → zh-cn-6HQZnQ6e.js} +3 -3
- package/dist/{zh-cn-BxQ3Qvnw.js.map → zh-cn-6HQZnQ6e.js.map} +1 -1
- package/dist/{zh-hk-DT8M1BfB.js → zh-hk-CB_VjUvO.js} +3 -3
- package/dist/{zh-hk-DT8M1BfB.js.map → zh-hk-CB_VjUvO.js.map} +1 -1
- package/dist/{zh-tw-BOg2b4Eb.js → zh-tw-Dseygk7R.js} +3 -3
- package/dist/{zh-tw-BOg2b4Eb.js.map → zh-tw-Dseygk7R.js.map} +1 -1
- package/package.json +2 -2
- package/dist/components/charts/scatter/scatter.types.d.ts.map +0 -1
- package/dist/dates.utils-C32kbsZJ.js +0 -169
- package/dist/definition-CQsDRZCj.js +0 -366
- package/dist/definition-CQsDRZCj.js.map +0 -1
- package/dist/preview.data.constants-C__PriSe.js.map +0 -1
- package/dist/theme.constants-CYQqfiRZ.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-DVwHCfly.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx","../src/components/charts/lines/LineChartDefaultPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getChartColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils/color.utils';\nimport { getDimensionWithoutTruncation } from '../../charts.utils';\n\nexport const getLineChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n\n const groupedData = props.data;\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n const values = groupedData.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const lineColor = measure.inputs?.['lineColor'];\n const chartColors = getChartColors();\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n chartColors,\n index,\n });\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n chartColors,\n index,\n });\n\n return {\n clip: props.hasMinMaxYAxisRange,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: values,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n borderDash: measure.inputs?.dashedLine\n ? [\n getStyleNumber('--em-linechart-line-dash', '0.25rem'),\n getStyleNumber('--em-linechart-line-gap', '0.25rem'),\n ]\n : undefined,\n borderColor,\n fill: Boolean(measure.inputs?.fillUnderLine),\n } as ChartData<'line'>['datasets'][number];\n }),\n };\n};\n\nexport const getLineChartProOptions = (\n options: {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(getDimensionWithoutTruncation(dimension), label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n };\n\n return mergician(lineChartOptions, theme.charts?.lineChartDefaultPro?.options || {});\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { getLineChartProData, getLineChartProOptions } from './LineChartDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.types';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { createSimpleClickHandler } from '../../charts.utils';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\nexport type LineChartProProps = {\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n granularity?: Granularity;\n setGranularity?: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartPro = (props: LineChartProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measures,\n granularity,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getLineChartProData(\n {\n data: results.data,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartProOptions({ data, dimension: xAxis, measures }, theme);\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension: xAxis,\n granularity,\n onClicked: onLineClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\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 LineChartPro;\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 { LineChartProOptionsClickArg } from '../lines.types';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'LineChartDefaultPro',\n label: 'Line Chart - Default',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [\n ...inputs.measures.inputs,\n { ...subInputs.boolean, name: 'fillUnderLine', label: 'Fill under line' },\n {\n ...subInputs.color,\n name: 'lineColor',\n label: 'Line color',\n },\n {\n ...subInputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n },\n {\n ...subInputs.boolean,\n name: 'dashedLine',\n label: 'Dashed line',\n defaultValue: false,\n },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'X-axis', name: 'xAxis' },\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.maxResults,\n ],\n events: [\n {\n name: 'onLineClicked',\n label: 'A line 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 LineChartDefaultProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n xAxis: 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 xAxis?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, xAxis ?? inputs.xAxis],\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 onLineClicked: (value: LineChartProOptionsClickArg) => {\n return {\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n };\n },\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartDefaultProState, (state: LineChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n };\n};\n\nexport const lineChartDefaultPro = {\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":["getLineChartProData","props","theme","themeFormatter","getThemeFormatter","groupedData","item","measure","index","zeroFill","_a","values","lineColor","_b","chartColors","getChartColors","backgroundColor","isColorValid","getDimensionMeasureColor","borderColor","setColorAlpha","_c","getStyleNumber","_d","getLineChartProOptions","options","dimension","data","measures","mergician","value","context","label","getDimensionWithoutTruncation","raw","LineChartPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","granularity","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","onLineClicked","results","useFillGaps","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","lineChartDefaultPro"],"mappings":";;;;;;;;;;;;;AAUO,MAAMA,KAAsB,CACjCC,GAMAC,MACsB;AACtB,MAAI,CAACD,EAAM;AACT,WAAO;AAAA,MACL,QAAQ,CAAA;AAAA,MACR,UAAU,CAAC,EAAE,MAAM,IAAI;AAAA,IAAA;AAI3B,QAAME,IAAiBC,EAAkBF,CAAK,GAExCG,IAAcJ,EAAM;AAE1B,SAAO;AAAA,IACL,QAAQI,EAAY,IAAI,CAACC,MAChBA,EAAKL,EAAM,UAAU,IAAI,CACjC;AAAA,IACD,UAAUA,EAAM,SAAS,IAAI,CAACM,GAASC,MAAU;;AAC/C,YAAMC,IAAW,IAAQC,IAAAH,EAAQ,WAAR,QAAAG,EAAiB,cACpCC,IAASN,EAAY,IAAI,CAACC,MAASA,EAAKC,EAAQ,IAAI,MAAME,IAAW,IAAI,KAAK,GAE9EG,KAAYC,IAAAN,EAAQ,WAAR,gBAAAM,EAAiB,WAC7BC,IAAcC,EAAA,GACdC,IAAkBC,EAAaL,CAAS,IAC1CA,IACAM,EAAyB;AAAA,QACvB,oBAAoBX;AAAA,QACpB,OAAAL;AAAA,QACA,OAAO;AAAA,QACP,OAAOK,EAAQ;AAAA,QACf,aAAAO;AAAA,QACA,OAAAN;AAAA,MAAA,CACD,GAECW,IAAcF,EAAaL,CAAS,IACtCA,IACAM,EAAyB;AAAA,QACvB,oBAAoBX;AAAA,QACpB,OAAAL;AAAA,QACA,OAAO;AAAA,QACP,OAAOK,EAAQ;AAAA,QACf,aAAAO;AAAA,QACA,OAAAN;AAAA,MAAA,CACD;AAEL,aAAO;AAAA,QACL,MAAMP,EAAM;AAAA,QACZ,OAAOE,EAAe,wBAAwBI,CAAO;AAAA,QACrD,MAAMI;AAAA,QACN,iBAAiBS,EAAcJ,GAAiB,GAAG;AAAA,QACnD,sBAAsBA;AAAA,QACtB,aAAYK,IAAAd,EAAQ,WAAR,QAAAc,EAAgB,aACxB;AAAA,UACEC,EAAe,4BAA4B,SAAS;AAAA,UACpDA,EAAe,2BAA2B,SAAS;AAAA,QAAA,IAErD;AAAA,QACJ,aAAAH;AAAA,QACA,MAAM,IAAQI,IAAAhB,EAAQ,WAAR,QAAAgB,EAAgB;AAAA,MAAa;AAAA,IAE/C,CAAC;AAAA,EAAA;AAEL,GAEaC,KAAyB,CACpCC,GAKAvB,MACyB;;AACzB,QAAM,EAAE,WAAAwB,GAAW,MAAAC,GAAM,UAAAC,EAAA,IAAaH,GAChCtB,IAAiBC,EAAkBF,CAAK;AAiD9C,SAAO2B,EA/CwC;AAAA,IAC7C,SAAS;AAAA,MACP,YAAY;AAAA,QACV,QAAQ;AAAA,UACN,OAAO;AAAA,YACL,WAAW,CAACC,GAAwBC,MAAY;AAC9C,oBAAMxB,IAAUqB,EAASG,EAAQ,YAAY;AAC7C,qBAAO5B,EAAe,KAAKI,GAASuB,CAAK;AAAA,YAC3C;AAAA,UAAA;AAAA,QACF;AAAA,MACF;AAAA,MAEF,SAAS;AAAA,QACP,WAAW;AAAA,UACT,OAAO,CAACC,MAAY;;AAClB,kBAAMC,KAAQtB,IAAAqB,EAAQ,CAAC,MAAT,gBAAArB,EAAY;AAC1B,mBAAOP,EAAe,KAAK8B,EAA8BP,CAAS,GAAGM,CAAK;AAAA,UAC5E;AAAA,UACA,OAAO,CAACD,MAAY;AAClB,kBAAMxB,IAAUqB,EAASG,EAAQ,YAAY,GACvCG,IAAMH,EAAQ;AACpB,mBAAO,GAAGA,EAAQ,QAAQ,KAAK,KAAK5B,EAAe,KAAKI,GAAS2B,CAAG,CAAC;AAAA,UACvE;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,IAEF,QAAQ;AAAA,MACN,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACJ,MAAU;AACnB,gBAAI,CAACH,KAAQ,CAACA,EAAK,OAAQ;AAE3B,kBAAMK,IAAQL,EAAK,OAAO,OAAOG,CAAK,CAAC;AACvC,mBAAO3B,EAAe,KAAKuB,GAAWM,CAAK;AAAA,UAC7C;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACF,MACF3B,EAAe,KAAKyB,EAAS,CAAC,GAAIE,CAAK;AAAA,QAChD;AAAA,MACF;AAAA,IACF;AAAA,EACF,KAGiCjB,KAAAH,IAAAR,EAAM,WAAN,gBAAAQ,EAAc,wBAAd,gBAAAG,EAAmC,YAAW,EAAE;AACrF,GC3GMsB,IAAe,CAAClC,MAA6B;AACjD,QAAMC,IAAekC,EAAA;AACrB,EAAAC,EAAUnC,CAAK;AAEf,QAAM,EAAE,OAAAoC,GAAO,aAAAC,GAAa,SAAAC,GAAS,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiB1C,CAAK,GAChF;AAAA,IACJ,UAAA2C;AAAA,IACA,UAAAhB;AAAA,IACA,aAAAiB;AAAA,IACA,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,EAAA,IACEtD,GAEEuD,IAAUC,EAAY;AAAA,IAC1B,SAASxD,EAAM;AAAA,IACf,WAAW6C;AAAA,EAAA,CACZ,GAEKnB,IAAO3B;AAAA,IACX;AAAA,MACE,MAAMwD,EAAQ;AAAA,MACd,WAAWV;AAAA,MACX,UAAAlB;AAAA,MACA,qBAA6ByB,KAAiB,QAAQD,KAAiB;AAAA,IAAI;AAAA,IAE7ElD;AAAA,EAAA,GAEIuB,IAAUD,GAAuB,EAAE,MAAAG,GAAM,WAAWmB,GAAO,UAAAlB,EAAA,GAAY1B,CAAK,GAE5EwD,IAAkC,CAACpB,KAAS,CAACC,KAAe,CAACC,GAE7DmB,IAAcC,EAAyB;AAAA,IAC3C,MAAAjC;AAAA,IACA,WAAWmB;AAAA,IACX,aAAAD;AAAA,IACA,WAAWU;AAAA,EAAA,CACZ;AAED,SACEM,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMN;AAAA,MACN,uBAAuB,CAAC,GAAG5B,GAAUkB,CAAK;AAAA,MAC1C,cAAcU,EAAQ;AAAA,MACtB,aAAAjB;AAAA,MACA,OAAAD;AAAA,MACA,SAAAE;AAAA,MACA,UAAAI;AAAA,MAEC,UAAA;AAAA,QAAAU,KACCS,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcN;AAAA,YACd,WAAWZ;AAAA,YACX,UAAUQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAGdS,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAAtC;AAAA,YACA,cAAAoB;AAAA,YACA,YAAAC;AAAA,YACA,sBAAAC;AAAA,YACA,cAAAC;AAAA,YACA,iBAAAC;AAAA,YACA,YAAAV;AAAA,YACA,YAAAC;AAAA,YACA,eAAAU;AAAA,YACA,eAAAC;AAAA,YACA,SAAA5B;AAAA,YACA,SAASkC;AAAA,UAAA;AAAA,QAAA;AAAA,MACX;AAAA,IAAA;AAAA,EAAA;AAGN;;;8CC9FMO,KAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,QAAQ;AAAA,QACN,GAAGA,EAAO,SAAS;AAAA,QACnB,EAAE,GAAGC,EAAU,SAAS,MAAM,iBAAiB,OAAO,kBAAA;AAAA,QACtD;AAAA,UACE,GAAGA,EAAU;AAAA,UACb,MAAM;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,QAET;AAAA,UACE,GAAGA,EAAU;AAAA,UACb,MAAM;AAAA,UACN,OAAO;AAAA,UACP,cAAc;AAAA,QAAA;AAAA,QAEhB;AAAA,UACE,GAAGA,EAAU;AAAA,UACb,MAAM;AAAA,UACN,OAAO;AAAA,UACP,cAAc;AAAA,QAAA;AAAA,MAChB;AAAA,IACF;AAAA,IAEF,EAAE,GAAGD,EAAO,qCAAqC,OAAO,UAAU,MAAM,QAAA;AAAA,IACxEA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,EAAA;AAAA,EAET,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,QAER;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEJ,GAMME,IAAgB;AAAA,EACpB,OAAOC,EAAY;AAAA,EACnB,UAAU,CAACA,EAAY,OAAO;AAAA,EAC9B,SAASA,EAAY;AAAA,EACrB,UAAU;AACZ,GAEMC,KAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAC1BP,GACArB,GACA6B,OACqB;AAAA,EACrB,OAAOR,EAAO;AAAA,EACd,MAAMA,EAAO;AAAA,EACb,QAAQ,CAAC,GAAGA,EAAO,UAAUrB,KAASqB,EAAO,KAAK;AAAA,EAClD,UAAUS,EAAyBD,KAAA,gBAAAA,EAAe,QAAQ;AAC5D,IAEME,IAAkB,CACtBV,GACArB,GACA6B,MACiBG,EAASJ,EAAoBP,GAAQrB,GAAO6B,CAAa,CAAC,GAEvEI,KAAS;AAAA,EACb,eAAe,CAACjD,OACP;AAAA,IACL,oBAAoBA,EAAM,kBAAkBkD,EAAM,SAAA;AAAA,IAClD,wBAAwBlD,EAAM,sBAAsBkD,EAAM,SAAA;AAAA,EAAS;AAGzE,GAEM/E,KAAQ,CACZkE,GACA,CAACc,GAAOC,CAAQ,GAChBP,MACG;AACH,QAAMQ,IAAuBC,EAA4BjB,EAAO,OAAOc,KAAA,gBAAAA,EAAO,WAAW;AAEzF,SAAO;AAAA,IACL,GAAGd;AAAAA,IACH,OAAOgB;AAAA,IACP,gBAAgB,CAACtC,MAA6BqC,EAAS,EAAE,aAAArC,GAAa;AAAA,IACtE,SAASgC,EAAgBV,GAAQgB,GAAsBR,CAAa;AAAA,EAAA;AAExE,GAEaU,KAAsB;AAAA,EAAA,WACjCZ;AAAAA,EACA,MAAAP;AAAA,EACA,SAAAK;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAApE;AAAA,IACA,QAAA8E;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcL;AAAA,IACd,UAAUG;AAAA,EAAA;AAEd;"}
|
|
1
|
+
{"version":3,"file":"definition-a7s685l9.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx","../src/components/charts/lines/LineChartDefaultPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getChartColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils/color.utils';\nimport { getDimensionWithoutTruncation } from '../../charts.utils';\n\nexport const getLineChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n\n const groupedData = props.data;\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n const values = groupedData.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const lineColor = measure.inputs?.['lineColor'];\n const chartColors = getChartColors();\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n chartColors,\n index,\n });\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n chartColors,\n index,\n });\n\n return {\n clip: props.hasMinMaxYAxisRange,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: values,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n borderDash: measure.inputs?.dashedLine\n ? [\n getStyleNumber('--em-linechart-line-dash', '0.25rem'),\n getStyleNumber('--em-linechart-line-gap', '0.25rem'),\n ]\n : undefined,\n borderColor,\n fill: Boolean(measure.inputs?.fillUnderLine),\n } as ChartData<'line'>['datasets'][number];\n }),\n };\n};\n\nexport const getLineChartProOptions = (\n options: {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(getDimensionWithoutTruncation(dimension), label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n };\n\n return mergician(lineChartOptions, theme.charts?.lineChartDefaultPro?.options || {});\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { getLineChartProData, getLineChartProOptions } from './LineChartDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.types';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { createSimpleClickHandler } from '../../charts.utils';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\nexport type LineChartProProps = {\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n granularity?: Granularity;\n setGranularity?: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartPro = (props: LineChartProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measures,\n granularity,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getLineChartProData(\n {\n data: results.data,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartProOptions({ data, dimension: xAxis, measures }, theme);\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension: xAxis,\n granularity,\n onClicked: onLineClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\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 LineChartPro;\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 { LineChartProOptionsClickArg } from '../lines.types';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'LineChartDefaultPro',\n label: 'Line Chart - Default',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [\n ...inputs.measures.inputs,\n { ...subInputs.boolean, name: 'fillUnderLine', label: 'Fill under line' },\n {\n ...subInputs.color,\n name: 'lineColor',\n label: 'Line color',\n },\n {\n ...subInputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n },\n {\n ...subInputs.boolean,\n name: 'dashedLine',\n label: 'Dashed line',\n defaultValue: false,\n },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'X-axis', name: 'xAxis' },\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.maxResults,\n ],\n events: [\n {\n name: 'onLineClicked',\n label: 'A line 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 LineChartDefaultProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n xAxis: 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 xAxis?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, xAxis ?? inputs.xAxis],\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 onLineClicked: (value: LineChartProOptionsClickArg) => {\n return {\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n };\n },\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartDefaultProState, (state: LineChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n };\n};\n\nexport const lineChartDefaultPro = {\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":["getLineChartProData","props","theme","themeFormatter","getThemeFormatter","groupedData","item","measure","index","zeroFill","_a","values","lineColor","_b","chartColors","getChartColors","backgroundColor","isColorValid","getDimensionMeasureColor","borderColor","setColorAlpha","_c","getStyleNumber","_d","getLineChartProOptions","options","dimension","data","measures","mergician","value","context","label","getDimensionWithoutTruncation","raw","LineChartPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","granularity","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","onLineClicked","results","useFillGaps","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","lineChartDefaultPro"],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { j as S, K as J, l as z } from "./index-
|
|
1
|
+
import { j as S, K as J, l as z } from "./index-8hrCrGw9.js";
|
|
2
2
|
import { useTheme as W, definePreview as $ } from "@embeddable.com/react";
|
|
3
3
|
import { a as G, r as Q, i as s } from "./component.utils-Dua9clQJ.js";
|
|
4
|
-
import { C as U } from "./ChartCard-
|
|
5
|
-
import { g as X } from "./formatter.utils-
|
|
4
|
+
import { C as U } from "./ChartCard-CatiYbl-.js";
|
|
5
|
+
import { g as X } from "./formatter.utils-DMnYcJuA.js";
|
|
6
6
|
import { useEffect as Z } from "react";
|
|
7
7
|
import { g as x, a as ee } from "./timeRange.utils-CcP33PfM.js";
|
|
8
8
|
import { g as ae } from "./kpis.utils-DsZ2GzuB.js";
|
|
9
|
-
import { i as o } from "./component.inputs.constants-
|
|
10
|
-
import { p as c } from "./preview.data.constants-
|
|
9
|
+
import { i as o } from "./component.inputs.constants-CIEx8GcX.js";
|
|
10
|
+
import { p as c } from "./preview.data.constants-CyGLsdjH.js";
|
|
11
11
|
import { g as A } from "./clientContext.utils-DpB5KsfX.js";
|
|
12
12
|
const g = (e) => {
|
|
13
13
|
var h, y, P, C, b, R;
|
|
@@ -203,4 +203,4 @@ export {
|
|
|
203
203
|
ve as i,
|
|
204
204
|
De as k
|
|
205
205
|
};
|
|
206
|
-
//# sourceMappingURL=definition-
|
|
206
|
+
//# sourceMappingURL=definition-cBjkkasN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-oqk-pkc7.js","sources":["../src/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx","../src/components/charts/kpis/KpiChartNumberComparisonPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useEffect } from 'react';\nimport {\n getComparisonPeriodDateRange,\n getComparisonPeriodLabel,\n} from '../../../utils/timeRange.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberComparisonProProp = {\n changeFontSize?: number;\n comparisonPeriod?: string;\n displayChangeAsPercentage?: boolean;\n fontSize?: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n percentageDecimalPlaces?: number;\n comparisonDateRange: TimeRange;\n displayNullAs?: string;\n setComparisonDateRange?: (dateRange: TimeRange) => void;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberComparisonPro = (props: KpiChartNumberComparisonProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, displayNullAs } = resolveI18nProps(props);\n const {\n hideMenu,\n changeFontSize,\n comparisonPeriod,\n comparisonDateRange,\n displayChangeAsPercentage,\n fontSize,\n measure,\n primaryDateRange,\n results,\n resultsComparison,\n reversePositiveNegativeColors,\n percentageDecimalPlaces,\n setComparisonDateRange,\n } = props;\n\n useEffect(() => {\n if (!setComparisonDateRange) return;\n\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const value: number = results.data?.[0]?.[measure.name];\n const comparisonValue = comparisonDateRange\n ? resultsComparison?.data?.[0]?.[measure.name]\n : undefined;\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n const comparisonLabel = `vs ${getComparisonPeriodLabel(comparisonPeriod, theme).toLowerCase()}`;\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [\n ...(results.data?.length\n ? [{ label: i18n.t('charts.primaryPeriod'), ...results.data[0] }]\n : []),\n ...(resultsComparison?.data?.length\n ? [{ label: i18n.t('charts.comparisonPeriod'), ...resultsComparison.data[0] }]\n : []),\n ],\n };\n\n const resultsWithNullsHandled = getKpiResults(resultsCombined, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[\n // Add a label dimension to distinguish primary and comparison periods in exports\n {\n name: 'label',\n title: i18n.t('charts.label'),\n nativeType: 'string',\n __type__: 'dimension',\n },\n measure,\n ]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n comparisonValue={resultsCombined.isLoading ? undefined : comparisonValue}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n trendFontSize={changeFontSize}\n invertChangeColors={reversePositiveNegativeColors}\n showChangeAsPercentage={displayChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n percentageDecimalPlaces={percentageDecimalPlaces}\n noPreviousDataLabel={i18n.t('charts.kpiChart.noPreviousData')}\n equalComparisonLabel={i18n.t('charts.kpiChart.equalComparison')}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberComparisonPro;\n","import { DataResponse, loadData, LoadDataRequest, TimeRange } 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 { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n category: 'Kpi Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionTime, name: 'timeProperty', label: 'Time property' },\n {\n ...inputs.timeRange,\n name: 'primaryDateRange',\n label: 'Primary date-range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n ...inputs.comparisonPeriod,\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.boolean,\n name: 'displayChangeAsPercentage',\n label: 'Display change as %',\n defaultValue: false,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'percentageDecimalPlaces',\n label: 'Percentage decimal places',\n defaultValue: 1,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse positive/negative colors',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.fontSize,\n {\n ...inputs.fontSize,\n name: 'changeFontSize',\n label: 'Trend font-size',\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nconst previewConfig = {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n resultsComparison: previewData.results1MeasureVariant,\n primaryDateRange: undefined,\n comparisonPeriod: 'Previous period',\n comparisonDateRange: { relativeTimeString: 'Today', from: undefined, to: undefined },\n fontSize: 100,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst loadDataResultsComparisonArgs = (\n inputs: Inputs<typeof meta>,\n comparisonDateRange: TimeRange,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: comparisonDateRange,\n },\n ],\n});\n\nconst loadDataResultsComparison = (\n inputs: Inputs<typeof meta>,\n state: KpiChartNumberComparisonProState,\n clientContext: ThemeClientContext,\n): DataResponse | undefined => {\n if (inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange) {\n return loadData(\n loadDataResultsComparisonArgs(inputs, state.comparisonDateRange, clientContext),\n );\n }\n return undefined;\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => ({\n ...inputs,\n comparisonPeriod: inputs.comparisonPeriod as string | undefined,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadDataResults(inputs, clientContext),\n resultsComparison: loadDataResultsComparison(inputs, state, clientContext),\n});\n\nexport const kpiChartNumberComparisonPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsComparison: {\n loadDataArgs: loadDataResultsComparisonArgs,\n loadData: loadDataResultsComparison,\n },\n} as const;\n"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","title","description","tooltip","displayNullAs","resolveI18nProps","hideMenu","changeFontSize","comparisonPeriod","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","primaryDateRange","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","value","_b","_a","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","getComparisonPeriodLabel","resultsCombined","_e","i18n","_f","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","KpiChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","loadDataResultsComparisonArgs","loadDataResultsComparison","state","setState","kpiChartNumberComparisonPro"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition-cBjkkasN.js","sources":["../src/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx","../src/components/charts/kpis/KpiChartNumberComparisonPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useEffect } from 'react';\nimport {\n getComparisonPeriodDateRange,\n getComparisonPeriodLabel,\n} from '../../../utils/timeRange.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberComparisonProProp = {\n changeFontSize?: number;\n comparisonPeriod?: string;\n displayChangeAsPercentage?: boolean;\n fontSize?: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n percentageDecimalPlaces?: number;\n comparisonDateRange: TimeRange;\n displayNullAs?: string;\n setComparisonDateRange?: (dateRange: TimeRange) => void;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberComparisonPro = (props: KpiChartNumberComparisonProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, displayNullAs } = resolveI18nProps(props);\n const {\n hideMenu,\n changeFontSize,\n comparisonPeriod,\n comparisonDateRange,\n displayChangeAsPercentage,\n fontSize,\n measure,\n primaryDateRange,\n results,\n resultsComparison,\n reversePositiveNegativeColors,\n percentageDecimalPlaces,\n setComparisonDateRange,\n } = props;\n\n useEffect(() => {\n if (!setComparisonDateRange) return;\n\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const value: number = results.data?.[0]?.[measure.name];\n const comparisonValue = comparisonDateRange\n ? resultsComparison?.data?.[0]?.[measure.name]\n : undefined;\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n const comparisonLabel = `vs ${getComparisonPeriodLabel(comparisonPeriod, theme).toLowerCase()}`;\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [\n ...(results.data?.length\n ? [{ label: i18n.t('charts.primaryPeriod'), ...results.data[0] }]\n : []),\n ...(resultsComparison?.data?.length\n ? [{ label: i18n.t('charts.comparisonPeriod'), ...resultsComparison.data[0] }]\n : []),\n ],\n };\n\n const resultsWithNullsHandled = getKpiResults(resultsCombined, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[\n // Add a label dimension to distinguish primary and comparison periods in exports\n {\n name: 'label',\n title: i18n.t('charts.label'),\n nativeType: 'string',\n __type__: 'dimension',\n },\n measure,\n ]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n comparisonValue={resultsCombined.isLoading ? undefined : comparisonValue}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n trendFontSize={changeFontSize}\n invertChangeColors={reversePositiveNegativeColors}\n showChangeAsPercentage={displayChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n percentageDecimalPlaces={percentageDecimalPlaces}\n noPreviousDataLabel={i18n.t('charts.kpiChart.noPreviousData')}\n equalComparisonLabel={i18n.t('charts.kpiChart.equalComparison')}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberComparisonPro;\n","import { DataResponse, loadData, LoadDataRequest, TimeRange } 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 { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n category: 'Kpi Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionTime, name: 'timeProperty', label: 'Time property' },\n {\n ...inputs.timeRange,\n name: 'primaryDateRange',\n label: 'Primary date-range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n ...inputs.comparisonPeriod,\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.boolean,\n name: 'displayChangeAsPercentage',\n label: 'Display change as %',\n defaultValue: false,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'percentageDecimalPlaces',\n label: 'Percentage decimal places',\n defaultValue: 1,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse positive/negative colors',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.fontSize,\n {\n ...inputs.fontSize,\n name: 'changeFontSize',\n label: 'Trend font-size',\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nconst previewConfig = {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n resultsComparison: previewData.results1MeasureVariant,\n primaryDateRange: undefined,\n comparisonPeriod: 'Previous period',\n comparisonDateRange: { relativeTimeString: 'Today', from: undefined, to: undefined },\n fontSize: 100,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst loadDataResultsComparisonArgs = (\n inputs: Inputs<typeof meta>,\n comparisonDateRange: TimeRange,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: comparisonDateRange,\n },\n ],\n});\n\nconst loadDataResultsComparison = (\n inputs: Inputs<typeof meta>,\n state: KpiChartNumberComparisonProState,\n clientContext: ThemeClientContext,\n): DataResponse | undefined => {\n if (inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange) {\n return loadData(\n loadDataResultsComparisonArgs(inputs, state.comparisonDateRange, clientContext),\n );\n }\n return undefined;\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => ({\n ...inputs,\n comparisonPeriod: inputs.comparisonPeriod as string | undefined,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadDataResults(inputs, clientContext),\n resultsComparison: loadDataResultsComparison(inputs, state, clientContext),\n});\n\nexport const kpiChartNumberComparisonPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsComparison: {\n loadDataArgs: loadDataResultsComparisonArgs,\n loadData: loadDataResultsComparison,\n },\n} as const;\n"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","title","description","tooltip","displayNullAs","resolveI18nProps","hideMenu","changeFontSize","comparisonPeriod","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","primaryDateRange","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","value","_b","_a","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","getComparisonPeriodLabel","resultsCombined","_e","i18n","_f","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","KpiChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","loadDataResultsComparisonArgs","loadDataResultsComparison","state","setState","kpiChartNumberComparisonPro"],"mappings":";;;;;;;;;;;AA+BA,MAAMA,IAA8B,CAACC,MAA2C;;AAC9E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,eAAAC,EAAA,IAAkBC,EAAiBR,CAAK,GACvE;AAAA,IACJ,UAAAS;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,+BAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,wBAAAC;AAAA,EAAA,IACErB;AAEJ,EAAAsB,EAAU,MAAM;AACd,QAAI,CAACD,EAAwB;AAE7B,UAAME,IAAyBC;AAAA,MAC7BR;AAAA,MACAL;AAAA,MACAV;AAAA,IAAA;AAEF,IAAAoB,EAAuBE,CAAsB;AAAA,EAC/C,GAAG,CAACZ,GAAkB,KAAK,UAAUK,CAAgB,GAAGf,CAAK,CAAC;AAE9D,QAAMwB,KAAgBC,KAAAC,IAAAV,EAAQ,SAAR,gBAAAU,EAAe,OAAf,gBAAAD,EAAoBX,EAAQ,OAC5Ca,IAAkBhB,KACpBiB,KAAAC,IAAAZ,KAAA,gBAAAA,EAAmB,SAAnB,gBAAAY,EAA0B,OAA1B,gBAAAD,EAA+Bd,EAAQ,QACvC,QAEEgB,IAAiBC,EAAkB/B,CAAK,GACxCgC,IAAiB,CAACC,MAA0BH,EAAe,KAAKhB,GAASmB,CAAa,GACtFC,IAAkB,MAAMC,GAAyBzB,GAAkBV,CAAK,EAAE,aAAa,IAEvFoC,IAAgC;AAAA,IACpC,WAAW,GAAQpB,EAAQ,aAAaC,KAAA,QAAAA,EAAmB;AAAA,IAC3D,MACE,EAACD,KAAA,QAAAA,EAAS,SAAQ,EAACC,KAAA,QAAAA,EAAmB,QAClC,SACA;AAAA,MACE,IAAIoB,IAAArB,EAAQ,SAAR,QAAAqB,EAAc,SACd,CAAC,EAAE,OAAOC,EAAK,EAAE,sBAAsB,GAAG,GAAGtB,EAAQ,KAAK,CAAC,EAAA,CAAG,IAC9D,CAAA;AAAA,MACJ,IAAIuB,IAAAtB,KAAA,gBAAAA,EAAmB,SAAnB,QAAAsB,EAAyB,SACzB,CAAC,EAAE,OAAOD,EAAK,EAAE,yBAAyB,GAAG,GAAGrB,EAAkB,KAAK,CAAC,EAAA,CAAG,IAC3E,CAAA;AAAA,IAAC;AAAA,EACP,GAGFuB,IAA0BC,GAAcL,GAAiBtB,GAAS,EAAQR,CAAc;AAE9F,SACEoC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,uBAAuB;AAAA;AAAA,QAErB;AAAA,UACE,MAAM;AAAA,UACN,OAAOF,EAAK,EAAE,cAAc;AAAA,UAC5B,YAAY;AAAA,UACZ,UAAU;AAAA,QAAA;AAAA,QAEZxB;AAAA,MAAA;AAAA,MAEF,cAAcE,EAAQ;AAAA,MACtB,aAAAZ;AAAA,MACA,OAAAD;AAAA,MACA,SAAAE;AAAA,MACA,UAAAG;AAAA,MAEA,UAAAkC,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,eAAAtC;AAAA,UACA,OAAAkB;AAAA,UACA,iBAAiBY,EAAgB,YAAY,SAAYT;AAAA,UACzD,gBAAAK;AAAA,UACA,eAAenB;AAAA,UACf,eAAeJ;AAAA,UACf,oBAAoBS;AAAA,UACpB,wBAAwBN;AAAA,UACxB,iBAAAsB;AAAA,UACA,yBAAAf;AAAA,UACA,qBAAqBmB,EAAK,EAAE,gCAAgC;AAAA,UAC5D,sBAAsBA,EAAK,EAAE,iCAAiC;AAAA,QAAA;AAAA,MAAA;AAAA,IAChE;AAAA,EAAA;AAGN;;;8CCpHMO,KAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,eAAe,MAAM,gBAAgB,OAAO,gBAAA;AAAA,IACxD;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,GAMMC,IAAgB;AAAA,EACpB,SAAS,EAAE,GAAGC,EAAY,QAAA;AAAA,EAC1B,SAASA,EAAY;AAAA,EACrB,mBAAmBA,EAAY;AAAA,EAC/B,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,qBAAqB,EAAE,oBAAoB,SAAS,MAAM,QAAW,IAAI,OAAA;AAAA,EACzE,UAAU;AAAA,EACV,UAAU;AACZ,GAEMC,KAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAC1BN,GACAO,OACqB;AAAA,EACrB,MAAMP,EAAO;AAAA,EACb,QAAQ,CAACA,EAAO,OAAO;AAAA,EACvB,OAAO;AAAA,EACP,UAAUQ,EAAyBD,KAAA,gBAAAA,EAAe,QAAQ;AAAA,EAC1D,SACEP,EAAO,oBAAoBA,EAAO,eAC9B;AAAA,IACE;AAAA,MACE,UAAUA,EAAO;AAAA,MACjB,UAAU;AAAA,MACV,OAAOA,EAAO;AAAA,IAAA;AAAA,EAChB,IAEF;AACR,IAEMS,IAAkB,CACtBT,GACAO,MACiBG,EAASJ,EAAoBN,GAAQO,CAAa,CAAC,GAEhEI,IAAgC,CACpCX,GACAnC,GACA0C,OACqB;AAAA,EACrB,MAAMP,EAAO;AAAA,EACb,QAAQ,CAACA,EAAO,OAAO;AAAA,EACvB,OAAO;AAAA,EACP,UAAUQ,EAAyBD,KAAA,gBAAAA,EAAe,QAAQ;AAAA,EAC1D,SAAS;AAAA,IACP;AAAA,MACE,UAAUP,EAAO;AAAA,MACjB,UAAU;AAAA,MACV,OAAOnC;AAAA,IAAA;AAAA,EACT;AAEJ,IAEM+C,IAA4B,CAChCZ,GACAa,GACAN,MAC6B;AAC7B,MAAIP,EAAO,oBAAoBA,EAAO,iBAAgBa,KAAA,QAAAA,EAAO;AAC3D,WAAOH;AAAA,MACLC,EAA8BX,GAAQa,EAAM,qBAAqBN,CAAa;AAAA,IAAA;AAIpF,GAEMtD,KAAQ,CACZ+C,GACA,CAACa,GAAOC,CAAQ,GAIhBP,OACI;AAAA,EACJ,GAAGP;AAAAA,EACH,kBAAkBA,EAAO;AAAA,EACzB,qBAAqBa,KAAA,gBAAAA,EAAO;AAAA,EAC5B,wBAAwB,CAAChD,MAAmCiD,EAAS,EAAE,qBAAAjD,GAAqB;AAAA,EAC5F,SAAS4C,EAAgBT,GAAQO,CAAa;AAAA,EAC9C,mBAAmBK,EAA0BZ,GAAQa,GAAON,CAAa;AAC3E,IAEaQ,KAA8B;AAAA,EAAA,WACzCV;AAAAA,EACA,MAAAN;AAAA,EACA,SAAAI;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAAhD;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcqD;AAAA,IACd,UAAUG;AAAA,EAAA;AAAA,EAEZ,mBAAmB;AAAA,IACjB,cAAcE;AAAA,IACd,UAAUC;AAAA,EAAA;AAEd;"}
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import { t as X, y as k, m as H, j as F, Q as U, V as R, l as Y } from "./index-8hrCrGw9.js";
|
|
2
|
+
import { useTheme as q, definePreview as Q } from "@embeddable.com/react";
|
|
3
|
+
import { a as J, r as W, i as Z } from "./component.utils-Dua9clQJ.js";
|
|
4
|
+
import { C as ee } from "./ChartCard-CatiYbl-.js";
|
|
5
|
+
import { g as I } from "./dimension.utils-BRQVdJX8.js";
|
|
6
|
+
import { a as L, g as $ } from "./formatter.utils-DMnYcJuA.js";
|
|
7
|
+
import { g as ae } from "./styles.utils-C8CnV0SB.js";
|
|
8
|
+
import { N as C, g as te, m as _, r as S } from "./scatter.utils-DV4Kp2Lb.js";
|
|
9
|
+
import { i as n, s as oe } from "./component.inputs.constants-CIEx8GcX.js";
|
|
10
|
+
import { p as D } from "./preview.data.constants-CyGLsdjH.js";
|
|
11
|
+
import { g as ne } from "./clientContext.utils-DpB5KsfX.js";
|
|
12
|
+
const se = (e, t, s) => ({
|
|
13
|
+
formatter: (m, u) => {
|
|
14
|
+
var r;
|
|
15
|
+
const o = (r = u.dataset.originalData) == null ? void 0 : r[u.dataIndex];
|
|
16
|
+
return o ? `${s(e, o.x)}, ${s(t, o.y)}` : "";
|
|
17
|
+
}
|
|
18
|
+
}), re = ({
|
|
19
|
+
xMeasure: e,
|
|
20
|
+
yMeasure: t,
|
|
21
|
+
noValueLabel: s,
|
|
22
|
+
showPointLabels: m
|
|
23
|
+
}, u) => {
|
|
24
|
+
const c = $(u), o = (p, g) => g == null ? s : c.data(p, g), r = k("--em-scatterchart-point-radius", "0.375rem"), i = k("--em-scatterchart-label-stack-gap", "0.25rem"), d = k("--em-scatterchart-label-stack-height", "1.25rem"), h = r + i, x = m ? r + i + d + i : r + i;
|
|
25
|
+
return {
|
|
26
|
+
scales: te(
|
|
27
|
+
e,
|
|
28
|
+
t,
|
|
29
|
+
(p, g) => c.data(p, g)
|
|
30
|
+
),
|
|
31
|
+
plugins: {
|
|
32
|
+
tooltip: {
|
|
33
|
+
callbacks: {
|
|
34
|
+
label: (p) => {
|
|
35
|
+
var l;
|
|
36
|
+
const g = p.dataset, y = ((l = g.originalData) == null ? void 0 : l[p.dataIndex]) ?? p.dataset.data[p.dataIndex], a = g.label ? `${g.label}: ` : "";
|
|
37
|
+
return y ? `${a}(${o(e, y.x)}, ${o(t, y.y)})` : a;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
datalabels: {
|
|
42
|
+
labels: {
|
|
43
|
+
value: {
|
|
44
|
+
display: "auto",
|
|
45
|
+
...se(e, t, o),
|
|
46
|
+
anchor: "center",
|
|
47
|
+
align: "bottom",
|
|
48
|
+
offset: x
|
|
49
|
+
},
|
|
50
|
+
caption: {
|
|
51
|
+
display: "auto",
|
|
52
|
+
anchor: "center",
|
|
53
|
+
align: "bottom",
|
|
54
|
+
offset: h
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}, ie = (e, t, s, m, u, c, o) => {
|
|
61
|
+
var g, y;
|
|
62
|
+
const r = (y = (g = t[e.datasetIndex]) == null ? void 0 : g.data[e.index]) == null ? void 0 : y.rowIndex;
|
|
63
|
+
if (r === void 0) return null;
|
|
64
|
+
const i = s == null ? void 0 : s[r];
|
|
65
|
+
if (!i) return null;
|
|
66
|
+
const d = L(c), h = o ? L(o) : void 0, x = S(i[d]), p = h ? S(i[h]) : null;
|
|
67
|
+
return {
|
|
68
|
+
xMeasureValue: S(i[m.name]),
|
|
69
|
+
yMeasureValue: S(i[u.name]),
|
|
70
|
+
pointDimensionValue: x,
|
|
71
|
+
groupByDimensionValue: p,
|
|
72
|
+
pointDimensionTimeRange: I({
|
|
73
|
+
value: x,
|
|
74
|
+
dimension: c
|
|
75
|
+
}),
|
|
76
|
+
groupByDimensionTimeRange: I({
|
|
77
|
+
value: p ?? void 0,
|
|
78
|
+
dimension: o
|
|
79
|
+
})
|
|
80
|
+
};
|
|
81
|
+
}, le = ({
|
|
82
|
+
datasets: e,
|
|
83
|
+
results: t,
|
|
84
|
+
xMeasure: s,
|
|
85
|
+
yMeasure: m,
|
|
86
|
+
pointDimension: u,
|
|
87
|
+
groupByDimension: c,
|
|
88
|
+
onPointClick: o
|
|
89
|
+
}) => ({ elementAtEvent: r }) => {
|
|
90
|
+
const i = r[0];
|
|
91
|
+
if (!i) return;
|
|
92
|
+
const d = ie(
|
|
93
|
+
i,
|
|
94
|
+
e,
|
|
95
|
+
t.data,
|
|
96
|
+
s,
|
|
97
|
+
m,
|
|
98
|
+
u,
|
|
99
|
+
c
|
|
100
|
+
);
|
|
101
|
+
d && (o == null || o(d));
|
|
102
|
+
}, ue = (e, t) => {
|
|
103
|
+
var y;
|
|
104
|
+
const s = $(t), m = X(), u = e.data ?? [], c = L(e.pointDimension), o = ((y = e.pointColor) == null ? void 0 : y.trim()) || void 0;
|
|
105
|
+
if (!u.length)
|
|
106
|
+
return { datasets: [{ label: "", data: [] }] };
|
|
107
|
+
const r = (a, l, b, f) => o ?? ae({ dimensionOrMeasure: l, theme: t, color: a, value: b, index: f, chartColors: m }), i = (a, l) => {
|
|
108
|
+
const b = a[c], f = b == null ? e.noValueLabel : String(s.data(e.pointDimension, b));
|
|
109
|
+
return {
|
|
110
|
+
x: _(a[e.xMeasure.name]),
|
|
111
|
+
y: _(a[e.yMeasure.name]),
|
|
112
|
+
pointLabel: f,
|
|
113
|
+
label: f,
|
|
114
|
+
rowIndex: l
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
if (!e.groupByDimension)
|
|
118
|
+
return {
|
|
119
|
+
datasets: [
|
|
120
|
+
{
|
|
121
|
+
label: s.dimensionOrMeasureTitle(e.yMeasure),
|
|
122
|
+
data: u.map((a, l) => i(a, l)),
|
|
123
|
+
pointBackgroundColor: r("background", e.xMeasure, e.xMeasure.name, 0),
|
|
124
|
+
pointBorderColor: r("border", e.xMeasure, e.xMeasure.name, 0)
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
};
|
|
128
|
+
const d = e.groupByDimension, h = L(d), x = /* @__PURE__ */ new Map();
|
|
129
|
+
return u.forEach((a, l) => {
|
|
130
|
+
const b = a[h] == null ? C : String(a[h]), f = x.get(b) ?? [];
|
|
131
|
+
f.push(i(a, l)), x.set(b, f);
|
|
132
|
+
}), { datasets: [...x.keys()].sort((a, l) => a === C ? 1 : l === C ? -1 : a.localeCompare(l)).map((a, l) => {
|
|
133
|
+
var V;
|
|
134
|
+
const b = x.get(a), f = b[0].rowIndex, w = a === C ? null : (V = u[f]) == null ? void 0 : V[h], v = a === C ? e.noValueLabel : s.data(d, w), M = a === C ? `${d.name}.null` : `${d.name}.${a}`;
|
|
135
|
+
return {
|
|
136
|
+
label: v,
|
|
137
|
+
data: b,
|
|
138
|
+
pointBackgroundColor: r("background", d, M, l),
|
|
139
|
+
pointBorderColor: r("border", d, M, l)
|
|
140
|
+
};
|
|
141
|
+
}) };
|
|
142
|
+
}, P = (e) => {
|
|
143
|
+
var T;
|
|
144
|
+
const t = q();
|
|
145
|
+
J(t);
|
|
146
|
+
const {
|
|
147
|
+
xMeasure: s,
|
|
148
|
+
yMeasure: m,
|
|
149
|
+
pointDimension: u,
|
|
150
|
+
groupByDimension: c,
|
|
151
|
+
results: o,
|
|
152
|
+
pointColor: r,
|
|
153
|
+
showLegend: i,
|
|
154
|
+
showTooltips: d,
|
|
155
|
+
showPointLabels: h,
|
|
156
|
+
showValueLabels: x,
|
|
157
|
+
showLogarithmicScale: p,
|
|
158
|
+
xAxisRangeMin: g,
|
|
159
|
+
xAxisRangeMax: y,
|
|
160
|
+
yAxisRangeMin: a,
|
|
161
|
+
yAxisRangeMax: l,
|
|
162
|
+
reverseXAxis: b,
|
|
163
|
+
onPointClick: f,
|
|
164
|
+
hideMenu: w
|
|
165
|
+
} = e, { title: v, description: M, tooltip: V, xAxisLabel: z, yAxisLabel: K } = W(e), A = Z.t("charts.scatterChart.noValue"), B = ue(
|
|
166
|
+
{
|
|
167
|
+
data: o.data,
|
|
168
|
+
xMeasure: s,
|
|
169
|
+
yMeasure: m,
|
|
170
|
+
pointDimension: u,
|
|
171
|
+
groupByDimension: c,
|
|
172
|
+
noValueLabel: A,
|
|
173
|
+
pointColor: r
|
|
174
|
+
},
|
|
175
|
+
t
|
|
176
|
+
), E = le({
|
|
177
|
+
datasets: B.datasets,
|
|
178
|
+
results: o,
|
|
179
|
+
xMeasure: s,
|
|
180
|
+
yMeasure: m,
|
|
181
|
+
pointDimension: u,
|
|
182
|
+
groupByDimension: c,
|
|
183
|
+
onPointClick: f
|
|
184
|
+
}), G = H(
|
|
185
|
+
re({ xMeasure: s, yMeasure: m, noValueLabel: A, showPointLabels: h }, t),
|
|
186
|
+
((T = t.charts.scatterChartPro) == null ? void 0 : T.options) ?? {}
|
|
187
|
+
);
|
|
188
|
+
return /* @__PURE__ */ F.jsx(
|
|
189
|
+
ee,
|
|
190
|
+
{
|
|
191
|
+
data: o,
|
|
192
|
+
dimensionsAndMeasures: [
|
|
193
|
+
u,
|
|
194
|
+
s,
|
|
195
|
+
m,
|
|
196
|
+
...c ? [c] : []
|
|
197
|
+
],
|
|
198
|
+
errorMessage: o.error,
|
|
199
|
+
description: M,
|
|
200
|
+
title: v,
|
|
201
|
+
tooltip: V,
|
|
202
|
+
hideMenu: w,
|
|
203
|
+
children: /* @__PURE__ */ F.jsx(
|
|
204
|
+
U,
|
|
205
|
+
{
|
|
206
|
+
data: B,
|
|
207
|
+
options: G,
|
|
208
|
+
nullBandLabel: A,
|
|
209
|
+
showLegend: i,
|
|
210
|
+
showTooltips: d,
|
|
211
|
+
showPointLabels: h,
|
|
212
|
+
showValueLabels: x,
|
|
213
|
+
showLogarithmicScale: p,
|
|
214
|
+
xAxisLabel: z,
|
|
215
|
+
yAxisLabel: K,
|
|
216
|
+
xAxisRangeMin: g,
|
|
217
|
+
xAxisRangeMax: y,
|
|
218
|
+
yAxisRangeMin: a,
|
|
219
|
+
yAxisRangeMax: l,
|
|
220
|
+
reverseXAxis: b,
|
|
221
|
+
onClick: E
|
|
222
|
+
}
|
|
223
|
+
)
|
|
224
|
+
}
|
|
225
|
+
);
|
|
226
|
+
}, Se = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
227
|
+
__proto__: null,
|
|
228
|
+
default: P
|
|
229
|
+
}, Symbol.toStringTag, { value: "Module" })), me = {
|
|
230
|
+
name: "ScatterChartPro",
|
|
231
|
+
label: "Scatter Chart",
|
|
232
|
+
category: "Scatter Charts",
|
|
233
|
+
inputs: [
|
|
234
|
+
n.dataset,
|
|
235
|
+
n.xMeasure,
|
|
236
|
+
n.yMeasure,
|
|
237
|
+
{ ...n.dimension, name: "pointDimension", label: "Point dimension" },
|
|
238
|
+
{
|
|
239
|
+
...n.dimension,
|
|
240
|
+
name: "groupByDimension",
|
|
241
|
+
label: "Group by (optional)",
|
|
242
|
+
required: !1
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
...oe.color,
|
|
246
|
+
name: "pointColor",
|
|
247
|
+
label: "Point color",
|
|
248
|
+
category: "Component Settings"
|
|
249
|
+
},
|
|
250
|
+
n.title,
|
|
251
|
+
n.description,
|
|
252
|
+
n.tooltip,
|
|
253
|
+
n.showLegend,
|
|
254
|
+
n.showTooltips,
|
|
255
|
+
{
|
|
256
|
+
...n.boolean,
|
|
257
|
+
name: "showPointLabels",
|
|
258
|
+
label: "Show point labels",
|
|
259
|
+
defaultValue: !1,
|
|
260
|
+
category: "Component Settings"
|
|
261
|
+
},
|
|
262
|
+
n.showValueLabels,
|
|
263
|
+
n.showLogarithmicScale,
|
|
264
|
+
n.xAxisLabel,
|
|
265
|
+
n.yAxisLabel,
|
|
266
|
+
n.reverseXAxis,
|
|
267
|
+
n.xAxisRangeMin,
|
|
268
|
+
n.xAxisRangeMax,
|
|
269
|
+
n.yAxisRangeMin,
|
|
270
|
+
n.yAxisRangeMax,
|
|
271
|
+
n.maxResults
|
|
272
|
+
],
|
|
273
|
+
events: [
|
|
274
|
+
{
|
|
275
|
+
name: "onPointClick",
|
|
276
|
+
label: "A point is clicked",
|
|
277
|
+
properties: [
|
|
278
|
+
{ name: "xMeasureValue", label: "Clicked X measure value", type: "string" },
|
|
279
|
+
{ name: "yMeasureValue", label: "Clicked Y measure value", type: "string" },
|
|
280
|
+
{ name: "pointDimensionValue", label: "Clicked point dimension value", type: "string" },
|
|
281
|
+
{ name: "groupByDimensionValue", label: "Clicked group by value", type: "string" },
|
|
282
|
+
{
|
|
283
|
+
name: "pointDimensionTimeRange",
|
|
284
|
+
label: "Clicked point dimension time range",
|
|
285
|
+
type: "timeRange"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
name: "groupByDimensionTimeRange",
|
|
289
|
+
label: "Clicked group by time range",
|
|
290
|
+
type: "timeRange"
|
|
291
|
+
}
|
|
292
|
+
]
|
|
293
|
+
}
|
|
294
|
+
]
|
|
295
|
+
}, O = {
|
|
296
|
+
dataset: D.dataset,
|
|
297
|
+
xMeasure: D.measure,
|
|
298
|
+
yMeasure: D.measureVariant,
|
|
299
|
+
pointDimension: D.dimension,
|
|
300
|
+
results: D.results2Measures1Dimension,
|
|
301
|
+
showLegend: !0,
|
|
302
|
+
hideMenu: !0
|
|
303
|
+
}, ce = Q(P, O), j = (e, t) => ({
|
|
304
|
+
limit: e.maxResults,
|
|
305
|
+
from: e.dataset,
|
|
306
|
+
select: [
|
|
307
|
+
e.xMeasure,
|
|
308
|
+
e.yMeasure,
|
|
309
|
+
e.pointDimension,
|
|
310
|
+
...e.groupByDimension ? [e.groupByDimension] : []
|
|
311
|
+
],
|
|
312
|
+
timezone: ne(t == null ? void 0 : t.timezone)
|
|
313
|
+
}), N = (e, t) => Y(j(e, t)), de = {
|
|
314
|
+
onPointClick: (e) => ({
|
|
315
|
+
xMeasureValue: e.xMeasureValue ?? R.noFilter(),
|
|
316
|
+
yMeasureValue: e.yMeasureValue ?? R.noFilter(),
|
|
317
|
+
pointDimensionValue: e.pointDimensionValue ?? R.noFilter(),
|
|
318
|
+
groupByDimensionValue: e.groupByDimensionValue ?? R.noFilter()
|
|
319
|
+
})
|
|
320
|
+
}, ge = (e, [t, s], m) => ({
|
|
321
|
+
...e,
|
|
322
|
+
pointColor: e.pointColor,
|
|
323
|
+
results: N(e, m)
|
|
324
|
+
}), Le = {
|
|
325
|
+
Component: P,
|
|
326
|
+
meta: me,
|
|
327
|
+
preview: ce,
|
|
328
|
+
previewConfig: O,
|
|
329
|
+
config: {
|
|
330
|
+
props: ge,
|
|
331
|
+
events: de
|
|
332
|
+
},
|
|
333
|
+
results: {
|
|
334
|
+
loadDataArgs: j,
|
|
335
|
+
loadData: N
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
export {
|
|
339
|
+
Se as i,
|
|
340
|
+
Le as s
|
|
341
|
+
};
|
|
342
|
+
//# sourceMappingURL=definition-mCpuRoVG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-mCpuRoVG.js","sources":["../src/components/charts/scatter/ScatterChartPro/ScatterChartPro.utils.ts","../src/components/charts/scatter/ScatterChartPro/index.tsx","../src/components/charts/scatter/ScatterChartPro/definition.ts"],"sourcesContent":["import { ChartData, type ChartOptions, ScatterDataPoint } from 'chart.js';\nimport { Context } from 'chartjs-plugin-datalabels';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { getTimeRangeFromDimensionValue } from '../../../utils/dimension.utils';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getChartColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport type {\n ChartClickArgs,\n ScatterChartInputPoint,\n ScatterDatasetExtended,\n} from '@embeddable.com/remarkable-ui';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport type { ScatterChartProOptionsClickArg } from './ScatterChartPro.types';\nimport { getDimensionFieldName } from '../../../../utils/data.utils';\nimport {\n measureToNullableNumber,\n rawValueToString,\n NULL_GROUP_KEY,\n getScatterScales,\n type RawValue,\n} from '../scatter.utils';\n\nconst buildDatalabelsValue = (\n xMeasure: Measure,\n yMeasure: Measure,\n formatValue: (measure: Measure, value: number | null | undefined) => string,\n) => ({\n formatter: (_value: ScatterDataPoint | number | null, context: Context) => {\n const ds = context.dataset as ScatterDatasetExtended;\n const raw = ds.originalData?.[context.dataIndex];\n if (!raw) return '';\n return `${formatValue(xMeasure, raw.x)}, ${formatValue(yMeasure, raw.y)}`;\n },\n});\n\nexport const getScatterChartProOptions = (\n {\n xMeasure,\n yMeasure,\n noValueLabel,\n showPointLabels,\n }: {\n xMeasure: Measure;\n yMeasure: Measure;\n noValueLabel: string;\n showPointLabels?: boolean;\n },\n theme: Theme,\n): Partial<ChartOptions<'scatter'>> => {\n const themeFormatter = getThemeFormatter(theme);\n\n const formatValue = (measure: Measure, value: number | null | undefined): string => {\n if (value === null || value === undefined) return noValueLabel;\n return themeFormatter.data(measure, value);\n };\n\n const pointRadius = getStyleNumber('--em-scatterchart-point-radius', '0.375rem');\n const labelGap = getStyleNumber('--em-scatterchart-label-stack-gap', '0.25rem');\n const labelLineHeight = getStyleNumber('--em-scatterchart-label-stack-height', '1.25rem');\n\n const captionOffset = pointRadius + labelGap;\n const valueOffset = showPointLabels\n ? pointRadius + labelGap + labelLineHeight + labelGap\n : pointRadius + labelGap;\n\n return {\n scales: getScatterScales(xMeasure, yMeasure, (measure: Measure, value: number) =>\n themeFormatter.data(measure, value),\n ),\n plugins: {\n tooltip: {\n callbacks: {\n label: (ctx) => {\n const ds = ctx.dataset as ScatterDatasetExtended;\n const orig =\n ds.originalData?.[ctx.dataIndex] ??\n (ctx.dataset.data[ctx.dataIndex] as\n | { x: number | null; y: number | null }\n | undefined);\n const prefix = ds.label ? `${ds.label}: ` : '';\n if (!orig) return prefix;\n return `${prefix}(${formatValue(xMeasure, orig.x)}, ${formatValue(yMeasure, orig.y)})`;\n },\n },\n },\n datalabels: {\n labels: {\n value: {\n display: 'auto',\n ...buildDatalabelsValue(xMeasure, yMeasure, formatValue),\n anchor: 'center',\n align: 'bottom',\n offset: valueOffset,\n },\n caption: {\n display: 'auto',\n anchor: 'center',\n align: 'bottom',\n offset: captionOffset,\n },\n },\n },\n },\n };\n};\n\nexport type ScatterPoint = ScatterChartInputPoint & { rowIndex: number };\n\nexport const getPointClickData = (\n point: { datasetIndex: number; index: number },\n datasets: ChartData<'scatter', ScatterPoint[]>['datasets'],\n data: DataResponse['data'],\n xMeasure: Measure,\n yMeasure: Measure,\n pointDimension: Dimension,\n groupByDimension?: Dimension,\n): ScatterChartProOptionsClickArg | null => {\n const rowIdx = datasets[point.datasetIndex]?.data[point.index]?.rowIndex;\n if (rowIdx === undefined) return null;\n const row = data?.[rowIdx] as Record<string, RawValue> | undefined;\n if (!row) return null;\n\n const pointField = getDimensionFieldName(pointDimension);\n const groupField = groupByDimension ? getDimensionFieldName(groupByDimension) : undefined;\n\n const pointDimensionValue = rawValueToString(row[pointField]);\n const groupByDimensionValue = groupField ? rawValueToString(row[groupField]) : null;\n\n return {\n xMeasureValue: rawValueToString(row[xMeasure.name]),\n yMeasureValue: rawValueToString(row[yMeasure.name]),\n pointDimensionValue,\n groupByDimensionValue,\n pointDimensionTimeRange: getTimeRangeFromDimensionValue({\n value: pointDimensionValue,\n dimension: pointDimension,\n }),\n groupByDimensionTimeRange: getTimeRangeFromDimensionValue({\n value: groupByDimensionValue ?? undefined,\n dimension: groupByDimension,\n }),\n };\n};\n\nexport const createScatterClickHandler = ({\n datasets,\n results,\n xMeasure,\n yMeasure,\n pointDimension,\n groupByDimension,\n onPointClick,\n}: {\n datasets: ChartData<'scatter', ScatterPoint[]>['datasets'];\n results: DataResponse;\n xMeasure: Measure;\n yMeasure: Measure;\n pointDimension: Dimension;\n groupByDimension?: Dimension;\n onPointClick?: (payload: ScatterChartProOptionsClickArg) => void;\n}): ((args: ChartClickArgs) => void) => {\n return ({ elementAtEvent }) => {\n const element = elementAtEvent[0];\n if (!element) return;\n const clickData = getPointClickData(\n element,\n datasets,\n results.data,\n xMeasure,\n yMeasure,\n pointDimension,\n groupByDimension,\n );\n if (clickData) onPointClick?.(clickData);\n };\n};\n\nexport const getScatterChartProData = (\n props: {\n data: DataResponse['data'];\n xMeasure: Measure;\n yMeasure: Measure;\n pointDimension: Dimension;\n groupByDimension?: Dimension | null;\n noValueLabel: string;\n pointColor?: string;\n },\n theme: Theme,\n): ChartData<'scatter', ScatterPoint[]> => {\n const themeFormatter = getThemeFormatter(theme);\n const chartColors = getChartColors();\n const data = (props.data ?? []) as Record<string, unknown>[];\n const pointField = getDimensionFieldName(props.pointDimension);\n const overrideColor = props.pointColor?.trim() || undefined;\n\n if (!data.length) {\n return { datasets: [{ label: '', data: [] }] };\n }\n\n const getColor = (\n color: 'background' | 'border',\n dimensionOrMeasure: Dimension | Measure,\n value: string,\n index: number,\n ) =>\n overrideColor ??\n getDimensionMeasureColor({ dimensionOrMeasure, theme, color, value, index, chartColors });\n\n const buildPoint = (row: Record<string, unknown>, rowIndex: number): ScatterPoint => {\n const rawPoint = row[pointField];\n const pointLabel =\n rawPoint == null\n ? props.noValueLabel\n : String(themeFormatter.data(props.pointDimension, rawPoint as string | number | boolean));\n return {\n x: measureToNullableNumber(row[props.xMeasure.name]),\n y: measureToNullableNumber(row[props.yMeasure.name]),\n pointLabel,\n label: pointLabel,\n rowIndex,\n };\n };\n\n if (!props.groupByDimension) {\n return {\n datasets: [\n {\n label: themeFormatter.dimensionOrMeasureTitle(props.yMeasure),\n data: data.map((row, i) => buildPoint(row, i)),\n pointBackgroundColor: getColor('background', props.xMeasure, props.xMeasure.name, 0),\n pointBorderColor: getColor('border', props.xMeasure, props.xMeasure.name, 0),\n },\n ],\n };\n }\n\n const groupDim = props.groupByDimension;\n const groupField = getDimensionFieldName(groupDim);\n const bucket = new Map<string, ScatterPoint[]>();\n\n data.forEach((row, rowIndex) => {\n const key = row[groupField] == null ? NULL_GROUP_KEY : String(row[groupField]);\n const points = bucket.get(key) ?? [];\n points.push(buildPoint(row, rowIndex));\n bucket.set(key, points);\n });\n\n const sortedKeys = [...bucket.keys()].sort((a, b) => {\n if (a === NULL_GROUP_KEY) return 1;\n if (b === NULL_GROUP_KEY) return -1;\n return a.localeCompare(b);\n });\n\n const datasets = sortedKeys.map((key, index) => {\n const points = bucket.get(key)!;\n const firstRowIndex = points[0]!.rowIndex;\n const groupValue = key === NULL_GROUP_KEY ? null : data[firstRowIndex]?.[groupField];\n const seriesLabel =\n key === NULL_GROUP_KEY\n ? props.noValueLabel\n : themeFormatter.data(groupDim, groupValue as string | number | boolean);\n const colorKey = key === NULL_GROUP_KEY ? `${groupDim.name}.null` : `${groupDim.name}.${key}`;\n\n return {\n label: seriesLabel,\n data: points,\n pointBackgroundColor: getColor('background', groupDim, colorKey, index),\n pointBorderColor: getColor('border', groupDim, colorKey, index),\n };\n });\n\n return { datasets };\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { ScatterChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup, i18n } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport {\n createScatterClickHandler,\n getScatterChartProData,\n getScatterChartProOptions,\n} from './ScatterChartPro.utils';\n\nimport type { ScatterChartProOptionsClickArg } from './ScatterChartPro.types';\n\nexport type ScatterChartProProps = {\n xMeasure: Measure;\n yMeasure: Measure;\n pointDimension: Dimension;\n groupByDimension?: Dimension;\n results: DataResponse;\n pointColor?: string;\n showLegend?: boolean;\n showTooltips?: boolean;\n showPointLabels?: boolean;\n showValueLabels?: boolean;\n showLogarithmicScale?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n xAxisRangeMin?: number;\n xAxisRangeMax?: number;\n yAxisRangeMin?: number;\n yAxisRangeMax?: number;\n reverseXAxis?: boolean;\n onPointClick?: (payload: ScatterChartProOptionsClickArg) => void;\n} & ChartCardHeaderProps;\n\nconst ScatterChartPro = (props: ScatterChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n xMeasure,\n yMeasure,\n pointDimension,\n groupByDimension,\n results,\n pointColor,\n showLegend,\n showTooltips,\n showPointLabels,\n showValueLabels,\n showLogarithmicScale,\n xAxisRangeMin,\n xAxisRangeMax,\n yAxisRangeMin,\n yAxisRangeMax,\n reverseXAxis,\n onPointClick,\n hideMenu,\n } = props;\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const noValueLabel = i18n.t('charts.scatterChart.noValue');\n\n const chartData = getScatterChartProData(\n {\n data: results.data,\n xMeasure,\n yMeasure,\n pointDimension,\n groupByDimension,\n noValueLabel,\n pointColor,\n },\n theme,\n );\n\n const handleClick = createScatterClickHandler({\n datasets: chartData.datasets,\n results,\n xMeasure,\n yMeasure,\n pointDimension,\n groupByDimension,\n onPointClick,\n });\n\n const chartOptions = mergician(\n getScatterChartProOptions({ xMeasure, yMeasure, noValueLabel, showPointLabels }, theme),\n theme.charts.scatterChartPro?.options ?? {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[\n pointDimension,\n xMeasure,\n yMeasure,\n ...(groupByDimension ? [groupByDimension] : []),\n ]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <ScatterChart\n data={chartData}\n options={chartOptions}\n nullBandLabel={noValueLabel}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showPointLabels={showPointLabels}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n xAxisRangeMin={xAxisRangeMin}\n xAxisRangeMax={xAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n reverseXAxis={reverseXAxis}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default ScatterChartPro;\n","import { DataResponse, LoadDataRequest, Value, loadData } from '@embeddable.com/core';\nimport type { ScatterChartProOptionsClickArg } from './ScatterChartPro.types';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'ScatterChartPro',\n label: 'Scatter Chart',\n category: 'Scatter Charts',\n inputs: [\n inputs.dataset,\n inputs.xMeasure,\n inputs.yMeasure,\n { ...inputs.dimension, name: 'pointDimension', label: 'Point dimension' },\n {\n ...inputs.dimension,\n name: 'groupByDimension',\n label: 'Group by (optional)',\n required: false,\n },\n {\n ...subInputs.color,\n name: 'pointColor',\n label: 'Point color',\n category: 'Component Settings',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n {\n ...inputs.boolean,\n name: 'showPointLabels',\n label: 'Show point labels',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.maxResults,\n ],\n events: [\n {\n name: 'onPointClick',\n label: 'A point is clicked',\n properties: [\n { name: 'xMeasureValue', label: 'Clicked X measure value', type: 'string' },\n { name: 'yMeasureValue', label: 'Clicked Y measure value', type: 'string' },\n { name: 'pointDimensionValue', label: 'Clicked point dimension value', type: 'string' },\n { name: 'groupByDimensionValue', label: 'Clicked group by value', type: 'string' },\n {\n name: 'pointDimensionTimeRange',\n label: 'Clicked point dimension time range',\n type: 'timeRange',\n },\n {\n name: 'groupByDimensionTimeRange',\n label: 'Clicked group by time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type ScatterChartProState = Record<string, never>;\n\nconst previewConfig = {\n dataset: previewData.dataset,\n xMeasure: previewData.measure,\n yMeasure: previewData.measureVariant,\n pointDimension: previewData.dimension,\n results: previewData.results2Measures1Dimension,\n showLegend: true,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [\n inputs.xMeasure,\n inputs.yMeasure,\n inputs.pointDimension,\n ...(inputs.groupByDimension ? [inputs.groupByDimension] : []),\n ],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst events = {\n onPointClick: (value: ScatterChartProOptionsClickArg) => ({\n xMeasureValue: value.xMeasureValue ?? Value.noFilter(),\n yMeasureValue: value.yMeasureValue ?? Value.noFilter(),\n pointDimensionValue: value.pointDimensionValue ?? Value.noFilter(),\n groupByDimensionValue: value.groupByDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [_state, _setState]: [ScatterChartProState, (state: ScatterChartProState) => void],\n clientContext: ThemeClientContext,\n) => ({\n ...inputs,\n pointColor: inputs.pointColor as string | undefined,\n results: loadDataResults(inputs, clientContext),\n});\n\nexport const scatterChartPro = {\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":["buildDatalabelsValue","xMeasure","yMeasure","formatValue","_value","context","raw","_a","getScatterChartProOptions","noValueLabel","showPointLabels","theme","themeFormatter","getThemeFormatter","measure","value","pointRadius","getStyleNumber","labelGap","labelLineHeight","captionOffset","valueOffset","getScatterScales","ctx","ds","orig","prefix","getPointClickData","point","datasets","data","pointDimension","groupByDimension","rowIdx","_b","row","pointField","getDimensionFieldName","groupField","pointDimensionValue","rawValueToString","groupByDimensionValue","getTimeRangeFromDimensionValue","createScatterClickHandler","results","onPointClick","elementAtEvent","element","clickData","getScatterChartProData","props","chartColors","getChartColors","overrideColor","getColor","color","dimensionOrMeasure","index","getDimensionMeasureColor","buildPoint","rowIndex","rawPoint","pointLabel","measureToNullableNumber","i","groupDim","bucket","key","NULL_GROUP_KEY","points","b","firstRowIndex","groupValue","seriesLabel","colorKey","ScatterChartPro","useTheme","i18nSetup","pointColor","showLegend","showTooltips","showValueLabels","showLogarithmicScale","xAxisRangeMin","xAxisRangeMax","yAxisRangeMin","yAxisRangeMax","reverseXAxis","hideMenu","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","i18n","chartData","handleClick","chartOptions","mergician","jsx","ChartCard","ScatterChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","_state","_setState","scatterChartPro"],"mappings":"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"}
|