@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
@@ -1 +1 @@
1
- {"version":3,"file":"HistogramChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_flexBox","_typography","HistogramChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","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","minMax","scaleTime","map","item","scaleBand","paddingInner","paddingOuter","_this$asProps2","yScale","_this$asProps2$margin","_this$asProps2$margin2","max","isStack","reduce","barSum","Object","values","sum","val","flatValues","_get2","_getPrototypeOf2","prototype","Math","_toConsumableArray2","scaleLinear","dataDefinitions","state","length","value","renderChart","_this$asProps3","_this$state","highlightedLine","createElement","StackBar","x","undefined","y","index","BarComponent","HorizontalBar","Bar","commonBarComponentProps","color","transparent","id","checked","_extends2","renderTooltip","_this","_this$asProps4","showTotalInTooltip","showTooltip","HoverRect","Tooltip","wMin","_ref","_dataItem$groupKey","xIndex","yIndex","dataItem","total","totalValue","children","Fragment","Title","toString","Flex","justifyContent","Dot","mr","label","Text","bold","tooltipValueFormatter","mt","Box","AbstractChart","_defineProperty2","HistogramChart","createComponent","exports"],"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","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_flexBox","_typography","_intergalacticDynamicLocales","_i18nEnhance","HistogramChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","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","minMax","scaleTime","map","item","scaleBand","paddingInner","paddingOuter","_this$asProps2","yScale","_this$asProps2$margin","_this$asProps2$margin2","max","isStack","reduce","barSum","Object","values","sum","val","flatValues","_get2","_getPrototypeOf2","prototype","Math","_toConsumableArray2","scaleLinear","dataDefinitions","state","length","value","renderChart","_this$asProps3","_this$state","highlightedLine","createElement","StackBar","x","undefined","y","index","BarComponent","HorizontalBar","Bar","commonBarComponentProps","color","transparent","id","checked","_extends2","renderTooltip","_this","_this$asProps4","showTotalInTooltip","showTooltip","HoverRect","Tooltip","wMin","_ref","_dataItem$groupKey","xIndex","yIndex","dataItem","total","totalValue","children","Fragment","Title","toString","Flex","justifyContent","Dot","mr","label","Text","bold","tooltipValueFormatter","mt","Box","getLegendAriaLabel","getI18nText","chartType","AbstractChart","_defineProperty2","i18nEnhance","localizedMessages","HistogramChart","createComponent","exports"],"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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"}
@@ -20,6 +20,8 @@ var _ = require("../..");
20
20
  var _AbstractChart2 = require("./AbstractChart");
21
21
  var _flexBox = require("@semcore/flex-box");
22
22
  var _typography = require("@semcore/typography");
23
+ var _intergalacticDynamicLocales = require("../../translations/__intergalactic-dynamic-locales");
24
+ var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
23
25
  // @ts-ignore
24
26
  var LineChartComponent = /*#__PURE__*/function (_AbstractChart) {
25
27
  (0, _inherits2["default"])(LineChartComponent, _AbstractChart);
@@ -138,10 +140,18 @@ var LineChartComponent = /*#__PURE__*/function (_AbstractChart) {
138
140
  };
139
141
  });
140
142
  }
143
+ }, {
144
+ key: "getLegendAriaLabel",
145
+ value: function getLegendAriaLabel() {
146
+ return this.asProps.getI18nText('legendForChart', {
147
+ chartType: 'Line'
148
+ });
149
+ }
141
150
  }]);
142
151
  return LineChartComponent;
143
152
  }(_AbstractChart2.AbstractChart);
144
153
  (0, _defineProperty2["default"])(LineChartComponent, "displayName", 'Chart.Line');
154
+ (0, _defineProperty2["default"])(LineChartComponent, "enhance", [(0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages)]);
145
155
  var LineChart = (0, _core["default"])(LineChartComponent);
146
156
  exports.LineChart = LineChart;
147
157
  //# sourceMappingURL=LineChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LineChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_flexBox","_typography","LineChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","data","groupKey","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","flatValues","_get2","_getPrototypeOf2","prototype","max","Math","_toConsumableArray2","min","value","renderChart","_this$asProps3","curve","showDots","area","areaCurve","_this$state","state","dataDefinitions","highlightedLine","map","item","index","checked","createElement","Line","x","toString","y","id","color","transparent","Dots","display","Area","y0","y1","renderTooltip","_this","_this$asProps4","showTotalInTooltip","showTooltip","HoverLine","Tooltip","wMin","_ref","_dataItem$groupKey","xIndex","dataItem","total","totalValue","children","Fragment","Title","Flex","justifyContent","Dot","mr","label","Text","bold","tooltipValueFormatter","mt","Box","AbstractChart","_defineProperty2","LineChart","createComponent","exports"],"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","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_flexBox","_typography","_intergalacticDynamicLocales","_i18nEnhance","LineChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","data","groupKey","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","flatValues","_get2","_getPrototypeOf2","prototype","max","Math","_toConsumableArray2","min","value","renderChart","_this$asProps3","curve","showDots","area","areaCurve","_this$state","state","dataDefinitions","highlightedLine","map","item","index","checked","createElement","Line","x","toString","y","id","color","transparent","Dots","display","Area","y0","y1","renderTooltip","_this","_this$asProps4","showTotalInTooltip","showTooltip","HoverLine","Tooltip","wMin","_ref","_dataItem$groupKey","xIndex","dataItem","total","totalValue","children","Fragment","Title","Flex","justifyContent","Dot","mr","label","Text","bold","tooltipValueFormatter","mt","Box","getLegendAriaLabel","getI18nText","chartType","AbstractChart","_defineProperty2","i18nEnhance","localizedMessages","LineChart","createComponent","exports"],"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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"}
@@ -12,11 +12,14 @@ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
12
12
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
14
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
16
  var _react = _interopRequireDefault(require("react"));
16
17
  var _core = _interopRequireDefault(require("@semcore/core"));
17
18
  var _d3Scale = require("d3-scale");
18
19
  var _AbstractChart2 = require("./AbstractChart");
19
20
  var _ = require("../..");
21
+ var _intergalacticDynamicLocales = require("../../translations/__intergalactic-dynamic-locales");
22
+ var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
20
23
  // @ts-ignore
21
24
  var RadarChartComponent = /*#__PURE__*/function (_AbstractChart) {
22
25
  (0, _inherits2["default"])(RadarChartComponent, _AbstractChart);
@@ -108,6 +111,13 @@ var RadarChartComponent = /*#__PURE__*/function (_AbstractChart) {
108
111
  var _this$asProps$scale2;
109
112
  return (_this$asProps$scale2 = this.asProps.scale) !== null && _this$asProps$scale2 !== void 0 ? _this$asProps$scale2 : (0, _d3Scale.scaleLinear)().domain(this.domain);
110
113
  }
114
+ }, {
115
+ key: "getLegendAriaLabel",
116
+ value: function getLegendAriaLabel() {
117
+ return this.asProps.getI18nText('legendForChart', {
118
+ chartType: 'Radar'
119
+ });
120
+ }
111
121
  }, {
112
122
  key: "domain",
113
123
  get: function get() {
@@ -116,6 +126,7 @@ var RadarChartComponent = /*#__PURE__*/function (_AbstractChart) {
116
126
  }]);
117
127
  return RadarChartComponent;
118
128
  }(_AbstractChart2.AbstractChart);
129
+ (0, _defineProperty2["default"])(RadarChartComponent, "enhance", [(0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages)]);
119
130
  var RadarChart = (0, _core["default"])(RadarChartComponent);
120
131
  exports.RadarChart = RadarChart;
121
132
  //# sourceMappingURL=RadarChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadarChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_AbstractChart2","_","RadarChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","renderChart","_this$asProps","asProps","groupKey","showDots","circle","_this$state","state","dataDefinitions","highlightedLine","createElement","Radar","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","scaleLinear","domain","_this$asProps$scale2","Math","min","_toConsumableArray2","_get2","_getPrototypeOf2","prototype","max","AbstractChart","RadarChart","createComponent","exports"],"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":"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"}
