@semcore/d3-chart 3.54.0 → 3.55.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 (152) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/lib/cjs/Area.js +11 -11
  3. package/lib/cjs/Axis.js +14 -14
  4. package/lib/cjs/Bar.js +16 -16
  5. package/lib/cjs/Bubble.js +12 -12
  6. package/lib/cjs/CompactHorizontalBar.js +16 -16
  7. package/lib/cjs/Donut.js +9 -9
  8. package/lib/cjs/Dots.js +8 -8
  9. package/lib/cjs/HorizontalBar.js +16 -16
  10. package/lib/cjs/Hover.js +3 -3
  11. package/lib/cjs/Line.js +9 -9
  12. package/lib/cjs/Plot.js +3 -3
  13. package/lib/cjs/Radar.js +19 -19
  14. package/lib/cjs/RadialTree.js +12 -12
  15. package/lib/cjs/Reference.js +12 -12
  16. package/lib/cjs/ScatterPlot.js +9 -9
  17. package/lib/cjs/Tooltip.js +9 -9
  18. package/lib/cjs/Venn.js +9 -9
  19. package/lib/cjs/a11y/PlotA11yModule.js +2 -2
  20. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  21. package/lib/cjs/a11y/PlotA11yView.js +21 -18
  22. package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
  23. package/lib/cjs/component/Chart/AbstractChart.js +5 -2
  24. package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
  25. package/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -1
  26. package/lib/cjs/component/Chart/AreaChart.js +10 -0
  27. package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
  28. package/lib/cjs/component/Chart/BarChart.js +10 -0
  29. package/lib/cjs/component/Chart/BarChart.js.map +1 -1
  30. package/lib/cjs/component/Chart/BubbleChart.js +10 -0
  31. package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
  32. package/lib/cjs/component/Chart/CigaretteChart.js +10 -1
  33. package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
  34. package/lib/cjs/component/Chart/CompactHorizontalBarChart.js +10 -0
  35. package/lib/cjs/component/Chart/CompactHorizontalBarChart.js.map +1 -1
  36. package/lib/cjs/component/Chart/DonutChart.js +10 -0
  37. package/lib/cjs/component/Chart/DonutChart.js.map +1 -1
  38. package/lib/cjs/component/Chart/HistogramChart.js +10 -0
  39. package/lib/cjs/component/Chart/HistogramChart.js.map +1 -1
  40. package/lib/cjs/component/Chart/LineChart.js +10 -0
  41. package/lib/cjs/component/Chart/LineChart.js.map +1 -1
  42. package/lib/cjs/component/Chart/RadarChart.js +11 -0
  43. package/lib/cjs/component/Chart/RadarChart.js.map +1 -1
  44. package/lib/cjs/component/Chart/ScatterPlotChart.js +10 -0
  45. package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
  46. package/lib/cjs/component/Chart/VennChart.js +11 -3
  47. package/lib/cjs/component/Chart/VennChart.js.map +1 -1
  48. package/lib/cjs/component/ChartLegend/BaseLegend.js +4 -10
  49. package/lib/cjs/component/ChartLegend/BaseLegend.js.map +1 -1
  50. package/lib/cjs/component/ChartLegend/BaseLegend.type.js.map +1 -1
  51. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +7 -5
  52. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
  53. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +35 -30
  54. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  55. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  56. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +8 -7
  57. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
  58. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.type.js.map +1 -1
  59. package/lib/cjs/translations/de.json +2 -1
  60. package/lib/cjs/translations/en.json +2 -1
  61. package/lib/cjs/translations/es.json +2 -1
  62. package/lib/cjs/translations/fr.json +2 -1
  63. package/lib/cjs/translations/it.json +2 -1
  64. package/lib/cjs/translations/ja.json +2 -1
  65. package/lib/cjs/translations/ko.json +2 -1
  66. package/lib/cjs/translations/nl.json +2 -1
  67. package/lib/cjs/translations/pl.json +2 -1
  68. package/lib/cjs/translations/pt.json +2 -1
  69. package/lib/cjs/translations/sv.json +2 -1
  70. package/lib/cjs/translations/tr.json +2 -1
  71. package/lib/cjs/translations/vi.json +2 -1
  72. package/lib/cjs/translations/zh.json +2 -1
  73. package/lib/es6/Area.js +11 -11
  74. package/lib/es6/Axis.js +14 -14
  75. package/lib/es6/Bar.js +16 -16
  76. package/lib/es6/Bubble.js +12 -12
  77. package/lib/es6/CompactHorizontalBar.js +16 -16
  78. package/lib/es6/Donut.js +9 -9
  79. package/lib/es6/Dots.js +8 -8
  80. package/lib/es6/HorizontalBar.js +16 -16
  81. package/lib/es6/Hover.js +3 -3
  82. package/lib/es6/Line.js +9 -9
  83. package/lib/es6/Plot.js +3 -3
  84. package/lib/es6/Radar.js +19 -19
  85. package/lib/es6/RadialTree.js +12 -12
  86. package/lib/es6/Reference.js +12 -12
  87. package/lib/es6/ScatterPlot.js +9 -9
  88. package/lib/es6/Tooltip.js +9 -9
  89. package/lib/es6/Venn.js +9 -9
  90. package/lib/es6/a11y/PlotA11yModule.js +2 -2
  91. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  92. package/lib/es6/a11y/PlotA11yView.js +21 -18
  93. package/lib/es6/a11y/PlotA11yView.js.map +1 -1
  94. package/lib/es6/component/Chart/AbstractChart.js +5 -2
  95. package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
  96. package/lib/es6/component/Chart/AbstractChart.type.js.map +1 -1
  97. package/lib/es6/component/Chart/AreaChart.js +10 -0
  98. package/lib/es6/component/Chart/AreaChart.js.map +1 -1
  99. package/lib/es6/component/Chart/BarChart.js +10 -0
  100. package/lib/es6/component/Chart/BarChart.js.map +1 -1
  101. package/lib/es6/component/Chart/BubbleChart.js +10 -0
  102. package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
  103. package/lib/es6/component/Chart/CigaretteChart.js +10 -1
  104. package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
  105. package/lib/es6/component/Chart/CompactHorizontalBarChart.js +10 -0
  106. package/lib/es6/component/Chart/CompactHorizontalBarChart.js.map +1 -1
  107. package/lib/es6/component/Chart/DonutChart.js +10 -0
  108. package/lib/es6/component/Chart/DonutChart.js.map +1 -1
  109. package/lib/es6/component/Chart/HistogramChart.js +10 -0
  110. package/lib/es6/component/Chart/HistogramChart.js.map +1 -1
  111. package/lib/es6/component/Chart/LineChart.js +10 -0
  112. package/lib/es6/component/Chart/LineChart.js.map +1 -1
  113. package/lib/es6/component/Chart/RadarChart.js +11 -0
  114. package/lib/es6/component/Chart/RadarChart.js.map +1 -1
  115. package/lib/es6/component/Chart/ScatterPlotChart.js +10 -0
  116. package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
  117. package/lib/es6/component/Chart/VennChart.js +11 -3
  118. package/lib/es6/component/Chart/VennChart.js.map +1 -1
  119. package/lib/es6/component/ChartLegend/BaseLegend.js +4 -10
  120. package/lib/es6/component/ChartLegend/BaseLegend.js.map +1 -1
  121. package/lib/es6/component/ChartLegend/BaseLegend.type.js.map +1 -1
  122. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +7 -5
  123. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
  124. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +35 -30
  125. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  126. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
  127. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +8 -7
  128. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
  129. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.type.js.map +1 -1
  130. package/lib/es6/translations/de.json +2 -1
  131. package/lib/es6/translations/en.json +2 -1
  132. package/lib/es6/translations/es.json +2 -1
  133. package/lib/es6/translations/fr.json +2 -1
  134. package/lib/es6/translations/it.json +2 -1
  135. package/lib/es6/translations/ja.json +2 -1
  136. package/lib/es6/translations/ko.json +2 -1
  137. package/lib/es6/translations/nl.json +2 -1
  138. package/lib/es6/translations/pl.json +2 -1
  139. package/lib/es6/translations/pt.json +2 -1
  140. package/lib/es6/translations/sv.json +2 -1
  141. package/lib/es6/translations/tr.json +2 -1
  142. package/lib/es6/translations/vi.json +2 -1
  143. package/lib/es6/translations/zh.json +2 -1
  144. package/lib/types/a11y/PlotA11yModule.d.ts +1 -1
  145. package/lib/types/component/Chart/AbstractChart.d.ts +2 -1
  146. package/lib/types/component/Chart/AbstractChart.type.d.ts +11 -1
  147. package/lib/types/component/ChartLegend/BaseLegend.d.ts +1 -1
  148. package/lib/types/component/ChartLegend/BaseLegend.type.d.ts +2 -1
  149. package/lib/types/component/ChartLegend/LegendItem/LegendItem.type.d.ts +14 -4
  150. package/lib/types/component/ChartLegend/LegendTable/LegendTable.type.d.ts +1 -1
  151. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +13 -0
  152. package/package.json +6 -6
@@ -25,6 +25,8 @@ import AnimatedClipPath from '../../AnimatedClipPath';
25
25
  import { AbstractChart } from './AbstractChart';
26
26
  import { interpolateValue, scaleToBand } from '../../utils';
27
27
  import Cigarette from '../Cigarette/Cigarette';
28
+ import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
29
+ import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
28
30
  var wMin = 2;
29
31
  var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
30
32
  _inherits(CigaretteChartComponent, _AbstractChart);
@@ -254,6 +256,13 @@ var CigaretteChartComponent = /*#__PURE__*/function (_AbstractChart) {
254
256
  "gap": 2
255
257
  }), header && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Box, _ref3.cn("Box", {}), header), /*#__PURE__*/React.createElement(Divider, _ref3.cn("Divider", {}))), this.renderLegend()));
256
258
  }
