@embeddable.com/remarkable-pro 0.0.13 → 0.0.15

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 (135) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +24 -24
  2. package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
  3. package/dist/BarChartDefaultPro.js +24 -24
  4. package/dist/BarChartDefaultPro.js.map +1 -1
  5. package/dist/BarChartGroupedHorizontalPro.js +27 -27
  6. package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
  7. package/dist/BarChartGroupedPro.js +33 -33
  8. package/dist/BarChartGroupedPro.js.map +1 -1
  9. package/dist/BarChartStackedHorizontalPro.js +28 -28
  10. package/dist/BarChartStackedHorizontalPro.js.map +1 -1
  11. package/dist/BarChartStackedPro.js +27 -27
  12. package/dist/BarChartStackedPro.js.map +1 -1
  13. package/dist/{ChartCard-DaUtlchs.js → ChartCard-BEIVgW77.js} +3 -3
  14. package/dist/{ChartCard-DaUtlchs.js.map → ChartCard-BEIVgW77.js.map} +1 -1
  15. package/dist/{index-BIiign0L.js → Color.type.emb-ByiNbaI7.js} +7355 -7348
  16. package/dist/Color.type.emb-ByiNbaI7.js.map +1 -0
  17. package/dist/ColorEditor.js +10 -11
  18. package/dist/ColorEditor.js.map +1 -1
  19. package/dist/ComparisonPeriodSelectFieldPro.js +19 -22
  20. package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
  21. package/dist/DateRangePickerCustomPro.js +29 -28
  22. package/dist/DateRangePickerCustomPro.js.map +1 -1
  23. package/dist/DateRangeSelectFieldPro.js +23 -21
  24. package/dist/DateRangeSelectFieldPro.js.map +1 -1
  25. package/dist/DonutChartPro.js +24 -24
  26. package/dist/DonutChartPro.js.map +1 -1
  27. package/dist/DonutLabelChartPro.js +29 -30
  28. package/dist/DonutLabelChartPro.js.map +1 -1
  29. package/dist/{EditorCard-DXQeyo3r.js → EditorCard-NEIuygkP.js} +10 -10
  30. package/dist/{EditorCard-DXQeyo3r.js.map → EditorCard-NEIuygkP.js.map} +1 -1
  31. package/dist/HeatMapPro.js +46 -45
  32. package/dist/HeatMapPro.js.map +1 -1
  33. package/dist/KpiChartNumberComparisonPro.js +32 -31
  34. package/dist/KpiChartNumberComparisonPro.js.map +1 -1
  35. package/dist/KpiChartNumberPro.js +14 -20
  36. package/dist/KpiChartNumberPro.js.map +1 -1
  37. package/dist/LineChartComparisonDefaultPro.js +61 -60
  38. package/dist/LineChartComparisonDefaultPro.js.map +1 -1
  39. package/dist/LineChartDefaultPro.js +46 -38
  40. package/dist/LineChartDefaultPro.js.map +1 -1
  41. package/dist/LineChartGroupedPro.js +47 -36
  42. package/dist/LineChartGroupedPro.js.map +1 -1
  43. package/dist/MultiSelectFieldPro.js +24 -27
  44. package/dist/MultiSelectFieldPro.js.map +1 -1
  45. package/dist/PieChartPro.js +24 -24
  46. package/dist/PieChartPro.js.map +1 -1
  47. package/dist/PivotTablePro.js +31 -29
  48. package/dist/PivotTablePro.js.map +1 -1
  49. package/dist/SingleSelectFieldPro.js +24 -24
  50. package/dist/SingleSelectFieldPro.js.map +1 -1
  51. package/dist/TableChartPaginated.js +43 -37
  52. package/dist/TableChartPaginated.js.map +1 -1
  53. package/dist/{bars.utils-C45cnEfc.js → bars.utils-D12lq8bm.js} +4 -4
  54. package/dist/{bars.utils-C45cnEfc.js.map → bars.utils-D12lq8bm.js.map} +1 -1
  55. package/dist/{charts.utils-D_9y_kjG.js → charts.utils-Bq6c6ccK.js} +1864 -1784
  56. package/dist/charts.utils-Bq6c6ccK.js.map +1 -0
  57. package/dist/{component.constants-DJqBv0qe.js → component.inputs.constants-FaX3B1CO.js} +416 -403
  58. package/dist/component.inputs.constants-FaX3B1CO.js.map +1 -0
  59. package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
  60. package/dist/components/charts/tables/HeatMapPro/index.d.ts +2 -2
  61. package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
  62. package/dist/components/component.inputs.constants.d.ts +309 -0
  63. package/dist/components/component.inputs.constants.d.ts.map +1 -0
  64. package/dist/components/component.subinputs.constants.d.ts +95 -0
  65. package/dist/components/component.subinputs.constants.d.ts.map +1 -0
  66. package/dist/embeddable-components.json +14 -14
  67. package/dist/embeddable-theme-0137e.js +3330 -3250
  68. package/dist/{formatter.utils-BRMB8qAc.js → formatter.utils-IGbSBsIu.js} +2 -2
  69. package/dist/{formatter.utils-BRMB8qAc.js.map → formatter.utils-IGbSBsIu.js.map} +1 -1
  70. package/dist/{index-S5z1sMxW.js → index-B15C4kTf.js} +5 -5
  71. package/dist/{index-S5z1sMxW.js.map → index-B15C4kTf.js.map} +1 -1
  72. package/dist/{index-C4oavwFu.js → index-BDPQ_c46.js} +5 -5
  73. package/dist/{index-C4oavwFu.js.map → index-BDPQ_c46.js.map} +1 -1
  74. package/dist/{index-GA9m2JpT.js → index-BKcWHLSf.js} +5 -5
  75. package/dist/{index-GA9m2JpT.js.map → index-BKcWHLSf.js.map} +1 -1
  76. package/dist/{index-Djoz2cf4.js → index-BNFqHQr3.js} +6 -6
  77. package/dist/{index-Djoz2cf4.js.map → index-BNFqHQr3.js.map} +1 -1
  78. package/dist/{index-BqgkyNm8.js → index-BiTSd5Wd.js} +5 -5
  79. package/dist/index-BiTSd5Wd.js.map +1 -0
  80. package/dist/{index-QLS7PLnH.js → index-BjaJdNzu.js} +5 -5
  81. package/dist/{index-QLS7PLnH.js.map → index-BjaJdNzu.js.map} +1 -1
  82. package/dist/{index-BbypzboN.js → index-BzF8GFHy.js} +5 -5
  83. package/dist/{index-BbypzboN.js.map → index-BzF8GFHy.js.map} +1 -1
  84. package/dist/{index-CfpIN_sB.js → index-CQZhGtUT.js} +6 -6
  85. package/dist/{index-CfpIN_sB.js.map → index-CQZhGtUT.js.map} +1 -1
  86. package/dist/{index-Df6HY9t3.js → index-CR69kGQc.js} +5 -5
  87. package/dist/{index-Df6HY9t3.js.map → index-CR69kGQc.js.map} +1 -1
  88. package/dist/{index-BEwcJPua.js → index-CdjbmThq.js} +5 -5
  89. package/dist/{index-BEwcJPua.js.map → index-CdjbmThq.js.map} +1 -1
  90. package/dist/{index-Drxp0RBw.js → index-CwiND2Ct.js} +16 -16
  91. package/dist/{index-Drxp0RBw.js.map → index-CwiND2Ct.js.map} +1 -1
  92. package/dist/{index-DD5t0omh.js → index-DLCspqkx.js} +5 -5
  93. package/dist/{index-DD5t0omh.js.map → index-DLCspqkx.js.map} +1 -1
  94. package/dist/{index-ifHDbmyw.js → index-DNXqnRoE.js} +5 -5
  95. package/dist/{index-ifHDbmyw.js.map → index-DNXqnRoE.js.map} +1 -1
  96. package/dist/{index-CNjwWCGc.js → index-DRIH3L5J.js} +5 -5
  97. package/dist/{index-CNjwWCGc.js.map → index-DRIH3L5J.js.map} +1 -1
  98. package/dist/{index-CSdnJs7F.js → index-DdeFtB5C.js} +65 -61
  99. package/dist/{index-CSdnJs7F.js.map → index-DdeFtB5C.js.map} +1 -1
  100. package/dist/{index-DkbXF0dN.js → index-Dhj9KjfQ.js} +5 -5
  101. package/dist/{index-DkbXF0dN.js.map → index-Dhj9KjfQ.js.map} +1 -1
  102. package/dist/{index-CYfKRRhL.js → index-EAQjfjEJ.js} +16 -16
  103. package/dist/{index-CYfKRRhL.js.map → index-EAQjfjEJ.js.map} +1 -1
  104. package/dist/{index-CVv-xIyp.js → index-RHaWI3AH.js} +5 -5
  105. package/dist/{index-CVv-xIyp.js.map → index-RHaWI3AH.js.map} +1 -1
  106. package/dist/{index-Ba6ziHiQ.js → index-_fEx7Sbh.js} +4 -4
  107. package/dist/{index-Ba6ziHiQ.js.map → index-_fEx7Sbh.js.map} +1 -1
  108. package/dist/{index-DBFwmzJQ.js → index-hHVOyy6e.js} +11 -11
  109. package/dist/{index-DBFwmzJQ.js.map → index-hHVOyy6e.js.map} +1 -1
  110. package/dist/{index-Bn5j2FLA.js → index-oK1pn0Vk.js} +5 -5
  111. package/dist/{index-Bn5j2FLA.js.map → index-oK1pn0Vk.js.map} +1 -1
  112. package/dist/index.d.ts +1 -1
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +81 -131
  115. package/dist/index.js.map +1 -1
  116. package/dist/{pies.utils-B_jS454c.js → pies.utils-C5DxeS68.js} +5 -5
  117. package/dist/{pies.utils-B_jS454c.js.map → pies.utils-C5DxeS68.js.map} +1 -1
  118. package/dist/remarkable-pro.css +1 -1
  119. package/dist/theme/defaults/defaults.ComparisonPeriods.constants.d.ts +1 -1
  120. package/dist/theme/defaults/defaults.ComparisonPeriods.constants.d.ts.map +1 -1
  121. package/dist/theme/i18n/translations/de.d.ts.map +1 -1
  122. package/dist/theme/i18n/translations/en.d.ts.map +1 -1
  123. package/dist/{timeRange.utils-CgLgHA94.js → timeRange.utils-CTEHTF97.js} +2 -2
  124. package/dist/{timeRange.utils-CgLgHA94.js.map → timeRange.utils-CTEHTF97.js.map} +1 -1
  125. package/package.json +2 -2
  126. package/dist/Color.type.emb-DFhAaPXz.js +0 -9
  127. package/dist/Color.type.emb-DFhAaPXz.js.map +0 -1
  128. package/dist/ComparisonPeriod.type.emb-C-YdNTEB.js +0 -14
  129. package/dist/ComparisonPeriod.type.emb-C-YdNTEB.js.map +0 -1
  130. package/dist/charts.utils-D_9y_kjG.js.map +0 -1
  131. package/dist/component.constants-DJqBv0qe.js.map +0 -1
  132. package/dist/components/component.constants.d.ts +0 -324
  133. package/dist/components/component.constants.d.ts.map +0 -1
  134. package/dist/index-BIiign0L.js.map +0 -1
  135. package/dist/index-BqgkyNm8.js.map +0 -1
