@fluentui/react-charting 4.23.7 → 4.23.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3115,6 +3115,1720 @@ __webpack_require__.r(__webpack_exports__);
3115
3115
  });
3116
3116
 
3117
3117
 
3118
+ /***/ }),
3119
+
3120
+ /***/ "../../node_modules/d3-hierarchy/src/accessors.js":
3121
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3122
+
3123
+ "use strict";
3124
+ __webpack_require__.r(__webpack_exports__);
3125
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "optional", function() { return optional; });
3126
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "required", function() { return required; });
3127
+ function optional(f) {
3128
+ return f == null ? null : required(f);
3129
+ }
3130
+
3131
+ function required(f) {
3132
+ if (typeof f !== "function") throw new Error;
3133
+ return f;
3134
+ }
3135
+
3136
+
3137
+ /***/ }),
3138
+
3139
+ /***/ "../../node_modules/d3-hierarchy/src/array.js":
3140
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3141
+
3142
+ "use strict";
3143
+ __webpack_require__.r(__webpack_exports__);
3144
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "shuffle", function() { return shuffle; });
3145
+ /* harmony default export */ __webpack_exports__["default"] = (function(x) {
3146
+ return typeof x === "object" && "length" in x
3147
+ ? x // Array, TypedArray, NodeList, array-like
3148
+ : Array.from(x); // Map, Set, iterable, string, or anything else
3149
+ });
3150
+
3151
+ function shuffle(array) {
3152
+ var m = array.length,
3153
+ t,
3154
+ i;
3155
+
3156
+ while (m) {
3157
+ i = Math.random() * m-- | 0;
3158
+ t = array[m];
3159
+ array[m] = array[i];
3160
+ array[i] = t;
3161
+ }
3162
+
3163
+ return array;
3164
+ }
3165
+
3166
+
3167
+ /***/ }),
3168
+
3169
+ /***/ "../../node_modules/d3-hierarchy/src/cluster.js":
3170
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3171
+
3172
+ "use strict";
3173
+ __webpack_require__.r(__webpack_exports__);
3174
+ function defaultSeparation(a, b) {
3175
+ return a.parent === b.parent ? 1 : 2;
3176
+ }
3177
+
3178
+ function meanX(children) {
3179
+ return children.reduce(meanXReduce, 0) / children.length;
3180
+ }
3181
+
3182
+ function meanXReduce(x, c) {
3183
+ return x + c.x;
3184
+ }
3185
+
3186
+ function maxY(children) {
3187
+ return 1 + children.reduce(maxYReduce, 0);
3188
+ }
3189
+
3190
+ function maxYReduce(y, c) {
3191
+ return Math.max(y, c.y);
3192
+ }
3193
+
3194
+ function leafLeft(node) {
3195
+ var children;
3196
+ while (children = node.children) node = children[0];
3197
+ return node;
3198
+ }
3199
+
3200
+ function leafRight(node) {
3201
+ var children;
3202
+ while (children = node.children) node = children[children.length - 1];
3203
+ return node;
3204
+ }
3205
+
3206
+ /* harmony default export */ __webpack_exports__["default"] = (function() {
3207
+ var separation = defaultSeparation,
3208
+ dx = 1,
3209
+ dy = 1,
3210
+ nodeSize = false;
3211
+
3212
+ function cluster(root) {
3213
+ var previousNode,
3214
+ x = 0;
3215
+
3216
+ // First walk, computing the initial x & y values.
3217
+ root.eachAfter(function(node) {
3218
+ var children = node.children;
3219
+ if (children) {
3220
+ node.x = meanX(children);
3221
+ node.y = maxY(children);
3222
+ } else {
3223
+ node.x = previousNode ? x += separation(node, previousNode) : 0;
3224
+ node.y = 0;
3225
+ previousNode = node;
3226
+ }
3227
+ });
3228
+
3229
+ var left = leafLeft(root),
3230
+ right = leafRight(root),
3231
+ x0 = left.x - separation(left, right) / 2,
3232
+ x1 = right.x + separation(right, left) / 2;
3233
+
3234
+ // Second walk, normalizing x & y to the desired size.
3235
+ return root.eachAfter(nodeSize ? function(node) {
3236
+ node.x = (node.x - root.x) * dx;
3237
+ node.y = (root.y - node.y) * dy;
3238
+ } : function(node) {
3239
+ node.x = (node.x - x0) / (x1 - x0) * dx;
3240
+ node.y = (1 - (root.y ? node.y / root.y : 1)) * dy;
3241
+ });
3242
+ }
3243
+
3244
+ cluster.separation = function(x) {
3245
+ return arguments.length ? (separation = x, cluster) : separation;
3246
+ };
3247
+
3248
+ cluster.size = function(x) {
3249
+ return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? null : [dx, dy]);
3250
+ };
3251
+
3252
+ cluster.nodeSize = function(x) {
3253
+ return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], cluster) : (nodeSize ? [dx, dy] : null);
3254
+ };
3255
+
3256
+ return cluster;
3257
+ });
3258
+
3259
+
3260
+ /***/ }),
3261
+
3262
+ /***/ "../../node_modules/d3-hierarchy/src/constant.js":
3263
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3264
+
3265
+ "use strict";
3266
+ __webpack_require__.r(__webpack_exports__);
3267
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "constantZero", function() { return constantZero; });
3268
+ function constantZero() {
3269
+ return 0;
3270
+ }
3271
+
3272
+ /* harmony default export */ __webpack_exports__["default"] = (function(x) {
3273
+ return function() {
3274
+ return x;
3275
+ };
3276
+ });
3277
+
3278
+
3279
+ /***/ }),
3280
+
3281
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/ancestors.js":
3282
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3283
+
3284
+ "use strict";
3285
+ __webpack_require__.r(__webpack_exports__);
3286
+ /* harmony default export */ __webpack_exports__["default"] = (function() {
3287
+ var node = this, nodes = [node];
3288
+ while (node = node.parent) {
3289
+ nodes.push(node);
3290
+ }
3291
+ return nodes;
3292
+ });
3293
+
3294
+
3295
+ /***/ }),
3296
+
3297
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/count.js":
3298
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3299
+
3300
+ "use strict";
3301
+ __webpack_require__.r(__webpack_exports__);
3302
+ function count(node) {
3303
+ var sum = 0,
3304
+ children = node.children,
3305
+ i = children && children.length;
3306
+ if (!i) sum = 1;
3307
+ else while (--i >= 0) sum += children[i].value;
3308
+ node.value = sum;
3309
+ }
3310
+
3311
+ /* harmony default export */ __webpack_exports__["default"] = (function() {
3312
+ return this.eachAfter(count);
3313
+ });
3314
+
3315
+
3316
+ /***/ }),
3317
+
3318
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/descendants.js":
3319
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3320
+
3321
+ "use strict";
3322
+ __webpack_require__.r(__webpack_exports__);
3323
+ /* harmony default export */ __webpack_exports__["default"] = (function() {
3324
+ return Array.from(this);
3325
+ });
3326
+
3327
+
3328
+ /***/ }),
3329
+
3330
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/each.js":
3331
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3332
+
3333
+ "use strict";
3334
+ __webpack_require__.r(__webpack_exports__);
3335
+ /* harmony default export */ __webpack_exports__["default"] = (function(callback, that) {
3336
+ let index = -1;
3337
+ for (const node of this) {
3338
+ callback.call(that, node, ++index, this);
3339
+ }
3340
+ return this;
3341
+ });
3342
+
3343
+
3344
+ /***/ }),
3345
+
3346
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/eachAfter.js":
3347
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3348
+
3349
+ "use strict";
3350
+ __webpack_require__.r(__webpack_exports__);
3351
+ /* harmony default export */ __webpack_exports__["default"] = (function(callback, that) {
3352
+ var node = this, nodes = [node], next = [], children, i, n, index = -1;
3353
+ while (node = nodes.pop()) {
3354
+ next.push(node);
3355
+ if (children = node.children) {
3356
+ for (i = 0, n = children.length; i < n; ++i) {
3357
+ nodes.push(children[i]);
3358
+ }
3359
+ }
3360
+ }
3361
+ while (node = next.pop()) {
3362
+ callback.call(that, node, ++index, this);
3363
+ }
3364
+ return this;
3365
+ });
3366
+
3367
+
3368
+ /***/ }),
3369
+
3370
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/eachBefore.js":
3371
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3372
+
3373
+ "use strict";
3374
+ __webpack_require__.r(__webpack_exports__);
3375
+ /* harmony default export */ __webpack_exports__["default"] = (function(callback, that) {
3376
+ var node = this, nodes = [node], children, i, index = -1;
3377
+ while (node = nodes.pop()) {
3378
+ callback.call(that, node, ++index, this);
3379
+ if (children = node.children) {
3380
+ for (i = children.length - 1; i >= 0; --i) {
3381
+ nodes.push(children[i]);
3382
+ }
3383
+ }
3384
+ }
3385
+ return this;
3386
+ });
3387
+
3388
+
3389
+ /***/ }),
3390
+
3391
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/find.js":
3392
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3393
+
3394
+ "use strict";
3395
+ __webpack_require__.r(__webpack_exports__);
3396
+ /* harmony default export */ __webpack_exports__["default"] = (function(callback, that) {
3397
+ let index = -1;
3398
+ for (const node of this) {
3399
+ if (callback.call(that, node, ++index, this)) {
3400
+ return node;
3401
+ }
3402
+ }
3403
+ });
3404
+
3405
+
3406
+ /***/ }),
3407
+
3408
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/index.js":
3409
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3410
+
3411
+ "use strict";
3412
+ __webpack_require__.r(__webpack_exports__);
3413
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return hierarchy; });
3414
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "computeHeight", function() { return computeHeight; });
3415
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Node", function() { return Node; });
3416
+ /* harmony import */ var _count_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/count.js");
3417
+ /* harmony import */ var _each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/each.js");
3418
+ /* harmony import */ var _eachBefore_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/eachBefore.js");
3419
+ /* harmony import */ var _eachAfter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/eachAfter.js");
3420
+ /* harmony import */ var _find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/find.js");
3421
+ /* harmony import */ var _sum_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/sum.js");
3422
+ /* harmony import */ var _sort_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/sort.js");
3423
+ /* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/path.js");
3424
+ /* harmony import */ var _ancestors_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/ancestors.js");
3425
+ /* harmony import */ var _descendants_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/descendants.js");
3426
+ /* harmony import */ var _leaves_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/leaves.js");
3427
+ /* harmony import */ var _links_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/links.js");
3428
+ /* harmony import */ var _iterator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/iterator.js");
3429
+
3430
+
3431
+
3432
+
3433
+
3434
+
3435
+
3436
+
3437
+
3438
+
3439
+
3440
+
3441
+
3442
+
3443
+ function hierarchy(data, children) {
3444
+ if (data instanceof Map) {
3445
+ data = [undefined, data];
3446
+ if (children === undefined) children = mapChildren;
3447
+ } else if (children === undefined) {
3448
+ children = objectChildren;
3449
+ }
3450
+
3451
+ var root = new Node(data),
3452
+ node,
3453
+ nodes = [root],
3454
+ child,
3455
+ childs,
3456
+ i,
3457
+ n;
3458
+
3459
+ while (node = nodes.pop()) {
3460
+ if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) {
3461
+ node.children = childs;
3462
+ for (i = n - 1; i >= 0; --i) {
3463
+ nodes.push(child = childs[i] = new Node(childs[i]));
3464
+ child.parent = node;
3465
+ child.depth = node.depth + 1;
3466
+ }
3467
+ }
3468
+ }
3469
+
3470
+ return root.eachBefore(computeHeight);
3471
+ }
3472
+
3473
+ function node_copy() {
3474
+ return hierarchy(this).eachBefore(copyData);
3475
+ }
3476
+
3477
+ function objectChildren(d) {
3478
+ return d.children;
3479
+ }
3480
+
3481
+ function mapChildren(d) {
3482
+ return Array.isArray(d) ? d[1] : null;
3483
+ }
3484
+
3485
+ function copyData(node) {
3486
+ if (node.data.value !== undefined) node.value = node.data.value;
3487
+ node.data = node.data.data;
3488
+ }
3489
+
3490
+ function computeHeight(node) {
3491
+ var height = 0;
3492
+ do node.height = height;
3493
+ while ((node = node.parent) && (node.height < ++height));
3494
+ }
3495
+
3496
+ function Node(data) {
3497
+ this.data = data;
3498
+ this.depth =
3499
+ this.height = 0;
3500
+ this.parent = null;
3501
+ }
3502
+
3503
+ Node.prototype = hierarchy.prototype = {
3504
+ constructor: Node,
3505
+ count: _count_js__WEBPACK_IMPORTED_MODULE_0__["default"],
3506
+ each: _each_js__WEBPACK_IMPORTED_MODULE_1__["default"],
3507
+ eachAfter: _eachAfter_js__WEBPACK_IMPORTED_MODULE_3__["default"],
3508
+ eachBefore: _eachBefore_js__WEBPACK_IMPORTED_MODULE_2__["default"],
3509
+ find: _find_js__WEBPACK_IMPORTED_MODULE_4__["default"],
3510
+ sum: _sum_js__WEBPACK_IMPORTED_MODULE_5__["default"],
3511
+ sort: _sort_js__WEBPACK_IMPORTED_MODULE_6__["default"],
3512
+ path: _path_js__WEBPACK_IMPORTED_MODULE_7__["default"],
3513
+ ancestors: _ancestors_js__WEBPACK_IMPORTED_MODULE_8__["default"],
3514
+ descendants: _descendants_js__WEBPACK_IMPORTED_MODULE_9__["default"],
3515
+ leaves: _leaves_js__WEBPACK_IMPORTED_MODULE_10__["default"],
3516
+ links: _links_js__WEBPACK_IMPORTED_MODULE_11__["default"],
3517
+ copy: node_copy,
3518
+ [Symbol.iterator]: _iterator_js__WEBPACK_IMPORTED_MODULE_12__["default"]
3519
+ };
3520
+
3521
+
3522
+ /***/ }),
3523
+
3524
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/iterator.js":
3525
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3526
+
3527
+ "use strict";
3528
+ __webpack_require__.r(__webpack_exports__);
3529
+ /* harmony default export */ __webpack_exports__["default"] = (function*() {
3530
+ var node = this, current, next = [node], children, i, n;
3531
+ do {
3532
+ current = next.reverse(), next = [];
3533
+ while (node = current.pop()) {
3534
+ yield node;
3535
+ if (children = node.children) {
3536
+ for (i = 0, n = children.length; i < n; ++i) {
3537
+ next.push(children[i]);
3538
+ }
3539
+ }
3540
+ }
3541
+ } while (next.length);
3542
+ });
3543
+
3544
+
3545
+ /***/ }),
3546
+
3547
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/leaves.js":
3548
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3549
+
3550
+ "use strict";
3551
+ __webpack_require__.r(__webpack_exports__);
3552
+ /* harmony default export */ __webpack_exports__["default"] = (function() {
3553
+ var leaves = [];
3554
+ this.eachBefore(function(node) {
3555
+ if (!node.children) {
3556
+ leaves.push(node);
3557
+ }
3558
+ });
3559
+ return leaves;
3560
+ });
3561
+
3562
+
3563
+ /***/ }),
3564
+
3565
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/links.js":
3566
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3567
+
3568
+ "use strict";
3569
+ __webpack_require__.r(__webpack_exports__);
3570
+ /* harmony default export */ __webpack_exports__["default"] = (function() {
3571
+ var root = this, links = [];
3572
+ root.each(function(node) {
3573
+ if (node !== root) { // Don’t include the root’s parent, if any.
3574
+ links.push({source: node.parent, target: node});
3575
+ }
3576
+ });
3577
+ return links;
3578
+ });
3579
+
3580
+
3581
+ /***/ }),
3582
+
3583
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/path.js":
3584
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3585
+
3586
+ "use strict";
3587
+ __webpack_require__.r(__webpack_exports__);
3588
+ /* harmony default export */ __webpack_exports__["default"] = (function(end) {
3589
+ var start = this,
3590
+ ancestor = leastCommonAncestor(start, end),
3591
+ nodes = [start];
3592
+ while (start !== ancestor) {
3593
+ start = start.parent;
3594
+ nodes.push(start);
3595
+ }
3596
+ var k = nodes.length;
3597
+ while (end !== ancestor) {
3598
+ nodes.splice(k, 0, end);
3599
+ end = end.parent;
3600
+ }
3601
+ return nodes;
3602
+ });
3603
+
3604
+ function leastCommonAncestor(a, b) {
3605
+ if (a === b) return a;
3606
+ var aNodes = a.ancestors(),
3607
+ bNodes = b.ancestors(),
3608
+ c = null;
3609
+ a = aNodes.pop();
3610
+ b = bNodes.pop();
3611
+ while (a === b) {
3612
+ c = a;
3613
+ a = aNodes.pop();
3614
+ b = bNodes.pop();
3615
+ }
3616
+ return c;
3617
+ }
3618
+
3619
+
3620
+ /***/ }),
3621
+
3622
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/sort.js":
3623
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3624
+
3625
+ "use strict";
3626
+ __webpack_require__.r(__webpack_exports__);
3627
+ /* harmony default export */ __webpack_exports__["default"] = (function(compare) {
3628
+ return this.eachBefore(function(node) {
3629
+ if (node.children) {
3630
+ node.children.sort(compare);
3631
+ }
3632
+ });
3633
+ });
3634
+
3635
+
3636
+ /***/ }),
3637
+
3638
+ /***/ "../../node_modules/d3-hierarchy/src/hierarchy/sum.js":
3639
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3640
+
3641
+ "use strict";
3642
+ __webpack_require__.r(__webpack_exports__);
3643
+ /* harmony default export */ __webpack_exports__["default"] = (function(value) {
3644
+ return this.eachAfter(function(node) {
3645
+ var sum = +value(node.data) || 0,
3646
+ children = node.children,
3647
+ i = children && children.length;
3648
+ while (--i >= 0) sum += children[i].value;
3649
+ node.value = sum;
3650
+ });
3651
+ });
3652
+
3653
+
3654
+ /***/ }),
3655
+
3656
+ /***/ "../../node_modules/d3-hierarchy/src/index.js":
3657
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3658
+
3659
+ "use strict";
3660
+ __webpack_require__.r(__webpack_exports__);
3661
+ /* harmony import */ var _cluster_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/d3-hierarchy/src/cluster.js");
3662
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "cluster", function() { return _cluster_js__WEBPACK_IMPORTED_MODULE_0__["default"]; });
3663
+
3664
+ /* harmony import */ var _hierarchy_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/index.js");
3665
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "hierarchy", function() { return _hierarchy_index_js__WEBPACK_IMPORTED_MODULE_1__["default"]; });
3666
+
3667
+ /* harmony import */ var _pack_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/d3-hierarchy/src/pack/index.js");
3668
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pack", function() { return _pack_index_js__WEBPACK_IMPORTED_MODULE_2__["default"]; });
3669
+
3670
+ /* harmony import */ var _pack_siblings_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../../node_modules/d3-hierarchy/src/pack/siblings.js");
3671
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "packSiblings", function() { return _pack_siblings_js__WEBPACK_IMPORTED_MODULE_3__["default"]; });
3672
+
3673
+ /* harmony import */ var _pack_enclose_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("../../node_modules/d3-hierarchy/src/pack/enclose.js");
3674
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "packEnclose", function() { return _pack_enclose_js__WEBPACK_IMPORTED_MODULE_4__["default"]; });
3675
+
3676
+ /* harmony import */ var _partition_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("../../node_modules/d3-hierarchy/src/partition.js");
3677
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "partition", function() { return _partition_js__WEBPACK_IMPORTED_MODULE_5__["default"]; });
3678
+
3679
+ /* harmony import */ var _stratify_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("../../node_modules/d3-hierarchy/src/stratify.js");
3680
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "stratify", function() { return _stratify_js__WEBPACK_IMPORTED_MODULE_6__["default"]; });
3681
+
3682
+ /* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("../../node_modules/d3-hierarchy/src/tree.js");
3683
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "tree", function() { return _tree_js__WEBPACK_IMPORTED_MODULE_7__["default"]; });
3684
+
3685
+ /* harmony import */ var _treemap_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/index.js");
3686
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "treemap", function() { return _treemap_index_js__WEBPACK_IMPORTED_MODULE_8__["default"]; });
3687
+
3688
+ /* harmony import */ var _treemap_binary_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/binary.js");
3689
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "treemapBinary", function() { return _treemap_binary_js__WEBPACK_IMPORTED_MODULE_9__["default"]; });
3690
+
3691
+ /* harmony import */ var _treemap_dice_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/dice.js");
3692
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "treemapDice", function() { return _treemap_dice_js__WEBPACK_IMPORTED_MODULE_10__["default"]; });
3693
+
3694
+ /* harmony import */ var _treemap_slice_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/slice.js");
3695
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "treemapSlice", function() { return _treemap_slice_js__WEBPACK_IMPORTED_MODULE_11__["default"]; });
3696
+
3697
+ /* harmony import */ var _treemap_sliceDice_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/sliceDice.js");
3698
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "treemapSliceDice", function() { return _treemap_sliceDice_js__WEBPACK_IMPORTED_MODULE_12__["default"]; });
3699
+
3700
+ /* harmony import */ var _treemap_squarify_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/squarify.js");
3701
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "treemapSquarify", function() { return _treemap_squarify_js__WEBPACK_IMPORTED_MODULE_13__["default"]; });
3702
+
3703
+ /* harmony import */ var _treemap_resquarify_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/resquarify.js");
3704
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "treemapResquarify", function() { return _treemap_resquarify_js__WEBPACK_IMPORTED_MODULE_14__["default"]; });
3705
+
3706
+
3707
+
3708
+
3709
+
3710
+
3711
+
3712
+
3713
+
3714
+
3715
+
3716
+
3717
+
3718
+
3719
+
3720
+
3721
+
3722
+
3723
+ /***/ }),
3724
+
3725
+ /***/ "../../node_modules/d3-hierarchy/src/pack/enclose.js":
3726
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3727
+
3728
+ "use strict";
3729
+ __webpack_require__.r(__webpack_exports__);
3730
+ /* harmony import */ var _array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/d3-hierarchy/src/array.js");
3731
+
3732
+
3733
+ /* harmony default export */ __webpack_exports__["default"] = (function(circles) {
3734
+ var i = 0, n = (circles = Object(_array_js__WEBPACK_IMPORTED_MODULE_0__["shuffle"])(Array.from(circles))).length, B = [], p, e;
3735
+
3736
+ while (i < n) {
3737
+ p = circles[i];
3738
+ if (e && enclosesWeak(e, p)) ++i;
3739
+ else e = encloseBasis(B = extendBasis(B, p)), i = 0;
3740
+ }
3741
+
3742
+ return e;
3743
+ });
3744
+
3745
+ function extendBasis(B, p) {
3746
+ var i, j;
3747
+
3748
+ if (enclosesWeakAll(p, B)) return [p];
3749
+
3750
+ // If we get here then B must have at least one element.
3751
+ for (i = 0; i < B.length; ++i) {
3752
+ if (enclosesNot(p, B[i])
3753
+ && enclosesWeakAll(encloseBasis2(B[i], p), B)) {
3754
+ return [B[i], p];
3755
+ }
3756
+ }
3757
+
3758
+ // If we get here then B must have at least two elements.
3759
+ for (i = 0; i < B.length - 1; ++i) {
3760
+ for (j = i + 1; j < B.length; ++j) {
3761
+ if (enclosesNot(encloseBasis2(B[i], B[j]), p)
3762
+ && enclosesNot(encloseBasis2(B[i], p), B[j])
3763
+ && enclosesNot(encloseBasis2(B[j], p), B[i])
3764
+ && enclosesWeakAll(encloseBasis3(B[i], B[j], p), B)) {
3765
+ return [B[i], B[j], p];
3766
+ }
3767
+ }
3768
+ }
3769
+
3770
+ // If we get here then something is very wrong.
3771
+ throw new Error;
3772
+ }
3773
+
3774
+ function enclosesNot(a, b) {
3775
+ var dr = a.r - b.r, dx = b.x - a.x, dy = b.y - a.y;
3776
+ return dr < 0 || dr * dr < dx * dx + dy * dy;
3777
+ }
3778
+
3779
+ function enclosesWeak(a, b) {
3780
+ var dr = a.r - b.r + Math.max(a.r, b.r, 1) * 1e-9, dx = b.x - a.x, dy = b.y - a.y;
3781
+ return dr > 0 && dr * dr > dx * dx + dy * dy;
3782
+ }
3783
+
3784
+ function enclosesWeakAll(a, B) {
3785
+ for (var i = 0; i < B.length; ++i) {
3786
+ if (!enclosesWeak(a, B[i])) {
3787
+ return false;
3788
+ }
3789
+ }
3790
+ return true;
3791
+ }
3792
+
3793
+ function encloseBasis(B) {
3794
+ switch (B.length) {
3795
+ case 1: return encloseBasis1(B[0]);
3796
+ case 2: return encloseBasis2(B[0], B[1]);
3797
+ case 3: return encloseBasis3(B[0], B[1], B[2]);
3798
+ }
3799
+ }
3800
+
3801
+ function encloseBasis1(a) {
3802
+ return {
3803
+ x: a.x,
3804
+ y: a.y,
3805
+ r: a.r
3806
+ };
3807
+ }
3808
+
3809
+ function encloseBasis2(a, b) {
3810
+ var x1 = a.x, y1 = a.y, r1 = a.r,
3811
+ x2 = b.x, y2 = b.y, r2 = b.r,
3812
+ x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1,
3813
+ l = Math.sqrt(x21 * x21 + y21 * y21);
3814
+ return {
3815
+ x: (x1 + x2 + x21 / l * r21) / 2,
3816
+ y: (y1 + y2 + y21 / l * r21) / 2,
3817
+ r: (l + r1 + r2) / 2
3818
+ };
3819
+ }
3820
+
3821
+ function encloseBasis3(a, b, c) {
3822
+ var x1 = a.x, y1 = a.y, r1 = a.r,
3823
+ x2 = b.x, y2 = b.y, r2 = b.r,
3824
+ x3 = c.x, y3 = c.y, r3 = c.r,
3825
+ a2 = x1 - x2,
3826
+ a3 = x1 - x3,
3827
+ b2 = y1 - y2,
3828
+ b3 = y1 - y3,
3829
+ c2 = r2 - r1,
3830
+ c3 = r3 - r1,
3831
+ d1 = x1 * x1 + y1 * y1 - r1 * r1,
3832
+ d2 = d1 - x2 * x2 - y2 * y2 + r2 * r2,
3833
+ d3 = d1 - x3 * x3 - y3 * y3 + r3 * r3,
3834
+ ab = a3 * b2 - a2 * b3,
3835
+ xa = (b2 * d3 - b3 * d2) / (ab * 2) - x1,
3836
+ xb = (b3 * c2 - b2 * c3) / ab,
3837
+ ya = (a3 * d2 - a2 * d3) / (ab * 2) - y1,
3838
+ yb = (a2 * c3 - a3 * c2) / ab,
3839
+ A = xb * xb + yb * yb - 1,
3840
+ B = 2 * (r1 + xa * xb + ya * yb),
3841
+ C = xa * xa + ya * ya - r1 * r1,
3842
+ r = -(A ? (B + Math.sqrt(B * B - 4 * A * C)) / (2 * A) : C / B);
3843
+ return {
3844
+ x: x1 + xa + xb * r,
3845
+ y: y1 + ya + yb * r,
3846
+ r: r
3847
+ };
3848
+ }
3849
+
3850
+
3851
+ /***/ }),
3852
+
3853
+ /***/ "../../node_modules/d3-hierarchy/src/pack/index.js":
3854
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3855
+
3856
+ "use strict";
3857
+ __webpack_require__.r(__webpack_exports__);
3858
+ /* harmony import */ var _siblings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/d3-hierarchy/src/pack/siblings.js");
3859
+ /* harmony import */ var _accessors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/d3-hierarchy/src/accessors.js");
3860
+ /* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/d3-hierarchy/src/constant.js");
3861
+
3862
+
3863
+
3864
+
3865
+ function defaultRadius(d) {
3866
+ return Math.sqrt(d.value);
3867
+ }
3868
+
3869
+ /* harmony default export */ __webpack_exports__["default"] = (function() {
3870
+ var radius = null,
3871
+ dx = 1,
3872
+ dy = 1,
3873
+ padding = _constant_js__WEBPACK_IMPORTED_MODULE_2__["constantZero"];
3874
+
3875
+ function pack(root) {
3876
+ root.x = dx / 2, root.y = dy / 2;
3877
+ if (radius) {
3878
+ root.eachBefore(radiusLeaf(radius))
3879
+ .eachAfter(packChildren(padding, 0.5))
3880
+ .eachBefore(translateChild(1));
3881
+ } else {
3882
+ root.eachBefore(radiusLeaf(defaultRadius))
3883
+ .eachAfter(packChildren(_constant_js__WEBPACK_IMPORTED_MODULE_2__["constantZero"], 1))
3884
+ .eachAfter(packChildren(padding, root.r / Math.min(dx, dy)))
3885
+ .eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r)));
3886
+ }
3887
+ return root;
3888
+ }
3889
+
3890
+ pack.radius = function(x) {
3891
+ return arguments.length ? (radius = Object(_accessors_js__WEBPACK_IMPORTED_MODULE_1__["optional"])(x), pack) : radius;
3892
+ };
3893
+
3894
+ pack.size = function(x) {
3895
+ return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [dx, dy];
3896
+ };
3897
+
3898
+ pack.padding = function(x) {
3899
+ return arguments.length ? (padding = typeof x === "function" ? x : Object(_constant_js__WEBPACK_IMPORTED_MODULE_2__["default"])(+x), pack) : padding;
3900
+ };
3901
+
3902
+ return pack;
3903
+ });
3904
+
3905
+ function radiusLeaf(radius) {
3906
+ return function(node) {
3907
+ if (!node.children) {
3908
+ node.r = Math.max(0, +radius(node) || 0);
3909
+ }
3910
+ };
3911
+ }
3912
+
3913
+ function packChildren(padding, k) {
3914
+ return function(node) {
3915
+ if (children = node.children) {
3916
+ var children,
3917
+ i,
3918
+ n = children.length,
3919
+ r = padding(node) * k || 0,
3920
+ e;
3921
+
3922
+ if (r) for (i = 0; i < n; ++i) children[i].r += r;
3923
+ e = Object(_siblings_js__WEBPACK_IMPORTED_MODULE_0__["packEnclose"])(children);
3924
+ if (r) for (i = 0; i < n; ++i) children[i].r -= r;
3925
+ node.r = e + r;
3926
+ }
3927
+ };
3928
+ }
3929
+
3930
+ function translateChild(k) {
3931
+ return function(node) {
3932
+ var parent = node.parent;
3933
+ node.r *= k;
3934
+ if (parent) {
3935
+ node.x = parent.x + k * node.x;
3936
+ node.y = parent.y + k * node.y;
3937
+ }
3938
+ };
3939
+ }
3940
+
3941
+
3942
+ /***/ }),
3943
+
3944
+ /***/ "../../node_modules/d3-hierarchy/src/pack/siblings.js":
3945
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3946
+
3947
+ "use strict";
3948
+ __webpack_require__.r(__webpack_exports__);
3949
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "packEnclose", function() { return packEnclose; });
3950
+ /* harmony import */ var _array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/d3-hierarchy/src/array.js");
3951
+ /* harmony import */ var _enclose_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/d3-hierarchy/src/pack/enclose.js");
3952
+
3953
+
3954
+
3955
+ function place(b, a, c) {
3956
+ var dx = b.x - a.x, x, a2,
3957
+ dy = b.y - a.y, y, b2,
3958
+ d2 = dx * dx + dy * dy;
3959
+ if (d2) {
3960
+ a2 = a.r + c.r, a2 *= a2;
3961
+ b2 = b.r + c.r, b2 *= b2;
3962
+ if (a2 > b2) {
3963
+ x = (d2 + b2 - a2) / (2 * d2);
3964
+ y = Math.sqrt(Math.max(0, b2 / d2 - x * x));
3965
+ c.x = b.x - x * dx - y * dy;
3966
+ c.y = b.y - x * dy + y * dx;
3967
+ } else {
3968
+ x = (d2 + a2 - b2) / (2 * d2);
3969
+ y = Math.sqrt(Math.max(0, a2 / d2 - x * x));
3970
+ c.x = a.x + x * dx - y * dy;
3971
+ c.y = a.y + x * dy + y * dx;
3972
+ }
3973
+ } else {
3974
+ c.x = a.x + c.r;
3975
+ c.y = a.y;
3976
+ }
3977
+ }
3978
+
3979
+ function intersects(a, b) {
3980
+ var dr = a.r + b.r - 1e-6, dx = b.x - a.x, dy = b.y - a.y;
3981
+ return dr > 0 && dr * dr > dx * dx + dy * dy;
3982
+ }
3983
+
3984
+ function score(node) {
3985
+ var a = node._,
3986
+ b = node.next._,
3987
+ ab = a.r + b.r,
3988
+ dx = (a.x * b.r + b.x * a.r) / ab,
3989
+ dy = (a.y * b.r + b.y * a.r) / ab;
3990
+ return dx * dx + dy * dy;
3991
+ }
3992
+
3993
+ function Node(circle) {
3994
+ this._ = circle;
3995
+ this.next = null;
3996
+ this.previous = null;
3997
+ }
3998
+
3999
+ function packEnclose(circles) {
4000
+ if (!(n = (circles = Object(_array_js__WEBPACK_IMPORTED_MODULE_0__["default"])(circles)).length)) return 0;
4001
+
4002
+ var a, b, c, n, aa, ca, i, j, k, sj, sk;
4003
+
4004
+ // Place the first circle.
4005
+ a = circles[0], a.x = 0, a.y = 0;
4006
+ if (!(n > 1)) return a.r;
4007
+
4008
+ // Place the second circle.
4009
+ b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0;
4010
+ if (!(n > 2)) return a.r + b.r;
4011
+
4012
+ // Place the third circle.
4013
+ place(b, a, c = circles[2]);
4014
+
4015
+ // Initialize the front-chain using the first three circles a, b and c.
4016
+ a = new Node(a), b = new Node(b), c = new Node(c);
4017
+ a.next = c.previous = b;
4018
+ b.next = a.previous = c;
4019
+ c.next = b.previous = a;
4020
+
4021
+ // Attempt to place each remaining circle…
4022
+ pack: for (i = 3; i < n; ++i) {
4023
+ place(a._, b._, c = circles[i]), c = new Node(c);
4024
+
4025
+ // Find the closest intersecting circle on the front-chain, if any.
4026
+ // “Closeness” is determined by linear distance along the front-chain.
4027
+ // “Ahead” or “behind” is likewise determined by linear distance.
4028
+ j = b.next, k = a.previous, sj = b._.r, sk = a._.r;
4029
+ do {
4030
+ if (sj <= sk) {
4031
+ if (intersects(j._, c._)) {
4032
+ b = j, a.next = b, b.previous = a, --i;
4033
+ continue pack;
4034
+ }
4035
+ sj += j._.r, j = j.next;
4036
+ } else {
4037
+ if (intersects(k._, c._)) {
4038
+ a = k, a.next = b, b.previous = a, --i;
4039
+ continue pack;
4040
+ }
4041
+ sk += k._.r, k = k.previous;
4042
+ }
4043
+ } while (j !== k.next);
4044
+
4045
+ // Success! Insert the new circle c between a and b.
4046
+ c.previous = a, c.next = b, a.next = b.previous = b = c;
4047
+
4048
+ // Compute the new closest circle pair to the centroid.
4049
+ aa = score(a);
4050
+ while ((c = c.next) !== b) {
4051
+ if ((ca = score(c)) < aa) {
4052
+ a = c, aa = ca;
4053
+ }
4054
+ }
4055
+ b = a.next;
4056
+ }
4057
+
4058
+ // Compute the enclosing circle of the front chain.
4059
+ a = [b._], c = b; while ((c = c.next) !== b) a.push(c._); c = Object(_enclose_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a);
4060
+
4061
+ // Translate the circles to put the enclosing circle around the origin.
4062
+ for (i = 0; i < n; ++i) a = circles[i], a.x -= c.x, a.y -= c.y;
4063
+
4064
+ return c.r;
4065
+ }
4066
+
4067
+ /* harmony default export */ __webpack_exports__["default"] = (function(circles) {
4068
+ packEnclose(circles);
4069
+ return circles;
4070
+ });
4071
+
4072
+
4073
+ /***/ }),
4074
+
4075
+ /***/ "../../node_modules/d3-hierarchy/src/partition.js":
4076
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4077
+
4078
+ "use strict";
4079
+ __webpack_require__.r(__webpack_exports__);
4080
+ /* harmony import */ var _treemap_round_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/round.js");
4081
+ /* harmony import */ var _treemap_dice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/dice.js");
4082
+
4083
+
4084
+
4085
+ /* harmony default export */ __webpack_exports__["default"] = (function() {
4086
+ var dx = 1,
4087
+ dy = 1,
4088
+ padding = 0,
4089
+ round = false;
4090
+
4091
+ function partition(root) {
4092
+ var n = root.height + 1;
4093
+ root.x0 =
4094
+ root.y0 = padding;
4095
+ root.x1 = dx;
4096
+ root.y1 = dy / n;
4097
+ root.eachBefore(positionNode(dy, n));
4098
+ if (round) root.eachBefore(_treemap_round_js__WEBPACK_IMPORTED_MODULE_0__["default"]);
4099
+ return root;
4100
+ }
4101
+
4102
+ function positionNode(dy, n) {
4103
+ return function(node) {
4104
+ if (node.children) {
4105
+ Object(_treemap_dice_js__WEBPACK_IMPORTED_MODULE_1__["default"])(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);
4106
+ }
4107
+ var x0 = node.x0,
4108
+ y0 = node.y0,
4109
+ x1 = node.x1 - padding,
4110
+ y1 = node.y1 - padding;
4111
+ if (x1 < x0) x0 = x1 = (x0 + x1) / 2;
4112
+ if (y1 < y0) y0 = y1 = (y0 + y1) / 2;
4113
+ node.x0 = x0;
4114
+ node.y0 = y0;
4115
+ node.x1 = x1;
4116
+ node.y1 = y1;
4117
+ };
4118
+ }
4119
+
4120
+ partition.round = function(x) {
4121
+ return arguments.length ? (round = !!x, partition) : round;
4122
+ };
4123
+
4124
+ partition.size = function(x) {
4125
+ return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [dx, dy];
4126
+ };
4127
+
4128
+ partition.padding = function(x) {
4129
+ return arguments.length ? (padding = +x, partition) : padding;
4130
+ };
4131
+
4132
+ return partition;
4133
+ });
4134
+
4135
+
4136
+ /***/ }),
4137
+
4138
+ /***/ "../../node_modules/d3-hierarchy/src/stratify.js":
4139
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4140
+
4141
+ "use strict";
4142
+ __webpack_require__.r(__webpack_exports__);
4143
+ /* harmony import */ var _accessors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/d3-hierarchy/src/accessors.js");
4144
+ /* harmony import */ var _hierarchy_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/index.js");
4145
+
4146
+
4147
+
4148
+ var preroot = {depth: -1},
4149
+ ambiguous = {};
4150
+
4151
+ function defaultId(d) {
4152
+ return d.id;
4153
+ }
4154
+
4155
+ function defaultParentId(d) {
4156
+ return d.parentId;
4157
+ }
4158
+
4159
+ /* harmony default export */ __webpack_exports__["default"] = (function() {
4160
+ var id = defaultId,
4161
+ parentId = defaultParentId;
4162
+
4163
+ function stratify(data) {
4164
+ var nodes = Array.from(data),
4165
+ n = nodes.length,
4166
+ d,
4167
+ i,
4168
+ root,
4169
+ parent,
4170
+ node,
4171
+ nodeId,
4172
+ nodeKey,
4173
+ nodeByKey = new Map;
4174
+
4175
+ for (i = 0; i < n; ++i) {
4176
+ d = nodes[i], node = nodes[i] = new _hierarchy_index_js__WEBPACK_IMPORTED_MODULE_1__["Node"](d);
4177
+ if ((nodeId = id(d, i, data)) != null && (nodeId += "")) {
4178
+ nodeKey = node.id = nodeId;
4179
+ nodeByKey.set(nodeKey, nodeByKey.has(nodeKey) ? ambiguous : node);
4180
+ }
4181
+ if ((nodeId = parentId(d, i, data)) != null && (nodeId += "")) {
4182
+ node.parent = nodeId;
4183
+ }
4184
+ }
4185
+
4186
+ for (i = 0; i < n; ++i) {
4187
+ node = nodes[i];
4188
+ if (nodeId = node.parent) {
4189
+ parent = nodeByKey.get(nodeId);
4190
+ if (!parent) throw new Error("missing: " + nodeId);
4191
+ if (parent === ambiguous) throw new Error("ambiguous: " + nodeId);
4192
+ if (parent.children) parent.children.push(node);
4193
+ else parent.children = [node];
4194
+ node.parent = parent;
4195
+ } else {
4196
+ if (root) throw new Error("multiple roots");
4197
+ root = node;
4198
+ }
4199
+ }
4200
+
4201
+ if (!root) throw new Error("no root");
4202
+ root.parent = preroot;
4203
+ root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(_hierarchy_index_js__WEBPACK_IMPORTED_MODULE_1__["computeHeight"]);
4204
+ root.parent = null;
4205
+ if (n > 0) throw new Error("cycle");
4206
+
4207
+ return root;
4208
+ }
4209
+
4210
+ stratify.id = function(x) {
4211
+ return arguments.length ? (id = Object(_accessors_js__WEBPACK_IMPORTED_MODULE_0__["required"])(x), stratify) : id;
4212
+ };
4213
+
4214
+ stratify.parentId = function(x) {
4215
+ return arguments.length ? (parentId = Object(_accessors_js__WEBPACK_IMPORTED_MODULE_0__["required"])(x), stratify) : parentId;
4216
+ };
4217
+
4218
+ return stratify;
4219
+ });
4220
+
4221
+
4222
+ /***/ }),
4223
+
4224
+ /***/ "../../node_modules/d3-hierarchy/src/tree.js":
4225
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4226
+
4227
+ "use strict";
4228
+ __webpack_require__.r(__webpack_exports__);
4229
+ /* harmony import */ var _hierarchy_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/d3-hierarchy/src/hierarchy/index.js");
4230
+
4231
+
4232
+ function defaultSeparation(a, b) {
4233
+ return a.parent === b.parent ? 1 : 2;
4234
+ }
4235
+
4236
+ // function radialSeparation(a, b) {
4237
+ // return (a.parent === b.parent ? 1 : 2) / a.depth;
4238
+ // }
4239
+
4240
+ // This function is used to traverse the left contour of a subtree (or
4241
+ // subforest). It returns the successor of v on this contour. This successor is
4242
+ // either given by the leftmost child of v or by the thread of v. The function
4243
+ // returns null if and only if v is on the highest level of its subtree.
4244
+ function nextLeft(v) {
4245
+ var children = v.children;
4246
+ return children ? children[0] : v.t;
4247
+ }
4248
+
4249
+ // This function works analogously to nextLeft.
4250
+ function nextRight(v) {
4251
+ var children = v.children;
4252
+ return children ? children[children.length - 1] : v.t;
4253
+ }
4254
+
4255
+ // Shifts the current subtree rooted at w+. This is done by increasing
4256
+ // prelim(w+) and mod(w+) by shift.
4257
+ function moveSubtree(wm, wp, shift) {
4258
+ var change = shift / (wp.i - wm.i);
4259
+ wp.c -= change;
4260
+ wp.s += shift;
4261
+ wm.c += change;
4262
+ wp.z += shift;
4263
+ wp.m += shift;
4264
+ }
4265
+
4266
+ // All other shifts, applied to the smaller subtrees between w- and w+, are
4267
+ // performed by this function. To prepare the shifts, we have to adjust
4268
+ // change(w+), shift(w+), and change(w-).
4269
+ function executeShifts(v) {
4270
+ var shift = 0,
4271
+ change = 0,
4272
+ children = v.children,
4273
+ i = children.length,
4274
+ w;
4275
+ while (--i >= 0) {
4276
+ w = children[i];
4277
+ w.z += shift;
4278
+ w.m += shift;
4279
+ shift += w.s + (change += w.c);
4280
+ }
4281
+ }
4282
+
4283
+ // If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,
4284
+ // returns the specified (default) ancestor.
4285
+ function nextAncestor(vim, v, ancestor) {
4286
+ return vim.a.parent === v.parent ? vim.a : ancestor;
4287
+ }
4288
+
4289
+ function TreeNode(node, i) {
4290
+ this._ = node;
4291
+ this.parent = null;
4292
+ this.children = null;
4293
+ this.A = null; // default ancestor
4294
+ this.a = this; // ancestor
4295
+ this.z = 0; // prelim
4296
+ this.m = 0; // mod
4297
+ this.c = 0; // change
4298
+ this.s = 0; // shift
4299
+ this.t = null; // thread
4300
+ this.i = i; // number
4301
+ }
4302
+
4303
+ TreeNode.prototype = Object.create(_hierarchy_index_js__WEBPACK_IMPORTED_MODULE_0__["Node"].prototype);
4304
+
4305
+ function treeRoot(root) {
4306
+ var tree = new TreeNode(root, 0),
4307
+ node,
4308
+ nodes = [tree],
4309
+ child,
4310
+ children,
4311
+ i,
4312
+ n;
4313
+
4314
+ while (node = nodes.pop()) {
4315
+ if (children = node._.children) {
4316
+ node.children = new Array(n = children.length);
4317
+ for (i = n - 1; i >= 0; --i) {
4318
+ nodes.push(child = node.children[i] = new TreeNode(children[i], i));
4319
+ child.parent = node;
4320
+ }
4321
+ }
4322
+ }
4323
+
4324
+ (tree.parent = new TreeNode(null, 0)).children = [tree];
4325
+ return tree;
4326
+ }
4327
+
4328
+ // Node-link tree diagram using the Reingold-Tilford "tidy" algorithm
4329
+ /* harmony default export */ __webpack_exports__["default"] = (function() {
4330
+ var separation = defaultSeparation,
4331
+ dx = 1,
4332
+ dy = 1,
4333
+ nodeSize = null;
4334
+
4335
+ function tree(root) {
4336
+ var t = treeRoot(root);
4337
+
4338
+ // Compute the layout using Buchheim et al.’s algorithm.
4339
+ t.eachAfter(firstWalk), t.parent.m = -t.z;
4340
+ t.eachBefore(secondWalk);
4341
+
4342
+ // If a fixed node size is specified, scale x and y.
4343
+ if (nodeSize) root.eachBefore(sizeNode);
4344
+
4345
+ // If a fixed tree size is specified, scale x and y based on the extent.
4346
+ // Compute the left-most, right-most, and depth-most nodes for extents.
4347
+ else {
4348
+ var left = root,
4349
+ right = root,
4350
+ bottom = root;
4351
+ root.eachBefore(function(node) {
4352
+ if (node.x < left.x) left = node;
4353
+ if (node.x > right.x) right = node;
4354
+ if (node.depth > bottom.depth) bottom = node;
4355
+ });
4356
+ var s = left === right ? 1 : separation(left, right) / 2,
4357
+ tx = s - left.x,
4358
+ kx = dx / (right.x + s + tx),
4359
+ ky = dy / (bottom.depth || 1);
4360
+ root.eachBefore(function(node) {
4361
+ node.x = (node.x + tx) * kx;
4362
+ node.y = node.depth * ky;
4363
+ });
4364
+ }
4365
+
4366
+ return root;
4367
+ }
4368
+
4369
+ // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is
4370
+ // applied recursively to the children of v, as well as the function
4371
+ // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the
4372
+ // node v is placed to the midpoint of its outermost children.
4373
+ function firstWalk(v) {
4374
+ var children = v.children,
4375
+ siblings = v.parent.children,
4376
+ w = v.i ? siblings[v.i - 1] : null;
4377
+ if (children) {
4378
+ executeShifts(v);
4379
+ var midpoint = (children[0].z + children[children.length - 1].z) / 2;
4380
+ if (w) {
4381
+ v.z = w.z + separation(v._, w._);
4382
+ v.m = v.z - midpoint;
4383
+ } else {
4384
+ v.z = midpoint;
4385
+ }
4386
+ } else if (w) {
4387
+ v.z = w.z + separation(v._, w._);
4388
+ }
4389
+ v.parent.A = apportion(v, w, v.parent.A || siblings[0]);
4390
+ }
4391
+
4392
+ // Computes all real x-coordinates by summing up the modifiers recursively.
4393
+ function secondWalk(v) {
4394
+ v._.x = v.z + v.parent.m;
4395
+ v.m += v.parent.m;
4396
+ }
4397
+
4398
+ // The core of the algorithm. Here, a new subtree is combined with the
4399
+ // previous subtrees. Threads are used to traverse the inside and outside
4400
+ // contours of the left and right subtree up to the highest common level. The
4401
+ // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the
4402
+ // superscript o means outside and i means inside, the subscript - means left
4403
+ // subtree and + means right subtree. For summing up the modifiers along the
4404
+ // contour, we use respective variables si+, si-, so-, and so+. Whenever two
4405
+ // nodes of the inside contours conflict, we compute the left one of the
4406
+ // greatest uncommon ancestors using the function ANCESTOR and call MOVE
4407
+ // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.
4408
+ // Finally, we add a new thread (if necessary).
4409
+ function apportion(v, w, ancestor) {
4410
+ if (w) {
4411
+ var vip = v,
4412
+ vop = v,
4413
+ vim = w,
4414
+ vom = vip.parent.children[0],
4415
+ sip = vip.m,
4416
+ sop = vop.m,
4417
+ sim = vim.m,
4418
+ som = vom.m,
4419
+ shift;
4420
+ while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {
4421
+ vom = nextLeft(vom);
4422
+ vop = nextRight(vop);
4423
+ vop.a = v;
4424
+ shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);
4425
+ if (shift > 0) {
4426
+ moveSubtree(nextAncestor(vim, v, ancestor), v, shift);
4427
+ sip += shift;
4428
+ sop += shift;
4429
+ }
4430
+ sim += vim.m;
4431
+ sip += vip.m;
4432
+ som += vom.m;
4433
+ sop += vop.m;
4434
+ }
4435
+ if (vim && !nextRight(vop)) {
4436
+ vop.t = vim;
4437
+ vop.m += sim - sop;
4438
+ }
4439
+ if (vip && !nextLeft(vom)) {
4440
+ vom.t = vip;
4441
+ vom.m += sip - som;
4442
+ ancestor = v;
4443
+ }
4444
+ }
4445
+ return ancestor;
4446
+ }
4447
+
4448
+ function sizeNode(node) {
4449
+ node.x *= dx;
4450
+ node.y = node.depth * dy;
4451
+ }
4452
+
4453
+ tree.separation = function(x) {
4454
+ return arguments.length ? (separation = x, tree) : separation;
4455
+ };
4456
+
4457
+ tree.size = function(x) {
4458
+ return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);
4459
+ };
4460
+
4461
+ tree.nodeSize = function(x) {
4462
+ return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);
4463
+ };
4464
+
4465
+ return tree;
4466
+ });
4467
+
4468
+
4469
+ /***/ }),
4470
+
4471
+ /***/ "../../node_modules/d3-hierarchy/src/treemap/binary.js":
4472
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4473
+
4474
+ "use strict";
4475
+ __webpack_require__.r(__webpack_exports__);
4476
+ /* harmony default export */ __webpack_exports__["default"] = (function(parent, x0, y0, x1, y1) {
4477
+ var nodes = parent.children,
4478
+ i, n = nodes.length,
4479
+ sum, sums = new Array(n + 1);
4480
+
4481
+ for (sums[0] = sum = i = 0; i < n; ++i) {
4482
+ sums[i + 1] = sum += nodes[i].value;
4483
+ }
4484
+
4485
+ partition(0, n, parent.value, x0, y0, x1, y1);
4486
+
4487
+ function partition(i, j, value, x0, y0, x1, y1) {
4488
+ if (i >= j - 1) {
4489
+ var node = nodes[i];
4490
+ node.x0 = x0, node.y0 = y0;
4491
+ node.x1 = x1, node.y1 = y1;
4492
+ return;
4493
+ }
4494
+
4495
+ var valueOffset = sums[i],
4496
+ valueTarget = (value / 2) + valueOffset,
4497
+ k = i + 1,
4498
+ hi = j - 1;
4499
+
4500
+ while (k < hi) {
4501
+ var mid = k + hi >>> 1;
4502
+ if (sums[mid] < valueTarget) k = mid + 1;
4503
+ else hi = mid;
4504
+ }
4505
+
4506
+ if ((valueTarget - sums[k - 1]) < (sums[k] - valueTarget) && i + 1 < k) --k;
4507
+
4508
+ var valueLeft = sums[k] - valueOffset,
4509
+ valueRight = value - valueLeft;
4510
+
4511
+ if ((x1 - x0) > (y1 - y0)) {
4512
+ var xk = value ? (x0 * valueRight + x1 * valueLeft) / value : x1;
4513
+ partition(i, k, valueLeft, x0, y0, xk, y1);
4514
+ partition(k, j, valueRight, xk, y0, x1, y1);
4515
+ } else {
4516
+ var yk = value ? (y0 * valueRight + y1 * valueLeft) / value : y1;
4517
+ partition(i, k, valueLeft, x0, y0, x1, yk);
4518
+ partition(k, j, valueRight, x0, yk, x1, y1);
4519
+ }
4520
+ }
4521
+ });
4522
+
4523
+
4524
+ /***/ }),
4525
+
4526
+ /***/ "../../node_modules/d3-hierarchy/src/treemap/dice.js":
4527
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4528
+
4529
+ "use strict";
4530
+ __webpack_require__.r(__webpack_exports__);
4531
+ /* harmony default export */ __webpack_exports__["default"] = (function(parent, x0, y0, x1, y1) {
4532
+ var nodes = parent.children,
4533
+ node,
4534
+ i = -1,
4535
+ n = nodes.length,
4536
+ k = parent.value && (x1 - x0) / parent.value;
4537
+
4538
+ while (++i < n) {
4539
+ node = nodes[i], node.y0 = y0, node.y1 = y1;
4540
+ node.x0 = x0, node.x1 = x0 += node.value * k;
4541
+ }
4542
+ });
4543
+
4544
+
4545
+ /***/ }),
4546
+
4547
+ /***/ "../../node_modules/d3-hierarchy/src/treemap/index.js":
4548
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4549
+
4550
+ "use strict";
4551
+ __webpack_require__.r(__webpack_exports__);
4552
+ /* harmony import */ var _round_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/round.js");
4553
+ /* harmony import */ var _squarify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/squarify.js");
4554
+ /* harmony import */ var _accessors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/d3-hierarchy/src/accessors.js");
4555
+ /* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../../node_modules/d3-hierarchy/src/constant.js");
4556
+
4557
+
4558
+
4559
+
4560
+
4561
+ /* harmony default export */ __webpack_exports__["default"] = (function() {
4562
+ var tile = _squarify_js__WEBPACK_IMPORTED_MODULE_1__["default"],
4563
+ round = false,
4564
+ dx = 1,
4565
+ dy = 1,
4566
+ paddingStack = [0],
4567
+ paddingInner = _constant_js__WEBPACK_IMPORTED_MODULE_3__["constantZero"],
4568
+ paddingTop = _constant_js__WEBPACK_IMPORTED_MODULE_3__["constantZero"],
4569
+ paddingRight = _constant_js__WEBPACK_IMPORTED_MODULE_3__["constantZero"],
4570
+ paddingBottom = _constant_js__WEBPACK_IMPORTED_MODULE_3__["constantZero"],
4571
+ paddingLeft = _constant_js__WEBPACK_IMPORTED_MODULE_3__["constantZero"];
4572
+
4573
+ function treemap(root) {
4574
+ root.x0 =
4575
+ root.y0 = 0;
4576
+ root.x1 = dx;
4577
+ root.y1 = dy;
4578
+ root.eachBefore(positionNode);
4579
+ paddingStack = [0];
4580
+ if (round) root.eachBefore(_round_js__WEBPACK_IMPORTED_MODULE_0__["default"]);
4581
+ return root;
4582
+ }
4583
+
4584
+ function positionNode(node) {
4585
+ var p = paddingStack[node.depth],
4586
+ x0 = node.x0 + p,
4587
+ y0 = node.y0 + p,
4588
+ x1 = node.x1 - p,
4589
+ y1 = node.y1 - p;
4590
+ if (x1 < x0) x0 = x1 = (x0 + x1) / 2;
4591
+ if (y1 < y0) y0 = y1 = (y0 + y1) / 2;
4592
+ node.x0 = x0;
4593
+ node.y0 = y0;
4594
+ node.x1 = x1;
4595
+ node.y1 = y1;
4596
+ if (node.children) {
4597
+ p = paddingStack[node.depth + 1] = paddingInner(node) / 2;
4598
+ x0 += paddingLeft(node) - p;
4599
+ y0 += paddingTop(node) - p;
4600
+ x1 -= paddingRight(node) - p;
4601
+ y1 -= paddingBottom(node) - p;
4602
+ if (x1 < x0) x0 = x1 = (x0 + x1) / 2;
4603
+ if (y1 < y0) y0 = y1 = (y0 + y1) / 2;
4604
+ tile(node, x0, y0, x1, y1);
4605
+ }
4606
+ }
4607
+
4608
+ treemap.round = function(x) {
4609
+ return arguments.length ? (round = !!x, treemap) : round;
4610
+ };
4611
+
4612
+ treemap.size = function(x) {
4613
+ return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];
4614
+ };
4615
+
4616
+ treemap.tile = function(x) {
4617
+ return arguments.length ? (tile = Object(_accessors_js__WEBPACK_IMPORTED_MODULE_2__["required"])(x), treemap) : tile;
4618
+ };
4619
+
4620
+ treemap.padding = function(x) {
4621
+ return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();
4622
+ };
4623
+
4624
+ treemap.paddingInner = function(x) {
4625
+ return arguments.length ? (paddingInner = typeof x === "function" ? x : Object(_constant_js__WEBPACK_IMPORTED_MODULE_3__["default"])(+x), treemap) : paddingInner;
4626
+ };
4627
+
4628
+ treemap.paddingOuter = function(x) {
4629
+ return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();
4630
+ };
4631
+
4632
+ treemap.paddingTop = function(x) {
4633
+ return arguments.length ? (paddingTop = typeof x === "function" ? x : Object(_constant_js__WEBPACK_IMPORTED_MODULE_3__["default"])(+x), treemap) : paddingTop;
4634
+ };
4635
+
4636
+ treemap.paddingRight = function(x) {
4637
+ return arguments.length ? (paddingRight = typeof x === "function" ? x : Object(_constant_js__WEBPACK_IMPORTED_MODULE_3__["default"])(+x), treemap) : paddingRight;
4638
+ };
4639
+
4640
+ treemap.paddingBottom = function(x) {
4641
+ return arguments.length ? (paddingBottom = typeof x === "function" ? x : Object(_constant_js__WEBPACK_IMPORTED_MODULE_3__["default"])(+x), treemap) : paddingBottom;
4642
+ };
4643
+
4644
+ treemap.paddingLeft = function(x) {
4645
+ return arguments.length ? (paddingLeft = typeof x === "function" ? x : Object(_constant_js__WEBPACK_IMPORTED_MODULE_3__["default"])(+x), treemap) : paddingLeft;
4646
+ };
4647
+
4648
+ return treemap;
4649
+ });
4650
+
4651
+
4652
+ /***/ }),
4653
+
4654
+ /***/ "../../node_modules/d3-hierarchy/src/treemap/resquarify.js":
4655
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4656
+
4657
+ "use strict";
4658
+ __webpack_require__.r(__webpack_exports__);
4659
+ /* harmony import */ var _dice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/dice.js");
4660
+ /* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/slice.js");
4661
+ /* harmony import */ var _squarify_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/squarify.js");
4662
+
4663
+
4664
+
4665
+
4666
+ /* harmony default export */ __webpack_exports__["default"] = ((function custom(ratio) {
4667
+
4668
+ function resquarify(parent, x0, y0, x1, y1) {
4669
+ if ((rows = parent._squarify) && (rows.ratio === ratio)) {
4670
+ var rows,
4671
+ row,
4672
+ nodes,
4673
+ i,
4674
+ j = -1,
4675
+ n,
4676
+ m = rows.length,
4677
+ value = parent.value;
4678
+
4679
+ while (++j < m) {
4680
+ row = rows[j], nodes = row.children;
4681
+ for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value;
4682
+ if (row.dice) Object(_dice_js__WEBPACK_IMPORTED_MODULE_0__["default"])(row, x0, y0, x1, value ? y0 += (y1 - y0) * row.value / value : y1);
4683
+ else Object(_slice_js__WEBPACK_IMPORTED_MODULE_1__["default"])(row, x0, y0, value ? x0 += (x1 - x0) * row.value / value : x1, y1);
4684
+ value -= row.value;
4685
+ }
4686
+ } else {
4687
+ parent._squarify = rows = Object(_squarify_js__WEBPACK_IMPORTED_MODULE_2__["squarifyRatio"])(ratio, parent, x0, y0, x1, y1);
4688
+ rows.ratio = ratio;
4689
+ }
4690
+ }
4691
+
4692
+ resquarify.ratio = function(x) {
4693
+ return custom((x = +x) > 1 ? x : 1);
4694
+ };
4695
+
4696
+ return resquarify;
4697
+ })(_squarify_js__WEBPACK_IMPORTED_MODULE_2__["phi"]));
4698
+
4699
+
4700
+ /***/ }),
4701
+
4702
+ /***/ "../../node_modules/d3-hierarchy/src/treemap/round.js":
4703
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4704
+
4705
+ "use strict";
4706
+ __webpack_require__.r(__webpack_exports__);
4707
+ /* harmony default export */ __webpack_exports__["default"] = (function(node) {
4708
+ node.x0 = Math.round(node.x0);
4709
+ node.y0 = Math.round(node.y0);
4710
+ node.x1 = Math.round(node.x1);
4711
+ node.y1 = Math.round(node.y1);
4712
+ });
4713
+
4714
+
4715
+ /***/ }),
4716
+
4717
+ /***/ "../../node_modules/d3-hierarchy/src/treemap/slice.js":
4718
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4719
+
4720
+ "use strict";
4721
+ __webpack_require__.r(__webpack_exports__);
4722
+ /* harmony default export */ __webpack_exports__["default"] = (function(parent, x0, y0, x1, y1) {
4723
+ var nodes = parent.children,
4724
+ node,
4725
+ i = -1,
4726
+ n = nodes.length,
4727
+ k = parent.value && (y1 - y0) / parent.value;
4728
+
4729
+ while (++i < n) {
4730
+ node = nodes[i], node.x0 = x0, node.x1 = x1;
4731
+ node.y0 = y0, node.y1 = y0 += node.value * k;
4732
+ }
4733
+ });
4734
+
4735
+
4736
+ /***/ }),
4737
+
4738
+ /***/ "../../node_modules/d3-hierarchy/src/treemap/sliceDice.js":
4739
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4740
+
4741
+ "use strict";
4742
+ __webpack_require__.r(__webpack_exports__);
4743
+ /* harmony import */ var _dice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/dice.js");
4744
+ /* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/slice.js");
4745
+
4746
+
4747
+
4748
+ /* harmony default export */ __webpack_exports__["default"] = (function(parent, x0, y0, x1, y1) {
4749
+ (parent.depth & 1 ? _slice_js__WEBPACK_IMPORTED_MODULE_1__["default"] : _dice_js__WEBPACK_IMPORTED_MODULE_0__["default"])(parent, x0, y0, x1, y1);
4750
+ });
4751
+
4752
+
4753
+ /***/ }),
4754
+
4755
+ /***/ "../../node_modules/d3-hierarchy/src/treemap/squarify.js":
4756
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4757
+
4758
+ "use strict";
4759
+ __webpack_require__.r(__webpack_exports__);
4760
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "phi", function() { return phi; });
4761
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "squarifyRatio", function() { return squarifyRatio; });
4762
+ /* harmony import */ var _dice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/dice.js");
4763
+ /* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../node_modules/d3-hierarchy/src/treemap/slice.js");
4764
+
4765
+
4766
+
4767
+ var phi = (1 + Math.sqrt(5)) / 2;
4768
+
4769
+ function squarifyRatio(ratio, parent, x0, y0, x1, y1) {
4770
+ var rows = [],
4771
+ nodes = parent.children,
4772
+ row,
4773
+ nodeValue,
4774
+ i0 = 0,
4775
+ i1 = 0,
4776
+ n = nodes.length,
4777
+ dx, dy,
4778
+ value = parent.value,
4779
+ sumValue,
4780
+ minValue,
4781
+ maxValue,
4782
+ newRatio,
4783
+ minRatio,
4784
+ alpha,
4785
+ beta;
4786
+
4787
+ while (i0 < n) {
4788
+ dx = x1 - x0, dy = y1 - y0;
4789
+
4790
+ // Find the next non-empty node.
4791
+ do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);
4792
+ minValue = maxValue = sumValue;
4793
+ alpha = Math.max(dy / dx, dx / dy) / (value * ratio);
4794
+ beta = sumValue * sumValue * alpha;
4795
+ minRatio = Math.max(maxValue / beta, beta / minValue);
4796
+
4797
+ // Keep adding nodes while the aspect ratio maintains or improves.
4798
+ for (; i1 < n; ++i1) {
4799
+ sumValue += nodeValue = nodes[i1].value;
4800
+ if (nodeValue < minValue) minValue = nodeValue;
4801
+ if (nodeValue > maxValue) maxValue = nodeValue;
4802
+ beta = sumValue * sumValue * alpha;
4803
+ newRatio = Math.max(maxValue / beta, beta / minValue);
4804
+ if (newRatio > minRatio) { sumValue -= nodeValue; break; }
4805
+ minRatio = newRatio;
4806
+ }
4807
+
4808
+ // Position and record the row orientation.
4809
+ rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});
4810
+ if (row.dice) Object(_dice_js__WEBPACK_IMPORTED_MODULE_0__["default"])(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);
4811
+ else Object(_slice_js__WEBPACK_IMPORTED_MODULE_1__["default"])(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);
4812
+ value -= sumValue, i0 = i1;
4813
+ }
4814
+
4815
+ return rows;
4816
+ }
4817
+
4818
+ /* harmony default export */ __webpack_exports__["default"] = ((function custom(ratio) {
4819
+
4820
+ function squarify(parent, x0, y0, x1, y1) {
4821
+ squarifyRatio(ratio, parent, x0, y0, x1, y1);
4822
+ }
4823
+
4824
+ squarify.ratio = function(x) {
4825
+ return custom((x = +x) > 1 ? x : 1);
4826
+ };
4827
+
4828
+ return squarify;
4829
+ })(phi));
4830
+
4831
+
3118
4832
  /***/ }),
