@embeddable.com/remarkable-pro 0.0.25 → 0.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +35 -24
  2. package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
  3. package/dist/BarChartDefaultPro.js +38 -22
  4. package/dist/BarChartDefaultPro.js.map +1 -1
  5. package/dist/BarChartGroupedHorizontalPro.js +36 -28
  6. package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
  7. package/dist/BarChartGroupedPro.js +36 -28
  8. package/dist/BarChartGroupedPro.js.map +1 -1
  9. package/dist/BarChartStackedHorizontalPro.js +31 -23
  10. package/dist/BarChartStackedHorizontalPro.js.map +1 -1
  11. package/dist/BarChartStackedPro.js +31 -23
  12. package/dist/BarChartStackedPro.js.map +1 -1
  13. package/dist/{ChartCard-BHPN4_tz.js → ChartCard-C6rVK7Ux.js} +21 -21
  14. package/dist/{ChartCard-BHPN4_tz.js.map → ChartCard-C6rVK7Ux.js.map} +1 -1
  15. package/dist/ChartGranularitySelectField-BxhibpgC.js +40 -0
  16. package/dist/ChartGranularitySelectField-BxhibpgC.js.map +1 -0
  17. package/dist/{Color.type.emb-DWdIUAm5.js → Color.type.emb-De2K8PVb.js} +2067 -2042
  18. package/dist/{Color.type.emb-DWdIUAm5.js.map → Color.type.emb-De2K8PVb.js.map} +1 -1
  19. package/dist/ColorEditor.js +1 -1
  20. package/dist/ComparisonPeriodSelectFieldPro.js +3 -3
  21. package/dist/DateRangePickerCustomPro.js +4 -4
  22. package/dist/DateRangeSelectFieldPro.js +3 -3
  23. package/dist/DonutChartPro.js +4 -4
  24. package/dist/DonutLabelChartPro.js +4 -4
  25. package/dist/{EditorCard-ZXwl5-DV.js → EditorCard-DCm6Ykb8.js} +3 -3
  26. package/dist/{EditorCard-ZXwl5-DV.js.map → EditorCard-DCm6Ykb8.js.map} +1 -1
  27. package/dist/GranularitySelectField-CYq2YuAO.js +104 -0
  28. package/dist/GranularitySelectField-CYq2YuAO.js.map +1 -0
  29. package/dist/GranularitySelectFieldPro.js +43 -137
  30. package/dist/GranularitySelectFieldPro.js.map +1 -1
  31. package/dist/HeatMapPro.js +4 -4
  32. package/dist/{IconCalendarFilled-Bl7kPqxG.js → IconCalendarFilled-CYiLMPm9.js} +2 -2
  33. package/dist/{IconCalendarFilled-Bl7kPqxG.js.map → IconCalendarFilled-CYiLMPm9.js.map} +1 -1
  34. package/dist/KpiChartNumberComparisonPro.js +4 -4
  35. package/dist/KpiChartNumberPro.js +4 -4
  36. package/dist/LineChartComparisonDefaultPro.js +45 -40
  37. package/dist/LineChartComparisonDefaultPro.js.map +1 -1
  38. package/dist/LineChartDefaultPro.js +37 -29
  39. package/dist/LineChartDefaultPro.js.map +1 -1
  40. package/dist/LineChartGroupedPro.js +31 -23
  41. package/dist/LineChartGroupedPro.js.map +1 -1
  42. package/dist/MultiSelectFieldPro.js +4 -4
  43. package/dist/PieChartPro.js +4 -4
  44. package/dist/PivotTablePro.js +4 -4
  45. package/dist/SingleSelectFieldPro.js +4 -4
  46. package/dist/TableChartPaginated.js +4 -4
  47. package/dist/TableScrollable.js +17 -17
  48. package/dist/{bars.utils-DLqiVSYV.js → bars.utils-IYtKAgtt.js} +4 -4
  49. package/dist/{bars.utils-DLqiVSYV.js.map → bars.utils-IYtKAgtt.js.map} +1 -1
  50. package/dist/{charts.utils-lvlkFPJk.js → charts.utils-CeGAdGVG.js} +4 -4
  51. package/dist/{charts.utils-lvlkFPJk.js.map → charts.utils-CeGAdGVG.js.map} +1 -1
  52. package/dist/{component.inputs.constants-DO_jX-yc.js → component.inputs.constants-wDyG8tFg.js} +464 -382
  53. package/dist/component.inputs.constants-wDyG8tFg.js.map +1 -0
  54. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts +2 -1
  55. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +1 -1
  56. package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts +2 -1
  57. package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts.map +1 -1
  58. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts +2 -1
  59. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
  60. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts +2 -1
  61. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
  62. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts +2 -1
  63. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
  64. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts +2 -1
  65. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
  66. package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts +2 -1
  67. package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
  68. package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts +2 -1
  69. package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
  70. package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts +2 -1
  71. package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
  72. package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts +9 -0
  73. package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts.map +1 -0
  74. package/dist/components/charts/utils/granularity.utils.d.ts +13 -0
  75. package/dist/components/charts/utils/granularity.utils.d.ts.map +1 -0
  76. package/dist/components/component.inputs.constants.d.ts +12 -0
  77. package/dist/components/component.inputs.constants.d.ts.map +1 -1
  78. package/dist/components/component.subinputs.constants.d.ts +18 -0
  79. package/dist/components/component.subinputs.constants.d.ts.map +1 -1
  80. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
  81. package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.d.ts +12 -0
  82. package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.d.ts.map +1 -0
  83. package/dist/components/editors/{GranularitySelectFieldPro/GranularitySelectFieldPro.utils.d.ts → shared/GranularitySelectField/GranularitySelectField.utils.d.ts} +3 -3
  84. package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.utils.d.ts.map +1 -0
  85. package/dist/embeddable-components.json +34 -34
  86. package/dist/{formatter.utils-CBCUxVH8.js → formatter.utils-DlbthOXA.js} +8 -8
  87. package/dist/{formatter.utils-CBCUxVH8.js.map → formatter.utils-DlbthOXA.js.map} +1 -1
  88. package/dist/granularity.utils-CA504xa0.js +15 -0
  89. package/dist/granularity.utils-CA504xa0.js.map +1 -0
  90. package/dist/{index-Rxsr4tZ-.js → index-AqDTPWnU.js} +5 -5
  91. package/dist/{index-Rxsr4tZ-.js.map → index-AqDTPWnU.js.map} +1 -1
  92. package/dist/index-B2N9BsUK.js +92 -0
  93. package/dist/index-B2N9BsUK.js.map +1 -0
  94. package/dist/{index-DLT2A69c.js → index-BFvsuXiz.js} +5 -5
  95. package/dist/{index-DLT2A69c.js.map → index-BFvsuXiz.js.map} +1 -1
  96. package/dist/{index-BSK_5Rq3.js → index-BaboirUQ.js} +5 -5
  97. package/dist/{index-BSK_5Rq3.js.map → index-BaboirUQ.js.map} +1 -1
  98. package/dist/index-Bd4SFepB.js +93 -0
  99. package/dist/index-Bd4SFepB.js.map +1 -0
  100. package/dist/{index-CzM9TqMe.js → index-BkcQaDp8.js} +6 -6
  101. package/dist/{index-CzM9TqMe.js.map → index-BkcQaDp8.js.map} +1 -1
  102. package/dist/index-Cf96kZIH.js +82 -0
  103. package/dist/index-Cf96kZIH.js.map +1 -0
  104. package/dist/{index-DZYPPNrI.js → index-CgVjpFNs.js} +5 -5
  105. package/dist/{index-DZYPPNrI.js.map → index-CgVjpFNs.js.map} +1 -1
  106. package/dist/{index-s4oA7Iyp.js → index-CiO0tI86.js} +8 -8
  107. package/dist/{index-s4oA7Iyp.js.map → index-CiO0tI86.js.map} +1 -1
  108. package/dist/index-CoOz-mWY.js +90 -0
  109. package/dist/index-CoOz-mWY.js.map +1 -0
  110. package/dist/{index-EOl5XOZN.js → index-CvKdGFx3.js} +6 -6
  111. package/dist/{index-EOl5XOZN.js.map → index-CvKdGFx3.js.map} +1 -1
  112. package/dist/index-D3HMg6eu.js +177 -0
  113. package/dist/index-D3HMg6eu.js.map +1 -0
  114. package/dist/index-DCA_6rWw.js +182 -0
  115. package/dist/index-DCA_6rWw.js.map +1 -0
  116. package/dist/{index-CpUKjpYd.js → index-DHiPuxQQ.js} +4 -4
  117. package/dist/{index-CpUKjpYd.js.map → index-DHiPuxQQ.js.map} +1 -1
  118. package/dist/{index-0eDJ_Ho5.js → index-DfrwKtFA.js} +5 -5
  119. package/dist/{index-0eDJ_Ho5.js.map → index-DfrwKtFA.js.map} +1 -1
  120. package/dist/{index-BRuc7lF2.js → index-DytdIFQb.js} +5 -5
  121. package/dist/{index-BRuc7lF2.js.map → index-DytdIFQb.js.map} +1 -1
  122. package/dist/index-eEE2JmCK.js +346 -0
  123. package/dist/index-eEE2JmCK.js.map +1 -0
  124. package/dist/index-fcVfPVmY.js +83 -0
  125. package/dist/index-fcVfPVmY.js.map +1 -0
  126. package/dist/{index-BRX2mrGM.js → index-gnajbHE2.js} +18 -18
  127. package/dist/{index-BRX2mrGM.js.map → index-gnajbHE2.js.map} +1 -1
  128. package/dist/{index-Cn_Rs8nk.js → index-icM1qOGP.js} +5 -5
  129. package/dist/{index-Cn_Rs8nk.js.map → index-icM1qOGP.js.map} +1 -1
  130. package/dist/index-rodtTo_t.js +91 -0
  131. package/dist/index-rodtTo_t.js.map +1 -0
  132. package/dist/index.js +70 -69
  133. package/dist/{pies.utils-BxCBtjpf.js → pies.utils-XolEkyOz.js} +5 -5
  134. package/dist/{pies.utils-BxCBtjpf.js.map → pies.utils-XolEkyOz.js.map} +1 -1
  135. package/dist/{preview.data.constants-CXMriS2F.js → preview.data.constants-37wUPKG8.js} +2 -2
  136. package/dist/{preview.data.constants-CXMriS2F.js.map → preview.data.constants-37wUPKG8.js.map} +1 -1
  137. package/dist/remarkable-pro.css +1 -1
  138. package/dist/{tables.utils-DMLGNJ4g.js → tables.utils-Bb34U0u9.js} +4 -4
  139. package/dist/{tables.utils-DMLGNJ4g.js.map → tables.utils-Bb34U0u9.js.map} +1 -1
  140. package/dist/theme/defaults/defaults.GranularityOptions.constants.d.ts +1 -0
  141. package/dist/theme/defaults/defaults.GranularityOptions.constants.d.ts.map +1 -1
  142. package/dist/{timeRange.utils-C_oRVExZ.js → timeRange.utils-DdzcsFwj.js} +5 -5
  143. package/dist/{timeRange.utils-C_oRVExZ.js.map → timeRange.utils-DdzcsFwj.js.map} +1 -1
  144. package/package.json +2 -2
  145. package/dist/component.inputs.constants-DO_jX-yc.js.map +0 -1
  146. package/dist/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.utils.d.ts.map +0 -1
  147. package/dist/index-ByFoIwAq.js +0 -83
  148. package/dist/index-ByFoIwAq.js.map +0 -1
  149. package/dist/index-CRWWARnB.js +0 -75
  150. package/dist/index-CRWWARnB.js.map +0 -1
  151. package/dist/index-CVIirzal.js +0 -73
  152. package/dist/index-CVIirzal.js.map +0 -1
  153. package/dist/index-Cj1Zuh74.js +0 -165
  154. package/dist/index-Cj1Zuh74.js.map +0 -1
  155. package/dist/index-D9LxkwlG.js +0 -82
  156. package/dist/index-D9LxkwlG.js.map +0 -1
  157. package/dist/index-DDeRZxp1.js +0 -334
  158. package/dist/index-DDeRZxp1.js.map +0 -1
  159. package/dist/index-DMtpdR9I.js +0 -170
  160. package/dist/index-DMtpdR9I.js.map +0 -1
  161. package/dist/index-L5_Ts7FG.js +0 -83
  162. package/dist/index-L5_Ts7FG.js.map +0 -1
  163. package/dist/index-Uhz2U4Dp.js +0 -84
  164. package/dist/index-Uhz2U4Dp.js.map +0 -1
