@semcore/d3-chart 3.26.0 → 3.26.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.
Files changed (73) hide show
  1. package/CHANGELOG.md +9 -2
  2. package/lib/cjs/Area.js +11 -11
  3. package/lib/cjs/Axis.js +14 -14
  4. package/lib/cjs/Bar.js +10 -10
  5. package/lib/cjs/Bubble.js +52 -47
  6. package/lib/cjs/Bubble.js.map +1 -1
  7. package/lib/cjs/Donut.js +9 -9
  8. package/lib/cjs/Dots.js +8 -8
  9. package/lib/cjs/HorizontalBar.js +10 -10
  10. package/lib/cjs/Hover.js +3 -3
  11. package/lib/cjs/Line.js +9 -9
  12. package/lib/cjs/Plot.js +3 -3
  13. package/lib/cjs/Radar.js +19 -19
  14. package/lib/cjs/RadialTree.js +11 -11
  15. package/lib/cjs/ReferenceLine.js +9 -9
  16. package/lib/cjs/ScatterPlot.js +10 -10
  17. package/lib/cjs/ScatterPlot.js.map +1 -1
  18. package/lib/cjs/Tooltip.js +9 -9
  19. package/lib/cjs/Venn.js +9 -9
  20. package/lib/cjs/a11y/PlotA11yModule.js +2 -2
  21. package/lib/cjs/a11y/PlotA11yView.js +2 -2
  22. package/lib/cjs/component/Chart/AbstractChart.js +11 -0
  23. package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
  24. package/lib/cjs/component/Chart/BubbleChart.js +50 -16
  25. package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
  26. package/lib/cjs/component/Chart/BubbleChart.type.js.map +1 -1
  27. package/lib/cjs/component/Chart/ScatterPlotChart.js +15 -7
  28. package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
  29. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  30. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  31. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  32. package/lib/cjs/index.js +12 -0
  33. package/lib/cjs/index.js.map +1 -1
  34. package/lib/cjs/utils.js +13 -1
  35. package/lib/cjs/utils.js.map +1 -1
  36. package/lib/es6/Area.js +11 -11
  37. package/lib/es6/Axis.js +14 -14
  38. package/lib/es6/Bar.js +10 -10
  39. package/lib/es6/Bubble.js +53 -48
  40. package/lib/es6/Bubble.js.map +1 -1
  41. package/lib/es6/Donut.js +9 -9
  42. package/lib/es6/Dots.js +8 -8
  43. package/lib/es6/HorizontalBar.js +10 -10
  44. package/lib/es6/Hover.js +3 -3
  45. package/lib/es6/Line.js +9 -9
  46. package/lib/es6/Plot.js +3 -3
  47. package/lib/es6/Radar.js +19 -19
  48. package/lib/es6/RadialTree.js +11 -11
  49. package/lib/es6/ReferenceLine.js +9 -9
  50. package/lib/es6/ScatterPlot.js +11 -11
  51. package/lib/es6/ScatterPlot.js.map +1 -1
  52. package/lib/es6/Tooltip.js +9 -9
  53. package/lib/es6/Venn.js +9 -9
  54. package/lib/es6/a11y/PlotA11yModule.js +2 -2
  55. package/lib/es6/a11y/PlotA11yView.js +2 -2
  56. package/lib/es6/component/Chart/AbstractChart.js +11 -0
  57. package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
  58. package/lib/es6/component/Chart/BubbleChart.js +51 -17
  59. package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
  60. package/lib/es6/component/Chart/BubbleChart.type.js.map +1 -1
  61. package/lib/es6/component/Chart/ScatterPlotChart.js +16 -8
  62. package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
  63. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  64. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  65. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  66. package/lib/es6/index.js +1 -1
  67. package/lib/es6/index.js.map +1 -1
  68. package/lib/es6/utils.js +11 -1
  69. package/lib/es6/utils.js.map +1 -1
  70. package/lib/types/component/Chart/AbstractChart.d.ts +1 -0
  71. package/lib/types/component/Chart/BubbleChart.type.d.ts +4 -0
  72. package/lib/types/utils.d.ts +2 -0
  73. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"BubbleChart.type.js","names":[],"sources":["../../../../src/component/Chart/BubbleChart.type.ts"],"sourcesContent":["import { Intergalactic } from '@semcore/core';\nimport { Flex } from '@semcore/flex-box';\nimport { ScaleLinear } from 'd3-scale';\nimport { BaseChartProps } from './AbstractChart.type';\n\nexport type BubbleChartData = Array<{\n x: number;\n y: number;\n value: number;\n label?: string;\n color?: string;\n}>;\n\nexport type BubbleChartProps = BaseChartProps<BubbleChartData> & {\n groupKey?: never;\n xScale?: ScaleLinear<any, any>;\n yScale?: ScaleLinear<any, any>;\n};\n\nexport type BubbleChartType = Intergalactic.Component<typeof Flex, BubbleChartProps>;\n"],"mappings":""}
1
+ {"version":3,"file":"BubbleChart.type.js","names":[],"sources":["../../../../src/component/Chart/BubbleChart.type.ts"],"sourcesContent":["import { Intergalactic } from '@semcore/core';\nimport { Flex } from '@semcore/flex-box';\nimport { ScaleLinear } from 'd3-scale';\nimport { BaseChartProps } from './AbstractChart.type';\n\nexport type ScaledValues = {\n x: number[];\n y: number[];\n};\n\nexport type BubbleChartData = Array<{\n x: number;\n y: number;\n value: number;\n label?: string;\n color?: string;\n}>;\n\nexport type BubbleChartProps = BaseChartProps<BubbleChartData> & {\n groupKey?: never;\n xScale?: ScaleLinear<any, any>;\n yScale?: ScaleLinear<any, any>;\n};\n\nexport type BubbleChartType = Intergalactic.Component<typeof Flex, BubbleChartProps>;\n"],"mappings":""}
@@ -46,17 +46,19 @@ var ScatterPlotChartComponent = /*#__PURE__*/function (_AbstractChart) {
46
46
  marginY = _this$asProps$marginY === void 0 ? 30 : _this$asProps$marginY,
47
47
  plotWidth = _this$asProps.plotWidth,
48
48
  data = _this$asProps.data,
49
- groupKey = _this$asProps.groupKey;
49
+ groupKey = _this$asProps.groupKey,
50
+ valueKey = _this$asProps.valueKey;
50
51
  if (xScale) {
51
52
  return xScale;
52
53
  }
54
+ var radius = (0, _.getScatterPlotRadius)(valueKey) / this.getValueScale((0, _toConsumableArray2["default"])(this.flatValues));
53
55
  var testItem = data[0][groupKey];
54
56
  var range = [marginY, plotWidth - this.plotPadding];
55
57
  var domain = (0, _.minMax)(data, groupKey);
56
58
  if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {
57
- return (0, _d3Scale.scaleTime)([domain[0] * 0.8, domain[1] * 1.2], range);
59
+ return (0, _d3Scale.scaleTime)([domain[0] - radius, domain[1] + radius], range);
58
60
  }
59
- return (0, _d3Scale.scaleLinear)([domain[0] * 0.8, domain[1] * 1.2], range);
61
+ return (0, _d3Scale.scaleLinear)([domain[0] - radius, domain[1] + radius], range);
60
62
  }