1
+ {"version":3,"file":"RadarChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_AbstractChart2","_","_intergalacticDynamicLocales","_i18nEnhance","RadarChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","renderChart","_this$asProps","asProps","groupKey","showDots","circle","_this$state","state","dataDefinitions","highlightedLine","createElement","Radar","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","scaleLinear","domain","_this$asProps$scale2","getLegendAriaLabel","getI18nText","chartType","Math","min","_toConsumableArray2","_get2","_getPrototypeOf2","prototype","max","AbstractChart","_defineProperty2","i18nEnhance","localizedMessages","RadarChart","createComponent","exports"],"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":";;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAGA,IAAAI,CAAA,GAAAJ,OAAA;AACA,IAAAK,4BAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAP,sBAAA,CAAAC,OAAA;AAHA;AAAA,IAKMO,mBAAmB,0BAAAC,cAAA;EAAA,IAAAC,UAAA,aAAAF,mBAAA,EAAAC,cAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,mBAAA;EAAA,SAAAA,oBAAA;IAAA,IAAAK,gBAAA,mBAAAL,mBAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAA,IAAAC,aAAA,aAAAR,mBAAA;IAAAS,GAAA;IAAAC,KAAA,EAOvB,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,oBACE7B,MAAA,YAAA8B,aAAA,CAACxB,CAAA,CAAAyB,KAAK;QAACC,KAAK,EAAE,IAAI,CAACC,MAAO;QAACC,IAAI,EAAET,MAAM,GAAG,QAAQ,GAAGU;MAAU,gBAC7DnC,MAAA,YAAA8B,aAAA,CAACxB,CAAA,CAAAyB,KAAK,CAACK,IAAI;QAACC,OAAO,EAAEd;MAAS,gBAC5BvB,MAAA,YAAA8B,aAAA,CAACxB,CAAA,CAAAyB,KAAK,CAACK,IAAI,CAACE,KAAK,OAAG,eACpBtC,MAAA,YAAA8B,aAAA,CAACxB,CAAA,CAAAyB,KAAK,CAACK,IAAI,CAACG,MAAM,OAAG,CACV,EACZ,IAAI,CAACC,kBAAkB,EAAE,EACzBZ,eAAe,CAACa,GAAG,CAAC,UAACC,IAAI,EAAK;QAC7B,OACEA,IAAI,CAACC,OAAO,iBACV3C,MAAA,YAAA8B,aAAA,CAACxB,CAAA,CAAAyB,KAAK,CAACa,OAAO;UAACP,OAAO,EAAEK,IAAI,CAACG,EAAG;UAAC3B,GAAG,EAAEwB,IAAI,CAACG,EAAG;UAACC,KAAK,EAAEJ,IAAI,CAACI;QAAM,gBAC/D9C,MAAA,YAAA8B,aAAA,CAACxB,CAAA,CAAAyB,KAAK,CAACa,OAAO,CAACG,IAAI,OAAG,EACrBvB,QAAQ,iBAAIxB,MAAA,YAAA8B,aAAA,CAACxB,CAAA,CAAAyB,KAAK,CAACa,OAAO,CAACI,IAAI,OAAG,CAEtC;MAEL,CAAC,CAAC,CACI;IAEZ;EAAC;IAAA9B,GAAA;IAAAC,KAAA,EAED,SAAAqB,mBAAA,EAAgD;MAAA,IAAAS,KAAA;MAC9C,IAAAC,cAAA,GAAwC,IAAI,CAAC5B,OAAO;QAA5C6B,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAE5B,QAAQ,GAAA2B,cAAA,CAAR3B,QAAQ;QAAE6B,WAAW,GAAAF,cAAA,CAAXE,WAAW;MACnC,IAAQxB,eAAe,GAAK,IAAI,CAACD,KAAK,CAA9BC,eAAe;MAEvB,IAAI,CAACwB,WAAW,EAAE;QAChB,OAAO,IAAI;MACb;MAEA,oBACEpD,MAAA,YAAA8B,aAAA,CAACxB,CAAA,CAAAyB,KAAK,CAACsB,OAAO;QAACC,IAAI,EAAE;MAAI,GACtB,UAAAC,IAAA,EAAoB;QAAA,IAAAC,cAAA;QAAA,IAAjBC,KAAK,GAAAF,IAAA,CAALE,KAAK;QACP,OAAO;UACLC,QAAQ,eACN1D,MAAA,YAAA8B,aAAA,CAAA9B,MAAA,YAAA2D,QAAA,qBACE3D,MAAA,YAAA8B,aAAA,CAACxB,CAAA,CAAAyB,KAAK,CAACsB,OAAO,CAACO,KAAK,SAAAJ,cAAA,GAAEL,IAAI,CAAC5B,QAAQ,CAAC,cAAAiC,cAAA,uBAAdA,cAAA,CAAiBC,KAAK,CAAC,CAAuB,EAEnE7B,eAAe,CAACa,GAAG,CAAC,UAACC,IAAI,EAAK;YAAA,IAAAmB,aAAA;YAC7B,IAAM1C,KAAK,IAAA0C,aAAA,GAAGV,IAAI,CAACT,IAAI,CAACG,EAAE,CAAC,cAAAgB,aAAA,uBAAbA,aAAA,CAAgBJ,KAAK,CAAC;YAEpC,OACEf,IAAI,CAACC,OAAO,iBACV3C,MAAA,YAAA8B,aAAA,CAACxB,CAAA,CAAAyB,KAAK,CAACsB,OAAO,CAACS,GAAG;cAAChB,KAAK,EAAEJ,IAAI,CAACI,KAAM;cAAC5B,GAAG,EAAEwB,IAAI,CAACG;YAAG,GAChDI,KAAI,CAACc,qBAAqB,CAAC5C,KAAK,CAAC,CAErC;UAEL,CAAC,CAAC;QAGR,CAAC;MACH,CAAC,CACa;IAEpB;;IAEA;IACA;EAAA;IAAAD,GAAA;IAAAC,KAAA,EACA,SAAA6C,cAAA,EAA2C;MACzC,OAAO,IAAI;IACb;EAAC;IAAA9C,GAAA;IAAA+C,GAAA,EAED,SAAAA,IAAA,EAAmC;MACjC,IAAAC,WAAA,GAA2B,IAAI,CAACC,KAAK;QAA7BhB,IAAI,GAAAe,WAAA,CAAJf,IAAI;QAAE5B,QAAQ,GAAA2C,WAAA,CAAR3C,QAAQ;MAEtB,IAAM6C,UAAoB,GAAGC,MAAM,CAACC,IAAI,CAACnB,IAAI,CAAC,CAACoB,MAAM,CAAC,UAACrD,GAAG;QAAA,OAAKA,GAAG,KAAKK,QAAQ;MAAA,EAAC;MAEhF,OAAO6C,UAAU;IACnB;EAAC;IAAAlD,GAAA;IAAA+C,GAAA,EAED,SAAAA,IAAA,EAA8C;MAAA,IAAAO,mBAAA;MAC5C,QAAAA,mBAAA,GAAO,IAAI,CAAClD,OAAO,CAACU,KAAK,cAAAwC,mBAAA,cAAAA,mBAAA,GAAI,IAAAC,oBAAW,GAAE,CAACC,MAAM,CAAC,IAAI,CAACA,MAAM,CAAC;IAChE;EAAC;IAAAxD,GAAA;IAAA+C,GAAA,EAED,SAAAA,IAAA,EAA8C;MAAA,IAAAU,oBAAA;MAC5C,QAAAA,oBAAA,GAAO,IAAI,CAACrD,OAAO,CAACU,KAAK,cAAA2C,oBAAA,cAAAA,oBAAA,GAAI,IAAAF,oBAAW,GAAE,CAACC,MAAM,CAAC,IAAI,CAACA,MAAM,CAAC;IAChE;EAAC;IAAAxD,GAAA;IAAAC,KAAA,EAED,SAAAyD,mBAAA,EAAuC;MACrC,OAAO,IAAI,CAACtD,OAAO,CAACuD,WAAW,CAAC,gBAAgB,EAAE;QAAEC,SAAS,EAAE;MAAQ,CAAC,CAAC;IAC3E;EAAC;IAAA5D,GAAA;IAAA+C,GAAA,EAED,SAAAA,IAAA,EAAuC;MACrC,OAAO,CAACc,IAAI,CAACC,GAAG,CAAAjE,KAAA,CAARgE,IAAI,MAAAE,mBAAA,iBAAAC,KAAA,iBAAAC,gBAAA,aAAA1E,mBAAA,CAAA2E,SAAA,wBAAyB,EAAEL,IAAI,CAACM,GAAG,CAAAtE,KAAA,CAARgE,IAAI,MAAAE,mBAAA,iBAAAC,KAAA,iBAAAC,gBAAA,aAAA1E,mBAAA,CAAA2E,SAAA,wBAAyB,CAAC;IACvE;EAAC;EAAA,OAAA3E,mBAAA;AAAA,EA/F+B6E,6BAAa;AAAA,IAAAC,gBAAA,aAAzC9E,mBAAmB,aAKN,CAAC,IAAA+E,uBAAW,EAACC,8CAAiB,CAAC,CAAC;AA6F5C,IAAMC,UAA0B,GAAG,IAAAC,gBAAe,EAAClF,mBAAmB,CAAC;AAACmF,OAAA,CAAAF,UAAA,GAAAA,UAAA"}
@@ -18,6 +18,8 @@ var _d3Scale = require("d3-scale");
18
18
  var _ = require("../..");
