@embeddable.com/remarkable-pro 0.2.6 → 0.2.7

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 (87) 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/LineChartComparisonDefaultPro.js +1 -1
  10. package/dist/LineChartDefaultPro.js +1 -1
  11. package/dist/LineChartGroupedPro.js +1 -1
  12. package/dist/LineChartWithKpiTabsPro.js +1 -1
  13. package/dist/PieChartPro.js +1 -1
  14. package/dist/bars.utils-DR-ga7ps.js +176 -0
  15. package/dist/bars.utils-DR-ga7ps.js.map +1 -0
  16. package/dist/charts.utils-BEwWG4s2.js +25 -0
  17. package/dist/charts.utils-BEwWG4s2.js.map +1 -0
  18. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
  19. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
  20. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
  21. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
  22. package/dist/components/charts/bars/bars.utils.d.ts +11 -0
  23. package/dist/components/charts/bars/bars.utils.d.ts.map +1 -1
  24. package/dist/components/charts/charts.utils.d.ts +1 -0
  25. package/dist/components/charts/charts.utils.d.ts.map +1 -1
  26. package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +1 -1
  27. package/dist/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts.map +1 -1
  28. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts +1 -0
  29. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +1 -1
  30. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.test.d.ts +2 -0
  31. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.test.d.ts.map +1 -0
  32. package/dist/components/charts/lines/lines.utils.d.ts +4 -1
  33. package/dist/components/charts/lines/lines.utils.d.ts.map +1 -1
  34. package/dist/components/charts/pies/pies.utils.d.ts +4 -1
  35. package/dist/components/charts/pies/pies.utils.d.ts.map +1 -1
  36. package/dist/{definition-1rawu7CS.js → definition-5MQbWUXL.js} +10 -10
  37. package/dist/definition-5MQbWUXL.js.map +1 -0
  38. package/dist/{definition-6V_kjo0t.js → definition-BNffWCqm.js} +42 -35
  39. package/dist/definition-BNffWCqm.js.map +1 -0
  40. package/dist/{definition-BbZF9oV3.js → definition-CMvwdXRu.js} +51 -44
  41. package/dist/definition-CMvwdXRu.js.map +1 -0
  42. package/dist/{definition-CuY7y9zK.js → definition-Ce2VcCyv.js} +2 -2
  43. package/dist/{definition-CuY7y9zK.js.map → definition-Ce2VcCyv.js.map} +1 -1
  44. package/dist/{definition-Cv0Wy617.js → definition-D1YtBczb.js} +40 -33
  45. package/dist/definition-D1YtBczb.js.map +1 -0
  46. package/dist/{definition-BjBVobf-.js → definition-D2bJQDNh.js} +29 -22
  47. package/dist/definition-D2bJQDNh.js.map +1 -0
  48. package/dist/{definition-flvbz5lg.js → definition-DIH0gF4I.js} +2 -2
  49. package/dist/{definition-flvbz5lg.js.map → definition-DIH0gF4I.js.map} +1 -1
  50. package/dist/definition-DOaQylZq.js +281 -0
  51. package/dist/definition-DOaQylZq.js.map +1 -0
  52. package/dist/{definition-cOQtp0ke.js → definition-DQP0JMyo.js} +114 -100
  53. package/dist/definition-DQP0JMyo.js.map +1 -0
  54. package/dist/{definition-HZ3fanxl.js → definition-DwouHcfu.js} +10 -10
  55. package/dist/definition-DwouHcfu.js.map +1 -0
  56. package/dist/{definition-BSKYvKCi.js → definition-HByuRICY.js} +78 -77
  57. package/dist/definition-HByuRICY.js.map +1 -0
  58. package/dist/{definition-kavZZeUh.js → definition-_hl_uvEW.js} +10 -10
  59. package/dist/definition-_hl_uvEW.js.map +1 -0
  60. package/dist/{definition-cEG06qae.js → definition-mz09xu8Q.js} +2 -2
  61. package/dist/{definition-cEG06qae.js.map → definition-mz09xu8Q.js.map} +1 -1
  62. package/dist/embeddable-components.json +52 -52
  63. package/dist/embeddable-theme-0137e.js +1 -1
  64. package/dist/index.js +202 -199
  65. package/dist/index.js.map +1 -1
  66. package/dist/lines.utils-CEGfmIHB.js.map +1 -1
  67. package/dist/pies.utils-Bb2EFei6.js +99 -0
  68. package/dist/pies.utils-Bb2EFei6.js.map +1 -0
  69. package/dist/{charts.utils-B_axoMNF.js → theme.constants-Cl6fOHv-.js} +638 -654
  70. package/dist/theme.constants-Cl6fOHv-.js.map +1 -0
  71. package/package.json +1 -2
  72. package/dist/bars.utils-Dw_DLpHV.js +0 -158
  73. package/dist/bars.utils-Dw_DLpHV.js.map +0 -1
  74. package/dist/charts.utils-B_axoMNF.js.map +0 -1
  75. package/dist/definition-1rawu7CS.js.map +0 -1
  76. package/dist/definition-6V_kjo0t.js.map +0 -1
  77. package/dist/definition-BSKYvKCi.js.map +0 -1
  78. package/dist/definition-BbZF9oV3.js.map +0 -1
  79. package/dist/definition-BjBVobf-.js.map +0 -1
  80. package/dist/definition-Cv0Wy617.js.map +0 -1
  81. package/dist/definition-D-KGeUhT.js +0 -277
  82. package/dist/definition-D-KGeUhT.js.map +0 -1
  83. package/dist/definition-HZ3fanxl.js.map +0 -1
  84. package/dist/definition-cOQtp0ke.js.map +0 -1
  85. package/dist/definition-kavZZeUh.js.map +0 -1
  86. package/dist/pies.utils-COX5fEMR.js +0 -76
  87. package/dist/pies.utils-COX5fEMR.js.map +0 -1
