@embeddable.com/remarkable-ui 1.0.1 → 1.0.2

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.
Files changed (38) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +1 -1
  2. package/dist/BarChartDefaultPro.js +1 -1
  3. package/dist/BarChartGroupedHorizontalPro.js +1 -1
  4. package/dist/BarChartGroupedPro.js +1 -1
  5. package/dist/BarChartStackedHorizontalPro.js +1 -1
  6. package/dist/BarChartStackedPro.js +1 -1
  7. package/dist/DonutChartPro.js +1 -1
  8. package/dist/DonutLabelChartPro.js +1 -1
  9. package/dist/LineChartGroupedPro.js +55 -55
  10. package/dist/LineChartGroupedPro.js.map +1 -1
  11. package/dist/PieChartPro.js +1 -1
  12. package/dist/bars.utils-C3c2Jyey.js +146 -0
  13. package/dist/bars.utils-C3c2Jyey.js.map +1 -0
  14. package/dist/embeddable-components.json +11 -11
  15. package/dist/{index-CGRZXASn.js → index-B_mqJfRw.js} +12 -9
  16. package/dist/index-B_mqJfRw.js.map +1 -0
  17. package/dist/{index-CwCkuHzT.js → index-CrDfwceI.js} +15 -12
  18. package/dist/index-CrDfwceI.js.map +1 -0
  19. package/dist/{index-DfsOzpdV.js → index-MerCnebu.js} +28 -25
  20. package/dist/index-MerCnebu.js.map +1 -0
  21. package/dist/index.js +36 -33
  22. package/dist/index.js.map +1 -1
  23. package/dist/{pies.utils-BvSC2qnJ.js → pies.utils-DoDczq1K.js} +5 -5
  24. package/dist/pies.utils-DoDczq1K.js.map +1 -0
  25. package/dist/remarkable-pro/components/charts/pies/DonutChartPro/index.d.ts.map +1 -1
  26. package/dist/remarkable-pro/components/charts/pies/DonutLabelChartPro/index.d.ts.map +1 -1
  27. package/dist/remarkable-pro/components/charts/pies/PieChartPro/index.d.ts.map +1 -1
  28. package/dist/remarkable-pro/components/charts/pies/pies.utils.d.ts +2 -2
  29. package/dist/remarkable-pro/components/charts/pies/pies.utils.d.ts.map +1 -1
  30. package/dist/remarkable-pro/index.d.ts +1 -0
  31. package/dist/remarkable-pro/index.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/dist/bars.utils-wy9RMO2F.js +0 -146
  34. package/dist/bars.utils-wy9RMO2F.js.map +0 -1
  35. package/dist/index-CGRZXASn.js.map +0 -1
  36. package/dist/index-CwCkuHzT.js.map +0 -1
  37. package/dist/index-DfsOzpdV.js.map +0 -1
  38. package/dist/pies.utils-BvSC2qnJ.js.map +0 -1