259
+ }, {
260
+ key: "getLegendAriaLabel",
261
+ value: function getLegendAriaLabel() {
262
+ return this.asProps.getI18nText('legendForChart', {
263
+ chartType: 'Cigarette'
264
+ });
265
+ }
257
266
  }, {
258
267
  key: "selectedData",
259
268
  get: function get() {
@@ -311,6 +320,6 @@ _defineProperty(CigaretteChartComponent, "defaultProps", function (props) {
311
320
  plotHeight: invertAxis && !props.plotHeight ? 28 : props.plotHeight
312
321
  };
313
322
  });
314
- _defineProperty(CigaretteChartComponent, "enhance", [resolveColorEnhance(), uniqueIDEnhancement()]);
323
+ _defineProperty(CigaretteChartComponent, "enhance", [resolveColorEnhance(), uniqueIDEnhancement(), i18nEnhance(localizedMessages)]);
315
324
  export var CigaretteChart = createComponent(CigaretteChartComponent);
316
325
  //# sourceMappingURL=CigaretteChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CigaretteChart.js","names":["React","createComponent","Root","sstyled","Divider","Box","Flex","Text","resolveColorEnhance","uniqueIDEnhancement","scaleBand","scaleLinear","HoverRect","Plot","AnimatedClipPath","AbstractChart","interpolateValue","scaleToBand","Cigarette","wMin","CigaretteChartComponent","_AbstractChart","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","key","value","resolveColor","id","index","_this$props$colorMap$","_this$props$colorMap","props","colorMap","getDefaultDataDefinitions","dataDefinitions","_get","_getPrototypeOf","prototype","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","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 React from 'react';\nimport createComponent, { Root, sstyled } from '@semcore/core';\nimport Divider from '@semcore/divider';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { CigaretteChartData, CigaretteChartProps, CigaretteChartType } from './CigaretteChart.type';\nimport { scaleBand, scaleLinear } from 'd3-scale';\n// @ts-ignore\nimport { HoverRect, Plot } from '../..';\n// @ts-ignore\nimport AnimatedClipPath from '../../AnimatedClipPath';\n\nimport { AbstractChart } from './AbstractChart';\nimport { interpolateValue, scaleToBand } from '../../utils';\n\nimport Cigarette from '../Cigarette/Cigarette';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\n\nconst wMin = 2;\n\ntype Enhances = {\n resolveColor: ReturnType<typeof resolveColorEnhance>;\n uid: ReturnType<typeof uniqueIDEnhancement>;\n};\n\nclass CigaretteChartComponent extends AbstractChart<\n CigaretteChartData,\n CigaretteChartProps,\n Enhances\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 = [resolveColorEnhance(), uniqueIDEnhancement()];\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 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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"}
1
+ {"version":3,"file":"CigaretteChart.js","names":["React","createComponent","Root","sstyled","Divider","Box","Flex","Text","resolveColorEnhance","uniqueIDEnhancement","scaleBand","scaleLinear","HoverRect","Plot","AnimatedClipPath","AbstractChart","interpolateValue","scaleToBand","Cigarette","localizedMessages","i18nEnhance","wMin","CigaretteChartComponent","_AbstractChart","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","key","value","resolveColor","id","index","_this$props$colorMap$","_this$props$colorMap","props","colorMap","getDefaultDataDefinitions","dataDefinitions","_get","_getPrototypeOf","prototype","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 React from 'react';\nimport createComponent, { Root, sstyled } from '@semcore/core';\nimport Divider from '@semcore/divider';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { CigaretteChartData, CigaretteChartProps, CigaretteChartType } from './CigaretteChart.type';\nimport { scaleBand, scaleLinear } from 'd3-scale';\n// @ts-ignore\nimport { HoverRect, Plot } from '../..';\n// @ts-ignore\nimport AnimatedClipPath from '../../AnimatedClipPath';\n\nimport { AbstractChart } from './AbstractChart';\nimport { interpolateValue, scaleToBand } from '../../utils';\n\nimport Cigarette from '../Cigarette/Cigarette';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\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":";;;;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,IAAIC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AAC9D,OAAOC,OAAO,MAAM,kBAAkB;AACtC,SAASC,GAAG,EAAEC,IAAI,QAAQ,mBAAmB;AAC7C,SAASC,IAAI,QAAQ,qBAAqB;AAC1C,OAAOC,mBAAmB,MAAM,iDAAiD;AACjF,OAAOC,mBAAmB,MAAM,6BAA6B;AAE7D,SAASC,SAAS,EAAEC,WAAW,QAAQ,UAAU;AACjD;AACA,SAASC,SAAS,EAAEC,IAAI,QAAQ,OAAO;AACvC;AACA,OAAOC,gBAAgB,MAAM,wBAAwB;AAErD,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,gBAAgB,EAAEC,WAAW,QAAQ,aAAa;AAE3D,OAAOC,SAAS,MAAM,wBAAwB;AAE9C,SAASC,iBAAiB,QAAQ,oDAAoD;AACtF,OAAOC,WAAW,MAAM,yCAAyC;AAEjE,IAAMC,IAAI,GAAG,CAAC;AAAC,IAETC,uBAAuB,0BAAAC,cAAA;EAAAC,SAAA,CAAAF,uBAAA,EAAAC,cAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,uBAAA;EAAA,SAAAA,wBAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,uBAAA;IAAA,SAAAO,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,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,kBA6BM,CAAC;IAAAW,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,aAEjB,CAAC;IAAA,OAAAA,KAAA;EAAA;EAAAa,YAAA,CAAAlB,uBAAA;IAAAmB,GAAA;IAAAC,KAAA,EAElB,SAAAC,aAAgCC,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,SAAAQ,0BAAA,EAEE;MACA,IAAMC,eAAe,GAAAC,IAAA,CAAAC,eAAA,CAAA/B,uBAAA,CAAAgC,SAAA,sCAAAnB,IAAA,MAAoC;MAEzD,OAAOgB,eAAe,CAACI,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;IAAAf,GAAA;IAAAC,KAAA,EAED,SAAAiB,mBAAA,EAAwC;MACtC,OAAO;QACLC,UAAU,EAAE,OAAgB;QAC5BC,CAAC,EAAE;MACL,CAAC;IACH;EAAC;IAAApB,GAAA;IAAAqB,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;IAAAzB,GAAA;IAAAqB,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;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAyB,YAAA,EAAc;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/C3B,eAAe,GAAA0B,WAAA,CAAf1B,eAAe;QAAE4B,eAAe,GAAAF,WAAA,CAAfE,eAAe;MAExC,IAAI,CAACC,MAAM,GAAG,CAAC;MAEf,oBACEhF,KAAA,CAAAiF,aAAA,CAAAjF,KAAA,CAAAkF,QAAA,QACG,CAACnB,UAAU,GAAGZ,eAAe,GAAGgC,kBAAA,CAAIhC,eAAe,EAAEiC,OAAO,EAAE,EAAE7B,GAAG,CAAC,UAAC8B,IAAI,EAAExC,KAAK,EAAK;QACpF,IAAMH,KAAK,GAAG4B,IAAI,CAACe,IAAI,CAACzC,EAAE,CAAC;QAE3B,IAAI,CAACyC,IAAI,CAACC,OAAO,IAAI5C,KAAK,KAAK1B,gBAAgB,IAAI0B,KAAK,KAAK,IAAI,EAAE;UACjE,OAAO,IAAI;QACb;QAEA,IAAM6C,QAAQ,GAAGC,IAAI,CAACC,GAAG,CACvBrB,MAAI,CAACH,UAAU,CAACvB,KAAK,CAAC,GACpB8C,IAAI,CAACE,GAAG,CAACtB,MAAI,CAACH,UAAU,CAACG,MAAI,CAACH,UAAU,CAAC0B,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEvB,MAAI,CAACH,UAAU,CAAC,CAAC,CAAC,CAAC,CAC7E;QACD,IAAM2B,MAAM,GAAG3E,WAAW,CAACmD,MAAI,CAACF,aAAa,CAAC,CAAC2B,SAAS,EAAE,GAAG,CAAC;QAC9D,IAAMC,KAAK,GAAGpD,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG8C,IAAI,CAACE,GAAG,CAACH,QAAQ,EAAElE,IAAI,GAAG,CAAC,CAAC,GAAGA,IAAI;QACnE,IAAM0E,CAAC,GAAG,CAAC;QACX,IAAMC,CAAC,GAAGnD,KAAK,KAAK,CAAC,GAAG,CAAC,GAAGuB,MAAI,CAACY,MAAM;QACvC,IAAMiB,CAAC,GAAGL,MAAM,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;QAE7BxB,MAAI,CAACY,MAAM,GAAGZ,MAAI,CAACY,MAAM,GAAGc,KAAK,GAAGzE,IAAI;QAExC,oBACErB,KAAA,CAAAiF,aAAA,CAAC/D,SAAS;UACRuB,GAAG,EAAE4C,IAAI,CAACzC,EAAG;UACbsD,OAAO,EAAEb,IAAI,CAACzC,EAAG;UACjBC,KAAK,EAAEA,KAAM;UACbkD,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,EAAEpD,KAAK,KAAK,CAAC,IAAIA,KAAK,KAAKM,eAAe,CAACpB,MAAM,GAAG,CAAC,GAAGkE,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,KAAKlC,KAAK,GAAG,IAAI,GAAGkC,eAAe,KAAK,CAAC,CAAC,GAAGwB,SAAS,GAAG;QACzE,EACD;MAEN,CAAC,CAAC,eAEFvG,KAAA,CAAAiF,aAAA,CAACnE,gBAAgB;QACf,mBAAW;QACX0D,QAAQ,EAAEA,QAAS;QACnB5B,EAAE,EAAE2B,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,EACpC,CACD;IAEP;EAAC;IAAAjC,GAAA;IAAAC,KAAA,EAED,SAAA8D,cAAA,EAAiC;MAAA,IAAAC,MAAA;MAC/B,IAAAC,cAAA,GACE,IAAI,CAAC1C,OAAO;QADNM,IAAI,GAAAoC,cAAA,CAAJpC,IAAI;QAAEqC,kBAAkB,GAAAD,cAAA,CAAlBC,kBAAkB;QAAEC,WAAW,GAAAF,cAAA,CAAXE,WAAW;QAAE7C,UAAU,GAAA2C,cAAA,CAAV3C,UAAU;QAAE8C,YAAY,GAAAH,cAAA,CAAZG,YAAY;QAAEC,eAAe,GAAAJ,cAAA,CAAfI,eAAe;MAExF,IAAQ3D,eAAe,GAAK,IAAI,CAAC2B,KAAK,CAA9B3B,eAAe;MAEvB,IAAI,CAACyD,WAAW,EAAE;QAChB,OAAO,IAAI;MACb;MAEA,oBACE5G,KAAA,CAAAiF,aAAA,CAACrE,SAAS,CAACmG,OAAO;QAChBf,CAAC,EAAEjC,UAAU,GAAG,EAAE,GAAGwC,SAAU;QAC/BR,CAAC,EAAEhC,UAAU,GAAGwC,SAAS,GAAG,EAAG;QAC/BlF,IAAI,EAAE,GAAI;QACV2F,aAAa,EAAE;MAAK,GAEnB,UAACC,YAAiB,EAAK;QACtB,IAAMf,OAAO,GAAGnC,UAAU,GAAGkD,YAAY,CAACC,MAAM,GAAGD,YAAY,CAACE,MAAM;QACtE,IAAMC,KAAK,GAAGX,MAAI,CAACY,UAAU,CAAC/C,IAAI,CAAC;QAEnC,IAAIwC,eAAe,KAAK,QAAQ,EAAE;UAChC,IAAMzB,IAAI,GAAGlC,eAAe,CAACmE,IAAI,CAAC,UAACC,WAAW;YAAA,OAAKA,WAAW,CAAC3E,EAAE,KAAKsD,OAAO;UAAA,EAAC;UAE9E,IAAI,CAACb,IAAI,EAAE;YACT,OAAO,IAAI;UACb;UAEA,OAAO;YACLmC,QAAQ,eACNxH,KAAA,CAAAiF,aAAA,CAAC3E,IAAI;cAACmH,cAAc,EAAC,eAAe;cAAChF,GAAG,EAAEyD;YAAQ,gBAChDlG,KAAA,CAAAiF,aAAA,CAACrE,SAAS,CAACmG,OAAO,CAACW,GAAG;cAACC,EAAE,EAAE,CAAE;cAACvB,KAAK,EAAEf,IAAI,CAACe;YAAM,GAC7Cf,IAAI,CAACuC,KAAK,CACW,eACxB5H,KAAA,CAAAiF,aAAA,CAAC1E,IAAI;cAACsH,IAAI;YAAA,GAAEpB,MAAI,CAACqB,qBAAqB,CAACxD,IAAI,CAAC4B,OAAO,CAAC,CAAC,CAAQ;UAGnE,CAAC;QACH;QAEA,OAAO;UACLsB,QAAQ,eACNxH,KAAA,CAAAiF,aAAA,CAAAjF,KAAA,CAAAkF,QAAA,QACG2B,YAAY,iBACX7G,KAAA,CAAAiF,aAAA,CAACrE,SAAS,CAACmG,OAAO,CAACgB,KAAK,QAAC,oBAAkB,CAC5C,EAEA5E,eAAe,CAACI,GAAG,CAAC,UAAC8B,IAAI,EAAK;YAC7B,OACEA,IAAI,CAACC,OAAO,iBACVtF,KAAA,CAAAiF,aAAA,CAAC3E,IAAI;cACHmH,cAAc,EAAC,eAAe;cAC9BhF,GAAG,EAAE4C,IAAI,CAACzC,EAAG;cACboF,KAAK,EAAE;gBAAEC,OAAO,EAAE5C,IAAI,CAACzC,EAAE,KAAKsD,OAAO,GAAG,CAAC,GAAG;cAAI;YAAE,gBAElDlG,KAAA,CAAAiF,aAAA,CAACrE,SAAS,CAACmG,OAAO,CAACW,GAAG;cAACC,EAAE,EAAE,CAAE;cAACvB,KAAK,EAAEf,IAAI,CAACe;YAAM,GAC7Cf,IAAI,CAACuC,KAAK,CACW,eACxB5H,KAAA,CAAAiF,aAAA,CAAC1E,IAAI;cAACsH,IAAI;YAAA,GAAEpB,MAAI,CAACqB,qBAAqB,CAACxD,IAAI,CAACe,IAAI,CAACzC,EAAE,CAAC,CAAC,CAAQ,CAEhE;UAEL,CAAC,CAAC,EAED+D,kBAAkB,KAAK,IAAI,iBAC1B3G,KAAA,CAAAiF,aAAA,CAAC3E,IAAI;YAAC4H,EAAE,EAAE,CAAE;YAACT,cAAc,EAAC;UAAe,gBACzCzH,KAAA,CAAAiF,aAAA,CAAC5E,GAAG;YAACsH,EAAE,EAAE;UAAE,GAAC,OAAK,CAAM,eACvB3H,KAAA,CAAAiF,aAAA,CAAC1E,IAAI;YAACsH,IAAI;UAAA,GAAET,KAAK,CAAQ,CAE5B;QAGP,CAAC;MACH,CAAC,CACiB;IAExB;EAAC;IAAA3E,GAAA;IAAAC,KAAA,EAED,SAAAyF,aAAA,EAAe;MAAA,IAAAC,oBAAA;MACb,QAAAA,oBAAA,GAAO,IAAI,CAACpE,OAAO,CAACqE,MAAM,cAAAD,oBAAA,cAAAA,oBAAA,GAAI,IAAI;IACpC;EAAC;IAAA3F,GAAA;IAAAC,KAAA,EAED,SAAA4F,OAAA,EAAkB;MAAA,IAAAC,IAAA,QAAAvE,OAAA;QAAAwE,KAAA;MAChB,IAAMC,MAAM,GA8BMnI,IAAI;MA7BtB,IAAAoI,cAAA,GACE,IAAI,CAAC1E,OAAO;QADN2E,MAAM,GAAAD,cAAA,CAANC,MAAM;QAAEhE,SAAS,GAAA+D,cAAA,CAAT/D,SAAS;QAAED,UAAU,GAAAgE,cAAA,CAAVhE,UAAU;QAAEJ,IAAI,GAAAoE,cAAA,CAAJpE,IAAI;QAAEG,QAAQ,GAAAiE,cAAA,CAARjE,QAAQ;QAAEV,UAAU,GAAA2E,cAAA,CAAV3E,UAAU;QAAE6E,iBAAiB,GAAAF,cAAA,CAAjBE,iBAAiB;MAGpF,IAAMP,MAAM,GAAG,IAAI,CAACF,YAAY,EAAE;MAElC,IAAIpE,UAAU,EAAE;QAAA,IAAA8E,KAAA;QACd,OAAAA,KAAA,GAAO1I,OAAO,CAACwI,MAAM,CAAC,eACpB3I,KAAA,CAAAiF,aAAA,CAACwD,MAAM,EAAAI,KAAA,CAAAC,EAAA,WAAAC,aAAA,KAAAC,YAAA;UAAA,OAAoB,CAAC;UAAA,aAAa,QAAQ;UAAA,kBAAkB,CAAC,SAAS,EAAE,MAAM;QAAC,GAAAT,IAAA,kBACpFvI,KAAA,CAAAiF,aAAA,CAAC3E,IAAI,EAAAuI,KAAA,CAAAC,EAAA;UAAA,aAAY;QAAQ,IACtBT,MAAM,eACPrI,KAAA,CAAAiF,aAAA,CAACpE,IAAI,EAAAgI,KAAA,CAAAC,EAAA;UAAA,QACGxE,IAAI;UAAA,SACH,CAAC,IAAI,CAAC2E,MAAM,EAAE,IAAI,CAACC,MAAM,CAAC;UAAA,SAC1BvE,SAAS;UAAA,UACRD,UAAU;UAAA,aACP,IAAI,CAACyE,SAAS;UAAA,YACf1E,QAAQ;UAAA,qBACCmE;QAAiB,IAEnC,IAAI,CAACpC,aAAa,EAAE,EACpB,IAAI,CAACrC,WAAW,EAAE,CACd,CACF,EACN,IAAI,CAACiF,YAAY,EAAE,CACb;MAEb;MAEA,OAAAZ,KAAA,GAAOrI,OAAO,CAACwI,MAAM,CAAC,eACpB3I,KAAA,CAAAiF,aAAA,CAACwD,MAAM,EAAAD,KAAA,CAAAM,EAAA,WAAAC,aAAA,KAAAM,aAAA;QAAA,OAAoB,CAAC;QAAA,kBAAkB,CAAC,SAAS,EAAE,MAAM;MAAC,GAAAd,IAAA,kBAC/DvI,KAAA,CAAAiF,aAAA,CAACpE,IAAI,EAAA2H,KAAA,CAAAM,EAAA;QAAA,QACGxE,IAAI;QAAA,SACH,CAAC,IAAI,CAAC2E,MAAM,EAAE,IAAI,CAACC,MAAM,CAAC;QAAA,SAC1BvE,SAAS;QAAA,UACRD,UAAU;QAAA,aACP,IAAI,CAACyE,SAAS;QAAA,YACf1E,QAAQ;QAAA,qBACCmE;MAAiB,IAEnC,IAAI,CAACpC,aAAa,EAAE,EACpB,IAAI,CAACrC,WAAW,EAAE,CACd,eACPnE,KAAA,CAAAiF,aAAA,CAAC3E,IAAI,EAAAkI,KAAA,CAAAM,EAAA;QAAA,aAAY,QAAQ;QAAA,OAAO;MAAC,IAC9BT,MAAM,iBACLrI,KAAA,CAAAiF,aAAA,CAAAjF,KAAA,CAAAkF,QAAA,qBACElF,KAAA,CAAAiF,aAAA,CAAC5E,GAAG,EAAAmI,KAAA,CAAAM,EAAA,aAAET,MAAM,CAAO,eACnBrI,KAAA,CAAAiF,aAAA,CAAC7E,OAAO,EAAAoI,KAAA,CAAAM,EAAA,gBAAG,CAEd,EACA,IAAI,CAACM,YAAY,EAAE,CACf,CACA;IAEb;EAAC;IAAA3G,GAAA;IAAAC,KAAA,EAED,SAAA4G,mBAAA,EAAuC;MACrC,OAAO,IAAI,CAACtF,OAAO,CAACuF,WAAW,CAAC,gBAAgB,EAAE;QAAEC,SAAS,EAAE;MAAY,CAAC,CAAC;IAC/E;EAAC;IAAA/G,GAAA;IAAAqB,GAAA,EAED,SAAAA,IAAA,EAA2B;MACzB,IAAQQ,IAAI,GAAK,IAAI,CAACN,OAAO,CAArBM,IAAI;MACZ,IAAQnB,eAAe,GAAK,IAAI,CAAC2B,KAAK,CAA9B3B,eAAe;MAEvB,IAAMsG,MAAM,GAAG,IAAIC,GAAG,EAAkB;MAExCvG,eAAe,CAACwG,OAAO,CAAC,UAACpC,WAAW,EAAK;QACvC,IAAM7E,KAAK,GAAG4B,IAAI,CAACiD,WAAW,CAAC3E,EAAE,CAAC;QAClC,IAAI2E,WAAW,CAACjC,OAAO,IAAI5C,KAAK,KAAK1B,gBAAgB,EAAE;UACrDyI,MAAM,CAACG,GAAG,CAACrC,WAAW,CAAC3E,EAAE,EAAEF,KAAK,CAAC;QACnC;MACF,CAAC,CAAC;MAEF,OAAO+G,MAAM;IACf;EAAC;IAAAhH,GAAA;IAAAqB,GAAA,EAED,SAAAA,IAAA,EAA4B;MAC1B,IAAA+F,cAAA,GAA8C,IAAI,CAAC7F,OAAO;QAAlDW,SAAS,GAAAkF,cAAA,CAATlF,SAAS;QAAED,UAAU,GAAAmF,cAAA,CAAVnF,UAAU;QAAEX,UAAU,GAAA8F,cAAA,CAAV9F,UAAU;MAEzC,IAAM+F,KAAK,GAAG/F,UAAU,GAAG,CAACW,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAEC,SAAS,CAAC;MAE3D,OAAOjE,SAAS,CAAK,CAAC,CAAC,CAAC,EAAEoJ,KAAK,CAAC;IAClC;EAAC;IAAArH,GAAA;IAAAqB,GAAA,EAED,SAAAA,IAAA,EAAyB;MACvB,IAAAiG,cAAA,GAA8C,IAAI,CAAC/F,OAAO;QAAlDW,SAAS,GAAAoF,cAAA,CAATpF,SAAS;QAAED,UAAU,GAAAqF,cAAA,CAAVrF,UAAU;QAAEX,UAAU,GAAAgG,cAAA,CAAVhG,UAAU;MAEzC,IAAI2B,GAAG,GAAG,CAAC;MAEX,IAAI,CAACsE,YAAY,CAACL,OAAO,CAAC,UAACjH,KAAK,EAAK;QACnCgD,GAAG,GAAGA,GAAG,GAAGhD,KAAK;MACnB,CAAC,CAAC;MAEF,OAAO/B,WAAW,EAAE,CACjBmJ,KAAK,CAAC/F,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;EAAA,OAAApE,uBAAA;AAAA,EAtTmCP,aAAa;AAAAuB,eAAA,CAA7ChB,uBAAuB,iBAKN,eAAe;AAAAgB,eAAA,CALhChB,uBAAuB,kBAOA,UAAC0B,KAA0B,EAAK;EAAA,IAAAiH,iBAAA;EACzD,IAAMlG,UAAU,IAAAkG,iBAAA,GAAGjH,KAAK,CAACe,UAAU,cAAAkG,iBAAA,cAAAA,iBAAA,GAAI,IAAI;EAC3C,OAAO;IACLlG,UAAU,EAAEA,UAAU;IACtBmG,SAAS,EAAE,KAAK;IAChBC,SAAS,EAAE,KAAK;IAChBvD,WAAW,EAAE,IAAI;IACjBwD,UAAU,EAAE,KAAK;IACjBC,OAAO,EAAE,CAAC;IACVC,OAAO,EAAE,CAAC;IACV9F,QAAQ,EAAE,GAAG;IACbG,SAAS,EAAE,CAACZ,UAAU,IAAI,CAACf,KAAK,CAAC2B,SAAS,GAAG,EAAE,GAAG3B,KAAK,CAAC2B,SAAS;IACjED,UAAU,EAAEX,UAAU,IAAI,CAACf,KAAK,CAAC0B,UAAU,GAAG,EAAE,GAAG1B,KAAK,CAAC0B;EAC3D,CAAC;AACH,CAAC;AAAApC,eAAA,CArBGhB,uBAAuB,aAuBV,CACfd,mBAAmB,EAAE,EACrBC,mBAAmB,EAAE,EACrBW,WAAW,CAACD,iBAAiB,CAAC,CAC/B;AA8RH,OAAO,IAAMoJ,cAAkC,GAAGtK,eAAe,CAACqB,uBAAuB,CAAC"}
@@ -12,6 +12,8 @@ import { scaleBand, scaleLinear } from 'd3-scale';
12
12
  // @ts-ignore
13
13
  import { CompactHorizontalBar } from '../..';
14
14
  import { AbstractChart } from './AbstractChart';
15
+ import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
16
+ import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
15
17
  var CompactHorizontalBarChartComponent = /*#__PURE__*/function (_AbstractChart) {
16
18
  _inherits(CompactHorizontalBarChartComponent, _AbstractChart);
17
19
  var _super = _createSuper(CompactHorizontalBarChartComponent);
@@ -78,6 +80,13 @@ var CompactHorizontalBarChartComponent = /*#__PURE__*/function (_AbstractChart)
78
80
  value: function renderTooltip() {
79
81
  return null;
80
82
  }
83
+ }, {
84
+ key: "getLegendAriaLabel",
85
+ value: function getLegendAriaLabel() {
86
+ return this.asProps.getI18nText('legendForChart', {
87
+ chartType: 'CompactHorizontalBar'
88
+ });
89
+ }
81
90
  }, {
82
91
  key: "categoryScale",
83
92
  get: function get() {
@@ -114,5 +123,6 @@ _defineProperty(CompactHorizontalBarChartComponent, "defaultProps", {
114
123
  showTooltip: true,
115
124
  showLegend: false
116
125
  });
126
+ _defineProperty(CompactHorizontalBarChartComponent, "enhance", [i18nEnhance(localizedMessages)]);
117
127
  export var CompactHorizontalBarChart = createComponent(CompactHorizontalBarChartComponent);
118
128
  //# sourceMappingURL=CompactHorizontalBarChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompactHorizontalBarChart.js","names":["React","createComponent","scaleBand","scaleLinear","CompactHorizontalBar","AbstractChart","CompactHorizontalBarChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","get","_this$asProps$xScale","asProps","xScale","valueScale","_this$asProps$yScale","yScale","categoryScale","value","defaultLegendProps","renderChart","_this$asProps","x","y","onClickHoverRect","onClickBar","createElement","renderCompactHorizontalBarTooltip","Hover","onClick","Annotation","Label","Percent","Value","Bar","Background","Fill","_this$asProps2","data","showTooltip","Tooltip","wMin","_ref","index","children","Fragment","Title","Dot","renderTooltip","_this$asProps3","_this$asProps3$margin","marginY","plotHeight","range","domain","_toConsumableArray","reverse","map","d","paddingInner","paddingOuter","_this$asProps4","_this$asProps4$margin","plotWidth","sum","_get","_getPrototypeOf","prototype","values","reduce","acc","_defineProperty","direction","showXAxis","showYAxis","showLegend","CompactHorizontalBarChart"],"sources":["../../../../src/component/Chart/CompactHorizontalBarChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { BaseChartProps, BaseLegendProps } from './AbstractChart.type';\nimport {\n CompactHorizontalBarChartData,\n CompactHorizontalBarChartProps,\n CompactHorizontalBarChartType,\n} from './CompactHorizontalBarChart.type';\nimport { scaleBand, scaleLinear } from 'd3-scale';\n// @ts-ignore\nimport { CompactHorizontalBar } from '../..';\nimport { AbstractChart } from './AbstractChart';\n\nclass CompactHorizontalBarChartComponent extends AbstractChart<\n CompactHorizontalBarChartData,\n CompactHorizontalBarChartProps\n> {\n static displayName = 'Chart.CompactHorizontalBar';\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: false,\n showYAxis: false,\n showTooltip: true,\n showLegend: false,\n };\n\n get xScale() {\n return this.asProps.xScale ?? this.valueScale;\n }\n\n get yScale() {\n return this.asProps.yScale ?? this.categoryScale;\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {};\n }\n\n renderChart() {\n const { x, y, onClickHoverRect, onClickBar } = this.asProps;\n\n return (\n <CompactHorizontalBar x={x} y={y}>\n {this.renderCompactHorizontalBarTooltip()}\n <CompactHorizontalBar.Hover onClick={onClickHoverRect} />\n <CompactHorizontalBar.Annotation>\n <CompactHorizontalBar.Label />\n <CompactHorizontalBar.Percent />\n <CompactHorizontalBar.Value />\n </CompactHorizontalBar.Annotation>\n <CompactHorizontalBar.Bar onClick={onClickBar}>\n <CompactHorizontalBar.Bar.Background />\n <CompactHorizontalBar.Bar.Fill />\n </CompactHorizontalBar.Bar>\n </CompactHorizontalBar>\n );\n }\n\n protected renderCompactHorizontalBarTooltip(): React.ReactNode {\n const { data, x, y, showTooltip } = this.asProps;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <CompactHorizontalBar.Tooltip wMin={100}>\n {({ index }: any) => {\n return {\n children: (\n <>\n <CompactHorizontalBar.Tooltip.Title>\n {data[index][y]}\n </CompactHorizontalBar.Tooltip.Title>\n\n <CompactHorizontalBar.Tooltip.Dot>\n {data[index][x]}\n </CompactHorizontalBar.Tooltip.Dot>\n </>\n ),\n };\n }}\n </CompactHorizontalBar.Tooltip>\n );\n }\n\n renderTooltip(): React.ReactNode {\n return null;\n }\n\n private get categoryScale() {\n const { marginY = 40, plotHeight, data, y } = this.asProps;\n\n return scaleBand()\n .range([plotHeight - marginY, marginY])\n .domain([...data].reverse().map((d) => d[y]) as any)\n .paddingInner(0.6)\n .paddingOuter(0.2);\n }\n\n private get valueScale() {\n const { marginY = 0, plotWidth } = this.asProps;\n\n const sum = [...super.flatValues.values()].reduce((acc, d) => acc + d, 0);\n\n return scaleLinear().range([marginY, plotWidth]).domain([marginY, sum]);\n }\n}\n\nexport const CompactHorizontalBarChart: CompactHorizontalBarChartType = createComponent(\n CompactHorizontalBarChartComponent,\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"CompactHorizontalBarChart.js","names":["React","createComponent","scaleBand","scaleLinear","CompactHorizontalBar","AbstractChart","localizedMessages","i18nEnhance","CompactHorizontalBarChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","get","_this$asProps$xScale","asProps","xScale","valueScale","_this$asProps$yScale","yScale","categoryScale","value","defaultLegendProps","renderChart","_this$asProps","x","y","onClickHoverRect","onClickBar","createElement","renderCompactHorizontalBarTooltip","Hover","onClick","Annotation","Label","Percent","Value","Bar","Background","Fill","_this$asProps2","data","showTooltip","Tooltip","wMin","_ref","index","children","Fragment","Title","Dot","renderTooltip","getLegendAriaLabel","getI18nText","chartType","_this$asProps3","_this$asProps3$margin","marginY","plotHeight","range","domain","_toConsumableArray","reverse","map","d","paddingInner","paddingOuter","_this$asProps4","_this$asProps4$margin","plotWidth","sum","_get","_getPrototypeOf","prototype","values","reduce","acc","_defineProperty","direction","showXAxis","showYAxis","showLegend","CompactHorizontalBarChart"],"sources":["../../../../src/component/Chart/CompactHorizontalBarChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { BaseChartProps, BaseLegendProps } from './AbstractChart.type';\nimport {\n CompactHorizontalBarChartData,\n CompactHorizontalBarChartProps,\n CompactHorizontalBarChartType,\n} from './CompactHorizontalBarChart.type';\nimport { scaleBand, scaleLinear } from 'd3-scale';\n// @ts-ignore\nimport { CompactHorizontalBar } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nclass CompactHorizontalBarChartComponent extends AbstractChart<\n CompactHorizontalBarChartData,\n CompactHorizontalBarChartProps,\n typeof CompactHorizontalBarChartComponent.enhance\n> {\n static displayName = 'Chart.CompactHorizontalBar';\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: false,\n showYAxis: false,\n showTooltip: true,\n showLegend: false,\n };\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n return this.asProps.xScale ?? this.valueScale;\n }\n\n get yScale() {\n return this.asProps.yScale ?? this.categoryScale;\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {};\n }\n\n renderChart() {\n const { x, y, onClickHoverRect, onClickBar } = this.asProps;\n\n return (\n <CompactHorizontalBar x={x} y={y}>\n {this.renderCompactHorizontalBarTooltip()}\n <CompactHorizontalBar.Hover onClick={onClickHoverRect} />\n <CompactHorizontalBar.Annotation>\n <CompactHorizontalBar.Label />\n <CompactHorizontalBar.Percent />\n <CompactHorizontalBar.Value />\n </CompactHorizontalBar.Annotation>\n <CompactHorizontalBar.Bar onClick={onClickBar}>\n <CompactHorizontalBar.Bar.Background />\n <CompactHorizontalBar.Bar.Fill />\n </CompactHorizontalBar.Bar>\n </CompactHorizontalBar>\n );\n }\n\n protected renderCompactHorizontalBarTooltip(): React.ReactNode {\n const { data, x, y, showTooltip } = this.asProps;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <CompactHorizontalBar.Tooltip wMin={100}>\n {({ index }: any) => {\n return {\n children: (\n <>\n <CompactHorizontalBar.Tooltip.Title>\n {data[index][y]}\n </CompactHorizontalBar.Tooltip.Title>\n\n <CompactHorizontalBar.Tooltip.Dot>\n {data[index][x]}\n </CompactHorizontalBar.Tooltip.Dot>\n </>\n ),\n };\n }}\n </CompactHorizontalBar.Tooltip>\n );\n }\n\n renderTooltip(): React.ReactNode {\n return null;\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'CompactHorizontalBar' });\n }\n\n private get categoryScale() {\n const { marginY = 40, plotHeight, data, y } = this.asProps;\n\n return scaleBand()\n .range([plotHeight - marginY, marginY])\n .domain([...data].reverse().map((d) => d[y]) as any)\n .paddingInner(0.6)\n .paddingOuter(0.2);\n }\n\n private get valueScale() {\n const { marginY = 0, plotWidth } = this.asProps;\n\n const sum = [...super.flatValues.values()].reduce((acc, d) => acc + d, 0);\n\n return scaleLinear().range([marginY, plotWidth]).domain([marginY, sum]);\n }\n}\n\nexport const CompactHorizontalBarChart: CompactHorizontalBarChartType = createComponent(\n CompactHorizontalBarChartComponent,\n);\n"],"mappings":"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"}
@@ -11,6 +11,8 @@ import { Donut } from '../..';
11
11
  import { AbstractChart } from './AbstractChart';
12
12
  import { Text } from '@semcore/typography';
13
13
  import { Flex } from '@semcore/flex-box';
14
+ import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
15
+ import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
14
16
  var DonutChartComponent = /*#__PURE__*/function (_AbstractChart) {
15
17
  _inherits(DonutChartComponent, _AbstractChart);
16
18
  var _super = _createSuper(DonutChartComponent);
@@ -94,6 +96,13 @@ var DonutChartComponent = /*#__PURE__*/function (_AbstractChart) {
94
96
  };
95
97
  });
96
98
  }
99
+ }, {
100
+ key: "getLegendAriaLabel",
101
+ value: function getLegendAriaLabel() {
102
+ return this.asProps.getI18nText('legendForChart', {
103
+ chartType: 'Donut'
104
+ });
105
+ }
97
106
  }]);
