@embeddable.com/remarkable-pro 0.0.13 → 0.0.15
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 +24 -24
- package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
- package/dist/BarChartDefaultPro.js +24 -24
- package/dist/BarChartDefaultPro.js.map +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +27 -27
- package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
- package/dist/BarChartGroupedPro.js +33 -33
- package/dist/BarChartGroupedPro.js.map +1 -1
- package/dist/BarChartStackedHorizontalPro.js +28 -28
- package/dist/BarChartStackedHorizontalPro.js.map +1 -1
- package/dist/BarChartStackedPro.js +27 -27
- package/dist/BarChartStackedPro.js.map +1 -1
- package/dist/{ChartCard-DaUtlchs.js → ChartCard-BEIVgW77.js} +3 -3
- package/dist/{ChartCard-DaUtlchs.js.map → ChartCard-BEIVgW77.js.map} +1 -1
- package/dist/{index-BIiign0L.js → Color.type.emb-ByiNbaI7.js} +7355 -7348
- package/dist/Color.type.emb-ByiNbaI7.js.map +1 -0
- package/dist/ColorEditor.js +10 -11
- package/dist/ColorEditor.js.map +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +19 -22
- package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
- package/dist/DateRangePickerCustomPro.js +29 -28
- package/dist/DateRangePickerCustomPro.js.map +1 -1
- package/dist/DateRangeSelectFieldPro.js +23 -21
- package/dist/DateRangeSelectFieldPro.js.map +1 -1
- package/dist/DonutChartPro.js +24 -24
- package/dist/DonutChartPro.js.map +1 -1
- package/dist/DonutLabelChartPro.js +29 -30
- package/dist/DonutLabelChartPro.js.map +1 -1
- package/dist/{EditorCard-DXQeyo3r.js → EditorCard-NEIuygkP.js} +10 -10
- package/dist/{EditorCard-DXQeyo3r.js.map → EditorCard-NEIuygkP.js.map} +1 -1
- package/dist/HeatMapPro.js +46 -45
- package/dist/HeatMapPro.js.map +1 -1
- package/dist/KpiChartNumberComparisonPro.js +32 -31
- package/dist/KpiChartNumberComparisonPro.js.map +1 -1
- package/dist/KpiChartNumberPro.js +14 -20
- package/dist/KpiChartNumberPro.js.map +1 -1
- package/dist/LineChartComparisonDefaultPro.js +61 -60
- package/dist/LineChartComparisonDefaultPro.js.map +1 -1
- package/dist/LineChartDefaultPro.js +46 -38
- package/dist/LineChartDefaultPro.js.map +1 -1
- package/dist/LineChartGroupedPro.js +47 -36
- package/dist/LineChartGroupedPro.js.map +1 -1
- package/dist/MultiSelectFieldPro.js +24 -27
- package/dist/MultiSelectFieldPro.js.map +1 -1
- package/dist/PieChartPro.js +24 -24
- package/dist/PieChartPro.js.map +1 -1
- package/dist/PivotTablePro.js +31 -29
- package/dist/PivotTablePro.js.map +1 -1
- package/dist/SingleSelectFieldPro.js +24 -24
- package/dist/SingleSelectFieldPro.js.map +1 -1
- package/dist/TableChartPaginated.js +43 -37
- package/dist/TableChartPaginated.js.map +1 -1
- package/dist/{bars.utils-C45cnEfc.js → bars.utils-D12lq8bm.js} +4 -4
- package/dist/{bars.utils-C45cnEfc.js.map → bars.utils-D12lq8bm.js.map} +1 -1
- package/dist/{charts.utils-D_9y_kjG.js → charts.utils-Bq6c6ccK.js} +1864 -1784
- package/dist/charts.utils-Bq6c6ccK.js.map +1 -0
- package/dist/{component.constants-DJqBv0qe.js → component.inputs.constants-FaX3B1CO.js} +416 -403
- package/dist/component.inputs.constants-FaX3B1CO.js.map +1 -0
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/tables/HeatMapPro/index.d.ts +2 -2
- package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
- package/dist/components/component.inputs.constants.d.ts +309 -0
- package/dist/components/component.inputs.constants.d.ts.map +1 -0
- package/dist/components/component.subinputs.constants.d.ts +95 -0
- package/dist/components/component.subinputs.constants.d.ts.map +1 -0
- package/dist/embeddable-components.json +14 -14
- package/dist/embeddable-theme-0137e.js +3330 -3250
- package/dist/{formatter.utils-BRMB8qAc.js → formatter.utils-IGbSBsIu.js} +2 -2
- package/dist/{formatter.utils-BRMB8qAc.js.map → formatter.utils-IGbSBsIu.js.map} +1 -1
- package/dist/{index-S5z1sMxW.js → index-B15C4kTf.js} +5 -5
- package/dist/{index-S5z1sMxW.js.map → index-B15C4kTf.js.map} +1 -1
- package/dist/{index-C4oavwFu.js → index-BDPQ_c46.js} +5 -5
- package/dist/{index-C4oavwFu.js.map → index-BDPQ_c46.js.map} +1 -1
- package/dist/{index-GA9m2JpT.js → index-BKcWHLSf.js} +5 -5
- package/dist/{index-GA9m2JpT.js.map → index-BKcWHLSf.js.map} +1 -1
- package/dist/{index-Djoz2cf4.js → index-BNFqHQr3.js} +6 -6
- package/dist/{index-Djoz2cf4.js.map → index-BNFqHQr3.js.map} +1 -1
- package/dist/{index-BqgkyNm8.js → index-BiTSd5Wd.js} +5 -5
- package/dist/index-BiTSd5Wd.js.map +1 -0
- package/dist/{index-QLS7PLnH.js → index-BjaJdNzu.js} +5 -5
- package/dist/{index-QLS7PLnH.js.map → index-BjaJdNzu.js.map} +1 -1
- package/dist/{index-BbypzboN.js → index-BzF8GFHy.js} +5 -5
- package/dist/{index-BbypzboN.js.map → index-BzF8GFHy.js.map} +1 -1
- package/dist/{index-CfpIN_sB.js → index-CQZhGtUT.js} +6 -6
- package/dist/{index-CfpIN_sB.js.map → index-CQZhGtUT.js.map} +1 -1
- package/dist/{index-Df6HY9t3.js → index-CR69kGQc.js} +5 -5
- package/dist/{index-Df6HY9t3.js.map → index-CR69kGQc.js.map} +1 -1
- package/dist/{index-BEwcJPua.js → index-CdjbmThq.js} +5 -5
- package/dist/{index-BEwcJPua.js.map → index-CdjbmThq.js.map} +1 -1
- package/dist/{index-Drxp0RBw.js → index-CwiND2Ct.js} +16 -16
- package/dist/{index-Drxp0RBw.js.map → index-CwiND2Ct.js.map} +1 -1
- package/dist/{index-DD5t0omh.js → index-DLCspqkx.js} +5 -5
- package/dist/{index-DD5t0omh.js.map → index-DLCspqkx.js.map} +1 -1
- package/dist/{index-ifHDbmyw.js → index-DNXqnRoE.js} +5 -5
- package/dist/{index-ifHDbmyw.js.map → index-DNXqnRoE.js.map} +1 -1
- package/dist/{index-CNjwWCGc.js → index-DRIH3L5J.js} +5 -5
- package/dist/{index-CNjwWCGc.js.map → index-DRIH3L5J.js.map} +1 -1
- package/dist/{index-CSdnJs7F.js → index-DdeFtB5C.js} +65 -61
- package/dist/{index-CSdnJs7F.js.map → index-DdeFtB5C.js.map} +1 -1
- package/dist/{index-DkbXF0dN.js → index-Dhj9KjfQ.js} +5 -5
- package/dist/{index-DkbXF0dN.js.map → index-Dhj9KjfQ.js.map} +1 -1
- package/dist/{index-CYfKRRhL.js → index-EAQjfjEJ.js} +16 -16
- package/dist/{index-CYfKRRhL.js.map → index-EAQjfjEJ.js.map} +1 -1
- package/dist/{index-CVv-xIyp.js → index-RHaWI3AH.js} +5 -5
- package/dist/{index-CVv-xIyp.js.map → index-RHaWI3AH.js.map} +1 -1
- package/dist/{index-Ba6ziHiQ.js → index-_fEx7Sbh.js} +4 -4
- package/dist/{index-Ba6ziHiQ.js.map → index-_fEx7Sbh.js.map} +1 -1
- package/dist/{index-DBFwmzJQ.js → index-hHVOyy6e.js} +11 -11
- package/dist/{index-DBFwmzJQ.js.map → index-hHVOyy6e.js.map} +1 -1
- package/dist/{index-Bn5j2FLA.js → index-oK1pn0Vk.js} +5 -5
- package/dist/{index-Bn5j2FLA.js.map → index-oK1pn0Vk.js.map} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +81 -131
- package/dist/index.js.map +1 -1
- package/dist/{pies.utils-B_jS454c.js → pies.utils-C5DxeS68.js} +5 -5
- package/dist/{pies.utils-B_jS454c.js.map → pies.utils-C5DxeS68.js.map} +1 -1
- package/dist/remarkable-pro.css +1 -1
- package/dist/theme/defaults/defaults.ComparisonPeriods.constants.d.ts +1 -1
- package/dist/theme/defaults/defaults.ComparisonPeriods.constants.d.ts.map +1 -1
- package/dist/theme/i18n/translations/de.d.ts.map +1 -1
- package/dist/theme/i18n/translations/en.d.ts.map +1 -1
- package/dist/{timeRange.utils-CgLgHA94.js → timeRange.utils-CTEHTF97.js} +2 -2
- package/dist/{timeRange.utils-CgLgHA94.js.map → timeRange.utils-CTEHTF97.js.map} +1 -1
- package/package.json +2 -2
- package/dist/Color.type.emb-DFhAaPXz.js +0 -9
- package/dist/Color.type.emb-DFhAaPXz.js.map +0 -1
- package/dist/ComparisonPeriod.type.emb-C-YdNTEB.js +0 -14
- package/dist/ComparisonPeriod.type.emb-C-YdNTEB.js.map +0 -1
- package/dist/charts.utils-D_9y_kjG.js.map +0 -1
- package/dist/component.constants-DJqBv0qe.js.map +0 -1
- package/dist/components/component.constants.d.ts +0 -324
- package/dist/components/component.constants.d.ts.map +0 -1
- package/dist/index-BIiign0L.js.map +0 -1
- package/dist/index-BqgkyNm8.js.map +0 -1
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { b as j, m as P, j as w, L as S } from "./Color.type.emb-ByiNbaI7.js";
|
|
2
2
|
import { useTheme as y } from "@embeddable.com/react";
|
|
3
|
-
import { a as G, r as O } from "./component.constants-
|
|
4
|
-
import { C as v } from "./ChartCard-
|
|
5
|
-
import { g as $ } from "./formatter.utils-
|
|
3
|
+
import { a as G, r as O } from "./component.inputs.constants-FaX3B1CO.js";
|
|
4
|
+
import { C as v } from "./ChartCard-BEIVgW77.js";
|
|
5
|
+
import { g as $ } from "./formatter.utils-IGbSBsIu.js";
|
|
6
6
|
import { g as R, a as M } from "./object.utils-D_Zzon-H.js";
|
|
7
7
|
import { s as F } from "./color.utils-BSg_DFOh.js";
|
|
8
8
|
import { g as T } from "./lines.utils-CFEUUo4k.js";
|
|
9
9
|
import { u as _ } from "./charts.fillGaps.hooks-zCMYcjxz.js";
|
|
10
10
|
const D = (l, s) => {
|
|
11
|
-
const u = $(s), { data: r = [], dimension: i, groupDimension: n, measure: e, hasMinMaxYAxisRange: m } = l, c = [...new Set(r.map((t) => t[i.name]).filter((t) => t != null))].sort(), d = [...new Set(r.map((t) => t[n.name]))].filter((t) => t != null), a = R(s), o = j(),
|
|
11
|
+
const u = $(s), { data: r = [], dimension: i, groupDimension: n, measure: e, hasMinMaxYAxisRange: m } = l, c = [...new Set(r.map((t) => t[i.name]).filter((t) => t != null))].sort(), d = [...new Set(r.map((t) => t[n.name]))].filter((t) => t != null), a = R(s), o = j(), b = d.map((t, p) => {
|
|
12
12
|
var C;
|
|
13
13
|
const g = M(
|
|
14
14
|
`${a}.charts.backgroundColors`,
|
|
15
15
|
`${n.name}.${t}`,
|
|
16
16
|
s.charts.backgroundColors ?? o,
|
|
17
|
-
|
|
17
|
+
p
|
|
18
18
|
), x = M(
|
|
19
19
|
`${a}.charts.borderColors`,
|
|
20
20
|
`${n.name}.${t}`,
|
|
21
21
|
s.charts.borderColors ?? o,
|
|
22
|
-
|
|
22
|
+
p
|
|
23
23
|
);
|
|
24
24
|
return {
|
|
25
25
|
clip: m,
|
|
@@ -40,7 +40,7 @@ const D = (l, s) => {
|
|
|
40
40
|
});
|
|
41
41
|
return {
|
|
42
42
|
labels: c,
|
|
43
|
-
datasets:
|
|
43
|
+
datasets: b
|
|
44
44
|
};
|
|
45
45
|
}, K = (l, s) => {
|
|
46
46
|
var c, d;
|
|
@@ -56,8 +56,8 @@ const D = (l, s) => {
|
|
|
56
56
|
tooltip: {
|
|
57
57
|
callbacks: {
|
|
58
58
|
title: (a) => {
|
|
59
|
-
var
|
|
60
|
-
const o = (
|
|
59
|
+
var b;
|
|
60
|
+
const o = (b = a[0]) == null ? void 0 : b.label;
|
|
61
61
|
return e.data(u, o);
|
|
62
62
|
},
|
|
63
63
|
label: (a) => {
|
|
@@ -99,9 +99,9 @@ const D = (l, s) => {
|
|
|
99
99
|
reverseXAxis: d,
|
|
100
100
|
showLegend: a,
|
|
101
101
|
showLogarithmicScale: o,
|
|
102
|
-
showTooltips:
|
|
102
|
+
showTooltips: b,
|
|
103
103
|
showValueLabels: t,
|
|
104
|
-
yAxisRangeMax:
|
|
104
|
+
yAxisRangeMax: p,
|
|
105
105
|
yAxisRangeMin: g,
|
|
106
106
|
onLineClicked: x
|
|
107
107
|
} = l, h = _({
|
|
@@ -113,7 +113,7 @@ const D = (l, s) => {
|
|
|
113
113
|
dimension: m,
|
|
114
114
|
groupDimension: c,
|
|
115
115
|
measure: e,
|
|
116
|
-
hasMinMaxYAxisRange: g != null ||
|
|
116
|
+
hasMinMaxYAxisRange: g != null || p != null
|
|
117
117
|
},
|
|
118
118
|
s
|
|
119
119
|
), f = K(
|
|
@@ -135,11 +135,11 @@ const D = (l, s) => {
|
|
|
135
135
|
reverseXAxis: d,
|
|
136
136
|
showLegend: a,
|
|
137
137
|
showLogarithmicScale: o,
|
|
138
|
-
showTooltips:
|
|
138
|
+
showTooltips: b,
|
|
139
139
|
showValueLabels: t,
|
|
140
140
|
xAxisLabel: i,
|
|
141
141
|
yAxisLabel: n,
|
|
142
|
-
yAxisRangeMax:
|
|
142
|
+
yAxisRangeMax: p,
|
|
143
143
|
yAxisRangeMin: g,
|
|
144
144
|
options: f
|
|
145
145
|
}
|
|
@@ -156,4 +156,4 @@ export {
|
|
|
156
156
|
D as g,
|
|
157
157
|
J as i
|
|
158
158
|
};
|
|
159
|
-
//# sourceMappingURL=index-
|
|
159
|
+
//# sourceMappingURL=index-CwiND2Ct.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-Drxp0RBw.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 { getObjectStableKey } from '../../../../utils.ts/object.utils';\nimport { getColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { getChartContrastColors } 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 themeKey = getObjectStableKey(theme);\n const chartContrastColors = getChartContrastColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getColor(\n `${themeKey}.charts.backgroundColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const borderColor = getColor(\n `${themeKey}.charts.borderColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.borderColors ?? chartContrastColors,\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, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } 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';\n\nexport type LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\ntype LineChartGroupedProProp = {\n description: string;\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 title: string;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onLineClicked: LineChartProOptionsClick;\n};\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 measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\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\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 subtitle={description}\n title={title}\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","themeKey","getObjectStableKey","chartContrastColors","getChartContrastColors","datasets","groupByItem","index","backgroundColor","getColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptions","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","results","useFillGaps","jsx","ChartCard","LineChart"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-CwiND2Ct.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 { getObjectStableKey } from '../../../../utils.ts/object.utils';\nimport { getColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { getChartContrastColors } 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 themeKey = getObjectStableKey(theme);\n const chartContrastColors = getChartContrastColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getColor(\n `${themeKey}.charts.backgroundColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const borderColor = getColor(\n `${themeKey}.charts.borderColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.borderColors ?? chartContrastColors,\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, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } 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';\n\nexport type LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\ntype LineChartGroupedProProp = {\n description: string;\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 title: string;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onLineClicked: LineChartProOptionsClick;\n};\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 measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\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\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 subtitle={description}\n title={title}\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","themeKey","getObjectStableKey","chartContrastColors","getChartContrastColors","datasets","groupByItem","index","backgroundColor","getColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptions","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","results","useFillGaps","jsx","ChartCard","LineChart"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { j as a, K as f } from "./
|
|
1
|
+
import { j as a, K as f } from "./Color.type.emb-ByiNbaI7.js";
|
|
2
2
|
import { useTheme as h } from "@embeddable.com/react";
|
|
3
|
-
import { a as j, r as x } from "./component.constants-
|
|
4
|
-
import { C as b } from "./ChartCard-
|
|
5
|
-
import { g } from "./formatter.utils-
|
|
3
|
+
import { a as j, r as x } from "./component.inputs.constants-FaX3B1CO.js";
|
|
4
|
+
import { C as b } from "./ChartCard-BEIVgW77.js";
|
|
5
|
+
import { g } from "./formatter.utils-IGbSBsIu.js";
|
|
6
6
|
const v = (m) => {
|
|
7
7
|
var o, s;
|
|
8
8
|
const r = h();
|
|
@@ -27,4 +27,4 @@ export {
|
|
|
27
27
|
v as K,
|
|
28
28
|
z as i
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=index-
|
|
30
|
+
//# sourceMappingURL=index-DLCspqkx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-DLCspqkx.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\ntype KpiChartNumberProProp = {\n title: string;\n description: string;\n results: DataResponse;\n measure: Measure;\n fontSize: number;\n};\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, results, measure, fontSize } = resolveI18nProps(props);\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <KpiChart value={value} valueFormatter={valueFormatter} valueFontSize={fontSize} />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","title","description","results","measure","fontSize","resolveI18nProps","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","jsx","ChartCard","KpiChart"],"mappings":";;;;;AAiBA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,SAAAC,GAAS,UAAAC,EAAA,IAAaC,EAAiBT,CAAK,GAE3EU,KAAQC,KAAAC,IAAAN,EAAQ,SAAR,gBAAAM,EAAe,OAAf,gBAAAD,EAAoBJ,EAAQ,OAEpCM,IAAiBC,EAAkBb,CAAK,GACxCc,IAAiB,CAACC,MAA0BH,EAAe,KAAKN,GAASS,CAAa;AAE5F,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMZ;AAAA,MACN,uBAAuB,CAACC,CAAO;AAAA,MAC/B,cAAcD,EAAQ;AAAA,MACtB,UAAUD;AAAA,MACV,OAAAD;AAAA,MAEA,UAAAa,gBAAAA,EAAAA,IAACE,GAAA,EAAS,OAAAT,GAAc,gBAAAK,GAAgC,eAAeP,EAAA,CAAU;AAAA,IAAA;AAAA,EAAA;AAGvF;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { m as L, j as m, B as P } from "./
|
|
1
|
+
import { m as L, j as m, B as P } from "./Color.type.emb-ByiNbaI7.js";
|
|
2
2
|
import { useTheme as w } from "@embeddable.com/react";
|
|
3
|
-
import { a as M, r as S } from "./component.constants-
|
|
4
|
-
import { C as T } from "./ChartCard-
|
|
5
|
-
import { g as _, b as v } from "./bars.utils-
|
|
3
|
+
import { a as M, r as S } from "./component.inputs.constants-FaX3B1CO.js";
|
|
4
|
+
import { C as T } from "./ChartCard-BEIVgW77.js";
|
|
5
|
+
import { g as _, b as v } from "./bars.utils-D12lq8bm.js";
|
|
6
6
|
import { u as G } from "./charts.fillGaps.hooks-zCMYcjxz.js";
|
|
7
7
|
const O = (s) => {
|
|
8
8
|
var n, l;
|
|
@@ -78,4 +78,4 @@ export {
|
|
|
78
78
|
O as B,
|
|
79
79
|
I as i
|
|
80
80
|
};
|
|
81
|
-
//# sourceMappingURL=index-
|
|
81
|
+
//# sourceMappingURL=index-DNXqnRoE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-DNXqnRoE.js","sources":["../src/components/charts/bars/BarChartGroupedPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\n\ntype BarChartGroupedProProps = {\n description: string;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseXAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showTotalLabels?: boolean;\n showValueLabels: boolean;\n title: string;\n xAxis: Dimension;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onBarClicked: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n};\n\nconst BarChartGroupedPro = (props: BarChartGroupedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n groupBy,\n measure,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n title,\n xAxis,\n xAxisLabel,\n yAxisLabel,\n yAxisRangeMax,\n yAxisRangeMin,\n onBarClicked,\n } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: false, onBarClicked, data, dimension: xAxis },\n theme,\n ),\n theme.charts?.barChartGroupedPro?.options || {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\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 showTotalLabels={showTotalLabels}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedPro;\n"],"names":["BarChartGroupedPro","props","theme","useTheme","i18nSetup","description","groupBy","measure","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","title","xAxis","xAxisLabel","yAxisLabel","yAxisRangeMax","yAxisRangeMin","onBarClicked","resolveI18nProps","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","jsx","ChartCard","BarChart"],"mappings":";;;;;;AAkCA,MAAMA,IAAqB,CAACC,MAAmC;;AAC7D,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC,EAAiBpB,CAAK,GAEpBqB,IAAUC,EAAY;AAAA,IAC1B,SAAStB,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEKuB,IAAOC;AAAA,IACX;AAAA,MACE,MAAMH,EAAQ;AAAA,MACd,WAAWP;AAAA,MACX,gBAAgBT;AAAA,MAChB,SAAAC;AAAA,IAAA;AAAA,IAEFL;AAAA,EAAA,GAGIwB,IAAUC;AAAA,IACdC;AAAA,MACE,EAAE,UAAU,CAACrB,CAAO,GAAG,YAAY,IAAO,cAAAa,GAAc,MAAAI,GAAM,WAAWT,EAAA;AAAA,MACzEb;AAAA,IAAA;AAAA,MAEF2B,KAAAC,IAAA5B,EAAM,WAAN,gBAAA4B,EAAc,uBAAd,gBAAAD,EAAkC,YAAW,CAAA;AAAA,EAAC;AAGhD,SACEE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMV;AAAA,MACN,uBAAuB,CAACf,GAASQ,GAAOT,CAAO;AAAA,MAC/C,cAAcgB,EAAQ;AAAA,MACtB,UAAUjB;AAAA,MACV,OAAAS;AAAA,MAEA,UAAAiB,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAT;AAAA,UACA,YAAAf;AAAA,UACA,cAAAE;AAAA,UACA,iBAAAE;AAAA,UACA,sBAAAH;AAAA,UACA,YAAAM;AAAA,UACA,YAAAC;AAAA,UACA,cAAAT;AAAA,UACA,eAAAW;AAAA,UACA,eAAAD;AAAA,UACA,iBAAAN;AAAA,UACA,SAAAc;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { m as x, j as m, D as S } from "./
|
|
1
|
+
import { m as x, j as m, D as S } from "./Color.type.emb-ByiNbaI7.js";
|
|
2
2
|
import { useTheme as b } from "@embeddable.com/react";
|
|
3
|
-
import { g as D, a as v } from "./pies.utils-
|
|
4
|
-
import { a as _, r as k } from "./component.constants-
|
|
5
|
-
import { C as w } from "./ChartCard-
|
|
3
|
+
import { g as D, a as v } from "./pies.utils-C5DxeS68.js";
|
|
4
|
+
import { a as _, r as k } from "./component.inputs.constants-FaX3B1CO.js";
|
|
5
|
+
import { C as w } from "./ChartCard-BEIVgW77.js";
|
|
6
6
|
const L = (d) => {
|
|
7
7
|
var r;
|
|
8
8
|
const e = b();
|
|
@@ -59,4 +59,4 @@ export {
|
|
|
59
59
|
L as D,
|
|
60
60
|
V as i
|
|
61
61
|
};
|
|
62
|
-
//# sourceMappingURL=index-
|
|
62
|
+
//# sourceMappingURL=index-DRIH3L5J.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-DRIH3L5J.js","sources":["../src/components/charts/pies/DonutChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype DonutChartProProps = DefaultPieChartProps;\n\nconst DonutChartPro = (props: DonutChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const options = mergician(\n getPieChartProOptions(measure, theme),\n theme.charts.donutChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <DonutChart\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n"],"names":["DonutChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","DonutChart"],"mappings":";;;;;AAYA,MAAMA,IAAgB,CAACC,MAA8B;;AACnD,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,IAAOC;AAAA,IACX,EAAE,MAAMR,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA;AAAA,IAC1CL;AAAA,EAAA,GAGIgB,IAAUC;AAAA,IACdC,EAAsBZ,GAASN,CAAK;AAAA,MACpCmB,IAAAnB,EAAM,OAAO,kBAAb,gBAAAmB,EAA4B,YAAW,CAAA;AAAA,EAAC,GAGpCC,IAAqB,CAACC,MAA8B;;AACxD,IAAAT,EAAe;AAAA,MACb,gBAAgBS,MAAU,WAAwBC,KAAAH,IAAAZ,EAAQ,SAAR,gBAAAY,EAAeE,OAAf,OAAZ,SAAYC,EAAwBlB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH;AAEA,SACEmB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMjB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,UAAUJ;AAAA,MACV,OAAAQ;AAAA,MAEA,UAAAY,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAX;AAAA,UACA,SAAAE;AAAA,UACA,YAAAR;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,gBAAgBU;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { m as $,
|
|
1
|
+
import { m as $, b as N, d as S, e as w, f as M, j as R, L as F } from "./Color.type.emb-ByiNbaI7.js";
|
|
2
2
|
import { useTheme as X } from "@embeddable.com/react";
|
|
3
|
-
import { i as Y, a as z, r as E } from "./component.constants-
|
|
4
|
-
import { C as G } from "./ChartCard-
|
|
3
|
+
import { i as Y, a as z, r as E } from "./component.inputs.constants-FaX3B1CO.js";
|
|
4
|
+
import { C as G } from "./ChartCard-BEIVgW77.js";
|
|
5
5
|
import { useEffect as K } from "react";
|
|
6
|
-
import { g as V } from "./timeRange.utils-
|
|
7
|
-
import { g as P } from "./formatter.utils-
|
|
6
|
+
import { g as V } from "./timeRange.utils-CTEHTF97.js";
|
|
7
|
+
import { g as P } from "./formatter.utils-IGbSBsIu.js";
|
|
8
8
|
import { g as J, a as U } from "./object.utils-D_Zzon-H.js";
|
|
9
9
|
import { i as q, s as H } from "./color.utils-BSg_DFOh.js";
|
|
10
10
|
import { g as Q } from "./lines.utils-CFEUUo4k.js";
|
|
11
11
|
import { u as B } from "./charts.fillGaps.hooks-zCMYcjxz.js";
|
|
12
|
-
const k = "mainAxis", v = "comparisonAxis", j = (u,
|
|
13
|
-
var O,
|
|
12
|
+
const k = "mainAxis", v = "comparisonAxis", j = (u, l) => {
|
|
13
|
+
var O, h, m, L;
|
|
14
14
|
const { data: e, measure: n, dimension: t, index: p, isPreviousPeriod: o, hasMinMaxYAxisRange: x, labels: a } = u, c = e == null ? void 0 : e.map((f) => f[t.name]), i = !!((O = n.inputs) != null && O.connectGaps), g = a ? a.map((f) => {
|
|
15
15
|
const y = e == null ? void 0 : e.find((I) => I[t.name] === f);
|
|
16
16
|
return (y == null ? void 0 : y[n.name]) ?? (i ? 0 : null);
|
|
17
|
-
}) : e == null ? void 0 : e.map((f) => f[n.name] ?? (i ? 0 : null)),
|
|
17
|
+
}) : e == null ? void 0 : e.map((f) => f[n.name] ?? (i ? 0 : null)), b = P(l), A = J(l), s = !!((h = n.inputs) != null && h[o ? "previousLineDashed" : "lineDashed"]), d = N(), r = (m = n.inputs) == null ? void 0 : m[o ? "previousLineColor" : "lineColor"], C = q(r) ? r : U(
|
|
18
18
|
`${A}.charts.backgroundColors`,
|
|
19
19
|
n.name,
|
|
20
|
-
|
|
20
|
+
l.charts.backgroundColors ?? d,
|
|
21
21
|
p
|
|
22
|
-
), D =
|
|
22
|
+
), D = b.dimensionOrMeasureTitle(n);
|
|
23
23
|
return {
|
|
24
24
|
xAxisID: o ? v : k,
|
|
25
25
|
labels: c,
|
|
@@ -36,7 +36,7 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
|
|
|
36
36
|
fill: (L = n.inputs) == null ? void 0 : L.fillUnderLine,
|
|
37
37
|
clip: x
|
|
38
38
|
};
|
|
39
|
-
}, W = (u,
|
|
39
|
+
}, W = (u, l) => {
|
|
40
40
|
if (!u.data)
|
|
41
41
|
return {
|
|
42
42
|
labels: [],
|
|
@@ -51,37 +51,37 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
|
|
|
51
51
|
...(n == null ? void 0 : n.map((g) => g[t.name])) ?? []
|
|
52
52
|
])
|
|
53
53
|
) : void 0, c = p.map(
|
|
54
|
-
(g,
|
|
54
|
+
(g, b) => j(
|
|
55
55
|
{
|
|
56
56
|
data: e,
|
|
57
57
|
measure: g,
|
|
58
58
|
dimension: t,
|
|
59
59
|
labels: a,
|
|
60
60
|
hasMinMaxYAxisRange: o,
|
|
61
|
-
index:
|
|
61
|
+
index: b
|
|
62
62
|
},
|
|
63
|
-
|
|
63
|
+
l
|
|
64
64
|
)
|
|
65
65
|
), i = p.map(
|
|
66
|
-
(g,
|
|
66
|
+
(g, b) => j(
|
|
67
67
|
{
|
|
68
68
|
data: n,
|
|
69
69
|
measure: g,
|
|
70
70
|
dimension: t,
|
|
71
71
|
labels: a,
|
|
72
72
|
hasMinMaxYAxisRange: o,
|
|
73
|
-
index:
|
|
73
|
+
index: b,
|
|
74
74
|
isPreviousPeriod: !0
|
|
75
75
|
},
|
|
76
|
-
|
|
76
|
+
l
|
|
77
77
|
)
|
|
78
78
|
);
|
|
79
79
|
return {
|
|
80
80
|
labels: a ?? e.map((g) => g[t.name]),
|
|
81
81
|
datasets: [...c, ...i]
|
|
82
82
|
};
|
|
83
|
-
}, Z = (u,
|
|
84
|
-
const { dimension: e, data: n, measures: t, xAxisLabel: p } = u, o = P(
|
|
83
|
+
}, Z = (u, l) => {
|
|
84
|
+
const { dimension: e, data: n, measures: t, xAxisLabel: p } = u, o = P(l);
|
|
85
85
|
return {
|
|
86
86
|
plugins: {
|
|
87
87
|
legend: {
|
|
@@ -142,26 +142,26 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
};
|
|
145
|
-
}, aa = (u,
|
|
146
|
-
var
|
|
147
|
-
const { dimension: e, data: n, measures: t, xAxisLabel: p, showComparisonAxis: o, showDataComparison: x } = u, a = P(
|
|
145
|
+
}, aa = (u, l) => {
|
|
146
|
+
var b, A;
|
|
147
|
+
const { dimension: e, data: n, measures: t, xAxisLabel: p, showComparisonAxis: o, showDataComparison: x } = u, a = P(l), c = ((b = n.datasets.find((s) => s.xAxisID === k)) == null ? void 0 : b.labels) ?? [], i = ((A = n.datasets.find((s) => s.xAxisID === v)) == null ? void 0 : A.labels) ?? [];
|
|
148
148
|
return {
|
|
149
149
|
plugins: {
|
|
150
150
|
legend: {
|
|
151
151
|
labels: {
|
|
152
|
-
filter: (s,
|
|
152
|
+
filter: (s, d) => {
|
|
153
153
|
if (!s) return !1;
|
|
154
|
-
const
|
|
155
|
-
return Array.isArray(
|
|
154
|
+
const r = d.datasets[s.datasetIndex];
|
|
155
|
+
return Array.isArray(r.data) && r.data.length > 0;
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
},
|
|
159
159
|
datalabels: {
|
|
160
160
|
labels: {
|
|
161
161
|
value: {
|
|
162
|
-
formatter: (s,
|
|
163
|
-
const
|
|
164
|
-
return a.data(
|
|
162
|
+
formatter: (s, d) => {
|
|
163
|
+
const r = t[d.datasetIndex % t.length];
|
|
164
|
+
return a.data(r, s);
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
}
|
|
@@ -169,17 +169,17 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
|
|
|
169
169
|
tooltip: {
|
|
170
170
|
callbacks: {
|
|
171
171
|
title: (s) => {
|
|
172
|
-
const
|
|
173
|
-
if (!x &&
|
|
174
|
-
return a.data(e,
|
|
175
|
-
const
|
|
176
|
-
if (
|
|
177
|
-
const C = c[
|
|
172
|
+
const d = s[0];
|
|
173
|
+
if (!x && d)
|
|
174
|
+
return a.data(e, d.label);
|
|
175
|
+
const r = d == null ? void 0 : d.dataIndex;
|
|
176
|
+
if (r === void 0) return "";
|
|
177
|
+
const C = c[r] && a.data(e, c[r]), D = i[r] && a.data(e, i[r]);
|
|
178
178
|
return `${C ?? "-"} vs ${D ?? "-"}`;
|
|
179
179
|
},
|
|
180
180
|
label: (s) => {
|
|
181
|
-
const
|
|
182
|
-
return `${s.dataset.label}: ${a.data(
|
|
181
|
+
const d = t[s.datasetIndex % t.length], r = s.raw;
|
|
182
|
+
return `${s.dataset.label}: ${a.data(d, r)}`;
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
}
|
|
@@ -211,8 +211,8 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
|
|
|
211
211
|
callback: (s) => {
|
|
212
212
|
if (i.length === 0)
|
|
213
213
|
return "";
|
|
214
|
-
const
|
|
215
|
-
return
|
|
214
|
+
const d = i[Number(s)];
|
|
215
|
+
return d ? a.data(e, d) : "";
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
},
|
|
@@ -223,17 +223,17 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
|
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
225
|
};
|
|
226
|
-
}, ea = (u,
|
|
226
|
+
}, ea = (u, l) => {
|
|
227
227
|
var p, o;
|
|
228
228
|
const { onLineClicked: e, dimension: n } = u, t = n.nativeType === "time" ? aa : Z;
|
|
229
229
|
return $(
|
|
230
230
|
Q({ onLineClicked: e }),
|
|
231
|
-
t(u,
|
|
232
|
-
((o = (p =
|
|
231
|
+
t(u, l),
|
|
232
|
+
((o = (p = l.charts) == null ? void 0 : p.lineChartComparisonDefaultPro) == null ? void 0 : o.options) || {}
|
|
233
233
|
);
|
|
234
234
|
}, ta = (u) => {
|
|
235
|
-
const
|
|
236
|
-
z(
|
|
235
|
+
const l = X();
|
|
236
|
+
z(l);
|
|
237
237
|
const { title: e, description: n, xAxisLabel: t, yAxisLabel: p } = E(u), {
|
|
238
238
|
comparisonPeriod: o,
|
|
239
239
|
measures: x,
|
|
@@ -241,11 +241,11 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
|
|
|
241
241
|
reverseXAxis: c,
|
|
242
242
|
showLegend: i,
|
|
243
243
|
showLogarithmicScale: g,
|
|
244
|
-
showTooltips:
|
|
244
|
+
showTooltips: b,
|
|
245
245
|
showValueLabels: A,
|
|
246
246
|
yAxisRangeMax: s,
|
|
247
|
-
yAxisRangeMin:
|
|
248
|
-
primaryDateRange:
|
|
247
|
+
yAxisRangeMin: d,
|
|
248
|
+
primaryDateRange: r,
|
|
249
249
|
comparisonDateRange: C,
|
|
250
250
|
showComparisonAxis: D,
|
|
251
251
|
setComparisonDateRange: T,
|
|
@@ -253,25 +253,29 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
|
|
|
253
253
|
} = u;
|
|
254
254
|
K(() => {
|
|
255
255
|
const _ = V(
|
|
256
|
-
|
|
256
|
+
r,
|
|
257
257
|
o,
|
|
258
|
-
|
|
258
|
+
l
|
|
259
259
|
);
|
|
260
260
|
T(_);
|
|
261
|
-
}, [o, JSON.stringify(
|
|
262
|
-
const
|
|
261
|
+
}, [o, JSON.stringify(r), l]);
|
|
262
|
+
const h = B({
|
|
263
|
+
results: u.results,
|
|
264
|
+
dimension: a,
|
|
265
|
+
externalDateBounds: r
|
|
266
|
+
}), m = B({
|
|
263
267
|
results: u.resultsComparison,
|
|
264
268
|
dimension: a,
|
|
265
269
|
externalDateBounds: C
|
|
266
|
-
}), L = !!(
|
|
270
|
+
}), L = !!(r && o), f = W(
|
|
267
271
|
{
|
|
268
|
-
data:
|
|
272
|
+
data: h.data,
|
|
269
273
|
dataComparison: L ? (m == null ? void 0 : m.data) ?? [] : void 0,
|
|
270
274
|
dimension: a,
|
|
271
275
|
measures: x,
|
|
272
|
-
hasMinMaxYAxisRange:
|
|
276
|
+
hasMinMaxYAxisRange: d != null || s != null
|
|
273
277
|
},
|
|
274
|
-
|
|
278
|
+
l
|
|
275
279
|
), y = ea(
|
|
276
280
|
{
|
|
277
281
|
data: f,
|
|
@@ -282,17 +286,17 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
|
|
|
282
286
|
showDataComparison: L,
|
|
283
287
|
onLineClicked: O
|
|
284
288
|
},
|
|
285
|
-
|
|
289
|
+
l
|
|
286
290
|
), I = {
|
|
287
|
-
isLoading: !!(
|
|
288
|
-
data: !(
|
|
291
|
+
isLoading: !!(h.isLoading || m != null && m.isLoading),
|
|
292
|
+
data: !(h != null && h.data) && !(m != null && m.data) ? void 0 : [...h.data ?? [], ...(m == null ? void 0 : m.data) ?? []]
|
|
289
293
|
};
|
|
290
294
|
return /* @__PURE__ */ R.jsx(
|
|
291
295
|
G,
|
|
292
296
|
{
|
|
293
297
|
data: I,
|
|
294
298
|
dimensionsAndMeasures: [...x, a],
|
|
295
|
-
errorMessage:
|
|
299
|
+
errorMessage: h.error || (m == null ? void 0 : m.error),
|
|
296
300
|
subtitle: n,
|
|
297
301
|
title: e,
|
|
298
302
|
children: /* @__PURE__ */ R.jsx(
|
|
@@ -302,12 +306,12 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
|
|
|
302
306
|
reverseXAxis: c,
|
|
303
307
|
showLegend: i,
|
|
304
308
|
showLogarithmicScale: g,
|
|
305
|
-
showTooltips:
|
|
309
|
+
showTooltips: b,
|
|
306
310
|
showValueLabels: A,
|
|
307
311
|
xAxisLabel: t,
|
|
308
312
|
yAxisLabel: p,
|
|
309
313
|
yAxisRangeMax: s,
|
|
310
|
-
yAxisRangeMin:
|
|
314
|
+
yAxisRangeMin: d,
|
|
311
315
|
options: y
|
|
312
316
|
}
|
|
313
317
|
)
|
|
@@ -323,4 +327,4 @@ export {
|
|
|
323
327
|
W as g,
|
|
324
328
|
ga as i
|
|
325
329
|
};
|
|
326
|
-
//# sourceMappingURL=index-
|
|
330
|
+
//# sourceMappingURL=index-DdeFtB5C.js.map
|