@semcore/d3-chart 16.5.0 → 17.0.0-prerelease.9
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 +9 -12
package/lib/es6/Axis.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Axis.js","names":["Component","sstyled","React","useState","useEffect","createElement","style","_sstyled","insert","scaleOfBandwidth","CUSTOM_0","Symbol","CUSTOM_1","MAP_INDEX_SCALE_SYMBOL","MAP_POSITION_REVERT","top","right","bottom","left","MAP_POSITION_AXIS","_defineProperty","_ref5","_ref6","_slicedToArray","xScale","yScale","xRange","range","yRange","x1","y1","x2","y2","_ref7","_ref8","_ref9","_ref0","_ref1","_ref10","_ref11","pos","_ref12","_ref13","_ref14","MAP_POSITION_TICK","_ref15","value","_ref16","x","y","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_ref23","_ref24","_ref25","_ref26","MAP_POSITION_GRID","_","_ref27","_ref28","_ref29","_ref30","OFFSET_TITLE","MAP_POSITION_TITlE","_ref31","_ref32","_ref33","_ref34","_ref35","_ref36","height","_ref37","_ref38","_ref39","_ref40","width","_ref41","_ref42","renderValue","Date","toLocaleDateString","splitTextByWidth","root","text","maxWidth","words","split","filter","word","length","lines","currentLine","i","testLine","concat","trim","testWidth","measureTextWidth","push","rootRef","fontSize","arguments","undefined","textEl","document","createElementNS","setAttribute","textContent","appendChild","getComputedTextLength","removeChild","AxisRoot","_Component","_classCallCheck","_callSuper","_inherits","_createClass","key","get","_scl$ticks","_scl$domain","_this$asProps","asProps","ticks","indexScale","scale","scl","call","domain","getTitleProps","_this$asProps2","position","locale","verticalWritingMode","includes","getTicksProps","_this$asProps3","getGridProps","render","_ref","_MAP_POSITION_AXIS$po","SAxis","Element","_this$asProps4","styles","hide","cn","_objectSpread","Ticks","props","_scale$indexScale","_scale$indexScale$ban","_MAP_POSITION_TICK$po","STick","dataHintsHandler","children","_props$childrenPositi","childrenPosition","multiline","_useState","_useState2","rootRefElement","setRootRefElement","current","tickBandwidth","bandwidth","ticksWithLines","map","tick","positionClass","labelGetter","_result$value","result","addKeyLabelGetter","_ref43","_ref2","displayValue","line","lineIndex","_extends","dy","Grid","SGrid","setupGrid","Math","abs","_ref3","Title","_ref4","STitle","size","_MAP_POSITION_TITlE$p","setTitle","sstyles","sTitleStyles","toFixed","className","XAxisRoot","_AxisRoot2","defaultProps","XAxis","YAxisRoot","_AxisRoot3","YAxis"],"sources":["../../src/Axis.jsx"],"sourcesContent":["import { Component, sstyled } from '@semcore/core';\nimport React, { useState, useEffect } from 'react';\n\nimport createElement from './createElement';\nimport style from './style/axis.shadow.css';\nimport { scaleOfBandwidth } from './utils';\n\nconst CUSTOM_0 = Symbol('custom_0');\nconst CUSTOM_1 = Symbol('custom_1');\n\nconst MAP_INDEX_SCALE_SYMBOL = {\n 0: CUSTOM_0,\n 1: CUSTOM_1,\n};\n\nconst MAP_POSITION_REVERT = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\nconst MAP_POSITION_AXIS = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[1],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[0],\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[1],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[0],\n y2: yRange[1],\n };\n },\n [CUSTOM_0]: ([xScale, yScale], pos) => {\n const xRange = xScale.range();\n return {\n x1: xRange[0],\n y1: scaleOfBandwidth(yScale, pos),\n x2: xRange[1],\n y2: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], pos) => {\n const yRange = yScale.range();\n return {\n x1: scaleOfBandwidth(xScale, pos),\n y1: yRange[0],\n x2: scaleOfBandwidth(xScale, pos),\n y2: yRange[1],\n };\n },\n};\n\nconst MAP_POSITION_TICK = {\n top: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[0],\n };\n },\n right: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[1],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n left: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[0],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n [CUSTOM_0]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, value),\n y: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, pos),\n y: scaleOfBandwidth(yScale, value),\n };\n },\n};\n\nconst MAP_POSITION_GRID = {\n 0: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x1: x,\n y1: yRange[0],\n x2: x,\n y2: yRange[1],\n };\n },\n 1: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x1: xRange[0],\n y1: y,\n x2: xRange[1],\n y2: y,\n };\n },\n};\n\nconst OFFSET_TITLE = 10;\nconst MAP_POSITION_TITlE = {\n top: ([xScale]) => {\n const xRange = xScale.range();\n return {\n x: (xRange[1] + xRange[0]) / 2,\n y: OFFSET_TITLE,\n };\n },\n bottom: ([xScale], [, height]) => {\n const xRange = xScale.range();\n return {\n x: (xRange[1] + xRange[0]) / 2,\n y: height - OFFSET_TITLE,\n };\n },\n right: ([, yScale], [width]) => {\n const yRange = yScale.range();\n return {\n x: width - OFFSET_TITLE,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n left: ([, yScale]) => {\n const yRange = yScale.range();\n return {\n x: OFFSET_TITLE,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n};\n\nfunction renderValue(value) {\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n return value;\n}\n\nfunction splitTextByWidth(root, text, maxWidth) {\n if (!text || !maxWidth || maxWidth <= 0) return [];\n\n const words = text.split(/\\s+/).filter((word) => word.length > 0);\n if (words.length === 0) return [];\n\n const lines = [];\n let currentLine = words[0];\n\n for (let i = 1; i < words.length; i++) {\n const testLine = `${currentLine} ${words[i]}`.trim();\n const testWidth = measureTextWidth(root, testLine);\n\n if (testWidth <= maxWidth) {\n currentLine = testLine;\n } else {\n if (currentLine) {\n lines.push(currentLine);\n }\n\n currentLine = words[i];\n\n if (measureTextWidth(root, currentLine) > maxWidth) {\n lines.push(currentLine);\n currentLine = '';\n }\n }\n }\n\n if (currentLine) {\n lines.push(currentLine);\n }\n\n return lines;\n}\n\nfunction measureTextWidth(rootRef, text, fontSize = 12) {\n const textEl = document.createElementNS('http://www.w3.org/2000/svg', 'text');\n textEl.setAttribute('font-size', fontSize);\n textEl.setAttribute('visibility', 'hidden');\n textEl.textContent = text;\n\n rootRef.appendChild(textEl);\n const width = textEl.getComputedTextLength();\n rootRef.removeChild(textEl);\n return width;\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Axis';\n\n static style = style;\n static defaultProps = {};\n\n get ticks() {\n const { ticks, indexScale, scale } = this.asProps;\n const scl = scale[indexScale];\n return ticks || scl.ticks?.() || scl.domain?.() || [];\n }\n\n getTitleProps() {\n const { position, locale } = this.asProps;\n return {\n position: MAP_POSITION_REVERT[position],\n verticalWritingMode: ['zh', 'ja'].includes(locale),\n };\n }\n\n getTicksProps() {\n const { position, indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n position,\n };\n }\n\n getGridProps() {\n const { indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n };\n }\n\n render() {\n const SAxis = this.Element;\n const { styles, position, scale, hide, indexScale } = this.asProps;\n\n const pos =\n MAP_POSITION_AXIS[position] ?? MAP_POSITION_AXIS[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n\n return sstyled(styles)(<SAxis render='line' hide={hide} {...pos(scale, position)} />);\n }\n}\n\nfunction Ticks(props) {\n const {\n Element: STick,\n styles,\n scale,\n ticks,\n position,\n hide,\n indexScale,\n dataHintsHandler,\n children,\n childrenPosition = 'inside',\n rootRef,\n multiline,\n } = props;\n const [rootRefElement, setRootRefElement] = useState(null);\n\n useEffect(() => {\n if (rootRef.current) setRootRefElement(rootRef.current);\n }, []);\n\n const tickBandwidth = scale[indexScale]?.bandwidth?.();\n const ticksWithLines = ticks.map((tick) => ({\n tick,\n lines: typeof tick === 'string' && multiline && rootRefElement\n ? splitTextByWidth(rootRefElement, tick, tickBandwidth)\n : [],\n }));\n\n const pos = MAP_POSITION_TICK[position] ?? MAP_POSITION_TICK[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n const positionClass = MAP_POSITION_TICK[position] ? position : `custom_${indexScale}`;\n\n if (typeof children === 'function') {\n const labelGetter = (value) => {\n const result = children({ value });\n return result.value ?? result.children;\n };\n if (position === 'left' || position === 'right') {\n dataHintsHandler.addKeyLabelGetter('vertical', labelGetter);\n } else if (position === 'top' || position === 'bottom') {\n dataHintsHandler.addKeyLabelGetter('horizontal', labelGetter);\n }\n }\n\n return ticksWithLines.map(({ tick: value, lines }, i) => {\n const displayValue = typeof children === 'function' ? undefined : renderValue(value);\n\n return sstyled(styles)(\n <STick\n aria-hidden\n key={i}\n render='text'\n childrenPosition={childrenPosition}\n __excludeProps={['data', 'scale', 'format', 'value']}\n value={value}\n index={i}\n position={positionClass}\n hide={hide}\n multiline={multiline}\n {...pos(scale, value, position)}\n >\n { lines.length > 1\n ? lines.map((line, lineIndex) => (\n <tspan key={line} {...pos(scale, value, position)} dy={lineIndex * 15}>{line}</tspan>\n ))\n : displayValue}\n </STick>,\n );\n });\n}\n\nfunction Grid(props) {\n const { Element: SGrid, styles, scale, ticks, indexScale } = props;\n\n if (ticks.length >= 2) {\n if (indexScale === 1) {\n props.dataHintsHandler.setupGrid('vertical', Math.abs(ticks[1] - ticks[0]));\n } else if (indexScale === 0) {\n props.dataHintsHandler.setupGrid('horizontal', Math.abs(ticks[1] - ticks[0]));\n }\n }\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <SGrid key={i} render='line' {...MAP_POSITION_GRID[indexScale](scale, value)} />,\n );\n });\n}\n\nfunction Title(props) {\n const { Element: STitle, styles, scale, position, size, children, verticalWritingMode } = props;\n\n const { x, y } = MAP_POSITION_TITlE[position](scale, size);\n\n if (position === 'left' || position === 'right') {\n props.dataHintsHandler.setTitle('vertical', children);\n } else if (position === 'top' || position === 'bottom') {\n props.dataHintsHandler.setTitle('horizontal', children);\n }\n\n const sstyles = sstyled(styles);\n const sTitleStyles = sstyles.cn('STitle', {\n 'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,\n });\n\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n childrenPosition='inside'\n position={position}\n className={sTitleStyles.className}\n style={sTitleStyles.style}\n verticalWritingMode={verticalWritingMode}\n x={x}\n y={y}\n />,\n );\n}\n\nclass XAxisRoot extends AxisRoot {\n static defaultProps = {\n ...AxisRoot.defaultProps,\n indexScale: 0,\n position: 'bottom',\n };\n}\n\nconst XAxis = createElement(XAxisRoot, {\n Ticks,\n Grid,\n Title,\n});\n\nclass YAxisRoot extends AxisRoot {\n static defaultProps = {\n ...AxisRoot.defaultProps,\n indexScale: 1,\n position: 'left',\n hide: true,\n };\n}\n\nconst YAxis = createElement(YAxisRoot, {\n Ticks,\n Grid,\n Title,\n});\n\nexport { XAxis, YAxis };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Axis.js","names":["Component","sstyled","React","useState","useEffect","createElement","style","_sstyled","insert","scaleOfBandwidth","CUSTOM_0","Symbol","CUSTOM_1","MAP_INDEX_SCALE_SYMBOL","MAP_POSITION_REVERT","top","right","bottom","left","MAP_POSITION_AXIS","xScale","yScale","xRange","range","yRange","x1","y1","x2","y2","pos","MAP_POSITION_TICK","value","x","y","MAP_POSITION_GRID","OFFSET_TITLE","MAP_POSITION_TITlE","height","width","renderValue","Date","toLocaleDateString","splitTextByWidth","root","text","maxWidth","words","split","filter","word","length","lines","currentLine","i","testLine","trim","testWidth","measureTextWidth","push","rootRef","fontSize","textEl","document","createElementNS","setAttribute","textContent","appendChild","getComputedTextLength","removeChild","AxisRoot","ticks","indexScale","scale","asProps","scl","domain","getTitleProps","position","locale","verticalWritingMode","includes","getTicksProps","getGridProps","render","_ref","SAxis","Element","styles","hide","cn","_defineProperty","Ticks","props","STick","dataHintsHandler","children","childrenPosition","multiline","rootRefElement","setRootRefElement","current","tickBandwidth","bandwidth","ticksWithLines","map","tick","positionClass","labelGetter","result","addKeyLabelGetter","_ref2","displayValue","undefined","primaryText","line","lineIndex","_extends","key","dy","Grid","SGrid","setupGrid","Math","abs","_ref3","Title","_ref4","STitle","size","setTitle","sstyles","sTitleStyles","toFixed","className","XAxisRoot","defaultProps","XAxis","YAxisRoot","YAxis"],"sources":["../../src/Axis.jsx"],"sourcesContent":["import { Component, sstyled } from '@semcore/core';\nimport React, { useState, useEffect } from 'react';\n\nimport createElement from './createElement';\nimport style from './style/axis.shadow.css';\nimport { scaleOfBandwidth } from './utils';\n\nconst CUSTOM_0 = Symbol('custom_0');\nconst CUSTOM_1 = Symbol('custom_1');\n\nconst MAP_INDEX_SCALE_SYMBOL = {\n 0: CUSTOM_0,\n 1: CUSTOM_1,\n};\n\nconst MAP_POSITION_REVERT = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\nconst MAP_POSITION_AXIS = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[1],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[0],\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[1],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[0],\n y2: yRange[1],\n };\n },\n [CUSTOM_0]: ([xScale, yScale], pos) => {\n const xRange = xScale.range();\n return {\n x1: xRange[0],\n y1: scaleOfBandwidth(yScale, pos),\n x2: xRange[1],\n y2: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], pos) => {\n const yRange = yScale.range();\n return {\n x1: scaleOfBandwidth(xScale, pos),\n y1: yRange[0],\n x2: scaleOfBandwidth(xScale, pos),\n y2: yRange[1],\n };\n },\n};\n\nconst MAP_POSITION_TICK = {\n top: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[0],\n };\n },\n right: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[1],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n left: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[0],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n [CUSTOM_0]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, value),\n y: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, pos),\n y: scaleOfBandwidth(yScale, value),\n };\n },\n};\n\nconst MAP_POSITION_GRID = {\n 0: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x1: x,\n y1: yRange[0],\n x2: x,\n y2: yRange[1],\n };\n },\n 1: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x1: xRange[0],\n y1: y,\n x2: xRange[1],\n y2: y,\n };\n },\n};\n\nconst OFFSET_TITLE = 10;\nconst MAP_POSITION_TITlE = {\n top: ([xScale]) => {\n const xRange = xScale.range();\n return {\n x: (xRange[1] + xRange[0]) / 2,\n y: OFFSET_TITLE,\n };\n },\n bottom: ([xScale], [, height]) => {\n const xRange = xScale.range();\n return {\n x: (xRange[1] + xRange[0]) / 2,\n y: height - OFFSET_TITLE,\n };\n },\n right: ([, yScale], [width]) => {\n const yRange = yScale.range();\n return {\n x: width - OFFSET_TITLE,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n left: ([, yScale]) => {\n const yRange = yScale.range();\n return {\n x: OFFSET_TITLE,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n};\n\nfunction renderValue(value) {\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n return value;\n}\n\nfunction splitTextByWidth(root, text, maxWidth) {\n if (!text || !maxWidth || maxWidth <= 0) return [];\n\n const words = text.split(/\\s+/).filter((word) => word.length > 0);\n if (words.length === 0) return [];\n\n const lines = [];\n let currentLine = words[0];\n\n for (let i = 1; i < words.length; i++) {\n const testLine = `${currentLine} ${words[i]}`.trim();\n const testWidth = measureTextWidth(root, testLine);\n\n if (testWidth <= maxWidth) {\n currentLine = testLine;\n } else {\n if (currentLine) {\n lines.push(currentLine);\n }\n\n currentLine = words[i];\n\n if (measureTextWidth(root, currentLine) > maxWidth) {\n lines.push(currentLine);\n currentLine = '';\n }\n }\n }\n\n if (currentLine) {\n lines.push(currentLine);\n }\n\n return lines;\n}\n\nfunction measureTextWidth(rootRef, text, fontSize = 12) {\n const textEl = document.createElementNS('http://www.w3.org/2000/svg', 'text');\n textEl.setAttribute('font-size', fontSize);\n textEl.setAttribute('visibility', 'hidden');\n textEl.textContent = text;\n\n rootRef.appendChild(textEl);\n const width = textEl.getComputedTextLength();\n rootRef.removeChild(textEl);\n return width;\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Axis';\n\n static style = style;\n static defaultProps = {};\n\n get ticks() {\n const { ticks, indexScale, scale } = this.asProps;\n const scl = scale[indexScale];\n return ticks || scl.ticks?.() || scl.domain?.() || [];\n }\n\n getTitleProps() {\n const { position, locale } = this.asProps;\n return {\n position: MAP_POSITION_REVERT[position],\n verticalWritingMode: ['zh', 'ja'].includes(locale),\n };\n }\n\n getTicksProps() {\n const { position, indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n position,\n };\n }\n\n getGridProps() {\n const { indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n };\n }\n\n render() {\n const SAxis = this.Element;\n const { styles, position, scale, hide, indexScale } = this.asProps;\n\n const pos =\n MAP_POSITION_AXIS[position] ?? MAP_POSITION_AXIS[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n\n return sstyled(styles)(<SAxis render='line' hide={hide} {...pos(scale, position)} />);\n }\n}\n\nfunction Ticks(props) {\n const {\n Element: STick,\n styles,\n scale,\n ticks,\n position,\n hide,\n indexScale,\n dataHintsHandler,\n children,\n childrenPosition = 'inside',\n rootRef,\n multiline,\n } = props;\n const [rootRefElement, setRootRefElement] = useState(null);\n\n useEffect(() => {\n if (rootRef.current) setRootRefElement(rootRef.current);\n }, []);\n\n const tickBandwidth = scale[indexScale]?.bandwidth?.();\n const ticksWithLines = ticks.map((tick) => ({\n tick,\n lines: typeof tick === 'string' && multiline && rootRefElement\n ? splitTextByWidth(rootRefElement, tick, tickBandwidth)\n : [],\n }));\n\n const pos = MAP_POSITION_TICK[position] ?? MAP_POSITION_TICK[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n const positionClass = MAP_POSITION_TICK[position] ? position : `custom_${indexScale}`;\n\n if (typeof children === 'function') {\n const labelGetter = (value) => {\n const result = children({ value });\n return result.value ?? result.children;\n };\n if (position === 'left' || position === 'right') {\n dataHintsHandler.addKeyLabelGetter('vertical', labelGetter);\n } else if (position === 'top' || position === 'bottom') {\n dataHintsHandler.addKeyLabelGetter('horizontal', labelGetter);\n }\n }\n\n return ticksWithLines.map(({ tick: value, lines }, i) => {\n const displayValue = typeof children === 'function' ? undefined : renderValue(value);\n\n return sstyled(styles)(\n <STick\n aria-hidden\n key={i}\n render='text'\n childrenPosition={childrenPosition}\n __excludeProps={['data', 'scale', 'format', 'value']}\n value={value}\n index={i}\n position={positionClass}\n hide={hide}\n multiline={multiline}\n primaryText={props.primaryText}\n {...pos(scale, value, position)}\n >\n { lines.length > 1\n ? lines.map((line, lineIndex) => (\n <tspan key={line} {...pos(scale, value, position)} dy={lineIndex * 15}>{line}</tspan>\n ))\n : displayValue}\n </STick>,\n );\n });\n}\n\nfunction Grid(props) {\n const { Element: SGrid, styles, scale, ticks, indexScale } = props;\n\n if (ticks.length >= 2) {\n if (indexScale === 1) {\n props.dataHintsHandler.setupGrid('vertical', Math.abs(ticks[1] - ticks[0]));\n } else if (indexScale === 0) {\n props.dataHintsHandler.setupGrid('horizontal', Math.abs(ticks[1] - ticks[0]));\n }\n }\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <SGrid key={i} render='line' {...MAP_POSITION_GRID[indexScale](scale, value)} />,\n );\n });\n}\n\nfunction Title(props) {\n const { Element: STitle, styles, scale, position, size, children, verticalWritingMode } = props;\n\n const { x, y } = MAP_POSITION_TITlE[position](scale, size);\n\n if (position === 'left' || position === 'right') {\n props.dataHintsHandler.setTitle('vertical', children);\n } else if (position === 'top' || position === 'bottom') {\n props.dataHintsHandler.setTitle('horizontal', children);\n }\n\n const sstyles = sstyled(styles);\n const sTitleStyles = sstyles.cn('STitle', {\n 'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,\n });\n\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n childrenPosition='inside'\n position={position}\n className={sTitleStyles.className}\n style={sTitleStyles.style}\n verticalWritingMode={verticalWritingMode}\n x={x}\n y={y}\n />,\n );\n}\n\nclass XAxisRoot extends AxisRoot {\n static defaultProps = {\n ...AxisRoot.defaultProps,\n indexScale: 0,\n position: 'bottom',\n };\n}\n\nconst XAxis = createElement(XAxisRoot, {\n Ticks,\n Grid,\n Title,\n});\n\nclass YAxisRoot extends AxisRoot {\n static defaultProps = {\n ...AxisRoot.defaultProps,\n indexScale: 1,\n position: 'left',\n hide: true,\n };\n}\n\nconst YAxis = createElement(YAxisRoot, {\n Ticks,\n Grid,\n Title,\n});\n\nexport { XAxis, YAxis };\n"],"mappings":"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","ignoreList":[]}
|
package/lib/es6/Bar.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
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 { sstyled as _sstyled } from "@semcore/core";
|
|
8
3
|
import { Component, sstyled } from '@semcore/core';
|
|
@@ -13,28 +8,28 @@ import AnimatedClipPath from './AnimatedClipPath';
|
|
|
13
8
|
import createElement from './createElement';
|
|
14
9
|
import { PatternFill } from './Pattern';
|
|
15
10
|
/*!__reshadow-styles__:"./style/bar.shadow.css"*/
|
|
16
|
-
|
|
11
|
+
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SBar_1j50a_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_1j50a);transition-timing-function:ease-in-out}.___SBar_1j50a_gg_.__color_1j50a_gg_{fill:var(--color_1j50a)}.___SBar_1j50a_gg_.__pattern_1j50a_gg_.__color_1j50a_gg_{fill:var(--pattern_1j50a);stroke:var(--color_1j50a);stroke-width:1px}.___SBar_1j50a_gg_.__hide_1j50a_gg_{display:none}.___SBar_1j50a_gg_.__transparent_1j50a_gg_{opacity:.3}.___SBackground_1j50a_gg_.__onClick_1j50a_gg_,.___SBar_1j50a_gg_.__onClick_1j50a_gg_{cursor:pointer}.___SBackground_1j50a_gg_{fill:var(--intergalactic-chart-grid-bar-chart-base-bg, #e0e1e9)}.___SBarAnnotation_1j50a_gg_{display:flex;justify-content:space-between}.___SBarLabel_1j50a_gg_{color:var(--intergalactic-text-primary, #191b23);margin-right:auto}.___SBarLabel_1j50a_gg_,.___SBarPercent_1j50a_gg_,.___SBarValue_1j50a_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%)}.___SBarPercent_1j50a_gg_{color:var(--intergalactic-text-secondary, #6c6e79);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SBarValue_1j50a_gg_{min-width:52px;display:flex;justify-content:flex-end;color:var(--intergalactic-text-primary, #191b23);text-align:right}.___SCompactHorizontalBarHoverRect_1j50a_gg_{fill:var(--intergalactic-chart-grid-bar-chart-hover, rgba(196, 199, 207, 0.3))}", /*__inner_css_end__*/"1j50a_gg_"),
|
|
17
12
|
/*__reshadow_css_end__*/
|
|
18
13
|
{
|
|
19
|
-
"__SBar": "
|
|
20
|
-
"--duration": "--
|
|
21
|
-
"_color": "
|
|
22
|
-
"--color": "--
|
|
23
|
-
"_pattern": "
|
|
24
|
-
"--pattern": "--
|
|
25
|
-
"_hide": "
|
|
26
|
-
"_transparent": "
|
|
27
|
-
"_onClick": "
|
|
28
|
-
"__SBackground": "
|
|
29
|
-
"__SBarAnnotation": "
|
|
30
|
-
"__SBarLabel": "
|
|
31
|
-
"__SBarPercent": "
|
|
32
|
-
"__SBarValue": "
|
|
33
|
-
"__SCompactHorizontalBarHoverRect": "
|
|
14
|
+
"__SBar": "___SBar_1j50a_gg_",
|
|
15
|
+
"--duration": "--duration_1j50a",
|
|
16
|
+
"_color": "__color_1j50a_gg_",
|
|
17
|
+
"--color": "--color_1j50a",
|
|
18
|
+
"_pattern": "__pattern_1j50a_gg_",
|
|
19
|
+
"--pattern": "--pattern_1j50a",
|
|
20
|
+
"_hide": "__hide_1j50a_gg_",
|
|
21
|
+
"_transparent": "__transparent_1j50a_gg_",
|
|
22
|
+
"_onClick": "__onClick_1j50a_gg_",
|
|
23
|
+
"__SBackground": "___SBackground_1j50a_gg_",
|
|
24
|
+
"__SBarAnnotation": "___SBarAnnotation_1j50a_gg_",
|
|
25
|
+
"__SBarLabel": "___SBarLabel_1j50a_gg_",
|
|
26
|
+
"__SBarPercent": "___SBarPercent_1j50a_gg_",
|
|
27
|
+
"__SBarValue": "___SBarValue_1j50a_gg_",
|
|
28
|
+
"__SCompactHorizontalBarHoverRect": "___SCompactHorizontalBarHoverRect_1j50a_gg_"
|
|
34
29
|
});
|
|
35
30
|
import { scaleToBand, roundedPath } from './utils';
|
|
36
|
-
export
|
|
37
|
-
|
|
31
|
+
export const MIN_HEIGHT = 2;
|
|
32
|
+
const calcPartBarY = (y, minHeight, height) => {
|
|
38
33
|
// need for the correct rendering of negative values (bar should be under Y-axis)
|
|
39
34
|
if (y <= 0) {
|
|
40
35
|
return Object.is(y, 0) ? minHeight : 0;
|
|
@@ -42,147 +37,128 @@ var calcPartBarY = function calcPartBarY(y, minHeight, height) {
|
|
|
42
37
|
// need for the correct rendering of the minimum positive values
|
|
43
38
|
return height <= minHeight ? minHeight : 0;
|
|
44
39
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
40
|
+
class BarRoot extends Component {
|
|
41
|
+
getBackgroundProps(_props, index) {
|
|
42
|
+
const {
|
|
43
|
+
x,
|
|
44
|
+
data
|
|
45
|
+
} = this.asProps;
|
|
46
|
+
return {
|
|
47
|
+
value: data[index][x],
|
|
48
|
+
index
|
|
49
|
+
};
|
|
49
50
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
index: index
|
|
60
|
-
};
|
|
51
|
+
animationBar() {
|
|
52
|
+
const {
|
|
53
|
+
duration,
|
|
54
|
+
uid
|
|
55
|
+
} = this.asProps;
|
|
56
|
+
const selectRect = transition().selection().selectAll(`#${uid} rect`);
|
|
57
|
+
const selectRectNode = selectRect.node();
|
|
58
|
+
if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {
|
|
59
|
+
selectRect.transition().duration(duration).attr('y', 0);
|
|
61
60
|
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
var height = Number(d[y] - ((_d$y2 = d[y0]) !== null && _d$y2 !== void 0 ? _d$y2 : 0)) === 0 ? 0 : Math.max(absHeight, hMin);
|
|
117
|
-
var bandWidth = widthProps || scaleToBand(xScale).bandwidth();
|
|
118
|
-
var width = Math.min(bandWidth, maxBarSize);
|
|
119
|
-
var barX = xScale(d[x]) + bandWidth / 2 - width / 2 + offset[0];
|
|
120
|
-
var barY = yScale(Math.max((_d$y3 = d[y0]) !== null && _d$y3 !== void 0 ? _d$y3 : 0, height <= hMin && d[y] > 0 ? 0 : d[y])) + offset[1] - calcPartBarY(d[y], hMin, height);
|
|
121
|
-
var handleClick = function handleClick(event) {
|
|
122
|
-
return onClick === null || onClick === void 0 ? void 0 : onClick(d, event, i, y);
|
|
123
|
-
};
|
|
124
|
-
var dSvg = getRect({
|
|
125
|
-
x: barX,
|
|
126
|
-
y: barY,
|
|
127
|
-
width: width,
|
|
128
|
-
height: height,
|
|
129
|
-
radius: Array.isArray(r) ? r[i] : r,
|
|
130
|
-
position: d[y] > 0 || Object.is(d[y], 0) ? 'top' : 'bottom'
|
|
131
|
-
});
|
|
132
|
-
if (groupKey) {
|
|
133
|
-
dataHintsHandler.describeGroupedValues(groupKey, y);
|
|
134
|
-
} else {
|
|
135
|
-
dataHintsHandler.describeValueEntity("".concat(i, ".").concat(y), groupKey !== null && groupKey !== void 0 ? groupKey : d[x]);
|
|
136
|
-
dataHintsHandler.specifyDataRowFields(x, y);
|
|
137
|
-
}
|
|
138
|
-
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
139
|
-
key: "bar-".concat(i)
|
|
140
|
-
}, (_ref = sstyled(styles), /*#__PURE__*/React.createElement(SBar, _ref.cn("SBar", {
|
|
141
|
-
"aria-hidden": true,
|
|
142
|
-
"render": 'path',
|
|
143
|
-
"clipPath": "url(#".concat(uid, ")"),
|
|
144
|
-
"__excludeProps": ['data', 'scale', 'value', 'onClick', 'offset'],
|
|
145
|
-
"childrenPosition": 'above',
|
|
146
|
-
"value": d,
|
|
147
|
-
"index": i,
|
|
148
|
-
"hide": hide,
|
|
149
|
-
"pattern": patterns ? "url(#".concat(uid, "-").concat(i, "-pattern)") : undefined,
|
|
150
|
-
"color": resolveColor(color),
|
|
151
|
-
"x": barX,
|
|
152
|
-
"y": barY,
|
|
153
|
-
"width": width,
|
|
154
|
-
"height": height,
|
|
155
|
-
"d": dSvg,
|
|
156
|
-
"onClickCapture": handleClick,
|
|
157
|
-
"use:duration": "".concat(duration, "ms"),
|
|
158
|
-
"transparent": transparent
|
|
159
|
-
}))), patterns && /*#__PURE__*/React.createElement(PatternFill, _ref.cn("PatternFill", {
|
|
160
|
-
"id": "".concat(uid, "-").concat(i, "-pattern"),
|
|
161
|
-
"patternKey": color,
|
|
162
|
-
"color": resolveColor(color),
|
|
163
|
-
"patterns": patterns
|
|
164
|
-
})));
|
|
165
|
-
}
|
|
166
|
-
}, {
|
|
167
|
-
key: "render",
|
|
168
|
-
value: function render() {
|
|
169
|
-
var _this$asProps4 = this.asProps,
|
|
170
|
-
data = _this$asProps4.data,
|
|
171
|
-
uid = _this$asProps4.uid,
|
|
172
|
-
size = _this$asProps4.size,
|
|
173
|
-
duration = _this$asProps4.duration;
|
|
174
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, data.map(this.renderBar.bind(this)), duration && /*#__PURE__*/React.createElement(AnimatedClipPath, {
|
|
175
|
-
duration: duration,
|
|
176
|
-
key: "".concat(uid, "-animation"),
|
|
177
|
-
attributeName: "y",
|
|
178
|
-
values: "100%;0",
|
|
179
|
-
id: uid,
|
|
180
|
-
width: size[0],
|
|
181
|
-
height: "".concat(size[1], "px")
|
|
182
|
-
}));
|
|
61
|
+
}
|
|
62
|
+
componentDidUpdate() {
|
|
63
|
+
this.animationBar();
|
|
64
|
+
}
|
|
65
|
+
componentDidMount() {
|
|
66
|
+
this.animationBar();
|
|
67
|
+
}
|
|
68
|
+
renderBar(d, i) {
|
|
69
|
+
var _ref;
|
|
70
|
+
const SBar = this.Element;
|
|
71
|
+
const {
|
|
72
|
+
styles,
|
|
73
|
+
color,
|
|
74
|
+
resolveColor,
|
|
75
|
+
x,
|
|
76
|
+
y,
|
|
77
|
+
y0,
|
|
78
|
+
scale,
|
|
79
|
+
hide,
|
|
80
|
+
offset: offsetProps,
|
|
81
|
+
duration,
|
|
82
|
+
uid,
|
|
83
|
+
r,
|
|
84
|
+
hMin,
|
|
85
|
+
width: widthProps,
|
|
86
|
+
groupKey,
|
|
87
|
+
onClick,
|
|
88
|
+
transparent,
|
|
89
|
+
maxBarSize = Number.POSITIVE_INFINITY,
|
|
90
|
+
patterns,
|
|
91
|
+
dataHintsHandler
|
|
92
|
+
} = this.asProps;
|
|
93
|
+
const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;
|
|
94
|
+
const [xScale, yScale] = scale;
|
|
95
|
+
const absHeight = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)));
|
|
96
|
+
const height = Number(d[y] - (d[y0] ?? 0)) === 0 ? 0 : Math.max(absHeight, hMin);
|
|
97
|
+
const bandWidth = widthProps || scaleToBand(xScale).bandwidth();
|
|
98
|
+
const width = Math.min(bandWidth, maxBarSize);
|
|
99
|
+
const barX = xScale(d[x]) + bandWidth / 2 - width / 2 + offset[0];
|
|
100
|
+
const barY = yScale(Math.max(d[y0] ?? 0, height <= hMin && d[y] > 0 ? 0 : d[y])) + offset[1] - calcPartBarY(d[y], hMin, height);
|
|
101
|
+
const handleClick = event => onClick?.(d, event, i, y);
|
|
102
|
+
const dSvg = getRect({
|
|
103
|
+
x: barX,
|
|
104
|
+
y: barY,
|
|
105
|
+
width,
|
|
106
|
+
height,
|
|
107
|
+
radius: Array.isArray(r) ? r[i] : r,
|
|
108
|
+
position: d[y] > 0 || Object.is(d[y], 0) ? 'top' : 'bottom'
|
|
109
|
+
});
|
|
110
|
+
if (groupKey) {
|
|
111
|
+
dataHintsHandler.describeGroupedValues(groupKey, y);
|
|
112
|
+
} else {
|
|
113
|
+
dataHintsHandler.describeValueEntity(`${i}.${y}`, groupKey ?? d[x]);
|
|
114
|
+
dataHintsHandler.specifyDataRowFields(x, y);
|
|
183
115
|
}
|
|
184
|
-
|
|
185
|
-
}
|
|
116
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
117
|
+
key: `bar-${i}`
|
|
118
|
+
}, (_ref = sstyled(styles), /*#__PURE__*/React.createElement(SBar, _ref.cn("SBar", {
|
|
119
|
+
"aria-hidden": true,
|
|
120
|
+
"render": 'path',
|
|
121
|
+
"clipPath": `url(#${uid})`,
|
|
122
|
+
"__excludeProps": ['data', 'scale', 'value', 'onClick', 'offset'],
|
|
123
|
+
"childrenPosition": 'above',
|
|
124
|
+
"value": d,
|
|
125
|
+
"index": i,
|
|
126
|
+
"hide": hide,
|
|
127
|
+
"pattern": patterns ? `url(#${uid}-${i}-pattern)` : undefined,
|
|
128
|
+
"color": resolveColor(color),
|
|
129
|
+
"x": barX,
|
|
130
|
+
"y": barY,
|
|
131
|
+
"width": width,
|
|
132
|
+
"height": height,
|
|
133
|
+
"d": dSvg,
|
|
134
|
+
"onClickCapture": handleClick,
|
|
135
|
+
"use:duration": `${duration}ms`,
|
|
136
|
+
"transparent": transparent
|
|
137
|
+
}))), patterns && /*#__PURE__*/React.createElement(PatternFill, _ref.cn("PatternFill", {
|
|
138
|
+
"id": `${uid}-${i}-pattern`,
|
|
139
|
+
"patternKey": color,
|
|
140
|
+
"color": resolveColor(color),
|
|
141
|
+
"patterns": patterns
|
|
142
|
+
})));
|
|
143
|
+
}
|
|
144
|
+
render() {
|
|
145
|
+
const {
|
|
146
|
+
data,
|
|
147
|
+
uid,
|
|
148
|
+
size,
|
|
149
|
+
duration
|
|
150
|
+
} = this.asProps;
|
|
151
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, data.map(this.renderBar.bind(this)), duration && /*#__PURE__*/React.createElement(AnimatedClipPath, {
|
|
152
|
+
duration: duration,
|
|
153
|
+
key: `${uid}-animation`,
|
|
154
|
+
attributeName: "y",
|
|
155
|
+
values: "100%;0",
|
|
156
|
+
id: uid,
|
|
157
|
+
width: size[0],
|
|
158
|
+
height: `${size[1]}px`
|
|
159
|
+
}));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
186
162
|
_defineProperty(BarRoot, "displayName", 'Bar');
|
|
187
163
|
_defineProperty(BarRoot, "style", style);
|
|
188
164
|
_defineProperty(BarRoot, "enhance", [uniqueIDEnhancement()]);
|
|
@@ -194,14 +170,14 @@ _defineProperty(BarRoot, "defaultProps", {
|
|
|
194
170
|
});
|
|
195
171
|
function Background(props) {
|
|
196
172
|
var _ref2;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
173
|
+
const {
|
|
174
|
+
Element: SBackground,
|
|
175
|
+
styles,
|
|
176
|
+
scale,
|
|
177
|
+
value
|
|
178
|
+
} = props;
|
|
179
|
+
const [xScale, yScale] = scale;
|
|
180
|
+
const yRange = yScale.range();
|
|
205
181
|
return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SBackground, _ref2.cn("SBackground", {
|
|
206
182
|
"aria-hidden": true,
|
|
207
183
|
"render": 'rect',
|
|
@@ -212,13 +188,14 @@ function Background(props) {
|
|
|
212
188
|
"y": yRange[1]
|
|
213
189
|
}));
|
|
214
190
|
}
|
|
215
|
-
function getRect(
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
191
|
+
function getRect({
|
|
192
|
+
x,
|
|
193
|
+
y,
|
|
194
|
+
width,
|
|
195
|
+
height,
|
|
196
|
+
radius,
|
|
197
|
+
position
|
|
198
|
+
}) {
|
|
222
199
|
if (height < radius) radius = height;
|
|
223
200
|
if (radius) {
|
|
224
201
|
if (position === 'top') return roundedPath(x, y, width, height, radius, true, true, false, false);
|
|
@@ -227,6 +204,6 @@ function getRect(_ref3) {
|
|
|
227
204
|
return roundedPath(x, y, width, height, radius);
|
|
228
205
|
}
|
|
229
206
|
export default createElement(BarRoot, {
|
|
230
|
-
Background
|
|
207
|
+
Background
|
|
231
208
|
});
|
|
232
209
|
//# sourceMappingURL=Bar.js.map
|
package/lib/es6/Bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bar.js","names":["Component","sstyled","uniqueIDEnhancement","transition","React","AnimatedClipPath","createElement","PatternFill","style","_sstyled","insert","scaleToBand","roundedPath","MIN_HEIGHT","calcPartBarY","y","minHeight","height","Object","is","BarRoot","_Component","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","value","getBackgroundProps","_props","index","_this$asProps","asProps","x","data","animationBar","_this$asProps2","duration","uid","selectRect","selection","selectAll","concat","selectRectNode","node","getAttribute","attr","componentDidUpdate","componentDidMount","renderBar","d","i","_ref","_d$y","_d$y2","_d$y3","SBar","Element","_this$asProps3","styles","color","resolveColor","y0","scale","hide","offsetProps","offset","r","hMin","widthProps","width","groupKey","onClick","transparent","_this$asProps3$maxBar","maxBarSize","Number","POSITIVE_INFINITY","patterns","dataHintsHandler","_scale","_slicedToArray","xScale","yScale","absHeight","Math","abs","min","domain","max","bandWidth","bandwidth","barX","barY","handleClick","event","dSvg","getRect","radius","Array","isArray","position","describeGroupedValues","describeValueEntity","specifyDataRowFields","Fragment","cn","undefined","render","_this$asProps4","size","map","bind","attributeName","values","id","_defineProperty","Background","props","_ref2","SBackground","_scale2","yRange","range","_ref3"],"sources":["../../src/Bar.jsx"],"sourcesContent":["import { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport AnimatedClipPath from './AnimatedClipPath';\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/bar.shadow.css';\nimport { scaleToBand, roundedPath } from './utils';\n\nexport const MIN_HEIGHT = 2;\n\nconst calcPartBarY = (y, minHeight, height) => {\n // need for the correct rendering of negative values (bar should be under Y-axis)\n if (y <= 0) {\n return Object.is(y, 0) ? minHeight : 0;\n }\n // need for the correct rendering of the minimum positive values\n return height <= minHeight ? minHeight : 0;\n};\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n hMin: MIN_HEIGHT,\n };\n\n getBackgroundProps(_props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n index,\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition().selection().selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect.transition().duration(duration).attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n resolveColor,\n x,\n y,\n y0,\n scale,\n hide,\n offset: offsetProps,\n duration,\n uid,\n r,\n hMin,\n width: widthProps,\n groupKey,\n onClick,\n transparent,\n maxBarSize = Number.POSITIVE_INFINITY,\n patterns,\n dataHintsHandler,\n } = this.asProps;\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const height = Number(d[y] - (d[y0] ?? 0)) === 0 ? 0 : Math.max(absHeight, hMin);\n const bandWidth = widthProps || scaleToBand(xScale).bandwidth();\n const width = Math.min(bandWidth, maxBarSize);\n const barX = xScale(d[x]) + bandWidth / 2 - width / 2 + offset[0];\n const barY =\n yScale(Math.max(d[y0] ?? 0, height <= hMin && d[y] > 0 ? 0 : d[y])) +\n offset[1] -\n calcPartBarY(d[y], hMin, height);\n const handleClick = (event) => onClick?.(d, event, i, y);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 || Object.is(d[y], 0) ? 'top' : 'bottom',\n });\n\n if (groupKey) {\n dataHintsHandler.describeGroupedValues(groupKey, y);\n } else {\n dataHintsHandler.describeValueEntity(`${i}.${y}`, groupKey ?? d[x]);\n dataHintsHandler.specifyDataRowFields(x, y);\n }\n\n return (\n <React.Fragment key={`bar-${i}`}>\n {sstyled(styles)(\n <SBar\n aria-hidden\n render='path'\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'onClick', 'offset']}\n childrenPosition='above'\n value={d}\n index={i}\n hide={hide}\n pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n color={resolveColor(color)}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n onClickCapture={handleClick}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />,\n )}\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n </React.Fragment>\n );\n }\n\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <AnimatedClipPath\n duration={duration}\n key={`${uid}-animation`}\n attributeName='y'\n values='100%;0'\n id={uid}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n aria-hidden\n render='rect'\n childrenPosition='above'\n width={scaleToBand(xScale).bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height < radius) radius = height;\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Bar.js","names":["Component","sstyled","uniqueIDEnhancement","transition","React","AnimatedClipPath","createElement","PatternFill","style","_sstyled","insert","scaleToBand","roundedPath","MIN_HEIGHT","calcPartBarY","y","minHeight","height","Object","is","BarRoot","getBackgroundProps","_props","index","x","data","asProps","value","animationBar","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","attr","componentDidUpdate","componentDidMount","renderBar","d","i","_ref","SBar","Element","styles","color","resolveColor","y0","scale","hide","offset","offsetProps","r","hMin","width","widthProps","groupKey","onClick","transparent","maxBarSize","Number","POSITIVE_INFINITY","patterns","dataHintsHandler","xScale","yScale","absHeight","Math","abs","min","domain","max","bandWidth","bandwidth","barX","barY","handleClick","event","dSvg","getRect","radius","Array","isArray","position","describeGroupedValues","describeValueEntity","specifyDataRowFields","Fragment","key","cn","undefined","render","size","map","bind","attributeName","values","id","_defineProperty","Background","props","_ref2","SBackground","yRange","range"],"sources":["../../src/Bar.jsx"],"sourcesContent":["import { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { transition } from 'd3-transition';\nimport React from 'react';\n\nimport AnimatedClipPath from './AnimatedClipPath';\nimport createElement from './createElement';\nimport { PatternFill } from './Pattern';\nimport style from './style/bar.shadow.css';\nimport { scaleToBand, roundedPath } from './utils';\n\nexport const MIN_HEIGHT = 2;\n\nconst calcPartBarY = (y, minHeight, height) => {\n // need for the correct rendering of negative values (bar should be under Y-axis)\n if (y <= 0) {\n return Object.is(y, 0) ? minHeight : 0;\n }\n // need for the correct rendering of the minimum positive values\n return height <= minHeight ? minHeight : 0;\n};\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n hMin: MIN_HEIGHT,\n };\n\n getBackgroundProps(_props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n index,\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition().selection().selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect.transition().duration(duration).attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n resolveColor,\n x,\n y,\n y0,\n scale,\n hide,\n offset: offsetProps,\n duration,\n uid,\n r,\n hMin,\n width: widthProps,\n groupKey,\n onClick,\n transparent,\n maxBarSize = Number.POSITIVE_INFINITY,\n patterns,\n dataHintsHandler,\n } = this.asProps;\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const height = Number(d[y] - (d[y0] ?? 0)) === 0 ? 0 : Math.max(absHeight, hMin);\n const bandWidth = widthProps || scaleToBand(xScale).bandwidth();\n const width = Math.min(bandWidth, maxBarSize);\n const barX = xScale(d[x]) + bandWidth / 2 - width / 2 + offset[0];\n const barY =\n yScale(Math.max(d[y0] ?? 0, height <= hMin && d[y] > 0 ? 0 : d[y])) +\n offset[1] -\n calcPartBarY(d[y], hMin, height);\n const handleClick = (event) => onClick?.(d, event, i, y);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 || Object.is(d[y], 0) ? 'top' : 'bottom',\n });\n\n if (groupKey) {\n dataHintsHandler.describeGroupedValues(groupKey, y);\n } else {\n dataHintsHandler.describeValueEntity(`${i}.${y}`, groupKey ?? d[x]);\n dataHintsHandler.specifyDataRowFields(x, y);\n }\n\n return (\n <React.Fragment key={`bar-${i}`}>\n {sstyled(styles)(\n <SBar\n aria-hidden\n render='path'\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'onClick', 'offset']}\n childrenPosition='above'\n value={d}\n index={i}\n hide={hide}\n pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n color={resolveColor(color)}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n onClickCapture={handleClick}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />,\n )}\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n </React.Fragment>\n );\n }\n\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <AnimatedClipPath\n duration={duration}\n key={`${uid}-animation`}\n attributeName='y'\n values='100%;0'\n id={uid}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n aria-hidden\n render='rect'\n childrenPosition='above'\n width={scaleToBand(xScale).bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height < radius) radius = height;\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"mappings":"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","ignoreList":[]}
|