3119
4833
 
3120
4834
  /***/ "../../node_modules/d3-interpolate/src/array.js":
@@ -12577,6 +14291,23 @@ __webpack_require__.r(__webpack_exports__);
12577
14291
 
12578
14292
 
12579
14293
 
14294
+ /***/ }),
14295
+
14296
+ /***/ "../../packages/charting/lib/TreeChart.js":
14297
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
14298
+
14299
+ "use strict";
14300
+ __webpack_require__.r(__webpack_exports__);
14301
+ /* harmony import */ var _components_TreeChart_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../packages/charting/lib/components/TreeChart/index.js");
14302
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TreeChart", function() { return _components_TreeChart_index__WEBPACK_IMPORTED_MODULE_0__["TreeChart"]; });
14303
+
14304
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NodesComposition", function() { return _components_TreeChart_index__WEBPACK_IMPORTED_MODULE_0__["NodesComposition"]; });
14305
+
14306
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TreeTraverse", function() { return _components_TreeChart_index__WEBPACK_IMPORTED_MODULE_0__["TreeTraverse"]; });
14307
+
14308
+
14309
+
14310
+
12580
14311
  /***/ }),
12581
14312
 
12582
14313
  /***/ "../../packages/charting/lib/Utilities.js":
@@ -18384,6 +20115,438 @@ __webpack_require__.r(__webpack_exports__);
18384
20115
 
