@carbon/charts 1.8.0 → 1.9.0-rc.1
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 +84 -155
- package/README.md +11 -13
- package/dist/_baseEach-603421de.mjs +21 -0
- package/dist/_baseEach-603421de.mjs.map +1 -0
- package/dist/_baseEach-cdac417f.js +2 -0
- package/dist/_baseEach-cdac417f.js.map +1 -0
- package/dist/a11y-7bad4f48.mjs +5 -0
- package/dist/a11y-7bad4f48.mjs.map +1 -0
- package/dist/a11y-c7c9d087.js +2 -0
- package/dist/a11y-c7c9d087.js.map +1 -0
- package/dist/angle-utils-6f166b40.js +2 -0
- package/dist/angle-utils-6f166b40.js.map +1 -0
- package/dist/angle-utils-8b6ce998.mjs +387 -0
- package/dist/angle-utils-8b6ce998.mjs.map +1 -0
- package/dist/axis-chart.d.ts +13 -0
- package/dist/chart.d.ts +18 -0
- package/dist/charts/alluvial.d.ts +10 -0
- package/dist/charts/area-stacked.d.ts +8 -0
- package/dist/charts/area.d.ts +8 -0
- package/dist/charts/bar-grouped.d.ts +8 -0
- package/dist/charts/bar-simple.d.ts +8 -0
- package/dist/charts/bar-stacked.d.ts +8 -0
- package/dist/charts/boxplot.d.ts +10 -0
- package/dist/charts/bubble.d.ts +8 -0
- package/dist/charts/bullet.d.ts +10 -0
- package/dist/charts/choropleth.d.ts +14 -0
- package/dist/charts/circle-pack.d.ts +10 -0
- package/dist/charts/combo.d.ts +9 -0
- package/dist/charts/donut.d.ts +8 -0
- package/dist/charts/gauge.d.ts +10 -0
- package/dist/charts/heatmap.d.ts +14 -0
- package/dist/charts/histogram.d.ts +10 -0
- package/dist/charts/index.d.ts +27 -0
- package/dist/charts/line.d.ts +8 -0
- package/dist/charts/lollipop.d.ts +8 -0
- package/dist/charts/meter.d.ts +10 -0
- package/dist/charts/pie.d.ts +10 -0
- package/dist/charts/radar.d.ts +10 -0
- package/dist/charts/scatter.d.ts +8 -0
- package/dist/charts/tree.d.ts +10 -0
- package/dist/charts/treemap.d.ts +10 -0
- package/dist/charts/wordcloud.d.ts +10 -0
- package/dist/choropleth-4ac6ac20.js +82 -0
- package/dist/choropleth-4ac6ac20.js.map +1 -0
- package/dist/choropleth-f473ea0d.mjs +7997 -0
- package/dist/choropleth-f473ea0d.mjs.map +1 -0
- package/dist/color-scale-utils-5eb3eeaa.mjs +3809 -0
- package/dist/color-scale-utils-5eb3eeaa.mjs.map +1 -0
- package/dist/color-scale-utils-7d463811.js +3 -0
- package/dist/color-scale-utils-7d463811.js.map +1 -0
- package/dist/components/axes/axis.d.ts +24 -0
- package/{build/src → dist}/components/axes/chart-clip.d.ts +3 -3
- package/{components → dist/components}/axes/grid-brush.d.ts +10 -10
- package/{components → dist/components}/axes/grid.d.ts +22 -22
- package/{build/src → dist}/components/axes/hover-axis.d.ts +1 -1
- package/dist/components/axes/index.d.ts +12 -0
- package/{components → dist/components}/axes/ruler-binned.d.ts +7 -7
- package/{components → dist/components}/axes/ruler.d.ts +27 -27
- package/{build/src → dist}/components/axes/toolbar.d.ts +7 -7
- package/{components → dist/components}/axes/two-dimensional-axes.d.ts +16 -16
- package/{components → dist/components}/axes/zero-line.d.ts +7 -7
- package/{components → dist/components}/axes/zoom-bar.d.ts +28 -28
- package/{build/src → dist}/components/component.d.ts +10 -8
- package/dist/components/diagrams/buildPaths.d.ts +40 -0
- package/dist/components/diagrams/index.d.ts +2 -0
- package/{components → dist/components}/essentials/canvas-chart-clip.d.ts +6 -6
- package/{build/src → dist}/components/essentials/color-scale-legend.d.ts +3 -3
- package/{build/src → dist}/components/essentials/geo-projection.d.ts +2 -2
- package/{build/src → dist}/components/essentials/highlights.d.ts +3 -3
- package/dist/components/essentials/index.d.ts +11 -0
- package/{build/src → dist}/components/essentials/legend.d.ts +3 -3
- package/{components → dist/components}/essentials/modal.d.ts +14 -14
- package/{build/src → dist}/components/essentials/threshold.d.ts +5 -5
- package/{components → dist/components}/essentials/title-meter.d.ts +30 -30
- package/{components → dist/components}/essentials/title.d.ts +20 -20
- package/{build/src → dist}/components/essentials/tooltip.d.ts +4 -4
- package/{components → dist/components}/graphs/alluvial.d.ts +14 -14
- package/{components → dist/components}/graphs/area-stacked.d.ts +11 -11
- package/dist/components/graphs/area.d.ts +12 -0
- package/{build/src → dist}/components/graphs/bar-grouped.d.ts +4 -4
- package/{build/src → dist}/components/graphs/bar-simple.d.ts +3 -3
- package/{build/src → dist}/components/graphs/bar-stacked.d.ts +4 -4
- package/{build/src → dist}/components/graphs/bar.d.ts +2 -2
- package/{components → dist/components}/graphs/boxplot.d.ts +9 -9
- package/{build/src → dist}/components/graphs/bubble.d.ts +2 -2
- package/dist/components/graphs/bullet.d.ts +12 -0
- package/{components → dist/components}/graphs/choropleth.d.ts +6 -6
- package/{build/src → dist}/components/graphs/circle-pack.d.ts +3 -3
- package/{build/src → dist}/components/graphs/donut.d.ts +1 -1
- package/{build/src → dist}/components/graphs/gauge.d.ts +2 -2
- package/{build/src → dist}/components/graphs/heatmap.d.ts +4 -4
- package/dist/components/graphs/histogram.d.ts +12 -0
- package/dist/components/graphs/index.d.ts +28 -0
- package/dist/components/graphs/line.d.ts +11 -0
- package/dist/components/graphs/lollipop.d.ts +14 -0
- package/{components → dist/components}/graphs/meter.d.ts +10 -10
- package/{build/src → dist}/components/graphs/pie.d.ts +4 -4
- package/{build/src → dist}/components/graphs/radar.d.ts +6 -6
- package/{build/src → dist}/components/graphs/scatter-stacked.d.ts +2 -2
- package/dist/components/graphs/scatter.d.ts +21 -0
- package/dist/components/graphs/skeleton-lines.d.ts +12 -0
- package/{build/src → dist}/components/graphs/skeleton.d.ts +6 -5
- package/{components → dist/components}/graphs/tree.d.ts +9 -9
- package/dist/components/graphs/treemap.d.ts +11 -0
- package/{build/src → dist}/components/graphs/wordcloud.d.ts +4 -4
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index.mjs +76 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/components/layout/index.d.ts +2 -0
- package/{components → dist/components}/layout/layout.d.ts +18 -17
- package/dist/components/layout/spacer.d.ts +5 -0
- package/{build/src → dist}/configuration-non-customizable.d.ts +4 -4
- package/{configuration.d.ts → dist/configuration.d.ts} +48 -46
- package/dist/demo/charts/index.d.ts +62 -0
- package/{demo/data → dist/demo/charts}/time-series-axis.d.ts +60 -135
- package/{build/demo/data → dist/demo/charts}/zoom-bar.d.ts +12 -27
- package/dist/demo/index.d.ts +4 -0
- package/dist/demo/index.js +470 -0
- package/dist/demo/index.js.map +1 -0
- package/dist/demo/index.mjs +51786 -0
- package/dist/demo/index.mjs.map +1 -0
- package/{demo → dist/demo}/styles.css +286 -1142
- package/dist/demo/styles.css.map +1 -0
- package/dist/demo/utils/index.d.ts +2 -0
- package/dist/demo/utils/sandbox.d.ts +39 -0
- package/dist/demo/utils/story-widgets.d.ts +7 -0
- package/dist/enums-a96ef472.mjs +89 -0
- package/dist/enums-a96ef472.mjs.map +1 -0
- package/dist/enums-aa2efd99.js +2 -0
- package/dist/enums-aa2efd99.js.map +1 -0
- package/dist/index-822564ed.js +2 -0
- package/dist/index-822564ed.js.map +1 -0
- package/dist/index-a266373c.mjs +749 -0
- package/dist/index-a266373c.mjs.map +1 -0
- package/dist/index-becfb567.mjs +72 -0
- package/dist/index-becfb567.mjs.map +1 -0
- package/dist/index-d865d500.js +2 -0
- package/dist/index-d865d500.js.map +1 -0
- package/dist/index-ec554115.mjs +62 -0
- package/dist/index-ec554115.mjs.map +1 -0
- package/dist/index-f23685eb.js +2 -0
- package/dist/index-f23685eb.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +1121 -0
- package/dist/index.mjs.map +1 -0
- package/{build/src → dist}/interfaces/axis-scales.d.ts +11 -11
- package/{interfaces → dist/interfaces}/charts.d.ts +517 -512
- package/{build/src → dist}/interfaces/components.d.ts +11 -11
- package/dist/interfaces/index.d.ts +11 -0
- package/dist/interfaces/index.js +2 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/index.mjs +58 -0
- package/dist/interfaces/index.mjs.map +1 -0
- package/{interfaces → dist/interfaces}/layout.d.ts +21 -15
- package/{build/src → dist}/interfaces/model.d.ts +2 -2
- package/dist/interfaces/services.d.ts +20 -0
- package/{build/src → dist}/interfaces/truncation.d.ts +2 -2
- package/{build/src → dist}/model/binned-charts.d.ts +1 -1
- package/{build/src → dist}/model/cartesian-charts.d.ts +2 -2
- package/{model → dist/model}/heatmap.d.ts +57 -52
- package/dist/model/index.d.ts +16 -0
- package/dist/model/index.js +3 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/index.mjs +1107 -0
- package/dist/model/index.mjs.map +1 -0
- package/{model → dist/model}/meter.d.ts +20 -19
- package/{model → dist/model}/model.d.ts +110 -107
- package/{services → dist/services}/angle-utils.d.ts +15 -16
- package/{services → dist/services}/color-scale-utils.d.ts +2 -2
- package/dist/services/curves.d.ts +24 -0
- package/dist/services/essentials/dom-utils.d.ts +45 -0
- package/dist/services/essentials/events.d.ts +8 -0
- package/dist/services/essentials/files.d.ts +7 -0
- package/{build/src → dist}/services/essentials/gradient-utils.d.ts +2 -2
- package/dist/services/essentials/index.d.ts +5 -0
- package/dist/services/essentials/transitions.d.ts +13 -0
- package/dist/services/index.d.ts +9 -0
- package/dist/services/index.js +2 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/index.mjs +32 -0
- package/dist/services/index.mjs.map +1 -0
- package/dist/services/scales-cartesian.d.ts +89 -0
- package/dist/services/service.d.ts +11 -0
- package/{services → dist/services}/time-series.d.ts +13 -13
- package/{build/src → dist}/services/zoom.d.ts +2 -2
- package/{styles → dist/styles}/_chart-holder.scss +5 -5
- package/{styles → dist/styles}/color-palatte.scss +66 -66
- package/{styles → dist/styles}/colors.scss +15 -39
- package/{styles → dist/styles}/components/_color-legend.scss +2 -2
- package/{styles → dist/styles}/components/_edge.scss +4 -4
- package/{styles → dist/styles}/components/_grid.scss +2 -2
- package/dist/styles/components/_marker.scss +7 -0
- package/{styles → dist/styles}/components/_meter-title.scss +2 -2
- package/{styles → dist/styles}/components/_tooltip.scss +3 -3
- package/{styles → dist/styles}/components/diagrams/_card-node.scss +3 -3
- package/{styles → dist/styles}/components/diagrams/_edge.scss +5 -5
- package/{styles → dist/styles}/components/diagrams/_shape-node.scss +3 -3
- package/dist/styles/components/diagrams/index.scss +4 -0
- package/{styles → dist/styles}/graphs/_alluvial.scss +2 -2
- package/{styles → dist/styles}/graphs/_bullet.scss +3 -3
- package/{styles → dist/styles}/graphs/_circle-pack.scss +1 -1
- package/{styles → dist/styles}/graphs/_gauge.scss +1 -1
- package/{styles → dist/styles}/graphs/_heatmap.scss +2 -2
- package/{styles → dist/styles}/graphs/_meter.scss +1 -1
- package/{styles → dist/styles}/graphs/_radar.scss +1 -1
- package/{styles → dist/styles}/graphs/_scatter-stacked.scss +1 -1
- package/{styles → dist/styles}/graphs/_tree.scss +2 -3
- package/{styles → dist/styles}/styles.scss +8 -3
- package/{styles → dist/styles}/tokens.scss +97 -106
- package/dist/styles.css +28264 -0
- package/dist/styles.css.map +1 -0
- package/dist/styles.min.css +1 -0
- package/dist/styles.min.css.map +1 -0
- package/{tools.d.ts → dist/tools.d.ts} +144 -144
- package/package.json +136 -101
- package/LICENSE.md +0 -201
- package/axis-chart.d.ts +0 -10
- package/axis-chart.js +0 -169
- package/axis-chart.js.map +0 -1
- package/build/demo/create-codesandbox.d.ts +0 -113
- package/build/demo/data/high-scale.d.ts +0 -1
- package/build/demo/data/index.d.ts +0 -33
- package/build/demo/data/time-series-axis.d.ts +0 -368
- package/build/demo/utils.d.ts +0 -40
- package/build/src/axis-chart.d.ts +0 -10
- package/build/src/chart.d.ts +0 -14
- package/build/src/charts/alluvial.d.ts +0 -8
- package/build/src/charts/area-stacked.d.ts +0 -6
- package/build/src/charts/area.d.ts +0 -6
- package/build/src/charts/bar-grouped.d.ts +0 -6
- package/build/src/charts/bar-simple.d.ts +0 -6
- package/build/src/charts/bar-stacked.d.ts +0 -6
- package/build/src/charts/boxplot.d.ts +0 -8
- package/build/src/charts/bubble.d.ts +0 -6
- package/build/src/charts/bullet.d.ts +0 -8
- package/build/src/charts/choropleth.d.ts +0 -10
- package/build/src/charts/circle-pack.d.ts +0 -8
- package/build/src/charts/combo.d.ts +0 -7
- package/build/src/charts/donut.d.ts +0 -6
- package/build/src/charts/gauge.d.ts +0 -8
- package/build/src/charts/heatmap.d.ts +0 -10
- package/build/src/charts/histogram.d.ts +0 -8
- package/build/src/charts/index.d.ts +0 -25
- package/build/src/charts/line.d.ts +0 -6
- package/build/src/charts/lollipop.d.ts +0 -6
- package/build/src/charts/meter.d.ts +0 -8
- package/build/src/charts/pie.d.ts +0 -8
- package/build/src/charts/radar.d.ts +0 -8
- package/build/src/charts/scatter.d.ts +0 -6
- package/build/src/charts/tree.d.ts +0 -8
- package/build/src/charts/treemap.d.ts +0 -8
- package/build/src/charts/wordcloud.d.ts +0 -8
- package/build/src/components/axes/axis.d.ts +0 -24
- package/build/src/components/axes/grid-brush.d.ts +0 -10
- package/build/src/components/axes/grid.d.ts +0 -22
- package/build/src/components/axes/ruler-binned.d.ts +0 -7
- package/build/src/components/axes/ruler.d.ts +0 -27
- package/build/src/components/axes/two-dimensional-axes.d.ts +0 -16
- package/build/src/components/axes/zero-line.d.ts +0 -7
- package/build/src/components/axes/zoom-bar.d.ts +0 -28
- package/build/src/components/diagrams/buildPaths.d.ts +0 -63
- package/build/src/components/essentials/canvas-chart-clip.d.ts +0 -6
- package/build/src/components/essentials/modal.d.ts +0 -14
- package/build/src/components/essentials/title-meter.d.ts +0 -30
- package/build/src/components/essentials/title.d.ts +0 -20
- package/build/src/components/graphs/alluvial.d.ts +0 -14
- package/build/src/components/graphs/area-stacked.d.ts +0 -11
- package/build/src/components/graphs/area.d.ts +0 -12
- package/build/src/components/graphs/boxplot.d.ts +0 -9
- package/build/src/components/graphs/bullet.d.ts +0 -12
- package/build/src/components/graphs/choropleth.d.ts +0 -6
- package/build/src/components/graphs/histogram.d.ts +0 -12
- package/build/src/components/graphs/line.d.ts +0 -11
- package/build/src/components/graphs/lollipop.d.ts +0 -14
- package/build/src/components/graphs/meter.d.ts +0 -10
- package/build/src/components/graphs/scatter.d.ts +0 -21
- package/build/src/components/graphs/skeleton-lines.d.ts +0 -11
- package/build/src/components/graphs/tree.d.ts +0 -9
- package/build/src/components/graphs/treemap.d.ts +0 -11
- package/build/src/components/index.d.ts +0 -53
- package/build/src/components/layout/layout.d.ts +0 -17
- package/build/src/components/layout/spacer.d.ts +0 -5
- package/build/src/configuration.d.ts +0 -46
- package/build/src/interfaces/charts.d.ts +0 -512
- package/build/src/interfaces/index.d.ts +0 -7
- package/build/src/interfaces/layout.d.ts +0 -15
- package/build/src/model/heatmap.d.ts +0 -52
- package/build/src/model/meter.d.ts +0 -19
- package/build/src/model/model.d.ts +0 -107
- package/build/src/services/angle-utils.d.ts +0 -205
- package/build/src/services/color-scale-utils.d.ts +0 -10
- package/build/src/services/curves.d.ts +0 -25
- package/build/src/services/essentials/dom-utils.d.ts +0 -39
- package/build/src/services/essentials/events.d.ts +0 -8
- package/build/src/services/essentials/files.d.ts +0 -6
- package/build/src/services/essentials/transitions.d.ts +0 -13
- package/build/src/services/index.d.ts +0 -10
- package/build/src/services/scales-cartesian.d.ts +0 -86
- package/build/src/services/service.d.ts +0 -10
- package/build/src/services/time-series.d.ts +0 -787
- package/build/src/tools.d.ts +0 -2427
- package/build/stories/all.stories.d.ts +0 -1
- package/build/stories/tutorials/api.d.ts +0 -4
- package/build/stories/tutorials/color-palette.d.ts +0 -4
- package/build/stories/tutorials/combo-charts.d.ts +0 -4
- package/build/stories/tutorials/dual-axes.d.ts +0 -4
- package/build/stories/tutorials/event-listeners.d.ts +0 -4
- package/build/stories/tutorials/getting-started/angular.d.ts +0 -5
- package/build/stories/tutorials/getting-started/react.d.ts +0 -5
- package/build/stories/tutorials/getting-started/vanilla.d.ts +0 -5
- package/build/stories/tutorials/getting-started/vue.d.ts +0 -5
- package/build/stories/tutorials/index.d.ts +0 -11
- package/build/stories/tutorials/tabular-data-format.d.ts +0 -4
- package/build/stories/tutorials/themes.d.ts +0 -4
- package/build/stories/tutorials.stories.d.ts +0 -1
- package/bundle.js +0 -17
- package/chart.d.ts +0 -14
- package/chart.js +0 -198
- package/chart.js.map +0 -1
- package/charts/alluvial.d.ts +0 -8
- package/charts/alluvial.js +0 -46
- package/charts/alluvial.js.map +0 -1
- package/charts/area-stacked.d.ts +0 -6
- package/charts/area-stacked.js +0 -55
- package/charts/area-stacked.js.map +0 -1
- package/charts/area.d.ts +0 -6
- package/charts/area.js +0 -54
- package/charts/area.js.map +0 -1
- package/charts/bar-grouped.d.ts +0 -6
- package/charts/bar-grouped.js +0 -49
- package/charts/bar-grouped.js.map +0 -1
- package/charts/bar-simple.d.ts +0 -6
- package/charts/bar-simple.js +0 -49
- package/charts/bar-simple.js.map +0 -1
- package/charts/bar-stacked.d.ts +0 -6
- package/charts/bar-stacked.js +0 -50
- package/charts/bar-stacked.js.map +0 -1
- package/charts/boxplot.d.ts +0 -8
- package/charts/boxplot.js +0 -55
- package/charts/boxplot.js.map +0 -1
- package/charts/bubble.d.ts +0 -6
- package/charts/bubble.js +0 -49
- package/charts/bubble.js.map +0 -1
- package/charts/bullet.d.ts +0 -8
- package/charts/bullet.js +0 -50
- package/charts/bullet.js.map +0 -1
- package/charts/choropleth.d.ts +0 -10
- package/charts/choropleth.js +0 -141
- package/charts/choropleth.js.map +0 -1
- package/charts/circle-pack.d.ts +0 -8
- package/charts/circle-pack.js +0 -45
- package/charts/circle-pack.js.map +0 -1
- package/charts/combo.d.ts +0 -7
- package/charts/combo.js +0 -132
- package/charts/combo.js.map +0 -1
- package/charts/donut.d.ts +0 -6
- package/charts/donut.js +0 -46
- package/charts/donut.js.map +0 -1
- package/charts/gauge.d.ts +0 -8
- package/charts/gauge.js +0 -42
- package/charts/gauge.js.map +0 -1
- package/charts/heatmap.d.ts +0 -10
- package/charts/heatmap.js +0 -142
- package/charts/heatmap.js.map +0 -1
- package/charts/histogram.d.ts +0 -8
- package/charts/histogram.js +0 -48
- package/charts/histogram.js.map +0 -1
- package/charts/index.d.ts +0 -25
- package/charts/index.js +0 -26
- package/charts/index.js.map +0 -1
- package/charts/line.d.ts +0 -6
- package/charts/line.js +0 -48
- package/charts/line.js.map +0 -1
- package/charts/lollipop.d.ts +0 -6
- package/charts/lollipop.js +0 -50
- package/charts/lollipop.js.map +0 -1
- package/charts/meter.d.ts +0 -8
- package/charts/meter.js +0 -94
- package/charts/meter.js.map +0 -1
- package/charts/pie.d.ts +0 -8
- package/charts/pie.js +0 -55
- package/charts/pie.js.map +0 -1
- package/charts/radar.d.ts +0 -8
- package/charts/radar.js +0 -44
- package/charts/radar.js.map +0 -1
- package/charts/scatter.d.ts +0 -6
- package/charts/scatter.js +0 -49
- package/charts/scatter.js.map +0 -1
- package/charts/tree.d.ts +0 -8
- package/charts/tree.js +0 -47
- package/charts/tree.js.map +0 -1
- package/charts/treemap.d.ts +0 -8
- package/charts/treemap.js +0 -43
- package/charts/treemap.js.map +0 -1
- package/charts/wordcloud.d.ts +0 -8
- package/charts/wordcloud.js +0 -49
- package/charts/wordcloud.js.map +0 -1
- package/components/axes/axis.d.ts +0 -24
- package/components/axes/axis.js +0 -587
- package/components/axes/axis.js.map +0 -1
- package/components/axes/chart-clip.d.ts +0 -13
- package/components/axes/chart-clip.js +0 -63
- package/components/axes/chart-clip.js.map +0 -1
- package/components/axes/grid-brush.js +0 -170
- package/components/axes/grid-brush.js.map +0 -1
- package/components/axes/grid.js +0 -235
- package/components/axes/grid.js.map +0 -1
- package/components/axes/hover-axis.d.ts +0 -10
- package/components/axes/hover-axis.js +0 -243
- package/components/axes/hover-axis.js.map +0 -1
- package/components/axes/ruler-binned.js +0 -136
- package/components/axes/ruler-binned.js.map +0 -1
- package/components/axes/ruler-stacked.d.ts +0 -4
- package/components/axes/ruler-stacked.js +0 -26
- package/components/axes/ruler-stacked.js.map +0 -1
- package/components/axes/ruler.js +0 -209
- package/components/axes/ruler.js.map +0 -1
- package/components/axes/toolbar.d.ts +0 -40
- package/components/axes/toolbar.js +0 -558
- package/components/axes/toolbar.js.map +0 -1
- package/components/axes/two-dimensional-axes.js +0 -134
- package/components/axes/two-dimensional-axes.js.map +0 -1
- package/components/axes/zero-line.js +0 -76
- package/components/axes/zero-line.js.map +0 -1
- package/components/axes/zoom-bar.js +0 -490
- package/components/axes/zoom-bar.js.map +0 -1
- package/components/component.d.ts +0 -28
- package/components/component.js +0 -102
- package/components/component.js.map +0 -1
- package/components/diagrams/buildPaths.d.ts +0 -39
- package/components/diagrams/buildPaths.js +0 -71
- package/components/diagrams/buildPaths.js.map +0 -1
- package/components/diagrams/markerDefinitions.d.ts +0 -37
- package/components/diagrams/markerDefinitions.js +0 -38
- package/components/diagrams/markerDefinitions.js.map +0 -1
- package/components/essentials/canvas-chart-clip.js +0 -46
- package/components/essentials/canvas-chart-clip.js.map +0 -1
- package/components/essentials/color-scale-legend.d.ts +0 -20
- package/components/essentials/color-scale-legend.js +0 -237
- package/components/essentials/color-scale-legend.js.map +0 -1
- package/components/essentials/geo-projection.d.ts +0 -16
- package/components/essentials/geo-projection.js +0 -160
- package/components/essentials/geo-projection.js.map +0 -1
- package/components/essentials/highlights.d.ts +0 -13
- package/components/essentials/highlights.js +0 -196
- package/components/essentials/highlights.js.map +0 -1
- package/components/essentials/legend.d.ts +0 -11
- package/components/essentials/legend.js +0 -428
- package/components/essentials/legend.js.map +0 -1
- package/components/essentials/modal.js +0 -89
- package/components/essentials/modal.js.map +0 -1
- package/components/essentials/threshold.d.ts +0 -20
- package/components/essentials/threshold.js +0 -306
- package/components/essentials/threshold.js.map +0 -1
- package/components/essentials/title-meter.js +0 -279
- package/components/essentials/title-meter.js.map +0 -1
- package/components/essentials/title.js +0 -138
- package/components/essentials/title.js.map +0 -1
- package/components/essentials/tooltip-axis.d.ts +0 -4
- package/components/essentials/tooltip-axis.js +0 -142
- package/components/essentials/tooltip-axis.js.map +0 -1
- package/components/essentials/tooltip.d.ts +0 -22
- package/components/essentials/tooltip.js +0 -263
- package/components/essentials/tooltip.js.map +0 -1
- package/components/graphs/alluvial.js +0 -535
- package/components/graphs/alluvial.js.map +0 -1
- package/components/graphs/area-stacked.js +0 -131
- package/components/graphs/area-stacked.js.map +0 -1
- package/components/graphs/area.d.ts +0 -12
- package/components/graphs/area.js +0 -260
- package/components/graphs/area.js.map +0 -1
- package/components/graphs/bar-grouped.d.ts +0 -22
- package/components/graphs/bar-grouped.js +0 -312
- package/components/graphs/bar-grouped.js.map +0 -1
- package/components/graphs/bar-simple.d.ts +0 -12
- package/components/graphs/bar-simple.js +0 -218
- package/components/graphs/bar-simple.js.map +0 -1
- package/components/graphs/bar-stacked.d.ts +0 -13
- package/components/graphs/bar-stacked.js +0 -281
- package/components/graphs/bar-stacked.js.map +0 -1
- package/components/graphs/bar.d.ts +0 -5
- package/components/graphs/bar.js +0 -58
- package/components/graphs/bar.js.map +0 -1
- package/components/graphs/boxplot.js +0 -485
- package/components/graphs/boxplot.js.map +0 -1
- package/components/graphs/bubble.d.ts +0 -13
- package/components/graphs/bubble.js +0 -113
- package/components/graphs/bubble.js.map +0 -1
- package/components/graphs/bullet.d.ts +0 -12
- package/components/graphs/bullet.js +0 -395
- package/components/graphs/bullet.js.map +0 -1
- package/components/graphs/choropleth.js +0 -106
- package/components/graphs/choropleth.js.map +0 -1
- package/components/graphs/circle-pack.d.ts +0 -19
- package/components/graphs/circle-pack.js +0 -388
- package/components/graphs/circle-pack.js.map +0 -1
- package/components/graphs/donut.d.ts +0 -9
- package/components/graphs/donut.js +0 -116
- package/components/graphs/donut.js.map +0 -1
- package/components/graphs/gauge.d.ts +0 -27
- package/components/graphs/gauge.js +0 -347
- package/components/graphs/gauge.js.map +0 -1
- package/components/graphs/heatmap.d.ts +0 -25
- package/components/graphs/heatmap.js +0 -388
- package/components/graphs/heatmap.js.map +0 -1
- package/components/graphs/histogram.d.ts +0 -12
- package/components/graphs/histogram.js +0 -220
- package/components/graphs/histogram.js.map +0 -1
- package/components/graphs/line.d.ts +0 -11
- package/components/graphs/line.js +0 -179
- package/components/graphs/line.js.map +0 -1
- package/components/graphs/lollipop.d.ts +0 -14
- package/components/graphs/lollipop.js +0 -164
- package/components/graphs/lollipop.js.map +0 -1
- package/components/graphs/meter.js +0 -284
- package/components/graphs/meter.js.map +0 -1
- package/components/graphs/pie.d.ts +0 -16
- package/components/graphs/pie.js +0 -438
- package/components/graphs/pie.js.map +0 -1
- package/components/graphs/radar.d.ts +0 -25
- package/components/graphs/radar.js +0 -737
- package/components/graphs/radar.js.map +0 -1
- package/components/graphs/scatter-stacked.d.ts +0 -8
- package/components/graphs/scatter-stacked.js +0 -140
- package/components/graphs/scatter-stacked.js.map +0 -1
- package/components/graphs/scatter.d.ts +0 -21
- package/components/graphs/scatter.js +0 -360
- package/components/graphs/scatter.js.map +0 -1
- package/components/graphs/skeleton-lines.d.ts +0 -11
- package/components/graphs/skeleton-lines.js +0 -84
- package/components/graphs/skeleton-lines.js.map +0 -1
- package/components/graphs/skeleton.d.ts +0 -22
- package/components/graphs/skeleton.js +0 -272
- package/components/graphs/skeleton.js.map +0 -1
- package/components/graphs/tree.js +0 -262
- package/components/graphs/tree.js.map +0 -1
- package/components/graphs/treemap.d.ts +0 -11
- package/components/graphs/treemap.js +0 -344
- package/components/graphs/treemap.js.map +0 -1
- package/components/graphs/wordcloud.d.ts +0 -12
- package/components/graphs/wordcloud.js +0 -268
- package/components/graphs/wordcloud.js.map +0 -1
- package/components/index.d.ts +0 -53
- package/components/index.js +0 -59
- package/components/index.js.map +0 -1
- package/components/layout/layout.js +0 -191
- package/components/layout/layout.js.map +0 -1
- package/components/layout/spacer.d.ts +0 -5
- package/components/layout/spacer.js +0 -33
- package/components/layout/spacer.js.map +0 -1
- package/configuration-non-customizable.d.ts +0 -263
- package/configuration-non-customizable.js +0 -276
- package/configuration-non-customizable.js.map +0 -1
- package/configuration.js +0 -552
- package/configuration.js.map +0 -1
- package/demo/create-codesandbox.d.ts +0 -65
- package/demo/create-codesandbox.js +0 -173
- package/demo/create-codesandbox.js.map +0 -1
- package/demo/data/CHART_TYPES.d.ts +0 -128
- package/demo/data/CHART_TYPES.js +0 -128
- package/demo/data/CHART_TYPES.js.map +0 -1
- package/demo/data/alluvial.d.ts +0 -109
- package/demo/data/alluvial.js +0 -328
- package/demo/data/alluvial.js.map +0 -1
- package/demo/data/area.d.ts +0 -224
- package/demo/data/area.js +0 -330
- package/demo/data/area.js.map +0 -1
- package/demo/data/bar.d.ts +0 -681
- package/demo/data/bar.js +0 -915
- package/demo/data/bar.js.map +0 -1
- package/demo/data/boxplot.d.ts +0 -34
- package/demo/data/boxplot.js +0 -48
- package/demo/data/boxplot.js.map +0 -1
- package/demo/data/bubble.d.ts +0 -141
- package/demo/data/bubble.js +0 -182
- package/demo/data/bubble.js.map +0 -1
- package/demo/data/bullet.d.ts +0 -24
- package/demo/data/bullet.js +0 -55
- package/demo/data/bullet.js.map +0 -1
- package/demo/data/bundle.js +0 -1
- package/demo/data/choropleth.d.ts +0 -738
- package/demo/data/choropleth.js +0 -1684
- package/demo/data/choropleth.js.map +0 -1
- package/demo/data/circle-pack.d.ts +0 -91
- package/demo/data/circle-pack.js +0 -224
- package/demo/data/circle-pack.js.map +0 -1
- package/demo/data/combo.d.ts +0 -482
- package/demo/data/combo.js +0 -571
- package/demo/data/combo.js.map +0 -1
- package/demo/data/donut.d.ts +0 -64
- package/demo/data/donut.js +0 -60
- package/demo/data/donut.js.map +0 -1
- package/demo/data/gauge.d.ts +0 -40
- package/demo/data/gauge.js +0 -41
- package/demo/data/gauge.js.map +0 -1
- package/demo/data/heatmap.d.ts +0 -125
- package/demo/data/heatmap.js +0 -1149
- package/demo/data/heatmap.js.map +0 -1
- package/demo/data/high-scale.d.ts +0 -1
- package/demo/data/high-scale.js +0 -5
- package/demo/data/high-scale.js.map +0 -1
- package/demo/data/hightlight.d.ts +0 -40
- package/demo/data/hightlight.js +0 -44
- package/demo/data/hightlight.js.map +0 -1
- package/demo/data/histogram.d.ts +0 -63
- package/demo/data/histogram.js +0 -312
- package/demo/data/histogram.js.map +0 -1
- package/demo/data/index.d.ts +0 -33
- package/demo/data/index.js +0 -1305
- package/demo/data/index.js.map +0 -1
- package/demo/data/line.d.ts +0 -361
- package/demo/data/line.js +0 -480
- package/demo/data/line.js.map +0 -1
- package/demo/data/lollipop.d.ts +0 -39
- package/demo/data/lollipop.js +0 -37
- package/demo/data/lollipop.js.map +0 -1
- package/demo/data/meter.d.ts +0 -95
- package/demo/data/meter.js +0 -114
- package/demo/data/meter.js.map +0 -1
- package/demo/data/pie.d.ts +0 -46
- package/demo/data/pie.js +0 -55
- package/demo/data/pie.js.map +0 -1
- package/demo/data/radar.d.ts +0 -63
- package/demo/data/radar.js +0 -118
- package/demo/data/radar.js.map +0 -1
- package/demo/data/scatter.d.ts +0 -118
- package/demo/data/scatter.js +0 -143
- package/demo/data/scatter.js.map +0 -1
- package/demo/data/step.d.ts +0 -96
- package/demo/data/step.js +0 -27
- package/demo/data/step.js.map +0 -1
- package/demo/data/time-series-axis.js +0 -436
- package/demo/data/time-series-axis.js.map +0 -1
- package/demo/data/toolbar.d.ts +0 -12
- package/demo/data/toolbar.js +0 -67
- package/demo/data/toolbar.js.map +0 -1
- package/demo/data/topojson-110.d.ts +0 -360
- package/demo/data/topojson-110.js +0 -40724
- package/demo/data/topojson-110.js.map +0 -1
- package/demo/data/tree.d.ts +0 -30
- package/demo/data/tree.js +0 -209
- package/demo/data/tree.js.map +0 -1
- package/demo/data/treemap.d.ts +0 -15
- package/demo/data/treemap.js +0 -93
- package/demo/data/treemap.js.map +0 -1
- package/demo/data/wordcloud.d.ts +0 -14
- package/demo/data/wordcloud.js +0 -105
- package/demo/data/wordcloud.js.map +0 -1
- package/demo/data/zoom-bar.d.ts +0 -94
- package/demo/data/zoom-bar.js +0 -187
- package/demo/data/zoom-bar.js.map +0 -1
- package/demo/styles.css.map +0 -1
- package/demo/styles.min.css +0 -1
- package/demo/styles.min.css.map +0 -1
- package/demo/tsconfig.tsbuildinfo +0 -1451
- package/demo/utils.d.ts +0 -24
- package/demo/utils.js +0 -222
- package/demo/utils.js.map +0 -1
- package/index.d.ts +0 -4
- package/index.js +0 -6
- package/index.js.map +0 -1
- package/interfaces/a11y.d.ts +0 -12
- package/interfaces/a11y.js +0 -14
- package/interfaces/a11y.js.map +0 -1
- package/interfaces/axis-scales.d.ts +0 -201
- package/interfaces/axis-scales.js +0 -1
- package/interfaces/axis-scales.js.map +0 -1
- package/interfaces/charts.js +0 -1
- package/interfaces/charts.js.map +0 -1
- package/interfaces/components.d.ts +0 -231
- package/interfaces/components.js +0 -1
- package/interfaces/components.js.map +0 -1
- package/interfaces/enums.d.ts +0 -261
- package/interfaces/enums.js +0 -296
- package/interfaces/enums.js.map +0 -1
- package/interfaces/events.d.ts +0 -239
- package/interfaces/events.js +0 -269
- package/interfaces/events.js.map +0 -1
- package/interfaces/index.d.ts +0 -7
- package/interfaces/index.js +0 -3
- package/interfaces/index.js.map +0 -1
- package/interfaces/layout.js +0 -1
- package/interfaces/layout.js.map +0 -1
- package/interfaces/model.d.ts +0 -35
- package/interfaces/model.js +0 -1
- package/interfaces/model.js.map +0 -1
- package/interfaces/truncation.d.ts +0 -17
- package/interfaces/truncation.js +0 -1
- package/interfaces/truncation.js.map +0 -1
- package/model/alluvial.d.ts +0 -8
- package/model/alluvial.js +0 -47
- package/model/alluvial.js.map +0 -1
- package/model/binned-charts.d.ts +0 -7
- package/model/binned-charts.js +0 -52
- package/model/binned-charts.js.map +0 -1
- package/model/boxplot.d.ts +0 -14
- package/model/boxplot.js +0 -174
- package/model/boxplot.js.map +0 -1
- package/model/bullet.d.ts +0 -14
- package/model/bullet.js +0 -74
- package/model/bullet.js.map +0 -1
- package/model/cartesian-charts.d.ts +0 -24
- package/model/cartesian-charts.js +0 -202
- package/model/cartesian-charts.js.map +0 -1
- package/model/choropleth.d.ts +0 -29
- package/model/choropleth.js +0 -105
- package/model/choropleth.js.map +0 -1
- package/model/circle-pack.d.ts +0 -36
- package/model/circle-pack.js +0 -189
- package/model/circle-pack.js.map +0 -1
- package/model/gauge.d.ts +0 -9
- package/model/gauge.js +0 -51
- package/model/gauge.js.map +0 -1
- package/model/heatmap.js +0 -220
- package/model/heatmap.js.map +0 -1
- package/model/meter.js +0 -118
- package/model/meter.js.map +0 -1
- package/model/model.js +0 -712
- package/model/model.js.map +0 -1
- package/model/pie.d.ts +0 -9
- package/model/pie.js +0 -66
- package/model/pie.js.map +0 -1
- package/model/radar.d.ts +0 -7
- package/model/radar.js +0 -52
- package/model/radar.js.map +0 -1
- package/model/tree.d.ts +0 -14
- package/model/tree.js +0 -56
- package/model/tree.js.map +0 -1
- package/model/treemap.d.ts +0 -8
- package/model/treemap.js +0 -44
- package/model/treemap.js.map +0 -1
- package/model/wordcloud.d.ts +0 -7
- package/model/wordcloud.js +0 -47
- package/model/wordcloud.js.map +0 -1
- package/polyfills.d.ts +0 -0
- package/polyfills.js +0 -29
- package/polyfills.js.map +0 -1
- package/services/angle-utils.js +0 -82
- package/services/angle-utils.js.map +0 -1
- package/services/canvas-zoom.d.ts +0 -11
- package/services/canvas-zoom.js +0 -72
- package/services/canvas-zoom.js.map +0 -1
- package/services/color-scale-utils.js +0 -64
- package/services/color-scale-utils.js.map +0 -1
- package/services/curves.d.ts +0 -25
- package/services/curves.js +0 -77
- package/services/curves.js.map +0 -1
- package/services/essentials/dom-utils.d.ts +0 -39
- package/services/essentials/dom-utils.js +0 -423
- package/services/essentials/dom-utils.js.map +0 -1
- package/services/essentials/events.d.ts +0 -8
- package/services/essentials/events.js +0 -53
- package/services/essentials/events.js.map +0 -1
- package/services/essentials/files.d.ts +0 -6
- package/services/essentials/files.js +0 -60
- package/services/essentials/files.js.map +0 -1
- package/services/essentials/gradient-utils.d.ts +0 -6
- package/services/essentials/gradient-utils.js +0 -85
- package/services/essentials/gradient-utils.js.map +0 -1
- package/services/essentials/transitions.d.ts +0 -13
- package/services/essentials/transitions.js +0 -51
- package/services/essentials/transitions.js.map +0 -1
- package/services/index.d.ts +0 -10
- package/services/index.js +0 -13
- package/services/index.js.map +0 -1
- package/services/scales-cartesian.d.ts +0 -86
- package/services/scales-cartesian.js +0 -656
- package/services/scales-cartesian.js.map +0 -1
- package/services/service.d.ts +0 -10
- package/services/service.js +0 -24
- package/services/service.js.map +0 -1
- package/services/time-series.js +0 -147
- package/services/time-series.js.map +0 -1
- package/services/zoom.d.ts +0 -21
- package/services/zoom.js +0 -217
- package/services/zoom.js.map +0 -1
- package/styles/components/_marker.scss +0 -7
- package/styles/components/diagrams/index.scss +0 -4
- package/styles.css +0 -6325
- package/styles.css.map +0 -1
- package/styles.min.css +0 -1
- package/styles.min.css.map +0 -1
- package/tools.js +0 -348
- package/tools.js.map +0 -1
- package/tsconfig.tsbuildinfo +0 -3816
- /package/{build/src → dist}/components/axes/ruler-stacked.d.ts +0 -0
- /package/{build/src → dist}/components/diagrams/markerDefinitions.d.ts +0 -0
- /package/{build/src → dist}/components/essentials/tooltip-axis.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/alluvial.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/area.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/bar.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/boxplot.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/bubble.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/bullet.d.ts +0 -0
- /package/{build/demo/data/CHART_TYPES.d.ts → dist/demo/charts/chart-types.d.ts} +0 -0
- /package/{build/demo/data → dist/demo/charts}/choropleth.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/circle-pack.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/combo.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/donut.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/gauge.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/heatmap.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/hightlight.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/histogram.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/line.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/lollipop.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/meter.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/pie.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/radar.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/scatter.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/step.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/toolbar.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/topojson-110.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/tree.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/treemap.d.ts +0 -0
- /package/{build/demo/data → dist/demo/charts}/wordcloud.d.ts +0 -0
- /package/{build/src → dist}/interfaces/a11y.d.ts +0 -0
- /package/{build/src → dist}/interfaces/enums.d.ts +0 -0
- /package/{build/src → dist}/interfaces/events.d.ts +0 -0
- /package/{build/src → dist}/model/alluvial.d.ts +0 -0
- /package/{build/src → dist}/model/boxplot.d.ts +0 -0
- /package/{build/src → dist}/model/bullet.d.ts +0 -0
- /package/{build/src → dist}/model/choropleth.d.ts +0 -0
- /package/{build/src → dist}/model/circle-pack.d.ts +0 -0
- /package/{build/src → dist}/model/gauge.d.ts +0 -0
- /package/{build/src → dist}/model/pie.d.ts +0 -0
- /package/{build/src → dist}/model/radar.d.ts +0 -0
- /package/{build/src → dist}/model/tree.d.ts +0 -0
- /package/{build/src → dist}/model/treemap.d.ts +0 -0
- /package/{build/src → dist}/model/wordcloud.d.ts +0 -0
- /package/{build/src → dist}/services/canvas-zoom.d.ts +0 -0
- /package/{styles → dist/styles}/_type.scss +0 -0
- /package/{styles → dist/styles}/components/_axis.scss +0 -0
- /package/{styles → dist/styles}/components/_callouts.scss +0 -0
- /package/{styles → dist/styles}/components/_grid-brush.scss +0 -0
- /package/{styles → dist/styles}/components/_highlights.scss +0 -0
- /package/{styles → dist/styles}/components/_layout.scss +0 -0
- /package/{styles → dist/styles}/components/_legend.scss +0 -0
- /package/{styles → dist/styles}/components/_modal.scss +0 -0
- /package/{styles → dist/styles}/components/_ruler.scss +0 -0
- /package/{styles → dist/styles}/components/_skeleton-lines.scss +0 -0
- /package/{styles → dist/styles}/components/_skeleton.scss +0 -0
- /package/{styles → dist/styles}/components/_threshold.scss +0 -0
- /package/{styles → dist/styles}/components/_title.scss +0 -0
- /package/{styles → dist/styles}/components/_toolbar.scss +0 -0
- /package/{styles → dist/styles}/components/_zero-line.scss +0 -0
- /package/{styles → dist/styles}/components/_zoom-bar.scss +0 -0
- /package/{styles → dist/styles}/components/diagrams/_marker.scss +0 -0
- /package/{styles → dist/styles}/components/index.scss +0 -0
- /package/{styles → dist/styles}/graphs/_area.scss +0 -0
- /package/{styles → dist/styles}/graphs/_bubble.scss +0 -0
- /package/{styles → dist/styles}/graphs/_choropleth.scss +0 -0
- /package/{styles → dist/styles}/graphs/_donut.scss +0 -0
- /package/{styles → dist/styles}/graphs/_line.scss +0 -0
- /package/{styles → dist/styles}/graphs/_lollipop.scss +0 -0
- /package/{styles → dist/styles}/graphs/_pie.scss +0 -0
- /package/{styles → dist/styles}/graphs/_scatter.scss +0 -0
- /package/{styles → dist/styles}/graphs/_treemap.scss +0 -0
- /package/{styles → dist/styles}/graphs/_wordcloud.scss +0 -0
- /package/{styles → dist/styles}/graphs/index.scss +0 -0
package/README.md
CHANGED
|
@@ -14,15 +14,14 @@ Run the following command using [npm](https://www.npmjs.com/):
|
|
|
14
14
|
npm install -S @carbon/charts d3
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
If you prefer [Yarn](https://yarnpkg.com/en/), use the following command
|
|
18
|
-
instead:
|
|
17
|
+
If you prefer [Yarn](https://yarnpkg.com/en/), use the following command instead:
|
|
19
18
|
|
|
20
19
|
```bash
|
|
21
20
|
yarn add @carbon/charts d3
|
|
22
21
|
```
|
|
23
22
|
|
|
24
|
-
**Note:** you'd also need to install `carbon-components` if you're not using a
|
|
25
|
-
|
|
23
|
+
**Note:** you'd also need to install `carbon-components` if you're not using a bundled version of
|
|
24
|
+
the library.
|
|
26
25
|
|
|
27
26
|
## Step-by-step instructions
|
|
28
27
|
|
|
@@ -33,23 +32,22 @@ Read
|
|
|
33
32
|
|
|
34
33
|
[Sample use cases can be seen here](https://carbon-design-system.github.io/carbon-charts).
|
|
35
34
|
|
|
36
|
-
**When opening the link above**, click on the **Edit on Codesandbox** button for
|
|
37
|
-
|
|
35
|
+
**When opening the link above**, click on the **Edit on Codesandbox** button for each demo to see an
|
|
36
|
+
isolated project showing you how to reproduce the demo.
|
|
38
37
|
|
|
39
38
|
## Charting data & options
|
|
40
39
|
|
|
41
|
-
Although we will definitely introduce new models in the future as we start
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
Although we will definitely introduce new models in the future as we start shipping new components
|
|
41
|
+
such as maps, Data and options follow the same model in all charts, with minor exceptions and
|
|
42
|
+
differences in specific components.
|
|
44
43
|
|
|
45
|
-
For instance in the case of a donut chart you're able to pass in an additional
|
|
46
|
-
|
|
44
|
+
For instance in the case of a donut chart you're able to pass in an additional field called `center`
|
|
45
|
+
in your options configuring the donut center.
|
|
47
46
|
|
|
48
47
|
For instructions on using the **tabular data format**, see
|
|
49
48
|
[here](https://carbon-design-system.github.io/carbon-charts/?path=/story/docs-tutorials--tabular-data-format)
|
|
50
49
|
|
|
51
|
-
There are also additional options available depending on the chart type being
|
|
52
|
-
used,
|
|
50
|
+
There are also additional options available depending on the chart type being used,
|
|
53
51
|
[see our demo examples here](https://github.com/carbon-design-system/carbon-charts/tree/master/packages/core/demo/data).
|
|
54
52
|
|
|
55
53
|
Customizable options (specific to chart type) can be found
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { b as f, k as t, i as h } from "./color-scale-utils-5eb3eeaa.mjs";
|
|
2
|
+
function i(a, e) {
|
|
3
|
+
return a && f(a, e, t);
|
|
4
|
+
}
|
|
5
|
+
function k(a, e) {
|
|
6
|
+
return function(r, n) {
|
|
7
|
+
if (r == null)
|
|
8
|
+
return r;
|
|
9
|
+
if (!h(r))
|
|
10
|
+
return a(r, n);
|
|
11
|
+
for (var u = r.length, s = e ? u : -1, b = Object(r); (e ? s-- : ++s < u) && n(b[s], s, b) !== !1; )
|
|
12
|
+
;
|
|
13
|
+
return r;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
var E = k(i);
|
|
17
|
+
const v = E;
|
|
18
|
+
export {
|
|
19
|
+
v as b
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=_baseEach-603421de.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_baseEach-603421de.mjs","sources":["../../../node_modules/lodash-es/_baseForOwn.js","../../../node_modules/lodash-es/_createBaseEach.js","../../../node_modules/lodash-es/_baseEach.js"],"sourcesContent":["import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nexport default baseForOwn;\n","import isArrayLike from './isArrayLike.js';\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nexport default createBaseEach;\n","import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nexport default baseEach;\n"],"names":["baseForOwn","object","iteratee","baseFor","keys","createBaseEach","eachFunc","fromRight","collection","isArrayLike","length","index","iterable","baseEach","baseEach$1"],"mappings":";AAWA,SAASA,EAAWC,GAAQC,GAAU;AACpC,SAAOD,KAAUE,EAAQF,GAAQC,GAAUE,CAAI;AACjD;ACHA,SAASC,EAAeC,GAAUC,GAAW;AAC3C,SAAO,SAASC,GAAYN,GAAU;AACpC,QAAIM,KAAc;AAChB,aAAOA;AAET,QAAI,CAACC,EAAYD,CAAU;AACzB,aAAOF,EAASE,GAAYN,CAAQ;AAMtC,aAJIQ,IAASF,EAAW,QACpBG,IAAQJ,IAAYG,IAAS,IAC7BE,IAAW,OAAOJ,CAAU,IAExBD,IAAYI,MAAU,EAAEA,IAAQD,MAClCR,EAASU,EAASD,CAAK,GAAGA,GAAOC,CAAQ,MAAM;AAAnD;AAIF,WAAOJ;AAAA,EACX;AACA;AClBA,IAAIK,IAAWR,EAAeL,CAAU;AAExC,MAAAc,IAAeD;","x_google_ignoreList":[0,1,2]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const n=require("./color-scale-utils-7d463811.js");function f(e,a){return e&&n.baseFor(e,a,n.keys)}function h(e,a){return function(r,u){if(r==null)return r;if(!n.isArrayLike(r))return e(r,u);for(var t=r.length,s=a?t:-1,b=Object(r);(a?s--:++s<t)&&u(b[s],s,b)!==!1;);return r}}var i=h(f);const E=i;exports.baseEach=E;
|
|
2
|
+
//# sourceMappingURL=_baseEach-cdac417f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_baseEach-cdac417f.js","sources":["../../../node_modules/lodash-es/_baseForOwn.js","../../../node_modules/lodash-es/_createBaseEach.js","../../../node_modules/lodash-es/_baseEach.js"],"sourcesContent":["import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nexport default baseForOwn;\n","import isArrayLike from './isArrayLike.js';\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nexport default createBaseEach;\n","import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nexport default baseEach;\n"],"names":["baseForOwn","object","iteratee","baseFor","keys","createBaseEach","eachFunc","fromRight","collection","isArrayLike","length","index","iterable","baseEach","baseEach$1"],"mappings":"gEAWA,SAASA,EAAWC,EAAQC,EAAU,CACpC,OAAOD,GAAUE,EAAO,QAACF,EAAQC,EAAUE,EAAI,IAAA,CACjD,CCHA,SAASC,EAAeC,EAAUC,EAAW,CAC3C,OAAO,SAASC,EAAYN,EAAU,CACpC,GAAIM,GAAc,KAChB,OAAOA,EAET,GAAI,CAACC,EAAAA,YAAYD,CAAU,EACzB,OAAOF,EAASE,EAAYN,CAAQ,EAMtC,QAJIQ,EAASF,EAAW,OACpBG,EAAQJ,EAAYG,EAAS,GAC7BE,EAAW,OAAOJ,CAAU,GAExBD,EAAYI,IAAU,EAAEA,EAAQD,IAClCR,EAASU,EAASD,CAAK,EAAGA,EAAOC,CAAQ,IAAM,IAAnD,CAIF,OAAOJ,CACX,CACA,CClBA,IAAIK,EAAWR,EAAeL,CAAU,EAExC,MAAAc,EAAeD","x_google_ignoreList":[0,1,2]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
var r = /* @__PURE__ */ ((c) => (c.GRAPHICS_DOCUMENT = "graphics-document", c.GRAPHICS_OBJECT = "graphics-object", c.GRAPHICS_SYMBOL = "graphics-symbol", c.GROUP = "group", c.DOCUMENT = "document", c.CHECKBOX = "checkbox", c.BUTTON = "button", c.MENU = "menu", c.MENU_ITEM = "menuitem", c.IMG = "img", c))(r || {});
|
|
2
|
+
export {
|
|
3
|
+
r as R
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=a11y-7bad4f48.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a11y-7bad4f48.mjs","sources":["../src/interfaces/a11y.ts"],"sourcesContent":["export enum Roles {\n\tGRAPHICS_DOCUMENT = 'graphics-document',\n\tGRAPHICS_OBJECT = 'graphics-object',\n\tGRAPHICS_SYMBOL = 'graphics-symbol',\n\tGROUP = 'group',\n\tDOCUMENT = 'document',\n\tCHECKBOX = 'checkbox',\n\tBUTTON = 'button',\n\tMENU = 'menu',\n\tMENU_ITEM = 'menuitem',\n\tIMG = 'img'\n}\n"],"names":["Roles"],"mappings":"AAAY,IAAAA,sBAAAA,OACXA,EAAA,oBAAoB,qBACpBA,EAAA,kBAAkB,mBAClBA,EAAA,kBAAkB,mBAClBA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,WAAW,YACXA,EAAA,SAAS,UACTA,EAAA,OAAO,QACPA,EAAA,YAAY,YACZA,EAAA,MAAM,OAVKA,IAAAA,KAAA,CAAA,CAAA;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var t=(c=>(c.GRAPHICS_DOCUMENT="graphics-document",c.GRAPHICS_OBJECT="graphics-object",c.GRAPHICS_SYMBOL="graphics-symbol",c.GROUP="group",c.DOCUMENT="document",c.CHECKBOX="checkbox",c.BUTTON="button",c.MENU="menu",c.MENU_ITEM="menuitem",c.IMG="img",c))(t||{});exports.Roles=t;
|
|
2
|
+
//# sourceMappingURL=a11y-c7c9d087.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a11y-c7c9d087.js","sources":["../src/interfaces/a11y.ts"],"sourcesContent":["export enum Roles {\n\tGRAPHICS_DOCUMENT = 'graphics-document',\n\tGRAPHICS_OBJECT = 'graphics-object',\n\tGRAPHICS_SYMBOL = 'graphics-symbol',\n\tGROUP = 'group',\n\tDOCUMENT = 'document',\n\tCHECKBOX = 'checkbox',\n\tBUTTON = 'button',\n\tMENU = 'menu',\n\tMENU_ITEM = 'menuitem',\n\tIMG = 'img'\n}\n"],"names":["Roles"],"mappings":"aAAY,IAAAA,GAAAA,IACXA,EAAA,kBAAoB,oBACpBA,EAAA,gBAAkB,kBAClBA,EAAA,gBAAkB,kBAClBA,EAAA,MAAQ,QACRA,EAAA,SAAW,WACXA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,KAAO,OACPA,EAAA,UAAY,WACZA,EAAA,IAAM,MAVKA,IAAAA,GAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const h=require("d3"),f=require("./color-scale-utils-7d463811.js"),a=require("./enums-aa2efd99.js");var z=/\s/;function P(s){for(var e=s.length;e--&&z.test(s.charAt(e)););return e}var k=/^\s+/;function V(s){return s&&s.slice(0,P(s)+1).replace(k,"")}var H=0/0,$=/^[-+]0x[0-9a-f]+$/i,q=/^0b[01]+$/i,W=/^0o[0-7]+$/i,U=parseInt;function w(s){if(typeof s=="number")return s;if(f.isSymbol(s))return H;if(f.isObject(s)){var e=typeof s.valueOf=="function"?s.valueOf():s;s=f.isObject(e)?e+"":e}if(typeof s!="string")return s===0?s:+s;s=V(s);var t=q.test(s);return t||W.test(s)?U(s.slice(2),t?2:8):$.test(s)?H:+s}var _=function(){return f.root.Date.now()};const v=_;var j="Expected a function",J=Math.max,X=Math.min;function L(s,e,t){var n,i,o,r,c,u,g=0,y=!1,m=!1,d=!0;if(typeof s!="function")throw new TypeError(j);e=w(e)||0,f.isObject(t)&&(y=!!t.leading,m="maxWait"in t,o=m?J(w(t.maxWait)||0,e):o,d="trailing"in t?!!t.trailing:d);function p(l){var x=n,b=i;return n=i=void 0,g=l,r=s.apply(b,x),r}function S(l){return g=l,c=setTimeout(C,e),y?p(l):r}function T(l){var x=l-u,b=l-g,F=e-x;return m?X(F,o-b):F}function M(l){var x=l-u,b=l-g;return u===void 0||x>=e||x<0||m&&b>=o}function C(){var l=v();if(M(l))return R(l);c=setTimeout(C,T(l))}function R(l){return c=void 0,d&&n?p(l):(n=i=void 0,r)}function O(){c!==void 0&&clearTimeout(c),g=0,n=u=i=c=void 0}function G(){return c===void 0?r:R(v())}function I(){var l=v(),x=M(l);if(n=arguments,i=this,u=l,x){if(c===void 0)return S(u);if(m)return clearTimeout(c),c=setTimeout(C,e),p(u)}return c===void 0&&(c=setTimeout(C,e)),r}return I.cancel=O,I.flush=G,I}class A{constructor(e,t){this.model=e,this.services=t,this.init()}init(){}update(){}setModel(e){this.model=e}setServices(e){this.services=e}}const Y="DONT_STYLE_ME_css_styles_verifier";class D extends A{constructor(e,t){super(e,t),this.chartID=""}static getHTMLElementSize(e){return{width:e.clientWidth,height:e.clientHeight}}static getSVGElementSize(e,t={useAttrs:!1,useClientDimensions:!1,useBBox:!1,useBoundingRect:!1}){e.attr||(e=h.select(e));const n={width:0,height:0},i=d=>{d&&Object.keys(n).forEach(p=>{if(d[p]){const S=d[p],T=parseFloat(S);S&&T>n[p]&&(""+S).indexOf("%")===-1&&(n[p]=T)}})},o={width:e.attr("width"),height:e.attr("height")},r=e.node();let c,u,g,y;try{typeof r.getBBox=="function"&&(c=r.getBBox(),u={width:c.width,height:c.height})}catch(d){console.error(d)}try{typeof(r==null?void 0:r.getBoundingClientRect)=="function"&&(g=r.getBoundingClientRect(),y={width:g.width,height:g.height})}catch(d){console.error(d)}let m;if(r instanceof SVGSVGElement&&(m={width:r.clientWidth,height:r.clientHeight}),t){if(t.useAttrs&&(i(o),n.width>0&&n.height>0))return n;if(t.useClientDimensions&&(i(m),n.width>0&&n.height>0))return m;if(t.useBBox&&(i(u),n.width>0&&n.height>0))return u;if(t.useBoundingRect&&(i(y),n.width>0&&n.height>0))return y}try{const d={width:f.getProperty(e.node(),"width","baseVal","value"),height:f.getProperty(e.node(),"height","baseVal","value")};i(d)}catch{i(m),i(u),i(o)}return n}static appendOrSelect(e,t){const n=e.select(`${t}`);if(n.empty()){let i=t.split("#"),o,r;return i.length===2?(o=i[0],i=i[1].split("."),r=i[0]):(i=t.split("."),o=i[0]),e.append(o).attr("id",r).attr("class",i.slice(1).join(" "))}return n}init(){this.styleHolderElement(),this.initializeID(),this.addMainContainer(),this.model.getOptions().resizable&&this.addResizeListener(),this.addHolderListeners(),this.handleFullscreenChange()}getChartID(){return this.chartID}generateElementIDString(e){return`chart-${this.chartID}-${e}`}initializeID(){this.chartID=Math.floor((1+Math.random())*281474976710656).toString(16)}addMainContainer(){const e=this.model.getOptions(),t=f.getProperty(e,"style","prefix"),n=h.select(this.getHolder()).append("div").classed(`${f.carbonPrefix}--${t}--chart-wrapper`,!0).attr("id",`chart-${this.getChartID()}`).style("height","100%").style("width","100%");n.append("g").attr("class",Y),this.mainContainer=n.node()}update(){this.styleHolderElement()}styleHolderElement(){const e=this.getHolder(),{width:t,height:n,theme:i}=this.model.getOptions();t!==this.width&&(e.style.width=t,this.width=t),n!==this.height&&(e.style.height=n,this.height=n),h.select(this.getHolder()).classed(`${f.carbonPrefix}--chart-holder`,!0).attr("data-carbon-theme",i)}getHolder(){return this.model.get("holder")}exportToJPG(){const e=this,t=this.getHolder(),n=h.select(t);n.classed("filled",!0),f.domToImage.toJpeg(this.getMainContainer(),{bgcolor:typeof window<"u"?window.getComputedStyle(t).getPropertyValue("background-color"):void 0,quality:1,filter:i=>!(i.classList&&i.classList.contains("cds--cc--toolbar"))}).then(function(i){var o;(o=e.services.files)==null||o.downloadImage(i,"myChart.jpg"),n.classed("filled",!1)})}exportToPNG(){const e=this,t=this.getHolder(),n=h.select(t);n.classed("filled",!0),f.domToImage.toPng(this.getMainContainer(),{bgcolor:typeof window<"u"?window.getComputedStyle(t).getPropertyValue("background-color"):void 0,quality:1,filter:i=>!(i.classList&&i.classList.contains("cds--cc--toolbar"))}).then(function(i){var o;(o=e.services.files)==null||o.downloadImage(i,"myChart.png"),n.classed("filled",!1)}).catch(function(i){console.error("oops, something went wrong!",i)})}toggleFullscreen(){const e=this.getHolder();h.select(e).classed("fullscreen")&&(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)?document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen():e.requestFullscreen?e.requestFullscreen():e.webkitRequestFullscreen?e.webkitRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.msRequestFullscreen&&e.msRequestFullscreen()}handleFullscreenChange(){document.addEventListener("fullscreenchange",()=>{const e=h.select(this.getHolder()),t=e.classed("fullscreen");e.classed("fullscreen",!t)})}setSVGMaxHeight(){if(!this.model.getOptions().height){const{height:e}=D.getSVGElementSize(h.select(this.mainContainer),{useBBox:!0}),t=h.select(this.mainContainer).attr("class"),n=h.select(this.mainContainer).selectAll(`.${t} > svg`);let i=0;n.nodes().forEach(function(o){i+=Number(D.getSVGElementSize(h.select(o),{useBBox:!0}).height)}),i<=e?h.select(this.mainContainer).attr("height",i):h.select(this.mainContainer).attr("height","100%")}}getMainContainer(){return this.mainContainer}addHolderListeners(){const e=this.getHolder();e&&h.select(e).on("mouseover",()=>{var t;(t=this.services.events)==null||t.dispatchEvent(a.Events.Chart.MOUSEOVER)}).on("mouseout",()=>{var t;(t=this.services.events)==null||t.dispatchEvent(a.Events.Chart.MOUSEOUT)})}addResizeListener(){const e=this.getHolder();if(!e)return;let t=e.clientWidth,n=e.clientHeight;const i=L(()=>{var r;e&&(Math.abs(t-e.clientWidth)>1||Math.abs(n-e.clientHeight)>1)&&(t=e.clientWidth,n=e.clientHeight,(r=this.services.events)==null||r.dispatchEvent(a.Events.Chart.RESIZE))},12.5);new ResizeObserver(i).observe(e)}}class B extends A{static appendOrUpdateLinearGradient(e){let t=e.svg.select(`defs linearGradient#${e.id}`);t.empty()&&(t=e.svg.append("defs").append("linearGradient").attr("id",e.id).attr("x1",e.x1).attr("x2",e.x2).attr("y1",e.y1).attr("y2",e.y2)),t.selectAll("stop").remove(),t.selectAll("stop").data(e.stops).enter().append("stop").attr("offset",n=>n.offset).style("stop-color",n=>n.color).style("stop-opacity",n=>n.opacity)}static getOffsetRatio(e){return(Math.abs(e[1])*100/Math.abs(e[0]-e[1])).toFixed(2)+"%"}static getStops(e,t){const n=e[0]<0&&e[1]>0;let i=[{offset:"0%",color:t,opacity:"0.6"},{offset:"80%",color:t,opacity:"0"}];return n&&(i=[{offset:"0%",color:t,opacity:"0.6"},{offset:B.getOffsetRatio(e),color:t,opacity:"0"},{offset:"100%",color:t,opacity:"0.6"}]),i}}function Z(s){const e=Q(N(s),360);return E(e,[0,10])||E(e,[350,0])?{textAnchor:a.TextAnchor.START,dominantBaseline:a.DominantBaseline.MIDDLE}:E(e,[10,80])?{textAnchor:a.TextAnchor.START,dominantBaseline:a.DominantBaseline.HANGING}:E(e,[80,100])?{textAnchor:a.TextAnchor.MIDDLE,dominantBaseline:a.DominantBaseline.HANGING}:E(e,[100,170])?{textAnchor:a.TextAnchor.END,dominantBaseline:a.DominantBaseline.HANGING}:E(e,[170,190])?{textAnchor:a.TextAnchor.END,dominantBaseline:a.DominantBaseline.MIDDLE}:E(e,[190,260])?{textAnchor:a.TextAnchor.END,dominantBaseline:a.DominantBaseline.BASELINE}:E(e,[260,280])?{textAnchor:a.TextAnchor.MIDDLE,dominantBaseline:a.DominantBaseline.BASELINE}:{textAnchor:a.TextAnchor.START,dominantBaseline:a.DominantBaseline.BASELINE}}function Q(s,e){return(s%e+e)%e}function E(s,[e,t]){return s>=e&&s<=t}function N(s){return s*(180/Math.PI)}function K(s){return s*(Math.PI/180)}function ee(s,e,t={x:0,y:0}){const n=e*Math.cos(s)+t.x,i=e*Math.sin(s)+t.y;return{x:isNaN(n)?0:n,y:isNaN(i)?0:i}}function te(s,e){return e*Math.sin(s-Math.PI/2)}exports.DOMUtils=D;exports.GradientUtils=B;exports.Service=A;exports.debounce=L;exports.degToRad=K;exports.distanceBetweenPointOnCircAndVerticalDiameter=te;exports.polarToCartesianCoords=ee;exports.radToDeg=N;exports.radialLabelPlacement=Z;exports.toNumber=w;
|
|
2
|
+
//# sourceMappingURL=angle-utils-6f166b40.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angle-utils-6f166b40.js","sources":["../../../node_modules/lodash-es/_trimmedEndIndex.js","../../../node_modules/lodash-es/_baseTrim.js","../../../node_modules/lodash-es/toNumber.js","../../../node_modules/lodash-es/now.js","../../../node_modules/lodash-es/debounce.js","../src/services/service.ts","../src/services/essentials/dom-utils.ts","../src/services/essentials/gradient-utils.ts","../src/services/angle-utils.ts"],"sourcesContent":["/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","import type { ChartModel } from '@/model/model'\nimport type { Services } from '@/interfaces/services'\n\nexport class Service {\n\tprotected model: ChartModel\n\tprotected services: Services\n\n\tconstructor(model: ChartModel, services: Services) {\n\t\tthis.model = model\n\t\tthis.services = services\n\n\t\tthis.init()\n\t}\n\n\tinit() {\n\t\t// do nothing.\n\t}\n\n\tupdate() {\n\t\t// do nothing.\n\t}\n\n\t// Used to pass down information to the components\n\tsetModel(newObj: ChartModel) {\n\t\tthis.model = newObj\n\t}\n\n\t// Used to pass down services to the components\n\tsetServices(newObj: Services) {\n\t\tthis.services = newObj\n\t}\n}\n","import { select, type Selection } from 'd3'\nimport domToImage from 'dom-to-image-more'\nimport { debounce, getProperty } from '@/tools'\nimport { carbonPrefix } from '@/configuration-non-customizable' // CSS prefix\nimport type { ChartModel } from '@/model/model'\nimport { Service } from '@/services/service'\nimport { Events } from '@/interfaces/enums'\n\nconst CSS_VERIFIER_ELEMENT_CLASSNAME = 'DONT_STYLE_ME_css_styles_verifier'\n\n// Functions like validateAndSetDimensions() may return strings or numbers\nexport interface Dimensions {\n height: number\n width: number\n}\n\nexport interface getSVGElementSizeOptions {\n\tuseAttrs?: boolean\n\tuseClientDimensions?: boolean\n\tuseBBox?: boolean\n\tuseBoundingRect?: boolean\n}\n\nexport class DOMUtils extends Service {\n\tprivate chartID = '' // initialized in initializeID() called by init()\n\n\tconstructor(model: ChartModel, services: any) {\n\t\tsuper(model, services)\n\t}\n\n\tstatic getHTMLElementSize(element: HTMLElement) {\n\t\treturn {\n\t\t\twidth: element.clientWidth,\n\t\t\theight: element.clientHeight\n\t\t}\n\t}\n\n\tstatic getSVGElementSize(\n\t\tsvgSelector: Selection<SVGGraphicsElement, any, Element, any>,\n\t\toptions: getSVGElementSizeOptions = {\n\t\t\tuseAttrs: false,\n\t\t\tuseClientDimensions: false,\n\t\t\tuseBBox: false,\n\t\t\tuseBoundingRect: false\n\t\t}\n\t) {\n\t\tif (!svgSelector.attr) {\n\t\t\tsvgSelector = select<SVGGraphicsElement, any>(svgSelector as any) // issue with @types/d3 - select can handle Selection parameters just fine\n\t\t}\n\n\t\tconst finalDimensions = {\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t}\n\n\t\t// Dimensions can be width and height as numbers or strings\n\t\tconst validateAndSetDimensions = (dimensions: any) => {\n\t\t\tif (dimensions) {\n\t\t\t\tObject.keys(finalDimensions).forEach((dimensionKey: 'width' | 'height') => {\n\t\t\t\t\tif (dimensions[dimensionKey]) {\n\t\t\t\t\t\tconst dimension = dimensions[dimensionKey]\n\t\t\t\t\t\tconst dimensionNumber = parseFloat(dimension)\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tdimension &&\n\t\t\t\t\t\t\tdimensionNumber > finalDimensions[dimensionKey] &&\n\t\t\t\t\t\t\t('' + dimension).indexOf('%') === -1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tfinalDimensions[dimensionKey] = dimensionNumber\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tconst attrDimensions = {\n\t\t\twidth: svgSelector.attr('width'),\n\t\t\theight: svgSelector.attr('height')\n\t\t}\n\n\t\tconst svgElement = svgSelector.node()\n\n\t\tlet bbox: DOMRect,\n\t\t\tbboxDimensions: Dimensions,\n\t\t\tboundingRect: DOMRect,\n\t\t\tboundingRectDimensions: Dimensions\n\n\t\ttry {\n\t\t\t// Not all SVG graphics elements have bounding boxes (eg <defs>, <title>, <styles>)\n\t\t\tif (typeof svgElement.getBBox === 'function') {\n\t\t\t\tbbox = svgElement.getBBox()\n\t\t\t\tbboxDimensions = {\n\t\t\t\t\twidth: bbox.width,\n\t\t\t\t\theight: bbox.height\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\n\t\ttry {\n\t\t\t// Not all SVG graphics elements have...\n\t\t\tif (typeof svgElement?.getBoundingClientRect === 'function') {\n\t\t\t\tboundingRect = svgElement.getBoundingClientRect()\n\t\t\t\tboundingRectDimensions = {\n\t\t\t\t\twidth: boundingRect.width,\n\t\t\t\t\theight: boundingRect.height\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t}\n\n\t\t// Not all SVG graphics elements have...\n\t\tlet clientDimensions: Dimensions\n\t\tif (svgElement instanceof SVGSVGElement) {\n\t\t\tclientDimensions = {\n\t\t\t\twidth: svgElement.clientWidth,\n\t\t\t\theight: svgElement.clientHeight\n\t\t\t}\n\t\t}\n\n\t\t// If both attribute values are numbers\n\t\t// And not percentages or NaN\n\t\tif (options) {\n\t\t\tif (options.useAttrs) {\n\t\t\t\tvalidateAndSetDimensions(attrDimensions)\n\n\t\t\t\tif (finalDimensions.width > 0 && finalDimensions.height > 0) {\n\t\t\t\t\treturn finalDimensions\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options.useClientDimensions) {\n\t\t\t\tvalidateAndSetDimensions(clientDimensions)\n\n\t\t\t\tif (finalDimensions.width > 0 && finalDimensions.height > 0) {\n\t\t\t\t\treturn clientDimensions\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options.useBBox) {\n\t\t\t\tvalidateAndSetDimensions(bboxDimensions)\n\n\t\t\t\tif (finalDimensions.width > 0 && finalDimensions.height > 0) {\n\t\t\t\t\treturn bboxDimensions\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options.useBoundingRect) {\n\t\t\t\tvalidateAndSetDimensions(boundingRectDimensions)\n\n\t\t\t\tif (finalDimensions.width > 0 && finalDimensions.height > 0) {\n\t\t\t\t\treturn boundingRectDimensions\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tconst nativeDimensions = {\n\t\t\t\twidth: getProperty(svgSelector.node(), 'width', 'baseVal', 'value'),\n\t\t\t\theight: getProperty(svgSelector.node(), 'height', 'baseVal', 'value')\n\t\t\t}\n\n\t\t\tvalidateAndSetDimensions(nativeDimensions)\n\t\t} catch (e) {\n\t\t\tvalidateAndSetDimensions(clientDimensions)\n\t\t\tvalidateAndSetDimensions(bboxDimensions)\n\t\t\tvalidateAndSetDimensions(attrDimensions)\n\t\t}\n\t\treturn finalDimensions\n\t}\n\n\tstatic appendOrSelect(parent: Selection<SVGElement | HTMLDivElement, any, Element, any>, query: string) {\n\t\tconst selection = parent.select(`${query}`)\n\n\t\tif (selection.empty()) {\n\t\t\t// see if there is an id\n\t\t\tlet querySections = query.split('#')\n\t\t\tlet elementToAppend: any\n\t\t\tlet id: string\n\t\t\t// if there is an id\n\t\t\tif (querySections.length === 2) {\n\t\t\t\t// take out the element to append\n\t\t\t\telementToAppend = querySections[0]\n\t\t\t\t// split it by classes\n\t\t\t\tquerySections = querySections[1].split('.')\n\t\t\t\t// the first string is the id\n\t\t\t\tid = querySections[0]\n\t\t\t} else {\n\t\t\t\tquerySections = query.split('.')\n\t\t\t\telementToAppend = querySections[0]\n\t\t\t}\n\n\t\t\treturn parent\n\t\t\t\t.append(elementToAppend)\n\t\t\t\t.attr('id', id)\n\t\t\t\t.attr('class', querySections.slice(1).join(' '))\n\t\t}\n\n\t\treturn selection\n\t}\n\n\tprotected mainContainer: HTMLDivElement\n\tprotected width: string\n\tprotected height: string\n\n\tinit() {\n\t\t// Add width & height to the chart holder if necessary, and add a classname\n\t\tthis.styleHolderElement()\n\n\t\t// Initialize chart ID\n\t\tthis.initializeID()\n\n\t\tthis.addMainContainer()\n\n\t\tif (this.model.getOptions().resizable) {\n\t\t\tthis.addResizeListener()\n\t\t}\n\n\t\tthis.addHolderListeners()\n\n\t\tthis.handleFullscreenChange()\n\t}\n\n\tgetChartID() {\n\t\treturn this.chartID\n\t}\n\n\tgenerateElementIDString(originalID: string | number) {\n\t\treturn `chart-${this.chartID}-${originalID}`\n\t}\n\n\tprivate initializeID() {\n\t\tthis.chartID = Math.floor((1 + Math.random()) * 0x1000000000000).toString(16)\n\t}\n\n\taddMainContainer() {\n\t\tconst options = this.model.getOptions()\n\t\tconst chartsprefix = getProperty(options, 'style', 'prefix')\n\n\t\tconst mainContainer = select(this.getHolder())\n\t\t\t.append('div')\n\t\t\t.classed(`${carbonPrefix}--${chartsprefix}--chart-wrapper`, true)\n\t\t\t.attr('id', `chart-${this.getChartID()}`)\n\t\t\t.style('height', '100%')\n\t\t\t.style('width', '100%')\n\n\t\tmainContainer.append('g').attr('class', CSS_VERIFIER_ELEMENT_CLASSNAME)\n\n\t\tthis.mainContainer = mainContainer.node()\n\t}\n\n\tupdate() {\n\t\tthis.styleHolderElement()\n\t}\n\n\tstyleHolderElement() {\n\t\tconst holderElement = this.getHolder() as HTMLElement\n\n\t\t// In order for resize events to not clash with these updates\n\t\t// We'll check if the width & height values passed in options\n\t\t// Have changed, before setting them to the holder\n\t\tconst { width, height, theme } = this.model.getOptions()\n\t\tif (width !== this.width) {\n\t\t\t// Apply formatted width attribute to chart\n\t\t\tholderElement.style.width = width\n\n\t\t\tthis.width = width\n\t\t}\n\n\t\tif (height !== this.height) {\n\t\t\t// Apply formatted width attribute to chart\n\t\t\tholderElement.style.height = height\n\n\t\t\tthis.height = height\n\t\t}\n\n\t\t// Add class to chart holder\n\t\tselect(this.getHolder())\n\t\t\t.classed(`${carbonPrefix}--chart-holder`, true)\n\t\t\t.attr('data-carbon-theme', theme)\n\t}\n\n\tgetHolder() {\n\t\treturn this.model.get('holder')\n\t}\n\n\texportToJPG() {\n\t\tconst self = this\n\n\t\tconst holder = this.getHolder()\n\t\tconst holderSelection = select(holder)\n\t\tholderSelection.classed('filled', true)\n\n\t\tdomToImage\n\t\t\t.toJpeg(this.getMainContainer(), {\n\t\t\t\tbgcolor:\n\t\t\t\t\ttypeof window !== 'undefined'\n\t\t\t\t\t\t? window.getComputedStyle(holder).getPropertyValue('background-color')\n\t\t\t\t\t\t: undefined,\n\t\t\t\tquality: 1,\n\t\t\t\t// Remove the toolbar\n\t\t\t\tfilter: (node: any) => {\n\t\t\t\t\tif (node.classList && node.classList.contains('cds--cc--toolbar')) {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then(function (dataUrl: string) {\n\t\t\t\tself.services.files?.downloadImage(dataUrl, 'myChart.jpg')\n\t\t\t\tholderSelection.classed('filled', false)\n\t\t\t})\n\t}\n\n\texportToPNG() {\n\t\tconst self = this\n\n\t\tconst holder = this.getHolder()\n\t\tconst holderSelection = select(holder)\n\t\tholderSelection.classed('filled', true)\n\n\t\tdomToImage\n\t\t\t.toPng(this.getMainContainer(), {\n\t\t\t\tbgcolor:\n\t\t\t\t\ttypeof window !== 'undefined'\n\t\t\t\t\t\t? window.getComputedStyle(holder).getPropertyValue('background-color')\n\t\t\t\t\t\t: undefined,\n\t\t\t\tquality: 1,\n\t\t\t\t// Remove the toolbar\n\t\t\t\tfilter: (node: HTMLElement) => {\n\t\t\t\t\tif (node.classList && node.classList.contains('cds--cc--toolbar')) {\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then(function (dataUrl: string) {\n\t\t\t\tself.services.files?.downloadImage(dataUrl, 'myChart.png')\n\t\t\t\tholderSelection.classed('filled', false)\n\t\t\t})\n\t\t\t.catch(function (error: Error) {\n\t\t\t\tconsole.error('oops, something went wrong!', error)\n\t\t\t})\n\t}\n\n\ttoggleFullscreen() {\n\t\tconst holder = this.getHolder()\n\t\tconst holderSelection = select(holder)\n\n\t\tconst isFullScreen = holderSelection.classed('fullscreen')\n\n\t\tif (\n\t\t\tisFullScreen &&\n\t\t\t(document.fullscreenElement ||\n\t\t\t\tdocument['webkitFullscreenElement'] ||\n\t\t\t\tdocument['mozFullScreenElement'] ||\n\t\t\t\tdocument['msFullscreenElement'])\n\t\t) {\n\t\t\t// Call the correct function depending on the browser\n\t\t\tif (document.exitFullscreen) {\n\t\t\t\tdocument.exitFullscreen()\n\t\t\t} else if (document['webkitExitFullscreen']) {\n\t\t\t\tdocument['webkitExitFullscreen']()\n\t\t\t} else if (document['mozCancelFullScreen']) {\n\t\t\t\tdocument['mozCancelFullScreen']()\n\t\t\t} else if (document['msExitFullscreen']) {\n\t\t\t\tdocument['msExitFullscreen']()\n\t\t\t}\n\t\t} else {\n\t\t\t// Call the correct function depending on the browser\n\t\t\tif (holder.requestFullscreen) {\n\t\t\t\tholder.requestFullscreen()\n\t\t\t} else if (holder.webkitRequestFullscreen) {\n\t\t\t\tholder.webkitRequestFullscreen()\n\t\t\t} else if (holder.mozRequestFullScreen) {\n\t\t\t\tholder.mozRequestFullScreen()\n\t\t\t} else if (holder.msRequestFullscreen) {\n\t\t\t\tholder.msRequestFullscreen()\n\t\t\t}\n\t\t}\n\t}\n\n\thandleFullscreenChange() {\n\t\tdocument.addEventListener('fullscreenchange', () => {\n\t\t\tconst holderSelection = select(this.getHolder())\n\t\t\tconst isFullScreen = holderSelection.classed('fullscreen')\n\n\t\t\t// Toggle the `fullscreen` classname\n\t\t\tholderSelection.classed('fullscreen', !isFullScreen)\n\t\t})\n\t}\n\n\tsetSVGMaxHeight() {\n\t\t// if there is a set height on the holder, leave the chart svg height at 100%\n\t\tif (!this.model.getOptions().height) {\n\t\t\tconst { height: chartHeight } = DOMUtils.getSVGElementSize(\n\t\t\t\tselect(this.mainContainer) as any,\n\t\t\t\t{\n\t\t\t\t\tuseBBox: true\n\t\t\t\t}\n\t\t\t)\n\t\t\tconst chartSVGSelector = select(this.mainContainer).attr('class')\n\t\t\tconst children = select(this.mainContainer).selectAll(`.${chartSVGSelector} > svg`)\n\n\t\t\t// get the height of the children SVGs (spacers, titles, etc)\n\t\t\tlet childrenHeight = 0\n\t\t\tchildren.nodes().forEach(function (childSVG) {\n\t\t\t\tchildrenHeight += Number(\n\t\t\t\t\tDOMUtils.getSVGElementSize(select<SVGGraphicsElement, any>(childSVG as any), {\n\t\t\t\t\t\tuseBBox: true\n\t\t\t\t\t}).height\n\t\t\t\t)\n\t\t\t})\n\n\t\t\t// set the chart svg height to the children height\n\t\t\t// forcing the chart not to take up any more space than it requires\n\t\t\tchildrenHeight <= chartHeight\n\t\t\t\t? select(this.mainContainer).attr('height', childrenHeight)\n\t\t\t\t: select(this.mainContainer).attr('height', '100%')\n\t\t}\n\t}\n\n\tgetMainContainer() {\n\t\treturn this.mainContainer\n\t}\n\n\taddHolderListeners() {\n\t\tconst holder = this.getHolder()\n\n\t\tif (!holder) {\n\t\t\treturn\n\t\t}\n\n\t\tselect(holder)\n\t\t\t.on('mouseover', () => {\n\t\t\t\t// Dispatch event\n\t\t\t\tthis.services.events?.dispatchEvent(Events.Chart.MOUSEOVER)\n\t\t\t})\n\t\t\t.on('mouseout', () => {\n\t\t\t\t// Dispatch event\n\t\t\t\tthis.services.events?.dispatchEvent(Events.Chart.MOUSEOUT)\n\t\t\t})\n\t}\n\n\taddResizeListener() {\n\t\tconst holder = this.getHolder()\n\n\t\tif (!holder) {\n\t\t\treturn\n\t\t}\n\n\t\t// Grab current dimensions of the chart holder\n\t\tlet containerWidth = holder.clientWidth\n\t\tlet containerHeight = holder.clientHeight\n\n\t\t// The resize callback function\n\t\tconst resizeCallback = debounce(() => {\n\t\t\tif (!holder) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tMath.abs(containerWidth - holder.clientWidth) > 1 ||\n\t\t\t\tMath.abs(containerHeight - holder.clientHeight) > 1\n\t\t\t) {\n\t\t\t\tcontainerWidth = holder.clientWidth\n\t\t\t\tcontainerHeight = holder.clientHeight\n\n\t\t\t\tthis.services.events?.dispatchEvent(Events.Chart.RESIZE)\n\t\t\t}\n\t\t}, 12.5)\n\n\t\t// Observe the behaviour of resizing on the holder\n\t\tconst resizeObserver = new ResizeObserver(resizeCallback)\n\t\tresizeObserver.observe(holder)\n\t}\n}\n","import { Service } from '@/services/service'\n\nexport class GradientUtils extends Service {\n\tstatic appendOrUpdateLinearGradient(configs: any) {\n\t\tlet lg = configs.svg.select(`defs linearGradient#${configs.id}`)\n\t\tif (lg.empty()) {\n\t\t\tlg = configs.svg\n\t\t\t\t.append('defs')\n\t\t\t\t.append('linearGradient')\n\t\t\t\t.attr('id', configs.id)\n\t\t\t\t.attr('x1', configs.x1)\n\t\t\t\t.attr('x2', configs.x2)\n\t\t\t\t.attr('y1', configs.y1)\n\t\t\t\t.attr('y2', configs.y2)\n\t\t}\n\n\t\tlg.selectAll('stop').remove()\n\t\tlg.selectAll('stop')\n\t\t\t.data(configs.stops)\n\t\t\t.enter()\n\t\t\t.append('stop')\n\t\t\t.attr('offset', (d: any) => d.offset)\n\t\t\t.style('stop-color', (d: any) => d.color)\n\t\t\t.style('stop-opacity', (d: any) => d.opacity)\n\t}\n\n\tstatic getOffsetRatio(domain: any) {\n\t\tconst offsetRatio =\n\t\t\t((Math.abs(domain[1]) * 100) / Math.abs(domain[0] - domain[1])).toFixed(2) + '%'\n\t\treturn offsetRatio\n\t}\n\n\tstatic getStops(domain: any, color: string) {\n\t\tconst need3Stops = domain[0] < 0 && domain[1] > 0\n\t\tlet stops: object[] = [\n\t\t\t{\n\t\t\t\toffset: '0%',\n\t\t\t\tcolor: color,\n\t\t\t\topacity: '0.6'\n\t\t\t},\n\t\t\t{\n\t\t\t\toffset: '80%',\n\t\t\t\tcolor: color,\n\t\t\t\topacity: '0'\n\t\t\t}\n\t\t]\n\n\t\tif (need3Stops) {\n\t\t\tstops = [\n\t\t\t\t{\n\t\t\t\t\toffset: '0%',\n\t\t\t\t\tcolor: color,\n\t\t\t\t\topacity: '0.6'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toffset: GradientUtils.getOffsetRatio(domain),\n\t\t\t\t\tcolor: color,\n\t\t\t\t\topacity: '0'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toffset: '100%',\n\t\t\t\t\tcolor: color,\n\t\t\t\t\topacity: '0.6'\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t\treturn stops\n\t}\n}\n","import { TextAnchor, DominantBaseline } from '@/interfaces/enums'\n\nexport interface Point {\n\tx: number\n\ty: number\n}\n\nexport type Angle = number\n\nexport interface LabelAlignment {\n\ttextAnchor: TextAnchor\n\tdominantBaseline: DominantBaseline\n}\n\nexport function radialLabelPlacement(angleRadians: Angle): LabelAlignment {\n\tconst angle = mod(radToDeg(angleRadians), 360)\n\n\tif (isInRange(angle, [0, 10]) || isInRange(angle, [350, 0])) {\n\t\treturn {\n\t\t\ttextAnchor: TextAnchor.START,\n\t\t\tdominantBaseline: DominantBaseline.MIDDLE\n\t\t}\n\t} else if (isInRange(angle, [10, 80])) {\n\t\treturn {\n\t\t\ttextAnchor: TextAnchor.START,\n\t\t\tdominantBaseline: DominantBaseline.HANGING\n\t\t}\n\t} else if (isInRange(angle, [80, 100])) {\n\t\treturn {\n\t\t\ttextAnchor: TextAnchor.MIDDLE,\n\t\t\tdominantBaseline: DominantBaseline.HANGING\n\t\t}\n\t} else if (isInRange(angle, [100, 170])) {\n\t\treturn {\n\t\t\ttextAnchor: TextAnchor.END,\n\t\t\tdominantBaseline: DominantBaseline.HANGING\n\t\t}\n\t} else if (isInRange(angle, [170, 190])) {\n\t\treturn {\n\t\t\ttextAnchor: TextAnchor.END,\n\t\t\tdominantBaseline: DominantBaseline.MIDDLE\n\t\t}\n\t} else if (isInRange(angle, [190, 260])) {\n\t\treturn {\n\t\t\ttextAnchor: TextAnchor.END,\n\t\t\tdominantBaseline: DominantBaseline.BASELINE\n\t\t}\n\t} else if (isInRange(angle, [260, 280])) {\n\t\treturn {\n\t\t\ttextAnchor: TextAnchor.MIDDLE,\n\t\t\tdominantBaseline: DominantBaseline.BASELINE\n\t\t}\n\t} else {\n\t\t// 280 - 350\n\t\treturn {\n\t\t\ttextAnchor: TextAnchor.START,\n\t\t\tdominantBaseline: DominantBaseline.BASELINE\n\t\t}\n\t}\n}\n\nfunction mod(n: number, m: number) {\n\treturn ((n % m) + m) % m\n}\n\nfunction isInRange(x: number, [min, max]: [number, number]) {\n\treturn x >= min && x <= max\n}\n\nexport function radToDeg(rad: Angle): Angle {\n\treturn rad * (180 / Math.PI)\n}\n\nexport function degToRad(deg: Angle): Angle {\n\treturn deg * (Math.PI / 180)\n}\n\nexport function polarToCartesianCoords(a: Angle, r: number, t: Point = { x: 0, y: 0 }): Point {\n\tconst x = r * Math.cos(a) + t.x\n\tconst y = r * Math.sin(a) + t.y\n\n\t// NaN is rendered at coordinate 0 in browsers\n\t// By setting it to 0, further operations can be performed\n\treturn { x: isNaN(x) ? 0 : x, y: isNaN(y) ? 0 : y }\n}\n\n// Return the distance between a point (described with polar coordinates)\n// on a circumference and the vertical diameter.\n// If the point is on the left if the diameter, its distance is positive,\n// if it is on the right of the diameter, its distance is negative.\nexport function distanceBetweenPointOnCircAndVerticalDiameter(a: Angle, r: number) {\n\treturn r * Math.sin(a - Math.PI / 2)\n}\n"],"names":["reWhitespace","trimmedEndIndex","string","index","reTrimStart","baseTrim","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","value","isSymbol","isObject","other","isBinary","now","root","now$1","FUNC_ERROR_TEXT","nativeMax","nativeMin","debounce","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","Service","model","services","newObj","CSS_VERIFIER_ELEMENT_CLASSNAME","DOMUtils","element","svgSelector","select","finalDimensions","validateAndSetDimensions","dimensions","dimensionKey","dimension","dimensionNumber","attrDimensions","svgElement","bbox","bboxDimensions","boundingRect","boundingRectDimensions","e","clientDimensions","nativeDimensions","getProperty","parent","query","selection","querySections","elementToAppend","id","originalID","chartsprefix","mainContainer","carbonPrefix","holderElement","width","height","theme","self","holder","holderSelection","domToImage","node","dataUrl","_a","error","isFullScreen","chartHeight","chartSVGSelector","children","childrenHeight","childSVG","Events","containerWidth","containerHeight","resizeCallback","GradientUtils","configs","lg","d","domain","color","need3Stops","stops","radialLabelPlacement","angleRadians","angle","mod","radToDeg","isInRange","TextAnchor","DominantBaseline","n","m","x","min","max","rad","degToRad","deg","polarToCartesianCoords","a","r","y","distanceBetweenPointOnCircAndVerticalDiameter"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
import { select as d } from "d3";
|
|
2
|
+
import { a as P, c as A, r as $, g as v, d as H, e as L } from "./color-scale-utils-5eb3eeaa.mjs";
|
|
3
|
+
import { _ as D, T as p, o as E } from "./enums-a96ef472.mjs";
|
|
4
|
+
var W = /\s/;
|
|
5
|
+
function q(s) {
|
|
6
|
+
for (var e = s.length; e-- && W.test(s.charAt(e)); )
|
|
7
|
+
;
|
|
8
|
+
return e;
|
|
9
|
+
}
|
|
10
|
+
var _ = /^\s+/;
|
|
11
|
+
function j(s) {
|
|
12
|
+
return s && s.slice(0, q(s) + 1).replace(_, "");
|
|
13
|
+
}
|
|
14
|
+
var N = 0 / 0, U = /^[-+]0x[0-9a-f]+$/i, J = /^0b[01]+$/i, X = /^0o[0-7]+$/i, Y = parseInt;
|
|
15
|
+
function O(s) {
|
|
16
|
+
if (typeof s == "number")
|
|
17
|
+
return s;
|
|
18
|
+
if (P(s))
|
|
19
|
+
return N;
|
|
20
|
+
if (A(s)) {
|
|
21
|
+
var e = typeof s.valueOf == "function" ? s.valueOf() : s;
|
|
22
|
+
s = A(e) ? e + "" : e;
|
|
23
|
+
}
|
|
24
|
+
if (typeof s != "string")
|
|
25
|
+
return s === 0 ? s : +s;
|
|
26
|
+
s = j(s);
|
|
27
|
+
var t = J.test(s);
|
|
28
|
+
return t || X.test(s) ? Y(s.slice(2), t ? 2 : 8) : U.test(s) ? N : +s;
|
|
29
|
+
}
|
|
30
|
+
var Z = function() {
|
|
31
|
+
return $.Date.now();
|
|
32
|
+
};
|
|
33
|
+
const T = Z;
|
|
34
|
+
var Q = "Expected a function", K = Math.max, ee = Math.min;
|
|
35
|
+
function te(s, e, t) {
|
|
36
|
+
var n, i, a, r, l, h, f = 0, y = !1, u = !1, c = !0;
|
|
37
|
+
if (typeof s != "function")
|
|
38
|
+
throw new TypeError(Q);
|
|
39
|
+
e = O(e) || 0, A(t) && (y = !!t.leading, u = "maxWait" in t, a = u ? K(O(t.maxWait) || 0, e) : a, c = "trailing" in t ? !!t.trailing : c);
|
|
40
|
+
function m(o) {
|
|
41
|
+
var g = n, b = i;
|
|
42
|
+
return n = i = void 0, f = o, r = s.apply(b, g), r;
|
|
43
|
+
}
|
|
44
|
+
function S(o) {
|
|
45
|
+
return f = o, l = setTimeout(C, e), y ? m(o) : r;
|
|
46
|
+
}
|
|
47
|
+
function I(o) {
|
|
48
|
+
var g = o - h, b = o - f, F = e - g;
|
|
49
|
+
return u ? ee(F, a - b) : F;
|
|
50
|
+
}
|
|
51
|
+
function M(o) {
|
|
52
|
+
var g = o - h, b = o - f;
|
|
53
|
+
return h === void 0 || g >= e || g < 0 || u && b >= a;
|
|
54
|
+
}
|
|
55
|
+
function C() {
|
|
56
|
+
var o = T();
|
|
57
|
+
if (M(o))
|
|
58
|
+
return R(o);
|
|
59
|
+
l = setTimeout(C, I(o));
|
|
60
|
+
}
|
|
61
|
+
function R(o) {
|
|
62
|
+
return l = void 0, c && n ? m(o) : (n = i = void 0, r);
|
|
63
|
+
}
|
|
64
|
+
function k() {
|
|
65
|
+
l !== void 0 && clearTimeout(l), f = 0, n = h = i = l = void 0;
|
|
66
|
+
}
|
|
67
|
+
function V() {
|
|
68
|
+
return l === void 0 ? r : R(T());
|
|
69
|
+
}
|
|
70
|
+
function w() {
|
|
71
|
+
var o = T(), g = M(o);
|
|
72
|
+
if (n = arguments, i = this, h = o, g) {
|
|
73
|
+
if (l === void 0)
|
|
74
|
+
return S(h);
|
|
75
|
+
if (u)
|
|
76
|
+
return clearTimeout(l), l = setTimeout(C, e), m(h);
|
|
77
|
+
}
|
|
78
|
+
return l === void 0 && (l = setTimeout(C, e)), r;
|
|
79
|
+
}
|
|
80
|
+
return w.cancel = k, w.flush = V, w;
|
|
81
|
+
}
|
|
82
|
+
class G {
|
|
83
|
+
constructor(e, t) {
|
|
84
|
+
this.model = e, this.services = t, this.init();
|
|
85
|
+
}
|
|
86
|
+
init() {
|
|
87
|
+
}
|
|
88
|
+
update() {
|
|
89
|
+
}
|
|
90
|
+
// Used to pass down information to the components
|
|
91
|
+
setModel(e) {
|
|
92
|
+
this.model = e;
|
|
93
|
+
}
|
|
94
|
+
// Used to pass down services to the components
|
|
95
|
+
setServices(e) {
|
|
96
|
+
this.services = e;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const ne = "DONT_STYLE_ME_css_styles_verifier";
|
|
100
|
+
class B extends G {
|
|
101
|
+
// initialized in initializeID() called by init()
|
|
102
|
+
constructor(e, t) {
|
|
103
|
+
super(e, t), this.chartID = "";
|
|
104
|
+
}
|
|
105
|
+
static getHTMLElementSize(e) {
|
|
106
|
+
return {
|
|
107
|
+
width: e.clientWidth,
|
|
108
|
+
height: e.clientHeight
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
static getSVGElementSize(e, t = {
|
|
112
|
+
useAttrs: !1,
|
|
113
|
+
useClientDimensions: !1,
|
|
114
|
+
useBBox: !1,
|
|
115
|
+
useBoundingRect: !1
|
|
116
|
+
}) {
|
|
117
|
+
e.attr || (e = d(e));
|
|
118
|
+
const n = {
|
|
119
|
+
width: 0,
|
|
120
|
+
height: 0
|
|
121
|
+
}, i = (c) => {
|
|
122
|
+
c && Object.keys(n).forEach((m) => {
|
|
123
|
+
if (c[m]) {
|
|
124
|
+
const S = c[m], I = parseFloat(S);
|
|
125
|
+
S && I > n[m] && ("" + S).indexOf("%") === -1 && (n[m] = I);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}, a = {
|
|
129
|
+
width: e.attr("width"),
|
|
130
|
+
height: e.attr("height")
|
|
131
|
+
}, r = e.node();
|
|
132
|
+
let l, h, f, y;
|
|
133
|
+
try {
|
|
134
|
+
typeof r.getBBox == "function" && (l = r.getBBox(), h = {
|
|
135
|
+
width: l.width,
|
|
136
|
+
height: l.height
|
|
137
|
+
});
|
|
138
|
+
} catch (c) {
|
|
139
|
+
console.error(c);
|
|
140
|
+
}
|
|
141
|
+
try {
|
|
142
|
+
typeof (r == null ? void 0 : r.getBoundingClientRect) == "function" && (f = r.getBoundingClientRect(), y = {
|
|
143
|
+
width: f.width,
|
|
144
|
+
height: f.height
|
|
145
|
+
});
|
|
146
|
+
} catch (c) {
|
|
147
|
+
console.error(c);
|
|
148
|
+
}
|
|
149
|
+
let u;
|
|
150
|
+
if (r instanceof SVGSVGElement && (u = {
|
|
151
|
+
width: r.clientWidth,
|
|
152
|
+
height: r.clientHeight
|
|
153
|
+
}), t) {
|
|
154
|
+
if (t.useAttrs && (i(a), n.width > 0 && n.height > 0))
|
|
155
|
+
return n;
|
|
156
|
+
if (t.useClientDimensions && (i(u), n.width > 0 && n.height > 0))
|
|
157
|
+
return u;
|
|
158
|
+
if (t.useBBox && (i(h), n.width > 0 && n.height > 0))
|
|
159
|
+
return h;
|
|
160
|
+
if (t.useBoundingRect && (i(y), n.width > 0 && n.height > 0))
|
|
161
|
+
return y;
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
const c = {
|
|
165
|
+
width: v(e.node(), "width", "baseVal", "value"),
|
|
166
|
+
height: v(e.node(), "height", "baseVal", "value")
|
|
167
|
+
};
|
|
168
|
+
i(c);
|
|
169
|
+
} catch {
|
|
170
|
+
i(u), i(h), i(a);
|
|
171
|
+
}
|
|
172
|
+
return n;
|
|
173
|
+
}
|
|
174
|
+
static appendOrSelect(e, t) {
|
|
175
|
+
const n = e.select(`${t}`);
|
|
176
|
+
if (n.empty()) {
|
|
177
|
+
let i = t.split("#"), a, r;
|
|
178
|
+
return i.length === 2 ? (a = i[0], i = i[1].split("."), r = i[0]) : (i = t.split("."), a = i[0]), e.append(a).attr("id", r).attr("class", i.slice(1).join(" "));
|
|
179
|
+
}
|
|
180
|
+
return n;
|
|
181
|
+
}
|
|
182
|
+
init() {
|
|
183
|
+
this.styleHolderElement(), this.initializeID(), this.addMainContainer(), this.model.getOptions().resizable && this.addResizeListener(), this.addHolderListeners(), this.handleFullscreenChange();
|
|
184
|
+
}
|
|
185
|
+
getChartID() {
|
|
186
|
+
return this.chartID;
|
|
187
|
+
}
|
|
188
|
+
generateElementIDString(e) {
|
|
189
|
+
return `chart-${this.chartID}-${e}`;
|
|
190
|
+
}
|
|
191
|
+
initializeID() {
|
|
192
|
+
this.chartID = Math.floor((1 + Math.random()) * 281474976710656).toString(16);
|
|
193
|
+
}
|
|
194
|
+
addMainContainer() {
|
|
195
|
+
const e = this.model.getOptions(), t = v(e, "style", "prefix"), n = d(this.getHolder()).append("div").classed(`${H}--${t}--chart-wrapper`, !0).attr("id", `chart-${this.getChartID()}`).style("height", "100%").style("width", "100%");
|
|
196
|
+
n.append("g").attr("class", ne), this.mainContainer = n.node();
|
|
197
|
+
}
|
|
198
|
+
update() {
|
|
199
|
+
this.styleHolderElement();
|
|
200
|
+
}
|
|
201
|
+
styleHolderElement() {
|
|
202
|
+
const e = this.getHolder(), { width: t, height: n, theme: i } = this.model.getOptions();
|
|
203
|
+
t !== this.width && (e.style.width = t, this.width = t), n !== this.height && (e.style.height = n, this.height = n), d(this.getHolder()).classed(`${H}--chart-holder`, !0).attr("data-carbon-theme", i);
|
|
204
|
+
}
|
|
205
|
+
getHolder() {
|
|
206
|
+
return this.model.get("holder");
|
|
207
|
+
}
|
|
208
|
+
exportToJPG() {
|
|
209
|
+
const e = this, t = this.getHolder(), n = d(t);
|
|
210
|
+
n.classed("filled", !0), L.toJpeg(this.getMainContainer(), {
|
|
211
|
+
bgcolor: typeof window < "u" ? window.getComputedStyle(t).getPropertyValue("background-color") : void 0,
|
|
212
|
+
quality: 1,
|
|
213
|
+
// Remove the toolbar
|
|
214
|
+
filter: (i) => !(i.classList && i.classList.contains("cds--cc--toolbar"))
|
|
215
|
+
}).then(function(i) {
|
|
216
|
+
var a;
|
|
217
|
+
(a = e.services.files) == null || a.downloadImage(i, "myChart.jpg"), n.classed("filled", !1);
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
exportToPNG() {
|
|
221
|
+
const e = this, t = this.getHolder(), n = d(t);
|
|
222
|
+
n.classed("filled", !0), L.toPng(this.getMainContainer(), {
|
|
223
|
+
bgcolor: typeof window < "u" ? window.getComputedStyle(t).getPropertyValue("background-color") : void 0,
|
|
224
|
+
quality: 1,
|
|
225
|
+
// Remove the toolbar
|
|
226
|
+
filter: (i) => !(i.classList && i.classList.contains("cds--cc--toolbar"))
|
|
227
|
+
}).then(function(i) {
|
|
228
|
+
var a;
|
|
229
|
+
(a = e.services.files) == null || a.downloadImage(i, "myChart.png"), n.classed("filled", !1);
|
|
230
|
+
}).catch(function(i) {
|
|
231
|
+
console.error("oops, something went wrong!", i);
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
toggleFullscreen() {
|
|
235
|
+
const e = this.getHolder();
|
|
236
|
+
d(e).classed("fullscreen") && (document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement) ? document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen ? document.webkitExitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.msExitFullscreen && document.msExitFullscreen() : e.requestFullscreen ? e.requestFullscreen() : e.webkitRequestFullscreen ? e.webkitRequestFullscreen() : e.mozRequestFullScreen ? e.mozRequestFullScreen() : e.msRequestFullscreen && e.msRequestFullscreen();
|
|
237
|
+
}
|
|
238
|
+
handleFullscreenChange() {
|
|
239
|
+
document.addEventListener("fullscreenchange", () => {
|
|
240
|
+
const e = d(this.getHolder()), t = e.classed("fullscreen");
|
|
241
|
+
e.classed("fullscreen", !t);
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
setSVGMaxHeight() {
|
|
245
|
+
if (!this.model.getOptions().height) {
|
|
246
|
+
const { height: e } = B.getSVGElementSize(
|
|
247
|
+
d(this.mainContainer),
|
|
248
|
+
{
|
|
249
|
+
useBBox: !0
|
|
250
|
+
}
|
|
251
|
+
), t = d(this.mainContainer).attr("class"), n = d(this.mainContainer).selectAll(`.${t} > svg`);
|
|
252
|
+
let i = 0;
|
|
253
|
+
n.nodes().forEach(function(a) {
|
|
254
|
+
i += Number(
|
|
255
|
+
B.getSVGElementSize(d(a), {
|
|
256
|
+
useBBox: !0
|
|
257
|
+
}).height
|
|
258
|
+
);
|
|
259
|
+
}), i <= e ? d(this.mainContainer).attr("height", i) : d(this.mainContainer).attr("height", "100%");
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
getMainContainer() {
|
|
263
|
+
return this.mainContainer;
|
|
264
|
+
}
|
|
265
|
+
addHolderListeners() {
|
|
266
|
+
const e = this.getHolder();
|
|
267
|
+
e && d(e).on("mouseover", () => {
|
|
268
|
+
var t;
|
|
269
|
+
(t = this.services.events) == null || t.dispatchEvent(D.Chart.MOUSEOVER);
|
|
270
|
+
}).on("mouseout", () => {
|
|
271
|
+
var t;
|
|
272
|
+
(t = this.services.events) == null || t.dispatchEvent(D.Chart.MOUSEOUT);
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
addResizeListener() {
|
|
276
|
+
const e = this.getHolder();
|
|
277
|
+
if (!e)
|
|
278
|
+
return;
|
|
279
|
+
let t = e.clientWidth, n = e.clientHeight;
|
|
280
|
+
const i = te(() => {
|
|
281
|
+
var r;
|
|
282
|
+
e && (Math.abs(t - e.clientWidth) > 1 || Math.abs(n - e.clientHeight) > 1) && (t = e.clientWidth, n = e.clientHeight, (r = this.services.events) == null || r.dispatchEvent(D.Chart.RESIZE));
|
|
283
|
+
}, 12.5);
|
|
284
|
+
new ResizeObserver(i).observe(e);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
class z extends G {
|
|
288
|
+
static appendOrUpdateLinearGradient(e) {
|
|
289
|
+
let t = e.svg.select(`defs linearGradient#${e.id}`);
|
|
290
|
+
t.empty() && (t = e.svg.append("defs").append("linearGradient").attr("id", e.id).attr("x1", e.x1).attr("x2", e.x2).attr("y1", e.y1).attr("y2", e.y2)), t.selectAll("stop").remove(), t.selectAll("stop").data(e.stops).enter().append("stop").attr("offset", (n) => n.offset).style("stop-color", (n) => n.color).style("stop-opacity", (n) => n.opacity);
|
|
291
|
+
}
|
|
292
|
+
static getOffsetRatio(e) {
|
|
293
|
+
return (Math.abs(e[1]) * 100 / Math.abs(e[0] - e[1])).toFixed(2) + "%";
|
|
294
|
+
}
|
|
295
|
+
static getStops(e, t) {
|
|
296
|
+
const n = e[0] < 0 && e[1] > 0;
|
|
297
|
+
let i = [
|
|
298
|
+
{
|
|
299
|
+
offset: "0%",
|
|
300
|
+
color: t,
|
|
301
|
+
opacity: "0.6"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
offset: "80%",
|
|
305
|
+
color: t,
|
|
306
|
+
opacity: "0"
|
|
307
|
+
}
|
|
308
|
+
];
|
|
309
|
+
return n && (i = [
|
|
310
|
+
{
|
|
311
|
+
offset: "0%",
|
|
312
|
+
color: t,
|
|
313
|
+
opacity: "0.6"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
offset: z.getOffsetRatio(e),
|
|
317
|
+
color: t,
|
|
318
|
+
opacity: "0"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
offset: "100%",
|
|
322
|
+
color: t,
|
|
323
|
+
opacity: "0.6"
|
|
324
|
+
}
|
|
325
|
+
]), i;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
function le(s) {
|
|
329
|
+
const e = ie(se(s), 360);
|
|
330
|
+
return x(e, [0, 10]) || x(e, [350, 0]) ? {
|
|
331
|
+
textAnchor: p.START,
|
|
332
|
+
dominantBaseline: E.MIDDLE
|
|
333
|
+
} : x(e, [10, 80]) ? {
|
|
334
|
+
textAnchor: p.START,
|
|
335
|
+
dominantBaseline: E.HANGING
|
|
336
|
+
} : x(e, [80, 100]) ? {
|
|
337
|
+
textAnchor: p.MIDDLE,
|
|
338
|
+
dominantBaseline: E.HANGING
|
|
339
|
+
} : x(e, [100, 170]) ? {
|
|
340
|
+
textAnchor: p.END,
|
|
341
|
+
dominantBaseline: E.HANGING
|
|
342
|
+
} : x(e, [170, 190]) ? {
|
|
343
|
+
textAnchor: p.END,
|
|
344
|
+
dominantBaseline: E.MIDDLE
|
|
345
|
+
} : x(e, [190, 260]) ? {
|
|
346
|
+
textAnchor: p.END,
|
|
347
|
+
dominantBaseline: E.BASELINE
|
|
348
|
+
} : x(e, [260, 280]) ? {
|
|
349
|
+
textAnchor: p.MIDDLE,
|
|
350
|
+
dominantBaseline: E.BASELINE
|
|
351
|
+
} : {
|
|
352
|
+
textAnchor: p.START,
|
|
353
|
+
dominantBaseline: E.BASELINE
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
function ie(s, e) {
|
|
357
|
+
return (s % e + e) % e;
|
|
358
|
+
}
|
|
359
|
+
function x(s, [e, t]) {
|
|
360
|
+
return s >= e && s <= t;
|
|
361
|
+
}
|
|
362
|
+
function se(s) {
|
|
363
|
+
return s * (180 / Math.PI);
|
|
364
|
+
}
|
|
365
|
+
function ce(s) {
|
|
366
|
+
return s * (Math.PI / 180);
|
|
367
|
+
}
|
|
368
|
+
function de(s, e, t = { x: 0, y: 0 }) {
|
|
369
|
+
const n = e * Math.cos(s) + t.x, i = e * Math.sin(s) + t.y;
|
|
370
|
+
return { x: isNaN(n) ? 0 : n, y: isNaN(i) ? 0 : i };
|
|
371
|
+
}
|
|
372
|
+
function he(s, e) {
|
|
373
|
+
return e * Math.sin(s - Math.PI / 2);
|
|
374
|
+
}
|
|
375
|
+
export {
|
|
376
|
+
B as D,
|
|
377
|
+
z as G,
|
|
378
|
+
G as S,
|
|
379
|
+
he as a,
|
|
380
|
+
se as b,
|
|
381
|
+
te as c,
|
|
382
|
+
ce as d,
|
|
383
|
+
de as p,
|
|
384
|
+
le as r,
|
|
385
|
+
O as t
|
|
386
|
+
};
|
|
387
|
+
//# sourceMappingURL=angle-utils-8b6ce998.mjs.map
|