@embeddable.com/remarkable-pro 0.1.2 → 0.1.3

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 (205) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +9 -8
  2. package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
  3. package/dist/BarChartDefaultPro.js +5 -4
  4. package/dist/BarChartDefaultPro.js.map +1 -1
  5. package/dist/BarChartGroupedHorizontalPro.js +5 -4
  6. package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
  7. package/dist/BarChartGroupedPro.js +7 -6
  8. package/dist/BarChartGroupedPro.js.map +1 -1
  9. package/dist/BarChartStackedHorizontalPro.js +10 -9
  10. package/dist/BarChartStackedHorizontalPro.js.map +1 -1
  11. package/dist/BarChartStackedPro.js +13 -12
  12. package/dist/BarChartStackedPro.js.map +1 -1
  13. package/dist/ChartCard-OT66j3V3.js +117 -0
  14. package/dist/ChartCard-OT66j3V3.js.map +1 -0
  15. package/dist/{ChartGranularitySelectField-C_6Mugcw.js → ChartGranularitySelectField-awLCjaEw.js} +3 -3
  16. package/dist/{ChartGranularitySelectField-C_6Mugcw.js.map → ChartGranularitySelectField-awLCjaEw.js.map} +1 -1
  17. package/dist/{Color.type.emb-De2K8PVb.js → Color.type.emb-Chs0ckWV.js} +11493 -11117
  18. package/dist/Color.type.emb-Chs0ckWV.js.map +1 -0
  19. package/dist/ColorEditor.js +1 -1
  20. package/dist/ComparisonPeriodSelectFieldPro.js +9 -8
  21. package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
  22. package/dist/DateRangePickerCustomPro.js +42 -41
  23. package/dist/DateRangePickerCustomPro.js.map +1 -1
  24. package/dist/DateRangeSelectFieldPro.js +6 -5
  25. package/dist/DateRangeSelectFieldPro.js.map +1 -1
  26. package/dist/{DimensionAndMeasureSingleSelectField-CJ1yAcRd.js → DimensionAndMeasureSingleSelectField-BDdFGAJw.js} +3 -3
  27. package/dist/{DimensionAndMeasureSingleSelectField-CJ1yAcRd.js.map → DimensionAndMeasureSingleSelectField-BDdFGAJw.js.map} +1 -1
  28. package/dist/DimensionSingleSelectFieldPro.js +32 -31
  29. package/dist/DimensionSingleSelectFieldPro.js.map +1 -1
  30. package/dist/DonutChartPro.js +16 -15
  31. package/dist/DonutChartPro.js.map +1 -1
  32. package/dist/DonutLabelChartPro.js +10 -9
  33. package/dist/DonutLabelChartPro.js.map +1 -1
  34. package/dist/EditorCard-C79wijeo.js +33 -0
  35. package/dist/EditorCard-C79wijeo.js.map +1 -0
  36. package/dist/{GranularitySelectField-DuRk6qY8.js → GranularitySelectField-BVQgGkjc.js} +3 -3
  37. package/dist/{GranularitySelectField-DuRk6qY8.js.map → GranularitySelectField-BVQgGkjc.js.map} +1 -1
  38. package/dist/GranularitySelectFieldPro.js +18 -17
  39. package/dist/GranularitySelectFieldPro.js.map +1 -1
  40. package/dist/HeatMapPro.js +5 -4
  41. package/dist/HeatMapPro.js.map +1 -1
  42. package/dist/{IconCalendarFilled-CYiLMPm9.js → IconCalendarFilled-CPoPNAfd.js} +2 -2
  43. package/dist/{IconCalendarFilled-CYiLMPm9.js.map → IconCalendarFilled-CPoPNAfd.js.map} +1 -1
  44. package/dist/KpiChartNumberComparisonPro.js +5 -4
  45. package/dist/KpiChartNumberComparisonPro.js.map +1 -1
  46. package/dist/KpiChartNumberPro.js +12 -5
  47. package/dist/KpiChartNumberPro.js.map +1 -1
  48. package/dist/LineChartComparisonDefaultPro.js +8 -7
  49. package/dist/LineChartComparisonDefaultPro.js.map +1 -1
  50. package/dist/LineChartDefaultPro.js +5 -4
  51. package/dist/LineChartDefaultPro.js.map +1 -1
  52. package/dist/LineChartGroupedPro.js +5 -4
  53. package/dist/LineChartGroupedPro.js.map +1 -1
  54. package/dist/MeasureSingleSelectFieldPro.js +32 -31
  55. package/dist/MeasureSingleSelectFieldPro.js.map +1 -1
  56. package/dist/MultiSelectFieldPro.js +9 -8
  57. package/dist/MultiSelectFieldPro.js.map +1 -1
  58. package/dist/PieChartPro.js +9 -8
  59. package/dist/PieChartPro.js.map +1 -1
  60. package/dist/PivotTablePro.js +5 -4
  61. package/dist/PivotTablePro.js.map +1 -1
  62. package/dist/SingleSelectFieldPro.js +23 -22
  63. package/dist/SingleSelectFieldPro.js.map +1 -1
  64. package/dist/TableChartPaginated.js +10 -9
  65. package/dist/TableChartPaginated.js.map +1 -1
  66. package/dist/TableScrollable.js +244 -242
  67. package/dist/TableScrollable.js.map +1 -1
  68. package/dist/{bars.utils-7WiIKMS8.js → bars.utils-DzcvCtRj.js} +7 -7
  69. package/dist/{bars.utils-7WiIKMS8.js.map → bars.utils-DzcvCtRj.js.map} +1 -1
  70. package/dist/{charts.utils-CeUb1OP-.js → charts.utils-B9hA-AJt.js} +725 -688
  71. package/dist/charts.utils-B9hA-AJt.js.map +1 -0
  72. package/dist/{component.inputs.constants-DzpzJ9Na.js → component.inputs.constants-DMsQ1KIy.js} +92 -86
  73. package/dist/component.inputs.constants-DMsQ1KIy.js.map +1 -0
  74. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +1 -1
  75. package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts.map +1 -1
  76. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
  77. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
  78. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
  79. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
  80. package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -1
  81. package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts.map +1 -1
  82. package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
  83. package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
  84. package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
  85. package/dist/components/charts/shared/ChartCard/ChartCard.d.ts +1 -0
  86. package/dist/components/charts/shared/ChartCard/ChartCard.d.ts.map +1 -1
  87. package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
  88. package/dist/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
  89. package/dist/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
  90. package/dist/components/charts/tables/TableScrollable/index.d.ts.map +1 -1
  91. package/dist/components/component.inputs.constants.d.ts +6 -0
  92. package/dist/components/component.inputs.constants.d.ts.map +1 -1
  93. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts +2 -2
  94. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
  95. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts +2 -2
  96. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
  97. package/dist/components/editors/MultiSelectFieldPro/index.d.ts +2 -2
  98. package/dist/components/editors/MultiSelectFieldPro/index.d.ts.map +1 -1
  99. package/dist/components/editors/SingleSelectFieldPro/index.d.ts +2 -2
  100. package/dist/components/editors/SingleSelectFieldPro/index.d.ts.map +1 -1
  101. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts +2 -2
  102. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
  103. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts +2 -2
  104. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
  105. package/dist/components/editors/shared/EditorCard/EditorCard.d.ts +6 -3
  106. package/dist/components/editors/shared/EditorCard/EditorCard.d.ts.map +1 -1
  107. package/dist/embeddable-components.json +36 -36
  108. package/dist/embeddable-theme-0137e.js +1090 -1053
  109. package/dist/{formatter.utils-CiN6axbW.js → formatter.utils-wIg0a9Bk.js} +2 -2
  110. package/dist/{formatter.utils-CiN6axbW.js.map → formatter.utils-wIg0a9Bk.js.map} +1 -1
  111. package/dist/index-5XDqQ63V.js +60 -0
  112. package/dist/index-5XDqQ63V.js.map +1 -0
  113. package/dist/{index-Cd59K5g3.js → index-B8Ssaj05.js} +6 -6
  114. package/dist/{index-Cd59K5g3.js.map → index-B8Ssaj05.js.map} +1 -1
  115. package/dist/{index-APJ7mYHR.js → index-BBNdJ1lY.js} +5 -5
  116. package/dist/{index-APJ7mYHR.js.map → index-BBNdJ1lY.js.map} +1 -1
  117. package/dist/index-BJ0atkgQ.js +93 -0
  118. package/dist/index-BJ0atkgQ.js.map +1 -0
  119. package/dist/index-BNh5_nFd.js +37 -0
  120. package/dist/index-BNh5_nFd.js.map +1 -0
  121. package/dist/index-BPkVCSJK.js +99 -0
  122. package/dist/index-BPkVCSJK.js.map +1 -0
  123. package/dist/index-Bhm26I4T.js +94 -0
  124. package/dist/index-Bhm26I4T.js.map +1 -0
  125. package/dist/index-BqknHuCo.js +88 -0
  126. package/dist/index-BqknHuCo.js.map +1 -0
  127. package/dist/index-CdwBu2mT.js +83 -0
  128. package/dist/index-CdwBu2mT.js.map +1 -0
  129. package/dist/index-CjU578lr.js +98 -0
  130. package/dist/index-CjU578lr.js.map +1 -0
  131. package/dist/index-CoDJGGqe.js +346 -0
  132. package/dist/{index-BEckqi71.js.map → index-CoDJGGqe.js.map} +1 -1
  133. package/dist/index-CzcB2c9U.js +114 -0
  134. package/dist/index-CzcB2c9U.js.map +1 -0
  135. package/dist/index-D00O-VX5.js +178 -0
  136. package/dist/index-D00O-VX5.js.map +1 -0
  137. package/dist/index-D01rdEuG.js +183 -0
  138. package/dist/index-D01rdEuG.js.map +1 -0
  139. package/dist/index-DDMj32YH.js +32 -0
  140. package/dist/index-DDMj32YH.js.map +1 -0
  141. package/dist/index-DI4o8g2o.js +92 -0
  142. package/dist/index-DI4o8g2o.js.map +1 -0
  143. package/dist/index-DViBsw3u.js +91 -0
  144. package/dist/index-DViBsw3u.js.map +1 -0
  145. package/dist/index-DlmQkA1e.js +37 -0
  146. package/dist/index-DlmQkA1e.js.map +1 -0
  147. package/dist/{index-CTds3eHF.js → index-oVUlHLZC.js} +5 -5
  148. package/dist/{index-CTds3eHF.js.map → index-oVUlHLZC.js.map} +1 -1
  149. package/dist/index-uoo8E0Rh.js +84 -0
  150. package/dist/index-uoo8E0Rh.js.map +1 -0
  151. package/dist/{index-BCVHDZZk.js → index-x7_4cBXP.js} +51 -51
  152. package/dist/index-x7_4cBXP.js.map +1 -0
  153. package/dist/index.js +29 -29
  154. package/dist/{pies.utils-MOzFigDD.js → pies.utils-Cwg8P8bS.js} +5 -5
  155. package/dist/{pies.utils-MOzFigDD.js.map → pies.utils-Cwg8P8bS.js.map} +1 -1
  156. package/dist/{preview.data.constants-BBIMPXYy.js → preview.data.constants-DHMnpP3S.js} +2 -2
  157. package/dist/{preview.data.constants-BBIMPXYy.js.map → preview.data.constants-DHMnpP3S.js.map} +1 -1
  158. package/dist/remarkable-pro.css +1 -1
  159. package/dist/{tables.utils-C7MWIQsp.js → tables.utils-C7oD63FD.js} +4 -4
  160. package/dist/tables.utils-C7oD63FD.js.map +1 -0
  161. package/dist/{timeRange.utils-LHM3sXwE.js → timeRange.utils-CzFonlg0.js} +2 -2
  162. package/dist/{timeRange.utils-LHM3sXwE.js.map → timeRange.utils-CzFonlg0.js.map} +1 -1
  163. package/package.json +4 -3
  164. package/dist/ChartCard-CfVMn37p.js +0 -116
  165. package/dist/ChartCard-CfVMn37p.js.map +0 -1
  166. package/dist/Color.type.emb-De2K8PVb.js.map +0 -1
  167. package/dist/EditorCard-B9UFM_uA.js +0 -32
  168. package/dist/EditorCard-B9UFM_uA.js.map +0 -1
  169. package/dist/charts.utils-CeUb1OP-.js.map +0 -1
  170. package/dist/component.inputs.constants-DzpzJ9Na.js.map +0 -1
  171. package/dist/index-387srVl0.js +0 -93
  172. package/dist/index-387srVl0.js.map +0 -1
  173. package/dist/index-3xjxWqDJ.js +0 -90
  174. package/dist/index-3xjxWqDJ.js.map +0 -1
  175. package/dist/index-7JWw7tI5.js +0 -47
  176. package/dist/index-7JWw7tI5.js.map +0 -1
  177. package/dist/index-BCVHDZZk.js.map +0 -1
  178. package/dist/index-BEckqi71.js +0 -346
  179. package/dist/index-BYB6yWhD.js +0 -92
  180. package/dist/index-BYB6yWhD.js.map +0 -1
  181. package/dist/index-BnOZcps-.js +0 -98
  182. package/dist/index-BnOZcps-.js.map +0 -1
  183. package/dist/index-Bv9-6Ht7.js +0 -113
  184. package/dist/index-Bv9-6Ht7.js.map +0 -1
  185. package/dist/index-C26JokZs.js +0 -91
  186. package/dist/index-C26JokZs.js.map +0 -1
  187. package/dist/index-CEDNCQK8.js +0 -31
  188. package/dist/index-CEDNCQK8.js.map +0 -1
  189. package/dist/index-ClEmYHgx.js +0 -60
  190. package/dist/index-ClEmYHgx.js.map +0 -1
  191. package/dist/index-Cp90DbOu.js +0 -83
  192. package/dist/index-Cp90DbOu.js.map +0 -1
  193. package/dist/index-Crpz4FA4.js +0 -87
  194. package/dist/index-Crpz4FA4.js.map +0 -1
  195. package/dist/index-D37a5H7U.js +0 -182
  196. package/dist/index-D37a5H7U.js.map +0 -1
  197. package/dist/index-DADSJYlJ.js +0 -177
  198. package/dist/index-DADSJYlJ.js.map +0 -1
  199. package/dist/index-DeWASjPW.js +0 -97
  200. package/dist/index-DeWASjPW.js.map +0 -1
  201. package/dist/index-DffpQwrs.js +0 -82
  202. package/dist/index-DffpQwrs.js.map +0 -1
  203. package/dist/index-mtJHlsB1.js +0 -47
  204. package/dist/index-mtJHlsB1.js.map +0 -1
  205. package/dist/tables.utils-C7MWIQsp.js.map +0 -1
