UNPKG

123 kBJavaScriptView Raw
1(function webpackUniversalModuleDefinition(root, factory) {
2 if(typeof exports === 'object' && typeof module === 'object')
3 module.exports = factory();
4 else if(typeof define === 'function' && define.amd)
5 define([], factory);
6 else if(typeof exports === 'object')
7 exports["Hierarchy"] = factory();
8 else
9 root["Hierarchy"] = factory();
10})(typeof self !== 'undefined' ? self : this, function() {
11return /******/ (function(modules) { // webpackBootstrap
12/******/ // The module cache
13/******/ var installedModules = {};
14/******/
15/******/ // The require function
16/******/ function __webpack_require__(moduleId) {
17/******/
18/******/ // Check if module is in cache
19/******/ if(installedModules[moduleId]) {
20/******/ return installedModules[moduleId].exports;
21/******/ }
22/******/ // Create a new module (and put it into the cache)
23/******/ var module = installedModules[moduleId] = {
24/******/ i: moduleId,
25/******/ l: false,
26/******/ exports: {}
27/******/ };
28/******/
29/******/ // Execute the module function
30/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31/******/
32/******/ // Flag the module as loaded
33/******/ module.l = true;
34/******/
35/******/ // Return the exports of the module
36/******/ return module.exports;
37/******/ }
38/******/
39/******/
40/******/ // expose the modules object (__webpack_modules__)
41/******/ __webpack_require__.m = modules;
42/******/
43/******/ // expose the module cache
44/******/ __webpack_require__.c = installedModules;
45/******/
46/******/ // define getter function for harmony exports
47/******/ __webpack_require__.d = function(exports, name, getter) {
48/******/ if(!__webpack_require__.o(exports, name)) {
49/******/ Object.defineProperty(exports, name, {
50/******/ configurable: false,
51/******/ enumerable: true,
52/******/ get: getter
53/******/ });
54/******/ }
55/******/ };
56/******/
57/******/ // getDefaultExport function for compatibility with non-harmony modules
58/******/ __webpack_require__.n = function(module) {
59/******/ var getter = module && module.__esModule ?
60/******/ function getDefault() { return module['default']; } :
61/******/ function getModuleExports() { return module; };
62/******/ __webpack_require__.d(getter, 'a', getter);
63/******/ return getter;
64/******/ };
65/******/
66/******/ // Object.prototype.hasOwnProperty.call
67/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
68/******/
69/******/ // __webpack_public_path__
70/******/ __webpack_require__.p = "";
71/******/
72/******/ // Load entry module and return exports
73/******/ return __webpack_require__(__webpack_require__.s = 31);
74/******/ })
75/************************************************************************/
76/******/ ([
77/* 0 */
78/***/ (function(module, __webpack_exports__, __webpack_require__) {
79
80"use strict";
81/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_type__ = __webpack_require__(4);
82
83/* harmony default export */ __webpack_exports__["a"] = (function (value) {
84 return Array.isArray ? Array.isArray(value) : Object(__WEBPACK_IMPORTED_MODULE_0__is_type__["a" /* default */])(value, 'Array');
85});
86
87/***/ }),
88/* 1 */
89/***/ (function(module, __webpack_exports__, __webpack_require__) {
90
91"use strict";
92var isArrayLike = function (value) {
93 /**
94 * isArrayLike([1, 2, 3]) => true
95 * isArrayLike(document.body.children) => true
96 * isArrayLike('abc') => true
97 * isArrayLike(Function) => false
98 */
99 return value !== null && typeof value !== 'function' && isFinite(value.length);
100};
101
102/* harmony default export */ __webpack_exports__["a"] = (isArrayLike);
103
104/***/ }),
105/* 2 */
106/***/ (function(module, __webpack_exports__, __webpack_require__) {
107
108"use strict";
109/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array__ = __webpack_require__(0);
110/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_object__ = __webpack_require__(13);
111
112
113
114function each(elements, func) {
115 if (!elements) {
116 return;
117 }
118
119 var rst;
120
121 if (Object(__WEBPACK_IMPORTED_MODULE_0__is_array__["a" /* default */])(elements)) {
122 for (var i = 0, len = elements.length; i < len; i++) {
123 rst = func(elements[i], i);
124
125 if (rst === false) {
126 break;
127 }
128 }
129 } else if (Object(__WEBPACK_IMPORTED_MODULE_1__is_object__["a" /* default */])(elements)) {
130 for (var k in elements) {
131 if (elements.hasOwnProperty(k)) {
132 rst = func(elements[k], k);
133
134 if (rst === false) {
135 break;
136 }
137 }
138 }
139 }
140}
141
142/* harmony default export */ __webpack_exports__["a"] = (each);
143
144/***/ }),
145/* 3 */
146/***/ (function(module, __webpack_exports__, __webpack_require__) {
147
148"use strict";
149/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_type__ = __webpack_require__(4);
150/**
151 * 是否为函数
152 * @param {*} fn 对象
153 * @return {Boolean} 是否函数
154 */
155
156/* harmony default export */ __webpack_exports__["a"] = (function (value) {
157 return Object(__WEBPACK_IMPORTED_MODULE_0__is_type__["a" /* default */])(value, 'Function');
158});
159
160/***/ }),
161/* 4 */
162/***/ (function(module, __webpack_exports__, __webpack_require__) {
163
164"use strict";
165var toString = {}.toString;
166
167var isType = function (value, type) {
168 return toString.call(value) === '[object ' + type + ']';
169};
170
171/* harmony default export */ __webpack_exports__["a"] = (isType);
172
173/***/ }),
174/* 5 */
175/***/ (function(module, __webpack_exports__, __webpack_require__) {
176
177"use strict";
178/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_type__ = __webpack_require__(4);
179/**
180 * 判断是否数字
181 * @return {Boolean} 是否数字
182 */
183
184
185var isNumber = function (value) {
186 return Object(__WEBPACK_IMPORTED_MODULE_0__is_type__["a" /* default */])(value, 'Number');
187};
188
189/* harmony default export */ __webpack_exports__["a"] = (isNumber);
190
191/***/ }),
192/* 6 */
193/***/ (function(module, __webpack_exports__, __webpack_require__) {
194
195"use strict";
196// isFinite,
197var isNil = function (value) {
198 /**
199 * isNil(null) => true
200 * isNil() => true
201 */
202 return value === null || value === undefined;
203};
204
205/* harmony default export */ __webpack_exports__["a"] = (isNil);
206
207/***/ }),
208/* 7 */
209/***/ (function(module, exports, __webpack_require__) {
210
211var _require = __webpack_require__(33),
212 mix = _require.mix;
213
214module.exports = {
215 assign: mix
216};
217
218/***/ }),
219/* 8 */
220/***/ (function(module, __webpack_exports__, __webpack_require__) {
221
222"use strict";
223/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_type__ = __webpack_require__(4);
224
225/* harmony default export */ __webpack_exports__["a"] = (function (str) {
226 return Object(__WEBPACK_IMPORTED_MODULE_0__is_type__["a" /* default */])(str, 'String');
227});
228
229/***/ }),
230/* 9 */
231/***/ (function(module, __webpack_exports__, __webpack_require__) {
232
233"use strict";
234/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_object_like__ = __webpack_require__(15);
235/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_type__ = __webpack_require__(4);
236
237
238
239var isPlainObject = function (value) {
240 /**
241 * isObjectLike(new Foo) => false
242 * isObjectLike([1, 2, 3]) => false
243 * isObjectLike({ x: 0, y: 0 }) => true
244 * isObjectLike(Object.create(null)) => true
245 */
246 if (!Object(__WEBPACK_IMPORTED_MODULE_0__is_object_like__["a" /* default */])(value) || !Object(__WEBPACK_IMPORTED_MODULE_1__is_type__["a" /* default */])(value, 'Object')) {
247 return false;
248 }
249
250 if (Object.getPrototypeOf(value) === null) {
251 return true;
252 }
253
254 var proto = value;
255
256 while (Object.getPrototypeOf(proto) !== null) {
257 proto = Object.getPrototypeOf(proto);
258 }
259
260 return Object.getPrototypeOf(value) === proto;
261};
262
263/* harmony default export */ __webpack_exports__["a"] = (isPlainObject);
264
265/***/ }),
266/* 10 */
267/***/ (function(module, __webpack_exports__, __webpack_require__) {
268
269"use strict";
270/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_nil__ = __webpack_require__(6);
271
272/* harmony default export */ __webpack_exports__["a"] = (function (value) {
273 if (Object(__WEBPACK_IMPORTED_MODULE_0__is_nil__["a" /* default */])(value)) return '';
274 return value.toString();
275});
276
277/***/ }),
278/* 11 */
279/***/ (function(module, exports, __webpack_require__) {
280
281var hierarchy = __webpack_require__(18);
282
283var Layout = /*#__PURE__*/function () {
284 function Layout(root, options) {
285 if (options === void 0) {
286 options = {};
287 }
288
289 var me = this;
290 me.options = options;
291 me.rootNode = hierarchy(root, options);
292 }
293
294 var _proto = Layout.prototype;
295
296 _proto.execute = function execute() {
297 throw new Error('please override this method');
298 };
299
300 return Layout;
301}();
302
303module.exports = Layout;
304
305/***/ }),
306/* 12 */
307/***/ (function(module, __webpack_exports__, __webpack_require__) {
308
309"use strict";
310/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array_like__ = __webpack_require__(1);
311
312
313var contains = function (arr, value) {
314 if (!Object(__WEBPACK_IMPORTED_MODULE_0__is_array_like__["a" /* default */])(arr)) {
315 return false;
316 }
317
318 return arr.indexOf(value) > -1;
319};
320
321/* harmony default export */ __webpack_exports__["a"] = (contains);
322
323/***/ }),
324/* 13 */
325/***/ (function(module, __webpack_exports__, __webpack_require__) {
326
327"use strict";
328/* harmony default export */ __webpack_exports__["a"] = (function (value) {
329 /**
330 * isObject({}) => true
331 * isObject([1, 2, 3]) => true
332 * isObject(Function) => true
333 * isObject(null) => false
334 */
335 var type = typeof value;
336 return value !== null && type === 'object' || type === 'function';
337});
338
339/***/ }),
340/* 14 */
341/***/ (function(module, __webpack_exports__, __webpack_require__) {
342
343"use strict";
344/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__each__ = __webpack_require__(2);
345/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_array_like__ = __webpack_require__(1);
346
347
348
349var filter = function (arr, func) {
350 if (!Object(__WEBPACK_IMPORTED_MODULE_1__is_array_like__["a" /* default */])(arr)) {
351 return arr;
352 }
353
354 var result = [];
355 Object(__WEBPACK_IMPORTED_MODULE_0__each__["a" /* default */])(arr, function (value, index) {
356 if (func(value, index)) {
357 result.push(value);
358 }
359 });
360 return result;
361};
362
363/* harmony default export */ __webpack_exports__["a"] = (filter);
364
365/***/ }),
366/* 15 */
367/***/ (function(module, __webpack_exports__, __webpack_require__) {
368
369"use strict";
370var isObjectLike = function (value) {
371 /**
372 * isObjectLike({}) => true
373 * isObjectLike([1, 2, 3]) => true
374 * isObjectLike(Function) => false
375 * isObjectLike(null) => false
376 */
377 return typeof value === 'object' && value !== null;
378};
379
380/* harmony default export */ __webpack_exports__["a"] = (isObjectLike);
381
382/***/ }),
383/* 16 */
384/***/ (function(module, __webpack_exports__, __webpack_require__) {
385
386"use strict";
387/* harmony export (immutable) */ __webpack_exports__["a"] = mix;
388// FIXME: Mutable param should be forbidden in static lang.
389function _mix(dist, obj) {
390 for (var key in obj) {
391 if (obj.hasOwnProperty(key) && key !== 'constructor' && obj[key] !== undefined) {
392 dist[key] = obj[key];
393 }
394 }
395}
396
397function mix(dist, src1, src2, src3) {
398 if (src1) _mix(dist, src1);
399 if (src2) _mix(dist, src2);
400 if (src3) _mix(dist, src3);
401 return dist;
402}
403
404/***/ }),
405/* 17 */
406/***/ (function(module, exports, __webpack_require__) {
407
408var separateTree = __webpack_require__(30);
409
410var VALID_DIRECTIONS = ['LR', // left to right
411'RL', // right to left
412'TB', // top to bottom
413'BT', // bottom to top
414'H', // horizontal
415'V' // vertical
416];
417var HORIZONTAL_DIRECTIONS = ['LR', 'RL', 'H'];
418
419var isHorizontal = function isHorizontal(direction) {
420 return HORIZONTAL_DIRECTIONS.indexOf(direction) > -1;
421};
422
423var DEFAULT_DIRECTION = VALID_DIRECTIONS[0];
424
425module.exports = function (root, options, layoutAlgrithm) {
426 var direction = options.direction || DEFAULT_DIRECTION;
427 options.isHorizontal = isHorizontal(direction);
428
429 if (direction && VALID_DIRECTIONS.indexOf(direction) === -1) {
430 throw new TypeError("Invalid direction: " + direction);
431 }
432
433 if (direction === VALID_DIRECTIONS[0]) {
434 // LR
435 layoutAlgrithm(root, options);
436 } else if (direction === VALID_DIRECTIONS[1]) {
437 // RL
438 layoutAlgrithm(root, options);
439 root.right2left();
440 } else if (direction === VALID_DIRECTIONS[2]) {
441 // TB
442 layoutAlgrithm(root, options);
443 } else if (direction === VALID_DIRECTIONS[3]) {
444 // BT
445 layoutAlgrithm(root, options);
446 root.bottom2top();
447 } else if (direction === VALID_DIRECTIONS[4] || direction === VALID_DIRECTIONS[5]) {
448 // H or V
449 // separate into left and right trees
450 var _separateTree = separateTree(root, options),
451 left = _separateTree.left,
452 right = _separateTree.right; // do layout for left and right trees
453
454
455 layoutAlgrithm(left, options);
456 layoutAlgrithm(right, options);
457 options.isHorizontal ? left.right2left() : left.bottom2top(); // combine left and right trees
458
459 right.translate(left.x - right.x, left.y - right.y); // translate root
460
461 root.x = left.x;
462 root.y = right.y;
463 var bb = root.getBoundingBox();
464
465 if (options.isHorizontal) {
466 if (bb.top < 0) {
467 root.translate(0, -bb.top);
468 }
469 } else {
470 if (bb.left < 0) {
471 root.translate(-bb.left, 0);
472 }
473 }
474 } // fixed root position, default value is true
475
476
477 var fixedRoot = options.fixedRoot;
478 if (fixedRoot === undefined) fixedRoot = true;
479
480 if (fixedRoot) {
481 root.translate(-(root.x + root.width / 2 + root.hgap), -(root.y + root.height / 2 + root.vgap));
482 }
483
484 return root;
485};
486
487/***/ }),
488/* 18 */
489/***/ (function(module, exports, __webpack_require__) {
490
491/* eslint-disable no-cond-assign */
492var util = __webpack_require__(7);
493
494var PEM = 18;
495var DEFAULT_HEIGHT = PEM * 2;
496var DEFAULT_GAP = PEM;
497var DEFAULT_OPTIONS = {
498 getId: function getId(d) {
499 return d.id || d.name;
500 },
501 getPreH: function getPreH(d) {
502 return d.preH || 0;
503 },
504 getPreV: function getPreV(d) {
505 return d.preV || 0;
506 },
507 getHGap: function getHGap(d) {
508 return d.hgap || DEFAULT_GAP;
509 },
510 getVGap: function getVGap(d) {
511 return d.vgap || DEFAULT_GAP;
512 },
513 getChildren: function getChildren(d) {
514 return d.children;
515 },
516 getHeight: function getHeight(d) {
517 return d.height || DEFAULT_HEIGHT;
518 },
519 getWidth: function getWidth(d) {
520 var label = d.label || ' ';
521 return d.width || label.split('').length * PEM; // FIXME DO NOT get width like this
522 }
523};
524
525function Node(data, options) {
526 var me = this;
527 me.vgap = me.hgap = 0;
528 if (data instanceof Node) return data;
529 me.data = data;
530 /*
531 * Gaps: filling space between nodes
532 * (x, y) ----------------------
533 * | vgap |
534 * | -------------------- h
535 * | h | | e
536 * | g | | i
537 * | a | | g
538 * | p | | h
539 * | --------------------- t
540 * | |
541 * -----------width------------
542 */
543
544 var hgap = options.getHGap(data);
545 var vgap = options.getVGap(data);
546 me.preH = options.getPreH(data);
547 me.preV = options.getPreV(data);
548 me.width = options.getWidth(data);
549 me.height = options.getHeight(data);
550 me.width += me.preH;
551 me.height += me.preV;
552 me.id = options.getId(data);
553 me.x = me.y = 0;
554 me.depth = 0;
555
556 if (!me.children) {
557 me.children = [];
558 }
559
560 me.addGap(hgap, vgap);
561 return me;
562}
563
564util.assign(Node.prototype, {
565 isRoot: function isRoot() {
566 return this.depth === 0;
567 },
568 isLeaf: function isLeaf() {
569 return this.children.length === 0;
570 },
571 addGap: function addGap(hgap, vgap) {
572 var me = this;
573 me.hgap += hgap;
574 me.vgap += vgap;
575 me.width += 2 * hgap;
576 me.height += 2 * vgap;
577 },
578 eachNode: function eachNode(callback) {
579 // Depth First traverse
580 var me = this;
581 var nodes = [me];
582 var current;
583
584 while (current = nodes.shift()) {
585 callback(current);
586 nodes = current.children.concat(nodes);
587 }
588 },
589 DFTraverse: function DFTraverse(callback) {
590 // Depth First traverse
591 this.eachNode(callback);
592 },
593 BFTraverse: function BFTraverse(callback) {
594 // Breadth First traverse
595 var me = this;
596 var nodes = [me];
597 var current;
598
599 while (current = nodes.shift()) {
600 callback(current);
601 nodes = nodes.concat(current.children);
602 }
603 },
604 getBoundingBox: function getBoundingBox() {
605 // BBox for just one tree node
606 var bb = {
607 left: Number.MAX_VALUE,
608 top: Number.MAX_VALUE,
609 width: 0,
610 height: 0
611 };
612 this.eachNode(function (node) {
613 bb.left = Math.min(bb.left, node.x);
614 bb.top = Math.min(bb.top, node.y);
615 bb.width = Math.max(bb.width, node.x + node.width);
616 bb.height = Math.max(bb.height, node.y + node.height);
617 });
618 return bb;
619 },
620 // translate
621 translate: function translate(tx, ty) {
622 if (tx === void 0) {
623 tx = 0;
624 }
625
626 if (ty === void 0) {
627 ty = 0;
628 }
629
630 this.eachNode(function (node) {
631 node.x += tx;
632 node.y += ty;
633 node.x += node.preH;
634 node.y += node.preV;
635 });
636 },
637 right2left: function right2left() {
638 var me = this;
639 var bb = me.getBoundingBox();
640 me.eachNode(function (node) {
641 node.x = node.x - (node.x - bb.left) * 2 - node.width; // node.x = - node.x;
642 });
643 me.translate(bb.width, 0);
644 },
645 bottom2top: function bottom2top() {
646 var me = this;
647 var bb = me.getBoundingBox();
648 me.eachNode(function (node) {
649 node.y = node.y - (node.y - bb.top) * 2 - node.height; // node.y = - node.y;
650 });
651 me.translate(0, bb.height);
652 }
653});
654
655function hierarchy(data, options, isolated) {
656 if (options === void 0) {
657 options = {};
658 }
659
660 options = util.assign({}, DEFAULT_OPTIONS, options);
661 var root = new Node(data, options);
662 var nodes = [root];
663 var node;
664
665 if (!isolated && !data.collapsed) {
666 while (node = nodes.shift()) {
667 if (!node.data.collapsed) {
668 var children = options.getChildren(node.data);
669 var length = children ? children.length : 0;
670 node.children = new Array(length);
671
672 if (children && length) {
673 for (var i = 0; i < length; i++) {
674 var child = new Node(children[i], options);
675 node.children[i] = child;
676 nodes.push(child);
677 child.parent = node;
678 child.depth = node.depth + 1;
679 }
680 }
681 }
682 }
683 }
684
685 return root;
686}
687
688module.exports = hierarchy;
689
690/***/ }),
691/* 19 */
692/***/ (function(module, __webpack_exports__, __webpack_require__) {
693
694"use strict";
695/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_nil__ = __webpack_require__(6);
696/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__keys__ = __webpack_require__(20);
697
698
699
700function isMatch(obj, attrs) {
701 var _keys = Object(__WEBPACK_IMPORTED_MODULE_1__keys__["a" /* default */])(attrs);
702
703 var length = _keys.length;
704 if (Object(__WEBPACK_IMPORTED_MODULE_0__is_nil__["a" /* default */])(obj)) return !length;
705
706 for (var i = 0; i < length; i += 1) {
707 var key = _keys[i];
708
709 if (attrs[key] !== obj[key] || !(key in obj)) {
710 return false;
711 }
712 }
713
714 return true;
715}
716
717/* harmony default export */ __webpack_exports__["a"] = (isMatch);
718
719/***/ }),
720/* 20 */
721/***/ (function(module, __webpack_exports__, __webpack_require__) {
722
723"use strict";
724/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__each__ = __webpack_require__(2);
725/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_function__ = __webpack_require__(3);
726
727
728var keys = Object.keys ? function (obj) {
729 return Object.keys(obj);
730} : function (obj) {
731 var result = [];
732 Object(__WEBPACK_IMPORTED_MODULE_0__each__["a" /* default */])(obj, function (value, key) {
733 if (!(Object(__WEBPACK_IMPORTED_MODULE_1__is_function__["a" /* default */])(obj) && key === 'prototype')) {
734 result.push(key);
735 }
736 });
737 return result;
738};
739/* harmony default export */ __webpack_exports__["a"] = (keys);
740
741/***/ }),
742/* 21 */
743/***/ (function(module, __webpack_exports__, __webpack_require__) {
744
745"use strict";
746/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array_like__ = __webpack_require__(1);
747
748var splice = Array.prototype.splice;
749
750var pullAt = function pullAt(arr, indexes) {
751 if (!Object(__WEBPACK_IMPORTED_MODULE_0__is_array_like__["a" /* default */])(arr)) {
752 return [];
753 }
754
755 var length = arr ? indexes.length : 0;
756 var last = length - 1;
757
758 while (length--) {
759 var previous = void 0;
760 var index = indexes[length];
761
762 if (length === last || index !== previous) {
763 previous = index;
764 splice.call(arr, index, 1);
765 }
766 }
767
768 return arr;
769};
770
771/* harmony default export */ __webpack_exports__["a"] = (pullAt);
772
773/***/ }),
774/* 22 */
775/***/ (function(module, __webpack_exports__, __webpack_require__) {
776
777"use strict";
778/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__contains__ = __webpack_require__(12);
779/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__each__ = __webpack_require__(2);
780
781
782
783var uniq = function (arr) {
784 var resultArr = [];
785 Object(__WEBPACK_IMPORTED_MODULE_1__each__["a" /* default */])(arr, function (item) {
786 if (!Object(__WEBPACK_IMPORTED_MODULE_0__contains__["a" /* default */])(resultArr, item)) {
787 resultArr.push(item);
788 }
789 });
790 return resultArr;
791};
792
793/* harmony default export */ __webpack_exports__["a"] = (uniq);
794
795/***/ }),
796/* 23 */
797/***/ (function(module, __webpack_exports__, __webpack_require__) {
798
799"use strict";
800/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array__ = __webpack_require__(0);
801/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_function__ = __webpack_require__(3);
802/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__group_by__ = __webpack_require__(24);
803
804
805
806
807var groupToMap = function (data, condition) {
808 if (!condition) {
809 return {
810 0: data
811 };
812 }
813
814 if (!Object(__WEBPACK_IMPORTED_MODULE_1__is_function__["a" /* default */])(condition)) {
815 var paramsCondition_1 = Object(__WEBPACK_IMPORTED_MODULE_0__is_array__["a" /* default */])(condition) ? condition : condition.replace(/\s+/g, '').split('*');
816
817 condition = function (row) {
818 var unique = '_'; // 避免出现数字作为Key的情况,会进行按照数字的排序
819
820 for (var i = 0, l = paramsCondition_1.length; i < l; i++) {
821 unique += row[paramsCondition_1[i]] && row[paramsCondition_1[i]].toString();
822 }
823
824 return unique;
825 };
826 }
827
828 var groups = Object(__WEBPACK_IMPORTED_MODULE_2__group_by__["a" /* default */])(data, condition);
829 return groups;
830};
831
832/* harmony default export */ __webpack_exports__["a"] = (groupToMap);
833
834/***/ }),
835/* 24 */
836/***/ (function(module, __webpack_exports__, __webpack_require__) {
837
838"use strict";
839/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__each__ = __webpack_require__(2);
840/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_array__ = __webpack_require__(0);
841/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__is_function__ = __webpack_require__(3);
842
843
844
845var hasOwnProperty = Object.prototype.hasOwnProperty;
846
847function groupBy(data, condition) {
848 if (!condition || !Object(__WEBPACK_IMPORTED_MODULE_1__is_array__["a" /* default */])(data)) {
849 return {};
850 }
851
852 var result = {}; // 兼容方法和 字符串的写法
853
854 var predicate = Object(__WEBPACK_IMPORTED_MODULE_2__is_function__["a" /* default */])(condition) ? condition : function (item) {
855 return item[condition];
856 };
857 var key;
858 Object(__WEBPACK_IMPORTED_MODULE_0__each__["a" /* default */])(data, function (item) {
859 key = predicate(item);
860
861 if (hasOwnProperty.call(result, key)) {
862 result[key].push(item);
863 } else {
864 result[key] = [item];
865 }
866 });
867 return result;
868}
869
870/* harmony default export */ __webpack_exports__["a"] = (groupBy);
871
872/***/ }),
873/* 25 */
874/***/ (function(module, __webpack_exports__, __webpack_require__) {
875
876"use strict";
877/* harmony default export */ __webpack_exports__["a"] = (function (obj, key) {
878 return obj.hasOwnProperty(key);
879});
880
881/***/ }),
882/* 26 */
883/***/ (function(module, __webpack_exports__, __webpack_require__) {
884
885"use strict";
886/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__each__ = __webpack_require__(2);
887/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_function__ = __webpack_require__(3);
888
889 // @ts-ignore
890
891var values = Object.values ? function (obj) {
892 return Object.values(obj);
893} : function (obj) {
894 var result = [];
895 Object(__WEBPACK_IMPORTED_MODULE_0__each__["a" /* default */])(obj, function (value, key) {
896 if (!(Object(__WEBPACK_IMPORTED_MODULE_1__is_function__["a" /* default */])(obj) && key === 'prototype')) {
897 result.push(value);
898 }
899 });
900 return result;
901};
902/* harmony default export */ __webpack_exports__["a"] = (values);
903
904/***/ }),
905/* 27 */
906/***/ (function(module, __webpack_exports__, __webpack_require__) {
907
908"use strict";
909var toString = {}.toString;
910
911var getType = function (value) {
912 return toString.call(value).replace(/^\[object /, '').replace(/]$/, '');
913};
914
915/* harmony default export */ __webpack_exports__["a"] = (getType);
916
917/***/ }),
918/* 28 */
919/***/ (function(module, __webpack_exports__, __webpack_require__) {
920
921"use strict";
922var objectProto = Object.prototype;
923
924var isPrototype = function (value) {
925 var Ctor = value && value.constructor;
926 var proto = typeof Ctor === 'function' && Ctor.prototype || objectProto;
927 return value === proto;
928};
929
930/* harmony default export */ __webpack_exports__["a"] = (isPrototype);
931
932/***/ }),
933/* 29 */
934/***/ (function(module, __webpack_exports__, __webpack_require__) {
935
936"use strict";
937/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_object_like__ = __webpack_require__(15);
938/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_array_like__ = __webpack_require__(1);
939/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__is_string__ = __webpack_require__(8);
940
941
942
943
944var isEqual = function (value, other) {
945 if (value === other) {
946 return true;
947 }
948
949 if (!value || !other) {
950 return false;
951 }
952
953 if (Object(__WEBPACK_IMPORTED_MODULE_2__is_string__["a" /* default */])(value) || Object(__WEBPACK_IMPORTED_MODULE_2__is_string__["a" /* default */])(other)) {
954 return false;
955 }
956
957 if (Object(__WEBPACK_IMPORTED_MODULE_1__is_array_like__["a" /* default */])(value) || Object(__WEBPACK_IMPORTED_MODULE_1__is_array_like__["a" /* default */])(other)) {
958 if (value.length !== other.length) {
959 return false;
960 }
961
962 var rst = true;
963
964 for (var i = 0; i < value.length; i++) {
965 rst = isEqual(value[i], other[i]);
966
967 if (!rst) {
968 break;
969 }
970 }
971
972 return rst;
973 }
974
975 if (Object(__WEBPACK_IMPORTED_MODULE_0__is_object_like__["a" /* default */])(value) || Object(__WEBPACK_IMPORTED_MODULE_0__is_object_like__["a" /* default */])(other)) {
976 var valueKeys = Object.keys(value);
977 var otherKeys = Object.keys(other);
978
979 if (valueKeys.length !== otherKeys.length) {
980 return false;
981 }
982
983 var rst = true;
984
985 for (var i = 0; i < valueKeys.length; i++) {
986 rst = isEqual(value[valueKeys[i]], other[valueKeys[i]]);
987
988 if (!rst) {
989 break;
990 }
991 }
992
993 return rst;
994 }
995
996 return false;
997};
998
999/* harmony default export */ __webpack_exports__["a"] = (isEqual);
1000
1001/***/ }),
1002/* 30 */
1003/***/ (function(module, exports, __webpack_require__) {
1004
1005var hierarchy = __webpack_require__(18);
1006
1007module.exports = function (root, options) {
1008 // separate into left and right trees
1009 var left = hierarchy(root.data, options, true); // root only
1010
1011 var right = hierarchy(root.data, options, true); // root only
1012 // automatically
1013
1014 var treeSize = root.children.length;
1015 var rightTreeSize = Math.round(treeSize / 2); // separate left and right tree by meta data
1016
1017 var getSide = options.getSide || function (child, index) {
1018 if (index < rightTreeSize) {
1019 return 'right';
1020 }
1021
1022 return 'left';
1023 };
1024
1025 for (var i = 0; i < treeSize; i++) {
1026 var child = root.children[i];
1027 var side = getSide(child, i);
1028
1029 if (side === 'right') {
1030 right.children.push(child);
1031 } else {
1032 left.children.push(child);
1033 }
1034 }
1035
1036 left.eachNode(function (node) {
1037 if (!node.isRoot()) {
1038 node.side = 'left';
1039 }
1040 });
1041 right.eachNode(function (node) {
1042 if (!node.isRoot()) {
1043 node.side = 'right';
1044 }
1045 });
1046 return {
1047 left: left,
1048 right: right
1049 };
1050};
1051
1052/***/ }),
1053/* 31 */
1054/***/ (function(module, exports, __webpack_require__) {
1055
1056var hierarchy = {
1057 compactBox: __webpack_require__(32),
1058 dendrogram: __webpack_require__(114),
1059 indented: __webpack_require__(116),
1060 mindmap: __webpack_require__(118)
1061};
1062module.exports = hierarchy;
1063
1064/***/ }),
1065/* 32 */
1066/***/ (function(module, exports, __webpack_require__) {
1067
1068function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
1069
1070var TreeLayout = __webpack_require__(11);
1071
1072var nonLayeredTidyTree = __webpack_require__(113);
1073
1074var doTreeLayout = __webpack_require__(17);
1075
1076var util = __webpack_require__(7);
1077
1078var CompactBoxTreeLayout = /*#__PURE__*/function (_TreeLayout) {
1079 _inheritsLoose(CompactBoxTreeLayout, _TreeLayout);
1080
1081 function CompactBoxTreeLayout() {
1082 return _TreeLayout.apply(this, arguments) || this;
1083 }
1084
1085 var _proto = CompactBoxTreeLayout.prototype;
1086
1087 _proto.execute = function execute() {
1088 var me = this;
1089 return doTreeLayout(me.rootNode, me.options, nonLayeredTidyTree);
1090 };
1091
1092 return CompactBoxTreeLayout;
1093}(TreeLayout);
1094
1095var DEFAULT_OPTIONS = {};
1096
1097function compactBoxLayout(root, options) {
1098 options = util.assign({}, DEFAULT_OPTIONS, options);
1099 return new CompactBoxTreeLayout(root, options).execute();
1100}
1101
1102module.exports = compactBoxLayout;
1103
1104/***/ }),
1105/* 33 */
1106/***/ (function(module, __webpack_exports__, __webpack_require__) {
1107
1108"use strict";
1109Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1110/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__contains__ = __webpack_require__(12);
1111/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "contains", function() { return __WEBPACK_IMPORTED_MODULE_0__contains__["a"]; });
1112/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "includes", function() { return __WEBPACK_IMPORTED_MODULE_0__contains__["a"]; });
1113/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__difference__ = __webpack_require__(34);
1114/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "difference", function() { return __WEBPACK_IMPORTED_MODULE_1__difference__["a"]; });
1115/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__find__ = __webpack_require__(35);
1116/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "find", function() { return __WEBPACK_IMPORTED_MODULE_2__find__["a"]; });
1117/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__find_index__ = __webpack_require__(36);
1118/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "findIndex", function() { return __WEBPACK_IMPORTED_MODULE_3__find_index__["a"]; });
1119/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__first_value__ = __webpack_require__(37);
1120/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "firstValue", function() { return __WEBPACK_IMPORTED_MODULE_4__first_value__["a"]; });
1121/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__flatten__ = __webpack_require__(38);
1122/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "flatten", function() { return __WEBPACK_IMPORTED_MODULE_5__flatten__["a"]; });
1123/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__flatten_deep__ = __webpack_require__(39);
1124/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "flattenDeep", function() { return __WEBPACK_IMPORTED_MODULE_6__flatten_deep__["a"]; });
1125/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__get_range__ = __webpack_require__(40);
1126/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "getRange", function() { return __WEBPACK_IMPORTED_MODULE_7__get_range__["a"]; });
1127/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__pull__ = __webpack_require__(41);
1128/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "pull", function() { return __WEBPACK_IMPORTED_MODULE_8__pull__["a"]; });
1129/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__pull_at__ = __webpack_require__(21);
1130/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "pullAt", function() { return __WEBPACK_IMPORTED_MODULE_9__pull_at__["a"]; });
1131/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__reduce__ = __webpack_require__(42);
1132/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "reduce", function() { return __WEBPACK_IMPORTED_MODULE_10__reduce__["a"]; });
1133/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__remove__ = __webpack_require__(43);
1134/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "remove", function() { return __WEBPACK_IMPORTED_MODULE_11__remove__["a"]; });
1135/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__sort_by__ = __webpack_require__(44);
1136/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "sortBy", function() { return __WEBPACK_IMPORTED_MODULE_12__sort_by__["a"]; });
1137/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__union__ = __webpack_require__(45);
1138/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "union", function() { return __WEBPACK_IMPORTED_MODULE_13__union__["a"]; });
1139/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__uniq__ = __webpack_require__(22);
1140/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "uniq", function() { return __WEBPACK_IMPORTED_MODULE_14__uniq__["a"]; });
1141/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__values_of_key__ = __webpack_require__(46);
1142/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "valuesOfKey", function() { return __WEBPACK_IMPORTED_MODULE_15__values_of_key__["a"]; });
1143/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__head__ = __webpack_require__(47);
1144/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "head", function() { return __WEBPACK_IMPORTED_MODULE_16__head__["a"]; });
1145/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__last__ = __webpack_require__(48);
1146/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "last", function() { return __WEBPACK_IMPORTED_MODULE_17__last__["a"]; });
1147/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__starts_with__ = __webpack_require__(49);
1148/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "startsWith", function() { return __WEBPACK_IMPORTED_MODULE_18__starts_with__["a"]; });
1149/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__ends_with__ = __webpack_require__(50);
1150/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "endsWith", function() { return __WEBPACK_IMPORTED_MODULE_19__ends_with__["a"]; });
1151/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__filter__ = __webpack_require__(14);
1152/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "filter", function() { return __WEBPACK_IMPORTED_MODULE_20__filter__["a"]; });
1153/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__every__ = __webpack_require__(51);
1154/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "every", function() { return __WEBPACK_IMPORTED_MODULE_21__every__["a"]; });
1155/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__some__ = __webpack_require__(52);
1156/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "some", function() { return __WEBPACK_IMPORTED_MODULE_22__some__["a"]; });
1157/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__group__ = __webpack_require__(53);
1158/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "group", function() { return __WEBPACK_IMPORTED_MODULE_23__group__["a"]; });
1159/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__group_by__ = __webpack_require__(24);
1160/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "groupBy", function() { return __WEBPACK_IMPORTED_MODULE_24__group_by__["a"]; });
1161/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__group_to_map__ = __webpack_require__(23);
1162/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "groupToMap", function() { return __WEBPACK_IMPORTED_MODULE_25__group_to_map__["a"]; });
1163/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__get_wrap_behavior__ = __webpack_require__(54);
1164/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "getWrapBehavior", function() { return __WEBPACK_IMPORTED_MODULE_26__get_wrap_behavior__["a"]; });
1165/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__wrap_behavior__ = __webpack_require__(55);
1166/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "wrapBehavior", function() { return __WEBPACK_IMPORTED_MODULE_27__wrap_behavior__["a"]; });
1167/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__number2color__ = __webpack_require__(56);
1168/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "number2color", function() { return __WEBPACK_IMPORTED_MODULE_28__number2color__["a"]; });
1169/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__parse_radius__ = __webpack_require__(57);
1170/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "parseRadius", function() { return __WEBPACK_IMPORTED_MODULE_29__parse_radius__["a"]; });
1171/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__clamp__ = __webpack_require__(58);
1172/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "clamp", function() { return __WEBPACK_IMPORTED_MODULE_30__clamp__["a"]; });
1173/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__fixed_base__ = __webpack_require__(59);
1174/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "fixedBase", function() { return __WEBPACK_IMPORTED_MODULE_31__fixed_base__["a"]; });
1175/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__is_decimal__ = __webpack_require__(60);
1176/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isDecimal", function() { return __WEBPACK_IMPORTED_MODULE_32__is_decimal__["a"]; });
1177/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__is_even__ = __webpack_require__(61);
1178/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isEven", function() { return __WEBPACK_IMPORTED_MODULE_33__is_even__["a"]; });
1179/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__is_integer__ = __webpack_require__(62);
1180/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isInteger", function() { return __WEBPACK_IMPORTED_MODULE_34__is_integer__["a"]; });
1181/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__is_negative__ = __webpack_require__(63);
1182/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isNegative", function() { return __WEBPACK_IMPORTED_MODULE_35__is_negative__["a"]; });
1183/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__is_number_equal__ = __webpack_require__(64);
1184/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isNumberEqual", function() { return __WEBPACK_IMPORTED_MODULE_36__is_number_equal__["a"]; });
1185/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__is_odd__ = __webpack_require__(65);
1186/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isOdd", function() { return __WEBPACK_IMPORTED_MODULE_37__is_odd__["a"]; });
1187/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__is_positive__ = __webpack_require__(66);
1188/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isPositive", function() { return __WEBPACK_IMPORTED_MODULE_38__is_positive__["a"]; });
1189/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__max_by__ = __webpack_require__(67);
1190/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "maxBy", function() { return __WEBPACK_IMPORTED_MODULE_39__max_by__["a"]; });
1191/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__min_by__ = __webpack_require__(68);
1192/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "minBy", function() { return __WEBPACK_IMPORTED_MODULE_40__min_by__["a"]; });
1193/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__mod__ = __webpack_require__(69);
1194/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "mod", function() { return __WEBPACK_IMPORTED_MODULE_41__mod__["a"]; });
1195/* harmony import */ var __WEBPACK_IMPORTED_MODULE_42__to_degree__ = __webpack_require__(70);
1196/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "toDegree", function() { return __WEBPACK_IMPORTED_MODULE_42__to_degree__["a"]; });
1197/* harmony import */ var __WEBPACK_IMPORTED_MODULE_43__to_integer__ = __webpack_require__(71);
1198/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "toInteger", function() { return __WEBPACK_IMPORTED_MODULE_43__to_integer__["a"]; });
1199/* harmony import */ var __WEBPACK_IMPORTED_MODULE_44__to_radian__ = __webpack_require__(72);
1200/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "toRadian", function() { return __WEBPACK_IMPORTED_MODULE_44__to_radian__["a"]; });
1201/* harmony import */ var __WEBPACK_IMPORTED_MODULE_45__for_in__ = __webpack_require__(73);
1202/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "forIn", function() { return __WEBPACK_IMPORTED_MODULE_45__for_in__["a"]; });
1203/* harmony import */ var __WEBPACK_IMPORTED_MODULE_46__has__ = __webpack_require__(25);
1204/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "has", function() { return __WEBPACK_IMPORTED_MODULE_46__has__["a"]; });
1205/* harmony import */ var __WEBPACK_IMPORTED_MODULE_47__has_key__ = __webpack_require__(74);
1206/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "hasKey", function() { return __WEBPACK_IMPORTED_MODULE_47__has_key__["a"]; });
1207/* harmony import */ var __WEBPACK_IMPORTED_MODULE_48__has_value__ = __webpack_require__(75);
1208/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "hasValue", function() { return __WEBPACK_IMPORTED_MODULE_48__has_value__["a"]; });
1209/* harmony import */ var __WEBPACK_IMPORTED_MODULE_49__keys__ = __webpack_require__(20);
1210/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "keys", function() { return __WEBPACK_IMPORTED_MODULE_49__keys__["a"]; });
1211/* harmony import */ var __WEBPACK_IMPORTED_MODULE_50__is_match__ = __webpack_require__(19);
1212/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isMatch", function() { return __WEBPACK_IMPORTED_MODULE_50__is_match__["a"]; });
1213/* harmony import */ var __WEBPACK_IMPORTED_MODULE_51__values__ = __webpack_require__(26);
1214/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "values", function() { return __WEBPACK_IMPORTED_MODULE_51__values__["a"]; });
1215/* harmony import */ var __WEBPACK_IMPORTED_MODULE_52__lower_case__ = __webpack_require__(76);
1216/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "lowerCase", function() { return __WEBPACK_IMPORTED_MODULE_52__lower_case__["a"]; });
1217/* harmony import */ var __WEBPACK_IMPORTED_MODULE_53__lower_first__ = __webpack_require__(77);
1218/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "lowerFirst", function() { return __WEBPACK_IMPORTED_MODULE_53__lower_first__["a"]; });
1219/* harmony import */ var __WEBPACK_IMPORTED_MODULE_54__substitute__ = __webpack_require__(78);
1220/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "substitute", function() { return __WEBPACK_IMPORTED_MODULE_54__substitute__["a"]; });
1221/* harmony import */ var __WEBPACK_IMPORTED_MODULE_55__upper_case__ = __webpack_require__(79);
1222/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "upperCase", function() { return __WEBPACK_IMPORTED_MODULE_55__upper_case__["a"]; });
1223/* harmony import */ var __WEBPACK_IMPORTED_MODULE_56__upper_first__ = __webpack_require__(80);
1224/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "upperFirst", function() { return __WEBPACK_IMPORTED_MODULE_56__upper_first__["a"]; });
1225/* harmony import */ var __WEBPACK_IMPORTED_MODULE_57__get_type__ = __webpack_require__(27);
1226/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "getType", function() { return __WEBPACK_IMPORTED_MODULE_57__get_type__["a"]; });
1227/* harmony import */ var __WEBPACK_IMPORTED_MODULE_58__is_arguments__ = __webpack_require__(81);
1228/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isArguments", function() { return __WEBPACK_IMPORTED_MODULE_58__is_arguments__["a"]; });
1229/* harmony import */ var __WEBPACK_IMPORTED_MODULE_59__is_array__ = __webpack_require__(0);
1230/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isArray", function() { return __WEBPACK_IMPORTED_MODULE_59__is_array__["a"]; });
1231/* harmony import */ var __WEBPACK_IMPORTED_MODULE_60__is_array_like__ = __webpack_require__(1);
1232/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isArrayLike", function() { return __WEBPACK_IMPORTED_MODULE_60__is_array_like__["a"]; });
1233/* harmony import */ var __WEBPACK_IMPORTED_MODULE_61__is_boolean__ = __webpack_require__(82);
1234/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isBoolean", function() { return __WEBPACK_IMPORTED_MODULE_61__is_boolean__["a"]; });
1235/* harmony import */ var __WEBPACK_IMPORTED_MODULE_62__is_date__ = __webpack_require__(83);
1236/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isDate", function() { return __WEBPACK_IMPORTED_MODULE_62__is_date__["a"]; });
1237/* harmony import */ var __WEBPACK_IMPORTED_MODULE_63__is_error__ = __webpack_require__(84);
1238/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isError", function() { return __WEBPACK_IMPORTED_MODULE_63__is_error__["a"]; });
1239/* harmony import */ var __WEBPACK_IMPORTED_MODULE_64__is_function__ = __webpack_require__(3);
1240/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isFunction", function() { return __WEBPACK_IMPORTED_MODULE_64__is_function__["a"]; });
1241/* harmony import */ var __WEBPACK_IMPORTED_MODULE_65__is_finite__ = __webpack_require__(85);
1242/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isFinite", function() { return __WEBPACK_IMPORTED_MODULE_65__is_finite__["a"]; });
1243/* harmony import */ var __WEBPACK_IMPORTED_MODULE_66__is_nil__ = __webpack_require__(6);
1244/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isNil", function() { return __WEBPACK_IMPORTED_MODULE_66__is_nil__["a"]; });
1245/* harmony import */ var __WEBPACK_IMPORTED_MODULE_67__is_null__ = __webpack_require__(86);
1246/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isNull", function() { return __WEBPACK_IMPORTED_MODULE_67__is_null__["a"]; });
1247/* harmony import */ var __WEBPACK_IMPORTED_MODULE_68__is_number__ = __webpack_require__(5);
1248/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isNumber", function() { return __WEBPACK_IMPORTED_MODULE_68__is_number__["a"]; });
1249/* harmony import */ var __WEBPACK_IMPORTED_MODULE_69__is_object__ = __webpack_require__(13);
1250/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isObject", function() { return __WEBPACK_IMPORTED_MODULE_69__is_object__["a"]; });
1251/* harmony import */ var __WEBPACK_IMPORTED_MODULE_70__is_object_like__ = __webpack_require__(15);
1252/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isObjectLike", function() { return __WEBPACK_IMPORTED_MODULE_70__is_object_like__["a"]; });
1253/* harmony import */ var __WEBPACK_IMPORTED_MODULE_71__is_plain_object__ = __webpack_require__(9);
1254/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isPlainObject", function() { return __WEBPACK_IMPORTED_MODULE_71__is_plain_object__["a"]; });
1255/* harmony import */ var __WEBPACK_IMPORTED_MODULE_72__is_prototype__ = __webpack_require__(28);
1256/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isPrototype", function() { return __WEBPACK_IMPORTED_MODULE_72__is_prototype__["a"]; });
1257/* harmony import */ var __WEBPACK_IMPORTED_MODULE_73__is_reg_exp__ = __webpack_require__(87);
1258/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isRegExp", function() { return __WEBPACK_IMPORTED_MODULE_73__is_reg_exp__["a"]; });
1259/* harmony import */ var __WEBPACK_IMPORTED_MODULE_74__is_string__ = __webpack_require__(8);
1260/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isString", function() { return __WEBPACK_IMPORTED_MODULE_74__is_string__["a"]; });
1261/* harmony import */ var __WEBPACK_IMPORTED_MODULE_75__is_type__ = __webpack_require__(4);
1262/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isType", function() { return __WEBPACK_IMPORTED_MODULE_75__is_type__["a"]; });
1263/* harmony import */ var __WEBPACK_IMPORTED_MODULE_76__is_undefined__ = __webpack_require__(88);
1264/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isUndefined", function() { return __WEBPACK_IMPORTED_MODULE_76__is_undefined__["a"]; });
1265/* harmony import */ var __WEBPACK_IMPORTED_MODULE_77__is_element__ = __webpack_require__(89);
1266/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isElement", function() { return __WEBPACK_IMPORTED_MODULE_77__is_element__["a"]; });
1267/* harmony import */ var __WEBPACK_IMPORTED_MODULE_78__request_animation_frame__ = __webpack_require__(90);
1268/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "requestAnimationFrame", function() { return __WEBPACK_IMPORTED_MODULE_78__request_animation_frame__["a"]; });
1269/* harmony import */ var __WEBPACK_IMPORTED_MODULE_79__clear_animation_frame__ = __webpack_require__(91);
1270/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "clearAnimationFrame", function() { return __WEBPACK_IMPORTED_MODULE_79__clear_animation_frame__["a"]; });
1271/* harmony import */ var __WEBPACK_IMPORTED_MODULE_80__augment__ = __webpack_require__(92);
1272/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "augment", function() { return __WEBPACK_IMPORTED_MODULE_80__augment__["a"]; });
1273/* harmony import */ var __WEBPACK_IMPORTED_MODULE_81__clone__ = __webpack_require__(93);
1274/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "clone", function() { return __WEBPACK_IMPORTED_MODULE_81__clone__["a"]; });
1275/* harmony import */ var __WEBPACK_IMPORTED_MODULE_82__debounce__ = __webpack_require__(94);
1276/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "debounce", function() { return __WEBPACK_IMPORTED_MODULE_82__debounce__["a"]; });
1277/* harmony import */ var __WEBPACK_IMPORTED_MODULE_83__memoize__ = __webpack_require__(95);
1278/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "memoize", function() { return __WEBPACK_IMPORTED_MODULE_83__memoize__["a"]; });
1279/* harmony import */ var __WEBPACK_IMPORTED_MODULE_84__deep_mix__ = __webpack_require__(96);
1280/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "deepMix", function() { return __WEBPACK_IMPORTED_MODULE_84__deep_mix__["a"]; });
1281/* harmony import */ var __WEBPACK_IMPORTED_MODULE_85__each__ = __webpack_require__(2);
1282/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "each", function() { return __WEBPACK_IMPORTED_MODULE_85__each__["a"]; });
1283/* harmony import */ var __WEBPACK_IMPORTED_MODULE_86__extend__ = __webpack_require__(97);
1284/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "extend", function() { return __WEBPACK_IMPORTED_MODULE_86__extend__["a"]; });
1285/* harmony import */ var __WEBPACK_IMPORTED_MODULE_87__index_of__ = __webpack_require__(98);
1286/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "indexOf", function() { return __WEBPACK_IMPORTED_MODULE_87__index_of__["a"]; });
1287/* harmony import */ var __WEBPACK_IMPORTED_MODULE_88__is_empty__ = __webpack_require__(99);
1288/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isEmpty", function() { return __WEBPACK_IMPORTED_MODULE_88__is_empty__["a"]; });
1289/* harmony import */ var __WEBPACK_IMPORTED_MODULE_89__is_equal__ = __webpack_require__(29);
1290/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isEqual", function() { return __WEBPACK_IMPORTED_MODULE_89__is_equal__["a"]; });
1291/* harmony import */ var __WEBPACK_IMPORTED_MODULE_90__is_equal_with__ = __webpack_require__(100);
1292/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "isEqualWith", function() { return __WEBPACK_IMPORTED_MODULE_90__is_equal_with__["a"]; });
1293/* harmony import */ var __WEBPACK_IMPORTED_MODULE_91__map__ = __webpack_require__(101);
1294/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "map", function() { return __WEBPACK_IMPORTED_MODULE_91__map__["a"]; });
1295/* harmony import */ var __WEBPACK_IMPORTED_MODULE_92__map_values__ = __webpack_require__(102);
1296/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "mapValues", function() { return __WEBPACK_IMPORTED_MODULE_92__map_values__["a"]; });
1297/* harmony import */ var __WEBPACK_IMPORTED_MODULE_93__mix__ = __webpack_require__(16);
1298/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "mix", function() { return __WEBPACK_IMPORTED_MODULE_93__mix__["a"]; });
1299/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "assign", function() { return __WEBPACK_IMPORTED_MODULE_93__mix__["a"]; });
1300/* harmony import */ var __WEBPACK_IMPORTED_MODULE_94__get__ = __webpack_require__(103);
1301/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "get", function() { return __WEBPACK_IMPORTED_MODULE_94__get__["a"]; });
1302/* harmony import */ var __WEBPACK_IMPORTED_MODULE_95__set__ = __webpack_require__(104);
1303/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "set", function() { return __WEBPACK_IMPORTED_MODULE_95__set__["a"]; });
1304/* harmony import */ var __WEBPACK_IMPORTED_MODULE_96__pick__ = __webpack_require__(105);
1305/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "pick", function() { return __WEBPACK_IMPORTED_MODULE_96__pick__["a"]; });
1306/* harmony import */ var __WEBPACK_IMPORTED_MODULE_97__throttle__ = __webpack_require__(106);
1307/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "throttle", function() { return __WEBPACK_IMPORTED_MODULE_97__throttle__["a"]; });
1308/* harmony import */ var __WEBPACK_IMPORTED_MODULE_98__to_array__ = __webpack_require__(107);
1309/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "toArray", function() { return __WEBPACK_IMPORTED_MODULE_98__to_array__["a"]; });
1310/* harmony import */ var __WEBPACK_IMPORTED_MODULE_99__to_string__ = __webpack_require__(10);
1311/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "toString", function() { return __WEBPACK_IMPORTED_MODULE_99__to_string__["a"]; });
1312/* harmony import */ var __WEBPACK_IMPORTED_MODULE_100__unique_id__ = __webpack_require__(108);
1313/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "uniqueId", function() { return __WEBPACK_IMPORTED_MODULE_100__unique_id__["a"]; });
1314/* harmony import */ var __WEBPACK_IMPORTED_MODULE_101__noop__ = __webpack_require__(109);
1315/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "noop", function() { return __WEBPACK_IMPORTED_MODULE_101__noop__["a"]; });
1316/* harmony import */ var __WEBPACK_IMPORTED_MODULE_102__identity__ = __webpack_require__(110);
1317/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "identity", function() { return __WEBPACK_IMPORTED_MODULE_102__identity__["a"]; });
1318/* harmony import */ var __WEBPACK_IMPORTED_MODULE_103__size__ = __webpack_require__(111);
1319/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "size", function() { return __WEBPACK_IMPORTED_MODULE_103__size__["a"]; });
1320/* harmony import */ var __WEBPACK_IMPORTED_MODULE_104__cache__ = __webpack_require__(112);
1321/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Cache", function() { return __WEBPACK_IMPORTED_MODULE_104__cache__["a"]; });
1322// array
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348 // event
1349
1350
1351 // format
1352
1353
1354 // math
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370 // object
1371
1372
1373
1374
1375
1376
1377
1378 // string
1379
1380
1381
1382
1383
1384 // type
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408 // other
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433 // 不知道为什么,需要把这个 export,不然 ts 会报类型错误
1434
1435
1436
1437/***/ }),
1438/* 34 */
1439/***/ (function(module, __webpack_exports__, __webpack_require__) {
1440
1441"use strict";
1442/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__filter__ = __webpack_require__(14);
1443/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__contains__ = __webpack_require__(12);
1444
1445
1446/**
1447 * Flattens `array` a single level deep.
1448 *
1449 * @param {Array} arr The array to inspect.
1450 * @param {Array} values The values to exclude.
1451 * @return {Array} Returns the new array of filtered values.
1452 * @example
1453 * difference([2, 1], [2, 3]); // => [1]
1454 */
1455
1456var difference = function (arr, values) {
1457 if (values === void 0) {
1458 values = [];
1459 }
1460
1461 return Object(__WEBPACK_IMPORTED_MODULE_0__filter__["a" /* default */])(arr, function (value) {
1462 return !Object(__WEBPACK_IMPORTED_MODULE_1__contains__["a" /* default */])(values, value);
1463 });
1464};
1465
1466/* harmony default export */ __webpack_exports__["a"] = (difference);
1467
1468/***/ }),
1469/* 35 */
1470/***/ (function(module, __webpack_exports__, __webpack_require__) {
1471
1472"use strict";
1473/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_function__ = __webpack_require__(3);
1474/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_match__ = __webpack_require__(19);
1475/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__is_array__ = __webpack_require__(0);
1476/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__is_plain_object__ = __webpack_require__(9);
1477
1478
1479
1480
1481
1482function find(arr, predicate) {
1483 if (!Object(__WEBPACK_IMPORTED_MODULE_2__is_array__["a" /* default */])(arr)) return null;
1484
1485 var _predicate;
1486
1487 if (Object(__WEBPACK_IMPORTED_MODULE_0__is_function__["a" /* default */])(predicate)) {
1488 _predicate = predicate;
1489 }
1490
1491 if (Object(__WEBPACK_IMPORTED_MODULE_3__is_plain_object__["a" /* default */])(predicate)) {
1492 _predicate = function (a) {
1493 return Object(__WEBPACK_IMPORTED_MODULE_1__is_match__["a" /* default */])(a, predicate);
1494 };
1495 }
1496
1497 if (_predicate) {
1498 for (var i = 0; i < arr.length; i += 1) {
1499 if (_predicate(arr[i])) {
1500 return arr[i];
1501 }
1502 }
1503 }
1504
1505 return null;
1506}
1507
1508/* harmony default export */ __webpack_exports__["a"] = (find);
1509
1510/***/ }),
1511/* 36 */
1512/***/ (function(module, __webpack_exports__, __webpack_require__) {
1513
1514"use strict";
1515function findIndex(arr, predicate, fromIndex) {
1516 if (fromIndex === void 0) {
1517 fromIndex = 0;
1518 }
1519
1520 for (var i = fromIndex; i < arr.length; i++) {
1521 if (predicate(arr[i], i)) {
1522 // 找到终止循环
1523 return i;
1524 }
1525 }
1526
1527 return -1;
1528}
1529
1530/* harmony default export */ __webpack_exports__["a"] = (findIndex);
1531
1532/***/ }),
1533/* 37 */
1534/***/ (function(module, __webpack_exports__, __webpack_require__) {
1535
1536"use strict";
1537/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_nil__ = __webpack_require__(6);
1538/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_array__ = __webpack_require__(0);
1539
1540
1541
1542var firstValue = function (data, name) {
1543 var rst = null;
1544
1545 for (var i = 0; i < data.length; i++) {
1546 var obj = data[i];
1547 var value = obj[name];
1548
1549 if (!Object(__WEBPACK_IMPORTED_MODULE_0__is_nil__["a" /* default */])(value)) {
1550 if (Object(__WEBPACK_IMPORTED_MODULE_1__is_array__["a" /* default */])(value)) {
1551 rst = value[0]; // todo 这里是否应该使用递归,调用 firstValue @绝云
1552 } else {
1553 rst = value;
1554 }
1555
1556 break;
1557 }
1558 }
1559
1560 return rst;
1561};
1562
1563/* harmony default export */ __webpack_exports__["a"] = (firstValue);
1564
1565/***/ }),
1566/* 38 */
1567/***/ (function(module, __webpack_exports__, __webpack_require__) {
1568
1569"use strict";
1570/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array__ = __webpack_require__(0);
1571
1572/**
1573 * Flattens `array` a single level deep.
1574 *
1575 * @param {Array} arr The array to flatten.
1576 * @return {Array} Returns the new flattened array.
1577 * @example
1578 *
1579 * flatten([1, [2, [3, [4]], 5]]); // => [1, 2, [3, [4]], 5]
1580 */
1581
1582var flatten = function (arr) {
1583 if (!Object(__WEBPACK_IMPORTED_MODULE_0__is_array__["a" /* default */])(arr)) {
1584 return [];
1585 }
1586
1587 var rst = [];
1588
1589 for (var i = 0; i < arr.length; i++) {
1590 rst = rst.concat(arr[i]);
1591 }
1592
1593 return rst;
1594};
1595
1596/* harmony default export */ __webpack_exports__["a"] = (flatten);
1597
1598/***/ }),
1599/* 39 */
1600/***/ (function(module, __webpack_exports__, __webpack_require__) {
1601
1602"use strict";
1603/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array__ = __webpack_require__(0);
1604
1605/**
1606 * Flattens `array` a single level deep.
1607 *
1608 * @param {Array} arr The array to flatten.
1609 * @param {Array} result The array to return.
1610 * @return {Array} Returns the new flattened array.
1611 * @example
1612 *
1613 * flattenDeep([1, [2, [3, [4]], 5]]); // => [1, 2, 3, 4, 5]
1614 */
1615
1616var flattenDeep = function (arr, result) {
1617 if (result === void 0) {
1618 result = [];
1619 }
1620
1621 if (!Object(__WEBPACK_IMPORTED_MODULE_0__is_array__["a" /* default */])(arr)) {
1622 result.push(arr);
1623 } else {
1624 for (var i = 0; i < arr.length; i += 1) {
1625 flattenDeep(arr[i], result);
1626 }
1627 }
1628
1629 return result;
1630};
1631
1632/* harmony default export */ __webpack_exports__["a"] = (flattenDeep);
1633
1634/***/ }),
1635/* 40 */
1636/***/ (function(module, __webpack_exports__, __webpack_require__) {
1637
1638"use strict";
1639/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array__ = __webpack_require__(0);
1640/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__filter__ = __webpack_require__(14);
1641
1642
1643
1644var getRange = function (values) {
1645 // 存在 NaN 时,min,max 判定会出问题
1646 values = Object(__WEBPACK_IMPORTED_MODULE_1__filter__["a" /* default */])(values, function (v) {
1647 return !isNaN(v);
1648 });
1649
1650 if (!values.length) {
1651 // 如果没有数值则直接返回0
1652 return {
1653 min: 0,
1654 max: 0
1655 };
1656 }
1657
1658 if (Object(__WEBPACK_IMPORTED_MODULE_0__is_array__["a" /* default */])(values[0])) {
1659 var tmp = [];
1660
1661 for (var i = 0; i < values.length; i++) {
1662 tmp = tmp.concat(values[i]);
1663 }
1664
1665 values = tmp;
1666 }
1667
1668 var max = Math.max.apply(null, values);
1669 var min = Math.min.apply(null, values);
1670 return {
1671 min: min,
1672 max: max
1673 };
1674};
1675
1676/* harmony default export */ __webpack_exports__["a"] = (getRange);
1677
1678/***/ }),
1679/* 41 */
1680/***/ (function(module, __webpack_exports__, __webpack_require__) {
1681
1682"use strict";
1683var arrPrototype = Array.prototype;
1684var splice = arrPrototype.splice;
1685var indexOf = arrPrototype.indexOf;
1686
1687var pull = function (arr) {
1688 var values = [];
1689
1690 for (var _i = 1; _i < arguments.length; _i++) {
1691 values[_i - 1] = arguments[_i];
1692 }
1693
1694 for (var i = 0; i < values.length; i++) {
1695 var value = values[i];
1696 var fromIndex = -1;
1697
1698 while ((fromIndex = indexOf.call(arr, value)) > -1) {
1699 splice.call(arr, fromIndex, 1);
1700 }
1701 }
1702
1703 return arr;
1704};
1705
1706/* harmony default export */ __webpack_exports__["a"] = (pull);
1707
1708/***/ }),
1709/* 42 */
1710/***/ (function(module, __webpack_exports__, __webpack_require__) {
1711
1712"use strict";
1713/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__each__ = __webpack_require__(2);
1714/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_array__ = __webpack_require__(0);
1715/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__is_plain_object__ = __webpack_require__(9);
1716
1717
1718
1719
1720var reduce = function (arr, fn, init) {
1721 if (!Object(__WEBPACK_IMPORTED_MODULE_1__is_array__["a" /* default */])(arr) && !Object(__WEBPACK_IMPORTED_MODULE_2__is_plain_object__["a" /* default */])(arr)) {
1722 return arr;
1723 }
1724
1725 var result = init;
1726 Object(__WEBPACK_IMPORTED_MODULE_0__each__["a" /* default */])(arr, function (data, i) {
1727 result = fn(result, data, i);
1728 });
1729 return result;
1730};
1731
1732/* harmony default export */ __webpack_exports__["a"] = (reduce);
1733
1734/***/ }),
1735/* 43 */
1736/***/ (function(module, __webpack_exports__, __webpack_require__) {
1737
1738"use strict";
1739/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array_like__ = __webpack_require__(1);
1740/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__pull_at__ = __webpack_require__(21);
1741
1742
1743
1744var remove = function (arr, predicate) {
1745 /**
1746 * const arr = [1, 2, 3, 4]
1747 * const evens = remove(arr, n => n % 2 == 0)
1748 * console.log(arr) // => [1, 3]
1749 * console.log(evens) // => [2, 4]
1750 */
1751 var result = [];
1752
1753 if (!Object(__WEBPACK_IMPORTED_MODULE_0__is_array_like__["a" /* default */])(arr)) {
1754 return result;
1755 }
1756
1757 var i = -1;
1758 var indexes = [];
1759 var length = arr.length;
1760
1761 while (++i < length) {
1762 var value = arr[i];
1763
1764 if (predicate(value, i, arr)) {
1765 result.push(value);
1766 indexes.push(i);
1767 }
1768 }
1769
1770 Object(__WEBPACK_IMPORTED_MODULE_1__pull_at__["a" /* default */])(arr, indexes);
1771 return result;
1772};
1773
1774/* harmony default export */ __webpack_exports__["a"] = (remove);
1775
1776/***/ }),
1777/* 44 */
1778/***/ (function(module, __webpack_exports__, __webpack_require__) {
1779
1780"use strict";
1781/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array__ = __webpack_require__(0);
1782/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_string__ = __webpack_require__(8);
1783/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__is_function__ = __webpack_require__(3);
1784
1785
1786
1787
1788function sortBy(arr, key) {
1789 var comparer;
1790
1791 if (Object(__WEBPACK_IMPORTED_MODULE_2__is_function__["a" /* default */])(key)) {
1792 comparer = function (a, b) {
1793 return key(a) - key(b);
1794 };
1795 } else {
1796 var keys_1 = [];
1797
1798 if (Object(__WEBPACK_IMPORTED_MODULE_1__is_string__["a" /* default */])(key)) {
1799 keys_1.push(key);
1800 } else if (Object(__WEBPACK_IMPORTED_MODULE_0__is_array__["a" /* default */])(key)) {
1801 keys_1 = key;
1802 }
1803
1804 comparer = function (a, b) {
1805 for (var i = 0; i < keys_1.length; i += 1) {
1806 var prop = keys_1[i];
1807
1808 if (a[prop] > b[prop]) {
1809 return 1;
1810 }
1811
1812 if (a[prop] < b[prop]) {
1813 return -1;
1814 }
1815 }
1816
1817 return 0;
1818 };
1819 }
1820
1821 arr.sort(comparer);
1822 return arr;
1823}
1824
1825/* harmony default export */ __webpack_exports__["a"] = (sortBy);
1826
1827/***/ }),
1828/* 45 */
1829/***/ (function(module, __webpack_exports__, __webpack_require__) {
1830
1831"use strict";
1832/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__uniq__ = __webpack_require__(22);
1833
1834
1835var union = function () {
1836 var sources = [];
1837
1838 for (var _i = 0; _i < arguments.length; _i++) {
1839 sources[_i] = arguments[_i];
1840 }
1841
1842 return Object(__WEBPACK_IMPORTED_MODULE_0__uniq__["a" /* default */])([].concat.apply([], sources));
1843};
1844
1845/* harmony default export */ __webpack_exports__["a"] = (union);
1846
1847/***/ }),
1848/* 46 */
1849/***/ (function(module, __webpack_exports__, __webpack_require__) {
1850
1851"use strict";
1852/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__each__ = __webpack_require__(2);
1853/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_array__ = __webpack_require__(0);
1854/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__is_nil__ = __webpack_require__(6);
1855
1856
1857
1858/* harmony default export */ __webpack_exports__["a"] = (function (data, name) {
1859 var rst = [];
1860 var tmpMap = {};
1861 data.forEach(function (obj) {
1862 var value = obj[name];
1863
1864 if (!Object(__WEBPACK_IMPORTED_MODULE_2__is_nil__["a" /* default */])(value)) {
1865 // flatten
1866 if (!Object(__WEBPACK_IMPORTED_MODULE_1__is_array__["a" /* default */])(value)) {
1867 value = [value];
1868 }
1869
1870 Object(__WEBPACK_IMPORTED_MODULE_0__each__["a" /* default */])(value, function (val) {
1871 // unique
1872 if (!tmpMap[val]) {
1873 rst.push(val);
1874 tmpMap[val] = true;
1875 }
1876 });
1877 }
1878 });
1879 return rst;
1880});
1881
1882/***/ }),
1883/* 47 */
1884/***/ (function(module, __webpack_exports__, __webpack_require__) {
1885
1886"use strict";
1887/* harmony export (immutable) */ __webpack_exports__["a"] = head;
1888/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array_like__ = __webpack_require__(1);
1889
1890function head(o) {
1891 if (Object(__WEBPACK_IMPORTED_MODULE_0__is_array_like__["a" /* default */])(o)) {
1892 return o[0];
1893 }
1894
1895 return undefined;
1896}
1897
1898/***/ }),
1899/* 48 */
1900/***/ (function(module, __webpack_exports__, __webpack_require__) {
1901
1902"use strict";
1903/* harmony export (immutable) */ __webpack_exports__["a"] = last;
1904/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array_like__ = __webpack_require__(1);
1905
1906function last(o) {
1907 if (Object(__WEBPACK_IMPORTED_MODULE_0__is_array_like__["a" /* default */])(o)) {
1908 var arr = o;
1909 return arr[arr.length - 1];
1910 }
1911
1912 return undefined;
1913}
1914
1915/***/ }),
1916/* 49 */
1917/***/ (function(module, __webpack_exports__, __webpack_require__) {
1918
1919"use strict";
1920/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array__ = __webpack_require__(0);
1921/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_string__ = __webpack_require__(8);
1922
1923
1924
1925function startsWith(arr, e) {
1926 return Object(__WEBPACK_IMPORTED_MODULE_0__is_array__["a" /* default */])(arr) || Object(__WEBPACK_IMPORTED_MODULE_1__is_string__["a" /* default */])(arr) ? arr[0] === e : false;
1927}
1928
1929/* harmony default export */ __webpack_exports__["a"] = (startsWith);
1930
1931/***/ }),
1932/* 50 */
1933/***/ (function(module, __webpack_exports__, __webpack_require__) {
1934
1935"use strict";
1936/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array__ = __webpack_require__(0);
1937/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_string__ = __webpack_require__(8);
1938
1939
1940
1941function endsWith(arr, e) {
1942 return Object(__WEBPACK_IMPORTED_MODULE_0__is_array__["a" /* default */])(arr) || Object(__WEBPACK_IMPORTED_MODULE_1__is_string__["a" /* default */])(arr) ? arr[arr.length - 1] === e : false;
1943}
1944
1945/* harmony default export */ __webpack_exports__["a"] = (endsWith);
1946
1947/***/ }),
1948/* 51 */
1949/***/ (function(module, __webpack_exports__, __webpack_require__) {
1950
1951"use strict";
1952/**
1953 * 只要有一个不满足条件就返回 false
1954 * @param arr
1955 * @param func
1956 */
1957var every = function (arr, func) {
1958 for (var i = 0; i < arr.length; i++) {
1959 if (!func(arr[i], i)) return false;
1960 }
1961
1962 return true;
1963};
1964
1965/* harmony default export */ __webpack_exports__["a"] = (every);
1966
1967/***/ }),
1968/* 52 */
1969/***/ (function(module, __webpack_exports__, __webpack_require__) {
1970
1971"use strict";
1972/**
1973 * 只要有一个满足条件就返回 true
1974 * @param arr
1975 * @param func
1976 */
1977var some = function (arr, func) {
1978 for (var i = 0; i < arr.length; i++) {
1979 if (func(arr[i], i)) return true;
1980 }
1981
1982 return false;
1983};
1984
1985/* harmony default export */ __webpack_exports__["a"] = (some);
1986
1987/***/ }),
1988/* 53 */
1989/***/ (function(module, __webpack_exports__, __webpack_require__) {
1990
1991"use strict";
1992/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__group_to_map__ = __webpack_require__(23);
1993
1994/* harmony default export */ __webpack_exports__["a"] = (function (data, condition) {
1995 if (!condition) {
1996 // 没有条件,则自身改成数组
1997 return [data];
1998 }
1999
2000 var groups = Object(__WEBPACK_IMPORTED_MODULE_0__group_to_map__["a" /* default */])(data, condition);
2001 var array = [];
2002
2003 for (var i in groups) {
2004 array.push(groups[i]);
2005 }
2006
2007 return array;
2008});
2009
2010/***/ }),
2011/* 54 */
2012/***/ (function(module, __webpack_exports__, __webpack_require__) {
2013
2014"use strict";
2015/**
2016 * 获取封装的事件
2017 * @protected
2018 * @param {Object} obj 对象
2019 * @param {String} action 事件名称
2020 * @return {Function} 返回事件处理函数
2021 */
2022function getWrapBehavior(obj, action) {
2023 return obj['_wrap_' + action];
2024}
2025
2026/* harmony default export */ __webpack_exports__["a"] = (getWrapBehavior);
2027
2028/***/ }),
2029/* 55 */
2030/***/ (function(module, __webpack_exports__, __webpack_require__) {
2031
2032"use strict";
2033/**
2034 * 封装事件,便于使用上下文this,和便于解除事件时使用
2035 * @protected
2036 * @param {Object} obj 对象
2037 * @param {String} action 事件名称
2038 * @return {Function} 返回事件处理函数
2039 */
2040function wrapBehavior(obj, action) {
2041 if (obj['_wrap_' + action]) {
2042 return obj['_wrap_' + action];
2043 }
2044
2045 var method = function (e) {
2046 obj[action](e);
2047 };
2048
2049 obj['_wrap_' + action] = method;
2050 return method;
2051}
2052
2053/* harmony default export */ __webpack_exports__["a"] = (wrapBehavior);
2054
2055/***/ }),
2056/* 56 */
2057/***/ (function(module, __webpack_exports__, __webpack_require__) {
2058
2059"use strict";
2060var numColorCache = {};
2061
2062function numberToColor(num) {
2063 // 增加缓存
2064 var color = numColorCache[num];
2065
2066 if (!color) {
2067 var str = num.toString(16);
2068
2069 for (var i = str.length; i < 6; i++) {
2070 str = '0' + str;
2071 }
2072
2073 color = '#' + str;
2074 numColorCache[num] = color;
2075 }
2076
2077 return color;
2078}
2079
2080/* harmony default export */ __webpack_exports__["a"] = (numberToColor);
2081
2082/***/ }),
2083/* 57 */
2084/***/ (function(module, __webpack_exports__, __webpack_require__) {
2085
2086"use strict";
2087/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array__ = __webpack_require__(0);
2088
2089
2090function parseRadius(radius) {
2091 var r1 = 0,
2092 r2 = 0,
2093 r3 = 0,
2094 r4 = 0;
2095
2096 if (Object(__WEBPACK_IMPORTED_MODULE_0__is_array__["a" /* default */])(radius)) {
2097 if (radius.length === 1) {
2098 r1 = r2 = r3 = r4 = radius[0];
2099 } else if (radius.length === 2) {
2100 r1 = r3 = radius[0];
2101 r2 = r4 = radius[1];
2102 } else if (radius.length === 3) {
2103 r1 = radius[0];
2104 r2 = r4 = radius[1];
2105 r3 = radius[2];
2106 } else {
2107 r1 = radius[0];
2108 r2 = radius[1];
2109 r3 = radius[2];
2110 r4 = radius[3];
2111 }
2112 } else {
2113 r1 = r2 = r3 = r4 = radius;
2114 }
2115
2116 return {
2117 r1: r1,
2118 r2: r2,
2119 r3: r3,
2120 r4: r4
2121 };
2122}
2123
2124/* harmony default export */ __webpack_exports__["a"] = (parseRadius);
2125
2126/***/ }),
2127/* 58 */
2128/***/ (function(module, __webpack_exports__, __webpack_require__) {
2129
2130"use strict";
2131var clamp = function (a, min, max) {
2132 if (a < min) {
2133 return min;
2134 } else if (a > max) {
2135 return max;
2136 }
2137
2138 return a;
2139};
2140
2141/* harmony default export */ __webpack_exports__["a"] = (clamp);
2142
2143/***/ }),
2144/* 59 */
2145/***/ (function(module, __webpack_exports__, __webpack_require__) {
2146
2147"use strict";
2148var fixedBase = function (v, base) {
2149 var str = base.toString();
2150 var index = str.indexOf('.');
2151
2152 if (index === -1) {
2153 return Math.round(v);
2154 }
2155
2156 var length = str.substr(index + 1).length;
2157
2158 if (length > 20) {
2159 length = 20;
2160 }
2161
2162 return parseFloat(v.toFixed(length));
2163};
2164
2165/* harmony default export */ __webpack_exports__["a"] = (fixedBase);
2166
2167/***/ }),
2168/* 60 */
2169/***/ (function(module, __webpack_exports__, __webpack_require__) {
2170
2171"use strict";
2172/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_number__ = __webpack_require__(5);
2173
2174
2175var isDecimal = function (num) {
2176 return Object(__WEBPACK_IMPORTED_MODULE_0__is_number__["a" /* default */])(num) && num % 1 !== 0;
2177};
2178
2179/* harmony default export */ __webpack_exports__["a"] = (isDecimal);
2180
2181/***/ }),
2182/* 61 */
2183/***/ (function(module, __webpack_exports__, __webpack_require__) {
2184
2185"use strict";
2186/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_number__ = __webpack_require__(5);
2187
2188
2189var isEven = function (num) {
2190 return Object(__WEBPACK_IMPORTED_MODULE_0__is_number__["a" /* default */])(num) && num % 2 === 0;
2191};
2192
2193/* harmony default export */ __webpack_exports__["a"] = (isEven);
2194
2195/***/ }),
2196/* 62 */
2197/***/ (function(module, __webpack_exports__, __webpack_require__) {
2198
2199"use strict";
2200/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_number__ = __webpack_require__(5);
2201
2202var isInteger = Number.isInteger ? Number.isInteger : function (num) {
2203 return Object(__WEBPACK_IMPORTED_MODULE_0__is_number__["a" /* default */])(num) && num % 1 === 0;
2204};
2205/* harmony default export */ __webpack_exports__["a"] = (isInteger);
2206
2207/***/ }),
2208/* 63 */
2209/***/ (function(module, __webpack_exports__, __webpack_require__) {
2210
2211"use strict";
2212/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_number__ = __webpack_require__(5);
2213
2214
2215var isNegative = function (num) {
2216 return Object(__WEBPACK_IMPORTED_MODULE_0__is_number__["a" /* default */])(num) && num < 0;
2217};
2218
2219/* harmony default export */ __webpack_exports__["a"] = (isNegative);
2220
2221/***/ }),
2222/* 64 */
2223/***/ (function(module, __webpack_exports__, __webpack_require__) {
2224
2225"use strict";
2226/* harmony export (immutable) */ __webpack_exports__["a"] = isNumberEqual;
2227var PRECISION = 0.00001; // numbers less than this is considered as 0
2228
2229function isNumberEqual(a, b, precision) {
2230 if (precision === void 0) {
2231 precision = PRECISION;
2232 }
2233
2234 return Math.abs(a - b) < precision;
2235}
2236;
2237
2238/***/ }),
2239/* 65 */
2240/***/ (function(module, __webpack_exports__, __webpack_require__) {
2241
2242"use strict";
2243/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_number__ = __webpack_require__(5);
2244
2245
2246var isOdd = function (num) {
2247 return Object(__WEBPACK_IMPORTED_MODULE_0__is_number__["a" /* default */])(num) && num % 2 !== 0;
2248};
2249
2250/* harmony default export */ __webpack_exports__["a"] = (isOdd);
2251
2252/***/ }),
2253/* 66 */
2254/***/ (function(module, __webpack_exports__, __webpack_require__) {
2255
2256"use strict";
2257/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_number__ = __webpack_require__(5);
2258
2259
2260var isPositive = function (num) {
2261 return Object(__WEBPACK_IMPORTED_MODULE_0__is_number__["a" /* default */])(num) && num > 0;
2262};
2263
2264/* harmony default export */ __webpack_exports__["a"] = (isPositive);
2265
2266/***/ }),
2267/* 67 */
2268/***/ (function(module, __webpack_exports__, __webpack_require__) {
2269
2270"use strict";
2271/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__each__ = __webpack_require__(2);
2272/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_array__ = __webpack_require__(0);
2273/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__is_function__ = __webpack_require__(3);
2274
2275
2276
2277/**
2278 * @param {Array} arr The array to iterate over.
2279 * @param {Function} [fn] The iteratee invoked per element.
2280 * @return {*} Returns the maximum value.
2281 * @example
2282 *
2283 * var objects = [{ 'n': 1 }, { 'n': 2 }];
2284 *
2285 * maxBy(objects, function(o) { return o.n; });
2286 * // => { 'n': 2 }
2287 *
2288 * maxBy(objects, 'n');
2289 * // => { 'n': 2 }
2290 */
2291
2292/* harmony default export */ __webpack_exports__["a"] = (function (arr, fn) {
2293 if (!Object(__WEBPACK_IMPORTED_MODULE_1__is_array__["a" /* default */])(arr)) {
2294 return undefined;
2295 }
2296
2297 var max = arr[0];
2298 var maxData;
2299
2300 if (Object(__WEBPACK_IMPORTED_MODULE_2__is_function__["a" /* default */])(fn)) {
2301 maxData = fn(arr[0]);
2302 } else {
2303 maxData = arr[0][fn];
2304 }
2305
2306 var data;
2307 Object(__WEBPACK_IMPORTED_MODULE_0__each__["a" /* default */])(arr, function (val) {
2308 if (Object(__WEBPACK_IMPORTED_MODULE_2__is_function__["a" /* default */])(fn)) {
2309 data = fn(val);
2310 } else {
2311 data = val[fn];
2312 }
2313
2314 if (data > maxData) {
2315 max = val;
2316 maxData = data;
2317 }
2318 });
2319 return max;
2320});
2321
2322/***/ }),
2323/* 68 */
2324/***/ (function(module, __webpack_exports__, __webpack_require__) {
2325
2326"use strict";
2327/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__each__ = __webpack_require__(2);
2328/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_array__ = __webpack_require__(0);
2329/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__is_function__ = __webpack_require__(3);
2330
2331
2332
2333/**
2334 * @param {Array} arr The array to iterate over.
2335 * @param {Function} [fn] The iteratee invoked per element.
2336 * @return {*} Returns the minimum value.
2337 * @example
2338 *
2339 * var objects = [{ 'n': 1 }, { 'n': 2 }];
2340 *
2341 * minBy(objects, function(o) { return o.n; });
2342 * // => { 'n': 1 }
2343 *
2344 * minBy(objects, 'n');
2345 * // => { 'n': 1 }
2346 */
2347
2348/* harmony default export */ __webpack_exports__["a"] = (function (arr, fn) {
2349 if (!Object(__WEBPACK_IMPORTED_MODULE_1__is_array__["a" /* default */])(arr)) {
2350 return undefined;
2351 }
2352
2353 var min = arr[0];
2354 var minData;
2355
2356 if (Object(__WEBPACK_IMPORTED_MODULE_2__is_function__["a" /* default */])(fn)) {
2357 minData = fn(arr[0]);
2358 } else {
2359 minData = arr[0][fn];
2360 }
2361
2362 var data;
2363 Object(__WEBPACK_IMPORTED_MODULE_0__each__["a" /* default */])(arr, function (val) {
2364 if (Object(__WEBPACK_IMPORTED_MODULE_2__is_function__["a" /* default */])(fn)) {
2365 data = fn(val);
2366 } else {
2367 data = val[fn];
2368 }
2369
2370 if (data < minData) {
2371 min = val;
2372 minData = data;
2373 }
2374 });
2375 return min;
2376});
2377
2378/***/ }),
2379/* 69 */
2380/***/ (function(module, __webpack_exports__, __webpack_require__) {
2381
2382"use strict";
2383var mod = function (n, m) {
2384 return (n % m + m) % m;
2385};
2386
2387/* harmony default export */ __webpack_exports__["a"] = (mod);
2388
2389/***/ }),
2390/* 70 */
2391/***/ (function(module, __webpack_exports__, __webpack_require__) {
2392
2393"use strict";
2394var DEGREE = 180 / Math.PI;
2395
2396var toDegree = function (radian) {
2397 return DEGREE * radian;
2398};
2399
2400/* harmony default export */ __webpack_exports__["a"] = (toDegree);
2401
2402/***/ }),
2403/* 71 */
2404/***/ (function(module, __webpack_exports__, __webpack_require__) {
2405
2406"use strict";
2407/* harmony default export */ __webpack_exports__["a"] = (parseInt);
2408
2409/***/ }),
2410/* 72 */
2411/***/ (function(module, __webpack_exports__, __webpack_require__) {
2412
2413"use strict";
2414var RADIAN = Math.PI / 180;
2415
2416var toRadian = function (degree) {
2417 return RADIAN * degree;
2418};
2419
2420/* harmony default export */ __webpack_exports__["a"] = (toRadian);
2421
2422/***/ }),
2423/* 73 */
2424/***/ (function(module, __webpack_exports__, __webpack_require__) {
2425
2426"use strict";
2427/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__each__ = __webpack_require__(2);
2428
2429/* harmony default export */ __webpack_exports__["a"] = (__WEBPACK_IMPORTED_MODULE_0__each__["a" /* default */]);
2430
2431/***/ }),
2432/* 74 */
2433/***/ (function(module, __webpack_exports__, __webpack_require__) {
2434
2435"use strict";
2436/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__has__ = __webpack_require__(25);
2437
2438/* harmony default export */ __webpack_exports__["a"] = (__WEBPACK_IMPORTED_MODULE_0__has__["a" /* default */]);
2439
2440/***/ }),
2441/* 75 */
2442/***/ (function(module, __webpack_exports__, __webpack_require__) {
2443
2444"use strict";
2445/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__contains__ = __webpack_require__(12);
2446/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__values__ = __webpack_require__(26);
2447
2448
2449/* harmony default export */ __webpack_exports__["a"] = (function (obj, value) {
2450 return Object(__WEBPACK_IMPORTED_MODULE_0__contains__["a" /* default */])(Object(__WEBPACK_IMPORTED_MODULE_1__values__["a" /* default */])(obj), value);
2451});
2452
2453/***/ }),
2454/* 76 */
2455/***/ (function(module, __webpack_exports__, __webpack_require__) {
2456
2457"use strict";
2458/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__to_string__ = __webpack_require__(10);
2459
2460
2461var lowerCase = function (str) {
2462 return Object(__WEBPACK_IMPORTED_MODULE_0__to_string__["a" /* default */])(str).toLowerCase();
2463};
2464
2465/* harmony default export */ __webpack_exports__["a"] = (lowerCase);
2466
2467/***/ }),
2468/* 77 */
2469/***/ (function(module, __webpack_exports__, __webpack_require__) {
2470
2471"use strict";
2472/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__to_string__ = __webpack_require__(10);
2473
2474
2475var lowerFirst = function (value) {
2476 var str = Object(__WEBPACK_IMPORTED_MODULE_0__to_string__["a" /* default */])(value);
2477 return str.charAt(0).toLowerCase() + str.substring(1);
2478};
2479
2480/* harmony default export */ __webpack_exports__["a"] = (lowerFirst);
2481
2482/***/ }),
2483/* 78 */
2484/***/ (function(module, __webpack_exports__, __webpack_require__) {
2485
2486"use strict";
2487function substitute(str, o) {
2488 if (!str || !o) {
2489 return str;
2490 }
2491
2492 return str.replace(/\\?\{([^{}]+)\}/g, function (match, name) {
2493 if (match.charAt(0) === '\\') {
2494 return match.slice(1);
2495 }
2496
2497 return o[name] === undefined ? '' : o[name];
2498 });
2499}
2500
2501/* harmony default export */ __webpack_exports__["a"] = (substitute);
2502
2503/***/ }),
2504/* 79 */
2505/***/ (function(module, __webpack_exports__, __webpack_require__) {
2506
2507"use strict";
2508/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__to_string__ = __webpack_require__(10);
2509
2510
2511var upperCase = function (str) {
2512 return Object(__WEBPACK_IMPORTED_MODULE_0__to_string__["a" /* default */])(str).toUpperCase();
2513};
2514
2515/* harmony default export */ __webpack_exports__["a"] = (upperCase);
2516
2517/***/ }),
2518/* 80 */
2519/***/ (function(module, __webpack_exports__, __webpack_require__) {
2520
2521"use strict";
2522/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__to_string__ = __webpack_require__(10);
2523
2524
2525var upperFirst = function (value) {
2526 var str = Object(__WEBPACK_IMPORTED_MODULE_0__to_string__["a" /* default */])(value);
2527 return str.charAt(0).toUpperCase() + str.substring(1);
2528};
2529
2530/* harmony default export */ __webpack_exports__["a"] = (upperFirst);
2531
2532/***/ }),
2533/* 81 */
2534/***/ (function(module, __webpack_exports__, __webpack_require__) {
2535
2536"use strict";
2537/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_type__ = __webpack_require__(4);
2538/**
2539 * 是否是参数类型
2540 *
2541 * @param {Object} value 测试的值
2542 * @return {Boolean}
2543 */
2544
2545
2546var isArguments = function (value) {
2547 return Object(__WEBPACK_IMPORTED_MODULE_0__is_type__["a" /* default */])(value, 'Arguments');
2548};
2549
2550/* harmony default export */ __webpack_exports__["a"] = (isArguments);
2551
2552/***/ }),
2553/* 82 */
2554/***/ (function(module, __webpack_exports__, __webpack_require__) {
2555
2556"use strict";
2557/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_type__ = __webpack_require__(4);
2558/**
2559 * 是否是布尔类型
2560 *
2561 * @param {Object} value 测试的值
2562 * @return {Boolean}
2563 */
2564
2565
2566var isBoolean = function (value) {
2567 return Object(__WEBPACK_IMPORTED_MODULE_0__is_type__["a" /* default */])(value, 'Boolean');
2568};
2569
2570/* harmony default export */ __webpack_exports__["a"] = (isBoolean);
2571
2572/***/ }),
2573/* 83 */
2574/***/ (function(module, __webpack_exports__, __webpack_require__) {
2575
2576"use strict";
2577/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_type__ = __webpack_require__(4);
2578
2579
2580var isDate = function (value) {
2581 return Object(__WEBPACK_IMPORTED_MODULE_0__is_type__["a" /* default */])(value, 'Date');
2582};
2583
2584/* harmony default export */ __webpack_exports__["a"] = (isDate);
2585
2586/***/ }),
2587/* 84 */
2588/***/ (function(module, __webpack_exports__, __webpack_require__) {
2589
2590"use strict";
2591/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_type__ = __webpack_require__(4);
2592/**
2593 * 是否是参数类型
2594 *
2595 * @param {Object} value 测试的值
2596 * @return {Boolean}
2597 */
2598
2599
2600var isError = function (value) {
2601 return Object(__WEBPACK_IMPORTED_MODULE_0__is_type__["a" /* default */])(value, 'Error');
2602};
2603
2604/* harmony default export */ __webpack_exports__["a"] = (isError);
2605
2606/***/ }),
2607/* 85 */
2608/***/ (function(module, __webpack_exports__, __webpack_require__) {
2609
2610"use strict";
2611/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_number__ = __webpack_require__(5);
2612/**
2613 * 判断是否为有限数
2614 * @return {Boolean}
2615 */
2616
2617/* harmony default export */ __webpack_exports__["a"] = (function (value) {
2618 return Object(__WEBPACK_IMPORTED_MODULE_0__is_number__["a" /* default */])(value) && isFinite(value);
2619});
2620
2621/***/ }),
2622/* 86 */
2623/***/ (function(module, __webpack_exports__, __webpack_require__) {
2624
2625"use strict";
2626var isNull = function (value) {
2627 return value === null;
2628};
2629
2630/* harmony default export */ __webpack_exports__["a"] = (isNull);
2631
2632/***/ }),
2633/* 87 */
2634/***/ (function(module, __webpack_exports__, __webpack_require__) {
2635
2636"use strict";
2637/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_type__ = __webpack_require__(4);
2638
2639
2640var isRegExp = function (str) {
2641 return Object(__WEBPACK_IMPORTED_MODULE_0__is_type__["a" /* default */])(str, 'RegExp');
2642};
2643
2644/* harmony default export */ __webpack_exports__["a"] = (isRegExp);
2645
2646/***/ }),
2647/* 88 */
2648/***/ (function(module, __webpack_exports__, __webpack_require__) {
2649
2650"use strict";
2651var isUndefined = function (value) {
2652 return value === undefined;
2653};
2654
2655/* harmony default export */ __webpack_exports__["a"] = (isUndefined);
2656
2657/***/ }),
2658/* 89 */
2659/***/ (function(module, __webpack_exports__, __webpack_require__) {
2660
2661"use strict";
2662/**
2663 * 判断是否HTML元素
2664 * @return {Boolean} 是否HTML元素
2665 */
2666var isElement = function (o) {
2667 return o instanceof Element || o instanceof HTMLDocument;
2668};
2669
2670/* harmony default export */ __webpack_exports__["a"] = (isElement);
2671
2672/***/ }),
2673/* 90 */
2674/***/ (function(module, __webpack_exports__, __webpack_require__) {
2675
2676"use strict";
2677/* harmony export (immutable) */ __webpack_exports__["a"] = requestAnimationFrame;
2678function requestAnimationFrame(fn) {
2679 var method = window.requestAnimationFrame || window.webkitRequestAnimationFrame || // @ts-ignore
2680 window.mozRequestAnimationFrame || // @ts-ignore
2681 window.msRequestAnimationFrame || function (f) {
2682 return setTimeout(f, 16);
2683 };
2684
2685 return method(fn);
2686}
2687;
2688
2689/***/ }),
2690/* 91 */
2691/***/ (function(module, __webpack_exports__, __webpack_require__) {
2692
2693"use strict";
2694/* harmony export (immutable) */ __webpack_exports__["a"] = cancelAnimationFrame;
2695function cancelAnimationFrame(handler) {
2696 var method = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || // @ts-ignore
2697 window.mozCancelAnimationFrame || // @ts-ignore
2698 window.msCancelAnimationFrame || clearTimeout;
2699 method(handler);
2700}
2701;
2702
2703/***/ }),
2704/* 92 */
2705/***/ (function(module, __webpack_exports__, __webpack_require__) {
2706
2707"use strict";
2708/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mix__ = __webpack_require__(16);
2709/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_function__ = __webpack_require__(3);
2710
2711
2712
2713var augment = function () {
2714 var args = [];
2715
2716 for (var _i = 0; _i < arguments.length; _i++) {
2717 args[_i] = arguments[_i];
2718 }
2719
2720 var c = args[0];
2721
2722 for (var i = 1; i < args.length; i++) {
2723 var obj = args[i];
2724
2725 if (Object(__WEBPACK_IMPORTED_MODULE_1__is_function__["a" /* default */])(obj)) {
2726 obj = obj.prototype;
2727 }
2728
2729 Object(__WEBPACK_IMPORTED_MODULE_0__mix__["a" /* default */])(c.prototype, obj);
2730 }
2731};
2732
2733/* harmony default export */ __webpack_exports__["a"] = (augment);
2734
2735/***/ }),
2736/* 93 */
2737/***/ (function(module, __webpack_exports__, __webpack_require__) {
2738
2739"use strict";
2740/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array__ = __webpack_require__(0);
2741
2742
2743var clone = function (obj) {
2744 if (typeof obj !== 'object' || obj === null) {
2745 return obj;
2746 }
2747
2748 var rst;
2749
2750 if (Object(__WEBPACK_IMPORTED_MODULE_0__is_array__["a" /* default */])(obj)) {
2751 rst = [];
2752
2753 for (var i = 0, l = obj.length; i < l; i++) {
2754 if (typeof obj[i] === 'object' && obj[i] != null) {
2755 rst[i] = clone(obj[i]);
2756 } else {
2757 rst[i] = obj[i];
2758 }
2759 }
2760 } else {
2761 rst = {};
2762
2763 for (var k in obj) {
2764 if (typeof obj[k] === 'object' && obj[k] != null) {
2765 rst[k] = clone(obj[k]);
2766 } else {
2767 rst[k] = obj[k];
2768 }
2769 }
2770 }
2771
2772 return rst;
2773};
2774
2775/* harmony default export */ __webpack_exports__["a"] = (clone);
2776
2777/***/ }),
2778/* 94 */
2779/***/ (function(module, __webpack_exports__, __webpack_require__) {
2780
2781"use strict";
2782function debounce(func, wait, immediate) {
2783 var timeout;
2784 return function () {
2785 var context = this,
2786 args = arguments;
2787
2788 var later = function () {
2789 timeout = null;
2790
2791 if (!immediate) {
2792 func.apply(context, args);
2793 }
2794 };
2795
2796 var callNow = immediate && !timeout;
2797 clearTimeout(timeout);
2798 timeout = setTimeout(later, wait);
2799
2800 if (callNow) {
2801 func.apply(context, args);
2802 }
2803 };
2804}
2805
2806/* harmony default export */ __webpack_exports__["a"] = (debounce);
2807
2808/***/ }),
2809/* 95 */
2810/***/ (function(module, __webpack_exports__, __webpack_require__) {
2811
2812"use strict";
2813/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_function__ = __webpack_require__(3);
2814
2815/**
2816 * _.memoize(calColor);
2817 * _.memoize(calColor, (...args) => args[0]);
2818 * @param f
2819 * @param resolver
2820 */
2821
2822/* harmony default export */ __webpack_exports__["a"] = (function (f, resolver) {
2823 if (!Object(__WEBPACK_IMPORTED_MODULE_0__is_function__["a" /* default */])(f)) {
2824 throw new TypeError('Expected a function');
2825 }
2826
2827 var memoized = function () {
2828 var args = [];
2829
2830 for (var _i = 0; _i < arguments.length; _i++) {
2831 args[_i] = arguments[_i];
2832 } // 使用方法构造 key,如果不存在 resolver,则直接取第一个参数作为 key
2833
2834
2835 var key = resolver ? resolver.apply(this, args) : args[0];
2836 var cache = memoized.cache;
2837
2838 if (cache.has(key)) {
2839 return cache.get(key);
2840 }
2841
2842 var result = f.apply(this, args); // 缓存起来
2843
2844 cache.set(key, result);
2845 return result;
2846 };
2847
2848 memoized.cache = new Map();
2849 return memoized;
2850});
2851
2852/***/ }),
2853/* 96 */
2854/***/ (function(module, __webpack_exports__, __webpack_require__) {
2855
2856"use strict";
2857/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array__ = __webpack_require__(0);
2858/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_plain_object__ = __webpack_require__(9);
2859
2860
2861var MAX_MIX_LEVEL = 5;
2862
2863function _deepMix(dist, src, level, maxLevel) {
2864 level = level || 0;
2865 maxLevel = maxLevel || MAX_MIX_LEVEL;
2866
2867 for (var key in src) {
2868 if (src.hasOwnProperty(key)) {
2869 var value = src[key];
2870
2871 if (value !== null && Object(__WEBPACK_IMPORTED_MODULE_1__is_plain_object__["a" /* default */])(value)) {
2872 if (!Object(__WEBPACK_IMPORTED_MODULE_1__is_plain_object__["a" /* default */])(dist[key])) {
2873 dist[key] = {};
2874 }
2875
2876 if (level < maxLevel) {
2877 _deepMix(dist[key], value, level + 1, maxLevel);
2878 } else {
2879 dist[key] = src[key];
2880 }
2881 } else if (Object(__WEBPACK_IMPORTED_MODULE_0__is_array__["a" /* default */])(value)) {
2882 dist[key] = [];
2883 dist[key] = dist[key].concat(value);
2884 } else if (value !== undefined) {
2885 dist[key] = value;
2886 }
2887 }
2888 }
2889} // todo 重写
2890
2891
2892var deepMix = function (rst) {
2893 var args = [];
2894
2895 for (var _i = 1; _i < arguments.length; _i++) {
2896 args[_i - 1] = arguments[_i];
2897 }
2898
2899 for (var i = 0; i < args.length; i += 1) {
2900 _deepMix(rst, args[i]);
2901 }
2902
2903 return rst;
2904};
2905
2906/* harmony default export */ __webpack_exports__["a"] = (deepMix);
2907
2908/***/ }),
2909/* 97 */
2910/***/ (function(module, __webpack_exports__, __webpack_require__) {
2911
2912"use strict";
2913/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mix__ = __webpack_require__(16);
2914/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_function__ = __webpack_require__(3);
2915
2916
2917
2918var extend = function (subclass, superclass, overrides, staticOverrides) {
2919 // 如果只提供父类构造函数,则自动生成子类构造函数
2920 if (!Object(__WEBPACK_IMPORTED_MODULE_1__is_function__["a" /* default */])(superclass)) {
2921 overrides = superclass;
2922 superclass = subclass;
2923
2924 subclass = function () {};
2925 }
2926
2927 var create = Object.create ? function (proto, c) {
2928 return Object.create(proto, {
2929 constructor: {
2930 value: c
2931 }
2932 });
2933 } : function (proto, c) {
2934 function Tmp() {}
2935
2936 Tmp.prototype = proto;
2937 var o = new Tmp();
2938 o.constructor = c;
2939 return o;
2940 };
2941 var superObj = create(superclass.prototype, subclass); // new superclass(),//实例化父类作为子类的prototype
2942
2943 subclass.prototype = Object(__WEBPACK_IMPORTED_MODULE_0__mix__["a" /* default */])(superObj, subclass.prototype); // 指定子类的prototype
2944
2945 subclass.superclass = create(superclass.prototype, superclass);
2946 Object(__WEBPACK_IMPORTED_MODULE_0__mix__["a" /* default */])(superObj, overrides);
2947 Object(__WEBPACK_IMPORTED_MODULE_0__mix__["a" /* default */])(subclass, staticOverrides);
2948 return subclass;
2949};
2950
2951/* harmony default export */ __webpack_exports__["a"] = (extend);
2952
2953/***/ }),
2954/* 98 */
2955/***/ (function(module, __webpack_exports__, __webpack_require__) {
2956
2957"use strict";
2958/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array_like__ = __webpack_require__(1);
2959
2960
2961var indexOf = function (arr, obj) {
2962 if (!Object(__WEBPACK_IMPORTED_MODULE_0__is_array_like__["a" /* default */])(arr)) {
2963 return -1;
2964 }
2965
2966 var m = Array.prototype.indexOf;
2967
2968 if (m) {
2969 return m.call(arr, obj);
2970 }
2971
2972 var index = -1;
2973
2974 for (var i = 0; i < arr.length; i++) {
2975 if (arr[i] === obj) {
2976 index = i;
2977 break;
2978 }
2979 }
2980
2981 return index;
2982};
2983
2984/* harmony default export */ __webpack_exports__["a"] = (indexOf);
2985
2986/***/ }),
2987/* 99 */
2988/***/ (function(module, __webpack_exports__, __webpack_require__) {
2989
2990"use strict";
2991/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_nil__ = __webpack_require__(6);
2992/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_array_like__ = __webpack_require__(1);
2993/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__get_type__ = __webpack_require__(27);
2994/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__is_prototype__ = __webpack_require__(28);
2995
2996
2997
2998
2999var hasOwnProperty = Object.prototype.hasOwnProperty;
3000
3001function isEmpty(value) {
3002 /**
3003 * isEmpty(null) => true
3004 * isEmpty() => true
3005 * isEmpty(true) => true
3006 * isEmpty(1) => true
3007 * isEmpty([1, 2, 3]) => false
3008 * isEmpty('abc') => false
3009 * isEmpty({ a: 1 }) => false
3010 */
3011 if (Object(__WEBPACK_IMPORTED_MODULE_0__is_nil__["a" /* default */])(value)) {
3012 return true;
3013 }
3014
3015 if (Object(__WEBPACK_IMPORTED_MODULE_1__is_array_like__["a" /* default */])(value)) {
3016 return !value.length;
3017 }
3018
3019 var type = Object(__WEBPACK_IMPORTED_MODULE_2__get_type__["a" /* default */])(value);
3020
3021 if (type === 'Map' || type === 'Set') {
3022 return !value.size;
3023 }
3024
3025 if (Object(__WEBPACK_IMPORTED_MODULE_3__is_prototype__["a" /* default */])(value)) {
3026 return !Object.keys(value).length;
3027 }
3028
3029 for (var key in value) {
3030 if (hasOwnProperty.call(value, key)) {
3031 return false;
3032 }
3033 }
3034
3035 return true;
3036}
3037
3038/* harmony default export */ __webpack_exports__["a"] = (isEmpty);
3039
3040/***/ }),
3041/* 100 */
3042/***/ (function(module, __webpack_exports__, __webpack_require__) {
3043
3044"use strict";
3045/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_function__ = __webpack_require__(3);
3046/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_equal__ = __webpack_require__(29);
3047
3048
3049/**
3050 * @param {*} value The value to compare.
3051 * @param {*} other The other value to compare.
3052 * @param {Function} [fn] The function to customize comparisons.
3053 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
3054 * @example
3055 *
3056 * function isGreeting(value) {
3057 * return /^h(?:i|ello)$/.test(value);
3058 * }
3059 *
3060 * function customizer(objValue, othValue) {
3061 * if (isGreeting(objValue) && isGreeting(othValue)) {
3062 * return true;
3063 * }
3064 * }
3065 *
3066 * var array = ['hello', 'goodbye'];
3067 * var other = ['hi', 'goodbye'];
3068 *
3069 * isEqualWith(array, other, customizer); // => true
3070 */
3071
3072/* harmony default export */ __webpack_exports__["a"] = (function (value, other, fn) {
3073 if (!Object(__WEBPACK_IMPORTED_MODULE_0__is_function__["a" /* default */])(fn)) {
3074 return Object(__WEBPACK_IMPORTED_MODULE_1__is_equal__["a" /* default */])(value, other);
3075 }
3076
3077 return !!fn(value, other);
3078});
3079
3080/***/ }),
3081/* 101 */
3082/***/ (function(module, __webpack_exports__, __webpack_require__) {
3083
3084"use strict";
3085/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__each__ = __webpack_require__(2);
3086/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_array_like__ = __webpack_require__(1);
3087
3088
3089
3090var map = function (arr, func) {
3091 if (!Object(__WEBPACK_IMPORTED_MODULE_1__is_array_like__["a" /* default */])(arr)) {
3092 // @ts-ignore
3093 return arr;
3094 }
3095
3096 var result = [];
3097 Object(__WEBPACK_IMPORTED_MODULE_0__each__["a" /* default */])(arr, function (value, index) {
3098 result.push(func(value, index));
3099 });
3100 return result;
3101};
3102
3103/* harmony default export */ __webpack_exports__["a"] = (map);
3104
3105/***/ }),
3106/* 102 */
3107/***/ (function(module, __webpack_exports__, __webpack_require__) {
3108
3109"use strict";
3110/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_nil__ = __webpack_require__(6);
3111/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_object__ = __webpack_require__(13);
3112
3113
3114
3115var identity = function (v) {
3116 return v;
3117};
3118
3119/* harmony default export */ __webpack_exports__["a"] = (function (object, func) {
3120 if (func === void 0) {
3121 func = identity;
3122 }
3123
3124 var r = {};
3125
3126 if (Object(__WEBPACK_IMPORTED_MODULE_1__is_object__["a" /* default */])(object) && !Object(__WEBPACK_IMPORTED_MODULE_0__is_nil__["a" /* default */])(object)) {
3127 Object.keys(object).forEach(function (key) {
3128 // @ts-ignore
3129 r[key] = func(object[key], key);
3130 });
3131 }
3132
3133 return r;
3134});
3135
3136/***/ }),
3137/* 103 */
3138/***/ (function(module, __webpack_exports__, __webpack_require__) {
3139
3140"use strict";
3141/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_string__ = __webpack_require__(8);
3142
3143/**
3144 * https://github.com/developit/dlv/blob/master/index.js
3145 * @param obj
3146 * @param key
3147 * @param defaultValue
3148 */
3149
3150/* harmony default export */ __webpack_exports__["a"] = (function (obj, key, defaultValue) {
3151 var p = 0;
3152 var keyArr = Object(__WEBPACK_IMPORTED_MODULE_0__is_string__["a" /* default */])(key) ? key.split('.') : key;
3153
3154 while (obj && p < keyArr.length) {
3155 obj = obj[keyArr[p++]];
3156 }
3157
3158 return obj === undefined || p < keyArr.length ? defaultValue : obj;
3159});
3160
3161/***/ }),
3162/* 104 */
3163/***/ (function(module, __webpack_exports__, __webpack_require__) {
3164
3165"use strict";
3166/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_object__ = __webpack_require__(13);
3167/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_string__ = __webpack_require__(8);
3168/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__is_number__ = __webpack_require__(5);
3169
3170
3171
3172/**
3173 * https://github.com/developit/dlv/blob/master/index.js
3174 * @param obj
3175 * @param path
3176 * @param value
3177 */
3178
3179/* harmony default export */ __webpack_exports__["a"] = (function (obj, path, value) {
3180 var o = obj;
3181 var keyArr = Object(__WEBPACK_IMPORTED_MODULE_1__is_string__["a" /* default */])(path) ? path.split('.') : path;
3182 keyArr.forEach(function (key, idx) {
3183 // 不是最后一个
3184 if (idx < keyArr.length - 1) {
3185 if (!Object(__WEBPACK_IMPORTED_MODULE_0__is_object__["a" /* default */])(o[key])) {
3186 o[key] = Object(__WEBPACK_IMPORTED_MODULE_2__is_number__["a" /* default */])(keyArr[idx + 1]) ? [] : {};
3187 }
3188
3189 o = o[key];
3190 } else {
3191 o[key] = value;
3192 }
3193 });
3194 return obj;
3195});
3196
3197/***/ }),
3198/* 105 */
3199/***/ (function(module, __webpack_exports__, __webpack_require__) {
3200
3201"use strict";
3202/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__each__ = __webpack_require__(2);
3203/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_plain_object__ = __webpack_require__(9);
3204
3205
3206var hasOwnProperty = Object.prototype.hasOwnProperty;
3207/* harmony default export */ __webpack_exports__["a"] = (function (object, keys) {
3208 if (object === null || !Object(__WEBPACK_IMPORTED_MODULE_1__is_plain_object__["a" /* default */])(object)) {
3209 return {};
3210 }
3211
3212 var result = {};
3213 Object(__WEBPACK_IMPORTED_MODULE_0__each__["a" /* default */])(keys, function (key) {
3214 if (hasOwnProperty.call(object, key)) {
3215 result[key] = object[key];
3216 }
3217 });
3218 return result;
3219});
3220
3221/***/ }),
3222/* 106 */
3223/***/ (function(module, __webpack_exports__, __webpack_require__) {
3224
3225"use strict";
3226/* harmony default export */ __webpack_exports__["a"] = (function (func, wait, options) {
3227 var timeout, context, args, result;
3228 var previous = 0;
3229 if (!options) options = {};
3230
3231 var later = function () {
3232 previous = options.leading === false ? 0 : Date.now();
3233 timeout = null;
3234 result = func.apply(context, args);
3235 if (!timeout) context = args = null;
3236 };
3237
3238 var throttled = function () {
3239 var now = Date.now();
3240 if (!previous && options.leading === false) previous = now;
3241 var remaining = wait - (now - previous);
3242 context = this;
3243 args = arguments;
3244
3245 if (remaining <= 0 || remaining > wait) {
3246 if (timeout) {
3247 clearTimeout(timeout);
3248 timeout = null;
3249 }
3250
3251 previous = now;
3252 result = func.apply(context, args);
3253 if (!timeout) context = args = null;
3254 } else if (!timeout && options.trailing !== false) {
3255 timeout = setTimeout(later, remaining);
3256 }
3257
3258 return result;
3259 };
3260
3261 throttled.cancel = function () {
3262 clearTimeout(timeout);
3263 previous = 0;
3264 timeout = context = args = null;
3265 };
3266
3267 return throttled;
3268});
3269
3270/***/ }),
3271/* 107 */
3272/***/ (function(module, __webpack_exports__, __webpack_require__) {
3273
3274"use strict";
3275/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_array_like__ = __webpack_require__(1);
3276
3277/* harmony default export */ __webpack_exports__["a"] = (function (value) {
3278 return Object(__WEBPACK_IMPORTED_MODULE_0__is_array_like__["a" /* default */])(value) ? Array.prototype.slice.call(value) : [];
3279});
3280
3281/***/ }),
3282/* 108 */
3283/***/ (function(module, __webpack_exports__, __webpack_require__) {
3284
3285"use strict";
3286var map = {};
3287/* harmony default export */ __webpack_exports__["a"] = (function (prefix) {
3288 prefix = prefix || 'g';
3289
3290 if (!map[prefix]) {
3291 map[prefix] = 1;
3292 } else {
3293 map[prefix] += 1;
3294 }
3295
3296 return prefix + map[prefix];
3297});
3298
3299/***/ }),
3300/* 109 */
3301/***/ (function(module, __webpack_exports__, __webpack_require__) {
3302
3303"use strict";
3304/* harmony default export */ __webpack_exports__["a"] = (function () {});
3305
3306/***/ }),
3307/* 110 */
3308/***/ (function(module, __webpack_exports__, __webpack_require__) {
3309
3310"use strict";
3311/* harmony default export */ __webpack_exports__["a"] = (function (v) {
3312 return v;
3313});
3314
3315/***/ }),
3316/* 111 */
3317/***/ (function(module, __webpack_exports__, __webpack_require__) {
3318
3319"use strict";
3320/* harmony export (immutable) */ __webpack_exports__["a"] = size;
3321/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__is_nil__ = __webpack_require__(6);
3322/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__is_array_like__ = __webpack_require__(1);
3323
3324
3325function size(o) {
3326 if (Object(__WEBPACK_IMPORTED_MODULE_0__is_nil__["a" /* default */])(o)) {
3327 return 0;
3328 }
3329
3330 if (Object(__WEBPACK_IMPORTED_MODULE_1__is_array_like__["a" /* default */])(o)) {
3331 return o.length;
3332 }
3333
3334 return Object.keys(o).length;
3335}
3336
3337/***/ }),
3338/* 112 */
3339/***/ (function(module, __webpack_exports__, __webpack_require__) {
3340
3341"use strict";
3342/**
3343 * k-v 存储
3344 */
3345var default_1 =
3346/** @class */
3347function () {
3348 function default_1() {
3349 this.map = {};
3350 }
3351
3352 default_1.prototype.has = function (key) {
3353 return this.map[key] !== undefined;
3354 };
3355
3356 default_1.prototype.get = function (key, def) {
3357 var v = this.map[key];
3358 return v === undefined ? def : v;
3359 };
3360
3361 default_1.prototype.set = function (key, value) {
3362 this.map[key] = value;
3363 };
3364
3365 default_1.prototype.clear = function () {
3366 this.map = {};
3367 };
3368
3369 default_1.prototype.delete = function (key) {
3370 delete this.map[key];
3371 };
3372
3373 default_1.prototype.size = function () {
3374 return Object.keys(this.map).length;
3375 };
3376
3377 return default_1;
3378}();
3379
3380/* harmony default export */ __webpack_exports__["a"] = (default_1);
3381
3382/***/ }),
3383/* 113 */
3384/***/ (function(module, exports) {
3385
3386// wrap tree node
3387function WrappedTree(w, h, y, c) {
3388 if (c === void 0) {
3389 c = [];
3390 }
3391
3392 var me = this; // size
3393
3394 me.w = w || 0;
3395 me.h = h || 0; // position
3396
3397 me.y = y || 0;
3398 me.x = 0; // children
3399
3400 me.c = c || [];
3401 me.cs = c.length; // modified
3402
3403 me.prelim = 0;
3404 me.mod = 0;
3405 me.shift = 0;
3406 me.change = 0; // left/right tree
3407
3408 me.tl = null;
3409 me.tr = null; // extreme left/right tree
3410
3411 me.el = null;
3412 me.er = null; // modified left/right tree
3413
3414 me.msel = 0;
3415 me.mser = 0;
3416}
3417
3418WrappedTree.fromNode = function (root, isHorizontal) {
3419 if (!root) return null;
3420 var children = [];
3421 root.children.forEach(function (child) {
3422 children.push(WrappedTree.fromNode(child, isHorizontal));
3423 });
3424 if (isHorizontal) return new WrappedTree(root.height, root.width, root.x, children);
3425 return new WrappedTree(root.width, root.height, root.y, children);
3426}; // node utils
3427
3428
3429function moveRight(node, move, isHorizontal) {
3430 if (isHorizontal) {
3431 node.y += move;
3432 } else {
3433 node.x += move;
3434 }
3435
3436 node.children.forEach(function (child) {
3437 moveRight(child, move, isHorizontal);
3438 });
3439}
3440
3441function getMin(node, isHorizontal) {
3442 var res = isHorizontal ? node.y : node.x;
3443 node.children.forEach(function (child) {
3444 res = Math.min(getMin(child, isHorizontal), res);
3445 });
3446 return res;
3447}
3448
3449function normalize(node, isHorizontal) {
3450 var min = getMin(node, isHorizontal);
3451 moveRight(node, -min, isHorizontal);
3452}
3453
3454function convertBack(converted
3455/* WrappedTree */
3456, root
3457/* TreeNode */
3458, isHorizontal) {
3459 if (isHorizontal) {
3460 root.y = converted.x;
3461 } else {
3462 root.x = converted.x;
3463 }
3464
3465 converted.c.forEach(function (child, i) {
3466 convertBack(child, root.children[i], isHorizontal);
3467 });
3468}
3469
3470function layer(node, isHorizontal, d) {
3471 if (d === void 0) {
3472 d = 0;
3473 }
3474
3475 if (isHorizontal) {
3476 node.x = d;
3477 d += node.width;
3478 } else {
3479 node.y = d;
3480 d += node.height;
3481 }
3482
3483 node.children.forEach(function (child) {
3484 layer(child, isHorizontal, d);
3485 });
3486}
3487
3488module.exports = function (root, options) {
3489 if (options === void 0) {
3490 options = {};
3491 }
3492
3493 var isHorizontal = options.isHorizontal;
3494
3495 function firstWalk(t) {
3496 if (t.cs === 0) {
3497 setExtremes(t);
3498 return;
3499 }
3500
3501 firstWalk(t.c[0]);
3502 var ih = updateIYL(bottom(t.c[0].el), 0, null);
3503
3504 for (var i = 1; i < t.cs; ++i) {
3505 firstWalk(t.c[i]);
3506 var min = bottom(t.c[i].er);
3507 separate(t, i, ih);
3508 ih = updateIYL(min, i, ih);
3509 }
3510
3511 positionRoot(t);
3512 setExtremes(t);
3513 }
3514
3515 function setExtremes(t) {
3516 if (t.cs === 0) {
3517 t.el = t;
3518 t.er = t;
3519 t.msel = t.mser = 0;
3520 } else {
3521 t.el = t.c[0].el;
3522 t.msel = t.c[0].msel;
3523 t.er = t.c[t.cs - 1].er;
3524 t.mser = t.c[t.cs - 1].mser;
3525 }
3526 }
3527
3528 function separate(t, i, ih) {
3529 var sr = t.c[i - 1];
3530 var mssr = sr.mod;
3531 var cl = t.c[i];
3532 var mscl = cl.mod;
3533
3534 while (sr !== null && cl !== null) {
3535 if (bottom(sr) > ih.low) ih = ih.nxt;
3536 var dist = mssr + sr.prelim + sr.w - (mscl + cl.prelim);
3537
3538 if (dist > 0) {
3539 mscl += dist;
3540 moveSubtree(t, i, ih.index, dist);
3541 }
3542
3543 var sy = bottom(sr);
3544 var cy = bottom(cl);
3545
3546 if (sy <= cy) {
3547 sr = nextRightContour(sr);
3548 if (sr !== null) mssr += sr.mod;
3549 }
3550
3551 if (sy >= cy) {
3552 cl = nextLeftContour(cl);
3553 if (cl !== null) mscl += cl.mod;
3554 }
3555 }
3556
3557 if (!sr && !!cl) {
3558 setLeftThread(t, i, cl, mscl);
3559 } else if (!!sr && !cl) {
3560 setRightThread(t, i, sr, mssr);
3561 }
3562 }
3563
3564 function moveSubtree(t, i, si, dist) {
3565 t.c[i].mod += dist;
3566 t.c[i].msel += dist;
3567 t.c[i].mser += dist;
3568 distributeExtra(t, i, si, dist);
3569 }
3570
3571 function nextLeftContour(t) {
3572 return t.cs === 0 ? t.tl : t.c[0];
3573 }
3574
3575 function nextRightContour(t) {
3576 return t.cs === 0 ? t.tr : t.c[t.cs - 1];
3577 }
3578
3579 function bottom(t) {
3580 return t.y + t.h;
3581 }
3582
3583 function setLeftThread(t, i, cl, modsumcl) {
3584 var li = t.c[0].el;
3585 li.tl = cl;
3586 var diff = modsumcl - cl.mod - t.c[0].msel;
3587 li.mod += diff;
3588 li.prelim -= diff;
3589 t.c[0].el = t.c[i].el;
3590 t.c[0].msel = t.c[i].msel;
3591 }
3592
3593 function setRightThread(t, i, sr, modsumsr) {
3594 var ri = t.c[i].er;
3595 ri.tr = sr;
3596 var diff = modsumsr - sr.mod - t.c[i].mser;
3597 ri.mod += diff;
3598 ri.prelim -= diff;
3599 t.c[i].er = t.c[i - 1].er;
3600 t.c[i].mser = t.c[i - 1].mser;
3601 }
3602
3603 function positionRoot(t) {
3604 t.prelim = (t.c[0].prelim + t.c[0].mod + t.c[t.cs - 1].mod + t.c[t.cs - 1].prelim + t.c[t.cs - 1].w) / 2 - t.w / 2;
3605 }
3606
3607 function secondWalk(t, modsum) {
3608 modsum += t.mod;
3609 t.x = t.prelim + modsum;
3610 addChildSpacing(t);
3611
3612 for (var i = 0; i < t.cs; i++) {
3613 secondWalk(t.c[i], modsum);
3614 }
3615 }
3616
3617 function distributeExtra(t, i, si, dist) {
3618 if (si !== i - 1) {
3619 var nr = i - si;
3620 t.c[si + 1].shift += dist / nr;
3621 t.c[i].shift -= dist / nr;
3622 t.c[i].change -= dist - dist / nr;
3623 }
3624 }
3625
3626 function addChildSpacing(t) {
3627 var d = 0;
3628 var modsumdelta = 0;
3629
3630 for (var i = 0; i < t.cs; i++) {
3631 d += t.c[i].shift;
3632 modsumdelta += d + t.c[i].change;
3633 t.c[i].mod += modsumdelta;
3634 }
3635 }
3636
3637 function updateIYL(low, index, ih) {
3638 while (ih !== null && low >= ih.low) {
3639 ih = ih.nxt;
3640 }
3641
3642 return {
3643 low: low,
3644 index: index,
3645 nxt: ih
3646 };
3647 } // do layout
3648
3649
3650 layer(root, isHorizontal);
3651 var wt = WrappedTree.fromNode(root, isHorizontal);
3652 firstWalk(wt);
3653 secondWalk(wt, 0);
3654 convertBack(wt, root, isHorizontal);
3655 normalize(root, isHorizontal);
3656 return root;
3657};
3658
3659/***/ }),
3660/* 114 */
3661/***/ (function(module, exports, __webpack_require__) {
3662
3663function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
3664
3665var TreeLayout = __webpack_require__(11);
3666
3667var dendrogram = __webpack_require__(115);
3668
3669var doTreeLayout = __webpack_require__(17);
3670
3671var util = __webpack_require__(7);
3672
3673var DendrogramLayout = /*#__PURE__*/function (_TreeLayout) {
3674 _inheritsLoose(DendrogramLayout, _TreeLayout);
3675
3676 function DendrogramLayout() {
3677 return _TreeLayout.apply(this, arguments) || this;
3678 }
3679
3680 var _proto = DendrogramLayout.prototype;
3681
3682 _proto.execute = function execute() {
3683 var me = this;
3684 me.rootNode.width = 0;
3685 return doTreeLayout(me.rootNode, me.options, dendrogram);
3686 };
3687
3688 return DendrogramLayout;
3689}(TreeLayout);
3690
3691var DEFAULT_OPTIONS = {};
3692
3693function dendrogramLayout(root, options) {
3694 options = util.assign({}, DEFAULT_OPTIONS, options);
3695 return new DendrogramLayout(root, options).execute();
3696}
3697
3698module.exports = dendrogramLayout;
3699
3700/***/ }),
3701/* 115 */
3702/***/ (function(module, exports, __webpack_require__) {
3703
3704// wrap tree node
3705// TODO considering size
3706var util = __webpack_require__(7);
3707
3708function WrappedTree(height, children) {
3709 if (height === void 0) {
3710 height = 0;
3711 }
3712
3713 if (children === void 0) {
3714 children = [];
3715 }
3716
3717 var me = this;
3718 me.x = me.y = 0;
3719 me.leftChild = me.rightChild = null;
3720 me.height = 0;
3721 me.children = children;
3722}
3723
3724var DEFAULT_OPTIONS = {
3725 isHorizontal: true,
3726 nodeSep: 20,
3727 nodeSize: 20,
3728 rankSep: 200,
3729 subTreeSep: 10
3730};
3731
3732function convertBack(converted
3733/* WrappedTree */
3734, root
3735/* TreeNode */
3736, isHorizontal) {
3737 if (isHorizontal) {
3738 root.x = converted.x;
3739 root.y = converted.y;
3740 } else {
3741 root.x = converted.y;
3742 root.y = converted.x;
3743 }
3744
3745 converted.children.forEach(function (child, i) {
3746 convertBack(child, root.children[i], isHorizontal);
3747 });
3748}
3749
3750module.exports = function (root, options) {
3751 if (options === void 0) {
3752 options = {};
3753 }
3754
3755 options = util.assign({}, DEFAULT_OPTIONS, options);
3756 var maxDepth = 0;
3757
3758 function wrappedTreeFromNode(n) {
3759 if (!n) return null;
3760 n.width = 0;
3761
3762 if (n.depth && n.depth > maxDepth) {
3763 maxDepth = n.depth; // get the max depth
3764 }
3765
3766 var children = n.children;
3767 var childrenCount = children.length;
3768 var t = new WrappedTree(n.height, []);
3769 children.forEach(function (child, i) {
3770 var childWT = wrappedTreeFromNode(child);
3771 t.children.push(childWT);
3772
3773 if (i === 0) {
3774 // t.leftChild = childWT.leftChild ? childWT.leftChild : childWT
3775 t.leftChild = childWT;
3776 }
3777
3778 if (i === childrenCount - 1) {
3779 // t.rightChild = childWT.rightChild ? childWT.rightChild : childWT
3780 t.rightChild = childWT;
3781 }
3782 });
3783 t.originNode = n;
3784 t.isLeaf = n.isLeaf();
3785 return t;
3786 }
3787
3788 function getDrawingDepth(t) {
3789 if (t.isLeaf || t.children.length === 0) {
3790 t.drawingDepth = maxDepth;
3791 } else {
3792 var depths = t.children.map(function (child) {
3793 return getDrawingDepth(child);
3794 });
3795 var minChildDepth = Math.min.apply(null, depths);
3796 t.drawingDepth = minChildDepth - 1;
3797 }
3798
3799 return t.drawingDepth;
3800 }
3801
3802 var prevLeaf;
3803
3804 function position(t) {
3805 t.x = t.drawingDepth * options.rankSep;
3806
3807 if (t.isLeaf) {
3808 t.y = 0;
3809
3810 if (prevLeaf) {
3811 t.y = prevLeaf.y + prevLeaf.height + options.nodeSep;
3812
3813 if (t.originNode.parent !== prevLeaf.originNode.parent) {
3814 t.y += options.subTreeSep;
3815 }
3816 }
3817
3818 prevLeaf = t;
3819 } else {
3820 t.children.forEach(function (child) {
3821 position(child);
3822 });
3823 t.y = (t.leftChild.y + t.rightChild.y) / 2;
3824 }
3825 } // wrap node
3826
3827
3828 var wt = wrappedTreeFromNode(root); // get depth for drawing
3829
3830 getDrawingDepth(wt); // get position
3831
3832 position(wt); // get x, y
3833
3834 convertBack(wt, root, options.isHorizontal);
3835 return root;
3836};
3837
3838/***/ }),
3839/* 116 */
3840/***/ (function(module, exports, __webpack_require__) {
3841
3842function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
3843
3844var TreeLayout = __webpack_require__(11);
3845
3846var indentedTree = __webpack_require__(117);
3847
3848var separateTree = __webpack_require__(30);
3849
3850var util = __webpack_require__(7);
3851
3852var VALID_DIRECTIONS = ['LR', // left to right
3853'RL', // right to left
3854'H' // horizontal
3855];
3856var DEFAULT_DIRECTION = VALID_DIRECTIONS[0];
3857
3858var IndentedLayout = /*#__PURE__*/function (_TreeLayout) {
3859 _inheritsLoose(IndentedLayout, _TreeLayout);
3860
3861 function IndentedLayout() {
3862 return _TreeLayout.apply(this, arguments) || this;
3863 }
3864
3865 var _proto = IndentedLayout.prototype;
3866
3867 _proto.execute = function execute() {
3868 var me = this;
3869 var options = me.options;
3870 var root = me.rootNode;
3871 options.isHorizontal = true; // default indent 20 and sink first children;
3872
3873 var _options$indent = options.indent,
3874 indent = _options$indent === void 0 ? 20 : _options$indent,
3875 _options$dropCap = options.dropCap,
3876 dropCap = _options$dropCap === void 0 ? true : _options$dropCap;
3877 var direction = options.direction || DEFAULT_DIRECTION;
3878
3879 if (direction && VALID_DIRECTIONS.indexOf(direction) === -1) {
3880 throw new TypeError("Invalid direction: " + direction);
3881 }
3882
3883 if (direction === VALID_DIRECTIONS[0]) {
3884 // LR
3885 indentedTree(root, indent, dropCap);
3886 } else if (direction === VALID_DIRECTIONS[1]) {
3887 // RL
3888 indentedTree(root, indent, dropCap);
3889 root.right2left();
3890 } else if (direction === VALID_DIRECTIONS[2]) {
3891 // H
3892 // separate into left and right trees
3893 var _separateTree = separateTree(root, options),
3894 left = _separateTree.left,
3895 right = _separateTree.right;
3896
3897 indentedTree(left, indent, dropCap);
3898 left.right2left();
3899 indentedTree(right, indent, dropCap);
3900 var bbox = left.getBoundingBox();
3901 right.translate(bbox.width, 0);
3902 root.x = right.x - root.width / 2;
3903 }
3904
3905 return root;
3906 };
3907
3908 return IndentedLayout;
3909}(TreeLayout);
3910
3911var DEFAULT_OPTIONS = {};
3912
3913function indentedLayout(root, options) {
3914 options = util.assign({}, DEFAULT_OPTIONS, options);
3915 return new IndentedLayout(root, options).execute();
3916}
3917
3918module.exports = indentedLayout;
3919
3920/***/ }),
3921/* 117 */
3922/***/ (function(module, exports) {
3923
3924function positionNode(node, previousNode, dx, dropCap) {
3925 if (!dropCap) {
3926 try {
3927 if (node.id === node.parent.children[0].id) {
3928 node.x += dx * node.depth;
3929 node.y = previousNode ? previousNode.y : 0;
3930 return;
3931 }
3932 } catch (e) {// skip to normal when a node has no parent
3933 }
3934 }
3935
3936 node.x += dx * node.depth;
3937 node.y = previousNode ? previousNode.y + previousNode.height : 0;
3938 return;
3939}
3940
3941module.exports = function (root, indent, dropCap) {
3942 var previousNode = null;
3943 root.eachNode(function (node) {
3944 positionNode(node, previousNode, indent, dropCap);
3945 previousNode = node;
3946 });
3947};
3948
3949/***/ }),
3950/* 118 */
3951/***/ (function(module, exports, __webpack_require__) {
3952
3953function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
3954
3955var TreeLayout = __webpack_require__(11);
3956
3957var mindmap = __webpack_require__(119);
3958
3959var doTreeLayout = __webpack_require__(17);
3960
3961var util = __webpack_require__(7);
3962
3963var MindmapLayout = /*#__PURE__*/function (_TreeLayout) {
3964 _inheritsLoose(MindmapLayout, _TreeLayout);
3965
3966 function MindmapLayout() {
3967 return _TreeLayout.apply(this, arguments) || this;
3968 }
3969
3970 var _proto = MindmapLayout.prototype;
3971
3972 _proto.execute = function execute() {
3973 var me = this;
3974 return doTreeLayout(me.rootNode, me.options, mindmap);
3975 };
3976
3977 return MindmapLayout;
3978}(TreeLayout);
3979
3980var DEFAULT_OPTIONS = {};
3981
3982function mindmapLayout(root, options) {
3983 options = util.assign({}, DEFAULT_OPTIONS, options);
3984 return new MindmapLayout(root, options).execute();
3985}
3986
3987module.exports = mindmapLayout;
3988
3989/***/ }),
3990/* 119 */
3991/***/ (function(module, exports, __webpack_require__) {
3992
3993var util = __webpack_require__(7);
3994
3995function secondWalk(node, options) {
3996 var totalHeight = 0;
3997
3998 if (!node.children.length) {
3999 totalHeight = node.height;
4000 } else {
4001 node.children.forEach(function (c) {
4002 totalHeight += secondWalk(c, options);
4003 });
4004 }
4005
4006 node._subTreeSep = options.getSubTreeSep(node.data);
4007 node.totalHeight = Math.max(node.height, totalHeight) + 2 * node._subTreeSep;
4008 return node.totalHeight;
4009}
4010
4011function thirdWalk(node) {
4012 var children = node.children;
4013 var len = children.length;
4014
4015 if (len) {
4016 children.forEach(function (c) {
4017 thirdWalk(c);
4018 });
4019 var first = children[0];
4020 var last = children[len - 1];
4021 var childrenHeight = last.y - first.y + last.height;
4022 var childrenTotalHeight = 0;
4023 children.forEach(function (child) {
4024 childrenTotalHeight += child.totalHeight;
4025 });
4026
4027 if (childrenHeight > node.height) {
4028 // 当子节点总高度大于父节点高度
4029 node.y = first.y + childrenHeight / 2 - node.height / 2;
4030 } else if (children.length !== 1 || node.height > childrenTotalHeight) {
4031 // 多于一个子节点或者父节点大于所有子节点的总高度
4032 var offset = node.y + (node.height - childrenHeight) / 2 - first.y;
4033 children.forEach(function (c) {
4034 c.translate(0, offset);
4035 });
4036 } else {
4037 // 只有一个子节点
4038 node.y = (first.y + first.height / 2 + last.y + last.height / 2) / 2 - node.height / 2;
4039 }
4040 }
4041}
4042
4043var DEFAULT_OPTIONS = {
4044 getSubTreeSep: function getSubTreeSep() {
4045 return 0;
4046 }
4047};
4048
4049module.exports = function (root, options) {
4050 if (options === void 0) {
4051 options = {};
4052 }
4053
4054 options = util.assign({}, DEFAULT_OPTIONS, options);
4055 root.parent = {
4056 x: 0,
4057 width: 0,
4058 height: 0,
4059 y: 0
4060 }; // first walk
4061
4062 root.BFTraverse(function (node) {
4063 node.x = node.parent.x + node.parent.width; // simply get x
4064 });
4065 root.parent = null; // second walk
4066
4067 secondWalk(root, options); // assign sub tree totalHeight
4068 // adjusting
4069 // separating nodes
4070
4071 root.startY = 0;
4072 root.y = root.totalHeight / 2 - root.height / 2;
4073 root.eachNode(function (node) {
4074 var children = node.children;
4075 var len = children.length;
4076
4077 if (len) {
4078 var first = children[0];
4079 first.startY = node.startY + node._subTreeSep;
4080
4081 if (len === 1) {
4082 first.y = node.y + node.height / 2 - first.height / 2;
4083 } else {
4084 first.y = first.startY + first.totalHeight / 2 - first.height / 2;
4085
4086 for (var i = 1; i < len; i++) {
4087 var c = children[i];
4088 c.startY = children[i - 1].startY + children[i - 1].totalHeight;
4089 c.y = c.startY + c.totalHeight / 2 - c.height / 2;
4090 }
4091 }
4092 }
4093 }); // third walk
4094
4095 thirdWalk(root);
4096};
4097
4098/***/ })
4099/******/ ]);
4100});
4101//# sourceMappingURL=hierarchy.js.map
\No newline at end of file