98
107
  return DonutChartComponent;
99
108
  }(AbstractChart);
@@ -105,5 +114,6 @@ _defineProperty(DonutChartComponent, "defaultProps", {
105
114
  marginX: 0,
106
115
  marginY: 0
107
116
  });
117
+ _defineProperty(DonutChartComponent, "enhance", [i18nEnhance(localizedMessages)]);
108
118
  export var DonutChart = createComponent(DonutChartComponent);
109
119
  //# sourceMappingURL=DonutChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DonutChart.js","names":["React","createComponent","scaleLinear","Donut","AbstractChart","Text","Flex","DonutChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","get","xScale","asProps","yScale","value","defaultLegendProps","legendType","renderChart","_this$asProps","innerRadius","halfsize","innerLabel","_this$state","state","dataDefinitions","highlightedLine","checkedLegendItems","filter","item","checked","createElement","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","_defineProperty","direction","alignItems","marginX","marginY","DonutChart"],"sources":["../../../../src/component/Chart/DonutChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { scaleLinear } from 'd3-scale';\n// @ts-ignore\nimport { Donut } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { Text } from '@semcore/typography';\nimport { DonutChartData, DonutChartProps, DonutChartType } from './DonutChart.type';\nimport { Flex } from '@semcore/flex-box';\n\nclass DonutChartComponent extends AbstractChart<DonutChartData, DonutChartProps> {\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 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 } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n const checkedLegendItems = dataDefinitions.filter((item) => item.checked);\n\n return (\n <Donut 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\nexport const DonutChart: DonutChartType = createComponent(DonutChartComponent);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DonutChart.js","names":["React","createComponent","scaleLinear","Donut","AbstractChart","Text","Flex","localizedMessages","i18nEnhance","DonutChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","get","xScale","asProps","yScale","value","defaultLegendProps","legendType","renderChart","_this$asProps","innerRadius","halfsize","innerLabel","_this$state","state","dataDefinitions","highlightedLine","checkedLegendItems","filter","item","checked","createElement","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 React from 'react';\nimport createComponent from '@semcore/core';\nimport { scaleLinear } from 'd3-scale';\n// @ts-ignore\nimport { Donut } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { Text } from '@semcore/typography';\nimport { DonutChartData, DonutChartProps, DonutChartType } from './DonutChart.type';\nimport { Flex } from '@semcore/flex-box';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\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 } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n const checkedLegendItems = dataDefinitions.filter((item) => item.checked);\n\n return (\n <Donut 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":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,MAAM,eAAe;AAC3C,SAASC,WAAW,QAAQ,UAAU;AACtC;AACA,SAASC,KAAK,QAAQ,OAAO;AAC7B,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,IAAI,QAAQ,qBAAqB;AAE1C,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,iBAAiB,QAAQ,oDAAoD;AACtF,OAAOC,WAAW,MAAM,yCAAyC;AAAC,IAE5DC,mBAAmB,0BAAAC,cAAA;EAAAC,SAAA,CAAAF,mBAAA,EAAAC,cAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,mBAAA;EAAA,SAAAA,oBAAA;IAAAK,eAAA,OAAAL,mBAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAAC,YAAA,CAAAR,mBAAA;IAAAS,GAAA;IAAAC,GAAA,EAgBvB,SAAAA,IAAA,EAAa;MACX,IAAQC,MAAM,GAAK,IAAI,CAACC,OAAO,CAAvBD,MAAM;MAEd,IAAIA,MAAM,EAAE;QACV,OAAOA,MAAM;MACf;MAEA,OAAOlB,WAAW,EAAE;IACtB;EAAC;IAAAgB,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAa;MACX,IAAQG,MAAM,GAAK,IAAI,CAACD,OAAO,CAAvBC,MAAM;MAEd,IAAIA,MAAM,EAAE;QACV,OAAOA,MAAM;MACf;MAEA,OAAOpB,WAAW,EAAE;IACtB;EAAC;IAAAgB,GAAA;IAAAK,KAAA,EAED,SAAAC,mBAAA,EAAqB;MACnB,OAAO;QACLC,UAAU,EAAE;MACd,CAAC;IACH;EAAC;IAAAP,GAAA;IAAAK,KAAA,EAED,SAAAG,YAAA,EAAc;MACZ,IAAAC,aAAA,GAA8C,IAAI,CAACN,OAAO;QAAlDO,WAAW,GAAAD,aAAA,CAAXC,WAAW;QAAEC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;QAAEC,UAAU,GAAAH,aAAA,CAAVG,UAAU;MACzC,IAAAC,WAAA,GAA6C,IAAI,CAACC,KAAK;QAA/CC,eAAe,GAAAF,WAAA,CAAfE,eAAe;QAAEC,eAAe,GAAAH,WAAA,CAAfG,eAAe;MAExC,IAAMC,kBAAkB,GAAGF,eAAe,CAACG,MAAM,CAAC,UAACC,IAAI;QAAA,OAAKA,IAAI,CAACC,OAAO;MAAA,EAAC;MAEzE,oBACEtC,KAAA,CAAAuC,aAAA,CAACpC,KAAK;QAAC0B,QAAQ,EAAEA,QAAS;QAACD,WAAW,EAAEA;MAAY,GACjDO,kBAAkB,CAACK,MAAM,KAAK,CAAC,iBAAIxC,KAAA,CAAAuC,aAAA,CAACpC,KAAK,CAACsC,SAAS,OAAG,EACtDN,kBAAkB,CAACO,GAAG,CAAC,UAACL,IAAI,EAAEM,KAAK,EAAK;QACvC,oBACE3C,KAAA,CAAAuC,aAAA,CAACpC,KAAK,CAACyC,GAAG;UACR1B,GAAG,EAAEmB,IAAI,CAACQ,EAAG;UACbC,OAAO,EAAET,IAAI,CAACQ,EAAG;UACjBE,IAAI,EAAEV,IAAI,CAACW,KAAM;UACjBC,KAAK,EAAEZ,IAAI,CAACY,KAAM;UAClBC,MAAM,EAAEhB,eAAe,KAAKS;QAAM,EAClC;MAEN,CAAC,CAAC,EACDb,UAAU,iBAAI9B,KAAA,CAAAuC,aAAA,CAACpC,KAAK,CAACgD,KAAK,QAAErB,UAAU,CAAe,CAChD;IAEZ;EAAC;IAAAZ,GAAA;IAAAK,KAAA,EAED,SAAA6B,cAAA,EAAgB;MAAA,IAAAC,KAAA;MACd,IAAAC,cAAA,GAA8B,IAAI,CAACjC,OAAO;QAAlCkC,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAEC,WAAW,GAAAF,cAAA,CAAXE,WAAW;MACzB,IAAQvB,eAAe,GAAK,IAAI,CAACD,KAAK,CAA9BC,eAAe;MAEvB,IAAI,CAACuB,WAAW,EAAE;QAChB,OAAO,IAAI;MACb;MAEA,oBACExD,KAAA,CAAAuC,aAAA,CAACpC,KAAK,CAACsD,OAAO,QACX,UAAAC,IAAA,EAAsB;QAAA,IAAnBZ,OAAO,GAAAY,IAAA,CAAPZ,OAAO;QACT,IAAMa,KAAK,GAAG1B,eAAe,CAAC2B,IAAI,CAAC,UAACvB,IAAI;UAAA,OAAKA,IAAI,CAACQ,EAAE,KAAKC,OAAO;QAAA,EAAC;QAEjE,OAAO;UACLe,QAAQ,eACN7D,KAAA,CAAAuC,aAAA,CAAAvC,KAAA,CAAA8D,QAAA,qBACE9D,KAAA,CAAAuC,aAAA,CAACpC,KAAK,CAACsD,OAAO,CAACM,KAAK,QAAE,CAAAJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEX,KAAK,KAAIF,OAAO,CAAuB,eACpE9C,KAAA,CAAAuC,aAAA,CAACjC,IAAI;YAAC0D,cAAc,EAAC;UAAe,gBAClChE,KAAA,CAAAuC,aAAA,CAAClC,IAAI;YAAC4D,IAAI;UAAA,GAAEZ,KAAI,CAACa,qBAAqB,CAACX,IAAI,CAACT,OAAO,CAAC,CAAC,CAAQ,CACxD;QAGb,CAAC;MACH,CAAC,CACa;IAEpB;EAAC;IAAA5B,GAAA;IAAAK,KAAA,EAED,SAAA4C,mBAAA,EAAuC;MACrC,OAAO,IAAI,CAAC9C,OAAO,CAAC+C,WAAW,CAAC,gBAAgB,EAAE;QAAEC,SAAS,EAAE;MAAQ,CAAC,CAAC;IAC3E;EAAC;EAAA,OAAA5D,mBAAA;AAAA,EAjG+BL,aAAa;AAAAkE,eAAA,CAAzC7D,mBAAmB,iBAKF,aAAa;AAAA6D,eAAA,CAL9B7D,mBAAmB,kBAMyB;EAC9C8D,SAAS,EAAE,aAAa;EACxBC,UAAU,EAAE,YAAY;EACxB5C,WAAW,EAAE,GAAG;EAChB6C,OAAO,EAAE,CAAC;EACVC,OAAO,EAAE;AACX,CAAC;AAAAJ,eAAA,CAZG7D,mBAAmB,aAcN,CAACD,WAAW,CAACD,iBAAiB,CAAC,CAAC;AAsFnD,OAAO,IAAMoE,UAA0B,GAAG1E,eAAe,CAACQ,mBAAmB,CAAC"}
