intergalactic 15.53.1-prerelease-f5568cd8 → 15.53.1-prerelease-56fa8ea6

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 (38) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/d3-chart/component/Chart/AbstractChart.d.ts +1 -0
  3. package/d3-chart/component/Chart/BubbleChart.type.d.ts +4 -0
  4. package/d3-chart/lib/cjs/Bubble.js +40 -35
  5. package/d3-chart/lib/cjs/Bubble.js.map +1 -1
  6. package/d3-chart/lib/cjs/ScatterPlot.js +1 -1
  7. package/d3-chart/lib/cjs/ScatterPlot.js.map +1 -1
  8. package/d3-chart/lib/cjs/component/Chart/AbstractChart.js +11 -0
  9. package/d3-chart/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
  10. package/d3-chart/lib/cjs/component/Chart/BubbleChart.js +50 -16
  11. package/d3-chart/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
  12. package/d3-chart/lib/cjs/component/Chart/BubbleChart.type.js.map +1 -1
  13. package/d3-chart/lib/cjs/component/Chart/ScatterPlotChart.js +15 -7
  14. package/d3-chart/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
  15. package/d3-chart/lib/cjs/index.js +12 -0
  16. package/d3-chart/lib/cjs/index.js.map +1 -1
  17. package/d3-chart/lib/cjs/utils.js +13 -1
  18. package/d3-chart/lib/cjs/utils.js.map +1 -1
  19. package/d3-chart/lib/es6/Bubble.js +41 -36
  20. package/d3-chart/lib/es6/Bubble.js.map +1 -1
  21. package/d3-chart/lib/es6/ScatterPlot.js +2 -2
  22. package/d3-chart/lib/es6/ScatterPlot.js.map +1 -1
  23. package/d3-chart/lib/es6/component/Chart/AbstractChart.js +11 -0
  24. package/d3-chart/lib/es6/component/Chart/AbstractChart.js.map +1 -1
  25. package/d3-chart/lib/es6/component/Chart/BubbleChart.js +51 -17
  26. package/d3-chart/lib/es6/component/Chart/BubbleChart.js.map +1 -1
  27. package/d3-chart/lib/es6/component/Chart/BubbleChart.type.js.map +1 -1
  28. package/d3-chart/lib/es6/component/Chart/ScatterPlotChart.js +16 -8
  29. package/d3-chart/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
  30. package/d3-chart/lib/es6/index.js +1 -1
  31. package/d3-chart/lib/es6/index.js.map +1 -1
  32. package/d3-chart/lib/es6/utils.js +11 -1
  33. package/d3-chart/lib/es6/utils.js.map +1 -1
  34. package/d3-chart/lib/types/component/Chart/AbstractChart.d.ts +1 -0
  35. package/d3-chart/lib/types/component/Chart/BubbleChart.type.d.ts +4 -0
  36. package/d3-chart/lib/types/utils.d.ts +2 -0
  37. package/d3-chart/utils.d.ts +2 -0
  38. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## [15.53.1] - 2024-02-01
2
2
 
3
+ ### @semcore/d3-chart
4
+
5
+ - **Fixed** view data in BubbleChart.
6
+ - **Fixed** prevent animation on every rerender.
7
+
3
8
  ### @semcore/utils
4
9
 
5
10
  - **Changed** version of `postcss`.
@@ -35,6 +35,7 @@ export declare abstract class AbstractChart<D extends ListData | ObjectData, T e
35
35
  protected get flatValues(): Set<number>;
36
36
  protected get maxStackedValue(): number;
37
37
  protected totalValue(data: ObjectData): number;
38
+ protected getValueScale(values: number[]): number;
38
39
  protected setHighlightedLine(index: number): void;
39
40
  protected handleChangeVisible(id: string, isVisible: boolean): void;
40
41
  protected handleWithTrendChange(isVisible: boolean): void;
@@ -2,6 +2,10 @@ import { Intergalactic } from 'intergalactic/core';
2
2
  import { Flex } from 'intergalactic/flex-box';
3
3
  import { ScaleLinear } from 'd3-scale';
4
4
  import { BaseChartProps } from './AbstractChart.type';