@@ -1,24 +1,25 @@
1
- import { m as Q, t as Z, y as j, z as O, E as I, j as S, L as ee, V as ae, l as _ } from "./index-B9eYAQkT.js";
2
- import { useTheme as se, definePreview as oe } from "@embeddable.com/react";
3
- import { i as ie, a as ne, r as te } from "./component.utils-Dua9clQJ.js";
4
- import { C as re } from "./ChartCard-Cv9hqNdM.js";
5
- import { useEffect as le } from "react";
6
- import { g as me } from "./timeRange.utils-CcP33PfM.js";
7
- import { g as F } from "./formatter.utils-BZMmas2O.js";
8
- import { g as de } from "./styles.utils-C8CnV0SB.js";
9
- import { i as ce, s as pe } from "./color.utils-BSg_DFOh.js";
10
- import { g as ue } from "./lines.utils-CEGfmIHB.js";
11
- import { u as G } from "./charts.fillGaps.hooks-DgH30vXI.js";
12
- import { C as ge, g as he } from "./granularity.utils-B2u5dfRk.js";
1
+ import { m as Z, t as ee, y as G, z as I, E as F, j as S, L as ae, V as se, l as X } from "./index-B9eYAQkT.js";
2
+ import { useTheme as oe, definePreview as ie } from "@embeddable.com/react";
3
+ import { i as ne, a as te, r as re } from "./component.utils-Dua9clQJ.js";
4
+ import { C as le } from "./ChartCard-Cv9hqNdM.js";
5
+ import { useEffect as me } from "react";
6
+ import { g as de } from "./timeRange.utils-CcP33PfM.js";
7
+ import { g as B } from "./formatter.utils-BZMmas2O.js";
8
+ import { g as ce } from "./styles.utils-C8CnV0SB.js";
9
+ import { i as pe, s as ue } from "./color.utils-BSg_DFOh.js";
10
+ import { g as ge } from "./lines.utils-CEGfmIHB.js";
11
+ import { b as O } from "./charts.utils-BEwWG4s2.js";
12
+ import { u as z } from "./charts.fillGaps.hooks-DgH30vXI.js";
13
+ import { C as he, g as be } from "./granularity.utils-B2u5dfRk.js";
13
14
  import { i as d, s as L } from "./component.inputs.constants-DnFrZzR7.js";
14
15
  import { p as M } from "./preview.data.constants-Cf1TpbZu.js";
15
- import { g as X } from "./clientContext.utils-DpB5KsfX.js";
16
- const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
16
+ import { g as $ } from "./clientContext.utils-DpB5KsfX.js";
17
+ const T = "mainAxis", P = "comparisonAxis", _ = (a, s) => {
17
18
  var w, k, R, A;
18
19
  const { data: e, measure: o, dimension: i, index: t, isPreviousPeriod: m, hasMinMaxYAxisRange: f, labels: n } = a, c = e == null ? void 0 : e.map((C) => C[i.name]), r = !!((w = o.inputs) != null && w.connectGaps), h = n ? n.map((C) => {
19
20
  const b = e == null ? void 0 : e.find((g) => g[i.name] === C);
20
21
  return (b == null ? void 0 : b[o.name]) ?? (r ? 0 : null);
21
- }) : e == null ? void 0 : e.map((C) => C[o.name] ?? (r ? 0 : null)), y = F(s), v = !!((k = o.inputs) != null && k[m ? "previousLineDashed" : "lineDashed"]), l = Z(), p = (R = o.inputs) == null ? void 0 : R[m ? "previousLineColor" : "lineColor"], u = ce(p) ? p : de({
22
+ }) : e == null ? void 0 : e.map((C) => C[o.name] ?? (r ? 0 : null)), y = B(s), v = !!((k = o.inputs) != null && k[m ? "previousLineDashed" : "lineDashed"]), l = ee(), p = (R = o.inputs) == null ? void 0 : R[m ? "previousLineColor" : "lineColor"], u = pe(p) ? p : ce({
22
23
  dimensionOrMeasure: o,
23
24
  theme: s,
24
25
  color: "background",
@@ -27,28 +28,28 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
27
28
  index: t
28
29
  }), D = y.dimensionOrMeasureTitle(o);
29
30
  return {
30
- xAxisID: m ? T : P,
31
+ xAxisID: m ? P : T,
31
32
  labels: c,
32
33
  rawLabel: D,
33
- label: (m ? `${ie.t("common.compared")} ` : "") + D,
34
+ label: (m ? `${ne.t("common.compared")} ` : "") + D,
34
35
  data: h,
35
- backgroundColor: pe(u, 0.5),
36
+ backgroundColor: ue(u, 0.5),
36
37
  pointBackgroundColor: u,
37
38
  borderDash: v ? [
38
- j("--em-linechart-line-dash", "0.25rem"),
39
- j("--em-linechart-line-gap", "0.25rem")
39
+ G("--em-linechart-line-dash", "0.25rem"),
40
+ G("--em-linechart-line-gap", "0.25rem")
40
41
  ] : void 0,
41
42
  borderColor: u,
42
43
  fill: (A = o.inputs) == null ? void 0 : A.fillUnderLine,
43
44
  clip: f
44
45
  };
45
- }, be = (a, s) => {
46
+ }, ye = (a, s) => {
46
47
  if (!a.data)
47
48
  return {
48
49
  labels: [],
49
50
  datasets: [
50
- { xAxisID: P, data: [] },
51
- { xAxisID: T, data: [] }
51
+ { xAxisID: T, data: [] },
52
+ { xAxisID: P, data: [] }
52
53
  ]
53
54
  };
54
55
  const { data: e, dataComparison: o, dimension: i, measures: t, hasMinMaxYAxisRange: m } = a, n = i.nativeType === "time" ? void 0 : o ? Array.from(
@@ -57,7 +58,7 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
57
58
  ...(o == null ? void 0 : o.map((h) => h[i.name])) ?? []
58
59
  ])