@@ -0,0 +1,177 @@
1
+ import { d as G, m as j, j as k, L as v } from "./Color.type.emb-De2K8PVb.js";
2
+ import { useTheme as O } from "@embeddable.com/react";
3
+ import { a as P, r as S } from "./component.inputs.constants-wDyG8tFg.js";
4
+ import { C as y } from "./ChartCard-C6rVK7Ux.js";
5
+ import { g as w } from "./formatter.utils-DlbthOXA.js";
6
+ import { a as A } from "./styles.utils-u6uj51UE.js";
7
+ import { s as $ } from "./color.utils-BSg_DFOh.js";
8
+ import { g as F } from "./lines.utils-COGf_F0b.js";
9
+ import { u as R } from "./charts.fillGaps.hooks-C7KsWcZb.js";
10
+ import { C as T } from "./ChartGranularitySelectField-BxhibpgC.js";
11
+ const D = (l, s) => {
12
+ const m = w(s), { data: o = [], dimension: c, groupDimension: t, measure: r, hasMinMaxYAxisRange: u } = l, n = [...new Set(o.map((a) => a[c.name]).filter((a) => a != null))].sort(), d = [...new Set(o.map((a) => a[t.name]))].filter((a) => a != null), e = G(), i = d.map((a, g) => {
13
+ var x;
14
+ const h = A({
15
+ dimensionOrMeasure: t,
16
+ theme: s,
17
+ color: "background",
18
+ value: `${t.name}.${a}`,
19
+ chartColors: e,
20
+ index: g
21
+ }), C = A({
22
+ dimensionOrMeasure: t,
23
+ theme: s,
24
+ color: "border",
25
+ value: `${t.name}.${a}`,
26
+ chartColors: e,
27
+ index: g
28
+ });
29
+ return {
30
+ clip: u,
31
+ label: m.data(t, a),
32
+ rawLabel: a,
33
+ backgroundColor: $(h, 0.5),
34
+ pointBackgroundColor: h,
35
+ fill: (x = r.inputs) == null ? void 0 : x.fillUnderLine,
36
+ borderColor: C,
37
+ data: n.map((M) => {
38
+ var b;
39
+ const p = o.find(
40
+ (f) => f[t.name] === a && f[c.name] === M
41
+ );
42
+ return (p == null ? void 0 : p[r.name]) ?? ((b = r.inputs) != null && b.connectGaps ? 0 : null);
43
+ })
44
+ };
45
+ });
46
+ return {
47
+ labels: n,
48
+ datasets: i
49
+ };
50
+ }, _ = (l, s) => {
51
+ var n, d;
52
+ const { dimension: m, data: o, measure: c, onLineClicked: t } = l, r = w(s), u = {
53
+ plugins: {
54
+ datalabels: {
55
+ labels: {
56
+ value: {
57
+ formatter: (e) => r.data(c, e)
58
+ }
59
+ }
60
+ },
61
+ tooltip: {
62
+ callbacks: {
63
+ title: (e) => {
64
+ var a;
65
+ const i = (a = e[0]) == null ? void 0 : a.label;
66
+ return r.data(m, i);
67
+ },
68
+ label: (e) => {
69
+ const i = e.raw;
70
+ return `${e.dataset.label}: ${r.data(c, i)}`;
71
+ }
72
+ }
73
+ }
74
+ },
75
+ scales: {
76
+ x: {
77
+ ticks: {
78
+ callback: (e) => {
79
+ if (!o || !o.labels) return;
80
+ const i = o.labels[Number(e)];
81
+ return r.data(m, i);
82
+ }
83
+ }
84
+ },
85
+ y: {
86
+ ticks: {
87
+ callback: (e) => r.data(c, e)
88
+ }
89
+ }
90
+ }
91
+ };
92
+ return j(
93
+ F({ onLineClicked: t }),
94
+ u,
95
+ ((d = (n = s.charts) == null ? void 0 : n.lineChartGroupedPro) == null ? void 0 : d.options) || {}
96
+ );
97
+ }, Y = (l) => {
98
+ const s = O();
99
+ P(s);
100
+ const { title: m, description: o, xAxisLabel: c, yAxisLabel: t } = S(l), {
101
+ hideMenu: r,
102
+ measure: u,
103
+ xAxis: n,
104
+ groupBy: d,
105
+ reverseXAxis: e,
106
+ showLegend: i,
107
+ showLogarithmicScale: a,
108
+ showTooltips: g,
109
+ showValueLabels: h,
110
+ yAxisRangeMax: C,
111
+ yAxisRangeMin: L,
112
+ setGranularity: x,
113
+ onLineClicked: M
114
+ } = l, p = R({
115
+ results: l.results,
116
+ dimension: l.xAxis
117
+ }), b = D(
118
+ {
119
+ data: p.data,
120
+ dimension: n,
121
+ groupDimension: d,
122
+ measure: u,
123
+ hasMinMaxYAxisRange: L != null || C != null
124
+ },
125
+ s
126
+ ), f = _(
127
+ { data: b, dimension: n, measure: u, onLineClicked: M },
128
+ s
129
+ );
130
+ return /* @__PURE__ */ k.jsxs(
131
+ y,
132
+ {
133
+ data: p,
134
+ dimensionsAndMeasures: [u, n, d],
135
+ errorMessage: p.error,
136
+ description: o,
137
+ title: m,
138
+ hideMenu: r,
139
+ children: [
140
+ /* @__PURE__ */ k.jsx(
141
+ T,
142
+ {
143
+ hasMarginTop: !m && !o,
144
+ dimension: n,
145
+ onChange: x
146
+ }
147
+ ),
148
+ /* @__PURE__ */ k.jsx(
149
+ v,
150
+ {
151
+ data: b,
152
+ reverseXAxis: e,
153
+ showLegend: i,
154
+ showLogarithmicScale: a,
155
+ showTooltips: g,
156
+ showValueLabels: h,
157
+ xAxisLabel: c,
158
+ yAxisLabel: t,
159
+ yAxisRangeMax: C,
160
+ yAxisRangeMin: L,
161
+ options: f
162
+ }
163
+ )
164
+ ]
165
+ }
166
+ );
167
+ }, K = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
168
+ __proto__: null,
169
+ default: Y
170
+ }, Symbol.toStringTag, { value: "Module" }));
171
+ export {
172
+ Y as L,
173
+ _ as a,
174
+ D as g,
175
+ K as i
176
+ };
177
+ //# sourceMappingURL=index-D3HMg6eu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-D3HMg6eu.js","sources":["../src/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.ts","../src/components/charts/lines/LineChartGroupedPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { mergician } from 'mergician';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { getLineChartProOptions, LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartGroupedProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure, hasMinMaxYAxisRange } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupBy = [...new Set(data.map((d) => d[groupDimension.name]))].filter((d) => d != null);\n\n const chartColors = getChartColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'background',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'border',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const dataset = {\n clip: hasMinMaxYAxisRange,\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n fill: measure.inputs?.['fillUnderLine'],\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimension.name] === groupByItem && d[dimension.name] === axisItem,\n );\n return record?.[measure.name] ?? (measure.inputs?.['connectGaps'] ? 0 : null);\n }),\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getLineChartGroupedProOptions = (\n options: {\n dimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measure, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n };\n\n return mergician(\n getLineChartProOptions({ onLineClicked }),\n lineChartOptions,\n theme.charts?.lineChartGroupedPro?.options || {},\n );\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from './LineChartGroupedPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\ntype LineChartGroupedProProp = {\n xAxis: Dimension;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartGroupedPro = (props: LineChartGroupedProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getLineChartGroupedProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartGroupedProOptions(\n { data, dimension: xAxis, measure, onLineClicked },\n theme,\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={!title && !description}\n dimension={xAxis}\n onChange={setGranularity}\n />\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartGroupedPro;\n"],"names":["getLineChartGroupedProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","hasMinMaxYAxisRange","axis","d","groupBy","chartColors","getChartColors","datasets","groupByItem","index","backgroundColor","getDimensionMeasureColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptions","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart"],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ import { d as O, e as L, m as j, j as x, L as w } from "./Color.type.emb-De2K8PVb.js";
2
+ import { useTheme as F } from "@embeddable.com/react";
3
+ import { a as P, r as S } from "./component.inputs.constants-wDyG8tFg.js";
4
+ import { C as T } from "./ChartCard-C6rVK7Ux.js";
5
+ import { g as v } from "./formatter.utils-DlbthOXA.js";
6
+ import { a as M } from "./styles.utils-u6uj51UE.js";
7
+ import { i as k, s as D } from "./color.utils-BSg_DFOh.js";
8
+ import { u as R } from "./charts.fillGaps.hooks-C7KsWcZb.js";
9
+ import { C as _ } from "./ChartGranularitySelectField-BxhibpgC.js";
10
+ const B = (s, r) => {
11
+ if (!s.data)
12
+ return {
13
+ labels: [],
14
+ datasets: [{ data: [] }]
15
+ };
16
+ const d = v(r), i = s.data;
17
+ return {
18
+ labels: i.map((e) => e[s.dimension.name]),
19
+ datasets: s.measures.map((e, c) => {
20
+ var o, m, h, C;
21
+ const l = !!((o = e.inputs) != null && o.connectGaps), b = i.map((g) => g[e.name] ?? (l ? 0 : null)), t = (m = e.inputs) == null ? void 0 : m.lineColor, u = O(), a = k(t) ? t : M({
22
+ dimensionOrMeasure: e,
23
+ theme: r,
24
+ color: "background",
25
+ value: e.name,
26
+ chartColors: u,
27
+ index: c
28
+ }), n = k(t) ? t : M({
29
+ dimensionOrMeasure: e,
30
+ theme: r,
31
+ color: "border",
32
+ value: e.name,
33
+ chartColors: u,
34
+ index: c
35
+ });
36
+ return {
37
+ clip: s.hasMinMaxYAxisRange,
38
+ label: d.dimensionOrMeasureTitle(e),
39
+ data: b,
40
+ backgroundColor: D(a, 0.5),
41
+ pointBackgroundColor: a,
42
+ borderDash: (h = e.inputs) != null && h.dashedLine ? [
43
+ L("--em-linechart-line-dash", "0.25rem"),
44
+ L("--em-linechart-line-gap", "0.25rem")
45
+ ] : void 0,
46
+ borderColor: n,
47
+ fill: !!((C = e.inputs) != null && C.fillUnderLine)
48
+ };
49
+ })
50
+ };
51
+ }, G = (s, r) => {
52
+ var t, u;
53
+ const { dimension: d, data: i, measures: e, onLineClicked: c } = s, l = v(r);
54
+ return j({
55
+ plugins: {
56
+ datalabels: {
57
+ labels: {
58
+ value: {
59
+ formatter: (a, n) => {
60
+ const o = e[n.datasetIndex];
61
+ return l.data(o, a);
62
+ }
63
+ }
64
+ }
65
+ },
66
+ tooltip: {
67
+ callbacks: {
68
+ title: (a) => {
69
+ var o;
70
+ const n = (o = a[0]) == null ? void 0 : o.label;
71
+ return l.data(d, n);
72
+ },
73
+ label: (a) => {
74
+ const n = e[a.datasetIndex], o = a.raw;
75
+ return `${l.data(d, a.dataset.label) || ""}: ${l.data(n, o)}`;
76
+ }
77
+ }
78
+ }
79
+ },
80
+ scales: {
81
+ x: {
82
+ ticks: {
83
+ callback: (a) => {
84
+ if (!i || !i.labels) return;
85
+ const n = i.labels[Number(a)];
86
+ return l.data(d, n);
87
+ }
88
+ }
89
+ },
90
+ y: {
91
+ ticks: {
92
+ callback: (a) => l.data(e[0], a)
93
+ }
94
+ }
95
+ },
96
+ onClick: (a, n, o) => {
97
+ if (!c) return;
98
+ const m = n[0], h = m ? o.data.labels[m.index] : null;
99
+ c({
100
+ dimensionValue: h
101
+ });
102
+ }
103
+ }, ((u = (t = r.charts) == null ? void 0 : t.lineChartDefaultPro) == null ? void 0 : u.options) || {});
104
+ }, I = (s) => {
105
+ const r = F();
106
+ P(r);
107
+ const { title: d, description: i, xAxisLabel: e, yAxisLabel: c } = S(s), {
108
+ hideMenu: l,
109
+ measures: b,
110
+ xAxis: t,
111
+ reverseXAxis: u,
112
+ showLegend: a,
113
+ showLogarithmicScale: n,
114
+ showTooltips: o,
115
+ showValueLabels: m,
116
+ yAxisRangeMax: h,
117
+ yAxisRangeMin: C,
118
+ setGranularity: g,
119
+ onLineClicked: A
120
+ } = s, p = R({
121
+ results: s.results,
122
+ dimension: t
123
+ }), f = B(
124
+ {
125
+ data: p.data,
126
+ dimension: t,
127
+ measures: b,
128
+ hasMinMaxYAxisRange: C != null || h != null
129
+ },
130
+ r
131
+ ), y = G(
132
+ { data: f, dimension: t, measures: b, onLineClicked: A },
133
+ r
134
+ );
135
+ return /* @__PURE__ */ x.jsxs(
136
+ T,
137
+ {
138
+ data: p,
139
+ dimensionsAndMeasures: [...b, t],
140
+ errorMessage: p.error,
141
+ description: i,
142
+ title: d,
143
+ hideMenu: l,
144
+ children: [
145
+ /* @__PURE__ */ x.jsx(
146
+ _,
147
+ {
148
+ hasMarginTop: !d && !i,
149
+ dimension: t,
150
+ onChange: g
151
+ }
152
+ ),
153
+ /* @__PURE__ */ x.jsx(
154
+ w,
155
+ {
156
+ data: f,
157
+ reverseXAxis: u,
158
+ showLegend: a,
159
+ showLogarithmicScale: n,
160
+ showTooltips: o,
161
+ showValueLabels: m,
162
+ xAxisLabel: e,
163
+ yAxisLabel: c,
164
+ yAxisRangeMax: h,
165
+ yAxisRangeMin: C,
166
+ options: y
167
+ }
168
+ )
169
+ ]
170
+ }
171
+ );
172
+ }, H = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
173
+ __proto__: null,
174
+ default: I
175
+ }, Symbol.toStringTag, { value: "Module" }));
176
+ export {
177
+ I as L,
178
+ G as a,
179
+ B as g,
180
+ H as i
181
+ };
182
+ //# sourceMappingURL=index-DCA_6rWw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DCA_6rWw.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getChartColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n\n const groupedData = props.data;\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n const values = groupedData.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const lineColor = measure.inputs?.['lineColor'];\n const chartColors = getChartColors();\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n chartColors,\n index,\n });\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n chartColors,\n index,\n });\n\n return {\n clip: props.hasMinMaxYAxisRange,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: values,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n borderDash: measure.inputs?.['dashedLine']\n ? [\n getStyleNumber('--em-linechart-line-dash', '0.25rem'),\n getStyleNumber('--em-linechart-line-gap', '0.25rem'),\n ]\n : undefined,\n borderColor,\n fill: Boolean(measure.inputs?.['fillUnderLine']),\n } as ChartData<'line'>['datasets'][number];\n }),\n };\n};\n\nexport const getLineChartProOptions = (\n options: {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${themeFormatter.data(dimension, context.dataset.label) || ''}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n onClick: (_event, elements, chart) => {\n if (!onLineClicked) return;\n\n const element = elements[0];\n const dimensionValue = (element ? chart.data.labels![element.index] : null) as string | null;\n\n onLineClicked({\n dimensionValue,\n });\n },\n };\n\n return mergician(lineChartOptions, theme.charts?.lineChartDefaultPro?.options || {});\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { getLineChartProData, getLineChartProOptions } from './LineChartDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\ntype LineChartProProp = {\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartPro = (props: LineChartProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const {\n hideMenu,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getLineChartProData(\n {\n data: results.data,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartProOptions(\n { data, dimension: xAxis, measures, onLineClicked },\n theme,\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={!title && !description}\n dimension={xAxis}\n onChange={setGranularity}\n />\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartPro;\n"],"names":["getLineChartProData","props","theme","themeFormatter","getThemeFormatter","groupedData","item","measure","index","zeroFill","_a","values","lineColor","_b","chartColors","getChartColors","backgroundColor","isColorValid","getDimensionMeasureColor","borderColor","setColorAlpha","_c","getStyleNumber","_d","getLineChartProOptions","options","dimension","data","measures","onLineClicked","mergician","value","context","label","raw","_event","elements","chart","element","dimensionValue","LineChartPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { i as u, j as i, S as g } from "./Color.type.emb-DWdIUAm5.js";
1
+ import { i as u, j as i, S as g } from "./Color.type.emb-De2K8PVb.js";
2
2
  import { useTheme as v } from "@embeddable.com/react";