19
19
  var _AbstractChart2 = require("./AbstractChart");
20
20
  var _typography = require("@semcore/typography");
21
+ var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
22
+ var _intergalacticDynamicLocales = require("../../translations/__intergalactic-dynamic-locales");
21
23
  // @ts-ignore
22
24
  var ScatterPlotChartComponent = /*#__PURE__*/function (_AbstractChart) {
23
25
  (0, _inherits2["default"])(ScatterPlotChartComponent, _AbstractChart);
@@ -151,6 +153,13 @@ var ScatterPlotChartComponent = /*#__PURE__*/function (_AbstractChart) {
151
153
  });
152
154
  });
153
155
  }
156
+ }, {
157
+ key: "getLegendAriaLabel",
158
+ value: function getLegendAriaLabel() {
159
+ return this.asProps.getI18nText('legendForChart', {
160
+ chartType: 'ScatterPlot'
161
+ });
162
+ }
154
163
  }]);
155
164
  return ScatterPlotChartComponent;
156
165
  }(_AbstractChart2.AbstractChart);
@@ -162,6 +171,7 @@ var ScatterPlotChartComponent = /*#__PURE__*/function (_AbstractChart) {
162
171
  showTooltip: true,
163
172
  showLegend: false
164
173
  });
174
+ (0, _defineProperty2["default"])(ScatterPlotChartComponent, "enhance", [(0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages)]);
165
175
  var ScatterPlotChart = (0, _core["default"])(ScatterPlotChartComponent);
166
176
  exports.ScatterPlotChart = ScatterPlotChart;
167
177
  //# sourceMappingURL=ScatterPlotChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScatterPlotChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_typography","ScatterPlotChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","_this$props","props","data","groupKey","valueKey","Object","keys","filter","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","radius","getScatterPlotRadius","getValueScale","_toConsumableArray2","flatValues","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","max","Math","min","_this$asProps3","reduce","result","item","entries","forEach","_ref","_ref2","_slicedToArray2","value","add","Set","renderChart","_this$asProps4","dataDefinitions","state","map","checked","createElement","ScatterPlot","x","y","id","color","renderTooltip","_this","_this$asProps5","showTooltip","Tooltip","wMin","_ref3","index","children","Fragment","Dot","Text","tag","tooltipValueFormatter","AbstractChart","_defineProperty2","direction","showXAxis","showYAxis","showLegend","ScatterPlotChart","createComponent","exports"],"sources":["../../../../src/component/Chart/ScatterPlotChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { minMax, ScatterPlot, getScatterPlotRadius } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport {\n ScatterPlotChartData,\n ScatterPlotChartProps,\n ScatterPlotChartType,\n} from './ScatterPlotChart.type';\nimport { Text } from '@semcore/typography';\nimport { BaseChartProps, ListData } from './AbstractChart.type';\n\nclass ScatterPlotChartComponent extends AbstractChart<ScatterPlotChartData, ScatterPlotChartProps> {\n static displayName = 'Chart.ScatterPlot';\n public static defaultProps: Partial<BaseChartProps<ListData>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: false,\n };\n\n protected get dataKeys(): string[] {\n const { data, groupKey, valueKey } = this.props;\n\n return Object.keys(data[0]).filter((key) => key !== groupKey && key !== valueKey);\n }\n\n protected get xScale() {\n const { xScale, marginY = 30, plotWidth, data, groupKey, valueKey } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const radius = getScatterPlotRadius(valueKey) / this.getValueScale([...this.flatValues]);\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[0] - radius, domain[1] + radius], range);\n }\n\n return scaleLinear([domain[0] - radius, domain[1] + radius], range);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 30, plotHeight, valueKey } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = this.flatValues;\n const radius = getScatterPlotRadius(valueKey) / this.getValueScale([...flatValues]);\n\n const max = Math.max(...flatValues) + radius;\n const min = Math.min(...flatValues) - radius;\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey, valueKey } = this.asProps;\n\n const flatValues = data.reduce<Set<number>>((result, item) => {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && key !== valueKey && typeof value === 'number') {\n result.add(value);\n }\n });\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected renderChart() {\n const { groupKey, valueKey } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.map((item) => {\n return (\n item.checked && (\n <ScatterPlot x={groupKey} y={item.id} key={item.id} color={item.color} value={valueKey} />\n )\n );\n });\n }\n\n protected renderTooltip() {\n const { data, groupKey, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return dataDefinitions\n .filter((item) => item.checked)\n .map((item) => {\n return (\n <ScatterPlot.Tooltip key={item.id} x={groupKey} y={item.id} wMin={100}>\n {({ index, x, y }: any) => {\n return {\n children: (\n <>\n <ScatterPlot.Tooltip.Dot color={item.color}>Data</ScatterPlot.Tooltip.Dot>\n <Text tag='div'>X axis {this.tooltipValueFormatter(data[index][x])}</Text>\n <Text tag='div'>Y axis {this.tooltipValueFormatter(data[index][y])}</Text>\n </>\n ),\n };\n }}\n </ScatterPlot.Tooltip>\n );\n });\n }\n}\n\nexport const ScatterPlotChart: ScatterPlotChartType = createComponent(ScatterPlotChartComponent);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ScatterPlotChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_typography","_i18nEnhance","_intergalacticDynamicLocales","ScatterPlotChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","_this$props","props","data","groupKey","valueKey","Object","keys","filter","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","radius","getScatterPlotRadius","getValueScale","_toConsumableArray2","flatValues","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","max","Math","min","_this$asProps3","reduce","result","item","entries","forEach","_ref","_ref2","_slicedToArray2","value","add","Set","renderChart","_this$asProps4","dataDefinitions","state","map","checked","createElement","ScatterPlot","x","y","id","color","renderTooltip","_this","_this$asProps5","showTooltip","Tooltip","wMin","_ref3","index","children","Fragment","Dot","Text","tag","tooltipValueFormatter","getLegendAriaLabel","getI18nText","chartType","AbstractChart","_defineProperty2","direction","showXAxis","showYAxis","showLegend","i18nEnhance","localizedMessages","ScatterPlotChart","createComponent","exports"],"sources":["../../../../src/component/Chart/ScatterPlotChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { minMax, ScatterPlot, getScatterPlotRadius } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport {\n ScatterPlotChartData,\n ScatterPlotChartProps,\n ScatterPlotChartType,\n} from './ScatterPlotChart.type';\nimport { Text } from '@semcore/typography';\nimport { BaseChartProps, ListData } from './AbstractChart.type';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass ScatterPlotChartComponent extends AbstractChart<\n ScatterPlotChartData,\n ScatterPlotChartProps,\n typeof ScatterPlotChartComponent.enhance\n> {\n static displayName = 'Chart.ScatterPlot';\n public static defaultProps: Partial<BaseChartProps<ListData>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: false,\n };\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n protected get dataKeys(): string[] {\n const { data, groupKey, valueKey } = this.props;\n\n return Object.keys(data[0]).filter((key) => key !== groupKey && key !== valueKey);\n }\n\n protected get xScale() {\n const { xScale, marginY = 30, plotWidth, data, groupKey, valueKey } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const radius = getScatterPlotRadius(valueKey) / this.getValueScale([...this.flatValues]);\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[0] - radius, domain[1] + radius], range);\n }\n\n return scaleLinear([domain[0] - radius, domain[1] + radius], range);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 30, plotHeight, valueKey } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = this.flatValues;\n const radius = getScatterPlotRadius(valueKey) / this.getValueScale([...flatValues]);\n\n const max = Math.max(...flatValues) + radius;\n const min = Math.min(...flatValues) - radius;\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey, valueKey } = this.asProps;\n\n const flatValues = data.reduce<Set<number>>((result, item) => {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && key !== valueKey && typeof value === 'number') {\n result.add(value);\n }\n });\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected renderChart() {\n const { groupKey, valueKey } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.map((item) => {\n return (\n item.checked && (\n <ScatterPlot x={groupKey} y={item.id} key={item.id} color={item.color} value={valueKey} />\n )\n );\n });\n }\n\n protected renderTooltip() {\n const { data, groupKey, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return dataDefinitions\n .filter((item) => item.checked)\n .map((item) => {\n return (\n <ScatterPlot.Tooltip key={item.id} x={groupKey} y={item.id} wMin={100}>\n {({ index, x, y }: any) => {\n return {\n children: (\n <>\n <ScatterPlot.Tooltip.Dot color={item.color}>Data</ScatterPlot.Tooltip.Dot>\n <Text tag='div'>X axis {this.tooltipValueFormatter(data[index][x])}</Text>\n <Text tag='div'>Y axis {this.tooltipValueFormatter(data[index][y])}</Text>\n </>\n ),\n };\n }}\n </ScatterPlot.Tooltip>\n );\n });\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'ScatterPlot' });\n }\n}\n\nexport const ScatterPlotChart: ScatterPlotChartType = createComponent(ScatterPlotChartComponent);\n"],"mappings":"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"}