@@ -15,6 +15,8 @@ import { Bar, minMax, HoverRect, StackBar } from '../..';
15
15
  import { AbstractChart } from './AbstractChart';
16
16
  import { Box, Flex } from '@semcore/flex-box';
17
17
  import { Text } from '@semcore/typography';
18
+ import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
19
+ import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
18
20
  var HistogramChartComponent = /*#__PURE__*/function (_AbstractChart) {
19
21
  _inherits(HistogramChartComponent, _AbstractChart);
20
22
  var _super = _createSuper(HistogramChartComponent);
@@ -173,9 +175,17 @@ var HistogramChartComponent = /*#__PURE__*/function (_AbstractChart) {
173
175
  };
174
176
  });
175
177
  }
178
+ }, {
179
+ key: "getLegendAriaLabel",
180
+ value: function getLegendAriaLabel() {
181
+ return this.asProps.getI18nText('legendForChart', {
182
+ chartType: 'Histogram'
183
+ });
184
+ }
176
185
  }]);
177
186
  return HistogramChartComponent;
178
187
  }(AbstractChart);
179
188
  _defineProperty(HistogramChartComponent, "displayName", 'Chart.Histogram');
189
+ _defineProperty(HistogramChartComponent, "enhance", [i18nEnhance(localizedMessages)]);
180
190
  export var HistogramChart = createComponent(HistogramChartComponent);