@@ -1,25 +1,25 @@
1
- import { a as j, m as P, j as w, L as S } from "./index-BIiign0L.js";
1
+ import { b as j, m as P, j as w, L as S } from "./Color.type.emb-ByiNbaI7.js";
2
2
  import { useTheme as y } from "@embeddable.com/react";
3
- import { a as G, r as O } from "./component.constants-DJqBv0qe.js";
4
- import { C as v } from "./ChartCard-DaUtlchs.js";
5
- import { g as $ } from "./formatter.utils-BRMB8qAc.js";
3
+ import { a as G, r as O } from "./component.inputs.constants-FaX3B1CO.js";
4
+ import { C as v } from "./ChartCard-BEIVgW77.js";
5
+ import { g as $ } from "./formatter.utils-IGbSBsIu.js";
6
6
  import { g as R, a as M } from "./object.utils-D_Zzon-H.js";
7
7
  import { s as F } from "./color.utils-BSg_DFOh.js";
8
8
  import { g as T } from "./lines.utils-CFEUUo4k.js";
9
9
  import { u as _ } from "./charts.fillGaps.hooks-zCMYcjxz.js";
10
10
  const D = (l, s) => {
11
- const u = $(s), { data: r = [], dimension: i, groupDimension: n, measure: e, hasMinMaxYAxisRange: m } = l, c = [...new Set(r.map((t) => t[i.name]).filter((t) => t != null))].sort(), d = [...new Set(r.map((t) => t[n.name]))].filter((t) => t != null), a = R(s), o = j(), p = d.map((t, b) => {
11
+ const u = $(s), { data: r = [], dimension: i, groupDimension: n, measure: e, hasMinMaxYAxisRange: m } = l, c = [...new Set(r.map((t) => t[i.name]).filter((t) => t != null))].sort(), d = [...new Set(r.map((t) => t[n.name]))].filter((t) => t != null), a = R(s), o = j(), b = d.map((t, p) => {
12
12
  var C;
13
13
  const g = M(
14
14
  `${a}.charts.backgroundColors`,
15
15
  `${n.name}.${t}`,
16
16
  s.charts.backgroundColors ?? o,
17
- b
17
+ p
18
18
  ), x = M(
19
19
  `${a}.charts.borderColors`,
20
20
  `${n.name}.${t}`,
21
21
  s.charts.borderColors ?? o,
22
- b
22
+ p
23
23
  );
24
24
  return {
25
25
  clip: m,
@@ -40,7 +40,7 @@ const D = (l, s) => {
40
40
  });
41
41
  return {
42
42
  labels: c,
43
- datasets: p
43
+ datasets: b
44
44
  };
45
45
  }, K = (l, s) => {
46
46
  var c, d;
@@ -56,8 +56,8 @@ const D = (l, s) => {
56
56
  tooltip: {
57
57
  callbacks: {
58
58
  title: (a) => {
59
- var p;
60
- const o = (p = a[0]) == null ? void 0 : p.label;
59
+ var b;
60
+ const o = (b = a[0]) == null ? void 0 : b.label;
61
61
  return e.data(u, o);
62
62
  },
63
63
  label: (a) => {
@@ -99,9 +99,9 @@ const D = (l, s) => {
99
99
  reverseXAxis: d,
100
100
  showLegend: a,
101
101
  showLogarithmicScale: o,
102
- showTooltips: p,
102
+ showTooltips: b,
103
103
  showValueLabels: t,
104
- yAxisRangeMax: b,
104
+ yAxisRangeMax: p,
105
105
  yAxisRangeMin: g,
106
106
  onLineClicked: x
107
107
  } = l, h = _({
@@ -113,7 +113,7 @@ const D = (l, s) => {
113
113
  dimension: m,
114
114
  groupDimension: c,
115
115
  measure: e,
116
- hasMinMaxYAxisRange: g != null || b != null
116
+ hasMinMaxYAxisRange: g != null || p != null
117
117
  },
118
118
  s
119
119
  ), f = K(
@@ -135,11 +135,11 @@ const D = (l, s) => {
135
135
  reverseXAxis: d,
136
136
  showLegend: a,
137
137
  showLogarithmicScale: o,
138
- showTooltips: p,
138
+ showTooltips: b,
139
139
  showValueLabels: t,
140
140
  xAxisLabel: i,
141
141
  yAxisLabel: n,
142
- yAxisRangeMax: b,
142
+ yAxisRangeMax: p,
143
143
  yAxisRangeMin: g,
144
144
  options: f
145
145
  }
@@ -156,4 +156,4 @@ export {
156
156
  D as g,
157
157
  J as i
158
158
  };
159
- //# sourceMappingURL=index-Drxp0RBw.js.map
159
+ //# sourceMappingURL=index-CwiND2Ct.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-Drxp0RBw.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 { getObjectStableKey } from '../../../../utils.ts/object.utils';\nimport { getColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { getChartContrastColors } 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 themeKey = getObjectStableKey(theme);\n const chartContrastColors = getChartContrastColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getColor(\n `${themeKey}.charts.backgroundColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const borderColor = getColor(\n `${themeKey}.charts.borderColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.borderColors ?? chartContrastColors,\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, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } 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';\n\nexport type LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\ntype LineChartGroupedProProp = {\n description: string;\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 title: string;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onLineClicked: LineChartProOptionsClick;\n};\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 measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\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\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 subtitle={description}\n title={title}\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","themeKey","getObjectStableKey","chartContrastColors","getChartContrastColors","datasets","groupByItem","index","backgroundColor","getColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptions","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","results","useFillGaps","jsx","ChartCard","LineChart"],"mappings":";;;;;;;;;AAWO,MAAMA,IAA6B,CACxCC,GAOAC,MACsB;AACtB,QAAMC,IAAiBC,EAAkBF,CAAK,GACxC,EAAE,MAAAG,IAAO,IAAI,WAAAC,GAAW,gBAAAC,GAAgB,SAAAC,GAAS,qBAAAC,MAAwBR,GAEzES,IAAO,CAAC,GAAG,IAAI,IAAIL,EAAK,IAAI,CAACM,MAAMA,EAAEL,EAAU,IAAI,CAAC,EAAE,OAAO,CAACK,MAAMA,KAAK,IAAI,CAAC,CAAC,EAAE,KAAA,GACjFC,IAAU,CAAC,GAAG,IAAI,IAAIP,EAAK,IAAI,CAACM,MAAMA,EAAEJ,EAAe,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAACI,MAAMA,KAAK,IAAI,GAEvFE,IAAWC,EAAmBZ,CAAK,GACnCa,IAAsBC,EAAA,GACtBC,IAA0CL,EAAQ,IAAI,CAACM,GAAaC,MAAU;;AAClF,UAAMC,IAAkBC;AAAA,MACtB,GAAGR,CAAQ;AAAA,MACX,GAAGN,EAAe,IAAI,IAAIW,CAAW;AAAA,MACrChB,EAAM,OAAO,oBAAoBa;AAAA,MACjCI;AAAA,IAAA,GAGIG,IAAcD;AAAA,MAClB,GAAGR,CAAQ;AAAA,MACX,GAAGN,EAAe,IAAI,IAAIW,CAAW;AAAA,MACrChB,EAAM,OAAO,gBAAgBa;AAAA,MAC7BI;AAAA,IAAA;AAmBF,WAhBgB;AAAA,MACd,MAAMV;AAAA,MACN,OAAON,EAAe,KAAKI,GAAgBW,CAAW;AAAA,MACtD,UAAUA;AAAA,MACV,iBAAiBK,EAAcH,GAAiB,GAAG;AAAA,MACnD,sBAAsBA;AAAA,MACtB,OAAMI,IAAAhB,EAAQ,WAAR,gBAAAgB,EAAiB;AAAA,MACvB,aAAAF;AAAA,MACA,MAAMZ,EAAK,IAAI,CAACe,MAAa;;AAC3B,cAAMC,IAASrB,EAAK;AAAA,UAClB,CAACM,MAAMA,EAAEJ,EAAe,IAAI,MAAMW,KAAeP,EAAEL,EAAU,IAAI,MAAMmB;AAAA,QAAA;AAEzE,gBAAOC,KAAA,gBAAAA,EAASlB,EAAQ,YAAUgB,IAAAhB,EAAQ,WAAR,QAAAgB,EAAiB,cAAiB,IAAI;AAAA,MAC1E,CAAC;AAAA,IAAA;AAAA,EAIL,CAAC;AAED,SAAO;AAAA,IACL,QAAQd;AAAA,IACR,UAAAO;AAAA,EAAA;AAEJ,GAEaU,IAAgC,CAC3CC,GAMA1B,MACyB;;AACzB,QAAM,EAAE,WAAAI,GAAW,MAAAD,GAAM,SAAAG,GAAS,eAAAqB,MAAkBD,GAC9CzB,IAAiBC,EAAkBF,CAAK,GAExC4B,IAAyC;AAAA,IAC7C,SAAS;AAAA,MACP,YAAY;AAAA,QACV,QAAQ;AAAA,UACN,OAAO;AAAA,YACL,WAAW,CAACC,MACH5B,EAAe,KAAKK,GAASuB,CAAK;AAAA,UAC3C;AAAA,QACF;AAAA,MACF;AAAA,MAEF,SAAS;AAAA,QACP,WAAW;AAAA,UACT,OAAO,CAACC,MAAY;;AAClB,kBAAMC,KAAQT,IAAAQ,EAAQ,CAAC,MAAT,gBAAAR,EAAY;AAC1B,mBAAOrB,EAAe,KAAKG,GAAW2B,CAAK;AAAA,UAC7C;AAAA,UACA,OAAO,CAACD,MAAY;AAClB,kBAAME,IAAMF,EAAQ;AACpB,mBAAO,GAAGA,EAAQ,QAAQ,KAAK,KAAK7B,EAAe,KAAKK,GAAS0B,CAAG,CAAC;AAAA,UACvE;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,IAEF,QAAQ;AAAA,MACN,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACH,MAAU;AACnB,gBAAI,CAAC1B,KAAQ,CAACA,EAAK,OAAQ;AAE3B,kBAAM4B,IAAQ5B,EAAK,OAAO,OAAO0B,CAAK,CAAC;AACvC,mBAAO5B,EAAe,KAAKG,GAAW2B,CAAK;AAAA,UAC7C;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACF,MACF5B,EAAe,KAAKK,GAASuB,CAAK;AAAA,QAC3C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGF,SAAOI;AAAA,IACLC,EAAuB,EAAE,eAAAP,GAAe;AAAA,IACxCC;AAAA,MACAO,KAAAb,IAAAtB,EAAM,WAAN,gBAAAsB,EAAc,wBAAd,gBAAAa,EAAmC,YAAW,CAAA;AAAA,EAAC;AAEnD,GC7FMC,IAAsB,CAACrC,MAAmC;AAC9D,QAAMC,IAAeqC,EAAA;AACrB,EAAAC,EAAUtC,CAAK;AAEf,QAAM,EAAE,OAAAuC,GAAO,aAAAC,GAAa,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiB5C,CAAK,GACvE;AAAA,IACJ,SAAAO;AAAA,IACA,OAAAsC;AAAA,IACA,SAAAlC;AAAA,IACA,cAAAmC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAxB;AAAA,EAAA,IACE5B,GAEEqD,IAAUC,EAAY;AAAA,IAC1B,SAAStD,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEKI,IAAOL;AAAA,IACX;AAAA,MACE,MAAMsD,EAAQ;AAAA,MACd,WAAWR;AAAA,MACX,gBAAgBlC;AAAA,MAChB,SAAAJ;AAAA,MACA,qBAA6B6C,KAAiB,QAAQD,KAAiB;AAAA,IAAI;AAAA,IAG7ElD;AAAA,EAAA,GAEI0B,IAAUD;AAAA,IACd,EAAE,MAAAtB,GAAM,WAAWyC,GAAO,SAAAtC,GAAS,eAAAqB,EAAA;AAAA,IACnC3B;AAAA,EAAA;AAGF,SACEsD,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,uBAAuB,CAAC9C,GAASsC,GAAOlC,CAAO;AAAA,MAC/C,cAAc0C,EAAQ;AAAA,MACtB,UAAUZ;AAAA,MACV,OAAAD;AAAA,MAEA,UAAAe,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAArD;AAAA,UACA,cAAA0C;AAAA,UACA,YAAAC;AAAA,UACA,sBAAAC;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,YAAAR;AAAA,UACA,YAAAC;AAAA,UACA,eAAAQ;AAAA,UACA,eAAAC;AAAA,UACA,SAAAzB;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;"}
1
+ {"version":3,"file":"index-CwiND2Ct.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 { getObjectStableKey } from '../../../../utils.ts/object.utils';\nimport { getColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { getChartContrastColors } 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 themeKey = getObjectStableKey(theme);\n const chartContrastColors = getChartContrastColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getColor(\n `${themeKey}.charts.backgroundColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const borderColor = getColor(\n `${themeKey}.charts.borderColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.borderColors ?? chartContrastColors,\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, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } 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';\n\nexport type LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\ntype LineChartGroupedProProp = {\n description: string;\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 title: string;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onLineClicked: LineChartProOptionsClick;\n};\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 measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\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\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 subtitle={description}\n title={title}\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","themeKey","getObjectStableKey","chartContrastColors","getChartContrastColors","datasets","groupByItem","index","backgroundColor","getColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptions","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","results","useFillGaps","jsx","ChartCard","LineChart"],"mappings":";;;;;;;;;AAWO,MAAMA,IAA6B,CACxCC,GAOAC,MACsB;AACtB,QAAMC,IAAiBC,EAAkBF,CAAK,GACxC,EAAE,MAAAG,IAAO,IAAI,WAAAC,GAAW,gBAAAC,GAAgB,SAAAC,GAAS,qBAAAC,MAAwBR,GAEzES,IAAO,CAAC,GAAG,IAAI,IAAIL,EAAK,IAAI,CAACM,MAAMA,EAAEL,EAAU,IAAI,CAAC,EAAE,OAAO,CAACK,MAAMA,KAAK,IAAI,CAAC,CAAC,EAAE,KAAA,GACjFC,IAAU,CAAC,GAAG,IAAI,IAAIP,EAAK,IAAI,CAACM,MAAMA,EAAEJ,EAAe,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAACI,MAAMA,KAAK,IAAI,GAEvFE,IAAWC,EAAmBZ,CAAK,GACnCa,IAAsBC,EAAA,GACtBC,IAA0CL,EAAQ,IAAI,CAACM,GAAaC,MAAU;;AAClF,UAAMC,IAAkBC;AAAA,MACtB,GAAGR,CAAQ;AAAA,MACX,GAAGN,EAAe,IAAI,IAAIW,CAAW;AAAA,MACrChB,EAAM,OAAO,oBAAoBa;AAAA,MACjCI;AAAA,IAAA,GAGIG,IAAcD;AAAA,MAClB,GAAGR,CAAQ;AAAA,MACX,GAAGN,EAAe,IAAI,IAAIW,CAAW;AAAA,MACrChB,EAAM,OAAO,gBAAgBa;AAAA,MAC7BI;AAAA,IAAA;AAmBF,WAhBgB;AAAA,MACd,MAAMV;AAAA,MACN,OAAON,EAAe,KAAKI,GAAgBW,CAAW;AAAA,MACtD,UAAUA;AAAA,MACV,iBAAiBK,EAAcH,GAAiB,GAAG;AAAA,MACnD,sBAAsBA;AAAA,MACtB,OAAMI,IAAAhB,EAAQ,WAAR,gBAAAgB,EAAiB;AAAA,MACvB,aAAAF;AAAA,MACA,MAAMZ,EAAK,IAAI,CAACe,MAAa;;AAC3B,cAAMC,IAASrB,EAAK;AAAA,UAClB,CAACM,MAAMA,EAAEJ,EAAe,IAAI,MAAMW,KAAeP,EAAEL,EAAU,IAAI,MAAMmB;AAAA,QAAA;AAEzE,gBAAOC,KAAA,gBAAAA,EAASlB,EAAQ,YAAUgB,IAAAhB,EAAQ,WAAR,QAAAgB,EAAiB,cAAiB,IAAI;AAAA,MAC1E,CAAC;AAAA,IAAA;AAAA,EAIL,CAAC;AAED,SAAO;AAAA,IACL,QAAQd;AAAA,IACR,UAAAO;AAAA,EAAA;AAEJ,GAEaU,IAAgC,CAC3CC,GAMA1B,MACyB;;AACzB,QAAM,EAAE,WAAAI,GAAW,MAAAD,GAAM,SAAAG,GAAS,eAAAqB,MAAkBD,GAC9CzB,IAAiBC,EAAkBF,CAAK,GAExC4B,IAAyC;AAAA,IAC7C,SAAS;AAAA,MACP,YAAY;AAAA,QACV,QAAQ;AAAA,UACN,OAAO;AAAA,YACL,WAAW,CAACC,MACH5B,EAAe,KAAKK,GAASuB,CAAK;AAAA,UAC3C;AAAA,QACF;AAAA,MACF;AAAA,MAEF,SAAS;AAAA,QACP,WAAW;AAAA,UACT,OAAO,CAACC,MAAY;;AAClB,kBAAMC,KAAQT,IAAAQ,EAAQ,CAAC,MAAT,gBAAAR,EAAY;AAC1B,mBAAOrB,EAAe,KAAKG,GAAW2B,CAAK;AAAA,UAC7C;AAAA,UACA,OAAO,CAACD,MAAY;AAClB,kBAAME,IAAMF,EAAQ;AACpB,mBAAO,GAAGA,EAAQ,QAAQ,KAAK,KAAK7B,EAAe,KAAKK,GAAS0B,CAAG,CAAC;AAAA,UACvE;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,IAEF,QAAQ;AAAA,MACN,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACH,MAAU;AACnB,gBAAI,CAAC1B,KAAQ,CAACA,EAAK,OAAQ;AAE3B,kBAAM4B,IAAQ5B,EAAK,OAAO,OAAO0B,CAAK,CAAC;AACvC,mBAAO5B,EAAe,KAAKG,GAAW2B,CAAK;AAAA,UAC7C;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACF,MACF5B,EAAe,KAAKK,GAASuB,CAAK;AAAA,QAC3C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGF,SAAOI;AAAA,IACLC,EAAuB,EAAE,eAAAP,GAAe;AAAA,IACxCC;AAAA,MACAO,KAAAb,IAAAtB,EAAM,WAAN,gBAAAsB,EAAc,wBAAd,gBAAAa,EAAmC,YAAW,CAAA;AAAA,EAAC;AAEnD,GC7FMC,IAAsB,CAACrC,MAAmC;AAC9D,QAAMC,IAAeqC,EAAA;AACrB,EAAAC,EAAUtC,CAAK;AAEf,QAAM,EAAE,OAAAuC,GAAO,aAAAC,GAAa,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiB5C,CAAK,GACvE;AAAA,IACJ,SAAAO;AAAA,IACA,OAAAsC;AAAA,IACA,SAAAlC;AAAA,IACA,cAAAmC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAxB;AAAA,EAAA,IACE5B,GAEEqD,IAAUC,EAAY;AAAA,IAC1B,SAAStD,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEKI,IAAOL;AAAA,IACX;AAAA,MACE,MAAMsD,EAAQ;AAAA,MACd,WAAWR;AAAA,MACX,gBAAgBlC;AAAA,MAChB,SAAAJ;AAAA,MACA,qBAA6B6C,KAAiB,QAAQD,KAAiB;AAAA,IAAI;AAAA,IAG7ElD;AAAA,EAAA,GAEI0B,IAAUD;AAAA,IACd,EAAE,MAAAtB,GAAM,WAAWyC,GAAO,SAAAtC,GAAS,eAAAqB,EAAA;AAAA,IACnC3B;AAAA,EAAA;AAGF,SACEsD,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,uBAAuB,CAAC9C,GAASsC,GAAOlC,CAAO;AAAA,MAC/C,cAAc0C,EAAQ;AAAA,MACtB,UAAUZ;AAAA,MACV,OAAAD;AAAA,MAEA,UAAAe,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAArD;AAAA,UACA,cAAA0C;AAAA,UACA,YAAAC;AAAA,UACA,sBAAAC;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,YAAAR;AAAA,UACA,YAAAC;AAAA,UACA,eAAAQ;AAAA,UACA,eAAAC;AAAA,UACA,SAAAzB;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;"}
@@ -1,8 +1,8 @@
1
- import { j as a, K as f } from "./index-BIiign0L.js";
1
+ import { j as a, K as f } from "./Color.type.emb-ByiNbaI7.js";
2
2
  import { useTheme as h } from "@embeddable.com/react";
3
- import { a as j, r as x } from "./component.constants-DJqBv0qe.js";
4
- import { C as b } from "./ChartCard-DaUtlchs.js";
5
- import { g } from "./formatter.utils-BRMB8qAc.js";
3
+ import { a as j, r as x } from "./component.inputs.constants-FaX3B1CO.js";
4
+ import { C as b } from "./ChartCard-BEIVgW77.js";
5
+ import { g } from "./formatter.utils-IGbSBsIu.js";
6
6
  const v = (m) => {
7
7
  var o, s;
8
8
  const r = h();
@@ -27,4 +27,4 @@ export {
27
27
  v as K,
28
28
  z as i
29
29
  };
30
- //# sourceMappingURL=index-DD5t0omh.js.map
30
+ //# sourceMappingURL=index-DLCspqkx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-DD5t0omh.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\ntype KpiChartNumberProProp = {\n title: string;\n description: string;\n results: DataResponse;\n measure: Measure;\n fontSize: number;\n};\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, results, measure, fontSize } = resolveI18nProps(props);\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <KpiChart value={value} valueFormatter={valueFormatter} valueFontSize={fontSize} />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","title","description","results","measure","fontSize","resolveI18nProps","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","jsx","ChartCard","KpiChart"],"mappings":";;;;;AAiBA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,SAAAC,GAAS,UAAAC,EAAA,IAAaC,EAAiBT,CAAK,GAE3EU,KAAQC,KAAAC,IAAAN,EAAQ,SAAR,gBAAAM,EAAe,OAAf,gBAAAD,EAAoBJ,EAAQ,OAEpCM,IAAiBC,EAAkBb,CAAK,GACxCc,IAAiB,CAACC,MAA0BH,EAAe,KAAKN,GAASS,CAAa;AAE5F,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMZ;AAAA,MACN,uBAAuB,CAACC,CAAO;AAAA,MAC/B,cAAcD,EAAQ;AAAA,MACtB,UAAUD;AAAA,MACV,OAAAD;AAAA,MAEA,UAAAa,gBAAAA,EAAAA,IAACE,GAAA,EAAS,OAAAT,GAAc,gBAAAK,GAAgC,eAAeP,EAAA,CAAU;AAAA,IAAA;AAAA,EAAA;AAGvF;;;;"}
1
+ {"version":3,"file":"index-DLCspqkx.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\ntype KpiChartNumberProProp = {\n title: string;\n description: string;\n results: DataResponse;\n measure: Measure;\n fontSize: number;\n};\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, results, measure, fontSize } = resolveI18nProps(props);\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <KpiChart value={value} valueFormatter={valueFormatter} valueFontSize={fontSize} />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","title","description","results","measure","fontSize","resolveI18nProps","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","jsx","ChartCard","KpiChart"],"mappings":";;;;;AAiBA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,SAAAC,GAAS,UAAAC,EAAA,IAAaC,EAAiBT,CAAK,GAE3EU,KAAQC,KAAAC,IAAAN,EAAQ,SAAR,gBAAAM,EAAe,OAAf,gBAAAD,EAAoBJ,EAAQ,OAEpCM,IAAiBC,EAAkBb,CAAK,GACxCc,IAAiB,CAACC,MAA0BH,EAAe,KAAKN,GAASS,CAAa;AAE5F,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMZ;AAAA,MACN,uBAAuB,CAACC,CAAO;AAAA,MAC/B,cAAcD,EAAQ;AAAA,MACtB,UAAUD;AAAA,MACV,OAAAD;AAAA,MAEA,UAAAa,gBAAAA,EAAAA,IAACE,GAAA,EAAS,OAAAT,GAAc,gBAAAK,GAAgC,eAAeP,EAAA,CAAU;AAAA,IAAA;AAAA,EAAA;AAGvF;;;;"}
@@ -1,8 +1,8 @@
1
- import { m as L, j as m, B as P } from "./index-BIiign0L.js";
1
+ import { m as L, j as m, B as P } from "./Color.type.emb-ByiNbaI7.js";
2
2
  import { useTheme as w } from "@embeddable.com/react";
3
- import { a as M, r as S } from "./component.constants-DJqBv0qe.js";
4
- import { C as T } from "./ChartCard-DaUtlchs.js";
5
- import { g as _, b as v } from "./bars.utils-C45cnEfc.js";
3
+ import { a as M, r as S } from "./component.inputs.constants-FaX3B1CO.js";
4
+ import { C as T } from "./ChartCard-BEIVgW77.js";
5
+ import { g as _, b as v } from "./bars.utils-D12lq8bm.js";
6
6
  import { u as G } from "./charts.fillGaps.hooks-zCMYcjxz.js";
7
7
  const O = (s) => {
8
8
  var n, l;
@@ -78,4 +78,4 @@ export {
78
78
  O as B,
79
79
  I as i
80
80
  };
81
- //# sourceMappingURL=index-ifHDbmyw.js.map
81
+ //# sourceMappingURL=index-DNXqnRoE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-ifHDbmyw.js","sources":["../src/components/charts/bars/BarChartGroupedPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\n\ntype BarChartGroupedProProps = {\n description: string;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseXAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showTotalLabels?: boolean;\n showValueLabels: boolean;\n title: string;\n xAxis: Dimension;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onBarClicked: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n};\n\nconst BarChartGroupedPro = (props: BarChartGroupedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n groupBy,\n measure,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n title,\n xAxis,\n xAxisLabel,\n yAxisLabel,\n yAxisRangeMax,\n yAxisRangeMin,\n onBarClicked,\n } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: false, onBarClicked, data, dimension: xAxis },\n theme,\n ),\n theme.charts?.barChartGroupedPro?.options || {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\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 showTotalLabels={showTotalLabels}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedPro;\n"],"names":["BarChartGroupedPro","props","theme","useTheme","i18nSetup","description","groupBy","measure","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","title","xAxis","xAxisLabel","yAxisLabel","yAxisRangeMax","yAxisRangeMin","onBarClicked","resolveI18nProps","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","jsx","ChartCard","BarChart"],"mappings":";;;;;;AAkCA,MAAMA,IAAqB,CAACC,MAAmC;;AAC7D,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC,EAAiBpB,CAAK,GAEpBqB,IAAUC,EAAY;AAAA,IAC1B,SAAStB,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEKuB,IAAOC;AAAA,IACX;AAAA,MACE,MAAMH,EAAQ;AAAA,MACd,WAAWP;AAAA,MACX,gBAAgBT;AAAA,MAChB,SAAAC;AAAA,IAAA;AAAA,IAEFL;AAAA,EAAA,GAGIwB,IAAUC;AAAA,IACdC;AAAA,MACE,EAAE,UAAU,CAACrB,CAAO,GAAG,YAAY,IAAO,cAAAa,GAAc,MAAAI,GAAM,WAAWT,EAAA;AAAA,MACzEb;AAAA,IAAA;AAAA,MAEF2B,KAAAC,IAAA5B,EAAM,WAAN,gBAAA4B,EAAc,uBAAd,gBAAAD,EAAkC,YAAW,CAAA;AAAA,EAAC;AAGhD,SACEE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMV;AAAA,MACN,uBAAuB,CAACf,GAASQ,GAAOT,CAAO;AAAA,MAC/C,cAAcgB,EAAQ;AAAA,MACtB,UAAUjB;AAAA,MACV,OAAAS;AAAA,MAEA,UAAAiB,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAT;AAAA,UACA,YAAAf;AAAA,UACA,cAAAE;AAAA,UACA,iBAAAE;AAAA,UACA,sBAAAH;AAAA,UACA,YAAAM;AAAA,UACA,YAAAC;AAAA,UACA,cAAAT;AAAA,UACA,eAAAW;AAAA,UACA,eAAAD;AAAA,UACA,iBAAAN;AAAA,UACA,SAAAc;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;"}
1
+ {"version":3,"file":"index-DNXqnRoE.js","sources":["../src/components/charts/bars/BarChartGroupedPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\n\ntype BarChartGroupedProProps = {\n description: string;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseXAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showTotalLabels?: boolean;\n showValueLabels: boolean;\n title: string;\n xAxis: Dimension;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onBarClicked: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n};\n\nconst BarChartGroupedPro = (props: BarChartGroupedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n groupBy,\n measure,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n title,\n xAxis,\n xAxisLabel,\n yAxisLabel,\n yAxisRangeMax,\n yAxisRangeMin,\n onBarClicked,\n } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: false, onBarClicked, data, dimension: xAxis },\n theme,\n ),\n theme.charts?.barChartGroupedPro?.options || {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\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 showTotalLabels={showTotalLabels}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedPro;\n"],"names":["BarChartGroupedPro","props","theme","useTheme","i18nSetup","description","groupBy","measure","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","title","xAxis","xAxisLabel","yAxisLabel","yAxisRangeMax","yAxisRangeMin","onBarClicked","resolveI18nProps","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","jsx","ChartCard","BarChart"],"mappings":";;;;;;AAkCA,MAAMA,IAAqB,CAACC,MAAmC;;AAC7D,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC,EAAiBpB,CAAK,GAEpBqB,IAAUC,EAAY;AAAA,IAC1B,SAAStB,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEKuB,IAAOC;AAAA,IACX;AAAA,MACE,MAAMH,EAAQ;AAAA,MACd,WAAWP;AAAA,MACX,gBAAgBT;AAAA,MAChB,SAAAC;AAAA,IAAA;AAAA,IAEFL;AAAA,EAAA,GAGIwB,IAAUC;AAAA,IACdC;AAAA,MACE,EAAE,UAAU,CAACrB,CAAO,GAAG,YAAY,IAAO,cAAAa,GAAc,MAAAI,GAAM,WAAWT,EAAA;AAAA,MACzEb;AAAA,IAAA;AAAA,MAEF2B,KAAAC,IAAA5B,EAAM,WAAN,gBAAA4B,EAAc,uBAAd,gBAAAD,EAAkC,YAAW,CAAA;AAAA,EAAC;AAGhD,SACEE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMV;AAAA,MACN,uBAAuB,CAACf,GAASQ,GAAOT,CAAO;AAAA,MAC/C,cAAcgB,EAAQ;AAAA,MACtB,UAAUjB;AAAA,MACV,OAAAS;AAAA,MAEA,UAAAiB,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAT;AAAA,UACA,YAAAf;AAAA,UACA,cAAAE;AAAA,UACA,iBAAAE;AAAA,UACA,sBAAAH;AAAA,UACA,YAAAM;AAAA,UACA,YAAAC;AAAA,UACA,cAAAT;AAAA,UACA,eAAAW;AAAA,UACA,eAAAD;AAAA,UACA,iBAAAN;AAAA,UACA,SAAAc;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;"}
@@ -1,8 +1,8 @@
1
- import { m as x, j as m, D as S } from "./index-BIiign0L.js";
1
+ import { m as x, j as m, D as S } from "./Color.type.emb-ByiNbaI7.js";
2
2
  import { useTheme as b } from "@embeddable.com/react";
3
- import { g as D, a as v } from "./pies.utils-B_jS454c.js";
4
- import { a as _, r as k } from "./component.constants-DJqBv0qe.js";
5
- import { C as w } from "./ChartCard-DaUtlchs.js";
3
+ import { g as D, a as v } from "./pies.utils-C5DxeS68.js";
4
+ import { a as _, r as k } from "./component.inputs.constants-FaX3B1CO.js";
5
+ import { C as w } from "./ChartCard-BEIVgW77.js";
6
6
  const L = (d) => {
7
7
  var r;
8
8
  const e = b();
@@ -59,4 +59,4 @@ export {
59
59
  L as D,
60
60
  V as i
61
61
  };
62
- //# sourceMappingURL=index-CNjwWCGc.js.map
62
+ //# sourceMappingURL=index-DRIH3L5J.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-CNjwWCGc.js","sources":["../src/components/charts/pies/DonutChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype DonutChartProProps = DefaultPieChartProps;\n\nconst DonutChartPro = (props: DonutChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const options = mergician(\n getPieChartProOptions(measure, theme),\n theme.charts.donutChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <DonutChart\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n"],"names":["DonutChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","DonutChart"],"mappings":";;;;;AAYA,MAAMA,IAAgB,CAACC,MAA8B;;AACnD,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,IAAOC;AAAA,IACX,EAAE,MAAMR,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA;AAAA,IAC1CL;AAAA,EAAA,GAGIgB,IAAUC;AAAA,IACdC,EAAsBZ,GAASN,CAAK;AAAA,MACpCmB,IAAAnB,EAAM,OAAO,kBAAb,gBAAAmB,EAA4B,YAAW,CAAA;AAAA,EAAC,GAGpCC,IAAqB,CAACC,MAA8B;;AACxD,IAAAT,EAAe;AAAA,MACb,gBAAgBS,MAAU,WAAwBC,KAAAH,IAAAZ,EAAQ,SAAR,gBAAAY,EAAeE,OAAf,OAAZ,SAAYC,EAAwBlB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH;AAEA,SACEmB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMjB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,UAAUJ;AAAA,MACV,OAAAQ;AAAA,MAEA,UAAAY,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAX;AAAA,UACA,SAAAE;AAAA,UACA,YAAAR;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,gBAAgBU;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB;AAAA,EAAA;AAGN;;;;"}
1
+ {"version":3,"file":"index-DRIH3L5J.js","sources":["../src/components/charts/pies/DonutChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype DonutChartProProps = DefaultPieChartProps;\n\nconst DonutChartPro = (props: DonutChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const options = mergician(\n getPieChartProOptions(measure, theme),\n theme.charts.donutChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <DonutChart\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n"],"names":["DonutChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","DonutChart"],"mappings":";;;;;AAYA,MAAMA,IAAgB,CAACC,MAA8B;;AACnD,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,IAAOC;AAAA,IACX,EAAE,MAAMR,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA;AAAA,IAC1CL;AAAA,EAAA,GAGIgB,IAAUC;AAAA,IACdC,EAAsBZ,GAASN,CAAK;AAAA,MACpCmB,IAAAnB,EAAM,OAAO,kBAAb,gBAAAmB,EAA4B,YAAW,CAAA;AAAA,EAAC,GAGpCC,IAAqB,CAACC,MAA8B;;AACxD,IAAAT,EAAe;AAAA,MACb,gBAAgBS,MAAU,WAAwBC,KAAAH,IAAAZ,EAAQ,SAAR,gBAAAY,EAAeE,OAAf,OAAZ,SAAYC,EAAwBlB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH;AAEA,SACEmB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMjB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,UAAUJ;AAAA,MACV,OAAAQ;AAAA,MAEA,UAAAY,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAX;AAAA,UACA,SAAAE;AAAA,UACA,YAAAR;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,gBAAgBU;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB;AAAA,EAAA;AAGN;;;;"}
@@ -1,25 +1,25 @@
1
- import { m as $, a as N, e as S, f as w, h as M, j as R, L as F } from "./index-BIiign0L.js";
1
+ import { m as $, b as N, d as S, e as w, f as M, j as R, L as F } from "./Color.type.emb-ByiNbaI7.js";
2
2
  import { useTheme as X } from "@embeddable.com/react";
3
- import { i as Y, a as z, r as E } from "./component.constants-DJqBv0qe.js";
4
- import { C as G } from "./ChartCard-DaUtlchs.js";
3
+ import { i as Y, a as z, r as E } from "./component.inputs.constants-FaX3B1CO.js";
4
+ import { C as G } from "./ChartCard-BEIVgW77.js";
5
5
  import { useEffect as K } from "react";
6
- import { g as V } from "./timeRange.utils-CgLgHA94.js";
7
- import { g as P } from "./formatter.utils-BRMB8qAc.js";
6
+ import { g as V } from "./timeRange.utils-CTEHTF97.js";
7
+ import { g as P } from "./formatter.utils-IGbSBsIu.js";
8
8
  import { g as J, a as U } from "./object.utils-D_Zzon-H.js";
9
9
  import { i as q, s as H } from "./color.utils-BSg_DFOh.js";
10
10
  import { g as Q } from "./lines.utils-CFEUUo4k.js";
11
11
  import { u as B } from "./charts.fillGaps.hooks-zCMYcjxz.js";
12
- const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
13
- var O, b, m, L;
12
+ const k = "mainAxis", v = "comparisonAxis", j = (u, l) => {
13
+ var O, h, m, L;
14
14
  const { data: e, measure: n, dimension: t, index: p, isPreviousPeriod: o, hasMinMaxYAxisRange: x, labels: a } = u, c = e == null ? void 0 : e.map((f) => f[t.name]), i = !!((O = n.inputs) != null && O.connectGaps), g = a ? a.map((f) => {
15
15
  const y = e == null ? void 0 : e.find((I) => I[t.name] === f);
16
16
  return (y == null ? void 0 : y[n.name]) ?? (i ? 0 : null);
17
- }) : e == null ? void 0 : e.map((f) => f[n.name] ?? (i ? 0 : null)), h = P(r), A = J(r), s = !!((b = n.inputs) != null && b[o ? "previousLineDashed" : "lineDashed"]), l = N(), d = (m = n.inputs) == null ? void 0 : m[o ? "previousLineColor" : "lineColor"], C = q(d) ? d : U(
17
+ }) : e == null ? void 0 : e.map((f) => f[n.name] ?? (i ? 0 : null)), b = P(l), A = J(l), s = !!((h = n.inputs) != null && h[o ? "previousLineDashed" : "lineDashed"]), d = N(), r = (m = n.inputs) == null ? void 0 : m[o ? "previousLineColor" : "lineColor"], C = q(r) ? r : U(
18
18
  `${A}.charts.backgroundColors`,
19
19
  n.name,
20
- r.charts.backgroundColors ?? l,
20
+ l.charts.backgroundColors ?? d,
21
21
  p
22
- ), D = h.dimensionOrMeasureTitle(n);
22
+ ), D = b.dimensionOrMeasureTitle(n);
23
23
  return {
24
24
  xAxisID: o ? v : k,
25
25
  labels: c,
@@ -36,7 +36,7 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
36
36
  fill: (L = n.inputs) == null ? void 0 : L.fillUnderLine,
37
37
  clip: x
38
38
  };
39
- }, W = (u, r) => {
39
+ }, W = (u, l) => {
40
40
  if (!u.data)
41
41
  return {
42
42
  labels: [],
@@ -51,37 +51,37 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
51
51
  ...(n == null ? void 0 : n.map((g) => g[t.name])) ?? []
52
52
  ])
53
53
  ) : void 0, c = p.map(
54
- (g, h) => j(
54
+ (g, b) => j(
55
55
  {
56
56
  data: e,
57
57
  measure: g,
58
58
  dimension: t,
59
59
  labels: a,
60
60
  hasMinMaxYAxisRange: o,
61
- index: h
61
+ index: b
62
62
  },
63
- r
63
+ l
64
64
  )
65
65
  ), i = p.map(
66
- (g, h) => j(
66
+ (g, b) => j(
67
67
  {
68
68
  data: n,
69
69
  measure: g,
70
70
  dimension: t,
71
71
  labels: a,
72
72
  hasMinMaxYAxisRange: o,
73
- index: h,
73
+ index: b,
74
74
  isPreviousPeriod: !0
75
75
  },
76
- r
76
+ l
77
77
  )
78
78
  );
79
79
  return {
80
80
  labels: a ?? e.map((g) => g[t.name]),
81
81
  datasets: [...c, ...i]
82
82
  };
83
- }, Z = (u, r) => {
84
- const { dimension: e, data: n, measures: t, xAxisLabel: p } = u, o = P(r);
83
+ }, Z = (u, l) => {
84
+ const { dimension: e, data: n, measures: t, xAxisLabel: p } = u, o = P(l);
85
85
  return {
86
86
  plugins: {
87
87
  legend: {
@@ -142,26 +142,26 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
142
142
  }
143
143
  }
144
144
  };
145
- }, aa = (u, r) => {
146
- var h, A;
147
- const { dimension: e, data: n, measures: t, xAxisLabel: p, showComparisonAxis: o, showDataComparison: x } = u, a = P(r), c = ((h = n.datasets.find((s) => s.xAxisID === k)) == null ? void 0 : h.labels) ?? [], i = ((A = n.datasets.find((s) => s.xAxisID === v)) == null ? void 0 : A.labels) ?? [];
145
+ }, aa = (u, l) => {
146
+ var b, A;
147
+ const { dimension: e, data: n, measures: t, xAxisLabel: p, showComparisonAxis: o, showDataComparison: x } = u, a = P(l), c = ((b = n.datasets.find((s) => s.xAxisID === k)) == null ? void 0 : b.labels) ?? [], i = ((A = n.datasets.find((s) => s.xAxisID === v)) == null ? void 0 : A.labels) ?? [];
148
148
  return {
149
149
  plugins: {
150
150
  legend: {
151
151
  labels: {
152
- filter: (s, l) => {
152
+ filter: (s, d) => {
153
153
  if (!s) return !1;
154
- const d = l.datasets[s.datasetIndex];
155
- return Array.isArray(d.data) && d.data.length > 0;
154
+ const r = d.datasets[s.datasetIndex];
155
+ return Array.isArray(r.data) && r.data.length > 0;
156
156
  }
157
157
  }
158
158
  },
159
159
  datalabels: {
160
160
  labels: {
161
161
  value: {
162
- formatter: (s, l) => {
163
- const d = t[l.datasetIndex % t.length];
164
- return a.data(d, s);
162
+ formatter: (s, d) => {
163
+ const r = t[d.datasetIndex % t.length];
164
+ return a.data(r, s);
165
165
  }
166
166
  }
167
167
  }
@@ -169,17 +169,17 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
169
169
  tooltip: {
170
170
  callbacks: {
171
171
  title: (s) => {
172
- const l = s[0];
173
- if (!x && l)
174
- return a.data(e, l.label);
175
- const d = l == null ? void 0 : l.dataIndex;
176
- if (d === void 0) return "";
177
- const C = c[d] && a.data(e, c[d]), D = i[d] && a.data(e, i[d]);
172
+ const d = s[0];
173
+ if (!x && d)
174
+ return a.data(e, d.label);
175
+ const r = d == null ? void 0 : d.dataIndex;
176
+ if (r === void 0) return "";
177
+ const C = c[r] && a.data(e, c[r]), D = i[r] && a.data(e, i[r]);
178
178
  return `${C ?? "-"} vs ${D ?? "-"}`;
179
179
  },
180
180
  label: (s) => {
181
- const l = t[s.datasetIndex % t.length], d = s.raw;
182
- return `${s.dataset.label}: ${a.data(l, d)}`;
181
+ const d = t[s.datasetIndex % t.length], r = s.raw;
182
+ return `${s.dataset.label}: ${a.data(d, r)}`;
183
183
  }
184
184
  }
185
185
  }
@@ -211,8 +211,8 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
211
211
  callback: (s) => {
212
212
  if (i.length === 0)
213
213
  return "";
214
- const l = i[Number(s)];
215
- return l ? a.data(e, l) : "";
214
+ const d = i[Number(s)];
215
+ return d ? a.data(e, d) : "";
216
216
  }
217
217
  }
218
218
  },
@@ -223,17 +223,17 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
223
223
  }
224
224
  }
225
225
  };
226
- }, ea = (u, r) => {
226
+ }, ea = (u, l) => {
227
227
  var p, o;
228
228
  const { onLineClicked: e, dimension: n } = u, t = n.nativeType === "time" ? aa : Z;
229
229
  return $(
230
230
  Q({ onLineClicked: e }),
231
- t(u, r),
232
- ((o = (p = r.charts) == null ? void 0 : p.lineChartComparisonDefaultPro) == null ? void 0 : o.options) || {}
231
+ t(u, l),
232
+ ((o = (p = l.charts) == null ? void 0 : p.lineChartComparisonDefaultPro) == null ? void 0 : o.options) || {}
233
233
  );
234
234
  }, ta = (u) => {
235
- const r = X();
236
- z(r);
235
+ const l = X();
236
+ z(l);
237
237
  const { title: e, description: n, xAxisLabel: t, yAxisLabel: p } = E(u), {
238
238
  comparisonPeriod: o,
239
239
  measures: x,
@@ -241,11 +241,11 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
241
241
  reverseXAxis: c,
242
242
  showLegend: i,
243
243
  showLogarithmicScale: g,
244
- showTooltips: h,
244
+ showTooltips: b,
245
245
  showValueLabels: A,
246
246
  yAxisRangeMax: s,
247
- yAxisRangeMin: l,
248
- primaryDateRange: d,
247
+ yAxisRangeMin: d,
248
+ primaryDateRange: r,
249
249
  comparisonDateRange: C,
250
250
  showComparisonAxis: D,
251
251
  setComparisonDateRange: T,
@@ -253,25 +253,29 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
253
253
  } = u;
254
254
  K(() => {
255
255
  const _ = V(
256
- d,
256
+ r,
257
257
  o,
258
- r
258
+ l
259
259
  );
260
260
  T(_);
261
- }, [o, JSON.stringify(d), r]);
262
- const b = B({ results: u.results, dimension: a }), m = B({
261
+ }, [o, JSON.stringify(r), l]);
262
+ const h = B({
263
+ results: u.results,
264
+ dimension: a,
265
+ externalDateBounds: r
266
+ }), m = B({
263
267
  results: u.resultsComparison,
264
268
  dimension: a,
265
269
  externalDateBounds: C
266
- }), L = !!(d && o), f = W(
270
+ }), L = !!(r && o), f = W(
267
271
  {
268
- data: b.data,
272
+ data: h.data,
269
273
  dataComparison: L ? (m == null ? void 0 : m.data) ?? [] : void 0,
270
274
  dimension: a,
271
275
  measures: x,
272
- hasMinMaxYAxisRange: l != null || s != null
276
+ hasMinMaxYAxisRange: d != null || s != null
273
277
  },
274
- r
278
+ l
275
279
  ), y = ea(
276
280
  {
277
281
  data: f,
@@ -282,17 +286,17 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
282
286
  showDataComparison: L,
283
287
  onLineClicked: O
284
288
  },
285
- r
289
+ l
286
290
  ), I = {
287
- isLoading: !!(b.isLoading || m != null && m.isLoading),
288
- data: !(b != null && b.data) && !(m != null && m.data) ? void 0 : [...b.data ?? [], ...(m == null ? void 0 : m.data) ?? []]
291
+ isLoading: !!(h.isLoading || m != null && m.isLoading),
292
+ data: !(h != null && h.data) && !(m != null && m.data) ? void 0 : [...h.data ?? [], ...(m == null ? void 0 : m.data) ?? []]
289
293
  };
290
294
  return /* @__PURE__ */ R.jsx(
291
295
  G,
292
296
  {
293
297
  data: I,
294
298
  dimensionsAndMeasures: [...x, a],
295
- errorMessage: b.error || (m == null ? void 0 : m.error),
299
+ errorMessage: h.error || (m == null ? void 0 : m.error),
296
300
  subtitle: n,
297
301
  title: e,
298
302
  children: /* @__PURE__ */ R.jsx(
@@ -302,12 +306,12 @@ const k = "mainAxis", v = "comparisonAxis", j = (u, r) => {
302
306
  reverseXAxis: c,
303
307
  showLegend: i,
304
308
  showLogarithmicScale: g,
305
- showTooltips: h,
309
+ showTooltips: b,
306
310
  showValueLabels: A,
307
311
  xAxisLabel: t,
308
312
  yAxisLabel: p,
309
313
  yAxisRangeMax: s,
310
- yAxisRangeMin: l,
314
+ yAxisRangeMin: d,
311
315
  options: y
312
316
  }
313
317
  )
@@ -323,4 +327,4 @@ export {
323
327
  W as g,
324
328
  ga as i
325
329
  };
326
- //# sourceMappingURL=index-CSdnJs7F.js.map
330
+ //# sourceMappingURL=index-DdeFtB5C.js.map