@semcore/d3-chart 16.4.2 → 16.5.0-prerelease.2

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 (163) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +4 -4
  3. package/lib/cjs/Area.js +11 -11
  4. package/lib/cjs/Axis.js +15 -15
  5. package/lib/cjs/Bar.js +16 -16
  6. package/lib/cjs/Bubble.js +15 -15
  7. package/lib/cjs/Bubble.js.map +1 -1
  8. package/lib/cjs/CompactHorizontalBar.js +21 -19
  9. package/lib/cjs/CompactHorizontalBar.js.map +1 -1
  10. package/lib/cjs/Donut.js +12 -11
  11. package/lib/cjs/Donut.js.map +1 -1
  12. package/lib/cjs/Dots.js +8 -8
  13. package/lib/cjs/HorizontalBar.js +16 -16
  14. package/lib/cjs/Hover.js +7 -7
  15. package/lib/cjs/Hover.js.map +1 -1
  16. package/lib/cjs/Line.js +9 -9
  17. package/lib/cjs/Plot.js +3 -3
  18. package/lib/cjs/Radar.js +21 -21
  19. package/lib/cjs/Radar.js.map +1 -1
  20. package/lib/cjs/RadialTree.js +24 -24
  21. package/lib/cjs/RadialTree.js.map +1 -1
  22. package/lib/cjs/Reference.js +12 -12
  23. package/lib/cjs/ScatterPlot.js +12 -11
  24. package/lib/cjs/ScatterPlot.js.map +1 -1
  25. package/lib/cjs/Tooltip.js +9 -9
  26. package/lib/cjs/Venn.js +12 -11
  27. package/lib/cjs/Venn.js.map +1 -1
  28. package/lib/cjs/a11y/PlotA11yModule.js +5 -5
  29. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  30. package/lib/cjs/a11y/PlotA11yView.js +2 -2
  31. package/lib/cjs/component/Chart/AbstractChart.js +119 -35
  32. package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
  33. package/lib/cjs/component/Chart/AreaChart.js +5 -29
  34. package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
  35. package/lib/cjs/component/Chart/BarChart.js +5 -29
  36. package/lib/cjs/component/Chart/BarChart.js.map +1 -1
  37. package/lib/cjs/component/Chart/BubbleChart.js +0 -4
  38. package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
  39. package/lib/cjs/component/Chart/BubbleChart.type.js.map +1 -1
  40. package/lib/cjs/component/Chart/CigaretteChart.js +96 -59
  41. package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
  42. package/lib/cjs/component/Chart/CigaretteChart.type.js.map +1 -1
  43. package/lib/cjs/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
  44. package/lib/cjs/component/Chart/DonutChart.js +1 -6
  45. package/lib/cjs/component/Chart/DonutChart.js.map +1 -1
  46. package/lib/cjs/component/Chart/DonutChart.type.js.map +1 -1
  47. package/lib/cjs/component/Chart/HistogramChart.js +4 -28
  48. package/lib/cjs/component/Chart/HistogramChart.js.map +1 -1
  49. package/lib/cjs/component/Chart/LineChart.js +5 -29
  50. package/lib/cjs/component/Chart/LineChart.js.map +1 -1
  51. package/lib/cjs/component/Chart/RadarChart.type.js.map +1 -1
  52. package/lib/cjs/component/Chart/ScatterPlotChart.js +1 -5
  53. package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
  54. package/lib/cjs/component/Chart/ScatterPlotChart.type.js.map +1 -1
  55. package/lib/cjs/component/Chart/VennChart.js +0 -4
  56. package/lib/cjs/component/Chart/VennChart.js.map +1 -1
  57. package/lib/cjs/component/Chart/VennChart.type.js.map +1 -1
  58. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  59. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  60. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  61. package/lib/cjs/style/abstract-chart.shadow.css +12 -0
  62. package/lib/es6/Area.js +11 -11
  63. package/lib/es6/Axis.js +15 -15
  64. package/lib/es6/Bar.js +16 -16
  65. package/lib/es6/Bubble.js +15 -15
  66. package/lib/es6/Bubble.js.map +1 -1
  67. package/lib/es6/CompactHorizontalBar.js +21 -19
  68. package/lib/es6/CompactHorizontalBar.js.map +1 -1
  69. package/lib/es6/Donut.js +12 -11
  70. package/lib/es6/Donut.js.map +1 -1
  71. package/lib/es6/Dots.js +8 -8
  72. package/lib/es6/HorizontalBar.js +16 -16
  73. package/lib/es6/Hover.js +7 -7
  74. package/lib/es6/Hover.js.map +1 -1
  75. package/lib/es6/Line.js +9 -9
  76. package/lib/es6/Plot.js +3 -3
  77. package/lib/es6/Radar.js +21 -21
  78. package/lib/es6/Radar.js.map +1 -1
  79. package/lib/es6/RadialTree.js +24 -24
  80. package/lib/es6/RadialTree.js.map +1 -1
  81. package/lib/es6/Reference.js +12 -12
  82. package/lib/es6/ScatterPlot.js +12 -11
  83. package/lib/es6/ScatterPlot.js.map +1 -1
  84. package/lib/es6/Tooltip.js +9 -9
  85. package/lib/es6/Venn.js +12 -11
  86. package/lib/es6/Venn.js.map +1 -1
  87. package/lib/es6/a11y/PlotA11yModule.js +4 -4
  88. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  89. package/lib/es6/a11y/PlotA11yView.js +2 -2
  90. package/lib/es6/component/Chart/AbstractChart.js +119 -31
  91. package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
  92. package/lib/es6/component/Chart/AreaChart.js +5 -29
  93. package/lib/es6/component/Chart/AreaChart.js.map +1 -1
  94. package/lib/es6/component/Chart/BarChart.js +5 -29
  95. package/lib/es6/component/Chart/BarChart.js.map +1 -1
  96. package/lib/es6/component/Chart/BubbleChart.js +0 -4
  97. package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
  98. package/lib/es6/component/Chart/BubbleChart.type.js.map +1 -1
  99. package/lib/es6/component/Chart/CigaretteChart.js +100 -61
  100. package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
  101. package/lib/es6/component/Chart/CigaretteChart.type.js.map +1 -1
  102. package/lib/es6/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
  103. package/lib/es6/component/Chart/DonutChart.js +1 -6
  104. package/lib/es6/component/Chart/DonutChart.js.map +1 -1
  105. package/lib/es6/component/Chart/DonutChart.type.js.map +1 -1
  106. package/lib/es6/component/Chart/HistogramChart.js +4 -28
  107. package/lib/es6/component/Chart/HistogramChart.js.map +1 -1
  108. package/lib/es6/component/Chart/LineChart.js +5 -29
  109. package/lib/es6/component/Chart/LineChart.js.map +1 -1
  110. package/lib/es6/component/Chart/RadarChart.type.js.map +1 -1
  111. package/lib/es6/component/Chart/ScatterPlotChart.js +1 -5
  112. package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
  113. package/lib/es6/component/Chart/ScatterPlotChart.type.js.map +1 -1
  114. package/lib/es6/component/Chart/VennChart.js +0 -4
  115. package/lib/es6/component/Chart/VennChart.js.map +1 -1
  116. package/lib/es6/component/Chart/VennChart.type.js.map +1 -1
  117. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  118. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  119. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  120. package/lib/es6/style/abstract-chart.shadow.css +12 -0
  121. package/lib/esm/Area.mjs +12 -12
  122. package/lib/esm/Axis.mjs +16 -16
  123. package/lib/esm/Bar.mjs +17 -17
  124. package/lib/esm/Bubble.mjs +16 -16
  125. package/lib/esm/CompactHorizontalBar.mjs +21 -20
  126. package/lib/esm/Donut.mjs +12 -12
  127. package/lib/esm/Dots.mjs +9 -9
  128. package/lib/esm/HorizontalBar.mjs +17 -17
  129. package/lib/esm/Hover.mjs +8 -8
  130. package/lib/esm/Line.mjs +10 -10
  131. package/lib/esm/Plot.mjs +4 -4
  132. package/lib/esm/Radar.mjs +22 -22
  133. package/lib/esm/RadialTree.mjs +27 -27
  134. package/lib/esm/Reference.mjs +13 -13
  135. package/lib/esm/ScatterPlot.mjs +12 -12
  136. package/lib/esm/Tooltip.mjs +10 -10
  137. package/lib/esm/Venn.mjs +12 -12
  138. package/lib/esm/a11y/PlotA11yModule.mjs +5 -5
  139. package/lib/esm/a11y/PlotA11yView.mjs +3 -3
  140. package/lib/esm/component/Chart/AbstractChart.mjs +103 -19
  141. package/lib/esm/component/Chart/AreaChart.mjs +5 -27
  142. package/lib/esm/component/Chart/BarChart.mjs +6 -28
  143. package/lib/esm/component/Chart/BubbleChart.mjs +0 -4
  144. package/lib/esm/component/Chart/CigaretteChart.mjs +78 -45
  145. package/lib/esm/component/Chart/DonutChart.mjs +1 -4
  146. package/lib/esm/component/Chart/HistogramChart.mjs +5 -27
  147. package/lib/esm/component/Chart/LineChart.mjs +5 -27
  148. package/lib/esm/component/Chart/ScatterPlotChart.mjs +1 -4
  149. package/lib/esm/component/Chart/VennChart.mjs +0 -4
  150. package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +5 -5
  151. package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +18 -18
  152. package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +7 -7
  153. package/lib/esm/style/abstract-chart.shadow.css +12 -0
  154. package/lib/types/a11y/PlotA11yModule.d.ts +1 -1
  155. package/lib/types/component/Chart/AbstractChart.d.ts +11 -1
  156. package/lib/types/component/Chart/BubbleChart.type.d.ts +1 -1
  157. package/lib/types/component/Chart/CigaretteChart.type.d.ts +2 -0
  158. package/lib/types/component/Chart/CompactHorizontalBarChart.type.d.ts +1 -1
  159. package/lib/types/component/Chart/DonutChart.type.d.ts +1 -1
  160. package/lib/types/component/Chart/RadarChart.type.d.ts +1 -1
  161. package/lib/types/component/Chart/ScatterPlotChart.type.d.ts +1 -1
  162. package/lib/types/component/Chart/VennChart.type.d.ts +1 -1
  163. package/package.json +5 -5
@@ -6,6 +6,8 @@ import _callSuper from "@babel/runtime/helpers/callSuper";
6
6
  import _superPropGet from "@babel/runtime/helpers/superPropGet";
7
7
  import _inherits from "@babel/runtime/helpers/inherits";
8
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
+ import { assignProps as _assignProps4 } from "@semcore/core";
10
+ import { assignProps as _assignProps3 } from "@semcore/core";
9
11
  import { assignProps as _assignProps2 } from "@semcore/core";
10
12
  import { assignProps as _assignProps } from "@semcore/core";
11
13
  import { createComponent, Root, sstyled } from '@semcore/core';
@@ -13,13 +15,13 @@ import i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';
13
15
  import resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';
14
16
  import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
15
17
  import Divider from '@semcore/divider';
16
- import { Box, Flex } from '@semcore/flex-box';
18
+ import { Flex, Box } from '@semcore/flex-box';
17
19
  import { Text } from '@semcore/typography';
18
20
  import { scaleBand, scaleLinear } from 'd3-scale';
19
21
  import React from 'react';
20
22
  // @ts-ignore
21
23
  import { HoverRect, Plot } from '../..';
22
- import { AbstractChart } from './AbstractChart';
24
+ import { AbstractChart, NOT_A_VALUE } from './AbstractChart';
23
25
  // @ts-ignore
24
26
  import AnimatedClipPath from '../../AnimatedClipPath';
25
27
  import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
