@embeddable.com/remarkable-ui 0.0.16 → 0.0.17
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/BarChartPro.js +2 -2
- package/dist/BarHorizontalChartPro.js +2 -2
- package/dist/DonutChartPro.js +1 -1
- package/dist/DonutLabelChartPro.js +1 -1
- package/dist/PieChartPro.js +1 -1
- package/dist/{bars.utils-QKdEn_z6.js → bars.utils-Dag5gg_Y.js} +46 -47
- package/dist/{bars.utils-QKdEn_z6.js.map → bars.utils-Dag5gg_Y.js.map} +1 -1
- package/dist/embeddable-components.json +3 -3
- package/dist/embeddable-theme-2b917.js +0 -1
- package/dist/{index-B_pDmttI.js → index-Bw8Xegpr.js} +3 -3
- package/dist/{index-B_pDmttI.js.map → index-Bw8Xegpr.js.map} +1 -1
- package/dist/{index-CiyG6v2o.js → index-fQ4jNhDI.js} +3 -3
- package/dist/{index-CiyG6v2o.js.map → index-fQ4jNhDI.js.map} +1 -1
- package/dist/{index-Ce0mkr36.js → index-tdUvfqWl.js} +3 -3
- package/dist/{index-Ce0mkr36.js.map → index-tdUvfqWl.js.map} +1 -1
- package/dist/index.js +63 -62
- package/dist/{styles.utils-Btgv7ppJ.js → object.utils-CGQBO06b.js} +10 -4
- package/dist/object.utils-CGQBO06b.js.map +1 -0
- package/dist/pies.utils-DJiZIaT2.js +74 -0
- package/dist/pies.utils-DJiZIaT2.js.map +1 -0
- package/dist/remarkable-pro/components/charts/bars/bars.utils.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/pies/pies.utils.d.ts.map +1 -1
- package/dist/remarkable-pro/index.d.ts +1 -0
- package/dist/remarkable-pro/index.d.ts.map +1 -1
- package/dist/remarkable-pro/theme/theme.constants.d.ts.map +1 -1
- package/dist/remarkable-pro/theme/theme.types.d.ts +0 -1
- package/dist/remarkable-pro/theme/theme.types.d.ts.map +1 -1
- package/dist/remarkable-pro/utils.ts/object.utils.d.ts +2 -0
- package/dist/remarkable-pro/utils.ts/object.utils.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/pies.utils-BG8YWiN4.js +0 -74
- package/dist/pies.utils-BG8YWiN4.js.map +0 -1
- package/dist/styles.utils-Btgv7ppJ.js.map +0 -1
package/dist/BarChartPro.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as M, r as S, m as V, j as d, d as P, a as R, b as j, t as I, c as D, s as T, e as X, f as E, g as F, x as O, y as _, h as q, k as z, l as G, n as H, V as J, o as K } from "./component.constants-DKWzvCnZ.js";
|
|
2
2
|
import { useTheme as N, defineComponent as Q } from "@embeddable.com/react";
|
|
3
|
-
import { C as U } from "./
|
|
4
|
-
import { g as W, a as Y, B as Z } from "./bars.utils-
|
|
3
|
+
import { C as U } from "./object.utils-CGQBO06b.js";
|
|
4
|
+
import { g as W, a as Y, B as Z } from "./bars.utils-Dag5gg_Y.js";
|
|
5
5
|
const $ = (e) => {
|
|
6
6
|
var o, i;
|
|
7
7
|
const a = N();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as V, r as k, m as y, j as d, d as P, a as z, b as R, t as j, c as H, s as I, e as D, f as T, g as Y, x as q, y as E, p as F, q as O, u as _, v as G, V as J, o as K } from "./component.constants-DKWzvCnZ.js";
|
|
2
2
|
import { useTheme as N, defineComponent as Q } from "@embeddable.com/react";
|
|
3
|
-
import { C as U } from "./
|
|
4
|
-
import { g as W, a as X, B as Z } from "./bars.utils-
|
|
3
|
+
import { C as U } from "./object.utils-CGQBO06b.js";
|
|
4
|
+
import { g as W, a as X, B as Z } from "./bars.utils-Dag5gg_Y.js";
|
|
5
5
|
const $ = (e) => {
|
|
6
6
|
var r, i;
|
|
7
7
|
const a = N();
|
package/dist/DonutChartPro.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as a, O as s, b as t, t as o, c as n, s as r, P as i, e as m, f as l, V as d, o as u } from "./component.constants-DKWzvCnZ.js";
|
|
2
2
|
import { defineComponent as c } from "@embeddable.com/react";
|
|
3
|
-
import { D as p } from "./index-
|
|
3
|
+
import { D as p } from "./index-tdUvfqWl.js";
|
|
4
4
|
const C = {
|
|
5
5
|
name: "DonutChartPro",
|
|
6
6
|
label: "Donut Chart",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as n } from "./index-
|
|
1
|
+
import { D as n } from "./index-Bw8Xegpr.js";
|
|
2
2
|
import { d as s, O as a, b as r, t as o, c as l, s as i, P as m, e as d, f as b, V as u, o as t } from "./component.constants-DKWzvCnZ.js";
|
|
3
3
|
import { defineComponent as c } from "@embeddable.com/react";
|
|
4
4
|
const p = {
|
package/dist/PieChartPro.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as a, O as s, b as t, t as o, c as n, s as i, P as r, e as m, f as l, V as d, o as c } from "./component.constants-DKWzvCnZ.js";
|
|
2
2
|
import { defineComponent as p } from "@embeddable.com/react";
|
|
3
|
-
import { P } from "./index-
|
|
3
|
+
import { P } from "./index-fQ4jNhDI.js";
|
|
4
4
|
const u = {
|
|
5
5
|
name: "PieChartPro",
|
|
6
6
|
label: "Pie Chart",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { w as s, z as n, A as
|
|
1
|
+
import { w as s, z as n, A as p, m as c, B as h, C as y, D as C, L as w, E as k, F as v, G as A, H as B, I as L, j as u, J as O, K as z, M as R, N as $ } from "./component.constants-DKWzvCnZ.js";
|
|
2
2
|
import { useRef as I } from "react";
|
|
3
|
-
import { r as
|
|
4
|
-
import { g as
|
|
5
|
-
const
|
|
6
|
-
...
|
|
3
|
+
import { r as j, g as H, a as S, b as f } from "./object.utils-CGQBO06b.js";
|
|
4
|
+
import { g as b } from "./formatter.utils-rh4NsBc4.js";
|
|
5
|
+
const x = {
|
|
6
|
+
...p,
|
|
7
7
|
scales: {
|
|
8
8
|
x: {
|
|
9
9
|
title: {
|
|
@@ -70,17 +70,17 @@ const p = {
|
|
|
70
70
|
var a;
|
|
71
71
|
return {
|
|
72
72
|
...t,
|
|
73
|
-
datasets: (a = t.datasets) == null ? void 0 : a.map((r,
|
|
74
|
-
const e = h[
|
|
73
|
+
datasets: (a = t.datasets) == null ? void 0 : a.map((r, i) => {
|
|
74
|
+
const e = h[i % h.length], l = {
|
|
75
75
|
...r,
|
|
76
76
|
backgroundColor: e,
|
|
77
77
|
borderColor: e,
|
|
78
78
|
borderRadius: s("--em-chart-style-border-radius-default")
|
|
79
79
|
};
|
|
80
|
-
return
|
|
80
|
+
return c(l, r);
|
|
81
81
|
})
|
|
82
82
|
};
|
|
83
|
-
}, M = (t) =>
|
|
83
|
+
}, M = (t) => c(x, {
|
|
84
84
|
indexAxis: "x",
|
|
85
85
|
plugins: {
|
|
86
86
|
datalabels: {
|
|
@@ -111,7 +111,7 @@ const p = {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
}),
|
|
114
|
+
}), F = (t) => c(x, {
|
|
115
115
|
indexAxis: "y",
|
|
116
116
|
plugins: {
|
|
117
117
|
datalabels: {
|
|
@@ -142,14 +142,14 @@ const p = {
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
|
-
}),
|
|
145
|
+
}), T = (t) => {
|
|
146
146
|
const {
|
|
147
147
|
horizontal: a = !1,
|
|
148
148
|
showLegend: r = !1,
|
|
149
|
-
showTooltips:
|
|
149
|
+
showTooltips: i = !0,
|
|
150
150
|
showValueLabels: e = !1
|
|
151
|
-
} = t, o = (a ?
|
|
152
|
-
return
|
|
151
|
+
} = t, o = (a ? F : M)(t);
|
|
152
|
+
return c(o, {
|
|
153
153
|
layout: {
|
|
154
154
|
padding: {
|
|
155
155
|
// Hack: dataLabels can get cut off if they are at the edge of the chart
|
|
@@ -163,72 +163,71 @@ const p = {
|
|
|
163
163
|
display: e ? "auto" : !1
|
|
164
164
|
},
|
|
165
165
|
tooltip: {
|
|
166
|
-
enabled:
|
|
166
|
+
enabled: i
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
});
|
|
170
170
|
};
|
|
171
171
|
y.register(C, w, k, v, A, B, L);
|
|
172
|
-
const _ = ({ data: t, onSegmentClick: a, options: r = {}, ...
|
|
173
|
-
const e = I(null),
|
|
174
|
-
const
|
|
175
|
-
a == null || a(
|
|
172
|
+
const _ = ({ data: t, onSegmentClick: a, options: r = {}, ...i }) => {
|
|
173
|
+
const e = I(null), l = c(T(i), r), o = (d) => {
|
|
174
|
+
const g = R(d, e);
|
|
175
|
+
a == null || a(g);
|
|
176
176
|
};
|
|
177
|
-
return /* @__PURE__ */
|
|
178
|
-
|
|
177
|
+
return /* @__PURE__ */ u.jsx("div", { className: O.chartContainer, children: /* @__PURE__ */ u.jsx(
|
|
178
|
+
z,
|
|
179
179
|
{
|
|
180
180
|
ref: e,
|
|
181
181
|
data: D(t),
|
|
182
|
-
options:
|
|
182
|
+
options: l,
|
|
183
183
|
onClick: o
|
|
184
184
|
}
|
|
185
185
|
) });
|
|
186
|
-
}, P = (t, a =
|
|
187
|
-
const r =
|
|
186
|
+
}, P = (t, a = j) => {
|
|
187
|
+
const r = b(a);
|
|
188
188
|
if (!t.data)
|
|
189
189
|
return {
|
|
190
190
|
labels: [],
|
|
191
191
|
datasets: [{ data: [] }]
|
|
192
192
|
};
|
|
193
|
-
const
|
|
193
|
+
const i = H(a), e = S(t.data, t.dimension, t.measures, t.maxItems);
|
|
194
194
|
return {
|
|
195
|
-
labels:
|
|
196
|
-
const
|
|
197
|
-
return
|
|
195
|
+
labels: e.map((l) => {
|
|
196
|
+
const o = l[t.dimension.name], d = r.data(t.dimension, o);
|
|
197
|
+
return o === d ? $.t(o) : d;
|
|
198
198
|
}),
|
|
199
|
-
datasets: t.measures.map((
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
e.name,
|
|
199
|
+
datasets: t.measures.map((l, o) => {
|
|
200
|
+
const d = f(
|
|
201
|
+
`${i}.charts.backgroundColors`,
|
|
202
|
+
l.name,
|
|
204
203
|
a.charts.backgroundColors ?? h,
|
|
205
|
-
|
|
204
|
+
o
|
|
206
205
|
), g = f(
|
|
207
|
-
`${
|
|
208
|
-
|
|
206
|
+
`${i}.charts.borderColors`,
|
|
207
|
+
l.name,
|
|
209
208
|
a.charts.borderColors ?? h,
|
|
210
|
-
|
|
209
|
+
o
|
|
211
210
|
);
|
|
212
211
|
return {
|
|
213
|
-
label:
|
|
214
|
-
data:
|
|
215
|
-
backgroundColor:
|
|
212
|
+
label: l.title,
|
|
213
|
+
data: e.map((m) => m[l.name]),
|
|
214
|
+
backgroundColor: d,
|
|
216
215
|
borderColor: g,
|
|
217
216
|
datalabels: {
|
|
218
|
-
formatter: (
|
|
217
|
+
formatter: (m) => r.data(l, m)
|
|
219
218
|
}
|
|
220
219
|
};
|
|
221
220
|
})
|
|
222
221
|
};
|
|
223
222
|
}, W = (t, a, r = !1) => {
|
|
224
|
-
const
|
|
223
|
+
const i = b(t);
|
|
225
224
|
return {
|
|
226
225
|
plugins: {
|
|
227
226
|
tooltip: {
|
|
228
227
|
callbacks: {
|
|
229
228
|
label(e) {
|
|
230
|
-
const
|
|
231
|
-
return `${e.dataset.label || ""}: ${
|
|
229
|
+
const l = e.raw;
|
|
230
|
+
return `${e.dataset.label || ""}: ${i.data(a, l)}`;
|
|
232
231
|
}
|
|
233
232
|
}
|
|
234
233
|
}
|
|
@@ -237,14 +236,14 @@ const _ = ({ data: t, onSegmentClick: a, options: r = {}, ...l }) => {
|
|
|
237
236
|
x: {
|
|
238
237
|
ticks: {
|
|
239
238
|
...r && {
|
|
240
|
-
callback: (e) =>
|
|
239
|
+
callback: (e) => i.data(a, e)
|
|
241
240
|
}
|
|
242
241
|
}
|
|
243
242
|
},
|
|
244
243
|
y: {
|
|
245
244
|
ticks: {
|
|
246
245
|
...!r && {
|
|
247
|
-
callback: (e) =>
|
|
246
|
+
callback: (e) => i.data(a, e)
|
|
248
247
|
}
|
|
249
248
|
}
|
|
250
249
|
}
|
|
@@ -256,4 +255,4 @@ export {
|
|
|
256
255
|
W as a,
|
|
257
256
|
P as g
|
|
258
257
|
};
|
|
259
|
-
//# sourceMappingURL=bars.utils-
|
|
258
|
+
//# sourceMappingURL=bars.utils-Dag5gg_Y.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bars.utils-QKdEn_z6.js","sources":["../src/remarkable-ui/charts/bars/bars.constants.ts","../src/remarkable-ui/charts/bars/bars.utils.ts","../src/remarkable-ui/charts/bars/BarChart.tsx","../src/remarkable-pro/components/charts/bars/bars.utils.ts"],"sourcesContent":["import { ChartOptions } from 'chart.js';\nimport { getStyle, getStyleNumber } from '../../styles/styles.utils';\nimport { chartjsOptions } from '../chartjs.constants';\n\nexport const defaultBarChartOptions: Partial<ChartOptions<'bar'>> = {\n ...chartjsOptions,\n scales: {\n x: {\n title: {\n display: true,\n color: getStyle('--em-chart-grid-font-color-default'),\n font: {\n size: getStyleNumber('--em-chart-grid-font-title-size'),\n weight: getStyleNumber('--em-chart-grid-font-title-weight'),\n // TODO: fix family on dedicated ticket\n // family: getStyle('--em-chart-grid-font-font-family'),\n lineHeight: `${getStyleNumber('--em-chart-grid-font-line-height')}px`,\n },\n },\n ticks: {\n font: {\n size: getStyleNumber('--em-chart-grid-font-subtitle-size'),\n weight: getStyleNumber('--em-chart-grid-font-label-weight'),\n // TODO: fix family on dedicated ticket\n // family: getStyle('--em-chart-grid-font-font-family'),\n lineHeight: `${getStyleNumber('--em-chart-grid-font-line-height')}px`,\n },\n },\n grid: {\n display: false,\n color: getStyle('--em-chart-grid-line-color-light'),\n lineWidth: getStyleNumber('--em-chart-grid-line-width-default'),\n },\n border: {\n display: false,\n },\n },\n y: {\n title: {\n display: true,\n color: getStyle('--em-chart-grid-font-color-default'),\n font: {\n size: getStyleNumber('--em-chart-grid-font-title-size'),\n weight: getStyleNumber('--em-chart-grid-font-title-weight'),\n // TODO: fix family on dedicated ticket\n // family: getStyle('--em-chart-grid-font-font-family'),\n lineHeight: `${getStyleNumber('--em-chart-grid-font-line-height')}px`,\n },\n },\n ticks: {\n font: {\n size: getStyleNumber('--em-chart-grid-font-subtitle-size'),\n weight: getStyleNumber('--em-chart-grid-font-label-weight'),\n // TODO: fix family on dedicated ticket\n // family: getStyle('--em-chart-grid-font-font-family'),\n lineHeight: `${getStyleNumber('--em-chart-grid-font-line-height')}px`,\n },\n },\n grid: {\n display: false,\n color: getStyle('--em-chart-grid-line-color-light'),\n lineWidth: getStyleNumber('--em-chart-grid-line-width-default'),\n },\n border: {\n display: false,\n },\n },\n },\n};\n","import { ChartData, ChartOptions } from 'chart.js';\nimport { chartColors } from '../charts.constants';\nimport { getStyle, getStyleNumber } from '../../styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { BarChartConfigurationProps, BarChartHorizontalConfigurationProps } from './bars.types';\nimport { defaultBarChartOptions } from './bars.constants';\nimport { Context } from 'chartjs-plugin-datalabels';\n\nexport const getBarChartData = (data: ChartData<'bar'>): ChartData<'bar'> => {\n return {\n ...data,\n datasets: data.datasets?.map((dataset, index) => {\n const colors = chartColors[index % chartColors.length];\n const defaultDataset = {\n ...dataset,\n backgroundColor: colors,\n borderColor: colors,\n borderRadius: getStyleNumber('--em-chart-style-border-radius-default'),\n };\n\n return mergician(defaultDataset, dataset) as typeof dataset;\n }),\n };\n};\n\nconst getBarVerticalChartOptions = (\n config: BarChartConfigurationProps,\n): Partial<ChartOptions<'bar'>> => {\n return mergician(defaultBarChartOptions, {\n indexAxis: 'x',\n plugins: {\n datalabels: {\n anchor: (context: Context) => {\n const value = context.dataset.data[context.dataIndex] as number;\n return value >= 0 ? 'end' : 'start';\n },\n align: (context: Context) => {\n const value = context.dataset.data[context.dataIndex] as number;\n return value >= 0 ? 'top' : 'bottom';\n },\n },\n },\n scales: {\n y: {\n grid: { display: true },\n ticks: {\n color: getStyle('--em-chart-grid-font-color-muted'),\n },\n min: config.yAxisRangeMin,\n max: config.yAxisRangeMax,\n type: config.showLogarithmicScale ? 'logarithmic' : 'linear',\n title: {\n text: config.yAxisLabel ?? '',\n },\n },\n x: {\n ticks: {\n color: getStyle('--em-chart-grid-font-color-default'),\n },\n reverse: config.reverseXAxis,\n title: {\n text: config.xAxisLabel ?? '',\n },\n },\n },\n });\n};\n\nconst getBarHorizontalChartOptions = (\n config: BarChartHorizontalConfigurationProps,\n): Partial<ChartOptions<'bar'>> => {\n return mergician(defaultBarChartOptions, {\n indexAxis: 'y',\n plugins: {\n datalabels: {\n anchor: (context: Context) => {\n const value = context.dataset.data[context.dataIndex] as number;\n return value >= 0 ? 'end' : 'start';\n },\n align: (context: Context) => {\n const value = context.dataset.data[context.dataIndex] as number;\n return value >= 0 ? 'right' : 'left';\n },\n },\n },\n scales: {\n x: {\n grid: { display: true },\n ticks: {\n color: getStyle('--em-chart-grid-font-color-muted'),\n },\n min: config.xAxisRangeMin,\n max: config.xAxisRangeMax,\n type: config.showLogarithmicScale ? 'logarithmic' : 'linear',\n title: {\n text: config.xAxisLabel ?? '',\n },\n },\n y: {\n ticks: {\n color: getStyle('--em-chart-grid-font-color-default'),\n },\n reverse: config.reverseYAxis,\n title: {\n text: config.yAxisLabel ?? '',\n },\n },\n },\n });\n};\n\nexport const getBarChartOptions = (\n props: BarChartConfigurationProps,\n): Partial<ChartOptions<'bar'>> => {\n const {\n horizontal = false,\n showLegend = false,\n showTooltips = true,\n showValueLabels = false,\n } = props;\n\n const getOptions = horizontal ? getBarHorizontalChartOptions : getBarVerticalChartOptions;\n const options = getOptions(props);\n\n return mergician(options, {\n layout: {\n padding: {\n // Hack: dataLabels can get cut off if they are at the edge of the chart\n top: !horizontal && showValueLabels ? 30 : 0,\n right: horizontal && showValueLabels ? 30 : 0,\n },\n },\n plugins: {\n legend: { display: showLegend },\n datalabels: {\n display: showValueLabels ? 'auto' : false,\n },\n tooltip: {\n enabled: showTooltips,\n },\n },\n });\n};\n","import { FC, useRef } from 'react';\nimport { Bar } from 'react-chartjs-2';\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n BarElement,\n Title,\n Tooltip,\n Legend,\n LogarithmicScale,\n} from 'chart.js';\nimport { BaseBarChartProps } from './bars.types';\nimport { getSegmentIndexClicked } from '../chartjs.utils';\nimport { getBarChartData, getBarChartOptions } from './bars.utils';\nimport styles from '../charts.module.css';\nimport { mergician } from 'mergician';\n\nChartJS.register(CategoryScale, LinearScale, BarElement, LogarithmicScale, Title, Tooltip, Legend);\n\nexport type BarChartProps = BaseBarChartProps;\n\nexport const BarChart: FC<BarChartProps> = ({ data, onSegmentClick, options = {}, ...props }) => {\n const chartRef = useRef(null);\n\n const barChartOptions = mergician(getBarChartOptions(props), options);\n\n const handleSegmentClick = (event: React.MouseEvent<HTMLCanvasElement>) => {\n const indexClicked = getSegmentIndexClicked(event, chartRef);\n onSegmentClick?.(indexClicked);\n };\n\n return (\n <div className={styles.chartContainer}>\n <Bar\n ref={chartRef}\n data={getBarChartData(data)}\n options={barChartOptions}\n onClick={handleSegmentClick}\n />\n </div>\n );\n};\n","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 { i18n } from '../../../theme/i18n/i18n';\nimport { getColor } from '../../../theme/styles/styles.utils';\nimport { chartColors } from '../../../../remarkable-ui';\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 const themeFormatter = getThemeFormatter(theme);\n\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const groupedData = groupTailAsOther(props.data, props.dimension, props.measures, props.maxItems);\n\n return {\n labels: groupedData.map((item) => {\n const value = item[props.dimension.name];\n const formattedValue = themeFormatter.data(props.dimension, value);\n\n // If formatter did not work, try i18n translation\n if (value === formattedValue) {\n return i18n.t(value);\n }\n return formattedValue;\n }),\n datasets: props.measures.map((measure, index) => {\n const backgroundColor = getColor(\n `${theme.id}.charts.backgroundColors`,\n measure.name,\n theme.charts.backgroundColors ?? chartColors,\n index,\n );\n\n const borderColor = getColor(\n `${theme.id}.charts.borderColors`,\n measure.name,\n theme.charts.borderColors ?? chartColors,\n index,\n );\n\n return {\n label: measure.inputs?.displayName || measure.title,\n data: groupedData.map((item) => item[measure.name]),\n backgroundColor,\n borderColor,\n datalabels: {\n formatter: (value) => themeFormatter.data(measure, value),\n },\n };\n }),\n };\n};\n\nexport const getBarChartProOptions = (\n theme: Theme,\n measure: Measure,\n horizontal: boolean = false,\n): Partial<ChartOptions<'bar'>> => {\n const themeFormatter = getThemeFormatter(theme);\n return {\n plugins: {\n tooltip: {\n callbacks: {\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 ...(horizontal && {\n callback: (value) => themeFormatter.data(measure, value),\n }),\n },\n },\n y: {\n ticks: {\n ...(!horizontal && {\n callback: (value) => themeFormatter.data(measure, value),\n }),\n },\n },\n },\n };\n};\n"],"names":["defaultBarChartOptions","chartjsOptions","getStyle","getStyleNumber","getBarChartData","data","_a","dataset","index","colors","chartColors","defaultDataset","mergician","getBarVerticalChartOptions","config","context","getBarHorizontalChartOptions","getBarChartOptions","props","horizontal","showLegend","showTooltips","showValueLabels","options","ChartJS","CategoryScale","LinearScale","BarElement","LogarithmicScale","Title","Tooltip","Legend","BarChart","onSegmentClick","chartRef","useRef","barChartOptions","handleSegmentClick","event","indexClicked","getSegmentIndexClicked","jsx","styles","Bar","getBarChartProData","theme","remarkableTheme","themeFormatter","getThemeFormatter","groupedData","groupTailAsOther","item","value","formattedValue","i18n","measure","backgroundColor","getColor","borderColor","getBarChartProOptions","raw"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bars.utils-Dag5gg_Y.js","sources":["../src/remarkable-ui/charts/bars/bars.constants.ts","../src/remarkable-ui/charts/bars/bars.utils.ts","../src/remarkable-ui/charts/bars/BarChart.tsx","../src/remarkable-pro/components/charts/bars/bars.utils.ts"],"sourcesContent":["import { ChartOptions } from 'chart.js';\nimport { getStyle, getStyleNumber } from '../../styles/styles.utils';\nimport { chartjsOptions } from '../chartjs.constants';\n\nexport const defaultBarChartOptions: Partial<ChartOptions<'bar'>> = {\n ...chartjsOptions,\n scales: {\n x: {\n title: {\n display: true,\n color: getStyle('--em-chart-grid-font-color-default'),\n font: {\n size: getStyleNumber('--em-chart-grid-font-title-size'),\n weight: getStyleNumber('--em-chart-grid-font-title-weight'),\n // TODO: fix family on dedicated ticket\n // family: getStyle('--em-chart-grid-font-font-family'),\n lineHeight: `${getStyleNumber('--em-chart-grid-font-line-height')}px`,\n },\n },\n ticks: {\n font: {\n size: getStyleNumber('--em-chart-grid-font-subtitle-size'),\n weight: getStyleNumber('--em-chart-grid-font-label-weight'),\n // TODO: fix family on dedicated ticket\n // family: getStyle('--em-chart-grid-font-font-family'),\n lineHeight: `${getStyleNumber('--em-chart-grid-font-line-height')}px`,\n },\n },\n grid: {\n display: false,\n color: getStyle('--em-chart-grid-line-color-light'),\n lineWidth: getStyleNumber('--em-chart-grid-line-width-default'),\n },\n border: {\n display: false,\n },\n },\n y: {\n title: {\n display: true,\n color: getStyle('--em-chart-grid-font-color-default'),\n font: {\n size: getStyleNumber('--em-chart-grid-font-title-size'),\n weight: getStyleNumber('--em-chart-grid-font-title-weight'),\n // TODO: fix family on dedicated ticket\n // family: getStyle('--em-chart-grid-font-font-family'),\n lineHeight: `${getStyleNumber('--em-chart-grid-font-line-height')}px`,\n },\n },\n ticks: {\n font: {\n size: getStyleNumber('--em-chart-grid-font-subtitle-size'),\n weight: getStyleNumber('--em-chart-grid-font-label-weight'),\n // TODO: fix family on dedicated ticket\n // family: getStyle('--em-chart-grid-font-font-family'),\n lineHeight: `${getStyleNumber('--em-chart-grid-font-line-height')}px`,\n },\n },\n grid: {\n display: false,\n color: getStyle('--em-chart-grid-line-color-light'),\n lineWidth: getStyleNumber('--em-chart-grid-line-width-default'),\n },\n border: {\n display: false,\n },\n },\n },\n};\n","import { ChartData, ChartOptions } from 'chart.js';\nimport { chartColors } from '../charts.constants';\nimport { getStyle, getStyleNumber } from '../../styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { BarChartConfigurationProps, BarChartHorizontalConfigurationProps } from './bars.types';\nimport { defaultBarChartOptions } from './bars.constants';\nimport { Context } from 'chartjs-plugin-datalabels';\n\nexport const getBarChartData = (data: ChartData<'bar'>): ChartData<'bar'> => {\n return {\n ...data,\n datasets: data.datasets?.map((dataset, index) => {\n const colors = chartColors[index % chartColors.length];\n const defaultDataset = {\n ...dataset,\n backgroundColor: colors,\n borderColor: colors,\n borderRadius: getStyleNumber('--em-chart-style-border-radius-default'),\n };\n\n return mergician(defaultDataset, dataset) as typeof dataset;\n }),\n };\n};\n\nconst getBarVerticalChartOptions = (\n config: BarChartConfigurationProps,\n): Partial<ChartOptions<'bar'>> => {\n return mergician(defaultBarChartOptions, {\n indexAxis: 'x',\n plugins: {\n datalabels: {\n anchor: (context: Context) => {\n const value = context.dataset.data[context.dataIndex] as number;\n return value >= 0 ? 'end' : 'start';\n },\n align: (context: Context) => {\n const value = context.dataset.data[context.dataIndex] as number;\n return value >= 0 ? 'top' : 'bottom';\n },\n },\n },\n scales: {\n y: {\n grid: { display: true },\n ticks: {\n color: getStyle('--em-chart-grid-font-color-muted'),\n },\n min: config.yAxisRangeMin,\n max: config.yAxisRangeMax,\n type: config.showLogarithmicScale ? 'logarithmic' : 'linear',\n title: {\n text: config.yAxisLabel ?? '',\n },\n },\n x: {\n ticks: {\n color: getStyle('--em-chart-grid-font-color-default'),\n },\n reverse: config.reverseXAxis,\n title: {\n text: config.xAxisLabel ?? '',\n },\n },\n },\n });\n};\n\nconst getBarHorizontalChartOptions = (\n config: BarChartHorizontalConfigurationProps,\n): Partial<ChartOptions<'bar'>> => {\n return mergician(defaultBarChartOptions, {\n indexAxis: 'y',\n plugins: {\n datalabels: {\n anchor: (context: Context) => {\n const value = context.dataset.data[context.dataIndex] as number;\n return value >= 0 ? 'end' : 'start';\n },\n align: (context: Context) => {\n const value = context.dataset.data[context.dataIndex] as number;\n return value >= 0 ? 'right' : 'left';\n },\n },\n },\n scales: {\n x: {\n grid: { display: true },\n ticks: {\n color: getStyle('--em-chart-grid-font-color-muted'),\n },\n min: config.xAxisRangeMin,\n max: config.xAxisRangeMax,\n type: config.showLogarithmicScale ? 'logarithmic' : 'linear',\n title: {\n text: config.xAxisLabel ?? '',\n },\n },\n y: {\n ticks: {\n color: getStyle('--em-chart-grid-font-color-default'),\n },\n reverse: config.reverseYAxis,\n title: {\n text: config.yAxisLabel ?? '',\n },\n },\n },\n });\n};\n\nexport const getBarChartOptions = (\n props: BarChartConfigurationProps,\n): Partial<ChartOptions<'bar'>> => {\n const {\n horizontal = false,\n showLegend = false,\n showTooltips = true,\n showValueLabels = false,\n } = props;\n\n const getOptions = horizontal ? getBarHorizontalChartOptions : getBarVerticalChartOptions;\n const options = getOptions(props);\n\n return mergician(options, {\n layout: {\n padding: {\n // Hack: dataLabels can get cut off if they are at the edge of the chart\n top: !horizontal && showValueLabels ? 30 : 0,\n right: horizontal && showValueLabels ? 30 : 0,\n },\n },\n plugins: {\n legend: { display: showLegend },\n datalabels: {\n display: showValueLabels ? 'auto' : false,\n },\n tooltip: {\n enabled: showTooltips,\n },\n },\n });\n};\n","import { FC, useRef } from 'react';\nimport { Bar } from 'react-chartjs-2';\nimport {\n Chart as ChartJS,\n CategoryScale,\n LinearScale,\n BarElement,\n Title,\n Tooltip,\n Legend,\n LogarithmicScale,\n} from 'chart.js';\nimport { BaseBarChartProps } from './bars.types';\nimport { getSegmentIndexClicked } from '../chartjs.utils';\nimport { getBarChartData, getBarChartOptions } from './bars.utils';\nimport styles from '../charts.module.css';\nimport { mergician } from 'mergician';\n\nChartJS.register(CategoryScale, LinearScale, BarElement, LogarithmicScale, Title, Tooltip, Legend);\n\nexport type BarChartProps = BaseBarChartProps;\n\nexport const BarChart: FC<BarChartProps> = ({ data, onSegmentClick, options = {}, ...props }) => {\n const chartRef = useRef(null);\n\n const barChartOptions = mergician(getBarChartOptions(props), options);\n\n const handleSegmentClick = (event: React.MouseEvent<HTMLCanvasElement>) => {\n const indexClicked = getSegmentIndexClicked(event, chartRef);\n onSegmentClick?.(indexClicked);\n };\n\n return (\n <div className={styles.chartContainer}>\n <Bar\n ref={chartRef}\n data={getBarChartData(data)}\n options={barChartOptions}\n onClick={handleSegmentClick}\n />\n </div>\n );\n};\n","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 { i18n } from '../../../theme/i18n/i18n';\nimport { getColor } from '../../../theme/styles/styles.utils';\nimport { chartColors } from '../../../../remarkable-ui';\nimport { getObjectStableKey } from '../../../utils.ts/object.utils';\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 const themeFormatter = getThemeFormatter(theme);\n\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\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 const value = item[props.dimension.name];\n const formattedValue = themeFormatter.data(props.dimension, value);\n\n // If formatter did not work, try i18n translation\n if (value === formattedValue) {\n return i18n.t(value);\n }\n return formattedValue;\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: measure.title,\n data: groupedData.map((item) => item[measure.name]),\n backgroundColor,\n borderColor,\n datalabels: {\n formatter: (value) => themeFormatter.data(measure, value),\n },\n };\n }),\n };\n};\n\nexport const getBarChartProOptions = (\n theme: Theme,\n measure: Measure,\n horizontal: boolean = false,\n): Partial<ChartOptions<'bar'>> => {\n const themeFormatter = getThemeFormatter(theme);\n return {\n plugins: {\n tooltip: {\n callbacks: {\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 ...(horizontal && {\n callback: (value) => themeFormatter.data(measure, value),\n }),\n },\n },\n y: {\n ticks: {\n ...(!horizontal && {\n callback: (value) => themeFormatter.data(measure, value),\n }),\n },\n },\n },\n };\n};\n"],"names":["defaultBarChartOptions","chartjsOptions","getStyle","getStyleNumber","getBarChartData","data","_a","dataset","index","colors","chartColors","defaultDataset","mergician","getBarVerticalChartOptions","config","context","getBarHorizontalChartOptions","getBarChartOptions","props","horizontal","showLegend","showTooltips","showValueLabels","options","ChartJS","CategoryScale","LinearScale","BarElement","LogarithmicScale","Title","Tooltip","Legend","BarChart","onSegmentClick","chartRef","useRef","barChartOptions","handleSegmentClick","event","indexClicked","getSegmentIndexClicked","jsx","styles","Bar","getBarChartProData","theme","remarkableTheme","themeFormatter","getThemeFormatter","themeKey","getObjectStableKey","groupedData","groupTailAsOther","item","value","formattedValue","i18n","measure","backgroundColor","getColor","borderColor","getBarChartProOptions","raw"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"components": [
|
|
3
|
-
"DateRangeSelectFieldPro",
|
|
4
3
|
"MultiSelectFieldPro",
|
|
4
|
+
"BarChartPro",
|
|
5
|
+
"DateRangeSelectFieldPro",
|
|
5
6
|
"SingleSelectFieldPro",
|
|
6
|
-
"DonutChartPro",
|
|
7
7
|
"DonutLabelChartPro",
|
|
8
|
+
"DonutChartPro",
|
|
8
9
|
"BarHorizontalChartPro",
|
|
9
|
-
"BarChartPro",
|
|
10
10
|
"PieChartPro"
|
|
11
11
|
],
|
|
12
12
|
"editors": [],
|
|
@@ -18982,7 +18982,6 @@ const Mi = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
|
|
|
18982
18982
|
options: Mo
|
|
18983
18983
|
}
|
|
18984
18984
|
}, Gm = {
|
|
18985
|
-
id: "remarkableTheme",
|
|
18986
18985
|
i18n: Vm,
|
|
18987
18986
|
charts: zm,
|
|
18988
18987
|
editors: $m,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { i as M, r as _, m as k, j as c, a1 as w } from "./component.constants-DKWzvCnZ.js";
|
|
2
2
|
import { useTheme as O } from "@embeddable.com/react";
|
|
3
|
-
import { g as y, a as F } from "./pies.utils-
|
|
3
|
+
import { g as y, a as F } from "./pies.utils-DJiZIaT2.js";
|
|
4
4
|
import { g as V } from "./formatter.utils-rh4NsBc4.js";
|
|
5
|
-
import { C as z } from "./
|
|
5
|
+
import { C as z } from "./object.utils-CGQBO06b.js";
|
|
6
6
|
import "react";
|
|
7
7
|
const A = (p) => {
|
|
8
8
|
var n, i, m;
|
|
@@ -70,4 +70,4 @@ export {
|
|
|
70
70
|
A as D,
|
|
71
71
|
H as i
|
|
72
72
|
};
|
|
73
|
-
//# sourceMappingURL=index-
|
|
73
|
+
//# sourceMappingURL=index-Bw8Xegpr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-Bw8Xegpr.js","sources":["../src/remarkable-pro/components/charts/pies/DonutLabelChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DefaultPieChartOptions, getDefaultPieChartOptions, getPieChartData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '../../../../../remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype DonutLabelChartProProps = DefaultPieChartProps & {\n innerLabelMeasure: Measure;\n innerLabelText: string;\n resultsInnerLabel: DataResponse;\n};\n\nconst DonutChartPro = (props: DonutLabelChartProProps) => {\n const theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(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 innerLabelMeasure,\n resultsInnerLabel,\n innerLabelText,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const data = getPieChartData({ data: results.data, dimension, measure, maxLegendItems }, theme);\n\n const handleSegmentClick = (index: number | undefined) => {\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n const label = themeFormatter.data(\n innerLabelMeasure,\n resultsInnerLabel?.data?.[0]?.[innerLabelMeasure.name],\n );\n\n const options = mergician(\n getDefaultPieChartOptions(\n {\n measure,\n showTooltips,\n showLegend,\n showValueLabels,\n } as DefaultPieChartOptions,\n theme,\n ),\n theme.charts.donutLabelChartPro?.options ?? {},\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 label={label}\n subLabel={innerLabelText}\n data={data}\n options={options}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n"],"names":["DonutChartPro","props","theme","useTheme","themeFormatter","getThemeFormatter","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","innerLabelMeasure","resultsInnerLabel","innerLabelText","onSegmentClick","resolveI18nProps","data","getPieChartData","handleSegmentClick","index","_b","_a","label","options","mergician","getDefaultPieChartOptions","_c","jsx","ChartCard","DonutChart"],"mappings":";;;;;;AAkBA,MAAMA,IAAgB,CAACC,MAAmC;;AACxD,QAAMC,IAAQC,EAAA,GACRC,IAAiBC,EAAkBH,CAAK;AAC9C,EAAAI,EAAUJ,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAK;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,mBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBnB,CAAK,GAEpBoB,IAAOC,EAAgB,EAAE,MAAMX,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA,GAAkBP,CAAK,GAExFqB,IAAqB,CAACC,MAA8B;;AACxD,IAAAL,EAAe;AAAA,MACb,gBAAgBK,MAAU,WAAwBC,KAAAC,IAAAf,EAAQ,SAAR,gBAAAe,EAAeF,OAAf,OAAZ,SAAYC,EAAwBjB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH,GAEMmB,IAAQvB,EAAe;AAAA,IAC3BY;AAAA,KACAS,KAAAC,IAAAT,KAAA,gBAAAA,EAAmB,SAAnB,gBAAAS,EAA0B,OAA1B,gBAAAD,EAA+BT,EAAkB;AAAA,EAAI,GAGjDY,IAAUC;AAAA,IACdC;AAAA,MACE;AAAA,QACE,SAAApB;AAAA,QACA,cAAAG;AAAA,QACA,YAAAD;AAAA,QACA,iBAAAE;AAAA,MAAA;AAAA,MAEFZ;AAAA,IAAA;AAAA,MAEF6B,IAAA7B,EAAM,OAAO,uBAAb,gBAAA6B,EAAiC,YAAW,CAAA;AAAA,EAAC;AAG/C,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMtB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,UAAUJ;AAAA,MACV,OAAAQ;AAAA,MAEA,UAAAiB,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,OAAAP;AAAA,UACA,UAAUT;AAAA,UACV,MAAAG;AAAA,UACA,SAAAO;AAAA,UACA,gBAAgBL;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { i as x, r as S, m as b, j as m, a2 as v } from "./component.constants-DKWzvCnZ.js";
|
|
2
2
|
import { useTheme as _ } from "@embeddable.com/react";
|
|
3
3
|
import "react";
|
|
4
|
-
import { g as k, a as w } from "./pies.utils-
|
|
5
|
-
import { C as L } from "./
|
|
4
|
+
import { g as k, a as w } from "./pies.utils-DJiZIaT2.js";
|
|
5
|
+
import { C as L } from "./object.utils-CGQBO06b.js";
|
|
6
6
|
const M = (d) => {
|
|
7
7
|
var a;
|
|
8
8
|
const e = _();
|
|
@@ -54,4 +54,4 @@ export {
|
|
|
54
54
|
M as P,
|
|
55
55
|
V as i
|
|
56
56
|
};
|
|
57
|
-
//# sourceMappingURL=index-
|
|
57
|
+
//# sourceMappingURL=index-fQ4jNhDI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-fQ4jNhDI.js","sources":["../src/remarkable-pro/components/charts/pies/PieChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { PieChart } from '../../../../../remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DefaultPieChartOptions, getDefaultPieChartOptions, getPieChartData } 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 data = getPieChartData({ data: results.data, dimension, measure, maxLegendItems }, theme);\n\n const options = mergician(\n getDefaultPieChartOptions(\n {\n measure,\n showTooltips,\n showLegend,\n showValueLabels,\n } as DefaultPieChartOptions,\n theme,\n ),\n theme.charts.pieChartPro?.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 <PieChart data={data} options={options} onSegmentClick={handleSegmentClick} />\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","data","getPieChartData","options","mergician","getDefaultPieChartOptions","_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,GAEpBe,IAAOC,EAAgB,EAAE,MAAMR,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA,GAAkBL,CAAK,GAExFgB,IAAUC;AAAA,IACdC;AAAA,MACE;AAAA,QACE,SAAAZ;AAAA,QACA,cAAAG;AAAA,QACA,YAAAD;AAAA,QACA,iBAAAE;AAAA,MAAA;AAAA,MAEFV;AAAA,IAAA;AAAA,MAEFmB,IAAAnB,EAAM,OAAO,gBAAb,gBAAAmB,EAA0B,YAAW,CAAA;AAAA,EAAC,GAGlCC,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,IAACE,GAAA,EAAS,MAAAX,GAAY,SAAAE,GAAkB,gBAAgBI,EAAA,CAAoB;AAAA,IAAA;AAAA,EAAA;AAGlF;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as P, r as S, m as b, j as m, a1 as D } from "./component.constants-DKWzvCnZ.js";
|
|
2
2
|
import { useTheme as v } from "@embeddable.com/react";
|
|
3
|
-
import { g as _, a as k } from "./pies.utils-
|
|
4
|
-
import { C as w } from "./
|
|
3
|
+
import { g as _, a as k } from "./pies.utils-DJiZIaT2.js";
|
|
4
|
+
import { C as w } from "./object.utils-CGQBO06b.js";
|
|
5
5
|
import "react";
|
|
6
6
|
const L = (d) => {
|
|
7
7
|
var a;
|
|
@@ -54,4 +54,4 @@ export {
|
|
|
54
54
|
L as D,
|
|
55
55
|
V as i
|
|
56
56
|
};
|
|
57
|
-
//# sourceMappingURL=index-
|
|
57
|
+
//# sourceMappingURL=index-tdUvfqWl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-tdUvfqWl.js","sources":["../src/remarkable-pro/components/charts/pies/DonutChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DefaultPieChartOptions, getDefaultPieChartOptions, getPieChartData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '../../../../../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 = getPieChartData({ data: results.data, dimension, measure, maxLegendItems }, theme);\n\n const options = mergician(\n getDefaultPieChartOptions(\n {\n measure,\n showTooltips,\n showLegend,\n showValueLabels,\n } as DefaultPieChartOptions,\n theme,\n ),\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 data={data} options={options} onSegmentClick={handleSegmentClick} />\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","getPieChartData","options","mergician","getDefaultPieChartOptions","_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,EAAgB,EAAE,MAAMR,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA,GAAkBL,CAAK,GAExFgB,IAAUC;AAAA,IACdC;AAAA,MACE;AAAA,QACE,SAAAZ;AAAA,QACA,cAAAG;AAAA,QACA,YAAAD;AAAA,QACA,iBAAAE;AAAA,MAAA;AAAA,MAEFV;AAAA,IAAA;AAAA,MAEFmB,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,IAACE,GAAA,EAAW,MAAAX,GAAY,SAAAE,GAAkB,gBAAgBI,EAAA,CAAoB;AAAA,IAAA;AAAA,EAAA;AAGpF;;;;"}
|