@embeddable.com/remarkable-pro 0.0.21 → 0.0.23

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 (230) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +17 -10
  2. package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
  3. package/dist/BarChartDefaultPro.js +17 -10
  4. package/dist/BarChartDefaultPro.js.map +1 -1
  5. package/dist/BarChartGroupedHorizontalPro.js +19 -11
  6. package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
  7. package/dist/BarChartGroupedPro.js +19 -11
  8. package/dist/BarChartGroupedPro.js.map +1 -1
  9. package/dist/BarChartStackedHorizontalPro.js +18 -10
  10. package/dist/BarChartStackedHorizontalPro.js.map +1 -1
  11. package/dist/BarChartStackedPro.js +19 -11
  12. package/dist/BarChartStackedPro.js.map +1 -1
  13. package/dist/ChartCard-B3B1rFYh.js +116 -0
  14. package/dist/ChartCard-B3B1rFYh.js.map +1 -0
  15. package/dist/{Color.type.emb-Dkh_ZrO6.js → Color.type.emb-sebikYGW.js} +8424 -8398
  16. package/dist/{Color.type.emb-Dkh_ZrO6.js.map → Color.type.emb-sebikYGW.js.map} +1 -1
  17. package/dist/ColorEditor.js +1 -1
  18. package/dist/ComparisonPeriodSelectFieldPro.js +11 -8
  19. package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
  20. package/dist/DateRangePickerCustomPro.js +33 -28
  21. package/dist/DateRangePickerCustomPro.js.map +1 -1
  22. package/dist/DateRangeSelectFieldPro.js +12 -8
  23. package/dist/DateRangeSelectFieldPro.js.map +1 -1
  24. package/dist/DonutChartPro.js +23 -15
  25. package/dist/DonutChartPro.js.map +1 -1
  26. package/dist/DonutLabelChartPro.js +31 -11
  27. package/dist/DonutLabelChartPro.js.map +1 -1
  28. package/dist/{EditorCard-1Z3UFd1D.js → EditorCard-DpSCsmZJ.js} +3 -3
  29. package/dist/{EditorCard-1Z3UFd1D.js.map → EditorCard-DpSCsmZJ.js.map} +1 -1
  30. package/dist/GranularitySelectFieldPro.js +97 -81
  31. package/dist/GranularitySelectFieldPro.js.map +1 -1
  32. package/dist/HeatMapPro.js +18 -10
  33. package/dist/HeatMapPro.js.map +1 -1
  34. package/dist/IconCalendarFilled-Bfm3jkzE.js +12 -0
  35. package/dist/IconCalendarFilled-Bfm3jkzE.js.map +1 -0
  36. package/dist/KpiChartNumberComparisonPro.js +25 -14
  37. package/dist/KpiChartNumberComparisonPro.js.map +1 -1
  38. package/dist/KpiChartNumberPro.js +23 -14
  39. package/dist/KpiChartNumberPro.js.map +1 -1
  40. package/dist/LineChartComparisonDefaultPro.js +37 -19
  41. package/dist/LineChartComparisonDefaultPro.js.map +1 -1
  42. package/dist/LineChartDefaultPro.js +21 -14
  43. package/dist/LineChartDefaultPro.js.map +1 -1
  44. package/dist/LineChartGroupedPro.js +25 -17
  45. package/dist/LineChartGroupedPro.js.map +1 -1
  46. package/dist/MultiSelectFieldPro.js +22 -16
  47. package/dist/MultiSelectFieldPro.js.map +1 -1
  48. package/dist/PieChartPro.js +23 -15
  49. package/dist/PieChartPro.js.map +1 -1
  50. package/dist/PivotTablePro.js +19 -11
  51. package/dist/PivotTablePro.js.map +1 -1
  52. package/dist/SingleSelectFieldPro.js +22 -16
  53. package/dist/SingleSelectFieldPro.js.map +1 -1
  54. package/dist/TableChartPaginated.js +62 -43
  55. package/dist/TableChartPaginated.js.map +1 -1
  56. package/dist/TableScrollable.js +324 -315
  57. package/dist/TableScrollable.js.map +1 -1
  58. package/dist/{bars.utils-CsJD9MNL.js → bars.utils-DJnFf-V0.js} +10 -9
  59. package/dist/bars.utils-DJnFf-V0.js.map +1 -0
  60. package/dist/{charts.utils-CUPowt7F.js → charts.utils-udVhj9f6.js} +321 -321
  61. package/dist/charts.utils-udVhj9f6.js.map +1 -0
  62. package/dist/{component.inputs.constants-CNdmawDt.js → component.inputs.constants-Ds7YpNhT.js} +35 -35
  63. package/dist/{component.inputs.constants-CNdmawDt.js.map → component.inputs.constants-Ds7YpNhT.js.map} +1 -1
  64. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts +11 -12
  65. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +1 -1
  66. package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts +11 -12
  67. package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts.map +1 -1
  68. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts +10 -11
  69. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
  70. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts +10 -11
  71. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
  72. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts +10 -11
  73. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
  74. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts +10 -11
  75. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
  76. package/dist/components/charts/bars/bars.utils.d.ts +1 -1
  77. package/dist/components/charts/bars/bars.utils.d.ts.map +1 -1
  78. package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts +6 -7
  79. package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -1
  80. package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts +3 -4
  81. package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts.map +1 -1
  82. package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts +3 -3
  83. package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +1 -1
  84. package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts +12 -13
  85. package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
  86. package/dist/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts +1 -1
  87. package/dist/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts.map +1 -1
  88. package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts +10 -11
  89. package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
  90. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts +1 -1
  91. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +1 -1
  92. package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts +10 -11
  93. package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
  94. package/dist/components/charts/lines/lines.utils.d.ts +1 -1
  95. package/dist/components/charts/lines/lines.utils.d.ts.map +1 -1
  96. package/dist/components/charts/pies/DonutChartPro/index.d.ts.map +1 -1
  97. package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts +1 -1
  98. package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts.map +1 -1
  99. package/dist/components/charts/pies/PieChartPro/index.d.ts.map +1 -1
  100. package/dist/components/charts/pies/pies.types.d.ts +7 -8
  101. package/dist/components/charts/pies/pies.types.d.ts.map +1 -1
  102. package/dist/components/charts/shared/ChartCard/ChartCard.d.ts +1 -1
  103. package/dist/components/charts/shared/ChartCard/ChartCard.d.ts.map +1 -1
  104. package/dist/components/charts/tables/HeatMapPro/index.d.ts +3 -4
  105. package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
  106. package/dist/components/charts/tables/PivotTablePro/index.d.ts +2 -3
  107. package/dist/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
  108. package/dist/components/charts/tables/TableChartPaginated/index.d.ts +6 -8
  109. package/dist/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
  110. package/dist/components/charts/tables/TableScrollable/TableScrollable.utils.d.ts +1 -1
  111. package/dist/components/charts/tables/TableScrollable/index.d.ts +6 -8
  112. package/dist/components/charts/tables/TableScrollable/index.d.ts.map +1 -1
  113. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts +2 -3
  114. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
  115. package/dist/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.utils.d.ts.map +1 -1
  116. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts +6 -6
  117. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
  118. package/dist/components/editors/MultiSelectFieldPro/index.d.ts +4 -5
  119. package/dist/components/editors/MultiSelectFieldPro/index.d.ts.map +1 -1
  120. package/dist/components/editors/SingleSelectFieldPro/index.d.ts +4 -5
  121. package/dist/components/editors/SingleSelectFieldPro/index.d.ts.map +1 -1
  122. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts +3 -4
  123. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
  124. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts +3 -4
  125. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
  126. package/dist/components/preview.data.constants.d.ts +18 -0
  127. package/dist/components/preview.data.constants.d.ts.map +1 -0
  128. package/dist/embeddable-components.json +38 -13
  129. package/dist/embeddable-theme-0137e.js +3 -3
  130. package/dist/{formatter.utils-BiWZBhcE.js → formatter.utils-tS15PLXn.js} +2 -2
  131. package/dist/{formatter.utils-BiWZBhcE.js.map → formatter.utils-tS15PLXn.js.map} +1 -1
  132. package/dist/index--Dbq1zrZ.js +31 -0
  133. package/dist/index--Dbq1zrZ.js.map +1 -0
  134. package/dist/index-APU1GD5M.js +166 -0
  135. package/dist/index-APU1GD5M.js.map +1 -0
  136. package/dist/index-BMiribI6.js +72 -0
  137. package/dist/index-BMiribI6.js.map +1 -0
  138. package/dist/index-BUk63KEk.js +87 -0
  139. package/dist/index-BUk63KEk.js.map +1 -0
  140. package/dist/index-BWbZ-eYD.js +83 -0
  141. package/dist/index-BWbZ-eYD.js.map +1 -0
  142. package/dist/index-Bqp4yCd3.js +75 -0
  143. package/dist/index-Bqp4yCd3.js.map +1 -0
  144. package/dist/index-BsWftigv.js +123 -0
  145. package/dist/index-BsWftigv.js.map +1 -0
  146. package/dist/{index-CSoASUv1.js → index-CBgU-nlM.js} +5 -5
  147. package/dist/index-CBgU-nlM.js.map +1 -0
  148. package/dist/{index-tjFCL7Y-.js → index-CCdQwMMN.js} +6 -6
  149. package/dist/index-CCdQwMMN.js.map +1 -0
  150. package/dist/{index-DoFkdyxp.js → index-CDtF3MO_.js} +45 -36
  151. package/dist/index-CDtF3MO_.js.map +1 -0
  152. package/dist/{index-Du2TCRQq.js → index-CTC3YNmw.js} +5 -5
  153. package/dist/index-CTC3YNmw.js.map +1 -0
  154. package/dist/index-CbL0nET2.js +63 -0
  155. package/dist/index-CbL0nET2.js.map +1 -0
  156. package/dist/index-D6h8s36F.js +84 -0
  157. package/dist/index-D6h8s36F.js.map +1 -0
  158. package/dist/index-D9J4M9sd.js +82 -0
  159. package/dist/index-D9J4M9sd.js.map +1 -0
  160. package/dist/{index-yOOAOJHG.js → index-DtGheuiZ.js} +32 -31
  161. package/dist/index-DtGheuiZ.js.map +1 -0
  162. package/dist/index-DxpfQVmG.js +113 -0
  163. package/dist/index-DxpfQVmG.js.map +1 -0
  164. package/dist/index-DxpjYqqB.js +63 -0
  165. package/dist/index-DxpjYqqB.js.map +1 -0
  166. package/dist/index-DzPftkGV.js +73 -0
  167. package/dist/index-DzPftkGV.js.map +1 -0
  168. package/dist/index-Nj7bJ8tg.js +161 -0
  169. package/dist/index-Nj7bJ8tg.js.map +1 -0
  170. package/dist/index-h3GKi8po.js +332 -0
  171. package/dist/index-h3GKi8po.js.map +1 -0
  172. package/dist/index-t7YCtFvf.js +97 -0
  173. package/dist/index-t7YCtFvf.js.map +1 -0
  174. package/dist/index.js +29 -29
  175. package/dist/lines.utils-COGf_F0b.js +40 -0
  176. package/dist/lines.utils-COGf_F0b.js.map +1 -0
  177. package/dist/{pies.utils-DCy5LWcY.js → pies.utils-Dgs6TAkX.js} +12 -12
  178. package/dist/{pies.utils-DCy5LWcY.js.map → pies.utils-Dgs6TAkX.js.map} +1 -1
  179. package/dist/preview.data.constants-tDMYNi0n.js +71 -0
  180. package/dist/preview.data.constants-tDMYNi0n.js.map +1 -0
  181. package/dist/{tables.utils-8OmfcPmH.js → tables.utils-33eWJN_a.js} +5 -9
  182. package/dist/tables.utils-33eWJN_a.js.map +1 -0
  183. package/dist/theme/formatter/formatter.constants.d.ts.map +1 -1
  184. package/dist/{timeRange.utils-81KUBS9O.js → timeRange.utils-Dz0fdD_b.js} +2 -2
  185. package/dist/{timeRange.utils-81KUBS9O.js.map → timeRange.utils-Dz0fdD_b.js.map} +1 -1
  186. package/package.json +5 -5
  187. package/dist/ChartCard-D_A88_bS.js +0 -116
  188. package/dist/ChartCard-D_A88_bS.js.map +0 -1
  189. package/dist/bars.utils-CsJD9MNL.js.map +0 -1
  190. package/dist/charts.utils-CUPowt7F.js.map +0 -1
  191. package/dist/index-1vsLONt_.js +0 -111
  192. package/dist/index-1vsLONt_.js.map +0 -1
  193. package/dist/index-8PpbF7SA.js +0 -82
  194. package/dist/index-8PpbF7SA.js.map +0 -1
  195. package/dist/index-B3m93Z4r.js +0 -81
  196. package/dist/index-B3m93Z4r.js.map +0 -1
  197. package/dist/index-BBcQWvRk.js +0 -159
  198. package/dist/index-BBcQWvRk.js.map +0 -1
  199. package/dist/index-BOI6FOwo.js +0 -62
  200. package/dist/index-BOI6FOwo.js.map +0 -1
  201. package/dist/index-Boogtc12.js +0 -71
  202. package/dist/index-Boogtc12.js.map +0 -1
  203. package/dist/index-BuBn1ktN.js +0 -83
  204. package/dist/index-BuBn1ktN.js.map +0 -1
  205. package/dist/index-CQ_mo5Eg.js +0 -330
  206. package/dist/index-CQ_mo5Eg.js.map +0 -1
  207. package/dist/index-CSoASUv1.js.map +0 -1
  208. package/dist/index-CVJKjJGv.js +0 -72
  209. package/dist/index-CVJKjJGv.js.map +0 -1
  210. package/dist/index-Cv4JGkHO.js +0 -95
  211. package/dist/index-Cv4JGkHO.js.map +0 -1
  212. package/dist/index-D5CZAWnJ.js +0 -128
  213. package/dist/index-D5CZAWnJ.js.map +0 -1
  214. package/dist/index-DVUJikiN.js +0 -73
  215. package/dist/index-DVUJikiN.js.map +0 -1
  216. package/dist/index-Dhzhtagm.js +0 -30
  217. package/dist/index-Dhzhtagm.js.map +0 -1
  218. package/dist/index-DkmPuuV8.js +0 -84
  219. package/dist/index-DkmPuuV8.js.map +0 -1
  220. package/dist/index-DoFkdyxp.js.map +0 -1
  221. package/dist/index-Dp7Av-Oy.js +0 -62
  222. package/dist/index-Dp7Av-Oy.js.map +0 -1
  223. package/dist/index-Du2TCRQq.js.map +0 -1
  224. package/dist/index-XTTodJI4.js +0 -163
  225. package/dist/index-XTTodJI4.js.map +0 -1
  226. package/dist/index-tjFCL7Y-.js.map +0 -1
  227. package/dist/index-yOOAOJHG.js.map +0 -1
  228. package/dist/lines.utils-CFEUUo4k.js +0 -40
  229. package/dist/lines.utils-CFEUUo4k.js.map +0 -1
  230. package/dist/tables.utils-8OmfcPmH.js.map +0 -1