181
191
  //# sourceMappingURL=HistogramChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HistogramChart.js","names":["React","createComponent","scaleBand","scaleLinear","scaleTime","Bar","minMax","HoverRect","StackBar","AbstractChart","Box","Flex","Text","HistogramChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_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","_get","_getPrototypeOf","prototype","Math","_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","_defineProperty","HistogramChart"],"sources":["../../../../src/component/Chart/HistogramChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { scaleBand, scaleLinear, ScaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { Bar, minMax, HoverRect, StackBar, BarProps } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { HistogramChartData, HistogramChartProps, HistogramChartType } from './HistogramChart.type';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\n\nclass HistogramChartComponent extends AbstractChart<HistogramChartData, HistogramChartProps> {\n static displayName = 'Chart.Histogram';\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 <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 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\nexport const HistogramChart: HistogramChartType = createComponent(HistogramChartComponent);\n"],"mappings":"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"}
1
+ {"version":3,"file":"HistogramChart.js","names":["React","createComponent","scaleBand","scaleLinear","scaleTime","Bar","minMax","HoverRect","StackBar","AbstractChart","Box","Flex","Text","localizedMessages","i18nEnhance","HistogramChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_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","_get","_getPrototypeOf","prototype","Math","_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 React from 'react';\nimport createComponent from '@semcore/core';\nimport { scaleBand, scaleLinear, ScaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { Bar, minMax, HoverRect, StackBar, BarProps } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { HistogramChartData, HistogramChartProps, HistogramChartType } from './HistogramChart.type';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\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 <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 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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"}
@@ -14,6 +14,8 @@ import { Line, minMax, HoverLine } from '../..';
14
14
  import { AbstractChart } from './AbstractChart';
15
15
  import { Box, Flex } from '@semcore/flex-box';
16
16
  import { Text } from '@semcore/typography';
17
+ import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
18
+ import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
17
19
  var LineChartComponent = /*#__PURE__*/function (_AbstractChart) {
18
20
  _inherits(LineChartComponent, _AbstractChart);
19
21
  var _super = _createSuper(LineChartComponent);
@@ -131,9 +133,17 @@ var LineChartComponent = /*#__PURE__*/function (_AbstractChart) {
131
133
  };
132
134
  });
