@easyv/charts 1.2.1 → 1.2.4

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 (90) hide show
  1. package/.babelrc +8 -8
  2. package/.husky/commit-msg +3 -3
  3. package/CHANGELOG.md +18 -18
  4. package/commitlint.config.js +1 -1
  5. package/lib/components/AnimateData.js +40 -36
  6. package/lib/components/Axis.js +333 -329
  7. package/lib/components/Background.js +2 -2
  8. package/lib/components/Band.js +177 -173
  9. package/lib/components/Brush.js +201 -201
  10. package/lib/components/Carousel.js +171 -164
  11. package/lib/components/CartesianChart.js +11 -7
  12. package/lib/components/Chart.js +114 -111
  13. package/lib/components/ChartContainer.js +62 -58
  14. package/lib/components/ConicalGradient.js +268 -264
  15. package/lib/components/ExtentData.js +48 -45
  16. package/lib/components/FilterData.js +56 -53
  17. package/lib/components/Indicator.js +2 -2
  18. package/lib/components/Label.js +278 -278
  19. package/lib/components/Legend.js +160 -154
  20. package/lib/components/Lighter.js +179 -179
  21. package/lib/components/Line.js +187 -181
  22. package/lib/components/LinearGradient.js +2 -2
  23. package/lib/components/Mapping.js +130 -127
  24. package/lib/components/Marquee.js +98 -0
  25. package/lib/components/PieChart.js +1078 -1061
  26. package/lib/components/StackData.js +48 -45
  27. package/lib/components/StereoBar.js +340 -336
  28. package/lib/components/TextOverflow.js +65 -0
  29. package/lib/components/Tooltip.js +155 -155
  30. package/lib/components/index.js +202 -194
  31. package/lib/css/index.module.css +41 -41
  32. package/lib/css/piechart.module.css +26 -26
  33. package/lib/element/ConicGradient.js +72 -72
  34. package/lib/formatter/legend.js +91 -91
  35. package/lib/hooks/index.js +62 -62
  36. package/lib/hooks/useAnimateData.js +88 -88
  37. package/lib/hooks/useAxes.js +135 -135
  38. package/lib/hooks/useCarouselAxisX.js +184 -184
  39. package/lib/hooks/useExtentData.js +128 -128
  40. package/lib/hooks/useFilterData.js +112 -112
  41. package/lib/hooks/useStackData.js +136 -134
  42. package/lib/hooks/useTooltip.js +10 -10
  43. package/lib/index.js +89 -85
  44. package/lib/utils/index.js +835 -832
  45. package/package.json +53 -51
  46. package/src/components/AnimateData.tsx +24 -24
  47. package/src/components/Axis.tsx +354 -354
  48. package/src/components/Background.tsx +45 -45
  49. package/src/components/Band.tsx +173 -173
  50. package/src/components/Brush.js +159 -159
  51. package/src/components/Carousel.tsx +144 -144
  52. package/src/components/Chart.js +99 -99
  53. package/src/components/ChartContainer.tsx +63 -63
  54. package/src/components/ConicalGradient.js +258 -258
  55. package/src/components/ExtentData.js +17 -17
  56. package/src/components/FilterData.js +23 -23
  57. package/src/components/Indicator.js +13 -13
  58. package/src/components/Label.js +206 -206
  59. package/src/components/Legend.js +158 -158
  60. package/src/components/Lighter.jsx +173 -173
  61. package/src/components/Line.js +144 -144
  62. package/src/components/LinearGradient.js +29 -29
  63. package/src/components/Mapping.js +71 -71
  64. package/src/components/Marquee.js +93 -74
  65. package/src/components/PieChart.js +1288 -1097
  66. package/src/components/StackData.js +20 -20
  67. package/src/components/StereoBar.tsx +310 -310
  68. package/src/components/TextOverflow.js +51 -0
  69. package/src/components/Tooltip.js +169 -169
  70. package/src/components/index.js +53 -51
  71. package/src/context/index.js +2 -2
  72. package/src/css/index.module.css +41 -41
  73. package/src/css/piechart.module.css +26 -26
  74. package/src/element/ConicGradient.jsx +55 -55
  75. package/src/element/Line.tsx +33 -33
  76. package/src/element/index.ts +3 -3
  77. package/src/formatter/index.js +1 -1
  78. package/src/formatter/legend.js +90 -90
  79. package/src/hooks/index.js +17 -17
  80. package/src/hooks/useAnimateData.ts +67 -67
  81. package/src/hooks/useAxes.js +144 -144
  82. package/src/hooks/useCarouselAxisX.js +163 -163
  83. package/src/hooks/useExtentData.js +88 -88
  84. package/src/hooks/useFilterData.js +72 -72
  85. package/src/hooks/useStackData.js +100 -100
  86. package/src/hooks/useTooltip.ts +96 -96
  87. package/src/index.js +6 -6
  88. package/src/types/index.d.ts +67 -67
  89. package/src/utils/index.js +696 -696
  90. package/tsconfig.json +22 -22