@@ -0,0 +1,123 @@
1
+ import { x as M, y as z, j as a, z as N, E as q, F as d, G as B, J as G, N as J, O as Q, Q as A, R as H } from "./Color.type.emb-sebikYGW.js";
2
+ import { useTheme as K } from "@embeddable.com/react";
3
+ import { g as P, u as U, a as W, c as b, b as X } from "./dates.utils-BF32dTLi.js";
4
+ import { c as Y, a as Z, r as $, i as m } from "./component.inputs.constants-Ds7YpNhT.js";
5
+ import { E as V } from "./EditorCard-DpSCsmZJ.js";
6
+ import { useState as R, useEffect as ee } from "react";
7
+ import { I as te } from "./IconCalendarFilled-Bfm3jkzE.js";
8
+ const ae = (o) => o.map((n) => ({
9
+ rightLabel: P(n.getRange(), n.dateFormat),
10
+ value: n.value,
11
+ label: Y(n.label)
12
+ })), ne = "_dateRangePickerContent_pig22_1", se = "_dateRangePickerContainer_pig22_5", v = {
13
+ dateRangePickerContent: ne,
14
+ dateRangePickerContainer: se
15
+ }, oe = (o) => {
16
+ const n = K();
17
+ Z(n);
18
+ const { dayjsLocaleReady: i } = U(), { onChange: s, clearable: k, selectedValue: e, showCustomRangeOptions: j, showTwoMonths: D } = o, u = !j, [x, f] = R(u), [S, p] = R(!1), [l, c] = R(
19
+ W(e)
20
+ ), r = n.defaults.dateRangesOptions;
21
+ if (ee(() => {
22
+ if (!i)
23
+ return;
24
+ const t = b(e, r);
25
+ M(t, e) || s(t);
26
+ }, [e, i, s, r]), !i)
27
+ return null;
28
+ const { description: T, placeholder: C, title: O } = $(o), h = ae(r), L = (t) => {
29
+ const g = b(
30
+ { relativeTimeString: t },
31
+ r
32
+ );
33
+ s(g), c(void 0);
34
+ }, F = (t) => {
35
+ s(X(t)), p(!1);
36
+ }, I = () => {
37
+ c(void 0), s(void 0);
38
+ }, _ = (() => {
39
+ if (e != null && e.relativeTimeString) {
40
+ const t = h.find((g) => g.value === e.relativeTimeString);
41
+ if (t)
42
+ return t.label;
43
+ }
44
+ return e != null && e.from && (e != null && e.to) ? P(e, "MMM DD") : "";
45
+ })(), w = n.i18n.language ?? n.formatter.locale, y = z(l, e), E = D ? 2 : 1;
46
+ return /* @__PURE__ */ a.jsx(V, { title: O, subtitle: T, children: /* @__PURE__ */ a.jsx(
47
+ N,
48
+ {
49
+ open: S,
50
+ onOpenChange: p,
51
+ triggerComponent: /* @__PURE__ */ a.jsx(
52
+ H,
53
+ {
54
+ startIcon: te,
55
+ "aria-label": C,
56
+ placeholder: C,
57
+ valueLabel: _,
58
+ onClear: I,
59
+ isClearable: k
60
+ }
61
+ ),
62
+ children: /* @__PURE__ */ a.jsx(q, { fitContent: !0, className: v.dateRangePickerContent, children: x ? /* @__PURE__ */ a.jsxs("div", { className: v.dateRangePickerContainer, children: [
63
+ !u && /* @__PURE__ */ a.jsx(
64
+ d,
65
+ {
66
+ label: m.t("editors.dateRangePicker.backToPresets"),
67
+ onClick: (t) => {
68
+ t.preventDefault(), f(!1);
69
+ },
70
+ startIcon: /* @__PURE__ */ a.jsx(B, {})
71
+ }
72
+ ),
73
+ /* @__PURE__ */ a.jsx(
74
+ G,
75
+ {
76
+ locale: w,
77
+ numberOfMonths: E,
78
+ value: l,
79
+ onChange: c
80
+ }
81
+ ),
82
+ /* @__PURE__ */ a.jsx(
83
+ J,
84
+ {
85
+ size: "small",
86
+ disabled: y,
87
+ onClick: () => F(l),
88
+ children: m.t("editors.dateRangePicker.apply")
89
+ }
90
+ )
91
+ ] }) : /* @__PURE__ */ a.jsxs(Q, { children: [
92
+ /* @__PURE__ */ a.jsx(
93
+ d,
94
+ {
95
+ label: m.t("editors.dateRangePicker.custom"),
96
+ onClick: (t) => {
97
+ t.preventDefault(), f(!0);
98
+ },
99
+ endIcon: /* @__PURE__ */ a.jsx(A, {})
100
+ }
101
+ ),
102
+ h.map((t) => /* @__PURE__ */ a.jsx(
103
+ d,
104
+ {
105
+ ...t,
106
+ isSelected: (e == null ? void 0 : e.relativeTimeString) === t.value,
107
+ onClick: () => L(t.value)
108
+ },
109
+ t.value
110
+ ))
111
+ ] }) })
112
+ }
113
+ ) });
114
+ }, ue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
115
+ __proto__: null,
116
+ default: oe
117
+ }, Symbol.toStringTag, { value: "Module" }));
118
+ export {
119
+ oe as D,
120
+ ae as g,
121
+ ue as i
122
+ };
123
+ //# sourceMappingURL=index-BsWftigv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BsWftigv.js","sources":["../src/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.ts","../src/components/editors/dates/DateRangePickerPresetsPro/index.tsx"],"sourcesContent":["import { DateRangeSelectFieldProOption } from './DateRangePickerPresetsPro.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { resolveI18nString } from '../../../component.utils';\nimport { getTimeRangeLabel } from '../dates.utils';\n\nexport const getDateRangeSelectFieldProOptions = (\n dateRangeSelectFieldProOptions: DateRangeSelectFieldProOption[],\n): SelectListOptionProps[] => {\n return dateRangeSelectFieldProOptions.map((option) => {\n return {\n rightLabel: getTimeRangeLabel(option.getRange(), option.dateFormat),\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport {\n Button,\n DateRangePicker,\n Dropdown,\n SelectFieldContent,\n SelectFieldContentList,\n SelectListOption,\n DateRange,\n SelectFieldTrigger,\n isSameDateRange,\n shallowEqual,\n} from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../../utils.ts/date.utils';\nimport { getDateRangeSelectFieldProOptions } from './DateRangePickerPresetsPro.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { EditorCard } from '../../shared/EditorCard/EditorCard';\nimport { IconCalendarFilled, IconChevronLeft, IconChevronRight } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { useEffect, useState } from 'react';\nimport styles from './DateRangePickerPresetsPro.module.css';\nimport {\n getDateRangeFromTimeRange,\n getTimeRangeFromDateRange,\n getTimeRangeFromPresets,\n getTimeRangeLabel,\n} from '../dates.utils';\nimport { ChartCardHeaderProps } from '../../../charts/shared/ChartCard/ChartCard';\n\ntype DateRangePickerPresetsProps = {\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue?: TimeRange;\n\n clearable?: boolean;\n showCustomRangeOptions?: boolean;\n showTwoMonths?: boolean;\n} & ChartCardHeaderProps;\n\nconst DateRangePickerPresets = (props: DateRangePickerPresetsProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n const { onChange, clearable, selectedValue, showCustomRangeOptions, showTwoMonths } = props;\n const onlyDateRangePicker = !showCustomRangeOptions;\n const [showDateRangePicker, setShowDateRangePicker] = useState(onlyDateRangePicker);\n\n const [isOpen, setIsOpen] = useState(false);\n const [dateRange, setDateRange] = useState<DateRange | undefined>(\n getDateRangeFromTimeRange(selectedValue),\n );\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n\n useEffect(() => {\n if (!dayjsLocaleReady) {\n return;\n }\n // Step 1: Convert relativeTimeString to actual time range (from/to)\n const newTimeRange = getTimeRangeFromPresets(selectedValue, dateRangeOptions);\n\n if (!shallowEqual(newTimeRange, selectedValue)) {\n onChange(newTimeRange);\n }\n }, [selectedValue, dayjsLocaleReady, onChange, dateRangeOptions]);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title } = resolveI18nProps(props);\n\n const options = getDateRangeSelectFieldProOptions(dateRangeOptions);\n\n const handleOptionChange = (newValue: string | undefined) => {\n const newTimeRange = getTimeRangeFromPresets(\n { relativeTimeString: newValue } as TimeRange,\n dateRangeOptions,\n );\n\n onChange(newTimeRange);\n setDateRange(undefined);\n };\n\n const handleDateRangeChange = (newDateRange: DateRange | undefined) => {\n onChange(getTimeRangeFromDateRange(newDateRange));\n setIsOpen(false);\n };\n\n const handleClear = () => {\n setDateRange(undefined);\n onChange(undefined);\n };\n\n const getValueLabel = () => {\n if (selectedValue?.relativeTimeString) {\n const option = options.find((option) => option.value === selectedValue.relativeTimeString);\n if (option) {\n return option.label;\n }\n }\n\n if (selectedValue?.from && selectedValue?.to) {\n return getTimeRangeLabel(selectedValue, 'MMM DD');\n }\n\n return '';\n };\n\n const valueLabel = getValueLabel();\n\n const locale = theme.i18n.language ?? theme.formatter.locale;\n const isSubmitDisabled = isSameDateRange(dateRange, selectedValue);\n const numberOfMonths = showTwoMonths ? 2 : 1;\n\n return (\n <EditorCard title={title} subtitle={description}>\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n triggerComponent={\n <SelectFieldTrigger\n startIcon={IconCalendarFilled}\n aria-label={placeholder}\n placeholder={placeholder}\n valueLabel={valueLabel}\n onClear={handleClear}\n isClearable={clearable}\n />\n }\n >\n <SelectFieldContent fitContent className={styles.dateRangePickerContent}>\n {showDateRangePicker ? (\n <div className={styles.dateRangePickerContainer}>\n {!onlyDateRangePicker && (\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.backToPresets')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(false);\n }}\n startIcon={<IconChevronLeft />}\n />\n )}\n <DateRangePicker\n locale={locale}\n numberOfMonths={numberOfMonths}\n value={dateRange}\n onChange={setDateRange}\n />\n <Button\n size=\"small\"\n disabled={isSubmitDisabled}\n onClick={() => handleDateRangeChange(dateRange)}\n >\n {i18n.t('editors.dateRangePicker.apply')}\n </Button>\n </div>\n ) : (\n <SelectFieldContentList>\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.custom')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(true);\n }}\n endIcon={<IconChevronRight />}\n />\n {options.map((option) => (\n <SelectListOption\n key={option.value}\n {...option}\n isSelected={selectedValue?.relativeTimeString === option.value}\n onClick={() => handleOptionChange(option.value)}\n />\n ))}\n </SelectFieldContentList>\n )}\n </SelectFieldContent>\n </Dropdown>\n </EditorCard>\n );\n};\n\nexport default DateRangePickerPresets;\n"],"names":["getDateRangeSelectFieldProOptions","dateRangeSelectFieldProOptions","option","getTimeRangeLabel","resolveI18nString","DateRangePickerPresets","props","theme","useTheme","i18nSetup","dayjsLocaleReady","useLoadDayjsLocale","onChange","clearable","selectedValue","showCustomRangeOptions","showTwoMonths","onlyDateRangePicker","showDateRangePicker","setShowDateRangePicker","useState","isOpen","setIsOpen","dateRange","setDateRange","getDateRangeFromTimeRange","dateRangeOptions","useEffect","newTimeRange","getTimeRangeFromPresets","shallowEqual","description","placeholder","title","resolveI18nProps","options","handleOptionChange","newValue","handleDateRangeChange","newDateRange","getTimeRangeFromDateRange","handleClear","valueLabel","locale","isSubmitDisabled","isSameDateRange","numberOfMonths","jsx","EditorCard","Dropdown","SelectFieldTrigger","IconCalendarFilled","SelectFieldContent","styles","jsxs","SelectListOption","i18n","e","IconChevronLeft","DateRangePicker","Button","SelectFieldContentList","IconChevronRight"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { j as i, M } from "./Color.type.emb-Dkh_ZrO6.js";
2
- import { g as b } from "./formatter.utils-BiWZBhcE.js";
1
+ import { j as i, M } from "./Color.type.emb-sebikYGW.js";
2
+ import { g as b } from "./formatter.utils-tS15PLXn.js";
3
3
  import { useTheme as O } from "@embeddable.com/react";