61
63
  }, {
62
64
  key: "yScale",
@@ -65,14 +67,16 @@ var ScatterPlotChartComponent = /*#__PURE__*/function (_AbstractChart) {
65
67
  yScale = _this$asProps2.yScale,
66
68
  _this$asProps2$margin = _this$asProps2.marginX,
67
69
  marginX = _this$asProps2$margin === void 0 ? 30 : _this$asProps2$margin,
68
- plotHeight = _this$asProps2.plotHeight;
70
+ plotHeight = _this$asProps2.plotHeight,
71
+ valueKey = _this$asProps2.valueKey;
69
72
  if (yScale) {
70
73
  return yScale;
71
74
  }
72
75
  var flatValues = this.flatValues;
73
- var max = Math.max.apply(Math, (0, _toConsumableArray2["default"])(flatValues));
74
- var min = Math.min.apply(Math, (0, _toConsumableArray2["default"])(flatValues));
75
- return (0, _d3Scale.scaleLinear)().range([plotHeight - marginX, this.plotPadding]).domain([min * 0.8, max * 1.1]);
76
+ var radius = (0, _.getScatterPlotRadius)(valueKey) / this.getValueScale((0, _toConsumableArray2["default"])(flatValues));
77
+ var max = Math.max.apply(Math, (0, _toConsumableArray2["default"])(flatValues)) + radius;
78
+ var min = Math.min.apply(Math, (0, _toConsumableArray2["default"])(flatValues)) - radius;
79
+ return (0, _d3Scale.scaleLinear)().range([plotHeight - marginX, this.plotPadding]).domain([min, max]);
76
80
  }
77
81
  }, {
78
82
  key: "flatValues",
@@ -152,6 +156,10 @@ var ScatterPlotChartComponent = /*#__PURE__*/function (_AbstractChart) {
152
156
  }(_AbstractChart2.AbstractChart);
153
157
  (0, _defineProperty2["default"])(ScatterPlotChartComponent, "displayName", 'Chart.ScatterPlot');
154
158
  (0, _defineProperty2["default"])(ScatterPlotChartComponent, "defaultProps", {
159
+ direction: 'column',
160
+ showXAxis: true,
161
+ showYAxis: true,
162
+ showTooltip: true,
155
163
  showLegend: false
156
164
  });
157
165
  var ScatterPlotChart = (0, _core["default"])(ScatterPlotChartComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"ScatterPlotChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_typography","ScatterPlotChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","_this$props","props","data","groupKey","valueKey","Object","keys","filter","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","flatValues","max","Math","_toConsumableArray2","min","_this$asProps3","reduce","result","item","entries","forEach","_ref","_ref2","_slicedToArray2","value","add","Set","renderChart","_this$asProps4","dataDefinitions","state","map","checked","createElement","ScatterPlot","x","y","id","color","renderTooltip","_this","_this$asProps5","showTooltip","Tooltip","wMin","_ref3","index","children","Fragment","Dot","Text","tag","tooltipValueFormatter","AbstractChart","_defineProperty2","showLegend","ScatterPlotChart","createComponent","exports"],"sources":["../../../../src/component/Chart/ScatterPlotChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { minMax, ScatterPlot } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport {\n ScatterPlotChartData,\n ScatterPlotChartProps,\n ScatterPlotChartType,\n} from './ScatterPlotChart.type';\nimport { Text } from '@semcore/typography';\n\nclass ScatterPlotChartComponent extends AbstractChart<ScatterPlotChartData, ScatterPlotChartProps> {\n static displayName = 'Chart.ScatterPlot';\n static defaultProps: Partial<ScatterPlotChartProps> = {\n showLegend: false,\n };\n\n protected get dataKeys(): string[] {\n const { data, groupKey, valueKey } = this.props;\n\n return Object.keys(data[0]).filter((key) => key !== groupKey && key !== valueKey);\n }\n\n protected get xScale() {\n const { xScale, marginY = 30, plotWidth, data, groupKey } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = minMax(data, groupKey);\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n return scaleTime([domain[0] * 0.8, domain[1] * 1.2], range);\n }\n\n return scaleLinear([domain[0] * 0.8, domain[1] * 1.2], range);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 30, plotHeight } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = this.flatValues;\n\n const max = Math.max(...flatValues);\n const min = Math.min(...flatValues);\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min * 0.8, max * 1.1]);\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey, valueKey } = this.asProps;\n\n const flatValues = data.reduce<Set<number>>((result, item) => {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && key !== valueKey && typeof value === 'number') {\n result.add(value);\n }\n });\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected renderChart() {\n const { groupKey, valueKey } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.map((item) => {\n return (\n item.checked && (\n <ScatterPlot x={groupKey} y={item.id} key={item.id} color={item.color} value={valueKey} />\n )\n );\n });\n }\n\n protected renderTooltip() {\n const { data, groupKey, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return dataDefinitions\n .filter((item) => item.checked)\n .map((item) => {\n return (\n <ScatterPlot.Tooltip key={item.id} x={groupKey} y={item.id} wMin={100}>\n {({ index, x, y }: any) => {\n return {\n children: (\n <>\n <ScatterPlot.Tooltip.Dot color={item.color}>Data</ScatterPlot.Tooltip.Dot>\n <Text tag='div'>X axis {this.tooltipValueFormatter(data[index][x])}</Text>\n <Text tag='div'>Y axis {this.tooltipValueFormatter(data[index][y])}</Text>\n </>\n ),\n };\n }}\n </ScatterPlot.Tooltip>\n );\n });\n }\n}\n\nexport const ScatterPlotChart: ScatterPlotChartType = createComponent(ScatterPlotChartComponent);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ScatterPlotChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_typography","ScatterPlotChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","_this$props","props","data","groupKey","valueKey","Object","keys","filter","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","radius","getScatterPlotRadius","getValueScale","_toConsumableArray2","flatValues","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","max","Math","min","_this$asProps3","reduce","result","item","entries","forEach","_ref","_ref2","_slicedToArray2","value","add","Set","renderChart","_this$asProps4","dataDefinitions","state","map","checked","createElement","ScatterPlot","x","y","id","color","renderTooltip","_this","_this$asProps5","showTooltip","Tooltip","wMin","_ref3","index","children","Fragment","Dot","Text","tag","tooltipValueFormatter","AbstractChart","_defineProperty2","direction","showXAxis","showYAxis","showLegend","ScatterPlotChart","createComponent","exports"],"sources":["../../../../src/component/Chart/ScatterPlotChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { minMax, ScatterPlot, getScatterPlotRadius } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport {\n ScatterPlotChartData,\n ScatterPlotChartProps,\n ScatterPlotChartType,\n} from './ScatterPlotChart.type';\nimport { Text } from '@semcore/typography';\nimport { BaseChartProps, ListData } from './AbstractChart.type';\n\nclass ScatterPlotChartComponent extends AbstractChart<ScatterPlotChartData, ScatterPlotChartProps> {\n static displayName = 'Chart.ScatterPlot';\n public static defaultProps: Partial<BaseChartProps<ListData>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: false,\n };\n\n protected get dataKeys(): string[] {\n const { data, groupKey, valueKey } = this.props;\n\n return Object.keys(data[0]).filter((key) => key !== groupKey && key !== valueKey);\n }\n\n protected get xScale() {\n const { xScale, marginY = 30, plotWidth, data, groupKey, valueKey } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const radius = getScatterPlotRadius(valueKey) / this.getValueScale([...this.flatValues]);\n const testItem = data[0][groupKey];\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = minMax(data, groupKey);\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n return scaleTime([domain[0] - radius, domain[1] + radius], range);\n }\n\n return scaleLinear([domain[0] - radius, domain[1] + radius], range);\n }\n\n protected get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 30, plotHeight, valueKey } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = this.flatValues;\n const radius = getScatterPlotRadius(valueKey) / this.getValueScale([...flatValues]);\n\n const max = Math.max(...flatValues) + radius;\n const min = Math.min(...flatValues) - radius;\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey, valueKey } = this.asProps;\n\n const flatValues = data.reduce<Set<number>>((result, item) => {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && key !== valueKey && typeof value === 'number') {\n result.add(value);\n }\n });\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected renderChart() {\n const { groupKey, valueKey } = this.asProps;\n const { dataDefinitions } = this.state;\n\n return dataDefinitions.map((item) => {\n return (\n item.checked && (\n <ScatterPlot x={groupKey} y={item.id} key={item.id} color={item.color} value={valueKey} />\n )\n );\n });\n }\n\n protected renderTooltip() {\n const { data, groupKey, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return dataDefinitions\n .filter((item) => item.checked)\n .map((item) => {\n return (\n <ScatterPlot.Tooltip key={item.id} x={groupKey} y={item.id} wMin={100}>\n {({ index, x, y }: any) => {\n return {\n children: (\n <>\n <ScatterPlot.Tooltip.Dot color={item.color}>Data</ScatterPlot.Tooltip.Dot>\n <Text tag='div'>X axis {this.tooltipValueFormatter(data[index][x])}</Text>\n <Text tag='div'>Y axis {this.tooltipValueFormatter(data[index][y])}</Text>\n </>\n ),\n };\n }}\n </ScatterPlot.Tooltip>\n );\n });\n }\n}\n\nexport const ScatterPlotChart: ScatterPlotChartType = createComponent(ScatterPlotChartComponent);\n"],"mappings":"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"}
@@ -22,10 +22,10 @@ var _BaseLegend2 = require("../BaseLegend");
22
22
  var _intergalacticDynamicLocales = require("../../../translations/__intergalactic-dynamic-locales");
23
23
  var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
24
24
  /*__reshadow-styles__:"./legend-flex.shadow.css"*/
25
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SLegendFlex_127tz_gg_._direction_row_127tz_gg_{align-items:center;flex-wrap:wrap;gap:8px 16px}.___SLegendFlex_127tz_gg_._direction_column_127tz_gg_{align-items:flex-start;flex-wrap:wrap;gap:8px}" /*__inner_css_end__*/, "127tz_gg_") /*__reshadow_css_end__*/, {
26
- "__SLegendFlex": "___SLegendFlex_127tz_gg_",
27
- "_direction_row": "_direction_row_127tz_gg_",
28
- "_direction_column": "_direction_column_127tz_gg_"
25
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SLegendFlex_59j4j_gg_._direction_row_59j4j_gg_{align-items:center;flex-wrap:wrap;gap:8px 16px}.___SLegendFlex_59j4j_gg_._direction_column_59j4j_gg_{align-items:flex-start;flex-wrap:wrap;gap:8px}" /*__inner_css_end__*/, "59j4j_gg_") /*__reshadow_css_end__*/, {
26
+ "__SLegendFlex": "___SLegendFlex_59j4j_gg_",
27
+ "_direction_row": "_direction_row_59j4j_gg_",
28
+ "_direction_column": "_direction_column_59j4j_gg_"
29
29
  });
