@embeddable.com/remarkable-pro 0.0.21 → 0.0.22

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 (225) 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-jvwOEGnf.js} +10 -9
  59. package/dist/bars.utils-jvwOEGnf.js.map +1 -0
  60. package/dist/{charts.utils-CUPowt7F.js → charts.utils-Q9qc_Fq5.js} +4 -4
  61. package/dist/{charts.utils-CUPowt7F.js.map → charts.utils-Q9qc_Fq5.js.map} +1 -1
  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/index.d.ts +6 -8
  111. package/dist/components/charts/tables/TableScrollable/index.d.ts.map +1 -1
  112. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts +2 -3
  113. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
  114. package/dist/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.utils.d.ts.map +1 -1
  115. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts +6 -6
  116. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
  117. package/dist/components/editors/MultiSelectFieldPro/index.d.ts +4 -5
  118. package/dist/components/editors/MultiSelectFieldPro/index.d.ts.map +1 -1
  119. package/dist/components/editors/SingleSelectFieldPro/index.d.ts +4 -5
  120. package/dist/components/editors/SingleSelectFieldPro/index.d.ts.map +1 -1
  121. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts +3 -4
  122. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
  123. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts +3 -4
  124. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
  125. package/dist/components/preview.data.constants.d.ts +18 -0
  126. package/dist/components/preview.data.constants.d.ts.map +1 -0
  127. package/dist/embeddable-components.json +37 -12
  128. package/dist/{formatter.utils-BiWZBhcE.js → formatter.utils-tS15PLXn.js} +2 -2
  129. package/dist/{formatter.utils-BiWZBhcE.js.map → formatter.utils-tS15PLXn.js.map} +1 -1
  130. package/dist/index--Dbq1zrZ.js +31 -0
  131. package/dist/index--Dbq1zrZ.js.map +1 -0
  132. package/dist/index-9_2gSWFU.js +83 -0
  133. package/dist/index-9_2gSWFU.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-BDRs__KW.js +113 -0
  137. package/dist/index-BDRs__KW.js.map +1 -0
  138. package/dist/index-BNZ1R6AK.js +84 -0
  139. package/dist/index-BNZ1R6AK.js.map +1 -0
  140. package/dist/index-BUk63KEk.js +87 -0
  141. package/dist/index-BUk63KEk.js.map +1 -0
  142. package/dist/index-BsWftigv.js +123 -0
  143. package/dist/index-BsWftigv.js.map +1 -0
  144. package/dist/index-C0pj3lvE.js +73 -0
  145. package/dist/index-C0pj3lvE.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-ClKPfSrQ.js +63 -0
  155. package/dist/index-ClKPfSrQ.js.map +1 -0
  156. package/dist/index-DbizaE6y.js +72 -0
  157. package/dist/index-DbizaE6y.js.map +1 -0
  158. package/dist/index-KxvT6RdK.js +63 -0
  159. package/dist/index-KxvT6RdK.js.map +1 -0
  160. package/dist/index-Nj7bJ8tg.js +161 -0
  161. package/dist/index-Nj7bJ8tg.js.map +1 -0
  162. package/dist/index-Y3ALLAIp.js +82 -0
  163. package/dist/index-Y3ALLAIp.js.map +1 -0
  164. package/dist/index-dv4kCcao.js +75 -0
  165. package/dist/index-dv4kCcao.js.map +1 -0
  166. package/dist/index-h3GKi8po.js +332 -0
  167. package/dist/index-h3GKi8po.js.map +1 -0
  168. package/dist/{index-yOOAOJHG.js → index-t4O5NpPA.js} +32 -31
  169. package/dist/index-t4O5NpPA.js.map +1 -0
  170. package/dist/index-t7YCtFvf.js +97 -0
  171. package/dist/index-t7YCtFvf.js.map +1 -0
  172. package/dist/index.js +29 -29
  173. package/dist/lines.utils-COGf_F0b.js +40 -0
  174. package/dist/lines.utils-COGf_F0b.js.map +1 -0
  175. package/dist/{pies.utils-DCy5LWcY.js → pies.utils-LUs6Ak8R.js} +12 -12
  176. package/dist/{pies.utils-DCy5LWcY.js.map → pies.utils-LUs6Ak8R.js.map} +1 -1
  177. package/dist/preview.data.constants-tDMYNi0n.js +71 -0
  178. package/dist/preview.data.constants-tDMYNi0n.js.map +1 -0
  179. package/dist/{tables.utils-8OmfcPmH.js → tables.utils-DzHoBZUS.js} +4 -4
  180. package/dist/{tables.utils-8OmfcPmH.js.map → tables.utils-DzHoBZUS.js.map} +1 -1
  181. package/dist/{timeRange.utils-81KUBS9O.js → timeRange.utils-Dz0fdD_b.js} +2 -2
  182. package/dist/{timeRange.utils-81KUBS9O.js.map → timeRange.utils-Dz0fdD_b.js.map} +1 -1
  183. package/package.json +5 -5
  184. package/dist/ChartCard-D_A88_bS.js +0 -116
  185. package/dist/ChartCard-D_A88_bS.js.map +0 -1
  186. package/dist/bars.utils-CsJD9MNL.js.map +0 -1
  187. package/dist/index-1vsLONt_.js +0 -111
  188. package/dist/index-1vsLONt_.js.map +0 -1
  189. package/dist/index-8PpbF7SA.js +0 -82
  190. package/dist/index-8PpbF7SA.js.map +0 -1
  191. package/dist/index-B3m93Z4r.js +0 -81
  192. package/dist/index-B3m93Z4r.js.map +0 -1
  193. package/dist/index-BBcQWvRk.js +0 -159
  194. package/dist/index-BBcQWvRk.js.map +0 -1
  195. package/dist/index-BOI6FOwo.js +0 -62
  196. package/dist/index-BOI6FOwo.js.map +0 -1
  197. package/dist/index-Boogtc12.js +0 -71
  198. package/dist/index-Boogtc12.js.map +0 -1
  199. package/dist/index-BuBn1ktN.js +0 -83
  200. package/dist/index-BuBn1ktN.js.map +0 -1
  201. package/dist/index-CQ_mo5Eg.js +0 -330
  202. package/dist/index-CQ_mo5Eg.js.map +0 -1
  203. package/dist/index-CSoASUv1.js.map +0 -1
  204. package/dist/index-CVJKjJGv.js +0 -72
  205. package/dist/index-CVJKjJGv.js.map +0 -1
  206. package/dist/index-Cv4JGkHO.js +0 -95
  207. package/dist/index-Cv4JGkHO.js.map +0 -1
  208. package/dist/index-D5CZAWnJ.js +0 -128
  209. package/dist/index-D5CZAWnJ.js.map +0 -1
  210. package/dist/index-DVUJikiN.js +0 -73
  211. package/dist/index-DVUJikiN.js.map +0 -1
  212. package/dist/index-Dhzhtagm.js +0 -30
  213. package/dist/index-Dhzhtagm.js.map +0 -1
  214. package/dist/index-DkmPuuV8.js +0 -84
  215. package/dist/index-DkmPuuV8.js.map +0 -1
  216. package/dist/index-DoFkdyxp.js.map +0 -1
  217. package/dist/index-Dp7Av-Oy.js +0 -62
  218. package/dist/index-Dp7Av-Oy.js.map +0 -1
  219. package/dist/index-Du2TCRQq.js.map +0 -1
  220. package/dist/index-XTTodJI4.js +0 -163
  221. package/dist/index-XTTodJI4.js.map +0 -1
  222. package/dist/index-tjFCL7Y-.js.map +0 -1
  223. package/dist/index-yOOAOJHG.js.map +0 -1
  224. package/dist/lines.utils-CFEUUo4k.js +0 -40
  225. package/dist/lines.utils-CFEUUo4k.js.map +0 -1