@@ -16,6 +16,8 @@ var _d3Scale = require("d3-scale");
16
16
  var _ = require("../..");
17
17
  var _AbstractChart2 = require("./AbstractChart");
18
18
  var _typography = require("@semcore/typography");
19
+ var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
20
+ var _intergalacticDynamicLocales = require("../../translations/__intergalactic-dynamic-locales");
19
21
  // @ts-ignore
20
22
  var VennChartComponent = /*#__PURE__*/function (_AbstractChart) {
21
23
  (0, _inherits2["default"])(VennChartComponent, _AbstractChart);
@@ -45,9 +47,7 @@ var VennChartComponent = /*#__PURE__*/function (_AbstractChart) {
45
47
  }, {
46
48
  key: "dataKeys",
47
49
  get: function get() {
48
- var _this$props = this.props,
49
- data = _this$props.data,
50
- groupKey = _this$props.groupKey;
50
+ var data = this.props.data;
51
51
  var legendKeys = Object.keys(data).filter(function (item) {
52
52
  var isIntersection = /\//.test(item);
53
53
  return !isIntersection;
@@ -129,6 +129,13 @@ var VennChartComponent = /*#__PURE__*/function (_AbstractChart) {
129
129
  };
130
130
  });
131
131
  }
132
+ }, {
133
+ key: "getLegendAriaLabel",
134
+ value: function getLegendAriaLabel() {
135
+ return this.asProps.getI18nText('legendForChart', {
136
+ chartType: 'Venn'
137
+ });
138
+ }
132
139
  }]);
133
140
  return VennChartComponent;
134
141
  }(_AbstractChart2.AbstractChart);
@@ -139,6 +146,7 @@ var VennChartComponent = /*#__PURE__*/function (_AbstractChart) {
139
146
  marginY: 0,
140
147
  marginX: 0
141
148
  });
149
+ (0, _defineProperty2["default"])(VennChartComponent, "enhance", [(0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages)]);
142
150
  var VennChart = (0, _core["default"])(VennChartComponent);
143
151
  exports.VennChart = VennChart;
144
152
  //# sourceMappingURL=VennChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VennChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_typography","VennChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","xScale","asProps","scaleLinear","yScale","_this$props","props","data","groupKey","legendKeys","Object","keys","filter","item","isIntersection","test","value","defaultLegendProps","legendType","renderChart","_this$state","state","dataDefinitions","highlightedLine","checkedLegendItems","checked","checkedLegendItemsMap","reduce","result","id","intersections","dataKey","push","createElement","Venn","map","index","Circle","name","label","color","transparent","intersectionKey","intersectionKeys","split","hasDisabledItems","some","undefined","_dataDefinitions$find","find","legendItem","join","Intersection","renderTooltip","showTooltip","Tooltip","_ref","children","Fragment","Title","Text","bold","AbstractChart","_defineProperty2","direction","alignItems","marginY","marginX","VennChart","createComponent","exports"],"sources":["../../../../src/component/Chart/VennChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { BaseChartProps } from './AbstractChart.type';\nimport { scaleLinear } from 'd3-scale';\n// @ts-ignore\nimport { Venn } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { Text } from '@semcore/typography';\nimport { VennChartData, VennChartProps, VennChartType } from './VennChart.type';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\n\nclass VennChartComponent extends AbstractChart<VennChartData, VennChartProps> {\n static displayName = 'Chart.Venn';\n\n static defaultProps: Partial<BaseChartProps<VennChartData>> = {\n direction: 'row-reverse',\n alignItems: 'flex-start',\n marginY: 0,\n marginX: 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 protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n const legendKeys: string[] = Object.keys(data).filter((item) => {\n const isIntersection = /\\//.test(item);\n\n return !isIntersection;\n });\n\n return legendKeys;\n }\n\n defaultLegendProps() {\n return {\n legendType: 'Table' as const,\n };\n }\n\n renderChart() {\n const { data } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n const checkedLegendItems = dataDefinitions.filter((item) => item.checked);\n const checkedLegendItemsMap = checkedLegendItems.reduce<Record<string, LegendItem>>(\n (result, item) => {\n result[item.id] = item;\n\n return result;\n },\n {},\n );\n\n const intersections = Object.keys(data).reduce<string[]>((result, dataKey) => {\n const isIntersection = /\\//.test(dataKey);\n\n if (isIntersection) {\n result.push(dataKey);\n }\n\n return result;\n }, []);\n\n return (\n <Venn>\n {checkedLegendItems.map((item, index) => {\n return (\n <Venn.Circle\n key={item.id}\n dataKey={item.id}\n name={item.label}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n />\n );\n })}\n\n {intersections.map((intersectionKey) => {\n const intersectionKeys = intersectionKey.split('/');\n\n const hasDisabledItems = intersectionKeys.some((key) => {\n return checkedLegendItemsMap[key] === undefined;\n });\n\n if (hasDisabledItems) {\n return null;\n }\n\n const name = intersectionKeys\n .map((id) => {\n return dataDefinitions.find((legendItem) => legendItem.id === id)?.label || '';\n })\n .join(' & ');\n\n return <Venn.Intersection key={intersectionKey} dataKey={intersectionKey} name={name} />;\n })}\n </Venn>\n );\n }\n\n renderTooltip() {\n const { showTooltip } = this.asProps;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <Venn.Tooltip>\n {({ name, dataKey, data }: any) => {\n return {\n children: (\n <>\n <Venn.Tooltip.Title>{name}</Venn.Tooltip.Title>\n <Text bold>{data[dataKey]}</Text>\n </>\n ),\n };\n }}\n </Venn.Tooltip>\n );\n }\n}\n\nexport const VennChart: VennChartType = createComponent(VennChartComponent);\n"],"mappings":"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"}