18385
20116
 
18386
20117
 
20118
+ /***/ }),
20119
+
20120
+ /***/ "../../packages/charting/lib/components/TreeChart/TreeChart.base.js":
20121
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
20122
+
20123
+ "use strict";
20124
+ __webpack_require__.r(__webpack_exports__);
20125
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TreeChartBase", function() { return TreeChartBase; });
20126
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/tslib/tslib.es6.js");
20127
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("react");
20128
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
20129
+ /* harmony import */ var d3_hierarchy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../node_modules/d3-hierarchy/src/index.js");
20130
+ /* harmony import */ var office_ui_fabric_react_lib_Utilities__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("../../packages/office-ui-fabric-react/lib/Utilities.js");
20131
+ /* harmony import */ var d3_selection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("../../node_modules/d3-selection/index.js");
20132
+ /* harmony import */ var _fluentui_react_focus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("../../packages/react-focus/lib/index.js");
20133
+ /* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("../../node_modules/d3-array/index.js");
20134
+
20135
+
20136
+
20137
+
20138
+
20139
+
20140
+
20141
+ var getClassNames = Object(office_ui_fabric_react_lib_Utilities__WEBPACK_IMPORTED_MODULE_3__["classNamesFunction"])();
20142
+ // Create a parent class for common tree components
20143
+ var StandardTree = /** @class */ (function () {
20144
+ function StandardTree(treeData, styleClassNames, _nodeElements, _linkElements) {
20145
+ if (_nodeElements === void 0) { _nodeElements = []; }
20146
+ if (_linkElements === void 0) { _linkElements = []; }
20147
+ this._nodeElements = [];
20148
+ this._linkElements = [];
20149
+ this.treeData = treeData;
20150
+ this.styleClassNames = styleClassNames;
20151
+ this._nodeElements = _nodeElements;
20152
+ this._linkElements = _linkElements;
20153
+ }
20154
+ StandardTree.prototype.truncateText = function (text, rectangleWidth, padding, styleClass) {
20155
+ var truncatedText = '';
20156
+ var words = text.split(/\s+/).reverse();
20157
+ var word = '';
20158
+ var tspan = Object(d3_selection__WEBPACK_IMPORTED_MODULE_4__["select"])('.svgTree')
20159
+ .append('text')
20160
+ .attr('class', 'tempText')
20161
+ .append('tspan')
20162
+ .text(null);
20163
+ if (styleClass) {
20164
+ tspan.attr('class', styleClass);
20165
+ }
20166
+ var line = [];
20167
+ while ((word = words.pop())) {
20168
+ line.push(word);
20169
+ tspan.text(line.join(' ') + ' ');
20170
+ if (tspan.node() !== null) {
20171
+ var w = tspan.node().getComputedTextLength();
20172
+ if (w > rectangleWidth - padding) {
20173
+ line.pop();
20174
+ line.push('...');
20175
+ break;
20176
+ }
20177
+ }
20178
+ }
20179
+ truncatedText = line.join(' ') + ' ';
20180
+ tspan.text(null);
20181
+ Object(d3_selection__WEBPACK_IMPORTED_MODULE_4__["selectAll"])('.tempText').remove();
20182
+ return truncatedText;
20183
+ };
20184
+ // Append node elements
20185
+ // nodeId to create unique key
20186
+ StandardTree.prototype.addNodeShapetoSVG = function (name, subname, bodytext, metricName, xCenterCoordinate, yCoordinate, fillColor, rectangleWidth, rectangleHeight, nodeId, parentInfo) {
20187
+ var ariaLabel = "nodeId: " + nodeId + " \nnodeMainText: " + name + "\nsubText " + subname + " " + parentInfo;
20188
+ var xCoordinate = xCenterCoordinate - rectangleWidth / 2;
20189
+ if (metricName || nodeId !== 0 || !bodytext) {
20190
+ this._nodeElements.push(react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("rect", { width: rectangleWidth, height: rectangleHeight, x: xCoordinate, y: yCoordinate, tabIndex: 0, role: 'text', "data-is-focusable": true, "aria-label": ariaLabel, className: this.styleClassNames.rectNode, stroke: fillColor, key: "" + nodeId + this.styleClassNames.rectNode }));
20191
+ }
20192
+ if (subname) {
20193
+ subname = this.truncateText(subname, rectangleWidth, rectangleWidth / 4, this.styleClassNames.rectSubText);
20194
+ }
20195
+ if (bodytext) {
20196
+ bodytext = this.truncateText(bodytext, rectangleWidth, rectangleWidth / 4, this.styleClassNames.rectBodyText);
20197
+ }
20198
+ if (metricName) {
20199
+ metricName = this.truncateText(metricName, rectangleWidth, rectangleWidth / 4, this.styleClassNames.rectMetricText);
20200
+ }
20201
+ name = this.truncateText(name, rectangleWidth, rectangleWidth / 4, this.styleClassNames.rectText);
20202
+ // Text position y = y + rectHeight/2, 2 is ratio for depth
20203
+ // Text position x = x + rectWidth/2, 2 is ratio for length
20204
+ // Sub-text position x = x + rectWidth/2, 2 is ratio for length
20205
+ var subValue = metricName ? (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("tspan", { className: this.styleClassNames.rectMetricText, dy: "1.4em", x: xCoordinate + rectangleWidth / 2 }, metricName)) : bodytext ? (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
20206
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("tspan", { className: this.styleClassNames.rectSubText, dy: "1.4em", x: xCoordinate + rectangleWidth / 2 }, subname),
20207
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("tspan", { className: this.styleClassNames.rectBodyText, dy: "1.4em", x: xCoordinate + rectangleWidth / 2 }, bodytext))) : (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("tspan", { className: this.styleClassNames.rectSubText, dy: "1.4em", x: xCoordinate + rectangleWidth / 2 }, subname));
20208
+ if (!subname && !metricName && !bodytext) {
20209
+ this._nodeElements.push(react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("text", { textAnchor: "middle", className: this.styleClassNames.rectMetricText, dy: yCoordinate + rectangleHeight / 1.6, x: xCoordinate + rectangleWidth / 2, key: "" + nodeId + this.styleClassNames.rectText }, name));
20210
+ }
20211
+ else {
20212
+ this._nodeElements.push(react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("text", { textAnchor: "middle", className: metricName ? this.styleClassNames.rectSubText : this.styleClassNames.rectText, dy: metricName ? yCoordinate + rectangleHeight / 2.5 : yCoordinate + rectangleHeight / 2, x: xCoordinate + rectangleWidth / 2, key: "" + nodeId + this.styleClassNames.rectText },
20213
+ name,
20214
+ subValue));
20215
+ }
20216
+ };
20217
+ // Create a rectangular path from parent to the child nodes
20218
+ StandardTree.prototype.createPathLink = function (parentX, parentY, childX, childY, leaf, rectWidth, rectHeight, gap, childXMax) {
20219
+ // gap adds ratio for parent.y to child.y
20220
+ var path = "M" + (childX - rectWidth / 2) + "," + (childY - gap) + " H" + (childXMax + rectWidth / 2) + " M" + parentX + "," + (childY - gap) + "\n V" + (parentY + rectHeight + gap / 2);
20221
+ var leafpath = "M" + parentX + "," + (parentY + rectHeight + gap / 2) + " V" + (parentY + gap * 5) + "\n H" + (parentX - rectWidth / 2) + " H" + (parentX + rectWidth / 2);
20222
+ // based on the type of node return leafpath or path element
20223
+ return leaf ? leafpath : path;
20224
+ };
20225
+ // Append path link element
20226
+ StandardTree.prototype.addLinktoSVG = function (nodeId, parentX, parentY, childX, childY, leaf, rectWidth, rectHeight, gap, childXMax) {
20227
+ if (childXMax === void 0) { childXMax = 0; }
20228
+ this._linkElements.push(react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("path", { className: this.styleClassNames.link, d: this.createPathLink(parentX, parentY, childX, childY, leaf, rectWidth, rectHeight, gap, childXMax), key: "" + nodeId + this.styleClassNames.link }));
20229
+ };
20230
+ return StandardTree;
20231
+ }());
20232
+ // Create child class to Add Tree component based on treeHeight
20233
+ var LayeredTree = /** @class */ (function (_super) {
20234
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(LayeredTree, _super);
20235
+ function LayeredTree(treeData, composition, styleClassNames, _nodeElements, _linkElements, _treeTraversal) {
20236
+ if (_nodeElements === void 0) { _nodeElements = []; }
20237
+ if (_linkElements === void 0) { _linkElements = []; }
20238
+ var _this = _super.call(this, treeData, styleClassNames, _nodeElements, _linkElements) || this;
20239
+ _this.composition = composition;
20240
+ _this._treeTraversal = _treeTraversal;
20241
+ return _this;
20242
+ }
20243
+ LayeredTree.prototype.createTree = function (givenLayoutWidth, screenWidth) {
20244
+ var _a, _b, _c, _d, _e, _f, _g;
20245
+ givenLayoutWidth = givenLayoutWidth < 65 ? 65 : givenLayoutWidth > 90 ? 90 : givenLayoutWidth;
20246
+ var layoutWidth = givenLayoutWidth || 75;
20247
+ var root = Object(d3_hierarchy__WEBPACK_IMPORTED_MODULE_2__["hierarchy"])(this.treeData, function (d) {
20248
+ return d.children;
20249
+ });
20250
+ // Find tree Height
20251
+ var treeHeight = ((_a = root) === null || _a === void 0 ? void 0 : _a.height) + 1;
20252
+ // Create tree layout, width: layoutWidth, height: layoutWidth/1.5 and add node separation
20253
+ var treeChart = Object(d3_hierarchy__WEBPACK_IMPORTED_MODULE_2__["tree"])()
20254
+ .nodeSize([layoutWidth, layoutWidth / 1.5])
20255
+ .separation(function (a, b) {
20256
+ return a.parent === root && b.parent === root ? 3.5 : 1;
20257
+ });
20258
+ // Assigns the x and y position for the nodes
20259
+ var treeData = treeChart(root);
20260
+ // Compute the new tree layout.
20261
+ var nodes = treeData.descendants();
20262
+ // Normalize for fixed-depth and width
20263
+ // Normalise y coordinate by depth of each node by a factor of 130
20264
+ // Normalise x coordinate by start coordinate 0 with screenSize/3
20265
+ nodes.forEach(function (d) {
20266
+ d.y = d.depth === 0 ? 10 : d.depth * 130;
20267
+ d.x += screenWidth / 2;
20268
+ });
20269
+ // <------------------ Traversal section ------------------>
20270
+ // Create tree data structure
20271
+ var treeDataStructure = [];
20272
+ var TreeID = 0;
20273
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
20274
+ var createTreeDataStructure = function (d) {
20275
+ var _a, _b;
20276
+ d.id = TreeID;
20277
+ treeDataStructure.push({
20278
+ id: TreeID,
20279
+ children: d.children,
20280
+ dataName: d.data.name,
20281
+ subName: d.data.subname,
20282
+ bodyText: d.data.bodytext,
20283
+ metricName: (_a = d.data) === null || _a === void 0 ? void 0 : _a.metric,
20284
+ fill: d.data.fill,
20285
+ x: d.x,
20286
+ y: d.y,
20287
+ parentID: (_b = d.parent) === null || _b === void 0 ? void 0 : _b.id,
20288
+ });
20289
+ TreeID++;
20290
+ };
20291
+ this._treeTraversal === 0
20292
+ ? root.each(function (d) {
20293
+ createTreeDataStructure(d);
20294
+ })
20295
+ : root.eachBefore(function (d) {
20296
+ createTreeDataStructure(d);
20297
+ });
20298
+ var rectWidth = layoutWidth * 3;
20299
+ var rectHeight = rectWidth / 3.45;
20300
+ var gap = 20;
20301
+ var parentSet = new Set();
20302
+ for (var _i = 0, treeDataStructure_1 = treeDataStructure; _i < treeDataStructure_1.length; _i++) {
20303
+ var d = treeDataStructure_1[_i];
20304
+ var parentInfo = d.id === 0
20305
+ ? 'Root Node'
20306
+ : "Parent info parentId: " + d.parentID + "\n " + treeDataStructure[d.parentID].dataName + "\n " + treeDataStructure[d.parentID].subName;
20307
+ // check for leaf nodes
20308
+ if (!d.children && !parentSet.has(d.parentID) && treeHeight === 3) {
20309
+ var compactNodeWidth = (rectWidth - gap) / 2;
20310
+ var compactNodeHeight = rectHeight;
20311
+ parentSet.add(d.parentID);
20312
+ // <------------------ Links section ------------------>
20313
+ this.addLinktoSVG(d.id, treeDataStructure[d.parentID].x, treeDataStructure[d.parentID].y, treeDataStructure[d.id].x, treeDataStructure[d.id].y, true, rectWidth, rectHeight, gap);
20314
+ // <------------------ Nodes section ------------------>
20315
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
20316
+ var children = (_b = treeDataStructure[d.parentID]) === null || _b === void 0 ? void 0 : _b.children;
20317
+ var compactNodeCenterX1 = ((_c = treeDataStructure[d.parentID]) === null || _c === void 0 ? void 0 : _c.x) - compactNodeWidth / 2 - gap / 2;
20318
+ var compactNodeCenterX2 = ((_d = treeDataStructure[d.parentID]) === null || _d === void 0 ? void 0 : _d.x) + compactNodeWidth / 2 + gap / 2;
20319
+ var longNodeCenterX = (_e = treeDataStructure[d.parentID]) === null || _e === void 0 ? void 0 : _e.x;
20320
+ var dy = (_f = children[0]) === null || _f === void 0 ? void 0 : _f.y;
20321
+ for (var itr = 0; itr < children.length; ++itr) {
20322
+ var child = children[itr];
20323
+ // Given Composition
20324
+ if (this.composition !== undefined) {
20325
+ // For compact compostion
20326
+ if (this.composition === 0) {
20327
+ this.addNodeShapetoSVG(child.data.name, child.data.subname, child.data.bodytext, child.data.metricName,
20328
+ // If the leaf node count is 1 ,
20329
+ //irrespective of provided composition we should always use long composition
20330
+ itr % 2 === 0 ? (children.length === 1 ? longNodeCenterX : compactNodeCenterX1) : compactNodeCenterX2, dy, child.data.fill, children.length === 1 ? rectWidth : compactNodeWidth, rectHeight, child.id, parentInfo);
20331
+ if (itr % 2 === 1) {
20332
+ dy += compactNodeHeight + gap;
20333
+ }
20334
+ }
20335
+ // For long compostion
20336
+ else {
20337
+ this.addNodeShapetoSVG(child.data.name, child.data.subname, child.data.bodytext, child.data.metricName, longNodeCenterX, dy, child.data.fill, rectWidth, rectHeight, child.id, parentInfo);
20338
+ dy += compactNodeHeight + gap;
20339
+ }
20340
+ }
20341
+ // Automatic Node Composition
20342
+ else {
20343
+ if (children.length > 2) {
20344
+ this.addNodeShapetoSVG(child.data.name, child.data.subname, child.data.bodytext, child.data.metricName, itr % 2 === 0 ? compactNodeCenterX1 : compactNodeCenterX2, dy, child.data.fill, children.length === 1 ? rectWidth : compactNodeWidth, rectHeight, child.id, parentInfo);
20345
+ if (itr % 2 === 1) {
20346
+ dy += compactNodeHeight + gap;
20347
+ }
20348
+ }
20349
+ else {
20350
+ this.addNodeShapetoSVG(child.data.name, child.data.subname, child.data.bodytext, child.data.metricName, longNodeCenterX, dy, child.data.fill, rectWidth, rectHeight, child.id, parentInfo);
20351
+ dy += compactNodeHeight + gap;
20352
+ }
20353
+ }
20354
+ }
20355
+ }
20356
+ if (d.children || treeHeight <= 2) {
20357
+ // <------------------ Nodes section ------------------>
20358
+ // Since the height <=2 we will be using long compositon.
20359
+ this.addNodeShapetoSVG(d.dataName, d.subName, d.bodyText, d.metricName, d.x, d.y, d.fill, rectWidth, rectHeight, d.id, parentInfo);
20360
+ // <------------------ Links section ------------------>
20361
+ if (d.id === 0 && d.children) {
20362
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
20363
+ var children = (_g = treeDataStructure[d.id]) === null || _g === void 0 ? void 0 : _g.children;
20364
+ var childXMin = Object(d3_array__WEBPACK_IMPORTED_MODULE_6__["min"])(children, function (child) { return child.x; });
20365
+ var childXMax = Object(d3_array__WEBPACK_IMPORTED_MODULE_6__["max"])(children, function (child) { return child.x; });
20366
+ this.addLinktoSVG(d.id, d.x, d.y, childXMin, d.children[0].y, false, rectWidth, rectHeight, gap, childXMax);
20367
+ }
20368
+ }
20369
+ }
20370
+ };
20371
+ return LayeredTree;
20372
+ }(StandardTree));
20373
+ var TreeChartBase = /** @class */ (function (_super) {
20374
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(TreeChartBase, _super);
20375
+ function TreeChartBase(props) {
20376
+ var _a;
20377
+ var _this = _super.call(this, props) || this;
20378
+ _this._nodeElements = [];
20379
+ _this._linkElements = [];
20380
+ _this._margin = { top: 30, right: 20, bottom: 30, left: 50 };
20381
+ _this._width = _this.props.width || 1500;
20382
+ _this._height = _this.props.height || 700;
20383
+ _this._treeData = _this.props.treeData;
20384
+ _this._composition = (_a = _this.props) === null || _a === void 0 ? void 0 : _a.composition;
20385
+ _this._treeTraversal = _this.props.treeTraversal;
20386
+ _this.state = {
20387
+ _width: _this._width,
20388
+ _height: _this._height,
20389
+ };
20390
+ return _this;
20391
+ }
20392
+ TreeChartBase.prototype.componentDidMount = function () {
20393
+ var _a = this.props, theme = _a.theme, className = _a.className, styles = _a.styles;
20394
+ // Get classNames to create component styling
20395
+ this._classNames = getClassNames(styles, {
20396
+ theme: theme,
20397
+ className: className,
20398
+ });
20399
+ // Call createTreeChart function in componentDidMount
20400
+ this.createTreeChart();
20401
+ this.setState({
20402
+ _width: this.props.width || 1500,
20403
+ _height: this.props.height || 700,
20404
+ });
20405
+ };
20406
+ TreeChartBase.prototype.componentDidUpdate = function (prevProps) {
20407
+ if (prevProps.layoutWidth !== this.props.layoutWidth) {
20408
+ var svgText = Object(d3_selection__WEBPACK_IMPORTED_MODULE_4__["selectAll"])('text');
20409
+ var svgRect = Object(d3_selection__WEBPACK_IMPORTED_MODULE_4__["selectAll"])('rect');
20410
+ var svgLink = Object(d3_selection__WEBPACK_IMPORTED_MODULE_4__["selectAll"])('path');
20411
+ if (this._nodeElements.length === 0 && this._linkElements.length === 0) {
20412
+ svgText.remove();
20413
+ svgRect.remove();
20414
+ svgLink.remove();
20415
+ }
20416
+ this.createTreeChart();
20417
+ }
20418
+ };
20419
+ TreeChartBase.prototype.createTreeChart = function () {
20420
+ var nodeElements = [];
20421
+ var linkElements = [];
20422
+ // Instantiate inherited class and call createTree function for the object
20423
+ var treeObject = new LayeredTree(this._treeData, this._composition, this._classNames, nodeElements, linkElements, this._treeTraversal);
20424
+ var width = this.state._width - this._margin.left - this._margin.right;
20425
+ treeObject.createTree(this.props.layoutWidth, width);
20426
+ this._nodeElements = nodeElements;
20427
+ this._linkElements = linkElements;
20428
+ };
20429
+ TreeChartBase.prototype.render = function () {
20430
+ var _a;
20431
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fluentui_react_focus__WEBPACK_IMPORTED_MODULE_5__["FocusZone"], null,
20432
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: (_a = this._classNames) === null || _a === void 0 ? void 0 : _a.root },
20433
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("svg", { className: "svgTree", width: this.state._width - this._margin.left - this._margin.right, height: this.state._height - this._margin.top - this._margin.bottom },
20434
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("g", { className: "svgNode" }, this._nodeElements.map(function (element) { return element; })),
20435
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("g", { className: "svgLink" }, this._linkElements.map(function (element) { return element; }))))));
20436
+ };
20437
+ return TreeChartBase;
20438
+ }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
20439
+
20440
+
20441
+
20442
+ /***/ }),
20443
+
20444
+ /***/ "../../packages/charting/lib/components/TreeChart/TreeChart.js":
20445
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
20446
+
20447
+ "use strict";
20448
+ __webpack_require__.r(__webpack_exports__);
20449
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TreeChart", function() { return TreeChart; });
20450
+ /* harmony import */ var office_ui_fabric_react_lib_Utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../packages/office-ui-fabric-react/lib/Utilities.js");
20451
+ /* harmony import */ var _TreeChart_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../packages/charting/lib/components/TreeChart/TreeChart.base.js");
20452
+ /* harmony import */ var _TreeChart_styles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("../../packages/charting/lib/components/TreeChart/TreeChart.styles.js");
20453
+
20454
+
20455
+
20456
+ var TreeChart = Object(office_ui_fabric_react_lib_Utilities__WEBPACK_IMPORTED_MODULE_0__["styled"])(_TreeChart_base__WEBPACK_IMPORTED_MODULE_1__["TreeChartBase"], _TreeChart_styles__WEBPACK_IMPORTED_MODULE_2__["getStyles"]);
20457
+
20458
+
20459
+ /***/ }),
20460
+
20461
+ /***/ "../../packages/charting/lib/components/TreeChart/TreeChart.styles.js":
20462
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
20463
+
20464
+ "use strict";
20465
+ __webpack_require__.r(__webpack_exports__);
20466
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getStyles", function() { return getStyles; });
20467
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../node_modules/tslib/tslib.es6.js");
20468
+
20469
+ var getStyles = function (props) {
20470
+ return {
20471
+ root: [
20472
+ props.theme.spacing,
20473
+ 'ms-TreeChart',
20474
+ props.className,
20475
+ {
20476
+ overflow: 'scroll',
20477
+ },
20478
+ ],
20479
+ link: {
20480
+ fill: 'none',
20481
+ stroke: '#A1A1A1',
20482
+ strokeWidth: '2px',
20483
+ },
20484
+ rectNode: {
20485
+ strokeWidth: '2px',
20486
+ fill: 'white',
20487
+ padding: '10px',
20488
+ rx: '2px',
20489
+ },
20490
+ rectText: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({ fill: 'black' }, props.theme.fonts.large),
20491
+ rectSubText: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({ fill: '#484644' }, props.theme.fonts.medium),
20492
+ rectBodyText: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({ fill: '#808080' }, props.theme.fonts.xSmall),
20493
+ rectMetricText: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({ fill: '#000000' }, props.theme.fonts.xLarge),
20494
+ };
20495
+ };
20496
+
20497
+
20498
+ /***/ }),
20499
+
20500
+ /***/ "../../packages/charting/lib/components/TreeChart/TreeChart.types.js":
20501
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
20502
+
20503
+ "use strict";
20504
+ __webpack_require__.r(__webpack_exports__);
20505
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NodesComposition", function() { return NodesComposition; });
20506
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TreeTraverse", function() { return TreeTraverse; });
20507
+ var NodesComposition;
20508
+ (function (NodesComposition) {
20509
+ /**
20510
+ * NodeComposition enum val for long: number = 1
20511
+ */
20512
+ NodesComposition[NodesComposition["long"] = 1] = "long";
20513
+ /**
20514
+ * NodeComposition enum val for compact: number = 0
20515
+ */
20516
+ NodesComposition[NodesComposition["compact"] = 0] = "compact";
20517
+ })(NodesComposition || (NodesComposition = {}));
20518
+ var TreeTraverse;
20519
+ (function (TreeTraverse) {
20520
+ /**
20521
+ * TreeTraverse enum val for preOrder: number = 1
20522
+ */
20523
+ TreeTraverse[TreeTraverse["preOrder"] = 1] = "preOrder";
20524
+ /**
20525
+ * TreeTraverse enum val for levelOrder: number = 0
20526
+ */
20527
+ TreeTraverse[TreeTraverse["levelOrder"] = 0] = "levelOrder";
20528
+ })(TreeTraverse || (TreeTraverse = {}));
20529
+
20530
+
20531
+ /***/ }),
20532
+
20533
+ /***/ "../../packages/charting/lib/components/TreeChart/index.js":
20534
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
20535
+
20536
+ "use strict";
20537
+ __webpack_require__.r(__webpack_exports__);
20538
+ /* harmony import */ var _TreeChart__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("../../packages/charting/lib/components/TreeChart/TreeChart.js");
20539
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TreeChart", function() { return _TreeChart__WEBPACK_IMPORTED_MODULE_0__["TreeChart"]; });
20540
+
20541
+ /* harmony import */ var _TreeChart_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("../../packages/charting/lib/components/TreeChart/TreeChart.types.js");
20542
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NodesComposition", function() { return _TreeChart_types__WEBPACK_IMPORTED_MODULE_1__["NodesComposition"]; });
20543
+
20544
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TreeTraverse", function() { return _TreeChart_types__WEBPACK_IMPORTED_MODULE_1__["TreeTraverse"]; });
20545
+
20546
+
20547
+
20548
+
20549
+
18387
20550
  /***/ }),
