@embeddable.com/remarkable-pro 0.1.2 → 0.1.3
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 +9 -8
- package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
- package/dist/BarChartDefaultPro.js +5 -4
- package/dist/BarChartDefaultPro.js.map +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +5 -4
- package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
- package/dist/BarChartGroupedPro.js +7 -6
- package/dist/BarChartGroupedPro.js.map +1 -1
- package/dist/BarChartStackedHorizontalPro.js +10 -9
- package/dist/BarChartStackedHorizontalPro.js.map +1 -1
- package/dist/BarChartStackedPro.js +13 -12
- package/dist/BarChartStackedPro.js.map +1 -1
- package/dist/ChartCard-OT66j3V3.js +117 -0
- package/dist/ChartCard-OT66j3V3.js.map +1 -0
- package/dist/{ChartGranularitySelectField-C_6Mugcw.js → ChartGranularitySelectField-awLCjaEw.js} +3 -3
- package/dist/{ChartGranularitySelectField-C_6Mugcw.js.map → ChartGranularitySelectField-awLCjaEw.js.map} +1 -1
- package/dist/{Color.type.emb-De2K8PVb.js → Color.type.emb-Chs0ckWV.js} +11493 -11117
- package/dist/Color.type.emb-Chs0ckWV.js.map +1 -0
- package/dist/ColorEditor.js +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +9 -8
- package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
- package/dist/DateRangePickerCustomPro.js +42 -41
- package/dist/DateRangePickerCustomPro.js.map +1 -1
- package/dist/DateRangeSelectFieldPro.js +6 -5
- package/dist/DateRangeSelectFieldPro.js.map +1 -1
- package/dist/{DimensionAndMeasureSingleSelectField-CJ1yAcRd.js → DimensionAndMeasureSingleSelectField-BDdFGAJw.js} +3 -3
- package/dist/{DimensionAndMeasureSingleSelectField-CJ1yAcRd.js.map → DimensionAndMeasureSingleSelectField-BDdFGAJw.js.map} +1 -1
- package/dist/DimensionSingleSelectFieldPro.js +32 -31
- package/dist/DimensionSingleSelectFieldPro.js.map +1 -1
- package/dist/DonutChartPro.js +16 -15
- package/dist/DonutChartPro.js.map +1 -1
- package/dist/DonutLabelChartPro.js +10 -9
- package/dist/DonutLabelChartPro.js.map +1 -1
- package/dist/EditorCard-C79wijeo.js +33 -0
- package/dist/EditorCard-C79wijeo.js.map +1 -0
- package/dist/{GranularitySelectField-DuRk6qY8.js → GranularitySelectField-BVQgGkjc.js} +3 -3
- package/dist/{GranularitySelectField-DuRk6qY8.js.map → GranularitySelectField-BVQgGkjc.js.map} +1 -1
- package/dist/GranularitySelectFieldPro.js +18 -17
- package/dist/GranularitySelectFieldPro.js.map +1 -1
- package/dist/HeatMapPro.js +5 -4
- package/dist/HeatMapPro.js.map +1 -1
- package/dist/{IconCalendarFilled-CYiLMPm9.js → IconCalendarFilled-CPoPNAfd.js} +2 -2
- package/dist/{IconCalendarFilled-CYiLMPm9.js.map → IconCalendarFilled-CPoPNAfd.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +5 -4
- package/dist/KpiChartNumberComparisonPro.js.map +1 -1
- package/dist/KpiChartNumberPro.js +12 -5
- package/dist/KpiChartNumberPro.js.map +1 -1
- package/dist/LineChartComparisonDefaultPro.js +8 -7
- package/dist/LineChartComparisonDefaultPro.js.map +1 -1
- package/dist/LineChartDefaultPro.js +5 -4
- package/dist/LineChartDefaultPro.js.map +1 -1
- package/dist/LineChartGroupedPro.js +5 -4
- package/dist/LineChartGroupedPro.js.map +1 -1
- package/dist/MeasureSingleSelectFieldPro.js +32 -31
- package/dist/MeasureSingleSelectFieldPro.js.map +1 -1
- package/dist/MultiSelectFieldPro.js +9 -8
- package/dist/MultiSelectFieldPro.js.map +1 -1
- package/dist/PieChartPro.js +9 -8
- package/dist/PieChartPro.js.map +1 -1
- package/dist/PivotTablePro.js +5 -4
- package/dist/PivotTablePro.js.map +1 -1
- package/dist/SingleSelectFieldPro.js +23 -22
- package/dist/SingleSelectFieldPro.js.map +1 -1
- package/dist/TableChartPaginated.js +10 -9
- package/dist/TableChartPaginated.js.map +1 -1
- package/dist/TableScrollable.js +244 -242
- package/dist/TableScrollable.js.map +1 -1
- package/dist/{bars.utils-7WiIKMS8.js → bars.utils-DzcvCtRj.js} +7 -7
- package/dist/{bars.utils-7WiIKMS8.js.map → bars.utils-DzcvCtRj.js.map} +1 -1
- package/dist/{charts.utils-CeUb1OP-.js → charts.utils-B9hA-AJt.js} +725 -688
- package/dist/charts.utils-B9hA-AJt.js.map +1 -0
- package/dist/{component.inputs.constants-DzpzJ9Na.js → component.inputs.constants-DMsQ1KIy.js} +92 -86
- package/dist/component.inputs.constants-DMsQ1KIy.js.map +1 -0
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/shared/ChartCard/ChartCard.d.ts +1 -0
- package/dist/components/charts/shared/ChartCard/ChartCard.d.ts.map +1 -1
- package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
- package/dist/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
- package/dist/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
- package/dist/components/charts/tables/TableScrollable/index.d.ts.map +1 -1
- package/dist/components/component.inputs.constants.d.ts +6 -0
- package/dist/components/component.inputs.constants.d.ts.map +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts +2 -2
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/GranularitySelectFieldPro/index.d.ts +2 -2
- package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/MultiSelectFieldPro/index.d.ts +2 -2
- package/dist/components/editors/MultiSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/SingleSelectFieldPro/index.d.ts +2 -2
- package/dist/components/editors/SingleSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts +2 -2
- package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts +2 -2
- package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
- package/dist/components/editors/shared/EditorCard/EditorCard.d.ts +6 -3
- package/dist/components/editors/shared/EditorCard/EditorCard.d.ts.map +1 -1
- package/dist/embeddable-components.json +36 -36
- package/dist/embeddable-theme-0137e.js +1090 -1053
- package/dist/{formatter.utils-CiN6axbW.js → formatter.utils-wIg0a9Bk.js} +2 -2
- package/dist/{formatter.utils-CiN6axbW.js.map → formatter.utils-wIg0a9Bk.js.map} +1 -1
- package/dist/index-5XDqQ63V.js +60 -0
- package/dist/index-5XDqQ63V.js.map +1 -0
- package/dist/{index-Cd59K5g3.js → index-B8Ssaj05.js} +6 -6
- package/dist/{index-Cd59K5g3.js.map → index-B8Ssaj05.js.map} +1 -1
- package/dist/{index-APJ7mYHR.js → index-BBNdJ1lY.js} +5 -5
- package/dist/{index-APJ7mYHR.js.map → index-BBNdJ1lY.js.map} +1 -1
- package/dist/index-BJ0atkgQ.js +93 -0
- package/dist/index-BJ0atkgQ.js.map +1 -0
- package/dist/index-BNh5_nFd.js +37 -0
- package/dist/index-BNh5_nFd.js.map +1 -0
- package/dist/index-BPkVCSJK.js +99 -0
- package/dist/index-BPkVCSJK.js.map +1 -0
- package/dist/index-Bhm26I4T.js +94 -0
- package/dist/index-Bhm26I4T.js.map +1 -0
- package/dist/index-BqknHuCo.js +88 -0
- package/dist/index-BqknHuCo.js.map +1 -0
- package/dist/index-CdwBu2mT.js +83 -0
- package/dist/index-CdwBu2mT.js.map +1 -0
- package/dist/index-CjU578lr.js +98 -0
- package/dist/index-CjU578lr.js.map +1 -0
- package/dist/index-CoDJGGqe.js +346 -0
- package/dist/{index-BEckqi71.js.map → index-CoDJGGqe.js.map} +1 -1
- package/dist/index-CzcB2c9U.js +114 -0
- package/dist/index-CzcB2c9U.js.map +1 -0
- package/dist/index-D00O-VX5.js +178 -0
- package/dist/index-D00O-VX5.js.map +1 -0
- package/dist/index-D01rdEuG.js +183 -0
- package/dist/index-D01rdEuG.js.map +1 -0
- package/dist/index-DDMj32YH.js +32 -0
- package/dist/index-DDMj32YH.js.map +1 -0
- package/dist/index-DI4o8g2o.js +92 -0
- package/dist/index-DI4o8g2o.js.map +1 -0
- package/dist/index-DViBsw3u.js +91 -0
- package/dist/index-DViBsw3u.js.map +1 -0
- package/dist/index-DlmQkA1e.js +37 -0
- package/dist/index-DlmQkA1e.js.map +1 -0
- package/dist/{index-CTds3eHF.js → index-oVUlHLZC.js} +5 -5
- package/dist/{index-CTds3eHF.js.map → index-oVUlHLZC.js.map} +1 -1
- package/dist/index-uoo8E0Rh.js +84 -0
- package/dist/index-uoo8E0Rh.js.map +1 -0
- package/dist/{index-BCVHDZZk.js → index-x7_4cBXP.js} +51 -51
- package/dist/index-x7_4cBXP.js.map +1 -0
- package/dist/index.js +29 -29
- package/dist/{pies.utils-MOzFigDD.js → pies.utils-Cwg8P8bS.js} +5 -5
- package/dist/{pies.utils-MOzFigDD.js.map → pies.utils-Cwg8P8bS.js.map} +1 -1
- package/dist/{preview.data.constants-BBIMPXYy.js → preview.data.constants-DHMnpP3S.js} +2 -2
- package/dist/{preview.data.constants-BBIMPXYy.js.map → preview.data.constants-DHMnpP3S.js.map} +1 -1
- package/dist/remarkable-pro.css +1 -1
- package/dist/{tables.utils-C7MWIQsp.js → tables.utils-C7oD63FD.js} +4 -4
- package/dist/tables.utils-C7oD63FD.js.map +1 -0
- package/dist/{timeRange.utils-LHM3sXwE.js → timeRange.utils-CzFonlg0.js} +2 -2
- package/dist/{timeRange.utils-LHM3sXwE.js.map → timeRange.utils-CzFonlg0.js.map} +1 -1
- package/package.json +4 -3
- package/dist/ChartCard-CfVMn37p.js +0 -116
- package/dist/ChartCard-CfVMn37p.js.map +0 -1
- package/dist/Color.type.emb-De2K8PVb.js.map +0 -1
- package/dist/EditorCard-B9UFM_uA.js +0 -32
- package/dist/EditorCard-B9UFM_uA.js.map +0 -1
- package/dist/charts.utils-CeUb1OP-.js.map +0 -1
- package/dist/component.inputs.constants-DzpzJ9Na.js.map +0 -1
- package/dist/index-387srVl0.js +0 -93
- package/dist/index-387srVl0.js.map +0 -1
- package/dist/index-3xjxWqDJ.js +0 -90
- package/dist/index-3xjxWqDJ.js.map +0 -1
- package/dist/index-7JWw7tI5.js +0 -47
- package/dist/index-7JWw7tI5.js.map +0 -1
- package/dist/index-BCVHDZZk.js.map +0 -1
- package/dist/index-BEckqi71.js +0 -346
- package/dist/index-BYB6yWhD.js +0 -92
- package/dist/index-BYB6yWhD.js.map +0 -1
- package/dist/index-BnOZcps-.js +0 -98
- package/dist/index-BnOZcps-.js.map +0 -1
- package/dist/index-Bv9-6Ht7.js +0 -113
- package/dist/index-Bv9-6Ht7.js.map +0 -1
- package/dist/index-C26JokZs.js +0 -91
- package/dist/index-C26JokZs.js.map +0 -1
- package/dist/index-CEDNCQK8.js +0 -31
- package/dist/index-CEDNCQK8.js.map +0 -1
- package/dist/index-ClEmYHgx.js +0 -60
- package/dist/index-ClEmYHgx.js.map +0 -1
- package/dist/index-Cp90DbOu.js +0 -83
- package/dist/index-Cp90DbOu.js.map +0 -1
- package/dist/index-Crpz4FA4.js +0 -87
- package/dist/index-Crpz4FA4.js.map +0 -1
- package/dist/index-D37a5H7U.js +0 -182
- package/dist/index-D37a5H7U.js.map +0 -1
- package/dist/index-DADSJYlJ.js +0 -177
- package/dist/index-DADSJYlJ.js.map +0 -1
- package/dist/index-DeWASjPW.js +0 -97
- package/dist/index-DeWASjPW.js.map +0 -1
- package/dist/index-DffpQwrs.js +0 -82
- package/dist/index-DffpQwrs.js.map +0 -1
- package/dist/index-mtJHlsB1.js +0 -47
- package/dist/index-mtJHlsB1.js.map +0 -1
- package/dist/tables.utils-C7MWIQsp.js.map +0 -1
package/dist/index-Crpz4FA4.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { j as f, K as M } from "./Color.type.emb-De2K8PVb.js";
|
|
2
|
-
import { useTheme as T } from "@embeddable.com/react";
|
|
3
|
-
import { a as w, r as A, i as o } from "./component.inputs.constants-DzpzJ9Na.js";
|
|
4
|
-
import { C as N } from "./ChartCard-CfVMn37p.js";
|
|
5
|
-
import { g as O } from "./formatter.utils-CiN6axbW.js";
|
|
6
|
-
import { useEffect as k } from "react";
|
|
7
|
-
import { g as q, a as E } from "./timeRange.utils-LHM3sXwE.js";
|
|
8
|
-
const V = (s) => {
|
|
9
|
-
var l, g, p, h, u, v;
|
|
10
|
-
const t = T();
|
|
11
|
-
w(t);
|
|
12
|
-
const { title: C, description: P } = A(s), {
|
|
13
|
-
hideMenu: b,
|
|
14
|
-
changeFontSize: L,
|
|
15
|
-
comparisonPeriod: n,
|
|
16
|
-
comparisonDateRange: y,
|
|
17
|
-
displayChangeAsPercentage: D,
|
|
18
|
-
fontSize: S,
|
|
19
|
-
measure: r,
|
|
20
|
-
primaryDateRange: m,
|
|
21
|
-
results: a,
|
|
22
|
-
resultsComparison: e,
|
|
23
|
-
reversePositiveNegativeColors: _,
|
|
24
|
-
percentageDecimalPlaces: j,
|
|
25
|
-
setComparisonDateRange: d
|
|
26
|
-
} = s;
|
|
27
|
-
k(() => {
|
|
28
|
-
if (!d) return;
|
|
29
|
-
const i = q(
|
|
30
|
-
m,
|
|
31
|
-
n,
|
|
32
|
-
t
|
|
33
|
-
);
|
|
34
|
-
d(i);
|
|
35
|
-
}, [n, JSON.stringify(m), t]);
|
|
36
|
-
const x = (g = (l = a.data) == null ? void 0 : l[0]) == null ? void 0 : g[r.name], F = y ? (h = (p = e == null ? void 0 : e.data) == null ? void 0 : p[0]) == null ? void 0 : h[r.name] : void 0, R = O(t), z = (i) => R.data(r, i), K = `vs ${E(n, t).toLowerCase()}`, c = {
|
|
37
|
-
isLoading: !!(a.isLoading || e != null && e.isLoading),
|
|
38
|
-
data: !(a != null && a.data) && !(e != null && e.data) ? void 0 : [
|
|
39
|
-
...(u = a.data) != null && u.length ? [{ label: o.t("charts.primaryPeriod"), ...a.data[0] }] : [],
|
|
40
|
-
...(v = e == null ? void 0 : e.data) != null && v.length ? [{ label: o.t("charts.comparisonPeriod"), ...e.data[0] }] : []
|
|
41
|
-
]
|
|
42
|
-
};
|
|
43
|
-
return /* @__PURE__ */ f.jsx(
|
|
44
|
-
N,
|
|
45
|
-
{
|
|
46
|
-
data: c,
|
|
47
|
-
dimensionsAndMeasures: [
|
|
48
|
-
// Add a label dimension to distinguish primary and comparison periods in exports
|
|
49
|
-
{
|
|
50
|
-
name: "label",
|
|
51
|
-
title: o.t("charts.label"),
|
|
52
|
-
nativeType: "string",
|
|
53
|
-
__type__: "dimension"
|
|
54
|
-
},
|
|
55
|
-
r
|
|
56
|
-
],
|
|
57
|
-
errorMessage: a.error,
|
|
58
|
-
description: P,
|
|
59
|
-
title: C,
|
|
60
|
-
hideMenu: b,
|
|
61
|
-
children: /* @__PURE__ */ f.jsx(
|
|
62
|
-
M,
|
|
63
|
-
{
|
|
64
|
-
value: x,
|
|
65
|
-
comparisonValue: c.isLoading ? void 0 : F,
|
|
66
|
-
valueFormatter: z,
|
|
67
|
-
valueFontSize: S,
|
|
68
|
-
trendFontSize: L,
|
|
69
|
-
invertChangeColors: _,
|
|
70
|
-
showChangeAsPercentage: D,
|
|
71
|
-
comparisonLabel: K,
|
|
72
|
-
percentageDecimalPlaces: j,
|
|
73
|
-
noPreviousDataLabel: o.t("charts.kpiChart.noPreviousData"),
|
|
74
|
-
equalComparisonLabel: o.t("charts.kpiChart.equalComparison")
|
|
75
|
-
}
|
|
76
|
-
)
|
|
77
|
-
}
|
|
78
|
-
);
|
|
79
|
-
}, U = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
80
|
-
__proto__: null,
|
|
81
|
-
default: V
|
|
82
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
83
|
-
export {
|
|
84
|
-
V as K,
|
|
85
|
-
U as i
|
|
86
|
-
};
|
|
87
|
-
//# sourceMappingURL=index-Crpz4FA4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-Crpz4FA4.js","sources":["../src/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx"],"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';\n\ntype KpiChartNumberComparisonProProp = {\n changeFontSize?: number;\n comparisonPeriod?: string;\n\n displayChangeAsPercentage?: boolean;\n fontSize?: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n\n percentageDecimalPlaces?: number;\n comparisonDateRange: TimeRange;\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 } = 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 return (\n <ChartCard\n data={resultsCombined}\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 hideMenu={hideMenu}\n >\n <KpiChart\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"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","title","description","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","jsx","ChartCard","KpiChart"],"mappings":";;;;;;;AA+BA,MAAMA,IAA8B,CAACC,MAA2C;;AAC9E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,MAAgBC,EAAiBN,CAAK,GAC/C;AAAA,IACJ,UAAAO;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,IACEnB;AAEJ,EAAAoB,EAAU,MAAM;AACd,QAAI,CAACD,EAAwB;AAE7B,UAAME,IAAyBC;AAAA,MAC7BR;AAAA,MACAL;AAAA,MACAR;AAAA,IAAA;AAEF,IAAAkB,EAAuBE,CAAsB;AAAA,EAC/C,GAAG,CAACZ,GAAkB,KAAK,UAAUK,CAAgB,GAAGb,CAAK,CAAC;AAE9D,QAAMsB,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,EAAkB7B,CAAK,GACxC8B,IAAiB,CAACC,MAA0BH,EAAe,KAAKhB,GAASmB,CAAa,GACtFC,IAAkB,MAAMC,EAAyBzB,GAAkBR,CAAK,EAAE,aAAa,IAEvFkC,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;AAGR,SACEuB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAML;AAAA,MACN,uBAAuB;AAAA;AAAA,QAErB;AAAA,UACE,MAAM;AAAA,UACN,OAAOE,EAAK,EAAE,cAAc;AAAA,UAC5B,YAAY;AAAA,UACZ,UAAU;AAAA,QAAA;AAAA,QAEZxB;AAAA,MAAA;AAAA,MAEF,cAAcE,EAAQ;AAAA,MACtB,aAAAV;AAAA,MACA,OAAAD;AAAA,MACA,UAAAG;AAAA,MAEA,UAAAgC,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,OAAAlB;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;;;;"}
|
package/dist/index-D37a5H7U.js
DELETED
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { d as O, e as L, m as j, j as x, L as w } from "./Color.type.emb-De2K8PVb.js";
|
|
2
|
-
import { useTheme as F } from "@embeddable.com/react";
|
|
3
|
-
import { a as P, r as S } from "./component.inputs.constants-DzpzJ9Na.js";
|
|
4
|
-
import { C as T } from "./ChartCard-CfVMn37p.js";
|
|
5
|
-
import { g as v } from "./formatter.utils-CiN6axbW.js";
|
|
6
|
-
import { a as M } from "./styles.utils-u6uj51UE.js";
|
|
7
|
-
import { i as k, s as D } from "./color.utils-BSg_DFOh.js";
|
|
8
|
-
import { u as R } from "./charts.fillGaps.hooks-C7KsWcZb.js";
|
|
9
|
-
import { C as _ } from "./ChartGranularitySelectField-C_6Mugcw.js";
|
|
10
|
-
const B = (s, r) => {
|
|
11
|
-
if (!s.data)
|
|
12
|
-
return {
|
|
13
|
-
labels: [],
|
|
14
|
-
datasets: [{ data: [] }]
|
|
15
|
-
};
|
|
16
|
-
const d = v(r), i = s.data;
|
|
17
|
-
return {
|
|
18
|
-
labels: i.map((e) => e[s.dimension.name]),
|
|
19
|
-
datasets: s.measures.map((e, c) => {
|
|
20
|
-
var o, m, h, C;
|
|
21
|
-
const l = !!((o = e.inputs) != null && o.connectGaps), b = i.map((g) => g[e.name] ?? (l ? 0 : null)), t = (m = e.inputs) == null ? void 0 : m.lineColor, u = O(), a = k(t) ? t : M({
|
|
22
|
-
dimensionOrMeasure: e,
|
|
23
|
-
theme: r,
|
|
24
|
-
color: "background",
|
|
25
|
-
value: e.name,
|
|
26
|
-
chartColors: u,
|
|
27
|
-
index: c
|
|
28
|
-
}), n = k(t) ? t : M({
|
|
29
|
-
dimensionOrMeasure: e,
|
|
30
|
-
theme: r,
|
|
31
|
-
color: "border",
|
|
32
|
-
value: e.name,
|
|
33
|
-
chartColors: u,
|
|
34
|
-
index: c
|
|
35
|
-
});
|
|
36
|
-
return {
|
|
37
|
-
clip: s.hasMinMaxYAxisRange,
|
|
38
|
-
label: d.dimensionOrMeasureTitle(e),
|
|
39
|
-
data: b,
|
|
40
|
-
backgroundColor: D(a, 0.5),
|
|
41
|
-
pointBackgroundColor: a,
|
|
42
|
-
borderDash: (h = e.inputs) != null && h.dashedLine ? [
|
|
43
|
-
L("--em-linechart-line-dash", "0.25rem"),
|
|
44
|
-
L("--em-linechart-line-gap", "0.25rem")
|
|
45
|
-
] : void 0,
|
|
46
|
-
borderColor: n,
|
|
47
|
-
fill: !!((C = e.inputs) != null && C.fillUnderLine)
|
|
48
|
-
};
|
|
49
|
-
})
|
|
50
|
-
};
|
|
51
|
-
}, G = (s, r) => {
|
|
52
|
-
var t, u;
|
|
53
|
-
const { dimension: d, data: i, measures: e, onLineClicked: c } = s, l = v(r);
|
|
54
|
-
return j({
|
|
55
|
-
plugins: {
|
|
56
|
-
datalabels: {
|
|
57
|
-
labels: {
|
|
58
|
-
value: {
|
|
59
|
-
formatter: (a, n) => {
|
|
60
|
-
const o = e[n.datasetIndex];
|
|
61
|
-
return l.data(o, a);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
tooltip: {
|
|
67
|
-
callbacks: {
|
|
68
|
-
title: (a) => {
|
|
69
|
-
var o;
|
|
70
|
-
const n = (o = a[0]) == null ? void 0 : o.label;
|
|
71
|
-
return l.data(d, n);
|
|
72
|
-
},
|
|
73
|
-
label: (a) => {
|
|
74
|
-
const n = e[a.datasetIndex], o = a.raw;
|
|
75
|
-
return `${l.data(d, a.dataset.label) || ""}: ${l.data(n, o)}`;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
scales: {
|
|
81
|
-
x: {
|
|
82
|
-
ticks: {
|
|
83
|
-
callback: (a) => {
|
|
84
|
-
if (!i || !i.labels) return;
|
|
85
|
-
const n = i.labels[Number(a)];
|
|
86
|
-
return l.data(d, n);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
},
|
|
90
|
-
y: {
|
|
91
|
-
ticks: {
|
|
92
|
-
callback: (a) => l.data(e[0], a)
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
onClick: (a, n, o) => {
|
|
97
|
-
if (!c) return;
|
|
98
|
-
const m = n[0], h = m ? o.data.labels[m.index] : null;
|
|
99
|
-
c({
|
|
100
|
-
dimensionValue: h
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}, ((u = (t = r.charts) == null ? void 0 : t.lineChartDefaultPro) == null ? void 0 : u.options) || {});
|
|
104
|
-
}, I = (s) => {
|
|
105
|
-
const r = F();
|
|
106
|
-
P(r);
|
|
107
|
-
const { title: d, description: i, xAxisLabel: e, yAxisLabel: c } = S(s), {
|
|
108
|
-
hideMenu: l,
|
|
109
|
-
measures: b,
|
|
110
|
-
xAxis: t,
|
|
111
|
-
reverseXAxis: u,
|
|
112
|
-
showLegend: a,
|
|
113
|
-
showLogarithmicScale: n,
|
|
114
|
-
showTooltips: o,
|
|
115
|
-
showValueLabels: m,
|
|
116
|
-
yAxisRangeMax: h,
|
|
117
|
-
yAxisRangeMin: C,
|
|
118
|
-
setGranularity: g,
|
|
119
|
-
onLineClicked: A
|
|
120
|
-
} = s, p = R({
|
|
121
|
-
results: s.results,
|
|
122
|
-
dimension: t
|
|
123
|
-
}), f = B(
|
|
124
|
-
{
|
|
125
|
-
data: p.data,
|
|
126
|
-
dimension: t,
|
|
127
|
-
measures: b,
|
|
128
|
-
hasMinMaxYAxisRange: C != null || h != null
|
|
129
|
-
},
|
|
130
|
-
r
|
|
131
|
-
), y = G(
|
|
132
|
-
{ data: f, dimension: t, measures: b, onLineClicked: A },
|
|
133
|
-
r
|
|
134
|
-
);
|
|
135
|
-
return /* @__PURE__ */ x.jsxs(
|
|
136
|
-
T,
|
|
137
|
-
{
|
|
138
|
-
data: p,
|
|
139
|
-
dimensionsAndMeasures: [...b, t],
|
|
140
|
-
errorMessage: p.error,
|
|
141
|
-
description: i,
|
|
142
|
-
title: d,
|
|
143
|
-
hideMenu: l,
|
|
144
|
-
children: [
|
|
145
|
-
/* @__PURE__ */ x.jsx(
|
|
146
|
-
_,
|
|
147
|
-
{
|
|
148
|
-
hasMarginTop: !d && !i,
|
|
149
|
-
dimension: t,
|
|
150
|
-
onChange: g
|
|
151
|
-
}
|
|
152
|
-
),
|
|
153
|
-
/* @__PURE__ */ x.jsx(
|
|
154
|
-
w,
|
|
155
|
-
{
|
|
156
|
-
data: f,
|
|
157
|
-
reverseXAxis: u,
|
|
158
|
-
showLegend: a,
|
|
159
|
-
showLogarithmicScale: n,
|
|
160
|
-
showTooltips: o,
|
|
161
|
-
showValueLabels: m,
|
|
162
|
-
xAxisLabel: e,
|
|
163
|
-
yAxisLabel: c,
|
|
164
|
-
yAxisRangeMax: h,
|
|
165
|
-
yAxisRangeMin: C,
|
|
166
|
-
options: y
|
|
167
|
-
}
|
|
168
|
-
)
|
|
169
|
-
]
|
|
170
|
-
}
|
|
171
|
-
);
|
|
172
|
-
}, H = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
173
|
-
__proto__: null,
|
|
174
|
-
default: I
|
|
175
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
176
|
-
export {
|
|
177
|
-
I as L,
|
|
178
|
-
G as a,
|
|
179
|
-
B as g,
|
|
180
|
-
H as i
|
|
181
|
-
};
|
|
182
|
-
//# sourceMappingURL=index-D37a5H7U.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-D37a5H7U.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.ts/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\ntype 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, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\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 return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={!title && !description}\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","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart"],"mappings":"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"}
|
package/dist/index-DADSJYlJ.js
DELETED
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import { d as G, m as j, j as k, L as v } from "./Color.type.emb-De2K8PVb.js";
|
|
2
|
-
import { useTheme as O } from "@embeddable.com/react";
|
|
3
|
-
import { a as P, r as S } from "./component.inputs.constants-DzpzJ9Na.js";
|
|
4
|
-
import { C as y } from "./ChartCard-CfVMn37p.js";
|
|
5
|
-
import { g as w } from "./formatter.utils-CiN6axbW.js";
|
|
6
|
-
import { a as A } from "./styles.utils-u6uj51UE.js";
|
|
7
|
-
import { s as $ } from "./color.utils-BSg_DFOh.js";
|
|
8
|
-
import { g as F } from "./lines.utils-COGf_F0b.js";
|
|
9
|
-
import { u as R } from "./charts.fillGaps.hooks-C7KsWcZb.js";
|
|
10
|
-
import { C as T } from "./ChartGranularitySelectField-C_6Mugcw.js";
|
|
11
|
-
const D = (l, s) => {
|
|
12
|
-
const m = w(s), { data: o = [], dimension: c, groupDimension: t, measure: r, hasMinMaxYAxisRange: u } = l, n = [...new Set(o.map((a) => a[c.name]).filter((a) => a != null))].sort(), d = [...new Set(o.map((a) => a[t.name]))].filter((a) => a != null), e = G(), i = d.map((a, g) => {
|
|
13
|
-
var x;
|
|
14
|
-
const h = A({
|
|
15
|
-
dimensionOrMeasure: t,
|
|
16
|
-
theme: s,
|
|
17
|
-
color: "background",
|
|
18
|
-
value: `${t.name}.${a}`,
|
|
19
|
-
chartColors: e,
|
|
20
|
-
index: g
|
|
21
|
-
}), C = A({
|
|
22
|
-
dimensionOrMeasure: t,
|
|
23
|
-
theme: s,
|
|
24
|
-
color: "border",
|
|
25
|
-
value: `${t.name}.${a}`,
|
|
26
|
-
chartColors: e,
|
|
27
|
-
index: g
|
|
28
|
-
});
|
|
29
|
-
return {
|
|
30
|
-
clip: u,
|
|
31
|
-
label: m.data(t, a),
|
|
32
|
-
rawLabel: a,
|
|
33
|
-
backgroundColor: $(h, 0.5),
|
|
34
|
-
pointBackgroundColor: h,
|
|
35
|
-
fill: (x = r.inputs) == null ? void 0 : x.fillUnderLine,
|
|
36
|
-
borderColor: C,
|
|
37
|
-
data: n.map((M) => {
|
|
38
|
-
var b;
|
|
39
|
-
const p = o.find(
|
|
40
|
-
(f) => f[t.name] === a && f[c.name] === M
|
|
41
|
-
);
|
|
42
|
-
return (p == null ? void 0 : p[r.name]) ?? ((b = r.inputs) != null && b.connectGaps ? 0 : null);
|
|
43
|
-
})
|
|
44
|
-
};
|
|
45
|
-
});
|
|
46
|
-
return {
|
|
47
|
-
labels: n,
|
|
48
|
-
datasets: i
|
|
49
|
-
};
|
|
50
|
-
}, _ = (l, s) => {
|
|
51
|
-
var n, d;
|
|
52
|
-
const { dimension: m, data: o, measure: c, onLineClicked: t } = l, r = w(s), u = {
|
|
53
|
-
plugins: {
|
|
54
|
-
datalabels: {
|
|
55
|
-
labels: {
|
|
56
|
-
value: {
|
|
57
|
-
formatter: (e) => r.data(c, e)
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
tooltip: {
|
|
62
|
-
callbacks: {
|
|
63
|
-
title: (e) => {
|
|
64
|
-
var a;
|
|
65
|
-
const i = (a = e[0]) == null ? void 0 : a.label;
|
|
66
|
-
return r.data(m, i);
|
|
67
|
-
},
|
|
68
|
-
label: (e) => {
|
|
69
|
-
const i = e.raw;
|
|
70
|
-
return `${e.dataset.label}: ${r.data(c, i)}`;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
scales: {
|
|
76
|
-
x: {
|
|
77
|
-
ticks: {
|
|
78
|
-
callback: (e) => {
|
|
79
|
-
if (!o || !o.labels) return;
|
|
80
|
-
const i = o.labels[Number(e)];
|
|
81
|
-
return r.data(m, i);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
y: {
|
|
86
|
-
ticks: {
|
|
87
|
-
callback: (e) => r.data(c, e)
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
return j(
|
|
93
|
-
F({ onLineClicked: t }),
|
|
94
|
-
u,
|
|
95
|
-
((d = (n = s.charts) == null ? void 0 : n.lineChartGroupedPro) == null ? void 0 : d.options) || {}
|
|
96
|
-
);
|
|
97
|
-
}, Y = (l) => {
|
|
98
|
-
const s = O();
|
|
99
|
-
P(s);
|
|
100
|
-
const { title: m, description: o, xAxisLabel: c, yAxisLabel: t } = S(l), {
|
|
101
|
-
hideMenu: r,
|
|
102
|
-
measure: u,
|
|
103
|
-
xAxis: n,
|
|
104
|
-
groupBy: d,
|
|
105
|
-
reverseXAxis: e,
|
|
106
|
-
showLegend: i,
|
|
107
|
-
showLogarithmicScale: a,
|
|
108
|
-
showTooltips: g,
|
|
109
|
-
showValueLabels: h,
|
|
110
|
-
yAxisRangeMax: C,
|
|
111
|
-
yAxisRangeMin: L,
|
|
112
|
-
setGranularity: x,
|
|
113
|
-
onLineClicked: M
|
|
114
|
-
} = l, p = R({
|
|
115
|
-
results: l.results,
|
|
116
|
-
dimension: l.xAxis
|
|
117
|
-
}), b = D(
|
|
118
|
-
{
|
|
119
|
-
data: p.data,
|
|
120
|
-
dimension: n,
|
|
121
|
-
groupDimension: d,
|
|
122
|
-
measure: u,
|
|
123
|
-
hasMinMaxYAxisRange: L != null || C != null
|
|
124
|
-
},
|
|
125
|
-
s
|
|
126
|
-
), f = _(
|
|
127
|
-
{ data: b, dimension: n, measure: u, onLineClicked: M },
|
|
128
|
-
s
|
|
129
|
-
);
|
|
130
|
-
return /* @__PURE__ */ k.jsxs(
|
|
131
|
-
y,
|
|
132
|
-
{
|
|
133
|
-
data: p,
|
|
134
|
-
dimensionsAndMeasures: [u, n, d],
|
|
135
|
-
errorMessage: p.error,
|
|
136
|
-
description: o,
|
|
137
|
-
title: m,
|
|
138
|
-
hideMenu: r,
|
|
139
|
-
children: [
|
|
140
|
-
/* @__PURE__ */ k.jsx(
|
|
141
|
-
T,
|
|
142
|
-
{
|
|
143
|
-
hasMarginTop: !m && !o,
|
|
144
|
-
dimension: n,
|
|
145
|
-
onChange: x
|
|
146
|
-
}
|
|
147
|
-
),
|
|
148
|
-
/* @__PURE__ */ k.jsx(
|
|
149
|
-
v,
|
|
150
|
-
{
|
|
151
|
-
data: b,
|
|
152
|
-
reverseXAxis: e,
|
|
153
|
-
showLegend: i,
|
|
154
|
-
showLogarithmicScale: a,
|
|
155
|
-
showTooltips: g,
|
|
156
|
-
showValueLabels: h,
|
|
157
|
-
xAxisLabel: c,
|
|
158
|
-
yAxisLabel: t,
|
|
159
|
-
yAxisRangeMax: C,
|
|
160
|
-
yAxisRangeMin: L,
|
|
161
|
-
options: f
|
|
162
|
-
}
|
|
163
|
-
)
|
|
164
|
-
]
|
|
165
|
-
}
|
|
166
|
-
);
|
|
167
|
-
}, K = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
168
|
-
__proto__: null,
|
|
169
|
-
default: Y
|
|
170
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
171
|
-
export {
|
|
172
|
-
Y as L,
|
|
173
|
-
_ as a,
|
|
174
|
-
D as g,
|
|
175
|
-
K as i
|
|
176
|
-
};
|
|
177
|
-
//# sourceMappingURL=index-DADSJYlJ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DADSJYlJ.js","sources":["../src/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.ts","../src/components/charts/lines/LineChartGroupedPro/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 { mergician } from 'mergician';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { getLineChartProOptions, LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartGroupedProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure, hasMinMaxYAxisRange } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupBy = [...new Set(data.map((d) => d[groupDimension.name]))].filter((d) => d != null);\n\n const chartColors = getChartColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'background',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'border',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const dataset = {\n clip: hasMinMaxYAxisRange,\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n fill: measure.inputs?.['fillUnderLine'],\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimension.name] === groupByItem && d[dimension.name] === axisItem,\n );\n return record?.[measure.name] ?? (measure.inputs?.['connectGaps'] ? 0 : null);\n }),\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getLineChartGroupedProOptions = (\n options: {\n dimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measure, 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) => {\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 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(measure, value);\n },\n },\n },\n },\n };\n\n return mergician(\n getLineChartProOptions({ onLineClicked }),\n lineChartOptions,\n theme.charts?.lineChartGroupedPro?.options || {},\n );\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 {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from './LineChartGroupedPro.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 LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\ntype LineChartGroupedProProp = {\n xAxis: Dimension;\n groupBy: Dimension;\n measure: 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 LineChartGroupedPro = (props: LineChartGroupedProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measure,\n xAxis,\n groupBy,\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: props.xAxis,\n });\n\n const data = getLineChartGroupedProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartGroupedProOptions(\n { data, dimension: xAxis, measure, onLineClicked },\n theme,\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={!title && !description}\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 LineChartGroupedPro;\n"],"names":["getLineChartGroupedProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","hasMinMaxYAxisRange","axis","d","groupBy","chartColors","getChartColors","datasets","groupByItem","index","backgroundColor","getDimensionMeasureColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptions","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart"],"mappings":"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"}
|
package/dist/index-DeWASjPW.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { j as u, H as G } from "./Color.type.emb-De2K8PVb.js";
|
|
2
|
-
import { useTheme as R } from "@embeddable.com/react";
|
|
3
|
-
import { a as _, r as P } from "./component.inputs.constants-DzpzJ9Na.js";
|
|
4
|
-
import { C as k } from "./ChartCard-CfVMn37p.js";
|
|
5
|
-
import { g as c } from "./formatter.utils-CiN6axbW.js";
|
|
6
|
-
import { u as d } from "./charts.fillGaps.hooks-C7KsWcZb.js";
|
|
7
|
-
import { u as B } from "./tables.hooks-BQdyUxau.js";
|
|
8
|
-
const f = (e, s) => {
|
|
9
|
-
const t = c(s);
|
|
10
|
-
return {
|
|
11
|
-
key: e.measure.name,
|
|
12
|
-
label: t.dimensionOrMeasureTitle(e.measure),
|
|
13
|
-
format: (o) => t.data(e.measure, o)
|
|
14
|
-
};
|
|
15
|
-
}, a = (e, s) => {
|
|
16
|
-
const t = c(s);
|
|
17
|
-
return {
|
|
18
|
-
key: e.dimension.name,
|
|
19
|
-
label: t.dimensionOrMeasureTitle(e.dimension),
|
|
20
|
-
format: (o) => t.data(e.dimension, o)
|
|
21
|
-
};
|
|
22
|
-
}, W = (e) => {
|
|
23
|
-
var l;
|
|
24
|
-
const s = R();
|
|
25
|
-
_(s);
|
|
26
|
-
const { description: t, title: o } = P(e), {
|
|
27
|
-
hideMenu: h,
|
|
28
|
-
measure: i,
|
|
29
|
-
rowDimension: n,
|
|
30
|
-
columnDimension: r,
|
|
31
|
-
maxColor: C,
|
|
32
|
-
midColor: M,
|
|
33
|
-
minColor: D,
|
|
34
|
-
displayNullAs: w,
|
|
35
|
-
columnWidth: x,
|
|
36
|
-
firstColumnWidth: T,
|
|
37
|
-
showValues: g,
|
|
38
|
-
minThreshold: y,
|
|
39
|
-
maxThreshold: b
|
|
40
|
-
} = e, j = Array.from(
|
|
41
|
-
new Set((e.results.data ?? []).filter(Boolean).map((m) => m[r.name]))
|
|
42
|
-
), F = Array.from(
|
|
43
|
-
new Set((e.results.data ?? []).filter(Boolean).map((m) => m[n.name]))
|
|
44
|
-
), H = d({
|
|
45
|
-
results: e.results,
|
|
46
|
-
dimension: r
|
|
47
|
-
}), O = d({
|
|
48
|
-
results: H,
|
|
49
|
-
dimension: n
|
|
50
|
-
}), S = B({
|
|
51
|
-
results: O,
|
|
52
|
-
columnOrder: j,
|
|
53
|
-
rowOrder: F,
|
|
54
|
-
columnDimension: r,
|
|
55
|
-
rowDimension: n,
|
|
56
|
-
measures: [i]
|
|
57
|
-
}), p = f({ measure: i }, s), v = a({ dimension: n }, s), A = a({ dimension: r }, s);
|
|
58
|
-
return /* @__PURE__ */ u.jsx(
|
|
59
|
-
k,
|
|
60
|
-
{
|
|
61
|
-
title: o,
|
|
62
|
-
description: t,
|
|
63
|
-
data: e.results,
|
|
64
|
-
dimensionsAndMeasures: [n, r, i],
|
|
65
|
-
errorMessage: (l = e.results) == null ? void 0 : l.error,
|
|
66
|
-
hideMenu: h,
|
|
67
|
-
children: /* @__PURE__ */ u.jsx(
|
|
68
|
-
G,
|
|
69
|
-
{
|
|
70
|
-
data: S,
|
|
71
|
-
measure: p,
|
|
72
|
-
rowDimension: v,
|
|
73
|
-
columnDimension: A,
|
|
74
|
-
maxColor: C,
|
|
75
|
-
midColor: M,
|
|
76
|
-
minColor: D,
|
|
77
|
-
showValues: g,
|
|
78
|
-
minThreshold: y,
|
|
79
|
-
maxThreshold: b,
|
|
80
|
-
columnWidth: x,
|
|
81
|
-
firstColumnWidth: T,
|
|
82
|
-
displayNullAs: w
|
|
83
|
-
}
|
|
84
|
-
)
|
|
85
|
-
}
|
|
86
|
-
);
|
|
87
|
-
}, K = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
88
|
-
__proto__: null,
|
|
89
|
-
default: W,
|
|
90
|
-
getHeatDimension: a,
|
|
91
|
-
getHeatMeasure: f
|
|
92
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
93
|
-
export {
|
|
94
|
-
W as H,
|
|
95
|
-
K as i
|
|
96
|
-
};
|
|
97
|
-
//# sourceMappingURL=index-DeWASjPW.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-DeWASjPW.js","sources":["../src/components/charts/tables/HeatMapPro/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 { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { HeatMap, HeatMapPropsDimension, HeatMapPropsMeasure } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { useGetTableSortedResults } from '../tables.hooks';\n\ntype HeatMapProProps = {\n columnDimension: Dimension;\n columnWidth?: number;\n\n displayNullAs?: string;\n firstColumnWidth?: number;\n maxColor?: string;\n maxThreshold?: string;\n measure: Measure;\n midColor?: string;\n minColor?: string;\n minThreshold?: string;\n results: DataResponse;\n rowDimension: Dimension;\n showValues?: boolean;\n} & ChartCardHeaderProps;\n\nexport const getHeatMeasure = (\n props: { measure: Measure },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsMeasure<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.measure),\n format: (value) => {\n return themeFormatter.data(props.measure, value);\n },\n };\n};\n\nexport const getHeatDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsDimension<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n format: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nconst HeatMapPro = (props: HeatMapProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, title } = resolveI18nProps(props);\n const {\n hideMenu,\n measure,\n rowDimension,\n columnDimension,\n maxColor,\n midColor,\n minColor,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n showValues,\n minThreshold,\n maxThreshold,\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: [measure],\n });\n\n const pivotMeasures = getHeatMeasure({ measure }, theme);\n const pivotRowDimension = getHeatDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getHeatDimension({ dimension: columnDimension }, theme);\n\n return (\n <ChartCard\n title={title}\n description={description}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, measure]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <HeatMap\n data={results}\n measure={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n maxColor={maxColor}\n midColor={midColor}\n minColor={minColor}\n showValues={showValues}\n minThreshold={minThreshold}\n maxThreshold={maxThreshold}\n columnWidth={columnWidth}\n firstColumnWidth={firstColumnWidth}\n displayNullAs={displayNullAs}\n />\n </ChartCard>\n );\n};\n\nexport default HeatMapPro;\n"],"names":["getHeatMeasure","props","theme","themeFormatter","getThemeFormatter","value","getHeatDimension","HeatMapPro","useTheme","i18nSetup","description","title","resolveI18nProps","hideMenu","measure","rowDimension","columnDimension","maxColor","midColor","minColor","displayNullAs","columnWidth","firstColumnWidth","showValues","minThreshold","maxThreshold","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","pivotMeasures","pivotRowDimension","pivotColumnDimension","jsx","ChartCard","_a","HeatMap"],"mappings":";;;;;;;AA4BO,MAAMA,IAAiB,CAC5BC,GACAC,MAE6B;AAC7B,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAO;AAAA,IACL,KAAKD,EAAM,QAAQ;AAAA,IACnB,OAAOE,EAAe,wBAAwBF,EAAM,OAAO;AAAA,IAC3D,QAAQ,CAACI,MACAF,EAAe,KAAKF,EAAM,SAASI,CAAK;AAAA,EACjD;AAEJ,GAEaC,IAAmB,CAC9BL,GACAC,MAE+B;AAC/B,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAO;AAAA,IACL,KAAKD,EAAM,UAAU;AAAA,IACrB,OAAOE,EAAe,wBAAwBF,EAAM,SAAS;AAAA,IAC7D,QAAQ,CAACI,MAAkBF,EAAe,KAAKF,EAAM,WAAWI,CAAK;AAAA,EAAA;AAEzE,GAEME,IAAa,CAACN,MAA2B;;AAC7C,QAAMC,IAAQM,EAAA;AACd,EAAAC,EAAUP,CAAK;AAEf,QAAM,EAAE,aAAAQ,GAAa,OAAAC,MAAUC,EAAiBX,CAAK,GAC/C;AAAA,IACJ,UAAAY;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACExB,GAEEyB,IAAc,MAAM;AAAA,IACxB,IAAI,KAAKzB,EAAM,QAAQ,QAAQ,CAAA,GAAI,OAAO,OAAO,EAAE,IAAI,CAAC0B,MAAMA,EAAEX,EAAgB,IAAI,CAAC,CAAC;AAAA,EAAA,GAGlFY,IAAW,MAAM;AAAA,IACrB,IAAI,KAAK3B,EAAM,QAAQ,QAAQ,CAAA,GAAI,OAAO,OAAO,EAAE,IAAI,CAAC0B,MAAMA,EAAEZ,EAAa,IAAI,CAAC,CAAC;AAAA,EAAA,GAI/Ec,IAAiCC,EAAY;AAAA,IACjD,SAAS7B,EAAM;AAAA,IACf,WAAWe;AAAA,EAAA,CACZ,GAGKe,IAAoCD,EAAY;AAAA,IACpD,SAASD;AAAA,IACT,WAAWd;AAAA,EAAA,CACZ,GAEKiB,IAAUC,EAAyB;AAAA,IACvC,SAASF;AAAA,IACT,aAAAL;AAAA,IACA,UAAAE;AAAA,IACA,iBAAAZ;AAAA,IACA,cAAAD;AAAA,IACA,UAAU,CAACD,CAAO;AAAA,EAAA,CACnB,GAEKoB,IAAgBlC,EAAe,EAAE,SAAAc,EAAA,GAAWZ,CAAK,GACjDiC,IAAoB7B,EAAiB,EAAE,WAAWS,EAAA,GAAgBb,CAAK,GACvEkC,IAAuB9B,EAAiB,EAAE,WAAWU,EAAA,GAAmBd,CAAK;AAEnF,SACEmC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAA3B;AAAA,MACA,aAAAD;AAAA,MACA,MAAMT,EAAM;AAAA,MACZ,uBAAuB,CAACc,GAAcC,GAAiBF,CAAO;AAAA,MAC9D,eAAcyB,IAAAtC,EAAM,YAAN,gBAAAsC,EAAe;AAAA,MAC7B,UAAA1B;AAAA,MAEA,UAAAwB,gBAAAA,EAAAA;AAAAA,QAACG;AAAA,QAAA;AAAA,UACC,MAAMR;AAAA,UACN,SAASE;AAAA,UACT,cAAcC;AAAA,UACd,iBAAiBC;AAAA,UACjB,UAAAnB;AAAA,UACA,UAAAC;AAAA,UACA,UAAAC;AAAA,UACA,YAAAI;AAAA,UACA,cAAAC;AAAA,UACA,cAAAC;AAAA,UACA,aAAAJ;AAAA,UACA,kBAAAC;AAAA,UACA,eAAAF;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;;;"}
|