1
+ {"version":3,"file":"VennChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_typography","_i18nEnhance","_intergalacticDynamicLocales","VennChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","xScale","asProps","scaleLinear","yScale","data","props","legendKeys","Object","keys","filter","item","isIntersection","test","value","defaultLegendProps","legendType","renderChart","_this$state","state","dataDefinitions","highlightedLine","checkedLegendItems","checked","checkedLegendItemsMap","reduce","result","id","intersections","dataKey","push","createElement","Venn","map","index","Circle","name","label","color","transparent","intersectionKey","intersectionKeys","split","hasDisabledItems","some","undefined","_dataDefinitions$find","find","legendItem","join","Intersection","renderTooltip","showTooltip","Tooltip","_ref","children","Fragment","Title","Text","bold","getLegendAriaLabel","getI18nText","chartType","AbstractChart","_defineProperty2","direction","alignItems","marginY","marginX","i18nEnhance","localizedMessages","VennChart","createComponent","exports"],"sources":["../../../../src/component/Chart/VennChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { BaseChartProps } from './AbstractChart.type';\nimport { scaleLinear } from 'd3-scale';\n// @ts-ignore\nimport { Venn } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { Text } from '@semcore/typography';\nimport { VennChartData, VennChartProps, VennChartType } from './VennChart.type';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass VennChartComponent extends AbstractChart<\n VennChartData,\n VennChartProps,\n typeof VennChartComponent.enhance\n> {\n static displayName = 'Chart.Venn';\n\n static defaultProps: Partial<BaseChartProps<VennChartData>> = {\n direction: 'row-reverse',\n alignItems: 'flex-start',\n marginY: 0,\n marginX: 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 protected get dataKeys(): string[] {\n const { data } = this.props;\n\n const legendKeys: string[] = Object.keys(data).filter((item) => {\n const isIntersection = /\\//.test(item);\n\n return !isIntersection;\n });\n\n return legendKeys;\n }\n\n defaultLegendProps() {\n return {\n legendType: 'Table' as const,\n };\n }\n\n renderChart() {\n const { data } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n const checkedLegendItems = dataDefinitions.filter((item) => item.checked);\n const checkedLegendItemsMap = checkedLegendItems.reduce<Record<string, LegendItem>>(\n (result, item) => {\n result[item.id] = item;\n\n return result;\n },\n {},\n );\n\n const intersections = Object.keys(data).reduce<string[]>((result, dataKey) => {\n const isIntersection = /\\//.test(dataKey);\n\n if (isIntersection) {\n result.push(dataKey);\n }\n\n return result;\n }, []);\n\n return (\n <Venn>\n {checkedLegendItems.map((item, index) => {\n return (\n <Venn.Circle\n key={item.id}\n dataKey={item.id}\n name={item.label}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n />\n );\n })}\n\n {intersections.map((intersectionKey) => {\n const intersectionKeys = intersectionKey.split('/');\n\n const hasDisabledItems = intersectionKeys.some((key) => {\n return checkedLegendItemsMap[key] === undefined;\n });\n\n if (hasDisabledItems) {\n return null;\n }\n\n const name = intersectionKeys\n .map((id) => {\n return dataDefinitions.find((legendItem) => legendItem.id === id)?.label || '';\n })\n .join(' & ');\n\n return <Venn.Intersection key={intersectionKey} dataKey={intersectionKey} name={name} />;\n })}\n </Venn>\n );\n }\n\n renderTooltip() {\n const { showTooltip } = this.asProps;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <Venn.Tooltip>\n {({ name, dataKey, data }: any) => {\n return {\n children: (\n <>\n <Venn.Tooltip.Title>{name}</Venn.Tooltip.Title>\n <Text bold>{data[dataKey]}</Text>\n </>\n ),\n };\n }}\n </Venn.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Venn' });\n }\n}\n\nexport const VennChart: VennChartType = createComponent(VennChartComponent);\n"],"mappings":"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"}
@@ -24,15 +24,9 @@ var BaseLegend = /*#__PURE__*/function (_Component) {
24
24
  args[_key] = arguments[_key];
25
25
  }
26
26
  _this = _super.call.apply(_super, [this].concat(args));
27
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindOnChange", function (id) {
28
- var item = _this.asProps.items.find(function (item) {
29
- return item.id === id;
30
- });
31
- return function () {
32
- var _this$props$onChangeV, _this$props;
33
- var checked = !(item !== null && item !== void 0 && item.checked);
34
- (_this$props$onChangeV = (_this$props = _this.props).onChangeVisibleItem) === null || _this$props$onChangeV === void 0 ? void 0 : _this$props$onChangeV.call(_this$props, id, checked);
35
- };
27
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeLegendItem", function (id, checked) {
28
+ var _this$props$onChangeV, _this$props;
29
+ (_this$props$onChangeV = (_this$props = _this.props).onChangeVisibleItem) === null || _this$props$onChangeV === void 0 ? void 0 : _this$props$onChangeV.call(_this$props, id, checked);
36
30
  });