18388
20551
 
18389
20552
  /***/ "../../packages/charting/lib/components/VerticalBarChart/VerticalBarChart.base.js":
@@ -19666,7 +21829,15 @@ __webpack_require__.r(__webpack_exports__);
19666
21829
  /* harmony import */ var _HeatMapChart__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("../../packages/charting/lib/HeatMapChart.js");
19667
21830
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeatMapChart", function() { return _HeatMapChart__WEBPACK_IMPORTED_MODULE_12__["HeatMapChart"]; });
19668
21831
 
19669
- /* harmony import */ var _version__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("../../packages/charting/lib/version.js");
21832
+ /* harmony import */ var _TreeChart__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("../../packages/charting/lib/TreeChart.js");
21833
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TreeChart", function() { return _TreeChart__WEBPACK_IMPORTED_MODULE_13__["TreeChart"]; });
21834
+
21835
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NodesComposition", function() { return _TreeChart__WEBPACK_IMPORTED_MODULE_13__["NodesComposition"]; });
21836
+
21837
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TreeTraverse", function() { return _TreeChart__WEBPACK_IMPORTED_MODULE_13__["TreeTraverse"]; });
21838
+
21839
+ /* harmony import */ var _version__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("../../packages/charting/lib/version.js");
21840
+
19670
21841
 