5
+ export type ScaledValues = {
6
+ x: number[];
7
+ y: number[];
8
+ };
5
9
  export type BubbleChartData = Array<{
6
10
  x: number;
7
11
  y: number;
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports["default"] = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
12
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
@@ -16,7 +15,6 @@ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
16
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
16
  var _core = require("intergalactic/core");
18
17
  var _react = _interopRequireDefault(require("react"));
19
- var _d3Scale = require("d3-scale");
20
18
  var _d3Transition = require("d3-transition");
21
19
  var _canUseDOM = _interopRequireDefault(require("intergalactic/utils/lib/canUseDOM"));
22
20
  var _uniqueID = _interopRequireDefault(require("intergalactic/utils/lib/uniqueID"));
@@ -85,9 +83,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
85
83
  uid = _this$asProps.uid,
86
84
  data = _this$asProps.data,
87
85
  value = _this$asProps.value;
88
- var z = (0, _d3Scale.scaleSqrt)().domain([0, Math.max.apply(Math, (0, _toConsumableArray2["default"])(data.map(function (el) {
89
- return el[value];
90
- })))]).range([5.5, 50.5]);
86
+ var z = (0, _utils.getBubbleChartValueScale)(data, value);
91
87
  var selectRect = (0, _d3Transition.transition)().selection().selectAll("[id^=".concat(uid).concat(uid, "]")).attr('r', 0);
92
88
  var selectRectNode = selectRect.node();
93
89
  if (selectRectNode) {
@@ -99,8 +95,19 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
99
95
  }
100
96
  }, {
101
97
  key: "componentDidUpdate",
102
- value: function componentDidUpdate() {
103
- this.animationCircle();
98
+ value: function componentDidUpdate(prevProps) {
99
+ var _this$asProps2 = this.asProps,
100
+ data = _this$asProps2.data,
101
+ x = _this$asProps2.x,
102
+ y = _this$asProps2.y,
103
+ value = _this$asProps2.value;
104
+ var prevX = prevProps.x,
105
+ prevY = prevProps.y,
106
+ prevValue = prevProps.value;
107
+ var prevData = prevProps.$rootProps.data;
108
+ if (data !== prevData || x !== prevX || y !== prevY || value !== prevValue) {
109
+ this.animationCircle();
110
+ }
104
111
  }
105
112
  }, {
106
113
  key: "componentDidMount",
@@ -111,32 +118,30 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
111
118
  key: "renderCircle",
112
119
  value: function renderCircle(d, i) {
113
120
  var _ref2, _d$color;
114
- var _this$asProps2 = this.asProps,
115
- color = _this$asProps2.color,
116
- scale = _this$asProps2.scale,
117
- x = _this$asProps2.x,
118
- y = _this$asProps2.y,
119
- offset = _this$asProps2.offset,
120
- styles = _this$asProps2.styles,
121
- uid = _this$asProps2.uid,
122
- duration = _this$asProps2.duration,
123
- value = _this$asProps2.value,
124
- label = _this$asProps2.label,
125
- markedCross = _this$asProps2.markedCross,
126
- size = _this$asProps2.size,
127
- data = _this$asProps2.data,
128
- transparent = _this$asProps2.transparent,
129
- resolveColor = _this$asProps2.resolveColor,
130
- patterns = _this$asProps2.patterns;
121
+ var _this$asProps3 = this.asProps,
122
+ color = _this$asProps3.color,
123
+ scale = _this$asProps3.scale,
124
+ x = _this$asProps3.x,
125
+ y = _this$asProps3.y,
126
+ offset = _this$asProps3.offset,
127
+ styles = _this$asProps3.styles,
128
+ uid = _this$asProps3.uid,
129
+ duration = _this$asProps3.duration,
130
+ value = _this$asProps3.value,
131
+ label = _this$asProps3.label,
132
+ markedCross = _this$asProps3.markedCross,
133
+ size = _this$asProps3.size,
134
+ data = _this$asProps3.data,
135
+ transparent = _this$asProps3.transparent,
136
+ resolveColor = _this$asProps3.resolveColor,
137
+ patterns = _this$asProps3.patterns;
131
138
  var _scale = (0, _slicedToArray2["default"])(scale, 2),
132
139
  xScale = _scale[0],
133
140
  yScale = _scale[1];
134
141
  var SBubble = this.Element;
135
142
  var SCenter = 'text';
136
143
  var SLabel = 'text';
137
- var z = (0, _d3Scale.scaleSqrt)().domain([0, Math.max.apply(Math, (0, _toConsumableArray2["default"])(data.map(function (el) {
138
- return el[value];
139
- })))]).range([5.5, 50.5]);
144
+ var z = (0, _utils.getBubbleChartValueScale)(data, value);
140
145
  var margin = Math.min(xScale.range()[0], xScale.range()[1]);
141
146
  var labelPosition = size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < (0, _utils.measureText)(d[label]) ? 'right' : 'left';
142
147
  var labelDistance = {
@@ -195,13 +200,13 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
195
200
  }, {
196
201
  key: "render",
197
202
  value: function render() {
198
- var _this$asProps3 = this.asProps,
199
- data = _this$asProps3.data,
200
- uid = _this$asProps3.uid,
201
- scale = _this$asProps3.scale,
202
- x = _this$asProps3.x,
203
- y = _this$asProps3.y,
204
- value = _this$asProps3.value;
203
+ var _this$asProps4 = this.asProps,
204
+ data = _this$asProps4.data,
205
+ uid = _this$asProps4.uid,
206
+ scale = _this$asProps4.scale,
207
+ x = _this$asProps4.x,
208
+ y = _this$asProps4.y,
209
+ value = _this$asProps4.value;
205
210
  var _scale2 = (0, _slicedToArray2["default"])(scale, 2),
206
211
  xScale = _scale2[0],
207
212
  yScale = _scale2[1];
@@ -211,7 +216,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
211
216
  var yMargin = Math.min(yScale.range()[0], yScale.range()[1]);
212
217
  this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);
213
218
  this.asProps.dataHintsHandler.establishDataType('points-cloud');
214
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, data.map(this.renderCircle.bind(this)), data.map(this.animationCircle.bind(this)), /*#__PURE__*/_react["default"].createElement("clipPath", {
219
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, data.map(this.renderCircle.bind(this)), /*#__PURE__*/_react["default"].createElement("clipPath", {
215
220
  "aria-hidden": true,
216
221
  id: uid
217
222
  }, /*#__PURE__*/_react["default"].createElement("rect", {
@@ -1 +1 @@
1
- {"version":3,"file":"Bubble.js","names":["_core","require","_react","_interopRequireDefault","_d3Scale","_d3Transition","_canUseDOM","_uniqueID","_createElement","_utils","_Tooltip","_Pattern","style","sstyled","insert","BubbleRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","scaleSqrt","domain","Math","max","_toConsumableArray2","map","el","range","selectRect","transition","selection","selectAll","attr","selectRectNode","node","_","ind","_data$ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref2","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","resolveColor","patterns","_scale","_slicedToArray2","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","measureText","labelDistance","cn","bindHandlerTooltip","xIndex","index","PatternFill","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","Component","uniqueIDEnhancement","BubbleTooltip","_ref","arguments[0]","_ref3","SBubbleTooltip","Tooltip","_objectSpread2","assignProps","Bubble","_______childrenComponents","_default","exports"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT, measureText } from './utils';\nimport Tooltip from './Tooltip';\nimport { PatternFill } from './Pattern';\n\nimport style from './style/bubble.shadow.css';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props, tooltipProps) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, tooltipProps, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind]?.[value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n resolveColor,\n patterns,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i, patterns })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i, patterns })}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={resolveColor(d[color] ?? color)}\n transparent={transparent}\n >\n &#43;\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={resolveColor(d[color])}\n pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={d[color]}\n color={resolveColor(d[color])}\n patterns={patterns}\n />\n )}\n {d[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={resolveColor(d[color])}\n transparent={transparent}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <clipPath aria-hidden id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />{' '}\n </clipPath>\n </>\n );\n }\n}\n\nconst BubbleTooltip = (props) => {\n const SBubbleTooltip = Root;\n return sstyled(props.styles)(<SBubbleTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Bubble = createElement(BubbleRoot, {\n Tooltip: [BubbleTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Bubble;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Bubble.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_canUseDOM","_uniqueID","_createElement","_utils","_Tooltip","_Pattern","style","sstyled","insert","BubbleRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","getBubbleChartValueScale","selectRect","transition","selection","selectAll","attr","selectRectNode","node","_","ind","_data$ind","componentDidUpdate","prevProps","_this$asProps2","prevX","prevY","prevValue","prevData","$rootProps","componentDidMount","renderCircle","d","i","_ref2","_d$color","_this$asProps3","color","scale","offset","styles","label","markedCross","size","transparent","resolveColor","patterns","_scale","_slicedToArray2","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","Math","min","range","labelPosition","measureText","labelDistance","cn","bindHandlerTooltip","xIndex","index","PatternFill","render","_this$asProps4","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","BubbleTooltip","_ref","arguments[0]","_ref3","SBubbleTooltip","Tooltip","_objectSpread2","assignProps","Bubble","_______childrenComponents","_default","exports"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { getBubbleChartValueScale, CONSTANT, measureText } from './utils';\nimport Tooltip from './Tooltip';\nimport { PatternFill } from './Pattern';\n\nimport style from './style/bubble.shadow.css';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props, tooltipProps) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, tooltipProps, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = getBubbleChartValueScale(data, value);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind]?.[value]);\n });\n }\n }\n\n componentDidUpdate(prevProps) {\n const { data, x, y, value } = this.asProps;\n const { x: prevX, y: prevY, value: prevValue } = prevProps;\n const prevData = prevProps.$rootProps.data;\n\n if (data !== prevData || x !== prevX || y !== prevY || value !== prevValue) {\n this.animationCircle();\n }\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n resolveColor,\n patterns,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = getBubbleChartValueScale(data, value);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i, patterns })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i, patterns })}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={resolveColor(d[color] ?? color)}\n transparent={transparent}\n >\n &#43;\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={resolveColor(d[color])}\n pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={d[color]}\n color={resolveColor(d[color])}\n patterns={patterns}\n />\n )}\n {d[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={resolveColor(d[color])}\n transparent={transparent}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n <clipPath aria-hidden id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />{' '}\n </clipPath>\n </>\n );\n }\n}\n\nconst BubbleTooltip = (props) => {\n const SBubbleTooltip = Root;\n return sstyled(props.styles)(<SBubbleTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst Bubble = createElement(BubbleRoot, {\n Tooltip: [BubbleTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Bubble;\n"],"mappings":";;;;;;;;;;;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAFA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,SAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,cAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAAwC;AAAA,IAAAU,KAAA,+BAAAX,KAAA,CAAAY,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAIlCC,UAAU,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,UAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,UAAA;EAAA,SAAAA,WAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,UAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,qBAWG,IAAAa,qBAAS,GAAE,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAA,IAAAJ,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,yBAM5C,UAACgB,OAAO,EAAEC,KAAK,EAAEC,YAAY;MAAA,OAAK,UAAAC,KAAA,EAAgC;QAAA,IAApBC,CAAC,GAAAD,KAAA,CAAVE,OAAO;UAAcC,CAAC,GAAAH,KAAA,CAAVI,OAAO;QAC3E,IAAQC,YAAY,GAAKxB,KAAA,CAAKyB,OAAO,CAA7BD,YAAY;QACpBxB,KAAA,CAAK0B,cAAc,CAACC,qBAAqB,GAAG3B,KAAA,CAAK4B,6BAA6B,CAACR,CAAC,EAAEE,CAAC,CAAC;QACpFtB,KAAA,CAAK0B,cAAc,CAACG,eAAQ,CAACC,eAAe,CAAC,GAAG,IAAI;QACpDN,YAAY,CAACO,IAAI,CAAC,kBAAkB,EAAEf,OAAO,EAAEC,KAAK,EAAEC,YAAY,EAAElB,KAAA,CAAK0B,cAAc,CAAC;MAC1F,CAAC;IAAA;IAAA,OAAA1B,KAAA;EAAA;EAAA,IAAAgC,aAAA,aAAArC,UAAA;IAAAsC,GAAA;IAAAC,KAAA,EATD,SAAAN,8BAAA,EAA4C;MAAA,IAAdR,CAAC,GAAAjB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAG,CAAC;MAAA,IAAEmB,CAAC,GAAAnB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgC,SAAA,GAAAhC,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAEiC,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEC,GAAG,EAAEhB,CAAC;UAAEiB,KAAK,EAAEnB,CAAC;UAAEoB,MAAM,EAAElB,CAAC;UAAEmB,IAAI,EAAErB;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAa,GAAA;IAAAC,KAAA,EASD,SAAAQ,gBAAA,EAAkB;MAChB,IAAAC,aAAA,GAAuC,IAAI,CAAClB,OAAO;QAA3CmB,QAAQ,GAAAD,aAAA,CAARC,QAAQ;QAAEC,GAAG,GAAAF,aAAA,CAAHE,GAAG;QAAEC,IAAI,GAAAH,aAAA,CAAJG,IAAI;QAAEZ,KAAK,GAAAS,aAAA,CAALT,KAAK;MAClC,IAAMa,CAAC,GAAG,IAAAC,+BAAwB,EAACF,IAAI,EAAEZ,KAAK,CAAC;MAE/C,IAAMe,UAAU,GAAG,IAAAC,wBAAU,GAAE,CAACC,SAAS,EAAE,CAACC,SAAS,SAAA1C,MAAA,CAASmC,GAAG,EAAAnC,MAAA,CAAGmC,GAAG,OAAI,CAACQ,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;MAExF,IAAMC,cAAc,GAAGL,UAAU,CAACM,IAAI,EAAE;MACxC,IAAID,cAAc,EAAE;QAClBL,UAAU,CACPC,UAAU,EAAE,CACZN,QAAQ,CAACA,QAAQ,CAAC,CAClBS,IAAI,CAAC,GAAG,EAAE,UAAUG,CAAC,EAAEC,GAAG,EAAE;UAAA,IAAAC,SAAA;UAC3B,OAAOX,CAAC,EAAAW,SAAA,GAACZ,IAAI,CAACW,GAAG,CAAC,cAAAC,SAAA,uBAATA,SAAA,CAAYxB,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC;MACN;IACF;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAAyB,mBAAmBC,SAAS,EAAE;MAC5B,IAAAC,cAAA,GAA8B,IAAI,CAACpC,OAAO;QAAlCqB,IAAI,GAAAe,cAAA,CAAJf,IAAI;QAAE1B,CAAC,GAAAyC,cAAA,CAADzC,CAAC;QAAEE,CAAC,GAAAuC,cAAA,CAADvC,CAAC;QAAEY,KAAK,GAAA2B,cAAA,CAAL3B,KAAK;MACzB,IAAW4B,KAAK,GAAiCF,SAAS,CAAlDxC,CAAC;QAAY2C,KAAK,GAAuBH,SAAS,CAAxCtC,CAAC;QAAgB0C,SAAS,GAAKJ,SAAS,CAA9B1B,KAAK;MACjC,IAAM+B,QAAQ,GAAGL,SAAS,CAACM,UAAU,CAACpB,IAAI;MAE1C,IAAIA,IAAI,KAAKmB,QAAQ,IAAI7C,CAAC,KAAK0C,KAAK,IAAIxC,CAAC,KAAKyC,KAAK,IAAI7B,KAAK,KAAK8B,SAAS,EAAE;QAC1E,IAAI,CAACtB,eAAe,EAAE;MACxB;IACF;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAiC,kBAAA,EAAoB;MAClB,IAAI,CAACzB,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAkC,aAAaC,CAAC,EAAEC,CAAC,EAAE;MAAA,IAAAC,KAAA,EAAAC,QAAA;MACjB,IAAAC,cAAA,GAiBI,IAAI,CAAChD,OAAO;QAhBdiD,KAAK,GAAAD,cAAA,CAALC,KAAK;QACLC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACLvD,CAAC,GAAAqD,cAAA,CAADrD,CAAC;QACDE,CAAC,GAAAmD,cAAA,CAADnD,CAAC;QACDsD,MAAM,GAAAH,cAAA,CAANG,MAAM;QACNC,MAAM,GAAAJ,cAAA,CAANI,MAAM;QACNhC,GAAG,GAAA4B,cAAA,CAAH5B,GAAG;QACHD,QAAQ,GAAA6B,cAAA,CAAR7B,QAAQ;QACRV,KAAK,GAAAuC,cAAA,CAALvC,KAAK;QACL4C,KAAK,GAAAL,cAAA,CAALK,KAAK;QACLC,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACXC,IAAI,GAAAP,cAAA,CAAJO,IAAI;QACJlC,IAAI,GAAA2B,cAAA,CAAJ3B,IAAI;QACJmC,WAAW,GAAAR,cAAA,CAAXQ,WAAW;QACXC,YAAY,GAAAT,cAAA,CAAZS,YAAY;QACZC,QAAQ,GAAAV,cAAA,CAARU,QAAQ;MAEV,IAAAC,MAAA,OAAAC,eAAA,aAAyBV,KAAK;QAAvBW,MAAM,GAAAF,MAAA;QAAEG,MAAM,GAAAH,MAAA;MAErB,IAAMI,OAAO,GAAG,IAAI,CAACC,OAAO;MAC5B,IAAMC,OAAO,GAAG,MAAM;MACtB,IAAMC,MAAM,GAAG,MAAM;MACrB,IAAM5C,CAAC,GAAG,IAAAC,+BAAwB,EAACF,IAAI,EAAEZ,KAAK,CAAC;MAE/C,IAAM0D,MAAM,GAAGC,IAAI,CAACC,GAAG,CAACR,MAAM,CAACS,KAAK,EAAE,CAAC,CAAC,CAAC,EAAET,MAAM,CAACS,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE7D,IAAMC,aAAa,GACjBhB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGY,MAAM,IAAIN,MAAM,CAACjB,CAAC,CAACjD,CAAC,CAAC,CAAC,GAAGwD,MAAM,CAAC,CAAC,CAAC,GAAG7B,CAAC,CAACsB,CAAC,CAACnC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAA+D,kBAAW,EAAC5B,CAAC,CAACS,KAAK,CAAC,CAAC,GACnF,OAAO,GACP,MAAM;MACZ,IAAMoB,aAAa,GAAG;QACpB3D,KAAK,EAAE+C,MAAM,CAACjB,CAAC,CAACjD,CAAC,CAAC,CAAC,GAAGwD,MAAM,CAAC,CAAC,CAAC,GAAG7B,CAAC,CAACsB,CAAC,CAACnC,KAAK,CAAC,CAAC;QAC7CO,IAAI,EAAE6C,MAAM,CAACjB,CAAC,CAACjD,CAAC,CAAC,CAAC,GAAGwD,MAAM,CAAC,CAAC,CAAC,GAAG7B,CAAC,CAACsB,CAAC,CAACnC,KAAK,CAAC;MAC7C,CAAC,CAAC8D,aAAa,CAAC;MAEhB,OAAAzB,KAAA,GAAO,IAAA9E,aAAO,EAACoF,MAAM,CAAC,eACpB9F,MAAA,YAAAgC,aAAA,MAAAwD,KAAA,CAAA4B,EAAA;QAAA,kBAAAzF,MAAA,CACkB4D,CAAC;QAAA,eACJ,IAAI,CAAC8B,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAACnF,KAAK,EAAE;UAAEoF,MAAM,EAAE/B,CAAC;UAAEgC,KAAK,EAAEhC,CAAC;UAAEa,QAAQ,EAARA;QAAS,CAAC,CAAC;QAAA,gBAC3E,IAAI,CAACiB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAACnF,KAAK,EAAE;UAAEoF,MAAM,EAAE/B,CAAC;UAAEgC,KAAK,EAAEhC,CAAC;UAAEa,QAAQ,EAARA;QAAS,CAAC;MAAC,IAE1FJ,WAAW,iBACVhG,MAAA,YAAAgC,aAAA,CAAC2E,OAAO,EAAAnB,KAAA,CAAA4B,EAAA;QAAA;QAAA,KAEHb,MAAM,CAACjB,CAAC,CAACjD,CAAC,CAAC,CAAC,GAAGwD,MAAM,CAAC,CAAC,CAAC;QAAA,KACxBW,MAAM,CAAClB,CAAC,CAAC/C,CAAC,CAAC,CAAC,GAAGsD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAAlE,MAAA,CACSmC,GAAG;QAAA,SACdqC,YAAY,EAAAV,QAAA,GAACH,CAAC,CAACK,KAAK,CAAC,cAAAF,QAAA,cAAAA,QAAA,GAAIE,KAAK,CAAC;QAAA,eACzBO;MAAW,IACzB,GAED,CACD,eACDlG,MAAA,YAAAgC,aAAA,CAACyE,OAAO,EAAAjB,KAAA,CAAA4B,EAAA;QAAA;QAAA,SAAAzF,MAAA,CAECmC,GAAG,EAAAnC,MAAA,CAAGmC,GAAG;QAAA,SACTyB,CAAC;QAAA,UACD,QAAQ;QAAA,oBAAA5D,MAAA,CACGmC,GAAG;QAAA,MACjByC,MAAM,CAACjB,CAAC,CAACjD,CAAC,CAAC,CAAC,GAAGwD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxBW,MAAM,CAAClB,CAAC,CAAC/C,CAAC,CAAC,CAAC,GAAGsD,MAAM,CAAC,CAAC,CAAC;QAAA,SACrBM,YAAY,CAACb,CAAC,CAACK,KAAK,CAAC,CAAC;QAAA,WACpBS,QAAQ,WAAAzE,MAAA,CAAWmC,GAAG,OAAAnC,MAAA,CAAI4D,CAAC,iBAAcnC,SAAS;QAAA,KACxDY,CAAC,CAACsB,CAAC,CAACnC,KAAK,CAAC,CAAC;QAAA,mBAAAxB,MAAA,CACGkC,QAAQ;QAAA,eACZqC;MAAW,GACxB,EACDE,QAAQ,iBACPpG,MAAA,YAAAgC,aAAA,CAACxB,QAAA,CAAAgH,WAAW,EAAAhC,KAAA,CAAA4B,EAAA;QAAA,SAAAzF,MAAA,CACHmC,GAAG,OAAAnC,MAAA,CAAI4D,CAAC;QAAA,cACHD,CAAC,CAACK,KAAK,CAAC;QAAA,SACbQ,YAAY,CAACb,CAAC,CAACK,KAAK,CAAC,CAAC;QAAA,YACnBS;MAAQ,GAErB,EACAd,CAAC,CAACS,KAAK,CAAC,iBACP/F,MAAA,YAAAgC,aAAA,CAAC4E,MAAM,EAAApB,KAAA,CAAA4B,EAAA;QAAA;QAAA,KAEFD,aAAa;QAAA,KACbX,MAAM,CAAClB,CAAC,CAAC/C,CAAC,CAAC,CAAC,GAAGsD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAAlE,MAAA,CACSmC,GAAG;QAAA,YACXmD,aAAa;QAAA,SAChBd,YAAY,CAACb,CAAC,CAACK,KAAK,CAAC,CAAC;QAAA,eAChBO;MAAW,IAEvBZ,CAAC,CAACS,KAAK,CAAC,CAEZ,CACC;IAER;EAAC;IAAA7C,GAAA;IAAAC,KAAA,EAED,SAAAsE,OAAA,EAAS;MACP,IAAAC,cAAA,GAA0C,IAAI,CAAChF,OAAO;QAA9CqB,IAAI,GAAA2D,cAAA,CAAJ3D,IAAI;QAAED,GAAG,GAAA4D,cAAA,CAAH5D,GAAG;QAAE8B,KAAK,GAAA8B,cAAA,CAAL9B,KAAK;QAAEvD,CAAC,GAAAqF,cAAA,CAADrF,CAAC;QAAEE,CAAC,GAAAmF,cAAA,CAADnF,CAAC;QAAEY,KAAK,GAAAuE,cAAA,CAALvE,KAAK;MACrC,IAAAwE,OAAA,OAAArB,eAAA,aAAyBV,KAAK;QAAvBW,MAAM,GAAAoB,OAAA;QAAEnB,MAAM,GAAAmB,OAAA;MACrB,IAAMC,KAAK,GAAGd,IAAI,CAACe,GAAG,CAACtB,MAAM,CAACS,KAAK,EAAE,CAAC,CAAC,CAAC,GAAGT,MAAM,CAACS,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMc,KAAK,GAAGhB,IAAI,CAACe,GAAG,CAACrB,MAAM,CAACQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAGR,MAAM,CAACQ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMe,OAAO,GAAGjB,IAAI,CAACC,GAAG,CAACR,MAAM,CAACS,KAAK,EAAE,CAAC,CAAC,CAAC,EAAET,MAAM,CAACS,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAMgB,OAAO,GAAGlB,IAAI,CAACC,GAAG,CAACP,MAAM,CAACQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAER,MAAM,CAACQ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE9D,IAAI,CAACtE,OAAO,CAACuF,gBAAgB,CAACC,oBAAoB,CAAC7F,CAAC,EAAEE,CAAC,EAAEY,KAAK,CAAC;MAC/D,IAAI,CAACT,OAAO,CAACuF,gBAAgB,CAACE,iBAAiB,CAAC,cAAc,CAAC;MAE/D,oBACEnI,MAAA,YAAAgC,aAAA,CAAAhC,MAAA,YAAAoI,QAAA,QACGrE,IAAI,CAACsE,GAAG,CAAC,IAAI,CAAChD,YAAY,CAACiD,IAAI,CAAC,IAAI,CAAC,CAAC,eACvCtI,MAAA,YAAAgC,aAAA;QAAU,mBAAW;QAACuG,EAAE,EAAEzE;MAAI,gBAC5B9D,MAAA,YAAAgC,aAAA;QAAMK,CAAC,EAAE0F,OAAQ;QAACxF,CAAC,EAAEyF,OAAQ;QAAC3E,KAAK,KAAA1B,MAAA,CAAKiG,KAAK,OAAK;QAACtE,MAAM,KAAA3B,MAAA,CAAKmG,KAAK;MAAK,EAAG,EAAC,GAAG,CACtE,CACV;IAEP;EAAC;EAAA,OAAAlH,UAAA;AAAA,EA1KsB4H,eAAS;AAAA,IAAA5G,gBAAA,aAA5BhB,UAAU,iBACO,QAAQ;AAAA,IAAAgB,gBAAA,aADzBhB,UAAU,WAECH,KAAK;AAAA,IAAAmB,gBAAA,aAFhBhB,UAAU,aAGG,CAAC,IAAA6H,oBAAmB,GAAE,CAAC;AAAA,IAAA7G,gBAAA,aAHpChB,UAAU,kBAKQ;EACpBiF,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdhC,QAAQ,EAAE,GAAG;EACbmC,WAAW,EAAE;AACf,CAAC;AAoKH,IAAM0C,aAAa,GAAG,SAAhBA,aAAaA,CAAIxG,KAAK,EAAK;EAAA,IAAAyG,IAAA,GAAAC,YAAA;IAAAC,KAAA;EAC/B,IAAMC,cAAc,GACiCC,mBAAO;EAA5D,OAAAF,KAAA,GAAO,IAAAnI,aAAO,EAACwB,KAAK,CAAC4D,MAAM,CAAC,eAAC9F,MAAA,YAAAgC,aAAA,CAAC8G,cAAc,EAAAD,KAAA,CAAAzB,EAAA,uBAAA4B,cAAA,qBAAAlJ,KAAA,CAAAmJ,WAAA;IAAA;EAAA,GAAAN,IAAA,IAAuC;AACrF,CAAC;AAED,IAAMO,MAAM,GAAG,IAAAlH,yBAAa,EAACpB,UAAU,EAAE;EACvCmI,OAAO,EAAE,CAACL,aAAa,EAAEK,mBAAO,CAACI,yBAAyB;AAC5D,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYF,MAAM;AAAAG,OAAA,cAAAD,QAAA"}
@@ -80,7 +80,7 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
80
80
  uid = _this$asProps.uid,
81
81
  r = _this$asProps.r,
82
82
  value = _this$asProps.value;
83
- var radius = r ? r : value ? 12 : 5.5;
83
+ var radius = r ? r : (0, _utils.getScatterPlotRadius)(value);
84
84
  var selectRect = (0, _d3Transition.transition)().selection().selectAll("[id^=".concat(uid, "]")).attr('r', 0);
85
85
  var selectRectNode = selectRect.node();
86
86
  if (duration > 0 && selectRectNode) {
@@ -1 +1 @@
1
- {"version":3,"file":"ScatterPlot.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_canUseDOM","_uniqueID","_createElement","_utils","_Tooltip","_Pattern","style","sstyled","insert","ScatterPlotRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref2","_this$asProps2","color","scale","offset","styles","valueColor","transparent","resolveColor","patterns","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","Number","isNaN","cn","bindHandlerTooltip","xIndex","index","PatternFill","render","_this$asProps3","data","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","Tooltip","_objectSpread2","assignProps","ScatterPlot","_______childrenComponents","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\nimport Tooltip from './Tooltip';\nimport { PatternFill } from './Pattern';\n\nimport style from './style/scatterplot.shadow.css';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props, tooltipProps) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, tooltipProps, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : value ? 12 : 5.5;\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n r,\n offset,\n styles,\n uid,\n duration,\n value,\n valueColor,\n transparent,\n resolveColor,\n patterns,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n if (Number.isNaN(d[x]) || Number.isNaN(d[y])) {\n return null;\n }\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i, patterns })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i, patterns })}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={resolveColor(color)}\n pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n {d[value] !== undefined && (\n <SValue\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={resolveColor(valueColor)}\n transparent={transparent}\n >\n {d[value]}\n </SValue>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n <clipPath id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </clipPath>\n </>\n );\n }\n}\n\nconst ScatterPlotTooltip = (props) => {\n const SScatterPlotTooltip = Root;\n return sstyled(props.styles)(<SScatterPlotTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst ScatterPlot = createElement(ScatterPlotRoot, {\n Tooltip: [ScatterPlotTooltip, Tooltip._______childrenComponents],\n});\n\nexport default ScatterPlot;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ScatterPlot.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_canUseDOM","_uniqueID","_createElement","_utils","_Tooltip","_Pattern","style","sstyled","insert","ScatterPlotRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","tooltipProps","_ref4","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","r","radius","getScatterPlotRadius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref2","_this$asProps2","color","scale","offset","styles","valueColor","transparent","resolveColor","patterns","_scale","_slicedToArray2","xScale","yScale","SScatterPlot","Element","SValue","Number","isNaN","cn","bindHandlerTooltip","xIndex","index","PatternFill","render","_this$asProps3","data","_scale2","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","map","bind","id","Component","uniqueIDEnhancement","ScatterPlotTooltip","_ref","arguments[0]","_ref3","SScatterPlotTooltip","Tooltip","_objectSpread2","assignProps","ScatterPlot","_______childrenComponents","_default","exports"],"sources":["../../src/ScatterPlot.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT, getScatterPlotRadius } from './utils';\nimport Tooltip from './Tooltip';\nimport { PatternFill } from './Pattern';\n\nimport style from './style/scatterplot.shadow.css';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props, tooltipProps) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, tooltipProps, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, r, value } = this.asProps;\n const radius = r ? r : getScatterPlotRadius(value);\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n r,\n offset,\n styles,\n uid,\n duration,\n value,\n valueColor,\n transparent,\n resolveColor,\n patterns,\n } = this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n if (Number.isNaN(d[x]) || Number.isNaN(d[y])) {\n return null;\n }\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, this.props, { xIndex: i, index: i, patterns })}\n onMouseLeave={this.bindHandlerTooltip(false, this.props, { xIndex: i, index: i, patterns })}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={resolveColor(color)}\n pattern={patterns ? `url(#${uid}-${i}-pattern)` : undefined}\n r={r}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {patterns && (\n <PatternFill\n id={`${uid}-${i}-pattern`}\n patternKey={color}\n color={resolveColor(color)}\n patterns={patterns}\n />\n )}\n {d[value] !== undefined && (\n <SValue\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={resolveColor(valueColor)}\n transparent={transparent}\n >\n {d[value]}\n </SValue>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n <clipPath id={uid}>\n <rect x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </clipPath>\n </>\n );\n }\n}\n\nconst ScatterPlotTooltip = (props) => {\n const SScatterPlotTooltip = Root;\n return sstyled(props.styles)(<SScatterPlotTooltip render={Tooltip} excludeAnchorProps />);\n};\n\nconst ScatterPlot = createElement(ScatterPlotRoot, {\n Tooltip: [ScatterPlotTooltip, Tooltip._______childrenComponents],\n});\n\nexport default ScatterPlot;\n"],"mappings":"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"}
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.AbstractChart = void 0;
9
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -237,6 +238,16 @@ var AbstractChart = /*#__PURE__*/function (_Component) {
237
238
  }, 0);
238
239
  return total;
239
240
  }
241
+ }, {
242
+ key: "getValueScale",
243
+ value: function getValueScale(values) {
244
+ var max = Math.max.apply(Math, (0, _toConsumableArray2["default"])(values));
245
+ var min = Math.min.apply(Math, (0, _toConsumableArray2["default"])(values));
246
+ var avg = (max + min) / 2;
247
+ var count = Math.round(Math.log10(avg));
248
+ var valueScale = 100 / Math.pow(10, count);
249
+ return valueScale;
250
+ }
240
251
  }, {
241
252
  key: "setHighlightedLine",
242
253
  value: function setHighlightedLine(index) {
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractChart.js","names":["_core","require","_hints","_utils","_react","_interopRequireDefault","_assignProps2","_ChartLegend","_interopRequireWildcard","_flexBox","_","_typography","AbstractChart","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","makeDataHintsContainer","dataDefinitions","defaultDataDefinitions","highlightedLine","withTrend","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","_createClass2","key","value","componentDidUpdate","prevProps","data","legendProps","setState","get","_this2","_this$props","dataKeys","map","index","_legendProps$legendMa","_legendData$label","_legendData$icon","_legendData$defaultCh","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","_ref3","Map","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","Text","concat","use","_this$props2","groupKey","keys","filter","_this$asProps","asProps","invertAxis","xTicksCount","yTicksCount","scale","xScale","ticks","_this$asProps2","yScale","_this$asProps3","flatValues","result","item","add","entries","forEach","_ref4","_ref5","_slicedToArray2","Set","_this$asProps4","max","val","barSum","_ref6","_ref7","Date","isNaN","getMilliseconds","totalValue","state","legendItem","isVisible","prevState","findIndex","line","_this$props$colorMap$","_this$props$colorMap","colorMap","interpolateValue","toDateString","toString","defaultLegendProps","legendType","renderLegend","_lProps$direction","_this$asProps5","direction","showLegend","patterns","length","_this$state","lProps","_objectSpread2","commonLegendProps","dataHints","items","size","shape","onChangeVisibleItem","disableSelectItems","callAllEventHandlers","onMouseEnterItem","disableHoverItems","onMouseLeaveItem","ChartLegendTable","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","xTicks","yTicks","childrenX","_ref8","children","childrenY","_ref9","Fragment","YAxis","Ticks","Grid","XAxis","render","_ref","_ref2","SChart","Flex","_this$asProps7","styles","plotWidth","plotHeight","sstyled","cn","assignProps","Plot","renderTooltip","renderChart","Component","exports","showTooltip"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { makeDataHintsContainer } from '../../a11y/hints';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport { interpolateValue } from '../../utils';\nimport React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport { Flex } from '@semcore/flex-box';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { Text } from '@semcore/typography';\nimport { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\n\ntype ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport abstract class AbstractChart<\n D extends ListData | ObjectData,\n T extends BaseChartProps<D>,\n> extends Component<T, {}, ChartState> {\n public static style = {};\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n public state: ChartState = {\n dataDefinitions: this.defaultDataDefinitions,\n highlightedLine: -1,\n withTrend: false,\n };\n\n constructor(props: T) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n }\n\n public componentDidUpdate(prevProps: T) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.defaultDataDefinitions });\n }\n }\n\n protected get defaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n const value = (data instanceof Map ? data.get(key) : Number(data[key])) ?? 0;\n const total = Object.values(data).reduce<number>((sum, i) => sum + Number(i), 0);\n const percent = ((value / total) * 100).toFixed(2);\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use={'secondary'}>\n {percent}%\n </Text>,\n <Text key={`${key}_value`} use={'primary'}>\n {value}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (typeof item === 'number') {\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n return total;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return 'n/a';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend, patterns } = this.asProps;\n\n if (\n !showLegend ||\n // we hide Legend for one item on chart except not manually set to show.\n (this.dataKeys.length === 1 && showLegend === true)\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps = {\n dataHints: this.dataHints,\n items: dataDefinitions,\n size: lProps.size,\n shape: lProps.shape,\n patterns,\n direction:\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n onChangeVisibleItem: lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n onMouseEnterItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n onMouseLeaveItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...commonLegendProps} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps: LegendFlexProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...flexLegendProps} />;\n }\n\n return <ChartLegend {...commonLegendProps} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const { invertAxis, showXAxis, showYAxis, data, axisXValueFormatter, axisYValueFormatter } =\n this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks ? (\n <YAxis.Ticks ticks={yTicks}>{childrenY}</YAxis.Ticks>\n ) : (\n <YAxis.Ticks>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks ? (\n <XAxis.Ticks ticks={xTicks}>{childrenX}</XAxis.Ticks>\n ) : (\n <XAxis.Ticks>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data, patterns } = this.asProps;\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5}>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n patterns={patterns}\n >\n {this.renderAxis()}\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AbstractChart.js","names":["_core","require","_hints","_utils","_react","_interopRequireDefault","_assignProps2","_ChartLegend","_interopRequireWildcard","_flexBox","_","_typography","AbstractChart","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","makeDataHintsContainer","dataDefinitions","defaultDataDefinitions","highlightedLine","withTrend","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","_createClass2","key","value","componentDidUpdate","prevProps","data","legendProps","setState","get","_this2","_this$props","dataKeys","map","index","_legendProps$legendMa","_legendData$label","_legendData$icon","_legendData$defaultCh","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","_ref3","Map","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","Text","concat","use","_this$props2","groupKey","keys","filter","_this$asProps","asProps","invertAxis","xTicksCount","yTicksCount","scale","xScale","ticks","_this$asProps2","yScale","_this$asProps3","flatValues","result","item","add","entries","forEach","_ref4","_ref5","_slicedToArray2","Set","_this$asProps4","max","val","barSum","_ref6","_ref7","Date","isNaN","getMilliseconds","totalValue","state","legendItem","getValueScale","Math","apply","_toConsumableArray2","min","avg","round","log10","valueScale","pow","isVisible","prevState","findIndex","line","_this$props$colorMap$","_this$props$colorMap","colorMap","interpolateValue","toDateString","toString","defaultLegendProps","legendType","renderLegend","_lProps$direction","_this$asProps5","direction","showLegend","patterns","length","_this$state","lProps","_objectSpread2","commonLegendProps","dataHints","items","size","shape","onChangeVisibleItem","disableSelectItems","callAllEventHandlers","onMouseEnterItem","disableHoverItems","onMouseLeaveItem","ChartLegendTable","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","xTicks","yTicks","childrenX","_ref8","children","childrenY","_ref9","Fragment","YAxis","Ticks","Grid","XAxis","render","_ref","_ref2","SChart","Flex","_this$asProps7","styles","plotWidth","plotHeight","sstyled","cn","assignProps","Plot","renderTooltip","renderChart","Component","exports","showTooltip"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { makeDataHintsContainer } from '../../a11y/hints';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport { interpolateValue } from '../../utils';\nimport React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport { Flex } from '@semcore/flex-box';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { Text } from '@semcore/typography';\nimport { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\n\ntype ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport abstract class AbstractChart<\n D extends ListData | ObjectData,\n T extends BaseChartProps<D>,\n> extends Component<T, {}, ChartState> {\n public static style = {};\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n public state: ChartState = {\n dataDefinitions: this.defaultDataDefinitions,\n highlightedLine: -1,\n withTrend: false,\n };\n\n constructor(props: T) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n }\n\n public componentDidUpdate(prevProps: T) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.defaultDataDefinitions });\n }\n }\n\n protected get defaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n const value = (data instanceof Map ? data.get(key) : Number(data[key])) ?? 0;\n const total = Object.values(data).reduce<number>((sum, i) => sum + Number(i), 0);\n const percent = ((value / total) * 100).toFixed(2);\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use={'secondary'}>\n {percent}%\n </Text>,\n <Text key={`${key}_value`} use={'primary'}>\n {value}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (typeof item === 'number') {\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n return total;\n }\n\n protected getValueScale(values: number[]): number {\n const max = Math.max(...values);\n const min = Math.min(...values);\n\n const avg = (max + min) / 2;\n const count = Math.round(Math.log10(avg));\n\n const valueScale = 100 / 10 ** count;\n\n return valueScale;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return 'n/a';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend, patterns } = this.asProps;\n\n if (\n !showLegend ||\n // we hide Legend for one item on chart except not manually set to show.\n (this.dataKeys.length === 1 && showLegend === true)\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps = {\n dataHints: this.dataHints,\n items: dataDefinitions,\n size: lProps.size,\n shape: lProps.shape,\n patterns,\n direction:\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n onChangeVisibleItem: lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n onMouseEnterItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n onMouseLeaveItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...commonLegendProps} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps: LegendFlexProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...flexLegendProps} />;\n }\n\n return <ChartLegend {...commonLegendProps} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const { invertAxis, showXAxis, showYAxis, data, axisXValueFormatter, axisYValueFormatter } =\n this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks ? (\n <YAxis.Ticks ticks={yTicks}>{childrenY}</YAxis.Ticks>\n ) : (\n <YAxis.Ticks>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks ? (\n <XAxis.Ticks ticks={xTicks}>{childrenX}</XAxis.Ticks>\n ) : (\n <XAxis.Ticks>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data, patterns } = this.asProps;\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5}>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n patterns={patterns}\n >\n {this.renderAxis()}\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.BubbleChart = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
@@ -65,37 +66,70 @@ var BubbleChartComponent = /*#__PURE__*/function (_AbstractChart) {
65
66
  });
66
67
  }
