@semcore/d3-chart 17.1.0 → 17.2.0-prerelease.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/lib/cjs/Area.js +17 -11
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +28 -16
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +22 -16
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +20 -14
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/CompactHorizontalBar.js +22 -16
- package/lib/cjs/CompactHorizontalBar.js.map +1 -1
- package/lib/cjs/Donut.js +15 -9
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +8 -8
- package/lib/cjs/GroupBar.js +6 -0
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +22 -16
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +3 -3
- package/lib/cjs/Line.js +15 -9
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +8 -2
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/Radar.js +25 -19
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +17 -12
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/Reference.js +12 -12
- package/lib/cjs/ResponsiveContainer.js +6 -0
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +15 -9
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +6 -0
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +6 -0
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +10 -9
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +15 -9
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/lib/cjs/component/Chart/AbstractChart.js +4 -10
- package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
- package/lib/cjs/component/Chart/AreaChart.js +12 -0
- package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
- package/lib/cjs/component/Chart/AreaChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/BarChart.js +12 -0
- package/lib/cjs/component/Chart/BarChart.js.map +1 -1
- package/lib/cjs/component/Chart/BarChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/BubbleChart.js +12 -0
- package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
- package/lib/cjs/component/Chart/BubbleChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/CigaretteChart.js +9 -3
- package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/cjs/component/Chart/CigaretteChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/CompactHorizontalBarChart.js +7 -1
- package/lib/cjs/component/Chart/CompactHorizontalBarChart.js.map +1 -1
- package/lib/cjs/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/DonutChart.js +6 -0
- package/lib/cjs/component/Chart/DonutChart.js.map +1 -1
- package/lib/cjs/component/Chart/DonutChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/HistogramChart.js +12 -0
- package/lib/cjs/component/Chart/HistogramChart.js.map +1 -1
- package/lib/cjs/component/Chart/HistogramChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/LineChart.js +12 -0
- package/lib/cjs/component/Chart/LineChart.js.map +1 -1
- package/lib/cjs/component/Chart/LineChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/RadarChart.js +12 -0
- package/lib/cjs/component/Chart/RadarChart.js.map +1 -1
- package/lib/cjs/component/Chart/RadarChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/ScatterPlotChart.js +6 -0
- package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
- package/lib/cjs/component/Chart/ScatterPlotChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/VennChart.js +6 -0
- package/lib/cjs/component/Chart/VennChart.js.map +1 -1
- package/lib/cjs/component/Chart/VennChart.type.js.map +1 -1
- package/lib/cjs/component/ChartLegend/BaseLegend.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +10 -4
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.type.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +80 -44
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js +4 -0
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +12 -6
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.type.js.map +1 -1
- package/lib/cjs/component/Cigarette/Cigarette.js +6 -0
- package/lib/cjs/component/Cigarette/Cigarette.js.map +1 -1
- package/lib/cjs/style/plot.shadow.css +1 -1
- package/lib/es6/Area.js +17 -11
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +28 -16
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +22 -16
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +20 -14
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/CompactHorizontalBar.js +22 -16
- package/lib/es6/CompactHorizontalBar.js.map +1 -1
- package/lib/es6/Donut.js +15 -9
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +8 -8
- package/lib/es6/GroupBar.js +6 -0
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +22 -16
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +3 -3
- package/lib/es6/Line.js +15 -9
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +8 -2
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/Radar.js +25 -19
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +17 -12
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/Reference.js +12 -12
- package/lib/es6/ResponsiveContainer.js +6 -0
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +15 -9
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +6 -0
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +6 -0
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +10 -9
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +15 -9
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yView.js +2 -2
- package/lib/es6/component/Chart/AbstractChart.js +4 -10
- package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
- package/lib/es6/component/Chart/AreaChart.js +12 -0
- package/lib/es6/component/Chart/AreaChart.js.map +1 -1
- package/lib/es6/component/Chart/AreaChart.type.js.map +1 -1
- package/lib/es6/component/Chart/BarChart.js +12 -0
- package/lib/es6/component/Chart/BarChart.js.map +1 -1
- package/lib/es6/component/Chart/BarChart.type.js.map +1 -1
- package/lib/es6/component/Chart/BubbleChart.js +12 -0
- package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
- package/lib/es6/component/Chart/BubbleChart.type.js.map +1 -1
- package/lib/es6/component/Chart/CigaretteChart.js +9 -3
- package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/es6/component/Chart/CigaretteChart.type.js.map +1 -1
- package/lib/es6/component/Chart/CompactHorizontalBarChart.js +7 -1
- package/lib/es6/component/Chart/CompactHorizontalBarChart.js.map +1 -1
- package/lib/es6/component/Chart/CompactHorizontalBarChart.type.js.map +1 -1
- package/lib/es6/component/Chart/DonutChart.js +6 -0
- package/lib/es6/component/Chart/DonutChart.js.map +1 -1
- package/lib/es6/component/Chart/DonutChart.type.js.map +1 -1
- package/lib/es6/component/Chart/HistogramChart.js +12 -0
- package/lib/es6/component/Chart/HistogramChart.js.map +1 -1
- package/lib/es6/component/Chart/HistogramChart.type.js.map +1 -1
- package/lib/es6/component/Chart/LineChart.js +12 -0
- package/lib/es6/component/Chart/LineChart.js.map +1 -1
- package/lib/es6/component/Chart/LineChart.type.js.map +1 -1
- package/lib/es6/component/Chart/RadarChart.js +12 -0
- package/lib/es6/component/Chart/RadarChart.js.map +1 -1
- package/lib/es6/component/Chart/RadarChart.type.js.map +1 -1
- package/lib/es6/component/Chart/ScatterPlotChart.js +6 -0
- package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
- package/lib/es6/component/Chart/ScatterPlotChart.type.js.map +1 -1
- package/lib/es6/component/Chart/VennChart.js +7 -0
- package/lib/es6/component/Chart/VennChart.js.map +1 -1
- package/lib/es6/component/Chart/VennChart.type.js.map +1 -1
- package/lib/es6/component/ChartLegend/BaseLegend.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +10 -4
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.type.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +80 -44
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js +4 -0
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +12 -6
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.type.js.map +1 -1
- package/lib/es6/component/Cigarette/Cigarette.js +6 -0
- package/lib/es6/component/Cigarette/Cigarette.js.map +1 -1
- package/lib/es6/style/plot.shadow.css +1 -1
- package/lib/esm/AnimatedClipPath.mjs +2 -2
- package/lib/esm/Area.mjs +13 -13
- package/lib/esm/Axis.mjs +19 -19
- package/lib/esm/Bar.mjs +18 -18
- package/lib/esm/Bubble.mjs +16 -16
- package/lib/esm/CompactHorizontalBar.mjs +18 -18
- package/lib/esm/Donut.mjs +11 -11
- package/lib/esm/Dots.mjs +9 -9
- package/lib/esm/GroupBar.mjs +1 -1
- package/lib/esm/HorizontalBar.mjs +18 -18
- package/lib/esm/Hover.mjs +5 -5
- package/lib/esm/Line.mjs +11 -11
- package/lib/esm/Pattern.mjs +1 -1
- package/lib/esm/Plot.mjs +4 -4
- package/lib/esm/Radar.mjs +21 -21
- package/lib/esm/RadialTree.mjs +14 -14
- package/lib/esm/Reference.mjs +14 -14
- package/lib/esm/ResponsiveContainer.mjs +1 -1
- package/lib/esm/ScatterPlot.mjs +11 -11
- package/lib/esm/StackBar.mjs +1 -1
- package/lib/esm/StackedArea.mjs +1 -1
- package/lib/esm/Tooltip.mjs +12 -11
- package/lib/esm/Venn.mjs +12 -12
- package/lib/esm/a11y/PlotA11yModule.mjs +4 -4
- package/lib/esm/a11y/PlotA11yView.mjs +3 -3
- package/lib/esm/component/Chart/AbstractChart.mjs +6 -12
- package/lib/esm/component/Chart/AreaChart.mjs +7 -1
- package/lib/esm/component/Chart/BarChart.mjs +8 -2
- package/lib/esm/component/Chart/BubbleChart.mjs +7 -1
- package/lib/esm/component/Chart/CigaretteChart.mjs +3 -3
- package/lib/esm/component/Chart/CompactHorizontalBarChart.mjs +2 -2
- package/lib/esm/component/Chart/DonutChart.mjs +1 -1
- package/lib/esm/component/Chart/HistogramChart.mjs +8 -2
- package/lib/esm/component/Chart/LineChart.mjs +7 -1
- package/lib/esm/component/Chart/RadarChart.mjs +7 -1
- package/lib/esm/component/Chart/ScatterPlotChart.mjs +1 -1
- package/lib/esm/component/Chart/VennChart.mjs +1 -1
- package/lib/esm/component/ChartLegend/BaseLegend.mjs +1 -1
- package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +6 -6
- package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +76 -46
- package/lib/esm/component/ChartLegend/LegendItem/LegendItem.type.mjs +4 -0
- package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +8 -8
- package/lib/esm/component/Cigarette/Cigarette.mjs +1 -1
- package/lib/esm/component/StackGroupBar/StackGroupBar.mjs +1 -1
- package/lib/esm/createElement.mjs +1 -1
- package/lib/esm/style/plot.shadow.css +1 -1
- package/lib/types/RadialTree.d.ts +5 -0
- package/lib/types/component/Chart/AbstractChart.d.ts +2 -2
- package/lib/types/component/Chart/AreaChart.d.ts +5 -0
- package/lib/types/component/Chart/AreaChart.type.d.ts +6 -0
- package/lib/types/component/Chart/BarChart.d.ts +5 -0
- package/lib/types/component/Chart/BarChart.type.d.ts +6 -0
- package/lib/types/component/Chart/BubbleChart.d.ts +5 -0
- package/lib/types/component/Chart/BubbleChart.type.d.ts +6 -0
- package/lib/types/component/Chart/CigaretteChart.d.ts +5 -0
- package/lib/types/component/Chart/CigaretteChart.type.d.ts +14 -0
- package/lib/types/component/Chart/CompactHorizontalBarChart.d.ts +5 -0
- package/lib/types/component/Chart/CompactHorizontalBarChart.type.d.ts +7 -0
- package/lib/types/component/Chart/DonutChart.d.ts +5 -0
- package/lib/types/component/Chart/DonutChart.type.d.ts +7 -0
- package/lib/types/component/Chart/HistogramChart.d.ts +5 -0
- package/lib/types/component/Chart/HistogramChart.type.d.ts +6 -0
- package/lib/types/component/Chart/LineChart.d.ts +5 -0
- package/lib/types/component/Chart/LineChart.type.d.ts +6 -0
- package/lib/types/component/Chart/RadarChart.d.ts +5 -0
- package/lib/types/component/Chart/RadarChart.type.d.ts +6 -0
- package/lib/types/component/Chart/ScatterPlotChart.d.ts +5 -0
- package/lib/types/component/Chart/ScatterPlotChart.type.d.ts +7 -0
- package/lib/types/component/Chart/VennChart.d.ts +5 -0
- package/lib/types/component/Chart/VennChart.type.d.ts +6 -0
- package/lib/types/component/ChartLegend/BaseLegend.d.ts +2 -2
- package/lib/types/component/ChartLegend/LegendFlex/LegendFlex.d.ts +5 -0
- package/lib/types/component/ChartLegend/LegendFlex/LegendFlex.type.d.ts +4 -0
- package/lib/types/component/ChartLegend/LegendItem/LegendItem.d.ts +5 -0
- package/lib/types/component/ChartLegend/LegendItem/LegendItem.type.d.ts +15 -7
- package/lib/types/component/ChartLegend/LegendTable/LegendTable.d.ts +5 -0
- package/lib/types/component/ChartLegend/LegendTable/LegendTable.type.d.ts +3 -0
- package/lib/types/component/Cigarette/Cigarette.d.ts +5 -0
- package/package.json +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CigaretteChart.js","names":["_core","require","_baseComponents","_i18nEnhance","_interopRequireDefault","_resolveColorEnhance","_rafTrottle","_uniqueID","_divider","_typography","_d3Scale","_react","_","_AbstractChart","_AnimatedClipPath","_intergalacticDynamicLocales","_utils","_Cigarette","DEFAULT_MINIMAL_BAR_WIDTH","DEFAULT_GAP","CigaretteChartComponent","AbstractChart","constructor","props","_defineProperty2","default","React","createRef","trottle","event","plotRef","current","pX","pY","eventToPoint","setState","prevState","state","activeDataDefinitions","dataDefinitions","filter","checked","activePositiveDataDefinitions","data","asProps","id","itemValue","resolveColor","index","colorMap","getDefaultDataDefinitions","map","dataDef","columns","slice","defaultLegendProps","legendType","w","totalValue","reduce","acc","computeCigaretteItems","plotWidth","plotHeight","invertAxis","minimalBarWidth","reverse","count","length","totalGapWidth","Math","max","availableSpace","dataDefinitionsItemSize","result","dd","value","dataWidth","visualWidth","isMinVisible","smallItems","r","extraNeeded","smallItem","donors","donorCapacity","s","d","donor","available","share","taken","xScale","scaleLinear","yScale","renderChart","uid","duration","patterns","onClick","highlightedLine","offset","items","createElement","Fragment","item","interpolateValue","height","width","y","x","key","dataKey","hide","color","direction","hovered","undefined","renderTooltip","_ref","tooltipTitle","tooltipViewType","showPercentValueInTooltip","styles","showTooltip","STooltipChildrenWrapper","Box","HoverRect","Tooltip","wMin","hideHoverLine","xIndex","visualScale","yIndex","tooltipProps","_ref4","showPercentColumn","_ref3","find","dataDefItem","children","sstyled","cn","assignProps","Dot","mr","label","Text","percentValue","tooltipValueFormatter","Flex","Title","style","opacity","textAlign","bold","renderTooltipTotalLine","percentFormatter","total","rawPercent","formattedPercent","round","NOT_A_VALUE","dataItem","showTotalInTooltip","mt","Number","isNaN","renderHeader","header","render","_ref2","_ref6","SChart","a11yAltTextConfig","_ref5","Plot","dataHints","onPlotMouseMove","onPlotMouseLeave","renderLegend","getLegendAriaLabel","getI18nText","chartType","cigaretteItems","range","domain","push","lastAddedDomain","scaleThreshold","showXAxis","showYAxis","showLegend","marginX","marginY","resolveColorEnhance","uniqueIDEnhancement","i18nEnhance","localizedMessages","CigaretteChart","exports","createComponent"],"sources":["../../../../src/component/Chart/CigaretteChart.tsx"],"sourcesContent":["import { Box, Flex } from '@semcore/base-components';\nimport { createComponent, Root, sstyled } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport trottle from '@semcore/core/lib/utils/rafTrottle';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport Divider from '@semcore/divider';\nimport { Text } from '@semcore/typography';\nimport { scaleThreshold, scaleLinear, scaleBand } from 'd3-scale';\nimport React from 'react';\n\nimport type { CigaretteChartData, CigaretteChartDataKey, CigaretteChartProps, CigaretteChartType } from './CigaretteChart.type';\n// @ts-ignore\nimport { HoverRect, Plot } from '../..';\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart, NOT_A_VALUE } from './AbstractChart';\nimport type { ObjectData } from './AbstractChart.type';\n// @ts-ignore\nimport AnimatedClipPath from '../../AnimatedClipPath';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport { eventToPoint, interpolateValue } from '../../utils';\nimport type { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport Cigarette from '../Cigarette/Cigarette';\n\nconst DEFAULT_MINIMAL_BAR_WIDTH = 2;\nconst DEFAULT_GAP = 2;\n\ntype ScaleThresholdConfig = { range: Array<CigaretteChartDataKey>; domain: Array<number> };\n\ntype CigaretteChartState = ChartState & {\n pX: number | null;\n pY: number | null;\n};\n\nclass CigaretteChartComponent extends AbstractChart<\n CigaretteChartData,\n CigaretteChartProps,\n typeof CigaretteChartComponent.enhance,\n typeof CigaretteChartComponent.defaultProps,\n CigaretteChartState\n> {\n static displayName = 'Cigarette.Bar';\n\n static defaultProps: any = (props: CigaretteChartProps) => {\n const invertAxis = props.invertAxis ?? true;\n return {\n invertAxis: invertAxis,\n showXAxis: false,\n showYAxis: false,\n showTooltip: true,\n showLegend: false,\n marginX: 0,\n marginY: 0,\n duration: 500,\n plotWidth: !invertAxis && !props.plotWidth ? 44 : props.plotWidth,\n plotHeight: invertAxis && !props.plotHeight ? 28 : props.plotHeight,\n showPercentValueInTooltip: false,\n minimalBarWidth: DEFAULT_MINIMAL_BAR_WIDTH,\n };\n };\n\n static enhance = [\n resolveColorEnhance(),\n uniqueIDEnhancement(),\n i18nEnhance(localizedMessages),\n ] as const;\n\n constructor(props: CigaretteChartProps) {\n super(props);\n\n this.state = {\n ...this.state,\n pX: null,\n pY: null,\n };\n }\n\n private plotRef = React.createRef<SVGElement>();\n\n protected override plotPadding = 0;\n\n private offset = 0;\n\n private get activeDataDefinitions() {\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.filter(({ checked }) => checked);\n }\n\n private get activePositiveDataDefinitions() {\n const { data } = this.asProps;\n\n return this.activeDataDefinitions.filter(({ id }) => {\n const itemValue = data[id];\n\n return typeof itemValue === 'number' && itemValue > 0;\n });\n }\n\n protected override resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `blue-${5 - index}00`;\n }\n\n protected override getDefaultDataDefinitions(): Array<\n LegendItem & { columns: React.ReactNode[] }\n > {\n const dataDefinitions = super.getDefaultDataDefinitions();\n\n return dataDefinitions.map((dataDef) => {\n dataDef.columns = dataDef.columns.slice(1);\n return dataDef;\n });\n }\n\n protected override defaultLegendProps() {\n return {\n legendType: 'Table' as const,\n w: 'fit-content',\n };\n }\n\n private onPlotMouseMove = trottle((event: React.MouseEvent<HTMLElement>) => {\n if (!this.plotRef.current) return;\n\n const [pX, pY] = eventToPoint(event, this.plotRef.current);\n\n this.setState((prevState) => ({ pX, pY }));\n });\n\n private onPlotMouseLeave = trottle(() => {\n this.setState((prevState) => ({ pX: null, pY: null }));\n });\n\n protected override totalValue() {\n const { data } = this.asProps;\n\n return this.activeDataDefinitions.reduce((acc, { id }) => {\n const itemValue = data[id];\n\n if (typeof itemValue === 'number') {\n acc += itemValue;\n }\n\n return acc;\n }, 0);\n }\n\n private computeCigaretteItems() {\n const { plotWidth, plotHeight, data, invertAxis, minimalBarWidth } = this.asProps;\n\n const dataDefinitions = invertAxis\n ? this.activeDataDefinitions\n : [...this.activeDataDefinitions].reverse();\n\n const count = this.activePositiveDataDefinitions.length;\n const totalGapWidth = DEFAULT_GAP * Math.max(0, count - 1);\n const availableSpace = Math.max(0, (invertAxis ? plotWidth : plotHeight) - totalGapWidth);\n\n const totalValue = this.totalValue();\n\n const dataDefinitionsItemSize = dataDefinitions.map(({ id }) => {\n if (totalValue === 0) {\n return 0;\n }\n\n const itemValue = data[id];\n\n if (typeof itemValue !== 'number') return 0;\n\n return (itemValue / totalValue) * availableSpace;\n });\n\n const result = dataDefinitions.map((dd, index) => ({\n ...dd,\n value: data[dd.id],\n dataWidth: dataDefinitionsItemSize[index],\n visualWidth: dataDefinitionsItemSize[index],\n isMinVisible: false,\n }));\n\n const smallItems = result.filter((r) => {\n const { value, dataWidth } = r;\n\n if (typeof value !== 'number') return false;\n\n return value > 0 && dataWidth < minimalBarWidth;\n });\n\n if (smallItems.length === 0) return result;\n\n let extraNeeded = 0;\n\n for (const smallItem of smallItems) {\n extraNeeded += minimalBarWidth - smallItem.dataWidth;\n smallItem.visualWidth = minimalBarWidth;\n smallItem.isMinVisible = true;\n }\n\n const donors = result.filter((r) => !r.isMinVisible && r.dataWidth > minimalBarWidth);\n const donorCapacity = donors.reduce(\n (s, d) => s + (d.dataWidth - minimalBarWidth),\n 0,\n );\n\n for (const donor of donors) {\n const available = donor.dataWidth - minimalBarWidth;\n const share = available / donorCapacity;\n const taken = share * extraNeeded;\n donor.visualWidth = donor.dataWidth - taken;\n }\n\n return result;\n };\n\n get xScale() {\n const { plotWidth } = this.asProps;\n\n return scaleLinear([0, plotWidth]);\n }\n\n get yScale() {\n const { plotHeight } = this.asProps;\n\n return scaleLinear([plotHeight, 0]);\n }\n\n renderChart() {\n const { invertAxis, data, uid, duration, patterns, plotHeight, plotWidth, onClick } =\n this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n this.offset = 0;\n\n const items = this.computeCigaretteItems();\n\n return (\n <>\n {items.map((item, index) => {\n const { visualWidth, id } = item;\n const value = data[id];\n\n if (value === interpolateValue || value === null) {\n return null;\n }\n\n const height = invertAxis ? plotHeight - DEFAULT_GAP * 2 : plotWidth - DEFAULT_GAP * 2;\n const width = visualWidth;\n const y = DEFAULT_GAP;\n const x = this.offset;\n const r = height < 28 ? 2 : 4;\n\n this.offset += visualWidth;\n\n if (index < items.length - 1) {\n this.offset += DEFAULT_GAP;\n }\n\n return (\n <Cigarette\n key={item.id}\n dataKey={item.id}\n index={index}\n y={invertAxis ? y : x}\n x={invertAxis ? x : y}\n width={invertAxis ? width : height}\n height={invertAxis ? height : width}\n uid={uid}\n hide={!item.checked}\n duration={duration}\n r={index === 0 || index === dataDefinitions.length - 1 ? r : 0}\n color={item.color}\n patterns={patterns}\n direction={invertAxis ? 'horizontal' : 'vertical'}\n onClick={onClick}\n hovered={\n highlightedLine === index ? true : highlightedLine === -1 ? undefined : false\n }\n />\n );\n })}\n\n <AnimatedClipPath\n aria-hidden\n duration={duration}\n id={uid}\n x='0'\n y='0'\n width={invertAxis ? 0 : plotWidth}\n height={invertAxis ? plotHeight : 0}\n />\n </>\n );\n }\n\n renderTooltip(): React.ReactNode {\n const { data, invertAxis, tooltipTitle, tooltipViewType, showPercentValueInTooltip, styles, showTooltip } =\n this.asProps;\n const { dataDefinitions, pX, pY } = this.state;\n const STooltipChildrenWrapper = Root;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? '' : undefined}\n y={invertAxis ? undefined : ''}\n wMin={100}\n hideHoverLine={true}\n xIndex={pX !== null ? this.visualScale(pX) : undefined}\n yIndex={pY !== null ? this.visualScale(pY) : undefined}\n >\n {(tooltipProps: any) => {\n const dataKey = invertAxis ? tooltipProps.xIndex : tooltipProps.yIndex;\n const showPercentColumn = showPercentValueInTooltip && this.totalValue() !== 0;\n\n if (tooltipViewType === 'single') {\n const item = dataDefinitions.find((dataDefItem) => dataDefItem.id === dataKey);\n if (!item) {\n return {\n children: null,\n };\n }\n\n return {\n children: sstyled(styles)(\n <STooltipChildrenWrapper render={Box} columnsCount={showPercentColumn ? '3' : '2'} __excludeProps={['data']}>\n <HoverRect.Tooltip.Dot mr={2} color={item.color}>\n {item.label}\n </HoverRect.Tooltip.Dot>\n { showPercentColumn && <Text textAlign='end' color='text-secondary'>{this.percentValue(data, item.id)}</Text> }\n <Text textAlign='end' bold>{this.tooltipValueFormatter(data[item.id])}</Text>\n </STooltipChildrenWrapper>,\n ),\n };\n }\n\n return {\n children: sstyled(styles)(\n <Flex direction='column'>\n {tooltipTitle && (\n <HoverRect.Tooltip.Title>Some tooltip title</HoverRect.Tooltip.Title>\n )}\n\n <STooltipChildrenWrapper render={Box} columnsCount={showPercentColumn ? '3' : '2'} __excludeProps={['data']}>\n {dataDefinitions.map((item) => {\n const style = { opacity: item.id === dataKey ? 1 : 0.3 };\n return (\n item.checked && (\n <React.Fragment key={item.id}>\n <HoverRect.Tooltip.Dot mr={2} color={item.color} style={style}>\n {item.label}\n </HoverRect.Tooltip.Dot>\n { showPercentColumn && <Text textAlign='end' color='text-secondary' style={style}>{this.percentValue(data, item.id)}</Text> }\n <Text textAlign='end' bold style={style}>{this.tooltipValueFormatter(data[item.id])}</Text>\n </React.Fragment>\n )\n );\n })}\n\n {this.renderTooltipTotalLine(data)}\n </STooltipChildrenWrapper>\n </Flex>,\n ),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n protected percentValue(data: ObjectData, key: string): string {\n const { percentFormatter } = this.asProps;\n\n const total = this.totalValue();\n\n const value = data[key];\n\n if (typeof value === 'number' && total !== 0) {\n const rawPercent = (100 * value) / total;\n const formattedPercent = percentFormatter ? percentFormatter(rawPercent) : Math.round(rawPercent);\n\n return `${formattedPercent}%`;\n }\n\n if (value === null) {\n return `0%`;\n }\n\n return NOT_A_VALUE;\n }\n\n protected override renderTooltipTotalLine<D extends ObjectData>(dataItem: D) {\n const { showTotalInTooltip, showPercentValueInTooltip } = this.asProps;\n\n if (!showTotalInTooltip) {\n return null;\n }\n\n const total = this.totalValue();\n\n return (\n <>\n <Box mt={2} mr={2}>Total</Box>\n { showPercentValueInTooltip && total !== 0 && <Text mt={2} textAlign='end' color='text-secondary'>{Number.isNaN(total) ? NOT_A_VALUE : '100%'}</Text> }\n <Text mt={2} textAlign='end' bold>{Number.isNaN(total) ? NOT_A_VALUE : total}</Text>\n </>\n );\n }\n\n renderHeader() {\n return this.asProps.header ?? null;\n }\n\n override render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data, patterns, invertAxis, a11yAltTextConfig } = this.asProps;\n\n const header = this.renderHeader();\n\n if (invertAxis) {\n return sstyled(styles)(\n <SChart render={Flex} gap={6} direction='column' __excludeProps={['onClick', 'data']}>\n <Flex direction='column'>\n {header}\n <Plot\n ref={this.plotRef}\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n patterns={patterns}\n a11yAltTextConfig={a11yAltTextConfig}\n onMouseMove={this.onPlotMouseMove}\n onMouseLeave={this.onPlotMouseLeave}\n >\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </Flex>\n {this.renderLegend()}\n </SChart>,\n );\n }\n\n return sstyled(styles)(\n <SChart render={Flex} gap={6} __excludeProps={['onClick', 'data']}>\n <Plot\n ref={this.plotRef}\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n patterns={patterns}\n a11yAltTextConfig={a11yAltTextConfig}\n onMouseMove={this.onPlotMouseMove}\n onMouseLeave={this.onPlotMouseLeave}\n >\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n <Flex direction='column' gap={2}>\n {header && (\n <>\n <Box>{header}</Box>\n <Divider />\n </>\n )}\n {this.renderLegend()}\n </Flex>\n </SChart>,\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Cigarette' });\n }\n\n private get visualScale() {\n const cigaretteItems = this.computeCigaretteItems();\n\n const { range, domain } = cigaretteItems.reduce<ScaleThresholdConfig>((acc, { id, visualWidth }, index) => {\n const { range, domain } = acc;\n\n if (visualWidth) {\n range.push(id);\n\n if (domain.length === 0) {\n domain.push(visualWidth + DEFAULT_GAP);\n\n return acc;\n }\n\n if (index !== cigaretteItems.length - 1) {\n const lastAddedDomain = domain[domain.length - 1];\n domain.push(lastAddedDomain + visualWidth + DEFAULT_GAP);\n }\n }\n\n return acc;\n }, { range: [], domain: [] });\n\n return scaleThreshold(domain, range);\n }\n}\n\nexport const CigaretteChart: CigaretteChartType = createComponent(CigaretteChartComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CigaretteChart.js","names":["_core","require","_baseComponents","_i18nEnhance","_interopRequireDefault","_resolveColorEnhance","_rafTrottle","_uniqueID","_divider","_typography","_d3Scale","_react","_","_AbstractChart","_AnimatedClipPath","_intergalacticDynamicLocales","_utils","_Cigarette","DEFAULT_MINIMAL_BAR_WIDTH","DEFAULT_GAP","CigaretteChartComponent","AbstractChart","constructor","props","_defineProperty2","default","React","createRef","trottle","event","plotRef","current","pX","pY","eventToPoint","setState","state","activeDataDefinitions","dataDefinitions","filter","checked","activePositiveDataDefinitions","data","asProps","id","itemValue","resolveColor","index","colorMap","getDefaultDataDefinitions","map","dataDef","columns","slice","defaultLegendProps","legendType","w","totalValue","reduce","acc","computeCigaretteItems","plotWidth","plotHeight","invertAxis","minimalBarWidth","reverse","count","length","totalGapWidth","Math","max","availableSpace","dataDefinitionsItemSize","result","dd","value","dataWidth","visualWidth","isMinVisible","smallItems","r","extraNeeded","smallItem","donors","donorCapacity","s","d","donor","available","share","taken","xScale","scaleLinear","yScale","renderChart","uid","duration","patterns","onClick","highlightedLine","offset","items","createElement","Fragment","item","interpolateValue","height","width","y","x","key","dataKey","hide","color","direction","hovered","undefined","renderTooltip","_ref","tooltipTitle","tooltipViewType","showPercentValueInTooltip","styles","showTooltip","STooltipChildrenWrapper","Box","HoverRect","Tooltip","wMin","hideHoverLine","xIndex","visualScale","yIndex","tooltipProps","_ref4","showPercentColumn","_ref3","find","dataDefItem","children","sstyled","cn","assignProps","Dot","mr","label","Text","percentValue","tooltipValueFormatter","Flex","Title","style","opacity","textAlign","bold","renderTooltipTotalLine","percentFormatter","total","rawPercent","formattedPercent","round","NOT_A_VALUE","dataItem","showTotalInTooltip","mt","Number","isNaN","renderHeader","header","render","_ref2","_ref6","SChart","a11yAltTextConfig","_ref5","Plot","dataHints","onPlotMouseMove","onPlotMouseLeave","renderLegend","getLegendAriaLabel","getI18nText","chartType","cigaretteItems","range","domain","push","lastAddedDomain","scaleThreshold","showXAxis","showYAxis","showLegend","marginX","marginY","resolveColorEnhance","uniqueIDEnhancement","i18nEnhance","localizedMessages","CigaretteChart","exports","createComponent"],"sources":["../../../../src/component/Chart/CigaretteChart.tsx"],"sourcesContent":["import { Box, Flex } from '@semcore/base-components';\nimport { createComponent, Root, sstyled } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport trottle from '@semcore/core/lib/utils/rafTrottle';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport Divider from '@semcore/divider';\nimport { Text } from '@semcore/typography';\nimport { scaleThreshold, scaleLinear, scaleBand } from 'd3-scale';\nimport React from 'react';\n\nimport type { CigaretteChartData, CigaretteChartDataKey, CigaretteChartDefaultProps, CigaretteChartProps, CigaretteChartType } from './CigaretteChart.type';\n// @ts-ignore\nimport { HoverRect, Plot } from '../..';\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart, NOT_A_VALUE } from './AbstractChart';\nimport type { ObjectData } from './AbstractChart.type';\n// @ts-ignore\nimport AnimatedClipPath from '../../AnimatedClipPath';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport { eventToPoint, interpolateValue } from '../../utils';\nimport type { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport Cigarette from '../Cigarette/Cigarette';\n\nconst DEFAULT_MINIMAL_BAR_WIDTH = 2;\nconst DEFAULT_GAP = 2;\n\ntype ScaleThresholdConfig = { range: Array<CigaretteChartDataKey>; domain: Array<number> };\n\ntype CigaretteChartState = ChartState & {\n pX: number | null;\n pY: number | null;\n};\n\nclass CigaretteChartComponent extends AbstractChart<\n CigaretteChartData,\n CigaretteChartProps,\n typeof CigaretteChartComponent.enhance,\n {},\n CigaretteChartState,\n CigaretteChartDefaultProps\n> {\n static displayName = 'Cigarette.Bar';\n\n static defaultProps = (props: CigaretteChartProps) => {\n const invertAxis = props.invertAxis ?? true;\n return {\n invertAxis,\n showXAxis: false,\n showYAxis: false,\n showTooltip: true,\n showLegend: false,\n marginX: 0,\n marginY: 0,\n duration: 500,\n plotWidth: !invertAxis && !props.plotWidth ? 44 : props.plotWidth,\n plotHeight: invertAxis && !props.plotHeight ? 28 : props.plotHeight,\n showPercentValueInTooltip: false,\n minimalBarWidth: DEFAULT_MINIMAL_BAR_WIDTH,\n } as const;\n };\n\n static enhance = [\n resolveColorEnhance(),\n uniqueIDEnhancement(),\n i18nEnhance(localizedMessages),\n ] as const;\n\n constructor(props: CigaretteChartProps) {\n super(props);\n\n this.state = {\n ...this.state,\n pX: null,\n pY: null,\n };\n }\n\n private plotRef = React.createRef<SVGElement>();\n\n protected override plotPadding = 0;\n\n private offset = 0;\n\n private get activeDataDefinitions() {\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.filter(({ checked }) => checked);\n }\n\n private get activePositiveDataDefinitions() {\n const { data } = this.asProps;\n\n return this.activeDataDefinitions.filter(({ id }) => {\n const itemValue = data[id];\n\n return typeof itemValue === 'number' && itemValue > 0;\n });\n }\n\n protected override resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `blue-${5 - index}00`;\n }\n\n protected override getDefaultDataDefinitions(): Array<\n LegendItem & { columns: React.ReactNode[] }\n > {\n const dataDefinitions = super.getDefaultDataDefinitions();\n\n return dataDefinitions.map((dataDef) => {\n dataDef.columns = dataDef.columns.slice(1);\n return dataDef;\n });\n }\n\n protected override defaultLegendProps() {\n return {\n legendType: 'Table' as const,\n w: 'fit-content',\n };\n }\n\n private onPlotMouseMove = trottle((event: React.MouseEvent<HTMLElement>) => {\n if (!this.plotRef.current) return;\n\n const [pX, pY] = eventToPoint(event, this.plotRef.current);\n\n this.setState(() => ({ pX, pY }));\n });\n\n private onPlotMouseLeave = trottle(() => {\n this.setState(() => ({ pX: null, pY: null }));\n });\n\n protected override totalValue() {\n const { data } = this.asProps;\n\n return this.activeDataDefinitions.reduce((acc, { id }) => {\n const itemValue = data[id];\n\n if (typeof itemValue === 'number') {\n acc += itemValue;\n }\n\n return acc;\n }, 0);\n }\n\n private computeCigaretteItems() {\n const { plotWidth, plotHeight, data, invertAxis, minimalBarWidth } = this.asProps;\n\n const dataDefinitions = invertAxis\n ? this.activeDataDefinitions\n : [...this.activeDataDefinitions].reverse();\n\n const count = this.activePositiveDataDefinitions.length;\n const totalGapWidth = DEFAULT_GAP * Math.max(0, count - 1);\n const availableSpace = Math.max(0, (invertAxis ? plotWidth : plotHeight) - totalGapWidth);\n\n const totalValue = this.totalValue();\n\n const dataDefinitionsItemSize = dataDefinitions.map(({ id }) => {\n if (totalValue === 0) {\n return 0;\n }\n\n const itemValue = data[id];\n\n if (typeof itemValue !== 'number') return 0;\n\n return (itemValue / totalValue) * availableSpace;\n });\n\n const result = dataDefinitions.map((dd, index) => ({\n ...dd,\n value: data[dd.id],\n dataWidth: dataDefinitionsItemSize[index],\n visualWidth: dataDefinitionsItemSize[index],\n isMinVisible: false,\n }));\n\n const smallItems = result.filter((r) => {\n const { value, dataWidth } = r;\n\n if (typeof value !== 'number') return false;\n\n return value > 0 && dataWidth < minimalBarWidth;\n });\n\n if (smallItems.length === 0) return result;\n\n let extraNeeded = 0;\n\n for (const smallItem of smallItems) {\n extraNeeded += minimalBarWidth - smallItem.dataWidth;\n smallItem.visualWidth = minimalBarWidth;\n smallItem.isMinVisible = true;\n }\n\n const donors = result.filter((r) => !r.isMinVisible && r.dataWidth > minimalBarWidth);\n const donorCapacity = donors.reduce(\n (s, d) => s + (d.dataWidth - minimalBarWidth),\n 0,\n );\n\n for (const donor of donors) {\n const available = donor.dataWidth - minimalBarWidth;\n const share = available / donorCapacity;\n const taken = share * extraNeeded;\n donor.visualWidth = donor.dataWidth - taken;\n }\n\n return result;\n };\n\n get xScale() {\n const { plotWidth } = this.asProps;\n\n return scaleLinear([0, plotWidth]);\n }\n\n get yScale() {\n const { plotHeight } = this.asProps;\n\n return scaleLinear([plotHeight, 0]);\n }\n\n renderChart() {\n const { invertAxis, data, uid, duration, patterns, plotHeight, plotWidth, onClick } =\n this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n this.offset = 0;\n\n const items = this.computeCigaretteItems();\n\n return (\n <>\n {items.map((item, index) => {\n const { visualWidth, id } = item;\n const value = data[id];\n\n if (value === interpolateValue || value === null) {\n return null;\n }\n\n const height = invertAxis ? plotHeight - DEFAULT_GAP * 2 : plotWidth - DEFAULT_GAP * 2;\n const width = visualWidth;\n const y = DEFAULT_GAP;\n const x = this.offset;\n const r = height < 28 ? 2 : 4;\n\n this.offset += visualWidth;\n\n if (index < items.length - 1) {\n this.offset += DEFAULT_GAP;\n }\n\n return (\n <Cigarette\n key={item.id}\n dataKey={item.id}\n index={index}\n y={invertAxis ? y : x}\n x={invertAxis ? x : y}\n width={invertAxis ? width : height}\n height={invertAxis ? height : width}\n uid={uid}\n hide={!item.checked}\n duration={duration}\n r={index === 0 || index === dataDefinitions.length - 1 ? r : 0}\n color={item.color}\n patterns={patterns}\n direction={invertAxis ? 'horizontal' : 'vertical'}\n onClick={onClick}\n hovered={\n highlightedLine === index ? true : highlightedLine === -1 ? undefined : false\n }\n />\n );\n })}\n\n <AnimatedClipPath\n aria-hidden\n duration={duration}\n id={uid}\n x='0'\n y='0'\n width={invertAxis ? 0 : plotWidth}\n height={invertAxis ? plotHeight : 0}\n />\n </>\n );\n }\n\n renderTooltip(): React.ReactNode {\n const { data, invertAxis, tooltipTitle, tooltipViewType, showPercentValueInTooltip, styles, showTooltip } =\n this.asProps;\n const { dataDefinitions, pX, pY } = this.state;\n const STooltipChildrenWrapper = Root;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? '' : undefined}\n y={invertAxis ? undefined : ''}\n wMin={100}\n hideHoverLine={true}\n xIndex={pX !== null ? this.visualScale(pX) : undefined}\n yIndex={pY !== null ? this.visualScale(pY) : undefined}\n >\n {(tooltipProps: any) => {\n const dataKey = invertAxis ? tooltipProps.xIndex : tooltipProps.yIndex;\n const showPercentColumn = showPercentValueInTooltip && this.totalValue() !== 0;\n\n if (tooltipViewType === 'single') {\n const item = dataDefinitions.find((dataDefItem) => dataDefItem.id === dataKey);\n if (!item) {\n return {\n children: null,\n };\n }\n\n return {\n children: sstyled(styles)(\n <STooltipChildrenWrapper render={Box} columnsCount={showPercentColumn ? '3' : '2'} __excludeProps={['data']}>\n <HoverRect.Tooltip.Dot mr={2} color={item.color}>\n {item.label}\n </HoverRect.Tooltip.Dot>\n { showPercentColumn && <Text textAlign='end' color='text-secondary'>{this.percentValue(data, item.id)}</Text> }\n <Text textAlign='end' bold>{this.tooltipValueFormatter(data[item.id])}</Text>\n </STooltipChildrenWrapper>,\n ),\n };\n }\n\n return {\n children: sstyled(styles)(\n <Flex direction='column'>\n {tooltipTitle && (\n <HoverRect.Tooltip.Title>Some tooltip title</HoverRect.Tooltip.Title>\n )}\n\n <STooltipChildrenWrapper render={Box} columnsCount={showPercentColumn ? '3' : '2'} __excludeProps={['data']}>\n {dataDefinitions.map((item) => {\n const style = { opacity: item.id === dataKey ? 1 : 0.3 };\n return (\n item.checked && (\n <React.Fragment key={item.id}>\n <HoverRect.Tooltip.Dot mr={2} color={item.color} style={style}>\n {item.label}\n </HoverRect.Tooltip.Dot>\n { showPercentColumn && <Text textAlign='end' color='text-secondary' style={style}>{this.percentValue(data, item.id)}</Text> }\n <Text textAlign='end' bold style={style}>{this.tooltipValueFormatter(data[item.id])}</Text>\n </React.Fragment>\n )\n );\n })}\n\n {this.renderTooltipTotalLine(data)}\n </STooltipChildrenWrapper>\n </Flex>,\n ),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n protected percentValue(data: ObjectData, key: string): string {\n const { percentFormatter } = this.asProps;\n\n const total = this.totalValue();\n\n const value = data[key];\n\n if (typeof value === 'number' && total !== 0) {\n const rawPercent = (100 * value) / total;\n const formattedPercent = percentFormatter ? percentFormatter(rawPercent) : Math.round(rawPercent);\n\n return `${formattedPercent}%`;\n }\n\n if (value === null) {\n return `0%`;\n }\n\n return NOT_A_VALUE;\n }\n\n protected override renderTooltipTotalLine<D extends ObjectData>(dataItem: D) {\n const { showTotalInTooltip, showPercentValueInTooltip } = this.asProps;\n\n if (!showTotalInTooltip) {\n return null;\n }\n\n const total = this.totalValue();\n\n return (\n <>\n <Box mt={2} mr={2}>Total</Box>\n { showPercentValueInTooltip && total !== 0 && <Text mt={2} textAlign='end' color='text-secondary'>{Number.isNaN(total) ? NOT_A_VALUE : '100%'}</Text> }\n <Text mt={2} textAlign='end' bold>{Number.isNaN(total) ? NOT_A_VALUE : total}</Text>\n </>\n );\n }\n\n renderHeader() {\n return this.asProps.header ?? null;\n }\n\n override render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data, patterns, invertAxis, a11yAltTextConfig } = this.asProps;\n\n const header = this.renderHeader();\n\n if (invertAxis) {\n return sstyled(styles)(\n <SChart render={Flex} gap={6} direction='column' __excludeProps={['onClick', 'data']}>\n <Flex direction='column'>\n {header}\n <Plot\n ref={this.plotRef}\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n patterns={patterns}\n a11yAltTextConfig={a11yAltTextConfig}\n onMouseMove={this.onPlotMouseMove}\n onMouseLeave={this.onPlotMouseLeave}\n >\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </Flex>\n {this.renderLegend()}\n </SChart>,\n );\n }\n\n return sstyled(styles)(\n <SChart render={Flex} gap={6} __excludeProps={['onClick', 'data']}>\n <Plot\n ref={this.plotRef}\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n patterns={patterns}\n a11yAltTextConfig={a11yAltTextConfig}\n onMouseMove={this.onPlotMouseMove}\n onMouseLeave={this.onPlotMouseLeave}\n >\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n <Flex direction='column' gap={2}>\n {header && (\n <>\n <Box>{header}</Box>\n <Divider />\n </>\n )}\n {this.renderLegend()}\n </Flex>\n </SChart>,\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Cigarette' });\n }\n\n private get visualScale() {\n const cigaretteItems = this.computeCigaretteItems();\n\n const { range, domain } = cigaretteItems.reduce<ScaleThresholdConfig>((acc, { id, visualWidth }, index) => {\n const { range, domain } = acc;\n\n if (visualWidth) {\n range.push(id);\n\n if (domain.length === 0) {\n domain.push(visualWidth + DEFAULT_GAP);\n\n return acc;\n }\n\n if (index !== cigaretteItems.length - 1) {\n const lastAddedDomain = domain[domain.length - 1];\n domain.push(lastAddedDomain + visualWidth + DEFAULT_GAP);\n }\n }\n\n return acc;\n }, { range: [], domain: [] });\n\n return scaleThreshold(domain, range);\n }\n}\n\n/**\n * CigaretteChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/cigarette-chart/cigarette-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/cigarette-chart/cigarette-chart-code/|Examples}\n */\nexport const CigaretteChart = createComponent<\n CigaretteChartType,\n typeof CigaretteChartComponent\n>(CigaretteChartComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CigaretteChart.type.js","names":[],"sources":["../../../../src/component/Chart/CigaretteChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\nimport type { interpolateValue } from '../../utils';\n\nexport type CigaretteChartDataKey = string;\n\nexport type CigaretteChartData = Record<CigaretteChartDataKey, number | typeof interpolateValue>;\n\nexport type CigaretteChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<CigaretteChartData>,\n 'xScale' | 'yScale'\n> & {\n /** Title text displayed in the tooltip */\n tooltipTitle?: string;\n /** Controls whether the tooltip shows all data or single item data */\n tooltipViewType?: 'all' | 'single';\n /** Show percent value in tooltip */\n showPercentValueInTooltip?: boolean;\n /** Custom percent formatter. */\n percentFormatter?: (value: number) => number;\n /** Header content for the chart */\n header?: React.ReactNode;\n /** Animation duration in milliseconds */\n duration?: number;\n /** Click handler that receives the data key and event */\n onClick?: (key: CigaretteChartDataKey, event: React.SyntheticEvent) => void;\n /** Minimal bar width in pixels. Default is `2`. */\n minimalBarWidth?: number;\n};\n\nexport type CigaretteChartType = Intergalactic.Component<'div', CigaretteChartProps>;\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CigaretteChart.type.js","names":[],"sources":["../../../../src/component/Chart/CigaretteChart.type.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\nimport type { interpolateValue } from '../../utils';\n\nexport type CigaretteChartDataKey = string;\n\nexport type CigaretteChartData = Record<CigaretteChartDataKey, number | typeof interpolateValue>;\n\nexport type CigaretteChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<CigaretteChartData>,\n 'xScale' | 'yScale'\n> & {\n /** Title text displayed in the tooltip */\n tooltipTitle?: string;\n /** Controls whether the tooltip shows all data or single item data */\n tooltipViewType?: 'all' | 'single';\n /** Show percent value in tooltip */\n showPercentValueInTooltip?: boolean;\n /** Custom percent formatter. */\n percentFormatter?: (value: number) => number;\n /** Header content for the chart */\n header?: React.ReactNode;\n /** Animation duration in milliseconds */\n duration?: number;\n /** Click handler that receives the data key and event */\n onClick?: (key: CigaretteChartDataKey, event: React.SyntheticEvent) => void;\n /** Minimal bar width in pixels. Default is `2`. */\n minimalBarWidth?: number;\n};\n\nexport type CigaretteChartDefaultProps = {\n invertAxis: CigaretteChartProps['invertAxis'];\n showXAxis: false;\n showYAxis: false;\n showTooltip: true;\n showLegend: false;\n marginX: 0;\n marginY: 0;\n duration: 500;\n plotWidth: CigaretteChartProps['plotWidth'];\n plotHeight: CigaretteChartProps['plotHeight'];\n showPercentValueInTooltip: false;\n minimalBarWidth: 2;\n};\n\nexport type CigaretteChartType = Intergalactic.Component<'div', CigaretteChartProps>;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -10,8 +10,8 @@ var _core = require("@semcore/core");
|
|
|
10
10
|
var _i18nEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/i18nEnhance"));
|
|
11
11
|
var _d3Scale = require("d3-scale");
|
|
12
12
|
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
var _ = require("../..");
|
|
14
13
|
var _AbstractChart = require("./AbstractChart");
|
|
14
|
+
var _ = require("../..");
|
|
15
15
|
var _intergalacticDynamicLocales = require("../../translations/__intergalactic-dynamic-locales");
|
|
16
16
|
// @ts-ignore
|
|
17
17
|
|
|
@@ -87,6 +87,12 @@ class CompactHorizontalBarChartComponent extends _AbstractChart.AbstractChart {
|
|
|
87
87
|
return (0, _d3Scale.scaleLinear)().range([marginY, plotWidth]).domain([marginY, sum]);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* CompactHorizontalBarChart
|
|
93
|
+
*
|
|
94
|
+
* {@link https://developer.semrush.com/intergalactic/data-display/bar-horizontal-compact/bar-horizontal-compact-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/bar-horizontal-compact/bar-horizontal-compact-code/|Examples}
|
|
95
|
+
*/
|
|
90
96
|
(0, _defineProperty2.default)(CompactHorizontalBarChartComponent, "displayName", 'Chart.CompactHorizontalBar');
|
|
91
97
|
(0, _defineProperty2.default)(CompactHorizontalBarChartComponent, "defaultProps", {
|
|
92
98
|
direction: 'column',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompactHorizontalBarChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","
|
|
1
|
+
{"version":3,"file":"CompactHorizontalBarChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_AbstractChart","_","_intergalacticDynamicLocales","CompactHorizontalBarChartComponent","AbstractChart","xScale","asProps","valueScale","yScale","categoryScale","defaultLegendProps","renderChart","x","y","onClickHoverRect","onClickBar","default","createElement","CompactHorizontalBar","renderCompactHorizontalBarTooltip","Hover","onClick","Annotation","Label","Percent","Value","Bar","Background","Fill","data","showTooltip","Tooltip","wMin","index","children","Fragment","Title","Dot","renderTooltip","getLegendAriaLabel","getI18nText","chartType","marginY","plotHeight","scaleBand","range","domain","reverse","map","d","paddingInner","paddingOuter","plotWidth","sum","flatValues","values","reduce","acc","scaleLinear","_defineProperty2","direction","showXAxis","showYAxis","showLegend","i18nEnhance","localizedMessages","CompactHorizontalBarChart","exports","createComponent"],"sources":["../../../../src/component/Chart/CompactHorizontalBarChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { scaleBand, scaleLinear } from 'd3-scale';\nimport React from 'react';\n\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type { BaseLegendProps } from './AbstractChart.type';\nimport type {\n CompactHorizontalBarChartData,\n CompactHorizontalBarChartDefaultProps,\n CompactHorizontalBarChartProps,\n CompactHorizontalBarChartType,\n} from './CompactHorizontalBarChart.type';\n// @ts-ignore\nimport { CompactHorizontalBar } from '../..';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass CompactHorizontalBarChartComponent extends AbstractChart<\n CompactHorizontalBarChartData,\n CompactHorizontalBarChartProps,\n typeof CompactHorizontalBarChartComponent.enhance,\n {},\n ChartState,\n CompactHorizontalBarChartDefaultProps\n> {\n static displayName = 'Chart.CompactHorizontalBar';\n public static defaultProps = {\n direction: 'column',\n showXAxis: false,\n showYAxis: false,\n showTooltip: true,\n showLegend: false,\n } as const;\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n return this.asProps.xScale ?? this.valueScale;\n }\n\n get yScale() {\n return this.asProps.yScale ?? this.categoryScale;\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {};\n }\n\n renderChart() {\n const { x, y, onClickHoverRect, onClickBar } = this.asProps;\n\n return (\n <CompactHorizontalBar x={x} y={y}>\n {this.renderCompactHorizontalBarTooltip()}\n <CompactHorizontalBar.Hover onClick={onClickHoverRect} />\n <CompactHorizontalBar.Annotation>\n <CompactHorizontalBar.Label />\n <CompactHorizontalBar.Percent />\n <CompactHorizontalBar.Value />\n </CompactHorizontalBar.Annotation>\n <CompactHorizontalBar.Bar onClick={onClickBar}>\n <CompactHorizontalBar.Bar.Background />\n <CompactHorizontalBar.Bar.Fill />\n </CompactHorizontalBar.Bar>\n </CompactHorizontalBar>\n );\n }\n\n protected renderCompactHorizontalBarTooltip(): React.ReactNode {\n const { data, x, y, showTooltip } = this.asProps;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <CompactHorizontalBar.Tooltip wMin={100}>\n {({ index }: any) => {\n return {\n children: (\n <>\n <CompactHorizontalBar.Tooltip.Title>\n {data[index][y]}\n </CompactHorizontalBar.Tooltip.Title>\n\n <CompactHorizontalBar.Tooltip.Dot>\n {data[index][x]}\n </CompactHorizontalBar.Tooltip.Dot>\n </>\n ),\n };\n }}\n </CompactHorizontalBar.Tooltip>\n );\n }\n\n renderTooltip(): React.ReactNode {\n return null;\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'CompactHorizontalBar' });\n }\n\n private get categoryScale() {\n const { marginY = 40, plotHeight, data, y } = this.asProps;\n\n return scaleBand()\n .range([plotHeight - marginY, marginY])\n .domain([...data].reverse().map((d) => d[y]) as any)\n .paddingInner(0.6)\n .paddingOuter(0.2);\n }\n\n private get valueScale() {\n const { marginY = 0, plotWidth } = this.asProps;\n\n const sum = [...super.flatValues.values()].reduce((acc, d) => acc + d, 0);\n\n return scaleLinear().range([marginY, plotWidth]).domain([marginY, sum]);\n }\n}\n\n/**\n * CompactHorizontalBarChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/bar-horizontal-compact/bar-horizontal-compact-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/bar-horizontal-compact/bar-horizontal-compact-code/|Examples}\n */\nexport const CompactHorizontalBarChart = createComponent<\n CompactHorizontalBarChartType,\n typeof CompactHorizontalBarChartComponent\n>(\n CompactHorizontalBarChartComponent,\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompactHorizontalBarChart.type.js","names":[],"sources":["../../../../src/component/Chart/CompactHorizontalBarChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\ntype BarKey = string;\n\nexport type CompactHorizontalBarChartData = Array<Record<BarKey, number | string>>;\n\nexport type CompactHorizontalBarChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<CompactHorizontalBarChartData>,\n 'showTotalInTooltip'\n> & {\n /** Field name from data array for the x-axis values */\n x: string;\n /** Field name from data array for the y-axis values */\n y: string;\n /** Custom x-axis scale */\n xScale?: ScaleBand<any> | ScaleTime<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n\n /** Handle click by `HoverRect`. `index` is an index of the data array. */\n onClickHoverRect?: (index: number, e: React.SyntheticEvent) => void;\n\n /** Handle click by Bar. */\n onClickBar?: (barItem: number, e: React.SyntheticEvent) => void;\n};\n\nexport type CompactHorizontalBarChartType = Intergalactic.Component<\n typeof Flex,\n CompactHorizontalBarChartProps\n>;\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CompactHorizontalBarChart.type.js","names":[],"sources":["../../../../src/component/Chart/CompactHorizontalBarChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\ntype BarKey = string;\n\nexport type CompactHorizontalBarChartData = Array<Record<BarKey, number | string>>;\n\nexport type CompactHorizontalBarChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<CompactHorizontalBarChartData>,\n 'showTotalInTooltip'\n> & {\n /** Field name from data array for the x-axis values */\n x: string;\n /** Field name from data array for the y-axis values */\n y: string;\n /** Custom x-axis scale */\n xScale?: ScaleBand<any> | ScaleTime<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n\n /** Handle click by `HoverRect`. `index` is an index of the data array. */\n onClickHoverRect?: (index: number, e: React.SyntheticEvent) => void;\n\n /** Handle click by Bar. */\n onClickBar?: (barItem: number, e: React.SyntheticEvent) => void;\n};\n\nexport type CompactHorizontalBarChartDefaultProps = {\n direction: 'column';\n showXAxis: false;\n showYAxis: false;\n showTooltip: true;\n showLegend: false;\n};\n\nexport type CompactHorizontalBarChartType = Intergalactic.Component<\n typeof Flex,\n CompactHorizontalBarChartProps\n>;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -93,6 +93,12 @@ class DonutChartComponent extends _AbstractChart.AbstractChart {
|
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* DonutChart
|
|
99
|
+
*
|
|
100
|
+
* {@link https://developer.semrush.com/intergalactic/data-display/donut-chart/donut-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/donut-chart/donut-chart-code/|Examples}
|
|
101
|
+
*/
|
|
96
102
|
(0, _defineProperty2.default)(DonutChartComponent, "displayName", 'Chart.Donut');
|
|
97
103
|
(0, _defineProperty2.default)(DonutChartComponent, "defaultProps", {
|
|
98
104
|
direction: 'row-reverse',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonutChart.js","names":["_baseComponents","require","_core","_i18nEnhance","_interopRequireDefault","_typography","_d3Scale","_react","_","_AbstractChart","_intergalacticDynamicLocales","DonutChartComponent","AbstractChart","xScale","asProps","scaleLinear","yScale","defaultLegendProps","legendType","renderChart","innerRadius","halfsize","innerLabel","onClickPie","dataDefinitions","highlightedLine","state","checkedLegendItems","filter","item","checked","default","createElement","Donut","onClick","length","EmptyData","map","index","Pie","key","id","dataKey","name","label","color","active","Label","renderTooltip","data","Tooltip","title","find","children","Fragment","Title","Flex","justifyContent","Text","bold","tooltipValueFormatter","getLegendAriaLabel","getI18nText","chartType","_defineProperty2","direction","alignItems","marginX","marginY","i18nEnhance","localizedMessages","DonutChart","exports","createComponent"],"sources":["../../../../src/component/Chart/DonutChart.tsx"],"sourcesContent":["import { Flex } from '@semcore/base-components';\nimport { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport { scaleLinear } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Donut } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport type { DonutChartData, DonutChartProps, DonutChartType } from './DonutChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass DonutChartComponent extends AbstractChart<\n DonutChartData,\n DonutChartProps,\n typeof DonutChartComponent.enhance\n> {\n static displayName = 'Chart.Donut';\n static defaultProps
|
|
1
|
+
{"version":3,"file":"DonutChart.js","names":["_baseComponents","require","_core","_i18nEnhance","_interopRequireDefault","_typography","_d3Scale","_react","_","_AbstractChart","_intergalacticDynamicLocales","DonutChartComponent","AbstractChart","xScale","asProps","scaleLinear","yScale","defaultLegendProps","legendType","renderChart","innerRadius","halfsize","innerLabel","onClickPie","dataDefinitions","highlightedLine","state","checkedLegendItems","filter","item","checked","default","createElement","Donut","onClick","length","EmptyData","map","index","Pie","key","id","dataKey","name","label","color","active","Label","renderTooltip","data","Tooltip","title","find","children","Fragment","Title","Flex","justifyContent","Text","bold","tooltipValueFormatter","getLegendAriaLabel","getI18nText","chartType","_defineProperty2","direction","alignItems","marginX","marginY","i18nEnhance","localizedMessages","DonutChart","exports","createComponent"],"sources":["../../../../src/component/Chart/DonutChart.tsx"],"sourcesContent":["import { Flex } from '@semcore/base-components';\nimport { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { Text } from '@semcore/typography';\nimport { scaleLinear } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Donut } from '../..';\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type { DonutChartData, DonutChartDefaultProps, DonutChartProps, DonutChartType } from './DonutChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass DonutChartComponent extends AbstractChart<\n DonutChartData,\n DonutChartProps,\n typeof DonutChartComponent.enhance,\n {},\n ChartState,\n DonutChartDefaultProps\n> {\n static displayName = 'Chart.Donut';\n static defaultProps = {\n direction: 'row-reverse',\n alignItems: 'flex-start',\n innerRadius: 100,\n marginX: 0,\n marginY: 0,\n } as const;\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const { xScale } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n return scaleLinear();\n }\n\n get yScale() {\n const { yScale } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n return scaleLinear();\n }\n\n defaultLegendProps() {\n return {\n legendType: 'Table' as const,\n };\n }\n\n renderChart() {\n const { innerRadius, halfsize, innerLabel, onClickPie } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n const checkedLegendItems = dataDefinitions.filter((item) => item.checked);\n\n return (\n <Donut onClick={onClickPie} halfsize={halfsize} innerRadius={innerRadius}>\n {checkedLegendItems.length === 0 && <Donut.EmptyData />}\n {checkedLegendItems.map((item, index) => {\n return (\n <Donut.Pie\n key={item.id}\n dataKey={item.id}\n name={item.label}\n color={item.color}\n active={highlightedLine === index}\n />\n );\n })}\n {innerLabel && <Donut.Label>{innerLabel}</Donut.Label>}\n </Donut>\n );\n }\n\n renderTooltip() {\n const { data } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return (\n <Donut.Tooltip>\n {({ dataKey }: any) => {\n const title = dataDefinitions.find((item) => item.id === dataKey);\n\n return {\n children: (\n <>\n <Donut.Tooltip.Title>{title?.label || dataKey}</Donut.Tooltip.Title>\n <Flex justifyContent='space-between'>\n <Text bold>{this.tooltipValueFormatter(data[dataKey])}</Text>\n </Flex>\n </>\n ),\n };\n }}\n </Donut.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Donut' });\n }\n}\n\n/**\n * DonutChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/donut-chart/donut-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/donut-chart/donut-chart-code/|Examples}\n */\nexport const DonutChart = createComponent<\n DonutChartType,\n typeof DonutChartComponent\n>(DonutChartComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonutChart.type.js","names":[],"sources":["../../../../src/component/Chart/DonutChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleLinear } from 'd3-scale';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\nexport type DataKey = string;\n\nexport type DonutChartData = Record<DataKey, number>;\n\nexport type DonutChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<DonutChartData>,\n 'showTotalInTooltip'\n> & {\n /** Internal */\n groupKey?: never;\n /** Custom x-axis scale */\n xScale?: ScaleLinear<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n /** Controls the inner radius of the donut */\n innerRadius?: number;\n /** Creates a semi-donut chart when enabled */\n halfsize?: boolean;\n /** Content displayed in the center of the donut */\n innerLabel?: React.ReactNode;\n /** Callback triggered when a user clicks on a pie */\n onClickPie?: (key: DataKey, e: React.SyntheticEvent) => void;\n};\n\nexport type DonutChartType = Intergalactic.Component<typeof Flex, DonutChartProps>;\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DonutChart.type.js","names":[],"sources":["../../../../src/component/Chart/DonutChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleLinear } from 'd3-scale';\nimport type React from 'react';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\nexport type DataKey = string;\n\nexport type DonutChartData = Record<DataKey, number>;\n\nexport type DonutChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<DonutChartData>,\n 'showTotalInTooltip'\n> & {\n /** Internal */\n groupKey?: never;\n /** Custom x-axis scale */\n xScale?: ScaleLinear<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n /** Controls the inner radius of the donut */\n innerRadius?: number;\n /** Creates a semi-donut chart when enabled */\n halfsize?: boolean;\n /** Content displayed in the center of the donut */\n innerLabel?: React.ReactNode;\n /** Callback triggered when a user clicks on a pie */\n onClickPie?: (key: DataKey, e: React.SyntheticEvent) => void;\n};\n\nexport type DonutChartDefaultProps = {\n direction: 'row-reverse';\n alignItems: 'flex-start';\n innerRadius: 100;\n marginX: 0;\n marginY: 0;\n};\n\nexport type DonutChartType = Intergalactic.Component<typeof Flex, DonutChartProps>;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -143,7 +143,19 @@ class HistogramChartComponent extends _AbstractChart.AbstractChart {
|
|
|
143
143
|
});
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* HistogramChart
|
|
149
|
+
*
|
|
150
|
+
* {@link https://developer.semrush.com/intergalactic/data-display/histogram-chart/histogram-chart-api/|API}
|
|
151
|
+
*/
|
|
146
152
|
(0, _defineProperty2.default)(HistogramChartComponent, "displayName", 'Chart.Histogram');
|
|
147
153
|
(0, _defineProperty2.default)(HistogramChartComponent, "enhance", [(0, _i18nEnhance.default)(_intergalacticDynamicLocales.localizedMessages)]);
|
|
154
|
+
(0, _defineProperty2.default)(HistogramChartComponent, "defaultProps", {
|
|
155
|
+
direction: 'column',
|
|
156
|
+
showXAxis: true,
|
|
157
|
+
showYAxis: true,
|
|
158
|
+
showTooltip: true
|
|
159
|
+
});
|
|
148
160
|
const HistogramChart = exports.HistogramChart = (0, _core.createComponent)(HistogramChartComponent);
|
|
149
161
|
//# sourceMappingURL=HistogramChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HistogramChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_","_AbstractChart","_intergalacticDynamicLocales","HistogramChartComponent","AbstractChart","xScale","marginY","marginX","plotWidth","plotHeight","invertAxis","data","groupKey","asProps","testItem","range","plotPadding","Date","Number","isNaN","getMilliseconds","domain","minMax","scaleTime","map","item","scaleBand","paddingInner","paddingOuter","yScale","max","isStack","reduce","barSum","Object","values","sum","val","flatValues","Math","scaleLinear","dataDefinitions","state","length","renderChart","highlightedLine","default","createElement","StackBar","x","undefined","y","index","BarComponent","HorizontalBar","Bar","commonBarComponentProps","color","transparent","id","checked","_extends2","key","renderTooltip","HoverRect","Tooltip","wMin","xIndex","yIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","_defineProperty2","i18nEnhance","localizedMessages","HistogramChart","exports","createComponent"],"sources":["../../../../src/component/Chart/HistogramChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { scaleBand, scaleLinear, type ScaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Bar, minMax, HoverRect, StackBar, type BarProps } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport type { HistogramChartData, HistogramChartProps, HistogramChartType } from './HistogramChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass HistogramChartComponent extends AbstractChart<\n HistogramChartData,\n HistogramChartProps,\n typeof HistogramChartComponent.enhance\n> {\n static displayName = 'Chart.Histogram';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const {\n xScale,\n marginY = 30,\n marginX = 30,\n plotWidth,\n plotHeight,\n invertAxis,\n data,\n groupKey,\n } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = invertAxis\n ? [plotHeight - marginX, this.plotPadding]\n : [marginY, plotWidth - this.plotPadding];\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n const domain = minMax(data, groupKey);\n\n return scaleTime(domain, range);\n }\n\n const domain = data.map((item) => item[groupKey]);\n\n return scaleBand(domain, range).paddingInner(0.05).paddingOuter(0.2);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const {\n yScale,\n marginY = 30,\n marginX = 30,\n plotHeight,\n plotWidth,\n invertAxis,\n data,\n } = this.asProps;\n\n let max: number;\n\n if (this.isStack) {\n max = data.reduce((max, item) => {\n const barSum = Object.values(item).reduce<number>((sum, val) => {\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum + (val as number);\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n } else {\n const flatValues = super.flatValues;\n\n max = Math.max(...flatValues);\n }\n\n return (\n yScale ??\n scaleLinear()\n .range(\n invertAxis\n ? [marginY, plotWidth - this.plotPadding]\n : [plotHeight - marginX, this.plotPadding],\n )\n .domain([0, max])\n );\n }\n\n get isStack(): boolean {\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.length > 1;\n }\n\n renderChart() {\n const { groupKey, invertAxis } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (this.isStack) {\n return (\n <StackBar x={invertAxis ? undefined : groupKey} y={invertAxis ? groupKey : undefined}>\n {dataDefinitions.map((item, index) => {\n const BarComponent = invertAxis ? StackBar.HorizontalBar : StackBar.Bar;\n\n const commonBarComponentProps: BarProps = {\n color: item.color,\n transparent: highlightedLine !== -1 && highlightedLine !== index,\n };\n\n if (invertAxis) {\n commonBarComponentProps.x = item.id;\n } else {\n commonBarComponentProps.y = item.id;\n }\n\n return item.checked && <BarComponent key={item.id} {...commonBarComponentProps} />;\n })}\n </StackBar>\n );\n }\n\n const item = dataDefinitions[0];\n\n return (\n item.checked && (\n <Bar\n x={invertAxis ? item.id : groupKey}\n y={invertAxis ? groupKey : item.id}\n key={item.id}\n color={item.color}\n />\n )\n );\n }\n\n renderTooltip(): React.ReactNode {\n const { data, groupKey, invertAxis } = this.asProps;\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? undefined : groupKey}\n y={invertAxis ? groupKey : undefined}\n wMin={100}\n >\n {({ xIndex, yIndex }: any) => {\n const index = invertAxis ? yIndex : xIndex;\n const dataItem = data[index];\n\n return {\n children: this.getTooltipChildren({\n Tooltip: HoverRect.Tooltip,\n dataItem,\n }),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Histogram' });\n }\n}\n\nexport const HistogramChart: HistogramChartType = createComponent(HistogramChartComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HistogramChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_","_AbstractChart","_intergalacticDynamicLocales","HistogramChartComponent","AbstractChart","xScale","marginY","marginX","plotWidth","plotHeight","invertAxis","data","groupKey","asProps","testItem","range","plotPadding","Date","Number","isNaN","getMilliseconds","domain","minMax","scaleTime","map","item","scaleBand","paddingInner","paddingOuter","yScale","max","isStack","reduce","barSum","Object","values","sum","val","flatValues","Math","scaleLinear","dataDefinitions","state","length","renderChart","highlightedLine","default","createElement","StackBar","x","undefined","y","index","BarComponent","HorizontalBar","Bar","commonBarComponentProps","color","transparent","id","checked","_extends2","key","renderTooltip","HoverRect","Tooltip","wMin","xIndex","yIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","_defineProperty2","i18nEnhance","localizedMessages","direction","showXAxis","showYAxis","showTooltip","HistogramChart","exports","createComponent"],"sources":["../../../../src/component/Chart/HistogramChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { scaleBand, scaleLinear, type ScaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\n// @ts-ignore\nimport { Bar, minMax, HoverRect, StackBar, type BarProps } from '../..';\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type { HistogramChartData, HistogramChartDefaultProps, HistogramChartProps, HistogramChartType } from './HistogramChart.type';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass HistogramChartComponent extends AbstractChart<\n HistogramChartData,\n HistogramChartProps,\n typeof HistogramChartComponent.enhance,\n {},\n ChartState,\n HistogramChartDefaultProps\n> {\n static displayName = 'Chart.Histogram';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n static defaultProps = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n } as const;\n\n get xScale() {\n const {\n xScale,\n marginY = 30,\n marginX = 30,\n plotWidth,\n plotHeight,\n invertAxis,\n data,\n groupKey,\n } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = invertAxis\n ? [plotHeight - marginX, this.plotPadding]\n : [marginY, plotWidth - this.plotPadding];\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n const domain = minMax(data, groupKey);\n\n return scaleTime(domain, range);\n }\n\n const domain = data.map((item) => item[groupKey]);\n\n return scaleBand(domain, range).paddingInner(0.05).paddingOuter(0.2);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const {\n yScale,\n marginY = 30,\n marginX = 30,\n plotHeight,\n plotWidth,\n invertAxis,\n data,\n } = this.asProps;\n\n let max: number;\n\n if (this.isStack) {\n max = data.reduce((max, item) => {\n const barSum = Object.values(item).reduce<number>((sum, val) => {\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum + (val as number);\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n } else {\n const flatValues = super.flatValues;\n\n max = Math.max(...flatValues);\n }\n\n return (\n yScale ??\n scaleLinear()\n .range(\n invertAxis\n ? [marginY, plotWidth - this.plotPadding]\n : [plotHeight - marginX, this.plotPadding],\n )\n .domain([0, max])\n );\n }\n\n get isStack(): boolean {\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.length > 1;\n }\n\n renderChart() {\n const { groupKey, invertAxis } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (this.isStack) {\n return (\n <StackBar x={invertAxis ? undefined : groupKey} y={invertAxis ? groupKey : undefined}>\n {dataDefinitions.map((item, index) => {\n const BarComponent = invertAxis ? StackBar.HorizontalBar : StackBar.Bar;\n\n const commonBarComponentProps: BarProps = {\n color: item.color,\n transparent: highlightedLine !== -1 && highlightedLine !== index,\n };\n\n if (invertAxis) {\n commonBarComponentProps.x = item.id;\n } else {\n commonBarComponentProps.y = item.id;\n }\n\n return item.checked && <BarComponent key={item.id} {...commonBarComponentProps} />;\n })}\n </StackBar>\n );\n }\n\n const item = dataDefinitions[0];\n\n return (\n item.checked && (\n <Bar\n x={invertAxis ? item.id : groupKey}\n y={invertAxis ? groupKey : item.id}\n key={item.id}\n color={item.color}\n />\n )\n );\n }\n\n renderTooltip(): React.ReactNode {\n const { data, groupKey, invertAxis } = this.asProps;\n\n return (\n <HoverRect.Tooltip\n x={invertAxis ? undefined : groupKey}\n y={invertAxis ? groupKey : undefined}\n wMin={100}\n >\n {({ xIndex, yIndex }: any) => {\n const index = invertAxis ? yIndex : xIndex;\n const dataItem = data[index];\n\n return {\n children: this.getTooltipChildren({\n Tooltip: HoverRect.Tooltip,\n dataItem,\n }),\n };\n }}\n </HoverRect.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Histogram' });\n }\n}\n\n/**\n * HistogramChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/histogram-chart/histogram-chart-api/|API}\n */\nexport const HistogramChart = createComponent<\n HistogramChartType,\n typeof HistogramChartComponent\n>(HistogramChartComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HistogramChart.type.js","names":[],"sources":["../../../../src/component/Chart/HistogramChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\nexport type HistogramChartData = Array<Record<string, number | Date>>;\n\nexport type HistogramChartProps = BaseChartProps<HistogramChartData> & {\n /** Field name that groups the data points */\n groupKey: string;\n /** Custom x-axis scale */\n xScale?: ScaleBand<any> | ScaleTime<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n};\n\nexport type HistogramChartType = Intergalactic.Component<typeof Flex, HistogramChartProps>;\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HistogramChart.type.js","names":[],"sources":["../../../../src/component/Chart/HistogramChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\nexport type HistogramChartData = Array<Record<string, number | Date>>;\n\nexport type HistogramChartProps = BaseChartProps<HistogramChartData> & {\n /** Field name that groups the data points */\n groupKey: string;\n /** Custom x-axis scale */\n xScale?: ScaleBand<any> | ScaleTime<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n};\n\nexport type HistogramChartDefaultProps = {\n direction: 'column';\n showXAxis: true;\n showYAxis: true;\n showTooltip: true;\n};\n\nexport type HistogramChartType = Intergalactic.Component<typeof Flex, HistogramChartProps>;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -107,7 +107,19 @@ class LineChartComponent extends _AbstractChart.AbstractChart {
|
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* LineChart
|
|
113
|
+
*
|
|
114
|
+
* {@link https://developer.semrush.com/intergalactic/data-display/line-chart/line-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/line-chart/line-chart-code/|Examples}
|
|
115
|
+
*/
|
|
110
116
|
(0, _defineProperty2.default)(LineChartComponent, "displayName", 'Chart.Line');
|
|
111
117
|
(0, _defineProperty2.default)(LineChartComponent, "enhance", [(0, _i18nEnhance.default)(_intergalacticDynamicLocales.localizedMessages)]);
|
|
118
|
+
(0, _defineProperty2.default)(LineChartComponent, "defaultProps", {
|
|
119
|
+
direction: 'column',
|
|
120
|
+
showXAxis: true,
|
|
121
|
+
showYAxis: true,
|
|
122
|
+
showTooltip: true
|
|
123
|
+
});
|
|
112
124
|
const LineChart = exports.LineChart = (0, _core.createComponent)(LineChartComponent);
|
|
113
125
|
//# sourceMappingURL=LineChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_","_AbstractChart","_intergalacticDynamicLocales","LineChartComponent","AbstractChart","xScale","marginY","plotWidth","data","groupKey","asProps","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","yScale","marginX","plotHeight","flatValues","max","Math","min","renderChart","curve","showDots","area","areaCurve","onClickLine","dataDefinitions","highlightedLine","state","map","item","index","checked","default","createElement","Line","x","toString","y","id","key","color","transparent","onClick","Dots","display","Area","y0","y1","renderTooltip","HoverLine","Tooltip","wMin","xIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","_defineProperty2","i18nEnhance","localizedMessages","LineChart","exports","createComponent"],"sources":["../../../../src/component/Chart/LineChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { type ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\nimport type { LineChartData, LineChartProps, LineChartType } from './LineChart.type';\n// @ts-ignore\nimport { Line, minMax, HoverLine } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\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, onClickLine } = 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 onClick={onClickLine}\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 } = this.asProps;\n\n return (\n <HoverLine.Tooltip x={groupKey} wMin={100}>\n {({ xIndex }: any) => {\n const dataItem = data[xIndex];\n\n return {\n children: this.getTooltipChildren({\n Tooltip: HoverLine.Tooltip,\n dataItem,\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
|
|
1
|
+
{"version":3,"file":"LineChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_","_AbstractChart","_intergalacticDynamicLocales","LineChartComponent","AbstractChart","xScale","marginY","plotWidth","data","groupKey","asProps","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","yScale","marginX","plotHeight","flatValues","max","Math","min","renderChart","curve","showDots","area","areaCurve","onClickLine","dataDefinitions","highlightedLine","state","map","item","index","checked","default","createElement","Line","x","toString","y","id","key","color","transparent","onClick","Dots","display","Area","y0","y1","renderTooltip","HoverLine","Tooltip","wMin","xIndex","dataItem","children","getTooltipChildren","getLegendAriaLabel","getI18nText","chartType","_defineProperty2","i18nEnhance","localizedMessages","direction","showXAxis","showYAxis","showTooltip","LineChart","exports","createComponent"],"sources":["../../../../src/component/Chart/LineChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { type ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\nimport React from 'react';\n\nimport type { LineChartData, LineChartDefaultProps, LineChartProps, LineChartType } from './LineChart.type';\n// @ts-ignore\nimport { Line, minMax, HoverLine } from '../..';\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass LineChartComponent extends AbstractChart<\n LineChartData,\n LineChartProps,\n typeof LineChartComponent.enhance,\n {},\n ChartState,\n LineChartDefaultProps\n> {\n static displayName = 'Chart.Line';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n static defaultProps = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n } 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, onClickLine } = 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 onClick={onClickLine}\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 } = this.asProps;\n\n return (\n <HoverLine.Tooltip x={groupKey} wMin={100}>\n {({ xIndex }: any) => {\n const dataItem = data[xIndex];\n\n return {\n children: this.getTooltipChildren({\n Tooltip: HoverLine.Tooltip,\n dataItem,\n }),\n };\n }}\n </HoverLine.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Line' });\n }\n}\n\n/**\n * LineChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/line-chart/line-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/line-chart/line-chart-code/|Examples}\n */\nexport const LineChart = createComponent<\n LineChartType,\n typeof LineChartComponent\n>(LineChartComponent);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineChart.type.js","names":[],"sources":["../../../../src/component/Chart/LineChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleLinear, ScaleTime } from 'd3-scale';\nimport type { CurveFactory } from 'd3-shape';\n\nimport type { BaseChartProps } from './AbstractChart.type';\nimport type { interpolateValue } from '../../utils';\nimport type { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\n\ntype AreaItem = {\n x: number;\n y0: number;\n y1: number;\n};\n\nexport type LineChartData = Array<Record<string, string | number | typeof interpolateValue | Date>>;\n\nexport type LineChartProps = BaseChartProps<LineChartData> & {\n /** Field name that groups the data points */\n groupKey: string;\n /** Optional area data for rendering filled areas under lines */\n area?: Record<LegendItemKey, AreaItem[]>;\n /** Custom x-axis scale */\n xScale?: ScaleLinear<any, any> | ScaleTime<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n /** Controls whether to display dots on the line chart */\n showDots?: boolean;\n /** D3 curve factory for line interpolation */\n curve?: CurveFactory;\n /** Curve factory specifically for area rendering */\n areaCurve?: CurveFactory;\n /** Callback triggered when a user clicks on a line */\n onClickLine?: (index: number, event: React.SyntheticEvent) => void;\n};\n\nexport type LineChartType = Intergalactic.Component<typeof Flex, LineChartProps>;\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"LineChart.type.js","names":[],"sources":["../../../../src/component/Chart/LineChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleLinear, ScaleTime } from 'd3-scale';\nimport type { CurveFactory } from 'd3-shape';\n\nimport type { BaseChartProps } from './AbstractChart.type';\nimport type { interpolateValue } from '../../utils';\nimport type { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\n\ntype AreaItem = {\n x: number;\n y0: number;\n y1: number;\n};\n\nexport type LineChartData = Array<Record<string, string | number | typeof interpolateValue | Date>>;\n\nexport type LineChartProps = BaseChartProps<LineChartData> & {\n /** Field name that groups the data points */\n groupKey: string;\n /** Optional area data for rendering filled areas under lines */\n area?: Record<LegendItemKey, AreaItem[]>;\n /** Custom x-axis scale */\n xScale?: ScaleLinear<any, any> | ScaleTime<any, any>;\n /** Custom y-axis scale */\n yScale?: ScaleLinear<any, any>;\n /** Controls whether to display dots on the line chart */\n showDots?: boolean;\n /** D3 curve factory for line interpolation */\n curve?: CurveFactory;\n /** Curve factory specifically for area rendering */\n areaCurve?: CurveFactory;\n /** Callback triggered when a user clicks on a line */\n onClickLine?: (index: number, event: React.SyntheticEvent) => void;\n};\n\nexport type LineChartDefaultProps = {\n direction: 'column';\n showXAxis: true;\n showYAxis: true;\n showTooltip: true;\n};\n\nexport type LineChartType = Intergalactic.Component<typeof Flex, LineChartProps>;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -97,6 +97,18 @@ class RadarChartComponent extends _AbstractChart.AbstractChart {
|
|
|
97
97
|
return [Math.min(...super.flatValues), Math.max(...super.flatValues)];
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* RadarChart
|
|
103
|
+
*
|
|
104
|
+
* {@link https://developer.semrush.com/intergalactic/data-display/radar-chart/radar-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/radar-chart/radar-chart-code/|Examples}
|
|
105
|
+
*/
|
|
100
106
|
(0, _defineProperty2.default)(RadarChartComponent, "enhance", [(0, _i18nEnhance.default)(_intergalacticDynamicLocales.localizedMessages)]);
|
|
107
|
+
(0, _defineProperty2.default)(RadarChartComponent, "defaultProps", {
|
|
108
|
+
direction: 'column',
|
|
109
|
+
showXAxis: true,
|
|
110
|
+
showYAxis: true,
|
|
111
|
+
showTooltip: true
|
|
112
|
+
});
|
|
101
113
|
const RadarChart = exports.RadarChart = (0, _core.createComponent)(RadarChartComponent);
|
|
102
114
|
//# sourceMappingURL=RadarChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadarChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_AbstractChart","_","_intergalacticDynamicLocales","RadarChartComponent","AbstractChart","renderChart","groupKey","showDots","circle","onClickRadar","asProps","dataDefinitions","state","default","createElement","Radar","onClick","scale","xScale","type","undefined","Axis","dataKey","Ticks","Labels","renderRadarTooltip","map","item","checked","Polygon","id","key","color","Line","Dots","data","showTooltip","Tooltip","wMin","index","children","Fragment","Title","value","Dot","tooltipValueFormatter","renderTooltip","dataKeys","props","legendKeys","Object","keys","filter","scaleLinear","domain","yScale","getLegendAriaLabel","getI18nText","chartType","Math","min","flatValues","max","_defineProperty2","i18nEnhance","localizedMessages","RadarChart","exports","createComponent"],"sources":["../../../../src/component/Chart/RadarChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { scaleLinear, type ScaleLinear } from 'd3-scale';\nimport React from 'react';\n\nimport { AbstractChart } from './AbstractChart';\nimport type { RadarChartData, RadarChartProps, RadarChartType } from './RadarChart.type';\n// @ts-ignore\nimport { Radar } from '../..';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\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, onClickRadar } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return (\n <Radar onClick={onClickRadar} 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,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAF,sBAAA,CAAAF,OAAA;
|
|
1
|
+
{"version":3,"file":"RadarChart.js","names":["_core","require","_i18nEnhance","_interopRequireDefault","_d3Scale","_react","_AbstractChart","_","_intergalacticDynamicLocales","RadarChartComponent","AbstractChart","renderChart","groupKey","showDots","circle","onClickRadar","asProps","dataDefinitions","state","default","createElement","Radar","onClick","scale","xScale","type","undefined","Axis","dataKey","Ticks","Labels","renderRadarTooltip","map","item","checked","Polygon","id","key","color","Line","Dots","data","showTooltip","Tooltip","wMin","index","children","Fragment","Title","value","Dot","tooltipValueFormatter","renderTooltip","dataKeys","props","legendKeys","Object","keys","filter","scaleLinear","domain","yScale","getLegendAriaLabel","getI18nText","chartType","Math","min","flatValues","max","_defineProperty2","i18nEnhance","localizedMessages","direction","showXAxis","showYAxis","RadarChart","exports","createComponent"],"sources":["../../../../src/component/Chart/RadarChart.tsx"],"sourcesContent":["import { createComponent } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport { scaleLinear, type ScaleLinear } from 'd3-scale';\nimport React from 'react';\n\nimport type { ChartState } from './AbstractChart';\nimport { AbstractChart } from './AbstractChart';\nimport type { RadarChartData, RadarChartDefaultProps, RadarChartProps, RadarChartType } from './RadarChart.type';\n// @ts-ignore\nimport { Radar } from '../..';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\n\nclass RadarChartComponent extends AbstractChart<\n RadarChartData,\n RadarChartProps,\n typeof RadarChartComponent.enhance,\n {},\n ChartState,\n RadarChartDefaultProps\n> {\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n static defaultProps = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n } as const;\n\n protected renderChart(): React.ReactNode {\n const { groupKey, showDots, circle, onClickRadar } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return (\n <Radar onClick={onClickRadar} 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\n/**\n * RadarChart\n *\n * {@link https://developer.semrush.com/intergalactic/data-display/radar-chart/radar-chart-api/|API} | {@link https://developer.semrush.com/intergalactic/data-display/radar-chart/radar-chart-code/|Examples}\n */\nexport const RadarChart: RadarChartType = createComponent<\n RadarChartType,\n typeof RadarChartComponent\n>(RadarChartComponent);\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAF,sBAAA,CAAAF,OAAA;AAGA,IAAAK,cAAA,GAAAL,OAAA;AAGA,IAAAM,CAAA,GAAAN,OAAA;AACA,IAAAO,4BAAA,GAAAP,OAAA;AAFA;;AAIA,MAAMQ,mBAAmB,SAASC,4BAAa,CAO7C;EAUUC,WAAWA,CAAA,EAAoB;IACvC,MAAM;MAAEC,QAAQ;MAAEC,QAAQ;MAAEC,MAAM;MAAEC;IAAa,CAAC,GAAG,IAAI,CAACC,OAAO;IACjE,MAAM;MAAEC;IAAgB,CAAC,GAAG,IAAI,CAACC,KAAK;IAEtC,oBACEb,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACb,CAAA,CAAAc,KAAK;MAACC,OAAO,EAAEP,YAAa;MAACQ,KAAK,EAAE,IAAI,CAACC,MAAO;MAACC,IAAI,EAAEX,MAAM,GAAG,QAAQ,GAAGY;IAAU,gBACpFrB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACb,CAAA,CAAAc,KAAK,CAACM,IAAI;MAACC,OAAO,EAAEhB;IAAS,gBAC5BP,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACb,CAAA,CAAAc,KAAK,CAACM,IAAI,CAACE,KAAK,MAAE,CAAC,eACpBxB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACb,CAAA,CAAAc,KAAK,CAACM,IAAI,CAACG,MAAM,MAAE,CACV,CAAC,EACZ,IAAI,CAACC,kBAAkB,CAAC,CAAC,EACzBd,eAAe,CAACe,GAAG,CAAEC,IAAI,IAAK;MAC7B,OACEA,IAAI,CAACC,OAAO,iBACV7B,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACb,CAAA,CAAAc,KAAK,CAACc,OAAO;QAACP,OAAO,EAAEK,IAAI,CAACG,EAAG;QAACC,GAAG,EAAEJ,IAAI,CAACG,EAAG;QAACE,KAAK,EAAEL,IAAI,CAACK;MAAM,gBAC/DjC,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACb,CAAA,CAAAc,KAAK,CAACc,OAAO,CAACI,IAAI,MAAE,CAAC,EACrB1B,QAAQ,iBAAIR,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACb,CAAA,CAAAc,KAAK,CAACc,OAAO,CAACK,IAAI,MAAE,CACrB,CAChB;IAEL,CAAC,CACI,CAAC;EAEZ;EAEUT,kBAAkBA,CAAA,EAAoB;IAC9C,MAAM;MAAEU,IAAI;MAAE7B,QAAQ;MAAE8B;IAAY,CAAC,GAAG,IAAI,CAAC1B,OAAO;IACpD,MAAM;MAAEC;IAAgB,CAAC,GAAG,IAAI,CAACC,KAAK;IAEtC,IAAI,CAACwB,WAAW,EAAE;MAChB,OAAO,IAAI;IACb;IAEA,oBACErC,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACb,CAAA,CAAAc,KAAK,CAACsB,OAAO;MAACC,IAAI,EAAE;IAAI,GACtB,CAAC;MAAEC;IAAW,CAAC,KAAK;MACnB,OAAO;QACLC,QAAQ,eACNzC,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAAAf,MAAA,CAAAc,OAAA,CAAA4B,QAAA,qBACE1C,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACb,CAAA,CAAAc,KAAK,CAACsB,OAAO,CAACK,KAAK,QAAEP,IAAI,CAAC7B,QAAQ,CAAC,GAAGiC,KAAK,CAAuB,CAAC,EAEnE5B,eAAe,CAACe,GAAG,CAAEC,IAAI,IAAK;UAC7B,MAAMgB,KAAK,GAAGR,IAAI,CAACR,IAAI,CAACG,EAAE,CAAC,GAAGS,KAAK,CAAC;UAEpC,OACEZ,IAAI,CAACC,OAAO,iBACV7B,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACb,CAAA,CAAAc,KAAK,CAACsB,OAAO,CAACO,GAAG;YAACZ,KAAK,EAAEL,IAAI,CAACK,KAAM;YAACD,GAAG,EAAEJ,IAAI,CAACG;UAAG,GAChD,IAAI,CAACe,qBAAqB,CAACF,KAAK,CAChB,CACpB;QAEL,CAAC,CACD;MAEN,CAAC;IACH,CACa,CAAC;EAEpB;;EAEA;EACA;EACUG,aAAaA,CAAA,EAAoB;IACzC,OAAO,IAAI;EACb;EAEA,IAAcC,QAAQA,CAAA,EAAa;IACjC,MAAM;MAAEZ,IAAI;MAAE7B;IAAS,CAAC,GAAG,IAAI,CAAC0C,KAAK;IAErC,MAAMC,UAAoB,GAAGC,MAAM,CAACC,IAAI,CAAChB,IAAI,CAAC,CAACiB,MAAM,CAAErB,GAAG,IAAKA,GAAG,KAAKzB,QAAQ,CAAC;IAEhF,OAAO2C,UAAU;EACnB;EAEA,IAAc/B,MAAMA,CAAA,EAA0B;IAC5C,OAAO,IAAI,CAACR,OAAO,CAACO,KAAK,IAAI,IAAAoC,oBAAW,EAAC,CAAC,CAACC,MAAM,CAAC,IAAI,CAACA,MAAM,CAAC;EAChE;EAEA,IAAcC,MAAMA,CAAA,EAA0B;IAC5C,OAAO,IAAI,CAAC7C,OAAO,CAACO,KAAK,IAAI,IAAAoC,oBAAW,EAAC,CAAC,CAACC,MAAM,CAAC,IAAI,CAACA,MAAM,CAAC;EAChE;EAEUE,kBAAkBA,CAAA,EAAW;IACrC,OAAO,IAAI,CAAC9C,OAAO,CAAC+C,WAAW,CAAC,gBAAgB,EAAE;MAAEC,SAAS,EAAE;IAAQ,CAAC,CAAC;EAC3E;EAEA,IAAYJ,MAAMA,CAAA,EAAqB;IACrC,OAAO,CAACK,IAAI,CAACC,GAAG,CAAC,GAAG,KAAK,CAACC,UAAU,CAAC,EAAEF,IAAI,CAACG,GAAG,CAAC,GAAG,KAAK,CAACD,UAAU,CAAC,CAAC;EACvE;AACF;;AAEA;AACA;AACA;AACA;AACA;AAJA,IAAAE,gBAAA,CAAAlD,OAAA,EA5GMV,mBAAmB,aAQN,CAAC,IAAA6D,oBAAW,EAACC,8CAAiB,CAAC,CAAC;AAAA,IAAAF,gBAAA,CAAAlD,OAAA,EAR7CV,mBAAmB,kBAUD;EACpB+D,SAAS,EAAE,QAAQ;EACnBC,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE,IAAI;EACfhC,WAAW,EAAE;AACf,CAAC;AAkGI,MAAMiC,UAA0B,GAAAC,OAAA,CAAAD,UAAA,GAAG,IAAAE,qBAAe,EAGvDpE,mBAAmB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadarChart.type.js","names":[],"sources":["../../../../src/component/Chart/RadarChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleLinear } from 'd3-scale';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\nexport type RadarChartData = Record<string, string[] | number[]>;\n\nexport type RadarChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<RadarChartData>,\n 'showTotalInTooltip' | 'showPercentValueInTooltip'\n> & {\n groupKey: string;\n scale?: ScaleLinear<any, any>;\n xScale?: never;\n yScale?: never;\n showDots?: boolean;\n circle?: boolean;\n /** Callback triggered when a user clicks on a chart at a position corresponding to a category */\n onClickRadar?: (index: number, e: React.SyntheticEvent) => void;\n};\n\nexport type RadarChartType = Intergalactic.Component<typeof Flex, RadarChartProps>;\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"RadarChart.type.js","names":[],"sources":["../../../../src/component/Chart/RadarChart.type.ts"],"sourcesContent":["import type { Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport type { ScaleLinear } from 'd3-scale';\n\nimport type { BaseChartProps } from './AbstractChart.type';\n\nexport type RadarChartData = Record<string, string[] | number[]>;\n\nexport type RadarChartProps = Intergalactic.InternalTypings.EfficientOmit<\n BaseChartProps<RadarChartData>,\n 'showTotalInTooltip' | 'showPercentValueInTooltip'\n> & {\n groupKey: string;\n scale?: ScaleLinear<any, any>;\n xScale?: never;\n yScale?: never;\n showDots?: boolean;\n circle?: boolean;\n /** Callback triggered when a user clicks on a chart at a position corresponding to a category */\n onClickRadar?: (index: number, e: React.SyntheticEvent) => void;\n};\n\nexport type RadarChartDefaultProps = {\n direction: 'column';\n showXAxis: true;\n showYAxis: true;\n showTooltip: true;\n};\n\nexport type RadarChartType = Intergalactic.Component<typeof Flex, RadarChartProps>;\n"],"mappings":"","ignoreList":[]}
|