37
31
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindOnMouseEnterItem", function (id) {
38
32
  return function (e) {
@@ -93,7 +87,7 @@ var BaseLegend = /*#__PURE__*/function (_Component) {
93
87
  return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, line), {}, {
94
88
  shape: shape,
95
89
  size: size,
96
- onClick: this.bindOnChange(line.id),
90
+ onChangeLegendItem: this.onChangeLegendItem,
97
91
  onMouseEnter: this.bindOnMouseEnterItem(line.id),
98
92
  onMouseLeave: this.bindOnMouseLeaveItem(line.id),
99
93
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseLegend.js","names":["_core","require","_hints","BaseLegend","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","id","item","asProps","items","find","_this$props$onChangeV","_this$props","checked","props","onChangeVisibleItem","e","_this$props$onMouseEn","_this$props2","onMouseEnterItem","_this$props$onMouseLe","_this$props3","onMouseLeaveItem","_createClass2","key","value","componentDidMount","setHints","componentDidUpdate","prevProps","dataHints","_this$asProps","dataHintsHandler","makeDataHintsHandlers","undefined","forEach","legendItem","labelKey","label","getItem","index","line","Error","getLegendItemProps","_","_this$asProps2","_this$asProps2$shape","shape","_this$asProps2$size","size","patterns","_objectSpread2","onClick","bindOnChange","onMouseEnter","bindOnMouseEnterItem","onMouseLeave","bindOnMouseLeaveItem","style","gridRowStart","gridRowEnd","Component","exports"],"sources":["../../../../src/component/ChartLegend/BaseLegend.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, Intergalactic } from '@semcore/core';\nimport { LegendItemKey, LegendItemProps } from './LegendItem/LegendItem.type';\nimport { LegendProps } from './BaseLegend.type';\nimport { makeDataHintsHandlers } from '../../a11y/hints';\n\nexport abstract class BaseLegend<T extends LegendProps> extends Component<T> {\n componentDidMount() {\n this.setHints();\n }\n\n componentDidUpdate(prevProps: T) {\n if (prevProps.items !== this.props.items || prevProps.dataHints !== this.props.dataHints) {\n this.setHints();\n }\n }\n\n setHints() {\n const { items, dataHints } = this.asProps;\n const dataHintsHandler = dataHints ? makeDataHintsHandlers(dataHints) : undefined;\n\n items.forEach((legendItem) => {\n dataHintsHandler?.labelKey('value', legendItem.id, legendItem.label);\n });\n }\n\n getItem(index: number) {\n const line = this.asProps.items[index];\n\n if (line === undefined) {\n throw new Error(`No index \"${index}\" in lines`);\n }\n\n return line;\n }\n\n getLegendItemProps(\n _: {},\n index: number,\n ): LegendItemProps & Intergalactic.InternalTypings.ComponentPropsNesting<'div'> {\n const { shape = 'Checkbox', size = 'm', patterns } = this.asProps;\n const line = this.getItem(index);\n\n return {\n ...line,\n shape,\n size,\n onClick: this.bindOnChange(line.id),\n onMouseEnter: this.bindOnMouseEnterItem(line.id),\n onMouseLeave: this.bindOnMouseLeaveItem(line.id),\n style: { gridRowStart: `${index + 1}`, gridRowEnd: `${index + 2}` },\n patterns,\n };\n }\n\n bindOnChange = (id: LegendItemKey) => {\n const item = this.asProps.items.find((item) => item.id === id);\n\n return () => {\n const checked = !item?.checked;\n\n this.props.onChangeVisibleItem?.(id, checked);\n };\n };\n\n bindOnMouseEnterItem = (id: LegendItemKey) => {\n return (e: React.SyntheticEvent) => {\n this.props.onMouseEnterItem?.(id, e);\n };\n };\n\n bindOnMouseLeaveItem = (id: LegendItemKey) => {\n return (e: React.SyntheticEvent) => {\n this.props.onMouseLeaveItem?.(id, e);\n };\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AAAyD,IAEnCE,UAAU,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,UAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,UAAA;EAAA,SAAAA,WAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,UAAA;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;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,mBAiDf,UAACa,EAAiB,EAAK;MACpC,IAAMC,IAAI,GAAGd,KAAA,CAAKe,OAAO,CAACC,KAAK,CAACC,IAAI,CAAC,UAACH,IAAI;QAAA,OAAKA,IAAI,CAACD,EAAE,KAAKA,EAAE;MAAA,EAAC;MAE9D,OAAO,YAAM;QAAA,IAAAK,qBAAA,EAAAC,WAAA;QACX,IAAMC,OAAO,GAAG,EAACN,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEM,OAAO;QAE9B,CAAAF,qBAAA,IAAAC,WAAA,GAAAnB,KAAA,CAAKqB,KAAK,EAACC,mBAAmB,cAAAJ,qBAAA,uBAA9BA,qBAAA,CAAAV,IAAA,CAAAW,WAAA,EAAiCN,EAAE,EAAEO,OAAO,CAAC;MAC/C,CAAC;IACH,CAAC;IAAA,IAAAT,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,2BAEsB,UAACa,EAAiB,EAAK;MAC5C,OAAO,UAACU,CAAuB,EAAK;QAAA,IAAAC,qBAAA,EAAAC,YAAA;QAClC,CAAAD,qBAAA,IAAAC,YAAA,GAAAzB,KAAA,CAAKqB,KAAK,EAACK,gBAAgB,cAAAF,qBAAA,uBAA3BA,qBAAA,CAAAhB,IAAA,CAAAiB,YAAA,EAA8BZ,EAAE,EAAEU,CAAC,CAAC;MACtC,CAAC;IACH,CAAC;IAAA,IAAAZ,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,2BAEsB,UAACa,EAAiB,EAAK;MAC5C,OAAO,UAACU,CAAuB,EAAK;QAAA,IAAAI,qBAAA,EAAAC,YAAA;QAClC,CAAAD,qBAAA,IAAAC,YAAA,GAAA5B,KAAA,CAAKqB,KAAK,EAACQ,gBAAgB,cAAAF,qBAAA,uBAA3BA,qBAAA,CAAAnB,IAAA,CAAAoB,YAAA,EAA8Bf,EAAE,EAAEU,CAAC,CAAC;MACtC,CAAC;IACH,CAAC;IAAA,OAAAvB,KAAA;EAAA;EAAA,IAAA8B,aAAA,aAAAnC,UAAA;IAAAoC,GAAA;IAAAC,KAAA,EApED,SAAAC,kBAAA,EAAoB;MAClB,IAAI,CAACC,QAAQ,EAAE;IACjB;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAG,mBAAmBC,SAAY,EAAE;MAC/B,IAAIA,SAAS,CAACpB,KAAK,KAAK,IAAI,CAACK,KAAK,CAACL,KAAK,IAAIoB,SAAS,CAACC,SAAS,KAAK,IAAI,CAAChB,KAAK,CAACgB,SAAS,EAAE;QACxF,IAAI,CAACH,QAAQ,EAAE;MACjB;IACF;EAAC;IAAAH,GAAA;IAAAC,KAAA,EAED,SAAAE,SAAA,EAAW;MACT,IAAAI,aAAA,GAA6B,IAAI,CAACvB,OAAO;QAAjCC,KAAK,GAAAsB,aAAA,CAALtB,KAAK;QAAEqB,SAAS,GAAAC,aAAA,CAATD,SAAS;MACxB,IAAME,gBAAgB,GAAGF,SAAS,GAAG,IAAAG,4BAAqB,EAACH,SAAS,CAAC,GAAGI,SAAS;MAEjFzB,KAAK,CAAC0B,OAAO,CAAC,UAACC,UAAU,EAAK;QAC5BJ,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEK,QAAQ,CAAC,OAAO,EAAED,UAAU,CAAC9B,EAAE,EAAE8B,UAAU,CAACE,KAAK,CAAC;MACtE,CAAC,CAAC;IACJ;EAAC;IAAAd,GAAA;IAAAC,KAAA,EAED,SAAAc,QAAQC,KAAa,EAAE;MACrB,IAAMC,IAAI,GAAG,IAAI,CAACjC,OAAO,CAACC,KAAK,CAAC+B,KAAK,CAAC;MAEtC,IAAIC,IAAI,KAAKP,SAAS,EAAE;QACtB,MAAM,IAAIQ,KAAK,eAAAvC,MAAA,CAAcqC,KAAK,iBAAa;MACjD;MAEA,OAAOC,IAAI;IACb;EAAC;IAAAjB,GAAA;IAAAC,KAAA,EAED,SAAAkB,mBACEC,CAAK,EACLJ,KAAa,EACiE;MAC9E,IAAAK,cAAA,GAAqD,IAAI,CAACrC,OAAO;QAAAsC,oBAAA,GAAAD,cAAA,CAAzDE,KAAK;QAALA,KAAK,GAAAD,oBAAA,cAAG,UAAU,GAAAA,oBAAA;QAAAE,mBAAA,GAAAH,cAAA,CAAEI,IAAI;QAAJA,IAAI,GAAAD,mBAAA,cAAG,GAAG,GAAAA,mBAAA;QAAEE,QAAQ,GAAAL,cAAA,CAARK,QAAQ;MAChD,IAAMT,IAAI,GAAG,IAAI,CAACF,OAAO,CAACC,KAAK,CAAC;MAEhC,WAAAW,cAAA,iBAAAA,cAAA,iBACKV,IAAI;QACPM,KAAK,EAALA,KAAK;QACLE,IAAI,EAAJA,IAAI;QACJG,OAAO,EAAE,IAAI,CAACC,YAAY,CAACZ,IAAI,CAACnC,EAAE,CAAC;QACnCgD,YAAY,EAAE,IAAI,CAACC,oBAAoB,CAACd,IAAI,CAACnC,EAAE,CAAC;QAChDkD,YAAY,EAAE,IAAI,CAACC,oBAAoB,CAAChB,IAAI,CAACnC,EAAE,CAAC;QAChDoD,KAAK,EAAE;UAAEC,YAAY,KAAAxD,MAAA,CAAKqC,KAAK,GAAG,CAAC,CAAE;UAAEoB,UAAU,KAAAzD,MAAA,CAAKqC,KAAK,GAAG,CAAC;QAAG,CAAC;QACnEU,QAAQ,EAARA;MAAQ;IAEZ;EAAC;EAAA,OAAA9D,UAAA;AAAA,EA/C6DyE,eAAS;AAAAC,OAAA,CAAA1E,UAAA,GAAAA,UAAA"}
1
+ {"version":3,"file":"BaseLegend.js","names":["_core","require","_hints","BaseLegend","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","id","checked","_this$props$onChangeV","_this$props","props","onChangeVisibleItem","e","_this$props$onMouseEn","_this$props2","onMouseEnterItem","_this$props$onMouseLe","_this$props3","onMouseLeaveItem","_createClass2","key","value","componentDidMount","setHints","componentDidUpdate","prevProps","items","dataHints","_this$asProps","asProps","dataHintsHandler","makeDataHintsHandlers","undefined","forEach","legendItem","labelKey","label","getItem","index","line","Error","getLegendItemProps","_","_this$asProps2","_this$asProps2$shape","shape","_this$asProps2$size","size","patterns","_objectSpread2","onChangeLegendItem","onMouseEnter","bindOnMouseEnterItem","onMouseLeave","bindOnMouseLeaveItem","style","gridRowStart","gridRowEnd","Component","exports"],"sources":["../../../../src/component/ChartLegend/BaseLegend.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, Intergalactic } from '@semcore/core';\nimport { LegendItemKey, LegendItemProps } from './LegendItem/LegendItem.type';\nimport { LegendProps } from './BaseLegend.type';\nimport { makeDataHintsHandlers } from '../../a11y/hints';\n\nexport abstract class BaseLegend<T extends LegendProps> extends Component<T> {\n componentDidMount() {\n this.setHints();\n }\n\n componentDidUpdate(prevProps: T) {\n if (prevProps.items !== this.props.items || prevProps.dataHints !== this.props.dataHints) {\n this.setHints();\n }\n }\n\n setHints() {\n const { items, dataHints } = this.asProps;\n const dataHintsHandler = dataHints ? makeDataHintsHandlers(dataHints) : undefined;\n\n items.forEach((legendItem) => {\n dataHintsHandler?.labelKey('value', legendItem.id, legendItem.label);\n });\n }\n\n getItem(index: number) {\n const line = this.asProps.items[index];\n\n if (line === undefined) {\n throw new Error(`No index \"${index}\" in lines`);\n }\n\n return line;\n }\n\n getLegendItemProps(\n _: {},\n index: number,\n ): LegendItemProps & Intergalactic.InternalTypings.ComponentPropsNesting<'div'> {\n const { shape = 'Checkbox', size = 'm', patterns } = this.asProps;\n const line = this.getItem(index);\n\n return {\n ...line,\n shape,\n size,\n onChangeLegendItem: this.onChangeLegendItem,\n onMouseEnter: this.bindOnMouseEnterItem(line.id),\n onMouseLeave: this.bindOnMouseLeaveItem(line.id),\n style: { gridRowStart: `${index + 1}`, gridRowEnd: `${index + 2}` },\n patterns,\n };\n }\n\n onChangeLegendItem = (id: LegendItemKey, checked: boolean) => {\n this.props.onChangeVisibleItem?.(id, checked);\n };\n\n bindOnMouseEnterItem = (id: LegendItemKey) => {\n return (e: React.SyntheticEvent) => {\n this.props.onMouseEnterItem?.(id, e);\n };\n };\n\n bindOnMouseLeaveItem = (id: LegendItemKey) => {\n return (e: React.SyntheticEvent) => {\n this.props.onMouseLeaveItem?.(id, e);\n };\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseLegend.type.js","names":[],"sources":["../../../../src/component/ChartLegend/BaseLegend.type.ts"],"sourcesContent":["import { BoxProps, FlexProps } from '@semcore/flex-box';\nimport { LegendItem, LegendItemKey, ShapeType } from './LegendItem/LegendItem.type';\nimport { DataStructureHints } from '../../a11y/hints';\nimport type { PatternsConfig } from '../../Pattern';\n\nexport type LSize = 'm' | 'l';\n\nexport type BaseChartLegendProps = FlexProps & {\n /**\n * Size for legend items\n */\n size?: LSize;\n /**\n * Shape of data item on Legend panel\n */\n shape?: ShapeType;\n /**\n * Handler for change visible for data items. Doesn't work if Shape one of 'Circle' | 'Line' | 'Square'\n */\n onChangeVisibleItem?: (key: LegendItemKey, isVisible: boolean) => void;\n\n onMouseEnterItem?: (key: LegendItemKey, e?: React.SyntheticEvent) => void;\n\n onMouseLeaveItem?: (key: LegendItemKey, e?: React.SyntheticEvent) => void;\n\n dataHints?: DataStructureHints;\n};\n\nexport type LegendProps = BoxProps &\n BaseChartLegendProps & {\n /**\n * Legend items\n */\n items: LegendItem[];\n\n /** Enables charts patterns that enhances charts accessibility */\n patterns?: PatternsConfig;\n };\n"],"mappings":""}
1
+ {"version":3,"file":"BaseLegend.type.js","names":[],"sources":["../../../../src/component/ChartLegend/BaseLegend.type.ts"],"sourcesContent":["import { BoxProps, FlexProps } from '@semcore/flex-box';\nimport { LegendItem, LegendItemKey, ShapeType } from './LegendItem/LegendItem.type';\nimport { DataStructureHints } from '../../a11y/hints';\nimport type { PatternsConfig } from '../../Pattern';\nimport { AriaNameProps } from '../Chart/AbstractChart.type';\n\nexport type LSize = 'm' | 'l';\n\nexport type BaseChartLegendProps = FlexProps &\n AriaNameProps & {\n /**\n * Size for legend items\n */\n size?: LSize;\n /**\n * Shape of data item on Legend panel\n */\n shape?: ShapeType;\n /**\n * Handler for change visible for data items. Doesn't work if Shape one of 'Circle' | 'Line' | 'Square'\n */\n onChangeVisibleItem?: (key: LegendItemKey, isVisible: boolean) => void;\n\n onMouseEnterItem?: (key: LegendItemKey, e?: React.SyntheticEvent) => void;\n\n onMouseLeaveItem?: (key: LegendItemKey, e?: React.SyntheticEvent) => void;\n\n dataHints?: DataStructureHints;\n };\n\nexport type LegendProps = BoxProps &\n BaseChartLegendProps & {\n /**\n * Legend items\n */\n items: LegendItem[];\n\n /** Enables charts patterns that enhances charts accessibility */\n patterns?: PatternsConfig;\n };\n"],"mappings":""}
@@ -23,10 +23,10 @@ var _BaseLegend2 = require("../BaseLegend");
23
23
  var _intergalacticDynamicLocales = require("../../../translations/__intergalactic-dynamic-locales");
24
24
  var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
25
25
  /*__reshadow-styles__:"./legend-flex.shadow.css"*/
26
- var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SLegendFlex_vvm4y_gg_._direction_row_vvm4y_gg_{align-items:flex-start;align-content:flex-start;flex-wrap:wrap;gap:8px 16px}.___SLegendFlex_vvm4y_gg_._direction_column_vvm4y_gg_{align-items:flex-start;flex-wrap:wrap;gap:8px}" /*__inner_css_end__*/, "vvm4y_gg_") /*__reshadow_css_end__*/, {
27
- "__SLegendFlex": "___SLegendFlex_vvm4y_gg_",
28
- "_direction_row": "_direction_row_vvm4y_gg_",
29
- "_direction_column": "_direction_column_vvm4y_gg_"
26
+ var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SLegendFlex_6u5v9_gg_._direction_row_6u5v9_gg_{align-items:flex-start;align-content:flex-start;flex-wrap:wrap;gap:8px 16px}.___SLegendFlex_6u5v9_gg_._direction_column_6u5v9_gg_{align-items:flex-start;flex-wrap:wrap;gap:8px}" /*__inner_css_end__*/, "6u5v9_gg_") /*__reshadow_css_end__*/, {
27
+ "__SLegendFlex": "___SLegendFlex_6u5v9_gg_",
28
+ "_direction_row": "_direction_row_6u5v9_gg_",
29
+ "_direction_column": "_direction_column_6u5v9_gg_"
30
30
  });
31
31
  var LegendFlexRoot = /*#__PURE__*/function (_BaseLegend) {
32
32
  (0, _inherits2["default"])(LegendFlexRoot, _BaseLegend);
@@ -66,7 +66,9 @@ var LegendFlexRoot = /*#__PURE__*/function (_BaseLegend) {
66
66
  suffix = _this$asProps.suffix,
67
67
  items = _this$asProps.items;
68
68
  var orientation = direction === 'row' ? 'vertical' : 'horizontal';
69
- return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SLegendFlex, _ref2.cn("SLegendFlex", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref))), items.map(function (_ref4) {
69
+ return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SLegendFlex, _ref2.cn("SLegendFlex", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
70
+ "role": 'group'
71
+ }, _ref))), items.map(function (_ref4) {
70
72
  var id = _ref4.id;
71
73
  return /*#__PURE__*/_react["default"].createElement(Children, {
72
74
  key: id
@@ -1 +1 @@
1
- {"version":3,"file":"LegendFlex.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_LegendItem","_divider","_checkbox","_BaseLegend2","_intergalacticDynamicLocales","_i18nEnhance","style","_index","sstyled","insert","LegendFlexRoot","_BaseLegend","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","renderTrend","_ref3","asProps","onTrendIsVisibleChange","trendIsVisible","trendLabel","size","getI18nText","createElement","checked","onChange","theme","label","render","_ref","_ref2","SLegendFlex","Flex","_this$asProps","styles","Children","direction","withTrend","suffix","items","orientation","cn","_objectSpread2","assignProps","map","_ref4","id","BaseLegend","_defineProperty2","i18nEnhance","localizedMessages","children","LegendFlex","LegendItem","createComponent","LegendItemComponent","exports"],"sources":["../../../../../src/component/ChartLegend/LegendFlex/LegendFlex.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { sstyled, Root } from '@semcore/core';\nimport { Flex } from '@semcore/flex-box';\nimport style from './legend-flex.shadow.css';\nimport { LegendFlexType, LegendFlexProps, TrendProps } from './LegendFlex.type';\nimport { LegendItemComponent } from '../LegendItem/LegendItem';\nimport Divider from '@semcore/divider';\nimport Checkbox from '@semcore/checkbox';\nimport { BaseLegend } from '../BaseLegend';\nimport { localizedMessages } from '../../../translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nclass LegendFlexRoot extends BaseLegend<LegendFlexProps> {\n static displayName = 'LegendFlex';\n static style = style;\n\n static enhance = [i18nEnhance(localizedMessages)];\n\n static defaultProps = () => ({\n direction: 'row',\n children: <LegendFlex.LegendItem />,\n });\n\n renderTrend() {\n const { onTrendIsVisibleChange, trendIsVisible, trendLabel, size, getI18nText } = this\n .asProps as TrendProps & LegendFlexProps & { getI18nText: (s: string) => string };\n\n return (\n <Checkbox\n checked={trendIsVisible}\n onChange={onTrendIsVisibleChange}\n theme={'gray-400'}\n label={trendLabel ?? getI18nText('trend')}\n size={size}\n />\n );\n }\n\n render() {\n const SLegendFlex = Root;\n const { styles, Children, direction, withTrend, suffix, items } = this.asProps;\n const orientation = direction === 'row' ? 'vertical' : 'horizontal';\n\n return sstyled(styles)(\n <SLegendFlex render={Flex}>\n {items.map(({ id }) => {\n return <Children key={id} />;\n })}\n {(withTrend || suffix) && <Divider orientation={orientation} />}\n {withTrend && this.renderTrend()}\n {suffix ? suffix : null}\n </SLegendFlex>,\n );\n }\n}\n\nexport const LegendFlex: LegendFlexType = createComponent(LegendFlexRoot, {\n LegendItem: LegendItemComponent,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"LegendFlex.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_LegendItem","_divider","_checkbox","_BaseLegend2","_intergalacticDynamicLocales","_i18nEnhance","style","_index","sstyled","insert","LegendFlexRoot","_BaseLegend","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","renderTrend","_ref3","asProps","onTrendIsVisibleChange","trendIsVisible","trendLabel","size","getI18nText","createElement","checked","onChange","theme","label","render","_ref","_ref2","SLegendFlex","Flex","_this$asProps","styles","Children","direction","withTrend","suffix","items","orientation","cn","_objectSpread2","assignProps","map","_ref4","id","BaseLegend","_defineProperty2","i18nEnhance","localizedMessages","children","LegendFlex","LegendItem","createComponent","LegendItemComponent","exports"],"sources":["../../../../../src/component/ChartLegend/LegendFlex/LegendFlex.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { sstyled, Root } from '@semcore/core';\nimport { Flex } from '@semcore/flex-box';\nimport style from './legend-flex.shadow.css';\nimport { LegendFlexType, LegendFlexProps, TrendProps } from './LegendFlex.type';\nimport { LegendItemComponent } from '../LegendItem/LegendItem';\nimport Divider from '@semcore/divider';\nimport Checkbox from '@semcore/checkbox';\nimport { BaseLegend } from '../BaseLegend';\nimport { localizedMessages } from '../../../translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nclass LegendFlexRoot extends BaseLegend<LegendFlexProps> {\n static displayName = 'LegendFlex';\n static style = style;\n\n static enhance = [i18nEnhance(localizedMessages)];\n\n static defaultProps = () => ({\n direction: 'row',\n children: <LegendFlex.LegendItem />,\n });\n\n renderTrend() {\n const { onTrendIsVisibleChange, trendIsVisible, trendLabel, size, getI18nText } = this\n .asProps as TrendProps & LegendFlexProps & { getI18nText: (s: string) => string };\n\n return (\n <Checkbox\n checked={trendIsVisible}\n onChange={onTrendIsVisibleChange}\n theme={'gray-400'}\n label={trendLabel ?? getI18nText('trend')}\n size={size}\n />\n );\n }\n\n render() {\n const SLegendFlex = Root;\n const { styles, Children, direction, withTrend, suffix, items } = this.asProps;\n const orientation = direction === 'row' ? 'vertical' : 'horizontal';\n\n return sstyled(styles)(\n <SLegendFlex render={Flex} role={'group'}>\n {items.map(({ id }) => {\n return <Children key={id} />;\n })}\n {(withTrend || suffix) && <Divider orientation={orientation} />}\n {withTrend && this.renderTrend()}\n {suffix ? suffix : null}\n </SLegendFlex>,\n );\n }\n}\n\nexport const LegendFlex: LegendFlexType = createComponent(LegendFlexRoot, {\n LegendItem: LegendItemComponent,\n});\n"],"mappings":";;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AADA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AAGA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,SAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,4BAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAP,sBAAA,CAAAF,OAAA;AAAkE;AAAA,IAAAU,KAAA,+BAAAC,MAAA,CAAAC,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAE5DC,cAAc,0BAAAC,WAAA;EAAA,IAAAC,UAAA,aAAAF,cAAA,EAAAC,WAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,cAAA;EAAA,SAAAA,eAAA;IAAA,IAAAK,gBAAA,mBAAAL,cAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAA,IAAAC,aAAA,aAAAR,cAAA;IAAAS,GAAA;IAAAC,KAAA,EAWlB,SAAAC,YAAA,EAAc;MACZ,IAAAC,KAAA,GAAkF,IAAI,CACnFC,OAAO;QADFC,sBAAsB,GAAAF,KAAA,CAAtBE,sBAAsB;QAAEC,cAAc,GAAAH,KAAA,CAAdG,cAAc;QAAEC,UAAU,GAAAJ,KAAA,CAAVI,UAAU;QAAEC,IAAI,GAAAL,KAAA,CAAJK,IAAI;QAAEC,WAAW,GAAAN,KAAA,CAAXM,WAAW;MAG7E,oBACE/B,MAAA,YAAAgC,aAAA,CAAC3B,SAAA,WAAQ;QACP4B,OAAO,EAAEL,cAAe;QACxBM,QAAQ,EAAEP,sBAAuB;QACjCQ,KAAK,EAAE,UAAW;QAClBC,KAAK,EAAEP,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAIE,WAAW,CAAC,OAAO,CAAE;QAC1CD,IAAI,EAAEA;MAAK,EACX;IAEN;EAAC;IAAAR,GAAA;IAAAC,KAAA,EAED,SAAAc,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAAZ,OAAA;QAAAa,KAAA;MACP,IAAMC,WAAW,GAKMC,aAAI;MAJ3B,IAAAC,aAAA,GAAkE,IAAI,CAAChB,OAAO;QAAtEiB,MAAM,GAAAD,aAAA,CAANC,MAAM;QAAEC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;QAAEC,SAAS,GAAAH,aAAA,CAATG,SAAS;QAAEC,SAAS,GAAAJ,aAAA,CAATI,SAAS;QAAEC,MAAM,GAAAL,aAAA,CAANK,MAAM;QAAEC,KAAK,GAAAN,aAAA,CAALM,KAAK;MAC7D,IAAMC,WAAW,GAAGJ,SAAS,KAAK,KAAK,GAAG,UAAU,GAAG,YAAY;MAEnE,OAAAN,KAAA,GAAO,IAAA5B,aAAO,EAACgC,MAAM,CAAC,eACpB3C,MAAA,YAAAgC,aAAA,CAACQ,WAAW,EAAAD,KAAA,CAAAW,EAAA,oBAAAC,cAAA,qBAAAtD,KAAA,CAAAuD,WAAA;QAAA,QAAqB;MAAO,GAAAd,IAAA,KACrCU,KAAK,CAACK,GAAG,CAAC,UAAAC,KAAA,EAAY;QAAA,IAATC,EAAE,GAAAD,KAAA,CAAFC,EAAE;QACd,oBAAOvD,MAAA,YAAAgC,aAAA,CAACY,QAAQ;UAACtB,GAAG,EAAEiC;QAAG,EAAG;MAC9B,CAAC,CAAC,EACD,CAACT,SAAS,IAAIC,MAAM,kBAAK/C,MAAA,YAAAgC,aAAA,CAAC5B,QAAA,WAAO,EAAAmC,KAAA,CAAAW,EAAA;QAAA,eAAcD;MAAW,GAAI,EAC9DH,SAAS,IAAI,IAAI,CAACtB,WAAW,EAAE,EAC/BuB,MAAM,GAAGA,MAAM,GAAG,IAAI,CACX;IAElB;EAAC;EAAA,OAAAlC,cAAA;AAAA,EAzC0B2C,uBAAU;AAAA,IAAAC,gBAAA,aAAjC5C,cAAc,iBACG,YAAY;AAAA,IAAA4C,gBAAA,aAD7B5C,cAAc,WAEHJ,KAAK;AAAA,IAAAgD,gBAAA,aAFhB5C,cAAc,aAID,CAAC,IAAA6C,uBAAW,EAACC,8CAAiB,CAAC,CAAC;AAAA,IAAAF,gBAAA,aAJ7C5C,cAAc,kBAMI;EAAA,OAAO;IAC3BgC,SAAS,EAAE,KAAK;IAChBe,QAAQ,eAAE5D,MAAA,YAAAgC,aAAA,CAAC6B,UAAU,CAACC,UAAU;EAClC,CAAC;AAAA,CAAC;AAmCG,IAAMD,UAA0B,GAAG,IAAAE,gBAAe,EAAClD,cAAc,EAAE;EACxEiD,UAAU,EAAEE;AACd,CAAC,CAAC;AAACC,OAAA,CAAAJ,UAAA,GAAAA,UAAA"}