67
68
  }, {
68
- key: "xScale",
69
+ key: "valueScale",
70
+ get: function get() {
71
+ var data = this.asProps.data;
72
+ return (0, _2.getBubbleChartValueScale)(data, 'value');
73
+ }
74
+ }, {
75
+ key: "scaledValues",
69
76
  get: function get() {
77
+ var _this2 = this;
70
78
  var _this$asProps = this.asProps,
71
- xScale = _this$asProps.xScale,
72
- _this$asProps$marginY = _this$asProps.marginY,
73
- marginY = _this$asProps$marginY === void 0 ? 30 : _this$asProps$marginY,
74
- plotWidth = _this$asProps.plotWidth,
75
79
  data = _this$asProps.data,
76
- groupKey = _this$asProps.groupKey;
80
+ plotWidth = _this$asProps.plotWidth,
81
+ plotHeight = _this$asProps.plotHeight;
82
+ var values = {
83
+ x: [],
84
+ y: []
85
+ };
86
+ var xValueScale = plotWidth / plotHeight * this.getValueScale(data.map(function (d) {
87
+ return d.x;
88
+ }));
89
+ var yValueScale = plotHeight / plotWidth * this.getValueScale(data.map(function (d) {
90
+ return d.y;
91
+ }));
92
+ data.forEach(function (item) {
93
+ var x = item.x;
94
+ var y = item.y;
95
+ var scaledValue = _this2.valueScale(item.value);
96
+ values.x.push(x - scaledValue / xValueScale);
97
+ values.x.push(x + scaledValue / xValueScale);
98
+ values.y.push(y - scaledValue / yValueScale);
99
+ values.y.push(y + scaledValue / yValueScale);
100
+ });
101
+ return values;
102
+ }
103
+ }, {
104
+ key: "xScale",
105
+ get: function get() {
106
+ var _this$asProps2 = this.asProps,
107
+ xScale = _this$asProps2.xScale,
108
+ _this$asProps2$margin = _this$asProps2.marginY,
109
+ marginY = _this$asProps2$margin === void 0 ? 30 : _this$asProps2$margin,
110
+ plotWidth = _this$asProps2.plotWidth,
111
+ data = _this$asProps2.data,
112
+ groupKey = _this$asProps2.groupKey;
77
113
  if (xScale) {
78
114
  return xScale;
79
115
  }
80
116
  var range = [marginY, plotWidth - this.plotPadding];
81
- var domain = (0, _2.minMax)(data, 'x');
82
- return (0, _d3Scale.scaleLinear)([domain[0] * 0.8, domain[1] * 1.2], range);
117
+ return (0, _d3Scale.scaleLinear)([Math.min.apply(Math, (0, _toConsumableArray2["default"])(this.scaledValues.x)), Math.max.apply(Math, (0, _toConsumableArray2["default"])(this.scaledValues.x))], range);
83
118
  }
84
119
  }, {
85
120
  key: "yScale",
86
121
  get: function get() {
87
- var _this$asProps2 = this.asProps,
88
- yScale = _this$asProps2.yScale,
89
- _this$asProps2$margin = _this$asProps2.marginX,
90
- marginX = _this$asProps2$margin === void 0 ? 30 : _this$asProps2$margin,
91
- plotHeight = _this$asProps2.plotHeight,
92
- data = _this$asProps2.data;
122
+ var _this$asProps3 = this.asProps,
123
+ yScale = _this$asProps3.yScale,
124
+ _this$asProps3$margin = _this$asProps3.marginX,
125
+ marginX = _this$asProps3$margin === void 0 ? 30 : _this$asProps3$margin,
126
+ plotHeight = _this$asProps3.plotHeight,
127
+ data = _this$asProps3.data;
93
128
  if (yScale) {
94
129
  return yScale;
95
130
  }
96
131
  var range = [plotHeight - marginX, this.plotPadding];
97
- var domain = (0, _2.minMax)(data, 'y');
98
- return (0, _d3Scale.scaleLinear)([domain[0] * 0.8, domain[1] * 1.2], range);
132
+ return (0, _d3Scale.scaleLinear)([Math.min.apply(Math, (0, _toConsumableArray2["default"])(this.scaledValues.y)), Math.max.apply(Math, (0, _toConsumableArray2["default"])(this.scaledValues.y))], range);
99
133
  }
100
134
  }, {
101
135
  key: "defaultLegendProps",