30
30
  var LegendFlexRoot = /*#__PURE__*/function (_BaseLegend) {
31
31
  (0, _inherits2["default"])(LegendFlexRoot, _BaseLegend);
@@ -24,23 +24,23 @@ var _Pattern = require("../../../Pattern");
24
24
  var _utils = require("../../../utils");
25
25
  var _excluded = ["color"];
26
26
  /*__reshadow-styles__:"./legend-item.shadow.css"*/
27
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SLegendItem_up39c_gg_{min-width:0;align-items:flex-start}@media (hover:hover){.___SLegendItem_up39c_gg_:hover{cursor:pointer}.___SLegendItem_up39c_gg_.__disabled_up39c_gg_:hover{cursor:default}}.___SPointShape_up39c_gg_.__color_up39c_gg_{background-color:var(--color_up39c);margin-right:8px;flex-shrink:0}.___SPointShape_up39c_gg_._shape_Circle_up39c_gg_._size_l_up39c_gg_{width:16px;height:16px;border-radius:8px;margin-top:4px}.___SPointShape_up39c_gg_._shape_Circle_up39c_gg_._size_m_up39c_gg_{width:12px;height:12px;border-radius:6px;margin-top:4px}.___SPointShape_up39c_gg_._shape_Line_up39c_gg_._size_l_up39c_gg_{width:16px;height:4px;border-radius:3px;margin-top:9px}.___SPointShape_up39c_gg_._shape_Line_up39c_gg_._size_m_up39c_gg_{width:12px;height:4px;border-radius:3px;margin-top:8px}.___SPointShape_up39c_gg_._shape_Square_up39c_gg_._size_l_up39c_gg_{width:16px;height:16px;border-radius:2px;margin-top:4px}.___SPointShape_up39c_gg_._shape_Square_up39c_gg_._size_m_up39c_gg_{width:12px;height:12px;border-radius:2px;margin-top:4px}.___SPointShape_up39c_gg_._shape_Pattern_up39c_gg_{background-color:transparent;margin-right:4px}.___SIcon_up39c_gg_{line-height:0;margin-right:4px}.___SIcon_up39c_gg_._size_l_up39c_gg_{margin-top:4px}.___SIcon_up39c_gg_._size_m_up39c_gg_{margin-top:2px}.___SLabel_up39c_gg_{min-width:0}.___SAdditionalLabel_up39c_gg_._size_l_up39c_gg_,.___SCount_up39c_gg_._size_l_up39c_gg_,.___SLabel_up39c_gg_._size_l_up39c_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%)}.___SAdditionalLabel_up39c_gg_._size_m_up39c_gg_,.___SCount_up39c_gg_._size_m_up39c_gg_,.___SLabel_up39c_gg_._size_m_up39c_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%)}.___SAdditionalLabel_up39c_gg_,.___SCount_up39c_gg_{margin-left:4px}.___SAdditionalLabel_up39c_gg_{white-space:nowrap;display:flex;align-items:flex-start}.___SAdditionalLabel_up39c_gg_::before{content:\"\";display:inline-block;background-color:var(--intergalactic-text-secondary, #6c6e79);height:4px;width:4px;border-radius:2px;margin-right:4px}.___SAdditionalLabel_up39c_gg_._size_l_up39c_gg_::before{margin-top:10px}.___SAdditionalLabel_up39c_gg_._size_m_up39c_gg_::before{margin-top:8px}.___SPatternSymbol_up39c_gg_{transform:scale(.8)}" /*__inner_css_end__*/, "up39c_gg_") /*__reshadow_css_end__*/, {
28
- "__SLegendItem": "___SLegendItem_up39c_gg_",
29
- "_disabled": "__disabled_up39c_gg_",
30
- "__SPointShape": "___SPointShape_up39c_gg_",
31
- "_color": "__color_up39c_gg_",
32
- "--color": "--color_up39c",
33
- "_shape_Circle": "_shape_Circle_up39c_gg_",
34
- "_size_l": "_size_l_up39c_gg_",
35
- "_size_m": "_size_m_up39c_gg_",
36
- "_shape_Line": "_shape_Line_up39c_gg_",
37
- "_shape_Square": "_shape_Square_up39c_gg_",
38
- "_shape_Pattern": "_shape_Pattern_up39c_gg_",
39
- "__SIcon": "___SIcon_up39c_gg_",
40
- "__SLabel": "___SLabel_up39c_gg_",
41
- "__SAdditionalLabel": "___SAdditionalLabel_up39c_gg_",
42
- "__SCount": "___SCount_up39c_gg_",
43
- "__SPatternSymbol": "___SPatternSymbol_up39c_gg_"
27
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SLegendItem_1rhtq_gg_{min-width:0;align-items:flex-start}@media (hover:hover){.___SLegendItem_1rhtq_gg_:hover{cursor:pointer}.___SLegendItem_1rhtq_gg_.__disabled_1rhtq_gg_:hover{cursor:default}}.___SPointShape_1rhtq_gg_.__color_1rhtq_gg_{background-color:var(--color_1rhtq);margin-right:8px;flex-shrink:0}.___SPointShape_1rhtq_gg_._shape_Circle_1rhtq_gg_._size_l_1rhtq_gg_{width:16px;height:16px;border-radius:8px;margin-top:4px}.___SPointShape_1rhtq_gg_._shape_Circle_1rhtq_gg_._size_m_1rhtq_gg_{width:12px;height:12px;border-radius:6px;margin-top:4px}.___SPointShape_1rhtq_gg_._shape_Line_1rhtq_gg_._size_l_1rhtq_gg_{width:16px;height:4px;border-radius:3px;margin-top:9px}.___SPointShape_1rhtq_gg_._shape_Line_1rhtq_gg_._size_m_1rhtq_gg_{width:12px;height:4px;border-radius:3px;margin-top:8px}.___SPointShape_1rhtq_gg_._shape_Square_1rhtq_gg_._size_l_1rhtq_gg_{width:16px;height:16px;border-radius:2px;margin-top:4px}.___SPointShape_1rhtq_gg_._shape_Square_1rhtq_gg_._size_m_1rhtq_gg_{width:12px;height:12px;border-radius:2px;margin-top:4px}.___SPointShape_1rhtq_gg_._shape_Pattern_1rhtq_gg_{background-color:transparent;margin-right:4px}.___SIcon_1rhtq_gg_{line-height:0;margin-right:4px}.___SIcon_1rhtq_gg_._size_l_1rhtq_gg_{margin-top:4px}.___SIcon_1rhtq_gg_._size_m_1rhtq_gg_{margin-top:2px}.___SLabel_1rhtq_gg_{min-width:0}.___SAdditionalLabel_1rhtq_gg_._size_l_1rhtq_gg_,.___SCount_1rhtq_gg_._size_l_1rhtq_gg_,.___SLabel_1rhtq_gg_._size_l_1rhtq_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%)}.___SAdditionalLabel_1rhtq_gg_._size_m_1rhtq_gg_,.___SCount_1rhtq_gg_._size_m_1rhtq_gg_,.___SLabel_1rhtq_gg_._size_m_1rhtq_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%)}.___SAdditionalLabel_1rhtq_gg_,.___SCount_1rhtq_gg_{margin-left:4px}.___SAdditionalLabel_1rhtq_gg_{white-space:nowrap;display:flex;align-items:flex-start}.___SAdditionalLabel_1rhtq_gg_::before{content:\"\";display:inline-block;background-color:var(--intergalactic-text-secondary, #6c6e79);height:4px;width:4px;border-radius:2px;margin-right:4px}.___SAdditionalLabel_1rhtq_gg_._size_l_1rhtq_gg_::before{margin-top:10px}.___SAdditionalLabel_1rhtq_gg_._size_m_1rhtq_gg_::before{margin-top:8px}.___SPatternSymbol_1rhtq_gg_{transform:scale(.8)}" /*__inner_css_end__*/, "1rhtq_gg_") /*__reshadow_css_end__*/, {
28
+ "__SLegendItem": "___SLegendItem_1rhtq_gg_",
29
+ "_disabled": "__disabled_1rhtq_gg_",
30
+ "__SPointShape": "___SPointShape_1rhtq_gg_",
31
+ "_color": "__color_1rhtq_gg_",
32
+ "--color": "--color_1rhtq",
33
+ "_shape_Circle": "_shape_Circle_1rhtq_gg_",
34
+ "_size_l": "_size_l_1rhtq_gg_",
35
+ "_size_m": "_size_m_1rhtq_gg_",
36
+ "_shape_Line": "_shape_Line_1rhtq_gg_",
37
+ "_shape_Square": "_shape_Square_1rhtq_gg_",
38
+ "_shape_Pattern": "_shape_Pattern_1rhtq_gg_",
39
+ "__SIcon": "___SIcon_1rhtq_gg_",
40
+ "__SLabel": "___SLabel_1rhtq_gg_",
41
+ "__SAdditionalLabel": "___SAdditionalLabel_1rhtq_gg_",
42
+ "__SCount": "___SCount_1rhtq_gg_",
43
+ "__SPatternSymbol": "___SPatternSymbol_1rhtq_gg_"
44
44
  });
45
45
  var LegendItemRoot = /*#__PURE__*/function (_Component) {
46
46
  (0, _inherits2["default"])(LegendItemRoot, _Component);
@@ -18,12 +18,12 @@ var _flexBox = require("@semcore/flex-box");
18
18
  var _LegendItem = require("../LegendItem/LegendItem");
19
19
  var _BaseLegend2 = require("../BaseLegend");
20
20
  /*__reshadow-styles__:"./legend-table.shadow.css"*/
21
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SLegendTable_1vovi_gg_.__columns-count_1vovi_gg_{font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;display:grid;grid-template-columns:auto .2fr;align-items:center;height:-moz-fit-content;height:fit-content;grid-column-gap:16px;grid-row-gap:8px}.___SColumnItem_1vovi_gg_._size_l_1vovi_gg_{font-size:var(--intergalactic-fs-300, 16px);text-align:right}.___SColumnItem_1vovi_gg_._size_m_1vovi_gg_{font-size:var(--intergalactic-fs-200, 14px);text-align:right}" /*__inner_css_end__*/, "1vovi_gg_") /*__reshadow_css_end__*/, {
22
- "__SLegendTable": "___SLegendTable_1vovi_gg_",
23
- "_columns-count": "__columns-count_1vovi_gg_",
24
- "__SColumnItem": "___SColumnItem_1vovi_gg_",
25
- "_size_l": "_size_l_1vovi_gg_",
26
- "_size_m": "_size_m_1vovi_gg_"
21
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SLegendTable_b2xvq_gg_.__columns-count_b2xvq_gg_{font-feature-settings:\"tnum\";font-variant-numeric:tabular-nums;display:grid;grid-template-columns:auto .2fr;align-items:center;height:-moz-fit-content;height:fit-content;grid-column-gap:16px;grid-row-gap:8px}.___SColumnItem_b2xvq_gg_._size_l_b2xvq_gg_{font-size:var(--intergalactic-fs-300, 16px);text-align:right}.___SColumnItem_b2xvq_gg_._size_m_b2xvq_gg_{font-size:var(--intergalactic-fs-200, 14px);text-align:right}" /*__inner_css_end__*/, "b2xvq_gg_") /*__reshadow_css_end__*/, {
22
+ "__SLegendTable": "___SLegendTable_b2xvq_gg_",
23
+ "_columns-count": "__columns-count_b2xvq_gg_",
24
+ "__SColumnItem": "___SColumnItem_b2xvq_gg_",
25
+ "_size_l": "_size_l_b2xvq_gg_",
26
+ "_size_m": "_size_m_b2xvq_gg_"
27
27
  });
28
28
  var LegendTableRoot = /*#__PURE__*/function (_BaseLegend) {
29
29
  (0, _inherits2["default"])(LegendTableRoot, _BaseLegend);
package/lib/cjs/index.js CHANGED
@@ -167,6 +167,12 @@ Object.defineProperty(exports, "colors", {
167
167
  return _color.colors;
168
168
  }
169
169
  });
