@embeddable.com/remarkable-ui 0.1.50 → 0.1.51
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 +18 -17
- package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
- package/dist/BarChartDefaultPro.js +18 -17
- package/dist/BarChartDefaultPro.js.map +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +20 -19
- package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
- package/dist/BarChartGroupedPro.js +20 -19
- package/dist/BarChartGroupedPro.js.map +1 -1
- package/dist/BarChartStackedHorizontalPro.js +24 -23
- package/dist/BarChartStackedHorizontalPro.js.map +1 -1
- package/dist/BarChartStackedPro.js +24 -23
- package/dist/BarChartStackedPro.js.map +1 -1
- package/dist/{ChartCard-k190CXR0.js → ChartCard-D-0O5ugW.js} +19 -19
- package/dist/{ChartCard-k190CXR0.js.map → ChartCard-D-0O5ugW.js.map} +1 -1
- package/dist/{ComparisonPeriod.type.emb-Dgl2VM4_.js → ComparisonPeriod.type.emb-CYp3nw-9.js} +2 -2
- package/dist/{ComparisonPeriod.type.emb-Dgl2VM4_.js.map → ComparisonPeriod.type.emb-CYp3nw-9.js.map} +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +8 -8
- package/dist/DateRangeSelectFieldPro.js +2 -2
- package/dist/DonutChartPro.js +2 -2
- package/dist/DonutLabelChartPro.js +2 -2
- package/dist/{EditorCard-BNBH4Y9F.js → EditorCard-BhC7oToX.js} +18 -18
- package/dist/{EditorCard-BNBH4Y9F.js.map → EditorCard-BhC7oToX.js.map} +1 -1
- package/dist/{HeatMap-ylrlKLQI.js → HeatMap-By9_uzV_.js} +2 -2
- package/dist/{HeatMap-ylrlKLQI.js.map → HeatMap-By9_uzV_.js.map} +1 -1
- package/dist/HeatMapPro.js +18 -18
- package/dist/{KpiChart-DJ5el66E.js → KpiChart-CS9s8nJ4.js} +10 -10
- package/dist/{KpiChart-DJ5el66E.js.map → KpiChart-CS9s8nJ4.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +29 -29
- package/dist/KpiChartNumberPro.js +4 -4
- package/dist/LineChartComparisonDefaultPro.js +13 -13
- package/dist/LineChartDefaultPro.js +10 -10
- package/dist/LineChartGroupedPro.js +6 -6
- package/dist/MultiSelectFieldPro.js +2 -2
- package/dist/PieChartPro.js +2 -2
- package/dist/{PivotTable-awuBNY8c.js → PivotTable-Cx4WG6MV.js} +2 -2
- package/dist/{PivotTable-awuBNY8c.js.map → PivotTable-Cx4WG6MV.js.map} +1 -1
- package/dist/PivotTablePro.js +18 -18
- package/dist/{SingleSelectField-CY0TwkyW.js → SingleSelectField-DlVCi5Ej.js} +15 -15
- package/dist/{SingleSelectField-CY0TwkyW.js.map → SingleSelectField-DlVCi5Ej.js.map} +1 -1
- package/dist/SingleSelectFieldPro.js +2 -2
- package/dist/TableChartPaginated.js +27 -27
- package/dist/bars.utils-DTdoPs5N.js +146 -0
- package/dist/bars.utils-DTdoPs5N.js.map +1 -0
- package/dist/{charts.utils-LgE4AEAw.js → charts.utils-D9TXwxGs.js} +3 -3
- package/dist/{charts.utils-LgE4AEAw.js.map → charts.utils-D9TXwxGs.js.map} +1 -1
- package/dist/{component.constants-D0ea4CW4.js → component.constants-DCOqCFoY.js} +3283 -3127
- package/dist/component.constants-DCOqCFoY.js.map +1 -0
- package/dist/embeddable-components.json +11 -11
- package/dist/{formatter.utils-DBUd3PfE.js → formatter.utils-B80iNq9Q.js} +2 -2
- package/dist/{formatter.utils-DBUd3PfE.js.map → formatter.utils-B80iNq9Q.js.map} +1 -1
- package/dist/{index-DuWcnytb.js → index--tdFwk_H.js} +7 -7
- package/dist/{index-DuWcnytb.js.map → index--tdFwk_H.js.map} +1 -1
- package/dist/{index-D_TXLv5w.js → index-BcPj51g3.js} +22 -22
- package/dist/{index-D_TXLv5w.js.map → index-BcPj51g3.js.map} +1 -1
- package/dist/{index-DGb59RGF.js → index-C3o3AQpK.js} +9 -9
- package/dist/{index-DGb59RGF.js.map → index-C3o3AQpK.js.map} +1 -1
- package/dist/{index-BGf7vP5k.js → index-CmE__sUg.js} +8 -8
- package/dist/{index-BGf7vP5k.js.map → index-CmE__sUg.js.map} +1 -1
- package/dist/{index-BpujEeVe.js → index-D4oPbYPT.js} +7 -7
- package/dist/{index-BpujEeVe.js.map → index-D4oPbYPT.js.map} +1 -1
- package/dist/{index-C_G6mJoE.js → index-DpIR-B0R.js} +18 -18
- package/dist/{index-C_G6mJoE.js.map → index-DpIR-B0R.js.map} +1 -1
- package/dist/index.js +142 -135
- package/dist/{pies.utils-DpY3U9c2.js → pies.utils-DEkgZgVk.js} +6 -6
- package/dist/{pies.utils-DpY3U9c2.js.map → pies.utils-DEkgZgVk.js.map} +1 -1
- package/dist/remarkable-ui/index.d.ts +4 -1
- package/dist/remarkable-ui/index.d.ts.map +1 -1
- package/dist/{timeRange.utils-B9kyLPq_.js → timeRange.utils-u1NZ0u7o.js} +2 -2
- package/dist/{timeRange.utils-B9kyLPq_.js.map → timeRange.utils-u1NZ0u7o.js.map} +1 -1
- package/package.json +1 -1
- package/dist/bars.utils-cZSSvRai.js +0 -311
- package/dist/bars.utils-cZSSvRai.js.map +0 -1
- package/dist/component.constants-D0ea4CW4.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { U as y, K as m, i as B, r as U, j as C, W as G, F as q, X as K, d as X, Y as P, Z as Y, _ as Z, t as $, c as J, I as Q, R as O, A as ee, $ as ne, V as te, o as M, m as ae } from "./component.constants-DCOqCFoY.js";
|
|
2
2
|
import { useTheme as ie, defineComponent as oe } from "@embeddable.com/react";
|
|
3
|
-
import { C as se } from "./ChartCard-
|
|
4
|
-
import { useState as D, useRef as R, useLayoutEffect as re, useMemo as le, useEffect as u, useCallback as
|
|
5
|
-
import { g as ce } from "./formatter.utils-
|
|
3
|
+
import { C as se } from "./ChartCard-D-0O5ugW.js";
|
|
4
|
+
import { useState as D, useRef as R, useLayoutEffect as re, useMemo as le, useEffect as u, useCallback as _ } from "react";
|
|
5
|
+
import { g as ce } from "./formatter.utils-B80iNq9Q.js";
|
|
6
6
|
const de = (e) => {
|
|
7
7
|
const [n, t] = D(0), a = R(void 0);
|
|
8
8
|
return re(() => {
|
|
@@ -82,7 +82,7 @@ function fe(e, n = 300) {
|
|
|
82
82
|
u(() => {
|
|
83
83
|
a.current = e;
|
|
84
84
|
}, [e]);
|
|
85
|
-
const o =
|
|
85
|
+
const o = _(
|
|
86
86
|
(...s) => {
|
|
87
87
|
t.current && clearTimeout(t.current), t.current = setTimeout(() => {
|
|
88
88
|
a.current(...s);
|
|
@@ -103,18 +103,18 @@ const Ae = (e) => {
|
|
|
103
103
|
results: i,
|
|
104
104
|
allResults: f,
|
|
105
105
|
dimensionsAndMeasures: p,
|
|
106
|
-
displayNullAs:
|
|
107
|
-
showIndex:
|
|
106
|
+
displayNullAs: z,
|
|
107
|
+
showIndex: H,
|
|
108
108
|
clickDimension: A,
|
|
109
109
|
state: g,
|
|
110
110
|
setState: T,
|
|
111
|
-
onRowClicked:
|
|
112
|
-
} = e, [w, k] = D(g.sort),
|
|
113
|
-
availableHeight:
|
|
111
|
+
onRowClicked: F
|
|
112
|
+
} = e, [w, k] = D(g.sort), V = he({ dimensionsAndMeasures: p, displayNullAs: z }, n), v = (i == null ? void 0 : i.data) || [], j = be({ rows: v, clickDimension: A }), S = R(null), E = de(S), h = ue({
|
|
113
|
+
availableHeight: E,
|
|
114
114
|
headerHeight: De,
|
|
115
115
|
rowHeight: Re,
|
|
116
116
|
footerHeight: pe
|
|
117
|
-
}), d =
|
|
117
|
+
}), d = _(
|
|
118
118
|
(l) => {
|
|
119
119
|
T((b) => ({
|
|
120
120
|
...b,
|
|
@@ -131,10 +131,10 @@ const Ae = (e) => {
|
|
|
131
131
|
theme: n
|
|
132
132
|
});
|
|
133
133
|
}, W = (l) => {
|
|
134
|
-
var
|
|
134
|
+
var I;
|
|
135
135
|
if (!A) return;
|
|
136
|
-
const b = (
|
|
137
|
-
|
|
136
|
+
const b = (I = v[l]) == null ? void 0 : I[A.name];
|
|
137
|
+
F(b);
|
|
138
138
|
}, x = fe(d);
|
|
139
139
|
return u(() => {
|
|
140
140
|
we(g.sort, w) && k(g.sort);
|
|
@@ -150,7 +150,7 @@ const Ae = (e) => {
|
|
|
150
150
|
return;
|
|
151
151
|
L(f.data), s(!1), d({ isLoadingDownloadData: !1 });
|
|
152
152
|
}
|
|
153
|
-
}, [o, f, d]), /* @__PURE__ */
|
|
153
|
+
}, [o, f, d]), /* @__PURE__ */ C.jsx(
|
|
154
154
|
se,
|
|
155
155
|
{
|
|
156
156
|
ref: S,
|
|
@@ -160,18 +160,18 @@ const Ae = (e) => {
|
|
|
160
160
|
dimensionsAndMeasures: p,
|
|
161
161
|
errorMessage: i == null ? void 0 : i.error,
|
|
162
162
|
onCustomDownload: N,
|
|
163
|
-
children: /* @__PURE__ */
|
|
163
|
+
children: /* @__PURE__ */ C.jsx(
|
|
164
164
|
G,
|
|
165
165
|
{
|
|
166
166
|
onRowIndexClick: W,
|
|
167
|
-
headers:
|
|
168
|
-
rows:
|
|
169
|
-
showIndex:
|
|
167
|
+
headers: V,
|
|
168
|
+
rows: j,
|
|
169
|
+
showIndex: H,
|
|
170
170
|
page: g.page,
|
|
171
171
|
pageSize: h,
|
|
172
172
|
paginationLabel: q.t("charts.tablePaginated.pagination", {
|
|
173
173
|
page: g.page + 1,
|
|
174
|
-
totalPages:
|
|
174
|
+
totalPages: K(t, h) ?? "?"
|
|
175
175
|
}),
|
|
176
176
|
total: t,
|
|
177
177
|
sort: w,
|
|
@@ -188,15 +188,15 @@ const Ae = (e) => {
|
|
|
188
188
|
label: "Table Chart - Paginated",
|
|
189
189
|
category: "Table Charts",
|
|
190
190
|
inputs: [
|
|
191
|
-
|
|
191
|
+
X,
|
|
192
192
|
{
|
|
193
193
|
...P,
|
|
194
194
|
label: "Columns",
|
|
195
|
-
inputs: [...P.inputs,
|
|
195
|
+
inputs: [...P.inputs, Y, Z]
|
|
196
196
|
},
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
{
|
|
197
|
+
$,
|
|
198
|
+
J,
|
|
199
|
+
{ ...Q, name: "showIndex", label: "Show Index Column", defaultValue: !0 },
|
|
200
200
|
{ ...O, name: "displayNullAs", label: "Display null as" },
|
|
201
201
|
{ ...ee, label: "Max Results to Download" },
|
|
202
202
|
{
|
|
@@ -225,7 +225,7 @@ const Ae = (e) => {
|
|
|
225
225
|
pageSize: void 0,
|
|
226
226
|
sort: void 0,
|
|
227
227
|
isLoadingDownloadData: !1
|
|
228
|
-
},
|
|
228
|
+
}, Ce = oe(Ae, Se, {
|
|
229
229
|
/* @ts-expect-error - to be fixed in @embeddable.com/react */
|
|
230
230
|
props: (e, [n, t]) => {
|
|
231
231
|
const a = e.dimensionsAndMeasures.find(
|
|
@@ -275,7 +275,7 @@ const Ae = (e) => {
|
|
|
275
275
|
}
|
|
276
276
|
});
|
|
277
277
|
export {
|
|
278
|
-
|
|
278
|
+
Ce as default,
|
|
279
279
|
Se as meta
|
|
280
280
|
};
|
|
281
281
|
//# sourceMappingURL=TableChartPaginated.js.map
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { r as P, g as T } from "./charts.utils-D9TXwxGs.js";
|
|
2
|
+
import { g as h } from "./formatter.utils-B80iNq9Q.js";
|
|
3
|
+
import { g as D, a as C } from "./object.utils-D_Zzon-H.js";
|
|
4
|
+
import { D as $, E as p } from "./component.constants-DCOqCFoY.js";
|
|
5
|
+
import "react";
|
|
6
|
+
const K = (s, n) => {
|
|
7
|
+
var g;
|
|
8
|
+
const m = h(n), { data: e = [], dimension: d, groupDimension: t, measure: c } = s, o = [...new Set(e.map((i) => i[d.name]).filter(Boolean))].sort(), a = `${t.name}${(g = t.inputs) != null && g.granularity ? `.${t.inputs.granularity}` : ""}`, r = [...new Set(e.map((i) => i[a]))].filter(Boolean), l = D(n), b = r.map((i, u) => {
|
|
9
|
+
const w = C(
|
|
10
|
+
`${l}.charts.backgroundColors`,
|
|
11
|
+
`${t.name}.${i}`,
|
|
12
|
+
n.charts.backgroundColors ?? p,
|
|
13
|
+
u
|
|
14
|
+
), x = C(
|
|
15
|
+
`${l}.charts.borderColors`,
|
|
16
|
+
`${t.name}.${i}`,
|
|
17
|
+
n.charts.borderColors ?? p,
|
|
18
|
+
u
|
|
19
|
+
);
|
|
20
|
+
return {
|
|
21
|
+
label: m.data(t, i),
|
|
22
|
+
rawLabel: i,
|
|
23
|
+
backgroundColor: w,
|
|
24
|
+
borderColor: x,
|
|
25
|
+
data: o.map((F) => {
|
|
26
|
+
const k = e.find(
|
|
27
|
+
(f) => f[a] === i && f[d.name] === F
|
|
28
|
+
);
|
|
29
|
+
return k ? Number(k[c.name]) : 0;
|
|
30
|
+
})
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
labels: o,
|
|
35
|
+
datasets: b
|
|
36
|
+
};
|
|
37
|
+
}, L = (s, n = P) => {
|
|
38
|
+
if (!s.data)
|
|
39
|
+
return {
|
|
40
|
+
labels: [],
|
|
41
|
+
datasets: [{ data: [] }]
|
|
42
|
+
};
|
|
43
|
+
const m = h(n), e = D(n), d = T(s.data, s.dimension, s.measures, s.maxItems);
|
|
44
|
+
return {
|
|
45
|
+
labels: d.map((t) => t[s.dimension.name]),
|
|
46
|
+
datasets: s.measures.map((t, c) => {
|
|
47
|
+
const o = C(
|
|
48
|
+
`${e}.charts.backgroundColors`,
|
|
49
|
+
t.name,
|
|
50
|
+
n.charts.backgroundColors ?? $,
|
|
51
|
+
c
|
|
52
|
+
), a = C(
|
|
53
|
+
`${e}.charts.borderColors`,
|
|
54
|
+
t.name,
|
|
55
|
+
n.charts.borderColors ?? $,
|
|
56
|
+
c
|
|
57
|
+
);
|
|
58
|
+
return {
|
|
59
|
+
label: m.dimensionOrMeasureTitle(t),
|
|
60
|
+
data: d.map((r) => r[t.name] ?? 0),
|
|
61
|
+
backgroundColor: o,
|
|
62
|
+
borderColor: a
|
|
63
|
+
};
|
|
64
|
+
})
|
|
65
|
+
};
|
|
66
|
+
}, v = (s, n) => {
|
|
67
|
+
const { datasets: m } = s.chart.data, e = s.dataIndex, d = m.reduce((t, c) => {
|
|
68
|
+
const o = c.data[e];
|
|
69
|
+
return t + (o || 0);
|
|
70
|
+
}, 0);
|
|
71
|
+
return n(d);
|
|
72
|
+
}, V = (s, n) => {
|
|
73
|
+
const { onBarClicked: m, measures: e, dimension: d, horizontal: t, data: c } = s, o = h(n);
|
|
74
|
+
return {
|
|
75
|
+
plugins: {
|
|
76
|
+
legend: { position: n.charts.legendPosition ?? "bottom" },
|
|
77
|
+
datalabels: {
|
|
78
|
+
labels: {
|
|
79
|
+
total: {
|
|
80
|
+
formatter: (a, r) => v(
|
|
81
|
+
r,
|
|
82
|
+
(l) => o.data(e[0], l)
|
|
83
|
+
)
|
|
84
|
+
},
|
|
85
|
+
value: {
|
|
86
|
+
formatter: (a, r) => {
|
|
87
|
+
const l = e[r.datasetIndex % e.length];
|
|
88
|
+
return o.data(l, a);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
tooltip: {
|
|
94
|
+
callbacks: {
|
|
95
|
+
title: (a) => {
|
|
96
|
+
var l;
|
|
97
|
+
const r = (l = a[0]) == null ? void 0 : l.label;
|
|
98
|
+
return o.data(d, r);
|
|
99
|
+
},
|
|
100
|
+
label: (a) => {
|
|
101
|
+
const r = e[a.datasetIndex % e.length], l = a.raw;
|
|
102
|
+
return `${o.data(d, a.dataset.label) || ""}: ${o.data(r, l)}`;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
scales: {
|
|
108
|
+
x: {
|
|
109
|
+
ticks: {
|
|
110
|
+
callback: (a) => {
|
|
111
|
+
if (t)
|
|
112
|
+
return o.data(e[0], a);
|
|
113
|
+
if (!c || !c.labels) return;
|
|
114
|
+
const r = c.labels[Number(a)];
|
|
115
|
+
return o.data(d, r);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
y: {
|
|
120
|
+
ticks: {
|
|
121
|
+
callback: (a) => {
|
|
122
|
+
if (!t)
|
|
123
|
+
return o.data(e[0], a);
|
|
124
|
+
if (!c || !c.labels) return;
|
|
125
|
+
const r = c.labels[Number(a)];
|
|
126
|
+
return o.data(d, r);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
onClick: (a, r, l) => {
|
|
132
|
+
var u;
|
|
133
|
+
const b = r[0], g = b ? l.data.labels[b.index] : null, i = b ? (u = l.data.datasets[b.datasetIndex]) == null ? void 0 : u.rawLabel : null;
|
|
134
|
+
m({
|
|
135
|
+
axisDimensionValue: g,
|
|
136
|
+
groupingDimensionValue: i
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
export {
|
|
142
|
+
V as a,
|
|
143
|
+
K as b,
|
|
144
|
+
L as g
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=bars.utils-DTdoPs5N.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bars.utils-DTdoPs5N.js","sources":["../src/remarkable-pro/components/charts/bars/bars.utils.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { remarkableTheme } from '../../../theme/theme.constants';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { groupTailAsOther } from '../charts.utils';\nimport { getColor } from '../../../theme/styles/styles.utils';\nimport { chartColors } from '../../../../remarkable-ui';\nimport { getObjectStableKey } from '../../../utils.ts/object.utils';\nimport { chartContrastColors } from '../../../../remarkable-ui/charts/charts.constants';\nimport { Context } from 'chartjs-plugin-datalabels';\n\nexport const getBarStackedChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n },\n theme: Theme,\n): ChartData<'bar'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter(Boolean))].sort();\n const groupDimensionName = `${groupDimension.name}${groupDimension.inputs?.granularity ? `.${groupDimension.inputs.granularity}` : ''}`;\n const groupBy = [...new Set(data.map((d) => d[groupDimensionName]))].filter(Boolean);\n\n const themeKey = getObjectStableKey(theme);\n\n const 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 return {\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor,\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimensionName] === groupByItem && d[dimension.name] === axisItem,\n );\n return record ? Number(record[measure.name]) : 0;\n }),\n };\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getBarChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n maxItems?: number;\n },\n theme: Theme = remarkableTheme,\n): ChartData<'bar'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n const themeKey = getObjectStableKey(theme);\n const groupedData = groupTailAsOther(props.data, props.dimension, props.measures, props.maxItems);\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const backgroundColor = getColor(\n `${themeKey}.charts.backgroundColors`,\n measure.name,\n theme.charts.backgroundColors ?? chartColors,\n index,\n );\n\n const borderColor = getColor(\n `${themeKey}.charts.borderColors`,\n measure.name,\n theme.charts.borderColors ?? chartColors,\n index,\n );\n\n return {\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: groupedData.map((item) => item[measure.name] ?? 0),\n backgroundColor,\n borderColor,\n };\n }),\n };\n};\n\nconst getBarChartProDatalabelTotalFormatter = (\n context: Context,\n formatter: (value: number) => string,\n) => {\n const { datasets } = context.chart.data;\n const i = context.dataIndex;\n\n const total = datasets.reduce((sum, ds) => {\n const val = ds.data[i] as number;\n return sum + (val || 0);\n }, 0);\n\n return formatter(total);\n};\n\nexport const getBarChartProOptions = (\n options: {\n onBarClicked: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n measures: Measure[];\n dimension: Dimension;\n horizontal: boolean;\n data: ChartData<'bar'>;\n },\n theme: Theme,\n): Partial<ChartOptions<'bar'>> => {\n const { onBarClicked, measures, dimension, horizontal, data } = options;\n\n const themeFormatter = getThemeFormatter(theme);\n return {\n plugins: {\n legend: { position: theme.charts.legendPosition ?? 'bottom' },\n datalabels: {\n labels: {\n total: {\n formatter: (_value: string | number, context: Context) =>\n getBarChartProDatalabelTotalFormatter(context, (value: number) =>\n themeFormatter.data(measures[0]!, value),\n ),\n },\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\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 % measures.length]!;\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 (horizontal) {\n return themeFormatter.data(measures[0]!, value);\n }\n\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n if (!horizontal) {\n return themeFormatter.data(measures[0]!, value);\n }\n if (!data || !data.labels) return undefined;\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n },\n onClick: (_event, elements, chart) => {\n const element = elements[0];\n const axisDimensionValue = (element ? chart.data.labels![element.index] : null) as\n | string\n | null;\n const groupingDimensionValue = (\n element\n ? (chart.data.datasets[element.datasetIndex] as { rawLabel?: string | null })?.rawLabel\n : null\n ) as string | null;\n\n onBarClicked({\n axisDimensionValue,\n groupingDimensionValue,\n });\n },\n };\n};\n"],"names":["getBarStackedChartProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","axis","d","groupDimensionName","_a","groupBy","themeKey","getObjectStableKey","datasets","groupByItem","index","backgroundColor","getColor","chartContrastColors","borderColor","axisItem","record","getBarChartProData","remarkableTheme","groupedData","groupTailAsOther","item","chartColors","getBarChartProDatalabelTotalFormatter","context","formatter","i","total","sum","ds","val","getBarChartProOptions","options","onBarClicked","measures","horizontal","_value","value","label","raw","_event","elements","chart","element","axisDimensionValue","groupingDimensionValue"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { i as ni,
|
|
1
|
+
import { i as ni, aI as is, F as cn } from "./component.constants-DCOqCFoY.js";
|
|
2
2
|
import { g as ss, d as Ee, u as ai } from "./utc-B2gCnkBk.js";
|
|
3
|
-
import { g as os } from "./formatter.utils-
|
|
3
|
+
import { g as os } from "./formatter.utils-B80iNq9Q.js";
|
|
4
4
|
import { i as ii, q as si } from "./quarterOfYear-C0maIilJ.js";
|
|
5
5
|
const fs = {
|
|
6
6
|
"--em-gray-0": "rgb(255 255 255)",
|
|
@@ -17359,4 +17359,4 @@ export {
|
|
|
17359
17359
|
Vd as r,
|
|
17360
17360
|
ms as s
|
|
17361
17361
|
};
|
|
17362
|
-
//# sourceMappingURL=charts.utils-
|
|
17362
|
+
//# sourceMappingURL=charts.utils-D9TXwxGs.js.map
|