133
135
  }
136
+ }, {
137
+ key: "getLegendAriaLabel",
138
+ value: function getLegendAriaLabel() {
139
+ return this.asProps.getI18nText('legendForChart', {
140
+ chartType: 'Line'
141
+ });
142
+ }
134
143
  }]);
135
144
  return LineChartComponent;
136
145
  }(AbstractChart);
137
146
  _defineProperty(LineChartComponent, "displayName", 'Chart.Line');
147
+ _defineProperty(LineChartComponent, "enhance", [i18nEnhance(localizedMessages)]);
138
148
  export var LineChart = createComponent(LineChartComponent);
139
149
  //# sourceMappingURL=LineChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LineChart.js","names":["React","createComponent","scaleLinear","scaleTime","Line","minMax","HoverLine","AbstractChart","Box","Flex","Text","LineChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","get","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","data","groupKey","testItem","range","plotPadding","domain","Date","Number","isNaN","getMilliseconds","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","flatValues","_get","_getPrototypeOf","prototype","max","Math","_toConsumableArray","min","value","renderChart","_this$asProps3","curve","showDots","area","areaCurve","_this$state","state","dataDefinitions","highlightedLine","map","item","index","checked","createElement","x","toString","y","id","color","transparent","Dots","display","Area","y0","y1","renderTooltip","_this","_this$asProps4","showTotalInTooltip","showTooltip","Tooltip","wMin","_ref","_dataItem$groupKey","xIndex","dataItem","total","totalValue","children","Fragment","Title","justifyContent","Dot","mr","label","bold","tooltipValueFormatter","mt","_defineProperty","LineChart"],"sources":["../../../../src/component/Chart/LineChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { LineChartData, LineChartProps, LineChartType } from './LineChart.type';\nimport { ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { Line, minMax, HoverLine } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\n\nclass LineChartComponent extends AbstractChart<LineChartData, LineChartProps> {\n static displayName = 'Chart.Line';\n\n protected get xScale() {\n const { xScale, marginY = 30, plotWidth, data, groupKey } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = minMax(data, groupKey);\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n return scaleTime(domain, range);\n }\n\n return scaleLinear(domain, range);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 30, plotHeight } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = super.flatValues;\n\n const max = Math.max(...flatValues);\n const min = Math.min(...flatValues);\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n protected renderChart() {\n const { groupKey, curve, showDots, area, areaCurve } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n return dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <Line\n x={groupKey.toString()}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n >\n {showDots && <Line.Dots display />}\n {area?.[item.id] && (\n <Line.Area area={area[item.id]} y0={'y0'} y1={'y1'} curve={areaCurve} />\n )}\n </Line>\n )\n );\n });\n }\n\n protected renderTooltip() {\n const { data, groupKey, showTotalInTooltip, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <HoverLine.Tooltip x={groupKey} wMin={100}>\n {({ xIndex }: any) => {\n const dataItem = data[xIndex];\n const total = this.totalValue(dataItem);\n\n return {\n children: (\n <>\n <HoverLine.Tooltip.Title>{dataItem[groupKey]?.toString()}</HoverLine.Tooltip.Title>\n\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Flex justifyContent='space-between' key={item.id}>\n <HoverLine.Tooltip.Dot mr={4} color={item.color}>\n {item.label}\n </HoverLine.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 </HoverLine.Tooltip>\n );\n }\n}\n\nexport const LineChart: LineChartType = createComponent(LineChartComponent);\n"],"mappings":"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"}