170
+ Object.defineProperty(exports, "getBubbleChartValueScale", {
171
+ enumerable: true,
172
+ get: function get() {
173
+ return _utils.getBubbleChartValueScale;
174
+ }
175
+ });
170
176
  Object.defineProperty(exports, "getLabelOffsetPosition", {
171
177
  enumerable: true,
172
178
  get: function get() {
@@ -179,6 +185,12 @@ Object.defineProperty(exports, "getPatternSymbolSize", {
179
185
  return _Pattern.getPatternSymbolSize;
180
186
  }
181
187
  });
188
+ Object.defineProperty(exports, "getScatterPlotRadius", {
189
+ enumerable: true,
190
+ get: function get() {
191
+ return _utils.getScatterPlotRadius;
192
+ }
193
+ });
182
194
  Object.defineProperty(exports, "interpolateValue", {
183
195
  enumerable: true,
184
196
  get: function get() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Plot","_interopRequireDefault","require","_ChartLegend","_Chart","_Axis","_Line","_Bar","_HorizontalBar","_GroupBar","_StackBar","_Area","_StackedArea","_ScatterPlot","_Bubble","_RadialTree","_Donut","_Venn","_Radar","_interopRequireWildcard","_Tooltip","_ResponsiveContainer","_ReferenceLine","_Hover","_utils","_color","_hints","_Pattern"],"sources":["../../src/index.js"],"sourcesContent":["export { default as Plot } from './Plot';\nexport { ChartLegend, ChartLegendTable } from './component/ChartLegend';\nexport { default as Chart } from './component/Chart';\nexport { XAxis, YAxis } from './Axis';\n\nexport { default as Line } from './Line';\n\nexport { default as Bar } from './Bar';\nexport { default as HorizontalBar } from './HorizontalBar';\nexport { default as GroupBar } from './GroupBar';\nexport { default as StackBar } from './StackBar';\nexport { default as Area } from './Area';\nexport { default as StackedArea } from './StackedArea';\nexport { default as ScatterPlot } from './ScatterPlot';\nexport { default as Bubble } from './Bubble';\nexport { default as RadialTree } from './RadialTree';\nexport { default as Donut } from './Donut';\nexport { default as Venn } from './Venn';\nexport { default as Radar, getLabelOffsetPosition } from './Radar';\n\nexport { default as Tooltip } from './Tooltip';\n\nexport { default as ResponsiveContainer } from './ResponsiveContainer';\nexport { default as ReferenceLine } from './ReferenceLine';\n\nexport { HoverLine, HoverRect } from './Hover';\n\nexport { minMax, interpolateValue } from './utils';\nexport { colors } from './color';\n\nexport { makeDataHintsContainer } from './a11y/hints';\n\nexport { PatternFill, PatternSymbol, getPatternSymbolSize } from './Pattern';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAEA,IAAAI,KAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAAK,IAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,cAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,SAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,SAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,KAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,YAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,YAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,OAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,WAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,MAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,KAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,MAAA,GAAAC,uBAAA,CAAAjB,OAAA;AAEA,IAAAkB,QAAA,GAAAnB,sBAAA,CAAAC,OAAA;AAEA,IAAAmB,oBAAA,GAAApB,sBAAA,CAAAC,OAAA;AACA,IAAAoB,cAAA,GAAArB,sBAAA,CAAAC,OAAA;AAEA,IAAAqB,MAAA,GAAArB,OAAA;AAEA,IAAAsB,MAAA,GAAAtB,OAAA;AACA,IAAAuB,MAAA,GAAAvB,OAAA;AAEA,IAAAwB,MAAA,GAAAxB,OAAA;AAEA,IAAAyB,QAAA,GAAAzB,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_Plot","_interopRequireDefault","require","_ChartLegend","_Chart","_Axis","_Line","_Bar","_HorizontalBar","_GroupBar","_StackBar","_Area","_StackedArea","_ScatterPlot","_Bubble","_RadialTree","_Donut","_Venn","_Radar","_interopRequireWildcard","_Tooltip","_ResponsiveContainer","_ReferenceLine","_Hover","_utils","_color","_hints","_Pattern"],"sources":["../../src/index.js"],"sourcesContent":["export { default as Plot } from './Plot';\nexport { ChartLegend, ChartLegendTable } from './component/ChartLegend';\nexport { default as Chart } from './component/Chart';\nexport { XAxis, YAxis } from './Axis';\n\nexport { default as Line } from './Line';\n\nexport { default as Bar } from './Bar';\nexport { default as HorizontalBar } from './HorizontalBar';\nexport { default as GroupBar } from './GroupBar';\nexport { default as StackBar } from './StackBar';\nexport { default as Area } from './Area';\nexport { default as StackedArea } from './StackedArea';\nexport { default as ScatterPlot } from './ScatterPlot';\nexport { default as Bubble } from './Bubble';\nexport { default as RadialTree } from './RadialTree';\nexport { default as Donut } from './Donut';\nexport { default as Venn } from './Venn';\nexport { default as Radar, getLabelOffsetPosition } from './Radar';\n\nexport { default as Tooltip } from './Tooltip';\n\nexport { default as ResponsiveContainer } from './ResponsiveContainer';\nexport { default as ReferenceLine } from './ReferenceLine';\n\nexport { HoverLine, HoverRect } from './Hover';\n\nexport { minMax, interpolateValue, getBubbleChartValueScale, getScatterPlotRadius } from './utils';\nexport { colors } from './color';\n\nexport { makeDataHintsContainer } from './a11y/hints';\n\nexport { PatternFill, PatternSymbol, getPatternSymbolSize } from './Pattern';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAEA,IAAAI,KAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAAK,IAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,cAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,SAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,SAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,KAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,YAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,YAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,OAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,WAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,MAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,KAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,MAAA,GAAAC,uBAAA,CAAAjB,OAAA;AAEA,IAAAkB,QAAA,GAAAnB,sBAAA,CAAAC,OAAA;AAEA,IAAAmB,oBAAA,GAAApB,sBAAA,CAAAC,OAAA;AACA,IAAAoB,cAAA,GAAArB,sBAAA,CAAAC,OAAA;AAEA,IAAAqB,MAAA,GAAArB,OAAA;AAEA,IAAAsB,MAAA,GAAAtB,OAAA;AACA,IAAAuB,MAAA,GAAAvB,OAAA;AAEA,IAAAwB,MAAA,GAAAxB,OAAA;AAEA,IAAAyB,QAAA,GAAAzB,OAAA"}
package/lib/cjs/utils.js CHANGED
@@ -4,7 +4,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.uniqueId = exports.scaleToBand = exports.scaleOfBandwidth = exports.roundedPath = exports.minMax = exports.memoize = exports.measureText = exports.invert = exports.interpolateValue = exports.getNullData = exports.getIndexFromData = exports.getChartDefaultColorName = exports.eventToPoint = exports.definedNullData = exports.definedData = exports.CONSTANT = void 0;
7
+ exports.uniqueId = exports.scaleToBand = exports.scaleOfBandwidth = exports.roundedPath = exports.minMax = exports.memoize = exports.measureText = exports.invert = exports.interpolateValue = exports.getScatterPlotRadius = exports.getNullData = exports.getIndexFromData = exports.getChartDefaultColorName = exports.getBubbleChartValueScale = exports.eventToPoint = exports.definedNullData = exports.definedData = exports.CONSTANT = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
9
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
9
10
  var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -208,4 +209,15 @@ var getChartDefaultColorName = function getChartDefaultColorName(index) {
208
209
  return "chart-palette-order-".concat(index);
209
210
  };
210
211
  exports.getChartDefaultColorName = getChartDefaultColorName;
212
+ var getBubbleChartValueScale = function getBubbleChartValueScale(data, key) {
213
+ var z = (0, _d3Scale.scaleSqrt)().domain([0, Math.max.apply(Math, (0, _toConsumableArray2["default"])(data.map(function (el) {
214
+ return el[key];
215
+ })))]).range([5.5, 50.5]);
216
+ return z;
217
+ };
218
+ exports.getBubbleChartValueScale = getBubbleChartValueScale;
219
+ var getScatterPlotRadius = function getScatterPlotRadius(valueKey) {
220
+ return valueKey !== undefined ? 12 : 5.5;
221
+ };
222
+ exports.getScatterPlotRadius = getScatterPlotRadius;
211
223
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_d3Array","require","_d3Scale","CONSTANT","VIRTUAL_ELEMENT","Symbol","exports","eventToPoint","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","paddingOuter","step","scaleQuantize","slice","reverse","definedNullData","x","y","plot","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","extent","d","getNullData","defined","name","reduce","acc","i","push","_defineProperty2","prev","next","defNext","find","_objectSpread4","length","defPrev","getIndexFromData","bisect","bisector","center","index","findIndex","console","warn","roundedPath","w","h","r","tl","arguments","tr","bl","br","result","concat","scaleToBand","band","scaleBand","memoize","func","results","_len","args","Array","_key","argsKey","join","apply","measureText","text","fontSize","span","document","createElement","style","_iterator","_createForOfIteratorHelper2","split","_step","s","n","done","line","append","createTextNode","err","e","f","display","body","textWidth","offsetWidth","textHeight","offsetHeight","remove","Math","max","idCounter","uniqueId","prefix","interpolateValue","getChartDefaultColorName"],"sources":["../../src/utils.ts"],"sourcesContent":["import { extent, bisector, Numeric } from 'd3-array';\nimport {\n scaleQuantize,\n ScaleIdentity,\n ScaleTime,\n ScaleContinuousNumeric,\n ScaleBand,\n ScalePoint,\n NumberValue,\n scaleBand,\n} from 'd3-scale';\nimport React from 'react';\n\nconst CONSTANT = {\n VIRTUAL_ELEMENT: Symbol('VIRTUAL_ELEMENT'),\n} as const;\n\nexport { CONSTANT };\n\nexport const eventToPoint = (event: React.MouseEvent<HTMLElement>, svgRoot: SVGElement) => {\n const node = (event.currentTarget || event.target) as HTMLElement;\n const rect = svgRoot.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n};\n\ntype InvertableScale =\n | ScaleIdentity\n | ScaleBand<{}>\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>;\nexport const invert = <Scale extends InvertableScale = InvertableScale>(\n scale: Scale,\n value: number,\n) => {\n if ('invert' in scale && scale.invert) return scale.invert(value);\n\n const range = scale.range() as [number, number];\n const domain = scale.domain();\n if ('paddingOuter' in scale) {\n range[0] += scale.paddingOuter() * scale.step();\n range[1] -= scale.paddingOuter() * scale.step();\n }\n\n return scaleQuantize()\n .domain((range[0] <= range[1] ? range : range.slice().reverse()) as NumberValue[])\n .range((range[0] <= range[1] ? domain : domain.slice().reverse()) as number[])(value);\n};\n\nexport const definedNullData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[y] !== null;\n\nexport const definedData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[x] !== undefined && plot[y] !== null && plot[y] !== undefined;\n\nexport const scaleOfBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale, value: number) =>\n scale.bandwidth ? scale(value)! + scale.bandwidth() / 2 : scale(value);\n\nexport const minMax = <\n Key extends string = string,\n Data extends { [key: string]: Numeric | null | undefined }[] = {\n [key: string]: Numeric | null | undefined;\n }[],\n>(\n data: Data,\n key: Key,\n): [min: Data[0][Key], max: Data[0][Key]] => {\n if (typeof key === 'string') {\n return extent(data, (d) => d[key]) as any;\n }\n return extent(data, key) as any;\n};\n\nexport const getNullData = <\n Name extends string = string,\n Data extends { [name in Name]?: unknown | null } = {},\n>(\n data: Data[],\n defined: (data: Data) => boolean,\n name: Name,\n) =>\n data.reduce((acc, d, i, data) => {\n if (defined(d)) {\n acc.push({\n [name]: null,\n } as Data);\n } else {\n const prev = data[i - 1];\n const next = data[i + 1];\n\n if (i === 0) {\n const defNext = data.find(defined);\n acc.push({\n ...d,\n [name]: defNext ? defNext[name] : null,\n });\n }\n\n // prev\n if (prev && defined(prev)) {\n acc.push(prev);\n }\n\n // next\n if (next && defined(next)) {\n acc.push(next);\n }\n\n if (data.length - 1 === i) {\n const defPrev = data.slice().reverse().find(defined);\n acc.push({\n ...d,\n [name]: defPrev ? defPrev[name] : null,\n });\n }\n }\n return acc;\n }, [] as Data[]);\n\ntype IndexFromDataScale =\n | ScaleIdentity\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>\n | ScaleBand<{}>\n | ScalePoint<{}>;\nexport const getIndexFromData = <\n Key extends string,\n Data extends {\n [key in Key]: number;\n } = { [key in Key]: number },\n Scale extends IndexFromDataScale = IndexFromDataScale,\n>(\n data: Data[],\n scale: Scale,\n key: Key,\n value: number,\n) => {\n // detect line chart\n if ('invert' in scale && typeof scale.invert === 'function') {\n const bisect = bisector((d: { [key: string]: number }) => d[key]).center;\n return bisect(data, value);\n }\n // detect bar chart\n else if ('step' in scale && typeof scale.step !== 'undefined') {\n const index = data.findIndex((d) => d[key] === value);\n return index >= 0 ? index : null;\n } else {\n console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');\n return null;\n }\n};\n\nexport const roundedPath = (\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n tl = false,\n tr = false,\n bl = false,\n br = false,\n) => {\n let result = `M${x + r},${y}`;\n result += `h${w - 2 * r}`;\n if (tr) {\n result += `a${r},${r} 0 0 1 ${r},${r}`;\n } else {\n result += `h${r}`;\n result += `v${r}`;\n }\n result += `v${h - 2 * r}`;\n if (br) {\n result += `a${r},${r} 0 0 1 ${-r},${r}`;\n } else {\n result += `v${r}`;\n result += `h${-r}`;\n }\n result += `h${2 * r - w}`;\n if (bl) {\n result += `a${r},${r} 0 0 1 ${-r},${-r}`;\n } else {\n result += `h${-r}`;\n result += `v${-r}`;\n }\n result += `v${2 * r - h}`;\n if (tl) {\n result += `a${r},${r} 0 0 1 ${r},${-r}`;\n } else {\n result += `v${-r}`;\n result += `h${r}`;\n }\n result += 'z';\n return result;\n};\n\nexport const scaleToBand = (scale: ScaleBand<{}>) => {\n if ('bandwidth' in scale) {\n return scale;\n }\n\n const band = scaleBand()\n .range((scale as any).range())\n .domain((scale as any).domain());\n\n return band;\n};\n\nexport const memoize = <Func extends (...args: any[]) => any>(func: Func): Func => {\n const results: { [cacheKey: string]: any } = {};\n return ((...args: any[]) => {\n const argsKey = args.join(',');\n if (!results[argsKey]) {\n results[argsKey] = func(...args);\n }\n return results[argsKey];\n }) as Func;\n};\n\nexport const measureText = memoize((text: string, fontSize?: number) => {\n if (!text) return 0;\n\n const span = document.createElement('span');\n if (fontSize) {\n span.style.fontSize = `${fontSize}px`;\n }\n for (const line of text.split('\\n')) {\n span.append(document.createTextNode(line));\n span.append(document.createElement('br'));\n }\n span.style.display = 'inline-block';\n document.body.append(span);\n const textWidth = span.offsetWidth;\n const textHeight = span.offsetHeight;\n span.remove();\n return Math.max(textWidth, textHeight);\n});\n\nlet idCounter = 0;\nexport const uniqueId = (prefix = 'id-') => `${prefix}${idCounter++}`;\n\nexport const interpolateValue = Symbol('intergalactic-d3-chart-line-interpolate');\n\nexport const getChartDefaultColorName = (index: number) => {\n index++;\n if (index < 1) index = 1;\n if (index > 24) index %= 24;\n\n return `chart-palette-order-${index}`;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["_d3Array","require","_d3Scale","CONSTANT","VIRTUAL_ELEMENT","Symbol","exports","eventToPoint","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","paddingOuter","step","scaleQuantize","slice","reverse","definedNullData","x","y","plot","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","extent","d","getNullData","defined","name","reduce","acc","i","push","_defineProperty2","prev","next","defNext","find","_objectSpread4","length","defPrev","getIndexFromData","bisect","bisector","center","index","findIndex","console","warn","roundedPath","w","h","r","tl","arguments","tr","bl","br","result","concat","scaleToBand","band","scaleBand","memoize","func","results","_len","args","Array","_key","argsKey","join","apply","measureText","text","fontSize","span","document","createElement","style","_iterator","_createForOfIteratorHelper2","split","_step","s","n","done","line","append","createTextNode","err","e","f","display","body","textWidth","offsetWidth","textHeight","offsetHeight","remove","Math","max","idCounter","uniqueId","prefix","interpolateValue","getChartDefaultColorName","getBubbleChartValueScale","z","scaleSqrt","_toConsumableArray2","map","el","getScatterPlotRadius","valueKey"],"sources":["../../src/utils.ts"],"sourcesContent":["import { extent, bisector, Numeric } from 'd3-array';\nimport {\n scaleQuantize,\n ScaleIdentity,\n ScaleTime,\n ScaleContinuousNumeric,\n ScaleBand,\n ScalePoint,\n NumberValue,\n scaleBand,\n scaleSqrt,\n} from 'd3-scale';\nimport React from 'react';\n\nconst CONSTANT = {\n VIRTUAL_ELEMENT: Symbol('VIRTUAL_ELEMENT'),\n} as const;\n\nexport { CONSTANT };\n\nexport const eventToPoint = (event: React.MouseEvent<HTMLElement>, svgRoot: SVGElement) => {\n const node = (event.currentTarget || event.target) as HTMLElement;\n const rect = svgRoot.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n};\n\ntype InvertableScale =\n | ScaleIdentity\n | ScaleBand<{}>\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>;\nexport const invert = <Scale extends InvertableScale = InvertableScale>(\n scale: Scale,\n value: number,\n) => {\n if ('invert' in scale && scale.invert) return scale.invert(value);\n\n const range = scale.range() as [number, number];\n const domain = scale.domain();\n if ('paddingOuter' in scale) {\n range[0] += scale.paddingOuter() * scale.step();\n range[1] -= scale.paddingOuter() * scale.step();\n }\n\n return scaleQuantize()\n .domain((range[0] <= range[1] ? range : range.slice().reverse()) as NumberValue[])\n .range((range[0] <= range[1] ? domain : domain.slice().reverse()) as number[])(value);\n};\n\nexport const definedNullData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[y] !== null;\n\nexport const definedData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[x] !== undefined && plot[y] !== null && plot[y] !== undefined;\n\nexport const scaleOfBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale, value: number) =>\n scale.bandwidth ? scale(value)! + scale.bandwidth() / 2 : scale(value);\n\nexport const minMax = <\n Key extends string = string,\n Data extends { [key: string]: Numeric | null | undefined }[] = {\n [key: string]: Numeric | null | undefined;\n }[],\n>(\n data: Data,\n key: Key,\n): [min: Data[0][Key], max: Data[0][Key]] => {\n if (typeof key === 'string') {\n return extent(data, (d) => d[key]) as any;\n }\n return extent(data, key) as any;\n};\n\nexport const getNullData = <\n Name extends string = string,\n Data extends { [name in Name]?: unknown | null } = {},\n>(\n data: Data[],\n defined: (data: Data) => boolean,\n name: Name,\n) =>\n data.reduce((acc, d, i, data) => {\n if (defined(d)) {\n acc.push({\n [name]: null,\n } as Data);\n } else {\n const prev = data[i - 1];\n const next = data[i + 1];\n\n if (i === 0) {\n const defNext = data.find(defined);\n acc.push({\n ...d,\n [name]: defNext ? defNext[name] : null,\n });\n }\n\n // prev\n if (prev && defined(prev)) {\n acc.push(prev);\n }\n\n // next\n if (next && defined(next)) {\n acc.push(next);\n }\n\n if (data.length - 1 === i) {\n const defPrev = data.slice().reverse().find(defined);\n acc.push({\n ...d,\n [name]: defPrev ? defPrev[name] : null,\n });\n }\n }\n return acc;\n }, [] as Data[]);\n\ntype IndexFromDataScale =\n | ScaleIdentity\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>\n | ScaleBand<{}>\n | ScalePoint<{}>;\nexport const getIndexFromData = <\n Key extends string,\n Data extends {\n [key in Key]: number;\n } = { [key in Key]: number },\n Scale extends IndexFromDataScale = IndexFromDataScale,\n>(\n data: Data[],\n scale: Scale,\n key: Key,\n value: number,\n) => {\n // detect line chart\n if ('invert' in scale && typeof scale.invert === 'function') {\n const bisect = bisector((d: { [key: string]: number }) => d[key]).center;\n return bisect(data, value);\n }\n // detect bar chart\n else if ('step' in scale && typeof scale.step !== 'undefined') {\n const index = data.findIndex((d) => d[key] === value);\n return index >= 0 ? index : null;\n } else {\n console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');\n return null;\n }\n};\n\nexport const roundedPath = (\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n tl = false,\n tr = false,\n bl = false,\n br = false,\n) => {\n let result = `M${x + r},${y}`;\n result += `h${w - 2 * r}`;\n if (tr) {\n result += `a${r},${r} 0 0 1 ${r},${r}`;\n } else {\n result += `h${r}`;\n result += `v${r}`;\n }\n result += `v${h - 2 * r}`;\n if (br) {\n result += `a${r},${r} 0 0 1 ${-r},${r}`;\n } else {\n result += `v${r}`;\n result += `h${-r}`;\n }\n result += `h${2 * r - w}`;\n if (bl) {\n result += `a${r},${r} 0 0 1 ${-r},${-r}`;\n } else {\n result += `h${-r}`;\n result += `v${-r}`;\n }\n result += `v${2 * r - h}`;\n if (tl) {\n result += `a${r},${r} 0 0 1 ${r},${-r}`;\n } else {\n result += `v${-r}`;\n result += `h${r}`;\n }\n result += 'z';\n return result;\n};\n\nexport const scaleToBand = (scale: ScaleBand<{}>) => {\n if ('bandwidth' in scale) {\n return scale;\n }\n\n const band = scaleBand()\n .range((scale as any).range())\n .domain((scale as any).domain());\n\n return band;\n};\n\nexport const memoize = <Func extends (...args: any[]) => any>(func: Func): Func => {\n const results: { [cacheKey: string]: any } = {};\n return ((...args: any[]) => {\n const argsKey = args.join(',');\n if (!results[argsKey]) {\n results[argsKey] = func(...args);\n }\n return results[argsKey];\n }) as Func;\n};\n\nexport const measureText = memoize((text: string, fontSize?: number) => {\n if (!text) return 0;\n\n const span = document.createElement('span');\n if (fontSize) {\n span.style.fontSize = `${fontSize}px`;\n }\n for (const line of text.split('\\n')) {\n span.append(document.createTextNode(line));\n span.append(document.createElement('br'));\n }\n span.style.display = 'inline-block';\n document.body.append(span);\n const textWidth = span.offsetWidth;\n const textHeight = span.offsetHeight;\n span.remove();\n return Math.max(textWidth, textHeight);\n});\n\nlet idCounter = 0;\nexport const uniqueId = (prefix = 'id-') => `${prefix}${idCounter++}`;\n\nexport const interpolateValue = Symbol('intergalactic-d3-chart-line-interpolate');\n\nexport const getChartDefaultColorName = (index: number) => {\n index++;\n if (index < 1) index = 1;\n if (index > 24) index %= 24;\n\n return `chart-palette-order-${index}`;\n};\n\nexport const getBubbleChartValueScale = (data: any[], key: string) => {\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[key]))])\n .range([5.5, 50.5]);\n\n return z;\n};\n\nexport const getScatterPlotRadius = (valueKey?: string): number => {\n return valueKey !== undefined ? 12 : 5.5;\n};\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAaA,IAAME,QAAQ,GAAG;EACfC,eAAe,EAAEC,MAAM,CAAC,iBAAiB;AAC3C,CAAU;AAACC,OAAA,CAAAH,QAAA,GAAAA,QAAA;AAIJ,IAAMI,YAAY,GAAG,SAAfA,YAAYA,CAAIC,KAAoC,EAAEC,OAAmB,EAAK;EACzF,IAAMC,IAAI,GAAIF,KAAK,CAACG,aAAa,IAAIH,KAAK,CAACI,MAAsB;EACjE,IAAMC,IAAI,GAAGJ,OAAO,CAACK,qBAAqB,EAAE;EAC5C,OAAO,CAACN,KAAK,CAACO,OAAO,GAAGF,IAAI,CAACG,IAAI,GAAGN,IAAI,CAACO,UAAU,EAAET,KAAK,CAACU,OAAO,GAAGL,IAAI,CAACM,GAAG,GAAGT,IAAI,CAACU,SAAS,CAAC;AACjG,CAAC;AAACd,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAOK,IAAMc,MAAM,GAAG,SAATA,MAAMA,CACjBC,KAAY,EACZC,KAAa,EACV;EACH,IAAI,QAAQ,IAAID,KAAK,IAAIA,KAAK,CAACD,MAAM,EAAE,OAAOC,KAAK,CAACD,MAAM,CAACE,KAAK,CAAC;EAEjE,IAAMC,KAAK,GAAGF,KAAK,CAACE,KAAK,EAAsB;EAC/C,IAAMC,MAAM,GAAGH,KAAK,CAACG,MAAM,EAAE;EAC7B,IAAI,cAAc,IAAIH,KAAK,EAAE;IAC3BE,KAAK,CAAC,CAAC,CAAC,IAAIF,KAAK,CAACI,YAAY,EAAE,GAAGJ,KAAK,CAACK,IAAI,EAAE;IAC/CH,KAAK,CAAC,CAAC,CAAC,IAAIF,KAAK,CAACI,YAAY,EAAE,GAAGJ,KAAK,CAACK,IAAI,EAAE;EACjD;EAEA,OAAO,IAAAC,sBAAa,GAAE,CACnBH,MAAM,CAAED,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,GAAGA,KAAK,CAACK,KAAK,EAAE,CAACC,OAAO,EAAE,CAAmB,CACjFN,KAAK,CAAEA,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,GAAGC,MAAM,GAAGA,MAAM,CAACI,KAAK,EAAE,CAACC,OAAO,EAAE,CAAc,CAACP,KAAK,CAAC;AACzF,CAAC;AAACjB,OAAA,CAAAe,MAAA,GAAAA,MAAA;AAEK,IAAMU,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,CAAS,EAAEC,CAAS;EAAA,OAAK,UAACC,IAAiC;IAAA,OACzFA,IAAI,CAACF,CAAC,CAAC,KAAK,IAAI,IAAIE,IAAI,CAACD,CAAC,CAAC,KAAK,IAAI;EAAA;AAAA;AAAC3B,OAAA,CAAAyB,eAAA,GAAAA,eAAA;AAEhC,IAAMI,WAAW,GAAG,SAAdA,WAAWA,CAAIH,CAAS,EAAEC,CAAS;EAAA,OAAK,UAACC,IAAiC;IAAA,OACrFA,IAAI,CAACF,CAAC,CAAC,KAAK,IAAI,IAAIE,IAAI,CAACF,CAAC,CAAC,KAAKI,SAAS,IAAIF,IAAI,CAACD,CAAC,CAAC,KAAK,IAAI,IAAIC,IAAI,CAACD,CAAC,CAAC,KAAKG,SAAS;EAAA;AAAA;AAAC9B,OAAA,CAAA6B,WAAA,GAAAA,WAAA;AAElF,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAiCf,KAAY,EAAEC,KAAa;EAAA,OACvFD,KAAK,CAACgB,SAAS,GAAGhB,KAAK,CAACC,KAAK,CAAC,GAAID,KAAK,CAACgB,SAAS,EAAE,GAAG,CAAC,GAAGhB,KAAK,CAACC,KAAK,CAAC;AAAA;AAACjB,OAAA,CAAA+B,gBAAA,GAAAA,gBAAA;AAElE,IAAME,MAAM,GAAG,SAATA,MAAMA,CAMjBC,IAAU,EACVC,GAAQ,EACmC;EAC3C,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IAC3B,OAAO,IAAAC,eAAM,EAACF,IAAI,EAAE,UAACG,CAAC;MAAA,OAAKA,CAAC,CAACF,GAAG,CAAC;IAAA,EAAC;EACpC;EACA,OAAO,IAAAC,eAAM,EAACF,IAAI,EAAEC,GAAG,CAAC;AAC1B,CAAC;AAACnC,OAAA,CAAAiC,MAAA,GAAAA,MAAA;AAEK,IAAMK,WAAW,GAAG,SAAdA,WAAWA,CAItBJ,IAAY,EACZK,OAAgC,EAChCC,IAAU;EAAA,OAEVN,IAAI,CAACO,MAAM,CAAC,UAACC,GAAG,EAAEL,CAAC,EAAEM,CAAC,EAAET,IAAI,EAAK;IAC/B,IAAIK,OAAO,CAACF,CAAC,CAAC,EAAE;MACdK,GAAG,CAACE,IAAI,KAAAC,gBAAA,iBACLL,IAAI,EAAG,IAAI,EACJ;IACZ,CAAC,MAAM;MACL,IAAMM,IAAI,GAAGZ,IAAI,CAACS,CAAC,GAAG,CAAC,CAAC;MACxB,IAAMI,IAAI,GAAGb,IAAI,CAACS,CAAC,GAAG,CAAC,CAAC;MAExB,IAAIA,CAAC,KAAK,CAAC,EAAE;QACX,IAAMK,OAAO,GAAGd,IAAI,CAACe,IAAI,CAACV,OAAO,CAAC;QAClCG,GAAG,CAACE,IAAI,KAAAM,cAAA,iBAAAA,cAAA,iBACHb,CAAC,WAAAQ,gBAAA,iBACHL,IAAI,EAAGQ,OAAO,GAAGA,OAAO,CAACR,IAAI,CAAC,GAAG,IAAI,GACtC;MACJ;;MAEA;MACA,IAAIM,IAAI,IAAIP,OAAO,CAACO,IAAI,CAAC,EAAE;QACzBJ,GAAG,CAACE,IAAI,CAACE,IAAI,CAAC;MAChB;;MAEA;MACA,IAAIC,IAAI,IAAIR,OAAO,CAACQ,IAAI,CAAC,EAAE;QACzBL,GAAG,CAACE,IAAI,CAACG,IAAI,CAAC;MAChB;MAEA,IAAIb,IAAI,CAACiB,MAAM,GAAG,CAAC,KAAKR,CAAC,EAAE;QACzB,IAAMS,OAAO,GAAGlB,IAAI,CAACX,KAAK,EAAE,CAACC,OAAO,EAAE,CAACyB,IAAI,CAACV,OAAO,CAAC;QACpDG,GAAG,CAACE,IAAI,KAAAM,cAAA,iBAAAA,cAAA,iBACHb,CAAC,WAAAQ,gBAAA,iBACHL,IAAI,EAAGY,OAAO,GAAGA,OAAO,CAACZ,IAAI,CAAC,GAAG,IAAI,GACtC;MACJ;IACF;IACA,OAAOE,GAAG;EACZ,CAAC,EAAE,EAAE,CAAW;AAAA;AAAC1C,OAAA,CAAAsC,WAAA,GAAAA,WAAA;AAQZ,IAAMe,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAO3BnB,IAAY,EACZlB,KAAY,EACZmB,GAAQ,EACRlB,KAAa,EACV;EACH;EACA,IAAI,QAAQ,IAAID,KAAK,IAAI,OAAOA,KAAK,CAACD,MAAM,KAAK,UAAU,EAAE;IAC3D,IAAMuC,MAAM,GAAG,IAAAC,iBAAQ,EAAC,UAAClB,CAA4B;MAAA,OAAKA,CAAC,CAACF,GAAG,CAAC;IAAA,EAAC,CAACqB,MAAM;IACxE,OAAOF,MAAM,CAACpB,IAAI,EAAEjB,KAAK,CAAC;EAC5B;EACA;EAAA,KACK,IAAI,MAAM,IAAID,KAAK,IAAI,OAAOA,KAAK,CAACK,IAAI,KAAK,WAAW,EAAE;IAC7D,IAAMoC,KAAK,GAAGvB,IAAI,CAACwB,SAAS,CAAC,UAACrB,CAAC;MAAA,OAAKA,CAAC,CAACF,GAAG,CAAC,KAAKlB,KAAK;IAAA,EAAC;IACrD,OAAOwC,KAAK,IAAI,CAAC,GAAGA,KAAK,GAAG,IAAI;EAClC,CAAC,MAAM;IACLE,OAAO,CAACC,IAAI,CAAC,uEAAuE,CAAC;IACrF,OAAO,IAAI;EACb;AACF,CAAC;AAAC5D,OAAA,CAAAqD,gBAAA,GAAAA,gBAAA;AAEK,IAAMQ,WAAW,GAAG,SAAdA,WAAWA,CACtBnC,CAAS,EACTC,CAAS,EACTmC,CAAS,EACTC,CAAS,EACTC,CAAS,EAKN;EAAA,IAJHC,EAAE,GAAAC,SAAA,CAAAf,MAAA,QAAAe,SAAA,QAAApC,SAAA,GAAAoC,SAAA,MAAG,KAAK;EAAA,IACVC,EAAE,GAAAD,SAAA,CAAAf,MAAA,QAAAe,SAAA,QAAApC,SAAA,GAAAoC,SAAA,MAAG,KAAK;EAAA,IACVE,EAAE,GAAAF,SAAA,CAAAf,MAAA,QAAAe,SAAA,QAAApC,SAAA,GAAAoC,SAAA,MAAG,KAAK;EAAA,IACVG,EAAE,GAAAH,SAAA,CAAAf,MAAA,QAAAe,SAAA,QAAApC,SAAA,GAAAoC,SAAA,MAAG,KAAK;EAEV,IAAII,MAAM,OAAAC,MAAA,CAAO7C,CAAC,GAAGsC,CAAC,OAAAO,MAAA,CAAI5C,CAAC,CAAE;EAC7B2C,MAAM,QAAAC,MAAA,CAAQT,CAAC,GAAG,CAAC,GAAGE,CAAC,CAAE;EACzB,IAAIG,EAAE,EAAE;IACNG,MAAM,QAAAC,MAAA,CAAQP,CAAC,OAAAO,MAAA,CAAIP,CAAC,aAAAO,MAAA,CAAUP,CAAC,OAAAO,MAAA,CAAIP,CAAC,CAAE;EACxC,CAAC,MAAM;IACLM,MAAM,QAAAC,MAAA,CAAQP,CAAC,CAAE;IACjBM,MAAM,QAAAC,MAAA,CAAQP,CAAC,CAAE;EACnB;EACAM,MAAM,QAAAC,MAAA,CAAQR,CAAC,GAAG,CAAC,GAAGC,CAAC,CAAE;EACzB,IAAIK,EAAE,EAAE;IACNC,MAAM,QAAAC,MAAA,CAAQP,CAAC,OAAAO,MAAA,CAAIP,CAAC,aAAAO,MAAA,CAAU,CAACP,CAAC,OAAAO,MAAA,CAAIP,CAAC,CAAE;EACzC,CAAC,MAAM;IACLM,MAAM,QAAAC,MAAA,CAAQP,CAAC,CAAE;IACjBM,MAAM,QAAAC,MAAA,CAAQ,CAACP,CAAC,CAAE;EACpB;EACAM,MAAM,QAAAC,MAAA,CAAQ,CAAC,GAAGP,CAAC,GAAGF,CAAC,CAAE;EACzB,IAAIM,EAAE,EAAE;IACNE,MAAM,QAAAC,MAAA,CAAQP,CAAC,OAAAO,MAAA,CAAIP,CAAC,aAAAO,MAAA,CAAU,CAACP,CAAC,OAAAO,MAAA,CAAI,CAACP,CAAC,CAAE;EAC1C,CAAC,MAAM;IACLM,MAAM,QAAAC,MAAA,CAAQ,CAACP,CAAC,CAAE;IAClBM,MAAM,QAAAC,MAAA,CAAQ,CAACP,CAAC,CAAE;EACpB;EACAM,MAAM,QAAAC,MAAA,CAAQ,CAAC,GAAGP,CAAC,GAAGD,CAAC,CAAE;EACzB,IAAIE,EAAE,EAAE;IACNK,MAAM,QAAAC,MAAA,CAAQP,CAAC,OAAAO,MAAA,CAAIP,CAAC,aAAAO,MAAA,CAAUP,CAAC,OAAAO,MAAA,CAAI,CAACP,CAAC,CAAE;EACzC,CAAC,MAAM;IACLM,MAAM,QAAAC,MAAA,CAAQ,CAACP,CAAC,CAAE;IAClBM,MAAM,QAAAC,MAAA,CAAQP,CAAC,CAAE;EACnB;EACAM,MAAM,IAAI,GAAG;EACb,OAAOA,MAAM;AACf,CAAC;AAACtE,OAAA,CAAA6D,WAAA,GAAAA,WAAA;AAEK,IAAMW,WAAW,GAAG,SAAdA,WAAWA,CAAIxD,KAAoB,EAAK;EACnD,IAAI,WAAW,IAAIA,KAAK,EAAE;IACxB,OAAOA,KAAK;EACd;EAEA,IAAMyD,IAAI,GAAG,IAAAC,kBAAS,GAAE,CACrBxD,KAAK,CAAEF,KAAK,CAASE,KAAK,EAAE,CAAC,CAC7BC,MAAM,CAAEH,KAAK,CAASG,MAAM,EAAE,CAAC;EAElC,OAAOsD,IAAI;AACb,CAAC;AAACzE,OAAA,CAAAwE,WAAA,GAAAA,WAAA;AAEK,IAAMG,OAAO,GAAG,SAAVA,OAAOA,CAA0CC,IAAU,EAAW;EACjF,IAAMC,OAAoC,GAAG,CAAC,CAAC;EAC/C,OAAQ,YAAoB;IAAA,SAAAC,IAAA,GAAAZ,SAAA,CAAAf,MAAA,EAAhB4B,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAf,SAAA,CAAAe,IAAA;IAAA;IACd,IAAMC,OAAO,GAAGH,IAAI,CAACI,IAAI,CAAC,GAAG,CAAC;IAC9B,IAAI,CAACN,OAAO,CAACK,OAAO,CAAC,EAAE;MACrBL,OAAO,CAACK,OAAO,CAAC,GAAGN,IAAI,CAAAQ,KAAA,SAAIL,IAAI,CAAC;IAClC;IACA,OAAOF,OAAO,CAACK,OAAO,CAAC;EACzB,CAAC;AACH,CAAC;AAAClF,OAAA,CAAA2E,OAAA,GAAAA,OAAA;AAEK,IAAMU,WAAW,GAAGV,OAAO,CAAC,UAACW,IAAY,EAAEC,QAAiB,EAAK;EACtE,IAAI,CAACD,IAAI,EAAE,OAAO,CAAC;EAEnB,IAAME,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC;EAC3C,IAAIH,QAAQ,EAAE;IACZC,IAAI,CAACG,KAAK,CAACJ,QAAQ,MAAAhB,MAAA,CAAMgB,QAAQ,OAAI;EACvC;EAAC,IAAAK,SAAA,OAAAC,2BAAA,aACkBP,IAAI,CAACQ,KAAK,CAAC,IAAI,CAAC;IAAAC,KAAA;EAAA;IAAnC,KAAAH,SAAA,CAAAI,CAAA,MAAAD,KAAA,GAAAH,SAAA,CAAAK,CAAA,IAAAC,IAAA,GAAqC;MAAA,IAA1BC,IAAI,GAAAJ,KAAA,CAAA9E,KAAA;MACbuE,IAAI,CAACY,MAAM,CAACX,QAAQ,CAACY,cAAc,CAACF,IAAI,CAAC,CAAC;MAC1CX,IAAI,CAACY,MAAM,CAACX,QAAQ,CAACC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C;EAAC,SAAAY,GAAA;IAAAV,SAAA,CAAAW,CAAA,CAAAD,GAAA;EAAA;IAAAV,SAAA,CAAAY,CAAA;EAAA;EACDhB,IAAI,CAACG,KAAK,CAACc,OAAO,GAAG,cAAc;EACnChB,QAAQ,CAACiB,IAAI,CAACN,MAAM,CAACZ,IAAI,CAAC;EAC1B,IAAMmB,SAAS,GAAGnB,IAAI,CAACoB,WAAW;EAClC,IAAMC,UAAU,GAAGrB,IAAI,CAACsB,YAAY;EACpCtB,IAAI,CAACuB,MAAM,EAAE;EACb,OAAOC,IAAI,CAACC,GAAG,CAACN,SAAS,EAAEE,UAAU,CAAC;AACxC,CAAC,CAAC;AAAC7G,OAAA,CAAAqF,WAAA,GAAAA,WAAA;AAEH,IAAI6B,SAAS,GAAG,CAAC;AACV,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAA;EAAA,IAAIC,MAAM,GAAAlD,SAAA,CAAAf,MAAA,QAAAe,SAAA,QAAApC,SAAA,GAAAoC,SAAA,MAAG,KAAK;EAAA,UAAAK,MAAA,CAAQ6C,MAAM,EAAA7C,MAAA,CAAG2C,SAAS,EAAE;AAAA,CAAE;AAAClH,OAAA,CAAAmH,QAAA,GAAAA,QAAA;AAE/D,IAAME,gBAAgB,GAAGtH,MAAM,CAAC,yCAAyC,CAAC;AAACC,OAAA,CAAAqH,gBAAA,GAAAA,gBAAA;AAE3E,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAI7D,KAAa,EAAK;EACzDA,KAAK,EAAE;EACP,IAAIA,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,CAAC;EACxB,IAAIA,KAAK,GAAG,EAAE,EAAEA,KAAK,IAAI,EAAE;EAE3B,8BAAAc,MAAA,CAA8Bd,KAAK;AACrC,CAAC;AAACzD,OAAA,CAAAsH,wBAAA,GAAAA,wBAAA;AAEK,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIrF,IAAW,EAAEC,GAAW,EAAK;EACpE,IAAMqF,CAAC,GAAG,IAAAC,kBAAS,GAAE,CAClBtG,MAAM,CAAC,CAAC,CAAC,EAAE6F,IAAI,CAACC,GAAG,CAAA7B,KAAA,CAAR4B,IAAI,MAAAU,mBAAA,aAAQxF,IAAI,CAACyF,GAAG,CAAC,UAACC,EAAE;IAAA,OAAKA,EAAE,CAACzF,GAAG,CAAC;EAAA,EAAC,EAAC,CAAC,CAAC,CACnDjB,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;EAErB,OAAOsG,CAAC;AACV,CAAC;AAACxH,OAAA,CAAAuH,wBAAA,GAAAA,wBAAA;AAEK,IAAMM,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,QAAiB,EAAa;EACjE,OAAOA,QAAQ,KAAKhG,SAAS,GAAG,EAAE,GAAG,GAAG;AAC1C,CAAC;AAAC9B,OAAA,CAAA6H,oBAAA,GAAAA,oBAAA"}
package/lib/es6/Area.js CHANGED
@@ -16,17 +16,17 @@ import { definedData, scaleOfBandwidth, getNullData, definedNullData, interpolat
16
16
  import AnimatedClipPath from './AnimatedClipPath';
17
17
  import { PatternFill } from './Pattern';
18
18
  /*__reshadow-styles__:"./style/area.shadow.css"*/
19
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SArea_16bwq_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);fill-opacity:.2}.___SArea_16bwq_gg_.__color_16bwq_gg_{fill:var(--color_16bwq)}.___SArea_16bwq_gg_.__pattern_16bwq_gg_{fill:var(--pattern_16bwq);fill-opacity:.7}.___SArea_16bwq_gg_.__transparent_16bwq_gg_{opacity:.3}.___SAreaLine_16bwq_gg_{stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke-width:3;fill:transparent}.___SAreaLine_16bwq_gg_.__color_16bwq_gg_{stroke:var(--color_16bwq)}.___SAreaLine_16bwq_gg_.__transparent_16bwq_gg_{opacity:.3}.___SAreaLine_16bwq_gg_,.___SArea_16bwq_gg_{transition-property:d;transition-duration:var(--duration_16bwq);transition-timing-function:ease-in-out}.___SNull_16bwq_gg_{fill:transparent;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf);stroke-dasharray:4}.___SNull_16bwq_gg_.__hide_16bwq_gg_{display:none}" /*__inner_css_end__*/, "16bwq_gg_") /*__reshadow_css_end__*/, {
20
- "__SArea": "___SArea_16bwq_gg_",
21
- "_color": "__color_16bwq_gg_",
22
- "--color": "--color_16bwq",
23
- "_pattern": "__pattern_16bwq_gg_",
24
- "--pattern": "--pattern_16bwq",
25
- "_transparent": "__transparent_16bwq_gg_",
26
- "__SAreaLine": "___SAreaLine_16bwq_gg_",
27
- "--duration": "--duration_16bwq",
28
- "__SNull": "___SNull_16bwq_gg_",
29
- "_hide": "__hide_16bwq_gg_"
19
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SArea_1q5v3_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);fill-opacity:.2}.___SArea_1q5v3_gg_.__color_1q5v3_gg_{fill:var(--color_1q5v3)}.___SArea_1q5v3_gg_.__pattern_1q5v3_gg_{fill:var(--pattern_1q5v3);fill-opacity:.7}.___SArea_1q5v3_gg_.__transparent_1q5v3_gg_{opacity:.3}.___SAreaLine_1q5v3_gg_{stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke-width:3;fill:transparent}.___SAreaLine_1q5v3_gg_.__color_1q5v3_gg_{stroke:var(--color_1q5v3)}.___SAreaLine_1q5v3_gg_.__transparent_1q5v3_gg_{opacity:.3}.___SAreaLine_1q5v3_gg_,.___SArea_1q5v3_gg_{transition-property:d;transition-duration:var(--duration_1q5v3);transition-timing-function:ease-in-out}.___SNull_1q5v3_gg_{fill:transparent;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf);stroke-dasharray:4}.___SNull_1q5v3_gg_.__hide_1q5v3_gg_{display:none}" /*__inner_css_end__*/, "1q5v3_gg_") /*__reshadow_css_end__*/, {
20
+ "__SArea": "___SArea_1q5v3_gg_",
21
+ "_color": "__color_1q5v3_gg_",
22
+ "--color": "--color_1q5v3",
23
+ "_pattern": "__pattern_1q5v3_gg_",
24
+ "--pattern": "--pattern_1q5v3",
25
+ "_transparent": "__transparent_1q5v3_gg_",
26
+ "__SAreaLine": "___SAreaLine_1q5v3_gg_",
27
+ "--duration": "--duration_1q5v3",
28
+ "__SNull": "___SNull_1q5v3_gg_",
29
+ "_hide": "__hide_1q5v3_gg_"
30
30
  });