59
60
  ) : void 0, c = t.map(
60
- (h, y) => z(
61
+ (h, y) => _(
61
62
  {
62
63
  data: e,
63
64
  measure: h,
@@ -69,7 +70,7 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
69
70
  s
70
71
  )
71
72
  ), r = t.map(
72
- (h, y) => z(
73
+ (h, y) => _(
73
74
  {
74
75
  data: o,
75
76
  measure: h,
@@ -86,8 +87,8 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
86
87
  labels: n ?? e.map((h) => h[i.name]),
87
88
  datasets: [...c, ...r]
88
89
  };
89
- }, ye = (a, s) => {
90
- const { dimension: e, data: o, measures: i, xAxisLabel: t } = a, m = F(s);
90
+ }, fe = (a, s) => {
91
+ const { dimension: e, data: o, measures: i, xAxisLabel: t } = a, m = B(s);
91
92
  return {
92
93
  plugins: {
93
94
  legend: {
@@ -111,7 +112,11 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
111
112
  },
112
113
  tooltip: {
113
114
  callbacks: {
114
- title: (n) => n[0] ? m.data(e, n[0].label) : "",
115
+ title: (n) => n[0] ? m.data(
116
+ { ...e, inputs: { ...e.inputs, maxCharacters: null } },
117
+ // tooltips titles do not truncate labels
118
+ n[0].label
119
+ ) : "",
115
120
  label: (n) => {
116
121
  const c = i[n.datasetIndex % i.length], r = n.raw;
117
122
  return `${n.dataset.label}: ${m.data(c, r)}`;
@@ -123,22 +128,22 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
123
128
  x: {
124
129
  display: !1
125
130
  },
126
- [P]: {
131
+ [T]: {
127
132
  title: {
128
- ...I(),
133
+ ...F(),
129
134
  text: t,
130
135
  display: !!t
131
136
  },
132
137
  grid: { display: !1 },
133
138
  ticks: {
134
- ...O(),
139
+ ...I(),
135
140
  callback(n) {
136
141
  var c;
137
142
  return m.data(e, (c = o.labels) == null ? void 0 : c[n]);
138
143
  }
139
144
  }
140
145
  },
141
- [T]: {
146
+ [P]: {
142
147
  display: !1
143
148
  },
144
149
  y: {
@@ -148,9 +153,9 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
148
153
  }
149
154
  }
150
155
  };
151
- }, fe = (a, s) => {
156
+ }, De = (a, s) => {
152
157
  var y, v;
153
- const { dimension: e, data: o, measures: i, xAxisLabel: t, showComparisonAxis: m, showDataComparison: f } = a, n = F(s), c = ((y = o.datasets.find((l) => l.xAxisID === P)) == null ? void 0 : y.labels) ?? [], r = ((v = o.datasets.find((l) => l.xAxisID === T)) == null ? void 0 : v.labels) ?? [];
158
+ const { dimension: e, data: o, measures: i, xAxisLabel: t, showComparisonAxis: m, showDataComparison: f } = a, n = B(s), c = ((y = o.datasets.find((l) => l.xAxisID === T)) == null ? void 0 : y.labels) ?? [], r = ((v = o.datasets.find((l) => l.xAxisID === P)) == null ? void 0 : v.labels) ?? [];
154
159
  return {
155
160
  plugins: {
156
161
  legend: {
@@ -177,10 +182,19 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
177
182
  title: (l) => {
178
183
  const p = l[0];
179
184
  if (!f && p)
180
- return n.data(e, p.label);
185
+ return n.data(
186
+ O(e),
187
+ p.label
188
+ );
181
189
  const u = p == null ? void 0 : p.dataIndex;
182
190
  if (u === void 0) return "";
183
- const D = c[u] && n.data(e, c[u]), x = r[u] && n.data(e, r[u]);
191
+ const D = c[u] && n.data(
192
+ O(e),
193
+ c[u]
194
+ ), x = r[u] && n.data(
195
+ O(e),
196
+ r[u]
197
+ );
184
198
  return `${D ?? "-"} vs ${x ?? "-"}`;
185
199
  },
186
200
  label: (l) => {
@@ -192,28 +206,28 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
192
206
  },
193
207
  scales: {
194
208
  x: { display: !1 },
195
- [P]: {
209
+ [T]: {
196
210
  title: {
197
- ...I(),
211
+ ...F(),
198
212
  text: t,
199
213
  display: !!((!m || r.length === 0) && t)
200
214
  },
201
215
  grid: { display: !1 },
202
216
  ticks: {
203
- ...O(),
217
+ ...I(),
204
218
  callback: (l) => n.data(e, c[Number(l)])
205
219
  }
206
220
  },
207
- [T]: {
221
+ [P]: {
208
222
  title: {
209
- ...I(),
223
+ ...F(),
210
224
  text: t,
211
225
  display: !!t
212
226
  },
213
227
  grid: { display: !1 },
214
228
  display: m && r.length > 0,
215
229
  ticks: {
216
- ...O(),
230
+ ...I(),
217
231
  callback: (l) => {
218
232
  if (r.length === 0)
219
233
  return "";
@@ -229,18 +243,18 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
229
243
  }
230
244
  }
231
245
  };
232
- }, De = (a, s) => {
246
+ }, xe = (a, s) => {
233
247
  var t, m;
234
- const { onLineClicked: e, dimension: o } = a, i = o.nativeType === "time" ? fe : ye;
235
- return Q(
236
- ue({ onLineClicked: e }),
248
+ const { onLineClicked: e, dimension: o } = a, i = o.nativeType === "time" ? De : fe;
249
+ return Z(
250
+ ge({ onLineClicked: e }),
237
251
  i(a, s),
238
252
  ((m = (t = s.charts) == null ? void 0 : t.lineChartComparisonDefaultPro) == null ? void 0 : m.options) || {}
239
253
  );
240
- }, B = (a) => {
241
- const s = se();
242
- ne(s);
243
- const { title: e, description: o, tooltip: i, xAxisLabel: t, yAxisLabel: m } = te(a), {
254
+ }, V = (a) => {
255
+ const s = oe();
256
+ te(s);
257
+ const { title: e, description: o, tooltip: i, xAxisLabel: t, yAxisLabel: m } = re(a), {
244
258
  hideMenu: f,
245
259
  comparisonPeriod: n,
246
260
  measures: c,
@@ -259,50 +273,50 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
259
273
  setComparisonDateRange: A,
260
274
  onLineClicked: C
261
275
  } = a;
262
- le(() => {
263
- const K = me(
276
+ me(() => {
277
+ const Q = de(
264
278
  x,
265
279
  n,
266
280
  s
267
281
  );
268
- A == null || A(K);
282
+ A == null || A(Q);
269
283
  }, [n, JSON.stringify(x), s]);
270
- const b = G({
284
+ const b = z({
271
285
  results: a.results,
272
286
  dimension: r,
273
287
  externalDateBounds: x
274
- }), g = G({
288
+ }), g = z({
275
289
  results: a.resultsComparison,
276
290
  dimension: r,
277
291
  externalDateBounds: w
278
- }), V = !!(x && n), N = be(
292
+ }), N = !!(x && n), j = ye(
279
293
  {
280
294
  data: b.data,
281
- dataComparison: V ? (g == null ? void 0 : g.data) ?? [] : void 0,
295
+ dataComparison: N ? (g == null ? void 0 : g.data) ?? [] : void 0,
282
296
  dimension: r,
283
297
  measures: c,
284
298
  hasMinMaxYAxisRange: D != null || u != null
285
299
  },
286
300
  s
287
- ), q = De(
301
+ ), H = xe(
288
302
  {
289
- data: N,
303
+ data: j,
290
304
  dimension: r,
291
305
  measures: c,
292
306
  xAxisLabel: t,
293
307
  showComparisonAxis: k,
294
- showDataComparison: V,
308
+ showDataComparison: N,
295
309
  onLineClicked: C
296
310
  },
297
311
  s
298
- ), H = {
312
+ ), J = {
299
313
  isLoading: !!(b.isLoading || g != null && g.isLoading),
300
314
  data: !(b != null && b.data) && !(g != null && g.data) ? void 0 : [...b.data ?? [], ...(g == null ? void 0 : g.data) ?? []]
301
- }, J = !e && !o && !i;
315
+ }, K = !e && !o && !i;
302
316
  return /* @__PURE__ */ S.jsxs(
303
- re,
317
+ le,
304
318
  {
305
- data: H,
319
+ data: J,
306
320
  dimensionsAndMeasures: [...c, r],
307
321
  errorMessage: b.error || (g == null ? void 0 : g.error),
308
322
  description: o,
@@ -310,17 +324,17 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
310
324
  hideMenu: f,
311
325
  children: [
312
326
  R && /* @__PURE__ */ S.jsx(
313
- ge,
327
+ he,
314
328
  {
315
- hasMarginTop: J,
329
+ hasMarginTop: K,
316
330
  dimension: r,
317
331
  onChange: R
318
332
  }
319
333
  ),
320
334
  /* @__PURE__ */ S.jsx(
321
- ee,
335
+ ae,
322
336
  {
323
- data: N,
337
+ data: j,
324
338
  reverseXAxis: h,
325
339
  showLegend: y,
326
340
  showLogarithmicScale: v,
@@ -330,16 +344,16 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
330
344
  yAxisLabel: m,
331
345
  yAxisRangeMax: u,
332
346
  yAxisRangeMin: D,
333
- options: q
347
+ options: H
334
348
  }
335
349
  )
336
350
  ]
337
351
  }
338
352
  );
339
- }, Ge = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
353
+ }, _e = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
340
354
  __proto__: null,
341
- default: B
342
- }, Symbol.toStringTag, { value: "Module" })), xe = {
355
+ default: V
356
+ }, Symbol.toStringTag, { value: "Module" })), Ce = {
343
357
  name: "LineChartComparisonDefaultPro",
344
358
  label: "Line Chart Comparison - Default",
345
359
  category: "Line Charts",
@@ -436,7 +450,7 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
436
450
  ]
437
451
  }
438
452
  ]
439
- }, $ = {
453
+ }, Y = {
440
454
  xAxis: M.dimension,
441
455
  measures: [
442
456
  {
@@ -452,7 +466,7 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
452
466
  comparisonDateRange: { relativeTimeString: "Previous period", from: void 0, to: void 0 },
453
467
  primaryDateRange: { relativeTimeString: "This week", from: void 0, to: void 0 },
454
468
  hideMenu: !0
455
- }, Ce = oe(B, $), Y = (a, s, e) => {
469
+ }, ve = ie(V, Y), W = (a, s, e) => {
456
470
  const o = s ?? a.xAxis, i = [{ property: o, direction: "asc" }], t = o.nativeType === "time" ? o : a.timePropertyForNonTimeDimensions;
457
471
  return {
458
472
  limit: a.maxResults,
@@ -460,9 +474,9 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
460
474
  select: [...a.measures, o],
461
475
  orderBy: i,
462
476
  filters: a.primaryDateRange && t ? [{ property: t, operator: "inDateRange", value: a.primaryDateRange }] : void 0,
463
- timezone: X(e == null ? void 0 : e.timezone)
477
+ timezone: $(e == null ? void 0 : e.timezone)
464
478
  };
465
- }, E = (a, s, e) => _(Y(a, s, e)), W = (a, s, e, o) => {
479
+ }, E = (a, s, e) => X(W(a, s, e)), U = (a, s, e, o) => {
466
480
  const i = [{ property: s, direction: "asc" }], t = s.nativeType === "time" ? s : a.timePropertyForNonTimeDimensions;
467
481
  return {
468
482
  limit: a.maxResults,
@@ -470,20 +484,20 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
470
484
  select: [...a.measures, s],
471
485
  orderBy: i,
472
486
  filters: [{ property: t, operator: "inDateRange", value: e }],
473
- timezone: X(o == null ? void 0 : o.timezone)
487
+ timezone: $(o == null ? void 0 : o.timezone)
474
488
  };
475
- }, U = (a, s, e, o) => {
489
+ }, q = (a, s, e, o) => {
476
490
  const i = s.nativeType === "time" ? s : a.timePropertyForNonTimeDimensions;
477
491
  if (a.primaryDateRange && i && (e != null && e.comparisonDateRange))
478
- return _(
479
- W(a, s, e.comparisonDateRange, o)
492
+ return X(
493
+ U(a, s, e.comparisonDateRange, o)
480
494
  );
481
- }, ve = {
495
+ }, Ae = {
482
496
  onLineClicked: (a) => ({
483
- axisDimensionValue: a.dimensionValue ?? ae.noFilter()
497
+ axisDimensionValue: a.dimensionValue ?? se.noFilter()
484
498
  })
485
- }, Ae = (a, [s, e], o) => {
486
- const i = he(a.xAxis, s == null ? void 0 : s.granularity);
499
+ }, Le = (a, [s, e], o) => {
500
+ const i = be(a.xAxis, s == null ? void 0 : s.granularity);
487
501
  return {
488
502
  ...a,
489
503
  xAxis: i,
@@ -491,35 +505,35 @@ const P = "mainAxis", T = "comparisonAxis", z = (a, s) => {
491
505
  comparisonDateRange: s == null ? void 0 : s.comparisonDateRange,
492
506
  setComparisonDateRange: (t) => e({ ...s, comparisonDateRange: t }),
493
507
  results: E(a, i, o),
494
- resultsComparison: U(
508
+ resultsComparison: q(
495
509
  a,
496
510
  i,
497
511
  s,
498
512
  o
499
513
  )
500
514
  };
501
- }, ze = {
502
- Component: B,
503
- meta: xe,
504
- preview: Ce,
505
- previewConfig: $,
515
+ }, Xe = {
516
+ Component: V,
517
+ meta: Ce,
518
+ preview: ve,
519
+ previewConfig: Y,
506
520
  config: {
507
- props: Ae,
508
- events: ve
521
+ props: Le,
522
+ events: Ae
509
523
  },
510
524
  results: {
511
- loadDataArgs: Y,
525
+ loadDataArgs: W,
512
526
  loadData: E
513
527
  },
514
528
  resultsComparison: {
515
- loadDataArgs: W,
516
- loadData: U
529
+ loadDataArgs: U,
530
+ loadData: q
517
531
  }
518
532
  };
519
533
  export {
520
- De as a,
521
- be as g,
522
- Ge as i,
523
- ze as l
534
+ xe as a,
535
+ ye as g,
536
+ _e as i,
537
+ Xe as l
524
538
  };
525
- //# sourceMappingURL=definition-cOQtp0ke.js.map
539
+ //# sourceMappingURL=definition-DQP0JMyo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-DQP0JMyo.js","sources":["../src/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.ts","../src/components/charts/lines/LineChartComparisonDefaultPro/index.tsx","../src/components/charts/lines/LineChartComparisonDefaultPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport {\n getChartColors,\n getChartjsAxisOptionsScalesTicksDefault,\n getChartjsAxisOptionsScalesTitle,\n getStyleNumber,\n} from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { i18n } from '../../../../theme/i18n/i18n';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils/color.utils';\nimport { getLineChartProOptionsOnClick, LineChartProOptionsClick } from '../lines.utils';\nimport { getDimensionWithoutTruncation } from '../../charts.utils';\n\nconst AXIS_ID_MAIN = 'mainAxis';\nconst AXIS_ID_COMPARISON = 'comparisonAxis';\n\nconst getLineChartComparisonDataset = (\n props: {\n data: DataResponse['data'];\n measure: Measure;\n dimension: Dimension;\n labels?: string[];\n hasMinMaxYAxisRange: boolean;\n isPreviousPeriod?: boolean;\n index: number;\n },\n theme: Theme,\n): ChartData<'line'>['datasets'][number] => {\n const { data, measure, dimension, index, isPreviousPeriod, hasMinMaxYAxisRange, labels } = props;\n const datasetLabels = data?.map((item) => item[dimension.name]);\n\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n\n const processedData = labels\n ? labels.map((label) => {\n const found = data?.find((item) => item[dimension.name] === label);\n return found?.[measure.name] ?? (zeroFill ? 0 : null);\n })\n : data?.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const themeFormatter = getThemeFormatter(theme);\n\n const isLineDashed = Boolean(\n measure.inputs?.[isPreviousPeriod ? 'previousLineDashed' : 'lineDashed'],\n );\n const chartColors = getChartColors();\n const lineColorTemp = measure.inputs?.[isPreviousPeriod ? 'previousLineColor' : 'lineColor'];\n const lineColor = isColorValid(lineColorTemp)\n ? lineColorTemp\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n chartColors,\n index,\n });\n\n const rawLabel = themeFormatter.dimensionOrMeasureTitle(measure);\n\n const dataset = {\n xAxisID: isPreviousPeriod ? AXIS_ID_COMPARISON : AXIS_ID_MAIN,\n labels: datasetLabels,\n rawLabel,\n label: (isPreviousPeriod ? `${i18n.t('common.compared')} ` : '') + rawLabel,\n data: processedData,\n backgroundColor: setColorAlpha(lineColor, 0.5),\n pointBackgroundColor: lineColor,\n borderDash: isLineDashed\n ? [\n getStyleNumber('--em-linechart-line-dash', '0.25rem'),\n getStyleNumber('--em-linechart-line-gap', '0.25rem'),\n ]\n : undefined,\n borderColor: lineColor,\n fill: measure.inputs?.['fillUnderLine'],\n clip: hasMinMaxYAxisRange,\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n};\n\nexport const getLineChartComparisonProData = (\n props: {\n data: DataResponse['data'];\n dataComparison: DataResponse['data'] | undefined;\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [\n { xAxisID: AXIS_ID_MAIN, data: [] },\n { xAxisID: AXIS_ID_COMPARISON, data: [] },\n ],\n };\n }\n\n const { data, dataComparison, dimension, measures, hasMinMaxYAxisRange } = props;\n\n // Get all the available labels from both datasets if the dimension is not a time type (E.g. join United States with United Kindom and Germany)\n const isTimeDimension = dimension.nativeType === 'time';\n const labels = isTimeDimension\n ? undefined\n : dataComparison\n ? Array.from(\n new Set([\n ...data.map((item) => item[dimension.name]),\n ...(dataComparison?.map((item) => item[dimension.name]) ?? []),\n ]),\n )\n : undefined;\n\n const originalDatasets = measures.map((measure, index) =>\n getLineChartComparisonDataset(\n {\n data,\n measure,\n dimension,\n labels,\n hasMinMaxYAxisRange,\n index,\n },\n theme,\n ),\n );\n\n const comparisonDatasets = measures.map((measure, index) =>\n getLineChartComparisonDataset(\n {\n data: dataComparison,\n measure,\n dimension,\n labels,\n hasMinMaxYAxisRange,\n index,\n isPreviousPeriod: true,\n },\n theme,\n ),\n );\n\n return {\n labels: labels ?? data.map((item) => item[dimension.name]),\n datasets: [...originalDatasets, ...comparisonDatasets],\n };\n};\n\ntype LineChartComparisonProOptionsProps = {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n xAxisLabel?: string;\n showComparisonAxis?: boolean;\n showDataComparison?: boolean;\n onLineClicked?: LineChartProOptionsClick;\n};\n\nconst getLineChartComparisonNonTimeOptions = (\n options: LineChartComparisonProOptionsProps,\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, xAxisLabel } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n legend: {\n labels: {\n filter: (legendItem, chartData) => {\n if (!legendItem) return false;\n const dataset = chartData.datasets[legendItem.datasetIndex!]!;\n // Only show legend if dataset has at least one data point\n return Array.isArray(dataset.data) && dataset.data.length > 0;\n },\n },\n },\n datalabels: {\n labels: {\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 if (!context[0]) return '';\n\n return themeFormatter.data(\n { ...dimension, inputs: { ...dimension.inputs, maxCharacters: null } }, // tooltips titles do not truncate labels\n context[0].label,\n );\n },\n label: (context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\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 display: false,\n },\n [AXIS_ID_MAIN]: {\n title: {\n ...getChartjsAxisOptionsScalesTitle(),\n text: xAxisLabel,\n display: Boolean(xAxisLabel),\n },\n grid: { display: false },\n ticks: {\n ...getChartjsAxisOptionsScalesTicksDefault(),\n callback(index) {\n return themeFormatter.data(dimension, data.labels?.[index as number]);\n },\n },\n },\n [AXIS_ID_COMPARISON]: {\n display: false,\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n };\n\n return lineChartOptions;\n};\n\nconst getLineChartComparisonTimeOptions = (\n options: LineChartComparisonProOptionsProps,\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, xAxisLabel, showComparisonAxis, showDataComparison } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const mainDimensionLabels: string[] =\n (data.datasets.find((ds) => ds.xAxisID === AXIS_ID_MAIN) as { labels?: string[] })?.labels ??\n [];\n const comparisonDimensionLabels: string[] =\n (data.datasets.find((ds) => ds.xAxisID === AXIS_ID_COMPARISON) as { labels?: string[] })\n ?.labels ?? [];\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n legend: {\n labels: {\n filter: (legendItem, chartData) => {\n if (!legendItem) return false;\n const dataset = chartData.datasets[legendItem.datasetIndex!]!;\n // Only show legend if dataset has at least one data point\n return Array.isArray(dataset.data) && dataset.data.length > 0;\n },\n },\n },\n datalabels: {\n labels: {\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 contextItem = context[0];\n\n if (!showDataComparison && contextItem) {\n return themeFormatter.data(\n getDimensionWithoutTruncation(dimension),\n contextItem.label,\n );\n }\n\n const dataIndex = contextItem?.dataIndex;\n\n if (dataIndex === undefined) return '';\n\n const main =\n mainDimensionLabels[dataIndex] &&\n themeFormatter.data(\n getDimensionWithoutTruncation(dimension),\n mainDimensionLabels[dataIndex],\n );\n const comparison =\n comparisonDimensionLabels[dataIndex] &&\n themeFormatter.data(\n getDimensionWithoutTruncation(dimension),\n comparisonDimensionLabels[dataIndex],\n );\n\n return `${main ?? '-'} vs ${comparison ?? '-'}`;\n },\n label: (context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: { display: false },\n [AXIS_ID_MAIN]: {\n title: {\n ...getChartjsAxisOptionsScalesTitle(),\n text: xAxisLabel,\n display: Boolean(\n (!showComparisonAxis || comparisonDimensionLabels.length === 0) && xAxisLabel,\n ),\n },\n grid: { display: false },\n ticks: {\n ...getChartjsAxisOptionsScalesTicksDefault(),\n callback: (index) => {\n return themeFormatter.data(dimension, mainDimensionLabels[Number(index)]);\n },\n },\n },\n [AXIS_ID_COMPARISON]: {\n title: {\n ...getChartjsAxisOptionsScalesTitle(),\n text: xAxisLabel,\n display: Boolean(xAxisLabel),\n },\n grid: { display: false },\n display: showComparisonAxis && comparisonDimensionLabels.length > 0,\n ticks: {\n ...getChartjsAxisOptionsScalesTicksDefault(),\n callback: (index) => {\n if (comparisonDimensionLabels.length === 0) {\n return '';\n }\n\n const comparisonLabel = comparisonDimensionLabels[Number(index)];\n return comparisonLabel ? themeFormatter.data(dimension, comparisonLabel) : '';\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n };\n\n return lineChartOptions;\n};\n\nexport const getLineChartComparisonProOptions = (\n options: LineChartComparisonProOptionsProps,\n theme: Theme,\n): ChartOptions<'line'> => {\n const { onLineClicked, dimension } = options;\n\n const getOptions =\n dimension.nativeType === 'time'\n ? getLineChartComparisonTimeOptions\n : getLineChartComparisonNonTimeOptions;\n\n return mergician(\n getLineChartProOptionsOnClick({ onLineClicked }),\n getOptions(options, theme),\n theme.charts?.lineChartComparisonDefaultPro?.options || {},\n );\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { useEffect } from 'react';\nimport { getComparisonPeriodDateRange } from '../../../utils/timeRange.utils';\nimport {\n getLineChartComparisonProData,\n getLineChartComparisonProOptions,\n} from './LineChartComparisonDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartComparisonDefaultProProps = {\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n comparisonPeriod?: string;\n comparisonDateRange: TimeRange;\n showComparisonAxis?: boolean;\n primaryDateRange: TimeRange;\n setGranularity?: (granularity: Granularity) => void;\n setComparisonDateRange?: (dateRange: TimeRange) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartComparisonDefaultPro = (props: LineChartComparisonDefaultProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n comparisonPeriod,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n primaryDateRange,\n comparisonDateRange,\n showComparisonAxis,\n setGranularity,\n setComparisonDateRange,\n onLineClicked,\n } = props;\n\n useEffect(() => {\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange?.(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n externalDateBounds: primaryDateRange,\n });\n\n const resultsComparison = useFillGaps({\n results: props.resultsComparison,\n dimension: xAxis,\n externalDateBounds: comparisonDateRange,\n });\n\n const showDataComparison = Boolean(primaryDateRange && comparisonPeriod);\n const data = getLineChartComparisonProData(\n {\n data: results.data,\n dataComparison: showDataComparison ? (resultsComparison?.data ?? []) : undefined,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n\n const options = getLineChartComparisonProOptions(\n {\n data: data,\n dimension: xAxis,\n measures,\n xAxisLabel,\n showComparisonAxis,\n showDataComparison,\n onLineClicked,\n },\n theme,\n );\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [...(results.data ?? []), ...(resultsComparison?.data ?? [])],\n };\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={resultsCombined}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error || resultsComparison?.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\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 LineChartComparisonDefaultPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n OrderBy,\n TimeRange,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { LineChartProOptionsClickArg } from '../lines.utils';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'LineChartComparisonDefaultPro',\n label: 'Line Chart Comparison - Default',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [\n ...inputs.measures.inputs,\n { ...subInputs.boolean, name: 'fillUnderLine', label: 'Fill under line' },\n {\n ...subInputs.color,\n category: 'Component Settings',\n name: 'lineColor',\n label: 'Line color',\n },\n {\n ...subInputs.color,\n category: 'Component Settings',\n name: 'previousLineColor',\n label: 'Previous line color',\n },\n {\n ...subInputs.boolean,\n name: 'lineDashed',\n label: 'Primary line dashed',\n defaultValue: false,\n },\n {\n ...subInputs.boolean,\n name: 'previousLineDashed',\n label: 'Compared line dashed',\n defaultValue: true,\n },\n {\n ...subInputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'X-axis', name: 'xAxis' },\n {\n ...inputs.timeRange,\n name: 'primaryDateRange',\n label: 'Primary date-range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n ...inputs.comparisonPeriod,\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n {\n ...inputs.dimensionTime,\n name: 'timePropertyForNonTimeDimensions',\n label: 'Time property for non time dimensions',\n description:\n 'Choose the time property used for filtering comparison ranges. This will be ignored if your x-axis is already time-based.',\n required: false,\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n {\n ...inputs.boolean,\n name: 'showComparisonAxis',\n label: 'Display a comparison X-axis',\n defaultValue: true,\n category: 'Component Settings',\n },\n inputs.maxResults,\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 },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartComparisonDefaultProState = {\n comparisonDateRange: TimeRange;\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n measures: [\n {\n ...previewData.measure,\n inputs: {\n previousLineDashed: true,\n },\n },\n ],\n results: previewData.results1Measure2Dimensions,\n resultsComparison: previewData.results1Measure2DimensionsVariant,\n comparisonPeriod: 'Previous period',\n comparisonDateRange: { relativeTimeString: 'Previous period', from: undefined, to: undefined },\n primaryDateRange: { relativeTimeString: 'This week', from: undefined, to: undefined },\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n xAxis?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => {\n const resolvedXAxis = xAxis ?? inputs.xAxis;\n const orderBy: OrderBy[] = [{ property: resolvedXAxis, direction: 'asc' }];\n const timeProperty =\n resolvedXAxis.nativeType === 'time' ? resolvedXAxis : inputs.timePropertyForNonTimeDimensions;\n\n return {\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, resolvedXAxis],\n orderBy,\n filters:\n inputs.primaryDateRange && timeProperty\n ? [{ property: timeProperty, operator: 'inDateRange', value: inputs.primaryDateRange }]\n : undefined,\n timezone: getClientContextTimezone(clientContext?.timezone),\n };\n};\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, xAxis, clientContext));\n\nconst loadDataResultsComparisonArgs = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n comparisonDateRange: TimeRange,\n clientContext: ThemeClientContext,\n): LoadDataRequest => {\n const orderBy: OrderBy[] = [{ property: xAxis, direction: 'asc' }];\n const timeProperty =\n xAxis.nativeType === 'time' ? xAxis : inputs.timePropertyForNonTimeDimensions;\n\n return {\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, xAxis],\n orderBy,\n filters: [{ property: timeProperty, operator: 'inDateRange', value: comparisonDateRange }],\n timezone: getClientContextTimezone(clientContext?.timezone),\n };\n};\n\nconst loadDataResultsComparison = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n state: LineChartComparisonDefaultProState,\n clientContext: ThemeClientContext,\n): DataResponse | undefined => {\n const timeProperty =\n xAxis.nativeType === 'time' ? xAxis : inputs.timePropertyForNonTimeDimensions;\n\n if (inputs.primaryDateRange && timeProperty && state?.comparisonDateRange) {\n return loadData(\n loadDataResultsComparisonArgs(inputs, xAxis, state.comparisonDateRange, clientContext),\n );\n }\n return undefined;\n};\n\nconst events = {\n onLineClicked: (value: LineChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n LineChartComparisonDefaultProState,\n (state: LineChartComparisonDefaultProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ ...state, granularity }),\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) =>\n setState({ ...state, comparisonDateRange }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n resultsComparison: loadDataResultsComparison(\n inputs,\n xAxisWithGranularity,\n state,\n clientContext,\n ),\n };\n};\n\nexport const lineChartComparisonDefaultPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsComparison: {\n loadDataArgs: loadDataResultsComparisonArgs,\n loadData: loadDataResultsComparison,\n },\n} as const;\n"],"names":["AXIS_ID_MAIN","AXIS_ID_COMPARISON","getLineChartComparisonDataset","props","theme","data","measure","dimension","index","isPreviousPeriod","hasMinMaxYAxisRange","labels","datasetLabels","item","zeroFill","_a","processedData","label","found","themeFormatter","getThemeFormatter","isLineDashed","_b","chartColors","getChartColors","lineColorTemp","_c","lineColor","isColorValid","getDimensionMeasureColor","rawLabel","i18n","setColorAlpha","getStyleNumber","_d","getLineChartComparisonProData","dataComparison","measures","originalDatasets","comparisonDatasets","getLineChartComparisonNonTimeOptions","options","xAxisLabel","legendItem","chartData","dataset","value","context","raw","getChartjsAxisOptionsScalesTitle","getChartjsAxisOptionsScalesTicksDefault","getLineChartComparisonTimeOptions","showComparisonAxis","showDataComparison","mainDimensionLabels","ds","comparisonDimensionLabels","contextItem","getDimensionWithoutTruncation","dataIndex","main","comparison","comparisonLabel","getLineChartComparisonProOptions","onLineClicked","getOptions","mergician","getLineChartProOptionsOnClick","LineChartComparisonDefaultPro","useTheme","i18nSetup","title","description","tooltip","yAxisLabel","resolveI18nProps","hideMenu","comparisonPeriod","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","primaryDateRange","comparisonDateRange","setGranularity","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","results","useFillGaps","resultsComparison","resultsCombined","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","resolvedXAxis","orderBy","timeProperty","getClientContextTimezone","loadDataResults","loadData","loadDataResultsComparisonArgs","loadDataResultsComparison","state","events","Value","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartComparisonDefaultPro"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { m as j, j as p, P as M, V as A, l as y } from "./index-B9eYAQkT.js";
2
2
  import { useTheme as I, definePreview as T } from "@embeddable.com/react";
3
- import { g as _, a as O } from "./pies.utils-COX5fEMR.js";
3
+ import { g as _, a as O } from "./pies.utils-Bb2EFei6.js";
4
4
  import { a as R, r as z } from "./component.utils-Dua9clQJ.js";
5
5
  import { C as E } from "./ChartCard-Cv9hqNdM.js";
6
6
  import { i as s, s as F } from "./component.inputs.constants-DnFrZzR7.js";
@@ -10,32 +10,32 @@ const r = (e) => {
10
10
  const t = I();
11
11
  R(t);
12
12
  const { description: P, title: f, tooltip: w } = z(e), {
13
- dimension: a,
13
+ dimension: o,
14
14
  maxLegendItems: b,
15
15
  measure: n,
16
- results: o,
16
+ results: a,
17
17
  showLegend: v,
18
18
  showTooltips: V,
19
19
  showValueLabels: D,
20
20
  onSegmentClick: l
21
21
  } = e, { hideMenu: S } = e, k = _(
22
- { data: o.data, dimension: a, measure: n, maxLegendItems: b },
22
+ { data: a.data, dimension: o, measure: n, maxLegendItems: b },
23
23
  t
24
24
  ), x = j(
25
- O(n, t),
25
+ O({ measure: n, dimension: o }, t),
26
26
  ((m = t.charts.pieChartPro) == null ? void 0 : m.options) ?? {}
27
27
  ), L = (d) => {
28
28
  var u, c;
29
29
  l && l({
30
- dimensionValue: d === void 0 || (c = (u = o.data) == null ? void 0 : u[d]) == null ? void 0 : c[a.name]
30
+ dimensionValue: d === void 0 || (c = (u = a.data) == null ? void 0 : u[d]) == null ? void 0 : c[o.name]
31
31
  });
32
32
  };
33
33
  return /* @__PURE__ */ p.jsx(
34
34
  E,
35
35
  {
36
- data: o,
37
- dimensionsAndMeasures: [a, n],
38
- errorMessage: o.error,
36
+ data: a,
37
+ dimensionsAndMeasures: [o, n],
38
+ errorMessage: a.error,
39
39
  description: P,
40
40
  title: f,
41
41
  tooltip: w,
@@ -119,4 +119,4 @@ export {
119
119
  Y as i,
120
120
  Z as p
121
121
  };
122
- //# sourceMappingURL=definition-HZ3fanxl.js.map
122
+ //# sourceMappingURL=definition-DwouHcfu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-DwouHcfu.js","sources":["../src/components/charts/pies/PieChartPro/index.tsx","../src/components/charts/pies/PieChartPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { PieChart } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\nexport type PieChartProProps = DefaultPieChartProps;\n\nconst PieChartPro = (props: PieChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, title, tooltip } = resolveI18nProps(props);\n\n const {\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n onSegmentClick,\n } = props;\n\n const { hideMenu } = props;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const options = mergician(\n getPieChartProOptions({ measure, dimension }, theme),\n theme.charts.pieChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n if (!onSegmentClick) return;\n\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <PieChart\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default PieChartPro;\n","import { DataResponse, LoadDataRequest, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\n\nconst meta = {\n name: 'PieChartPro',\n label: 'Pie Chart',\n category: 'Pie Charts',\n inputs: [\n inputs.dataset,\n { ...inputs.measure, inputs: [...inputs.measure.inputs, subInputs.showValueAsPercentage] },\n inputs.dimension,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.maxLegendItems,\n inputs.showTooltips,\n inputs.showValueLabels,\n ],\n events: [\n {\n name: 'onSegmentClick',\n label: 'A segment is clicked',\n properties: [\n {\n name: 'dimensionValue',\n label: 'Clicked dimension',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measure: previewData.measure,\n results: previewData.results1Measure1Dimension,\n showValueLabels: false,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure, inputs.dimension],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst events = {\n onSegmentClick: (value: { dimensionValue?: string }) => ({\n dimensionValue: value.dimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n});\n\nexport const pieChartPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["PieChartPro","props","theme","useTheme","i18nSetup","description","title","tooltip","resolveI18nProps","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","onSegmentClick","hideMenu","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","PieChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","value","Value","pieChartPro"],"mappings":"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"}