@semcore/d3-chart 3.18.1 → 3.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -1
- package/README.md +1 -1
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +8 -8
- package/lib/cjs/Bubble.js +10 -10
- package/lib/cjs/Donut.js +7 -7
- package/lib/cjs/Dots.js +10 -10
- package/lib/cjs/HorizontalBar.js +8 -8
- package/lib/cjs/Hover.js +3 -3
- package/lib/cjs/Line.js +13 -11
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +3 -3
- package/lib/cjs/Radar.js +17 -17
- package/lib/cjs/RadialTree.js +10 -10
- package/lib/cjs/ReferenceLine.js +9 -9
- package/lib/cjs/ScatterPlot.js +8 -8
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/Tooltip.js +8 -8
- package/lib/cjs/Venn.js +7 -7
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/lib/cjs/component/Chart/AbstractChart.js +420 -0
- package/lib/cjs/component/Chart/AbstractChart.js.map +1 -0
- package/lib/cjs/component/Chart/AbstractChart.type.js +2 -0
- package/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/AreaChart.js +160 -0
- package/lib/cjs/component/Chart/AreaChart.js.map +1 -0
- package/lib/cjs/component/Chart/AreaChart.type.js +2 -0
- package/lib/cjs/component/Chart/AreaChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/BarChart.js +253 -0
- package/lib/cjs/component/Chart/BarChart.js.map +1 -0
- package/lib/cjs/component/Chart/BarChart.type.js +2 -0
- package/lib/cjs/component/Chart/BarChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/BubbleChart.js +145 -0
- package/lib/cjs/component/Chart/BubbleChart.js.map +1 -0
- package/lib/cjs/component/Chart/BubbleChart.type.js +2 -0
- package/lib/cjs/component/Chart/BubbleChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/DonutChart.js +117 -0
- package/lib/cjs/component/Chart/DonutChart.js.map +1 -0
- package/lib/cjs/component/Chart/DonutChart.type.js +2 -0
- package/lib/cjs/component/Chart/DonutChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/HistogramChart.js +189 -0
- package/lib/cjs/component/Chart/HistogramChart.js.map +1 -0
- package/lib/cjs/component/Chart/HistogramChart.type.js +2 -0
- package/lib/cjs/component/Chart/HistogramChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/LineChart.js +147 -0
- package/lib/cjs/component/Chart/LineChart.js.map +1 -0
- package/lib/cjs/component/Chart/LineChart.type.js +2 -0
- package/lib/cjs/component/Chart/LineChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/RadarChart.js +121 -0
- package/lib/cjs/component/Chart/RadarChart.js.map +1 -0
- package/lib/cjs/component/Chart/RadarChart.type.js +2 -0
- package/lib/cjs/component/Chart/RadarChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/ScatterPlotChart.js +159 -0
- package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -0
- package/lib/cjs/component/Chart/ScatterPlotChart.type.js +2 -0
- package/lib/cjs/component/Chart/ScatterPlotChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/VennChart.js +144 -0
- package/lib/cjs/component/Chart/VennChart.js.map +1 -0
- package/lib/cjs/component/Chart/VennChart.type.js +2 -0
- package/lib/cjs/component/Chart/VennChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/index.js +28 -0
- package/lib/cjs/component/Chart/index.js.map +1 -0
- package/lib/cjs/component/ChartLegend/BaseLegend.type.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +20 -17
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -7
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendTable/legend-table.shadow.css +5 -2
- package/lib/cjs/index.js +7 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/donut.shadow.css +3 -0
- package/lib/cjs/types/Line.d.js.map +1 -1
- package/lib/cjs/types/index.d.js +130 -1
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +8 -8
- package/lib/es6/Bubble.js +10 -10
- package/lib/es6/Donut.js +7 -7
- package/lib/es6/Dots.js +10 -10
- package/lib/es6/HorizontalBar.js +8 -8
- package/lib/es6/Hover.js +3 -3
- package/lib/es6/Line.js +13 -11
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +3 -3
- package/lib/es6/Radar.js +17 -17
- package/lib/es6/RadialTree.js +10 -10
- package/lib/es6/ReferenceLine.js +9 -9
- package/lib/es6/ScatterPlot.js +8 -8
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/Tooltip.js +8 -8
- package/lib/es6/Venn.js +7 -7
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yView.js +2 -2
- package/lib/es6/component/Chart/AbstractChart.js +412 -0
- package/lib/es6/component/Chart/AbstractChart.js.map +1 -0
- package/lib/es6/component/Chart/AbstractChart.type.js +2 -0
- package/lib/es6/component/Chart/AbstractChart.type.js.map +1 -0
- package/lib/es6/component/Chart/AreaChart.js +152 -0
- package/lib/es6/component/Chart/AreaChart.js.map +1 -0
- package/lib/es6/component/Chart/AreaChart.type.js +2 -0
- package/lib/es6/component/Chart/AreaChart.type.js.map +1 -0
- package/lib/es6/component/Chart/BarChart.js +245 -0
- package/lib/es6/component/Chart/BarChart.js.map +1 -0
- package/lib/es6/component/Chart/BarChart.type.js +2 -0
- package/lib/es6/component/Chart/BarChart.type.js.map +1 -0
- package/lib/es6/component/Chart/BubbleChart.js +137 -0
- package/lib/es6/component/Chart/BubbleChart.js.map +1 -0
- package/lib/es6/component/Chart/BubbleChart.type.js +2 -0
- package/lib/es6/component/Chart/BubbleChart.type.js.map +1 -0
- package/lib/es6/component/Chart/DonutChart.js +109 -0
- package/lib/es6/component/Chart/DonutChart.js.map +1 -0
- package/lib/es6/component/Chart/DonutChart.type.js +2 -0
- package/lib/es6/component/Chart/DonutChart.type.js.map +1 -0
- package/lib/es6/component/Chart/HistogramChart.js +181 -0
- package/lib/es6/component/Chart/HistogramChart.js.map +1 -0
- package/lib/es6/component/Chart/HistogramChart.type.js +2 -0
- package/lib/es6/component/Chart/HistogramChart.type.js.map +1 -0
- package/lib/es6/component/Chart/LineChart.js +139 -0
- package/lib/es6/component/Chart/LineChart.js.map +1 -0
- package/lib/es6/component/Chart/LineChart.type.js +2 -0
- package/lib/es6/component/Chart/LineChart.type.js.map +1 -0
- package/lib/es6/component/Chart/RadarChart.js +113 -0
- package/lib/es6/component/Chart/RadarChart.js.map +1 -0
- package/lib/es6/component/Chart/RadarChart.type.js +2 -0
- package/lib/es6/component/Chart/RadarChart.type.js.map +1 -0
- package/lib/es6/component/Chart/ScatterPlotChart.js +151 -0
- package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -0
- package/lib/es6/component/Chart/ScatterPlotChart.type.js +2 -0
- package/lib/es6/component/Chart/ScatterPlotChart.type.js.map +1 -0
- package/lib/es6/component/Chart/VennChart.js +136 -0
- package/lib/es6/component/Chart/VennChart.js.map +1 -0
- package/lib/es6/component/Chart/VennChart.type.js +2 -0
- package/lib/es6/component/Chart/VennChart.type.js.map +1 -0
- package/lib/es6/component/Chart/index.js +21 -0
- package/lib/es6/component/Chart/index.js.map +1 -0
- package/lib/es6/component/ChartLegend/BaseLegend.type.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +20 -17
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -7
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendTable/legend-table.shadow.css +5 -2
- package/lib/es6/index.js +1 -0
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/donut.shadow.css +3 -0
- package/lib/es6/types/Line.d.js.map +1 -1
- package/lib/es6/types/index.d.js +12 -0
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/types/Line.d.ts +7 -2
- package/lib/types/component/Chart/AbstractChart.d.ts +50 -0
- package/lib/types/component/Chart/AbstractChart.type.d.ts +161 -0
- package/lib/types/component/Chart/AreaChart.d.ts +2 -0
- package/lib/types/component/Chart/AreaChart.type.d.ts +16 -0
- package/lib/types/component/Chart/BarChart.d.ts +2 -0
- package/lib/types/component/Chart/BarChart.type.d.ts +19 -0
- package/lib/types/component/Chart/BubbleChart.d.ts +2 -0
- package/lib/types/component/Chart/BubbleChart.type.d.ts +17 -0
- package/lib/types/component/Chart/DonutChart.d.ts +2 -0
- package/lib/types/component/Chart/DonutChart.type.d.ts +15 -0
- package/lib/types/component/Chart/HistogramChart.d.ts +2 -0
- package/lib/types/component/Chart/HistogramChart.type.d.ts +11 -0
- package/lib/types/component/Chart/LineChart.d.ts +2 -0
- package/lib/types/component/Chart/LineChart.type.d.ts +24 -0
- package/lib/types/component/Chart/RadarChart.d.ts +2 -0
- package/lib/types/component/Chart/RadarChart.type.d.ts +14 -0
- package/lib/types/component/Chart/ScatterPlotChart.d.ts +2 -0
- package/lib/types/component/Chart/ScatterPlotChart.type.d.ts +13 -0
- package/lib/types/component/Chart/VennChart.d.ts +2 -0
- package/lib/types/component/Chart/VennChart.type.d.ts +11 -0
- package/lib/types/component/Chart/index.d.ts +12 -0
- package/lib/types/component/ChartLegend/BaseLegend.type.d.ts +2 -2
- package/lib/types/index.d.ts +13 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterPlot.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_canUseDOM","_uniqueID","_createElement","_utils","_ClipPath","_Tooltip","style","sstyled","insert","ScatterPlotRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref2","_this$asProps2","color","scale","offset","styles","valueColor","transparent","resolveColor","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","cn","bindHandlerTooltip","xIndex","index","render","_this$asProps3","data","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","Tooltip","_objectSpread2","assignProps","ScatterPlot","_______childrenComponents","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\nimport ClipPath from './ClipPath';\nimport Tooltip from './Tooltip';\n\nimport style from './style/scatterplot.shadow.css';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props, tooltipProps) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, tooltipProps, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : value ? 12 : 5.5;\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n r,\n offset,\n styles,\n uid,\n duration,\n value,\n valueColor,\n transparent,\n resolveColor,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i })}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={resolveColor(color)}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[value] && (\n <SValue\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={resolveColor(valueColor)}\n transparent={transparent}\n >\n {d[value]}\n </SValue>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst ScatterPlotTooltip = (props) => {\n const SScatterPlotTooltip = Root;\n return sstyled(props.styles)(<SScatterPlotTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst ScatterPlot = createElement(ScatterPlotRoot, {\n Tooltip: [ScatterPlotTooltip, Tooltip._______childrenComponents],\n});\n\nexport default ScatterPlot;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScatterPlot.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_canUseDOM","_uniqueID","_createElement","_utils","_ClipPath","_Tooltip","style","sstyled","insert","ScatterPlotRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref2","_this$asProps2","color","scale","offset","styles","valueColor","transparent","resolveColor","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","cn","bindHandlerTooltip","xIndex","index","render","_this$asProps3","data","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","Tooltip","_objectSpread2","assignProps","ScatterPlot","_______childrenComponents","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\nimport ClipPath from './ClipPath';\nimport Tooltip from './Tooltip';\n\nimport style from './style/scatterplot.shadow.css';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props, tooltipProps) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, tooltipProps, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : value ? 12 : 5.5;\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n r,\n offset,\n styles,\n uid,\n duration,\n value,\n valueColor,\n transparent,\n resolveColor,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i })}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={resolveColor(color)}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[value] !== undefined && (\n <SValue\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={resolveColor(valueColor)}\n transparent={transparent}\n >\n {d[value]}\n </SValue>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst ScatterPlotTooltip = (props) => {\n const SScatterPlotTooltip = Root;\n return sstyled(props.styles)(<SScatterPlotTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst ScatterPlot = createElement(ScatterPlotRoot, {\n Tooltip: [ScatterPlotTooltip, Tooltip._______childrenComponents],\n});\n\nexport default ScatterPlot;\n"],"mappings":"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"}
|
package/lib/cjs/Tooltip.js
CHANGED
|
@@ -23,14 +23,14 @@ var _utils = require("./utils");
|
|
|
23
23
|
var _useColorResolver = require("@semcore/utils/lib/use/useColorResolver");
|
|
24
24
|
var _excluded = ["Children", "children", "tag", "forcedAdvancedMode"];
|
|
25
25
|
/*__reshadow-styles__:"./style/tooltip.shadow.css"*/
|
|
26
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
27
|
-
"__STooltip": "
|
|
28
|
-
"__STitle": "
|
|
29
|
-
"__SDotGroup": "
|
|
30
|
-
"__SDot": "
|
|
31
|
-
"_color": "
|
|
32
|
-
"--color": "--
|
|
33
|
-
"__SFooter": "
|
|
26
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___STooltip_18snf_gg_{font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-radius:var(--intergalactic-popper-rounded, 6px);border:1px solid var(--intergalactic-border-secondary, #e0e1e9);box-sizing:border-box;box-shadow:var(--intergalactic-box-shadow-popper, 0px 1px 12px 0px rgba(25, 27, 35, 0.15));padding:var(--intergalactic-spacing-3x, 12px)}.___STitle_18snf_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SDotGroup_18snf_gg_{display:flex;align-items:center}.___SDot_18snf_gg_{width:8px;height:8px;border-radius:50%;margin-right:var(--intergalactic-spacing-2x, 8px);background:var(--intergalactic-icon-secondary-info, #2bb3ff)}.___SDot_18snf_gg_.__color_18snf_gg_{background:var(--color_18snf)}.___SFooter_18snf_gg_{background:var(--intergalactic-bg-secondary-neutral, #f4f5f9);padding:var(--intergalactic-spacing-1x, 4px) var(--intergalactic-spacing-3x, 12px);border-radius:0 0 var(--intergalactic-rounded-medium, 6px) var(--intergalactic-rounded-medium, 6px);margin:var(--intergalactic-spacing-3x, 12px) calc(-1*var(--intergalactic-spacing-3x, 12px)) calc(-1*var(--intergalactic-spacing-3x, 12px))}" /*__inner_css_end__*/, "18snf_gg_") /*__reshadow_css_end__*/, {
|
|
27
|
+
"__STooltip": "___STooltip_18snf_gg_",
|
|
28
|
+
"__STitle": "___STitle_18snf_gg_",
|
|
29
|
+
"__SDotGroup": "___SDotGroup_18snf_gg_",
|
|
30
|
+
"__SDot": "___SDot_18snf_gg_",
|
|
31
|
+
"_color": "__color_18snf_gg_",
|
|
32
|
+
"--color": "--color_18snf",
|
|
33
|
+
"__SFooter": "___SFooter_18snf_gg_"
|
|
34
34
|
});
|
|
35
35
|
/**
|
|
36
36
|
* `TooltipDotRenderContext` is a hack to bypass problem that getDotProps doesn't work for D3 tooltip.
|
package/lib/cjs/Venn.js
CHANGED
|
@@ -23,13 +23,13 @@ var _createElement = _interopRequireDefault(require("./createElement"));
|
|
|
23
23
|
var _utils = require("./utils");
|
|
24
24
|
var _Tooltip = _interopRequireDefault(require("./Tooltip"));
|
|
25
25
|
/*__reshadow-styles__:"./style/venn.shadow.css"*/
|
|
26
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
27
|
-
"__SCircle": "
|
|
28
|
-
"_color": "
|
|
29
|
-
"--color": "--
|
|
30
|
-
"_transparent": "
|
|
31
|
-
"__SIntersection": "
|
|
32
|
-
"--duration": "--
|
|
26
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SCircle_3kcv5_gg_,.___SIntersection_3kcv5_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px}.___SCircle_3kcv5_gg_{fill:var(--intergalactic-chart-palette-order-2, #59ddaa);fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_3kcv5);transition-timing-function:ease-in-out}@media (hover:hover){.___SCircle_3kcv5_gg_:hover{fill-opacity:.7}}.___SCircle_3kcv5_gg_.__color_3kcv5_gg_{fill:var(--color_3kcv5)}.___SCircle_3kcv5_gg_.__transparent_3kcv5_gg_{opacity:.3}.___SIntersection_3kcv5_gg_{fill-opacity:0}@media (hover:hover){.___SIntersection_3kcv5_gg_:hover{fill-opacity:.1}}.___SIntersection_3kcv5_gg_.__transparent_3kcv5_gg_{opacity:.3}" /*__inner_css_end__*/, "3kcv5_gg_") /*__reshadow_css_end__*/, {
|
|
27
|
+
"__SCircle": "___SCircle_3kcv5_gg_",
|
|
28
|
+
"_color": "__color_3kcv5_gg_",
|
|
29
|
+
"--color": "--color_3kcv5",
|
|
30
|
+
"_transparent": "__transparent_3kcv5_gg_",
|
|
31
|
+
"__SIntersection": "___SIntersection_3kcv5_gg_",
|
|
32
|
+
"--duration": "--duration_3kcv5"
|
|
33
33
|
});
|
|
34
34
|
var VennRoot = /*#__PURE__*/function (_Component) {
|
|
35
35
|
(0, _inherits2["default"])(VennRoot, _Component);
|
|
@@ -16,8 +16,8 @@ var _intergalacticDynamicLocales = require("./translations/module/__intergalacti
|
|
|
16
16
|
var _WithI18n = require("@semcore/utils/lib/enhances/WithI18n");
|
|
17
17
|
var _flexBox = require("@semcore/flex-box");
|
|
18
18
|
/*__reshadow-styles__:"../style/plotA11yModule.shadow.css"*/
|
|
19
|
-
var styles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
20
|
-
"__SPlotA11yModule": "
|
|
19
|
+
var styles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SPlotA11yModule_10rwx_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0}.___SPlotA11yModule_10rwx_gg_:focus{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1}" /*__inner_css_end__*/, "10rwx_gg_") /*__reshadow_css_end__*/, {
|
|
20
|
+
"__SPlotA11yModule": "___SPlotA11yModule_10rwx_gg_"
|
|
21
21
|
});
|
|
22
22
|
var globalWasFocused = false;
|
|
23
23
|
var globalNavWithKeyboard = false;
|
|
@@ -21,8 +21,8 @@ var _flexBox = require("@semcore/flex-box");
|
|
|
21
21
|
var _i18nEnhance = require("@semcore/utils/lib/enhances/i18nEnhance");
|
|
22
22
|
var _intergalacticDynamicLocales = require("./translations/view/__intergalactic-dynamic-locales");
|
|
23
23
|
/*__reshadow-styles__:"../style/plotA11yView.shadow.css"*/
|
|
24
|
-
var styles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
25
|
-
"__SPlotA11yView": "
|
|
24
|
+
var styles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SPlotA11yView_16p08_gg_{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;opacity:0;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);border:3px solid var(--intergalactic-border-primary, #c4c7cf);font-size:var(--intergalactic-fs-50, 10px);padding:2px;width:200px;height:200px;max-width:80%;max-height:80%;overflow:auto}.___SPlotA11yView_16p08_gg_:focus,.___SPlotA11yView_16p08_gg_:focus-within{-webkit-user-select:all;-moz-user-select:all;user-select:all;pointer-events:all;opacity:1;z-index:var(--intergalactic-z-index-overlay, 500);position:relative;display:block}.___SPlotA11yView_16p08_gg_ a{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;margin-bottom:var(--intergalactic-spacing-2x, 8px);display:block}.___SPlotA11yView_16p08_gg_ table,.___SPlotA11yView_16p08_gg_ td,.___SPlotA11yView_16p08_gg_ th{border:1px solid var(--intergalactic-border-primary, #c4c7cf)}" /*__inner_css_end__*/, "16p08_gg_") /*__reshadow_css_end__*/, {
|
|
25
|
+
"__SPlotA11yView": "___SPlotA11yView_16p08_gg_"
|
|
26
26
|
});
|
|
27
27
|
var PlotA11yView = function PlotA11yView(_ref3) {
|
|
28
28
|
var _ref = arguments[0],
|
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.AbstractChart = void 0;
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var _core = require("@semcore/core");
|
|
18
|
+
var _hints = require("../../a11y/hints");
|
|
19
|
+
var _utils = require("../../utils");
|
|
20
|
+
var _react = _interopRequireDefault(require("react"));
|
|
21
|
+
var _assignProps2 = require("@semcore/utils/lib/assignProps");
|
|
22
|
+
var _ChartLegend = _interopRequireWildcard(require("../ChartLegend"));
|
|
23
|
+
var _flexBox = require("@semcore/flex-box");
|
|
24
|
+
var _ = require("../..");
|
|
25
|
+
var _typography = require("@semcore/typography");
|
|
26
|
+
// @ts-ignore
|
|
27
|
+
var AbstractChart = /*#__PURE__*/function (_Component) {
|
|
28
|
+
(0, _inherits2["default"])(AbstractChart, _Component);
|
|
29
|
+
var _super = (0, _createSuper2["default"])(AbstractChart);
|
|
30
|
+
/**
|
|
31
|
+
* Padding from the end's of chart to the container (except axis sides)
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
function AbstractChart(props) {
|
|
35
|
+
var _this;
|
|
36
|
+
(0, _classCallCheck2["default"])(this, AbstractChart);
|
|
37
|
+
_this = _super.call(this, props);
|
|
38
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "plotPadding", 6);
|
|
39
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dataHints", (0, _hints.makeDataHintsContainer)());
|
|
40
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
41
|
+
dataDefinitions: _this.defaultDataDefinitions,
|
|
42
|
+
highlightedLine: -1,
|
|
43
|
+
withTrend: false
|
|
44
|
+
});
|
|
45
|
+
_this.setHighlightedLine = _this.setHighlightedLine.bind((0, _assertThisInitialized2["default"])(_this));
|
|
46
|
+
_this.handleChangeVisible = _this.handleChangeVisible.bind((0, _assertThisInitialized2["default"])(_this));
|
|
47
|
+
_this.handleMouseEnter = _this.handleMouseEnter.bind((0, _assertThisInitialized2["default"])(_this));
|
|
48
|
+
_this.handleMouseLeave = _this.handleMouseLeave.bind((0, _assertThisInitialized2["default"])(_this));
|
|
49
|
+
_this.resolveColor = _this.resolveColor.bind((0, _assertThisInitialized2["default"])(_this));
|
|
50
|
+
_this.tooltipValueFormatter = _this.tooltipValueFormatter.bind((0, _assertThisInitialized2["default"])(_this));
|
|
51
|
+
_this.handleWithTrendChange = _this.handleWithTrendChange.bind((0, _assertThisInitialized2["default"])(_this));
|
|
52
|
+
return _this;
|
|
53
|
+
}
|
|
54
|
+
(0, _createClass2["default"])(AbstractChart, [{
|
|
55
|
+
key: "componentDidUpdate",
|
|
56
|
+
value: function componentDidUpdate(prevProps) {
|
|
57
|
+
if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {
|
|
58
|
+
this.setState({
|
|
59
|
+
dataDefinitions: this.defaultDataDefinitions
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}, {
|
|
64
|
+
key: "defaultDataDefinitions",
|
|
65
|
+
get: function get() {
|
|
66
|
+
var _this2 = this;
|
|
67
|
+
var _this$props = this.props,
|
|
68
|
+
data = _this$props.data,
|
|
69
|
+
legendProps = _this$props.legendProps;
|
|
70
|
+
return this.dataKeys.map(function (key, index) {
|
|
71
|
+
var _legendProps$legendMa, _legendData$label, _legendData$icon, _legendData$defaultCh;
|
|
72
|
+
var legendData = legendProps === null || legendProps === void 0 ? void 0 : (_legendProps$legendMa = legendProps.legendMap) === null || _legendProps$legendMa === void 0 ? void 0 : _legendProps$legendMa[key];
|
|
73
|
+
var dataDefinition = {
|
|
74
|
+
id: key,
|
|
75
|
+
label: (_legendData$label = legendData === null || legendData === void 0 ? void 0 : legendData.label) !== null && _legendData$label !== void 0 ? _legendData$label : key,
|
|
76
|
+
icon: (_legendData$icon = legendData === null || legendData === void 0 ? void 0 : legendData.icon) !== null && _legendData$icon !== void 0 ? _legendData$icon : undefined,
|
|
77
|
+
checked: (_legendData$defaultCh = legendData === null || legendData === void 0 ? void 0 : legendData.defaultChecked) !== null && _legendData$defaultCh !== void 0 ? _legendData$defaultCh : true,
|
|
78
|
+
color: _this2.resolveColor(key, index),
|
|
79
|
+
columns: []
|
|
80
|
+
};
|
|
81
|
+
if (legendData !== null && legendData !== void 0 && legendData.additionalInfo || legendData !== null && legendData !== void 0 && legendData.count) {
|
|
82
|
+
dataDefinition.additionalInfo = legendData.additionalInfo ? {
|
|
83
|
+
label: legendData.additionalInfo
|
|
84
|
+
} : legendData.count ? {
|
|
85
|
+
count: legendData.count
|
|
86
|
+
} : undefined;
|
|
87
|
+
}
|
|
88
|
+
if (legendData && 'columns' in legendData) {
|
|
89
|
+
dataDefinition.columns = legendData.columns || [];
|
|
90
|
+
} else if (!Array.isArray(data)) {
|
|
91
|
+
var _ref3;
|
|
92
|
+
var value = (_ref3 = data instanceof Map ? data.get(key) : Number(data[key])) !== null && _ref3 !== void 0 ? _ref3 : 0;
|
|
93
|
+
var total = Object.values(data).reduce(function (sum, i) {
|
|
94
|
+
return sum + Number(i);
|
|
95
|
+
}, 0);
|
|
96
|
+
var percent = (value / total * 100).toFixed(2);
|
|
97
|
+
dataDefinition.columns = [/*#__PURE__*/_react["default"].createElement(_typography.Text, {
|
|
98
|
+
key: "".concat(key, "_percent"),
|
|
99
|
+
use: 'secondary'
|
|
100
|
+
}, percent, "%"), /*#__PURE__*/_react["default"].createElement(_typography.Text, {
|
|
101
|
+
key: "".concat(key, "_value"),
|
|
102
|
+
use: 'primary'
|
|
103
|
+
}, value)];
|
|
104
|
+
}
|
|
105
|
+
return dataDefinition;
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}, {
|
|
109
|
+
key: "dataKeys",
|
|
110
|
+
get: function get() {
|
|
111
|
+
var _this$props2 = this.props,
|
|
112
|
+
data = _this$props2.data,
|
|
113
|
+
groupKey = _this$props2.groupKey;
|
|
114
|
+
var dataKeys;
|
|
115
|
+
if (Array.isArray(data) && groupKey) {
|
|
116
|
+
dataKeys = Object.keys(data[0]).filter(function (key) {
|
|
117
|
+
return key !== groupKey;
|
|
118
|
+
});
|
|
119
|
+
} else {
|
|
120
|
+
dataKeys = Object.keys(data);
|
|
121
|
+
}
|
|
122
|
+
return dataKeys;
|
|
123
|
+
}
|
|
124
|
+
}, {
|
|
125
|
+
key: "xTicks",
|
|
126
|
+
get: function get() {
|
|
127
|
+
var _this$asProps = this.asProps,
|
|
128
|
+
data = _this$asProps.data,
|
|
129
|
+
invertAxis = _this$asProps.invertAxis,
|
|
130
|
+
xTicksCount = _this$asProps.xTicksCount,
|
|
131
|
+
yTicksCount = _this$asProps.yTicksCount;
|
|
132
|
+
var scale = this.xScale;
|
|
133
|
+
if (Array.isArray(data) && 'ticks' in scale) {
|
|
134
|
+
if (invertAxis && yTicksCount) {
|
|
135
|
+
return scale.ticks(yTicksCount);
|
|
136
|
+
} else if (xTicksCount) {
|
|
137
|
+
return scale.ticks(xTicksCount);
|
|
138
|
+
}
|
|
139
|
+
return undefined;
|
|
140
|
+
}
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
143
|
+
}, {
|
|
144
|
+
key: "yTicks",
|
|
145
|
+
get: function get() {
|
|
146
|
+
var _this$asProps2 = this.asProps,
|
|
147
|
+
data = _this$asProps2.data,
|
|
148
|
+
invertAxis = _this$asProps2.invertAxis,
|
|
149
|
+
xTicksCount = _this$asProps2.xTicksCount,
|
|
150
|
+
yTicksCount = _this$asProps2.yTicksCount;
|
|
151
|
+
var scale = this.yScale;
|
|
152
|
+
if (Array.isArray(data) && 'ticks' in scale) {
|
|
153
|
+
if (invertAxis && xTicksCount) {
|
|
154
|
+
return scale.ticks(xTicksCount);
|
|
155
|
+
} else if (yTicksCount) {
|
|
156
|
+
return scale.ticks(yTicksCount);
|
|
157
|
+
}
|
|
158
|
+
return undefined;
|
|
159
|
+
}
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
}, {
|
|
163
|
+
key: "flatValues",
|
|
164
|
+
get: function get() {
|
|
165
|
+
var _this$asProps3 = this.asProps,
|
|
166
|
+
data = _this$asProps3.data,
|
|
167
|
+
groupKey = _this$asProps3.groupKey;
|
|
168
|
+
var values = Array.isArray(data) ? data : Object.values(data);
|
|
169
|
+
var flatValues = values.reduce(function (result, item) {
|
|
170
|
+
if (!groupKey && typeof item === 'number') {
|
|
171
|
+
result.add(item);
|
|
172
|
+
} else {
|
|
173
|
+
Object.entries(item).forEach(function (_ref4) {
|
|
174
|
+
var _ref5 = (0, _slicedToArray2["default"])(_ref4, 2),
|
|
175
|
+
key = _ref5[0],
|
|
176
|
+
value = _ref5[1];
|
|
177
|
+
if (key !== groupKey && typeof value === 'number') {
|
|
178
|
+
result.add(value);
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
return result;
|
|
183
|
+
}, new Set());
|
|
184
|
+
return flatValues;
|
|
185
|
+
}
|
|
186
|
+
}, {
|
|
187
|
+
key: "maxStackedValue",
|
|
188
|
+
get: function get() {
|
|
189
|
+
var _this$asProps4 = this.asProps,
|
|
190
|
+
data = _this$asProps4.data,
|
|
191
|
+
groupKey = _this$asProps4.groupKey;
|
|
192
|
+
if (!Array.isArray(data)) {
|
|
193
|
+
var _max = Object.values(data).reduce(function (sum, val) {
|
|
194
|
+
if (typeof val === 'number') {
|
|
195
|
+
sum = sum + val;
|
|
196
|
+
}
|
|
197
|
+
return sum;
|
|
198
|
+
}, 0);
|
|
199
|
+
return _max;
|
|
200
|
+
}
|
|
201
|
+
var max = data.reduce(function (max, item) {
|
|
202
|
+
var barSum = Object.entries(item).reduce(function (sum, _ref6) {
|
|
203
|
+
var _ref7 = (0, _slicedToArray2["default"])(_ref6, 2),
|
|
204
|
+
key = _ref7[0],
|
|
205
|
+
val = _ref7[1];
|
|
206
|
+
if (key === groupKey) {
|
|
207
|
+
return sum;
|
|
208
|
+
}
|
|
209
|
+
if (typeof val === 'number') {
|
|
210
|
+
return sum + val;
|
|
211
|
+
}
|
|
212
|
+
if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {
|
|
213
|
+
return sum + val.getMilliseconds();
|
|
214
|
+
}
|
|
215
|
+
return sum;
|
|
216
|
+
}, 0);
|
|
217
|
+
if (barSum > max) {
|
|
218
|
+
max = barSum;
|
|
219
|
+
}
|
|
220
|
+
return max;
|
|
221
|
+
}, 0);
|
|
222
|
+
return max;
|
|
223
|
+
}
|
|
224
|
+
}, {
|
|
225
|
+
key: "totalValue",
|
|
226
|
+
value: function totalValue(data) {
|
|
227
|
+
var dataDefinitions = this.state.dataDefinitions;
|
|
228
|
+
var total = dataDefinitions.reduce(function (sum, legendItem) {
|
|
229
|
+
var item = data[legendItem.id];
|
|
230
|
+
if (typeof item === 'number') {
|
|
231
|
+
return sum + item;
|
|
232
|
+
}
|
|
233
|
+
if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {
|
|
234
|
+
return sum + item.getMilliseconds();
|
|
235
|
+
}
|
|
236
|
+
return sum;
|
|
237
|
+
}, 0);
|
|
238
|
+
return total;
|
|
239
|
+
}
|
|
240
|
+
}, {
|
|
241
|
+
key: "setHighlightedLine",
|
|
242
|
+
value: function setHighlightedLine(index) {
|
|
243
|
+
this.setState({
|
|
244
|
+
highlightedLine: index
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
}, {
|
|
248
|
+
key: "handleChangeVisible",
|
|
249
|
+
value: function handleChangeVisible(id, isVisible) {
|
|
250
|
+
this.setState(function (prevState) {
|
|
251
|
+
var dataDefinitions = prevState.dataDefinitions.map(function (item) {
|
|
252
|
+
if (item.id === id) {
|
|
253
|
+
item.checked = isVisible;
|
|
254
|
+
}
|
|
255
|
+
return item;
|
|
256
|
+
});
|
|
257
|
+
return {
|
|
258
|
+
dataDefinitions: dataDefinitions
|
|
259
|
+
};
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
}, {
|
|
263
|
+
key: "handleWithTrendChange",
|
|
264
|
+
value: function handleWithTrendChange(isVisible) {
|
|
265
|
+
this.setState({
|
|
266
|
+
withTrend: isVisible
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
}, {
|
|
270
|
+
key: "handleMouseEnter",
|
|
271
|
+
value: function handleMouseEnter(id) {
|
|
272
|
+
this.setHighlightedLine(this.state.dataDefinitions.findIndex(function (line) {
|
|
273
|
+
return line.id === id;
|
|
274
|
+
}));
|
|
275
|
+
}
|
|
276
|
+
}, {
|
|
277
|
+
key: "handleMouseLeave",
|
|
278
|
+
value: function handleMouseLeave() {
|
|
279
|
+
this.setHighlightedLine(-1);
|
|
280
|
+
}
|
|
281
|
+
}, {
|
|
282
|
+
key: "resolveColor",
|
|
283
|
+
value: function resolveColor(id, index) {
|
|
284
|
+
var _this$props$colorMap$, _this$props$colorMap;
|
|
285
|
+
return (_this$props$colorMap$ = (_this$props$colorMap = this.props.colorMap) === null || _this$props$colorMap === void 0 ? void 0 : _this$props$colorMap[id]) !== null && _this$props$colorMap$ !== void 0 ? _this$props$colorMap$ : "chart-palette-order-".concat(index + 1);
|
|
286
|
+
}
|
|
287
|
+
}, {
|
|
288
|
+
key: "tooltipValueFormatter",
|
|
289
|
+
value: function tooltipValueFormatter(value) {
|
|
290
|
+
var tooltipValueFormatter = this.asProps.tooltipValueFormatter;
|
|
291
|
+
if (tooltipValueFormatter) {
|
|
292
|
+
return tooltipValueFormatter(value);
|
|
293
|
+
}
|
|
294
|
+
if (value === undefined || value === _utils.interpolateValue) {
|
|
295
|
+
return 'n/a';
|
|
296
|
+
}
|
|
297
|
+
if (value instanceof Date) {
|
|
298
|
+
return value.toDateString();
|
|
299
|
+
}
|
|
300
|
+
return value.toString();
|
|
301
|
+
}
|
|
302
|
+
}, {
|
|
303
|
+
key: "defaultLegendProps",
|
|
304
|
+
value: function defaultLegendProps() {
|
|
305
|
+
return {
|
|
306
|
+
legendType: 'Flex'
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
}, {
|
|
310
|
+
key: "renderLegend",
|
|
311
|
+
value: function renderLegend() {
|
|
312
|
+
var _lProps$direction;
|
|
313
|
+
var _this$asProps5 = this.asProps,
|
|
314
|
+
legendProps = _this$asProps5.legendProps,
|
|
315
|
+
direction = _this$asProps5.direction,
|
|
316
|
+
showLegend = _this$asProps5.showLegend;
|
|
317
|
+
if (!showLegend ||
|
|
318
|
+
// we hide Legend for one item on chart except not manually set to show.
|
|
319
|
+
this.dataKeys.length === 1 && showLegend === true) {
|
|
320
|
+
return null;
|
|
321
|
+
}
|
|
322
|
+
var _this$state = this.state,
|
|
323
|
+
dataDefinitions = _this$state.dataDefinitions,
|
|
324
|
+
withTrend = _this$state.withTrend;
|
|
325
|
+
var lProps = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, this.defaultLegendProps()), legendProps);
|
|
326
|
+
var commonLegendProps = {
|
|
327
|
+
dataHints: this.dataHints,
|
|
328
|
+
items: dataDefinitions,
|
|
329
|
+
size: lProps.size,
|
|
330
|
+
shape: lProps.shape,
|
|
331
|
+
direction: (_lProps$direction = lProps.direction) !== null && _lProps$direction !== void 0 ? _lProps$direction : direction === 'row' || direction === 'row-reverse' ? 'column' : 'row',
|
|
332
|
+
onChangeVisibleItem: lProps.disableSelectItems ? undefined : (0, _assignProps2.callAllEventHandlers)(lProps.onChangeVisibleItem, this.handleChangeVisible),
|
|
333
|
+
onMouseEnterItem: lProps.disableHoverItems ? undefined : (0, _assignProps2.callAllEventHandlers)(lProps.onMouseEnterItem, this.handleMouseEnter),
|
|
334
|
+
onMouseLeaveItem: lProps.disableHoverItems ? undefined : (0, _assignProps2.callAllEventHandlers)(lProps.onMouseLeaveItem, this.handleMouseLeave)
|
|
335
|
+
};
|
|
336
|
+
if (lProps.legendType === 'Table') {
|
|
337
|
+
return /*#__PURE__*/_react["default"].createElement(_ChartLegend.ChartLegendTable, commonLegendProps);
|
|
338
|
+
}
|
|
339
|
+
if ('withTrend' in lProps) {
|
|
340
|
+
var flexLegendProps = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, commonLegendProps), {}, {
|
|
341
|
+
withTrend: true,
|
|
342
|
+
trendLabel: lProps.trendLabel,
|
|
343
|
+
trendIsVisible: withTrend,
|
|
344
|
+
onTrendIsVisibleChange: this.handleWithTrendChange
|
|
345
|
+
});
|
|
346
|
+
return /*#__PURE__*/_react["default"].createElement(_ChartLegend["default"], flexLegendProps);
|
|
347
|
+
}
|
|
348
|
+
return /*#__PURE__*/_react["default"].createElement(_ChartLegend["default"], commonLegendProps);
|
|
349
|
+
}
|
|
350
|
+
}, {
|
|
351
|
+
key: "renderAxis",
|
|
352
|
+
value: function renderAxis() {
|
|
353
|
+
var _this$asProps6 = this.asProps,
|
|
354
|
+
invertAxis = _this$asProps6.invertAxis,
|
|
355
|
+
showXAxis = _this$asProps6.showXAxis,
|
|
356
|
+
showYAxis = _this$asProps6.showYAxis,
|
|
357
|
+
data = _this$asProps6.data,
|
|
358
|
+
axisXValueFormatter = _this$asProps6.axisXValueFormatter,
|
|
359
|
+
axisYValueFormatter = _this$asProps6.axisYValueFormatter;
|
|
360
|
+
if (!Array.isArray(data)) {
|
|
361
|
+
return null;
|
|
362
|
+
}
|
|
363
|
+
var xTicks = this.xTicks;
|
|
364
|
+
var yTicks = this.yTicks;
|
|
365
|
+
var childrenX = axisXValueFormatter ? function (_ref8) {
|
|
366
|
+
var value = _ref8.value;
|
|
367
|
+
return {
|
|
368
|
+
children: axisXValueFormatter(value)
|
|
369
|
+
};
|
|
370
|
+
} : undefined;
|
|
371
|
+
var childrenY = axisYValueFormatter ? function (_ref9) {
|
|
372
|
+
var value = _ref9.value;
|
|
373
|
+
return {
|
|
374
|
+
children: axisYValueFormatter(value)
|
|
375
|
+
};
|
|
376
|
+
} : undefined;
|
|
377
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, showYAxis && /*#__PURE__*/_react["default"].createElement(_.YAxis, null, yTicks ? /*#__PURE__*/_react["default"].createElement(_.YAxis.Ticks, {
|
|
378
|
+
ticks: yTicks
|
|
379
|
+
}, childrenY) : /*#__PURE__*/_react["default"].createElement(_.YAxis.Ticks, null, childrenY), invertAxis !== true && (yTicks ? /*#__PURE__*/_react["default"].createElement(_.YAxis.Grid, {
|
|
380
|
+
ticks: yTicks
|
|
381
|
+
}) : /*#__PURE__*/_react["default"].createElement(_.YAxis.Grid, null))), showXAxis && /*#__PURE__*/_react["default"].createElement(_.XAxis, null, xTicks ? /*#__PURE__*/_react["default"].createElement(_.XAxis.Ticks, {
|
|
382
|
+
ticks: xTicks
|
|
383
|
+
}, childrenX) : /*#__PURE__*/_react["default"].createElement(_.XAxis.Ticks, null, childrenX), invertAxis === true && (xTicks ? /*#__PURE__*/_react["default"].createElement(_.XAxis.Grid, {
|
|
384
|
+
ticks: xTicks
|
|
385
|
+
}) : /*#__PURE__*/_react["default"].createElement(_.XAxis.Grid, null))));
|
|
386
|
+
}
|
|
387
|
+
}, {
|
|
388
|
+
key: "render",
|
|
389
|
+
value: function render() {
|
|
390
|
+
var _ref = this.asProps,
|
|
391
|
+
_ref2;
|
|
392
|
+
var SChart = _flexBox.Flex;
|
|
393
|
+
var _this$asProps7 = this.asProps,
|
|
394
|
+
styles = _this$asProps7.styles,
|
|
395
|
+
plotWidth = _this$asProps7.plotWidth,
|
|
396
|
+
plotHeight = _this$asProps7.plotHeight,
|
|
397
|
+
data = _this$asProps7.data;
|
|
398
|
+
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SChart, _ref2.cn("SChart", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
399
|
+
"gap": 5
|
|
400
|
+
}, _ref))), this.renderLegend(), /*#__PURE__*/_react["default"].createElement(_.Plot, _ref2.cn("Plot", {
|
|
401
|
+
"data": data,
|
|
402
|
+
"scale": [this.xScale, this.yScale],
|
|
403
|
+
"width": plotWidth,
|
|
404
|
+
"height": plotHeight,
|
|
405
|
+
"dataHints": this.dataHints
|
|
406
|
+
}), this.renderAxis(), this.renderChart(), this.renderTooltip()));
|
|
407
|
+
}
|
|
408
|
+
}]);
|
|
409
|
+
return AbstractChart;
|
|
410
|
+
}(_core.Component);
|
|
411
|
+
exports.AbstractChart = AbstractChart;
|
|
412
|
+
(0, _defineProperty2["default"])(AbstractChart, "style", {});
|
|
413
|
+
(0, _defineProperty2["default"])(AbstractChart, "defaultProps", {
|
|
414
|
+
direction: 'column',
|
|
415
|
+
showXAxis: true,
|
|
416
|
+
showYAxis: true,
|
|
417
|
+
showTooltip: true,
|
|
418
|
+
showLegend: true
|
|
419
|
+
});
|
|
420
|
+
//# sourceMappingURL=AbstractChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractChart.js","names":["_core","require","_hints","_utils","_react","_interopRequireDefault","_assignProps2","_ChartLegend","_interopRequireWildcard","_flexBox","_","_typography","AbstractChart","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","makeDataHintsContainer","dataDefinitions","defaultDataDefinitions","highlightedLine","withTrend","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","_createClass2","key","value","componentDidUpdate","prevProps","data","legendProps","setState","get","_this2","_this$props","dataKeys","map","index","_legendProps$legendMa","_legendData$label","_legendData$icon","_legendData$defaultCh","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","_ref3","Map","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","Text","concat","use","_this$props2","groupKey","keys","filter","_this$asProps","asProps","invertAxis","xTicksCount","yTicksCount","scale","xScale","ticks","_this$asProps2","yScale","_this$asProps3","flatValues","result","item","add","entries","forEach","_ref4","_ref5","_slicedToArray2","Set","_this$asProps4","max","val","barSum","_ref6","_ref7","Date","isNaN","getMilliseconds","totalValue","state","legendItem","isVisible","prevState","findIndex","line","_this$props$colorMap$","_this$props$colorMap","colorMap","interpolateValue","toDateString","toString","defaultLegendProps","legendType","renderLegend","_lProps$direction","_this$asProps5","direction","showLegend","length","_this$state","lProps","_objectSpread2","commonLegendProps","dataHints","items","size","shape","onChangeVisibleItem","disableSelectItems","callAllEventHandlers","onMouseEnterItem","disableHoverItems","onMouseLeaveItem","ChartLegendTable","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","xTicks","yTicks","childrenX","_ref8","children","childrenY","_ref9","Fragment","YAxis","Ticks","Grid","XAxis","render","_ref","_ref2","SChart","Flex","_this$asProps7","styles","plotWidth","plotHeight","sstyled","cn","assignProps","Plot","renderChart","renderTooltip","Component","exports","showTooltip"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { makeDataHintsContainer } from '../../a11y/hints';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport { interpolateValue } from '../../utils';\nimport React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport { Flex } from '@semcore/flex-box';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { Text } from '@semcore/typography';\nimport { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\n\ntype ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport abstract class AbstractChart<\n D extends ListData | ObjectData,\n T extends BaseChartProps<D>,\n> extends Component<T, {}, ChartState> {\n public static style = {};\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n public state: ChartState = {\n dataDefinitions: this.defaultDataDefinitions,\n highlightedLine: -1,\n withTrend: false,\n };\n\n constructor(props: T) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n }\n\n public componentDidUpdate(prevProps: T) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.defaultDataDefinitions });\n }\n }\n\n protected get defaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n const value = (data instanceof Map ? data.get(key) : Number(data[key])) ?? 0;\n const total = Object.values(data).reduce<number>((sum, i) => sum + Number(i), 0);\n const percent = ((value / total) * 100).toFixed(2);\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use={'secondary'}>\n {percent}%\n </Text>,\n <Text key={`${key}_value`} use={'primary'}>\n {value}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (typeof item === 'number') {\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n return total;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return 'n/a';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend } = this.asProps;\n\n if (\n !showLegend ||\n // we hide Legend for one item on chart except not manually set to show.\n (this.dataKeys.length === 1 && showLegend === true)\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps = {\n dataHints: this.dataHints,\n items: dataDefinitions,\n size: lProps.size,\n shape: lProps.shape,\n direction:\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n onChangeVisibleItem: lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n onMouseEnterItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n onMouseLeaveItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...commonLegendProps} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps: LegendFlexProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...flexLegendProps} />;\n }\n\n return <ChartLegend {...commonLegendProps} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const { invertAxis, showXAxis, showYAxis, data, axisXValueFormatter, axisYValueFormatter } =\n this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks ? (\n <YAxis.Ticks ticks={yTicks}>{childrenY}</YAxis.Ticks>\n ) : (\n <YAxis.Ticks>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks ? (\n <XAxis.Ticks ticks={xTicks}>{childrenX}</XAxis.Ticks>\n ) : (\n <XAxis.Ticks>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data } = this.asProps;\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5}>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n >\n {this.renderAxis()}\n {this.renderChart()}\n {this.renderTooltip()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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"}
|