@@ -2,7 +2,7 @@ import { i as L, r as w, m as M, j as l, B as V, d as y, a as z, b as P, t as k,
2
2
  import { useTheme as _, defineComponent as q } from "@embeddable.com/react";
3
3
  import { C as J } from "./ChartCard-CyemTSay.js";
4
4
  import "react";
5
- import { g as K, a as N } from "./bars.utils-wy9RMO2F.js";
5
+ import { g as K, a as N } from "./bars.utils-C3c2Jyey.js";
6
6
  import { u as Q } from "./charts.fillGaps.hooks-5WclK2CD.js";
7
7
  const U = (a) => {
8
8
  var i, n;
@@ -2,7 +2,7 @@ import { i as L, r as y, m as w, j as l, B as M, d as V, a as P, b as v, t as k,
2
2
  import { useTheme as _, defineComponent as H } from "@embeddable.com/react";
3
3
  import { C as J } from "./ChartCard-CyemTSay.js";
4
4
  import "react";
5
- import { g as K, a as N } from "./bars.utils-wy9RMO2F.js";
5
+ import { g as K, a as N } from "./bars.utils-C3c2Jyey.js";
6
6
  import { u as Q } from "./charts.fillGaps.hooks-5WclK2CD.js";
7
7
  const U = (a) => {
8
8
  var o, n;
@@ -2,7 +2,7 @@ import { i as L, r as w, m as k, j as m, B as z, d as G, w as P, b as R, z as M,
2
2
  import { useTheme as J, defineComponent as K } from "@embeddable.com/react";
3
3
  import { C as N } from "./ChartCard-CyemTSay.js";
4
4
  import "react";
5
- import { b as Q, a as U } from "./bars.utils-wy9RMO2F.js";
5
+ import { b as Q, a as U } from "./bars.utils-C3c2Jyey.js";
6
6
  import { u as X } from "./charts.fillGaps.hooks-5WclK2CD.js";
7
7
  const Z = (e) => {
8
8
  var n, l;
@@ -2,7 +2,7 @@ import { i as L, r as w, m as G, j as m, B as k, d as P, w as R, b as M, z as j,
2
2
  import { useTheme as J, defineComponent as K } from "@embeddable.com/react";
3
3
  import { C as N } from "./ChartCard-CyemTSay.js";
4
4
  import "react";
5
- import { b as Q, a as U } from "./bars.utils-wy9RMO2F.js";
5
+ import { b as Q, a as U } from "./bars.utils-C3c2Jyey.js";
6
6
  import { u as Y } from "./charts.fillGaps.hooks-5WclK2CD.js";
7
7
  const Z = (e) => {
8
8
  var n, l;
@@ -2,7 +2,7 @@ import { i as L, r as f, m as w, j as m, B as S, d as z, w as P, b as R, z as M,
2
2
  import { useTheme as K, defineComponent as N } from "@embeddable.com/react";
3
3
  import { C as Q } from "./ChartCard-CyemTSay.js";
4
4
  import "react";
5
- import { b as U, a as X } from "./bars.utils-wy9RMO2F.js";
5
+ import { b as U, a as X } from "./bars.utils-C3c2Jyey.js";
6
6
  import { u as Z } from "./charts.fillGaps.hooks-5WclK2CD.js";
7
7
  const $ = (a) => {
8
8
  var n, l;
@@ -2,7 +2,7 @@ import { i as D, r as L, m as w, j as m, B as S, d as P, w as R, b as M, z as T,
2
2
  import { useTheme as K, defineComponent as N } from "@embeddable.com/react";
3
3
  import { C as Q } from "./ChartCard-CyemTSay.js";
4
4
  import "react";
5
- import { b as U, a as Y } from "./bars.utils-wy9RMO2F.js";
5
+ import { b as U, a as Y } from "./bars.utils-C3c2Jyey.js";
6
6
  import { u as Z } from "./charts.fillGaps.hooks-5WclK2CD.js";
7
7
  const $ = (e) => {
8
8
  var n, l;
@@ -1,6 +1,6 @@
1
1
  import { d as a, w as s, z as t, t as o, c as n, s as r, Q as i, e as m, f as l, V as d, o as u } from "./component.constants-CYS5-3qd.js";
2
2
  import { defineComponent as c } from "@embeddable.com/react";
3
- import { D as p } from "./index-CwCkuHzT.js";
3
+ import { D as p } from "./index-CrDfwceI.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-DfsOzpdV.js";
1
+ import { D as n } from "./index-MerCnebu.js";
2
2
  import { d as s, w as a, z as r, t as o, c as l, s as i, Q as m, e as d, f as u, V as b, o as t } from "./component.constants-CYS5-3qd.js";
3
3
  import { defineComponent as c } from "@embeddable.com/react";
4
4
  const p = {
@@ -1,5 +1,5 @@
1
1
  import { useTheme as R, defineComponent as P } from "@embeddable.com/react";
2
- import { E as k, m as $, i as F, r as v, j as w, N as B, d as S, w as y, I as V, b as j, z as O, t as T, c as X, A as E, s as K, e as N, f as U, g as Y, x as q, y as z, p as W, q as _, u as H, V as D, o as J } from "./component.constants-CYS5-3qd.js";
2
+ import { E as k, m as $, i as F, r as v, j as w, N as S, d as j, w as y, I as V, b as B, z as O, t as T, c as X, A as E, s as K, e as N, f as U, g as Y, x as q, y as z, p as W, q as _, u as H, V as D, o as J } from "./component.constants-CYS5-3qd.js";
3
3
  import { C as Q } from "./ChartCard-CyemTSay.js";
4
4
  import { g as M } from "./formatter.utils-CaFr8SlX.js";
5
5
  import { g as Z, a as G } from "./object.utils-D_Zzon-H.js";
@@ -7,62 +7,62 @@ import { s as I } from "./color.utils-CVyp-fGP.js";
7
7
  import "react";
8
8
  import { g as ee } from "./lines.utils-CFEUUo4k.js";
9
9
  import { u as ae } from "./charts.fillGaps.hooks-5WclK2CD.js";
10
- const se = (e, o) => {
11
- const c = M(o), { data: t = [], dimension: l, groupDimension: r, measure: n, hasMinMaxYAxisRange: u } = e, m = [...new Set(t.map((s) => s[l.name]).filter(Boolean))].sort(), d = [...new Set(t.map((s) => s[r.name]))].filter(Boolean), a = Z(o), i = d.map((s, x) => {
10
+ const se = (e, t) => {
11
+ const c = M(t), { data: o = [], dimension: l, groupDimension: r, measure: n, hasMinMaxYAxisRange: m } = e, u = [...new Set(o.map((a) => a[l.name]).filter((a) => a != null))].sort(), d = [...new Set(o.map((a) => a[r.name]))].filter((a) => a != null), s = Z(t), i = d.map((a, x) => {
12
12
  var p;
13
13
  const b = G(
14
- `${a}.charts.backgroundColors`,
15
- `${r.name}.${s}`,
16
- o.charts.backgroundColors ?? k,
14
+ `${s}.charts.backgroundColors`,
15
+ `${r.name}.${a}`,
16
+ t.charts.backgroundColors ?? k,
17
17
  x
18
18
  ), h = G(
19
- `${a}.charts.borderColors`,
20
- `${r.name}.${s}`,
21
- o.charts.borderColors ?? k,
19
+ `${s}.charts.borderColors`,
20
+ `${r.name}.${a}`,
21
+ t.charts.borderColors ?? k,
22
22
  x
23
23
  );
24
24
  return {
25
- clip: u,
26
- label: c.data(r, s),
27
- rawLabel: s,
25
+ clip: m,
26
+ label: c.data(r, a),
27
+ rawLabel: a,
28
28
  backgroundColor: I(b, 0.5),
29
29
  pointBackgroundColor: b,
30
30
  fill: (p = n.inputs) == null ? void 0 : p.fillUnderLine,
31
31
  borderColor: h,
32
- data: m.map((C) => {
32
+ data: u.map((C) => {
33
33
  var f;
34
- const g = t.find(
35
- (A) => A[r.name] === s && A[l.name] === C
34
+ const g = o.find(
35
+ (A) => A[r.name] === a && A[l.name] === C
36
36
  );
37
37
  return (g == null ? void 0 : g[n.name]) ?? ((f = n.inputs) != null && f.connectGaps ? 0 : null);
38
38
  })
39
39
  };
40
40
  });
41
41
  return {
42
- labels: m,
42
+ labels: u,
43
43
  datasets: i
44
44
  };
45
- }, ne = (e, o) => {
46
- var m, d;
47
- const { dimension: c, data: t, measure: l, onLineClicked: r } = e, n = M(o), u = {
45
+ }, ne = (e, t) => {
46
+ var u, d;
47
+ const { dimension: c, data: o, measure: l, onLineClicked: r } = e, n = M(t), m = {
48
48
  plugins: {
49
49
  datalabels: {
50
50
  labels: {
51
51
  value: {
52
- formatter: (a) => n.data(l, a)
52
+ formatter: (s) => n.data(l, s)
53
53
  }
54
54
  }
55
55
  },
56
56
  tooltip: {
57
57
  callbacks: {
58
- title: (a) => {
59
- var s;
60
- const i = (s = a[0]) == null ? void 0 : s.label;
58
+ title: (s) => {
59
+ var a;
60
+ const i = (a = s[0]) == null ? void 0 : a.label;
61
61
  return n.data(c, i);
62
62
  },
63
- label: (a) => {
64
- const i = a.raw;
65
- return `${a.dataset.label}: ${n.data(l, i)}`;
63
+ label: (s) => {
64
+ const i = s.raw;
65
+ return `${s.dataset.label}: ${n.data(l, i)}`;
66
66
  }
67
67
  }
68
68
  }
@@ -70,36 +70,36 @@ const se = (e, o) => {
70
70
  scales: {
71
71
  x: {
72
72
  ticks: {
73
- callback: (a) => {
74
- if (!t || !t.labels) return;
75
- const i = t.labels[Number(a)];
73
+ callback: (s) => {
74
+ if (!o || !o.labels) return;
75
+ const i = o.labels[Number(s)];
76
76
  return n.data(c, i);
77
77
  }
78
78
  }
79
79
  },
80
80
  y: {
81
81
  ticks: {
82
- callback: (a) => n.data(l, a)
82
+ callback: (s) => n.data(l, s)
83
83
  }
84
84
  }
85
85
  }
86
86
  };
87
87
  return $(
88
88
  ee({ onLineClicked: r }),
89
- u,
90
- ((d = (m = o.charts) == null ? void 0 : m.lineChartGroupedPro) == null ? void 0 : d.options) || {}
89
+ m,
90
+ ((d = (u = t.charts) == null ? void 0 : u.lineChartGroupedPro) == null ? void 0 : d.options) || {}
91
91
  );
92
- }, oe = (e) => {
93
- const o = R();
94
- F(o);
95
- const { title: c, description: t, xAxisLabel: l, yAxisLabel: r } = v(e), {
92
+ }, te = (e) => {
93
+ const t = R();
94
+ F(t);
95
+ const { title: c, description: o, xAxisLabel: l, yAxisLabel: r } = v(e), {
96
96
  measure: n,
97
- xAxis: u,
98
- groupBy: m,
97
+ xAxis: m,
98
+ groupBy: u,
99
99
  reverseXAxis: d,
100
- showLegend: a,
100
+ showLegend: s,
101
101
  showLogarithmicScale: i,
102
- showTooltips: s,
102
+ showTooltips: a,
103
103
  showValueLabels: x,
104
104
  yAxisRangeMax: b,
105
105
  yAxisRangeMin: h,
@@ -110,32 +110,32 @@ const se = (e, o) => {
110
110
  }), C = se(
111
111
  {
112
112
  data: p.data,
113
- dimension: u,
114
- groupDimension: m,
113
+ dimension: m,
114
+ groupDimension: u,
115
115
  measure: n,
116
116
  hasMinMaxYAxisRange: h != null || b != null
117
117
  },
118
- o
118
+ t
119
119
  ), g = ne(
120
- { data: C, dimension: u, measure: n, onLineClicked: L },
121
- o
120
+ { data: C, dimension: m, measure: n, onLineClicked: L },
121
+ t
122
122
  );
123
123
  return /* @__PURE__ */ w.jsx(
124
124
  Q,
125
125
  {
126
126
  data: p,
127
- dimensionsAndMeasures: [n, u, m],
127
+ dimensionsAndMeasures: [n, m, u],
128
128
  errorMessage: p.error,
129
- subtitle: t,
129
+ subtitle: o,
130
130
  title: c,
131
131
  children: /* @__PURE__ */ w.jsx(
132
- B,
132
+ S,
133
133
  {
134
134
  data: C,
135
135
  reverseXAxis: d,
136
- showLegend: a,
136
+ showLegend: s,
137
137
  showLogarithmicScale: i,
138
- showTooltips: s,
138
+ showTooltips: a,
139
139
  showValueLabels: x,
140
140
  xAxisLabel: l,
141
141
  yAxisLabel: r,
@@ -146,12 +146,12 @@ const se = (e, o) => {
146
146
  )
147
147
  }
148
148
  );
149
- }, te = {
149
+ }, oe = {
150
150
  name: "LineChartGroupedPro",
151
151
  label: "Line Chart - Grouped",
152
152
  category: "Line Charts",
153
153
  inputs: [
154
- S,
154
+ j,
155
155
  {
156
156
  ...y,
157
157
  inputs: [
@@ -160,7 +160,7 @@ const se = (e, o) => {
160
160
  { ...V, name: "connectGaps", label: "Connect gaps", defaultValue: !0 }
161
161
  ]
162
162
  },
163
- { ...j, name: "xAxis", label: "X-axis" },
163
+ { ...B, name: "xAxis", label: "X-axis" },
164
164
  { ...O, name: "groupBy", label: "Group by" },
165
165
  T,
166
166
  X,
@@ -193,7 +193,7 @@ const se = (e, o) => {
193
193
  ]
194
194
  }
195
195
  ]
196
- }, ge = P(oe, te, {
196
+ }, ge = P(te, oe, {
197
197
  props: (e) => ({
198
198
  ...e,
199
199
  results: J({
@@ -211,6 +211,6 @@ const se = (e, o) => {
211
211
  });
212
212
  export {
213
213
  ge as default,
214
- te as meta
214
+ oe as meta
215
215
  };
216
216
  //# sourceMappingURL=LineChartGroupedPro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LineChartGroupedPro.js","sources":["../src/remarkable-pro/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.ts","../src/remarkable-pro/components/charts/lines/LineChartGroupedPro/index.tsx","../src/remarkable-pro/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.emb.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { mergician } from 'mergician';\nimport { getObjectStableKey } from '../../../../utils.ts/object.utils';\nimport { getColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { chartContrastColors } from '../../../../../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(Boolean))].sort();\n const groupBy = [...new Set(data.map((d) => d[groupDimension.name]))].filter(Boolean);\n\n const themeKey = getObjectStableKey(theme);\n\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getColor(\n `${themeKey}.charts.backgroundColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const borderColor = getColor(\n `${themeKey}.charts.borderColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.borderColors ?? chartContrastColors,\n index,\n );\n\n const dataset = {\n clip: hasMinMaxYAxisRange,\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n fill: measure.inputs?.['fillUnderLine'],\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimension.name] === groupByItem && d[dimension.name] === axisItem,\n );\n return record?.[measure.name] ?? (measure.inputs?.['connectGaps'] ? 0 : null);\n }),\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getLineChartGroupedProOptions = (\n options: {\n dimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n onLineClicked: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measure, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n };\n\n return mergician(\n getLineChartProOptions({ onLineClicked }),\n lineChartOptions,\n theme.charts?.lineChartGroupedPro?.options || {},\n );\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from './LineChartGroupedPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '../../../../../remarkable-ui';\n\nexport type LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\ntype LineChartGroupedProProp = {\n description: string;\n xAxis: Dimension;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseXAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showValueLabels: boolean;\n title: string;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onLineClicked: LineChartProOptionsClick;\n};\n\nconst LineChartGroupedPro = (props: LineChartGroupedProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getLineChartGroupedProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n\n theme,\n );\n const options = getLineChartGroupedProOptions(\n { data, dimension: xAxis, measure, onLineClicked },\n theme,\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartGroupedPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport {\n dataset,\n description,\n dimension,\n dimensionWithDateBounds,\n genericBoolean,\n maxResults,\n measure,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n title,\n xAxisLabel,\n yAxisLabel,\n yAxisRangeMax,\n yAxisRangeMin,\n} from '../../../component.constants';\nimport LineChartGroupedPro from './index';\nimport { loadData, Value } from '@embeddable.com/core';\nimport { LineChartProOptionsClickArg } from '../lines.utils';\n\nexport const meta = {\n name: 'LineChartGroupedPro',\n label: 'Line Chart - Grouped',\n category: 'Line Charts',\n inputs: [\n dataset,\n {\n ...measure,\n inputs: [\n ...measure.inputs,\n { ...genericBoolean, name: 'fillUnderLine', label: 'Fill under line' },\n { ...genericBoolean, name: 'connectGaps', label: 'Connect gaps', defaultValue: true },\n ],\n },\n { ...dimensionWithDateBounds, name: 'xAxis', label: 'X-axis' },\n { ...dimension, name: 'groupBy', label: 'Group by' },\n title,\n description,\n maxResults,\n showLegend,\n showTooltips,\n showValueLabels,\n showLogarithmicScale,\n xAxisLabel,\n yAxisLabel,\n reverseXAxis,\n yAxisRangeMin,\n yAxisRangeMax,\n ],\n events: [\n {\n name: 'onLineClicked',\n label: 'A line is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked Axis Dimension Value',\n type: 'string',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked Grouping Dimension Value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(LineChartGroupedPro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n results: loadData({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [inputs.xAxis, inputs.groupBy, inputs.measure],\n }),\n };\n },\n events: {\n onLineClicked: (value: LineChartProOptionsClickArg) => {\n return {\n axisDimensionValue: value.dimensionValue || Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue || Value.noFilter(),\n };\n },\n },\n});\n"],"names":["getLineChartGroupedProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","hasMinMaxYAxisRange","axis","d","groupBy","themeKey","getObjectStableKey","datasets","groupByItem","index","backgroundColor","getColor","chartContrastColors","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptions","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","results","useFillGaps","jsx","ChartCard","LineChart","meta","dataset","genericBoolean","dimensionWithDateBounds","maxResults","LineChartGroupedPro_emb","defineComponent","inputs","loadData","Value"],"mappings":"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"}
1
+ {"version":3,"file":"LineChartGroupedPro.js","sources":["../src/remarkable-pro/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.ts","../src/remarkable-pro/components/charts/lines/LineChartGroupedPro/index.tsx","../src/remarkable-pro/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.emb.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { mergician } from 'mergician';\nimport { getObjectStableKey } from '../../../../utils.ts/object.utils';\nimport { getColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { chartContrastColors } from '../../../../../remarkable-ui';\nimport { getLineChartProOptions, LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartGroupedProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure, hasMinMaxYAxisRange } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupBy = [...new Set(data.map((d) => d[groupDimension.name]))].filter((d) => d != null);\n\n const themeKey = getObjectStableKey(theme);\n\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getColor(\n `${themeKey}.charts.backgroundColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const borderColor = getColor(\n `${themeKey}.charts.borderColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.borderColors ?? chartContrastColors,\n index,\n );\n\n const dataset = {\n clip: hasMinMaxYAxisRange,\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n fill: measure.inputs?.['fillUnderLine'],\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimension.name] === groupByItem && d[dimension.name] === axisItem,\n );\n return record?.[measure.name] ?? (measure.inputs?.['connectGaps'] ? 0 : null);\n }),\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getLineChartGroupedProOptions = (\n options: {\n dimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n onLineClicked: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measure, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n };\n\n return mergician(\n getLineChartProOptions({ onLineClicked }),\n lineChartOptions,\n theme.charts?.lineChartGroupedPro?.options || {},\n );\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from './LineChartGroupedPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '../../../../../remarkable-ui';\n\nexport type LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\ntype LineChartGroupedProProp = {\n description: string;\n xAxis: Dimension;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseXAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showValueLabels: boolean;\n title: string;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onLineClicked: LineChartProOptionsClick;\n};\n\nconst LineChartGroupedPro = (props: LineChartGroupedProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getLineChartGroupedProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n\n theme,\n );\n const options = getLineChartGroupedProOptions(\n { data, dimension: xAxis, measure, onLineClicked },\n theme,\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartGroupedPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport {\n dataset,\n description,\n dimension,\n dimensionWithDateBounds,\n genericBoolean,\n maxResults,\n measure,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n title,\n xAxisLabel,\n yAxisLabel,\n yAxisRangeMax,\n yAxisRangeMin,\n} from '../../../component.constants';\nimport LineChartGroupedPro from './index';\nimport { loadData, Value } from '@embeddable.com/core';\nimport { LineChartProOptionsClickArg } from '../lines.utils';\n\nexport const meta = {\n name: 'LineChartGroupedPro',\n label: 'Line Chart - Grouped',\n category: 'Line Charts',\n inputs: [\n dataset,\n {\n ...measure,\n inputs: [\n ...measure.inputs,\n { ...genericBoolean, name: 'fillUnderLine', label: 'Fill under line' },\n { ...genericBoolean, name: 'connectGaps', label: 'Connect gaps', defaultValue: true },\n ],\n },\n { ...dimensionWithDateBounds, name: 'xAxis', label: 'X-axis' },\n { ...dimension, name: 'groupBy', label: 'Group by' },\n title,\n description,\n maxResults,\n showLegend,\n showTooltips,\n showValueLabels,\n showLogarithmicScale,\n xAxisLabel,\n yAxisLabel,\n reverseXAxis,\n yAxisRangeMin,\n yAxisRangeMax,\n ],\n events: [\n {\n name: 'onLineClicked',\n label: 'A line is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked Axis Dimension Value',\n type: 'string',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked Grouping Dimension Value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(LineChartGroupedPro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n results: loadData({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [inputs.xAxis, inputs.groupBy, inputs.measure],\n }),\n };\n },\n events: {\n onLineClicked: (value: LineChartProOptionsClickArg) => {\n return {\n axisDimensionValue: value.dimensionValue || Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue || Value.noFilter(),\n };\n },\n },\n});\n"],"names":["getLineChartGroupedProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","hasMinMaxYAxisRange","axis","d","groupBy","themeKey","getObjectStableKey","datasets","groupByItem","index","backgroundColor","getColor","chartContrastColors","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptions","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","results","useFillGaps","jsx","ChartCard","LineChart","meta","dataset","genericBoolean","dimensionWithDateBounds","maxResults","LineChartGroupedPro_emb","defineComponent","inputs","loadData","Value"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { d as a, w as s, z as t, t as o, c as n, s as i, Q as r, e as m, f as l, V as d, o as c } from "./component.constants-CYS5-3qd.js";
2
2
  import { defineComponent as p } from "@embeddable.com/react";
3
- import { P as u } from "./index-CGRZXASn.js";
3
+ import { P as u } from "./index-B_mqJfRw.js";
4
4
  const C = {
5
5
  name: "PieChartPro",
6
6
  label: "Pie Chart",
@@ -0,0 +1,146 @@
1
+ import { r as P, g as T } from "./charts.utils-eHB_o46Z.js";
2
+ import { g as h } from "./formatter.utils-CaFr8SlX.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-CYS5-3qd.js";
5
+ import "react";
6
+ const B = (n, l) => {
7
+ var g;
8
+ const m = h(l), { data: e = [], dimension: i, groupDimension: t, measure: d } = n, o = [...new Set(e.map((s) => s[i.name]).filter((s) => s != null))].sort(), a = `${t.name}${(g = t.inputs) != null && g.granularity ? `.${t.inputs.granularity}` : ""}`, r = [...new Set(e.map((s) => s[a]))].filter((s) => s != null), c = D(l), u = r.map((s, b) => {
9
+ const w = C(
10
+ `${c}.charts.backgroundColors`,
11
+ `${t.name}.${s}`,
12
+ l.charts.backgroundColors ?? p,
13
+ b
14
+ ), x = C(
15
+ `${c}.charts.borderColors`,
16
+ `${t.name}.${s}`,
17
+ l.charts.borderColors ?? p,
18
+ b
19
+ );
20
+ return {
21
+ label: m.data(t, s),
22
+ rawLabel: s,
23
+ backgroundColor: w,
24
+ borderColor: x,
25
+ data: o.map((F) => {
26
+ const k = e.find(
27
+ (f) => f[a] === s && f[i.name] === F
28
+ );
29
+ return k ? Number(k[d.name]) : 0;
30
+ })
31
+ };
32
+ });
33
+ return {
34
+ labels: o,
35
+ datasets: u
36
+ };
37
+ }, L = (n, l = P) => {
38
+ if (!n.data)
39
+ return {
40
+ labels: [],
41
+ datasets: [{ data: [] }]
42
+ };
43
+ const m = h(l), e = D(l), i = T(n.data, n.dimension, n.measures, n.maxItems);
44
+ return {
45
+ labels: i.map((t) => t[n.dimension.name]),
46
+ datasets: n.measures.map((t, d) => {
47
+ const o = C(
48
+ `${e}.charts.backgroundColors`,
49
+ t.name,
50
+ l.charts.backgroundColors ?? $,
51
+ d
52
+ ), a = C(
53
+ `${e}.charts.borderColors`,
54
+ t.name,
55
+ l.charts.borderColors ?? $,
56
+ d
57
+ );
58
+ return {
59
+ label: m.dimensionOrMeasureTitle(t),
60
+ data: i.map((r) => r[t.name] ?? 0),
61
+ backgroundColor: o,
62
+ borderColor: a
63
+ };
64
+ })
65
+ };
66
+ }, v = (n, l) => {
67
+ const { datasets: m } = n.chart.data, e = n.dataIndex, i = m.reduce((t, d) => {
68
+ const o = d.data[e];
69
+ return t + (o || 0);
70
+ }, 0);
71
+ return l(i);
72
+ }, V = (n, l) => {
73
+ const { onBarClicked: m, measures: e, dimension: i, horizontal: t, data: d } = n, o = h(l);
74
+ return {
75
+ plugins: {
76
+ legend: { position: l.charts.legendPosition ?? "bottom" },
77
+ datalabels: {
78
+ labels: {
79
+ total: {
80
+ formatter: (a, r) => v(
81
+ r,
82
+ (c) => o.data(e[0], c)
83
+ )
84
+ },
85
+ value: {
86
+ formatter: (a, r) => {
87
+ const c = e[r.datasetIndex % e.length];
88
+ return o.data(c, a);
89
+ }
90
+ }
91
+ }
92
+ },
93
+ tooltip: {
94
+ callbacks: {
95
+ title: (a) => {
96
+ var c;
97
+ const r = (c = a[0]) == null ? void 0 : c.label;
98
+ return o.data(i, r);
99
+ },
100
+ label: (a) => {
101
+ const r = e[a.datasetIndex % e.length], c = a.raw;
102
+ return `${o.data(i, a.dataset.label) || ""}: ${o.data(r, c)}`;
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 (!d || !d.labels) return;
114
+ const r = d.labels[Number(a)];
115
+ return o.data(i, r);
116
+ }
117
+ }
118
+ },
119
+ y: {
120
+ ticks: {
121
+ callback: (a) => {
122
+ if (!t)
123
+ return o.data(e[0], a);
124
+ if (!d || !d.labels) return;
125
+ const r = d.labels[Number(a)];
126
+ return o.data(i, r);
127
+ }
128
+ }
129
+ }
130
+ },
131
+ onClick: (a, r, c) => {
132
+ var b;
133
+ const u = r[0], g = u ? c.data.labels[u.index] : null, s = u ? (b = c.data.datasets[u.datasetIndex]) == null ? void 0 : b.rawLabel : null;
134
+ m({
135
+ axisDimensionValue: g,
136
+ groupingDimensionValue: s
137
+ });
138
+ }
139
+ };
140
+ };
141
+ export {
142
+ V as a,
143
+ B as b,
144
+ L as g
145
+ };
146
+ //# sourceMappingURL=bars.utils-C3c2Jyey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bars.utils-C3c2Jyey.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, chartContrastColors } from '../../../../remarkable-ui';\nimport { getObjectStableKey } from '../../../utils.ts/object.utils';\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((d) => d != null))].sort();\n const groupDimensionName = `${groupDimension.name}${groupDimension.inputs?.granularity ? `.${groupDimension.inputs.granularity}` : ''}`;\n const groupBy = [...new Set(data.map((d) => d[groupDimensionName]))].filter((d) => d != null);\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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"}
@@ -2,24 +2,24 @@
2
2
  "components": [
3
3
  "DateRangeSelectFieldPro",
4
4
  "ComparisonPeriodSelectFieldPro",
5
+ "SingleSelectFieldPro",
6
+ "BarChartDefaultHorizontalPro",
5
7
  "MultiSelectFieldPro",
6
- "BarChartGroupedHorizontalPro",
7
8
  "BarChartDefaultPro",
8
- "BarChartDefaultHorizontalPro",
9
+ "BarChartGroupedHorizontalPro",
10
+ "HeatMapPro",
11
+ "PivotTablePro",
12
+ "PieChartPro",
9
13
  "BarChartStackedHorizontalPro",
10
- "SingleSelectFieldPro",
14
+ "DonutChartPro",
15
+ "DonutLabelChartPro",
16
+ "LineChartDefaultPro",
11
17
  "BarChartGroupedPro",
12
- "BarChartStackedPro",
13
- "KpiChartNumberPro",
14
18
  "KpiChartNumberComparisonPro",
19
+ "KpiChartNumberPro",
20
+ "BarChartStackedPro",
15
21
  "LineChartGroupedPro",
16
22
  "LineChartComparisonDefaultPro",
17
- "DonutChartPro",
18
- "LineChartDefaultPro",
19
- "PivotTablePro",
20
- "DonutLabelChartPro",
21
- "PieChartPro",
22
- "HeatMapPro",
23
23
  "TableChartPaginated"
24
24
  ],
25
25
  "editors": [],