@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
package/lib/es6/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Donut.js","names":["Component","Root","sstyled","callAllEventHandlers","canUseDOM","getOriginChildren","uniqueIDEnhancement","interpolate","arc","pie","transition","React","createElement","PatternFill","style","_sstyled","insert","Tooltip","getChartDefaultColorName","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref6","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","startAngle","endAngle","iStartAngle","iEndAngle","t","transitionRadiusPie","_ref7","data","element","innerRadius","outerRadiusStartEnd","paddingAngle","select","_outerRadiusStartEnd","_slicedToArray","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","padAngle","increaseFactor","getOuterRadius","_ref8","size","_size","width","height","minORmax","max","min","DonutRoot","_Component","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","document","undefined","visible","props","tooltipProps","_ref9","clientX","clientY","_this$asProps","asProps","eventEmitter","plotId","emit","_ref0","active","_this$asProps2","canAnimatedHover","id","clearTimeout","animationTimeout","setTimeout","_this$asProps3","on","_inherits","_createClass","key","get","_this$asProps4","uid","value","generateGetBoundingClientRect","x","y","top","right","bottom","left","getArcs","_this$asProps5","Children","d3Pie","pieData","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref1","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","handlerOnClick","_this2","e","stopPropagation","onClick","getPieProps","index","_this3","_this$asProps6","resolveColor","patterns","find","name","color","transparent","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","target","getAttribute","onMouseOut","onClickPieRoot","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps7","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","_ref18","_ref18$innerRadius","_ref18$paddingAngle","_ref18$halfsize","_ref19","_ref20","_ref15","_ref2","SPie","styles","other","_objectWithoutProperties","_excluded","_React$useState","useState","_React$useState2","isMount","setIsMount","pieRef","useRef","useEffect","current","Boolean","describeValueEntity","Fragment","cn","EmptyData","_ref16","_ref3","SEmptyData","Label","_ref17","_ref4","SLabel","children","label","_ref17$x","_ref17$y","setTitle","DonutTooltip","_ref","arguments[0]","_ref5","SDonutTooltip","_objectSpread","_assignProps","_______childrenComponents"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { arc, pie } from 'd3-shape';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/donut.shadow.css';\nimport Tooltip from './Tooltip';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({\n selector,\n duration,\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie,\n}) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function (_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function (t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({\n data,\n selector,\n element,\n duration,\n innerRadius,\n outerRadiusStartEnd,\n paddingAngle,\n}) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n const [start, end] = outerRadiusStartEnd;\n const iOuterRadius = interpolate(start, end);\n return function (t) {\n const outerRadiusPX = iOuterRadius(t);\n element.dataset['currentRadius'] = outerRadiusPX;\n const d3ArcOut = arc()\n .innerRadius(innerRadius)\n .outerRadius(outerRadiusPX)\n .padAngle(paddingAngle);\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n paddingAngle = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(outerRadius || getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius)\n .padAngle(paddingAngle);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(innerRadius)\n .padAngle(paddingAngle);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n paddingAngle,\n innerRadius,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n canAnimatedHover = false;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key, value]) => keys.includes(key) && value > 0)\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\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 animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc, paddingAngle } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n const outerRadiusStartEnd = active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, outerRadius];\n if (this.canAnimatedHover && duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n element,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusStartEnd,\n paddingAngle,\n });\n }\n };\n\n animationTimeout = null;\n animationUpdatePie = () => {\n clearTimeout(this.animationTimeout);\n this.animationTimeout = setTimeout(() => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\n }\n }, 0);\n };\n\n handlerOnClick(key) {\n return (e) => {\n e.stopPropagation();\n\n const { onClick } = this.asProps;\n\n if (!onClick) return;\n\n onClick(key, e);\n };\n }\n\n getPieProps(props, index) {\n const { d3Arc, d3ArcOut, innerRadius, outerRadius, halfsize, resolveColor, uid, patterns } =\n this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = index;\n }\n const tooltipProps = {\n dataKey: props.dataKey,\n name: props.name,\n resolveColor,\n color: props.color || getChartDefaultColorName(index),\n active: props.active,\n transparent: props.transparent,\n patterns,\n };\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n innerRadius,\n outerRadius,\n uid: `${uid}-${index}`,\n patterns,\n halfsize,\n color: props.color || getChartDefaultColorName(index),\n resolveColor,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props, tooltipProps),\n onMouseLeave: this.bindHandlerTooltip(false, props, tooltipProps),\n onMouseOver: (e) => {\n if (!active) {\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onClickPieRoot: this.handlerOnClick(props.dataKey),\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n innerRadius,\n outerRadius,\n resolveColor,\n halfsize,\n uid,\n patterns,\n onClick,\n onClickPieRoot,\n ...other\n}) {\n const [isMount, setIsMount] = React.useState(false);\n const pieRef = React.useRef(null);\n\n React.useEffect(() => {\n if (!pieRef.current) return;\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({\n active,\n data,\n selector: `[name=\"${other.name}\"]`,\n element: pieRef.current,\n });\n }\n }, [active, Boolean(data)]);\n React.useEffect(() => {\n if (!pieRef.current) return;\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n }, [active, innerRadius, outerRadius, halfsize, Boolean(data)]);\n\n if (!data) return null;\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return (\n <React.Fragment>\n {sstyled(styles)(\n <SPie\n render='path'\n ref={pieRef}\n color={resolveColor(color)}\n pattern={patterns ? `url(#${uid}-pattern)` : undefined}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n use:onClick={callAllEventHandlers(onClickPieRoot, onClick)}\n />,\n )}\n {patterns && (\n <PatternFill\n id={`${uid}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n </React.Fragment>\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color, resolveColor }) {\n return sstyled(styles)(\n <SEmptyData\n render='path'\n color={resolveColor(color)}\n d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })}\n />,\n );\n}\n\nfunction Label({\n Element: SLabel,\n styles,\n Children,\n children,\n label,\n dataHintsHandler,\n x = 0,\n y = 0,\n}) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x={x} y={y} aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nfunction DonutTooltip(props) {\n const SDonutTooltip = Root;\n return sstyled(props.styles)(<SDonutTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Donut = createElement(DonutRoot, {\n Pie,\n Label,\n EmptyData,\n Tooltip: [DonutTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Donut;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Donut.js","names":["Component","Root","sstyled","callAllEventHandlers","canUseDOM","getOriginChildren","uniqueIDEnhancement","interpolate","arc","pie","transition","React","createElement","PatternFill","style","_sstyled","insert","Tooltip","getChartDefaultColorName","DEFAULT_INSTANCE","Symbol","transitionAnglePie","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","startAngle","endAngle","iStartAngle","iEndAngle","t","transitionRadiusPie","data","element","innerRadius","outerRadiusStartEnd","paddingAngle","select","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","padAngle","increaseFactor","getOuterRadius","size","width","height","minORmax","max","min","DonutRoot","constructor","args","_defineProperty","document","undefined","visible","props","tooltipProps","clientX","clientY","eventEmitter","plotId","asProps","emit","active","canAnimatedHover","id","clearTimeout","animationTimeout","setTimeout","on","uid","generateGetBoundingClientRect","x","y","top","right","bottom","left","getArcs","Children","d3Pie","pieData","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","value","includes","sort","a","b","indexOf","minValue","cur","map","handlerOnClick","e","stopPropagation","onClick","getPieProps","index","resolveColor","patterns","find","name","color","transparent","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","target","getAttribute","onMouseOut","onClickPieRoot","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","dataHintsHandler","establishDataType","Element","k","childrenPosition","transform","SPie","styles","other","_ref2","isMount","setIsMount","useState","pieRef","useRef","useEffect","current","Boolean","describeValueEntity","Fragment","cn","EmptyData","SEmptyData","_ref3","Label","SLabel","children","label","_ref4","setTitle","DonutTooltip","_ref","arguments[0]","_ref5","SDonutTooltip","_assignProps","_______childrenComponents"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import { Component, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport canUseDOM from '@semcore/core/lib/utils/canUseDOM';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { arc, pie } from 'd3-shape';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/donut.shadow.css';\nimport Tooltip from './Tooltip';\nimport { getChartDefaultColorName } from './utils';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({\n selector,\n duration,\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie,\n}) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function (_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function (t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({\n data,\n selector,\n element,\n duration,\n innerRadius,\n outerRadiusStartEnd,\n paddingAngle,\n}) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n const [start, end] = outerRadiusStartEnd;\n const iOuterRadius = interpolate(start, end);\n return function (t) {\n const outerRadiusPX = iOuterRadius(t);\n element.dataset['currentRadius'] = outerRadiusPX;\n const d3ArcOut = arc()\n .innerRadius(innerRadius)\n .outerRadius(outerRadiusPX)\n .padAngle(paddingAngle);\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n paddingAngle = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(outerRadius || getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius)\n .padAngle(paddingAngle);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(innerRadius)\n .padAngle(paddingAngle);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n paddingAngle,\n innerRadius,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n canAnimatedHover = false;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key, value]) => keys.includes(key) && value > 0)\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\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 animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc, paddingAngle } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n const outerRadiusStartEnd = active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, outerRadius];\n if (this.canAnimatedHover && duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n element,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusStartEnd,\n paddingAngle,\n });\n }\n };\n\n animationTimeout = null;\n animationUpdatePie = () => {\n clearTimeout(this.animationTimeout);\n this.animationTimeout = setTimeout(() => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\n }\n }, 0);\n };\n\n handlerOnClick(key) {\n return (e) => {\n e.stopPropagation();\n\n const { onClick } = this.asProps;\n\n if (!onClick) return;\n\n onClick(key, e);\n };\n }\n\n getPieProps(props, index) {\n const { d3Arc, d3ArcOut, innerRadius, outerRadius, halfsize, resolveColor, uid, patterns } =\n this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = index;\n }\n const tooltipProps = {\n dataKey: props.dataKey,\n name: props.name,\n resolveColor,\n color: props.color || getChartDefaultColorName(index),\n active: props.active,\n transparent: props.transparent,\n patterns,\n };\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n innerRadius,\n outerRadius,\n uid: `${uid}-${index}`,\n patterns,\n halfsize,\n color: props.color || getChartDefaultColorName(index),\n resolveColor,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props, tooltipProps),\n onMouseLeave: this.bindHandlerTooltip(false, props, tooltipProps),\n onMouseOver: (e) => {\n if (!active) {\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onClickPieRoot: this.handlerOnClick(props.dataKey),\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n innerRadius,\n outerRadius,\n resolveColor,\n halfsize,\n uid,\n patterns,\n onClick,\n onClickPieRoot,\n ...other\n}) {\n const [isMount, setIsMount] = React.useState(false);\n const pieRef = React.useRef(null);\n\n React.useEffect(() => {\n if (!pieRef.current) return;\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({\n active,\n data,\n selector: `[name=\"${other.name}\"]`,\n element: pieRef.current,\n });\n }\n }, [active, Boolean(data)]);\n React.useEffect(() => {\n if (!pieRef.current) return;\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n }, [active, innerRadius, outerRadius, halfsize, Boolean(data)]);\n\n if (!data) return null;\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return (\n <React.Fragment>\n {sstyled(styles)(\n <SPie\n render='path'\n ref={pieRef}\n color={resolveColor(color)}\n pattern={patterns ? `url(#${uid}-pattern)` : undefined}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n use:onClick={callAllEventHandlers(onClickPieRoot, onClick)}\n />,\n )}\n {patterns && (\n <PatternFill\n id={`${uid}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n </React.Fragment>\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color, resolveColor }) {\n return sstyled(styles)(\n <SEmptyData\n render='path'\n color={resolveColor(color)}\n d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })}\n />,\n );\n}\n\nfunction Label({\n Element: SLabel,\n styles,\n Children,\n children,\n label,\n dataHintsHandler,\n x = 0,\n y = 0,\n}) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x={x} y={y} aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nfunction DonutTooltip(props) {\n const SDonutTooltip = Root;\n return sstyled(props.styles)(<SDonutTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Donut = createElement(DonutRoot, {\n Pie,\n Label,\n EmptyData,\n Tooltip: [DonutTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Donut;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/es6/Dots.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
1
|
import { sstyled as _sstyled } from "@semcore/core";
|
|
3
2
|
import { sstyled } from '@semcore/core';
|
|
4
3
|
import trottle from '@semcore/core/lib/utils/rafTrottle';
|
|
@@ -7,101 +6,83 @@ import React from 'react';
|
|
|
7
6
|
import createElement from './createElement';
|
|
8
7
|
import { PatternSymbol, getPatternSymbolSize } from './Pattern';
|
|
9
8
|
/*!__reshadow-styles__:"./style/dot.shadow.css"*/
|
|
10
|
-
|
|
9
|
+
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SDots_kz49v_gg_ .___SDot_kz49v_gg_{transition-duration:var(--duration_kz49v)}.___SDot_kz49v_gg_{stroke-width:1px;stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy,x,y;transition-timing-function:ease-in-out}.___SDot_kz49v_gg_.__hide_kz49v_gg_{display:none}.___SDot_kz49v_gg_.__color_kz49v_gg_{fill:var(--color_kz49v)}.___SDot_kz49v_gg_.__transparent_kz49v_gg_{opacity:.3}", /*__inner_css_end__*/"kz49v_gg_"),
|
|
11
10
|
/*__reshadow_css_end__*/
|
|
12
11
|
{
|
|
13
|
-
"__SDot": "
|
|
14
|
-
"_hide": "
|
|
15
|
-
"_color": "
|
|
16
|
-
"--color": "--
|
|
17
|
-
"_transparent": "
|
|
18
|
-
"__SDots": "
|
|
19
|
-
"--duration": "--
|
|
12
|
+
"__SDot": "___SDot_kz49v_gg_",
|
|
13
|
+
"_hide": "__hide_kz49v_gg_",
|
|
14
|
+
"_color": "__color_kz49v_gg_",
|
|
15
|
+
"--color": "--color_kz49v",
|
|
16
|
+
"_transparent": "__transparent_kz49v_gg_",
|
|
17
|
+
"__SDots": "___SDots_kz49v_gg_",
|
|
18
|
+
"--duration": "--duration_kz49v"
|
|
20
19
|
});
|
|
21
20
|
import { eventToPoint, invert, interpolateValue, getChartDefaultColorName } from './utils';
|
|
22
21
|
function Dots(props) {
|
|
23
22
|
var _ref3;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
duration =
|
|
37
|
-
transparent
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
var data = React.useMemo(function () {
|
|
53
|
-
return props.data.filter(function (item) {
|
|
54
|
-
return item[y] !== interpolateValue;
|
|
55
|
-
});
|
|
56
|
-
}, [props.data]);
|
|
57
|
-
var handlerMouseMoveRoot = React.useCallback(trottle(function (e) {
|
|
58
|
-
var _scale = _slicedToArray(scale, 1),
|
|
59
|
-
xScale = _scale[0];
|
|
60
|
-
var _eventToPoint = eventToPoint(e, rootRef.current),
|
|
61
|
-
_eventToPoint2 = _slicedToArray(_eventToPoint, 1),
|
|
62
|
-
pX = _eventToPoint2[0];
|
|
63
|
-
var vX = invert(xScale, pX);
|
|
23
|
+
const {
|
|
24
|
+
Element: SDot,
|
|
25
|
+
styles,
|
|
26
|
+
color,
|
|
27
|
+
d3,
|
|
28
|
+
x,
|
|
29
|
+
y,
|
|
30
|
+
eventEmitter,
|
|
31
|
+
display,
|
|
32
|
+
hide,
|
|
33
|
+
rootRef,
|
|
34
|
+
scale,
|
|
35
|
+
duration = 500,
|
|
36
|
+
transparent,
|
|
37
|
+
radius: radiusBase = 4,
|
|
38
|
+
resolveColor,
|
|
39
|
+
patterns,
|
|
40
|
+
onClick
|
|
41
|
+
} = props;
|
|
42
|
+
const bisect = bisector(d => d[x]).center;
|
|
43
|
+
const [activeIndex, setActiveIndex] = React.useState(null);
|
|
44
|
+
const patternKey = color || getChartDefaultColorName(0);
|
|
45
|
+
const svgPatternId = `template_${patternKey}`;
|
|
46
|
+
const data = React.useMemo(() => props.data.filter(item => item[y] !== interpolateValue), [props.data]);
|
|
47
|
+
const handlerMouseMoveRoot = React.useCallback(trottle(e => {
|
|
48
|
+
const [xScale] = scale;
|
|
49
|
+
const [pX] = eventToPoint(e, rootRef.current);
|
|
50
|
+
const vX = invert(xScale, pX);
|
|
64
51
|
setActiveIndex(bisect(data, vX));
|
|
65
52
|
}), [scale, data]);
|
|
66
|
-
|
|
53
|
+
const handlerMouseLeaveRoot = React.useCallback(trottle(() => {
|
|
67
54
|
setActiveIndex(null);
|
|
68
55
|
}), []);
|
|
69
|
-
|
|
56
|
+
const handlerOnClick = React.useCallback(e => {
|
|
70
57
|
e.stopPropagation();
|
|
71
58
|
if (!onClick) return;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
pX = _eventToPoint4[0];
|
|
77
|
-
var vX = invert(xScale, pX);
|
|
78
|
-
var index = bisect(data, vX);
|
|
59
|
+
const [xScale] = scale;
|
|
60
|
+
const [pX] = eventToPoint(e, rootRef.current);
|
|
61
|
+
const vX = invert(xScale, pX);
|
|
62
|
+
const index = bisect(data, vX);
|
|
79
63
|
onClick(index, e);
|
|
80
64
|
}, [scale, data, onClick]);
|
|
81
|
-
React.useEffect(
|
|
82
|
-
|
|
65
|
+
React.useEffect(() => {
|
|
66
|
+
const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', e => {
|
|
83
67
|
e.persist();
|
|
84
68
|
handlerMouseMoveRoot(e);
|
|
85
69
|
});
|
|
86
|
-
|
|
87
|
-
return
|
|
70
|
+
const unsubscribeMouseLeaveRoot = eventEmitter.subscribe('onMouseLeaveChart', handlerMouseLeaveRoot);
|
|
71
|
+
return () => {
|
|
88
72
|
unsubscribeMouseMoveRoot();
|
|
89
73
|
unsubscribeMouseLeaveRoot();
|
|
90
74
|
};
|
|
91
75
|
}, [eventEmitter, scale, data, x, y]);
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
var active = i === activeIndex;
|
|
103
|
-
var visible = typeof display === 'function' ? display(i, i === activeIndex, !isPrev && !isNext) : display || i === activeIndex || !isPrev && !isNext;
|
|
104
|
-
var radius = radiusBase * (active ? 5 / 4 : 1);
|
|
76
|
+
const [width, height] = getPatternSymbolSize({
|
|
77
|
+
patternKey,
|
|
78
|
+
patterns
|
|
79
|
+
});
|
|
80
|
+
const dots = data.reduce((acc, d, i) => {
|
|
81
|
+
const isPrev = d3.defined()(data[i - 1] || {});
|
|
82
|
+
const isNext = d3.defined()(data[i + 1] || {});
|
|
83
|
+
const active = i === activeIndex;
|
|
84
|
+
const visible = typeof display === 'function' ? display(i, i === activeIndex, !isPrev && !isNext) : display || i === activeIndex || !isPrev && !isNext;
|
|
85
|
+
const radius = radiusBase * (active ? 5 / 4 : 1);
|
|
105
86
|
if (!d3.defined()(d)) return acc;
|
|
106
87
|
if (!visible) return acc;
|
|
107
88
|
if (!patterns) {
|
|
@@ -111,7 +92,7 @@ function Dots(props) {
|
|
|
111
92
|
"color": resolveColor(color),
|
|
112
93
|
"patternKey": patternKey,
|
|
113
94
|
"patterns": patterns,
|
|
114
|
-
"key":
|
|
95
|
+
"key": `${i}`,
|
|
115
96
|
"value": d,
|
|
116
97
|
"visible": visible,
|
|
117
98
|
"active": active,
|
|
@@ -127,7 +108,7 @@ function Dots(props) {
|
|
|
127
108
|
acc.push((_ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SDot, _ref2.cn("SDot", {
|
|
128
109
|
"key": i,
|
|
129
110
|
"render": 'use',
|
|
130
|
-
"href":
|
|
111
|
+
"href": `#${svgPatternId}`,
|
|
131
112
|
"x": width + (d3.x()(d) - width / 2),
|
|
132
113
|
"y": d3.y()(d) - height / 2,
|
|
133
114
|
"value": d,
|
|
@@ -141,9 +122,9 @@ function Dots(props) {
|
|
|
141
122
|
}
|
|
142
123
|
return acc;
|
|
143
124
|
}, []);
|
|
144
|
-
|
|
125
|
+
const SDots = 'g';
|
|
145
126
|
return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SDots, _ref3.cn("SDots", {
|
|
146
|
-
"duration":
|
|
127
|
+
"duration": `${duration}ms`,
|
|
147
128
|
"onClickCapture": handlerOnClick
|
|
148
129
|
}), /*#__PURE__*/React.createElement(PatternSymbol, _ref3.cn("PatternSymbol", {
|
|
149
130
|
"color": resolveColor(color),
|
package/lib/es6/Dots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dots.js","names":["sstyled","trottle","bisector","React","createElement","PatternSymbol","getPatternSymbolSize","style","_sstyled","insert","eventToPoint","invert","interpolateValue","getChartDefaultColorName","Dots","props","_ref3","SDot","Element","styles","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","_props$radius","radius","radiusBase","resolveColor","patterns","onClick","bisect","d","center","_React$useState","useState","_React$useState2","_slicedToArray","activeIndex","setActiveIndex","patternKey","svgPatternId","concat","data","useMemo","filter","item","handlerMouseMoveRoot","useCallback","e","_scale","xScale","_eventToPoint","current","_eventToPoint2","pX","vX","handlerMouseLeaveRoot","handlerOnClick","stopPropagation","_scale2","_eventToPoint3","_eventToPoint4","index","useEffect","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","_getPatternSymbolSize","_getPatternSymbolSize2","width","height","dots","reduce","acc","i","isPrev","defined","isNext","active","visible","_ref","push","cn","_ref2","SDots"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { sstyled } from '@semcore/core';\nimport trottle from '@semcore/core/lib/utils/rafTrottle';\nimport { bisector } from 'd3-array';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternSymbol, getPatternSymbolSize } from './Pattern';\nimport style from './style/dot.shadow.css';\nimport { eventToPoint, invert, interpolateValue, getChartDefaultColorName } from './utils';\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n transparent,\n radius: radiusBase = 4,\n resolveColor,\n patterns,\n onClick,\n } = props;\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = React.useState(null);\n const patternKey = color || getChartDefaultColorName(0);\n const svgPatternId = `template_${patternKey}`;\n const data = React.useMemo(\n () => props.data.filter((item) => item[y] !== interpolateValue),\n [props.data],\n );\n\n const handlerMouseMoveRoot = React.useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = React.useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n const handlerOnClick = React.useCallback((e) => {\n e.stopPropagation();\n\n if (!onClick) return;\n\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const index = bisect(data, vX);\n\n onClick(index, e);\n }, [scale, data, onClick]);\n\n React.useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, scale, data, x, y]);\n\n const [width, height] = getPatternSymbolSize({\n patternKey,\n patterns,\n });\n\n const dots = data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n const visible =\n typeof display === 'function'\n ? display(i, i === activeIndex, !isPrev && !isNext)\n : display || i === activeIndex || (!isPrev && !isNext);\n const radius = radiusBase * (active ? 5 / 4 : 1);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n\n if (!patterns) {\n acc.push(\n sstyled(styles)(\n <SDot\n render='circle'\n color={resolveColor(color)}\n patternKey={patternKey}\n patterns={patterns}\n key={`${i}`}\n value={d}\n visible={visible}\n active={active}\n hide={hide}\n transparent={transparent}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n r={radius}\n __excludeProps={['display', 'data', 'scale']}\n />,\n ),\n );\n } else {\n acc.push(\n sstyled(styles)(\n <SDot\n key={i}\n render='use'\n href={`#${svgPatternId}`}\n x={width + (d3.x()(d) - width / 2)}\n y={d3.y()(d) - height / 2}\n value={d}\n transparent={transparent}\n radius={radius}\n visible={visible}\n active={active}\n hide={hide}\n __excludeProps={['display', 'data', 'scale']}\n />,\n ),\n );\n }\n return acc;\n }, []);\n const SDots = 'g';\n return sstyled(styles)(\n <SDots duration={`${duration}ms`} onClickCapture={handlerOnClick}>\n <PatternSymbol\n color={resolveColor(color)}\n patternKey={color}\n id={svgPatternId}\n patterns={patterns}\n x={-1 * width}\n />\n {dots}\n </SDots>,\n );\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Dots.js","names":["sstyled","trottle","bisector","React","createElement","PatternSymbol","getPatternSymbolSize","style","_sstyled","insert","eventToPoint","invert","interpolateValue","getChartDefaultColorName","Dots","props","_ref3","Element","SDot","styles","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","transparent","radius","radiusBase","resolveColor","patterns","onClick","bisect","d","center","activeIndex","setActiveIndex","useState","patternKey","svgPatternId","data","useMemo","filter","item","handlerMouseMoveRoot","useCallback","e","xScale","pX","current","vX","handlerMouseLeaveRoot","handlerOnClick","stopPropagation","index","useEffect","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","width","height","dots","reduce","acc","i","isPrev","defined","isNext","active","visible","_ref","push","cn","_ref2","SDots"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { sstyled } from '@semcore/core';\nimport trottle from '@semcore/core/lib/utils/rafTrottle';\nimport { bisector } from 'd3-array';\nimport React from 'react';\n\nimport createElement from './createElement';\nimport { PatternSymbol, getPatternSymbolSize } from './Pattern';\nimport style from './style/dot.shadow.css';\nimport { eventToPoint, invert, interpolateValue, getChartDefaultColorName } from './utils';\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n transparent,\n radius: radiusBase = 4,\n resolveColor,\n patterns,\n onClick,\n } = props;\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = React.useState(null);\n const patternKey = color || getChartDefaultColorName(0);\n const svgPatternId = `template_${patternKey}`;\n const data = React.useMemo(\n () => props.data.filter((item) => item[y] !== interpolateValue),\n [props.data],\n );\n\n const handlerMouseMoveRoot = React.useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = React.useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n const handlerOnClick = React.useCallback((e) => {\n e.stopPropagation();\n\n if (!onClick) return;\n\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const index = bisect(data, vX);\n\n onClick(index, e);\n }, [scale, data, onClick]);\n\n React.useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, scale, data, x, y]);\n\n const [width, height] = getPatternSymbolSize({\n patternKey,\n patterns,\n });\n\n const dots = data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n const visible =\n typeof display === 'function'\n ? display(i, i === activeIndex, !isPrev && !isNext)\n : display || i === activeIndex || (!isPrev && !isNext);\n const radius = radiusBase * (active ? 5 / 4 : 1);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n\n if (!patterns) {\n acc.push(\n sstyled(styles)(\n <SDot\n render='circle'\n color={resolveColor(color)}\n patternKey={patternKey}\n patterns={patterns}\n key={`${i}`}\n value={d}\n visible={visible}\n active={active}\n hide={hide}\n transparent={transparent}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n r={radius}\n __excludeProps={['display', 'data', 'scale']}\n />,\n ),\n );\n } else {\n acc.push(\n sstyled(styles)(\n <SDot\n key={i}\n render='use'\n href={`#${svgPatternId}`}\n x={width + (d3.x()(d) - width / 2)}\n y={d3.y()(d) - height / 2}\n value={d}\n transparent={transparent}\n radius={radius}\n visible={visible}\n active={active}\n hide={hide}\n __excludeProps={['display', 'data', 'scale']}\n />,\n ),\n );\n }\n return acc;\n }, []);\n const SDots = 'g';\n return sstyled(styles)(\n <SDots duration={`${duration}ms`} onClickCapture={handlerOnClick}>\n <PatternSymbol\n color={resolveColor(color)}\n patternKey={color}\n id={svgPatternId}\n patterns={patterns}\n x={-1 * width}\n />\n {dots}\n </SDots>,\n );\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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","ignoreList":[]}
|
package/lib/es6/GroupBar.js
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _callSuper from "@babel/runtime/helpers/callSuper";
|
|
4
|
-
import _inherits from "@babel/runtime/helpers/inherits";
|
|
5
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
6
2
|
import { Component } from '@semcore/core';
|
|
7
3
|
import getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';
|
|
@@ -11,93 +7,82 @@ import Bar from './Bar';
|
|
|
11
7
|
import createElement from './createElement';
|
|
12
8
|
import HorizontalBar from './HorizontalBar';
|
|
13
9
|
import { getChartDefaultColorName, scaleToBand } from './utils';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
class GroupBarRoot extends Component {
|
|
11
|
+
getScaleGroup() {
|
|
12
|
+
const {
|
|
13
|
+
Children,
|
|
14
|
+
scale,
|
|
15
|
+
scaleGroup,
|
|
16
|
+
x
|
|
17
|
+
} = this.asProps;
|
|
18
|
+
// TODO: love that hack (by lsroman) ❤�
|
|
19
|
+
const xyScale = x ? scale[0] : scale[1];
|
|
20
|
+
if (scaleGroup) return scaleGroup;
|
|
21
|
+
const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {
|
|
22
|
+
if (/*#__PURE__*/React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {
|
|
23
|
+
acc.push(child.props.y);
|
|
24
|
+
}
|
|
25
|
+
if (/*#__PURE__*/React.isValidElement(child) && child.type === GroupBar.HorizontalBar && !child.props.hide) {
|
|
26
|
+
acc.push(child.props.x);
|
|
27
|
+
}
|
|
28
|
+
return acc;
|
|
29
|
+
}, []);
|
|
30
|
+
return scaleBand().range([0, scaleToBand(xyScale).bandwidth()]).domain(domain).paddingInner(0.1).paddingOuter(0.1);
|
|
18
31
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
_this$asProps3$maxBar = _this$asProps3.maxBarSize,
|
|
70
|
-
maxBarSize = _this$asProps3$maxBar === void 0 ? Number.POSITIVE_INFINITY : _this$asProps3$maxBar;
|
|
71
|
-
var bandWidth = this.scaleGroup.bandwidth();
|
|
72
|
-
var height = Math.min(bandWidth, maxBarSize);
|
|
73
|
-
var offsetY = this.scaleGroup(x) + bandWidth / 2 - height / 2;
|
|
74
|
-
return {
|
|
75
|
-
offset: [0, offsetY],
|
|
76
|
-
height: height,
|
|
77
|
-
color: getChartDefaultColorName(index),
|
|
78
|
-
y: y,
|
|
79
|
-
groupKey: y
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
}, {
|
|
83
|
-
key: "render",
|
|
84
|
-
value: function render() {
|
|
85
|
-
var Element = this.Element;
|
|
86
|
-
this.scaleGroup = this.getScaleGroup();
|
|
87
|
-
this.asProps.dataHintsHandler.establishDataType('grouped-values');
|
|
88
|
-
return /*#__PURE__*/React.createElement(Element, {
|
|
89
|
-
"aria-hidden": true,
|
|
90
|
-
render: "g",
|
|
91
|
-
childrenPosition: "inside",
|
|
92
|
-
scaleGroup: this.scaleGroup
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
}]);
|
|
96
|
-
}(Component);
|
|
32
|
+
getBarProps({
|
|
33
|
+
y
|
|
34
|
+
}, index) {
|
|
35
|
+
const {
|
|
36
|
+
x,
|
|
37
|
+
maxBarSize = Number.POSITIVE_INFINITY,
|
|
38
|
+
patterns
|
|
39
|
+
} = this.asProps;
|
|
40
|
+
const bandWidth = this.scaleGroup.bandwidth();
|
|
41
|
+
const width = Math.min(bandWidth, maxBarSize);
|
|
42
|
+
const offsetX = this.scaleGroup(y) + bandWidth / 2 - width / 2;
|
|
43
|
+
return {
|
|
44
|
+
offset: [offsetX, 0],
|
|
45
|
+
width,
|
|
46
|
+
color: getChartDefaultColorName(index),
|
|
47
|
+
x,
|
|
48
|
+
groupKey: x,
|
|
49
|
+
patterns
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
getHorizontalBarProps({
|
|
53
|
+
x
|
|
54
|
+
}, index) {
|
|
55
|
+
const {
|
|
56
|
+
y,
|
|
57
|
+
maxBarSize = Number.POSITIVE_INFINITY
|
|
58
|
+
} = this.asProps;
|
|
59
|
+
const bandWidth = this.scaleGroup.bandwidth();
|
|
60
|
+
const height = Math.min(bandWidth, maxBarSize);
|
|
61
|
+
const offsetY = this.scaleGroup(x) + bandWidth / 2 - height / 2;
|
|
62
|
+
return {
|
|
63
|
+
offset: [0, offsetY],
|
|
64
|
+
height,
|
|
65
|
+
color: getChartDefaultColorName(index),
|
|
66
|
+
y,
|
|
67
|
+
groupKey: y
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
render() {
|
|
71
|
+
const Element = this.Element;
|
|
72
|
+
this.scaleGroup = this.getScaleGroup();
|
|
73
|
+
this.asProps.dataHintsHandler.establishDataType('grouped-values');
|
|
74
|
+
return /*#__PURE__*/React.createElement(Element, {
|
|
75
|
+
"aria-hidden": true,
|
|
76
|
+
render: "g",
|
|
77
|
+
childrenPosition: "inside",
|
|
78
|
+
scaleGroup: this.scaleGroup
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
97
82
|
_defineProperty(GroupBarRoot, "displayName", 'GroupBar');
|
|
98
|
-
|
|
99
|
-
Bar
|
|
100
|
-
HorizontalBar
|
|
83
|
+
const GroupBar = createElement(GroupBarRoot, {
|
|
84
|
+
Bar,
|
|
85
|
+
HorizontalBar
|
|
101
86
|
});
|
|
102
87
|
export default GroupBar;
|
|
103
88
|
//# sourceMappingURL=GroupBar.js.map
|