31
31
  var AreaRoot = /*#__PURE__*/function (_Component) {
32
32
  _inherits(AreaRoot, _Component);
package/lib/es6/Axis.js CHANGED
@@ -12,20 +12,20 @@ import { Component, sstyled } from '@semcore/core';
12
12
  import createElement from './createElement';
13
13
  import { scaleOfBandwidth } from './utils';
14
14
  /*__reshadow-styles__:"./style/axis.shadow.css"*/
15
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SAxis_msuqp_gg_{stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___SAxis_msuqp_gg_.__hide_msuqp_gg_,.___STick_msuqp_gg_.__hide_msuqp_gg_{display:none}.___STick_msuqp_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79)}.___SGrid_msuqp_gg_{fill:transparent;stroke:var(--intergalactic-border-secondary, #e0e1e9)}.___STitle_msuqp_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-text-hint, #6c6e79);transform-origin:var(--transform-origin_msuqp)}.___STitle_msuqp_gg_._position_top_msuqp_gg_{text-anchor:middle}.___STitle_msuqp_gg_._position_bottom_msuqp_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_msuqp_gg_._position_left_msuqp_gg_,.___STitle_msuqp_gg_._position_right_msuqp_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STitle_msuqp_gg_._position_left_msuqp_gg_.__verticalWritingMode_msuqp_gg_,.___STitle_msuqp_gg_._position_right_msuqp_gg_.__verticalWritingMode_msuqp_gg_{writing-mode:vertical-rl;transform:none}.___STick_msuqp_gg_._position_top_msuqp_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_msuqp_gg_._position_bottom_msuqp_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_msuqp_gg_._position_right_msuqp_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_msuqp_gg_._position_left_msuqp_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_msuqp_gg_._position_custom_0_msuqp_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_msuqp_gg_._position_custom_1_msuqp_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}" /*__inner_css_end__*/, "msuqp_gg_") /*__reshadow_css_end__*/, {
16
- "__SAxis": "___SAxis_msuqp_gg_",
17
- "_hide": "__hide_msuqp_gg_",
18
- "__STick": "___STick_msuqp_gg_",
19
- "__SGrid": "___SGrid_msuqp_gg_",
20
- "__STitle": "___STitle_msuqp_gg_",
21
- "--transform-origin": "--transform-origin_msuqp",
22
- "_position_top": "_position_top_msuqp_gg_",
23
- "_position_bottom": "_position_bottom_msuqp_gg_",
24
- "_position_right": "_position_right_msuqp_gg_",
25
- "_position_left": "_position_left_msuqp_gg_",
26
- "_verticalWritingMode": "__verticalWritingMode_msuqp_gg_",
27
- "_position_custom_0": "_position_custom_0_msuqp_gg_",
28
- "_position_custom_1": "_position_custom_1_msuqp_gg_"
15
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SAxis_55qzo_gg_{stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___SAxis_55qzo_gg_.__hide_55qzo_gg_,.___STick_55qzo_gg_.__hide_55qzo_gg_{display:none}.___STick_55qzo_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79)}.___SGrid_55qzo_gg_{fill:transparent;stroke:var(--intergalactic-border-secondary, #e0e1e9)}.___STitle_55qzo_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-text-hint, #6c6e79);transform-origin:var(--transform-origin_55qzo)}.___STitle_55qzo_gg_._position_top_55qzo_gg_{text-anchor:middle}.___STitle_55qzo_gg_._position_bottom_55qzo_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_55qzo_gg_._position_left_55qzo_gg_,.___STitle_55qzo_gg_._position_right_55qzo_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STitle_55qzo_gg_._position_left_55qzo_gg_.__verticalWritingMode_55qzo_gg_,.___STitle_55qzo_gg_._position_right_55qzo_gg_.__verticalWritingMode_55qzo_gg_{writing-mode:vertical-rl;transform:none}.___STick_55qzo_gg_._position_top_55qzo_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_55qzo_gg_._position_bottom_55qzo_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_55qzo_gg_._position_right_55qzo_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_55qzo_gg_._position_left_55qzo_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_55qzo_gg_._position_custom_0_55qzo_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_55qzo_gg_._position_custom_1_55qzo_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}" /*__inner_css_end__*/, "55qzo_gg_") /*__reshadow_css_end__*/, {
16
+ "__SAxis": "___SAxis_55qzo_gg_",
17
+ "_hide": "__hide_55qzo_gg_",
18
+ "__STick": "___STick_55qzo_gg_",
19
+ "__SGrid": "___SGrid_55qzo_gg_",
20
+ "__STitle": "___STitle_55qzo_gg_",
21
+ "--transform-origin": "--transform-origin_55qzo",
22
+ "_position_top": "_position_top_55qzo_gg_",
23
+ "_position_bottom": "_position_bottom_55qzo_gg_",
24
+ "_position_right": "_position_right_55qzo_gg_",
25
+ "_position_left": "_position_left_55qzo_gg_",
26
+ "_verticalWritingMode": "__verticalWritingMode_55qzo_gg_",
27
+ "_position_custom_0": "_position_custom_0_55qzo_gg_",
28
+ "_position_custom_1": "_position_custom_1_55qzo_gg_"
29
29
  });
30
30
  var CUSTOM_0 = Symbol('custom_0');
31
31
  var CUSTOM_1 = Symbol('custom_1');
package/lib/es6/Bar.js CHANGED
@@ -14,16 +14,16 @@ import AnimatedClipPath from './AnimatedClipPath';
14
14
  import { scaleToBand, roundedPath } from './utils';
15
15
  import { PatternFill } from './Pattern';
16
16
  /*__reshadow-styles__:"./style/bar.shadow.css"*/
17
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBar_xzhxq_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_xzhxq);transition-timing-function:ease-in-out}.___SBar_xzhxq_gg_.__color_xzhxq_gg_{fill:var(--color_xzhxq)}.___SBar_xzhxq_gg_.__pattern_xzhxq_gg_.__color_xzhxq_gg_{fill:var(--pattern_xzhxq);stroke:var(--color_xzhxq);stroke-width:1px}.___SBar_xzhxq_gg_.__hide_xzhxq_gg_{display:none}.___SBar_xzhxq_gg_.__transparent_xzhxq_gg_{opacity:.3}.___SBackground_xzhxq_gg_{fill:var(--intergalactic-chart-palette-order-other-data, #c4c7cf)}" /*__inner_css_end__*/, "xzhxq_gg_") /*__reshadow_css_end__*/, {
18
- "__SBar": "___SBar_xzhxq_gg_",
19
- "--duration": "--duration_xzhxq",
20
- "_color": "__color_xzhxq_gg_",
21
- "--color": "--color_xzhxq",
22
- "_pattern": "__pattern_xzhxq_gg_",
23
- "--pattern": "--pattern_xzhxq",
24
- "_hide": "__hide_xzhxq_gg_",
25
- "_transparent": "__transparent_xzhxq_gg_",
26
- "__SBackground": "___SBackground_xzhxq_gg_"
17
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBar_8ogb8_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_8ogb8);transition-timing-function:ease-in-out}.___SBar_8ogb8_gg_.__color_8ogb8_gg_{fill:var(--color_8ogb8)}.___SBar_8ogb8_gg_.__pattern_8ogb8_gg_.__color_8ogb8_gg_{fill:var(--pattern_8ogb8);stroke:var(--color_8ogb8);stroke-width:1px}.___SBar_8ogb8_gg_.__hide_8ogb8_gg_{display:none}.___SBar_8ogb8_gg_.__transparent_8ogb8_gg_{opacity:.3}.___SBackground_8ogb8_gg_{fill:var(--intergalactic-chart-palette-order-other-data, #c4c7cf)}" /*__inner_css_end__*/, "8ogb8_gg_") /*__reshadow_css_end__*/, {
18
+ "__SBar": "___SBar_8ogb8_gg_",
19
+ "--duration": "--duration_8ogb8",
20
+ "_color": "__color_8ogb8_gg_",
21
+ "--color": "--color_8ogb8",
22
+ "_pattern": "__pattern_8ogb8_gg_",
23
+ "--pattern": "--pattern_8ogb8",
24
+ "_hide": "__hide_8ogb8_gg_",
25
+ "_transparent": "__transparent_8ogb8_gg_",
26
+ "__SBackground": "___SBackground_8ogb8_gg_"
27
27
  });
28
28
  export var MIN_HEIGHT = 2;
29
29
  var calcPartBarY = function calcPartBarY(y, minHeight, height) {