@semcore/d3-chart 16.5.0 → 17.0.0-prerelease.8
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 +10 -0
- package/lib/cjs/AnimatedClipPath.js +28 -41
- package/lib/cjs/AnimatedClipPath.js.map +1 -1
- package/lib/cjs/Area.js +187 -223
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +248 -327
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +162 -185
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +219 -248
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/CompactHorizontalBar.js +448 -482
- package/lib/cjs/CompactHorizontalBar.js.map +1 -1
- package/lib/cjs/Donut.js +349 -396
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +67 -86
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +78 -93
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +149 -167
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +178 -207
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +182 -222
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Pattern.js +124 -126
- package/lib/cjs/Pattern.js.map +1 -1
- package/lib/cjs/Plot.js +100 -126
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/Radar.js +576 -681
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +518 -571
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/Reference.js +147 -178
- package/lib/cjs/Reference.js.map +1 -1
- package/lib/cjs/ResponsiveContainer.js +64 -82
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +169 -199
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +135 -177
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +60 -73
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +193 -208
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +182 -217
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/DataAccessibilityTable.js +45 -83
- package/lib/cjs/a11y/DataAccessibilityTable.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +37 -97
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +97 -91
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
- package/lib/cjs/a11y/bezier.js +17 -23
- package/lib/cjs/a11y/bezier.js.map +1 -1
- package/lib/cjs/a11y/focus.js +16 -16
- package/lib/cjs/a11y/focus.js.map +1 -1
- package/lib/cjs/a11y/hints.js +72 -75
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/insights.js +354 -525
- package/lib/cjs/a11y/insights.js.map +1 -1
- package/lib/cjs/a11y/intl.js +5 -5
- package/lib/cjs/a11y/intl.js.map +1 -1
- package/lib/cjs/a11y/locale.js +12 -19
- package/lib/cjs/a11y/locale.js.map +1 -1
- package/lib/cjs/a11y/serialize.js +164 -203
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/a11y/summarize.js +7 -6
- package/lib/cjs/a11y/summarize.js.map +1 -1
- package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js +16 -16
- package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/a11y/translations/module/de.json +2 -2
- package/lib/cjs/a11y/translations/module/en.json +2 -2
- package/lib/cjs/a11y/translations/module/es.json +2 -2
- package/lib/cjs/a11y/translations/module/fr.json +2 -2
- package/lib/cjs/a11y/translations/module/it.json +2 -2
- package/lib/cjs/a11y/translations/module/ja.json +2 -2
- package/lib/cjs/a11y/translations/module/ko.json +2 -2
- package/lib/cjs/a11y/translations/module/nl.json +2 -2
- package/lib/cjs/a11y/translations/module/pl.json +2 -2
- package/lib/cjs/a11y/translations/module/pt.json +2 -2
- package/lib/cjs/a11y/translations/module/sv.json +2 -2
- package/lib/cjs/a11y/translations/module/tr.json +2 -2
- package/lib/cjs/a11y/translations/module/vi.json +2 -2
- package/lib/cjs/a11y/translations/module/zh.json +2 -2
- package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js +16 -16
- package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/color.js +1 -1
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/component/Chart/AbstractChart.js +421 -466
- package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
- package/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -1
- package/lib/cjs/component/Chart/AreaChart.js +97 -115
- 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 +229 -216
- 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 +114 -136
- 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 +280 -305
- package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/cjs/component/Chart/CompactHorizontalBarChart.js +76 -108
- 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 +80 -95
- 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 +126 -148
- 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 +95 -113
- 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 +84 -110
- 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 +119 -143
- 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 +103 -122
- 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/Chart/index.js +2 -2
- package/lib/cjs/component/Chart/index.js.map +1 -1
- package/lib/cjs/component/ChartLegend/BaseLegend.js +72 -105
- package/lib/cjs/component/ChartLegend/BaseLegend.js.map +1 -1
- package/lib/cjs/component/ChartLegend/BaseLegend.type.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +58 -70
- 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 +208 -221
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js +1 -1
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +63 -73
- 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/ChartLegend/index.js +4 -4
- package/lib/cjs/component/ChartLegend/index.js.map +1 -1
- package/lib/cjs/component/Cigarette/Cigarette.js +115 -129
- package/lib/cjs/component/Cigarette/Cigarette.js.map +1 -1
- package/lib/cjs/component/StackGroupBar/StackGroupBar.js +107 -137
- package/lib/cjs/component/StackGroupBar/StackGroupBar.js.map +1 -1
- package/lib/cjs/component/SvgElement.js +7 -7
- package/lib/cjs/component/SvgElement.js.map +1 -1
- package/lib/cjs/createElement.js +66 -65
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js +62 -62
- package/lib/cjs/style/axis.shadow.css +3 -0
- package/lib/cjs/style/plot.shadow.css +1 -3
- package/lib/cjs/style/plotA11yModule.shadow.css +10 -11
- package/lib/cjs/style/plotA11yView.shadow.css +13 -26
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js +15 -15
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/types/Axis.d.js.map +1 -1
- package/lib/cjs/types/CompactHorizontalBar.d.js.map +1 -1
- package/lib/cjs/types/Hover.d.js.map +1 -1
- package/lib/cjs/types/Line.d.js.map +1 -1
- package/lib/cjs/types/Plot.d.js.map +1 -1
- package/lib/cjs/types/Radar.d.js.map +1 -1
- package/lib/cjs/types/ResponsiveContainer.d.js.map +1 -1
- package/lib/cjs/types/Tooltip.d.js.map +1 -1
- package/lib/cjs/types/Venn.d.js.map +1 -1
- package/lib/cjs/types/index.d.js +80 -80
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js +122 -145
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/AnimatedClipPath.js +24 -37
- package/lib/es6/AnimatedClipPath.js.map +1 -1
- package/lib/es6/Area.js +179 -215
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +242 -321
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +154 -177
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +206 -235
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/CompactHorizontalBar.js +433 -467
- package/lib/es6/CompactHorizontalBar.js.map +1 -1
- package/lib/es6/Donut.js +337 -384
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +60 -79
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +74 -89
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +141 -159
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +174 -203
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +173 -213
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Pattern.js +68 -74
- package/lib/es6/Pattern.js.map +1 -1
- package/lib/es6/Plot.js +95 -121
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/Radar.js +554 -659
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +500 -553
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/Reference.js +140 -171
- package/lib/es6/Reference.js.map +1 -1
- package/lib/es6/ResponsiveContainer.js +58 -76
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +161 -191
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +130 -172
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +56 -69
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +183 -198
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +169 -204
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/DataAccessibilityTable.js +41 -80
- package/lib/es6/a11y/DataAccessibilityTable.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +35 -95
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +89 -84
- package/lib/es6/a11y/PlotA11yView.js.map +1 -1
- package/lib/es6/a11y/bezier.js +16 -23
- package/lib/es6/a11y/bezier.js.map +1 -1
- package/lib/es6/a11y/focus.js +15 -16
- package/lib/es6/a11y/focus.js.map +1 -1
- package/lib/es6/a11y/hints.js +67 -73
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/insights.js +353 -524
- package/lib/es6/a11y/insights.js.map +1 -1
- package/lib/es6/a11y/intl.js +4 -5
- package/lib/es6/a11y/intl.js.map +1 -1
- package/lib/es6/a11y/locale.js +11 -18
- package/lib/es6/a11y/locale.js.map +1 -1
- package/lib/es6/a11y/serialize.js +162 -203
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/a11y/summarize.js +6 -6
- package/lib/es6/a11y/summarize.js.map +1 -1
- package/lib/es6/a11y/translations/module/__intergalactic-dynamic-locales.js +15 -15
- package/lib/es6/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/a11y/translations/module/de.json +2 -2
- package/lib/es6/a11y/translations/module/en.json +2 -2
- package/lib/es6/a11y/translations/module/es.json +2 -2
- package/lib/es6/a11y/translations/module/fr.json +2 -2
- package/lib/es6/a11y/translations/module/it.json +2 -2
- package/lib/es6/a11y/translations/module/ja.json +2 -2
- package/lib/es6/a11y/translations/module/ko.json +2 -2
- package/lib/es6/a11y/translations/module/nl.json +2 -2
- package/lib/es6/a11y/translations/module/pl.json +2 -2
- package/lib/es6/a11y/translations/module/pt.json +2 -2
- package/lib/es6/a11y/translations/module/sv.json +2 -2
- package/lib/es6/a11y/translations/module/tr.json +2 -2
- package/lib/es6/a11y/translations/module/vi.json +2 -2
- package/lib/es6/a11y/translations/module/zh.json +2 -2
- package/lib/es6/a11y/translations/view/__intergalactic-dynamic-locales.js +15 -15
- package/lib/es6/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/color.js +1 -1
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/component/Chart/AbstractChart.js +416 -462
- package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
- package/lib/es6/component/Chart/AbstractChart.type.js.map +1 -1
- package/lib/es6/component/Chart/AreaChart.js +92 -111
- 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 +225 -213
- 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 +109 -132
- 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 +276 -301
- package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
- package/lib/es6/component/Chart/CompactHorizontalBarChart.js +70 -103
- 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 +74 -90
- 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 +121 -144
- 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 +90 -109
- 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 +80 -107
- 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 +113 -138
- 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 +97 -117
- 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 +70 -104
- package/lib/es6/component/ChartLegend/BaseLegend.js.map +1 -1
- package/lib/es6/component/ChartLegend/BaseLegend.type.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +53 -65
- 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 +198 -211
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js +1 -1
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.type.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +58 -68
- 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 +108 -122
- package/lib/es6/component/Cigarette/Cigarette.js.map +1 -1
- package/lib/es6/component/StackGroupBar/StackGroupBar.js +100 -130
- package/lib/es6/component/StackGroupBar/StackGroupBar.js.map +1 -1
- package/lib/es6/component/SvgElement.js +4 -5
- package/lib/es6/component/SvgElement.js.map +1 -1
- package/lib/es6/createElement.js +55 -54
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/style/axis.shadow.css +3 -0
- package/lib/es6/style/plot.shadow.css +1 -3
- package/lib/es6/style/plotA11yModule.shadow.css +10 -11
- package/lib/es6/style/plotA11yView.shadow.css +13 -26
- package/lib/es6/translations/__intergalactic-dynamic-locales.js +14 -14
- package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/types/Axis.d.js.map +1 -1
- package/lib/es6/types/CompactHorizontalBar.d.js.map +1 -1
- package/lib/es6/types/Hover.d.js.map +1 -1
- package/lib/es6/types/Line.d.js.map +1 -1
- package/lib/es6/types/Plot.d.js.map +1 -1
- package/lib/es6/types/Radar.d.js.map +1 -1
- package/lib/es6/types/ResponsiveContainer.d.js.map +1 -1
- package/lib/es6/types/Tooltip.d.js.map +1 -1
- package/lib/es6/types/Venn.d.js.map +1 -1
- package/lib/es6/utils.js +105 -144
- package/lib/es6/utils.js.map +1 -1
- package/lib/esm/AnimatedClipPath.mjs +24 -36
- package/lib/esm/Area.mjs +178 -149
- package/lib/esm/Axis.mjs +241 -242
- package/lib/esm/Bar.mjs +155 -137
- package/lib/esm/Bubble.mjs +205 -171
- package/lib/esm/CompactHorizontalBar.mjs +428 -383
- package/lib/esm/Donut.mjs +315 -266
- package/lib/esm/Dots.mjs +60 -49
- package/lib/esm/GroupBar.mjs +71 -75
- package/lib/esm/HorizontalBar.mjs +142 -120
- package/lib/esm/Hover.mjs +173 -163
- package/lib/esm/Line.mjs +174 -145
- package/lib/esm/Pattern.mjs +67 -63
- package/lib/esm/Plot.mjs +98 -95
- package/lib/esm/Radar.mjs +550 -498
- package/lib/esm/RadialTree.mjs +512 -416
- package/lib/esm/Reference.mjs +137 -122
- package/lib/esm/ResponsiveContainer.mjs +58 -69
- package/lib/esm/ScatterPlot.mjs +163 -162
- package/lib/esm/StackBar.mjs +126 -147
- package/lib/esm/StackedArea.mjs +53 -61
- package/lib/esm/Tooltip.mjs +185 -175
- package/lib/esm/Venn.mjs +170 -170
- package/lib/esm/a11y/DataAccessibilityTable.mjs +46 -73
- package/lib/esm/a11y/PlotA11yModule.mjs +37 -80
- package/lib/esm/a11y/PlotA11yView.mjs +99 -74
- package/lib/esm/a11y/bezier.mjs +16 -23
- package/lib/esm/a11y/focus.mjs +15 -16
- package/lib/esm/a11y/hints.mjs +65 -71
- package/lib/esm/a11y/insights.mjs +347 -495
- package/lib/esm/a11y/intl.mjs +4 -5
- package/lib/esm/a11y/locale.mjs +12 -14
- package/lib/esm/a11y/serialize.mjs +139 -152
- package/lib/esm/a11y/summarize.mjs +3 -3
- package/lib/esm/a11y/translations/module/__intergalactic-dynamic-locales.mjs +1 -1
- package/lib/esm/a11y/translations/module/de.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/en.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/es.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/fr.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/it.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/ja.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/ko.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/nl.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/pl.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/pt.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/sv.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/tr.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/vi.json.mjs +2 -4
- package/lib/esm/a11y/translations/module/zh.json.mjs +2 -4
- package/lib/esm/a11y/translations/view/__intergalactic-dynamic-locales.mjs +1 -1
- package/lib/esm/color.mjs +1 -1
- package/lib/esm/component/Chart/AbstractChart.mjs +422 -415
- package/lib/esm/component/Chart/AreaChart.mjs +92 -91
- package/lib/esm/component/Chart/BarChart.mjs +225 -177
- package/lib/esm/component/Chart/BubbleChart.mjs +110 -118
- package/lib/esm/component/Chart/CigaretteChart.mjs +277 -268
- package/lib/esm/component/Chart/CompactHorizontalBarChart.mjs +70 -87
- package/lib/esm/component/Chart/DonutChart.mjs +74 -84
- package/lib/esm/component/Chart/HistogramChart.mjs +121 -117
- package/lib/esm/component/Chart/LineChart.mjs +90 -89
- package/lib/esm/component/Chart/RadarChart.mjs +81 -97
- package/lib/esm/component/Chart/ScatterPlotChart.mjs +113 -111
- package/lib/esm/component/Chart/VennChart.mjs +98 -111
- package/lib/esm/component/ChartLegend/BaseLegend.mjs +75 -97
- package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +54 -55
- package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +194 -165
- package/lib/esm/component/ChartLegend/LegendItem/LegendItem.type.mjs +1 -1
- package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +60 -58
- package/lib/esm/component/Cigarette/Cigarette.mjs +109 -99
- package/lib/esm/component/StackGroupBar/StackGroupBar.mjs +97 -111
- package/lib/esm/component/SvgElement.mjs +4 -4
- package/lib/esm/createElement.mjs +54 -37
- package/lib/esm/style/axis.shadow.css +3 -0
- package/lib/esm/style/plot.shadow.css +1 -3
- package/lib/esm/style/plotA11yModule.shadow.css +10 -11
- package/lib/esm/style/plotA11yView.shadow.css +13 -26
- package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +1 -1
- package/lib/esm/utils.mjs +103 -138
- package/lib/types/Axis.d.ts +4 -0
- package/lib/types/CompactHorizontalBar.d.ts +1 -1
- package/lib/types/Hover.d.ts +1 -1
- package/lib/types/Line.d.ts +1 -1
- package/lib/types/Plot.d.ts +1 -1
- package/lib/types/Radar.d.ts +1 -1
- package/lib/types/ResponsiveContainer.d.ts +1 -1
- package/lib/types/Tooltip.d.ts +1 -3
- package/lib/types/Venn.d.ts +1 -1
- package/lib/types/a11y/PlotA11yModule.d.ts +4 -11
- package/lib/types/a11y/PlotA11yView.d.ts +12 -1
- package/lib/types/a11y/translations/module/__intergalactic-dynamic-locales.d.ts +14 -14
- package/lib/types/component/Chart/AbstractChart.d.ts +1 -1
- package/lib/types/component/Chart/AbstractChart.type.d.ts +1 -1
- package/lib/types/component/Chart/AreaChart.type.d.ts +1 -1
- package/lib/types/component/Chart/BarChart.type.d.ts +1 -1
- package/lib/types/component/Chart/BubbleChart.type.d.ts +1 -1
- package/lib/types/component/Chart/CompactHorizontalBarChart.type.d.ts +1 -1
- package/lib/types/component/Chart/DonutChart.type.d.ts +1 -1
- package/lib/types/component/Chart/HistogramChart.type.d.ts +1 -1
- package/lib/types/component/Chart/LineChart.type.d.ts +1 -1
- package/lib/types/component/Chart/RadarChart.type.d.ts +1 -1
- package/lib/types/component/Chart/ScatterPlotChart.type.d.ts +1 -1
- package/lib/types/component/Chart/VennChart.type.d.ts +1 -1
- package/lib/types/component/ChartLegend/BaseLegend.d.ts +1 -1
- package/lib/types/component/ChartLegend/BaseLegend.type.d.ts +1 -1
- package/lib/types/component/ChartLegend/LegendFlex/LegendFlex.type.d.ts +1 -1
- package/lib/types/component/ChartLegend/LegendItem/LegendItem.type.d.ts +1 -1
- package/lib/types/component/ChartLegend/LegendTable/LegendTable.type.d.ts +1 -1
- package/lib/types/utils.d.ts +10 -10
- package/package.json +11 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterPlot.js","names":["Component","Root","sstyled","canUseDOM","uniqueIDEnhancement","transition","React","createElement","PatternFill","style","_sstyled","insert","Tooltip","getScatterPlotRadius","ScatterPlotRoot","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","document","visible","props","tooltipProps","_ref4","clientX","clientY","_this$asProps","asProps","eventEmitter","plotId","emit","_inherits","_createClass","key","value","generateGetBoundingClientRect","x","undefined","y","width","height","top","right","bottom","left","animationCircle","_this$asProps2","duration","uid","r","radius","selectRect","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","prevProps","data","componentDidMount","handlerOnClick","index","_this2","e","stopPropagation","onClick","renderCircle","d","i","_ref2","_this$asProps3","color","scale","offset","styles","valueColor","transparent","resolveColor","patterns","_scale","_slicedToArray","xScale","yScale","SScatterPlot","Element","SValue","Number","isNaN","cn","bindHandlerTooltip","xIndex","render","_this$asProps4","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","_objectSpread","_assignProps","ScatterPlot","_______childrenComponents"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/scatterplot.shadow.css';\nimport Tooltip from './Tooltip';\nimport { getScatterPlotRadius } from './utils';\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, clientY }) => {\n const { eventEmitter, plotId } = this.asProps;\n\n eventEmitter.emit(`setTooltipPosition_${plotId}`, clientX, clientY);\n eventEmitter.emit(`setTooltipRenderingProps_${plotId}`, props, tooltipProps);\n eventEmitter.emit(`setTooltipVisible_${plotId}`, visible);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : getScatterPlotRadius(value);\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(prevProps) {\n if (prevProps.data !== this.props.data) {\n this.animationCircle();\n }\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n handlerOnClick(index) {\n return (e) => {\n e.stopPropagation();\n\n const { onClick } = this.asProps;\n\n if (!onClick) return;\n\n onClick(index, e);\n };\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 patterns,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n if (Number.isNaN(d[x]) || Number.isNaN(d[y])) {\n return null;\n }\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, patterns })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i, patterns })}\n onClickCapture={this.handlerOnClick(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 pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\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 id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </clipPath>\n </>\n );\n }\n}\n\nfunction 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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ScatterPlot.js","names":["Component","Root","sstyled","canUseDOM","uniqueIDEnhancement","transition","React","createElement","PatternFill","style","_sstyled","insert","Tooltip","getScatterPlotRadius","ScatterPlotRoot","constructor","args","_defineProperty","document","visible","props","tooltipProps","clientX","clientY","eventEmitter","plotId","asProps","emit","generateGetBoundingClientRect","x","y","width","height","top","right","bottom","left","animationCircle","duration","uid","r","value","radius","selectRect","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","prevProps","data","componentDidMount","handlerOnClick","index","e","stopPropagation","onClick","renderCircle","d","i","_ref2","color","scale","offset","styles","valueColor","transparent","resolveColor","patterns","xScale","yScale","SScatterPlot","Element","SValue","Number","isNaN","cn","bindHandlerTooltip","xIndex","undefined","render","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","_assignProps","ScatterPlot","_______childrenComponents"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/scatterplot.shadow.css';\nimport Tooltip from './Tooltip';\nimport { getScatterPlotRadius } from './utils';\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, clientY }) => {\n const { eventEmitter, plotId } = this.asProps;\n\n eventEmitter.emit(`setTooltipPosition_${plotId}`, clientX, clientY);\n eventEmitter.emit(`setTooltipRenderingProps_${plotId}`, props, tooltipProps);\n eventEmitter.emit(`setTooltipVisible_${plotId}`, visible);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : getScatterPlotRadius(value);\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(prevProps) {\n if (prevProps.data !== this.props.data) {\n this.animationCircle();\n }\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n handlerOnClick(index) {\n return (e) => {\n e.stopPropagation();\n\n const { onClick } = this.asProps;\n\n if (!onClick) return;\n\n onClick(index, e);\n };\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 patterns,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n if (Number.isNaN(d[x]) || Number.isNaN(d[y])) {\n return null;\n }\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, patterns })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i, patterns })}\n onClickCapture={this.handlerOnClick(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 pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\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 id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </clipPath>\n </>\n );\n }\n}\n\nfunction 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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","ignoreList":[]}
|
package/lib/es6/StackBar.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
4
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
5
|
-
import _callSuper from "@babel/runtime/helpers/callSuper";
|
|
6
|
-
import _inherits from "@babel/runtime/helpers/inherits";
|
|
7
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
2
|
import { Component } from '@semcore/core';
|
|
9
3
|
import getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';
|
|
@@ -13,181 +7,145 @@ import Bar, { MIN_HEIGHT } from './Bar';
|
|
|
13
7
|
import createElement from './createElement';
|
|
14
8
|
import HorizontalBar, { MIN_WIDTH } from './HorizontalBar';
|
|
15
9
|
import { getChartDefaultColorName } from './utils';
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
23
|
-
args[_key] = arguments[_key];
|
|
24
|
-
}
|
|
25
|
-
_this = _callSuper(this, StackBarRoot, [].concat(args));
|
|
26
|
-
_defineProperty(_this, "offsetBars", []);
|
|
27
|
-
return _this;
|
|
10
|
+
const DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
11
|
+
const XY0 = Symbol('XY0');
|
|
12
|
+
class StackBarRoot extends Component {
|
|
13
|
+
constructor(...args) {
|
|
14
|
+
super(...args);
|
|
15
|
+
_defineProperty(this, "offsetBars", []);
|
|
28
16
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (/*#__PURE__*/React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {
|
|
40
|
-
acc.push(child.props.y);
|
|
41
|
-
}
|
|
42
|
-
if (/*#__PURE__*/React.isValidElement(child) && child.type === StackBar.HorizontalBar && !child.props.hide) {
|
|
43
|
-
acc.push(child.props.x);
|
|
44
|
-
}
|
|
45
|
-
return acc;
|
|
46
|
-
}, []);
|
|
47
|
-
stack.keys(keys);
|
|
48
|
-
}
|
|
49
|
-
return stack(data);
|
|
50
|
-
}
|
|
51
|
-
}, {
|
|
52
|
-
key: "getBarProps",
|
|
53
|
-
value: function getBarProps(_ref, index) {
|
|
54
|
-
var _this2 = this,
|
|
55
|
-
_this$offsetBars$seri;
|
|
56
|
-
var y = _ref.y,
|
|
57
|
-
_ref$hMin = _ref.hMin,
|
|
58
|
-
hMin = _ref$hMin === void 0 ? MIN_HEIGHT : _ref$hMin;
|
|
59
|
-
var _this$asProps2 = this.asProps,
|
|
60
|
-
x = _this$asProps2.x,
|
|
61
|
-
r = _this$asProps2.r,
|
|
62
|
-
scale = _this$asProps2.scale,
|
|
63
|
-
maxBarSize = _this$asProps2.maxBarSize,
|
|
64
|
-
patterns = _this$asProps2.patterns;
|
|
65
|
-
var _scale = _slicedToArray(scale, 2),
|
|
66
|
-
yScale = _scale[1];
|
|
67
|
-
var seriesIndex = this.series.findIndex(function (s) {
|
|
68
|
-
return s.key === y;
|
|
69
|
-
});
|
|
70
|
-
// or [] if hide bar
|
|
71
|
-
var series = this.series[seriesIndex] || [];
|
|
72
|
-
var rBar = series.map(function (_s, i) {
|
|
73
|
-
return _this2.series.slice(seriesIndex + 1).some(function (bar) {
|
|
74
|
-
return bar[i][0] !== bar[i][1];
|
|
75
|
-
}) ? 0 : r;
|
|
76
|
-
});
|
|
77
|
-
this.offsetBars[seriesIndex] = (_this$offsetBars$seri = this.offsetBars[seriesIndex]) !== null && _this$offsetBars$seri !== void 0 ? _this$offsetBars$seri : [];
|
|
78
|
-
var data = series.map(function (s) {
|
|
79
|
-
return _objectSpread(_objectSpread({}, s.data), {}, _defineProperty(_defineProperty({}, y, s[1]), XY0, s[0]));
|
|
80
|
-
});
|
|
81
|
-
var calcOffset = function calcOffset(i) {
|
|
82
|
-
var _d$XY, _d$XY2;
|
|
83
|
-
var offset = _this2.offsetBars.reduce(function (offset, offsetBar) {
|
|
84
|
-
var _offsetBar$i;
|
|
85
|
-
return offset - ((_offsetBar$i = offsetBar[i]) !== null && _offsetBar$i !== void 0 ? _offsetBar$i : 0);
|
|
86
|
-
}, 0);
|
|
87
|
-
var d = data[i];
|
|
88
|
-
var absHeight = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale((_d$XY = d[XY0]) !== null && _d$XY !== void 0 ? _d$XY : 0)));
|
|
89
|
-
var isEmptyValue = Number(d[y] - ((_d$XY2 = d[XY0]) !== null && _d$XY2 !== void 0 ? _d$XY2 : 0)) === 0;
|
|
90
|
-
if (isEmptyValue || absHeight >= hMin) {
|
|
91
|
-
_this2.offsetBars[seriesIndex][i] = 0;
|
|
92
|
-
} else {
|
|
93
|
-
var offsetValue = hMin - absHeight;
|
|
94
|
-
_this2.offsetBars[seriesIndex][i] = d[y] > 0 ? offsetValue : -offsetValue;
|
|
17
|
+
getSeries() {
|
|
18
|
+
const {
|
|
19
|
+
Children,
|
|
20
|
+
data,
|
|
21
|
+
stack
|
|
22
|
+
} = this.asProps;
|
|
23
|
+
if (stack[DEFAULT_INSTANCE]) {
|
|
24
|
+
const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {
|
|
25
|
+
if (/*#__PURE__*/React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {
|
|
26
|
+
acc.push(child.props.y);
|
|
95
27
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
x: x,
|
|
103
|
-
r: rBar,
|
|
104
|
-
groupKey: x,
|
|
105
|
-
offset: calcOffset,
|
|
106
|
-
maxBarSize: maxBarSize,
|
|
107
|
-
color: getChartDefaultColorName(index),
|
|
108
|
-
patterns: patterns
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
}, {
|
|
112
|
-
key: "getHorizontalBarProps",
|
|
113
|
-
value: function getHorizontalBarProps(_ref2, index) {
|
|
114
|
-
var _this3 = this,
|
|
115
|
-
_this$offsetBars$seri2;
|
|
116
|
-
var x = _ref2.x,
|
|
117
|
-
_ref2$wMin = _ref2.wMin,
|
|
118
|
-
wMin = _ref2$wMin === void 0 ? MIN_WIDTH : _ref2$wMin;
|
|
119
|
-
var _this$asProps3 = this.asProps,
|
|
120
|
-
y = _this$asProps3.y,
|
|
121
|
-
r = _this$asProps3.r,
|
|
122
|
-
scale = _this$asProps3.scale,
|
|
123
|
-
maxBarSize = _this$asProps3.maxBarSize,
|
|
124
|
-
patterns = _this$asProps3.patterns;
|
|
125
|
-
var _scale2 = _slicedToArray(scale, 1),
|
|
126
|
-
xScale = _scale2[0];
|
|
127
|
-
var seriesIndex = this.series.findIndex(function (s) {
|
|
128
|
-
return s.key === x;
|
|
129
|
-
});
|
|
130
|
-
var series = this.series[seriesIndex];
|
|
131
|
-
var rBar = series.map(function (_s, i) {
|
|
132
|
-
return _this3.series.slice(seriesIndex + 1).some(function (bar) {
|
|
133
|
-
return bar[i][0] !== bar[i][1];
|
|
134
|
-
}) ? 0 : r;
|
|
135
|
-
});
|
|
136
|
-
this.offsetBars[seriesIndex] = (_this$offsetBars$seri2 = this.offsetBars[seriesIndex]) !== null && _this$offsetBars$seri2 !== void 0 ? _this$offsetBars$seri2 : [];
|
|
137
|
-
var data = series.map(function (s) {
|
|
138
|
-
return _objectSpread(_objectSpread({}, s.data), {}, _defineProperty(_defineProperty({}, x, s[1]), XY0, s[0]));
|
|
139
|
-
});
|
|
140
|
-
var calcOffset = function calcOffset(i) {
|
|
141
|
-
var _d$XY3, _d$XY4;
|
|
142
|
-
var offset = _this3.offsetBars.reduce(function (offset, offsetBar) {
|
|
143
|
-
var _offsetBar$i2;
|
|
144
|
-
return offset - ((_offsetBar$i2 = offsetBar[i]) !== null && _offsetBar$i2 !== void 0 ? _offsetBar$i2 : 0);
|
|
145
|
-
}, 0);
|
|
146
|
-
var d = data[i];
|
|
147
|
-
var absWidth = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale((_d$XY3 = d[XY0]) !== null && _d$XY3 !== void 0 ? _d$XY3 : 0)));
|
|
148
|
-
_this3.offsetBars[seriesIndex][i] = Number(d[x] - ((_d$XY4 = d[XY0]) !== null && _d$XY4 !== void 0 ? _d$XY4 : 0)) === 0 ? 0 : absWidth >= wMin ? 0 : d[x] > 0 ? -wMin : wMin;
|
|
149
|
-
return [offset, 0];
|
|
150
|
-
};
|
|
151
|
-
return {
|
|
152
|
-
data: data,
|
|
153
|
-
wMin: wMin,
|
|
154
|
-
x0: XY0,
|
|
155
|
-
y: y,
|
|
156
|
-
r: rBar,
|
|
157
|
-
groupKey: y,
|
|
158
|
-
offset: calcOffset,
|
|
159
|
-
maxBarSize: maxBarSize,
|
|
160
|
-
color: getChartDefaultColorName(index),
|
|
161
|
-
patterns: patterns
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
}, {
|
|
165
|
-
key: "render",
|
|
166
|
-
value: function render() {
|
|
167
|
-
var Element = this.Element;
|
|
168
|
-
this.series = this.getSeries();
|
|
169
|
-
this.asProps.dataHintsHandler.establishDataType('grouped-values');
|
|
170
|
-
this.offsetBars = [];
|
|
171
|
-
return /*#__PURE__*/React.createElement(Element, {
|
|
172
|
-
"aria-hidden": true,
|
|
173
|
-
render: "g",
|
|
174
|
-
series: this.series
|
|
175
|
-
});
|
|
28
|
+
if (/*#__PURE__*/React.isValidElement(child) && child.type === StackBar.HorizontalBar && !child.props.hide) {
|
|
29
|
+
acc.push(child.props.x);
|
|
30
|
+
}
|
|
31
|
+
return acc;
|
|
32
|
+
}, []);
|
|
33
|
+
stack.keys(keys);
|
|
176
34
|
}
|
|
177
|
-
|
|
178
|
-
}
|
|
35
|
+
return stack(data);
|
|
36
|
+
}
|
|
37
|
+
getBarProps({
|
|
38
|
+
y,
|
|
39
|
+
hMin = MIN_HEIGHT
|
|
40
|
+
}, index) {
|
|
41
|
+
const {
|
|
42
|
+
x,
|
|
43
|
+
r,
|
|
44
|
+
scale,
|
|
45
|
+
maxBarSize,
|
|
46
|
+
patterns
|
|
47
|
+
} = this.asProps;
|
|
48
|
+
const [, yScale] = scale;
|
|
49
|
+
const seriesIndex = this.series.findIndex(s => s.key === y);
|
|
50
|
+
// or [] if hide bar
|
|
51
|
+
const series = this.series[seriesIndex] || [];
|
|
52
|
+
const rBar = series.map((_s, i) => this.series.slice(seriesIndex + 1).some(bar => bar[i][0] !== bar[i][1]) ? 0 : r);
|
|
53
|
+
this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];
|
|
54
|
+
const data = series.map(s => ({
|
|
55
|
+
...s.data,
|
|
56
|
+
[y]: s[1],
|
|
57
|
+
[XY0]: s[0]
|
|
58
|
+
}));
|
|
59
|
+
const calcOffset = i => {
|
|
60
|
+
const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);
|
|
61
|
+
const d = data[i];
|
|
62
|
+
const absHeight = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[XY0] ?? 0)));
|
|
63
|
+
const isEmptyValue = Number(d[y] - (d[XY0] ?? 0)) === 0;
|
|
64
|
+
if (isEmptyValue || absHeight >= hMin) {
|
|
65
|
+
this.offsetBars[seriesIndex][i] = 0;
|
|
66
|
+
} else {
|
|
67
|
+
const offsetValue = hMin - absHeight;
|
|
68
|
+
this.offsetBars[seriesIndex][i] = d[y] > 0 ? offsetValue : -offsetValue;
|
|
69
|
+
}
|
|
70
|
+
return [0, offset];
|
|
71
|
+
};
|
|
72
|
+
return {
|
|
73
|
+
data,
|
|
74
|
+
hMin,
|
|
75
|
+
y0: XY0,
|
|
76
|
+
x,
|
|
77
|
+
r: rBar,
|
|
78
|
+
groupKey: x,
|
|
79
|
+
offset: calcOffset,
|
|
80
|
+
maxBarSize,
|
|
81
|
+
color: getChartDefaultColorName(index),
|
|
82
|
+
patterns
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
getHorizontalBarProps({
|
|
86
|
+
x,
|
|
87
|
+
wMin = MIN_WIDTH
|
|
88
|
+
}, index) {
|
|
89
|
+
const {
|
|
90
|
+
y,
|
|
91
|
+
r,
|
|
92
|
+
scale,
|
|
93
|
+
maxBarSize,
|
|
94
|
+
patterns
|
|
95
|
+
} = this.asProps;
|
|
96
|
+
const [xScale] = scale;
|
|
97
|
+
const seriesIndex = this.series.findIndex(s => s.key === x);
|
|
98
|
+
const series = this.series[seriesIndex];
|
|
99
|
+
this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];
|
|
100
|
+
const data = series.map(s => ({
|
|
101
|
+
...s.data,
|
|
102
|
+
[x]: s[1],
|
|
103
|
+
[XY0]: s[0]
|
|
104
|
+
}));
|
|
105
|
+
const calcOffset = i => {
|
|
106
|
+
const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);
|
|
107
|
+
const d = data[i];
|
|
108
|
+
const absWidth = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[XY0] ?? 0)));
|
|
109
|
+
this.offsetBars[seriesIndex][i] = Number(d[x] - (d[XY0] ?? 0)) === 0 ? 0 : absWidth >= wMin ? 0 : d[x] > 0 ? -wMin : wMin;
|
|
110
|
+
return [offset, 0];
|
|
111
|
+
};
|
|
112
|
+
return {
|
|
113
|
+
data,
|
|
114
|
+
wMin,
|
|
115
|
+
x0: XY0,
|
|
116
|
+
y,
|
|
117
|
+
r: 0,
|
|
118
|
+
groupKey: y,
|
|
119
|
+
offset: calcOffset,
|
|
120
|
+
maxBarSize,
|
|
121
|
+
color: getChartDefaultColorName(index),
|
|
122
|
+
patterns
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
render() {
|
|
126
|
+
const Element = this.Element;
|
|
127
|
+
this.series = this.getSeries();
|
|
128
|
+
this.asProps.dataHintsHandler.establishDataType('grouped-values');
|
|
129
|
+
this.offsetBars = [];
|
|
130
|
+
return /*#__PURE__*/React.createElement(Element, {
|
|
131
|
+
"aria-hidden": true,
|
|
132
|
+
render: "g",
|
|
133
|
+
series: this.series
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
179
137
|
_defineProperty(StackBarRoot, "displayName", 'StackBar');
|
|
180
|
-
_defineProperty(StackBarRoot, "defaultProps",
|
|
181
|
-
|
|
138
|
+
_defineProperty(StackBarRoot, "defaultProps", () => {
|
|
139
|
+
const stack = d3Stack();
|
|
182
140
|
stack[DEFAULT_INSTANCE] = true;
|
|
183
141
|
return {
|
|
184
|
-
stack
|
|
142
|
+
stack,
|
|
185
143
|
r: 2
|
|
186
144
|
};
|
|
187
145
|
});
|
|
188
|
-
|
|
189
|
-
Bar
|
|
190
|
-
HorizontalBar
|
|
146
|
+
const StackBar = createElement(StackBarRoot, {
|
|
147
|
+
Bar,
|
|
148
|
+
HorizontalBar
|
|
191
149
|
});
|
|
192
150
|
export default StackBar;
|
|
193
151
|
//# sourceMappingURL=StackBar.js.map
|
package/lib/es6/StackBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackBar.js","names":["Component","getOriginChildren","stack","d3Stack","React","Bar","MIN_HEIGHT","createElement","HorizontalBar","MIN_WIDTH","getChartDefaultColorName","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","_inherits","_createClass","key","value","getSeries","_this$asProps","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","getBarProps","_ref","index","_this2","_this$offsetBars$seri","_ref$hMin","hMin","_this$asProps2","r","scale","maxBarSize","patterns","_scale","_slicedToArray","yScale","seriesIndex","series","findIndex","s","rBar","map","_s","i","slice","some","bar","offsetBars","_objectSpread","calcOffset","_d$XY","_d$XY2","offset","offsetBar","_offsetBar$i","d","absHeight","Math","abs","min","domain","isEmptyValue","Number","offsetValue","y0","groupKey","color","getHorizontalBarProps","_ref2","_this3","_this$offsetBars$seri2","_ref2$wMin","wMin","_this$asProps3","_scale2","xScale","_d$XY3","_d$XY4","_offsetBar$i2","absWidth","max","x0","render","Element","dataHintsHandler","establishDataType"],"sources":["../../src/StackBar.jsx"],"sourcesContent":["import { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport { stack as d3Stack } from 'd3-shape';\nimport React from 'react';\n\nimport Bar, { MIN_HEIGHT } from './Bar';\nimport createElement from './createElement';\nimport HorizontalBar, { MIN_WIDTH } from './HorizontalBar';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n offsetBars = [];\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y, hMin = MIN_HEIGHT }, index) {\n const { x, r, scale, maxBarSize, patterns } = this.asProps;\n const [, yScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((_s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[XY0] ?? 0)),\n );\n\n const isEmptyValue = Number(d[y] - (d[XY0] ?? 0)) === 0;\n\n if (isEmptyValue || absHeight >= hMin) {\n this.offsetBars[seriesIndex][i] = 0;\n } else {\n const offsetValue = hMin - absHeight;\n this.offsetBars[seriesIndex][i] = d[y] > 0 ? offsetValue : -offsetValue;\n }\n\n return [0, offset];\n };\n\n return {\n data,\n hMin,\n y0: XY0,\n x,\n r: rBar,\n groupKey: x,\n offset: calcOffset,\n maxBarSize,\n color: getChartDefaultColorName(index),\n patterns,\n };\n }\n\n getHorizontalBarProps({ x, wMin = MIN_WIDTH }, index) {\n const { y, r, scale, maxBarSize, patterns } = this.asProps;\n const [xScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n const rBar = series.map((_s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[XY0] ?? 0)),\n );\n this.offsetBars[seriesIndex][i] =\n Number(d[x] - (d[XY0] ?? 0)) === 0 ? 0 : absWidth >= wMin ? 0 : d[x] > 0 ? -wMin : wMin;\n return [offset, 0];\n };\n\n return {\n data,\n wMin,\n x0: XY0,\n y,\n r: rBar,\n groupKey: y,\n offset: calcOffset,\n maxBarSize,\n color: getChartDefaultColorName(index),\n patterns,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n this.offsetBars = [];\n\n return <Element aria-hidden render='g' series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"StackBar.js","names":["Component","getOriginChildren","stack","d3Stack","React","Bar","MIN_HEIGHT","createElement","HorizontalBar","MIN_WIDTH","getChartDefaultColorName","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","constructor","args","_defineProperty","getSeries","Children","data","asProps","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","getBarProps","hMin","index","r","scale","maxBarSize","patterns","yScale","seriesIndex","series","findIndex","s","key","rBar","map","_s","i","slice","some","bar","offsetBars","calcOffset","offset","offsetBar","d","absHeight","Math","abs","min","domain","isEmptyValue","Number","offsetValue","y0","groupKey","color","getHorizontalBarProps","wMin","xScale","absWidth","max","x0","render","Element","dataHintsHandler","establishDataType"],"sources":["../../src/StackBar.jsx"],"sourcesContent":["import { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport { stack as d3Stack } from 'd3-shape';\nimport React from 'react';\n\nimport Bar, { MIN_HEIGHT } from './Bar';\nimport createElement from './createElement';\nimport HorizontalBar, { MIN_WIDTH } from './HorizontalBar';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n offsetBars = [];\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y, hMin = MIN_HEIGHT }, index) {\n const { x, r, scale, maxBarSize, patterns } = this.asProps;\n const [, yScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((_s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[XY0] ?? 0)),\n );\n\n const isEmptyValue = Number(d[y] - (d[XY0] ?? 0)) === 0;\n\n if (isEmptyValue || absHeight >= hMin) {\n this.offsetBars[seriesIndex][i] = 0;\n } else {\n const offsetValue = hMin - absHeight;\n this.offsetBars[seriesIndex][i] = d[y] > 0 ? offsetValue : -offsetValue;\n }\n\n return [0, offset];\n };\n\n return {\n data,\n hMin,\n y0: XY0,\n x,\n r: rBar,\n groupKey: x,\n offset: calcOffset,\n maxBarSize,\n color: getChartDefaultColorName(index),\n patterns,\n };\n }\n\n getHorizontalBarProps({ x, wMin = MIN_WIDTH }, index) {\n const { y, r, scale, maxBarSize, patterns } = this.asProps;\n const [xScale] = scale;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n this.offsetBars[seriesIndex] = this.offsetBars[seriesIndex] ?? [];\n const data = series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n }));\n\n const calcOffset = (i) => {\n const offset = this.offsetBars.reduce((offset, offsetBar) => offset - (offsetBar[i] ?? 0), 0);\n const d = data[i];\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[XY0] ?? 0)),\n );\n this.offsetBars[seriesIndex][i] =\n Number(d[x] - (d[XY0] ?? 0)) === 0 ? 0 : absWidth >= wMin ? 0 : d[x] > 0 ? -wMin : wMin;\n return [offset, 0];\n };\n\n return {\n data,\n wMin,\n x0: XY0,\n y,\n r: 0,\n groupKey: y,\n offset: calcOffset,\n maxBarSize,\n color: getChartDefaultColorName(index),\n patterns,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n this.offsetBars = [];\n\n return <Element aria-hidden render='g' series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/es6/StackedArea.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
-
import _callSuper from "@babel/runtime/helpers/callSuper";
|
|
5
|
-
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
2
|
import { Component } from '@semcore/core';
|
|
8
3
|
import getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';
|
|
@@ -11,76 +6,68 @@ import React from 'react';
|
|
|
11
6
|
import Area from './Area';
|
|
12
7
|
import createElement from './createElement';
|
|
13
8
|
import { getChartDefaultColorName } from './utils';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (/*#__PURE__*/React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {
|
|
32
|
-
acc.push(child.props.y);
|
|
33
|
-
}
|
|
34
|
-
return acc;
|
|
35
|
-
}, []);
|
|
36
|
-
stack.keys(keys.reverse());
|
|
37
|
-
}
|
|
38
|
-
return stack(data);
|
|
39
|
-
}
|
|
40
|
-
}, {
|
|
41
|
-
key: "getAreaProps",
|
|
42
|
-
value: function getAreaProps(_ref, index) {
|
|
43
|
-
var y = _ref.y;
|
|
44
|
-
var _this$asProps2 = this.asProps,
|
|
45
|
-
x = _this$asProps2.x,
|
|
46
|
-
patterns = _this$asProps2.patterns;
|
|
47
|
-
// or [] if hide area
|
|
48
|
-
var series = this.series.find(function (s) {
|
|
49
|
-
return s.key === y;
|
|
50
|
-
}) || [];
|
|
51
|
-
return {
|
|
52
|
-
color: getChartDefaultColorName(index),
|
|
53
|
-
patterns: patterns,
|
|
54
|
-
data: series.map(function (s) {
|
|
55
|
-
return _objectSpread(_objectSpread({}, s.data), {}, _defineProperty(_defineProperty({}, y, s.data[y] === null ? null : s[1]), Y0, s[0]));
|
|
56
|
-
}),
|
|
57
|
-
y0: Y0,
|
|
58
|
-
x: x
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
}, {
|
|
62
|
-
key: "render",
|
|
63
|
-
value: function render() {
|
|
64
|
-
var Element = this.Element;
|
|
65
|
-
this.series = this.getSeries();
|
|
66
|
-
return /*#__PURE__*/React.createElement(Element, {
|
|
67
|
-
"aria-hidden": true,
|
|
68
|
-
render: "g",
|
|
69
|
-
series: this.series
|
|
70
|
-
});
|
|
9
|
+
const DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
10
|
+
const Y0 = Symbol('Y0');
|
|
11
|
+
class StackedAreaRoot extends Component {
|
|
12
|
+
getSeries() {
|
|
13
|
+
const {
|
|
14
|
+
Children,
|
|
15
|
+
data,
|
|
16
|
+
stack
|
|
17
|
+
} = this.asProps;
|
|
18
|
+
if (stack[DEFAULT_INSTANCE]) {
|
|
19
|
+
const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {
|
|
20
|
+
if (/*#__PURE__*/React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {
|
|
21
|
+
acc.push(child.props.y);
|
|
22
|
+
}
|
|
23
|
+
return acc;
|
|
24
|
+
}, []);
|
|
25
|
+
stack.keys(keys.reverse());
|
|
71
26
|
}
|
|
72
|
-
|
|
73
|
-
}
|
|
27
|
+
return stack(data);
|
|
28
|
+
}
|
|
29
|
+
getAreaProps({
|
|
30
|
+
y
|
|
31
|
+
}, index) {
|
|
32
|
+
const {
|
|
33
|
+
x,
|
|
34
|
+
patterns
|
|
35
|
+
} = this.asProps;
|
|
36
|
+
// or [] if hide area
|
|
37
|
+
const series = this.series.find(s => s.key === y) || [];
|
|
38
|
+
return {
|
|
39
|
+
color: getChartDefaultColorName(index),
|
|
40
|
+
patterns,
|
|
41
|
+
data: series.map(s => ({
|
|
42
|
+
...s.data,
|
|
43
|
+
// if null is passed in the data, then we pass it, because d3 null leads to 0
|
|
44
|
+
[y]: s.data[y] === null ? null : s[1],
|
|
45
|
+
[Y0]: s[0]
|
|
46
|
+
})),
|
|
47
|
+
y0: Y0,
|
|
48
|
+
x
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
render() {
|
|
52
|
+
const Element = this.Element;
|
|
53
|
+
this.series = this.getSeries();
|
|
54
|
+
return /*#__PURE__*/React.createElement(Element, {
|
|
55
|
+
"aria-hidden": true,
|
|
56
|
+
render: "g",
|
|
57
|
+
series: this.series
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
74
61
|
_defineProperty(StackedAreaRoot, "displayName", 'StackedArea');
|
|
75
|
-
_defineProperty(StackedAreaRoot, "defaultProps",
|
|
76
|
-
|
|
62
|
+
_defineProperty(StackedAreaRoot, "defaultProps", () => {
|
|
63
|
+
const stack = d3Stack();
|
|
77
64
|
stack[DEFAULT_INSTANCE] = true;
|
|
78
65
|
return {
|
|
79
|
-
stack
|
|
66
|
+
stack
|
|
80
67
|
};
|
|
81
68
|
});
|
|
82
|
-
|
|
83
|
-
Area
|
|
69
|
+
const StackedArea = createElement(StackedAreaRoot, {
|
|
70
|
+
Area
|
|
84
71
|
});
|
|
85
72
|
export default StackedArea;
|
|
86
73
|
//# sourceMappingURL=StackedArea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackedArea.js","names":["Component","getOriginChildren","stack","d3Stack","React","Area","createElement","getChartDefaultColorName","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","
|
|
1
|
+
{"version":3,"file":"StackedArea.js","names":["Component","getOriginChildren","stack","d3Stack","React","Area","createElement","getChartDefaultColorName","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","getSeries","Children","data","asProps","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","props","hide","push","y","reverse","getAreaProps","index","x","patterns","series","find","s","key","color","map","y0","render","Element","_defineProperty"],"sources":["../../src/StackedArea.jsx"],"sourcesContent":["import { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport { stack as d3Stack } from 'd3-shape';\nimport React from 'react';\n\nimport Area from './Area';\nimport createElement from './createElement';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }, index) {\n const { x, patterns } = this.asProps;\n // or [] if hide area\n const series = this.series.find((s) => s.key === y) || [];\n return {\n color: getChartDefaultColorName(index),\n patterns,\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element aria-hidden render='g' series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"mappings":"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","ignoreList":[]}
|