@@ -134,15 +136,18 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
134
136
  }, {
135
137
  key: "renderTooltip",
136
138
  value: function renderTooltip() {
137
- var _this3 = this;
139
+ var _ref = this.asProps,
140
+ _this3 = this;
138
141
  var _this$asProps2 = this.asProps,
139
142
  data = _this$asProps2.data,
140
- showTotalInTooltip = _this$asProps2.showTotalInTooltip,
141
- showTooltip = _this$asProps2.showTooltip,
142
143
  invertAxis = _this$asProps2.invertAxis,
143
144
  tooltipTitle = _this$asProps2.tooltipTitle,
144
- tooltipViewType = _this$asProps2.tooltipViewType;
145
+ tooltipViewType = _this$asProps2.tooltipViewType,
146
+ showPercentValueInTooltip = _this$asProps2.showPercentValueInTooltip,
147
+ styles = _this$asProps2.styles,
148
+ showTooltip = _this$asProps2.showTooltip;
145
149
  var dataDefinitions = this.state.dataDefinitions;
150
+ var STooltipChildrenWrapper = Box;
146
151
  if (!showTooltip) {
147
152
  return null;
148
153
  }
@@ -152,9 +157,11 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
152
157
  wMin: 100,
153
158
  hideHoverLine: true
154
159
  }, function (tooltipProps) {
160
+ var _ref4;
155
161
  var dataKey = invertAxis ? tooltipProps.xIndex : tooltipProps.yIndex;
156
- var total = _this3.totalValue(data);
162
+ var showPercentColumn = showPercentValueInTooltip && _this3.totalValue(data) !== 0;
157
163
  if (tooltipViewType === 'single') {
164
+ var _ref3;
158
165
  var item = dataDefinitions.find(function (dataDefItem) {
159
166
  return dataDefItem.id === dataKey;
160
167
  });
@@ -162,42 +169,73 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
162
169
  return null;
163
170
  }
164
171
  return {
165
- children: /*#__PURE__*/React.createElement(Flex, {
166
- justifyContent: "space-between",
167
- key: dataKey
168
- }, /*#__PURE__*/React.createElement(HoverRect.Tooltip.Dot, {
169
- mr: 4,
172
+ children: (_ref3 = sstyled(styles), /*#__PURE__*/React.createElement(STooltipChildrenWrapper, _ref3.cn("STooltipChildrenWrapper", _objectSpread({}, _assignProps({
173
+ "columnsCount": showPercentColumn ? '3' : '2',
174
+ "__excludeProps": ['data']
175
+ }, _ref))), /*#__PURE__*/React.createElement(HoverRect.Tooltip.Dot, {
176
+ mr: 2,
170
177
  color: item.color
171
- }, item.label), /*#__PURE__*/React.createElement(Text, {
172
- bold: true
173
- }, _this3.tooltipValueFormatter(data[dataKey])))
178
+ }, item.label), showPercentColumn && /*#__PURE__*/React.createElement(Text, _ref3.cn("Text", {
179
+ "textAlign": 'end',
180
+ "color": 'text-secondary'
181
+ }), _this3.percentValue(data, item.id)), /*#__PURE__*/React.createElement(Text, _ref3.cn("Text", {
182
+ "textAlign": 'end',
183
+ "bold": true
184
+ }), _this3.tooltipValueFormatter(data[item.id]))))
174
185
  };
175
186
  }
176
187
  return {
177
- children: /*#__PURE__*/React.createElement(React.Fragment, null, tooltipTitle && /*#__PURE__*/React.createElement(HoverRect.Tooltip.Title, null, "Some tooltip title"), dataDefinitions.map(function (item) {
178
- return item.checked && /*#__PURE__*/React.createElement(Flex, {
179
- justifyContent: "space-between",
180
- key: item.id,
181
- style: {
182
- opacity: item.id === dataKey ? 1 : 0.3
183
- }
188
+ children: (_ref4 = sstyled(styles), /*#__PURE__*/React.createElement(Flex, _ref4.cn("Flex", {
189
+ "direction": 'column'
190
+ }), tooltipTitle && /*#__PURE__*/React.createElement(HoverRect.Tooltip.Title, null, "Some tooltip title"), /*#__PURE__*/React.createElement(STooltipChildrenWrapper, _ref4.cn("STooltipChildrenWrapper", _objectSpread({}, _assignProps2({
191
+ "columnsCount": showPercentColumn ? '3' : '2',
192
+ "__excludeProps": ['data']
193
+ }, _ref))), dataDefinitions.map(function (item) {
194
+ var style = {
195
+ opacity: item.id === dataKey ? 1 : 0.3
196
+ };
197
+ return item.checked && /*#__PURE__*/React.createElement(React.Fragment, {
198
+ key: item.id
184
199
  }, /*#__PURE__*/React.createElement(HoverRect.Tooltip.Dot, {
185
- mr: 4,
186
- color: item.color
187
- }, item.label), /*#__PURE__*/React.createElement(Text, {
188
- bold: true
200
+ mr: 2,
201
+ color: item.color,
202
+ style: style
203
+ }, item.label), showPercentColumn && /*#__PURE__*/React.createElement(Text, {
204
+ textAlign: "end",
205
+ color: "text-secondary",
206
+ style: style
207
+ }, _this3.percentValue(data, item.id)), /*#__PURE__*/React.createElement(Text, {
208
+ textAlign: "end",
209
+ bold: true,
210
+ style: style
189
211
  }, _this3.tooltipValueFormatter(data[item.id])));
190
- }), showTotalInTooltip === true && /*#__PURE__*/React.createElement(Flex, {
191
- mt: 2,
192
- justifyContent: "space-between"
193
- }, /*#__PURE__*/React.createElement(Box, {
194
- mr: 4
195
- }, "Total"), /*#__PURE__*/React.createElement(Text, {
196
- bold: true
197
- }, total)))
212
+ }), _this3.renderTooltipTotalLine(data))))
198
213
  };
199
214
  });
200
215
  }
216
+ }, {
217
+ key: "renderTooltipTotalLine",
218
+ value: function renderTooltipTotalLine(dataItem) {
219
+ var _this$asProps3 = this.asProps,
220
+ showTotalInTooltip = _this$asProps3.showTotalInTooltip,
221
+ showPercentValueInTooltip = _this$asProps3.showPercentValueInTooltip;
222
+ if (!showTotalInTooltip) {
223
+ return null;
224
+ }
225
+ var total = this.totalValue(dataItem);
226
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Box, {
227
+ mt: 2,
228
+ mr: 2
229
+ }, "Total"), showPercentValueInTooltip && total !== 0 && /*#__PURE__*/React.createElement(Text, {
230
+ mt: 2,
231
+ textAlign: "end",
232
+ color: "text-secondary"
233
+ }, Number.isNaN(total) ? NOT_A_VALUE : '100%'), /*#__PURE__*/React.createElement(Text, {
234
+ mt: 2,
235
+ textAlign: "end",
236
+ bold: true
237
+ }, Number.isNaN(total) ? NOT_A_VALUE : total));
238
+ }
201
239
  }, {
202
240
  key: "renderHeader",
203
241
  value: function renderHeader() {
@@ -207,27 +245,27 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
207
245
  }, {
208
246
  key: "render",
209
247
  value: function render() {
210
- var _ref = this.asProps,
211
- _ref3;
248
+ var _ref2 = this.asProps,
249
+ _ref6;
212
250
  var SChart = Flex;
213
- var _this$asProps3 = this.asProps,
214
- styles = _this$asProps3.styles,
215
- plotWidth = _this$asProps3.plotWidth,
216
- plotHeight = _this$asProps3.plotHeight,
217
- data = _this$asProps3.data,
218
- patterns = _this$asProps3.patterns,
219
- invertAxis = _this$asProps3.invertAxis,
220
- a11yAltTextConfig = _this$asProps3.a11yAltTextConfig;
251
+ var _this$asProps4 = this.asProps,
252
+ styles = _this$asProps4.styles,
253
+ plotWidth = _this$asProps4.plotWidth,
254
+ plotHeight = _this$asProps4.plotHeight,
255
+ data = _this$asProps4.data,
256
+ patterns = _this$asProps4.patterns,
257
+ invertAxis = _this$asProps4.invertAxis,
258
+ a11yAltTextConfig = _this$asProps4.a11yAltTextConfig;
221
259
  var header = this.renderHeader();
222
260
  if (invertAxis) {
223
- var _ref2;
224
- return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SChart, _ref2.cn("SChart", _objectSpread({}, _assignProps({
261
+ var _ref5;
262
+ return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SChart, _ref5.cn("SChart", _objectSpread({}, _assignProps3({
225
263
  "gap": 6,
226
264
  "direction": 'column',
227
265
  "__excludeProps": ['onClick', 'data']
228
- }, _ref))), /*#__PURE__*/React.createElement(Flex, _ref2.cn("Flex", {
266
+ }, _ref2))), /*#__PURE__*/React.createElement(Flex, _ref5.cn("Flex", {
229
267
  "direction": 'column'
230
- }), header, /*#__PURE__*/React.createElement(Plot, _ref2.cn("Plot", {
268
+ }), header, /*#__PURE__*/React.createElement(Plot, _ref5.cn("Plot", {
231
269
  "data": data,
232
270
  "scale": [this.xScale, this.yScale],
233
271
  "width": plotWidth,
@@ -237,10 +275,10 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
237
275
  "a11yAltTextConfig": a11yAltTextConfig
238
276
  }), this.renderTooltip(), this.renderChart())), this.renderLegend());
239
277
  }
240
- return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SChart, _ref3.cn("SChart", _objectSpread({}, _assignProps2({
278
+ return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SChart, _ref6.cn("SChart", _objectSpread({}, _assignProps4({
241
279
  "gap": 6,
242
280
  "__excludeProps": ['onClick', 'data']
243
- }, _ref))), /*#__PURE__*/React.createElement(Plot, _ref3.cn("Plot", {
281
+ }, _ref2))), /*#__PURE__*/React.createElement(Plot, _ref6.cn("Plot", {
244
282
  "data": data,
245
283
  "scale": [this.xScale, this.yScale],
246
284
  "width": plotWidth,
@@ -248,10 +286,10 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
248
286
  "dataHints": this.dataHints,
249
287
  "patterns": patterns,
250
288
  "a11yAltTextConfig": a11yAltTextConfig
251
- }), this.renderTooltip(), this.renderChart()), /*#__PURE__*/React.createElement(Flex, _ref3.cn("Flex", {
289
+ }), this.renderTooltip(), this.renderChart()), /*#__PURE__*/React.createElement(Flex, _ref6.cn("Flex", {
252
290
  "direction": 'column',
253
291
  "gap": 2
254
- }), header && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Box, _ref3.cn("Box", {}), header), /*#__PURE__*/React.createElement(Divider, _ref3.cn("Divider", {}))), this.renderLegend()));
292
+ }), header && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Box, _ref6.cn("Box", {}), header), /*#__PURE__*/React.createElement(Divider, _ref6.cn("Divider", {}))), this.renderLegend()));
255
293
  }