4
- import { E as j } from "./EditorCard-1Z3UFd1D.js";
5
- import { r as x, i as v } from "./component.inputs.constants-CNdmawDt.js";
4
+ import { E as j } from "./EditorCard-DpSCsmZJ.js";
5
+ import { r as x, i as v } from "./component.inputs.constants-Ds7YpNhT.js";
6
6
  const F = 200, _ = (l) => {
7
7
  var a, r;
8
8
  const m = O(), c = b(m), {
@@ -43,4 +43,4 @@ export {
43
43
  _ as a,
44
44
  C as i
45
45
  };
46
- //# sourceMappingURL=index-CSoASUv1.js.map
46
+ //# sourceMappingURL=index-CBgU-nlM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CBgU-nlM.js","sources":["../src/components/editors/MultiSelectFieldPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\n\nexport const MAX_OPTIONS = 200;\n\ntype MultiSelectFieldProProps = {\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValues?: string[];\n maxOptions?: number;\n setSearchValue?: (search: string) => void;\n onChange?: (newValues: string[]) => void;\n} & ChartCardHeaderProps;\n\nconst MultiSelectFieldPro = (props: MultiSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValues,\n setSearchValue,\n onChange,\n } = resolveI18nProps(props);\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <MultiSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n values={selectedValues ?? []}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValues) => onChange?.(newValues)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default MultiSelectFieldPro;\n"],"names":["MAX_OPTIONS","MultiSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","placeholder","results","selectedValues","setSearchValue","onChange","resolveI18nProps","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","MultiSelectField","i18n","newValues"],"mappings":";;;;;AAUO,MAAMA,IAAc,KAarBC,IAAsB,CAACC,MAAoC;;AAC/D,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GACxC;AAAA,IACJ,OAAAI;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,MACJC,IAAAN,EAAQ,SAAR,gBAAAM,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOT,IAA0BS,EAAKT,EAAwB,IAAI,IAAIS,EAAKV,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWU,EAAKV,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFW,IAA+B,CAACR,EAAQ,gBAAcS,IAAAT,EAAQ,SAAR,gBAAAS,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,UAAUC,GAClC,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,WAAWZ,EAAQ;AAAA,MACnB,QAAQC,KAAkB,CAAA;AAAA,MAC1B,SAAAI;AAAA,MACA,aAAAN;AAAA,MACA,kBAAkBS,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAcX,KAAA,gBAAAA,EAAWW;AAAA,MACpC,UAAUZ;AAAA,IAAA;AAAA,EAAA,GAEd;AAEJ;;;;;"}
@@ -1,8 +1,8 @@
1
- import { s as u, j as i, S as g } from "./Color.type.emb-Dkh_ZrO6.js";
1
+ import { k as u, j as i, S as g } from "./Color.type.emb-sebikYGW.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-CNdmawDt.js";
5
- import { E as j } from "./EditorCard-1Z3UFd1D.js";
4
+ import { c as b, a as P, r as M, i as S } from "./component.inputs.constants-Ds7YpNhT.js";
5
+ import { E as j } from "./EditorCard-DpSCsmZJ.js";
6
6
  import { useMemo as O, useEffect as R } from "react";
7
7
  /**
8
8
  * @license @tabler/icons-react v3.36.1 - MIT
@@ -10,7 +10,7 @@ import { useMemo as O, useEffect as R } from "react";
10
10
  * This source code is licensed under the MIT license.
11
11
  * See the LICENSE file in the root directory of this source tree.
12
12
  */
13
- const C = [["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" }]], k = u("outline", "calendar-time", "CalendarTime", C), x = (o, e) => !o || e.some((a) => a.value === o), _ = (o, e) => o.map((a) => ({
13
+ const k = [["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" }]], C = u("outline", "calendar-time", "CalendarTime", k), x = (o, e) => !o || e.some((a) => a.value === o), _ = (o, e) => o.map((a) => ({
14
14
  rightLabel: e ? f(a.getRange(e), a.dateFormat) : "",
15
15
  value: a.value,
16
16
  label: b(a.label)
@@ -37,7 +37,7 @@ const C = [["path", { d: "M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h1
37
37
  return /* @__PURE__ */ i.jsx(j, { title: c, subtitle: a, children: /* @__PURE__ */ i.jsx(
38
38
  g,
39
39
  {
40
- startIcon: k,
40
+ startIcon: C,
41
41
  clearable: !0,
42
42
  placeholder: l,
43
43
  value: n ? t : void 0,
@@ -56,4 +56,4 @@ export {
56
56
  _ as g,
57
57
  z as i
58
58
  };
59
- //# sourceMappingURL=index-tjFCL7Y-.js.map
59
+ //# sourceMappingURL=index-CCdQwMMN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CCdQwMMN.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 />\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,IAAA;AAAA,EAAA,GAExD;AAEJ;;;;","x_google_ignoreList":[0]}
@@ -1,11 +1,11 @@
1
- import { j as u, k as A } from "./Color.type.emb-Dkh_ZrO6.js";
2
- import { useTheme as M } from "@embeddable.com/react";
3
- import { a as j, r as x, i as O } from "./component.inputs.constants-CNdmawDt.js";
4
- import { C as S } from "./ChartCard-D_A88_bS.js";
5
- import { useRef as G } from "react";
1
+ import { j as u, q as A } from "./Color.type.emb-sebikYGW.js";
2
+ import { useTheme as j } from "@embeddable.com/react";
3
+ import { a as x, r as O, i as S } from "./component.inputs.constants-Ds7YpNhT.js";
4
+ import { C as G } from "./ChartCard-B3B1rFYh.js";
5
+ import { useRef as _ } from "react";
6
6
  import { u as c } from "./charts.fillGaps.hooks-C7KsWcZb.js";
7
- import { g as f } from "./formatter.utils-BiWZBhcE.js";
8
- import { u as _ } from "./tables.hooks-BQdyUxau.js";
7
+ import { g as f } from "./formatter.utils-tS15PLXn.js";
8
+ import { u as B } from "./tables.hooks-BQdyUxau.js";
9
9
  const k = (e, t) => {
10
10
  const o = f(t);
11
11
  return e.measures.map((s) => {
@@ -25,65 +25,74 @@ const k = (e, t) => {
25
25
  label: o.dimensionOrMeasureTitle(e.dimension),
26
26
  formatValue: (s) => o.data(e.dimension, s)
27
27
  };
28
- }, B = (e) => e.filter((t) => {
28
+ }, N = (e) => e.filter((t) => {
29
29
  var o;
30
30
  return (o = t.inputs) == null ? void 0 : o.showColumnTotal;
31
- }).map((t) => t.name), N = (e) => e.filter((t) => {
31
+ }).map((t) => t.name), W = (e) => e.filter((t) => {
32
32
  var o;
33
33
  return (o = t.inputs) == null ? void 0 : o.showRowTotal;
34
- }).map((t) => t.name), W = (e) => {
34
+ }).map((t) => t.name), q = (e) => {
35
35
  var m;
36
- const t = M();
37
- j(t);
38
- const { description: o, title: s } = x(e), { measures: n, rowDimension: r, columnDimension: i, displayNullAs: l, columnWidth: p, firstColumnWidth: T } = e, v = Array.from(
36
+ const t = j();
37
+ x(t);
38
+ const { description: o, title: s } = O(e), {
39
+ measures: n,
40
+ rowDimension: r,
41
+ columnDimension: i,
42
+ displayNullAs: l,
43
+ columnWidth: p,
44
+ firstColumnWidth: T,
45
+ hideMenu: v
46
+ } = e, h = Array.from(
39
47
  new Set((e.results.data ?? []).filter(Boolean).map((a) => a[i.name]))
40
- ), h = Array.from(
48
+ ), w = Array.from(
41
49
  new Set((e.results.data ?? []).filter(Boolean).map((a) => a[r.name]))
42
- ), w = c({
50
+ ), P = c({
43
51
  results: e.results,
44
52
  dimension: i
45
- }), P = c({
46
- results: w,
47
- dimension: r
48
- }), g = _({
53
+ }), g = c({
49
54
  results: P,
50
- columnOrder: v,
51
- rowOrder: h,
55
+ dimension: r
56
+ }), F = B({
57
+ results: g,
58
+ columnOrder: h,
59
+ rowOrder: w,
52
60
  columnDimension: i,
53
61
  rowDimension: r,
54
62
  measures: n
55
- }), F = G(null), b = k({ measures: n, displayNullAs: l }, t), C = d({ dimension: r }, t), D = d({ dimension: i }, t), R = B(n), y = N(n);
63
+ }), C = _(null), b = k({ measures: n, displayNullAs: l }, t), D = d({ dimension: r }, t), R = d({ dimension: i }, t), y = N(n), M = W(n);
56
64
  return /* @__PURE__ */ u.jsx(
57
- S,
65
+ G,
58
66
  {
59
- ref: F,
67
+ ref: C,
60
68
  title: s,
61
- subtitle: o,
69
+ description: o,
62
70
  data: e.results,
63
71
  dimensionsAndMeasures: [r, i, ...n],
64
72
  errorMessage: (m = e.results) == null ? void 0 : m.error,
73
+ hideMenu: v,
65
74
  children: /* @__PURE__ */ u.jsx(
66
75
  A,
67
76
  {
68
77
  firstColumnWidth: T,
69
78
  columnWidth: p,
70
- totalLabel: O.t("charts.pivotTable.total"),
71
- data: g,
79
+ totalLabel: S.t("charts.pivotTable.total"),
80
+ data: F,
72
81
  measures: b,
73
- rowDimension: C,
74
- columnDimension: D,
75
- columnTotalsFor: R,
76
- rowTotalsFor: y
82
+ rowDimension: D,
83
+ columnDimension: R,
84
+ columnTotalsFor: y,
85
+ rowTotalsFor: M
77
86
  }
78
87
  )
79
88
  }
80
89
  );
81
- }, K = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
90
+ }, Q = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
82
91
  __proto__: null,
83
- default: W
92
+ default: q
84
93
  }, Symbol.toStringTag, { value: "Module" }));
85
94
  export {
86
- W as P,
87
- K as i
95
+ q as P,
96
+ Q as i
88
97
  };
89
- //# sourceMappingURL=index-DoFkdyxp.js.map
98
+ //# sourceMappingURL=index-CDtF3MO_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CDtF3MO_.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '@embeddable.com/remarkable-ui';\nimport { useRef } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\nimport { useGetTableSortedResults } from '../tables.hooks';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\ntype PivotTableProProps = {\n results: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n} & ChartCardHeaderProps;\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, title } = resolveI18nProps(props);\n const {\n measures,\n rowDimension,\n columnDimension,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n hideMenu,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","PivotTablePro","useTheme","i18nSetup","description","title","resolveI18nProps","rowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","hideMenu","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","jsx","ChartCard","PivotTable","i18n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { j as i, S as b } from "./Color.type.emb-Dkh_ZrO6.js";
2
- import { g as O } from "./formatter.utils-BiWZBhcE.js";
1
+ import { j as i, S as b } from "./Color.type.emb-sebikYGW.js";
2
+ import { g as O } from "./formatter.utils-tS15PLXn.js";
3
3
  import { useTheme as j } from "@embeddable.com/react";
4
- import { E as x } from "./EditorCard-1Z3UFd1D.js";
5
- import { r as v, i as F } from "./component.inputs.constants-CNdmawDt.js";
4
+ import { E as x } from "./EditorCard-DpSCsmZJ.js";
5
+ import { r as v, i as F } from "./component.inputs.constants-Ds7YpNhT.js";
6
6
  const M = 200, _ = (l) => {
7
7
  var a, r;
8
8
  const m = j(), c = O(m), {
@@ -43,4 +43,4 @@ export {
43
43
  _ as S,
44
44
  I as i
45
45
  };
46
- //# sourceMappingURL=index-Du2TCRQq.js.map
46
+ //# sourceMappingURL=index-CTC3YNmw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CTC3YNmw.js","sources":["../src/components/editors/SingleSelectFieldPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\n\nexport const MAX_OPTIONS = 200;\n\ntype SingleSelectFieldProProps = {\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue?: string;\n maxOptions?: number;\n setSearchValue?: (search: string) => void;\n onChange?: (selectedValue: string) => void;\n} & ChartCardHeaderProps;\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValue,\n setSearchValue,\n onChange,\n } = resolveI18nProps(props);\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n clearable\n searchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue: string) => onChange?.(newValue)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","placeholder","results","selectedValue","setSearchValue","onChange","resolveI18nProps","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue"],"mappings":";;;;;AAUO,MAAMA,IAAc,KAarBC,IAAuB,CAACC,MAAqC;;AACjE,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GAExC;AAAA,IACJ,OAAAI;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,MACJC,IAAAN,EAAQ,SAAR,gBAAAM,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOT,IAA0BS,EAAKT,EAAwB,IAAI,IAAIS,EAAKV,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWU,EAAKV,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFW,IAA+B,CAACR,EAAQ,gBAAcS,IAAAT,EAAQ,SAAR,gBAAAS,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,UAAUC,GAClC,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAS;AAAA,MACT,YAAU;AAAA,MACV,WAAWZ,EAAQ;AAAA,MACnB,OAAOC;AAAA,MACP,SAAAI;AAAA,MACA,aAAAN;AAAA,MACA,kBAAkBS,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAqBX,KAAA,gBAAAA,EAAWW;AAAA,MAC3C,UAAUZ;AAAA,IAAA;AAAA,EAAA,GAEd;AAEJ;;;;;"}
@@ -0,0 +1,63 @@
1
+ import { m as S, j as l, P as b } from "./Color.type.emb-sebikYGW.js";
2
+ import { useTheme as v } from "@embeddable.com/react";
3
+ import { g as M, a as _ } from "./pies.utils-Dgs6TAkX.js";
4
+ import { a as k, r as w } from "./component.inputs.constants-Ds7YpNhT.js";
5
+ import { C as L } from "./ChartCard-B3B1rFYh.js";
6
+ const O = (s) => {
7
+ var n;
8
+ const e = v();
9
+ k(e);
10
+ const {
11
+ description: c,
12
+ dimension: o,
13
+ maxLegendItems: h,
14
+ measure: r,
15
+ results: t,
16
+ showLegend: p,
17
+ showTooltips: u,
18
+ showValueLabels: g,
19
+ title: P,
20
+ onSegmentClick: a
21
+ } = w(s), { hideMenu: C } = s, f = M(
22
+ { data: t.data, dimension: o, measure: r, maxLegendItems: h },
23
+ e
24
+ ), j = S(
25
+ _(r, e),
26
+ ((n = e.charts.pieChartPro) == null ? void 0 : n.options) ?? {}
27
+ ), x = (i) => {
28
+ var m, d;
29
+ a && a({
30
+ dimensionValue: i === void 0 || (d = (m = t.data) == null ? void 0 : m[i]) == null ? void 0 : d[o.name]
31
+ });
32
+ };
33
+ return /* @__PURE__ */ l.jsx(
34
+ L,
35
+ {
36
+ data: t,
37
+ dimensionsAndMeasures: [o, r],
38
+ errorMessage: t.error,
39
+ description: c,
40
+ title: P,
41
+ hideMenu: C,
42
+ children: /* @__PURE__ */ l.jsx(
43
+ b,
44
+ {
45
+ data: f,
46
+ options: j,
47
+ showLegend: p,
48
+ showTooltips: u,
49
+ showValueLabels: g,
50
+ onSegmentClick: x
51
+ }
52
+ )
53
+ }
54
+ );
55
+ }, A = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
56
+ __proto__: null,
57
+ default: O
58
+ }, Symbol.toStringTag, { value: "Module" }));
59
+ export {
60
+ O as P,
61
+ A as i
62
+ };
63
+ //# sourceMappingURL=index-CbL0nET2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CbL0nET2.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;;;;"}
@@ -0,0 +1,84 @@
1
+ import { m as L, j as m, B as M } from "./Color.type.emb-sebikYGW.js";
2
+ import { useTheme as P } from "@embeddable.com/react";
3
+ import { a as k, r as w } from "./component.inputs.constants-Ds7YpNhT.js";
4
+ import { C as z } from "./ChartCard-B3B1rFYh.js";
5
+ import { g as T, b as _ } from "./bars.utils-DJnFf-V0.js";
6
+ import { u as v } from "./charts.fillGaps.hooks-C7KsWcZb.js";
7
+ const O = (e) => {
8
+ var n, l;
9
+ const r = P();
10
+ k(r);
11
+ const {
12
+ description: d,
13
+ groupBy: t,
14
+ measure: s,
15
+ reverseYAxis: u,
16
+ showLegend: c,
17
+ showLogarithmicScale: h,
18
+ showTooltips: x,
19
+ showTotalLabels: p,
20
+ showValueLabels: g,
21
+ title: b,
22
+ yAxis: a,
23
+ xAxisLabel: f,
24
+ yAxisLabel: C,
25
+ xAxisRangeMax: A,
26
+ xAxisRangeMin: B,
27
+ onBarClicked: S
28
+ } = w(e), { hideMenu: j } = e, o = v({
29
+ results: e.results,
30
+ dimension: e.yAxis
31
+ }), i = T(
32
+ {
33
+ data: o.data,
34
+ dimension: a,
35
+ groupDimension: t,
36
+ measure: s
37
+ },
38
+ r
39
+ ), y = L(
40
+ _(
41
+ { measures: [s], horizontal: !0, onBarClicked: S, data: i, dimension: a },
42
+ r
43
+ ),
44
+ ((l = (n = r.charts) == null ? void 0 : n.barChartStackedHorizontalPro) == null ? void 0 : l.options) || {}
45
+ );
46
+ return /* @__PURE__ */ m.jsx(
47
+ z,
48
+ {
49
+ data: o,
50
+ dimensionsAndMeasures: [s, a, t],
51
+ errorMessage: o.error,
52
+ description: d,
53
+ title: b,
54
+ hideMenu: j,
55
+ children: /* @__PURE__ */ m.jsx(
56
+ M,
57
+ {
58
+ data: i,
59
+ showLegend: c,
60
+ showTooltips: x,
61
+ showValueLabels: g,
62
+ showLogarithmicScale: h,
63
+ xAxisLabel: f,
64
+ yAxisLabel: C,
65
+ reverseYAxis: u,
66
+ xAxisRangeMin: B,
67
+ xAxisRangeMax: A,
68
+ showTotalLabels: p,
69
+ options: y,
70
+ stacked: !0,
71
+ horizontal: !0
72
+ }
73
+ )
74
+ }
75
+ );
76
+ }, I = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
77
+ __proto__: null,
78
+ default: O
79
+ }, Symbol.toStringTag, { value: "Module" }));
80
+ export {
81
+ O as B,
82
+ I as i
83
+ };
84
+ //# sourceMappingURL=index-D6h8s36F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-D6h8s36F.js","sources":["../src/components/charts/bars/BarChartStackedHorizontalPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\n\ntype BarChartHorizontalStackedProProps = {\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showTotalLabels?: boolean;\n showValueLabels?: boolean;\n yAxis: Dimension;\n xAxisLabel?: string;\n yAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartHorizontalStackedPro = (props: BarChartHorizontalStackedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n title,\n yAxis,\n xAxisLabel,\n yAxisLabel,\n xAxisRangeMax,\n xAxisRangeMin,\n onBarClicked,\n } = resolveI18nProps(props);\n\n const { hideMenu } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.yAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results.data,\n dimension: yAxis,\n groupDimension: groupBy,\n measure,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: true, onBarClicked, data, dimension: yAxis },\n theme,\n ),\n theme.charts?.barChartStackedHorizontalPro?.options || {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseYAxis={reverseYAxis}\n xAxisRangeMin={xAxisRangeMin}\n xAxisRangeMax={xAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n stacked\n horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartHorizontalStackedPro;\n"],"names":["BarChartHorizontalStackedPro","props","theme","useTheme","i18nSetup","description","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","title","yAxis","xAxisLabel","yAxisLabel","xAxisRangeMax","xAxisRangeMin","onBarClicked","resolveI18nProps","hideMenu","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","jsx","ChartCard","BarChart"],"mappings":";;;;;;AAgCA,MAAMA,IAA+B,CAACC,MAA6C;;AACjF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC,EAAiBpB,CAAK,GAEpB,EAAE,UAAAqB,MAAarB,GAEfsB,IAAUC,EAAY;AAAA,IAC1B,SAASvB,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEKwB,IAAOC;AAAA,IACX;AAAA,MACE,MAAMH,EAAQ;AAAA,MACd,WAAWR;AAAA,MACX,gBAAgBT;AAAA,MAChB,SAAAC;AAAA,IAAA;AAAA,IAEFL;AAAA,EAAA,GAGIyB,IAAUC;AAAA,IACdC;AAAA,MACE,EAAE,UAAU,CAACtB,CAAO,GAAG,YAAY,IAAM,cAAAa,GAAc,MAAAK,GAAM,WAAWV,EAAA;AAAA,MACxEb;AAAA,IAAA;AAAA,MAEF4B,KAAAC,IAAA7B,EAAM,WAAN,gBAAA6B,EAAc,iCAAd,gBAAAD,EAA4C,YAAW,CAAA;AAAA,EAAC;AAG1D,SACEE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMV;AAAA,MACN,uBAAuB,CAAChB,GAASQ,GAAOT,CAAO;AAAA,MAC/C,cAAciB,EAAQ;AAAA,MACtB,aAAAlB;AAAA,MACA,OAAAS;AAAA,MACA,UAAAQ;AAAA,MAEA,UAAAU,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAT;AAAA,UACA,YAAAhB;AAAA,UACA,cAAAE;AAAA,UACA,iBAAAE;AAAA,UACA,sBAAAH;AAAA,UACA,YAAAM;AAAA,UACA,YAAAC;AAAA,UACA,cAAAT;AAAA,UACA,eAAAW;AAAA,UACA,eAAAD;AAAA,UACA,iBAAAN;AAAA,UACA,SAAAe;AAAA,UACA,SAAO;AAAA,UACP,YAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IACZ;AAAA,EAAA;AAGN;;;;"}