@embeddable.com/remarkable-pro 0.0.25 → 0.0.26
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 +35 -24
- package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
- package/dist/BarChartDefaultPro.js +38 -22
- package/dist/BarChartDefaultPro.js.map +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +36 -28
- package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
- package/dist/BarChartGroupedPro.js +36 -28
- package/dist/BarChartGroupedPro.js.map +1 -1
- package/dist/BarChartStackedHorizontalPro.js +31 -23
- package/dist/BarChartStackedHorizontalPro.js.map +1 -1
- package/dist/BarChartStackedPro.js +31 -23
- package/dist/BarChartStackedPro.js.map +1 -1
- package/dist/{ChartCard-BHPN4_tz.js → ChartCard-C6rVK7Ux.js} +21 -21
- package/dist/{ChartCard-BHPN4_tz.js.map → ChartCard-C6rVK7Ux.js.map} +1 -1
- package/dist/ChartGranularitySelectField-BxhibpgC.js +40 -0
- package/dist/ChartGranularitySelectField-BxhibpgC.js.map +1 -0
- package/dist/{Color.type.emb-DWdIUAm5.js → Color.type.emb-De2K8PVb.js} +2067 -2042
- package/dist/{Color.type.emb-DWdIUAm5.js.map → Color.type.emb-De2K8PVb.js.map} +1 -1
- package/dist/ColorEditor.js +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +3 -3
- package/dist/DateRangePickerCustomPro.js +4 -4
- package/dist/DateRangeSelectFieldPro.js +3 -3
- package/dist/DonutChartPro.js +4 -4
- package/dist/DonutLabelChartPro.js +4 -4
- package/dist/{EditorCard-ZXwl5-DV.js → EditorCard-DCm6Ykb8.js} +3 -3
- package/dist/{EditorCard-ZXwl5-DV.js.map → EditorCard-DCm6Ykb8.js.map} +1 -1
- package/dist/GranularitySelectField-CYq2YuAO.js +104 -0
- package/dist/GranularitySelectField-CYq2YuAO.js.map +1 -0
- package/dist/GranularitySelectFieldPro.js +43 -137
- package/dist/GranularitySelectFieldPro.js.map +1 -1
- package/dist/HeatMapPro.js +4 -4
- package/dist/{IconCalendarFilled-Bl7kPqxG.js → IconCalendarFilled-CYiLMPm9.js} +2 -2
- package/dist/{IconCalendarFilled-Bl7kPqxG.js.map → IconCalendarFilled-CYiLMPm9.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +4 -4
- package/dist/KpiChartNumberPro.js +4 -4
- package/dist/LineChartComparisonDefaultPro.js +45 -40
- package/dist/LineChartComparisonDefaultPro.js.map +1 -1
- package/dist/LineChartDefaultPro.js +37 -29
- package/dist/LineChartDefaultPro.js.map +1 -1
- package/dist/LineChartGroupedPro.js +31 -23
- package/dist/LineChartGroupedPro.js.map +1 -1
- package/dist/MultiSelectFieldPro.js +4 -4
- package/dist/PieChartPro.js +4 -4
- package/dist/PivotTablePro.js +4 -4
- package/dist/SingleSelectFieldPro.js +4 -4
- package/dist/TableChartPaginated.js +4 -4
- package/dist/TableScrollable.js +17 -17
- package/dist/{bars.utils-DLqiVSYV.js → bars.utils-IYtKAgtt.js} +4 -4
- package/dist/{bars.utils-DLqiVSYV.js.map → bars.utils-IYtKAgtt.js.map} +1 -1
- package/dist/{charts.utils-lvlkFPJk.js → charts.utils-CeGAdGVG.js} +4 -4
- package/dist/{charts.utils-lvlkFPJk.js.map → charts.utils-CeGAdGVG.js.map} +1 -1
- package/dist/{component.inputs.constants-DO_jX-yc.js → component.inputs.constants-wDyG8tFg.js} +464 -382
- package/dist/component.inputs.constants-wDyG8tFg.js.map +1 -0
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts +2 -1
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts +2 -1
- package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts +2 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts +2 -1
- package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts +2 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/index.d.ts +2 -1
- package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts +2 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts +2 -1
- package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts +2 -1
- package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts +9 -0
- package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts.map +1 -0
- package/dist/components/charts/utils/granularity.utils.d.ts +13 -0
- package/dist/components/charts/utils/granularity.utils.d.ts.map +1 -0
- package/dist/components/component.inputs.constants.d.ts +12 -0
- package/dist/components/component.inputs.constants.d.ts.map +1 -1
- package/dist/components/component.subinputs.constants.d.ts +18 -0
- package/dist/components/component.subinputs.constants.d.ts.map +1 -1
- package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.d.ts +12 -0
- package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.d.ts.map +1 -0
- package/dist/components/editors/{GranularitySelectFieldPro/GranularitySelectFieldPro.utils.d.ts → shared/GranularitySelectField/GranularitySelectField.utils.d.ts} +3 -3
- package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.utils.d.ts.map +1 -0
- package/dist/embeddable-components.json +34 -34
- package/dist/{formatter.utils-CBCUxVH8.js → formatter.utils-DlbthOXA.js} +8 -8
- package/dist/{formatter.utils-CBCUxVH8.js.map → formatter.utils-DlbthOXA.js.map} +1 -1
- package/dist/granularity.utils-CA504xa0.js +15 -0
- package/dist/granularity.utils-CA504xa0.js.map +1 -0
- package/dist/{index-Rxsr4tZ-.js → index-AqDTPWnU.js} +5 -5
- package/dist/{index-Rxsr4tZ-.js.map → index-AqDTPWnU.js.map} +1 -1
- package/dist/index-B2N9BsUK.js +92 -0
- package/dist/index-B2N9BsUK.js.map +1 -0
- package/dist/{index-DLT2A69c.js → index-BFvsuXiz.js} +5 -5
- package/dist/{index-DLT2A69c.js.map → index-BFvsuXiz.js.map} +1 -1
- package/dist/{index-BSK_5Rq3.js → index-BaboirUQ.js} +5 -5
- package/dist/{index-BSK_5Rq3.js.map → index-BaboirUQ.js.map} +1 -1
- package/dist/index-Bd4SFepB.js +93 -0
- package/dist/index-Bd4SFepB.js.map +1 -0
- package/dist/{index-CzM9TqMe.js → index-BkcQaDp8.js} +6 -6
- package/dist/{index-CzM9TqMe.js.map → index-BkcQaDp8.js.map} +1 -1
- package/dist/index-Cf96kZIH.js +82 -0
- package/dist/index-Cf96kZIH.js.map +1 -0
- package/dist/{index-DZYPPNrI.js → index-CgVjpFNs.js} +5 -5
- package/dist/{index-DZYPPNrI.js.map → index-CgVjpFNs.js.map} +1 -1
- package/dist/{index-s4oA7Iyp.js → index-CiO0tI86.js} +8 -8
- package/dist/{index-s4oA7Iyp.js.map → index-CiO0tI86.js.map} +1 -1
- package/dist/index-CoOz-mWY.js +90 -0
- package/dist/index-CoOz-mWY.js.map +1 -0
- package/dist/{index-EOl5XOZN.js → index-CvKdGFx3.js} +6 -6
- package/dist/{index-EOl5XOZN.js.map → index-CvKdGFx3.js.map} +1 -1
- package/dist/index-D3HMg6eu.js +177 -0
- package/dist/index-D3HMg6eu.js.map +1 -0
- package/dist/index-DCA_6rWw.js +182 -0
- package/dist/index-DCA_6rWw.js.map +1 -0
- package/dist/{index-CpUKjpYd.js → index-DHiPuxQQ.js} +4 -4
- package/dist/{index-CpUKjpYd.js.map → index-DHiPuxQQ.js.map} +1 -1
- package/dist/{index-0eDJ_Ho5.js → index-DfrwKtFA.js} +5 -5
- package/dist/{index-0eDJ_Ho5.js.map → index-DfrwKtFA.js.map} +1 -1
- package/dist/{index-BRuc7lF2.js → index-DytdIFQb.js} +5 -5
- package/dist/{index-BRuc7lF2.js.map → index-DytdIFQb.js.map} +1 -1
- package/dist/index-eEE2JmCK.js +346 -0
- package/dist/index-eEE2JmCK.js.map +1 -0
- package/dist/index-fcVfPVmY.js +83 -0
- package/dist/index-fcVfPVmY.js.map +1 -0
- package/dist/{index-BRX2mrGM.js → index-gnajbHE2.js} +18 -18
- package/dist/{index-BRX2mrGM.js.map → index-gnajbHE2.js.map} +1 -1
- package/dist/{index-Cn_Rs8nk.js → index-icM1qOGP.js} +5 -5
- package/dist/{index-Cn_Rs8nk.js.map → index-icM1qOGP.js.map} +1 -1
- package/dist/index-rodtTo_t.js +91 -0
- package/dist/index-rodtTo_t.js.map +1 -0
- package/dist/index.js +70 -69
- package/dist/{pies.utils-BxCBtjpf.js → pies.utils-XolEkyOz.js} +5 -5
- package/dist/{pies.utils-BxCBtjpf.js.map → pies.utils-XolEkyOz.js.map} +1 -1
- package/dist/{preview.data.constants-CXMriS2F.js → preview.data.constants-37wUPKG8.js} +2 -2
- package/dist/{preview.data.constants-CXMriS2F.js.map → preview.data.constants-37wUPKG8.js.map} +1 -1
- package/dist/remarkable-pro.css +1 -1
- package/dist/{tables.utils-DMLGNJ4g.js → tables.utils-Bb34U0u9.js} +4 -4
- package/dist/{tables.utils-DMLGNJ4g.js.map → tables.utils-Bb34U0u9.js.map} +1 -1
- package/dist/theme/defaults/defaults.GranularityOptions.constants.d.ts +1 -0
- package/dist/theme/defaults/defaults.GranularityOptions.constants.d.ts.map +1 -1
- package/dist/{timeRange.utils-C_oRVExZ.js → timeRange.utils-DdzcsFwj.js} +5 -5
- package/dist/{timeRange.utils-C_oRVExZ.js.map → timeRange.utils-DdzcsFwj.js.map} +1 -1
- package/package.json +2 -2
- package/dist/component.inputs.constants-DO_jX-yc.js.map +0 -1
- package/dist/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.utils.d.ts.map +0 -1
- package/dist/index-ByFoIwAq.js +0 -83
- package/dist/index-ByFoIwAq.js.map +0 -1
- package/dist/index-CRWWARnB.js +0 -75
- package/dist/index-CRWWARnB.js.map +0 -1
- package/dist/index-CVIirzal.js +0 -73
- package/dist/index-CVIirzal.js.map +0 -1
- package/dist/index-Cj1Zuh74.js +0 -165
- package/dist/index-Cj1Zuh74.js.map +0 -1
- package/dist/index-D9LxkwlG.js +0 -82
- package/dist/index-D9LxkwlG.js.map +0 -1
- package/dist/index-DDeRZxp1.js +0 -334
- package/dist/index-DDeRZxp1.js.map +0 -1
- package/dist/index-DMtpdR9I.js +0 -170
- package/dist/index-DMtpdR9I.js.map +0 -1
- package/dist/index-L5_Ts7FG.js +0 -83
- package/dist/index-L5_Ts7FG.js.map +0 -1
- package/dist/index-Uhz2U4Dp.js +0 -84
- package/dist/index-Uhz2U4Dp.js.map +0 -1
|
@@ -0,0 +1,177 @@
|
|
|
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-wDyG8tFg.js";
|
|
4
|
+
import { C as y } from "./ChartCard-C6rVK7Ux.js";
|
|
5
|
+
import { g as w } from "./formatter.utils-DlbthOXA.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-BxhibpgC.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-D3HMg6eu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-D3HMg6eu.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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"}
|
|
@@ -0,0 +1,182 @@
|
|
|
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-wDyG8tFg.js";
|
|
4
|
+
import { C as T } from "./ChartCard-C6rVK7Ux.js";
|
|
5
|
+
import { g as v } from "./formatter.utils-DlbthOXA.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-BxhibpgC.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-DCA_6rWw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DCA_6rWw.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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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as u, j as i, S as g } from "./Color.type.emb-
|
|
1
|
+
import { i as u, j as i, S as g } from "./Color.type.emb-De2K8PVb.js";
|
|
2
2
|
import { useTheme as v } from "@embeddable.com/react";
|
|
3
3
|
import { g as f, u as h, c as y } from "./dates.utils-BF32dTLi.js";
|
|
4
|
-
import {
|
|
5
|
-
import { E as j } from "./EditorCard-
|
|
4
|
+
import { e as b, a as P, r as M, i as S } from "./component.inputs.constants-wDyG8tFg.js";
|
|
5
|
+
import { E as j } from "./EditorCard-DCm6Ykb8.js";
|
|
6
6
|
import { useMemo as C, useEffect as O } from "react";
|
|
7
7
|
/**
|
|
8
8
|
* @license @tabler/icons-react v3.36.1 - MIT
|
|
@@ -57,4 +57,4 @@ export {
|
|
|
57
57
|
_ as g,
|
|
58
58
|
z as i
|
|
59
59
|
};
|
|
60
|
-
//# sourceMappingURL=index-
|
|
60
|
+
//# sourceMappingURL=index-DHiPuxQQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-DHiPuxQQ.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarTime.mjs","../src/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.ts","../src/components/editors/ComparisonPeriodSelectFieldPro/index.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.36.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M14 18a4 4 0 1 0 8 0a4 4 0 1 0 -8 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M15 3v4\", \"key\": \"svg-2\" }], [\"path\", { \"d\": \"M7 3v4\", \"key\": \"svg-3\" }], [\"path\", { \"d\": \"M3 11h16\", \"key\": \"svg-4\" }], [\"path\", { \"d\": \"M18 16.496v1.504l1 1\", \"key\": \"svg-5\" }]];\nconst IconCalendarTime = createReactComponent(\"outline\", \"calendar-time\", \"CalendarTime\", __iconNode);\n\nexport { __iconNode, IconCalendarTime as default };\n//# sourceMappingURL=IconCalendarTime.mjs.map\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport { ComparisonPeriodSelectFieldProOption } from './ComparisonPeriodSelectFieldPro.types';\nimport { resolveI18nString } from '../../component.utils';\nimport { getTimeRangeLabel } from '../dates/dates.utils';\n\n// Checks if the comparison period type is available in the embeddable types\nexport const isComparisonPeriodAvailable = (\n option: string | undefined,\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n): boolean => {\n return !option || comparisonPeriodSelectFieldProOptions.some((opt) => opt.value === option);\n};\n\nexport const getComparisonPeriodSelectFieldProOptions = (\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n toCompareTimeRange: TimeRange,\n): SelectListOptionProps[] => {\n return comparisonPeriodSelectFieldProOptions.map((option) => {\n return {\n rightLabel: toCompareTimeRange\n ? getTimeRangeLabel(option.getRange(toCompareTimeRange), option.dateFormat)\n : '',\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils.ts/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarTime } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../theme/i18n/i18n';\nimport {\n getComparisonPeriodSelectFieldProOptions,\n isComparisonPeriodAvailable,\n} from './ComparisonPeriodSelectFieldPro.utils';\nimport { useEffect, useMemo } from 'react';\nimport { getTimeRangeFromPresets } from '../dates/dates.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\n\ntype DateComparisonSelectFieldPro = {\n placeholder?: string;\n primaryDateRange?: TimeRange;\n comparisonPeriod?: string;\n onChange: (newComparisonPeriod?: string) => void;\n} & ChartCardHeaderProps;\n\nconst DateComparisonSelectFieldPro = (props: DateComparisonSelectFieldPro) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, placeholder, title, comparisonPeriod, onChange } = resolveI18nProps(props);\n\n const comparisonPeriodOptions = theme.defaults.comparisonPeriodsOptions;\n\n const comparisonPeriodAvailable = useMemo(\n () => isComparisonPeriodAvailable(comparisonPeriod, comparisonPeriodOptions),\n [comparisonPeriod, comparisonPeriodOptions],\n );\n\n // If the current comparison period is not available, reset the field\n useEffect(() => {\n if (!comparisonPeriodAvailable) {\n onChange(undefined);\n }\n }, [comparisonPeriodAvailable, onChange]);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n // Obtain the actual range for the selected primaryDateRange\n const primaryDateRange = getTimeRangeFromPresets(\n props.primaryDateRange,\n theme.defaults.dateRangesOptions,\n );\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const options = getComparisonPeriodSelectFieldProOptions(\n comparisonPeriodOptions,\n primaryDateRange,\n );\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n startIcon={IconCalendarTime}\n clearable\n placeholder={placeholder}\n value={comparisonPeriodAvailable ? comparisonPeriod : undefined}\n onChange={onChange}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DateComparisonSelectFieldPro;\n"],"names":["__iconNode","IconCalendarTime","createReactComponent","isComparisonPeriodAvailable","option","comparisonPeriodSelectFieldProOptions","opt","getComparisonPeriodSelectFieldProOptions","toCompareTimeRange","getTimeRangeLabel","resolveI18nString","DateComparisonSelectFieldPro","props","theme","useTheme","i18nSetup","description","placeholder","title","comparisonPeriod","onChange","resolveI18nProps","comparisonPeriodOptions","comparisonPeriodAvailable","useMemo","useEffect","dayjsLocaleReady","useLoadDayjsLocale","primaryDateRange","getTimeRangeFromPresets","options","jsx","EditorCard","SingleSelectField","i18n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,2EAA2E,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,uCAAuC,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,WAAW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,UAAU,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,YAAY,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,wBAAwB,KAAO,QAAO,CAAE,CAAC,GACzYC,IAAmBC,EAAqB,WAAW,iBAAiB,gBAAgBF,CAAU,GCHvFG,IAA8B,CACzCC,GACAC,MAEO,CAACD,KAAUC,EAAsC,KAAK,CAACC,MAAQA,EAAI,UAAUF,CAAM,GAG/EG,IAA2C,CACtDF,GACAG,MAEOH,EAAsC,IAAI,CAACD,OACzC;AAAA,EACL,YAAYI,IACRC,EAAkBL,EAAO,SAASI,CAAkB,GAAGJ,EAAO,UAAU,IACxE;AAAA,EACJ,OAAOA,EAAO;AAAA,EACd,OAAOM,EAAkBN,EAAO,KAAK;AAAA,EAExC,GCFGO,IAA+B,CAACC,MAAwC;AAC5E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,aAAAG,GAAa,aAAAC,GAAa,OAAAC,GAAO,kBAAAC,GAAkB,UAAAC,EAAA,IAAaC,EAAiBT,CAAK,GAExFU,IAA0BT,EAAM,SAAS,0BAEzCU,IAA4BC;AAAA,IAChC,MAAMrB,EAA4BgB,GAAkBG,CAAuB;AAAA,IAC3E,CAACH,GAAkBG,CAAuB;AAAA,EAAA;AAI5C,EAAAG,EAAU,MAAM;AACd,IAAKF,KACHH,EAAS,MAAS;AAAA,EAEtB,GAAG,CAACG,GAA2BH,CAAQ,CAAC;AAExC,QAAM,EAAE,kBAAAM,EAAA,IAAqBC,EAAA,GAGvBC,IAAmBC;AAAA,IACvBjB,EAAM;AAAA,IACNC,EAAM,SAAS;AAAA,EAAA;AAGjB,MAAI,CAACa;AACH,WAAO;AAGT,QAAMI,IAAUvB;AAAA,IACde;AAAA,IACAM;AAAA,EAAA;AAGF,SACEG,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAd,GAAc,UAAUF,GAClC,UAAAe,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWhC;AAAA,MACX,WAAS;AAAA,MACT,aAAAgB;AAAA,MACA,OAAOM,IAA4BJ,IAAmB;AAAA,MACtD,UAAAC;AAAA,MACA,SAAAU;AAAA,MACA,kBAAkBI,EAAK,EAAE,2BAA2B;AAAA,MACpD,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;;","x_google_ignoreList":[0]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { j as n, K as h } from "./Color.type.emb-
|
|
1
|
+
import { j as n, K as h } from "./Color.type.emb-De2K8PVb.js";
|
|
2
2
|
import { useTheme as j } from "@embeddable.com/react";
|
|
3
|
-
import { a as x, r as g } from "./component.inputs.constants-
|
|
4
|
-
import { C as v } from "./ChartCard-
|
|
5
|
-
import { g as C } from "./formatter.utils-
|
|
3
|
+
import { a as x, r as g } from "./component.inputs.constants-wDyG8tFg.js";
|
|
4
|
+
import { C as v } from "./ChartCard-C6rVK7Ux.js";
|
|
5
|
+
import { g as C } from "./formatter.utils-DlbthOXA.js";
|
|
6
6
|
const S = (r) => {
|
|
7
7
|
var a, s;
|
|
8
8
|
const o = j();
|
|
@@ -28,4 +28,4 @@ export {
|
|
|
28
28
|
S as K,
|
|
29
29
|
z as i
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=index-
|
|
31
|
+
//# sourceMappingURL=index-DfrwKtFA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-DfrwKtFA.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, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\ntype KpiChartNumberProProp = {\n results: DataResponse;\n measure: Measure;\n fontSize?: number;\n} & ChartCardHeaderProps;\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 const { hideMenu } = 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 description={description}\n title={title}\n hideMenu={hideMenu}\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","hideMenu","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","jsx","ChartCard","KpiChart"],"mappings":";;;;;AAeA,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,GAC3E,EAAE,UAAAU,MAAaV,GAEfW,KAAQC,KAAAC,IAAAP,EAAQ,SAAR,gBAAAO,EAAe,OAAf,gBAAAD,EAAoBL,EAAQ,OAEpCO,IAAiBC,EAAkBd,CAAK,GACxCe,IAAiB,CAACC,MAA0BH,EAAe,KAAKP,GAASU,CAAa;AAE5F,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMb;AAAA,MACN,uBAAuB,CAACC,CAAO;AAAA,MAC/B,cAAcD,EAAQ;AAAA,MACtB,aAAAD;AAAA,MACA,OAAAD;AAAA,MACA,UAAAM;AAAA,MAEA,UAAAQ,gBAAAA,EAAAA,IAACE,GAAA,EAAS,OAAAT,GAAc,gBAAAK,GAAgC,eAAeR,EAAA,CAAU;AAAA,IAAA;AAAA,EAAA;AAGvF;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { m as S, j as l, P as b } from "./Color.type.emb-
|
|
1
|
+
import { m as S, j as l, P as b } from "./Color.type.emb-De2K8PVb.js";
|
|
2
2
|
import { useTheme as v } from "@embeddable.com/react";
|
|
3
|
-
import { g as M, a as _ } from "./pies.utils-
|
|
4
|
-
import { a as k, r as w } from "./component.inputs.constants-
|
|
5
|
-
import { C as L } from "./ChartCard-
|
|
3
|
+
import { g as M, a as _ } from "./pies.utils-XolEkyOz.js";
|
|
4
|
+
import { a as k, r as w } from "./component.inputs.constants-wDyG8tFg.js";
|
|
5
|
+
import { C as L } from "./ChartCard-C6rVK7Ux.js";
|
|
6
6
|
const O = (s) => {
|
|
7
7
|
var n;
|
|
8
8
|
const e = v();
|
|
@@ -60,4 +60,4 @@ export {
|
|
|
60
60
|
O as P,
|
|
61
61
|
A as i
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=index-
|
|
63
|
+
//# sourceMappingURL=index-DytdIFQb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-DytdIFQb.js","sources":["../src/components/charts/pies/PieChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { PieChart } from '@embeddable.com/remarkable-ui';\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 { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype PieChartProProps = DefaultPieChartProps;\n\nconst PieChartPro = (props: PieChartProProps) => {\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 { hideMenu } = 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.pieChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n if (!onSegmentClick) return;\n\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 description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <PieChart\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 PieChartPro;\n"],"names":["PieChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","hideMenu","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","PieChart"],"mappings":";;;;;AAYA,MAAMA,IAAc,CAACC,MAA4B;;AAC/C,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,GAEpB,EAAE,UAAAe,MAAaf,GAEfgB,IAAOC;AAAA,IACX,EAAE,MAAMT,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA;AAAA,IAC1CL;AAAA,EAAA,GAGIiB,IAAUC;AAAA,IACdC,EAAsBb,GAASN,CAAK;AAAA,MACpCoB,IAAApB,EAAM,OAAO,gBAAb,gBAAAoB,EAA0B,YAAW,CAAA;AAAA,EAAC,GAGlCC,IAAqB,CAACC,MAA8B;;AACxD,IAAKV,KAELA,EAAe;AAAA,MACb,gBAAgBU,MAAU,WAAwBC,KAAAH,IAAAb,EAAQ,SAAR,gBAAAa,EAAeE,OAAf,OAAZ,SAAYC,EAAwBnB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH;AAEA,SACEoB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMlB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,aAAAJ;AAAA,MACA,OAAAQ;AAAA,MACA,UAAAG;AAAA,MAEA,UAAAU,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAX;AAAA,UACA,SAAAE;AAAA,UACA,YAAAT;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,gBAAgBW;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB;AAAA,EAAA;AAGN;;;;"}
|