1
+ {"version":3,"file":"LineChart.js","names":["React","createComponent","scaleLinear","scaleTime","Line","minMax","HoverLine","AbstractChart","Box","Flex","Text","localizedMessages","i18nEnhance","LineChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","get","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","data","groupKey","testItem","range","plotPadding","domain","Date","Number","isNaN","getMilliseconds","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","flatValues","_get","_getPrototypeOf","prototype","max","Math","_toConsumableArray","min","value","renderChart","_this$asProps3","curve","showDots","area","areaCurve","_this$state","state","dataDefinitions","highlightedLine","map","item","index","checked","createElement","x","toString","y","id","color","transparent","Dots","display","Area","y0","y1","renderTooltip","_this","_this$asProps4","showTotalInTooltip","showTooltip","Tooltip","wMin","_ref","_dataItem$groupKey","xIndex","dataItem","total","totalValue","children","Fragment","Title","justifyContent","Dot","mr","label","bold","tooltipValueFormatter","mt","getLegendAriaLabel","getI18nText","chartType","_defineProperty","LineChart"],"sources":["../../../../src/component/Chart/LineChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { LineChartData, LineChartProps, LineChartType } from './LineChart.type';\nimport { ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { Line, minMax, HoverLine } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nclass LineChartComponent extends AbstractChart<\n LineChartData,\n LineChartProps,\n typeof LineChartComponent.enhance\n> {\n static displayName = 'Chart.Line';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n protected get xScale() {\n const { xScale, marginY = 30, plotWidth, data, groupKey } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = minMax(data, groupKey);\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n return scaleTime(domain, range);\n }\n\n return scaleLinear(domain, range);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 30, plotHeight } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = super.flatValues;\n\n const max = Math.max(...flatValues);\n const min = Math.min(...flatValues);\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n protected renderChart() {\n const { groupKey, curve, showDots, area, areaCurve } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n return dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <Line\n x={groupKey.toString()}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n >\n {showDots && <Line.Dots display />}\n {area?.[item.id] && (\n <Line.Area area={area[item.id]} y0={'y0'} y1={'y1'} curve={areaCurve} />\n )}\n </Line>\n )\n );\n });\n }\n\n protected renderTooltip() {\n const { data, groupKey, showTotalInTooltip, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <HoverLine.Tooltip x={groupKey} wMin={100}>\n {({ xIndex }: any) => {\n const dataItem = data[xIndex];\n const total = this.totalValue(dataItem);\n\n return {\n children: (\n <>\n <HoverLine.Tooltip.Title>{dataItem[groupKey]?.toString()}</HoverLine.Tooltip.Title>\n\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Flex justifyContent='space-between' key={item.id}>\n <HoverLine.Tooltip.Dot mr={4} color={item.color}>\n {item.label}\n </HoverLine.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 </HoverLine.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Line' });\n }\n}\n\nexport const LineChart: LineChartType = createComponent(LineChartComponent);\n"],"mappings":"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"}
@@ -5,12 +5,15 @@ import _get from "@babel/runtime/helpers/get";
5
5
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
6
  import _inherits from "@babel/runtime/helpers/inherits";
7
7
  import _createSuper from "@babel/runtime/helpers/createSuper";
8
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
9
  import React from 'react';
9
10
  import createComponent from '@semcore/core';
10
11
  import { scaleLinear } from 'd3-scale';
11
12
  import { AbstractChart } from './AbstractChart';
12
13
  // @ts-ignore
13
14
  import { Radar } from '../..';
15
+ import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
16
+ import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
14
17
  var RadarChartComponent = /*#__PURE__*/function (_AbstractChart) {
15
18
  _inherits(RadarChartComponent, _AbstractChart);
16
19
  var _super = _createSuper(RadarChartComponent);
@@ -101,6 +104,13 @@ var RadarChartComponent = /*#__PURE__*/function (_AbstractChart) {
101
104
  var _this$asProps$scale2;
102
105
  return (_this$asProps$scale2 = this.asProps.scale) !== null && _this$asProps$scale2 !== void 0 ? _this$asProps$scale2 : scaleLinear().domain(this.domain);
103
106
  }
107
+ }, {
108
+ key: "getLegendAriaLabel",
109
+ value: function getLegendAriaLabel() {
110
+ return this.asProps.getI18nText('legendForChart', {
111
+ chartType: 'Radar'
112
+ });
113
+ }
104
114
  }, {
105
115
  key: "domain",
106
116
  get: function get() {
@@ -109,5 +119,6 @@ var RadarChartComponent = /*#__PURE__*/function (_AbstractChart) {
109
119
  }]);
110
120
  return RadarChartComponent;
111
121
  }(AbstractChart);
122
+ _defineProperty(RadarChartComponent, "enhance", [i18nEnhance(localizedMessages)]);
112
123
  export var RadarChart = createComponent(RadarChartComponent);