@@ -1,9 +1,9 @@
1
- import { useTheme as T, defineComponent as w } from "@embeddable.com/react";
2
- import { j as m, S as F, V as C } from "./Color.type.emb-Dkh_ZrO6.js";
3
- import { useMemo as k, useEffect as E } from "react";
4
- import { c as G, a as O, r as D, b as i } from "./component.inputs.constants-CNdmawDt.js";
5
- import { E as P } from "./EditorCard-1Z3UFd1D.js";
6
- const t = {
1
+ import { useTheme as T, definePreview as C, defineComponent as F } from "@embeddable.com/react";
2
+ import { j as m, S as k, V as E } from "./Color.type.emb-sebikYGW.js";
3
+ import { c as G, a as P, r as D, b as i } from "./component.inputs.constants-Ds7YpNhT.js";
4
+ import { useMemo as O, useEffect as V } from "react";
5
+ import { E as q } from "./EditorCard-DpSCsmZJ.js";
6
+ const a = {
7
7
  second: "second",
8
8
  minute: "minute",
9
9
  hour: "hour",
@@ -12,94 +12,97 @@ const t = {
12
12
  month: "month",
13
13
  quarter: "quarter",
14
14
  year: "year"
15
- }, V = [
16
- { value: t.second, label: "defaults.granularityOptions.second|Second" },
17
- { value: t.minute, label: "defaults.granularityOptions.minute|Minute" },
18
- { value: t.hour, label: "defaults.granularityOptions.hour|Hour" },
19
- { value: t.day, label: "defaults.granularityOptions.day|Day" },
20
- { value: t.week, label: "defaults.granularityOptions.week|Week" },
21
- { value: t.month, label: "defaults.granularityOptions.month|Month" },
22
- { value: t.quarter, label: "defaults.granularityOptions.quarter|Quarter" },
23
- { value: t.year, label: "defaults.granularityOptions.year|Year" }
24
- ], q = 1, x = 100, A = () => V.map((e) => ({
15
+ }, x = [
16
+ { value: a.second, label: "defaults.granularityOptions.second|Second" },
17
+ { value: a.minute, label: "defaults.granularityOptions.minute|Minute" },
18
+ { value: a.hour, label: "defaults.granularityOptions.hour|Hour" },
19
+ { value: a.day, label: "defaults.granularityOptions.day|Day" },
20
+ { value: a.week, label: "defaults.granularityOptions.week|Week" },
21
+ { value: a.month, label: "defaults.granularityOptions.month|Month" },
22
+ { value: a.quarter, label: "defaults.granularityOptions.quarter|Quarter" },
23
+ { value: a.year, label: "defaults.granularityOptions.year|Year" }
24
+ ], A = 1, M = 100, N = () => x.map((e) => ({
25
25
  ...e,
26
26
  label: G(e.label)
27
27
  })), p = (e) => {
28
28
  if (e instanceof Date) return isNaN(e.getTime()) ? null : e;
29
29
  if (typeof e == "string" || typeof e == "number") {
30
- const a = new Date(e);
31
- return isNaN(a.getTime()) ? null : a;
30
+ const r = new Date(e);
31
+ return isNaN(r.getTime()) ? null : r;
32
32
  }
33
33
  return null;
34
- }, l = (e) => new Date(e.getTime() + 1), o = (e, a, r) => (a.getTime() - e.getTime()) / r;
35
- function M(e, a, r) {
36
- if (e > a) return 0;
37
- switch (r) {
38
- case t.second:
39
- return o(e, l(a), 1e3);
40
- case t.minute:
41
- return o(e, l(a), 60 * 1e3);
42
- case t.hour:
43
- return o(e, l(a), 3600 * 1e3);
44
- case t.day:
45
- return o(e, l(a), 1440 * 60 * 1e3);
46
- case t.week:
47
- return o(e, l(a), 10080 * 60 * 1e3);
48
- case t.month:
49
- return o(e, l(a), 672 * 60 * 60 * 1e3);
34
+ }, l = (e) => new Date(e.getTime() + 1), u = (e, r, t) => (r.getTime() - e.getTime()) / t;
35
+ function U(e, r, t) {
36
+ if (e > r) return 0;
37
+ switch (t) {
38
+ case a.second:
39
+ return u(e, l(r), 1e3);
40
+ case a.minute:
41
+ return u(e, l(r), 60 * 1e3);
42
+ case a.hour:
43
+ return u(e, l(r), 3600 * 1e3);
44
+ case a.day:
45
+ return u(e, l(r), 1440 * 60 * 1e3);
46
+ case a.week:
47
+ return u(e, l(r), 10080 * 60 * 1e3);
48
+ case a.month:
49
+ return u(e, l(r), 672 * 60 * 60 * 1e3);
50
50
  // shortest month
51
- case t.quarter:
52
- return o(e, l(a), 2160 * 60 * 60 * 1e3);
51
+ case a.quarter:
52
+ return u(e, l(r), 2160 * 60 * 60 * 1e3);
53
53
  // shortest quarter
54
- case t.year:
55
- return o(e, l(a), 365 * 24 * 60 * 60 * 1e3);
54
+ case a.year:
55
+ return u(e, l(r), 365 * 24 * 60 * 60 * 1e3);
56
56
  }
57
57
  }
58
- const N = (e, a, r) => {
59
- const n = M(e, a, r);
60
- return n >= q && n <= x;
61
- }, U = (e, a) => {
62
- const r = p(e == null ? void 0 : e.from), n = p(e == null ? void 0 : e.to);
63
- if (!r || !n) return a;
58
+ const _ = (e, r, t) => {
59
+ const n = U(e, r, t);
60
+ return n >= A && n <= M;
61
+ }, j = (e, r) => {
62
+ if (!e) return r;
63
+ const t = p(e == null ? void 0 : e.from), n = p(e == null ? void 0 : e.to);
64
+ if (!t || !n) return r;
64
65
  const s = /* @__PURE__ */ new Set();
65
- for (const u of a) {
66
- const d = u.value;
67
- N(r, n, d) && s.add(d);
66
+ for (const o of r) {
67
+ const d = o.value;
68
+ _(t, n, d) && s.add(d);
68
69
  }
69
- return a.filter((u) => s.has(u.value));
70
- }, g = (e, a) => {
70
+ return r.filter((o) => s.has(o.value));
71
+ }, g = (e, r) => {
71
72
  var n;
72
- if (!a)
73
+ if (!r)
73
74
  return;
74
- if (e.some((s) => s.value === a))
75
- return a;
76
- const r = e.length > 2 ? 1 : 0;
77
- return (n = e[r]) == null ? void 0 : n.value;
78
- }, _ = (e) => {
79
- const a = T();
80
- O(a);
81
- const { granularity: r, granularities: n, clearable: s, onChange: u } = e, { description: d, placeholder: b, title: h, primaryTimeRange: f } = D(e), v = A(), y = k(() => U(
75
+ if (e.some((s) => s.value === r))
76
+ return r;
77
+ const t = e.length > 2 ? 1 : 0;
78
+ return (n = e[t]) == null ? void 0 : n.value;
79
+ }, b = (e) => {
80
+ const r = T();
81
+ P(r);
82
+ const { granularity: t, granularities: n, clearable: s, onChange: o } = e, { description: d, placeholder: h, title: v, primaryTimeRange: f } = D(e), S = N(), y = O(() => j(
82
83
  f,
83
- v.filter((c) => n == null ? void 0 : n.includes(c.value))
84
+ S.filter(
85
+ (c) => n == null ? void 0 : n.includes(c.value)
86
+ )
84
87
  ), [f, n]);
85
- E(() => {
86
- if (r && !y.some((c) => c.value === r)) {
87
- const c = g(y, r);
88
- c && u(c);
88
+ V(() => {
89
+ if (t && !y.some((c) => c.value === t)) {
90
+ const c = g(y, t);
91
+ c && o(c);
89
92
  }
90
- }, [y, r, u]);
91
- const S = g(y, r);
92
- return /* @__PURE__ */ m.jsx(P, { title: h, subtitle: d, children: /* @__PURE__ */ m.jsx(
93
- F,
93
+ }, [y, t, o]);
94
+ const w = g(y, t);
95
+ return /* @__PURE__ */ m.jsx(q, { title: v, subtitle: d, children: /* @__PURE__ */ m.jsx(
96
+ k,
94
97
  {
95
98
  clearable: s,
96
- placeholder: b,
97
- value: S,
99
+ placeholder: h,
100
+ value: w,
98
101
  options: y,
99
- onChange: u
102
+ onChange: o
100
103
  }
101
104
  ) });
102
- }, j = {
105
+ }, B = {
103
106
  name: "GranularitySelectFieldPro",
104
107
  label: "Granularity Select Field",
105
108
  category: "Dropdowns",
@@ -115,12 +118,12 @@ const N = (e, a, r) => {
115
118
  category: "Pre-configured variables",
116
119
  // Ignore seconds and minutes
117
120
  defaultValue: [
118
- t.hour,
119
- t.day,
120
- t.week,
121
- t.month,
122
- t.quarter,
123
- t.year
121
+ a.hour,
122
+ a.day,
123
+ a.week,
124
+ a.month,
125
+ a.quarter,
126
+ a.year
124
127
  ]
125
128
  },
126
129
  {
@@ -159,18 +162,31 @@ const N = (e, a, r) => {
159
162
  events: [{ name: "onChange", property: "value" }]
160
163
  }
161
164
  ]
162
- }, Q = w(_, j, {
165
+ }, X = C(b, {
166
+ granularities: [
167
+ a.second,
168
+ a.minute,
169
+ a.hour,
170
+ a.day,
171
+ a.week,
172
+ a.month,
173
+ a.quarter,
174
+ a.year
175
+ ],
176
+ onChange: () => null
177
+ }), Y = F(b, B, {
163
178
  props: (e) => ({
164
179
  ...e
165
180
  }),
166
181
  events: {
167
182
  onChange: (e) => ({
168
- value: e ?? C.noFilter()
183
+ value: e ?? E.noFilter()
169
184
  })
170
185
  }
171
186
  });
172
187
  export {
173
- Q as default,
174
- j as meta
188
+ Y as default,
189
+ B as meta,
190
+ X as preview
175
191
  };
176
192
  //# sourceMappingURL=GranularitySelectFieldPro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GranularitySelectFieldPro.js","sources":["../src/theme/defaults/defaults.GranularityOptions.constants.ts","../src/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.utils.ts","../src/components/editors/GranularitySelectFieldPro/index.tsx","../src/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.emb.ts"],"sourcesContent":["import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\n\nexport const Granularity = {\n second: 'second',\n minute: 'minute',\n hour: 'hour',\n day: 'day',\n week: 'week',\n month: 'month',\n quarter: 'quarter',\n year: 'year',\n} as const;\n\nexport type TGranularity = keyof typeof Granularity;\nexport type TGranularityValue = (typeof Granularity)[TGranularity];\n\nexport const defaultGranularitySelectFieldOptions: SelectListOptionProps[] = [\n { value: Granularity.second, label: 'defaults.granularityOptions.second|Second' },\n { value: Granularity.minute, label: 'defaults.granularityOptions.minute|Minute' },\n { value: Granularity.hour, label: 'defaults.granularityOptions.hour|Hour' },\n { value: Granularity.day, label: 'defaults.granularityOptions.day|Day' },\n { value: Granularity.week, label: 'defaults.granularityOptions.week|Week' },\n { value: Granularity.month, label: 'defaults.granularityOptions.month|Month' },\n { value: Granularity.quarter, label: 'defaults.granularityOptions.quarter|Quarter' },\n { value: Granularity.year, label: 'defaults.granularityOptions.year|Year' },\n];\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport {\n defaultGranularitySelectFieldOptions,\n Granularity,\n TGranularity,\n TGranularityValue,\n} from '../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { resolveI18nString } from '../../component.utils';\n\nconst DEFAULT_MIN_BUCKETS = 1;\nconst DEFAULT_MAX_BUCKETS = 100;\n\nexport const getGranularitySelectFieldOptions = (): SelectListOptionProps[] => {\n return defaultGranularitySelectFieldOptions.map((opt) => ({\n ...opt,\n label: resolveI18nString(opt.label),\n }));\n};\n\n// Convert possibly-string timestamps to Date safely.\nconst toDate = (d: unknown): Date | null => {\n if (d instanceof Date) return isNaN(d.getTime()) ? null : d;\n if (typeof d === 'string' || typeof d === 'number') {\n const parsed = new Date(d);\n return isNaN(parsed.getTime()) ? null : parsed;\n }\n return null;\n};\n\n// Inclusive end -> Exclusive end helper (only used for sub-day diffs)\nconst toExclusiveEnd = (endInclusive: Date): Date => new Date(endInclusive.getTime() + 1);\n\nconst bucketCountByUnit = (start: Date, endExclusive: Date, unitMs: number): number => {\n return (endExclusive.getTime() - start.getTime()) / unitMs;\n};\n\n// Bucket counting (treat end as INCLUSIVE)\nfunction bucketCount(start: Date, endInclusive: Date, granularity: TGranularity): number {\n if (start > endInclusive) return 0;\n\n switch (granularity) {\n case Granularity.second:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 1000);\n\n case Granularity.minute:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 60 * 1000);\n\n case Granularity.hour:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 60 * 60 * 1000);\n\n case Granularity.day:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 24 * 60 * 60 * 1000);\n\n case Granularity.week:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 7 * 24 * 60 * 60 * 1000);\n\n case Granularity.month:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 28 * 24 * 60 * 60 * 1000); // shortest month\n\n case Granularity.quarter:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 90 * 24 * 60 * 60 * 1000); // shortest quarter\n\n case Granularity.year:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 365 * 24 * 60 * 60 * 1000); // shortest year\n }\n}\n\nconst isGranularityValid = (\n start: Date,\n endInclusive: Date,\n granularity: TGranularityValue,\n): boolean => {\n const buckets = bucketCount(start, endInclusive, granularity);\n return buckets >= DEFAULT_MIN_BUCKETS && buckets <= DEFAULT_MAX_BUCKETS;\n};\n\nexport const getAvailableGranularityOptionsFromTimeRange = (\n timeRange: TimeRange,\n allOptions: SelectListOptionProps[],\n): SelectListOptionProps[] => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const from = toDate((timeRange as any)?.from);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const to = toDate((timeRange as any)?.to);\n\n // If we can’t parse range, don’t hide anything (fail open)\n if (!from || !to) return allOptions;\n\n const validSet = new Set<TGranularityValue>();\n\n for (const opt of allOptions) {\n const g = opt.value as TGranularityValue;\n if (isGranularityValid(from, to, g)) {\n validSet.add(g);\n }\n }\n\n // preserve original UI ordering\n return allOptions.filter((opt) => validSet.has(opt.value as TGranularityValue));\n};\n\nexport const getSafeSelection = (\n availableOptions: SelectListOptionProps[],\n granularity?: string,\n): string | undefined => {\n if (!granularity) {\n return undefined;\n }\n\n if (availableOptions.some((opt) => opt.value === granularity)) {\n return granularity;\n }\n\n const optionToSelect = availableOptions.length > 2 ? 1 : 0;\n\n return availableOptions[optionToSelect]?.value as string;\n};\n","import { useEffect, useMemo } from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport {\n getAvailableGranularityOptionsFromTimeRange,\n getGranularitySelectFieldOptions,\n getSafeSelection,\n} from './GranularitySelectFieldPro.utils';\n\ntype GranularitySelectFieldProProps = {\n description?: string;\n onChange: (newGranularity: string) => void;\n placeholder?: string;\n primaryTimeRange: TimeRange;\n title?: string;\n granularity?: string;\n granularities?: string[];\n clearable?: boolean;\n};\n\nconst GranularitySelectFieldPro = (props: GranularitySelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { granularity, granularities, clearable, onChange } = props;\n const { description, placeholder, title, primaryTimeRange } = resolveI18nProps(props);\n\n const granularitySelectFieldOptions = getGranularitySelectFieldOptions();\n\n const availableOptions = useMemo(() => {\n return getAvailableGranularityOptionsFromTimeRange(\n primaryTimeRange,\n granularitySelectFieldOptions.filter((opt) => granularities?.includes(opt.value as string)),\n );\n }, [primaryTimeRange, granularities]);\n\n useEffect(() => {\n if (granularity) {\n // Selected granularity is not available\n // Select 1st available option when number of options is =< 2\n // Select 2nd option to avoid when number of options > 2\n if (!availableOptions.some((opt) => opt.value === granularity)) {\n const newGranularity = getSafeSelection(availableOptions, granularity);\n if (newGranularity) {\n onChange(newGranularity);\n }\n }\n }\n }, [availableOptions, granularity, onChange]);\n\n const safeValue = getSafeSelection(availableOptions, granularity);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n clearable={clearable}\n placeholder={placeholder}\n value={safeValue}\n options={availableOptions}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default GranularitySelectFieldPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport DateTimeSelectFieldPro from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { Granularity } from '../../../theme/defaults/defaults.GranularityOptions.constants';\n\nexport const meta = {\n name: 'GranularitySelectFieldPro',\n label: 'Granularity Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n { ...inputs.placeholder, defaultValue: 'Select a granularity' },\n {\n ...inputs.granularities,\n label: 'Available granularities',\n category: 'Pre-configured variables',\n // Ignore seconds and minutes\n defaultValue: [\n Granularity.hour,\n Granularity.day,\n Granularity.week,\n Granularity.month,\n Granularity.quarter,\n Granularity.year,\n ],\n },\n {\n ...inputs.granularity,\n label: 'Selected granularity',\n category: 'Pre-configured variables',\n },\n {\n ...inputs.timeRange,\n name: 'primaryTimeRange',\n label: 'Primary date-range',\n description:\n 'Connect your primary date-range variable to enable automatic selection of the most appropriate granularity',\n category: 'Pre-configured variables',\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected granularity updated',\n properties: [\n {\n name: 'value',\n label: 'Selected granularity',\n type: 'granularity',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'granularity value',\n type: 'granularity',\n defaultValue: 'day',\n inputs: ['granularity'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(DateTimeSelectFieldPro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n },\n events: {\n onChange: (granularity) => ({\n value: granularity ?? Value.noFilter(),\n }),\n },\n});\n"],"names":["Granularity","defaultGranularitySelectFieldOptions","DEFAULT_MIN_BUCKETS","DEFAULT_MAX_BUCKETS","getGranularitySelectFieldOptions","opt","resolveI18nString","toDate","d","parsed","toExclusiveEnd","endInclusive","bucketCountByUnit","start","endExclusive","unitMs","bucketCount","granularity","isGranularityValid","buckets","getAvailableGranularityOptionsFromTimeRange","timeRange","allOptions","from","to","validSet","g","getSafeSelection","availableOptions","optionToSelect","_a","GranularitySelectFieldPro","props","theme","useTheme","i18nSetup","granularities","clearable","onChange","description","placeholder","title","primaryTimeRange","resolveI18nProps","granularitySelectFieldOptions","useMemo","useEffect","newGranularity","safeValue","jsx","EditorCard","SingleSelectField","meta","inputs","GranularitySelectFieldPro_emb","defineComponent","DateTimeSelectFieldPro","Value"],"mappings":";;;;;AAEO,MAAMA,IAAc;AAAA,EACzB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AACR,GAKaC,IAAgE;AAAA,EAC3E,EAAE,OAAOD,EAAY,QAAQ,OAAO,4CAAA;AAAA,EACpC,EAAE,OAAOA,EAAY,QAAQ,OAAO,4CAAA;AAAA,EACpC,EAAE,OAAOA,EAAY,MAAM,OAAO,wCAAA;AAAA,EAClC,EAAE,OAAOA,EAAY,KAAK,OAAO,sCAAA;AAAA,EACjC,EAAE,OAAOA,EAAY,MAAM,OAAO,wCAAA;AAAA,EAClC,EAAE,OAAOA,EAAY,OAAO,OAAO,0CAAA;AAAA,EACnC,EAAE,OAAOA,EAAY,SAAS,OAAO,8CAAA;AAAA,EACrC,EAAE,OAAOA,EAAY,MAAM,OAAO,wCAAA;AACpC,GCfME,IAAsB,GACtBC,IAAsB,KAEfC,IAAmC,MACvCH,EAAqC,IAAI,CAACI,OAAS;AAAA,EACxD,GAAGA;AAAA,EACH,OAAOC,EAAkBD,EAAI,KAAK;AAAA,EAClC,GAIEE,IAAS,CAACC,MAA4B;AAC1C,MAAIA,aAAa,KAAM,QAAO,MAAMA,EAAE,QAAA,CAAS,IAAI,OAAOA;AAC1D,MAAI,OAAOA,KAAM,YAAY,OAAOA,KAAM,UAAU;AAClD,UAAMC,IAAS,IAAI,KAAKD,CAAC;AACzB,WAAO,MAAMC,EAAO,QAAA,CAAS,IAAI,OAAOA;AAAA,EAC1C;AACA,SAAO;AACT,GAGMC,IAAiB,CAACC,MAA6B,IAAI,KAAKA,EAAa,QAAA,IAAY,CAAC,GAElFC,IAAoB,CAACC,GAAaC,GAAoBC,OAClDD,EAAa,QAAA,IAAYD,EAAM,aAAaE;AAItD,SAASC,EAAYH,GAAaF,GAAoBM,GAAmC;AACvF,MAAIJ,IAAQF,EAAc,QAAO;AAEjC,UAAQM,GAAA;AAAA,IACN,KAAKjB,EAAY;AACf,aAAOY,EAAkBC,GAAOH,EAAeC,CAAY,GAAG,GAAI;AAAA,IAEpE,KAAKX,EAAY;AACf,aAAOY,EAAkBC,GAAOH,EAAeC,CAAY,GAAG,KAAK,GAAI;AAAA,IAEzE,KAAKX,EAAY;AACf,aAAOY,EAAkBC,GAAOH,EAAeC,CAAY,GAAG,OAAU,GAAI;AAAA,IAE9E,KAAKX,EAAY;AACf,aAAOY,EAAkBC,GAAOH,EAAeC,CAAY,GAAG,OAAU,KAAK,GAAI;AAAA,IAEnF,KAAKX,EAAY;AACf,aAAOY,EAAkBC,GAAOH,EAAeC,CAAY,GAAG,QAAc,KAAK,GAAI;AAAA,IAEvF,KAAKX,EAAY;AACf,aAAOY,EAAkBC,GAAOH,EAAeC,CAAY,GAAG,MAAU,KAAK,KAAK,GAAI;AAAA;AAAA,IAExF,KAAKX,EAAY;AACf,aAAOY,EAAkBC,GAAOH,EAAeC,CAAY,GAAG,OAAU,KAAK,KAAK,GAAI;AAAA;AAAA,IAExF,KAAKX,EAAY;AACf,aAAOY,EAAkBC,GAAOH,EAAeC,CAAY,GAAG,MAAM,KAAK,KAAK,KAAK,GAAI;AAAA,EAAA;AAE7F;AAEA,MAAMO,IAAqB,CACzBL,GACAF,GACAM,MACY;AACZ,QAAME,IAAUH,EAAYH,GAAOF,GAAcM,CAAW;AAC5D,SAAOE,KAAWjB,KAAuBiB,KAAWhB;AACtD,GAEaiB,IAA8C,CACzDC,GACAC,MAC4B;AAE5B,QAAMC,IAAOhB,EAAQc,KAAA,gBAAAA,EAAmB,IAAI,GAEtCG,IAAKjB,EAAQc,KAAA,gBAAAA,EAAmB,EAAE;AAGxC,MAAI,CAACE,KAAQ,CAACC,EAAI,QAAOF;AAEzB,QAAMG,wBAAe,IAAA;AAErB,aAAWpB,KAAOiB,GAAY;AAC5B,UAAMI,IAAIrB,EAAI;AACd,IAAIa,EAAmBK,GAAMC,GAAIE,CAAC,KAChCD,EAAS,IAAIC,CAAC;AAAA,EAElB;AAGA,SAAOJ,EAAW,OAAO,CAACjB,MAAQoB,EAAS,IAAIpB,EAAI,KAA0B,CAAC;AAChF,GAEasB,IAAmB,CAC9BC,GACAX,MACuB;;AACvB,MAAI,CAACA;AACH;AAGF,MAAIW,EAAiB,KAAK,CAACvB,MAAQA,EAAI,UAAUY,CAAW;AAC1D,WAAOA;AAGT,QAAMY,IAAiBD,EAAiB,SAAS,IAAI,IAAI;AAEzD,UAAOE,IAAAF,EAAiBC,CAAc,MAA/B,gBAAAC,EAAkC;AAC3C,GC5FMC,IAA4B,CAACC,MAA0C;AAC3E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,aAAAhB,GAAa,eAAAmB,GAAe,WAAAC,GAAW,UAAAC,MAAaN,GACtD,EAAE,aAAAO,GAAa,aAAAC,GAAa,OAAAC,GAAO,kBAAAC,EAAA,IAAqBC,EAAiBX,CAAK,GAE9EY,IAAgCxC,EAAA,GAEhCwB,IAAmBiB,EAAQ,MACxBzB;AAAA,IACLsB;AAAA,IACAE,EAA8B,OAAO,CAACvC,MAAQ+B,KAAA,gBAAAA,EAAe,SAAS/B,EAAI,MAAgB;AAAA,EAAA,GAE3F,CAACqC,GAAkBN,CAAa,CAAC;AAEpC,EAAAU,EAAU,MAAM;AACd,QAAI7B,KAIE,CAACW,EAAiB,KAAK,CAACvB,MAAQA,EAAI,UAAUY,CAAW,GAAG;AAC9D,YAAM8B,IAAiBpB,EAAiBC,GAAkBX,CAAW;AACrE,MAAI8B,KACFT,EAASS,CAAc;AAAA,IAE3B;AAAA,EAEJ,GAAG,CAACnB,GAAkBX,GAAaqB,CAAQ,CAAC;AAE5C,QAAMU,IAAYrB,EAAiBC,GAAkBX,CAAW;AAEhE,SACEgC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAT,GAAc,UAAUF,GAClC,UAAAU,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAAd;AAAA,MACA,aAAAG;AAAA,MACA,OAAOQ;AAAA,MACP,SAASpB;AAAA,MACT,UAAAU;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ,GC9Dac,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,uBAAA;AAAA,IACvC;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA;AAAA,MAEV,cAAc;AAAA,QACZrD,EAAY;AAAA,QACZA,EAAY;AAAA,QACZA,EAAY;AAAA,QACZA,EAAY;AAAA,QACZA,EAAY;AAAA,QACZA,EAAY;AAAA,MAAA;AAAA,IACd;AAAA,IAEF;AAAA,MACE,GAAGqD,EAAO;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aACE;AAAA,MACF,UAAU;AAAA,IAAA;AAAA,IAEZ,EAAE,GAAGA,EAAO,WAAW,cAAc,GAAA;AAAA,EAAM;AAAA,EAE7C,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAc;AAAA,MACd,QAAQ,CAAC,aAAa;AAAA,MACtB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEAC,IAAeC,EAAgBC,GAAwBJ,GAAM;AAAA,EAC3D,OAAO,CAACC,OACC;AAAA,IACL,GAAGA;AAAAA,EAAA;AAAA,EAGP,QAAQ;AAAA,IACN,UAAU,CAACpC,OAAiB;AAAA,MAC1B,OAAOA,KAAewC,EAAM,SAAA;AAAA,IAAS;AAAA,EACvC;AAEJ,CAAC;"}
1
+ {"version":3,"file":"GranularitySelectFieldPro.js","sources":["../src/theme/defaults/defaults.GranularityOptions.constants.ts","../src/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.utils.ts","../src/components/editors/GranularitySelectFieldPro/index.tsx","../src/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.emb.ts"],"sourcesContent":["import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\n\nexport const Granularity = {\n second: 'second',\n minute: 'minute',\n hour: 'hour',\n day: 'day',\n week: 'week',\n month: 'month',\n quarter: 'quarter',\n year: 'year',\n} as const;\n\nexport type TGranularity = keyof typeof Granularity;\nexport type TGranularityValue = (typeof Granularity)[TGranularity];\n\nexport const defaultGranularitySelectFieldOptions: SelectListOptionProps[] = [\n { value: Granularity.second, label: 'defaults.granularityOptions.second|Second' },\n { value: Granularity.minute, label: 'defaults.granularityOptions.minute|Minute' },\n { value: Granularity.hour, label: 'defaults.granularityOptions.hour|Hour' },\n { value: Granularity.day, label: 'defaults.granularityOptions.day|Day' },\n { value: Granularity.week, label: 'defaults.granularityOptions.week|Week' },\n { value: Granularity.month, label: 'defaults.granularityOptions.month|Month' },\n { value: Granularity.quarter, label: 'defaults.granularityOptions.quarter|Quarter' },\n { value: Granularity.year, label: 'defaults.granularityOptions.year|Year' },\n];\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport {\n defaultGranularitySelectFieldOptions,\n Granularity,\n TGranularity,\n TGranularityValue,\n} from '../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { resolveI18nString } from '../../component.utils';\n\nconst DEFAULT_MIN_BUCKETS = 1;\nconst DEFAULT_MAX_BUCKETS = 100;\n\nexport const getGranularitySelectFieldOptions = (): SelectListOptionProps[] => {\n return defaultGranularitySelectFieldOptions.map((opt) => ({\n ...opt,\n label: resolveI18nString(opt.label),\n }));\n};\n\n// Convert possibly-string timestamps to Date safely.\nconst toDate = (d: unknown): Date | null => {\n if (d instanceof Date) return isNaN(d.getTime()) ? null : d;\n if (typeof d === 'string' || typeof d === 'number') {\n const parsed = new Date(d);\n return isNaN(parsed.getTime()) ? null : parsed;\n }\n return null;\n};\n\n// Inclusive end -> Exclusive end helper (only used for sub-day diffs)\nconst toExclusiveEnd = (endInclusive: Date): Date => new Date(endInclusive.getTime() + 1);\n\nconst bucketCountByUnit = (start: Date, endExclusive: Date, unitMs: number): number => {\n return (endExclusive.getTime() - start.getTime()) / unitMs;\n};\n\n// Bucket counting (treat end as INCLUSIVE)\nfunction bucketCount(start: Date, endInclusive: Date, granularity: TGranularity): number {\n if (start > endInclusive) return 0;\n\n switch (granularity) {\n case Granularity.second:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 1000);\n\n case Granularity.minute:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 60 * 1000);\n\n case Granularity.hour:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 60 * 60 * 1000);\n\n case Granularity.day:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 24 * 60 * 60 * 1000);\n\n case Granularity.week:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 7 * 24 * 60 * 60 * 1000);\n\n case Granularity.month:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 28 * 24 * 60 * 60 * 1000); // shortest month\n\n case Granularity.quarter:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 90 * 24 * 60 * 60 * 1000); // shortest quarter\n\n case Granularity.year:\n return bucketCountByUnit(start, toExclusiveEnd(endInclusive), 365 * 24 * 60 * 60 * 1000); // shortest year\n }\n}\n\nconst isGranularityValid = (\n start: Date,\n endInclusive: Date,\n granularity: TGranularityValue,\n): boolean => {\n const buckets = bucketCount(start, endInclusive, granularity);\n return buckets >= DEFAULT_MIN_BUCKETS && buckets <= DEFAULT_MAX_BUCKETS;\n};\n\nexport const getAvailableGranularityOptionsFromTimeRange = (\n timeRange: TimeRange,\n allOptions: SelectListOptionProps[],\n): SelectListOptionProps[] => {\n if (!timeRange) return allOptions;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const from = toDate((timeRange as any)?.from);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const to = toDate((timeRange as any)?.to);\n\n // If we can’t parse range, don’t hide anything (fail open)\n if (!from || !to) return allOptions;\n\n const validSet = new Set<TGranularityValue>();\n\n for (const opt of allOptions) {\n const g = opt.value as TGranularityValue;\n if (isGranularityValid(from, to, g)) {\n validSet.add(g);\n }\n }\n\n // preserve original UI ordering\n return allOptions.filter((opt) => validSet.has(opt.value as TGranularityValue));\n};\n\nexport const getSafeSelection = (\n availableOptions: SelectListOptionProps[],\n granularity?: string,\n): string | undefined => {\n if (!granularity) {\n return undefined;\n }\n\n if (availableOptions.some((opt) => opt.value === granularity)) {\n return granularity;\n }\n\n const optionToSelect = availableOptions.length > 2 ? 1 : 0;\n\n return availableOptions[optionToSelect]?.value as string;\n};\n","import { useEffect, useMemo } from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport {\n getAvailableGranularityOptionsFromTimeRange,\n getGranularitySelectFieldOptions,\n getSafeSelection,\n} from './GranularitySelectFieldPro.utils';\nimport { TGranularityValue } from '../../../theme/defaults/defaults.GranularityOptions.constants';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\n\ntype GranularitySelectFieldProProps = {\n onChange: (newGranularity: string) => void;\n placeholder?: string;\n primaryTimeRange?: TimeRange;\n granularity?: TGranularityValue;\n granularities?: TGranularityValue[];\n clearable?: boolean;\n} & ChartCardHeaderProps;\n\nconst GranularitySelectFieldPro = (props: GranularitySelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { granularity, granularities, clearable, onChange } = props;\n const { description, placeholder, title, primaryTimeRange } = resolveI18nProps(props);\n\n const granularitySelectFieldOptions = getGranularitySelectFieldOptions();\n\n const availableOptions = useMemo(() => {\n return getAvailableGranularityOptionsFromTimeRange(\n primaryTimeRange,\n granularitySelectFieldOptions.filter((opt) =>\n granularities?.includes(opt.value as TGranularityValue),\n ),\n );\n }, [primaryTimeRange, granularities]);\n\n useEffect(() => {\n if (granularity) {\n // Selected granularity is not available\n // Select 1st available option when number of options is =< 2\n // Select 2nd option to avoid when number of options > 2\n if (!availableOptions.some((opt) => opt.value === granularity)) {\n const newGranularity = getSafeSelection(availableOptions, granularity);\n if (newGranularity) {\n onChange(newGranularity);\n }\n }\n }\n }, [availableOptions, granularity, onChange]);\n\n const safeValue = getSafeSelection(availableOptions, granularity);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n clearable={clearable}\n placeholder={placeholder}\n value={safeValue}\n options={availableOptions}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default GranularitySelectFieldPro;\n","import {\n defineComponent,\n definePreview,\n EmbeddedComponentMeta,\n Inputs,\n} from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport { inputs } from '../../component.inputs.constants';\nimport { Granularity } from '../../../theme/defaults/defaults.GranularityOptions.constants';\nimport GranularitySelectFieldPro from './index';\n\nexport const meta = {\n name: 'GranularitySelectFieldPro',\n label: 'Granularity Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n { ...inputs.placeholder, defaultValue: 'Select a granularity' },\n {\n ...inputs.granularities,\n label: 'Available granularities',\n category: 'Pre-configured variables',\n // Ignore seconds and minutes\n defaultValue: [\n Granularity.hour,\n Granularity.day,\n Granularity.week,\n Granularity.month,\n Granularity.quarter,\n Granularity.year,\n ],\n },\n {\n ...inputs.granularity,\n label: 'Selected granularity',\n category: 'Pre-configured variables',\n },\n {\n ...inputs.timeRange,\n name: 'primaryTimeRange',\n label: 'Primary date-range',\n description:\n 'Connect your primary date-range variable to enable automatic selection of the most appropriate granularity',\n category: 'Pre-configured variables',\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected granularity updated',\n properties: [\n {\n name: 'value',\n label: 'Selected granularity',\n type: 'granularity',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'granularity value',\n type: 'granularity',\n defaultValue: 'day',\n inputs: ['granularity'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport const preview = definePreview(GranularitySelectFieldPro, {\n granularities: [\n Granularity.second,\n Granularity.minute,\n Granularity.hour,\n Granularity.day,\n Granularity.week,\n Granularity.month,\n Granularity.quarter,\n Granularity.year,\n ],\n onChange: () => null,\n});\n\nexport default defineComponent(GranularitySelectFieldPro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n },\n events: {\n onChange: (granularity) => ({\n value: granularity ?? Value.noFilter(),\n }),\n },\n});\n"],"names":["Granularity","defaultGranularitySelectFieldOptions","DEFAULT_MIN_BUCKETS","DEFAULT_MAX_BUCKETS","getGranularitySelectFieldOptions","opt","resolveI18nString","toDate","d","parsed","toExclusiveEnd","endInclusive","bucketCountByUnit","start","endExclusive","unitMs","bucketCount","granularity","isGranularityValid","buckets","getAvailableGranularityOptionsFromTimeRange","timeRange","allOptions","from","to","validSet","g","getSafeSelection","availableOptions","optionToSelect","_a","GranularitySelectFieldPro","props","theme","useTheme","i18nSetup","granularities","clearable","onChange","description","placeholder","title","primaryTimeRange","resolveI18nProps","granularitySelectFieldOptions","useMemo","useEffect","newGranularity","safeValue","jsx","EditorCard","SingleSelectField","meta","inputs","preview","definePreview","GranularitySelectFieldPro_emb","defineComponent","Value"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { g as t, l as a } from "./Color.type.emb-Dkh_ZrO6.js";
2
- import { defineComponent as n } from "@embeddable.com/react";
3
- import { H as i } from "./index-Cv4JGkHO.js";
4
- import { b as e } from "./component.inputs.constants-CNdmawDt.js";
5
- const r = {
1
+ import { g as a, l as i } from "./Color.type.emb-sebikYGW.js";
2
+ import { definePreview as r, defineComponent as l } from "@embeddable.com/react";
3
+ import { H as n } from "./index-t7YCtFvf.js";
4
+ import { b as e } from "./component.inputs.constants-Ds7YpNhT.js";
5
+ import { p as t } from "./preview.data.constants-tDMYNi0n.js";
6
+ const m = {
6
7
  name: "HeatMapPro",
7
8
  label: "Heat Map",
8
9
  category: "Table Charts",
@@ -27,7 +28,7 @@ const r = {
27
28
  required: !0,
28
29
  name: "midColor",
29
30
  label: "Mid-point color",
30
- defaultValue: t("--em-tablechart-heatmap-color", "#FF5400")
31
+ defaultValue: a("--em-tablechart-heatmap-color", "#FF5400")
31
32
  },
32
33
  {
33
34
  ...e.color,
@@ -76,11 +77,17 @@ const r = {
76
77
  },
77
78
  e.maxResults
78
79
  ]
79
- }, u = n(i, r, {
80
+ }, g = r(n, {
81
+ rowDimension: t.dimension,
82
+ columnDimension: t.dimensionGroup,
83
+ measure: t.measure,
84
+ results: t.results1Measure2Dimensions,
85
+ hideMenu: !0
86
+ }), h = l(n, m, {
80
87
  /* @ts-expect-error - to be fixed in @embeddable.com/react */
81
88
  props: (o) => ({
82
89
  ...o,
83
- results: a({
90
+ results: i({
84
91
  from: o.dataset,
85
92
  select: [o.rowDimension, o.columnDimension, o.measure],
86
93
  limit: o.maxResults,
@@ -89,7 +96,8 @@ const r = {
89
96
  })
90
97
  });
91
98
  export {
92
- u as default,
93
- r as meta
99
+ h as default,
100
+ m as meta,
101
+ g as preview
94
102
  };
95
103
  //# sourceMappingURL=HeatMapPro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeatMapPro.js","sources":["../src/components/charts/tables/HeatMapPro/HeatMapPro.emb.ts"],"sourcesContent":["import { loadData } from '@embeddable.com/core';\nimport { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport HeatMapPro from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { getStyle } from '@embeddable.com/remarkable-ui';\n\nexport const meta = {\n name: 'HeatMapPro',\n label: 'Heat Map',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Row dimension',\n name: 'rowDimension',\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Column dimension',\n name: 'columnDimension',\n },\n inputs.title,\n inputs.description,\n inputs.displayNullAs,\n {\n ...inputs.color,\n required: true,\n name: 'midColor',\n label: 'Mid-point color',\n defaultValue: getStyle('--em-tablechart-heatmap-color', '#FF5400'),\n },\n {\n ...inputs.color,\n name: 'maxColor',\n label: 'Max-point color (optional)',\n },\n {\n ...inputs.color,\n name: 'minColor',\n label: 'Min-point color (optional)',\n },\n\n {\n ...inputs.string,\n name: 'minThreshold',\n label: 'Max-point range lower limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n category: 'Component Settings',\n },\n {\n ...inputs.string,\n name: 'maxThreshold',\n label: 'Min-point range upper limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'showValues',\n label: 'Show values',\n defaultValue: true,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'firstColumnWidth',\n label: 'First column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'columnWidth',\n label: 'Column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n inputs.maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(HeatMapPro, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n results: loadData({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, inputs.measure],\n limit: inputs.maxResults,\n countRows: true,\n }),\n };\n },\n});\n"],"names":["meta","inputs","getStyle","HeatMapPro_emb","defineComponent","HeatMapPro","loadData"],"mappings":";;;;AAMO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,IAAA;AAAA,IAER;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,IAAA;AAAA,IAERA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAcC,EAAS,iCAAiC,SAAS;AAAA,IAAA;AAAA,IAEnE;AAAA,MACE,GAAGD,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAET;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAGT;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZA,EAAO;AAAA,EAAA;AAEX,GAEAE,IAAeC,EAAgBC,GAAYL,GAAM;AAAA;AAAA,EAE/C,OAAO,CAACC,OACC;AAAA,IACL,GAAGA;AAAAA,IACH,SAASK,EAAS;AAAA,MAChB,MAAML,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,cAAcA,EAAO,iBAAiBA,EAAO,OAAO;AAAA,MACpE,OAAOA,EAAO;AAAA,MACd,WAAW;AAAA,IAAA,CACZ;AAAA,EAAA;AAGP,CAAC;"}
1
+ {"version":3,"file":"HeatMapPro.js","sources":["../src/components/charts/tables/HeatMapPro/HeatMapPro.emb.ts"],"sourcesContent":["import { loadData } from '@embeddable.com/core';\nimport {\n defineComponent,\n definePreview,\n EmbeddedComponentMeta,\n Inputs,\n} from '@embeddable.com/react';\nimport HeatMapPro from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { getStyle } from '@embeddable.com/remarkable-ui';\nimport { previewData } from '../../../preview.data.constants';\n\nexport const meta = {\n name: 'HeatMapPro',\n label: 'Heat Map',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Row dimension',\n name: 'rowDimension',\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Column dimension',\n name: 'columnDimension',\n },\n inputs.title,\n inputs.description,\n inputs.displayNullAs,\n {\n ...inputs.color,\n required: true,\n name: 'midColor',\n label: 'Mid-point color',\n defaultValue: getStyle('--em-tablechart-heatmap-color', '#FF5400'),\n },\n {\n ...inputs.color,\n name: 'maxColor',\n label: 'Max-point color (optional)',\n },\n {\n ...inputs.color,\n name: 'minColor',\n label: 'Min-point color (optional)',\n },\n\n {\n ...inputs.string,\n name: 'minThreshold',\n label: 'Max-point range lower limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n category: 'Component Settings',\n },\n {\n ...inputs.string,\n name: 'maxThreshold',\n label: 'Min-point range upper limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'showValues',\n label: 'Show values',\n defaultValue: true,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'firstColumnWidth',\n label: 'First column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'columnWidth',\n label: 'Column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n inputs.maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport const preview = definePreview(HeatMapPro, {\n rowDimension: previewData.dimension,\n columnDimension: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n});\n\nexport default defineComponent(HeatMapPro, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n results: loadData({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, inputs.measure],\n limit: inputs.maxResults,\n countRows: true,\n }),\n };\n },\n});\n"],"names":["meta","inputs","getStyle","preview","definePreview","HeatMapPro","previewData","HeatMapPro_emb","defineComponent","loadData"],"mappings":";;;;;AAYO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,IAAA;AAAA,IAER;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,IAAA;AAAA,IAERA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAcC,EAAS,iCAAiC,SAAS;AAAA,IAAA;AAAA,IAEnE;AAAA,MACE,GAAGD,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAET;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAGT;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZA,EAAO;AAAA,EAAA;AAEX,GAEaE,IAAUC,EAAcC,GAAY;AAAA,EAC/C,cAAcC,EAAY;AAAA,EAC1B,iBAAiBA,EAAY;AAAA,EAC7B,SAASA,EAAY;AAAA,EACrB,SAASA,EAAY;AAAA,EACrB,UAAU;AACZ,CAAC,GAEDC,IAAeC,EAAgBH,GAAYL,GAAM;AAAA;AAAA,EAE/C,OAAO,CAACC,OACC;AAAA,IACL,GAAGA;AAAAA,IACH,SAASQ,EAAS;AAAA,MAChB,MAAMR,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,cAAcA,EAAO,iBAAiBA,EAAO,OAAO;AAAA,MACpE,OAAOA,EAAO;AAAA,MACd,WAAW;AAAA,IAAA,CACZ;AAAA,EAAA;AAGP,CAAC;"}
@@ -0,0 +1,12 @@
1
+ import { k as a } from "./Color.type.emb-sebikYGW.js";
2
+ /**
3
+ * @license @tabler/icons-react v3.36.1 - MIT
4
+ *
5
+ * This source code is licensed under the MIT license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const l = [["path", { d: "M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 1.993 -.117l.007 .117v1h6v-1a1 1 0 0 1 1 -1zm3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16v-9.625z", key: "svg-0" }], ["path", { d: "M12 12a1 1 0 0 1 .993 .883l.007 .117v3a1 1 0 0 1 -1.993 .117l-.007 -.117v-2a1 1 0 0 1 -.117 -1.993l.117 -.007h1z", key: "svg-1" }]], v = a("filled", "calendar-filled", "CalendarFilled", l);
9
+ export {
10
+ v as I
11
+ };
12
+ //# sourceMappingURL=IconCalendarFilled-Bfm3jkzE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconCalendarFilled-Bfm3jkzE.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarFilled.mjs"],"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\": \"M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 1.993 -.117l.007 .117v1h6v-1a1 1 0 0 1 1 -1zm3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16v-9.625z\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M12 12a1 1 0 0 1 .993 .883l.007 .117v3a1 1 0 0 1 -1.993 .117l-.007 -.117v-2a1 1 0 0 1 -.117 -1.993l.117 -.007h1z\", \"key\": \"svg-1\" }]];\nconst IconCalendarFilled = createReactComponent(\"filled\", \"calendar-filled\", \"CalendarFilled\", __iconNode);\n\nexport { __iconNode, IconCalendarFilled as default };\n//# sourceMappingURL=IconCalendarFilled.mjs.map\n"],"names":["__iconNode","IconCalendarFilled","createReactComponent"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,iWAAiW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,oHAAoH,KAAO,QAAO,CAAE,CAAC,GACviBC,IAAqBC,EAAqB,UAAU,mBAAmB,kBAAkBF,CAAU;","x_google_ignoreList":[0]}
@@ -1,8 +1,9 @@
1
- import { defineComponent as n } from "@embeddable.com/react";
2
- import { K as m } from "./index-DkmPuuV8.js";
3
- import { l as r } from "./Color.type.emb-Dkh_ZrO6.js";
4
- import { b as a } from "./component.inputs.constants-CNdmawDt.js";
5
- const l = {
1
+ import { definePreview as s, defineComponent as l } from "@embeddable.com/react";
2
+ import { K as t } from "./index-BUk63KEk.js";
3
+ import { l as i } from "./Color.type.emb-sebikYGW.js";
4
+ import { b as a } from "./component.inputs.constants-Ds7YpNhT.js";
5
+ import { p as o } from "./preview.data.constants-tDMYNi0n.js";
6
+ const p = {
6
7
  name: "KpiChartNumberComparisonPro",
7
8
  label: "Kpi Chart - Number Comparison",
8
9
  category: "Kpi Charts",
@@ -52,13 +53,22 @@ const l = {
52
53
  label: "Trend font-size"
53
54
  }
54
55
  ]
55
- }, d = n(m, l, {
56
- props: (e, [o, t]) => ({
56
+ }, f = s(t, {
57
+ measure: { ...o.measure },
58
+ results: o.results1Measure,
59
+ resultsComparison: o.results1MeasureVariant,
60
+ primaryDateRange: void 0,
61
+ comparisonPeriod: "Previous period",
62
+ comparisonDateRange: { relativeTimeString: "Today", from: void 0, to: void 0 },
63
+ fontSize: 100,
64
+ hideMenu: !0
65
+ }), v = l(t, p, {
66
+ props: (e, [r, n]) => ({
57
67
  ...e,
58
68
  comparisonPeriod: e.comparisonPeriod,
59
- comparisonDateRange: o == null ? void 0 : o.comparisonDateRange,
60
- setComparisonDateRange: (i) => t({ comparisonDateRange: i }),
61
- results: r({
69
+ comparisonDateRange: r == null ? void 0 : r.comparisonDateRange,
70
+ setComparisonDateRange: (m) => n({ comparisonDateRange: m }),
71
+ results: i({
62
72
  from: e.dataset,
63
73
  select: [e.measure],
64
74
  limit: 1,
@@ -70,7 +80,7 @@ const l = {
70
80
  }
71
81
  ] : void 0
72
82
  }),
73
- resultsComparison: e.primaryDateRange && e.timeProperty && (o != null && o.comparisonDateRange) ? r({
83
+ resultsComparison: e.primaryDateRange && e.timeProperty && (r != null && r.comparisonDateRange) ? i({
74
84
  from: e.dataset,
75
85
  select: [e.measure],
76
86
  limit: 1,
@@ -78,14 +88,15 @@ const l = {
78
88
  {
79
89
  property: e.timeProperty,
80
90
  operator: "inDateRange",
81
- value: o.comparisonDateRange
91
+ value: r.comparisonDateRange
82
92
  }
83
93
  ]
84
94
  }) : void 0
85
95
  })
86
96
  });
87
97
  export {
88
- d as default,
89
- l as meta
98
+ v as default,
99
+ p as meta,
100
+ f as preview
90
101
  };
91
102
  //# sourceMappingURL=KpiChartNumberComparisonPro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KpiChartNumberComparisonPro.js","sources":["../src/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.ts"],"sourcesContent":["import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport KpiChartNumberComparisonPro from './index';\nimport { loadData, TimeRange } from '@embeddable.com/core';\nimport { inputs } from '../../../component.inputs.constants';\n\nexport const meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n category: 'Kpi Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionTime, name: 'timeProperty', label: 'Time property' },\n {\n ...inputs.timeRange,\n name: 'primaryDateRange',\n label: 'Primary date-range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n ...inputs.comparisonPeriod,\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n inputs.title,\n inputs.description,\n {\n ...inputs.boolean,\n name: 'displayChangeAsPercentage',\n label: 'Display change as %',\n defaultValue: false,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'percentageDecimalPlaces',\n label: 'Percentage decimal places',\n defaultValue: 1,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse positive/negative colors',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.fontSize,\n {\n ...inputs.fontSize,\n name: 'changeFontSize',\n label: 'Trend font-size',\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\ntype KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nexport default defineComponent(KpiChartNumberComparisonPro, meta, {\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n ) => {\n return {\n ...inputs,\n comparisonPeriod: inputs.comparisonPeriod as string | undefined,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n }),\n resultsComparison:\n inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange\n ? loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: state.comparisonDateRange,\n },\n ],\n })\n : undefined,\n };\n },\n});\n"],"names":["meta","inputs","KpiChartNumberComparisonPro_emb","defineComponent","KpiChartNumberComparisonPro","state","setState","comparisonDateRange","loadData"],"mappings":";;;;AAKO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,eAAe,MAAM,gBAAgB,OAAO,gBAAA;AAAA,IACxD;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,GAMAC,IAAeC,EAAgBC,GAA6BJ,GAAM;AAAA,EAChE,OAAO,CACLC,GACA,CAACI,GAAOC,CAAQ,OAKT;AAAA,IACL,GAAGL;AAAAA,IACH,kBAAkBA,EAAO;AAAA,IACzB,qBAAqBI,KAAA,gBAAAA,EAAO;AAAA,IAC5B,wBAAwB,CAACE,MAAmCD,EAAS,EAAE,qBAAAC,GAAqB;AAAA,IAC5F,SAASC,EAAS;AAAA,MAChB,MAAMP,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,OAAO;AAAA,MACvB,OAAO;AAAA,MACP,SACEA,EAAO,oBAAoBA,EAAO,eAC9B;AAAA,QACE;AAAA,UACE,UAAUA,EAAO;AAAA,UACjB,UAAU;AAAA,UACV,OAAOA,EAAO;AAAA,QAAA;AAAA,MAChB,IAEF;AAAA,IAAA,CACP;AAAA,IACD,mBACEA,EAAO,oBAAoBA,EAAO,iBAAgBI,KAAA,QAAAA,EAAO,uBACrDG,EAAS;AAAA,MACP,MAAMP,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,OAAO;AAAA,MACvB,OAAO;AAAA,MACP,SAAS;AAAA,QACP;AAAA,UACE,UAAUA,EAAO;AAAA,UACjB,UAAU;AAAA,UACV,OAAOI,EAAM;AAAA,QAAA;AAAA,MACf;AAAA,IACF,CACD,IACD;AAAA,EAAA;AAGZ,CAAC;"}
1
+ {"version":3,"file":"KpiChartNumberComparisonPro.js","sources":["../src/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.ts"],"sourcesContent":["import {\n defineComponent,\n definePreview,\n EmbeddedComponentMeta,\n Inputs,\n} from '@embeddable.com/react';\nimport KpiChartNumberComparisonPro from './index';\nimport { loadData, TimeRange } from '@embeddable.com/core';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nexport const meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n category: 'Kpi Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionTime, name: 'timeProperty', label: 'Time property' },\n {\n ...inputs.timeRange,\n name: 'primaryDateRange',\n label: 'Primary date-range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n ...inputs.comparisonPeriod,\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n inputs.title,\n inputs.description,\n {\n ...inputs.boolean,\n name: 'displayChangeAsPercentage',\n label: 'Display change as %',\n defaultValue: false,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'percentageDecimalPlaces',\n label: 'Percentage decimal places',\n defaultValue: 1,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse positive/negative colors',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.fontSize,\n {\n ...inputs.fontSize,\n name: 'changeFontSize',\n label: 'Trend font-size',\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport const preview = definePreview(KpiChartNumberComparisonPro, {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n resultsComparison: previewData.results1MeasureVariant,\n primaryDateRange: undefined,\n comparisonPeriod: 'Previous period',\n comparisonDateRange: { relativeTimeString: 'Today', from: undefined, to: undefined },\n fontSize: 100,\n hideMenu: true,\n});\n\ntype KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nexport default defineComponent(KpiChartNumberComparisonPro, meta, {\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n ) => {\n return {\n ...inputs,\n comparisonPeriod: inputs.comparisonPeriod as string | undefined,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n }),\n resultsComparison:\n inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange\n ? loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: state.comparisonDateRange,\n },\n ],\n })\n : undefined,\n };\n },\n});\n"],"names":["meta","inputs","preview","definePreview","KpiChartNumberComparisonPro","previewData","KpiChartNumberComparisonPro_emb","defineComponent","state","setState","comparisonDateRange","loadData"],"mappings":";;;;;AAWO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,eAAe,MAAM,gBAAgB,OAAO,gBAAA;AAAA,IACxD;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,GAEaC,IAAUC,EAAcC,GAA6B;AAAA,EAChE,SAAS,EAAE,GAAGC,EAAY,QAAA;AAAA,EAC1B,SAASA,EAAY;AAAA,EACrB,mBAAmBA,EAAY;AAAA,EAC/B,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,qBAAqB,EAAE,oBAAoB,SAAS,MAAM,QAAW,IAAI,OAAA;AAAA,EACzE,UAAU;AAAA,EACV,UAAU;AACZ,CAAC,GAMDC,IAAeC,EAAgBH,GAA6BJ,GAAM;AAAA,EAChE,OAAO,CACLC,GACA,CAACO,GAAOC,CAAQ,OAKT;AAAA,IACL,GAAGR;AAAAA,IACH,kBAAkBA,EAAO;AAAA,IACzB,qBAAqBO,KAAA,gBAAAA,EAAO;AAAA,IAC5B,wBAAwB,CAACE,MAAmCD,EAAS,EAAE,qBAAAC,GAAqB;AAAA,IAC5F,SAASC,EAAS;AAAA,MAChB,MAAMV,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,OAAO;AAAA,MACvB,OAAO;AAAA,MACP,SACEA,EAAO,oBAAoBA,EAAO,eAC9B;AAAA,QACE;AAAA,UACE,UAAUA,EAAO;AAAA,UACjB,UAAU;AAAA,UACV,OAAOA,EAAO;AAAA,QAAA;AAAA,MAChB,IAEF;AAAA,IAAA,CACP;AAAA,IACD,mBACEA,EAAO,oBAAoBA,EAAO,iBAAgBO,KAAA,QAAAA,EAAO,uBACrDG,EAAS;AAAA,MACP,MAAMV,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,OAAO;AAAA,MACvB,OAAO;AAAA,MACP,SAAS;AAAA,QACP;AAAA,UACE,UAAUA,EAAO;AAAA,UACjB,UAAU;AAAA,UACV,OAAOO,EAAM;AAAA,QAAA;AAAA,MACf;AAAA,IACF,CACD,IACD;AAAA,EAAA;AAGZ,CAAC;"}
@@ -1,23 +1,32 @@
1
- import { defineComponent as e } from "@embeddable.com/react";
2
- import { K as a } from "./index-Dhzhtagm.js";
3
- import { l as o } from "./Color.type.emb-Dkh_ZrO6.js";
4
- import { b as r } from "./component.inputs.constants-CNdmawDt.js";
5
- const m = {
1
+ import { definePreview as o, defineComponent as s } from "@embeddable.com/react";
2
+ import { K as a } from "./index--Dbq1zrZ.js";
3
+ import { l as m } from "./Color.type.emb-sebikYGW.js";
4
+ import { b as e } from "./component.inputs.constants-Ds7YpNhT.js";
5
+ import { p as t } from "./preview.data.constants-tDMYNi0n.js";
6
+ const i = {
6
7
  name: "KpiChartNumberPro",
7
8
  label: "Kpi Chart - Number",
8
9
  category: "Kpi Charts",
9
- inputs: [r.dataset, r.measure, r.title, r.description, r.fontSize]
10
- }, u = e(a, m, {
11
- props: (t) => ({
12
- ...t,
13
- results: o({
14
- from: t.dataset,
15
- select: [t.measure]
10
+ inputs: [e.dataset, e.measure, e.title, e.description, e.fontSize]
11
+ }, d = o(a, {
12
+ measure: {
13
+ ...t.measure
14
+ },
15
+ results: t.results1Measure,
16
+ fontSize: 100,
17
+ hideMenu: !0
18
+ }), b = s(a, i, {
19
+ props: (r) => ({
20
+ ...r,
21
+ results: m({
22
+ from: r.dataset,
23
+ select: [r.measure]
16
24
  })
17
25
  })
18
26
  });
19
27
  export {
20
- u as default,
21
- m as meta
28
+ b as default,
29
+ i as meta,
30
+ d as preview
22
31
  };
23
32
  //# sourceMappingURL=KpiChartNumberPro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KpiChartNumberPro.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/KpiChartNumberPro.emb.ts"],"sourcesContent":["import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport KpiChartNumberPro from './index';\nimport { loadData } from '@embeddable.com/core';\nimport { inputs } from '../../../component.inputs.constants';\n\nexport const meta = {\n name: 'KpiChartNumberPro',\n label: 'Kpi Chart - Number',\n category: 'Kpi Charts',\n inputs: [inputs.dataset, inputs.measure, inputs.title, inputs.description, inputs.fontSize],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(KpiChartNumberPro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n results: loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n }),\n };\n },\n});\n"],"names":["meta","inputs","KpiChartNumberPro_emb","defineComponent","KpiChartNumberPro","loadData"],"mappings":";;;;AAKO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ,CAACC,EAAO,SAASA,EAAO,SAASA,EAAO,OAAOA,EAAO,aAAaA,EAAO,QAAQ;AAC5F,GAEAC,IAAeC,EAAgBC,GAAmBJ,GAAM;AAAA,EACtD,OAAO,CAACC,OACC;AAAA,IACL,GAAGA;AAAAA,IACH,SAASI,EAAS;AAAA,MAChB,MAAMJ,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,OAAO;AAAA,IAAA,CACxB;AAAA,EAAA;AAGP,CAAC;"}
1
+ {"version":3,"file":"KpiChartNumberPro.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/KpiChartNumberPro.emb.ts"],"sourcesContent":["import {\n defineComponent,\n definePreview,\n EmbeddedComponentMeta,\n Inputs,\n} from '@embeddable.com/react';\nimport KpiChartNumberPro from './index';\nimport { loadData } from '@embeddable.com/core';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nexport const meta = {\n name: 'KpiChartNumberPro',\n label: 'Kpi Chart - Number',\n category: 'Kpi Charts',\n inputs: [inputs.dataset, inputs.measure, inputs.title, inputs.description, inputs.fontSize],\n} as const satisfies EmbeddedComponentMeta;\n\nexport const preview = definePreview(KpiChartNumberPro, {\n measure: {\n ...previewData.measure,\n },\n results: previewData.results1Measure,\n fontSize: 100,\n hideMenu: true,\n});\n\nexport default defineComponent(KpiChartNumberPro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n results: loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n }),\n };\n },\n});\n"],"names":["meta","inputs","preview","definePreview","KpiChartNumberPro","previewData","KpiChartNumberPro_emb","defineComponent","loadData"],"mappings":";;;;;AAWO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ,CAACC,EAAO,SAASA,EAAO,SAASA,EAAO,OAAOA,EAAO,aAAaA,EAAO,QAAQ;AAC5F,GAEaC,IAAUC,EAAcC,GAAmB;AAAA,EACtD,SAAS;AAAA,IACP,GAAGC,EAAY;AAAA,EAAA;AAAA,EAEjB,SAASA,EAAY;AAAA,EACrB,UAAU;AAAA,EACV,UAAU;AACZ,CAAC,GAEDC,IAAeC,EAAgBH,GAAmBJ,GAAM;AAAA,EACtD,OAAO,CAACC,OACC;AAAA,IACL,GAAGA;AAAAA,IACH,SAASO,EAAS;AAAA,MAChB,MAAMP,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,OAAO;AAAA,IAAA,CACxB;AAAA,EAAA;AAGP,CAAC;"}