@embeddable.com/remarkable-pro 0.1.9 → 0.1.12
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 +8 -8
- package/dist/BarChartDefaultPro.js +5 -5
- package/dist/BarChartGroupedHorizontalPro.js +5 -5
- package/dist/BarChartGroupedPro.js +5 -5
- package/dist/BarChartStackedHorizontalPro.js +5 -5
- package/dist/BarChartStackedPro.js +5 -5
- package/dist/{ChartCard-Bu-80NJh.js → ChartCard-BO7MZwqM.js} +10 -10
- package/dist/{ChartCard-Bu-80NJh.js.map → ChartCard-BO7MZwqM.js.map} +1 -1
- package/dist/{Color.type.emb-JBTB4VAn.js → Color.type.emb-Bon3x9VC.js} +7792 -7779
- package/dist/{Color.type.emb-JBTB4VAn.js.map → Color.type.emb-Bon3x9VC.js.map} +1 -1
- package/dist/ColorEditor.js +2 -2
- package/dist/ComparisonPeriodSelectFieldPro.js +3 -3
- package/dist/DateRangePickerCustomPro.js +3 -3
- package/dist/DateRangeSelectFieldPro.js +3 -3
- package/dist/{DimensionAndMeasureSingleSelectField-C5B9m3hv.js → DimensionAndMeasureSingleSelectField-QEeHTJvQ.js} +3 -3
- package/dist/{DimensionAndMeasureSingleSelectField-C5B9m3hv.js.map → DimensionAndMeasureSingleSelectField-QEeHTJvQ.js.map} +1 -1
- package/dist/DimensionSingleSelectFieldPro.js +4 -4
- package/dist/DonutChartPro.js +7 -7
- package/dist/DonutLabelChartPro.js +4 -4
- package/dist/{EditorCard-DlwWVuY3.js → EditorCard-BxYVJiPi.js} +3 -3
- package/dist/{EditorCard-DlwWVuY3.js.map → EditorCard-BxYVJiPi.js.map} +1 -1
- package/dist/{GranularitySelectField-DpCZ47f8.js → GranularitySelectField-D8f7LLe4.js} +24 -23
- package/dist/{GranularitySelectField-DpCZ47f8.js.map → GranularitySelectField-D8f7LLe4.js.map} +1 -1
- package/dist/GranularitySelectFieldPro.js +6 -6
- package/dist/HeatMapPro.js +4 -4
- package/dist/HorizontalDividerPro.js +34 -0
- package/dist/HorizontalDividerPro.js.map +1 -0
- package/dist/{IconCalendarFilled-DPibPYqC.js → IconCalendarFilled-D8K6d94f.js} +2 -2
- package/dist/{IconCalendarFilled-DPibPYqC.js.map → IconCalendarFilled-D8K6d94f.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +4 -4
- package/dist/KpiChartNumberPro.js +6 -6
- package/dist/LineChartComparisonDefaultPro.js +5 -5
- package/dist/LineChartDefaultPro.js +5 -5
- package/dist/LineChartGroupedPro.js +5 -5
- package/dist/MeasureSingleSelectFieldPro.js +4 -4
- package/dist/MultiSelectFieldPro.js +4 -4
- package/dist/PieChartPro.js +4 -4
- package/dist/PivotTablePro.js +4 -4
- package/dist/SingleSelectFieldPro.js +4 -4
- package/dist/TableChartPaginated.js +4 -4
- package/dist/TableScrollable.js +4 -4
- package/dist/{bars.utils-DZf4BZCu.js → bars.utils-Cg5WRRVr.js} +4 -4
- package/dist/{bars.utils-DZf4BZCu.js.map → bars.utils-Cg5WRRVr.js.map} +1 -1
- package/dist/{charts.utils-MNXWiXfk.js → charts.utils-rBg2kZLJ.js} +4 -4
- package/dist/{charts.utils-MNXWiXfk.js.map → charts.utils-rBg2kZLJ.js.map} +1 -1
- package/dist/component.inputs.constants-DX8nFR6c.js +564 -0
- package/dist/component.inputs.constants-DX8nFR6c.js.map +1 -0
- package/dist/{component.inputs.constants-Cj-atN8w.js → component.utils-DubLDCwF.js} +332 -889
- package/dist/component.utils-DubLDCwF.js.map +1 -0
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/BarChartDefaultHorizontalPro.emb.d.ts +136 -0
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/BarChartDefaultHorizontalPro.emb.d.ts.map +1 -0
- package/dist/components/charts/bars/BarChartDefaultPro/BarChartDefaultPro.emb.d.ts +142 -0
- package/dist/components/charts/bars/BarChartDefaultPro/BarChartDefaultPro.emb.d.ts.map +1 -0
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/BarChartGroupedHorizontalPro.emb.d.ts +145 -0
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/BarChartGroupedHorizontalPro.emb.d.ts.map +1 -0
- package/dist/components/charts/bars/BarChartGroupedPro/BarChartGroupedPro.emb.d.ts +145 -0
- package/dist/components/charts/bars/BarChartGroupedPro/BarChartGroupedPro.emb.d.ts.map +1 -0
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/BarChartStackedHorizontalPro.emb.d.ts +151 -0
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/BarChartStackedHorizontalPro.emb.d.ts.map +1 -0
- package/dist/components/charts/bars/BarChartStackedPro/BarChartStackedPro.emb.d.ts +151 -0
- package/dist/components/charts/bars/BarChartStackedPro/BarChartStackedPro.emb.d.ts.map +1 -0
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.d.ts +112 -0
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.d.ts.map +1 -0
- package/dist/components/charts/kpis/KpiChartNumberPro/KpiChartNumberPro.emb.d.ts +66 -0
- package/dist/components/charts/kpis/KpiChartNumberPro/KpiChartNumberPro.emb.d.ts.map +1 -0
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.emb.d.ts +191 -0
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.emb.d.ts.map +1 -0
- package/dist/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.emb.d.ts +150 -0
- package/dist/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.emb.d.ts.map +1 -0
- package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.emb.d.ts +156 -0
- package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.emb.d.ts.map +1 -0
- package/dist/components/charts/pies/DonutChartPro/DonutChartPro.emb.d.ts +99 -0
- package/dist/components/charts/pies/DonutChartPro/DonutChartPro.emb.d.ts.map +1 -0
- package/dist/components/charts/pies/DonutLabelChartPro/DonutLabelChartPro.emb.d.ts +115 -0
- package/dist/components/charts/pies/DonutLabelChartPro/DonutLabelChartPro.emb.d.ts.map +1 -0
- package/dist/components/charts/pies/PieChartPro/PieChartPro.emb.d.ts +99 -0
- package/dist/components/charts/pies/PieChartPro/PieChartPro.emb.d.ts.map +1 -0
- package/dist/components/charts/shared/ChartCard/ChartCard.d.ts +1 -1
- package/dist/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.d.ts +1 -1
- package/dist/components/charts/tables/HeatMapPro/HeatMapPro.emb.d.ts +134 -0
- package/dist/components/charts/tables/HeatMapPro/HeatMapPro.emb.d.ts.map +1 -0
- package/dist/components/charts/tables/PivotTablePro/PivotTablePro.emb.d.ts +128 -0
- package/dist/components/charts/tables/PivotTablePro/PivotTablePro.emb.d.ts.map +1 -0
- package/dist/components/charts/tables/TableChartPaginated/TableChartPaginated.emb.d.ts +106 -0
- package/dist/components/charts/tables/TableChartPaginated/TableChartPaginated.emb.d.ts.map +1 -0
- package/dist/components/charts/tables/TableScrollable/TableScrollable.emb.d.ts +110 -0
- package/dist/components/charts/tables/TableScrollable/TableScrollable.emb.d.ts.map +1 -0
- package/dist/components/charts/tables/tables.utils.d.ts +2 -1
- package/dist/components/charts/utils/granularity.utils.d.ts +2 -2
- package/dist/components/component.inputs.constants.d.ts +2 -2
- package/dist/components/component.subinputs.constants.d.ts +4 -4
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.emb.d.ts +82 -0
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.emb.d.ts.map +1 -0
- package/dist/components/editors/DimensionSingleSelectFieldPro/DimensionSingleSelectFieldPro.emb.d.ts +108 -0
- package/dist/components/editors/DimensionSingleSelectFieldPro/DimensionSingleSelectFieldPro.emb.d.ts.map +1 -0
- package/dist/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.emb.d.ts +91 -0
- package/dist/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.emb.d.ts.map +1 -0
- package/dist/components/editors/MeasureSingleSelectFieldPro/MeasureSingleSelectFieldPro.emb.d.ts +108 -0
- package/dist/components/editors/MeasureSingleSelectFieldPro/MeasureSingleSelectFieldPro.emb.d.ts.map +1 -0
- package/dist/components/editors/MultiSelectFieldPro/MultiSelectFieldPro.emb.d.ts +112 -0
- package/dist/components/editors/MultiSelectFieldPro/MultiSelectFieldPro.emb.d.ts.map +1 -0
- package/dist/components/editors/SingleSelectFieldPro/SingleSelectFieldPro.emb.d.ts +109 -0
- package/dist/components/editors/SingleSelectFieldPro/SingleSelectFieldPro.emb.d.ts.map +1 -0
- package/dist/components/editors/dates/DateRangePickerCustomPro/DateRangePickerCustomPro.emb.d.ts +88 -0
- package/dist/components/editors/dates/DateRangePickerCustomPro/DateRangePickerCustomPro.emb.d.ts.map +1 -0
- package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangeSelectFieldPro.emb.d.ts +94 -0
- package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangeSelectFieldPro.emb.d.ts.map +1 -0
- package/dist/components/preview.data.constants.d.ts +10 -10
- package/dist/components/shared/EmptyContainerPro/EmptyBlockPro.emb.d.ts +26 -0
- package/dist/components/shared/EmptyContainerPro/EmptyBlockPro.emb.d.ts.map +1 -0
- package/dist/components/shared/HorizontalDividerPro/HorizontalDividerPro.emb.d.ts +39 -0
- package/dist/components/shared/HorizontalDividerPro/HorizontalDividerPro.emb.d.ts.map +1 -0
- package/dist/components/shared/HorizontalDividerPro/index.d.ts +7 -0
- package/dist/components/shared/HorizontalDividerPro/index.d.ts.map +1 -0
- package/dist/components/types/Align.type.emb.d.ts +3 -0
- package/dist/components/types/Align.type.emb.d.ts.map +1 -0
- package/dist/components/types/ComparisonPeriod.type.emb.d.ts +3 -0
- package/dist/components/types/ComparisonPeriod.type.emb.d.ts.map +1 -0
- package/dist/components/types/DisplayFormat.type.emb.d.ts +7 -0
- package/dist/components/types/DisplayFormat.type.emb.d.ts.map +1 -0
- package/dist/components/types/TableCellStyle.type.emb.d.ts +3 -0
- package/dist/components/types/TableCellStyle.type.emb.d.ts.map +1 -0
- package/dist/editors/ColorEditor/Color.type.emb.d.ts +3 -0
- package/dist/editors/ColorEditor/Color.type.emb.d.ts.map +1 -0
- package/dist/editors/ColorEditor/ColorEditor.emb.d.ts +11 -0
- package/dist/editors/ColorEditor/ColorEditor.emb.d.ts.map +1 -0
- package/dist/embeddable-components.json +30 -28
- package/dist/embeddable-theme-0137e.js +1397 -1395
- package/dist/{granularity.utils-COYhEZ3f.js → granularity.utils-B0IaQ58A.js} +3 -3
- package/dist/{granularity.utils-COYhEZ3f.js.map → granularity.utils-B0IaQ58A.js.map} +1 -1
- package/dist/{index-1LMAV7gp.js → index-B329Sipk.js} +5 -5
- package/dist/{index-1LMAV7gp.js.map → index-B329Sipk.js.map} +1 -1
- package/dist/{index-DA8SRHFS.js → index-BM3-McL7.js} +16 -16
- package/dist/{index-DA8SRHFS.js.map → index-BM3-McL7.js.map} +1 -1
- package/dist/{index-CKM7Eu4P.js → index-Bfe6zioU.js} +8 -8
- package/dist/{index-CKM7Eu4P.js.map → index-Bfe6zioU.js.map} +1 -1
- package/dist/{index-BIYe6Mxp.js → index-BkTScvL1.js} +16 -16
- package/dist/{index-BIYe6Mxp.js.map → index-BkTScvL1.js.map} +1 -1
- package/dist/{index-CwEdsnOz.js → index-Bsc-5ZTL.js} +10 -10
- package/dist/{index-CwEdsnOz.js.map → index-Bsc-5ZTL.js.map} +1 -1
- package/dist/{index-CfSyZuh4.js → index-C2Wozewk.js} +20 -20
- package/dist/{index-CfSyZuh4.js.map → index-C2Wozewk.js.map} +1 -1
- package/dist/{index-D65Rq3k-.js → index-C3xLwJI6.js} +6 -6
- package/dist/{index-D65Rq3k-.js.map → index-C3xLwJI6.js.map} +1 -1
- package/dist/{index-BfrhwVwQ.js → index-C7J2Se__.js} +2 -2
- package/dist/{index-BfrhwVwQ.js.map → index-C7J2Se__.js.map} +1 -1
- package/dist/{index-DKN0VZXM.js → index-C7hq6COa.js} +13 -13
- package/dist/{index-DKN0VZXM.js.map → index-C7hq6COa.js.map} +1 -1
- package/dist/{index-CWAfLnlR.js → index-C9QX77-Q.js} +11 -11
- package/dist/{index-CWAfLnlR.js.map → index-C9QX77-Q.js.map} +1 -1
- package/dist/{index-Ci4fIfj8.js → index-CGKzl5qD.js} +4 -4
- package/dist/{index-Ci4fIfj8.js.map → index-CGKzl5qD.js.map} +1 -1
- package/dist/{index-DILo_r4-.js → index-CH7FDkJO.js} +8 -8
- package/dist/{index-DILo_r4-.js.map → index-CH7FDkJO.js.map} +1 -1
- package/dist/{index-DK0M5jbC.js → index-CMhOFWvJ.js} +10 -10
- package/dist/{index-DK0M5jbC.js.map → index-CMhOFWvJ.js.map} +1 -1
- package/dist/{index-BwwtBJde.js → index-CphG-wyR.js} +9 -9
- package/dist/{index-BwwtBJde.js.map → index-CphG-wyR.js.map} +1 -1
- package/dist/{index-BownhTSN.js → index-CsyJsqlo.js} +10 -10
- package/dist/{index-BownhTSN.js.map → index-CsyJsqlo.js.map} +1 -1
- package/dist/{index-BLtSOe_I.js → index-CtfhLdt0.js} +7 -7
- package/dist/{index-BLtSOe_I.js.map → index-CtfhLdt0.js.map} +1 -1
- package/dist/{index-B0Z1wHFa.js → index-CweUFcf6.js} +5 -5
- package/dist/{index-B0Z1wHFa.js.map → index-CweUFcf6.js.map} +1 -1
- package/dist/{index-d6y81S-C.js → index-D3pwHgeL.js} +15 -15
- package/dist/{index-d6y81S-C.js.map → index-D3pwHgeL.js.map} +1 -1
- package/dist/{index-DN5C1NTk.js → index-D9JaX9ut.js} +5 -5
- package/dist/{index-DN5C1NTk.js.map → index-D9JaX9ut.js.map} +1 -1
- package/dist/{index-5qsLc5gK.js → index-DEMHcox3.js} +5 -5
- package/dist/{index-5qsLc5gK.js.map → index-DEMHcox3.js.map} +1 -1
- package/dist/{index-77C7AtLU.js → index-DRlAqfj6.js} +5 -5
- package/dist/{index-77C7AtLU.js.map → index-DRlAqfj6.js.map} +1 -1
- package/dist/{index-CDfc3oko.js → index-Dvi2ZFRq.js} +7 -7
- package/dist/{index-CDfc3oko.js.map → index-Dvi2ZFRq.js.map} +1 -1
- package/dist/{index-CWoNbj8I.js → index-IhFKORj0.js} +5 -5
- package/dist/{index-CWoNbj8I.js.map → index-IhFKORj0.js.map} +1 -1
- package/dist/{index-r9MBmJ_q.js → index-JCUdzaRx.js} +5 -5
- package/dist/{index-r9MBmJ_q.js.map → index-JCUdzaRx.js.map} +1 -1
- package/dist/{index-ChBjG9Oi.js → index-U8AIqj5k.js} +11 -11
- package/dist/{index-ChBjG9Oi.js.map → index-U8AIqj5k.js.map} +1 -1
- package/dist/{index-C6YdlImA.js → index-bk9MWwoH.js} +10 -10
- package/dist/{index-C6YdlImA.js.map → index-bk9MWwoH.js.map} +1 -1
- package/dist/{index-s6HzicAx.js → index-zogGkOng.js} +20 -20
- package/dist/{index-s6HzicAx.js.map → index-zogGkOng.js.map} +1 -1
- package/dist/index.js +126 -125
- package/dist/index.js.map +1 -1
- package/dist/{pies.utils-CxJtBPWG.js → pies.utils-vTQtc_xP.js} +5 -5
- package/dist/{pies.utils-CxJtBPWG.js.map → pies.utils-vTQtc_xP.js.map} +1 -1
- package/dist/{preview.data.constants-DWqfMVjy.js → preview.data.constants-BeVHkWI3.js} +6 -5
- package/dist/{preview.data.constants-DWqfMVjy.js.map → preview.data.constants-BeVHkWI3.js.map} +1 -1
- package/dist/remarkable-pro.css +1 -1
- package/dist/{tables.utils-D4RGHDWw.js → tables.utils-DS3rr8kb.js} +4 -4
- package/dist/{tables.utils-D4RGHDWw.js.map → tables.utils-DS3rr8kb.js.map} +1 -1
- package/dist/theme/i18n/i18n.d.ts +1 -1
- package/dist/theme/styles/styles.constants.d.ts +1 -1
- package/dist/{timeRange.utils-D8kYnjqp.js → timeRange.utils-BVZuW4V9.js} +5 -5
- package/dist/{timeRange.utils-D8kYnjqp.js.map → timeRange.utils-BVZuW4V9.js.map} +1 -1
- package/package.json +6 -6
- package/dist/component.inputs.constants-Cj-atN8w.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { j as s,
|
|
2
|
-
import { G as p } from "./GranularitySelectField-
|
|
1
|
+
import { j as s, s as y } from "./Color.type.emb-Bon3x9VC.js";
|
|
2
|
+
import { G as p } from "./GranularitySelectField-D8f7LLe4.js";
|
|
3
3
|
const g = "_chartGranularitySelectFieldContainer_m26zn_1", G = "_marginTop_m26zn_7", o = {
|
|
4
4
|
chartGranularitySelectFieldContainer: g,
|
|
5
5
|
marginTop: G
|
|
@@ -48,4 +48,4 @@ export {
|
|
|
48
48
|
S as C,
|
|
49
49
|
x as g
|
|
50
50
|
};
|
|
51
|
-
//# sourceMappingURL=granularity.utils-
|
|
51
|
+
//# sourceMappingURL=granularity.utils-B0IaQ58A.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"granularity.utils-
|
|
1
|
+
{"version":3,"file":"granularity.utils-B0IaQ58A.js","sources":["../src/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.tsx","../src/components/charts/utils/granularity.utils.ts"],"sourcesContent":["import { Dimension, Granularity } from '@embeddable.com/core';\nimport {\n GranularitySelectField,\n GranularitySelectFieldProps,\n} from '../../../editors/shared/GranularitySelectField/GranularitySelectField';\nimport styles from './ChartGranularitySelectField.module.css';\nimport clsx from 'clsx';\n\nexport type ChartGranularitySelectFieldProps = Pick<GranularitySelectFieldProps, 'onChange'> & {\n dimension: Dimension;\n hasMarginTop?: boolean;\n};\n\nconst dimensionGranularities: Granularity[] = ['day', 'week', 'month', 'quarter', 'year'];\n\nexport const ChartGranularitySelectField = ({\n dimension,\n hasMarginTop,\n ...props\n}: ChartGranularitySelectFieldProps) => {\n const showGranularitySelector = dimension?.inputs?.showGranularityDropdown;\n\n if (!showGranularitySelector) {\n return null;\n }\n\n const dimensionTimeRange = dimension.inputs?.dateBounds;\n const dimensionGranularity = dimension.inputs?.granularity;\n\n return (\n <div\n className={clsx(\n styles.chartGranularitySelectFieldContainer,\n hasMarginTop && styles.marginTop,\n )}\n >\n <GranularitySelectField\n {...props}\n primaryTimeRange={dimensionTimeRange}\n granularity={dimensionGranularity}\n granularities={dimensionGranularities}\n variant=\"ghost\"\n side=\"bottom\"\n align=\"end\"\n />\n </div>\n );\n};\n","import { Dimension, Granularity } from '@embeddable.com/core';\n\nexport const getDimensionWithGranularity = (dimension: Dimension, granularity?: Granularity) => {\n const currentGranularity = granularity ?? dimension.inputs?.granularity;\n\n return {\n ...dimension,\n inputs: {\n ...dimension.inputs,\n granularity: currentGranularity,\n },\n };\n};\n"],"names":["dimensionGranularities","ChartGranularitySelectField","dimension","hasMarginTop","props","_a","dimensionTimeRange","_b","dimensionGranularity","_c","jsx","clsx","styles","GranularitySelectField","getDimensionWithGranularity","granularity","currentGranularity"],"mappings":";;;;;GAaMA,IAAwC,CAAC,OAAO,QAAQ,SAAS,WAAW,MAAM,GAE3EC,IAA8B,CAAC;AAAA,EAC1C,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAwC;;AAGtC,MAAI,GAF4BC,IAAAH,KAAA,gBAAAA,EAAW,WAAX,gBAAAG,EAAmB;AAGjD,WAAO;AAGT,QAAMC,KAAqBC,IAAAL,EAAU,WAAV,gBAAAK,EAAkB,YACvCC,KAAuBC,IAAAP,EAAU,WAAV,gBAAAO,EAAkB;AAE/C,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTC,EAAO;AAAA,QACPT,KAAgBS,EAAO;AAAA,MAAA;AAAA,MAGzB,UAAAF,gBAAAA,EAAAA;AAAAA,QAACG;AAAA,QAAA;AAAA,UACE,GAAGT;AAAA,UACJ,kBAAkBE;AAAA,UAClB,aAAaE;AAAA,UACb,eAAeR;AAAA,UACf,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,OAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IACR;AAAA,EAAA;AAGN,GC7Cac,IAA8B,CAACZ,GAAsBa,MAA8B;;AAC9F,QAAMC,IAAqBD,OAAeV,IAAAH,EAAU,WAAV,gBAAAG,EAAkB;AAE5D,SAAO;AAAA,IACL,GAAGH;AAAA,IACH,QAAQ;AAAA,MACN,GAAGA,EAAU;AAAA,MACb,aAAac;AAAA,IAAA;AAAA,EACf;AAEJ;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { j as v,
|
|
1
|
+
import { j as v, t as J } from "./Color.type.emb-Bon3x9VC.js";
|
|
2
2
|
import { useTheme as Q } from "@embeddable.com/react";
|
|
3
|
-
import {
|
|
4
|
-
import { C as Z } from "./ChartCard-
|
|
3
|
+
import { a as U, r as X, i as Y } from "./component.utils-DubLDCwF.js";
|
|
4
|
+
import { C as Z } from "./ChartCard-BO7MZwqM.js";
|
|
5
5
|
import { useRef as $, useState as T, useEffect as K } from "react";
|
|
6
6
|
import { u as S } from "./charts.fillGaps.hooks-C7KsWcZb.js";
|
|
7
|
-
import { g as P } from "./preview.data.constants-
|
|
7
|
+
import { g as P } from "./preview.data.constants-BeVHkWI3.js";
|
|
8
8
|
import { u as ee } from "./tables.hooks-fVC_4V5K.js";
|
|
9
9
|
const te = (t, e) => {
|
|
10
10
|
const o = P(e);
|
|
@@ -128,4 +128,4 @@ export {
|
|
|
128
128
|
oe as g,
|
|
129
129
|
Re as i
|
|
130
130
|
};
|
|
131
|
-
//# sourceMappingURL=index-
|
|
131
|
+
//# sourceMappingURL=index-B329Sipk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-1LMAV7gp.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/utils/array.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","export const sortArrayByProp = <T, K extends keyof T>(\n arr: T[],\n prop: K,\n order: 'asc' | 'desc' = 'asc',\n): T[] => {\n return [...arr].sort((a, b) => {\n if (a[prop] < b[prop]) return order === 'asc' ? -1 : 1;\n if (a[prop] > b[prop]) return order === 'asc' ? 1 : -1;\n return 0;\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '@embeddable.com/remarkable-ui';\nimport { useEffect, useRef, useState } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\nimport { useGetTableSortedResults } from '../tables.hooks';\nimport { sortArrayByProp } from '../../../../utils/array.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PivotTableProProps = {\n results: DataResponse;\n resultsSubRows?: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n subRowDimension?: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n expandedRowKeys: string[];\n setExpandedRowKey: (expandedRowKeys: string) => void;\n} & ChartCardHeaderProps;\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n resultsSubRows,\n measures,\n rowDimension,\n subRowDimension,\n columnDimension,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n hideMenu,\n expandedRowKeys,\n setExpandedRowKey,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotSubRowDimension = subRowDimension\n ? getPivotDimension({ dimension: subRowDimension }, theme)\n : undefined;\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n\n const [loadingRows, setLoadingRows] = useState(new Set<string>());\n const [subRowsByRow, setSubRowsByRow] = useState(new Map<string, any[]>());\n\n const handleRowExpand = (rowKey: string) => {\n setLoadingRows((prev) => new Set(prev).add(rowKey));\n setExpandedRowKey(rowKey);\n };\n\n useEffect(() => {\n // No results or no expandedRowKeys, nothing to load\n if (!resultsSubRows || !resultsSubRows?.data || expandedRowKeys.length === 0) {\n return;\n }\n\n const subRowsByRowData = new Map<string, any[]>();\n expandedRowKeys.forEach((rowKey) => {\n const containsSubRow = resultsSubRows.data?.some(\n (row) => String(row[rowDimension.name]) === rowKey,\n );\n\n if (containsSubRow) {\n const subRows =\n resultsSubRows.data?.filter((row) => String(row[rowDimension.name]) === rowKey) ?? [];\n const subRowsSorted = subRowDimension\n ? sortArrayByProp(subRows, subRowDimension.name, 'asc')\n : subRows;\n\n subRowsByRowData.set(rowKey, subRowsSorted);\n }\n\n setLoadingRows((prev) => {\n const next = new Set(prev);\n next.delete(rowKey);\n return next;\n });\n });\n setSubRowsByRow(subRowsByRowData);\n }, [resultsSubRows, expandedRowKeys, rowDimension, subRowDimension]);\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n expandableRows={Boolean(subRowDimension)}\n subRowsByRow={subRowsByRow}\n loadingRows={loadingRows}\n onRowExpand={handleRowExpand}\n subRowDimension={pivotSubRowDimension}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","sortArrayByProp","arr","prop","order","a","b","PivotTablePro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","resultsSubRows","rowDimension","subRowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","hideMenu","expandedRowKeys","setExpandedRowKey","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotSubRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","loadingRows","setLoadingRows","useState","subRowsByRow","setSubRowsByRow","handleRowExpand","rowKey","prev","useEffect","subRowsByRowData","subRows","subRowsSorted","next","jsx","ChartCard","PivotTable","i18n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-B329Sipk.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/utils/array.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","export const sortArrayByProp = <T, K extends keyof T>(\n arr: T[],\n prop: K,\n order: 'asc' | 'desc' = 'asc',\n): T[] => {\n return [...arr].sort((a, b) => {\n if (a[prop] < b[prop]) return order === 'asc' ? -1 : 1;\n if (a[prop] > b[prop]) return order === 'asc' ? 1 : -1;\n return 0;\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '@embeddable.com/remarkable-ui';\nimport { useEffect, useRef, useState } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\nimport { useGetTableSortedResults } from '../tables.hooks';\nimport { sortArrayByProp } from '../../../../utils/array.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PivotTableProProps = {\n results: DataResponse;\n resultsSubRows?: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n subRowDimension?: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n expandedRowKeys: string[];\n setExpandedRowKey: (expandedRowKeys: string) => void;\n} & ChartCardHeaderProps;\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n resultsSubRows,\n measures,\n rowDimension,\n subRowDimension,\n columnDimension,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n hideMenu,\n expandedRowKeys,\n setExpandedRowKey,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotSubRowDimension = subRowDimension\n ? getPivotDimension({ dimension: subRowDimension }, theme)\n : undefined;\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n\n const [loadingRows, setLoadingRows] = useState(new Set<string>());\n const [subRowsByRow, setSubRowsByRow] = useState(new Map<string, any[]>());\n\n const handleRowExpand = (rowKey: string) => {\n setLoadingRows((prev) => new Set(prev).add(rowKey));\n setExpandedRowKey(rowKey);\n };\n\n useEffect(() => {\n // No results or no expandedRowKeys, nothing to load\n if (!resultsSubRows || !resultsSubRows?.data || expandedRowKeys.length === 0) {\n return;\n }\n\n const subRowsByRowData = new Map<string, any[]>();\n expandedRowKeys.forEach((rowKey) => {\n const containsSubRow = resultsSubRows.data?.some(\n (row) => String(row[rowDimension.name]) === rowKey,\n );\n\n if (containsSubRow) {\n const subRows =\n resultsSubRows.data?.filter((row) => String(row[rowDimension.name]) === rowKey) ?? [];\n const subRowsSorted = subRowDimension\n ? sortArrayByProp(subRows, subRowDimension.name, 'asc')\n : subRows;\n\n subRowsByRowData.set(rowKey, subRowsSorted);\n }\n\n setLoadingRows((prev) => {\n const next = new Set(prev);\n next.delete(rowKey);\n return next;\n });\n });\n setSubRowsByRow(subRowsByRowData);\n }, [resultsSubRows, expandedRowKeys, rowDimension, subRowDimension]);\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n expandableRows={Boolean(subRowDimension)}\n subRowsByRow={subRowsByRow}\n loadingRows={loadingRows}\n onRowExpand={handleRowExpand}\n subRowDimension={pivotSubRowDimension}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","sortArrayByProp","arr","prop","order","a","b","PivotTablePro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","resultsSubRows","rowDimension","subRowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","hideMenu","expandedRowKeys","setExpandedRowKey","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotSubRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","loadingRows","setLoadingRows","useState","subRowsByRow","setSubRowsByRow","handleRowExpand","rowKey","prev","useEffect","subRowsByRowData","subRows","subRowsSorted","next","jsx","ChartCard","PivotTable","i18n"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { a as S, c as M, m as T, j as x, L as w } from "./Color.type.emb-
|
|
1
|
+
import { a as S, c as M, m as T, j as x, L as w } from "./Color.type.emb-Bon3x9VC.js";
|
|
2
2
|
import { useTheme as F } from "@embeddable.com/react";
|
|
3
|
-
import {
|
|
4
|
-
import { C as R } from "./ChartCard-
|
|
5
|
-
import { g as v } from "./preview.data.constants-
|
|
3
|
+
import { a as P, r as D } from "./component.utils-DubLDCwF.js";
|
|
4
|
+
import { C as R } from "./ChartCard-BO7MZwqM.js";
|
|
5
|
+
import { g as v } from "./preview.data.constants-BeVHkWI3.js";
|
|
6
6
|
import { a as L } from "./styles.utils-BfpH_m_W.js";
|
|
7
7
|
import { i as k, s as _ } from "./color.utils-BSg_DFOh.js";
|
|
8
8
|
import { u as B } from "./charts.fillGaps.hooks-C7KsWcZb.js";
|
|
9
|
-
import { C as G } from "./granularity.utils-
|
|
9
|
+
import { C as G } from "./granularity.utils-B0IaQ58A.js";
|
|
10
10
|
const I = (o, l) => {
|
|
11
11
|
if (!o.data)
|
|
12
12
|
return {
|
|
@@ -17,7 +17,7 @@ const I = (o, l) => {
|
|
|
17
17
|
return {
|
|
18
18
|
labels: d.map((a) => a[o.dimension.name]),
|
|
19
19
|
datasets: o.measures.map((a, u) => {
|
|
20
|
-
var n, m,
|
|
20
|
+
var n, m, h, b;
|
|
21
21
|
const i = !!((n = a.inputs) != null && n.connectGaps), g = d.map((p) => p[a.name] ?? (i ? 0 : null)), s = (m = a.inputs) == null ? void 0 : m.lineColor, r = S(), e = k(s) ? s : L({
|
|
22
22
|
dimensionOrMeasure: a,
|
|
23
23
|
theme: l,
|
|
@@ -39,12 +39,12 @@ const I = (o, l) => {
|
|
|
39
39
|
data: g,
|
|
40
40
|
backgroundColor: _(e, 0.5),
|
|
41
41
|
pointBackgroundColor: e,
|
|
42
|
-
borderDash: (
|
|
42
|
+
borderDash: (h = a.inputs) != null && h.dashedLine ? [
|
|
43
43
|
M("--em-linechart-line-dash", "0.25rem"),
|
|
44
44
|
M("--em-linechart-line-gap", "0.25rem")
|
|
45
45
|
] : void 0,
|
|
46
46
|
borderColor: t,
|
|
47
|
-
fill: !!((
|
|
47
|
+
fill: !!((b = a.inputs) != null && b.fillUnderLine)
|
|
48
48
|
};
|
|
49
49
|
})
|
|
50
50
|
};
|
|
@@ -95,9 +95,9 @@ const I = (o, l) => {
|
|
|
95
95
|
},
|
|
96
96
|
onClick: (e, t, n) => {
|
|
97
97
|
if (!u) return;
|
|
98
|
-
const m = t[0],
|
|
98
|
+
const m = t[0], h = m ? n.data.labels[m.index] : null;
|
|
99
99
|
u({
|
|
100
|
-
dimensionValue:
|
|
100
|
+
dimensionValue: h
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
103
|
}, ((r = (s = l.charts) == null ? void 0 : s.lineChartDefaultPro) == null ? void 0 : r.options) || {});
|
|
@@ -112,8 +112,8 @@ const I = (o, l) => {
|
|
|
112
112
|
showLegend: t,
|
|
113
113
|
showLogarithmicScale: n,
|
|
114
114
|
showTooltips: m,
|
|
115
|
-
showValueLabels:
|
|
116
|
-
yAxisRangeMax:
|
|
115
|
+
showValueLabels: h,
|
|
116
|
+
yAxisRangeMax: b,
|
|
117
117
|
yAxisRangeMin: p,
|
|
118
118
|
setGranularity: y,
|
|
119
119
|
onLineClicked: A
|
|
@@ -125,7 +125,7 @@ const I = (o, l) => {
|
|
|
125
125
|
data: C.data,
|
|
126
126
|
dimension: r,
|
|
127
127
|
measures: s,
|
|
128
|
-
hasMinMaxYAxisRange: p != null ||
|
|
128
|
+
hasMinMaxYAxisRange: p != null || b != null
|
|
129
129
|
},
|
|
130
130
|
l
|
|
131
131
|
), O = V(
|
|
@@ -159,10 +159,10 @@ const I = (o, l) => {
|
|
|
159
159
|
showLegend: t,
|
|
160
160
|
showLogarithmicScale: n,
|
|
161
161
|
showTooltips: m,
|
|
162
|
-
showValueLabels:
|
|
162
|
+
showValueLabels: h,
|
|
163
163
|
xAxisLabel: u,
|
|
164
164
|
yAxisLabel: i,
|
|
165
|
-
yAxisRangeMax:
|
|
165
|
+
yAxisRangeMax: b,
|
|
166
166
|
yAxisRangeMin: p,
|
|
167
167
|
options: O
|
|
168
168
|
}
|
|
@@ -180,4 +180,4 @@ export {
|
|
|
180
180
|
I as g,
|
|
181
181
|
K as i
|
|
182
182
|
};
|
|
183
|
-
//# sourceMappingURL=index-
|
|
183
|
+
//# sourceMappingURL=index-BM3-McL7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-DA8SRHFS.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx"],"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 { LineChartProOptionsClick } from '../lines.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 onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, onLineClicked } = 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(dimension, label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${themeFormatter.data(dimension, 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 onClick: (_event, elements, chart) => {\n if (!onLineClicked) return;\n\n const element = elements[0];\n const dimensionValue = (element ? chart.data.labels![element.index] : null) as string | null;\n\n onLineClicked({\n dimensionValue,\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.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\nexport type LineChartProProp = {\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 setGranularity: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartPro = (props: LineChartProProp) => {\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 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(\n { data, dimension: xAxis, measures, onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\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 <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\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 />\n </ChartCard>\n );\n};\n\nexport default LineChartPro;\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","onLineClicked","mergician","value","context","label","raw","_event","elements","chart","element","dimensionValue","LineChartPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-BM3-McL7.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx"],"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 { LineChartProOptionsClick } from '../lines.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 onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, onLineClicked } = 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(dimension, label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${themeFormatter.data(dimension, 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 onClick: (_event, elements, chart) => {\n if (!onLineClicked) return;\n\n const element = elements[0];\n const dimensionValue = (element ? chart.data.labels![element.index] : null) as string | null;\n\n onLineClicked({\n dimensionValue,\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.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\nexport type LineChartProProp = {\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 setGranularity: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartPro = (props: LineChartProProp) => {\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 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(\n { data, dimension: xAxis, measures, onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\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 <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\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 />\n </ChartCard>\n );\n};\n\nexport default LineChartPro;\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","onLineClicked","mergician","value","context","label","raw","_event","elements","chart","element","dimensionValue","LineChartPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart"],"mappings":"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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { j as r } from "./Color.type.emb-
|
|
1
|
+
import { j as r } from "./Color.type.emb-Bon3x9VC.js";
|
|
2
2
|
import { useTheme as u } from "@embeddable.com/react";
|
|
3
|
-
import {
|
|
4
|
-
import { E as g } from "./EditorCard-
|
|
5
|
-
import { G as j } from "./GranularitySelectField-
|
|
3
|
+
import { a as d, r as f } from "./component.utils-DubLDCwF.js";
|
|
4
|
+
import { E as g } from "./EditorCard-BxYVJiPi.js";
|
|
5
|
+
import { G as j } from "./GranularitySelectField-D8f7LLe4.js";
|
|
6
6
|
const x = (e) => {
|
|
7
7
|
const t = u();
|
|
8
8
|
d(t);
|
|
9
|
-
const { granularity: o, granularities:
|
|
9
|
+
const { granularity: o, granularities: a, clearable: i, primaryTimeRange: l, onChange: n } = e, { description: s, tooltip: m, placeholder: c, title: p } = f(e);
|
|
10
10
|
return /* @__PURE__ */ r.jsx(g, { title: p, description: s, tooltip: m, children: /* @__PURE__ */ r.jsx(
|
|
11
11
|
j,
|
|
12
12
|
{
|
|
13
|
-
clearable:
|
|
13
|
+
clearable: i,
|
|
14
14
|
placeholder: c,
|
|
15
15
|
granularity: o,
|
|
16
|
-
granularities:
|
|
16
|
+
granularities: a,
|
|
17
17
|
primaryTimeRange: l,
|
|
18
18
|
onChange: n
|
|
19
19
|
}
|
|
@@ -26,4 +26,4 @@ export {
|
|
|
26
26
|
x as G,
|
|
27
27
|
_ as i
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=index-
|
|
29
|
+
//# sourceMappingURL=index-Bfe6zioU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-Bfe6zioU.js","sources":["../src/components/editors/GranularitySelectFieldPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { TimeRange } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { TGranularityValue } from '../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { GranularitySelectField } from '../shared/GranularitySelectField/GranularitySelectField';\n\nexport type GranularitySelectFieldProProps = {\n onChange: (newGranularity: string) => void;\n placeholder?: string;\n primaryTimeRange?: TimeRange;\n granularity?: TGranularityValue;\n granularities?: TGranularityValue[];\n clearable?: boolean;\n} & EditorCardHeaderProps;\n\nconst GranularitySelectFieldPro = (props: GranularitySelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { granularity, granularities, clearable, primaryTimeRange, onChange } = props;\n const { description, tooltip, placeholder, title } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <GranularitySelectField\n clearable={clearable}\n placeholder={placeholder}\n granularity={granularity}\n granularities={granularities}\n primaryTimeRange={primaryTimeRange}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default GranularitySelectFieldPro;\n"],"names":["GranularitySelectFieldPro","props","theme","useTheme","i18nSetup","granularity","granularities","clearable","primaryTimeRange","onChange","description","tooltip","placeholder","title","resolveI18nProps","jsx","EditorCard","GranularitySelectField"],"mappings":";;;;;AAkBA,MAAMA,IAA4B,CAACC,MAA0C;AAC3E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,aAAAG,GAAa,eAAAC,GAAe,WAAAC,GAAW,kBAAAC,GAAkB,UAAAC,MAAaR,GACxE,EAAE,aAAAS,GAAa,SAAAC,GAAS,aAAAC,GAAa,OAAAC,EAAA,IAAUC,EAAiBb,CAAK;AAE3E,SACEc,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAH,GAAc,aAAAH,GAA0B,SAAAC,GAClD,UAAAI,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAAV;AAAA,MACA,aAAAK;AAAA,MACA,aAAAP;AAAA,MACA,eAAAC;AAAA,MACA,kBAAAE;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;;;;"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { m as z, j as o, B as L } from "./Color.type.emb-
|
|
1
|
+
import { m as z, j as o, B as L } from "./Color.type.emb-Bon3x9VC.js";
|
|
2
2
|
import { useTheme as T } from "@embeddable.com/react";
|
|
3
|
-
import {
|
|
4
|
-
import { C as v } from "./ChartCard-
|
|
5
|
-
import { g as D, a as G } from "./bars.utils-
|
|
3
|
+
import { a as w, r as _ } from "./component.utils-DubLDCwF.js";
|
|
4
|
+
import { C as v } from "./ChartCard-BO7MZwqM.js";
|
|
5
|
+
import { g as D, a as G } from "./bars.utils-Cg5WRRVr.js";
|
|
6
6
|
import { u as H } from "./charts.fillGaps.hooks-C7KsWcZb.js";
|
|
7
|
-
import { C as I } from "./granularity.utils-
|
|
7
|
+
import { C as I } from "./granularity.utils-B0IaQ58A.js";
|
|
8
8
|
const O = (t) => {
|
|
9
9
|
var u, h;
|
|
10
|
-
const
|
|
11
|
-
w(
|
|
10
|
+
const r = T();
|
|
11
|
+
w(r);
|
|
12
12
|
const {
|
|
13
13
|
hideMenu: c,
|
|
14
|
-
dimension:
|
|
14
|
+
dimension: a,
|
|
15
15
|
measures: e,
|
|
16
16
|
showValueLabels: x,
|
|
17
17
|
reverseYAxis: d,
|
|
@@ -25,20 +25,20 @@ const O = (t) => {
|
|
|
25
25
|
onBarClicked: y
|
|
26
26
|
} = t, { description: i, title: n, tooltip: l, xAxisLabel: A, yAxisLabel: B } = _(t), s = H({
|
|
27
27
|
results: t.results,
|
|
28
|
-
dimension:
|
|
28
|
+
dimension: a
|
|
29
29
|
}), m = D(
|
|
30
|
-
{ data: s.data, dimension:
|
|
31
|
-
|
|
30
|
+
{ data: s.data, dimension: a, measures: e, maxItems: b },
|
|
31
|
+
r
|
|
32
32
|
), P = z(
|
|
33
|
-
G({ measures: e, horizontal: !0, onBarClicked: y, data: m, dimension:
|
|
33
|
+
G({ measures: e, horizontal: !0, onBarClicked: y, data: m, dimension: a }, r),
|
|
34
34
|
// Format X axis based on first measure
|
|
35
|
-
((h = (u =
|
|
35
|
+
((h = (u = r.charts) == null ? void 0 : u.barChartDefaultHorizontalPro) == null ? void 0 : h.options) || {}
|
|
36
36
|
), S = !n && !i && !l;
|
|
37
37
|
return /* @__PURE__ */ o.jsxs(
|
|
38
38
|
v,
|
|
39
39
|
{
|
|
40
40
|
data: s,
|
|
41
|
-
dimensionsAndMeasures: [
|
|
41
|
+
dimensionsAndMeasures: [a, ...e],
|
|
42
42
|
errorMessage: s.error,
|
|
43
43
|
description: i,
|
|
44
44
|
title: n,
|
|
@@ -49,7 +49,7 @@ const O = (t) => {
|
|
|
49
49
|
I,
|
|
50
50
|
{
|
|
51
51
|
hasMarginTop: S,
|
|
52
|
-
dimension:
|
|
52
|
+
dimension: a,
|
|
53
53
|
onChange: j
|
|
54
54
|
}
|
|
55
55
|
),
|
|
@@ -81,4 +81,4 @@ export {
|
|
|
81
81
|
O as B,
|
|
82
82
|
J as i
|
|
83
83
|
};
|
|
84
|
-
//# sourceMappingURL=index-
|
|
84
|
+
//# sourceMappingURL=index-BkTScvL1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-BkTScvL1.js","sources":["../src/components/charts/bars/BarChartDefaultHorizontalPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type BarChartDefaultHorizontalProProps = {\n dimension: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n yAxisLabel?: string;\n yAxisMaxItems?: number;\n setGranularity: (granularity: Granularity) => void;\n onBarClicked?: (args: { axisDimensionValue: string | null }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartDefaultHorizontalPro = (props: BarChartDefaultHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n hideMenu,\n dimension,\n measures,\n showValueLabels,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n xAxisRangeMax,\n xAxisRangeMin,\n yAxisMaxItems,\n setGranularity,\n onBarClicked,\n } = props;\n\n const { description, title, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: yAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: true, onBarClicked, data, dimension }, theme), // Format X axis based on first measure\n theme.charts?.barChartDefaultHorizontalPro?.options || {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n <BarChart\n horizontal\n data={data}\n options={options}\n reverseYAxis={reverseYAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n xAxisRangeMax={xAxisRangeMax}\n xAxisRangeMin={xAxisRangeMin}\n yAxisLabel={yAxisLabel}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultHorizontalPro;\n"],"names":["BarChartDefaultHorizontalPro","props","theme","useTheme","i18nSetup","hideMenu","dimension","measures","showValueLabels","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","xAxisRangeMax","xAxisRangeMin","yAxisMaxItems","setGranularity","onBarClicked","description","title","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart"],"mappings":";;;;;;;AA8BA,MAAMA,IAA+B,CAACC,MAA6C;;AACjF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,UAAAG;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEhB,GAEE,EAAE,aAAAiB,GAAa,OAAAC,GAAO,SAAAC,GAAS,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiBtB,CAAK,GAEhFuB,IAAUC,EAAY;AAAA,IAC1B,SAASxB,EAAM;AAAA,IACf,WAAAK;AAAA,EAAA,CACD,GAEKoB,IAAOC;AAAA,IACX,EAAE,MAAMH,EAAQ,MAAM,WAAAlB,GAAW,UAAAC,GAAU,UAAUQ,EAAA;AAAA,IACrDb;AAAA,EAAA,GAGI0B,IAAUC;AAAA,IACdC,EAAsB,EAAE,UAAAvB,GAAU,YAAY,IAAM,cAAAU,GAAc,MAAAS,GAAM,WAAApB,EAAA,GAAaJ,CAAK;AAAA;AAAA,MAC1F6B,KAAAC,IAAA9B,EAAM,WAAN,gBAAA8B,EAAc,iCAAd,gBAAAD,EAA4C,YAAW,CAAA;AAAA,EAAC,GAGpDE,IAAkC,CAACd,KAAS,CAACD,KAAe,CAACE;AAEnE,SACEc,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMX;AAAA,MACN,uBAAuB,CAAClB,GAAW,GAAGC,CAAQ;AAAA,MAC9C,cAAciB,EAAQ;AAAA,MACtB,aAAAN;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAf;AAAA,MAEA,UAAA;AAAA,QAAA+B,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcJ;AAAA,YACd,WAAA3B;AAAA,YACA,UAAUU;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZoB,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,YAAU;AAAA,YACV,MAAAZ;AAAA,YACA,SAAAE;AAAA,YACA,cAAAnB;AAAA,YACA,YAAAC;AAAA,YACA,sBAAAC;AAAA,YACA,cAAAC;AAAA,YACA,iBAAAJ;AAAA,YACA,YAAAa;AAAA,YACA,eAAAR;AAAA,YACA,eAAAC;AAAA,YACA,YAAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { m as L, j as o, B as T } from "./Color.type.emb-
|
|
1
|
+
import { m as L, j as o, B as T } from "./Color.type.emb-Bon3x9VC.js";
|
|
2
2
|
import { useTheme as w } from "@embeddable.com/react";
|
|
3
|
-
import {
|
|
4
|
-
import { C as D } from "./ChartCard-
|
|
5
|
-
import { g as G, a as I } from "./bars.utils-
|
|
3
|
+
import { a as _, r as v } from "./component.utils-DubLDCwF.js";
|
|
4
|
+
import { C as D } from "./ChartCard-BO7MZwqM.js";
|
|
5
|
+
import { g as G, a as I } from "./bars.utils-Cg5WRRVr.js";
|
|
6
6
|
import { u as O } from "./charts.fillGaps.hooks-C7KsWcZb.js";
|
|
7
|
-
import { C as R } from "./granularity.utils-
|
|
7
|
+
import { C as R } from "./granularity.utils-B0IaQ58A.js";
|
|
8
8
|
const z = (r) => {
|
|
9
9
|
var u, c;
|
|
10
10
|
const e = w();
|
|
@@ -19,9 +19,9 @@ const z = (r) => {
|
|
|
19
19
|
showLogarithmicScale: f,
|
|
20
20
|
showValueLabels: C,
|
|
21
21
|
reverseXAxis: M,
|
|
22
|
-
hideMenu:
|
|
22
|
+
hideMenu: y,
|
|
23
23
|
dimension: a,
|
|
24
|
-
setGranularity:
|
|
24
|
+
setGranularity: b,
|
|
25
25
|
onBarClicked: j
|
|
26
26
|
} = r, { tooltip: i, description: n, title: l, xAxisLabel: A, yAxisLabel: B } = v(r), t = O({
|
|
27
27
|
results: r.results,
|
|
@@ -43,14 +43,14 @@ const z = (r) => {
|
|
|
43
43
|
description: n,
|
|
44
44
|
title: l,
|
|
45
45
|
tooltip: i,
|
|
46
|
-
hideMenu:
|
|
46
|
+
hideMenu: y,
|
|
47
47
|
children: [
|
|
48
48
|
/* @__PURE__ */ o.jsx(
|
|
49
49
|
R,
|
|
50
50
|
{
|
|
51
51
|
hasMarginTop: S,
|
|
52
52
|
dimension: a,
|
|
53
|
-
onChange:
|
|
53
|
+
onChange: b
|
|
54
54
|
}
|
|
55
55
|
),
|
|
56
56
|
/* @__PURE__ */ o.jsx(
|
|
@@ -80,4 +80,4 @@ export {
|
|
|
80
80
|
z as B,
|
|
81
81
|
J as i
|
|
82
82
|
};
|
|
83
|
-
//# sourceMappingURL=index-
|
|
83
|
+
//# sourceMappingURL=index-Bsc-5ZTL.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-Bsc-5ZTL.js","sources":["../src/components/charts/bars/BarChartDefaultPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type BarChartDefaultProProps = {\n dimension: Dimension;\n measures: Measure[];\n results: DataResponse;\n xAxisLabel?: string;\n xAxisMaxItems?: number;\n yAxisLabel?: string;\n yAxisRangeMin?: number;\n yAxisRangeMax?: number;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n reverseXAxis?: boolean;\n setGranularity: (granularity: Granularity) => void;\n onBarClicked?: (args: { axisDimensionValue: string | null }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartDefaultPro = (props: BarChartDefaultProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n measures,\n yAxisRangeMin,\n xAxisMaxItems,\n yAxisRangeMax,\n showLegend,\n showTooltips,\n showLogarithmicScale,\n showValueLabels,\n reverseXAxis,\n hideMenu,\n dimension,\n setGranularity,\n onBarClicked,\n } = props;\n\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: xAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: false, onBarClicked, data, dimension }, theme), // Format Y axis based on first measure\n theme.charts?.barChartDefaultPro?.options || {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultPro;\n"],"names":["BarChartDefaultPro","props","theme","useTheme","i18nSetup","measures","yAxisRangeMin","xAxisMaxItems","yAxisRangeMax","showLegend","showTooltips","showLogarithmicScale","showValueLabels","reverseXAxis","hideMenu","dimension","setGranularity","onBarClicked","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart"],"mappings":";;;;;;;AA8BA,MAAMA,IAAqB,CAACC,MAAmC;;AAC7D,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,UAAAG;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEhB,GAEE,EAAE,SAAAiB,GAAS,aAAAC,GAAa,OAAAC,GAAO,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiBtB,CAAK,GAEhFuB,IAAUC,EAAY;AAAA,IAC1B,SAASxB,EAAM;AAAA,IACf,WAAAc;AAAA,EAAA,CACD,GAEKW,IAAOC;AAAA,IACX,EAAE,MAAMH,EAAQ,MAAM,WAAAT,GAAW,UAAAV,GAAU,UAAUE,EAAA;AAAA,IACrDL;AAAA,EAAA,GAGI0B,IAAUC;AAAA,IACdC,EAAsB,EAAE,UAAAzB,GAAU,YAAY,IAAO,cAAAY,GAAc,MAAAS,GAAM,WAAAX,EAAA,GAAab,CAAK;AAAA;AAAA,MAC3F6B,KAAAC,IAAA9B,EAAM,WAAN,gBAAA8B,EAAc,uBAAd,gBAAAD,EAAkC,YAAW,CAAA;AAAA,EAAC,GAG1CE,IAAkC,CAACb,KAAS,CAACD,KAAe,CAACD;AAEnE,SACEgB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMX;AAAA,MACN,uBAAuB,CAACT,GAAW,GAAGV,CAAQ;AAAA,MAC9C,cAAcmB,EAAQ;AAAA,MACtB,aAAAL;AAAA,MACA,OAAAC;AAAA,MACA,SAAAF;AAAA,MACA,UAAAJ;AAAA,MAEA,UAAA;AAAA,QAAAsB,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcJ;AAAA,YACd,WAAAlB;AAAA,YACA,UAAUC;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZoB,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAAZ;AAAA,YACA,YAAAjB;AAAA,YACA,cAAAC;AAAA,YACA,iBAAAE;AAAA,YACA,sBAAAD;AAAA,YACA,YAAAU;AAAA,YACA,YAAAC;AAAA,YACA,cAAAT;AAAA,YACA,eAAAP;AAAA,YACA,eAAAE;AAAA,YACA,SAAAoB;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { j as k,
|
|
1
|
+
import { j as k, v as ee } from "./Color.type.emb-Bon3x9VC.js";
|
|
2
2
|
import { useTheme as te } from "@embeddable.com/react";
|
|
3
|
-
import {
|
|
4
|
-
import { C as ae } from "./ChartCard-
|
|
3
|
+
import { a as re, r as ne, i as oe } from "./component.utils-DubLDCwF.js";
|
|
4
|
+
import { C as ae } from "./ChartCard-BO7MZwqM.js";
|
|
5
5
|
import { useState as B, useRef as I, useEffect as S, useCallback as ue } from "react";
|
|
6
|
-
import { b as ce, c as ie } from "./tables.utils-
|
|
6
|
+
import { b as ce, c as ie } from "./tables.utils-DS3rr8kb.js";
|
|
7
7
|
const se = 50, { getOwnPropertyNames: le, getOwnPropertySymbols: fe } = Object, { hasOwnProperty: de } = Object.prototype;
|
|
8
8
|
function M(t, e) {
|
|
9
9
|
return function(r, a, i) {
|
|
@@ -37,10 +37,10 @@ const pe = (
|
|
|
37
37
|
function Ee(t, e) {
|
|
38
38
|
return t === e;
|
|
39
39
|
}
|
|
40
|
-
function
|
|
40
|
+
function je(t, e) {
|
|
41
41
|
return t.byteLength === e.byteLength && L(new Uint8Array(t), new Uint8Array(e));
|
|
42
42
|
}
|
|
43
|
-
function
|
|
43
|
+
function be(t, e, n) {
|
|
44
44
|
let r = t.length;
|
|
45
45
|
if (e.length !== r)
|
|
46
46
|
return !1;
|
|
@@ -184,17 +184,17 @@ function De(t) {
|
|
|
184
184
|
return !1;
|
|
185
185
|
if (Array.isArray(o))
|
|
186
186
|
return n(o, l, p);
|
|
187
|
-
const
|
|
188
|
-
if (
|
|
189
|
-
return
|
|
190
|
-
const C = d && d(o, l, p,
|
|
187
|
+
const b = Ie.call(o), j = e[b];
|
|
188
|
+
if (j)
|
|
189
|
+
return j(o, l, p);
|
|
190
|
+
const C = d && d(o, l, p, b);
|
|
191
191
|
return C ? C(o, l, p) : !1;
|
|
192
192
|
};
|
|
193
193
|
}
|
|
194
194
|
function Le({ circular: t, createCustomConfig: e, strict: n }) {
|
|
195
195
|
let r = {
|
|
196
|
-
areArrayBuffersEqual:
|
|
197
|
-
areArraysEqual: n ? x :
|
|
196
|
+
areArrayBuffersEqual: je,
|
|
197
|
+
areArraysEqual: n ? x : be,
|
|
198
198
|
areDataViewsEqual: ye,
|
|
199
199
|
areDatesEqual: we,
|
|
200
200
|
areErrorsEqual: qe,
|
|
@@ -338,12 +338,12 @@ const ve = (t) => {
|
|
|
338
338
|
displayNullAs: p,
|
|
339
339
|
showIndex: E,
|
|
340
340
|
clickDimension: g,
|
|
341
|
-
state:
|
|
342
|
-
setState:
|
|
341
|
+
state: b,
|
|
342
|
+
setState: j,
|
|
343
343
|
onRowClicked: C
|
|
344
344
|
} = t, G = ce({ dimensionsAndMeasures: l, displayNullAs: p }, e), R = (s == null ? void 0 : s.data) ?? [], _ = I(null), v = I(null), O = I(!0), P = I(null);
|
|
345
345
|
S(() => {
|
|
346
|
-
_e(d.variableValues, P.current) || (O.current = !0, P.current = d.variableValues,
|
|
346
|
+
_e(d.variableValues, P.current) || (O.current = !0, P.current = d.variableValues, j == null || j((h) => ({
|
|
347
347
|
...h,
|
|
348
348
|
page: 0
|
|
349
349
|
})));
|
|
@@ -359,12 +359,12 @@ const ve = (t) => {
|
|
|
359
359
|
}, [R]);
|
|
360
360
|
const A = ue(
|
|
361
361
|
(h) => {
|
|
362
|
-
|
|
362
|
+
j == null || j((w) => ({
|
|
363
363
|
...w,
|
|
364
364
|
...h
|
|
365
365
|
}));
|
|
366
366
|
},
|
|
367
|
-
[
|
|
367
|
+
[j]
|
|
368
368
|
), K = (h) => {
|
|
369
369
|
r(!0), A({ isLoadingDownloadData: !0 }), W = (w) => h({
|
|
370
370
|
title: c,
|
|
@@ -387,7 +387,7 @@ const ve = (t) => {
|
|
|
387
387
|
}
|
|
388
388
|
}, [n, o, A]);
|
|
389
389
|
const Z = () => {
|
|
390
|
-
s.isLoading || A({ page: ((
|
|
390
|
+
s.isLoading || A({ page: ((b == null ? void 0 : b.page) ?? 0) + 1 });
|
|
391
391
|
}, J = (h) => {
|
|
392
392
|
O.current = !0, A({ sort: h, page: 0 });
|
|
393
393
|
}, Q = (s == null ? void 0 : s.data) && s.data.length === se, X = !!(s != null && s.isLoading || o != null && o.isLoading), Y = (s == null ? void 0 : s.isLoading) && !O.current;
|
|
@@ -415,7 +415,7 @@ const ve = (t) => {
|
|
|
415
415
|
headers: G,
|
|
416
416
|
rows: ie({ rows: a, clickDimension: g }),
|
|
417
417
|
showIndex: E,
|
|
418
|
-
sort:
|
|
418
|
+
sort: b == null ? void 0 : b.sort,
|
|
419
419
|
isLoading: Y,
|
|
420
420
|
loadingLabel: oe.t("common.loading"),
|
|
421
421
|
onNextPage: Z,
|
|
@@ -433,4 +433,4 @@ export {
|
|
|
433
433
|
ve as a,
|
|
434
434
|
Te as i
|
|
435
435
|
};
|
|
436
|
-
//# sourceMappingURL=index-
|
|
436
|
+
//# sourceMappingURL=index-C2Wozewk.js.map
|