113
124
  //# sourceMappingURL=RadarChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadarChart.js","names":["React","createComponent","scaleLinear","AbstractChart","Radar","RadarChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","renderChart","_this$asProps","asProps","groupKey","showDots","circle","_this$state","state","dataDefinitions","highlightedLine","createElement","scale","xScale","type","undefined","Axis","dataKey","Ticks","Labels","renderRadarTooltip","map","item","checked","Polygon","id","color","Line","Dots","_this","_this$asProps2","data","showTooltip","Tooltip","wMin","_ref","_data$groupKey","index","children","Fragment","Title","_data$item$id","Dot","tooltipValueFormatter","renderTooltip","get","_this$props","props","legendKeys","Object","keys","filter","_this$asProps$scale","domain","_this$asProps$scale2","Math","min","_toConsumableArray","_get","_getPrototypeOf","prototype","max","RadarChart"],"sources":["../../../../src/component/Chart/RadarChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { scaleLinear, ScaleLinear } from 'd3-scale';\nimport { AbstractChart } from './AbstractChart';\nimport { RadarChartData, RadarChartProps, RadarChartType } from './RadarChart.type';\n// @ts-ignore\nimport { Radar } from '../..';\n\nclass RadarChartComponent extends AbstractChart<RadarChartData, RadarChartProps> {\n protected renderChart(): React.ReactNode {\n const { groupKey, showDots, circle } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n return (\n <Radar scale={this.xScale} type={circle ? 'circle' : undefined}>\n <Radar.Axis dataKey={groupKey}>\n <Radar.Axis.Ticks />\n <Radar.Axis.Labels />\n </Radar.Axis>\n {this.renderRadarTooltip()}\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Radar.Polygon dataKey={item.id} key={item.id} color={item.color}>\n <Radar.Polygon.Line />\n {showDots && <Radar.Polygon.Dots />}\n </Radar.Polygon>\n )\n );\n })}\n </Radar>\n );\n }\n\n protected renderRadarTooltip(): React.ReactNode {\n const { data, groupKey, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <Radar.Tooltip wMin={100}>\n {({ index }: any) => {\n return {\n children: (\n <>\n <Radar.Tooltip.Title>{data[groupKey]?.[index]}</Radar.Tooltip.Title>\n\n {dataDefinitions.map((item) => {\n const value = data[item.id]?.[index];\n\n return (\n item.checked && (\n <Radar.Tooltip.Dot color={item.color} key={item.id}>\n {this.tooltipValueFormatter(value)}\n </Radar.Tooltip.Dot>\n )\n );\n })}\n </>\n ),\n };\n }}\n </Radar.Tooltip>\n );\n }\n\n // By default, tooltip will render in Plot component.\n // In RadarChart, we need to render it in Radar component, so we use renderRadarTooltip method\n protected renderTooltip(): React.ReactNode {\n return null;\n }\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n const legendKeys: string[] = Object.keys(data).filter((key) => key !== groupKey);\n\n return legendKeys;\n }\n\n protected get xScale(): ScaleLinear<any, any> {\n return this.asProps.scale ?? scaleLinear().domain(this.domain);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n return this.asProps.scale ?? scaleLinear().domain(this.domain);\n }\n\n private get domain(): [number, number] {\n return [Math.min(...super.flatValues), Math.max(...super.flatValues)];\n }\n}\n\nexport const RadarChart: RadarChartType = createComponent(RadarChartComponent);\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,MAAM,eAAe;AAC3C,SAASC,WAAW,QAAqB,UAAU;AACnD,SAASC,aAAa,QAAQ,iBAAiB;AAE/C;AACA,SAASC,KAAK,QAAQ,OAAO;AAAC,IAExBC,mBAAmB,0BAAAC,cAAA;EAAAC,SAAA,CAAAF,mBAAA,EAAAC,cAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,mBAAA;EAAA,SAAAA,oBAAA;IAAAK,eAAA,OAAAL,mBAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAAC,YAAA,CAAAR,mBAAA;IAAAS,GAAA;IAAAC,KAAA,EACvB,SAAAC,YAAA,EAAyC;MACvC,IAAAC,aAAA,GAAuC,IAAI,CAACC,OAAO;QAA3CC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;QAAEC,QAAQ,GAAAH,aAAA,CAARG,QAAQ;QAAEC,MAAM,GAAAJ,aAAA,CAANI,MAAM;MAClC,IAAAC,WAAA,GAA6C,IAAI,CAACC,KAAK;QAA/CC,eAAe,GAAAF,WAAA,CAAfE,eAAe;QAAEC,eAAe,GAAAH,WAAA,CAAfG,eAAe;MAExC,oBACEzB,KAAA,CAAA0B,aAAA,CAACtB,KAAK;QAACuB,KAAK,EAAE,IAAI,CAACC,MAAO;QAACC,IAAI,EAAER,MAAM,GAAG,QAAQ,GAAGS;MAAU,gBAC7D9B,KAAA,CAAA0B,aAAA,CAACtB,KAAK,CAAC2B,IAAI;QAACC,OAAO,EAAEb;MAAS,gBAC5BnB,KAAA,CAAA0B,aAAA,CAACtB,KAAK,CAAC2B,IAAI,CAACE,KAAK,OAAG,eACpBjC,KAAA,CAAA0B,aAAA,CAACtB,KAAK,CAAC2B,IAAI,CAACG,MAAM,OAAG,CACV,EACZ,IAAI,CAACC,kBAAkB,EAAE,EACzBX,eAAe,CAACY,GAAG,CAAC,UAACC,IAAI,EAAK;QAC7B,OACEA,IAAI,CAACC,OAAO,iBACVtC,KAAA,CAAA0B,aAAA,CAACtB,KAAK,CAACmC,OAAO;UAACP,OAAO,EAAEK,IAAI,CAACG,EAAG;UAAC1B,GAAG,EAAEuB,IAAI,CAACG,EAAG;UAACC,KAAK,EAAEJ,IAAI,CAACI;QAAM,gBAC/DzC,KAAA,CAAA0B,aAAA,CAACtB,KAAK,CAACmC,OAAO,CAACG,IAAI,OAAG,EACrBtB,QAAQ,iBAAIpB,KAAA,CAAA0B,aAAA,CAACtB,KAAK,CAACmC,OAAO,CAACI,IAAI,OAAG,CAEtC;MAEL,CAAC,CAAC,CACI;IAEZ;EAAC;IAAA7B,GAAA;IAAAC,KAAA,EAED,SAAAoB,mBAAA,EAAgD;MAAA,IAAAS,KAAA;MAC9C,IAAAC,cAAA,GAAwC,IAAI,CAAC3B,OAAO;QAA5C4B,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAE3B,QAAQ,GAAA0B,cAAA,CAAR1B,QAAQ;QAAE4B,WAAW,GAAAF,cAAA,CAAXE,WAAW;MACnC,IAAQvB,eAAe,GAAK,IAAI,CAACD,KAAK,CAA9BC,eAAe;MAEvB,IAAI,CAACuB,WAAW,EAAE;QAChB,OAAO,IAAI;MACb;MAEA,oBACE/C,KAAA,CAAA0B,aAAA,CAACtB,KAAK,CAAC4C,OAAO;QAACC,IAAI,EAAE;MAAI,GACtB,UAAAC,IAAA,EAAoB;QAAA,IAAAC,cAAA;QAAA,IAAjBC,KAAK,GAAAF,IAAA,CAALE,KAAK;QACP,OAAO;UACLC,QAAQ,eACNrD,KAAA,CAAA0B,aAAA,CAAA1B,KAAA,CAAAsD,QAAA,qBACEtD,KAAA,CAAA0B,aAAA,CAACtB,KAAK,CAAC4C,OAAO,CAACO,KAAK,SAAAJ,cAAA,GAAEL,IAAI,CAAC3B,QAAQ,CAAC,cAAAgC,cAAA,uBAAdA,cAAA,CAAiBC,KAAK,CAAC,CAAuB,EAEnE5B,eAAe,CAACY,GAAG,CAAC,UAACC,IAAI,EAAK;YAAA,IAAAmB,aAAA;YAC7B,IAAMzC,KAAK,IAAAyC,aAAA,GAAGV,IAAI,CAACT,IAAI,CAACG,EAAE,CAAC,cAAAgB,aAAA,uBAAbA,aAAA,CAAgBJ,KAAK,CAAC;YAEpC,OACEf,IAAI,CAACC,OAAO,iBACVtC,KAAA,CAAA0B,aAAA,CAACtB,KAAK,CAAC4C,OAAO,CAACS,GAAG;cAAChB,KAAK,EAAEJ,IAAI,CAACI,KAAM;cAAC3B,GAAG,EAAEuB,IAAI,CAACG;YAAG,GAChDI,KAAI,CAACc,qBAAqB,CAAC3C,KAAK,CAAC,CAErC;UAEL,CAAC,CAAC;QAGR,CAAC;MACH,CAAC,CACa;IAEpB;;IAEA;IACA;EAAA;IAAAD,GAAA;IAAAC,KAAA,EACA,SAAA4C,cAAA,EAA2C;MACzC,OAAO,IAAI;IACb;EAAC;IAAA7C,GAAA;IAAA8C,GAAA,EAED,SAAAA,IAAA,EAAmC;MACjC,IAAAC,WAAA,GAA2B,IAAI,CAACC,KAAK;QAA7BhB,IAAI,GAAAe,WAAA,CAAJf,IAAI;QAAE3B,QAAQ,GAAA0C,WAAA,CAAR1C,QAAQ;MAEtB,IAAM4C,UAAoB,GAAGC,MAAM,CAACC,IAAI,CAACnB,IAAI,CAAC,CAACoB,MAAM,CAAC,UAACpD,GAAG;QAAA,OAAKA,GAAG,KAAKK,QAAQ;MAAA,EAAC;MAEhF,OAAO4C,UAAU;IACnB;EAAC;IAAAjD,GAAA;IAAA8C,GAAA,EAED,SAAAA,IAAA,EAA8C;MAAA,IAAAO,mBAAA;MAC5C,QAAAA,mBAAA,GAAO,IAAI,CAACjD,OAAO,CAACS,KAAK,cAAAwC,mBAAA,cAAAA,mBAAA,GAAIjE,WAAW,EAAE,CAACkE,MAAM,CAAC,IAAI,CAACA,MAAM,CAAC;IAChE;EAAC;IAAAtD,GAAA;IAAA8C,GAAA,EAED,SAAAA,IAAA,EAA8C;MAAA,IAAAS,oBAAA;MAC5C,QAAAA,oBAAA,GAAO,IAAI,CAACnD,OAAO,CAACS,KAAK,cAAA0C,oBAAA,cAAAA,oBAAA,GAAInE,WAAW,EAAE,CAACkE,MAAM,CAAC,IAAI,CAACA,MAAM,CAAC;IAChE;EAAC;IAAAtD,GAAA;IAAA8C,GAAA,EAED,SAAAA,IAAA,EAAuC;MACrC,OAAO,CAACU,IAAI,CAACC,GAAG,CAAA5D,KAAA,CAAR2D,IAAI,EAAAE,kBAAA,CAAAC,IAAA,CAAAC,eAAA,CAAArE,mBAAA,CAAAsE,SAAA,wBAAyB,EAAEL,IAAI,CAACM,GAAG,CAAAjE,KAAA,CAAR2D,IAAI,EAAAE,kBAAA,CAAAC,IAAA,CAAAC,eAAA,CAAArE,mBAAA,CAAAsE,SAAA,wBAAyB,CAAC;IACvE;EAAC;EAAA,OAAAtE,mBAAA;AAAA,EArF+BF,aAAa;AAwF/C,OAAO,IAAM0E,UAA0B,GAAG5E,eAAe,CAACI,mBAAmB,CAAC"}
1
+ {"version":3,"file":"RadarChart.js","names":["React","createComponent","scaleLinear","AbstractChart","Radar","localizedMessages","i18nEnhance","RadarChartComponent","_AbstractChart","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","renderChart","_this$asProps","asProps","groupKey","showDots","circle","_this$state","state","dataDefinitions","highlightedLine","createElement","scale","xScale","type","undefined","Axis","dataKey","Ticks","Labels","renderRadarTooltip","map","item","checked","Polygon","id","color","Line","Dots","_this","_this$asProps2","data","showTooltip","Tooltip","wMin","_ref","_data$groupKey","index","children","Fragment","Title","_data$item$id","Dot","tooltipValueFormatter","renderTooltip","get","_this$props","props","legendKeys","Object","keys","filter","_this$asProps$scale","domain","_this$asProps$scale2","getLegendAriaLabel","getI18nText","chartType","Math","min","_toConsumableArray","_get","_getPrototypeOf","prototype","max","_defineProperty","RadarChart"],"sources":["../../../../src/component/Chart/RadarChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { scaleLinear, ScaleLinear } from 'd3-scale';\nimport { AbstractChart } from './AbstractChart';\nimport { RadarChartData, RadarChartProps, RadarChartType } from './RadarChart.type';\n// @ts-ignore\nimport { Radar } from '../..';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nclass RadarChartComponent extends AbstractChart<\n RadarChartData,\n RadarChartProps,\n typeof RadarChartComponent.enhance\n> {\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n protected renderChart(): React.ReactNode {\n const { groupKey, showDots, circle } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n return (\n <Radar scale={this.xScale} type={circle ? 'circle' : undefined}>\n <Radar.Axis dataKey={groupKey}>\n <Radar.Axis.Ticks />\n <Radar.Axis.Labels />\n </Radar.Axis>\n {this.renderRadarTooltip()}\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Radar.Polygon dataKey={item.id} key={item.id} color={item.color}>\n <Radar.Polygon.Line />\n {showDots && <Radar.Polygon.Dots />}\n </Radar.Polygon>\n )\n );\n })}\n </Radar>\n );\n }\n\n protected renderRadarTooltip(): React.ReactNode {\n const { data, groupKey, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <Radar.Tooltip wMin={100}>\n {({ index }: any) => {\n return {\n children: (\n <>\n <Radar.Tooltip.Title>{data[groupKey]?.[index]}</Radar.Tooltip.Title>\n\n {dataDefinitions.map((item) => {\n const value = data[item.id]?.[index];\n\n return (\n item.checked && (\n <Radar.Tooltip.Dot color={item.color} key={item.id}>\n {this.tooltipValueFormatter(value)}\n </Radar.Tooltip.Dot>\n )\n );\n })}\n </>\n ),\n };\n }}\n </Radar.Tooltip>\n );\n }\n\n // By default, tooltip will render in Plot component.\n // In RadarChart, we need to render it in Radar component, so we use renderRadarTooltip method\n protected renderTooltip(): React.ReactNode {\n return null;\n }\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n const legendKeys: string[] = Object.keys(data).filter((key) => key !== groupKey);\n\n return legendKeys;\n }\n\n protected get xScale(): ScaleLinear<any, any> {\n return this.asProps.scale ?? scaleLinear().domain(this.domain);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n return this.asProps.scale ?? scaleLinear().domain(this.domain);\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Radar' });\n }\n\n private get domain(): [number, number] {\n return [Math.min(...super.flatValues), Math.max(...super.flatValues)];\n }\n}\n\nexport const RadarChart: RadarChartType = createComponent(RadarChartComponent);\n"],"mappings":"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"}