@@ -0,0 +1,88 @@
1
+ import { j as f, K as T } from "./Color.type.emb-Chs0ckWV.js";
2
+ import { useTheme as w } from "@embeddable.com/react";
3
+ import { a as A, r as N, i as o } from "./component.inputs.constants-DMsQ1KIy.js";
4
+ import { C as O } from "./ChartCard-OT66j3V3.js";
5
+ import { g as k } from "./formatter.utils-wIg0a9Bk.js";
6
+ import { useEffect as q } from "react";
7
+ import { g as E, a as V } from "./timeRange.utils-CzFonlg0.js";
8
+ const B = (s) => {
9
+ var l, g, p, h, u, v;
10
+ const t = w();
11
+ A(t);
12
+ const { title: C, description: P, tooltip: b } = N(s), {
13
+ hideMenu: L,
14
+ changeFontSize: y,
15
+ comparisonPeriod: i,
16
+ comparisonDateRange: D,
17
+ displayChangeAsPercentage: S,
18
+ fontSize: _,
19
+ measure: r,
20
+ primaryDateRange: m,
21
+ results: a,
22
+ resultsComparison: e,
23
+ reversePositiveNegativeColors: j,
24
+ percentageDecimalPlaces: x,
25
+ setComparisonDateRange: d
26
+ } = s;
27
+ q(() => {
28
+ if (!d) return;
29
+ const n = E(
30
+ m,
31
+ i,
32
+ t
33
+ );
34
+ d(n);
35
+ }, [i, JSON.stringify(m), t]);
36
+ const F = (g = (l = a.data) == null ? void 0 : l[0]) == null ? void 0 : g[r.name], R = D ? (h = (p = e == null ? void 0 : e.data) == null ? void 0 : p[0]) == null ? void 0 : h[r.name] : void 0, z = k(t), K = (n) => z.data(r, n), M = `vs ${V(i, t).toLowerCase()}`, c = {
37
+ isLoading: !!(a.isLoading || e != null && e.isLoading),
38
+ data: !(a != null && a.data) && !(e != null && e.data) ? void 0 : [
39
+ ...(u = a.data) != null && u.length ? [{ label: o.t("charts.primaryPeriod"), ...a.data[0] }] : [],
40
+ ...(v = e == null ? void 0 : e.data) != null && v.length ? [{ label: o.t("charts.comparisonPeriod"), ...e.data[0] }] : []
41
+ ]
42
+ };
43
+ return /* @__PURE__ */ f.jsx(
44
+ O,
45
+ {
46
+ data: c,
47
+ dimensionsAndMeasures: [
48
+ // Add a label dimension to distinguish primary and comparison periods in exports
49
+ {
50
+ name: "label",
51
+ title: o.t("charts.label"),
52
+ nativeType: "string",
53
+ __type__: "dimension"
54
+ },
55
+ r
56
+ ],
57
+ errorMessage: a.error,
58
+ description: P,
59
+ title: C,
60
+ tooltip: b,
61
+ hideMenu: L,
62
+ children: /* @__PURE__ */ f.jsx(
63
+ T,
64
+ {
65
+ value: F,
66
+ comparisonValue: c.isLoading ? void 0 : R,
67
+ valueFormatter: K,
68
+ valueFontSize: _,
69
+ trendFontSize: y,
70
+ invertChangeColors: j,
71
+ showChangeAsPercentage: S,
72
+ comparisonLabel: M,
73
+ percentageDecimalPlaces: x,
74
+ noPreviousDataLabel: o.t("charts.kpiChart.noPreviousData"),
75
+ equalComparisonLabel: o.t("charts.kpiChart.equalComparison")
76
+ }
77
+ )
78
+ }
79
+ );
80
+ }, W = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
81
+ __proto__: null,
82
+ default: B
83
+ }, Symbol.toStringTag, { value: "Module" }));
84
+ export {
85
+ B as K,
86
+ W as i
87
+ };
88
+ //# sourceMappingURL=index-BqknHuCo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BqknHuCo.js","sources":["../src/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useEffect } from 'react';\nimport {\n getComparisonPeriodDateRange,\n getComparisonPeriodLabel,\n} from '../../../utils/timeRange.utils';\n\ntype KpiChartNumberComparisonProProp = {\n changeFontSize?: number;\n comparisonPeriod?: string;\n\n displayChangeAsPercentage?: boolean;\n fontSize?: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n\n percentageDecimalPlaces?: number;\n comparisonDateRange: TimeRange;\n setComparisonDateRange?: (dateRange: TimeRange) => void;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberComparisonPro = (props: KpiChartNumberComparisonProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n changeFontSize,\n comparisonPeriod,\n comparisonDateRange,\n displayChangeAsPercentage,\n fontSize,\n measure,\n primaryDateRange,\n results,\n resultsComparison,\n reversePositiveNegativeColors,\n percentageDecimalPlaces,\n setComparisonDateRange,\n } = props;\n\n useEffect(() => {\n if (!setComparisonDateRange) return;\n\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const value: number = results.data?.[0]?.[measure.name];\n const comparisonValue = comparisonDateRange\n ? resultsComparison?.data?.[0]?.[measure.name]\n : undefined;\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n const comparisonLabel = `vs ${getComparisonPeriodLabel(comparisonPeriod, theme).toLowerCase()}`;\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [\n ...(results.data?.length\n ? [{ label: i18n.t('charts.primaryPeriod'), ...results.data[0] }]\n : []),\n ...(resultsComparison?.data?.length\n ? [{ label: i18n.t('charts.comparisonPeriod'), ...resultsComparison.data[0] }]\n : []),\n ],\n };\n\n return (\n <ChartCard\n data={resultsCombined}\n dimensionsAndMeasures={[\n // Add a label dimension to distinguish primary and comparison periods in exports\n {\n name: 'label',\n title: i18n.t('charts.label'),\n nativeType: 'string',\n __type__: 'dimension',\n },\n measure,\n ]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <KpiChart\n value={value}\n comparisonValue={resultsCombined.isLoading ? undefined : comparisonValue}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n trendFontSize={changeFontSize}\n invertChangeColors={reversePositiveNegativeColors}\n showChangeAsPercentage={displayChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n percentageDecimalPlaces={percentageDecimalPlaces}\n noPreviousDataLabel={i18n.t('charts.kpiChart.noPreviousData')}\n equalComparisonLabel={i18n.t('charts.kpiChart.equalComparison')}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberComparisonPro;\n"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","hideMenu","changeFontSize","comparisonPeriod","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","primaryDateRange","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","value","_b","_a","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","getComparisonPeriodLabel","resultsCombined","_e","i18n","_f","jsx","ChartCard","KpiChart"],"mappings":";;;;;;;AA+BA,MAAMA,IAA8B,CAACC,MAA2C;;AAC9E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,EAAA,IAAYC,EAAiBP,CAAK,GACxD;AAAA,IACJ,UAAAQ;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,+BAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,wBAAAC;AAAA,EAAA,IACEpB;AAEJ,EAAAqB,EAAU,MAAM;AACd,QAAI,CAACD,EAAwB;AAE7B,UAAME,IAAyBC;AAAA,MAC7BR;AAAA,MACAL;AAAA,MACAT;AAAA,IAAA;AAEF,IAAAmB,EAAuBE,CAAsB;AAAA,EAC/C,GAAG,CAACZ,GAAkB,KAAK,UAAUK,CAAgB,GAAGd,CAAK,CAAC;AAE9D,QAAMuB,KAAgBC,KAAAC,IAAAV,EAAQ,SAAR,gBAAAU,EAAe,OAAf,gBAAAD,EAAoBX,EAAQ,OAC5Ca,IAAkBhB,KACpBiB,KAAAC,IAAAZ,KAAA,gBAAAA,EAAmB,SAAnB,gBAAAY,EAA0B,OAA1B,gBAAAD,EAA+Bd,EAAQ,QACvC,QAEEgB,IAAiBC,EAAkB9B,CAAK,GACxC+B,IAAiB,CAACC,MAA0BH,EAAe,KAAKhB,GAASmB,CAAa,GACtFC,IAAkB,MAAMC,EAAyBzB,GAAkBT,CAAK,EAAE,aAAa,IAEvFmC,IAAgC;AAAA,IACpC,WAAW,GAAQpB,EAAQ,aAAaC,KAAA,QAAAA,EAAmB;AAAA,IAC3D,MACE,EAACD,KAAA,QAAAA,EAAS,SAAQ,EAACC,KAAA,QAAAA,EAAmB,QAClC,SACA;AAAA,MACE,IAAIoB,IAAArB,EAAQ,SAAR,QAAAqB,EAAc,SACd,CAAC,EAAE,OAAOC,EAAK,EAAE,sBAAsB,GAAG,GAAGtB,EAAQ,KAAK,CAAC,EAAA,CAAG,IAC9D,CAAA;AAAA,MACJ,IAAIuB,IAAAtB,KAAA,gBAAAA,EAAmB,SAAnB,QAAAsB,EAAyB,SACzB,CAAC,EAAE,OAAOD,EAAK,EAAE,yBAAyB,GAAG,GAAGrB,EAAkB,KAAK,CAAC,EAAA,CAAG,IAC3E,CAAA;AAAA,IAAC;AAAA,EACP;AAGR,SACEuB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAML;AAAA,MACN,uBAAuB;AAAA;AAAA,QAErB;AAAA,UACE,MAAM;AAAA,UACN,OAAOE,EAAK,EAAE,cAAc;AAAA,UAC5B,YAAY;AAAA,UACZ,UAAU;AAAA,QAAA;AAAA,QAEZxB;AAAA,MAAA;AAAA,MAEF,cAAcE,EAAQ;AAAA,MACtB,aAAAX;AAAA,MACA,OAAAD;AAAA,MACA,SAAAE;AAAA,MACA,UAAAE;AAAA,MAEA,UAAAgC,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,OAAAlB;AAAA,UACA,iBAAiBY,EAAgB,YAAY,SAAYT;AAAA,UACzD,gBAAAK;AAAA,UACA,eAAenB;AAAA,UACf,eAAeJ;AAAA,UACf,oBAAoBS;AAAA,UACpB,wBAAwBN;AAAA,UACxB,iBAAAsB;AAAA,UACA,yBAAAf;AAAA,UACA,qBAAqBmB,EAAK,EAAE,gCAAgC;AAAA,UAC5D,sBAAsBA,EAAK,EAAE,iCAAiC;AAAA,QAAA;AAAA,MAAA;AAAA,IAChE;AAAA,EAAA;AAGN;;;;"}
@@ -0,0 +1,83 @@
1
+ import { m as L, j as o, B as T } from "./Color.type.emb-Chs0ckWV.js";
2
+ import { useTheme as w } from "@embeddable.com/react";
3
+ import { a as _, r as v } from "./component.inputs.constants-DMsQ1KIy.js";
4
+ import { C as D } from "./ChartCard-OT66j3V3.js";
5
+ import { g as G, a as I } from "./bars.utils-DzcvCtRj.js";
6
+ import { u as O } from "./charts.fillGaps.hooks-C7KsWcZb.js";
7
+ import { C as R } from "./ChartGranularitySelectField-awLCjaEw.js";
8
+ const z = (r) => {
9
+ var u, c;
10
+ const e = w();
11
+ _(e);
12
+ const {
13
+ measures: s,
14
+ yAxisRangeMin: h,
15
+ xAxisMaxItems: d,
16
+ yAxisRangeMax: p,
17
+ showLegend: x,
18
+ showTooltips: g,
19
+ showLogarithmicScale: f,
20
+ showValueLabels: C,
21
+ reverseXAxis: M,
22
+ hideMenu: y,
23
+ dimension: a,
24
+ setGranularity: b,
25
+ onBarClicked: j
26
+ } = r, { tooltip: i, description: n, title: l, xAxisLabel: A, yAxisLabel: B } = v(r), t = O({
27
+ results: r.results,
28
+ dimension: a
29
+ }), m = G(
30
+ { data: t.data, dimension: a, measures: s, maxItems: d },
31
+ e
32
+ ), P = L(
33
+ I({ measures: s, horizontal: !1, onBarClicked: j, data: m, dimension: a }, e),
34
+ // Format Y axis based on first measure
35
+ ((c = (u = e.charts) == null ? void 0 : u.barChartDefaultPro) == null ? void 0 : c.options) || {}
36
+ ), S = !l && !n && !i;
37
+ return /* @__PURE__ */ o.jsxs(
38
+ D,
39
+ {
40
+ data: t,
41
+ dimensionsAndMeasures: [a, ...s],
42
+ errorMessage: t.error,
43
+ description: n,
44
+ title: l,
45
+ tooltip: i,
46
+ hideMenu: y,
47
+ children: [
48
+ /* @__PURE__ */ o.jsx(
49
+ R,
50
+ {
51
+ hasMarginTop: S,
52
+ dimension: a,
53
+ onChange: b
54
+ }
55
+ ),
56
+ /* @__PURE__ */ o.jsx(
57
+ T,
58
+ {
59
+ data: m,
60
+ showLegend: x,
61
+ showTooltips: g,
62
+ showValueLabels: C,
63
+ showLogarithmicScale: f,
64
+ xAxisLabel: A,
65
+ yAxisLabel: B,
66
+ reverseXAxis: M,
67
+ yAxisRangeMin: h,
68
+ yAxisRangeMax: p,
69
+ options: P
70
+ }
71
+ )
72
+ ]
73
+ }
74
+ );
75
+ }, J = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
76
+ __proto__: null,
77
+ default: z
78
+ }, Symbol.toStringTag, { value: "Module" }));
79
+ export {
80
+ z as B,
81
+ J as i
82
+ };
83
+ //# sourceMappingURL=index-CdwBu2mT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CdwBu2mT.js","sources":["../src/components/charts/bars/BarChartDefaultPro/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 { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\ntype BarChartDefaultProProps = {\n dimension: Dimension;\n measures: Measure[];\n results: DataResponse;\n xAxisLabel?: string;\n xAxisMaxItems?: number;\n yAxisLabel?: string;\n yAxisRangeMin?: number;\n yAxisRangeMax?: number;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n reverseXAxis?: boolean;\n setGranularity: (granularity: Granularity) => void;\n onBarClicked?: (args: { axisDimensionValue: string | null }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartDefaultPro = (props: BarChartDefaultProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n measures,\n yAxisRangeMin,\n xAxisMaxItems,\n yAxisRangeMax,\n showLegend,\n showTooltips,\n showLogarithmicScale,\n showValueLabels,\n reverseXAxis,\n hideMenu,\n dimension,\n setGranularity,\n onBarClicked,\n } = props;\n\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: xAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: false, onBarClicked, data, dimension }, theme), // Format Y axis based on first measure\n theme.charts?.barChartDefaultPro?.options || {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\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 reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultPro;\n"],"names":["BarChartDefaultPro","props","theme","useTheme","i18nSetup","measures","yAxisRangeMin","xAxisMaxItems","yAxisRangeMax","showLegend","showTooltips","showLogarithmicScale","showValueLabels","reverseXAxis","hideMenu","dimension","setGranularity","onBarClicked","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart"],"mappings":";;;;;;;AA8BA,MAAMA,IAAqB,CAACC,MAAmC;;AAC7D,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,UAAAG;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEhB,GAEE,EAAE,SAAAiB,GAAS,aAAAC,GAAa,OAAAC,GAAO,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiBtB,CAAK,GAEhFuB,IAAUC,EAAY;AAAA,IAC1B,SAASxB,EAAM;AAAA,IACf,WAAAc;AAAA,EAAA,CACD,GAEKW,IAAOC;AAAA,IACX,EAAE,MAAMH,EAAQ,MAAM,WAAAT,GAAW,UAAAV,GAAU,UAAUE,EAAA;AAAA,IACrDL;AAAA,EAAA,GAGI0B,IAAUC;AAAA,IACdC,EAAsB,EAAE,UAAAzB,GAAU,YAAY,IAAO,cAAAY,GAAc,MAAAS,GAAM,WAAAX,EAAA,GAAab,CAAK;AAAA;AAAA,MAC3F6B,KAAAC,IAAA9B,EAAM,WAAN,gBAAA8B,EAAc,uBAAd,gBAAAD,EAAkC,YAAW,CAAA;AAAA,EAAC,GAG1CE,IAAkC,CAACb,KAAS,CAACD,KAAe,CAACD;AAEnE,SACEgB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMX;AAAA,MACN,uBAAuB,CAACT,GAAW,GAAGV,CAAQ;AAAA,MAC9C,cAAcmB,EAAQ;AAAA,MACtB,aAAAL;AAAA,MACA,OAAAC;AAAA,MACA,SAAAF;AAAA,MACA,UAAAJ;AAAA,MAEA,UAAA;AAAA,QAAAsB,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcJ;AAAA,YACd,WAAAlB;AAAA,YACA,UAAUC;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZoB,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAAZ;AAAA,YACA,YAAAjB;AAAA,YACA,cAAAC;AAAA,YACA,iBAAAE;AAAA,YACA,sBAAAD;AAAA,YACA,YAAAU;AAAA,YACA,YAAAC;AAAA,YACA,cAAAT;AAAA,YACA,eAAAP;AAAA,YACA,eAAAE;AAAA,YACA,SAAAoB;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;;;;"}
@@ -0,0 +1,98 @@
1
+ import { j as u, H as R } from "./Color.type.emb-Chs0ckWV.js";
2
+ import { useTheme as _ } from "@embeddable.com/react";
3
+ import { a as P, r as k } from "./component.inputs.constants-DMsQ1KIy.js";
4
+ import { C as B } from "./ChartCard-OT66j3V3.js";
5
+ import { g as c } from "./formatter.utils-wIg0a9Bk.js";
6
+ import { u as d } from "./charts.fillGaps.hooks-C7KsWcZb.js";
7
+ import { u as W } from "./tables.hooks-BQdyUxau.js";
8
+ const f = (e, s) => {
9
+ const t = c(s);
10
+ return {
11
+ key: e.measure.name,
12
+ label: t.dimensionOrMeasureTitle(e.measure),
13
+ format: (o) => t.data(e.measure, o)
14
+ };
15
+ }, a = (e, s) => {
16
+ const t = c(s);
17
+ return {
18
+ key: e.dimension.name,
19
+ label: t.dimensionOrMeasureTitle(e.dimension),
20
+ format: (o) => t.data(e.dimension, o)
21
+ };
22
+ }, z = (e) => {
23
+ var l;
24
+ const s = _();
25
+ P(s);
26
+ const { title: t, description: o, tooltip: h } = k(e), {
27
+ hideMenu: C,
28
+ measure: i,
29
+ rowDimension: n,
30
+ columnDimension: r,
31
+ maxColor: M,
32
+ midColor: D,
33
+ minColor: w,
34
+ displayNullAs: x,
35
+ columnWidth: T,
36
+ firstColumnWidth: g,
37
+ showValues: y,
38
+ minThreshold: b,
39
+ maxThreshold: j
40
+ } = e, p = Array.from(
41
+ new Set((e.results.data ?? []).filter(Boolean).map((m) => m[r.name]))
42
+ ), F = Array.from(
43
+ new Set((e.results.data ?? []).filter(Boolean).map((m) => m[n.name]))
44
+ ), H = d({
45
+ results: e.results,
46
+ dimension: r
47
+ }), O = d({
48
+ results: H,
49
+ dimension: n
50
+ }), S = W({
51
+ results: O,
52
+ columnOrder: p,
53
+ rowOrder: F,
54
+ columnDimension: r,
55
+ rowDimension: n,
56
+ measures: [i]
57
+ }), v = f({ measure: i }, s), A = a({ dimension: n }, s), G = a({ dimension: r }, s);
58
+ return /* @__PURE__ */ u.jsx(
59
+ B,
60
+ {
61
+ title: t,
62
+ description: o,
63
+ tooltip: h,
64
+ data: e.results,
65
+ dimensionsAndMeasures: [n, r, i],
66
+ errorMessage: (l = e.results) == null ? void 0 : l.error,
67
+ hideMenu: C,
68
+ children: /* @__PURE__ */ u.jsx(
69
+ R,
70
+ {
71
+ data: S,
72
+ measure: v,
73
+ rowDimension: A,
74
+ columnDimension: G,
75
+ maxColor: M,
76
+ midColor: D,
77
+ minColor: w,
78
+ showValues: y,
79
+ minThreshold: b,
80
+ maxThreshold: j,
81
+ columnWidth: T,
82
+ firstColumnWidth: g,
83
+ displayNullAs: x
84
+ }
85
+ )
86
+ }
87
+ );
88
+ }, L = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
89
+ __proto__: null,
90
+ default: z,
91
+ getHeatDimension: a,
92
+ getHeatMeasure: f
93
+ }, Symbol.toStringTag, { value: "Module" }));
94
+ export {
95
+ z as H,
96
+ L as i
97
+ };
98
+ //# sourceMappingURL=index-CjU578lr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CjU578lr.js","sources":["../src/components/charts/tables/HeatMapPro/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 { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { HeatMap, HeatMapPropsDimension, HeatMapPropsMeasure } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { useGetTableSortedResults } from '../tables.hooks';\n\ntype HeatMapProProps = {\n columnDimension: Dimension;\n columnWidth?: number;\n\n displayNullAs?: string;\n firstColumnWidth?: number;\n maxColor?: string;\n maxThreshold?: string;\n measure: Measure;\n midColor?: string;\n minColor?: string;\n minThreshold?: string;\n results: DataResponse;\n rowDimension: Dimension;\n showValues?: boolean;\n} & ChartCardHeaderProps;\n\nexport const getHeatMeasure = (\n props: { measure: Measure },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsMeasure<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.measure),\n format: (value) => {\n return themeFormatter.data(props.measure, value);\n },\n };\n};\n\nexport const getHeatDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsDimension<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n format: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nconst HeatMapPro = (props: HeatMapProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n measure,\n rowDimension,\n columnDimension,\n maxColor,\n midColor,\n minColor,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n showValues,\n minThreshold,\n maxThreshold,\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: [measure],\n });\n\n const pivotMeasures = getHeatMeasure({ measure }, theme);\n const pivotRowDimension = getHeatDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getHeatDimension({ dimension: columnDimension }, theme);\n\n return (\n <ChartCard\n title={title}\n description={description}\n tooltip={tooltip}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, measure]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <HeatMap\n data={results}\n measure={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n maxColor={maxColor}\n midColor={midColor}\n minColor={minColor}\n showValues={showValues}\n minThreshold={minThreshold}\n maxThreshold={maxThreshold}\n columnWidth={columnWidth}\n firstColumnWidth={firstColumnWidth}\n displayNullAs={displayNullAs}\n />\n </ChartCard>\n );\n};\n\nexport default HeatMapPro;\n"],"names":["getHeatMeasure","props","theme","themeFormatter","getThemeFormatter","value","getHeatDimension","HeatMapPro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","hideMenu","measure","rowDimension","columnDimension","maxColor","midColor","minColor","displayNullAs","columnWidth","firstColumnWidth","showValues","minThreshold","maxThreshold","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","pivotMeasures","pivotRowDimension","pivotColumnDimension","jsx","ChartCard","_a","HeatMap"],"mappings":"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"}
@@ -0,0 +1,346 @@
1
+ import { m as X, d as Y, e as R, n as T, o as w, j as I, L as z } from "./Color.type.emb-Chs0ckWV.js";
2
+ import { useTheme as E } from "@embeddable.com/react";
3
+ import { i as V, a as H, r as J } from "./component.inputs.constants-DMsQ1KIy.js";
4
+ import { C as U } from "./ChartCard-OT66j3V3.js";
5
+ import { useEffect as q } from "react";
6
+ import { g as K } from "./timeRange.utils-CzFonlg0.js";
7
+ import { g as P } from "./formatter.utils-wIg0a9Bk.js";
8
+ import { a as Q } from "./styles.utils-u6uj51UE.js";
9
+ import { i as W, s as Z } from "./color.utils-BSg_DFOh.js";
10
+ import { g as aa } from "./lines.utils-COGf_F0b.js";
11
+ import { u as j } from "./charts.fillGaps.hooks-C7KsWcZb.js";
12
+ import { C as ea } from "./ChartGranularitySelectField-awLCjaEw.js";
13
+ const y = "mainAxis", v = "comparisonAxis", _ = (u, c) => {
14
+ var M, k, O, L;
15
+ const { data: e, measure: t, dimension: s, index: m, isPreviousPeriod: i, hasMinMaxYAxisRange: b, labels: a } = u, r = e == null ? void 0 : e.map((A) => A[s.name]), n = !!((M = t.inputs) != null && M.connectGaps), g = a ? a.map((A) => {
16
+ const h = e == null ? void 0 : e.find((p) => p[s.name] === A);
17
+ return (h == null ? void 0 : h[t.name]) ?? (n ? 0 : null);
18
+ }) : e == null ? void 0 : e.map((A) => A[t.name] ?? (n ? 0 : null)), x = P(c), D = !!((k = t.inputs) != null && k[i ? "previousLineDashed" : "lineDashed"]), o = Y(), l = (O = t.inputs) == null ? void 0 : O[i ? "previousLineColor" : "lineColor"], d = W(l) ? l : Q({
19
+ dimensionOrMeasure: t,
20
+ theme: c,
21
+ color: "background",
22
+ value: t.name,
23
+ chartColors: o,
24
+ index: m
25
+ }), f = x.dimensionOrMeasureTitle(t);
26
+ return {
27
+ xAxisID: i ? v : y,
28
+ labels: r,
29
+ rawLabel: f,
30
+ label: (i ? `${V.t("common.compared")} ` : "") + f,
31
+ data: g,
32
+ backgroundColor: Z(d, 0.5),
33
+ pointBackgroundColor: d,
34
+ borderDash: D ? [
35
+ R("--em-linechart-line-dash", "0.25rem"),
36
+ R("--em-linechart-line-gap", "0.25rem")
37
+ ] : void 0,
38
+ borderColor: d,
39
+ fill: (L = t.inputs) == null ? void 0 : L.fillUnderLine,
40
+ clip: b
41
+ };
42
+ }, ta = (u, c) => {
43
+ if (!u.data)
44
+ return {
45
+ labels: [],
46
+ datasets: [
47
+ { xAxisID: y, data: [] },
48
+ { xAxisID: v, data: [] }
49
+ ]
50
+ };
51
+ const { data: e, dataComparison: t, dimension: s, measures: m, hasMinMaxYAxisRange: i } = u, a = s.nativeType === "time" ? void 0 : t ? Array.from(
52
+ /* @__PURE__ */ new Set([
53
+ ...e.map((g) => g[s.name]),
54
+ ...(t == null ? void 0 : t.map((g) => g[s.name])) ?? []
55
+ ])
56
+ ) : void 0, r = m.map(
57
+ (g, x) => _(
58
+ {
59
+ data: e,
60
+ measure: g,
61
+ dimension: s,
62
+ labels: a,
63
+ hasMinMaxYAxisRange: i,
64
+ index: x
65
+ },
66
+ c
67
+ )
68
+ ), n = m.map(
69
+ (g, x) => _(
70
+ {
71
+ data: t,
72
+ measure: g,
73
+ dimension: s,
74
+ labels: a,
75
+ hasMinMaxYAxisRange: i,
76
+ index: x,
77
+ isPreviousPeriod: !0
78
+ },
79
+ c
80
+ )
81
+ );
82
+ return {
83
+ labels: a ?? e.map((g) => g[s.name]),
84
+ datasets: [...r, ...n]
85
+ };
86
+ }, sa = (u, c) => {
87
+ const { dimension: e, data: t, measures: s, xAxisLabel: m } = u, i = P(c);
88
+ return {
89
+ plugins: {
90
+ legend: {
91
+ labels: {
92
+ filter: (a, r) => {
93
+ if (!a) return !1;
94
+ const n = r.datasets[a.datasetIndex];
95
+ return Array.isArray(n.data) && n.data.length > 0;
96
+ }
97
+ }
98
+ },
99
+ datalabels: {
100
+ labels: {
101
+ value: {
102
+ formatter: (a, r) => {
103
+ const n = s[r.datasetIndex % s.length];
104
+ return i.data(n, a);
105
+ }
106
+ }
107
+ }
108
+ },
109
+ tooltip: {
110
+ callbacks: {
111
+ title: (a) => a[0] ? i.data(e, a[0].label) : "",
112
+ label: (a) => {
113
+ const r = s[a.datasetIndex % s.length], n = a.raw;
114
+ return `${a.dataset.label}: ${i.data(r, n)}`;
115
+ }
116
+ }
117
+ }
118
+ },
119
+ scales: {
120
+ x: {
121
+ display: !1
122
+ },
123
+ [y]: {
124
+ title: {
125
+ ...w(),
126
+ text: m,
127
+ display: !!m
128
+ },
129
+ grid: { display: !1 },
130
+ ticks: {
131
+ ...T(),
132
+ callback(a) {
133
+ var r;
134
+ return i.data(e, (r = t.labels) == null ? void 0 : r[a]);
135
+ }
136
+ }
137
+ },
138
+ [v]: {
139
+ display: !1
140
+ },
141
+ y: {
142
+ ticks: {
143
+ callback: (a) => i.data(s[0], a)
144
+ }
145
+ }
146
+ }
147
+ };
148
+ }, na = (u, c) => {
149
+ var x, D;
150
+ const { dimension: e, data: t, measures: s, xAxisLabel: m, showComparisonAxis: i, showDataComparison: b } = u, a = P(c), r = ((x = t.datasets.find((o) => o.xAxisID === y)) == null ? void 0 : x.labels) ?? [], n = ((D = t.datasets.find((o) => o.xAxisID === v)) == null ? void 0 : D.labels) ?? [];
151
+ return {
152
+ plugins: {
153
+ legend: {
154
+ labels: {
155
+ filter: (o, l) => {
156
+ if (!o) return !1;
157
+ const d = l.datasets[o.datasetIndex];
158
+ return Array.isArray(d.data) && d.data.length > 0;
159
+ }
160
+ }
161
+ },
162
+ datalabels: {
163
+ labels: {
164
+ value: {
165
+ formatter: (o, l) => {
166
+ const d = s[l.datasetIndex % s.length];
167
+ return a.data(d, o);
168
+ }
169
+ }
170
+ }
171
+ },
172
+ tooltip: {
173
+ callbacks: {
174
+ title: (o) => {
175
+ const l = o[0];
176
+ if (!b && l)
177
+ return a.data(e, l.label);
178
+ const d = l == null ? void 0 : l.dataIndex;
179
+ if (d === void 0) return "";
180
+ const f = r[d] && a.data(e, r[d]), C = n[d] && a.data(e, n[d]);
181
+ return `${f ?? "-"} vs ${C ?? "-"}`;
182
+ },
183
+ label: (o) => {
184
+ const l = s[o.datasetIndex % s.length], d = o.raw;
185
+ return `${o.dataset.label}: ${a.data(l, d)}`;
186
+ }
187
+ }
188
+ }
189
+ },
190
+ scales: {
191
+ x: { display: !1 },
192
+ [y]: {
193
+ title: {
194
+ ...w(),
195
+ text: m,
196
+ display: !!((!i || n.length === 0) && m)
197
+ },
198
+ grid: { display: !1 },
199
+ ticks: {
200
+ ...T(),
201
+ callback: (o) => a.data(e, r[Number(o)])
202
+ }
203
+ },
204
+ [v]: {
205
+ title: {
206
+ ...w(),
207
+ text: m,
208
+ display: !!m
209
+ },
210
+ grid: { display: !1 },
211
+ display: i && n.length > 0,
212
+ ticks: {
213
+ ...T(),
214
+ callback: (o) => {
215
+ if (n.length === 0)
216
+ return "";
217
+ const l = n[Number(o)];
218
+ return l ? a.data(e, l) : "";
219
+ }
220
+ }
221
+ },
222
+ y: {
223
+ ticks: {
224
+ callback: (o) => a.data(s[0], o)
225
+ }
226
+ }
227
+ }
228
+ };
229
+ }, oa = (u, c) => {
230
+ var m, i;
231
+ const { onLineClicked: e, dimension: t } = u, s = t.nativeType === "time" ? na : sa;
232
+ return X(
233
+ aa({ onLineClicked: e }),
234
+ s(u, c),
235
+ ((i = (m = c.charts) == null ? void 0 : m.lineChartComparisonDefaultPro) == null ? void 0 : i.options) || {}
236
+ );
237
+ }, ia = (u) => {
238
+ const c = E();
239
+ H(c);
240
+ const { title: e, description: t, tooltip: s, xAxisLabel: m, yAxisLabel: i } = J(u), {
241
+ hideMenu: b,
242
+ comparisonPeriod: a,
243
+ measures: r,
244
+ xAxis: n,
245
+ reverseXAxis: g,
246
+ showLegend: x,
247
+ showLogarithmicScale: D,
248
+ showTooltips: o,
249
+ showValueLabels: l,
250
+ yAxisRangeMax: d,
251
+ yAxisRangeMin: f,
252
+ primaryDateRange: C,
253
+ comparisonDateRange: M,
254
+ showComparisonAxis: k,
255
+ setGranularity: O,
256
+ setComparisonDateRange: L,
257
+ onLineClicked: A
258
+ } = u;
259
+ q(() => {
260
+ const G = K(
261
+ C,
262
+ a,
263
+ c
264
+ );
265
+ L == null || L(G);
266
+ }, [a, JSON.stringify(C), c]);
267
+ const h = j({
268
+ results: u.results,
269
+ dimension: n,
270
+ externalDateBounds: C
271
+ }), p = j({
272
+ results: u.resultsComparison,
273
+ dimension: n,
274
+ externalDateBounds: M
275
+ }), S = !!(C && a), B = ta(
276
+ {
277
+ data: h.data,
278
+ dataComparison: S ? (p == null ? void 0 : p.data) ?? [] : void 0,
279
+ dimension: n,
280
+ measures: r,
281
+ hasMinMaxYAxisRange: f != null || d != null
282
+ },
283
+ c
284
+ ), F = oa(
285
+ {
286
+ data: B,
287
+ dimension: n,
288
+ measures: r,
289
+ xAxisLabel: m,
290
+ showComparisonAxis: k,
291
+ showDataComparison: S,
292
+ onLineClicked: A
293
+ },
294
+ c
295
+ ), N = {
296
+ isLoading: !!(h.isLoading || p != null && p.isLoading),
297
+ data: !(h != null && h.data) && !(p != null && p.data) ? void 0 : [...h.data ?? [], ...(p == null ? void 0 : p.data) ?? []]
298
+ }, $ = !e && !t && !s;
299
+ return /* @__PURE__ */ I.jsxs(
300
+ U,
301
+ {
302
+ data: N,
303
+ dimensionsAndMeasures: [...r, n],
304
+ errorMessage: h.error || (p == null ? void 0 : p.error),
305
+ description: t,
306
+ title: e,
307
+ hideMenu: b,
308
+ children: [
309
+ /* @__PURE__ */ I.jsx(
310
+ ea,
311
+ {
312
+ hasMarginTop: $,
313
+ dimension: n,
314
+ onChange: O
315
+ }
316
+ ),
317
+ /* @__PURE__ */ I.jsx(
318
+ z,
319
+ {
320
+ data: B,
321
+ reverseXAxis: g,
322
+ showLegend: x,
323
+ showLogarithmicScale: D,
324
+ showTooltips: o,
325
+ showValueLabels: l,
326
+ xAxisLabel: m,
327
+ yAxisLabel: i,
328
+ yAxisRangeMax: d,
329
+ yAxisRangeMin: f,
330
+ options: F
331
+ }
332
+ )
333
+ ]
334
+ }
335
+ );
336
+ }, Ca = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
337
+ __proto__: null,
338
+ default: ia
339
+ }, Symbol.toStringTag, { value: "Module" }));
340
+ export {
341
+ ia as L,
342
+ oa as a,
343
+ ta as g,
344
+ Ca as i
345
+ };
346
+ //# sourceMappingURL=index-CoDJGGqe.js.map