@semcore/d3-chart 2.0.9 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/lib/cjs/Area.js +70 -29
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Bar.js +6 -4
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +1 -0
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/Donut.js +120 -44
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +24 -25
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +7 -7
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/Line.js +4 -2
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +258 -0
- package/lib/cjs/ReferenceLine.js.map +1 -0
- package/lib/cjs/ResponsiveContainer.js +1 -1
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +1 -0
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +6 -6
- package/lib/cjs/StackedArea.js +7 -7
- package/lib/cjs/Tooltip.js +3 -2
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/createElement.js +4 -3
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js +8 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/dot.shadow.css +10 -5
- package/lib/cjs/style/reference-line.shadow.css +37 -0
- package/lib/cjs/types/Area.d.ts +1 -0
- package/lib/cjs/types/Bar.d.ts +4 -0
- package/lib/cjs/types/Bubble.d.ts +6 -1
- package/lib/cjs/types/Donut.d.ts +4 -0
- package/lib/cjs/types/ReferenceLine.d.ts +31 -0
- package/lib/cjs/types/Tooltip.d.ts +5 -3
- package/lib/cjs/types/index.d.ts +3 -0
- package/lib/es6/Area.js +68 -27
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Bar.js +6 -4
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +1 -0
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/Donut.js +114 -44
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +24 -23
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +7 -7
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/Line.js +4 -2
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/ReferenceLine.js +244 -0
- package/lib/es6/ReferenceLine.js.map +1 -0
- package/lib/es6/ResponsiveContainer.js +1 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +1 -0
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +6 -6
- package/lib/es6/StackedArea.js +7 -7
- package/lib/es6/Tooltip.js +3 -2
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/createElement.js +3 -3
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/index.js +1 -0
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/dot.shadow.css +10 -5
- package/lib/es6/style/reference-line.shadow.css +37 -0
- package/lib/es6/types/Area.d.ts +1 -0
- package/lib/es6/types/Bar.d.ts +4 -0
- package/lib/es6/types/Bubble.d.ts +6 -1
- package/lib/es6/types/Donut.d.ts +4 -0
- package/lib/es6/types/ReferenceLine.d.ts +31 -0
- package/lib/es6/types/Tooltip.d.ts +5 -3
- package/lib/es6/types/index.d.ts +3 -0
- package/lib/types/Area.d.ts +1 -0
- package/lib/types/Bar.d.ts +4 -0
- package/lib/types/Bubble.d.ts +6 -1
- package/lib/types/Donut.d.ts +4 -0
- package/lib/types/ReferenceLine.d.ts +31 -0
- package/lib/types/Tooltip.d.ts +5 -3
- package/lib/types/index.d.ts +3 -0
- package/package.json +11 -11
- package/src/Area.jsx +41 -8
- package/src/Bar.jsx +6 -5
- package/src/Bubble.jsx +1 -0
- package/src/Donut.jsx +96 -29
- package/src/Dots.jsx +11 -14
- package/src/GroupBar.jsx +1 -1
- package/src/Line.jsx +2 -1
- package/src/ReferenceLine.jsx +146 -0
- package/src/ResponsiveContainer.jsx +1 -1
- package/src/ScatterPlot.jsx +1 -0
- package/src/Tooltip.jsx +2 -3
- package/src/createElement.jsx +4 -2
- package/src/index.js +1 -0
- package/src/style/dot.shadow.css +10 -5
- package/src/style/reference-line.shadow.css +37 -0
- package/src/types/Area.d.ts +1 -0
- package/src/types/Bar.d.ts +4 -0
- package/src/types/Bubble.d.ts +6 -1
- package/src/types/Donut.d.ts +4 -0
- package/src/types/ReferenceLine.d.ts +31 -0
- package/src/types/Tooltip.d.ts +5 -3
- package/src/types/index.d.ts +3 -0
package/lib/cjs/Donut.js
CHANGED
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports["default"] = void 0;
|
|
9
11
|
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
10
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
15
|
|
|
12
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -25,7 +29,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
25
29
|
|
|
26
30
|
var _core = require("@semcore/core");
|
|
27
31
|
|
|
28
|
-
var _react =
|
|
32
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
29
33
|
|
|
30
34
|
var _d3Shape = require("d3-shape");
|
|
31
35
|
|
|
@@ -43,6 +47,16 @@ var _d3Interpolate = require("d3-interpolate");
|
|
|
43
47
|
|
|
44
48
|
var _d3Transition = require("d3-transition");
|
|
45
49
|
|
|
50
|
+
var _excluded = ["Element", "styles", "d3Arc", "data", "color", "$animationActivePie", "active", "d3ArcOut"];
|
|
51
|
+
|
|
52
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
53
|
+
|
|
54
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
55
|
+
|
|
56
|
+
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; }
|
|
57
|
+
|
|
58
|
+
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; }
|
|
59
|
+
|
|
46
60
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
47
61
|
|
|
48
62
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -68,7 +82,9 @@ var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
|
68
82
|
function animationInitialPie(_ref4) {
|
|
69
83
|
var halfsize = _ref4.halfsize,
|
|
70
84
|
d3Arc = _ref4.d3Arc,
|
|
71
|
-
|
|
85
|
+
d3ArcOut = _ref4.d3ArcOut,
|
|
86
|
+
arcs = _ref4.arcs,
|
|
87
|
+
activeIndexPie = _ref4.activeIndexPie;
|
|
72
88
|
return function (_, ind) {
|
|
73
89
|
var d = arcs[ind];
|
|
74
90
|
if (!d) return function () {
|
|
@@ -79,7 +95,7 @@ function animationInitialPie(_ref4) {
|
|
|
79
95
|
return function (t) {
|
|
80
96
|
d.startAngle = iStart(t);
|
|
81
97
|
d.endAngle = iEnd(t);
|
|
82
|
-
return d3Arc(d);
|
|
98
|
+
return ind === activeIndexPie ? d3ArcOut(d) : d3Arc(d);
|
|
83
99
|
};
|
|
84
100
|
};
|
|
85
101
|
}
|
|
@@ -165,6 +181,7 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
165
181
|
|
|
166
182
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
167
183
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "virtualElement", (0, _canUseDOM["default"])() ? document.createElement('div') : {});
|
|
184
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "activeIndexPie", undefined);
|
|
168
185
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindHandlerTooltip", function (visible, props) {
|
|
169
186
|
return function (_ref8) {
|
|
170
187
|
var x = _ref8.clientX,
|
|
@@ -175,15 +192,38 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
175
192
|
eventEmitter.emit('onTooltipVisible', visible, props, _this.virtualElement);
|
|
176
193
|
};
|
|
177
194
|
});
|
|
195
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "animationActivePie", function (props) {
|
|
196
|
+
var _this$asProps = _this.asProps,
|
|
197
|
+
duration = _this$asProps.duration,
|
|
198
|
+
innerRadius = _this$asProps.innerRadius;
|
|
199
|
+
var active = props.active,
|
|
200
|
+
data = props.data,
|
|
201
|
+
selector = props.selector;
|
|
202
|
+
innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;
|
|
203
|
+
var outerRadius = getOuterRadius(_this.asProps);
|
|
204
|
+
active ? animationHoverPie({
|
|
205
|
+
d: data,
|
|
206
|
+
selector: "#".concat(_this.id, " ").concat(selector),
|
|
207
|
+
duration: duration === 0 ? 0 : 300,
|
|
208
|
+
innerRadius: innerRadius,
|
|
209
|
+
outerRadius: [outerRadius, outerRadius + increaseFactor]
|
|
210
|
+
}) : animationHoverPie({
|
|
211
|
+
d: data,
|
|
212
|
+
selector: "#".concat(_this.id, " ").concat(selector),
|
|
213
|
+
duration: duration === 0 ? 0 : 300,
|
|
214
|
+
innerRadius: innerRadius,
|
|
215
|
+
outerRadius: [outerRadius + increaseFactor, outerRadius]
|
|
216
|
+
});
|
|
217
|
+
});
|
|
178
218
|
return _this;
|
|
179
219
|
}
|
|
180
220
|
|
|
181
221
|
(0, _createClass2["default"])(DonutRoot, [{
|
|
182
222
|
key: "id",
|
|
183
223
|
get: function get() {
|
|
184
|
-
var _this$
|
|
185
|
-
uid = _this$
|
|
186
|
-
id = _this$
|
|
224
|
+
var _this$asProps2 = this.asProps,
|
|
225
|
+
uid = _this$asProps2.uid,
|
|
226
|
+
id = _this$asProps2.id;
|
|
187
227
|
return id || uid;
|
|
188
228
|
}
|
|
189
229
|
}, {
|
|
@@ -205,10 +245,10 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
205
245
|
}, {
|
|
206
246
|
key: "getArcs",
|
|
207
247
|
value: function getArcs() {
|
|
208
|
-
var _this$
|
|
209
|
-
Children = _this$
|
|
210
|
-
data = _this$
|
|
211
|
-
d3Pie = _this$
|
|
248
|
+
var _this$asProps3 = this.asProps,
|
|
249
|
+
Children = _this$asProps3.Children,
|
|
250
|
+
data = _this$asProps3.data,
|
|
251
|
+
d3Pie = _this$asProps3.d3Pie;
|
|
212
252
|
var pieData = Object.entries(data);
|
|
213
253
|
|
|
214
254
|
if (d3Pie[DEFAULT_INSTANCE]) {
|
|
@@ -248,39 +288,40 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
248
288
|
}
|
|
249
289
|
}, {
|
|
250
290
|
key: "getPieProps",
|
|
251
|
-
value: function getPieProps(props) {
|
|
291
|
+
value: function getPieProps(props, ind) {
|
|
252
292
|
var _this2 = this;
|
|
253
293
|
|
|
254
|
-
var _this$
|
|
255
|
-
d3Arc = _this$
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;
|
|
259
|
-
var outerRadius = getOuterRadius(this.asProps);
|
|
294
|
+
var _this$asProps4 = this.asProps,
|
|
295
|
+
d3Arc = _this$asProps4.d3Arc,
|
|
296
|
+
d3ArcOut = _this$asProps4.d3ArcOut;
|
|
297
|
+
var active = props.active;
|
|
260
298
|
var data = this.arcs.find(function (arc) {
|
|
261
299
|
return arc.data[0] === props.dataKey;
|
|
262
300
|
});
|
|
301
|
+
|
|
302
|
+
if (active) {
|
|
303
|
+
this.activeIndexPie = ind;
|
|
304
|
+
}
|
|
305
|
+
|
|
263
306
|
return {
|
|
264
307
|
data: data,
|
|
265
308
|
d3Arc: d3Arc,
|
|
309
|
+
d3ArcOut: d3ArcOut,
|
|
310
|
+
$animationActivePie: this.animationActivePie,
|
|
266
311
|
onMouseMove: this.bindHandlerTooltip(true, props),
|
|
267
312
|
onMouseLeave: this.bindHandlerTooltip(false, props),
|
|
268
313
|
onMouseOver: function onMouseOver(e) {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
innerRadius: innerRadius,
|
|
274
|
-
outerRadius: [outerRadius, outerRadius + increaseFactor]
|
|
314
|
+
!active && _this2.animationActivePie({
|
|
315
|
+
active: true,
|
|
316
|
+
data: data,
|
|
317
|
+
selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]")
|
|
275
318
|
});
|
|
276
319
|
},
|
|
277
320
|
onMouseOut: function onMouseOut(e) {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
innerRadius: innerRadius,
|
|
283
|
-
outerRadius: [outerRadius + increaseFactor, outerRadius]
|
|
321
|
+
!active && _this2.animationActivePie({
|
|
322
|
+
active: false,
|
|
323
|
+
data: data,
|
|
324
|
+
selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]")
|
|
284
325
|
});
|
|
285
326
|
}
|
|
286
327
|
};
|
|
@@ -296,11 +337,11 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
296
337
|
}, {
|
|
297
338
|
key: "componentDidUpdate",
|
|
298
339
|
value: function componentDidUpdate(prevProps) {
|
|
299
|
-
var _this$
|
|
300
|
-
data = _this$
|
|
301
|
-
duration = _this$
|
|
302
|
-
d3Arc = _this$
|
|
303
|
-
halfsize = _this$
|
|
340
|
+
var _this$asProps5 = this.asProps,
|
|
341
|
+
data = _this$asProps5.data,
|
|
342
|
+
duration = _this$asProps5.duration,
|
|
343
|
+
d3Arc = _this$asProps5.d3Arc,
|
|
344
|
+
halfsize = _this$asProps5.halfsize;
|
|
304
345
|
var arcs = this.arcs;
|
|
305
346
|
|
|
306
347
|
if (prevProps.$rootProps.data !== data && duration > 0) {
|
|
@@ -314,10 +355,11 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
314
355
|
}, {
|
|
315
356
|
key: "componentDidMount",
|
|
316
357
|
value: function componentDidMount() {
|
|
317
|
-
var _this$
|
|
318
|
-
duration = _this$
|
|
319
|
-
d3Arc = _this$
|
|
320
|
-
halfsize = _this$
|
|
358
|
+
var _this$asProps6 = this.asProps,
|
|
359
|
+
duration = _this$asProps6.duration,
|
|
360
|
+
d3Arc = _this$asProps6.d3Arc,
|
|
361
|
+
halfsize = _this$asProps6.halfsize,
|
|
362
|
+
d3ArcOut = _this$asProps6.d3ArcOut;
|
|
321
363
|
var arcs = this.arcs;
|
|
322
364
|
|
|
323
365
|
if (duration > 0) {
|
|
@@ -326,16 +368,18 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
326
368
|
}).transition().duration(duration).attrTween('d', animationInitialPie({
|
|
327
369
|
halfsize: halfsize,
|
|
328
370
|
d3Arc: d3Arc,
|
|
329
|
-
|
|
371
|
+
d3ArcOut: d3ArcOut,
|
|
372
|
+
arcs: arcs,
|
|
373
|
+
activeIndexPie: this.activeIndexPie
|
|
330
374
|
}));
|
|
331
375
|
}
|
|
332
376
|
}
|
|
333
377
|
}, {
|
|
334
378
|
key: "render",
|
|
335
379
|
value: function render() {
|
|
336
|
-
var _this$
|
|
337
|
-
halfsize = _this$
|
|
338
|
-
size = _this$
|
|
380
|
+
var _this$asProps7 = this.asProps,
|
|
381
|
+
halfsize = _this$asProps7.halfsize,
|
|
382
|
+
size = _this$asProps7.size;
|
|
339
383
|
|
|
340
384
|
var _size2 = (0, _slicedToArray2["default"])(size, 2),
|
|
341
385
|
width = _size2[0],
|
|
@@ -370,6 +414,11 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
370
414
|
halfsize: halfsize,
|
|
371
415
|
outerRadius: outerRadius
|
|
372
416
|
})).innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);
|
|
417
|
+
var d3ArcOut = (0, _d3Shape.arc)().outerRadius(getOuterRadius({
|
|
418
|
+
size: size,
|
|
419
|
+
halfsize: halfsize,
|
|
420
|
+
outerRadius: outerRadius
|
|
421
|
+
}) + increaseFactor).innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);
|
|
373
422
|
var d3Pie = (0, _d3Shape.pie)().sort(null).value(function (_ref19) {
|
|
374
423
|
var _ref20 = (0, _slicedToArray2["default"])(_ref19, 2),
|
|
375
424
|
value = _ref20[1];
|
|
@@ -385,6 +434,7 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
385
434
|
return {
|
|
386
435
|
d3Pie: d3Pie,
|
|
387
436
|
d3Arc: d3Arc,
|
|
437
|
+
d3ArcOut: d3ArcOut,
|
|
388
438
|
duration: 500
|
|
389
439
|
};
|
|
390
440
|
});
|
|
@@ -396,11 +446,37 @@ function Pie(_ref15) {
|
|
|
396
446
|
styles = _ref15.styles,
|
|
397
447
|
d3Arc = _ref15.d3Arc,
|
|
398
448
|
data = _ref15.data,
|
|
399
|
-
color = _ref15.color
|
|
449
|
+
color = _ref15.color,
|
|
450
|
+
$animationActivePie = _ref15.$animationActivePie,
|
|
451
|
+
active = _ref15.active,
|
|
452
|
+
d3ArcOut = _ref15.d3ArcOut,
|
|
453
|
+
other = (0, _objectWithoutProperties2["default"])(_ref15, _excluded);
|
|
454
|
+
|
|
455
|
+
var _useState = (0, _react.useState)(false),
|
|
456
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
457
|
+
isMount = _useState2[0],
|
|
458
|
+
setIsMount = _useState2[1];
|
|
459
|
+
|
|
460
|
+
(0, _react.useEffect)(function () {
|
|
461
|
+
//you should't run animation for first render
|
|
462
|
+
if (!isMount) {
|
|
463
|
+
setIsMount(true);
|
|
464
|
+
return;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
if (active !== undefined && active !== null) {
|
|
468
|
+
//name must unique on page
|
|
469
|
+
$animationActivePie(_objectSpread(_objectSpread({}, other), {}, {
|
|
470
|
+
active: active,
|
|
471
|
+
data: data,
|
|
472
|
+
selector: "[name=\"".concat(other.name, "\"]")
|
|
473
|
+
}));
|
|
474
|
+
}
|
|
475
|
+
}, [active]);
|
|
400
476
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPie, _ref.cn("SPie", {
|
|
401
477
|
"render": "path",
|
|
402
478
|
"color": color,
|
|
403
|
-
"d": d3Arc(data)
|
|
479
|
+
"d": active ? d3ArcOut(data) : d3Arc(data)
|
|
404
480
|
}));
|
|
405
481
|
}
|
|
406
482
|
|
package/lib/cjs/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Donut.jsx"],"names":["DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","arcs","_","ind","d","iStart","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","selection","select","transition","attrTween","min","max","d3ArcOut","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","uid","id","top","right","bottom","left","Children","data","d3Pie","pieData","Object","entries","keys","React","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","arc","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","Element","k","getArcs","Component","style","value","SPie","styles","color","EmptyData","SEmptyData","Label","SLabel"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction animationInitialPie({ halfsize, d3Arc, arcs }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (!d) return () => '';\n const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);\n const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);\n return function (t) {\n d.startAngle = iStart(t);\n d.endAngle = iEnd(t);\n return d3Arc(d);\n };\n };\n}\n\nfunction animationUpdatePie({ halfsize, arcs, d3Arc }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (this._current) {\n const i = interpolate(this._current, d);\n this._current = i(0);\n return function (t) {\n return d3Arc(i(t));\n };\n } else {\n this._current = d;\n return animationInitialPie({ halfsize, arcs, d3Arc })(_, ind);\n }\n };\n}\n\nfunction animationHoverPie({ d, selector, duration, innerRadius, outerRadius }) {\n if (duration > 0) {\n transition()\n .selection()\n .select(selector)\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n if (!d) return () => '';\n const [min, max] = outerRadius;\n const i = interpolate(min, max);\n return function (t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(i(t));\n return d3ArcOut(d);\n };\n });\n }\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\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 getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props) => ({ 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, this.virtualElement);\n };\n\n getPieProps(props) {\n let { d3Arc, duration, innerRadius } = this.asProps;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n\n return {\n data,\n d3Arc,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n });\n },\n onMouseOut: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data, duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (prevProps.$rootProps.data !== data && duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .transition()\n .duration(duration)\n .attrTween('d', animationUpdatePie({ d3Arc, arcs, halfsize }));\n }\n }\n\n componentDidMount() {\n const { duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .each(function (_, ind) {\n this._current = arcs[ind];\n })\n .transition()\n .duration(duration)\n .attrTween('d', animationInitialPie({ halfsize, d3Arc, arcs }));\n }\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({ Element: SPie, styles, d3Arc, data, color }) {\n return sstyled(styles)(<SPie render=\"path\" color={color} d={d3Arc(data)} />);\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children }) {\n return sstyled(styles)(\n <SLabel render=\"text\" x=\"0\" y=\"0\">\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"file":"Donut.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Donut.jsx"],"names":["DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","_","ind","d","iStart","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","selection","select","transition","attrTween","min","max","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","createElement","undefined","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","active","data","id","uid","top","right","bottom","left","Children","d3Pie","pieData","Object","entries","keys","React","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","arc","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","Element","k","getArcs","Component","style","value","SPie","styles","color","other","isMount","setIsMount","name","EmptyData","SEmptyData","Label","SLabel"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction animationInitialPie({ halfsize, d3Arc, d3ArcOut, arcs, activeIndexPie }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (!d) return () => '';\n const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);\n const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);\n return function (t) {\n d.startAngle = iStart(t);\n d.endAngle = iEnd(t);\n return ind === activeIndexPie ? d3ArcOut(d) : d3Arc(d);\n };\n };\n}\n\nfunction animationUpdatePie({ halfsize, arcs, d3Arc }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (this._current) {\n const i = interpolate(this._current, d);\n this._current = i(0);\n return function (t) {\n return d3Arc(i(t));\n };\n } else {\n this._current = d;\n return animationInitialPie({ halfsize, arcs, d3Arc })(_, ind);\n }\n };\n}\n\nfunction animationHoverPie({ d, selector, duration, innerRadius, outerRadius }) {\n if (duration > 0) {\n transition()\n .selection()\n .select(selector)\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n if (!d) return () => '';\n const [min, max] = outerRadius;\n const i = interpolate(min, max);\n return function (t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(i(t));\n return d3ArcOut(d);\n };\n });\n }\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }) + increaseFactor)\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ 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, this.virtualElement);\n };\n\n animationActivePie = (props) => {\n let { duration, innerRadius } = this.asProps;\n const { active, data, selector } = props;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n active\n ? animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n })\n : animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n !active &&\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n },\n onMouseOut: (e) => {\n !active &&\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data, duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (prevProps.$rootProps.data !== data && duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .transition()\n .duration(duration)\n .attrTween('d', animationUpdatePie({ d3Arc, arcs, halfsize }));\n }\n }\n\n componentDidMount() {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n const arcs = this.arcs;\n\n if (duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .each(function (_, ind) {\n this._current = arcs[ind];\n })\n .transition()\n .duration(duration)\n .attrTween(\n 'd',\n animationInitialPie({\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie: this.activeIndexPie,\n }),\n );\n }\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n useEffect(() => {\n //you should't run animation for first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n //name must unique on page\n $animationActivePie({ ...other, active, data, selector: `[name=\"${other.name}\"]` });\n }\n }, [active]);\n return sstyled(styles)(\n <SPie render=\"path\" color={color} d={active ? d3ArcOut(data) : d3Arc(data)} />,\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children }) {\n return sstyled(styles)(\n <SLabel render=\"text\" x=\"0\" y=\"0\">\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"file":"Donut.js"}
|
package/lib/cjs/Dots.js
CHANGED
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
13
|
|
|
16
14
|
var _core = require("@semcore/core");
|
|
@@ -23,8 +21,6 @@ var _utils = require("./utils");
|
|
|
23
21
|
|
|
24
22
|
var _createElement = _interopRequireDefault(require("./createElement"));
|
|
25
23
|
|
|
26
|
-
var _animation = require("@semcore/animation");
|
|
27
|
-
|
|
28
24
|
var _rafTrottle = _interopRequireDefault(require("@semcore/utils/lib/rafTrottle"));
|
|
29
25
|
|
|
30
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -36,20 +32,24 @@ var style = (
|
|
|
36
32
|
/*__reshadow_css_start__*/
|
|
37
33
|
_core.sstyled.insert(
|
|
38
34
|
/*__inner_css_start__*/
|
|
39
|
-
".
|
|
35
|
+
".___SDots_151p1_gg_ .___SDot_151p1_gg_{transition-duration:var(--duration_k8i7qm)}.___SDot_151p1_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:#2bb3ff;transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_151p1_gg_.__hide_151p1_gg_{display:none}.___SDot_151p1_gg_.__active_151p1_gg_{r:8px}.___SDot_151p1_gg_.__color_151p1_gg_{fill:var(--color_k8i7qm)}"
|
|
40
36
|
/*__inner_css_end__*/
|
|
41
|
-
, "
|
|
37
|
+
, "k8i7qm_gg_")
|
|
42
38
|
/*__reshadow_css_end__*/
|
|
43
39
|
, {
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
40
|
+
"__SDots": "___SDots_151p1_gg_",
|
|
41
|
+
"__SDot": "___SDot_151p1_gg_",
|
|
42
|
+
"--duration": "--duration_k8i7qm",
|
|
43
|
+
"_hide": "__hide_151p1_gg_",
|
|
44
|
+
"_active": "__active_151p1_gg_",
|
|
45
|
+
"_color": "__color_151p1_gg_",
|
|
46
|
+
"--color": "--color_k8i7qm"
|
|
50
47
|
});
|
|
48
|
+
var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
|
|
51
49
|
|
|
52
50
|
function Dots(props) {
|
|
51
|
+
var _ref2;
|
|
52
|
+
|
|
53
53
|
var SDot = props.Element,
|
|
54
54
|
styles = props.styles,
|
|
55
55
|
data = props.data,
|
|
@@ -64,6 +64,7 @@ function Dots(props) {
|
|
|
64
64
|
scale = props.scale,
|
|
65
65
|
_props$duration = props.duration,
|
|
66
66
|
duration = _props$duration === void 0 ? 500 : _props$duration;
|
|
67
|
+
var SDots = 'g';
|
|
67
68
|
var bisect = (0, _d3Array.bisector)(function (d) {
|
|
68
69
|
return d[x];
|
|
69
70
|
}).center;
|
|
@@ -97,36 +98,34 @@ function Dots(props) {
|
|
|
97
98
|
unsubscribeMouseMoveRoot();
|
|
98
99
|
unsubscribeMouseLeaveRoot();
|
|
99
100
|
};
|
|
100
|
-
}, [eventEmitter, data, x, y]);
|
|
101
|
-
var
|
|
102
|
-
return /*#__PURE__*/_react["default"].createElement(_animation.FadeInOut, (0, _extends2["default"])({
|
|
103
|
-
ref: ref,
|
|
104
|
-
tag: "circle"
|
|
105
|
-
}, props));
|
|
106
|
-
}), [props]);
|
|
107
|
-
return data.reduce(function (acc, d, i) {
|
|
101
|
+
}, [eventEmitter, scale, data, x, y]);
|
|
102
|
+
var dots = data.reduce(function (acc, d, i) {
|
|
108
103
|
var _ref;
|
|
109
104
|
|
|
110
105
|
var isPrev = d3.defined()(data[i - 1] || {});
|
|
111
106
|
var isNext = d3.defined()(data[i + 1] || {});
|
|
112
107
|
var active = i === activeIndex;
|
|
108
|
+
var visible = display || i === activeIndex || !isPrev && !isNext;
|
|
113
109
|
if (!d3.defined()(d)) return acc;
|
|
110
|
+
if (!visible) return acc;
|
|
114
111
|
acc.push((_ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDot, _ref.cn("SDot", {
|
|
115
112
|
"key": i,
|
|
116
|
-
"render":
|
|
117
|
-
"visible":
|
|
118
|
-
"__excludeProps":
|
|
113
|
+
"render": "circle",
|
|
114
|
+
"visible": visible,
|
|
115
|
+
"__excludeProps": EXCLUDE_PROPS,
|
|
119
116
|
"value": d,
|
|
120
117
|
"index": i,
|
|
121
118
|
"cx": d3.x()(d),
|
|
122
119
|
"cy": d3.y()(d),
|
|
123
120
|
"active": active,
|
|
124
121
|
"hide": hide,
|
|
125
|
-
"color": color
|
|
126
|
-
"use:duration": "".concat(duration, "ms")
|
|
122
|
+
"color": color
|
|
127
123
|
}))));
|
|
128
124
|
return acc;
|
|
129
125
|
}, []);
|
|
126
|
+
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDots, _ref2.cn("SDots", {
|
|
127
|
+
"use:duration": "".concat(duration, "ms")
|
|
128
|
+
}), dots);
|
|
130
129
|
}
|
|
131
130
|
|
|
132
131
|
Dots.style = style;
|
package/lib/cjs/Dots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Dots.jsx"],"names":["Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","bisect","d","center","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","xScale","current","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","
|
|
1
|
+
{"version":3,"sources":["../../src/Dots.jsx"],"names":["EXCLUDE_PROPS","Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","SDots","bisect","d","center","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","xScale","current","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","isPrev","defined","isNext","active","visible","push","style"],"mappings":"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","sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport { eventToPoint, invert } from './utils';\nimport createElement from './createElement';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/dot.shadow.css';\n\nconst EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n } = props;\n const SDots = 'g';\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, scale, data, x, y]);\n\n const dots = data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n const visible = display || i === activeIndex || (!isPrev && !isNext);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n key={i}\n render=\"circle\"\n visible={visible}\n __excludeProps={EXCLUDE_PROPS}\n value={d}\n index={i}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n active={active}\n hide={hide}\n color={color}\n />,\n ),\n );\n return acc;\n }, []);\n return sstyled(styles)(<SDots use:duration={`${duration}ms`}>{dots}</SDots>);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"file":"Dots.js"}
|
package/lib/cjs/GroupBar.js
CHANGED
|
@@ -42,15 +42,15 @@ var _ref = (
|
|
|
42
42
|
/*__reshadow_css_start__*/
|
|
43
43
|
(0, _core.__css__)(
|
|
44
44
|
/*__inner_css_start__*/
|
|
45
|
-
".
|
|
45
|
+
".___SBar_wxazs_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_wxazs_gg_.__color_wxazs_gg_{fill:var(--color)}.___SBar_wxazs_gg_.__hide_wxazs_gg_{display:none}.___SBackground_wxazs_gg_{fill:#c4c7cf}"
|
|
46
46
|
/*__inner_css_end__*/
|
|
47
|
-
, "
|
|
47
|
+
, "14r5hqa_gg_")
|
|
48
48
|
/*__reshadow_css_end__*/
|
|
49
49
|
, {
|
|
50
|
-
"__SBar": "
|
|
51
|
-
"_color": "
|
|
52
|
-
"_hide": "
|
|
53
|
-
"__SBackground": "
|
|
50
|
+
"__SBar": "___SBar_wxazs_gg_",
|
|
51
|
+
"_color": "__color_wxazs_gg_",
|
|
52
|
+
"_hide": "__hide_wxazs_gg_",
|
|
53
|
+
"__SBackground": "___SBackground_wxazs_gg_"
|
|
54
54
|
}),
|
|
55
55
|
style = (0, _extends2["default"])({}, _ref);
|
|
56
56
|
|
|
@@ -71,7 +71,7 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
71
71
|
Children = _this$asProps.Children,
|
|
72
72
|
scale = _this$asProps.scale,
|
|
73
73
|
scaleGroup = _this$asProps.scaleGroup,
|
|
74
|
-
x = _this$asProps.x; // TODO:
|
|
74
|
+
x = _this$asProps.x; // TODO: love that hack (by lsroman)
|
|
75
75
|
|
|
76
76
|
var xyScale = x ? scale[0] : scale[1];
|
|
77
77
|
if (scaleGroup) return scaleGroup;
|
package/lib/cjs/GroupBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/GroupBar.jsx"],"names":["GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","React","toArray","reduce","acc","child","isValidElement","type","GroupBar","Bar","props","hide","push","y","HorizontalBar","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","height","Element","getScaleGroup","Component","style"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nimport style from './style/bar.shadow.css';\n\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n static style = style;\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO:
|
|
1
|
+
{"version":3,"sources":["../../src/GroupBar.jsx"],"names":["GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","React","toArray","reduce","acc","child","isValidElement","type","GroupBar","Bar","props","hide","push","y","HorizontalBar","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","height","Element","getScaleGroup","Component","style"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nimport style from './style/bar.shadow.css';\n\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n static style = style;\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO: love that hack (by lsroman)\n const xyScale = x ? scale[0] : scale[1];\n\n if (scaleGroup) return scaleGroup;\n\n const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === GroupBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n\n return xyScale\n .copy()\n .range([0, xyScale.bandwidth()])\n .domain(domain)\n .paddingInner(xyScale.paddingOuter())\n .paddingOuter(0);\n }\n\n getBarProps({ y }) {\n const { x } = this.asProps;\n\n return {\n offset: [this.scaleGroup(y), 0],\n width: this.scaleGroup.bandwidth(),\n x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y } = this.asProps;\n\n return {\n offset: [0, this.scaleGroup(x)],\n height: this.scaleGroup.bandwidth(),\n y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.scaleGroup = this.getScaleGroup();\n return <Element render=\"g\" childrenPosition=\"inside\" scaleGroup={this.scaleGroup} />;\n }\n}\n\nconst GroupBar = createElement(GroupBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default GroupBar;\n"],"file":"GroupBar.js"}
|
package/lib/cjs/Line.js
CHANGED
|
@@ -76,12 +76,14 @@ var LineRoot = /*#__PURE__*/function (_Component) {
|
|
|
76
76
|
x = _this$asProps.x,
|
|
77
77
|
y = _this$asProps.y,
|
|
78
78
|
d3 = _this$asProps.d3,
|
|
79
|
-
color = _this$asProps.color
|
|
79
|
+
color = _this$asProps.color,
|
|
80
|
+
duration = _this$asProps.duration;
|
|
80
81
|
return {
|
|
81
82
|
x: x,
|
|
82
83
|
y: y,
|
|
83
84
|
d3: d3,
|
|
84
|
-
color: color
|
|
85
|
+
color: color,
|
|
86
|
+
duration: duration
|
|
85
87
|
};
|
|
86
88
|
}
|
|
87
89
|
}, {
|