@@ -1,279 +1,279 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
- var _react = require("react");
17
-
18
- var _utils = require("../utils");
19
-
20
- var _context = require("../context");
21
-
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
23
-
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
-
26
- var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
27
- var _ref$config = _ref.config,
28
- _ref$config$seriesInt = _ref$config.seriesIntervalWidth,
29
- paddingInner = _ref$config$seriesInt === void 0 ? 0 : _ref$config$seriesInt,
30
- _ref$config$paddingIn = _ref$config.paddingInner,
31
- paddingOuter = _ref$config$paddingIn === void 0 ? 0 : _ref$config$paddingIn,
32
- label = _ref$config.label,
33
- icon = _ref$config.icon,
34
- config = _ref.config,
35
- _ref$bandLength = _ref.bandLength,
36
- bandLength = _ref$bandLength === void 0 ? 0 : _ref$bandLength,
37
- data = _ref.data,
38
- _ref$xAxis = _ref.xAxis,
39
- xScaler = _ref$xAxis.scaler,
40
- step = _ref$xAxis.step,
41
- direction = _ref$xAxis.direction,
42
- yScaler = _ref.yAxis.scaler,
43
- triggerClick = _ref.triggerClick;
44
- var lineType = config.hasOwnProperty('line'); //堆叠处理
45
-
46
- var showIcon = icon && icon.show;
47
- var showLabel = label && label.show;
48
- if (!(data.length && (showIcon || showLabel))) return null;
49
-
50
- var _useContext = (0, _react.useContext)(_context.chartContext),
51
- width = _useContext.width,
52
- height = _useContext.height;
53
-
54
- var bandwidth = (0, _utils.getBandwidth)(step, paddingOuter);
55
-
56
- var _getBandSeriesStepAnd = (0, _utils.getBandSeriesStepAndWidth)({
57
- width: bandwidth,
58
- paddingInner: paddingInner,
59
- bandLength: bandLength
60
- }),
61
- seriesStep = _getBandSeriesStepAnd.seriesStep,
62
- seriesWidth = _getBandSeriesStepAnd.seriesWidth;
63
-
64
- var offset = (seriesWidth + paddingInner * seriesStep) * bandLength - paddingInner * seriesStep;
65
- var isVertical = direction === 'vertical';
66
- var _position = label.position;
67
- return /*#__PURE__*/React.createElement("g", {
68
- className: "__easyv-label"
69
- }, data.map(function (_ref2, i) {
70
- var index = _ref2.index,
71
- _ref2$bound = (0, _slicedToArray2["default"])(_ref2.bound, 2),
72
- start = _ref2$bound[0],
73
- end = _ref2$bound[1],
74
- data = _ref2.data,
75
- _ref2$data = _ref2.data,
76
- x = _ref2$data.x,
77
- y = _ref2$data.y,
78
- showY = _ref2$data.showY,
79
- s = _ref2$data.s;
80
-
81
- var y1 = yScaler(isVertical ? end : start); //处理z型折线图和堆叠柱图的逻辑冲突
82
-
83
- var y2 = lineType ? start ? yScaler(isVertical ? start : end - start) : yScaler(isVertical ? start : end) : yScaler(isVertical ? start : end); // const y2 = yScaler(isVertical ? start : end);
84
-
85
- var positionX = xScaler(x) + seriesStep * index - offset / 2;
86
- if (isNaN(positionX)) return null;
87
- var position = positionX + seriesWidth / 2;
88
- var labelPosition = isVertical ? getVerticalLabel({
89
- position: _position,
90
- y: y,
91
- y1: y1,
92
- y2: y2,
93
- width: width
94
- }) : getHorizontalLabel({
95
- position: _position,
96
- y: y,
97
- y1: y1,
98
- y2: y2,
99
- height: height
100
- });
101
- var attr = isVertical ? _objectSpread(_objectSpread({}, labelPosition), {}, {
102
- y: position,
103
- dominantBaseline: 'middle'
104
- }) : _objectSpread(_objectSpread({}, labelPosition), {}, {
105
- x: position,
106
- textAnchor: 'middle'
107
- });
108
- return /*#__PURE__*/React.createElement("g", {
109
- key: i,
110
- onClick: triggerClick,
111
- "data-data": JSON.stringify(data)
112
- }, showIcon && /*#__PURE__*/React.createElement(Icon, {
113
- cx: attr.x,
114
- cy: attr.y,
115
- config: icon
116
- }), showLabel && /*#__PURE__*/React.createElement(Label, (0, _extends2["default"])({
117
- value: showY,
118
- config: label
119
- }, attr)));
120
- }));
121
- });
122
-
123
- exports["default"] = _default;
124
-
125
- var Label = function Label(_ref3) {
126
- var x = _ref3.x,
127
- y = _ref3.y,
128
- value = _ref3.value,
129
- _ref3$config = _ref3.config,
130
- font = _ref3$config.font,
131
- _ref3$config$translat = _ref3$config.translate,
132
- _ref3$config$translat2 = _ref3$config$translat.x,
133
- translateX = _ref3$config$translat2 === void 0 ? 0 : _ref3$config$translat2,
134
- _ref3$config$translat3 = _ref3$config$translat.y,
135
- translateY = _ref3$config$translat3 === void 0 ? 0 : _ref3$config$translat3,
136
- _ref3$textAnchor = _ref3.textAnchor,
137
- textAnchor = _ref3$textAnchor === void 0 ? 'middle' : _ref3$textAnchor,
138
- _ref3$dominantBaselin = _ref3.dominantBaseline,
139
- dominantBaseline = _ref3$dominantBaselin === void 0 ? 'middle' : _ref3$dominantBaselin;
140
- return /*#__PURE__*/React.createElement("text", (0, _extends2["default"])({
141
- x: x,
142
- y: y,
143
- transform: (0, _utils.getTranslate2d)({
144
- x: translateX,
145
- y: translateY * (value >= 0 ? 1 : -1)
146
- }),
147
- textAnchor: textAnchor,
148
- dominantBaseline: dominantBaseline
149
- }, font), value);
150
- };
151
-
152
- var Icon = function Icon(_ref4) {
153
- var cx = _ref4.cx,
154
- cy = _ref4.cy,
155
- _ref4$config = _ref4.config,
156
- mode = _ref4$config.mode,
157
- inner = _ref4$config.inner,
158
- outer = _ref4$config.outer,
159
- color = _ref4$config.color,
160
- radius = _ref4$config.radius,
161
- image = _ref4$config.image,
162
- _ref4$config$size = _ref4$config.size,
163
- width = _ref4$config$size.width,
164
- height = _ref4$config$size.height;
165
- return mode == 'single' ? /*#__PURE__*/React.createElement(Circle, {
166
- cx: cx,
167
- cy: cy,
168
- color: color,
169
- radius: radius
170
- }) : mode == 'double' ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Circle, (0, _extends2["default"])({
171
- cx: cx,
172
- cy: cy
173
- }, inner)), /*#__PURE__*/React.createElement(Circle, (0, _extends2["default"])({
174
- cx: cx,
175
- cy: cy
176
- }, outer))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("image", {
177
- width: width,
178
- height: height,
179
- x: cx - width / 2,
180
- y: cy - height / 2,
181
- xlinkHref: window.appConfig.ASSETS_URL + image
182
- }));
183
- };
184
-
185
- var Circle = function Circle(_ref5) {
186
- var cx = _ref5.cx,
187
- cy = _ref5.cy,
188
- color = _ref5.color,
189
- radius = _ref5.radius;
190
- return /*#__PURE__*/React.createElement("circle", {
191
- cx: cx,
192
- cy: cy,
193
- fill: color,
194
- r: radius,
195
- stroke: "none"
196
- });
197
- };
198
-
199
- var getVerticalLabel = function getVerticalLabel(_ref6) {
200
- var _ref6$position = _ref6.position,
201
- position = _ref6$position === void 0 ? 'outerStart' : _ref6$position,
202
- width = _ref6.width,
203
- y = _ref6.y,
204
- y1 = _ref6.y1,
205
- y2 = _ref6.y2;
206
-
207
- switch (position) {
208
- case 'start':
209
- return {
210
- x: y > 0 ? y2 : y1,
211
- textAnchor: 'start'
212
- };
213
-
214
- case 'middle':
215
- return {
216
- x: (y1 + y2) / 2,
217
- textAnchor: 'middle'
218
- };
219
-
220
- case 'end':
221
- return {
222
- x: y > 0 ? y1 : y2,
223
- textAnchor: 'end'
224
- };
225
-
226
- case 'outerStart':
227
- return {
228
- x: y1,
229
- textAnchor: y > 0 ? 'start' : 'end'
230
- };
231
-
232
- case 'chartStart':
233
- return {
234
- x: y > 0 ? width : 0,
235
- textAnchor: y > 0 ? 'start' : 'end'
236
- };
237
- }
238
- };
239
-
240
- var getHorizontalLabel = function getHorizontalLabel(_ref7) {
241
- var _ref7$position = _ref7.position,
242
- position = _ref7$position === void 0 ? 'outerStart' : _ref7$position,
243
- height = _ref7.height,
244
- y = _ref7.y,
245
- y1 = _ref7.y1,
246
- y2 = _ref7.y2;
247
-
248
- switch (position) {
249
- case 'start':
250
- return {
251
- y: y > 0 ? y1 : y2,
252
- dominantBaseline: 'text-after-edge'
253
- };
254
-
255
- case 'middle':
256
- return {
257
- y: (y1 + y2) / 2,
258
- dominantBaseline: 'middle'
259
- };
260
-
261
- case 'end':
262
- return {
263
- y: y > 0 ? y2 : y1,
264
- dominantBaseline: 'text-before-edge'
265
- };
266
-
267
- case 'outerStart':
268
- return {
269
- y: y2,
270
- dominantBaseline: y >= 0 ? 'text-after-edge' : 'text-before-edge'
271
- };
272
-
273
- case 'chartStart':
274
- return {
275
- y: y > 0 ? 0 : height,
276
- dominantBaseline: y > 0 ? 'text-after-edge' : 'text-before-edge'
277
- };
278
- }
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = require("react");
17
+
18
+ var _utils = require("../utils");
19
+
20
+ var _context = require("../context");
21
+
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
+
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+
26
+ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
27
+ var _ref$config = _ref.config,
28
+ _ref$config$seriesInt = _ref$config.seriesIntervalWidth,
29
+ paddingInner = _ref$config$seriesInt === void 0 ? 0 : _ref$config$seriesInt,
30
+ _ref$config$paddingIn = _ref$config.paddingInner,
31
+ paddingOuter = _ref$config$paddingIn === void 0 ? 0 : _ref$config$paddingIn,
32
+ label = _ref$config.label,
33
+ icon = _ref$config.icon,
34
+ config = _ref.config,
35
+ _ref$bandLength = _ref.bandLength,
36
+ bandLength = _ref$bandLength === void 0 ? 0 : _ref$bandLength,
37
+ data = _ref.data,
38
+ _ref$xAxis = _ref.xAxis,
39
+ xScaler = _ref$xAxis.scaler,
40
+ step = _ref$xAxis.step,
41
+ direction = _ref$xAxis.direction,
42
+ yScaler = _ref.yAxis.scaler,
43
+ triggerClick = _ref.triggerClick;
44
+ var lineType = config.hasOwnProperty('line'); //堆叠处理
45
+
46
+ var showIcon = icon && icon.show;
47
+ var showLabel = label && label.show;
48
+ if (!(data.length && (showIcon || showLabel))) return null;
49
+
50
+ var _useContext = (0, _react.useContext)(_context.chartContext),
51
+ width = _useContext.width,
52
+ height = _useContext.height;
53
+
54
+ var bandwidth = (0, _utils.getBandwidth)(step, paddingOuter);
55
+
56
+ var _getBandSeriesStepAnd = (0, _utils.getBandSeriesStepAndWidth)({
57
+ width: bandwidth,
58
+ paddingInner: paddingInner,
59
+ bandLength: bandLength
60
+ }),
61
+ seriesStep = _getBandSeriesStepAnd.seriesStep,
62
+ seriesWidth = _getBandSeriesStepAnd.seriesWidth;
63
+
64
+ var offset = (seriesWidth + paddingInner * seriesStep) * bandLength - paddingInner * seriesStep;
65
+ var isVertical = direction === 'vertical';
66
+ var _position = label.position;
67
+ return /*#__PURE__*/React.createElement("g", {
68
+ className: "__easyv-label"
69
+ }, data.map(function (_ref2, i) {
70
+ var index = _ref2.index,
71
+ _ref2$bound = (0, _slicedToArray2["default"])(_ref2.bound, 2),
72
+ start = _ref2$bound[0],
73
+ end = _ref2$bound[1],
74
+ data = _ref2.data,
75
+ _ref2$data = _ref2.data,
76
+ x = _ref2$data.x,
77
+ y = _ref2$data.y,
78
+ showY = _ref2$data.showY,
79
+ s = _ref2$data.s;
80
+
81
+ var y1 = yScaler(isVertical ? end : start); //处理z型折线图和堆叠柱图的逻辑冲突
82
+
83
+ var y2 = lineType ? start ? yScaler(isVertical ? start : end - start) : yScaler(isVertical ? start : end) : yScaler(isVertical ? start : end); // const y2 = yScaler(isVertical ? start : end);
84
+
85
+ var positionX = xScaler(x) + seriesStep * index - offset / 2;
86
+ if (isNaN(positionX)) return null;
87
+ var position = positionX + seriesWidth / 2;
88
+ var labelPosition = isVertical ? getVerticalLabel({
89
+ position: _position,
90
+ y: y,
91
+ y1: y1,
92
+ y2: y2,
93
+ width: width
94
+ }) : getHorizontalLabel({
95
+ position: _position,
96
+ y: y,
97
+ y1: y1,
98
+ y2: y2,
99
+ height: height
100
+ });
101
+ var attr = isVertical ? _objectSpread(_objectSpread({}, labelPosition), {}, {
102
+ y: position,
103
+ dominantBaseline: 'middle'
104
+ }) : _objectSpread(_objectSpread({}, labelPosition), {}, {
105
+ x: position,
106
+ textAnchor: 'middle'
107
+ });
108
+ return /*#__PURE__*/React.createElement("g", {
109
+ key: i,
110
+ onClick: triggerClick,
111
+ "data-data": JSON.stringify(data)
112
+ }, showIcon && /*#__PURE__*/React.createElement(Icon, {
113
+ cx: attr.x,
114
+ cy: attr.y,
115
+ config: icon
116
+ }), showLabel && /*#__PURE__*/React.createElement(Label, (0, _extends2["default"])({
117
+ value: showY,
118
+ config: label
119
+ }, attr)));
120
+ }));
121
+ });
122
+
123
+ exports["default"] = _default;
124
+
125
+ var Label = function Label(_ref3) {
126
+ var x = _ref3.x,
127
+ y = _ref3.y,
128
+ value = _ref3.value,
129
+ _ref3$config = _ref3.config,
130
+ font = _ref3$config.font,
131
+ _ref3$config$translat = _ref3$config.translate,
132
+ _ref3$config$translat2 = _ref3$config$translat.x,
133
+ translateX = _ref3$config$translat2 === void 0 ? 0 : _ref3$config$translat2,
134
+ _ref3$config$translat3 = _ref3$config$translat.y,
135
+ translateY = _ref3$config$translat3 === void 0 ? 0 : _ref3$config$translat3,
136
+ _ref3$textAnchor = _ref3.textAnchor,
137
+ textAnchor = _ref3$textAnchor === void 0 ? 'middle' : _ref3$textAnchor,
138
+ _ref3$dominantBaselin = _ref3.dominantBaseline,
139
+ dominantBaseline = _ref3$dominantBaselin === void 0 ? 'middle' : _ref3$dominantBaselin;
140
+ return /*#__PURE__*/React.createElement("text", (0, _extends2["default"])({
141
+ x: x,
142
+ y: y,
143
+ transform: (0, _utils.getTranslate2d)({
144
+ x: translateX,
145
+ y: translateY * (value >= 0 ? 1 : -1)
146
+ }),
147
+ textAnchor: textAnchor,
148
+ dominantBaseline: dominantBaseline
149
+ }, font), value);
150
+ };
151
+
152
+ var Icon = function Icon(_ref4) {
153
+ var cx = _ref4.cx,
154
+ cy = _ref4.cy,
155
+ _ref4$config = _ref4.config,
156
+ mode = _ref4$config.mode,
157
+ inner = _ref4$config.inner,
158
+ outer = _ref4$config.outer,
159
+ color = _ref4$config.color,
160
+ radius = _ref4$config.radius,
161
+ image = _ref4$config.image,
162
+ _ref4$config$size = _ref4$config.size,
163
+ width = _ref4$config$size.width,
164
+ height = _ref4$config$size.height;
165
+ return mode == 'single' ? /*#__PURE__*/React.createElement(Circle, {
166
+ cx: cx,
167
+ cy: cy,
168
+ color: color,
169
+ radius: radius
170
+ }) : mode == 'double' ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Circle, (0, _extends2["default"])({
171
+ cx: cx,
172
+ cy: cy
173
+ }, inner)), /*#__PURE__*/React.createElement(Circle, (0, _extends2["default"])({
174
+ cx: cx,
175
+ cy: cy
176
+ }, outer))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("image", {
177
+ width: width,
178
+ height: height,
179
+ x: cx - width / 2,
180
+ y: cy - height / 2,
181
+ xlinkHref: window.appConfig.ASSETS_URL + image
182
+ }));
183
+ };
184
+
185
+ var Circle = function Circle(_ref5) {
186
+ var cx = _ref5.cx,
187
+ cy = _ref5.cy,
188
+ color = _ref5.color,
189
+ radius = _ref5.radius;
190
+ return /*#__PURE__*/React.createElement("circle", {
191
+ cx: cx,
192
+ cy: cy,
193
+ fill: color,
194
+ r: radius,
195
+ stroke: "none"
196
+ });
197
+ };
198
+
199
+ var getVerticalLabel = function getVerticalLabel(_ref6) {
200
+ var _ref6$position = _ref6.position,
201
+ position = _ref6$position === void 0 ? 'outerStart' : _ref6$position,
202
+ width = _ref6.width,
203
+ y = _ref6.y,
204
+ y1 = _ref6.y1,
205
+ y2 = _ref6.y2;
206
+
207
+ switch (position) {
208
+ case 'start':
209
+ return {
210
+ x: y > 0 ? y2 : y1,
211
+ textAnchor: 'start'
212
+ };
213
+
214
+ case 'middle':
215
+ return {
216
+ x: (y1 + y2) / 2,
217
+ textAnchor: 'middle'
218
+ };
219
+
220
+ case 'end':
221
+ return {
222
+ x: y > 0 ? y1 : y2,
223
+ textAnchor: 'end'
224
+ };
225
+
226
+ case 'outerStart':
227
+ return {
228
+ x: y1,
229
+ textAnchor: y > 0 ? 'start' : 'end'
230
+ };
231
+
232
+ case 'chartStart':
233
+ return {
234
+ x: y > 0 ? width : 0,
235
+ textAnchor: y > 0 ? 'start' : 'end'
236
+ };
237
+ }
238
+ };
239
+
240
+ var getHorizontalLabel = function getHorizontalLabel(_ref7) {
241
+ var _ref7$position = _ref7.position,
242
+ position = _ref7$position === void 0 ? 'outerStart' : _ref7$position,
243
+ height = _ref7.height,
244
+ y = _ref7.y,
245
+ y1 = _ref7.y1,
246
+ y2 = _ref7.y2;
247
+
248
+ switch (position) {
249
+ case 'start':
250
+ return {
251
+ y: y > 0 ? y1 : y2,
252
+ dominantBaseline: 'text-after-edge'
253
+ };
254
+
255
+ case 'middle':
256
+ return {
257
+ y: (y1 + y2) / 2,
258
+ dominantBaseline: 'middle'
259
+ };
260
+
261
+ case 'end':
262
+ return {
263
+ y: y > 0 ? y2 : y1,
264
+ dominantBaseline: 'text-before-edge'
265
+ };
266
+
267
+ case 'outerStart':
268
+ return {
269
+ y: y2,
270
+ dominantBaseline: y >= 0 ? 'text-after-edge' : 'text-before-edge'
271
+ };
272
+
273
+ case 'chartStart':
274
+ return {
275
+ y: y > 0 ? 0 : height,
276
+ dominantBaseline: y > 0 ? 'text-after-edge' : 'text-before-edge'
277
+ };
278
+ }
279
279
  };