256
294
  }, {
257
295
  key: "getLegendAriaLabel",
@@ -277,20 +315,20 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
277
315
  }, {
278
316
  key: "categoryScale",
279
317
  get: function get() {
280
- var _this$asProps4 = this.asProps,
281
- plotWidth = _this$asProps4.plotWidth,
282
- plotHeight = _this$asProps4.plotHeight,
283
- invertAxis = _this$asProps4.invertAxis;
318
+ var _this$asProps5 = this.asProps,
319
+ plotWidth = _this$asProps5.plotWidth,
320
+ plotHeight = _this$asProps5.plotHeight,
321
+ invertAxis = _this$asProps5.invertAxis;
284
322
  var range = invertAxis ? [plotHeight, 0] : [0, plotWidth];
285
323
  return scaleBand([0], range);
286
324
  }
287
325
  }, {
288
326
  key: "valueScale",
289
327
  get: function get() {
290
- var _this$asProps5 = this.asProps,
291
- plotWidth = _this$asProps5.plotWidth,
292
- plotHeight = _this$asProps5.plotHeight,
293
- invertAxis = _this$asProps5.invertAxis;
328
+ var _this$asProps6 = this.asProps,
329
+ plotWidth = _this$asProps6.plotWidth,
330
+ plotHeight = _this$asProps6.plotHeight,
331
+ invertAxis = _this$asProps6.invertAxis;
294
332
  var max = 0;
295
333
  this.selectedData.forEach(function (value) {
296
334
  max = max + value;
@@ -313,7 +351,8 @@ _defineProperty(CigaretteChartComponent, "defaultProps", function (props) {
313
351
  marginY: 0,
314
352
  duration: 500,
315
353
  plotWidth: !invertAxis && !props.plotWidth ? 44 : props.plotWidth,
316
- plotHeight: invertAxis && !props.plotHeight ? 28 : props.plotHeight
354
+ plotHeight: invertAxis && !props.plotHeight ? 28 : props.plotHeight,
355
+ showPercentValueInTooltip: false
317
356
  };
318
357
  });
319
358
  _defineProperty(CigaretteChartComponent, "enhance", [resolveColorEnhance(), uniqueIDEnhancement(), i18nEnhance(localizedMessages)]);
@@ -1 +1 @@
1
- {"version":3,"file":"CigaretteChart.js","names":["createComponent","Root","sstyled","i18nEnhance","resolveColorEnhance","uniqueIDEnhancement","Divider","Box","Flex","Text","scaleBand","scaleLinear","React","HoverRect","Plot","AbstractChart","AnimatedClipPath","localizedMessages","interpolateValue","scaleToBand","Cigarette","wMin","CigaretteChartComponent","_AbstractChart","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","_inherits","_createClass","key","value","resolveColor","id","index","_this$props$colorMap$","_this$props$colorMap","props","colorMap","getDefaultDataDefinitions","dataDefinitions","_superPropGet","map","dataDef","columns","slice","defaultLegendProps","legendType","w","get","invertAxis","asProps","valueScale","categoryScale","renderChart","_this2","_this$asProps","data","uid","duration","patterns","plotHeight","plotWidth","onClick","_this$state","state","highlightedLine","offset","createElement","Fragment","_toConsumableArray","reverse","item","checked","absWidth","Math","abs","max","domain","height","bandwidth","width","y","x","r","dataKey","hide","color","direction","hovered","undefined","renderTooltip","_this3","_this$asProps2","showTotalInTooltip","showTooltip","tooltipTitle","tooltipViewType","Tooltip","hideHoverLine","tooltipProps","xIndex","yIndex","total","totalValue","find","dataDefItem","children","justifyContent","Dot","mr","label","bold","tooltipValueFormatter","Title","style","opacity","mt","renderHeader","_this$asProps$header","header","render","_ref","_ref3","SChart","_this$asProps3","styles","a11yAltTextConfig","_ref2","cn","_objectSpread","_assignProps","xScale","yScale","dataHints","renderLegend","_assignProps2","getLegendAriaLabel","getI18nText","chartType","result","Map","forEach","set","_this$asProps4","range","_this$asProps5","selectedData","_props$invertAxis","showXAxis","showYAxis","showLegend","marginX","marginY","CigaretteChart"],"sources":["../../../../src/component/Chart/CigaretteChart.tsx"],"sourcesContent":["import { createComponent, Root, sstyled } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport Divider from '@semcore/divider';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport { scaleBand, scaleLinear } from 'd3-scale';\nimport React from 'react';\n\nimport type { CigaretteChartData, CigaretteChartProps, CigaretteChartType } from './CigaretteChart.type';\n// @ts-ignore\nimport { HoverRect, Plot } from '../..';\nimport { AbstractChart } from './AbstractChart';\n// @ts-ignore\nimport AnimatedClipPath from '../../AnimatedClipPath';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport { interpolateValue, scaleToBand } from '../../utils';\nimport type { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport Cigarette from '../Cigarette/Cigarette';\n\nconst wMin = 2;\n\nclass CigaretteChartComponent extends AbstractChart<\n CigaretteChartData,\n CigaretteChartProps,\n typeof CigaretteChartComponent.enhance\n> {\n static displayName = 'Cigarette.Bar';\n\n static defaultProps: any = (props: CigaretteChartProps) => {\n const invertAxis = props.invertAxis ?? true;\n return {\n invertAxis: invertAxis,\n showXAxis: false,\n showYAxis: false,\n showTooltip: true,\n showLegend: false,\n marginX: 0,\n marginY: 0,\n duration: 500,\n plotWidth: !invertAxis && !props.plotWidth ? 44 : props.plotWidth,\n plotHeight: invertAxis && !props.plotHeight ? 28 : props.plotHeight,\n };\n };\n\n static enhance = [\n resolveColorEnhance(),\n uniqueIDEnhancement(),\n i18nEnhance(localizedMessages),\n ] as const;\n\n protected override plotPadding = 0;\n\n private offset = 0;\n\n protected override resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `blue-${5 - index}00`;\n }\n\n protected override getDefaultDataDefinitions(): Array<\n LegendItem & { columns: React.ReactNode[] }\n > {\n const dataDefinitions = super.getDefaultDataDefinitions();\n\n return dataDefinitions.map((dataDef) => {\n dataDef.columns = dataDef.columns.slice(1);\n return dataDef;\n });\n }\n\n protected override defaultLegendProps() {\n return {\n legendType: 'Table' as const,\n w: 'fit-content',\n };\n }\n\n get xScale() {\n const { invertAxis } = this.asProps;\n\n return invertAxis ? this.valueScale : this.categoryScale;\n }\n\n get yScale() {\n const { invertAxis } = this.asProps;\n\n return invertAxis ? this.categoryScale : this.valueScale;\n }\n\n renderChart() {\n const { invertAxis, data, uid, duration, patterns, plotHeight, plotWidth, onClick } =\n this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n this.offset = 0;\n\n return (\n <>\n {(invertAxis ? dataDefinitions : [...dataDefinitions].reverse()).map((item, index) => {\n const value = data[item.id];\n\n if (!item.checked || value === interpolateValue || value === null) {\n return null;\n }\n\n const absWidth = Math.abs(\n this.valueScale(value) -\n Math.max(this.valueScale(this.valueScale.domain()[0]), this.valueScale(0)),\n );\n const height = scaleToBand(this.categoryScale).bandwidth() - 4;\n const width = value === 0 ? 0 : Math.max(absWidth, wMin * 2) - wMin;\n const y = 2;\n const x = index === 0 ? 0 : this.offset;\n const r = height < 28 ? 2 : 4;\n\n this.offset = this.offset + width + wMin;\n\n return (\n <Cigarette\n key={item.id}\n dataKey={item.id}\n index={index}\n y={invertAxis ? y : x}\n x={invertAxis ? x : y}\n width={invertAxis ? width : height}\n height={invertAxis ? height : width}\n uid={uid}\n hide={!item.checked}\n duration={duration}\n r={index === 0 || index === dataDefinitions.length - 1 ? r : 0}\n color={item.color}\n patterns={patterns}\n direction={invertAxis ? 'horizontal' : 'vertical'}\n onClick={onClick}\n hovered={\n highlightedLine === index ? true : highlightedLine === -1 ? undefined : false\n }\n />\n );\n })}\n\n <AnimatedClipPath\n aria-hidden\n duration={duration}\n id={uid}\n x='0'\n y='0'\n width={invertAxis ? 0 : plotWidth}\n height={invertAxis ? plotHeight : 0}\n />\n </>\n );\n }\n\n renderTooltip(): React.ReactNode {\n const { data, showTotalInTooltip, showTooltip, invertAxis, tooltipTitle, tooltipViewType } =\n this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? '' : undefined}\n y={invertAxis ? undefined : ''}\n wMin={100}\n hideHoverLine={true}\n >\n {(tooltipProps: any) => {\n const dataKey = invertAxis ? tooltipProps.xIndex : tooltipProps.yIndex;\n const total = this.totalValue(data);\n\n if (tooltipViewType === 'single') {\n const item = dataDefinitions.find((dataDefItem) => dataDefItem.id === dataKey);\n\n if (!item) {\n return null;\n }\n\n return {\n children: (\n <Flex justifyContent='space-between' key={dataKey}>\n <HoverRect.Tooltip.Dot mr={4} color={item.color}>\n {item.label}\n </HoverRect.Tooltip.Dot>\n <Text bold>{this.tooltipValueFormatter(data[dataKey])}</Text>\n </Flex>\n ),\n };\n }\n\n return {\n children: (\n <>\n {tooltipTitle && (\n <HoverRect.Tooltip.Title>Some tooltip title</HoverRect.Tooltip.Title>\n )}\n\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Flex\n justifyContent='space-between'\n key={item.id}\n style={{ opacity: item.id === dataKey ? 1 : 0.3 }}\n >\n <HoverRect.Tooltip.Dot mr={4} color={item.color}>\n {item.label}\n </HoverRect.Tooltip.Dot>\n <Text bold>{this.tooltipValueFormatter(data[item.id])}</Text>\n </Flex>\n )\n );\n })}\n\n {showTotalInTooltip === true && (\n <Flex mt={2} justifyContent='space-between'>\n <Box mr={4}>Total</Box>\n <Text bold>{total}</Text>\n </Flex>\n )}\n </>\n ),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n renderHeader() {\n return this.asProps.header ?? null;\n }\n\n override render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data, patterns, invertAxis, a11yAltTextConfig } =\n this.asProps;\n\n const header = this.renderHeader();\n\n if (invertAxis) {\n return sstyled(styles)(\n <SChart render={Flex} gap={6} direction='column' __excludeProps={['onClick', 'data']}>\n <Flex direction='column'>\n {header}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n patterns={patterns}\n a11yAltTextConfig={a11yAltTextConfig}\n >\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </Flex>\n {this.renderLegend()}\n </SChart>,\n );\n }\n\n return sstyled(styles)(\n <SChart render={Flex} gap={6} __excludeProps={['onClick', 'data']}>\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n patterns={patterns}\n a11yAltTextConfig={a11yAltTextConfig}\n >\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n <Flex direction='column' gap={2}>\n {header && (\n <>\n <Box>{header}</Box>\n <Divider />\n </>\n )}\n {this.renderLegend()}\n </Flex>\n </SChart>,\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Cigarette' });\n }\n\n private get selectedData() {\n const { data } = this.asProps;\n const { dataDefinitions } = this.state;\n\n const result = new Map<string, number>();\n\n dataDefinitions.forEach((dataDefItem) => {\n const value = data[dataDefItem.id];\n if (dataDefItem.checked && value !== interpolateValue) {\n result.set(dataDefItem.id, value);\n }\n });\n\n return result;\n }\n\n private get categoryScale() {\n const { plotWidth, plotHeight, invertAxis } = this.asProps;\n\n const range = invertAxis ? [plotHeight, 0] : [0, plotWidth];\n\n return scaleBand<{}>([0], range);\n }\n\n private get valueScale() {\n const { plotWidth, plotHeight, invertAxis } = this.asProps;\n\n let max = 0;\n\n this.selectedData.forEach((value) => {\n max = max + value;\n });\n\n return scaleLinear()\n .range(invertAxis ? [0, plotWidth] : [plotHeight, 0])\n .domain([0, max]);\n }\n}\n\nexport const CigaretteChart: CigaretteChartType = createComponent(CigaretteChartComponent);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CigaretteChart.js","names":["createComponent","Root","sstyled","i18nEnhance","resolveColorEnhance","uniqueIDEnhancement","Divider","Flex","Box","Text","scaleBand","scaleLinear","React","HoverRect","Plot","AbstractChart","NOT_A_VALUE","AnimatedClipPath","localizedMessages","interpolateValue","scaleToBand","Cigarette","wMin","CigaretteChartComponent","_AbstractChart","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","_inherits","_createClass","key","value","resolveColor","id","index","_this$props$colorMap$","_this$props$colorMap","props","colorMap","getDefaultDataDefinitions","dataDefinitions","_superPropGet","map","dataDef","columns","slice","defaultLegendProps","legendType","w","get","invertAxis","asProps","valueScale","categoryScale","renderChart","_this2","_this$asProps","data","uid","duration","patterns","plotHeight","plotWidth","onClick","_this$state","state","highlightedLine","offset","createElement","Fragment","_toConsumableArray","reverse","item","checked","absWidth","Math","abs","max","domain","height","bandwidth","width","y","x","r","dataKey","hide","color","direction","hovered","undefined","renderTooltip","_ref","_this3","_this$asProps2","tooltipTitle","tooltipViewType","showPercentValueInTooltip","styles","showTooltip","STooltipChildrenWrapper","Tooltip","hideHoverLine","tooltipProps","_ref4","xIndex","yIndex","showPercentColumn","totalValue","_ref3","find","dataDefItem","children","cn","_objectSpread","_assignProps","Dot","mr","label","percentValue","tooltipValueFormatter","Title","_assignProps2","style","opacity","textAlign","bold","renderTooltipTotalLine","dataItem","_this$asProps3","showTotalInTooltip","total","mt","Number","isNaN","renderHeader","_this$asProps$header","header","render","_ref2","_ref6","SChart","_this$asProps4","a11yAltTextConfig","_ref5","_assignProps3","xScale","yScale","dataHints","renderLegend","_assignProps4","getLegendAriaLabel","getI18nText","chartType","result","Map","forEach","set","_this$asProps5","range","_this$asProps6","selectedData","_props$invertAxis","showXAxis","showYAxis","showLegend","marginX","marginY","CigaretteChart"],"sources":["../../../../src/component/Chart/CigaretteChart.tsx"],"sourcesContent":["import { createComponent, Root, sstyled } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport Divider from '@semcore/divider';\nimport { Flex, Box } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport { scaleBand, scaleLinear } from 'd3-scale';\nimport React from 'react';\n\nimport type { CigaretteChartData, CigaretteChartProps, CigaretteChartType } from './CigaretteChart.type';\n// @ts-ignore\nimport { HoverRect, Plot } from '../..';\nimport { AbstractChart, NOT_A_VALUE } from './AbstractChart';\nimport type { ObjectData } from './AbstractChart.type';\n// @ts-ignore\nimport AnimatedClipPath from '../../AnimatedClipPath';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport { interpolateValue, scaleToBand } from '../../utils';\nimport type { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport Cigarette from '../Cigarette/Cigarette';\n\nconst wMin = 2;\n\nclass CigaretteChartComponent extends AbstractChart<\n CigaretteChartData,\n CigaretteChartProps,\n typeof CigaretteChartComponent.enhance\n> {\n static displayName = 'Cigarette.Bar';\n\n static defaultProps: any = (props: CigaretteChartProps) => {\n const invertAxis = props.invertAxis ?? true;\n return {\n invertAxis: invertAxis,\n showXAxis: false,\n showYAxis: false,\n showTooltip: true,\n showLegend: false,\n marginX: 0,\n marginY: 0,\n duration: 500,\n plotWidth: !invertAxis && !props.plotWidth ? 44 : props.plotWidth,\n plotHeight: invertAxis && !props.plotHeight ? 28 : props.plotHeight,\n showPercentValueInTooltip: false,\n };\n };\n\n static enhance = [\n resolveColorEnhance(),\n uniqueIDEnhancement(),\n i18nEnhance(localizedMessages),\n ] as const;\n\n protected override plotPadding = 0;\n\n private offset = 0;\n\n protected override resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `blue-${5 - index}00`;\n }\n\n protected override getDefaultDataDefinitions(): Array<\n LegendItem & { columns: React.ReactNode[] }\n > {\n const dataDefinitions = super.getDefaultDataDefinitions();\n\n return dataDefinitions.map((dataDef) => {\n dataDef.columns = dataDef.columns.slice(1);\n return dataDef;\n });\n }\n\n protected override defaultLegendProps() {\n return {\n legendType: 'Table' as const,\n w: 'fit-content',\n };\n }\n\n get xScale() {\n const { invertAxis } = this.asProps;\n\n return invertAxis ? this.valueScale : this.categoryScale;\n }\n\n get yScale() {\n const { invertAxis } = this.asProps;\n\n return invertAxis ? this.categoryScale : this.valueScale;\n }\n\n renderChart() {\n const { invertAxis, data, uid, duration, patterns, plotHeight, plotWidth, onClick } =\n this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n this.offset = 0;\n\n return (\n <>\n {(invertAxis ? dataDefinitions : [...dataDefinitions].reverse()).map((item, index) => {\n const value = data[item.id];\n\n if (!item.checked || value === interpolateValue || value === null) {\n return null;\n }\n\n const absWidth = Math.abs(\n this.valueScale(value) -\n Math.max(this.valueScale(this.valueScale.domain()[0]), this.valueScale(0)),\n );\n const height = scaleToBand(this.categoryScale).bandwidth() - 4;\n const width = value === 0 ? 0 : Math.max(absWidth, wMin * 2) - wMin;\n const y = 2;\n const x = index === 0 ? 0 : this.offset;\n const r = height < 28 ? 2 : 4;\n\n this.offset = this.offset + width + wMin;\n\n return (\n <Cigarette\n key={item.id}\n dataKey={item.id}\n index={index}\n y={invertAxis ? y : x}\n x={invertAxis ? x : y}\n width={invertAxis ? width : height}\n height={invertAxis ? height : width}\n uid={uid}\n hide={!item.checked}\n duration={duration}\n r={index === 0 || index === dataDefinitions.length - 1 ? r : 0}\n color={item.color}\n patterns={patterns}\n direction={invertAxis ? 'horizontal' : 'vertical'}\n onClick={onClick}\n hovered={\n highlightedLine === index ? true : highlightedLine === -1 ? undefined : false\n }\n />\n );\n })}\n\n <AnimatedClipPath\n aria-hidden\n duration={duration}\n id={uid}\n x='0'\n y='0'\n width={invertAxis ? 0 : plotWidth}\n height={invertAxis ? plotHeight : 0}\n />\n </>\n );\n }\n\n renderTooltip(): React.ReactNode {\n const { data, invertAxis, tooltipTitle, tooltipViewType, showPercentValueInTooltip, styles, showTooltip } =\n this.asProps;\n const { dataDefinitions } = this.state;\n const STooltipChildrenWrapper = Root;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? '' : undefined}\n y={invertAxis ? undefined : ''}\n wMin={100}\n hideHoverLine={true}\n >\n {(tooltipProps: any) => {\n const dataKey = invertAxis ? tooltipProps.xIndex : tooltipProps.yIndex;\n const showPercentColumn = showPercentValueInTooltip && this.totalValue(data) !== 0;\n\n if (tooltipViewType === 'single') {\n const item = dataDefinitions.find((dataDefItem) => dataDefItem.id === dataKey);\n if (!item) {\n return null;\n }\n\n return {\n children: sstyled(styles)(\n <STooltipChildrenWrapper render={Box} columnsCount={showPercentColumn ? '3' : '2'} __excludeProps={['data']}>\n <HoverRect.Tooltip.Dot mr={2} color={item.color}>\n {item.label}\n </HoverRect.Tooltip.Dot>\n { showPercentColumn && <Text textAlign='end' color='text-secondary'>{this.percentValue(data, item.id)}</Text> }\n <Text textAlign='end' bold>{this.tooltipValueFormatter(data[item.id])}</Text>\n </STooltipChildrenWrapper>,\n ),\n };\n }\n\n return {\n children: sstyled(styles)(\n <Flex direction='column'>\n {tooltipTitle && (\n <HoverRect.Tooltip.Title>Some tooltip title</HoverRect.Tooltip.Title>\n )}\n\n <STooltipChildrenWrapper render={Box} columnsCount={showPercentColumn ? '3' : '2'} __excludeProps={['data']}>\n {dataDefinitions.map((item) => {\n const style = { opacity: item.id === dataKey ? 1 : 0.3 };\n return (\n item.checked && (\n <React.Fragment key={item.id}>\n <HoverRect.Tooltip.Dot mr={2} color={item.color} style={style}>\n {item.label}\n </HoverRect.Tooltip.Dot>\n { showPercentColumn && <Text textAlign='end' color='text-secondary' style={style}>{this.percentValue(data, item.id)}</Text> }\n <Text textAlign='end' bold style={style}>{this.tooltipValueFormatter(data[item.id])}</Text>\n </React.Fragment>\n )\n );\n })}\n\n {this.renderTooltipTotalLine(data)}\n </STooltipChildrenWrapper>\n </Flex>,\n ),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n protected override renderTooltipTotalLine<D extends ObjectData>(dataItem: D) {\n const { showTotalInTooltip, showPercentValueInTooltip } = this.asProps;\n\n if (!showTotalInTooltip) {\n return null;\n }\n\n const total = this.totalValue(dataItem);\n\n return (\n <>\n <Box mt={2} mr={2}>Total</Box>\n { showPercentValueInTooltip && total !== 0 && <Text mt={2} textAlign='end' color='text-secondary'>{Number.isNaN(total) ? NOT_A_VALUE : '100%'}</Text> }\n <Text mt={2} textAlign='end' bold>{Number.isNaN(total) ? NOT_A_VALUE : total}</Text>\n </>\n );\n }\n\n renderHeader() {\n return this.asProps.header ?? null;\n }\n\n override render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data, patterns, invertAxis, a11yAltTextConfig } =\n this.asProps;\n\n const header = this.renderHeader();\n\n if (invertAxis) {\n return sstyled(styles)(\n <SChart render={Flex} gap={6} direction='column' __excludeProps={['onClick', 'data']}>\n <Flex direction='column'>\n {header}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n patterns={patterns}\n a11yAltTextConfig={a11yAltTextConfig}\n >\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </Flex>\n {this.renderLegend()}\n </SChart>,\n );\n }\n\n return sstyled(styles)(\n <SChart render={Flex} gap={6} __excludeProps={['onClick', 'data']}>\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n patterns={patterns}\n a11yAltTextConfig={a11yAltTextConfig}\n >\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n <Flex direction='column' gap={2}>\n {header && (\n <>\n <Box>{header}</Box>\n <Divider />\n </>\n )}\n {this.renderLegend()}\n </Flex>\n </SChart>,\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Cigarette' });\n }\n\n private get selectedData() {\n const { data } = this.asProps;\n const { dataDefinitions } = this.state;\n\n const result = new Map<string, number>();\n\n dataDefinitions.forEach((dataDefItem) => {\n const value = data[dataDefItem.id];\n if (dataDefItem.checked && value !== interpolateValue) {\n result.set(dataDefItem.id, value);\n }\n });\n\n return result;\n }\n\n private get categoryScale() {\n const { plotWidth, plotHeight, invertAxis } = this.asProps;\n\n const range = invertAxis ? [plotHeight, 0] : [0, plotWidth];\n\n return scaleBand<{}>([0], range);\n }\n\n private get valueScale() {\n const { plotWidth, plotHeight, invertAxis } = this.asProps;\n\n let max = 0;\n\n this.selectedData.forEach((value) => {\n max = max + value;\n });\n\n return scaleLinear()\n .range(invertAxis ? [0, plotWidth] : [plotHeight, 0])\n .domain([0, max]);\n }\n}\n\nexport const CigaretteChart: CigaretteChartType = createComponent(CigaretteChartComponent);\n"],"mappings":";;;;;;;;;;;;AAAA,SAASA,eAAe,EAAEC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AAC9D,OAAOC,WAAW,MAAM,8CAA8C;AACtE,OAAOC,mBAAmB,MAAM,sDAAsD;AACtF,OAAOC,mBAAmB,MAAM,kCAAkC;AAClE,OAAOC,OAAO,MAAM,kBAAkB;AACtC,SAASC,IAAI,EAAEC,GAAG,QAAQ,mBAAmB;AAC7C,SAASC,IAAI,QAAQ,qBAAqB;AAC1C,SAASC,SAAS,EAAEC,WAAW,QAAQ,UAAU;AACjD,OAAOC,KAAK,MAAM,OAAO;AAGzB;AACA,SAASC,SAAS,EAAEC,IAAI,QAAQ,OAAO;AACvC,SAASC,aAAa,EAAEC,WAAW,QAAQ,iBAAiB;AAE5D;AACA,OAAOC,gBAAgB,MAAM,wBAAwB;AACrD,SAASC,iBAAiB,QAAQ,oDAAoD;AACtF,SAASC,gBAAgB,EAAEC,WAAW,QAAQ,aAAa;AAE3D,OAAOC,SAAS,MAAM,wBAAwB;AAE9C,IAAMC,IAAI,GAAG,CAAC;AAAC,IAETC,uBAAuB,0BAAAC,cAAA;EAAA,SAAAD,wBAAA;IAAA,IAAAE,KAAA;IAAAC,eAAA,OAAAH,uBAAA;IAAA,SAAAI,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAQ,UAAA,OAAAV,uBAAA,KAAAW,MAAA,CAAAJ,IAAA;IAAAK,eAAA,CAAAV,KAAA,iBA8BM,CAAC;IAAAU,eAAA,CAAAV,KAAA,YAEjB,CAAC;IAAA,OAAAA,KAAA;EAAA;EAAAW,SAAA,CAAAb,uBAAA,EAAAC,cAAA;EAAA,OAAAa,YAAA,CAAAd,uBAAA;IAAAe,GAAA;IAAAC,KAAA,EAElB,SAAmBC,YAAYA,CAACC,EAAU,EAAEC,KAAa,EAAE;MAAA,IAAAC,qBAAA,EAAAC,oBAAA;MACzD,QAAAD,qBAAA,IAAAC,oBAAA,GAAO,IAAI,CAACC,KAAK,CAACC,QAAQ,cAAAF,oBAAA,uBAAnBA,oBAAA,CAAsBH,EAAE,CAAC,cAAAE,qBAAA,cAAAA,qBAAA,WAAAT,MAAA,CAAY,CAAC,GAAGQ,KAAK;IACvD;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAmBQ,yBAAyBA,CAAA,EAE1C;MACA,IAAMC,eAAe,GAAAC,aAAA,CAAA1B,uBAAA,2CAAoC;MAEzD,OAAOyB,eAAe,CAACE,GAAG,CAAC,UAACC,OAAO,EAAK;QACtCA,OAAO,CAACC,OAAO,GAAGD,OAAO,CAACC,OAAO,CAACC,KAAK,CAAC,CAAC,CAAC;QAC1C,OAAOF,OAAO;MAChB,CAAC,CAAC;IACJ;EAAC;IAAAb,GAAA;IAAAC,KAAA,EAED,SAAmBe,kBAAkBA,CAAA,EAAG;MACtC,OAAO;QACLC,UAAU,EAAE,OAAgB;QAC5BC,CAAC,EAAE;MACL,CAAC;IACH;EAAC;IAAAlB,GAAA;IAAAmB,GAAA,EAED,SAAAA,IAAA,EAAa;MACX,IAAQC,UAAU,GAAK,IAAI,CAACC,OAAO,CAA3BD,UAAU;MAElB,OAAOA,UAAU,GAAG,IAAI,CAACE,UAAU,GAAG,IAAI,CAACC,aAAa;IAC1D;EAAC;IAAAvB,GAAA;IAAAmB,GAAA,EAED,SAAAA,IAAA,EAAa;MACX,IAAQC,UAAU,GAAK,IAAI,CAACC,OAAO,CAA3BD,UAAU;MAElB,OAAOA,UAAU,GAAG,IAAI,CAACG,aAAa,GAAG,IAAI,CAACD,UAAU;IAC1D;EAAC;IAAAtB,GAAA;IAAAC,KAAA,EAED,SAAAuB,WAAWA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACZ,IAAAC,aAAA,GACE,IAAI,CAACL,OAAO;QADND,UAAU,GAAAM,aAAA,CAAVN,UAAU;QAAEO,IAAI,GAAAD,aAAA,CAAJC,IAAI;QAAEC,GAAG,GAAAF,aAAA,CAAHE,GAAG;QAAEC,QAAQ,GAAAH,aAAA,CAARG,QAAQ;QAAEC,QAAQ,GAAAJ,aAAA,CAARI,QAAQ;QAAEC,UAAU,GAAAL,aAAA,CAAVK,UAAU;QAAEC,SAAS,GAAAN,aAAA,CAATM,SAAS;QAAEC,OAAO,GAAAP,aAAA,CAAPO,OAAO;MAEjF,IAAAC,WAAA,GAA6C,IAAI,CAACC,KAAK;QAA/CzB,eAAe,GAAAwB,WAAA,CAAfxB,eAAe;QAAE0B,eAAe,GAAAF,WAAA,CAAfE,eAAe;MAExC,IAAI,CAACC,MAAM,GAAG,CAAC;MAEf,oBACE/D,KAAA,CAAAgE,aAAA,CAAAhE,KAAA,CAAAiE,QAAA,QACG,CAACnB,UAAU,GAAGV,eAAe,GAAG8B,kBAAA,CAAI9B,eAAe,EAAE+B,OAAO,CAAC,CAAC,EAAE7B,GAAG,CAAC,UAAC8B,IAAI,EAAEtC,KAAK,EAAK;QACpF,IAAMH,KAAK,GAAG0B,IAAI,CAACe,IAAI,CAACvC,EAAE,CAAC;QAE3B,IAAI,CAACuC,IAAI,CAACC,OAAO,IAAI1C,KAAK,KAAKpB,gBAAgB,IAAIoB,KAAK,KAAK,IAAI,EAAE;UACjE,OAAO,IAAI;QACb;QAEA,IAAM2C,QAAQ,GAAGC,IAAI,CAACC,GAAG,CACvBrB,MAAI,CAACH,UAAU,CAACrB,KAAK,CAAC,GACtB4C,IAAI,CAACE,GAAG,CAACtB,MAAI,CAACH,UAAU,CAACG,MAAI,CAACH,UAAU,CAAC0B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEvB,MAAI,CAACH,UAAU,CAAC,CAAC,CAAC,CAC3E,CAAC;QACD,IAAM2B,MAAM,GAAGnE,WAAW,CAAC2C,MAAI,CAACF,aAAa,CAAC,CAAC2B,SAAS,CAAC,CAAC,GAAG,CAAC;QAC9D,IAAMC,KAAK,GAAGlD,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG4C,IAAI,CAACE,GAAG,CAACH,QAAQ,EAAE5D,IAAI,GAAG,CAAC,CAAC,GAAGA,IAAI;QACnE,IAAMoE,CAAC,GAAG,CAAC;QACX,IAAMC,CAAC,GAAGjD,KAAK,KAAK,CAAC,GAAG,CAAC,GAAGqB,MAAI,CAACY,MAAM;QACvC,IAAMiB,CAAC,GAAGL,MAAM,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;QAE7BxB,MAAI,CAACY,MAAM,GAAGZ,MAAI,CAACY,MAAM,GAAGc,KAAK,GAAGnE,IAAI;QAExC,oBACEV,KAAA,CAAAgE,aAAA,CAACvD,SAAS;UACRiB,GAAG,EAAE0C,IAAI,CAACvC,EAAG;UACboD,OAAO,EAAEb,IAAI,CAACvC,EAAG;UACjBC,KAAK,EAAEA,KAAM;UACbgD,CAAC,EAAEhC,UAAU,GAAGgC,CAAC,GAAGC,CAAE;UACtBA,CAAC,EAAEjC,UAAU,GAAGiC,CAAC,GAAGD,CAAE;UACtBD,KAAK,EAAE/B,UAAU,GAAG+B,KAAK,GAAGF,MAAO;UACnCA,MAAM,EAAE7B,UAAU,GAAG6B,MAAM,GAAGE,KAAM;UACpCvB,GAAG,EAAEA,GAAI;UACT4B,IAAI,EAAE,CAACd,IAAI,CAACC,OAAQ;UACpBd,QAAQ,EAAEA,QAAS;UACnByB,CAAC,EAAElD,KAAK,KAAK,CAAC,IAAIA,KAAK,KAAKM,eAAe,CAACnB,MAAM,GAAG,CAAC,GAAG+D,CAAC,GAAG,CAAE;UAC/DG,KAAK,EAAEf,IAAI,CAACe,KAAM;UAClB3B,QAAQ,EAAEA,QAAS;UACnB4B,SAAS,EAAEtC,UAAU,GAAG,YAAY,GAAG,UAAW;UAClDa,OAAO,EAAEA,OAAQ;UACjB0B,OAAO,EACLvB,eAAe,KAAKhC,KAAK,GAAG,IAAI,GAAGgC,eAAe,KAAK,CAAC,CAAC,GAAGwB,SAAS,GAAG;QACzE,CACF,CAAC;MAEN,CAAC,CAAC,eAEFtF,KAAA,CAAAgE,aAAA,CAAC3D,gBAAgB;QACf,mBAAW;QACXkD,QAAQ,EAAEA,QAAS;QACnB1B,EAAE,EAAEyB,GAAI;QACRyB,CAAC,EAAC,GAAG;QACLD,CAAC,EAAC,GAAG;QACLD,KAAK,EAAE/B,UAAU,GAAG,CAAC,GAAGY,SAAU;QAClCiB,MAAM,EAAE7B,UAAU,GAAGW,UAAU,GAAG;MAAE,CACrC,CACD,CAAC;IAEP;EAAC;IAAA/B,GAAA;IAAAC,KAAA,EAED,SAAA4D,aAAaA,CAAA,EAAoB;MAAA,IAAAC,IAAA,QAAAzC,OAAA;QAAA0C,MAAA;MAC/B,IAAAC,cAAA,GACE,IAAI,CAAC3C,OAAO;QADNM,IAAI,GAAAqC,cAAA,CAAJrC,IAAI;QAAEP,UAAU,GAAA4C,cAAA,CAAV5C,UAAU;QAAE6C,YAAY,GAAAD,cAAA,CAAZC,YAAY;QAAEC,eAAe,GAAAF,cAAA,CAAfE,eAAe;QAAEC,yBAAyB,GAAAH,cAAA,CAAzBG,yBAAyB;QAAEC,MAAM,GAAAJ,cAAA,CAANI,MAAM;QAAEC,WAAW,GAAAL,cAAA,CAAXK,WAAW;MAEvG,IAAQ3D,eAAe,GAAK,IAAI,CAACyB,KAAK,CAA9BzB,eAAe;MACvB,IAAM4D,uBAAuB,GA2CgBpG,GAAG;MAzChD,IAAI,CAACmG,WAAW,EAAE;QAChB,OAAO,IAAI;MACb;MAEA,oBACE/F,KAAA,CAAAgE,aAAA,CAAC/D,SAAS,CAACgG,OAAO;QAChBlB,CAAC,EAAEjC,UAAU,GAAG,EAAE,GAAGwC,SAAU;QAC/BR,CAAC,EAAEhC,UAAU,GAAGwC,SAAS,GAAG,EAAG;QAC/B5E,IAAI,EAAE,GAAI;QACVwF,aAAa,EAAE;MAAK,GAEnB,UAACC,YAAiB,EAAK;QAAA,IAAAC,KAAA;QACtB,IAAMnB,OAAO,GAAGnC,UAAU,GAAGqD,YAAY,CAACE,MAAM,GAAGF,YAAY,CAACG,MAAM;QACtE,IAAMC,iBAAiB,GAAGV,yBAAyB,IAAIJ,MAAI,CAACe,UAAU,CAACnD,IAAI,CAAC,KAAK,CAAC;QAElF,IAAIuC,eAAe,KAAK,QAAQ,EAAE;UAAA,IAAAa,KAAA;UAChC,IAAMrC,IAAI,GAAGhC,eAAe,CAACsE,IAAI,CAAC,UAACC,WAAW;YAAA,OAAKA,WAAW,CAAC9E,EAAE,KAAKoD,OAAO;UAAA,EAAC;UAC9E,IAAI,CAACb,IAAI,EAAE;YACT,OAAO,IAAI;UACb;UAEA,OAAO;YACLwC,QAAQ,GAAAH,KAAA,GAAEnH,OAAO,CAACwG,MAAM,CAAC,eACvB9F,KAAA,CAAAgE,aAAA,CAACgC,uBAAuB,EAAAS,KAAA,CAAAI,EAAA,4BAAAC,aAAA,KAAAC,YAAA;cAAA,gBAA4BR,iBAAiB,GAAG,GAAG,GAAG,GAAG;cAAA,kBAAkB,CAAC,MAAM;YAAC,GAAAf,IAAA,kBACzGxF,KAAA,CAAAgE,aAAA,CAAC/D,SAAS,CAACgG,OAAO,CAACe,GAAG;cAACC,EAAE,EAAE,CAAE;cAAC9B,KAAK,EAAEf,IAAI,CAACe;YAAM,GAC7Cf,IAAI,CAAC8C,KACe,CAAC,EACtBX,iBAAiB,iBAAIvG,KAAA,CAAAgE,aAAA,CAACnE,IAAI,EAAA4G,KAAA,CAAAI,EAAA;cAAA,aAAW,KAAK;cAAA,SAAO;YAAgB,IAAEpB,MAAI,CAAC0B,YAAY,CAAC9D,IAAI,EAAEe,IAAI,CAACvC,EAAE,CAAQ,CAAC,eAC7G7B,KAAA,CAAAgE,aAAA,CAACnE,IAAI,EAAA4G,KAAA,CAAAI,EAAA;cAAA,aAAW,KAAK;cAAA;YAAA,IAAOpB,MAAI,CAAC2B,qBAAqB,CAAC/D,IAAI,CAACe,IAAI,CAACvC,EAAE,CAAC,CAAQ,CACrD,CAAC;UAE9B,CAAC;QACH;QAEA,OAAO;UACL+E,QAAQ,GAAAR,KAAA,GAAE9G,OAAO,CAACwG,MAAM,CAAC,eACvB9F,KAAA,CAAAgE,aAAA,CAACrE,IAAI,EAAAyG,KAAA,CAAAS,EAAA;YAAA,aAAW;UAAQ,IACrBlB,YAAY,iBACX3F,KAAA,CAAAgE,aAAA,CAAC/D,SAAS,CAACgG,OAAO,CAACoB,KAAK,QAAC,oBAA2C,CACrE,eAEDrH,KAAA,CAAAgE,aAAA,CAACgC,uBAAuB,EAAAI,KAAA,CAAAS,EAAA,4BAAAC,aAAA,KAAAQ,aAAA;YAAA,gBAA4Bf,iBAAiB,GAAG,GAAG,GAAG,GAAG;YAAA,kBAAkB,CAAC,MAAM;UAAC,GAAAf,IAAA,KACxGpD,eAAe,CAACE,GAAG,CAAC,UAAC8B,IAAI,EAAK;YAC7B,IAAMmD,KAAK,GAAG;cAAEC,OAAO,EAAEpD,IAAI,CAACvC,EAAE,KAAKoD,OAAO,GAAG,CAAC,GAAG;YAAI,CAAC;YACxD,OACEb,IAAI,CAACC,OAAO,iBACVrE,KAAA,CAAAgE,aAAA,CAAChE,KAAK,CAACiE,QAAQ;cAACvC,GAAG,EAAE0C,IAAI,CAACvC;YAAG,gBAC3B7B,KAAA,CAAAgE,aAAA,CAAC/D,SAAS,CAACgG,OAAO,CAACe,GAAG;cAACC,EAAE,EAAE,CAAE;cAAC9B,KAAK,EAAEf,IAAI,CAACe,KAAM;cAACoC,KAAK,EAAEA;YAAM,GAC3DnD,IAAI,CAAC8C,KACe,CAAC,EACtBX,iBAAiB,iBAAIvG,KAAA,CAAAgE,aAAA,CAACnE,IAAI;cAAC4H,SAAS,EAAC,KAAK;cAACtC,KAAK,EAAC,gBAAgB;cAACoC,KAAK,EAAEA;YAAM,GAAE9B,MAAI,CAAC0B,YAAY,CAAC9D,IAAI,EAAEe,IAAI,CAACvC,EAAE,CAAQ,CAAC,eAC3H7B,KAAA,CAAAgE,aAAA,CAACnE,IAAI;cAAC4H,SAAS,EAAC,KAAK;cAACC,IAAI;cAACH,KAAK,EAAEA;YAAM,GAAE9B,MAAI,CAAC2B,qBAAqB,CAAC/D,IAAI,CAACe,IAAI,CAACvC,EAAE,CAAC,CAAQ,CAC5E,CACjB;UAEL,CAAC,CAAC,EAED4D,MAAI,CAACkC,sBAAsB,CAACtE,IAAI,CACV,CACrB,CAAC;QAEX,CAAC;MACH,CACiB,CAAC;IAExB;EAAC;IAAA3B,GAAA;IAAAC,KAAA,EAED,SAAmBgG,sBAAsBA,CAAuBC,QAAW,EAAE;MAC3E,IAAAC,cAAA,GAA0D,IAAI,CAAC9E,OAAO;QAA9D+E,kBAAkB,GAAAD,cAAA,CAAlBC,kBAAkB;QAAEjC,yBAAyB,GAAAgC,cAAA,CAAzBhC,yBAAyB;MAErD,IAAI,CAACiC,kBAAkB,EAAE;QACvB,OAAO,IAAI;MACb;MAEA,IAAMC,KAAK,GAAG,IAAI,CAACvB,UAAU,CAACoB,QAAQ,CAAC;MAEvC,oBACE5H,KAAA,CAAAgE,aAAA,CAAAhE,KAAA,CAAAiE,QAAA,qBACEjE,KAAA,CAAAgE,aAAA,CAACpE,GAAG;QAACoI,EAAE,EAAE,CAAE;QAACf,EAAE,EAAE;MAAE,GAAC,OAAU,CAAC,EAC5BpB,yBAAyB,IAAIkC,KAAK,KAAK,CAAC,iBAAI/H,KAAA,CAAAgE,aAAA,CAACnE,IAAI;QAACmI,EAAE,EAAE,CAAE;QAACP,SAAS,EAAC,KAAK;QAACtC,KAAK,EAAC;MAAgB,GAAE8C,MAAM,CAACC,KAAK,CAACH,KAAK,CAAC,GAAG3H,WAAW,GAAG,MAAa,CAAC,eACrJJ,KAAA,CAAAgE,aAAA,CAACnE,IAAI;QAACmI,EAAE,EAAE,CAAE;QAACP,SAAS,EAAC,KAAK;QAACC,IAAI;MAAA,GAAEO,MAAM,CAACC,KAAK,CAACH,KAAK,CAAC,GAAG3H,WAAW,GAAG2H,KAAY,CACnF,CAAC;IAEP;EAAC;IAAArG,GAAA;IAAAC,KAAA,EAED,SAAAwG,YAAYA,CAAA,EAAG;MAAA,IAAAC,oBAAA;MACb,QAAAA,oBAAA,GAAO,IAAI,CAACrF,OAAO,CAACsF,MAAM,cAAAD,oBAAA,cAAAA,oBAAA,GAAI,IAAI;IACpC;EAAC;IAAA1G,GAAA;IAAAC,KAAA,EAED,SAAS2G,MAAMA,CAAA,EAAG;MAAA,IAAAC,KAAA,QAAAxF,OAAA;QAAAyF,KAAA;MAChB,IAAMC,MAAM,GA8BM9I,IAAI;MA7BtB,IAAA+I,cAAA,GACE,IAAI,CAAC3F,OAAO;QADN+C,MAAM,GAAA4C,cAAA,CAAN5C,MAAM;QAAEpC,SAAS,GAAAgF,cAAA,CAAThF,SAAS;QAAED,UAAU,GAAAiF,cAAA,CAAVjF,UAAU;QAAEJ,IAAI,GAAAqF,cAAA,CAAJrF,IAAI;QAAEG,QAAQ,GAAAkF,cAAA,CAARlF,QAAQ;QAAEV,UAAU,GAAA4F,cAAA,CAAV5F,UAAU;QAAE6F,iBAAiB,GAAAD,cAAA,CAAjBC,iBAAiB;MAGpF,IAAMN,MAAM,GAAG,IAAI,CAACF,YAAY,CAAC,CAAC;MAElC,IAAIrF,UAAU,EAAE;QAAA,IAAA8F,KAAA;QACd,OAAAA,KAAA,GAAOtJ,OAAO,CAACwG,MAAM,CAAC,eACpB9F,KAAA,CAAAgE,aAAA,CAACyE,MAAM,EAAAG,KAAA,CAAA/B,EAAA,WAAAC,aAAA,KAAA+B,aAAA;UAAA,OAAoB,CAAC;UAAA,aAAY,QAAQ;UAAA,kBAAiB,CAAC,SAAS,EAAE,MAAM;QAAC,GAAAN,KAAA,kBAClFvI,KAAA,CAAAgE,aAAA,CAACrE,IAAI,EAAAiJ,KAAA,CAAA/B,EAAA;UAAA,aAAW;QAAQ,IACrBwB,MAAM,eACPrI,KAAA,CAAAgE,aAAA,CAAC9D,IAAI,EAAA0I,KAAA,CAAA/B,EAAA;UAAA,QACGxD,IAAI;UAAA,SACH,CAAC,IAAI,CAACyF,MAAM,EAAE,IAAI,CAACC,MAAM,CAAC;UAAA,SAC1BrF,SAAS;UAAA,UACRD,UAAU;UAAA,aACP,IAAI,CAACuF,SAAS;UAAA,YACfxF,QAAQ;UAAA,qBACCmF;QAAiB,IAEnC,IAAI,CAACpD,aAAa,CAAC,CAAC,EACpB,IAAI,CAACrC,WAAW,CAAC,CACd,CACF,CAAC,EACN,IAAI,CAAC+F,YAAY,CAAC,CACb,CAAC;MAEb;MAEA,OAAAT,KAAA,GAAOlJ,OAAO,CAACwG,MAAM,CAAC,eACpB9F,KAAA,CAAAgE,aAAA,CAACyE,MAAM,EAAAD,KAAA,CAAA3B,EAAA,WAAAC,aAAA,KAAAoC,aAAA;QAAA,OAAoB,CAAC;QAAA,kBAAkB,CAAC,SAAS,EAAE,MAAM;MAAC,GAAAX,KAAA,kBAC/DvI,KAAA,CAAAgE,aAAA,CAAC9D,IAAI,EAAAsI,KAAA,CAAA3B,EAAA;QAAA,QACGxD,IAAI;QAAA,SACH,CAAC,IAAI,CAACyF,MAAM,EAAE,IAAI,CAACC,MAAM,CAAC;QAAA,SAC1BrF,SAAS;QAAA,UACRD,UAAU;QAAA,aACP,IAAI,CAACuF,SAAS;QAAA,YACfxF,QAAQ;QAAA,qBACCmF;MAAiB,IAEnC,IAAI,CAACpD,aAAa,CAAC,CAAC,EACpB,IAAI,CAACrC,WAAW,CAAC,CACd,CAAC,eACPlD,KAAA,CAAAgE,aAAA,CAACrE,IAAI,EAAA6I,KAAA,CAAA3B,EAAA;QAAA,aAAW,QAAQ;QAAA,OAAM;MAAC,IAC5BwB,MAAM,iBACLrI,KAAA,CAAAgE,aAAA,CAAAhE,KAAA,CAAAiE,QAAA,qBACEjE,KAAA,CAAAgE,aAAA,CAACpE,GAAG,EAAA4I,KAAA,CAAA3B,EAAA,aAAEwB,MAAY,CAAC,eACnBrI,KAAA,CAAAgE,aAAA,CAACtE,OAAO,EAAA8I,KAAA,CAAA3B,EAAA,eAAE,CACV,CACH,EACA,IAAI,CAACoC,YAAY,CAAC,CACf,CACA,CAAC;IAEb;EAAC;IAAAvH,GAAA;IAAAC,KAAA,EAED,SAAUwH,kBAAkBA,CAAA,EAAW;MACrC,OAAO,IAAI,CAACpG,OAAO,CAACqG,WAAW,CAAC,gBAAgB,EAAE;QAAEC,SAAS,EAAE;MAAY,CAAC,CAAC;IAC/E;EAAC;IAAA3H,GAAA;IAAAmB,GAAA,EAED,SAAAA,IAAA,EAA2B;MACzB,IAAQQ,IAAI,GAAK,IAAI,CAACN,OAAO,CAArBM,IAAI;MACZ,IAAQjB,eAAe,GAAK,IAAI,CAACyB,KAAK,CAA9BzB,eAAe;MAEvB,IAAMkH,MAAM,GAAG,IAAIC,GAAG,CAAiB,CAAC;MAExCnH,eAAe,CAACoH,OAAO,CAAC,UAAC7C,WAAW,EAAK;QACvC,IAAMhF,KAAK,GAAG0B,IAAI,CAACsD,WAAW,CAAC9E,EAAE,CAAC;QAClC,IAAI8E,WAAW,CAACtC,OAAO,IAAI1C,KAAK,KAAKpB,gBAAgB,EAAE;UACrD+I,MAAM,CAACG,GAAG,CAAC9C,WAAW,CAAC9E,EAAE,EAAEF,KAAK,CAAC;QACnC;MACF,CAAC,CAAC;MAEF,OAAO2H,MAAM;IACf;EAAC;IAAA5H,GAAA;IAAAmB,GAAA,EAED,SAAAA,IAAA,EAA4B;MAC1B,IAAA6G,cAAA,GAA8C,IAAI,CAAC3G,OAAO;QAAlDW,SAAS,GAAAgG,cAAA,CAAThG,SAAS;QAAED,UAAU,GAAAiG,cAAA,CAAVjG,UAAU;QAAEX,UAAU,GAAA4G,cAAA,CAAV5G,UAAU;MAEzC,IAAM6G,KAAK,GAAG7G,UAAU,GAAG,CAACW,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAEC,SAAS,CAAC;MAE3D,OAAO5D,SAAS,CAAK,CAAC,CAAC,CAAC,EAAE6J,KAAK,CAAC;IAClC;EAAC;IAAAjI,GAAA;IAAAmB,GAAA,EAED,SAAAA,IAAA,EAAyB;MACvB,IAAA+G,cAAA,GAA8C,IAAI,CAAC7G,OAAO;QAAlDW,SAAS,GAAAkG,cAAA,CAATlG,SAAS;QAAED,UAAU,GAAAmG,cAAA,CAAVnG,UAAU;QAAEX,UAAU,GAAA8G,cAAA,CAAV9G,UAAU;MAEzC,IAAI2B,GAAG,GAAG,CAAC;MAEX,IAAI,CAACoF,YAAY,CAACL,OAAO,CAAC,UAAC7H,KAAK,EAAK;QACnC8C,GAAG,GAAGA,GAAG,GAAG9C,KAAK;MACnB,CAAC,CAAC;MAEF,OAAO5B,WAAW,CAAC,CAAC,CACjB4J,KAAK,CAAC7G,UAAU,GAAG,CAAC,CAAC,EAAEY,SAAS,CAAC,GAAG,CAACD,UAAU,EAAE,CAAC,CAAC,CAAC,CACpDiB,MAAM,CAAC,CAAC,CAAC,EAAED,GAAG,CAAC,CAAC;IACrB;EAAC;AAAA,EArUmCtE,aAAa;AAAAoB,eAAA,CAA7CZ,uBAAuB,iBAKN,eAAe;AAAAY,eAAA,CALhCZ,uBAAuB,kBAOA,UAACsB,KAA0B,EAAK;EAAA,IAAA6H,iBAAA;EACzD,IAAMhH,UAAU,IAAAgH,iBAAA,GAAG7H,KAAK,CAACa,UAAU,cAAAgH,iBAAA,cAAAA,iBAAA,GAAI,IAAI;EAC3C,OAAO;IACLhH,UAAU,EAAEA,UAAU;IACtBiH,SAAS,EAAE,KAAK;IAChBC,SAAS,EAAE,KAAK;IAChBjE,WAAW,EAAE,IAAI;IACjBkE,UAAU,EAAE,KAAK;IACjBC,OAAO,EAAE,CAAC;IACVC,OAAO,EAAE,CAAC;IACV5G,QAAQ,EAAE,GAAG;IACbG,SAAS,EAAE,CAACZ,UAAU,IAAI,CAACb,KAAK,CAACyB,SAAS,GAAG,EAAE,GAAGzB,KAAK,CAACyB,SAAS;IACjED,UAAU,EAAEX,UAAU,IAAI,CAACb,KAAK,CAACwB,UAAU,GAAG,EAAE,GAAGxB,KAAK,CAACwB,UAAU;IACnEoC,yBAAyB,EAAE;EAC7B,CAAC;AACH,CAAC;AAAAtE,eAAA,CAtBGZ,uBAAuB,aAwBV,CACfnB,mBAAmB,CAAC,CAAC,EACrBC,mBAAmB,CAAC,CAAC,EACrBF,WAAW,CAACe,iBAAiB,CAAC,CAC/B;AA4SH,OAAO,IAAM8J,cAAkC,GAAGhL,eAAe,CAACuB,uBAAuB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CigaretteChart.type.js","names":[],"sources":["../../../../src/component/Chart/CigaretteChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\nimport type { interpolateValue } from '../../utils';\n\ntype DataKey = string;\n\nexport type CigaretteChartData = Record<DataKey, number | typeof interpolateValue>;\n\nexport type CigaretteChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<CigaretteChartData>,\n 'xScale' | 'yScale'\n> & {\n /** Title text displayed in the tooltip */\n tooltipTitle?: string;\n /** Controls whether the tooltip shows all data or single item data */\n tooltipViewType?: 'all' | 'single';\n /** Header content for the chart */\n header?: React.ReactNode;\n /** Animation duration in milliseconds */\n duration?: number;\n /** Click handler that receives the data key and event */\n onClick?: (key: DataKey, event: React.SyntheticEvent) => void;\n};\n\nexport type CigaretteChartType = Intergalactic.Component<'div', CigaretteChartProps>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"CigaretteChart.type.js","names":[],"sources":["../../../../src/component/Chart/CigaretteChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\nimport type { interpolateValue } from '../../utils';\n\ntype DataKey = string;\n\nexport type CigaretteChartData = Record<DataKey, number | typeof interpolateValue>;\n\nexport type CigaretteChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<CigaretteChartData>,\n 'xScale' | 'yScale'\n> & {\n /** Title text displayed in the tooltip */\n tooltipTitle?: string;\n /** Controls whether the tooltip shows all data or single item data */\n tooltipViewType?: 'all' | 'single';\n /** Show percent value in tooltip */\n showPercentValueInTooltip?: boolean;\n /** Header content for the chart */\n header?: React.ReactNode;\n /** Animation duration in milliseconds */\n duration?: number;\n /** Click handler that receives the data key and event */\n onClick?: (key: DataKey, event: React.SyntheticEvent) => void;\n};\n\nexport type CigaretteChartType = Intergalactic.Component<'div', CigaretteChartProps>;\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CompactHorizontalBarChart.type.js","names":[],"sources":["../../../../src/component/Chart/CompactHorizontalBarChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type { Flex } from '@semcore/flex-box';\nimport type { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\ntype BarKey = string;\n\nexport type CompactHorizontalBarChartData = Array<Record<BarKey, number | string>>;\n\nexport type CompactHorizontalBarChartProps = BaseChartProps<CompactHorizontalBarChartData> & {\n /** Field name from data array for the x-axis values */\n x: string;\n /** Field name from data array for the y-axis values */\n y: string;\n /** Custom x-axis scale */\n xScale?: ScaleBand<any> | ScaleTime<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n\n /** Handle click by `HoverRect`. `index` is an index of the data array. */\n onClickHoverRect?: (index: number, e: React.SyntheticEvent) => void;\n\n /** Handle click by Bar. */\n onClickBar?: (barItem: number, e: React.SyntheticEvent) => void;\n};\n\nexport type CompactHorizontalBarChartType = Intergalactic.Component<\n typeof Flex,\n CompactHorizontalBarChartProps\n>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"CompactHorizontalBarChart.type.js","names":[],"sources":["../../../../src/component/Chart/CompactHorizontalBarChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type { Flex } from '@semcore/flex-box';\nimport type { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\ntype BarKey = string;\n\nexport type CompactHorizontalBarChartData = Array<Record<BarKey, number | string>>;\n\nexport type CompactHorizontalBarChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<CompactHorizontalBarChartData>,\n 'showTotalInTooltip'\n> & {\n /** Field name from data array for the x-axis values */\n x: string;\n /** Field name from data array for the y-axis values */\n y: string;\n /** Custom x-axis scale */\n xScale?: ScaleBand<any> | ScaleTime<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n\n /** Handle click by `HoverRect`. `index` is an index of the data array. */\n onClickHoverRect?: (index: number, e: React.SyntheticEvent) => void;\n\n /** Handle click by Bar. */\n onClickBar?: (barItem: number, e: React.SyntheticEvent) => void;\n};\n\nexport type CompactHorizontalBarChartType = Intergalactic.Component<\n typeof Flex,\n CompactHorizontalBarChartProps\n>;\n"],"mappings":"","ignoreList":[]}
@@ -77,13 +77,8 @@ var DonutChartComponent = /*#__PURE__*/function (_AbstractChart) {
77
77
  key: "renderTooltip",
78
78
  value: function renderTooltip() {
79
79
  var _this = this;
80
- var _this$asProps2 = this.asProps,
81
- data = _this$asProps2.data,
82
- showTooltip = _this$asProps2.showTooltip;
80
+ var data = this.asProps.data;
83
81
  var dataDefinitions = this.state.dataDefinitions;
84
- if (!showTooltip) {
85
- return null;
86
- }
87
82
  return /*#__PURE__*/React.createElement(Donut.Tooltip, null, function (_ref) {
88
83
  var dataKey = _ref.dataKey;
89
84
  var title = dataDefinitions.find(function (item) {
@@ -1 +1 @@
1
- {"version":3,"file":"DonutChart.js","names":["createComponent","i18nEnhance","Flex","Text","scaleLinear","React","Donut","AbstractChart","localizedMessages","DonutChartComponent","_AbstractChart","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","get","xScale","asProps","yScale","value","defaultLegendProps","legendType","renderChart","_this$asProps","innerRadius","halfsize","innerLabel","onClickPie","_this$state","state","dataDefinitions","highlightedLine","checkedLegendItems","filter","item","checked","createElement","onClick","length","EmptyData","map","index","Pie","id","dataKey","name","label","color","active","Label","renderTooltip","_this","_this$asProps2","data","showTooltip","Tooltip","_ref","title","find","children","Fragment","Title","justifyContent","bold","tooltipValueFormatter","getLegendAriaLabel","getI18nText","chartType","_defineProperty","direction","alignItems","marginX","marginY","DonutChart"],"sources":["../../../../src/component/Chart/DonutChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { Flex } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport { scaleLinear } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Donut } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport type { DonutChartData, DonutChartProps, DonutChartType } from './DonutChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass DonutChartComponent extends AbstractChart<\n DonutChartData,\n DonutChartProps,\n typeof DonutChartComponent.enhance\n> {\n static displayName = 'Chart.Donut';\n static defaultProps: Partial<DonutChartProps> = {\n direction: 'row-reverse',\n alignItems: 'flex-start',\n innerRadius: 100,\n marginX: 0,\n marginY: 0,\n };\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const { xScale } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n return scaleLinear();\n }\n\n get yScale() {\n const { yScale } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n return scaleLinear();\n }\n\n defaultLegendProps() {\n return {\n legendType: 'Table' as const,\n };\n }\n\n renderChart() {\n const { innerRadius, halfsize, innerLabel, onClickPie } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n const checkedLegendItems = dataDefinitions.filter((item) => item.checked);\n\n return (\n <Donut onClick={onClickPie} halfsize={halfsize} innerRadius={innerRadius}>\n {checkedLegendItems.length === 0 && <Donut.EmptyData />}\n {checkedLegendItems.map((item, index) => {\n return (\n <Donut.Pie\n key={item.id}\n dataKey={item.id}\n name={item.label}\n color={item.color}\n active={highlightedLine === index}\n />\n );\n })}\n {innerLabel && <Donut.Label>{innerLabel}</Donut.Label>}\n </Donut>\n );\n }\n\n renderTooltip() {\n const { data, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <Donut.Tooltip>\n {({ dataKey }: any) => {\n const title = dataDefinitions.find((item) => item.id === dataKey);\n\n return {\n children: (\n <>\n <Donut.Tooltip.Title>{title?.label || dataKey}</Donut.Tooltip.Title>\n <Flex justifyContent='space-between'>\n <Text bold>{this.tooltipValueFormatter(data[dataKey])}</Text>\n </Flex>\n </>\n ),\n };\n }}\n </Donut.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Donut' });\n }\n}\n\nexport const DonutChart: DonutChartType = createComponent(DonutChartComponent);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DonutChart.js","names":["createComponent","i18nEnhance","Flex","Text","scaleLinear","React","Donut","AbstractChart","localizedMessages","DonutChartComponent","_AbstractChart","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","get","xScale","asProps","yScale","value","defaultLegendProps","legendType","renderChart","_this$asProps","innerRadius","halfsize","innerLabel","onClickPie","_this$state","state","dataDefinitions","highlightedLine","checkedLegendItems","filter","item","checked","createElement","onClick","length","EmptyData","map","index","Pie","id","dataKey","name","label","color","active","Label","renderTooltip","_this","data","Tooltip","_ref","title","find","children","Fragment","Title","justifyContent","bold","tooltipValueFormatter","getLegendAriaLabel","getI18nText","chartType","_defineProperty","direction","alignItems","marginX","marginY","DonutChart"],"sources":["../../../../src/component/Chart/DonutChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { Flex } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport { scaleLinear } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Donut } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport type { DonutChartData, DonutChartProps, DonutChartType } from './DonutChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass DonutChartComponent extends AbstractChart<\n DonutChartData,\n DonutChartProps,\n typeof DonutChartComponent.enhance\n> {\n static displayName = 'Chart.Donut';\n static defaultProps: Partial<DonutChartProps> = {\n direction: 'row-reverse',\n alignItems: 'flex-start',\n innerRadius: 100,\n marginX: 0,\n marginY: 0,\n };\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const { xScale } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n return scaleLinear();\n }\n\n get yScale() {\n const { yScale } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n return scaleLinear();\n }\n\n defaultLegendProps() {\n return {\n legendType: 'Table' as const,\n };\n }\n\n renderChart() {\n const { innerRadius, halfsize, innerLabel, onClickPie } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n const checkedLegendItems = dataDefinitions.filter((item) => item.checked);\n\n return (\n <Donut onClick={onClickPie} halfsize={halfsize} innerRadius={innerRadius}>\n {checkedLegendItems.length === 0 && <Donut.EmptyData />}\n {checkedLegendItems.map((item, index) => {\n return (\n <Donut.Pie\n key={item.id}\n dataKey={item.id}\n name={item.label}\n color={item.color}\n active={highlightedLine === index}\n />\n );\n })}\n {innerLabel && <Donut.Label>{innerLabel}</Donut.Label>}\n </Donut>\n );\n }\n\n renderTooltip() {\n const { data } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return (\n <Donut.Tooltip>\n {({ dataKey }: any) => {\n const title = dataDefinitions.find((item) => item.id === dataKey);\n\n return {\n children: (\n <>\n <Donut.Tooltip.Title>{title?.label || dataKey}</Donut.Tooltip.Title>\n <Flex justifyContent='space-between'>\n <Text bold>{this.tooltipValueFormatter(data[dataKey])}</Text>\n </Flex>\n </>\n ),\n };\n }}\n </Donut.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Donut' });\n }\n}\n\nexport const DonutChart: DonutChartType = createComponent(DonutChartComponent);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DonutChart.type.js","names":[],"sources":["../../../../src/component/Chart/DonutChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type { Flex } from '@semcore/flex-box';\nimport type { ScaleLinear } from 'd3-scale';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\nexport type DataKey = string;\n\nexport type DonutChartData = Record<DataKey, number>;\n\nexport type DonutChartProps = BaseChartProps<DonutChartData> & {\n /** Internal */\n groupKey?: never;\n /** Custom x-axis scale */\n xScale?: ScaleLinear<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n /** Controls the inner radius of the donut */\n innerRadius?: number;\n /** Creates a semi-donut chart when enabled */\n halfsize?: boolean;\n /** Content displayed in the center of the donut */\n innerLabel?: React.ReactNode;\n /** Callback triggered when a user clicks on a pie */\n onClickPie?: (key: DataKey, e: React.SyntheticEvent) => void;\n};\n\nexport type DonutChartType = Intergalactic.Component<typeof Flex, DonutChartProps>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"DonutChart.type.js","names":[],"sources":["../../../../src/component/Chart/DonutChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type { Flex } from '@semcore/flex-box';\nimport type { ScaleLinear } from 'd3-scale';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\nexport type DataKey = string;\n\nexport type DonutChartData = Record<DataKey, number>;\n\nexport type DonutChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<DonutChartData>,\n 'showTotalInTooltip'\n> & {\n /** Internal */\n groupKey?: never;\n /** Custom x-axis scale */\n xScale?: ScaleLinear<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n /** Controls the inner radius of the donut */\n innerRadius?: number;\n /** Creates a semi-donut chart when enabled */\n halfsize?: boolean;\n /** Content displayed in the center of the donut */\n innerLabel?: React.ReactNode;\n /** Callback triggered when a user clicks on a pie */\n onClickPie?: (key: DataKey, e: React.SyntheticEvent) => void;\n};\n\nexport type DonutChartType = Intergalactic.Component<typeof Flex, DonutChartProps>;\n"],"mappings":"","ignoreList":[]}
@@ -8,8 +8,6 @@ import _inherits from "@babel/runtime/helpers/inherits";
8
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
9
  import { createComponent } from '@semcore/core';
10
10
  import i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';
11
- import { Box, Flex } from '@semcore/flex-box';
12
- import { Text } from '@semcore/typography';
13
11
  import { scaleBand, scaleLinear, scaleTime } from 'd3-scale';
14
12
  import React from 'react';
15
13
 
@@ -134,43 +132,21 @@ var HistogramChartComponent = /*#__PURE__*/function (_AbstractChart) {
134
132
  var _this$asProps4 = this.asProps,
135
133
  data = _this$asProps4.data,
136
134
  groupKey = _this$asProps4.groupKey,
137
- showTotalInTooltip = _this$asProps4.showTotalInTooltip,
138
- showTooltip = _this$asProps4.showTooltip,
139
135
  invertAxis = _this$asProps4.invertAxis;
140
- var dataDefinitions = this.state.dataDefinitions;
141
- if (!showTooltip) {
142
- return null;
143
- }
144
136
  return /*#__PURE__*/React.createElement(HoverRect.Tooltip, {
145
137
  x: invertAxis ? undefined : groupKey,
146
138
  y: invertAxis ? groupKey : undefined,
147
139
  wMin: 100
148
140
  }, function (_ref) {
149
- var _dataItem$groupKey;
150
141
  var xIndex = _ref.xIndex,
151
142
  yIndex = _ref.yIndex;
152
143
  var index = invertAxis ? yIndex : xIndex;
153
144
  var dataItem = data[index];
154
- var total = _this.totalValue(dataItem);
155
145
  return {
156
- children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HoverRect.Tooltip.Title, null, (_dataItem$groupKey = dataItem[groupKey]) === null || _dataItem$groupKey === void 0 ? void 0 : _dataItem$groupKey.toString()), dataDefinitions.map(function (item) {
157
- return item.checked && /*#__PURE__*/React.createElement(Flex, {
158
- justifyContent: "space-between",
159
- key: item.id
160
- }, /*#__PURE__*/React.createElement(HoverRect.Tooltip.Dot, {
161
- mr: 4,
162
- color: item.color
163
- }, item.label), /*#__PURE__*/React.createElement(Text, {
164
- bold: true
165
- }, _this.tooltipValueFormatter(dataItem[item.id])));
166
- }), showTotalInTooltip === true && /*#__PURE__*/React.createElement(Flex, {
167
- mt: 2,
168
- justifyContent: "space-between"
169
- }, /*#__PURE__*/React.createElement(Box, {
170
- mr: 4
171
- }, "Total"), /*#__PURE__*/React.createElement(Text, {
172
- bold: true
173
- }, total)))
146
+ children: _this.getTooltipChildren({
147
+ Tooltip: HoverRect.Tooltip,
148
+ dataItem: dataItem
149
+ })
174
150
  };
175
151
  });
176
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HistogramChart.js","names":["createComponent","i18nEnhance","Box","Flex","Text","scaleBand","scaleLinear","scaleTime","React","Bar","minMax","HoverRect","StackBar","AbstractChart","localizedMessages","HistogramChartComponent","_AbstractChart","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","get","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","_this$asProps$marginX","marginX","plotWidth","plotHeight","invertAxis","data","groupKey","testItem","range","plotPadding","Date","Number","isNaN","getMilliseconds","domain","map","item","paddingInner","paddingOuter","_this$asProps2","yScale","_this$asProps2$margin","_this$asProps2$margin2","max","isStack","reduce","barSum","Object","values","sum","val","flatValues","_superPropGet","Math","apply","_toConsumableArray","dataDefinitions","state","length","value","renderChart","_this$asProps3","_this$state","highlightedLine","createElement","x","undefined","y","index","BarComponent","HorizontalBar","commonBarComponentProps","color","transparent","id","checked","_extends","renderTooltip","_this","_this$asProps4","showTotalInTooltip","showTooltip","Tooltip","wMin","_ref","_dataItem$groupKey","xIndex","yIndex","dataItem","total","totalValue","children","Fragment","Title","toString","justifyContent","Dot","mr","label","bold","tooltipValueFormatter","mt","getLegendAriaLabel","getI18nText","chartType","_defineProperty","HistogramChart"],"sources":["../../../../src/component/Chart/HistogramChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport { scaleBand, scaleLinear, type ScaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Bar, minMax, HoverRect, StackBar, type BarProps } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport type { HistogramChartData, HistogramChartProps, HistogramChartType } from './HistogramChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass HistogramChartComponent extends AbstractChart<\n HistogramChartData,\n HistogramChartProps,\n typeof HistogramChartComponent.enhance\n> {\n static displayName = 'Chart.Histogram';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const {\n xScale,\n marginY = 30,\n marginX = 30,\n plotWidth,\n plotHeight,\n invertAxis,\n data,\n groupKey,\n } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = invertAxis\n ? [plotHeight - marginX, this.plotPadding]\n : [marginY, plotWidth - this.plotPadding];\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n const domain = minMax(data, groupKey);\n\n return scaleTime(domain, range);\n }\n\n const domain = data.map((item) => item[groupKey]);\n\n return scaleBand(domain, range).paddingInner(0.05).paddingOuter(0.2);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const {\n yScale,\n marginY = 30,\n marginX = 30,\n plotHeight,\n plotWidth,\n invertAxis,\n data,\n } = this.asProps;\n\n let max: number;\n\n if (this.isStack) {\n max = data.reduce((max, item) => {\n const barSum = Object.values(item).reduce<number>((sum, val) => {\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum + (val as number);\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n } else {\n const flatValues = super.flatValues;\n\n max = Math.max(...flatValues);\n }\n\n return (\n yScale ??\n scaleLinear()\n .range(\n invertAxis\n ? [marginY, plotWidth - this.plotPadding]\n : [plotHeight - marginX, this.plotPadding],\n )\n .domain([0, max])\n );\n }\n\n get isStack(): boolean {\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.length > 1;\n }\n\n renderChart() {\n const { groupKey, invertAxis } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (this.isStack) {\n return (\n <StackBar x={invertAxis ? undefined : groupKey} y={invertAxis ? groupKey : undefined}>\n {dataDefinitions.map((item, index) => {\n const BarComponent = invertAxis ? StackBar.HorizontalBar : StackBar.Bar;\n\n const commonBarComponentProps: BarProps = {\n color: item.color,\n transparent: highlightedLine !== -1 && highlightedLine !== index,\n };\n\n if (invertAxis) {\n commonBarComponentProps.x = item.id;\n } else {\n commonBarComponentProps.y = item.id;\n }\n\n return item.checked && <BarComponent key={item.id} {...commonBarComponentProps} />;\n })}\n </StackBar>\n );\n }\n\n const item = dataDefinitions[0];\n\n return (\n item.checked && (\n <Bar\n x={invertAxis ? item.id : groupKey}\n y={invertAxis ? groupKey : item.id}\n key={item.id}\n color={item.color}\n />\n )\n );\n }\n\n renderTooltip(): React.ReactNode {\n const { data, groupKey, showTotalInTooltip, showTooltip, invertAxis } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? undefined : groupKey}\n y={invertAxis ? groupKey : undefined}\n wMin={100}\n >\n {({ xIndex, yIndex }: any) => {\n const index = invertAxis ? yIndex : xIndex;\n const dataItem = data[index];\n const total = this.totalValue(dataItem);\n\n return {\n children: (\n <>\n <HoverRect.Tooltip.Title>{dataItem[groupKey]?.toString()}</HoverRect.Tooltip.Title>\n\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Flex justifyContent='space-between' key={item.id}>\n <HoverRect.Tooltip.Dot mr={4} color={item.color}>\n {item.label}\n </HoverRect.Tooltip.Dot>\n <Text bold>{this.tooltipValueFormatter(dataItem[item.id])}</Text>\n </Flex>\n )\n );\n })}\n\n {showTotalInTooltip === true && (\n <Flex mt={2} justifyContent='space-between'>\n <Box mr={4}>Total</Box>\n <Text bold>{total}</Text>\n </Flex>\n )}\n </>\n ),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Histogram' });\n }\n}\n\nexport const HistogramChart: HistogramChartType = createComponent(HistogramChartComponent);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HistogramChart.js","names":["createComponent","i18nEnhance","scaleBand","scaleLinear","scaleTime","React","Bar","minMax","HoverRect","StackBar","AbstractChart","localizedMessages","HistogramChartComponent","_AbstractChart","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","get","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","_this$asProps$marginX","marginX","plotWidth","plotHeight","invertAxis","data","groupKey","testItem","range","plotPadding","Date","Number","isNaN","getMilliseconds","domain","map","item","paddingInner","paddingOuter","_this$asProps2","yScale","_this$asProps2$margin","_this$asProps2$margin2","max","isStack","reduce","barSum","Object","values","sum","val","flatValues","_superPropGet","Math","apply","_toConsumableArray","dataDefinitions","state","length","value","renderChart","_this$asProps3","_this$state","highlightedLine","createElement","x","undefined","y","index","BarComponent","HorizontalBar","commonBarComponentProps","color","transparent","id","checked","_extends","renderTooltip","_this","_this$asProps4","Tooltip","wMin","_ref","xIndex","yIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","_defineProperty","HistogramChart"],"sources":["../../../../src/component/Chart/HistogramChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { scaleBand, scaleLinear, type ScaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Bar, minMax, HoverRect, StackBar, type BarProps } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport type { HistogramChartData, HistogramChartProps, HistogramChartType } from './HistogramChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass HistogramChartComponent extends AbstractChart<\n HistogramChartData,\n HistogramChartProps,\n typeof HistogramChartComponent.enhance\n> {\n static displayName = 'Chart.Histogram';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const {\n xScale,\n marginY = 30,\n marginX = 30,\n plotWidth,\n plotHeight,\n invertAxis,\n data,\n groupKey,\n } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = invertAxis\n ? [plotHeight - marginX, this.plotPadding]\n : [marginY, plotWidth - this.plotPadding];\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n const domain = minMax(data, groupKey);\n\n return scaleTime(domain, range);\n }\n\n const domain = data.map((item) => item[groupKey]);\n\n return scaleBand(domain, range).paddingInner(0.05).paddingOuter(0.2);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const {\n yScale,\n marginY = 30,\n marginX = 30,\n plotHeight,\n plotWidth,\n invertAxis,\n data,\n } = this.asProps;\n\n let max: number;\n\n if (this.isStack) {\n max = data.reduce((max, item) => {\n const barSum = Object.values(item).reduce<number>((sum, val) => {\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum + (val as number);\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n } else {\n const flatValues = super.flatValues;\n\n max = Math.max(...flatValues);\n }\n\n return (\n yScale ??\n scaleLinear()\n .range(\n invertAxis\n ? [marginY, plotWidth - this.plotPadding]\n : [plotHeight - marginX, this.plotPadding],\n )\n .domain([0, max])\n );\n }\n\n get isStack(): boolean {\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.length > 1;\n }\n\n renderChart() {\n const { groupKey, invertAxis } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (this.isStack) {\n return (\n <StackBar x={invertAxis ? undefined : groupKey} y={invertAxis ? groupKey : undefined}>\n {dataDefinitions.map((item, index) => {\n const BarComponent = invertAxis ? StackBar.HorizontalBar : StackBar.Bar;\n\n const commonBarComponentProps: BarProps = {\n color: item.color,\n transparent: highlightedLine !== -1 && highlightedLine !== index,\n };\n\n if (invertAxis) {\n commonBarComponentProps.x = item.id;\n } else {\n commonBarComponentProps.y = item.id;\n }\n\n return item.checked && <BarComponent key={item.id} {...commonBarComponentProps} />;\n })}\n </StackBar>\n );\n }\n\n const item = dataDefinitions[0];\n\n return (\n item.checked && (\n <Bar\n x={invertAxis ? item.id : groupKey}\n y={invertAxis ? groupKey : item.id}\n key={item.id}\n color={item.color}\n />\n )\n );\n }\n\n renderTooltip(): React.ReactNode {\n const { data, groupKey, invertAxis } = this.asProps;\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? undefined : groupKey}\n y={invertAxis ? groupKey : undefined}\n wMin={100}\n >\n {({ xIndex, yIndex }: any) => {\n const index = invertAxis ? yIndex : xIndex;\n const dataItem = data[index];\n\n return {\n children: this.getTooltipChildren({\n Tooltip: HoverRect.Tooltip,\n dataItem,\n }),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Histogram' });\n }\n}\n\nexport const HistogramChart: HistogramChartType = createComponent(HistogramChartComponent);\n"],"mappings":"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","ignoreList":[]}