19671
21842
 
19672
21843
 
@@ -20773,7 +22944,7 @@ __webpack_require__.r(__webpack_exports__);
20773
22944
  // Do not modify this file; it is generated as part of publish.
20774
22945
  // The checked in version is a placeholder only and will not be updated.
20775
22946
 
20776
- Object(_uifabric_set_version__WEBPACK_IMPORTED_MODULE_0__["setVersion"])('@uifabric/charting', '4.23.6');
22947
+ Object(_uifabric_set_version__WEBPACK_IMPORTED_MODULE_0__["setVersion"])('@uifabric/charting', '4.23.7');
20777
22948
 
20778
22949
 
20779
22950
  /***/ }),
@@ -24615,7 +26786,7 @@ __webpack_require__.r(__webpack_exports__);
24615
26786
  // Do not modify this file; it is generated as part of publish.
24616
26787
  // The checked in version is a placeholder only and will not be updated.
24617
26788
 
24618
- Object(_uifabric_set_version__WEBPACK_IMPORTED_MODULE_0__["setVersion"])('@uifabric/icons', '7.8.6');
26789
+ Object(_uifabric_set_version__WEBPACK_IMPORTED_MODULE_0__["setVersion"])('@uifabric/icons', '7.9.0');
24619
26790
 
24620
26791
 