3
3
  import { g as f, u as h, c as y } from "./dates.utils-BF32dTLi.js";
4
- import { c as b, a as P, r as M, i as S } from "./component.inputs.constants-DO_jX-yc.js";
5
- import { E as j } from "./EditorCard-ZXwl5-DV.js";
4
+ import { e as b, a as P, r as M, i as S } from "./component.inputs.constants-wDyG8tFg.js";
5
+ import { E as j } from "./EditorCard-DCm6Ykb8.js";
6
6
  import { useMemo as C, useEffect as O } from "react";
7
7
  /**
8
8
  * @license @tabler/icons-react v3.36.1 - MIT
@@ -57,4 +57,4 @@ export {
57
57
  _ as g,
58
58
  z as i
59
59
  };
60
- //# sourceMappingURL=index-CpUKjpYd.js.map
60
+ //# sourceMappingURL=index-DHiPuxQQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-CpUKjpYd.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarTime.mjs","../src/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.ts","../src/components/editors/ComparisonPeriodSelectFieldPro/index.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.36.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M14 18a4 4 0 1 0 8 0a4 4 0 1 0 -8 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M15 3v4\", \"key\": \"svg-2\" }], [\"path\", { \"d\": \"M7 3v4\", \"key\": \"svg-3\" }], [\"path\", { \"d\": \"M3 11h16\", \"key\": \"svg-4\" }], [\"path\", { \"d\": \"M18 16.496v1.504l1 1\", \"key\": \"svg-5\" }]];\nconst IconCalendarTime = createReactComponent(\"outline\", \"calendar-time\", \"CalendarTime\", __iconNode);\n\nexport { __iconNode, IconCalendarTime as default };\n//# sourceMappingURL=IconCalendarTime.mjs.map\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport { ComparisonPeriodSelectFieldProOption } from './ComparisonPeriodSelectFieldPro.types';\nimport { resolveI18nString } from '../../component.utils';\nimport { getTimeRangeLabel } from '../dates/dates.utils';\n\n// Checks if the comparison period type is available in the embeddable types\nexport const isComparisonPeriodAvailable = (\n option: string | undefined,\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n): boolean => {\n return !option || comparisonPeriodSelectFieldProOptions.some((opt) => opt.value === option);\n};\n\nexport const getComparisonPeriodSelectFieldProOptions = (\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n toCompareTimeRange: TimeRange,\n): SelectListOptionProps[] => {\n return comparisonPeriodSelectFieldProOptions.map((option) => {\n return {\n rightLabel: toCompareTimeRange\n ? getTimeRangeLabel(option.getRange(toCompareTimeRange), option.dateFormat)\n : '',\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils.ts/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarTime } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../theme/i18n/i18n';\nimport {\n getComparisonPeriodSelectFieldProOptions,\n isComparisonPeriodAvailable,\n} from './ComparisonPeriodSelectFieldPro.utils';\nimport { useEffect, useMemo } from 'react';\nimport { getTimeRangeFromPresets } from '../dates/dates.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\n\ntype DateComparisonSelectFieldPro = {\n placeholder?: string;\n primaryDateRange?: TimeRange;\n comparisonPeriod?: string;\n onChange: (newComparisonPeriod?: string) => void;\n} & ChartCardHeaderProps;\n\nconst DateComparisonSelectFieldPro = (props: DateComparisonSelectFieldPro) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, placeholder, title, comparisonPeriod, onChange } = resolveI18nProps(props);\n\n const comparisonPeriodOptions = theme.defaults.comparisonPeriodsOptions;\n\n const comparisonPeriodAvailable = useMemo(\n () => isComparisonPeriodAvailable(comparisonPeriod, comparisonPeriodOptions),\n [comparisonPeriod, comparisonPeriodOptions],\n );\n\n // If the current comparison period is not available, reset the field\n useEffect(() => {\n if (!comparisonPeriodAvailable) {\n onChange(undefined);\n }\n }, [comparisonPeriodAvailable, onChange]);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n // Obtain the actual range for the selected primaryDateRange\n const primaryDateRange = getTimeRangeFromPresets(\n props.primaryDateRange,\n theme.defaults.dateRangesOptions,\n );\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const options = getComparisonPeriodSelectFieldProOptions(\n comparisonPeriodOptions,\n primaryDateRange,\n );\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n startIcon={IconCalendarTime}\n clearable\n placeholder={placeholder}\n value={comparisonPeriodAvailable ? comparisonPeriod : undefined}\n onChange={onChange}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DateComparisonSelectFieldPro;\n"],"names":["__iconNode","IconCalendarTime","createReactComponent","isComparisonPeriodAvailable","option","comparisonPeriodSelectFieldProOptions","opt","getComparisonPeriodSelectFieldProOptions","toCompareTimeRange","getTimeRangeLabel","resolveI18nString","DateComparisonSelectFieldPro","props","theme","useTheme","i18nSetup","description","placeholder","title","comparisonPeriod","onChange","resolveI18nProps","comparisonPeriodOptions","comparisonPeriodAvailable","useMemo","useEffect","dayjsLocaleReady","useLoadDayjsLocale","primaryDateRange","getTimeRangeFromPresets","options","jsx","EditorCard","SingleSelectField","i18n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,2EAA2E,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,uCAAuC,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,WAAW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,UAAU,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,YAAY,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,wBAAwB,KAAO,QAAO,CAAE,CAAC,GACzYC,IAAmBC,EAAqB,WAAW,iBAAiB,gBAAgBF,CAAU,GCHvFG,IAA8B,CACzCC,GACAC,MAEO,CAACD,KAAUC,EAAsC,KAAK,CAACC,MAAQA,EAAI,UAAUF,CAAM,GAG/EG,IAA2C,CACtDF,GACAG,MAEOH,EAAsC,IAAI,CAACD,OACzC;AAAA,EACL,YAAYI,IACRC,EAAkBL,EAAO,SAASI,CAAkB,GAAGJ,EAAO,UAAU,IACxE;AAAA,EACJ,OAAOA,EAAO;AAAA,EACd,OAAOM,EAAkBN,EAAO,KAAK;AAAA,EAExC,GCFGO,IAA+B,CAACC,MAAwC;AAC5E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,aAAAG,GAAa,aAAAC,GAAa,OAAAC,GAAO,kBAAAC,GAAkB,UAAAC,EAAA,IAAaC,EAAiBT,CAAK,GAExFU,IAA0BT,EAAM,SAAS,0BAEzCU,IAA4BC;AAAA,IAChC,MAAMrB,EAA4BgB,GAAkBG,CAAuB;AAAA,IAC3E,CAACH,GAAkBG,CAAuB;AAAA,EAAA;AAI5C,EAAAG,EAAU,MAAM;AACd,IAAKF,KACHH,EAAS,MAAS;AAAA,EAEtB,GAAG,CAACG,GAA2BH,CAAQ,CAAC;AAExC,QAAM,EAAE,kBAAAM,EAAA,IAAqBC,EAAA,GAGvBC,IAAmBC;AAAA,IACvBjB,EAAM;AAAA,IACNC,EAAM,SAAS;AAAA,EAAA;AAGjB,MAAI,CAACa;AACH,WAAO;AAGT,QAAMI,IAAUvB;AAAA,IACde;AAAA,IACAM;AAAA,EAAA;AAGF,SACEG,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAd,GAAc,UAAUF,GAClC,UAAAe,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWhC;AAAA,MACX,WAAS;AAAA,MACT,aAAAgB;AAAA,MACA,OAAOM,IAA4BJ,IAAmB;AAAA,MACtD,UAAAC;AAAA,MACA,SAAAU;AAAA,MACA,kBAAkBI,EAAK,EAAE,2BAA2B;AAAA,MACpD,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index-DHiPuxQQ.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarTime.mjs","../src/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.ts","../src/components/editors/ComparisonPeriodSelectFieldPro/index.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.36.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M14 18a4 4 0 1 0 8 0a4 4 0 1 0 -8 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M15 3v4\", \"key\": \"svg-2\" }], [\"path\", { \"d\": \"M7 3v4\", \"key\": \"svg-3\" }], [\"path\", { \"d\": \"M3 11h16\", \"key\": \"svg-4\" }], [\"path\", { \"d\": \"M18 16.496v1.504l1 1\", \"key\": \"svg-5\" }]];\nconst IconCalendarTime = createReactComponent(\"outline\", \"calendar-time\", \"CalendarTime\", __iconNode);\n\nexport { __iconNode, IconCalendarTime as default };\n//# sourceMappingURL=IconCalendarTime.mjs.map\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport { ComparisonPeriodSelectFieldProOption } from './ComparisonPeriodSelectFieldPro.types';\nimport { resolveI18nString } from '../../component.utils';\nimport { getTimeRangeLabel } from '../dates/dates.utils';\n\n// Checks if the comparison period type is available in the embeddable types\nexport const isComparisonPeriodAvailable = (\n option: string | undefined,\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n): boolean => {\n return !option || comparisonPeriodSelectFieldProOptions.some((opt) => opt.value === option);\n};\n\nexport const getComparisonPeriodSelectFieldProOptions = (\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n toCompareTimeRange: TimeRange,\n): SelectListOptionProps[] => {\n return comparisonPeriodSelectFieldProOptions.map((option) => {\n return {\n rightLabel: toCompareTimeRange\n ? getTimeRangeLabel(option.getRange(toCompareTimeRange), option.dateFormat)\n : '',\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils.ts/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarTime } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../theme/i18n/i18n';\nimport {\n getComparisonPeriodSelectFieldProOptions,\n isComparisonPeriodAvailable,\n} from './ComparisonPeriodSelectFieldPro.utils';\nimport { useEffect, useMemo } from 'react';\nimport { getTimeRangeFromPresets } from '../dates/dates.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\n\ntype DateComparisonSelectFieldPro = {\n placeholder?: string;\n primaryDateRange?: TimeRange;\n comparisonPeriod?: string;\n onChange: (newComparisonPeriod?: string) => void;\n} & ChartCardHeaderProps;\n\nconst DateComparisonSelectFieldPro = (props: DateComparisonSelectFieldPro) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, placeholder, title, comparisonPeriod, onChange } = resolveI18nProps(props);\n\n const comparisonPeriodOptions = theme.defaults.comparisonPeriodsOptions;\n\n const comparisonPeriodAvailable = useMemo(\n () => isComparisonPeriodAvailable(comparisonPeriod, comparisonPeriodOptions),\n [comparisonPeriod, comparisonPeriodOptions],\n );\n\n // If the current comparison period is not available, reset the field\n useEffect(() => {\n if (!comparisonPeriodAvailable) {\n onChange(undefined);\n }\n }, [comparisonPeriodAvailable, onChange]);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n // Obtain the actual range for the selected primaryDateRange\n const primaryDateRange = getTimeRangeFromPresets(\n props.primaryDateRange,\n theme.defaults.dateRangesOptions,\n );\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const options = getComparisonPeriodSelectFieldProOptions(\n comparisonPeriodOptions,\n primaryDateRange,\n );\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n startIcon={IconCalendarTime}\n clearable\n placeholder={placeholder}\n value={comparisonPeriodAvailable ? comparisonPeriod : undefined}\n onChange={onChange}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DateComparisonSelectFieldPro;\n"],"names":["__iconNode","IconCalendarTime","createReactComponent","isComparisonPeriodAvailable","option","comparisonPeriodSelectFieldProOptions","opt","getComparisonPeriodSelectFieldProOptions","toCompareTimeRange","getTimeRangeLabel","resolveI18nString","DateComparisonSelectFieldPro","props","theme","useTheme","i18nSetup","description","placeholder","title","comparisonPeriod","onChange","resolveI18nProps","comparisonPeriodOptions","comparisonPeriodAvailable","useMemo","useEffect","dayjsLocaleReady","useLoadDayjsLocale","primaryDateRange","getTimeRangeFromPresets","options","jsx","EditorCard","SingleSelectField","i18n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,2EAA2E,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,uCAAuC,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,WAAW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,UAAU,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,YAAY,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,wBAAwB,KAAO,QAAO,CAAE,CAAC,GACzYC,IAAmBC,EAAqB,WAAW,iBAAiB,gBAAgBF,CAAU,GCHvFG,IAA8B,CACzCC,GACAC,MAEO,CAACD,KAAUC,EAAsC,KAAK,CAACC,MAAQA,EAAI,UAAUF,CAAM,GAG/EG,IAA2C,CACtDF,GACAG,MAEOH,EAAsC,IAAI,CAACD,OACzC;AAAA,EACL,YAAYI,IACRC,EAAkBL,EAAO,SAASI,CAAkB,GAAGJ,EAAO,UAAU,IACxE;AAAA,EACJ,OAAOA,EAAO;AAAA,EACd,OAAOM,EAAkBN,EAAO,KAAK;AAAA,EAExC,GCFGO,IAA+B,CAACC,MAAwC;AAC5E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,aAAAG,GAAa,aAAAC,GAAa,OAAAC,GAAO,kBAAAC,GAAkB,UAAAC,EAAA,IAAaC,EAAiBT,CAAK,GAExFU,IAA0BT,EAAM,SAAS,0BAEzCU,IAA4BC;AAAA,IAChC,MAAMrB,EAA4BgB,GAAkBG,CAAuB;AAAA,IAC3E,CAACH,GAAkBG,CAAuB;AAAA,EAAA;AAI5C,EAAAG,EAAU,MAAM;AACd,IAAKF,KACHH,EAAS,MAAS;AAAA,EAEtB,GAAG,CAACG,GAA2BH,CAAQ,CAAC;AAExC,QAAM,EAAE,kBAAAM,EAAA,IAAqBC,EAAA,GAGvBC,IAAmBC;AAAA,IACvBjB,EAAM;AAAA,IACNC,EAAM,SAAS;AAAA,EAAA;AAGjB,MAAI,CAACa;AACH,WAAO;AAGT,QAAMI,IAAUvB;AAAA,IACde;AAAA,IACAM;AAAA,EAAA;AAGF,SACEG,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAd,GAAc,UAAUF,GAClC,UAAAe,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWhC;AAAA,MACX,WAAS;AAAA,MACT,aAAAgB;AAAA,MACA,OAAOM,IAA4BJ,IAAmB;AAAA,MACtD,UAAAC;AAAA,MACA,SAAAU;AAAA,MACA,kBAAkBI,EAAK,EAAE,2BAA2B;AAAA,MACpD,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;;","x_google_ignoreList":[0]}
@@ -1,8 +1,8 @@
1
- import { j as n, K as h } from "./Color.type.emb-DWdIUAm5.js";
1
+ import { j as n, K as h } from "./Color.type.emb-De2K8PVb.js";
2
2
  import { useTheme as j } from "@embeddable.com/react";
3
- import { a as x, r as g } from "./component.inputs.constants-DO_jX-yc.js";
4
- import { C as v } from "./ChartCard-BHPN4_tz.js";
5
- import { g as C } from "./formatter.utils-CBCUxVH8.js";
3
+ import { a as x, r as g } from "./component.inputs.constants-wDyG8tFg.js";
4
+ import { C as v } from "./ChartCard-C6rVK7Ux.js";
5
+ import { g as C } from "./formatter.utils-DlbthOXA.js";
6
6
  const S = (r) => {
7
7
  var a, s;
8
8
  const o = j();
@@ -28,4 +28,4 @@ export {
28
28
  S as K,
29
29
  z as i
30
30
  };
31
- //# sourceMappingURL=index-0eDJ_Ho5.js.map
31
+ //# sourceMappingURL=index-DfrwKtFA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-0eDJ_Ho5.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\ntype KpiChartNumberProProp = {\n results: DataResponse;\n measure: Measure;\n fontSize?: number;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, results, measure, fontSize } = resolveI18nProps(props);\n const { hideMenu } = props;\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <KpiChart value={value} valueFormatter={valueFormatter} valueFontSize={fontSize} />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","title","description","results","measure","fontSize","resolveI18nProps","hideMenu","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","jsx","ChartCard","KpiChart"],"mappings":";;;;;AAeA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,SAAAC,GAAS,UAAAC,EAAA,IAAaC,EAAiBT,CAAK,GAC3E,EAAE,UAAAU,MAAaV,GAEfW,KAAQC,KAAAC,IAAAP,EAAQ,SAAR,gBAAAO,EAAe,OAAf,gBAAAD,EAAoBL,EAAQ,OAEpCO,IAAiBC,EAAkBd,CAAK,GACxCe,IAAiB,CAACC,MAA0BH,EAAe,KAAKP,GAASU,CAAa;AAE5F,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMb;AAAA,MACN,uBAAuB,CAACC,CAAO;AAAA,MAC/B,cAAcD,EAAQ;AAAA,MACtB,aAAAD;AAAA,MACA,OAAAD;AAAA,MACA,UAAAM;AAAA,MAEA,UAAAQ,gBAAAA,EAAAA,IAACE,GAAA,EAAS,OAAAT,GAAc,gBAAAK,GAAgC,eAAeR,EAAA,CAAU;AAAA,IAAA;AAAA,EAAA;AAGvF;;;;"}
1
+ {"version":3,"file":"index-DfrwKtFA.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\ntype KpiChartNumberProProp = {\n results: DataResponse;\n measure: Measure;\n fontSize?: number;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, results, measure, fontSize } = resolveI18nProps(props);\n const { hideMenu } = props;\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <KpiChart value={value} valueFormatter={valueFormatter} valueFontSize={fontSize} />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","title","description","results","measure","fontSize","resolveI18nProps","hideMenu","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","jsx","ChartCard","KpiChart"],"mappings":";;;;;AAeA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,SAAAC,GAAS,UAAAC,EAAA,IAAaC,EAAiBT,CAAK,GAC3E,EAAE,UAAAU,MAAaV,GAEfW,KAAQC,KAAAC,IAAAP,EAAQ,SAAR,gBAAAO,EAAe,OAAf,gBAAAD,EAAoBL,EAAQ,OAEpCO,IAAiBC,EAAkBd,CAAK,GACxCe,IAAiB,CAACC,MAA0BH,EAAe,KAAKP,GAASU,CAAa;AAE5F,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMb;AAAA,MACN,uBAAuB,CAACC,CAAO;AAAA,MAC/B,cAAcD,EAAQ;AAAA,MACtB,aAAAD;AAAA,MACA,OAAAD;AAAA,MACA,UAAAM;AAAA,MAEA,UAAAQ,gBAAAA,EAAAA,IAACE,GAAA,EAAS,OAAAT,GAAc,gBAAAK,GAAgC,eAAeR,EAAA,CAAU;AAAA,IAAA;AAAA,EAAA;AAGvF;;;;"}
@@ -1,8 +1,8 @@
1
- import { m as S, j as l, P as b } from "./Color.type.emb-DWdIUAm5.js";
1
+ import { m as S, j as l, P as b } from "./Color.type.emb-De2K8PVb.js";
2
2
  import { useTheme as v } from "@embeddable.com/react";
3
- import { g as M, a as _ } from "./pies.utils-BxCBtjpf.js";
4
- import { a as k, r as w } from "./component.inputs.constants-DO_jX-yc.js";
5
- import { C as L } from "./ChartCard-BHPN4_tz.js";
3
+ import { g as M, a as _ } from "./pies.utils-XolEkyOz.js";
4
+ import { a as k, r as w } from "./component.inputs.constants-wDyG8tFg.js";
5
+ import { C as L } from "./ChartCard-C6rVK7Ux.js";
6
6
  const O = (s) => {
7
7
  var n;
8
8
  const e = v();
@@ -60,4 +60,4 @@ export {
60
60
  O as P,
61
61
  A as i
62
62
  };
63
- //# sourceMappingURL=index-BRuc7lF2.js.map
63
+ //# sourceMappingURL=index-DytdIFQb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-BRuc7lF2.js","sources":["../src/components/charts/pies/PieChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { PieChart } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype PieChartProProps = DefaultPieChartProps;\n\nconst PieChartPro = (props: PieChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const { hideMenu } = props;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const options = mergician(\n getPieChartProOptions(measure, theme),\n theme.charts.pieChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n if (!onSegmentClick) return;\n\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <PieChart\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default PieChartPro;\n"],"names":["PieChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","hideMenu","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","PieChart"],"mappings":";;;;;AAYA,MAAMA,IAAc,CAACC,MAA4B;;AAC/C,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpB,EAAE,UAAAe,MAAaf,GAEfgB,IAAOC;AAAA,IACX,EAAE,MAAMT,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA;AAAA,IAC1CL;AAAA,EAAA,GAGIiB,IAAUC;AAAA,IACdC,EAAsBb,GAASN,CAAK;AAAA,MACpCoB,IAAApB,EAAM,OAAO,gBAAb,gBAAAoB,EAA0B,YAAW,CAAA;AAAA,EAAC,GAGlCC,IAAqB,CAACC,MAA8B;;AACxD,IAAKV,KAELA,EAAe;AAAA,MACb,gBAAgBU,MAAU,WAAwBC,KAAAH,IAAAb,EAAQ,SAAR,gBAAAa,EAAeE,OAAf,OAAZ,SAAYC,EAAwBnB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH;AAEA,SACEoB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMlB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,aAAAJ;AAAA,MACA,OAAAQ;AAAA,MACA,UAAAG;AAAA,MAEA,UAAAU,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAX;AAAA,UACA,SAAAE;AAAA,UACA,YAAAT;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,gBAAgBW;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB;AAAA,EAAA;AAGN;;;;"}
1
+ {"version":3,"file":"index-DytdIFQb.js","sources":["../src/components/charts/pies/PieChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { PieChart } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype PieChartProProps = DefaultPieChartProps;\n\nconst PieChartPro = (props: PieChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const { hideMenu } = props;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const options = mergician(\n getPieChartProOptions(measure, theme),\n theme.charts.pieChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n if (!onSegmentClick) return;\n\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <PieChart\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default PieChartPro;\n"],"names":["PieChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","hideMenu","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","PieChart"],"mappings":";;;;;AAYA,MAAMA,IAAc,CAACC,MAA4B;;AAC/C,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpB,EAAE,UAAAe,MAAaf,GAEfgB,IAAOC;AAAA,IACX,EAAE,MAAMT,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA;AAAA,IAC1CL;AAAA,EAAA,GAGIiB,IAAUC;AAAA,IACdC,EAAsBb,GAASN,CAAK;AAAA,MACpCoB,IAAApB,EAAM,OAAO,gBAAb,gBAAAoB,EAA0B,YAAW,CAAA;AAAA,EAAC,GAGlCC,IAAqB,CAACC,MAA8B;;AACxD,IAAKV,KAELA,EAAe;AAAA,MACb,gBAAgBU,MAAU,WAAwBC,KAAAH,IAAAb,EAAQ,SAAR,gBAAAa,EAAeE,OAAf,OAAZ,SAAYC,EAAwBnB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH;AAEA,SACEoB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMlB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,aAAAJ;AAAA,MACA,OAAAQ;AAAA,MACA,UAAAG;AAAA,MAEA,UAAAU,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAX;AAAA,UACA,SAAAE;AAAA,UACA,YAAAT;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,gBAAgBW;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB;AAAA,EAAA;AAGN;;;;"}