@embeddable.com/remarkable-pro 0.1.1 → 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 +28 -28
  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 +8 -7
  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
@@ -1,87 +0,0 @@
1
- import { j as f, K as M } from "./Color.type.emb-De2K8PVb.js";
2
- import { useTheme as T } from "@embeddable.com/react";
3
- import { a as w, r as A, i as o } from "./component.inputs.constants-DzpzJ9Na.js";
4
- import { C as N } from "./ChartCard-CfVMn37p.js";
5
- import { g as O } from "./formatter.utils-CiN6axbW.js";
6
- import { useEffect as k } from "react";
7
- import { g as q, a as E } from "./timeRange.utils-LHM3sXwE.js";
8
- const V = (s) => {
9
- var l, g, p, h, u, v;
10
- const t = T();
11
- w(t);
12
- const { title: C, description: P } = A(s), {
13
- hideMenu: b,
14
- changeFontSize: L,
15
- comparisonPeriod: n,
16
- comparisonDateRange: y,
17
- displayChangeAsPercentage: D,
18
- fontSize: S,
19
- measure: r,
20
- primaryDateRange: m,
21
- results: a,
22
- resultsComparison: e,
23
- reversePositiveNegativeColors: _,
24
- percentageDecimalPlaces: j,
25
- setComparisonDateRange: d
26
- } = s;
27
- k(() => {
28
- if (!d) return;
29
- const i = q(
30
- m,
31
- n,
32
- t
33
- );
34
- d(i);
35
- }, [n, JSON.stringify(m), t]);
36
- const x = (g = (l = a.data) == null ? void 0 : l[0]) == null ? void 0 : g[r.name], F = y ? (h = (p = e == null ? void 0 : e.data) == null ? void 0 : p[0]) == null ? void 0 : h[r.name] : void 0, R = O(t), z = (i) => R.data(r, i), K = `vs ${E(n, 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
- N,
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
- hideMenu: b,
61
- children: /* @__PURE__ */ f.jsx(
62
- M,
63
- {
64
- value: x,
65
- comparisonValue: c.isLoading ? void 0 : F,
66
- valueFormatter: z,
67
- valueFontSize: S,
68
- trendFontSize: L,
69
- invertChangeColors: _,
70
- showChangeAsPercentage: D,
71
- comparisonLabel: K,
72
- percentageDecimalPlaces: j,
73
- noPreviousDataLabel: o.t("charts.kpiChart.noPreviousData"),
74
- equalComparisonLabel: o.t("charts.kpiChart.equalComparison")
75
- }
76
- )
77
- }
78
- );
79
- }, U = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
80
- __proto__: null,
81
- default: V
82
- }, Symbol.toStringTag, { value: "Module" }));
83
- export {
84
- V as K,
85
- U as i
86
- };
87
- //# sourceMappingURL=index-Crpz4FA4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Crpz4FA4.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 } = 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 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","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,MAAgBC,EAAiBN,CAAK,GAC/C;AAAA,IACJ,UAAAO;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,IACEnB;AAEJ,EAAAoB,EAAU,MAAM;AACd,QAAI,CAACD,EAAwB;AAE7B,UAAME,IAAyBC;AAAA,MAC7BR;AAAA,MACAL;AAAA,MACAR;AAAA,IAAA;AAEF,IAAAkB,EAAuBE,CAAsB;AAAA,EAC/C,GAAG,CAACZ,GAAkB,KAAK,UAAUK,CAAgB,GAAGb,CAAK,CAAC;AAE9D,QAAMsB,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,EAAkB7B,CAAK,GACxC8B,IAAiB,CAACC,MAA0BH,EAAe,KAAKhB,GAASmB,CAAa,GACtFC,IAAkB,MAAMC,EAAyBzB,GAAkBR,CAAK,EAAE,aAAa,IAEvFkC,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,aAAAV;AAAA,MACA,OAAAD;AAAA,MACA,UAAAG;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;;;;"}
@@ -1,182 +0,0 @@
1
- import { d as O, e as L, m as j, j as x, L as w } from "./Color.type.emb-De2K8PVb.js";
2
- import { useTheme as F } from "@embeddable.com/react";
3
- import { a as P, r as S } from "./component.inputs.constants-DzpzJ9Na.js";
4
- import { C as T } from "./ChartCard-CfVMn37p.js";
5
- import { g as v } from "./formatter.utils-CiN6axbW.js";
6
- import { a as M } from "./styles.utils-u6uj51UE.js";
7
- import { i as k, s as D } from "./color.utils-BSg_DFOh.js";
8
- import { u as R } from "./charts.fillGaps.hooks-C7KsWcZb.js";
9
- import { C as _ } from "./ChartGranularitySelectField-C_6Mugcw.js";
10
- const B = (s, r) => {
11
- if (!s.data)
12
- return {
13
- labels: [],
14
- datasets: [{ data: [] }]
15
- };
16
- const d = v(r), i = s.data;
17
- return {
18
- labels: i.map((e) => e[s.dimension.name]),
19
- datasets: s.measures.map((e, c) => {
20
- var o, m, h, C;
21
- const l = !!((o = e.inputs) != null && o.connectGaps), b = i.map((g) => g[e.name] ?? (l ? 0 : null)), t = (m = e.inputs) == null ? void 0 : m.lineColor, u = O(), a = k(t) ? t : M({
22
- dimensionOrMeasure: e,
23
- theme: r,
24
- color: "background",
25
- value: e.name,
26
- chartColors: u,
27
- index: c
28
- }), n = k(t) ? t : M({
29
- dimensionOrMeasure: e,
30
- theme: r,
31
- color: "border",
32
- value: e.name,
33
- chartColors: u,
34
- index: c
35
- });
36
- return {
37
- clip: s.hasMinMaxYAxisRange,
38
- label: d.dimensionOrMeasureTitle(e),
39
- data: b,
40
- backgroundColor: D(a, 0.5),
41
- pointBackgroundColor: a,
42
- borderDash: (h = e.inputs) != null && h.dashedLine ? [
43
- L("--em-linechart-line-dash", "0.25rem"),
44
- L("--em-linechart-line-gap", "0.25rem")
45
- ] : void 0,
46
- borderColor: n,
47
- fill: !!((C = e.inputs) != null && C.fillUnderLine)
48
- };
49
- })
50
- };
51
- }, G = (s, r) => {
52
- var t, u;
53
- const { dimension: d, data: i, measures: e, onLineClicked: c } = s, l = v(r);
54
- return j({
55
- plugins: {
56
- datalabels: {
57
- labels: {
58
- value: {
59
- formatter: (a, n) => {
60
- const o = e[n.datasetIndex];
61
- return l.data(o, a);
62
- }
63
- }
64
- }
65
- },
66
- tooltip: {
67
- callbacks: {
68
- title: (a) => {
69
- var o;
70
- const n = (o = a[0]) == null ? void 0 : o.label;
71
- return l.data(d, n);
72
- },
73
- label: (a) => {
74
- const n = e[a.datasetIndex], o = a.raw;
75
- return `${l.data(d, a.dataset.label) || ""}: ${l.data(n, o)}`;
76
- }
77
- }
78
- }
79
- },
80
- scales: {
81
- x: {
82
- ticks: {
83
- callback: (a) => {
84
- if (!i || !i.labels) return;
85
- const n = i.labels[Number(a)];
86
- return l.data(d, n);
87
- }
88
- }
89
- },
90
- y: {
91
- ticks: {
92
- callback: (a) => l.data(e[0], a)
93
- }
94
- }
95
- },
96
- onClick: (a, n, o) => {
97
- if (!c) return;
98
- const m = n[0], h = m ? o.data.labels[m.index] : null;
99
- c({
100
- dimensionValue: h
101
- });
102
- }
103
- }, ((u = (t = r.charts) == null ? void 0 : t.lineChartDefaultPro) == null ? void 0 : u.options) || {});
104
- }, I = (s) => {
105
- const r = F();
106
- P(r);
107
- const { title: d, description: i, xAxisLabel: e, yAxisLabel: c } = S(s), {
108
- hideMenu: l,
109
- measures: b,
110
- xAxis: t,
111
- reverseXAxis: u,
112
- showLegend: a,
113
- showLogarithmicScale: n,
114
- showTooltips: o,
115
- showValueLabels: m,
116
- yAxisRangeMax: h,
117
- yAxisRangeMin: C,
118
- setGranularity: g,
119
- onLineClicked: A
120
- } = s, p = R({
121
- results: s.results,
122
- dimension: t
123
- }), f = B(
124
- {
125
- data: p.data,
126
- dimension: t,
127
- measures: b,
128
- hasMinMaxYAxisRange: C != null || h != null
129
- },
130
- r
131
- ), y = G(
132
- { data: f, dimension: t, measures: b, onLineClicked: A },
133
- r
134
- );
135
- return /* @__PURE__ */ x.jsxs(
136
- T,
137
- {
138
- data: p,
139
- dimensionsAndMeasures: [...b, t],
140
- errorMessage: p.error,
141
- description: i,
142
- title: d,
143
- hideMenu: l,
144
- children: [
145
- /* @__PURE__ */ x.jsx(
146
- _,
147
- {
148
- hasMarginTop: !d && !i,
149
- dimension: t,
150
- onChange: g
151
- }
152
- ),
153
- /* @__PURE__ */ x.jsx(
154
- w,
155
- {
156
- data: f,
157
- reverseXAxis: u,
158
- showLegend: a,
159
- showLogarithmicScale: n,
160
- showTooltips: o,
161
- showValueLabels: m,
162
- xAxisLabel: e,
163
- yAxisLabel: c,
164
- yAxisRangeMax: h,
165
- yAxisRangeMin: C,
166
- options: y
167
- }
168
- )
169
- ]
170
- }
171
- );
172
- }, H = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
173
- __proto__: null,
174
- default: I
175
- }, Symbol.toStringTag, { value: "Module" }));
176
- export {
177
- I as L,
178
- G as a,
179
- B as g,
180
- H as i
181
- };
182
- //# sourceMappingURL=index-D37a5H7U.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-D37a5H7U.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getChartColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n\n const groupedData = props.data;\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n const values = groupedData.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const lineColor = measure.inputs?.['lineColor'];\n const chartColors = getChartColors();\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n chartColors,\n index,\n });\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n chartColors,\n index,\n });\n\n return {\n clip: props.hasMinMaxYAxisRange,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: values,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n borderDash: measure.inputs?.['dashedLine']\n ? [\n getStyleNumber('--em-linechart-line-dash', '0.25rem'),\n getStyleNumber('--em-linechart-line-gap', '0.25rem'),\n ]\n : undefined,\n borderColor,\n fill: Boolean(measure.inputs?.['fillUnderLine']),\n } as ChartData<'line'>['datasets'][number];\n }),\n };\n};\n\nexport const getLineChartProOptions = (\n options: {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${themeFormatter.data(dimension, context.dataset.label) || ''}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n onClick: (_event, elements, chart) => {\n if (!onLineClicked) return;\n\n const element = elements[0];\n const dimensionValue = (element ? chart.data.labels![element.index] : null) as string | null;\n\n onLineClicked({\n dimensionValue,\n });\n },\n };\n\n return mergician(lineChartOptions, theme.charts?.lineChartDefaultPro?.options || {});\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { getLineChartProData, getLineChartProOptions } from './LineChartDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\ntype LineChartProProp = {\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartPro = (props: LineChartProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const {\n hideMenu,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getLineChartProData(\n {\n data: results.data,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartProOptions(\n { data, dimension: xAxis, measures, onLineClicked },\n theme,\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={!title && !description}\n dimension={xAxis}\n onChange={setGranularity}\n />\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartPro;\n"],"names":["getLineChartProData","props","theme","themeFormatter","getThemeFormatter","groupedData","item","measure","index","zeroFill","_a","values","lineColor","_b","chartColors","getChartColors","backgroundColor","isColorValid","getDimensionMeasureColor","borderColor","setColorAlpha","_c","getStyleNumber","_d","getLineChartProOptions","options","dimension","data","measures","onLineClicked","mergician","value","context","label","raw","_event","elements","chart","element","dimensionValue","LineChartPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart"],"mappings":"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"}
@@ -1,177 +0,0 @@
1
- import { d as G, m as j, j as k, L as v } from "./Color.type.emb-De2K8PVb.js";
2
- import { useTheme as O } from "@embeddable.com/react";
3
- import { a as P, r as S } from "./component.inputs.constants-DzpzJ9Na.js";
4
- import { C as y } from "./ChartCard-CfVMn37p.js";
5
- import { g as w } from "./formatter.utils-CiN6axbW.js";
6
- import { a as A } from "./styles.utils-u6uj51UE.js";
7
- import { s as $ } from "./color.utils-BSg_DFOh.js";
8
- import { g as F } from "./lines.utils-COGf_F0b.js";
9
- import { u as R } from "./charts.fillGaps.hooks-C7KsWcZb.js";
10
- import { C as T } from "./ChartGranularitySelectField-C_6Mugcw.js";
11
- const D = (l, s) => {
12
- const m = w(s), { data: o = [], dimension: c, groupDimension: t, measure: r, hasMinMaxYAxisRange: u } = l, n = [...new Set(o.map((a) => a[c.name]).filter((a) => a != null))].sort(), d = [...new Set(o.map((a) => a[t.name]))].filter((a) => a != null), e = G(), i = d.map((a, g) => {
13
- var x;
14
- const h = A({
15
- dimensionOrMeasure: t,
16
- theme: s,
17
- color: "background",
18
- value: `${t.name}.${a}`,
19
- chartColors: e,
20
- index: g
21
- }), C = A({
22
- dimensionOrMeasure: t,
23
- theme: s,
24
- color: "border",
25
- value: `${t.name}.${a}`,
26
- chartColors: e,
27
- index: g
28
- });
29
- return {
30
- clip: u,
31
- label: m.data(t, a),
32
- rawLabel: a,
33
- backgroundColor: $(h, 0.5),
34
- pointBackgroundColor: h,
35
- fill: (x = r.inputs) == null ? void 0 : x.fillUnderLine,
36
- borderColor: C,
37
- data: n.map((M) => {
38
- var b;
39
- const p = o.find(
40
- (f) => f[t.name] === a && f[c.name] === M
41
- );
42
- return (p == null ? void 0 : p[r.name]) ?? ((b = r.inputs) != null && b.connectGaps ? 0 : null);
43
- })
44
- };
45
- });
46
- return {
47
- labels: n,
48
- datasets: i
49
- };
50
- }, _ = (l, s) => {
51
- var n, d;
52
- const { dimension: m, data: o, measure: c, onLineClicked: t } = l, r = w(s), u = {
53
- plugins: {
54
- datalabels: {
55
- labels: {
56
- value: {
57
- formatter: (e) => r.data(c, e)
58
- }
59
- }
60
- },
61
- tooltip: {
62
- callbacks: {
63
- title: (e) => {
64
- var a;
65
- const i = (a = e[0]) == null ? void 0 : a.label;
66
- return r.data(m, i);
67
- },
68
- label: (e) => {
69
- const i = e.raw;
70
- return `${e.dataset.label}: ${r.data(c, i)}`;
71
- }
72
- }
73
- }
74
- },
75
- scales: {
76
- x: {
77
- ticks: {
78
- callback: (e) => {
79
- if (!o || !o.labels) return;
80
- const i = o.labels[Number(e)];
81
- return r.data(m, i);
82
- }
83
- }
84
- },
85
- y: {
86
- ticks: {
87
- callback: (e) => r.data(c, e)
88
- }
89
- }
90
- }
91
- };
92
- return j(
93
- F({ onLineClicked: t }),
94
- u,
95
- ((d = (n = s.charts) == null ? void 0 : n.lineChartGroupedPro) == null ? void 0 : d.options) || {}
96
- );
97
- }, Y = (l) => {
98
- const s = O();
99
- P(s);
100
- const { title: m, description: o, xAxisLabel: c, yAxisLabel: t } = S(l), {
101
- hideMenu: r,
102
- measure: u,
103
- xAxis: n,
104
- groupBy: d,
105
- reverseXAxis: e,
106
- showLegend: i,
107
- showLogarithmicScale: a,
108
- showTooltips: g,
109
- showValueLabels: h,
110
- yAxisRangeMax: C,
111
- yAxisRangeMin: L,
112
- setGranularity: x,
113
- onLineClicked: M
114
- } = l, p = R({
115
- results: l.results,
116
- dimension: l.xAxis
117
- }), b = D(
118
- {
119
- data: p.data,
120
- dimension: n,
121
- groupDimension: d,
122
- measure: u,
123
- hasMinMaxYAxisRange: L != null || C != null
124
- },
125
- s
126
- ), f = _(
127
- { data: b, dimension: n, measure: u, onLineClicked: M },
128
- s
129
- );
130
- return /* @__PURE__ */ k.jsxs(
131
- y,
132
- {
133
- data: p,
134
- dimensionsAndMeasures: [u, n, d],
135
- errorMessage: p.error,
136
- description: o,
137
- title: m,
138
- hideMenu: r,
139
- children: [
140
- /* @__PURE__ */ k.jsx(
141
- T,
142
- {
143
- hasMarginTop: !m && !o,
144
- dimension: n,
145
- onChange: x
146
- }
147
- ),
148
- /* @__PURE__ */ k.jsx(
149
- v,
150
- {
151
- data: b,
152
- reverseXAxis: e,
153
- showLegend: i,
154
- showLogarithmicScale: a,
155
- showTooltips: g,
156
- showValueLabels: h,
157
- xAxisLabel: c,
158
- yAxisLabel: t,
159
- yAxisRangeMax: C,
160
- yAxisRangeMin: L,
161
- options: f
162
- }
163
- )
164
- ]
165
- }
166
- );
167
- }, K = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
168
- __proto__: null,
169
- default: Y
170
- }, Symbol.toStringTag, { value: "Module" }));
171
- export {
172
- Y as L,
173
- _ as a,
174
- D as g,
175
- K as i
176
- };
177
- //# sourceMappingURL=index-DADSJYlJ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DADSJYlJ.js","sources":["../src/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.ts","../src/components/charts/lines/LineChartGroupedPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { mergician } from 'mergician';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { getLineChartProOptions, LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartGroupedProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure, hasMinMaxYAxisRange } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupBy = [...new Set(data.map((d) => d[groupDimension.name]))].filter((d) => d != null);\n\n const chartColors = getChartColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'background',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'border',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const dataset = {\n clip: hasMinMaxYAxisRange,\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n fill: measure.inputs?.['fillUnderLine'],\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimension.name] === groupByItem && d[dimension.name] === axisItem,\n );\n return record?.[measure.name] ?? (measure.inputs?.['connectGaps'] ? 0 : null);\n }),\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getLineChartGroupedProOptions = (\n options: {\n dimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measure, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n };\n\n return mergician(\n getLineChartProOptions({ onLineClicked }),\n lineChartOptions,\n theme.charts?.lineChartGroupedPro?.options || {},\n );\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from './LineChartGroupedPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\ntype LineChartGroupedProProp = {\n xAxis: Dimension;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartGroupedPro = (props: LineChartGroupedProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getLineChartGroupedProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartGroupedProOptions(\n { data, dimension: xAxis, measure, onLineClicked },\n theme,\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={!title && !description}\n dimension={xAxis}\n onChange={setGranularity}\n />\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartGroupedPro;\n"],"names":["getLineChartGroupedProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","hasMinMaxYAxisRange","axis","d","groupBy","chartColors","getChartColors","datasets","groupByItem","index","backgroundColor","getDimensionMeasureColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptions","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart"],"mappings":"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"}
@@ -1,97 +0,0 @@
1
- import { j as u, H as G } from "./Color.type.emb-De2K8PVb.js";
2
- import { useTheme as R } from "@embeddable.com/react";
3
- import { a as _, r as P } from "./component.inputs.constants-DzpzJ9Na.js";
4
- import { C as k } from "./ChartCard-CfVMn37p.js";
5
- import { g as c } from "./formatter.utils-CiN6axbW.js";
6
- import { u as d } from "./charts.fillGaps.hooks-C7KsWcZb.js";
7
- import { u as B } 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
- }, W = (e) => {
23
- var l;
24
- const s = R();
25
- _(s);
26
- const { description: t, title: o } = P(e), {
27
- hideMenu: h,
28
- measure: i,
29
- rowDimension: n,
30
- columnDimension: r,
31
- maxColor: C,
32
- midColor: M,
33
- minColor: D,
34
- displayNullAs: w,
35
- columnWidth: x,
36
- firstColumnWidth: T,
37
- showValues: g,
38
- minThreshold: y,
39
- maxThreshold: b
40
- } = e, j = 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 = B({
51
- results: O,
52
- columnOrder: j,
53
- rowOrder: F,
54
- columnDimension: r,
55
- rowDimension: n,
56
- measures: [i]
57
- }), p = f({ measure: i }, s), v = a({ dimension: n }, s), A = a({ dimension: r }, s);
58
- return /* @__PURE__ */ u.jsx(
59
- k,
60
- {
61
- title: o,
62
- description: t,
63
- data: e.results,
64
- dimensionsAndMeasures: [n, r, i],
65
- errorMessage: (l = e.results) == null ? void 0 : l.error,
66
- hideMenu: h,
67
- children: /* @__PURE__ */ u.jsx(
68
- G,
69
- {
70
- data: S,
71
- measure: p,
72
- rowDimension: v,
73
- columnDimension: A,
74
- maxColor: C,
75
- midColor: M,
76
- minColor: D,
77
- showValues: g,
78
- minThreshold: y,
79
- maxThreshold: b,
80
- columnWidth: x,
81
- firstColumnWidth: T,
82
- displayNullAs: w
83
- }
84
- )
85
- }
86
- );
87
- }, K = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
88
- __proto__: null,
89
- default: W,
90
- getHeatDimension: a,
91
- getHeatMeasure: f
92
- }, Symbol.toStringTag, { value: "Module" }));
93
- export {
94
- W as H,
95
- K as i
96
- };
97
- //# sourceMappingURL=index-DeWASjPW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DeWASjPW.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 { description, title } = 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 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","description","title","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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"}