24621
26792
  /***/ }),
@@ -27711,6 +29882,8 @@ __webpack_require__.r(__webpack_exports__);
27711
29882
 
27712
29883
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createTheme", function() { return _uifabric_styling__WEBPACK_IMPORTED_MODULE_1__["createTheme"]; });
27713
29884
 
29885
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "initializeThemeInCustomizations", function() { return _uifabric_styling__WEBPACK_IMPORTED_MODULE_1__["initializeThemeInCustomizations"]; });
29886
+
27714
29887
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "registerOnThemeChangeCallback", function() { return _uifabric_styling__WEBPACK_IMPORTED_MODULE_1__["registerOnThemeChangeCallback"]; });
27715
29888
 
27716
29889
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "removeOnThemeChangeCallback", function() { return _uifabric_styling__WEBPACK_IMPORTED_MODULE_1__["removeOnThemeChangeCallback"]; });
@@ -78846,6 +81019,8 @@ __webpack_require__.r(__webpack_exports__);
78846
81019
 
78847
81020
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createTheme", function() { return _Styling__WEBPACK_IMPORTED_MODULE_77__["createTheme"]; });
78848
81021
 
81022
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "initializeThemeInCustomizations", function() { return _Styling__WEBPACK_IMPORTED_MODULE_77__["initializeThemeInCustomizations"]; });
81023
+
78849
81024
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "registerOnThemeChangeCallback", function() { return _Styling__WEBPACK_IMPORTED_MODULE_77__["registerOnThemeChangeCallback"]; });
78850
81025
 
78851
81026
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "removeOnThemeChangeCallback", function() { return _Styling__WEBPACK_IMPORTED_MODULE_77__["removeOnThemeChangeCallback"]; });
@@ -84030,7 +86205,7 @@ __webpack_require__.r(__webpack_exports__);
84030
86205
  // Do not modify this file; it is generated as part of publish.
84031
86206
  // The checked in version is a placeholder only and will not be updated.
84032
86207
 
84033
- Object(_uifabric_set_version__WEBPACK_IMPORTED_MODULE_0__["setVersion"])('office-ui-fabric-react', '7.198.0');
86208
+ Object(_uifabric_set_version__WEBPACK_IMPORTED_MODULE_0__["setVersion"])('office-ui-fabric-react', '7.198.1');
84034
86209
 
84035
86210
 
84036
86211
  /***/ }),
@@ -86237,6 +88412,8 @@ __webpack_require__.r(__webpack_exports__);
86237
88412
 
86238
88413
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createTheme", function() { return _styles_index__WEBPACK_IMPORTED_MODULE_1__["createTheme"]; });
86239
88414
 
88415
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "initializeThemeInCustomizations", function() { return _styles_index__WEBPACK_IMPORTED_MODULE_1__["initializeThemeInCustomizations"]; });
88416
+
86240
88417
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "registerOnThemeChangeCallback", function() { return _styles_index__WEBPACK_IMPORTED_MODULE_1__["registerOnThemeChangeCallback"]; });
86241
88418
 
86242
88419
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "removeOnThemeChangeCallback", function() { return _styles_index__WEBPACK_IMPORTED_MODULE_1__["removeOnThemeChangeCallback"]; });
@@ -86322,15 +88499,11 @@ __webpack_require__.r(__webpack_exports__);
86322
88499
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeStyles", function() { return _MergeStyles__WEBPACK_IMPORTED_MODULE_3__["mergeStyles"]; });
86323
88500
 
86324
88501
  /* harmony import */ var _version__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("../../packages/styling/lib/version.js");
86325
- /* harmony import */ var _styles_theme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("../../packages/styling/lib/styles/theme.js");
86326
88502
 
86327
88503
 
86328
88504
 
86329
88505
 
86330
88506
 
86331
- // Ensure theme is initialized when this package is referenced.
86332
-
86333
- Object(_styles_theme__WEBPACK_IMPORTED_MODULE_5__["initializeThemeInCustomizations"])();
86334
88507
 
86335
88508
 
86336
88509
  /***/ }),
@@ -87037,6 +89210,8 @@ __webpack_require__.r(__webpack_exports__);
87037
89210
 
87038
89211
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createTheme", function() { return _theme__WEBPACK_IMPORTED_MODULE_10__["createTheme"]; });
87039
89212
 
89213
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "initializeThemeInCustomizations", function() { return _theme__WEBPACK_IMPORTED_MODULE_10__["initializeThemeInCustomizations"]; });
89214
+
87040
89215
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "registerOnThemeChangeCallback", function() { return _theme__WEBPACK_IMPORTED_MODULE_10__["registerOnThemeChangeCallback"]; });
87041
89216
 
87042
89217
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "removeOnThemeChangeCallback", function() { return _theme__WEBPACK_IMPORTED_MODULE_10__["removeOnThemeChangeCallback"]; });
@@ -87208,6 +89383,7 @@ function initializeThemeInCustomizations() {
87208
89383
  _uifabric_utilities__WEBPACK_IMPORTED_MODULE_1__["Customizations"].applySettings((_a = {}, _a[ThemeSettingName] = _theme, _a));
87209
89384
  }
87210
89385
  }
89386
+ // Ensure theme is initialized when this package is referenced.
87211
89387
  initializeThemeInCustomizations();
87212
89388
  /**
87213
89389
  * Gets the theme object
@@ -95343,6 +97519,12 @@ __webpack_require__.r(__webpack_exports__);
95343
97519
 
95344
97520
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeatMapChart", function() { return _uifabric_charting__WEBPACK_IMPORTED_MODULE_1__["HeatMapChart"]; });
95345
97521
 
97522
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TreeChart", function() { return _uifabric_charting__WEBPACK_IMPORTED_MODULE_1__["TreeChart"]; });
97523
+
97524
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NodesComposition", function() { return _uifabric_charting__WEBPACK_IMPORTED_MODULE_1__["NodesComposition"]; });
97525
+
97526
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TreeTraverse", function() { return _uifabric_charting__WEBPACK_IMPORTED_MODULE_1__["TreeTraverse"]; });
97527
+
95346
97528
 
95347
97529
 
95348
97530