pace-chart-lib 1.0.49 → 1.0.51

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.
@@ -559,6 +559,27 @@ function keyof(value2) {
559
559
  function identity$8(x2) {
560
560
  return x2;
561
561
  }
562
+ function group(values, ...keys) {
563
+ return nest(values, identity$8, identity$8, keys);
564
+ }
565
+ function nest(values, map2, reduce, keys) {
566
+ return (function regroup(values2, i) {
567
+ if (i >= keys.length) return reduce(values2);
568
+ const groups = new InternMap();
569
+ const keyof2 = keys[i++];
570
+ let index2 = -1;
571
+ for (const value2 of values2) {
572
+ const key = keyof2(value2, ++index2, values2);
573
+ const group2 = groups.get(key);
574
+ if (group2) group2.push(value2);
575
+ else groups.set(key, [value2]);
576
+ }
577
+ for (const [key, values3] of groups) {
578
+ groups.set(key, regroup(values3, i));
579
+ }
580
+ return map2(groups);
581
+ })(values, 0);
582
+ }
562
583
  function compareDefined(compare = ascending$3) {
563
584
  if (compare === ascending$3) return ascendingDefined;
564
585
  if (typeof compare !== "function") throw new TypeError("compare is not a function");
@@ -1057,8 +1078,8 @@ function selector$2(selector2) {
1057
1078
  function selection_select$2(select2) {
1058
1079
  if (typeof select2 !== "function") select2 = selector$2(select2);
1059
1080
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
1060
- for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
1061
- if ((node = group[i]) && (subnode = select2.call(node, node.__data__, i, group))) {
1081
+ for (var group2 = groups[j], n = group2.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
1082
+ if ((node = group2[i]) && (subnode = select2.call(node, node.__data__, i, group2))) {
1062
1083
  if ("__data__" in node) subnode.__data__ = node.__data__;
1063
1084
  subgroup[i] = subnode;
1064
1085
  }
@@ -1086,9 +1107,9 @@ function selection_selectAll$2(select2) {
1086
1107
  if (typeof select2 === "function") select2 = arrayAll(select2);
1087
1108
  else select2 = selectorAll$2(select2);
1088
1109
  for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
1089
- for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
1090
- if (node = group[i]) {
1091
- subgroups.push(select2.call(node, node.__data__, i, group));
1110
+ for (var group2 = groups[j], n = group2.length, node, i = 0; i < n; ++i) {
1111
+ if (node = group2[i]) {
1112
+ subgroups.push(select2.call(node, node.__data__, i, group2));
1092
1113
  parents.push(node);
1093
1114
  }
1094
1115
  }
@@ -1132,8 +1153,8 @@ function selection_selectChildren(match) {
1132
1153
  function selection_filter$2(match) {
1133
1154
  if (typeof match !== "function") match = matcher$2(match);
1134
1155
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
1135
- for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
1136
- if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
1156
+ for (var group2 = groups[j], n = group2.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
1157
+ if ((node = group2[i]) && match.call(node, node.__data__, i, group2)) {
1137
1158
  subgroup.push(node);
1138
1159
  }
1139
1160
  }
@@ -1173,10 +1194,10 @@ function constant$b(x2) {
1173
1194
  return x2;
1174
1195
  };
1175
1196
  }
1176
- function bindIndex$2(parent, group, enter, update, exit, data) {
1177
- var i = 0, node, groupLength = group.length, dataLength = data.length;
1197
+ function bindIndex$2(parent, group2, enter, update, exit, data) {
1198
+ var i = 0, node, groupLength = group2.length, dataLength = data.length;
1178
1199
  for (; i < dataLength; ++i) {
1179
- if (node = group[i]) {
1200
+ if (node = group2[i]) {
1180
1201
  node.__data__ = data[i];
1181
1202
  update[i] = node;
1182
1203
  } else {
@@ -1184,16 +1205,16 @@ function bindIndex$2(parent, group, enter, update, exit, data) {
1184
1205
  }
1185
1206
  }
1186
1207
  for (; i < groupLength; ++i) {
1187
- if (node = group[i]) {
1208
+ if (node = group2[i]) {
1188
1209
  exit[i] = node;
1189
1210
  }
1190
1211
  }
1191
1212
  }
1192
- function bindKey$2(parent, group, enter, update, exit, data, key) {
1193
- var i, node, nodeByKeyValue = /* @__PURE__ */ new Map(), groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue;
1213
+ function bindKey$2(parent, group2, enter, update, exit, data, key) {
1214
+ var i, node, nodeByKeyValue = /* @__PURE__ */ new Map(), groupLength = group2.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue;
1194
1215
  for (i = 0; i < groupLength; ++i) {
1195
- if (node = group[i]) {
1196
- keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + "";
1216
+ if (node = group2[i]) {
1217
+ keyValues[i] = keyValue = key.call(node, node.__data__, i, group2) + "";
1197
1218
  if (nodeByKeyValue.has(keyValue)) {
1198
1219
  exit[i] = node;
1199
1220
  } else {
@@ -1212,7 +1233,7 @@ function bindKey$2(parent, group, enter, update, exit, data, key) {
1212
1233
  }
1213
1234
  }
1214
1235
  for (i = 0; i < groupLength; ++i) {
1215
- if ((node = group[i]) && nodeByKeyValue.get(keyValues[i]) === node) {
1236
+ if ((node = group2[i]) && nodeByKeyValue.get(keyValues[i]) === node) {
1216
1237
  exit[i] = node;
1217
1238
  }
1218
1239
  }
@@ -1225,8 +1246,8 @@ function selection_data$2(value2, key) {
1225
1246
  var bind = key ? bindKey$2 : bindIndex$2, parents = this._parents, groups = this._groups;
1226
1247
  if (typeof value2 !== "function") value2 = constant$b(value2);
1227
1248
  for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {
1228
- var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike(value2.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);
1229
- bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);
1249
+ var parent = parents[j], group2 = groups[j], groupLength = group2.length, data = arraylike(value2.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);
1250
+ bind(parent, group2, enterGroup, updateGroup, exitGroup, data, key);
1230
1251
  for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {
1231
1252
  if (previous = enterGroup[i0]) {
1232
1253
  if (i0 >= i1) i1 = i0 + 1;
@@ -1278,8 +1299,8 @@ function selection_merge$2(context) {
1278
1299
  }
1279
1300
  function selection_order$2() {
1280
1301
  for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) {
1281
- for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0; ) {
1282
- if (node = group[i]) {
1302
+ for (var group2 = groups[j], i = group2.length - 1, next = group2[i], node; --i >= 0; ) {
1303
+ if (node = group2[i]) {
1283
1304
  if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);
1284
1305
  next = node;
1285
1306
  }
@@ -1293,8 +1314,8 @@ function selection_sort$2(compare) {
1293
1314
  return a2 && b ? compare(a2.__data__, b.__data__) : !a2 - !b;
1294
1315
  }
1295
1316
  for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {
1296
- for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {
1297
- if (node = group[i]) {
1317
+ for (var group2 = groups[j], n = group2.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {
1318
+ if (node = group2[i]) {
1298
1319
  sortgroup[i] = node;
1299
1320
  }
1300
1321
  }
@@ -1316,8 +1337,8 @@ function selection_nodes$2() {
1316
1337
  }
1317
1338
  function selection_node$2() {
1318
1339
  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
1319
- for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {
1320
- var node = group[i];
1340
+ for (var group2 = groups[j], i = 0, n = group2.length; i < n; ++i) {
1341
+ var node = group2[i];
1321
1342
  if (node) return node;
1322
1343
  }
1323
1344
  }
@@ -1333,8 +1354,8 @@ function selection_empty$2() {
1333
1354
  }
1334
1355
  function selection_each$2(callback) {
1335
1356
  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
1336
- for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {
1337
- if (node = group[i]) callback.call(node, node.__data__, i, group);
1357
+ for (var group2 = groups[j], i = 0, n = group2.length, node; i < n; ++i) {
1358
+ if (node = group2[i]) callback.call(node, node.__data__, i, group2);
1338
1359
  }
1339
1360
  }
1340
1361
  return this;
@@ -1657,8 +1678,8 @@ function selection_dispatch$2(type, params) {
1657
1678
  }
1658
1679
  function* selection_iterator() {
1659
1680
  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
1660
- for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {
1661
- if (node = group[i]) yield node;
1681
+ for (var group2 = groups[j], i = 0, n = group2.length, node; i < n; ++i) {
1682
+ if (node = group2[i]) yield node;
1662
1683
  }
1663
1684
  }
1664
1685
  }
@@ -2751,7 +2772,7 @@ var STARTED$1 = 3;
2751
2772
  var RUNNING$1 = 4;
2752
2773
  var ENDING$1 = 5;
2753
2774
  var ENDED$1 = 6;
2754
- function schedule$1(node, name, id2, index2, group, timing) {
2775
+ function schedule$1(node, name, id2, index2, group2, timing) {
2755
2776
  var schedules = node.__transition;
2756
2777
  if (!schedules) node.__transition = {};
2757
2778
  else if (id2 in schedules) return;
@@ -2759,7 +2780,7 @@ function schedule$1(node, name, id2, index2, group, timing) {
2759
2780
  name,
2760
2781
  index: index2,
2761
2782
  // For context during callback.
2762
- group,
2783
+ group: group2,
2763
2784
  // For context during callback.
2764
2785
  on: emptyOn$1,
2765
2786
  tween: emptyTween$1,
@@ -3074,8 +3095,8 @@ function transition_easeVarying(value2) {
3074
3095
  function transition_filter$1(match) {
3075
3096
  if (typeof match !== "function") match = matcher$2(match);
3076
3097
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
3077
- for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
3078
- if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
3098
+ for (var group2 = groups[j], n = group2.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
3099
+ if ((node = group2[i]) && match.call(node, node.__data__, i, group2)) {
3079
3100
  subgroup.push(node);
3080
3101
  }
3081
3102
  }
@@ -3129,8 +3150,8 @@ function transition_select$1(select2) {
3129
3150
  var name = this._name, id2 = this._id;
3130
3151
  if (typeof select2 !== "function") select2 = selector$2(select2);
3131
3152
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
3132
- for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
3133
- if ((node = group[i]) && (subnode = select2.call(node, node.__data__, i, group))) {
3153
+ for (var group2 = groups[j], n = group2.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
3154
+ if ((node = group2[i]) && (subnode = select2.call(node, node.__data__, i, group2))) {
3134
3155
  if ("__data__" in node) subnode.__data__ = node.__data__;
3135
3156
  subgroup[i] = subnode;
3136
3157
  schedule$1(subgroup[i], name, id2, i, subgroup, get$5(node, id2));
@@ -3143,9 +3164,9 @@ function transition_selectAll$1(select2) {
3143
3164
  var name = this._name, id2 = this._id;
3144
3165
  if (typeof select2 !== "function") select2 = selectorAll$2(select2);
3145
3166
  for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
3146
- for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
3147
- if (node = group[i]) {
3148
- for (var children2 = select2.call(node, node.__data__, i, group), child, inherit2 = get$5(node, id2), k2 = 0, l = children2.length; k2 < l; ++k2) {
3167
+ for (var group2 = groups[j], n = group2.length, node, i = 0; i < n; ++i) {
3168
+ if (node = group2[i]) {
3169
+ for (var children2 = select2.call(node, node.__data__, i, group2), child, inherit2 = get$5(node, id2), k2 = 0, l = children2.length; k2 < l; ++k2) {
3149
3170
  if (child = children2[k2]) {
3150
3171
  schedule$1(child, name, id2, k2, children2, inherit2);
3151
3172
  }
@@ -3261,10 +3282,10 @@ function transition_textTween$1(value2) {
3261
3282
  function transition_transition$1() {
3262
3283
  var name = this._name, id0 = this._id, id1 = newId$1();
3263
3284
  for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {
3264
- for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
3265
- if (node = group[i]) {
3285
+ for (var group2 = groups[j], n = group2.length, node, i = 0; i < n; ++i) {
3286
+ if (node = group2[i]) {
3266
3287
  var inherit2 = get$5(node, id0);
3267
- schedule$1(node, name, id1, i, group, {
3288
+ schedule$1(node, name, id1, i, group2, {
3268
3289
  time: inherit2.time + inherit2.delay + inherit2.duration,
3269
3290
  delay: 0,
3270
3291
  duration: inherit2.duration,
@@ -3407,9 +3428,9 @@ function selection_transition$1(name) {
3407
3428
  id2 = newId$1(), (timing = defaultTiming$1).time = now$1(), name = name == null ? null : name + "";
3408
3429
  }
3409
3430
  for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {
3410
- for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
3411
- if (node = group[i]) {
3412
- schedule$1(node, name, id2, i, group, timing || inherit$1(node, id2));
3431
+ for (var group2 = groups[j], n = group2.length, node, i = 0; i < n; ++i) {
3432
+ if (node = group2[i]) {
3433
+ schedule$1(node, name, id2, i, group2, timing || inherit$1(node, id2));
3413
3434
  }
3414
3435
  }
3415
3436
  }
@@ -3619,7 +3640,7 @@ function identity$5(x2) {
3619
3640
  }
3620
3641
  var map = Array.prototype.map, prefixes = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"];
3621
3642
  function formatLocale(locale2) {
3622
- var group = locale2.grouping === void 0 || locale2.thousands === void 0 ? identity$5 : formatGroup(map.call(locale2.grouping, Number), locale2.thousands + ""), currencyPrefix = locale2.currency === void 0 ? "" : locale2.currency[0] + "", currencySuffix = locale2.currency === void 0 ? "" : locale2.currency[1] + "", decimal = locale2.decimal === void 0 ? "." : locale2.decimal + "", numerals = locale2.numerals === void 0 ? identity$5 : formatNumerals(map.call(locale2.numerals, String)), percent = locale2.percent === void 0 ? "%" : locale2.percent + "", minus = locale2.minus === void 0 ? "−" : locale2.minus + "", nan = locale2.nan === void 0 ? "NaN" : locale2.nan + "";
3643
+ var group2 = locale2.grouping === void 0 || locale2.thousands === void 0 ? identity$5 : formatGroup(map.call(locale2.grouping, Number), locale2.thousands + ""), currencyPrefix = locale2.currency === void 0 ? "" : locale2.currency[0] + "", currencySuffix = locale2.currency === void 0 ? "" : locale2.currency[1] + "", decimal = locale2.decimal === void 0 ? "." : locale2.decimal + "", numerals = locale2.numerals === void 0 ? identity$5 : formatNumerals(map.call(locale2.numerals, String)), percent = locale2.percent === void 0 ? "%" : locale2.percent + "", minus = locale2.minus === void 0 ? "−" : locale2.minus + "", nan = locale2.nan === void 0 ? "NaN" : locale2.nan + "";
3623
3644
  function newFormat(specifier) {
3624
3645
  specifier = formatSpecifier(specifier);
3625
3646
  var fill = specifier.fill, align = specifier.align, sign2 = specifier.sign, symbol = specifier.symbol, zero2 = specifier.zero, width = specifier.width, comma = specifier.comma, precision = specifier.precision, trim = specifier.trim, type = specifier.type;
@@ -3653,9 +3674,9 @@ function formatLocale(locale2) {
3653
3674
  }
3654
3675
  }
3655
3676
  }
3656
- if (comma && !zero2) value2 = group(value2, Infinity);
3677
+ if (comma && !zero2) value2 = group2(value2, Infinity);
3657
3678
  var length = valuePrefix.length + value2.length + valueSuffix.length, padding = length < width ? new Array(width - length + 1).join(fill) : "";
3658
- if (comma && zero2) value2 = group(padding + value2, padding.length ? width - valueSuffix.length : Infinity), padding = "";
3679
+ if (comma && zero2) value2 = group2(padding + value2, padding.length ? width - valueSuffix.length : Infinity), padding = "";
3659
3680
  switch (align) {
3660
3681
  case "<":
3661
3682
  value2 = valuePrefix + value2 + valueSuffix + padding;
@@ -7331,8 +7352,8 @@ function selector$1(selector2) {
7331
7352
  function selection_select$1(select2) {
7332
7353
  if (typeof select2 !== "function") select2 = selector$1(select2);
7333
7354
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
7334
- for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
7335
- if ((node = group[i]) && (subnode = select2.call(node, node.__data__, i, group))) {
7355
+ for (var group2 = groups[j], n = group2.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
7356
+ if ((node = group2[i]) && (subnode = select2.call(node, node.__data__, i, group2))) {
7336
7357
  if ("__data__" in node) subnode.__data__ = node.__data__;
7337
7358
  subgroup[i] = subnode;
7338
7359
  }
@@ -7351,9 +7372,9 @@ function selectorAll$1(selector2) {
7351
7372
  function selection_selectAll$1(select2) {
7352
7373
  if (typeof select2 !== "function") select2 = selectorAll$1(select2);
7353
7374
  for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
7354
- for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
7355
- if (node = group[i]) {
7356
- subgroups.push(select2.call(node, node.__data__, i, group));
7375
+ for (var group2 = groups[j], n = group2.length, node, i = 0; i < n; ++i) {
7376
+ if (node = group2[i]) {
7377
+ subgroups.push(select2.call(node, node.__data__, i, group2));
7357
7378
  parents.push(node);
7358
7379
  }
7359
7380
  }
@@ -7368,8 +7389,8 @@ function matcher$1(selector2) {
7368
7389
  function selection_filter$1(match) {
7369
7390
  if (typeof match !== "function") match = matcher$1(match);
7370
7391
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
7371
- for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
7372
- if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
7392
+ for (var group2 = groups[j], n = group2.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
7393
+ if ((node = group2[i]) && match.call(node, node.__data__, i, group2)) {
7373
7394
  subgroup.push(node);
7374
7395
  }
7375
7396
  }
@@ -7410,10 +7431,10 @@ function constant$5(x2) {
7410
7431
  };
7411
7432
  }
7412
7433
  var keyPrefix$1 = "$";
7413
- function bindIndex$1(parent, group, enter, update, exit, data) {
7414
- var i = 0, node, groupLength = group.length, dataLength = data.length;
7434
+ function bindIndex$1(parent, group2, enter, update, exit, data) {
7435
+ var i = 0, node, groupLength = group2.length, dataLength = data.length;
7415
7436
  for (; i < dataLength; ++i) {
7416
- if (node = group[i]) {
7437
+ if (node = group2[i]) {
7417
7438
  node.__data__ = data[i];
7418
7439
  update[i] = node;
7419
7440
  } else {
@@ -7421,16 +7442,16 @@ function bindIndex$1(parent, group, enter, update, exit, data) {
7421
7442
  }
7422
7443
  }
7423
7444
  for (; i < groupLength; ++i) {
7424
- if (node = group[i]) {
7445
+ if (node = group2[i]) {
7425
7446
  exit[i] = node;
7426
7447
  }
7427
7448
  }
7428
7449
  }
7429
- function bindKey$1(parent, group, enter, update, exit, data, key) {
7430
- var i, node, nodeByKeyValue = {}, groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue;
7450
+ function bindKey$1(parent, group2, enter, update, exit, data, key) {
7451
+ var i, node, nodeByKeyValue = {}, groupLength = group2.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue;
7431
7452
  for (i = 0; i < groupLength; ++i) {
7432
- if (node = group[i]) {
7433
- keyValues[i] = keyValue = keyPrefix$1 + key.call(node, node.__data__, i, group);
7453
+ if (node = group2[i]) {
7454
+ keyValues[i] = keyValue = keyPrefix$1 + key.call(node, node.__data__, i, group2);
7434
7455
  if (keyValue in nodeByKeyValue) {
7435
7456
  exit[i] = node;
7436
7457
  } else {
@@ -7449,7 +7470,7 @@ function bindKey$1(parent, group, enter, update, exit, data, key) {
7449
7470
  }
7450
7471
  }
7451
7472
  for (i = 0; i < groupLength; ++i) {
7452
- if ((node = group[i]) && nodeByKeyValue[keyValues[i]] === node) {
7473
+ if ((node = group2[i]) && nodeByKeyValue[keyValues[i]] === node) {
7453
7474
  exit[i] = node;
7454
7475
  }
7455
7476
  }
@@ -7465,8 +7486,8 @@ function selection_data$1(value2, key) {
7465
7486
  var bind = key ? bindKey$1 : bindIndex$1, parents = this._parents, groups = this._groups;
7466
7487
  if (typeof value2 !== "function") value2 = constant$5(value2);
7467
7488
  for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {
7468
- var parent = parents[j], group = groups[j], groupLength = group.length, data = value2.call(parent, parent && parent.__data__, j, parents), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);
7469
- bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);
7489
+ var parent = parents[j], group2 = groups[j], groupLength = group2.length, data = value2.call(parent, parent && parent.__data__, j, parents), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);
7490
+ bind(parent, group2, enterGroup, updateGroup, exitGroup, data, key);
7470
7491
  for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {
7471
7492
  if (previous = enterGroup[i0]) {
7472
7493
  if (i0 >= i1) i1 = i0 + 1;
@@ -7506,8 +7527,8 @@ function selection_merge$1(selection2) {
7506
7527
  }
7507
7528
  function selection_order$1() {
7508
7529
  for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) {
7509
- for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0; ) {
7510
- if (node = group[i]) {
7530
+ for (var group2 = groups[j], i = group2.length - 1, next = group2[i], node; --i >= 0; ) {
7531
+ if (node = group2[i]) {
7511
7532
  if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);
7512
7533
  next = node;
7513
7534
  }
@@ -7521,8 +7542,8 @@ function selection_sort$1(compare) {
7521
7542
  return a2 && b ? compare(a2.__data__, b.__data__) : !a2 - !b;
7522
7543
  }
7523
7544
  for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {
7524
- for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {
7525
- if (node = group[i]) {
7545
+ for (var group2 = groups[j], n = group2.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {
7546
+ if (node = group2[i]) {
7526
7547
  sortgroup[i] = node;
7527
7548
  }
7528
7549
  }
@@ -7548,8 +7569,8 @@ function selection_nodes$1() {
7548
7569
  }
7549
7570
  function selection_node$1() {
7550
7571
  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
7551
- for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {
7552
- var node = group[i];
7572
+ for (var group2 = groups[j], i = 0, n = group2.length; i < n; ++i) {
7573
+ var node = group2[i];
7553
7574
  if (node) return node;
7554
7575
  }
7555
7576
  }
@@ -7567,8 +7588,8 @@ function selection_empty$1() {
7567
7588
  }
7568
7589
  function selection_each$1(callback) {
7569
7590
  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
7570
- for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {
7571
- if (node = group[i]) callback.call(node, node.__data__, i, group);
7591
+ for (var group2 = groups[j], i = 0, n = group2.length, node; i < n; ++i) {
7592
+ if (node = group2[i]) callback.call(node, node.__data__, i, group2);
7572
7593
  }
7573
7594
  }
7574
7595
  return this;
@@ -7810,8 +7831,8 @@ if (typeof document !== "undefined") {
7810
7831
  filterEvents$1 = { mouseenter: "mouseover", mouseleave: "mouseout" };
7811
7832
  }
7812
7833
  }
7813
- function filterContextListener$1(listener, index2, group) {
7814
- listener = contextListener$1(listener, index2, group);
7834
+ function filterContextListener$1(listener, index2, group2) {
7835
+ listener = contextListener$1(listener, index2, group2);
7815
7836
  return function(event2) {
7816
7837
  var related = event2.relatedTarget;
7817
7838
  if (!related || related !== this && !(related.compareDocumentPosition(this) & 8)) {
@@ -7819,12 +7840,12 @@ function filterContextListener$1(listener, index2, group) {
7819
7840
  }
7820
7841
  };
7821
7842
  }
7822
- function contextListener$1(listener, index2, group) {
7843
+ function contextListener$1(listener, index2, group2) {
7823
7844
  return function(event1) {
7824
7845
  var event0 = event;
7825
7846
  event = event1;
7826
7847
  try {
7827
- listener.call(this, this.__data__, index2, group);
7848
+ listener.call(this, this.__data__, index2, group2);
7828
7849
  } finally {
7829
7850
  event = event0;
7830
7851
  }
@@ -7854,8 +7875,8 @@ function onRemove$1(typename) {
7854
7875
  }
7855
7876
  function onAdd$1(typename, value2, capture) {
7856
7877
  var wrap3 = filterEvents$1.hasOwnProperty(typename.type) ? filterContextListener$1 : contextListener$1;
7857
- return function(d, i, group) {
7858
- var on = this.__on, o, listener = wrap3(value2, i, group);
7878
+ return function(d, i, group2) {
7879
+ var on = this.__on, o, listener = wrap3(value2, i, group2);
7859
7880
  if (on) for (var j = 0, m = on.length; j < m; ++j) {
7860
7881
  if ((o = on[j]).type === typename.type && o.name === typename.name) {
7861
7882
  this.removeEventListener(o.type, o.listener, o.capture);
@@ -9471,8 +9492,8 @@ var circleHandles = function circleHandles2(_ref2) {
9471
9492
  return h;
9472
9493
  };
9473
9494
  var addHandles = function addHandles2(_ref5) {
9474
- var group = _ref5.group, handles = _ref5.handles, _ref5$r = _ref5.r, r = _ref5$r === void 0 ? 10 : _ref5$r;
9475
- var h = group.selectAll("circle.handle").data(handles);
9495
+ var group2 = _ref5.group, handles = _ref5.handles, _ref5$r = _ref5.r, r = _ref5$r === void 0 ? 10 : _ref5$r;
9496
+ var h = group2.selectAll("circle.handle").data(handles);
9476
9497
  h.enter().append("circle").attr("class", "handle").attr("fill", "grey").attr("fill-opacity", 0.1).attr("cursor", "move").attr("stroke-dasharray", 5).attr("stroke", "grey").call(drag().container(select$1("g.annotations").node()).on("start", function(d) {
9477
9498
  return d.start && d.start(d);
9478
9499
  }).on("drag", function(d) {
@@ -9480,7 +9501,7 @@ var addHandles = function addHandles2(_ref5) {
9480
9501
  }).on("end", function(d) {
9481
9502
  return d.end && d.end(d);
9482
9503
  }));
9483
- group.selectAll("circle.handle").attr("cx", function(d) {
9504
+ group2.selectAll("circle.handle").attr("cx", function(d) {
9484
9505
  return d.x;
9485
9506
  }).attr("cy", function(d) {
9486
9507
  return d.y;
@@ -10496,9 +10517,9 @@ var d3XYThreshold = customType(ThresholdMap, {
10496
10517
  subject: { type: "threshold" }
10497
10518
  });
10498
10519
  var newWithClass = function newWithClass2(a2, d, type, className, classID) {
10499
- var group = a2.selectAll(type + "." + (classID || className)).data(d);
10500
- group.enter().append(type).merge(group).attr("class", className);
10501
- group.exit().remove();
10520
+ var group2 = a2.selectAll(type + "." + (classID || className)).data(d);
10521
+ group2.enter().append(type).merge(group2).attr("class", className);
10522
+ group2.exit().remove();
10502
10523
  return a2;
10503
10524
  };
10504
10525
  var addHandlers = function addHandlers2(dispatcher, annotation2, _ref3) {
@@ -10571,9 +10592,9 @@ function annotation() {
10571
10592
  });
10572
10593
  var annotationG = selection2.selectAll("g").data([collection]);
10573
10594
  annotationG.enter().append("g").attr("class", "annotations");
10574
- var group = selection2.select("g.annotations");
10575
- newWithClass(group, collection.annotations, "g", "annotation");
10576
- var annotation4 = group.selectAll("g.annotation");
10595
+ var group2 = selection2.select("g.annotations");
10596
+ newWithClass(group2, collection.annotations, "g", "annotation");
10597
+ var annotation4 = group2.selectAll("g.annotation");
10577
10598
  annotation4.each(function(d) {
10578
10599
  var a2 = select$1(this);
10579
10600
  a2.attr("class", "annotation");
@@ -11577,7 +11598,7 @@ var chartTypes = /* @__PURE__ */ ((chartTypes2) => {
11577
11598
  chartTypes2["CombinationArea"] = "CombinationArea";
11578
11599
  chartTypes2["CombinationStackArea"] = "CombinationStackArea";
11579
11600
  chartTypes2["TornadoDefaultEntry"] = "defaultEntry";
11580
- chartTypes2["ClevelandDotPlot"] = "ClevelandDotPlot";
11601
+ chartTypes2["DotPlot"] = "DotPlot";
11581
11602
  return chartTypes2;
11582
11603
  })(chartTypes || {});
11583
11604
  const connecterCurve = {
@@ -12374,10 +12395,10 @@ function initChartArea$1(svg, margin) {
12374
12395
  throw error;
12375
12396
  }
12376
12397
  }
12377
- function initPlotArea(g, formatOptions, dataTableHeight, innerWidth2, innerHeight2, chartType) {
12398
+ function initPlotArea(g, formatOptions, dataTableHeight, innerWidth2, innerHeight2, chartType, chartId) {
12378
12399
  try {
12379
- let uniqueID = crypto.randomUUID().toUpperCase();
12380
- g.append("defs").append("clipPath").attr("id", uniqueID).append("rect").attr("width", innerWidth2).attr(
12400
+ let uniqueID = chartId ?? crypto.randomUUID().toUpperCase();
12401
+ g.append("defs").append("clipPath").attr("id", uniqueID + "-clip").append("rect").attr("width", innerWidth2).attr(
12381
12402
  "height",
12382
12403
  dataTableHeight > 0 ? innerHeight2 - dataTableHeight : innerHeight2
12383
12404
  );
@@ -13374,7 +13395,8 @@ function commonAnnotations(chartData, xScale, yScaleLeft, yScaleRight, margin, d
13374
13395
  } else {
13375
13396
  if (barChart) {
13376
13397
  const legendUniqueId = d.legendUniqueId.includes("~$~") ? d.legendUniqueId.split("~$~")[0] : d.legendUniqueId;
13377
- return isTornadoChart ? xScaleForLegends(d.y) + xScaleForLegends.bandwidth() / 2 : xScaleForLegends ? xScale(d.y) + xScaleForLegends(legendUniqueId) - (columnWidth - xScaleForLegends.bandwidth()) / 2 - 5 : xScale(d.y) - 5;
13398
+ const xScaleLegend = chartType !== chartTypes.DotPlot ? xScaleForLegends(legendUniqueId) : 0;
13399
+ return isTornadoChart ? xScaleForLegends(d.y) + xScaleForLegends.bandwidth() / 2 : xScaleForLegends ? xScale(d.y) + xScaleLegend - (columnWidth - xScaleForLegends.bandwidth()) / 2 - 5 : xScale(d.y) - 5;
13378
13400
  } else
13379
13401
  return dataLabelsPosition(
13380
13402
  d.y.measure,
@@ -15462,10 +15484,10 @@ const initYaxisBar = (formatOptions, gTag, xLabel, innerHeight2, innerWidth2, yA
15462
15484
  const isRotationZero = formatOptions.xAxisLabel.xAxisLabelRotation == 0;
15463
15485
  let yRect = gTag.append("rect").attr("id", "yAxisRect").attr(
15464
15486
  "transform",
15465
- chartType === chartTypes.TornadoChart ? `translate(${-xLabelMargin + 10},0)` : `translate(${xaxisLabelPosition === 0 ? -xLabelMargin - 5 : xaxisLabelPosition === 1 ? innerWidth2 : xScaleBottom(0) + (-xLabelMargin - 5)},0)`
15487
+ chartType === chartTypes.TornadoChart ? `translate(${-xLabelMargin - 1},0)` : `translate(${xaxisLabelPosition === 0 ? -xLabelMargin - 5 : xaxisLabelPosition === 1 ? innerWidth2 : xScaleBottom(0) + (-xLabelMargin - 5)},0)`
15466
15488
  ).attr("height", innerHeight2).attr(
15467
15489
  "width",
15468
- chartType === chartTypes.TornadoChart ? xLabelMargin + 20 : xLabelMargin + 5
15490
+ chartType === chartTypes.TornadoChart ? xLabelMargin : xLabelMargin + 5
15469
15491
  ).attr(
15470
15492
  "fill",
15471
15493
  formatOptions.xAxisLabel.xAxisLabelVisibility ? formatOptions.xAxisLabel.xAxisBackgroundColor ? formatOptions.xAxisLabel.xAxisBackgroundColor !== commonColors.white ? formatOptions.xAxisLabel.xAxisBackgroundColor : "none" : formatOptions.chartArea.chartAreaColor : formatOptions.chartArea.chartAreaColor
@@ -15730,7 +15752,7 @@ const horizontalScrollBar = (seriesData, height, width, svg, margin, innerWidth2
15730
15752
  );
15731
15753
  svg.on("wheel", (event2) => {
15732
15754
  event2.preventDefault();
15733
- const scrollDelta = Math.abs(event2.deltaX) > Math.abs(event2.deltaY) ? event2.deltaX : event2.deltaY;
15755
+ const scrollDelta = isBarChart ? event2.deltaY : event2.deltaX;
15734
15756
  const step2 = scrollDelta > 0 ? 1 : -1;
15735
15757
  updateFromScrollPosition(step2, scrollMax, handleWidth, handle, true);
15736
15758
  if (isBarChart) {
@@ -16071,9 +16093,6 @@ function calculateMaxLegendWidth(list, formatOptions) {
16071
16093
  }
16072
16094
  function lineMarkers(lines, chartData, type, xScale, yScale, yScaleRight, tooltipHandle, formatOptions, chartJSON, secondaryCustomYaxisMaxValue, secondaryCustomYaxisMinValue, customYaxisMinValue, customYaxisMaxValue, isNormalizedChart) {
16073
16095
  try {
16074
- let Markershapes = function(Shape) {
16075
- return Shape == "Square" ? square : Shape == "Circle" ? circle : Shape == "Cross" ? cross : Shape == "Triangle" ? triangle : Shape == "Star" ? star : Shape == "Diamond" ? diamond : Shape == "Wye" ? wye : circle;
16076
- };
16077
16096
  let hideZeroValues = formatOptions.plotArea.hideZeroValues;
16078
16097
  formatOptions.plotArea.plotAreaHideLineAndMarkers === void 0 ? formatOptions.plotArea.plotAreaHideLineAndMarkers = true : null;
16079
16098
  chartData.forEach(
@@ -16091,8 +16110,8 @@ function lineMarkers(lines, chartData, type, xScale, yScale, yScaleRight, toolti
16091
16110
  let markerGroupsEnter = markerGroups.enter().append("g").attr("class", "parentGroup").attr("hoverId", (d) => (d.properties.alias || d.properties.name || "Legend").replace(/\s+/g, "-"));
16092
16111
  let mergedMarkerGroups = markerGroupsEnter.merge(markerGroups);
16093
16112
  mergedMarkerGroups.each(function(groupData) {
16094
- const group = select$2(this);
16095
- let markers = group.selectAll("path").data(groupData.data);
16113
+ const group2 = select$2(this);
16114
+ let markers = group2.selectAll("path").data(groupData.data);
16096
16115
  let markersEnter = markers.enter().append("path").attr("fill", (d) => d.markerColor);
16097
16116
  markersEnter.merge(markers).attr("d", (d) => {
16098
16117
  return Symbol$1().type(Markershapes(d.markerShape)).size(d.markerSize * 50)();
@@ -16167,6 +16186,9 @@ function lineMarkers(lines, chartData, type, xScale, yScale, yScaleRight, toolti
16167
16186
  logError$2(fileName$b, "lineMarkers", error);
16168
16187
  }
16169
16188
  }
16189
+ function Markershapes(Shape) {
16190
+ return Shape == "Square" ? square : Shape == "Circle" ? circle : Shape == "Cross" ? cross : Shape == "Triangle" ? triangle : Shape == "Star" ? star : Shape == "Diamond" ? diamond : Shape == "Wye" ? wye : circle;
16191
+ }
16170
16192
  const checkVisibleConditions = (chartData, d, type, hideZeroValues, yScaleRight, customYaxisMinValue, customYaxisMaxValue) => {
16171
16193
  try {
16172
16194
  if (chartData[0].properties.axis && chartData[0].properties.axis === "Secondary") {
@@ -16385,8 +16407,8 @@ function getAutoNumberWithFormat(value2) {
16385
16407
  }
16386
16408
  function showTooltipOnMouseMove(elements, chartFormatOptions, event2, prop) {
16387
16409
  try {
16388
- const markerColor = prop.color ?? prop?.markerColor ?? "blue";
16389
- const markerShape = prop?.markerShape.toLowerCase() ?? "circle";
16410
+ const markerColor = prop?.color ?? prop?.markerColor ?? "blue";
16411
+ const markerShape = prop?.markerShape?.toLowerCase() ?? "circle";
16390
16412
  const isLightTheme = chartFormatOptions.toolTip.toolTipTheme === "Light";
16391
16413
  const bgColor = isLightTheme ? "rgba(255, 255, 255)" : "#272729ff";
16392
16414
  const textColor = isLightTheme ? "black" : commonColors.white;
@@ -17102,12 +17124,12 @@ function modifySeriesDataForTornadoChart(seriesData, data, isAdvanceAnalyticsCha
17102
17124
  };
17103
17125
  const measureMap = /* @__PURE__ */ new Map();
17104
17126
  data?.LegendList?.forEach((legend) => {
17105
- measureMap.set(splitLengend(legend?.name), legend);
17127
+ measureMap.set(isAdvanceAnalyticsChart ? splitLengend(legend?.name) : legend.measureUniqueId, legend);
17106
17128
  });
17107
17129
  return seriesData.map((series) => {
17108
17130
  return {
17109
17131
  ...series,
17110
- properties: measureMap.get(isAdvanceAnalyticsChart ? splitLengend(series.legend) : series.properties.currentMeasure) ?? series.properties
17132
+ properties: measureMap.get(isAdvanceAnalyticsChart ? splitLengend(series.legend) : series.properties.measureUniqueId) ?? series.properties
17111
17133
  };
17112
17134
  }).filter((series) => series.data[0].value !== 0);
17113
17135
  } catch (_) {
@@ -17586,9 +17608,7 @@ const ColumnChart = ({
17586
17608
  (data2.properties.alias || data2.properties.name || "Legend").replace(/ /g, "-");
17587
17609
  hideTooltipOnMouseOut();
17588
17610
  });
17589
- columnGroups.exit().remove().each(function(d) {
17590
- console.log("Exiting:", d.dimension, d.legend);
17591
- });
17611
+ columnGroups.exit().remove();
17592
17612
  });
17593
17613
  gTag.selectAll(".parentGroup").raise();
17594
17614
  };
@@ -18316,7 +18336,7 @@ const CustomColumnChart = ({
18316
18336
  (d) => xScale(d.dimension) ? xScale(d.dimension) : null
18317
18337
  ).y(
18318
18338
  (d) => d.axis == axisTypes.primary ? yScaleLeft(d.value) : yScaleRight(d.value)
18319
- ).defined((d) => d.hideZero ? Boolean(d.value) : true).curve(getCurveType(formatOptions));
18339
+ ).defined((d) => formatOptions?.plotArea?.hideZeroValues ? Boolean(d.value) : true).curve(getCurveType(formatOptions));
18320
18340
  let lines = gTag.selectAll(".lines.parentGroup").data([1]);
18321
18341
  lines = lines.enter().append("g").attr("class", "lines parentGroup").merge(lines);
18322
18342
  let lineGroups = lines.selectAll(".line-group").data(lineData, (d) => d.properties.legendUniqueId);
@@ -22183,7 +22203,7 @@ const LineChart = ({
22183
22203
  (d2) => d2.properties.lineStyle !== "None" ? d2.properties.lineWidth : 0
22184
22204
  ).attr(
22185
22205
  "hoverId",
22186
- (d.properties.alias || lineGroups.properties.name || "Legend").replace(/\s+/g, "-")
22206
+ (d.properties.alias || d.properties.name || "Legend").replace(/\s+/g, "-")
22187
22207
  ).attr("d", (d2) => lineGenerator(d2.data));
22188
22208
  });
22189
22209
  lineGroups.exit().remove();
@@ -22221,7 +22241,7 @@ const LineChart = ({
22221
22241
  xAxis,
22222
22242
  dimensionHeightWidthArray,
22223
22243
  height,
22224
- innerWidth2 / xScale.length,
22244
+ innerWidth2 / filteredDimension.length,
22225
22245
  isDateType,
22226
22246
  innerWidth2,
22227
22247
  innerHeight2,
@@ -29137,8 +29157,16 @@ const Treemap = ({ data, formatOptions, chartId }) => {
29137
29157
  }
29138
29158
  chartData = chartData.map((d) => {
29139
29159
  let value2 = d.data.data[valueIndex].value;
29140
- d.data.properties["themeColor"] = colorScale(value2.toString());
29141
- return d;
29160
+ return {
29161
+ ...d,
29162
+ data: {
29163
+ ...d.data,
29164
+ properties: {
29165
+ ...d.data.properties,
29166
+ themeColor: colorScale(value2.toString())
29167
+ }
29168
+ }
29169
+ };
29142
29170
  });
29143
29171
  appendColorScale(
29144
29172
  startColor,
@@ -29972,6 +30000,11 @@ const PyramidChart = ({
29972
30000
  annotationsList = [];
29973
30001
  seriesData.forEach((d, i) => {
29974
30002
  try {
30003
+ const type = chartFormatOptions.annotation.annotationVisibility;
30004
+ const lastIndex = seriesData.length - 1;
30005
+ if (type === dataLabelPositionType.none || type === dataLabelPositionType.startOnly && i !== 0 || type === dataLabelPositionType.endOnly && i !== lastIndex || type === dataLabelPositionType.startAndEndBoth && i !== 0 && i !== lastIndex) {
30006
+ return;
30007
+ }
29975
30008
  let singleAnnotation = {
29976
30009
  note: {
29977
30010
  title: chartFormatOptions.plotArea.dataLabelName ? d.properties.alias : "",
@@ -30748,7 +30781,8 @@ const Speedometer = ({
30748
30781
  }
30749
30782
  }
30750
30783
  let valuefontStyle = chartFormatOptions.pointerValue.pointerValueFontStyle;
30751
- let comparedValue = chartAreaTagG.append("g").attr("class", "label").attr("transform", positionTransformString2);
30784
+ chartAreaTagG.selectAll(".pointerValueText").remove();
30785
+ let comparedValue = chartAreaTagG.append("g").attr("class", "pointerValueText").attr("transform", positionTransformString2);
30752
30786
  comparedValue.selectAll("text").data(["chartData.dataArray[1].maximumMeasure"]).enter().append("text").attr("dy", "24").attr("text-anchor", "middle").attr("font-size", chartFormatOptions.pointerValue.pointerValueFontSize).attr(
30753
30787
  "fill",
30754
30788
  chartFormatOptions.pointerValue.pointerValueColor !== commonColors.white ? chartFormatOptions.pointerValue.pointerValueColor : "none"
@@ -30765,11 +30799,7 @@ const Speedometer = ({
30765
30799
  "font-family",
30766
30800
  chartFormatOptions.pointerValue.pointerValueFontFamily
30767
30801
  ).text(
30768
- (d) => `${KPIName}: ${!chartFormatOptions.pointerValue.pointerValueAlias && d != 0 ? getNumberWithFormatFunction(
30769
- "None",
30770
- chartFormatOptions.pointerValue.pointerValueNumberFormat,
30771
- chartFormatOptions.pointerValue.pointerValueDecimalPrecision
30772
- )(ChartData[1].data[0].value) : chartFormatOptions.pointerValue.pointerValueAliasText}`
30802
+ (d) => `${KPIName}: ${!chartFormatOptions.pointerValue.pointerValueAlias && d != 0 ? connectorNumberFormat2(ChartData[0].data[0].value, ChartData[1].data[0].value) : chartFormatOptions.pointerValue.pointerValueAliasText}`
30773
30803
  ).attr(
30774
30804
  "visibility",
30775
30805
  chartFormatOptions.plotArea.dataLabels ? "visible" : "hidden"
@@ -30778,6 +30808,45 @@ const Speedometer = ({
30778
30808
  logError$2(fileName2, "setPointerValueText", error);
30779
30809
  }
30780
30810
  }
30811
+ function connectorNumberFormat2(numerator, denominator) {
30812
+ try {
30813
+ let Measure = numerator - denominator;
30814
+ let noOfYears = 1;
30815
+ let KPI = parseInt(
30816
+ chartFormatOptions.pointerValue.connectorKPIforSpeedometer
30817
+ );
30818
+ let formatter;
30819
+ let value2;
30820
+ const decimalValues = chartFormatOptions.pointerValue.pointerValueDecimalPrecision;
30821
+ switch (KPI) {
30822
+ case 1:
30823
+ Measure = denominator;
30824
+ break;
30825
+ case 2:
30826
+ Measure = Math.abs(Measure);
30827
+ break;
30828
+ case 3:
30829
+ formatter = `.${decimalValues}%`;
30830
+ Measure = Math.pow(denominator / numerator, 1 / noOfYears) - 1;
30831
+ value2 = format(formatter)(Measure);
30832
+ return value2;
30833
+ case 4:
30834
+ formatter = `.${decimalValues}%`;
30835
+ Measure = Math.round(denominator / numerator * 100 - 100) / 100;
30836
+ value2 = format(formatter)(Measure);
30837
+ return value2;
30838
+ }
30839
+ isNaN(Measure) ? Measure = 0 : Measure;
30840
+ return getNumberWithFormatFunction(
30841
+ chartFormatOptions.pointerValue.pointerValueDisplayUnits,
30842
+ chartFormatOptions.pointerValue.pointerValueNumberFormat,
30843
+ decimalValues
30844
+ )(Measure);
30845
+ } catch (error) {
30846
+ logError$2(fileName2, "connectorNumberFormat", error);
30847
+ return "";
30848
+ }
30849
+ }
30781
30850
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
30782
30851
  "svg",
30783
30852
  {
@@ -30857,6 +30926,31 @@ const RadialBarChart = ({
30857
30926
  logError("RadialBarChart.tsx", "loopOverChartData", error);
30858
30927
  }
30859
30928
  };
30929
+ const getModifiedDataForLabels = (data) => {
30930
+ try {
30931
+ const dataLabelType = chartFormatOptions.plotArea.dataLabelsOptions;
30932
+ switch (dataLabelType) {
30933
+ case dataLabelPositionType.automatic:
30934
+ return data.map((item, index2) => {
30935
+ return {
30936
+ ...item,
30937
+ index: index2
30938
+ };
30939
+ });
30940
+ case dataLabelPositionType.startOnly:
30941
+ return [{ ...data[0], index: 0 }];
30942
+ case dataLabelPositionType.endOnly:
30943
+ return [{ ...data[data.length - 1], index: data.length - 1 }];
30944
+ case dataLabelPositionType.startAndEndBoth:
30945
+ return [{ ...data[0], index: 0 }, { ...data[data.length - 1], index: data.length - 1 }];
30946
+ case dataLabelPositionType.none:
30947
+ return [];
30948
+ }
30949
+ } catch (error) {
30950
+ logError("RadialBarChart.tsx", "getModifiedDataForLabels", error);
30951
+ return data;
30952
+ }
30953
+ };
30860
30954
  const initRadialBarChart = () => {
30861
30955
  try {
30862
30956
  let arcTween = function(d, i) {
@@ -30984,7 +31078,7 @@ const RadialBarChart = ({
30984
31078
  "visibility",
30985
31079
  chartFormatOptions.plotArea.axialAxis ? "visible" : "hidden"
30986
31080
  );
30987
- let arcs = svg2.attr("class", "data").selectAll("path").data(ChartData).enter().append("path").attr("class", "parentGroup").attr("hoverId", (d) => d.data[0].legend).style("fill", (d, i) => d.properties.color).on("mousemove", (event2, d) => {
31081
+ let arcs = svg2.attr("class", "data").selectAll("path").data(ChartData).enter().append("path").attr("class", "parentGroup").attr("hoverId", (d) => d.data[0].legend.replaceAll(" ", "-")).style("fill", (d, i) => d.properties.color).on("mousemove", (event2, d) => {
30988
31082
  showTooltipOnMouseMove(
30989
31083
  [
30990
31084
  {
@@ -31012,7 +31106,8 @@ const RadialBarChart = ({
31012
31106
  (d, i) => chartFormatOptions.plotArea.arcTransition ? i * 200 : 0
31013
31107
  ).duration(chartFormatOptions.plotArea.arcTransition ? 500 : 0).attrTween("d", arcTween);
31014
31108
  if (chartFormatOptions.plotArea.dataLabels) {
31015
- svg2.selectAll(".arc-label-" + chartId).data(ChartData).enter().append("text").attr("class", "arc-label-" + chartId).attr("class", "parentGroup").attr("text-anchor", "start").attr("dy", (d, i) => (getOuterRadius(i) - getInnerRadius(i)) / 1.75).append("textPath").attr("xlink:href", (d, i) => `#arc-path-${i}-` + chartId).style("startOffset", "50%").attr("hoverId", (d) => d.legend.replaceAll(" ", "-")).text(
31109
+ const labelsData = getModifiedDataForLabels(ChartData);
31110
+ svg2.selectAll(".arc-label-" + chartId).data(labelsData).enter().append("text").attr("class", "arc-label-" + chartId).attr("class", "parentGroup").attr("text-anchor", "start").attr("dy", (d, i) => (getOuterRadius(d.index ?? i) - getInnerRadius(d.index ?? i)) / 1.75).append("textPath").attr("xlink:href", (d, i) => `#arc-path-${d.index ?? i}-` + chartId).style("startOffset", "50%").attr("hoverId", (d) => d.legend.replaceAll(" ", "-")).text(
31016
31111
  (d) => `  ${d.properties.alias}
31017
31112
   ${chartFormatOptions.plotArea.dataLabelValue ? getNumberWithFormatFunction(
31018
31113
  chartFormatOptions.plotArea.plotAreaDisplayUnits,
@@ -31489,28 +31584,27 @@ const WordCloud = ({
31489
31584
  initSvg(svgRef, width, height, chartFormatOptions);
31490
31585
  chartAreaTagG = initChartArea(svg, margins);
31491
31586
  drawChartTitle(svgRef, chartTitleHeight, width, chartFormatOptions);
31492
- calculateWordCloudData(seriesData);
31587
+ calculateWordCloudData();
31493
31588
  drawWordCloudChart();
31494
31589
  };
31495
- const calculateWordCloudData = (seriesData2) => {
31590
+ const calculateWordCloudData = () => {
31496
31591
  try {
31497
31592
  totalMeasureValue = 0;
31498
- seriesData2 = seriesData2.map((item) => {
31593
+ seriesData = seriesData.map((item) => {
31499
31594
  let value2 = item.data[0].value;
31500
31595
  totalMeasureValue += value2;
31596
+ if (chartFormatOptions.plotArea.hideZeroValues && value2 == 0) {
31597
+ return null;
31598
+ }
31501
31599
  if (value2 < min2) {
31502
31600
  min2 = value2;
31503
31601
  }
31504
31602
  if (value2 > max2) {
31505
31603
  max2 = value2;
31506
31604
  }
31507
- if (chartFormatOptions.plotArea.hideZeroValues && item[0].value != 0) {
31508
- return null;
31509
- } else {
31510
- return item;
31511
- }
31605
+ return item;
31512
31606
  });
31513
- seriesData2 = seriesData2.filter((item) => item !== null);
31607
+ seriesData = seriesData.filter((item) => item !== null);
31514
31608
  scale2 = linear$1().domain([min2, max2]).range([12, 70]);
31515
31609
  } catch (error) {
31516
31610
  logError$2(fileName$2, "calculateWordCloudData", error);
@@ -32565,8 +32659,8 @@ function selector(selector2) {
32565
32659
  function selection_select(select2) {
32566
32660
  if (typeof select2 !== "function") select2 = selector(select2);
32567
32661
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
32568
- for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
32569
- if ((node = group[i]) && (subnode = select2.call(node, node.__data__, i, group))) {
32662
+ for (var group2 = groups[j], n = group2.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
32663
+ if ((node = group2[i]) && (subnode = select2.call(node, node.__data__, i, group2))) {
32570
32664
  if ("__data__" in node) subnode.__data__ = node.__data__;
32571
32665
  subgroup[i] = subnode;
32572
32666
  }
@@ -32585,9 +32679,9 @@ function selectorAll(selector2) {
32585
32679
  function selection_selectAll(select2) {
32586
32680
  if (typeof select2 !== "function") select2 = selectorAll(select2);
32587
32681
  for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
32588
- for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
32589
- if (node = group[i]) {
32590
- subgroups.push(select2.call(node, node.__data__, i, group));
32682
+ for (var group2 = groups[j], n = group2.length, node, i = 0; i < n; ++i) {
32683
+ if (node = group2[i]) {
32684
+ subgroups.push(select2.call(node, node.__data__, i, group2));
32591
32685
  parents.push(node);
32592
32686
  }
32593
32687
  }
@@ -32602,8 +32696,8 @@ function matcher(selector2) {
32602
32696
  function selection_filter(match) {
32603
32697
  if (typeof match !== "function") match = matcher(match);
32604
32698
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
32605
- for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
32606
- if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
32699
+ for (var group2 = groups[j], n = group2.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
32700
+ if ((node = group2[i]) && match.call(node, node.__data__, i, group2)) {
32607
32701
  subgroup.push(node);
32608
32702
  }
32609
32703
  }
@@ -32644,10 +32738,10 @@ function constant$2(x2) {
32644
32738
  };
32645
32739
  }
32646
32740
  var keyPrefix = "$";
32647
- function bindIndex(parent, group, enter, update, exit, data) {
32648
- var i = 0, node, groupLength = group.length, dataLength = data.length;
32741
+ function bindIndex(parent, group2, enter, update, exit, data) {
32742
+ var i = 0, node, groupLength = group2.length, dataLength = data.length;
32649
32743
  for (; i < dataLength; ++i) {
32650
- if (node = group[i]) {
32744
+ if (node = group2[i]) {
32651
32745
  node.__data__ = data[i];
32652
32746
  update[i] = node;
32653
32747
  } else {
@@ -32655,16 +32749,16 @@ function bindIndex(parent, group, enter, update, exit, data) {
32655
32749
  }
32656
32750
  }
32657
32751
  for (; i < groupLength; ++i) {
32658
- if (node = group[i]) {
32752
+ if (node = group2[i]) {
32659
32753
  exit[i] = node;
32660
32754
  }
32661
32755
  }
32662
32756
  }
32663
- function bindKey(parent, group, enter, update, exit, data, key) {
32664
- var i, node, nodeByKeyValue = {}, groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue;
32757
+ function bindKey(parent, group2, enter, update, exit, data, key) {
32758
+ var i, node, nodeByKeyValue = {}, groupLength = group2.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue;
32665
32759
  for (i = 0; i < groupLength; ++i) {
32666
- if (node = group[i]) {
32667
- keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);
32760
+ if (node = group2[i]) {
32761
+ keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group2);
32668
32762
  if (keyValue in nodeByKeyValue) {
32669
32763
  exit[i] = node;
32670
32764
  } else {
@@ -32683,7 +32777,7 @@ function bindKey(parent, group, enter, update, exit, data, key) {
32683
32777
  }
32684
32778
  }
32685
32779
  for (i = 0; i < groupLength; ++i) {
32686
- if ((node = group[i]) && nodeByKeyValue[keyValues[i]] === node) {
32780
+ if ((node = group2[i]) && nodeByKeyValue[keyValues[i]] === node) {
32687
32781
  exit[i] = node;
32688
32782
  }
32689
32783
  }
@@ -32699,8 +32793,8 @@ function selection_data(value2, key) {
32699
32793
  var bind = key ? bindKey : bindIndex, parents = this._parents, groups = this._groups;
32700
32794
  if (typeof value2 !== "function") value2 = constant$2(value2);
32701
32795
  for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {
32702
- var parent = parents[j], group = groups[j], groupLength = group.length, data = value2.call(parent, parent && parent.__data__, j, parents), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);
32703
- bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);
32796
+ var parent = parents[j], group2 = groups[j], groupLength = group2.length, data = value2.call(parent, parent && parent.__data__, j, parents), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);
32797
+ bind(parent, group2, enterGroup, updateGroup, exitGroup, data, key);
32704
32798
  for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {
32705
32799
  if (previous = enterGroup[i0]) {
32706
32800
  if (i0 >= i1) i1 = i0 + 1;
@@ -32740,8 +32834,8 @@ function selection_merge(selection2) {
32740
32834
  }
32741
32835
  function selection_order() {
32742
32836
  for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) {
32743
- for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0; ) {
32744
- if (node = group[i]) {
32837
+ for (var group2 = groups[j], i = group2.length - 1, next = group2[i], node; --i >= 0; ) {
32838
+ if (node = group2[i]) {
32745
32839
  if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);
32746
32840
  next = node;
32747
32841
  }
@@ -32755,8 +32849,8 @@ function selection_sort(compare) {
32755
32849
  return a2 && b ? compare(a2.__data__, b.__data__) : !a2 - !b;
32756
32850
  }
32757
32851
  for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {
32758
- for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {
32759
- if (node = group[i]) {
32852
+ for (var group2 = groups[j], n = group2.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {
32853
+ if (node = group2[i]) {
32760
32854
  sortgroup[i] = node;
32761
32855
  }
32762
32856
  }
@@ -32782,8 +32876,8 @@ function selection_nodes() {
32782
32876
  }
32783
32877
  function selection_node() {
32784
32878
  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
32785
- for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {
32786
- var node = group[i];
32879
+ for (var group2 = groups[j], i = 0, n = group2.length; i < n; ++i) {
32880
+ var node = group2[i];
32787
32881
  if (node) return node;
32788
32882
  }
32789
32883
  }
@@ -32801,8 +32895,8 @@ function selection_empty() {
32801
32895
  }
32802
32896
  function selection_each(callback) {
32803
32897
  for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
32804
- for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {
32805
- if (node = group[i]) callback.call(node, node.__data__, i, group);
32898
+ for (var group2 = groups[j], i = 0, n = group2.length, node; i < n; ++i) {
32899
+ if (node = group2[i]) callback.call(node, node.__data__, i, group2);
32806
32900
  }
32807
32901
  }
32808
32902
  return this;
@@ -33045,8 +33139,8 @@ if (typeof document !== "undefined") {
33045
33139
  filterEvents = { mouseenter: "mouseover", mouseleave: "mouseout" };
33046
33140
  }
33047
33141
  }
33048
- function filterContextListener(listener, index2, group) {
33049
- listener = contextListener(listener, index2, group);
33142
+ function filterContextListener(listener, index2, group2) {
33143
+ listener = contextListener(listener, index2, group2);
33050
33144
  return function(event2) {
33051
33145
  var related = event2.relatedTarget;
33052
33146
  if (!related || related !== this && !(related.compareDocumentPosition(this) & 8)) {
@@ -33054,10 +33148,10 @@ function filterContextListener(listener, index2, group) {
33054
33148
  }
33055
33149
  };
33056
33150
  }
33057
- function contextListener(listener, index2, group) {
33151
+ function contextListener(listener, index2, group2) {
33058
33152
  return function(event1) {
33059
33153
  try {
33060
- listener.call(this, this.__data__, index2, group);
33154
+ listener.call(this, this.__data__, index2, group2);
33061
33155
  } finally {
33062
33156
  }
33063
33157
  };
@@ -33086,8 +33180,8 @@ function onRemove(typename) {
33086
33180
  }
33087
33181
  function onAdd(typename, value2, capture) {
33088
33182
  var wrap3 = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;
33089
- return function(d, i, group) {
33090
- var on = this.__on, o, listener = wrap3(value2, i, group);
33183
+ return function(d, i, group2) {
33184
+ var on = this.__on, o, listener = wrap3(value2, i, group2);
33091
33185
  if (on) for (var j = 0, m = on.length; j < m; ++j) {
33092
33186
  if ((o = on[j]).type === typename.type && o.name === typename.name) {
33093
33187
  this.removeEventListener(o.type, o.listener, o.capture);
@@ -33364,7 +33458,7 @@ var STARTED = 3;
33364
33458
  var RUNNING = 4;
33365
33459
  var ENDING = 5;
33366
33460
  var ENDED = 6;
33367
- function schedule(node, name, id2, index2, group, timing) {
33461
+ function schedule(node, name, id2, index2, group2, timing) {
33368
33462
  var schedules = node.__transition;
33369
33463
  if (!schedules) node.__transition = {};
33370
33464
  else if (id2 in schedules) return;
@@ -33372,7 +33466,7 @@ function schedule(node, name, id2, index2, group, timing) {
33372
33466
  name,
33373
33467
  index: index2,
33374
33468
  // For context during callback.
33375
- group,
33469
+ group: group2,
33376
33470
  // For context during callback.
33377
33471
  on: emptyOn,
33378
33472
  tween: emptyTween,
@@ -34164,8 +34258,8 @@ function transition_ease(value2) {
34164
34258
  function transition_filter(match) {
34165
34259
  if (typeof match !== "function") match = matcher(match);
34166
34260
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
34167
- for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
34168
- if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
34261
+ for (var group2 = groups[j], n = group2.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
34262
+ if ((node = group2[i]) && match.call(node, node.__data__, i, group2)) {
34169
34263
  subgroup.push(node);
34170
34264
  }
34171
34265
  }
@@ -34219,8 +34313,8 @@ function transition_select(select2) {
34219
34313
  var name = this._name, id2 = this._id;
34220
34314
  if (typeof select2 !== "function") select2 = selector(select2);
34221
34315
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
34222
- for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
34223
- if ((node = group[i]) && (subnode = select2.call(node, node.__data__, i, group))) {
34316
+ for (var group2 = groups[j], n = group2.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
34317
+ if ((node = group2[i]) && (subnode = select2.call(node, node.__data__, i, group2))) {
34224
34318
  if ("__data__" in node) subnode.__data__ = node.__data__;
34225
34319
  subgroup[i] = subnode;
34226
34320
  schedule(subgroup[i], name, id2, i, subgroup, get2(node, id2));
@@ -34233,9 +34327,9 @@ function transition_selectAll(select2) {
34233
34327
  var name = this._name, id2 = this._id;
34234
34328
  if (typeof select2 !== "function") select2 = selectorAll(select2);
34235
34329
  for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
34236
- for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
34237
- if (node = group[i]) {
34238
- for (var children2 = select2.call(node, node.__data__, i, group), child, inherit2 = get2(node, id2), k2 = 0, l = children2.length; k2 < l; ++k2) {
34330
+ for (var group2 = groups[j], n = group2.length, node, i = 0; i < n; ++i) {
34331
+ if (node = group2[i]) {
34332
+ for (var children2 = select2.call(node, node.__data__, i, group2), child, inherit2 = get2(node, id2), k2 = 0, l = children2.length; k2 < l; ++k2) {
34239
34333
  if (child = children2[k2]) {
34240
34334
  schedule(child, name, id2, k2, children2, inherit2);
34241
34335
  }
@@ -34351,10 +34445,10 @@ function transition_textTween(value2) {
34351
34445
  function transition_transition() {
34352
34446
  var name = this._name, id0 = this._id, id1 = newId();
34353
34447
  for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {
34354
- for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
34355
- if (node = group[i]) {
34448
+ for (var group2 = groups[j], n = group2.length, node, i = 0; i < n; ++i) {
34449
+ if (node = group2[i]) {
34356
34450
  var inherit2 = get2(node, id0);
34357
- schedule(node, name, id1, i, group, {
34451
+ schedule(node, name, id1, i, group2, {
34358
34452
  time: inherit2.time + inherit2.delay + inherit2.duration,
34359
34453
  delay: 0,
34360
34454
  duration: inherit2.duration,
@@ -34449,9 +34543,9 @@ function selection_transition(name) {
34449
34543
  id2 = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + "";
34450
34544
  }
34451
34545
  for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {
34452
- for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
34453
- if (node = group[i]) {
34454
- schedule(node, name, id2, i, group, timing || inherit(node, id2));
34546
+ for (var group2 = groups[j], n = group2.length, node, i = 0; i < n; ++i) {
34547
+ if (node = group2[i]) {
34548
+ schedule(node, name, id2, i, group2, timing || inherit(node, id2));
34455
34549
  }
34456
34550
  }
34457
34551
  }
@@ -35671,7 +35765,7 @@ const SankeyChart = ({
35671
35765
  break;
35672
35766
  case TSankeyDataLabelPostion.right:
35673
35767
  xAndYCoordinate = [1, 5];
35674
- widthAndHeight = [maxNodeLabelWidth, innerHeight2];
35768
+ widthAndHeight = [innerWidth2 - maxNodeLabelWidth, innerHeight2];
35675
35769
  break;
35676
35770
  case TSankeyDataLabelPostion.left:
35677
35771
  xAndYCoordinate = [maxNodeLabelWidth, 5];
@@ -55178,7 +55272,8 @@ const WaterfallChart = ({
55178
55272
  dataTableHeight,
55179
55273
  innerWidth2,
55180
55274
  innerHeight2,
55181
- chartType
55275
+ chartType,
55276
+ chartId
55182
55277
  );
55183
55278
  initScale();
55184
55279
  initAxis();
@@ -55479,7 +55574,7 @@ const WaterfallChart = ({
55479
55574
  (d) => xScale(
55480
55575
  !isAdvancedWaterfall ? d.data.dimension || d.data.legend : d.data.xKey
55481
55576
  )
55482
- ).attr("y", (d) => d[1] ? yScaleLeft(d[1]) : 0).attr(
55577
+ ).attr("y", (d) => d[1] ? yScaleLeft(d[1]) : 0).attr("clip-path", `url(#${chartId}-clip)`).attr(
55483
55578
  "height",
55484
55579
  (d) => d[1] ? yScaleLeft(d[0]) - yScaleLeft(d[1]) : 0
55485
55580
  ).attr("width", xScale.bandwidth()).attr(
@@ -55880,26 +55975,8 @@ const TornadoChart = ({
55880
55975
  chartType
55881
55976
  );
55882
55977
  initScale();
55883
- initAxis();
55884
- initYaxisBar(
55885
- formatOptions,
55886
- gTag,
55887
- xLabel,
55888
- innerHeight2,
55889
- innerWidth2,
55890
- yAxisLeft,
55891
- yAxisRight,
55892
- xScale,
55893
- chartJSON.yMaxLeft,
55894
- chartJSON.dimensionList,
55895
- chartType,
55896
- isDateType,
55897
- width,
55898
- dimensionHeightWidthArray,
55899
- columnWidth,
55900
- yScaleLeft
55901
- );
55902
- horizontalScrollBar2(seriesData, height, svg, margin, innerWidth2);
55978
+ getXAxis();
55979
+ initXaxisBar(formatOptions, gTag, xLabel, innerHeight2, innerWidth2, xAxis);
55903
55980
  if (formatOptions.dataTableProperties && formatOptions.dataTableProperties.dataTable) {
55904
55981
  if (formatOptions.xAxisLabel.xAxisPosition != "1")
55905
55982
  formatOptions.xAxisLabel.xAxisLabelVisibility = false;
@@ -55981,6 +56058,21 @@ const TornadoChart = ({
55981
56058
  chartId,
55982
56059
  staticLegendShape.rectangle
55983
56060
  );
56061
+ horizontalScrollBar2(
56062
+ seriesData,
56063
+ height,
56064
+ width,
56065
+ svg,
56066
+ margin,
56067
+ innerWidth2,
56068
+ scrollbarVisible,
56069
+ visibleBars,
56070
+ chartJSON,
56071
+ scrollPosition,
56072
+ false,
56073
+ setAndUpdateChartData,
56074
+ barChart
56075
+ );
55984
56076
  };
55985
56077
  const mapSeriesDataWithLegendList = (seriesData2, legendList, isAdvanceAnalyticsChart2, formatOptions2) => {
55986
56078
  return seriesData2.map((series, index2) => {
@@ -56013,11 +56105,11 @@ const TornadoChart = ({
56013
56105
  const preProcessChartData = () => {
56014
56106
  let processedSeriesData;
56015
56107
  if (!isAdvanceAnalyticsChart) {
56016
- const firstMeasure = "0~$~" + seriesData[0]?.properties.currentMeasure;
56108
+ const firstMeasure = seriesData[0]?.properties?.measureUniqueId;
56017
56109
  let yMaxLeft = 0;
56018
56110
  let yMaxRight = -Infinity;
56019
56111
  processedSeriesData = seriesData.map((series, index2) => {
56020
- const isFirstMeasure = index2 + "~$~" + series.properties.currentMeasure === firstMeasure;
56112
+ const isFirstMeasure = series.properties.measureUniqueId === firstMeasure;
56021
56113
  const newData = series.data.map((point2) => {
56022
56114
  const newValue = isFirstMeasure ? -Math.abs(point2.value) : Math.abs(point2.value);
56023
56115
  return {
@@ -56053,10 +56145,8 @@ const TornadoChart = ({
56053
56145
  !isAdvanceAnalyticsChart ? processedSeriesData : seriesData
56054
56146
  )
56055
56147
  );
56056
- filteredDimension = !formatOptions.plotArea.fitChart ? chartJSON.dimensionList.slice(
56057
- scrollPosition,
56058
- scrollPosition + visibleBars
56059
- ) : chartJSON.dimensionList;
56148
+ seriesData = filteredData;
56149
+ filteredDimension = chartJSON.dimensionList;
56060
56150
  if (formatOptions.plotArea.hideZeroValues) {
56061
56151
  chartJSON.hideZeroValues = true;
56062
56152
  }
@@ -56084,16 +56174,23 @@ const TornadoChart = ({
56084
56174
  getXScale();
56085
56175
  };
56086
56176
  const getXScale = () => {
56087
- yScaleLeft = point$7().domain(chartJSON.dimensionList).range([innerHeight2, 0]).padding(0.5);
56177
+ yScaleLeft = point$7().domain(filteredDimension).range([innerHeight2, 0]).padding(0.5);
56088
56178
  };
56089
56179
  const initAxis = () => {
56090
- getXAxis();
56091
56180
  yAxisLeft = axisLeft(yScaleLeft).tickSize(
56092
- formatOptions.plotArea.gridLinesVisibility ? formatOptions.plotArea.gridLinesHorizontal ? -(innerWidth2 - xScaleForLegends(0)) : 0 : 0
56093
- ).tickSizeOuter(0).tickValues(responsiveXaxisLabel(chartJSON.dimensionList, innerHeight2));
56181
+ getHorizontalGridLinesTickSize(
56182
+ formatOptions,
56183
+ innerWidth2 - xScaleForLegends(0),
56184
+ 0
56185
+ )
56186
+ ).tickSizeOuter(0).tickValues(responsiveXaxisLabel(filteredDimension, innerHeight2));
56094
56187
  yAxisRight = axisRight(yScaleLeft).tickSize(
56095
- formatOptions.plotArea.gridLinesVisibility ? formatOptions.plotArea.gridLinesHorizontal ? -xScaleForLegends(0) : 0 : 0
56096
- ).tickSizeOuter(0).tickValues(responsiveXaxisLabel(chartJSON.dimensionList, innerWidth2));
56188
+ getHorizontalGridLinesTickSize(
56189
+ formatOptions,
56190
+ xScaleForLegends(0),
56191
+ 0
56192
+ )
56193
+ ).tickSizeOuter(0).tickValues(responsiveXaxisLabel(filteredDimension, innerWidth2));
56097
56194
  };
56098
56195
  const getXAxis = () => {
56099
56196
  xAxis = axisBottom(xScaleForLegends).tickFormat(
@@ -56189,74 +56286,152 @@ const TornadoChart = ({
56189
56286
  innerWidth2 = width - margin2.left - margin2.right;
56190
56287
  innerHeight2 = height - margin2.bottom - margin2.top;
56191
56288
  };
56192
- const horizontalScrollBar2 = (seriesData2, height2, svg2, margin2, innerWidth22) => {
56193
- if (!formatOptions.plotArea.fitChart) {
56194
- const scrollMax = seriesData2[0].data.length - visibleBars;
56195
- const scrollbarY = height2 - 20;
56196
- filteredDimension = chartJSON.dimensionList.slice(
56197
- scrollPosition,
56198
- scrollPosition + visibleBars
56199
- );
56200
- getXScale();
56201
- filteredData = JSON.parse(JSON.stringify(seriesData2));
56202
- filteredData.forEach(
56203
- (data2, i) => filteredData[i].data = data2.data.filter(
56204
- (d) => filteredDimension.includes(d.dimension)
56205
- )
56206
- );
56207
- getXAxis();
56208
- svg2.append("rect").attr("x", margin2.left).attr("y", scrollbarY).attr("width", innerWidth22).attr("height", 8).attr("fill", "#ddd").attr("rx", 4);
56209
- const handleWidth = innerWidth22 * visibleBars / chartJSON.dimensionList.length;
56210
- const handle = svg2.append("rect").attr("x", margin2.left).attr("y", scrollbarY).attr("width", handleWidth).attr("height", 8).attr("fill", "#999").attr("rx", 4).style("cursor", "ew-resize").call(
56289
+ const setAndUpdateChartData = (fDimension, fData, fVisibleBars) => {
56290
+ filteredData = fData;
56291
+ filteredDimension = fDimension;
56292
+ visibleBars = fVisibleBars;
56293
+ drawColumnChart();
56294
+ };
56295
+ function createDataForAnnotation(chartData) {
56296
+ const legendUniqueIdToLegendMap = /* @__PURE__ */ new Map();
56297
+ chartData.forEach((d) => {
56298
+ let obj = legendUniqueIdToLegendMap.get(d.properties.legendUniqueId);
56299
+ if (obj) {
56300
+ let array2 = obj.data ?? [];
56301
+ array2.push(d.data[0]);
56302
+ legendUniqueIdToLegendMap.set(d.properties.legendUniqueId, { ...obj, data: array2 });
56303
+ } else {
56304
+ obj = {
56305
+ ...d,
56306
+ data: [d.data[0]]
56307
+ };
56308
+ legendUniqueIdToLegendMap.set(d.properties.legendUniqueId, obj);
56309
+ }
56310
+ });
56311
+ return legendUniqueIdToLegendMap.size > 0 ? Array.from(legendUniqueIdToLegendMap.keys()).map((d) => legendUniqueIdToLegendMap.get(d)) : chartData;
56312
+ }
56313
+ function horizontalScrollBar2(seriesData2, height2, width2, svg2, margin2, innerWidth22, scrollbarVisible2, visibleBars2, chartJSON2, scrollPosition2, isStackedChart, setAndUpdateChartData2, isBarChart = false) {
56314
+ const updateFromScrollPosition = (pos, scrollMax, handleWidth, handle, mouseEvent) => {
56315
+ try {
56316
+ mouseEvent && (pos = scrollPosition2 + pos);
56317
+ if (!chartJSON2 || !Array.isArray(chartJSON2.dimensionList) || !Array.isArray(seriesData2))
56318
+ return;
56319
+ pos = pos == null ? 0 : Number(pos);
56320
+ scrollMax = scrollMax == null ? 0 : Number(scrollMax);
56321
+ handleWidth = handleWidth == null ? 0 : Number(handleWidth);
56322
+ scrollPosition2 = clamp(Math.round(pos), 0, Math.max(0, scrollMax));
56323
+ visibleBars2 = typeof visibleBars2 === "number" ? visibleBars2 : 0;
56324
+ const start2 = scrollPosition2;
56325
+ const end = start2 + visibleBars2;
56326
+ let filteredDimension2 = chartJSON2.dimensionList.slice(start2, end);
56327
+ const isDefaultEntry = filteredDimension2[0] == chartTypes.TornadoDefaultEntry;
56328
+ let filteredData2 = JSON.parse(JSON.stringify(seriesData2 || []));
56329
+ filteredData2 = filteredData2.filter((d) => isDefaultEntry ? true : filteredDimension2.includes(d.legend.split(" - ")[1]));
56330
+ const safeMarginLeft = margin2?.left ?? 0;
56331
+ const safeMarginTop = margin2?.top ?? 0;
56332
+ const safeInnerWidth = Number(innerWidth22) || 0;
56333
+ const safeInnerHeight = Number(innerHeight2) || 0;
56334
+ const safeHandleSize = Number(handleWidth) || 0;
56335
+ const denom = scrollMax === 0 ? 1 : scrollMax;
56336
+ if (isBarChart) {
56337
+ const y2 = safeMarginTop + (safeInnerHeight - safeHandleSize) * (scrollMax === 0 ? 0 : scrollPosition2) / denom;
56338
+ if (handle && typeof handle.attr === "function") {
56339
+ handle.attr("y", y2);
56340
+ }
56341
+ } else {
56342
+ const x2 = safeMarginLeft + (safeInnerWidth - safeHandleSize) * (scrollMax === 0 ? 0 : scrollPosition2) / denom;
56343
+ if (handle && typeof handle.attr === "function") {
56344
+ handle.attr("x", x2);
56345
+ }
56346
+ }
56347
+ setAndUpdateChartData2(filteredDimension2, filteredData2, visibleBars2);
56348
+ } catch (error) {
56349
+ if (typeof logError$2 === "function")
56350
+ logError$2("ColumnChart", "updateFromScrollPosition", error);
56351
+ }
56352
+ };
56353
+ if (scrollbarVisible2) {
56354
+ const innerHeight22 = height2 - margin2.top - margin2.bottom;
56355
+ const scrollMax = Math.max(0, dimensionList.length - visibleBars2);
56356
+ const scrollbarY = height2 - 8;
56357
+ svg2.append("rect").attr("id", "scrollbarTrack").attr("x", isBarChart ? width2 - 8 : margin2.left).attr("y", isBarChart ? margin2.top : scrollbarY).attr("width", isBarChart ? 8 : innerWidth22).attr("height", isBarChart ? innerHeight22 : 8).attr("fill", "#ccc");
56358
+ const handleWidth = (isBarChart ? innerHeight22 : innerWidth22) * visibleBars2 / chartJSON2.dimensionList.length;
56359
+ const handle = svg2.append("rect").attr(
56360
+ "x",
56361
+ isBarChart ? width2 - 8 : margin2.left
56362
+ ).attr("y", isBarChart ? margin2.top : scrollbarY).attr("width", isBarChart ? 8 : handleWidth).attr("height", isBarChart ? handleWidth : 8).attr("fill", "#999").style("cursor", isBarChart ? "ns-resize" : "ew-resize");
56363
+ handle.call(
56211
56364
  drag$1().on("drag", (event2) => {
56212
- let x2 = Math.min(
56213
- Math.max(event2.x, margin2.left),
56214
- margin2.left + innerWidth22 - handleWidth
56215
- );
56216
- handle.attr("x", x2);
56217
- scrollPosition = Math.round(
56218
- (x2 - margin2.left) / (innerWidth22 - handleWidth) * scrollMax
56219
- );
56220
- filteredDimension = chartJSON.dimensionList.slice(
56221
- scrollPosition,
56222
- scrollPosition + visibleBars
56223
- );
56224
- getXScale();
56225
- filteredData = JSON.parse(JSON.stringify(seriesData2));
56226
- filteredData.forEach(
56227
- (data2, i) => filteredData[i].data = data2.data.filter(
56228
- (d) => filteredDimension.includes(d.dimension)
56229
- )
56230
- );
56231
- getXAxis();
56232
- drawColumnChart();
56365
+ if (isBarChart) {
56366
+ const y2 = clamp(
56367
+ event2.y,
56368
+ margin2.top,
56369
+ margin2.top + innerHeight22 - handleWidth
56370
+ );
56371
+ const pos = (y2 - margin2.top) / (innerHeight22 - handleWidth) * (scrollMax || 1);
56372
+ updateFromScrollPosition(pos, scrollMax, handleWidth, handle, false);
56373
+ handle.attr("y", margin2.top + (innerHeight22 - handleWidth) * (scrollMax === 0 ? 0 : scrollPosition2) / (scrollMax === 0 ? 1 : scrollMax));
56374
+ } else {
56375
+ const x2 = clamp(
56376
+ event2.x,
56377
+ margin2.left,
56378
+ margin2.left + innerWidth22 - handleWidth
56379
+ );
56380
+ const pos = (x2 - margin2.left) / (innerWidth22 - handleWidth) * (scrollMax || 1);
56381
+ updateFromScrollPosition(pos, scrollMax, handleWidth, handle, false);
56382
+ handle.attr("x", margin2.left + (innerWidth22 - handleWidth) * (scrollMax === 0 ? 0 : scrollPosition2) / (scrollMax === 0 ? 1 : scrollMax));
56383
+ }
56233
56384
  })
56234
56385
  );
56235
56386
  svg2.on("wheel", (event2) => {
56236
56387
  event2.preventDefault();
56237
56388
  const scrollDelta = Math.abs(event2.deltaX) > Math.abs(event2.deltaY) ? event2.deltaX : event2.deltaY;
56238
- scrollPosition += scrollDelta > 0 ? 1 : -1;
56239
- scrollPosition = Math.max(0, Math.min(scrollPosition, scrollMax));
56240
- const x2 = margin2.left + (innerWidth22 - handleWidth) * scrollPosition / scrollMax;
56241
- handle.attr("x", x2);
56242
- getXScale();
56243
- filteredData = JSON.parse(JSON.stringify(seriesData2));
56244
- filteredData.forEach(
56245
- (data2, i) => filteredData[i].data = data2.data.filter(
56246
- (d) => filteredDimension.includes(d.dimension)
56247
- )
56248
- );
56249
- getXAxis();
56250
- drawColumnChart();
56389
+ const step2 = scrollDelta > 0 ? 1 : -1;
56390
+ updateFromScrollPosition(step2, scrollMax, handleWidth, handle, true);
56391
+ if (isBarChart) {
56392
+ const y2 = margin2.top + (innerHeight22 - handleWidth) * (scrollMax === 0 ? 0 : scrollPosition2) / (scrollMax === 0 ? 1 : scrollMax);
56393
+ handle.attr("y", y2);
56394
+ } else {
56395
+ const x2 = margin2.left + (innerWidth22 - handleWidth) * (scrollMax === 0 ? 0 : scrollPosition2) / (scrollMax === 0 ? 1 : scrollMax);
56396
+ handle.attr("x", x2);
56397
+ }
56251
56398
  });
56399
+ } else {
56400
+ svg2.on("wheel", null);
56252
56401
  }
56253
- drawColumnChart();
56254
- };
56402
+ updateFromScrollPosition(
56403
+ 0,
56404
+ 0,
56405
+ 0,
56406
+ null,
56407
+ true
56408
+ );
56409
+ }
56255
56410
  const drawColumnChart = () => {
56256
- initXaxisBar(formatOptions, gTag, xLabel, innerHeight2, innerWidth2, xAxis);
56411
+ getXScale();
56412
+ initAxis();
56413
+ initYaxisBar(
56414
+ formatOptions,
56415
+ gTag,
56416
+ xLabel,
56417
+ innerHeight2,
56418
+ innerWidth2,
56419
+ yAxisLeft,
56420
+ yAxisRight,
56421
+ xScale,
56422
+ chartJSON.yMaxLeft,
56423
+ filteredDimension,
56424
+ chartType,
56425
+ isDateType,
56426
+ width,
56427
+ dimensionHeightWidthArray,
56428
+ columnWidth,
56429
+ yScaleLeft
56430
+ );
56257
56431
  getChartType();
56432
+ const dataForAnnotation = createDataForAnnotation(filteredData);
56258
56433
  commonAnnotations(
56259
- filteredData,
56434
+ dataForAnnotation ?? [],
56260
56435
  yScaleLeft,
56261
56436
  xScale,
56262
56437
  null,
@@ -56296,7 +56471,7 @@ const TornadoChart = ({
56296
56471
  }
56297
56472
  ) });
56298
56473
  };
56299
- const ClevelandDotPlot = ({
56474
+ const DotPlot = ({
56300
56475
  isDateType,
56301
56476
  formatOptions,
56302
56477
  data,
@@ -56305,7 +56480,7 @@ const ClevelandDotPlot = ({
56305
56480
  }) => {
56306
56481
  const chartId = crypto.randomUUID();
56307
56482
  let columnWidth = 0;
56308
- const chartType = chartTypes.ClevelandDotPlot;
56483
+ const chartType = chartTypes.DotPlot;
56309
56484
  const svgRef = useRef();
56310
56485
  const seriesData = generalizedChartData(
56311
56486
  data.ChartData,
@@ -56362,16 +56537,16 @@ const ClevelandDotPlot = ({
56362
56537
  };
56363
56538
  useEffect(() => {
56364
56539
  try {
56365
- createStackHorizontalBarChart();
56540
+ createDotPlot();
56366
56541
  } catch (error) {
56367
56542
  logError$2(
56368
56543
  "StackStackHorizontalBarchart",
56369
- "createStackHorizontalBarChart",
56544
+ "createDotPlot",
56370
56545
  error
56371
56546
  );
56372
56547
  }
56373
56548
  }, [formatOptions]);
56374
- const createStackHorizontalBarChart = () => {
56549
+ const createDotPlot = () => {
56375
56550
  ({ formatOptions, svg, width, height } = firstFunctionBeforeRender$1(
56376
56551
  svgRef,
56377
56552
  formatOptions
@@ -56599,32 +56774,64 @@ const ClevelandDotPlot = ({
56599
56774
  };
56600
56775
  const getChartType = (lineData) => {
56601
56776
  lineData.forEach((lData) => {
56602
- lData.data.forEach((cData) => {
56603
- cData.hideZero = lData.properties.hideZeroValues;
56604
- cData.axis = lData.properties.axis;
56605
- cData["properties"] = lData.properties;
56777
+ lData.data.forEach((d) => {
56778
+ d.markerShape = lData.properties.markerShape || "Circle";
56779
+ d.markerSize = lData.properties.markerSize || 6;
56780
+ d.markerColor = lData.properties.markerColor || lData.properties.color;
56781
+ d.alias = lData.properties.alias;
56782
+ d.lineStyle = lData.properties.lineStyle;
56606
56783
  });
56607
56784
  });
56608
- lineData.forEach((data2, index2) => {
56785
+ const groupedData = group(
56786
+ lineData.flatMap(
56787
+ (l) => l.data.map((d) => ({
56788
+ ...d,
56789
+ color: l.properties.color
56790
+ }))
56791
+ ),
56792
+ (d) => d.dimension
56793
+ );
56794
+ const lineGroups = gTag.selectAll(".cleveland-line-group").data(Array.from(groupedData), ([d]) => d);
56795
+ const lineEnter = lineGroups.enter().append("g").attr("class", "cleveland-line-group");
56796
+ lineEnter.append("line").merge(lineGroups.select("line")).attr("y1", ([dim]) => yScale(dim)).attr("y2", ([dim]) => yScale(dim)).attr(
56797
+ "x1",
56798
+ ([, v]) => xScaleBottom(Math.min(v[0]?.value ?? 0, v[1]?.value ?? 0))
56799
+ ).attr(
56800
+ "x2",
56801
+ ([, v]) => xScaleBottom(Math.max(v[0]?.value ?? 0, v[1]?.value ?? 0))
56802
+ ).attr("stroke", "#c7c7c7").attr("stroke-width", 2).attr("stroke-dasharray", (d) => {
56803
+ switch (d[1][0].lineStyle) {
56804
+ case staticLineStyle.dotted:
56805
+ return `0,${d[1][0].lineStyle + 2}`;
56806
+ case staticLineStyle.dashed:
56807
+ return strokeDashValues;
56808
+ default:
56809
+ return "";
56810
+ }
56811
+ }).attr(
56812
+ "stroke-linecap",
56813
+ (d) => d[1][0].lineStyle === staticLineStyle.dotted ? strokeLineCap.round : ""
56814
+ );
56815
+ lineGroups.exit().remove();
56816
+ lineData.forEach((data2) => {
56609
56817
  let column = gTag.selectAll(".parentGroup").data([data2], (d) => d.properties.legendUniqueId);
56610
- column = column.enter().append("g").attr("class", `column parentGroup`).merge(column);
56611
- let columnGroups = column.selectAll(".column-group").data(data2.data, (d) => d.dimension);
56612
- let columnGroupsEnter = columnGroups.enter().append("g").attr("class", "column-group").attr(
56818
+ column = column.enter().append("g").attr("class", "parentGroup").attr(
56613
56819
  "hoverId",
56614
- (data2.properties.alias || data2.properties.name || "Legend").replace(
56615
- /\s+/g,
56616
- "-"
56617
- )
56618
- ).attr(
56619
- "transform",
56620
- (d) => `translate(0,${yScale(d.dimension)})`
56621
- );
56622
- columnGroupsEnter.merge(columnGroups).attr(
56623
- "transform",
56624
- (d) => `translate(0,${yScale(d.dimension)})`
56625
- );
56626
- columnGroupsEnter.append("line").attr("class", "cleveland-line").attr("x1", (d) => xScaleBottom(0)).attr("x2", (d) => xScaleBottom(d.value)).attr("y1", 0).attr("y2", 0).attr("stroke", "#c7c7c7").attr("stroke-width", 2);
56627
- columnGroupsEnter.append("circle").attr("class", "cleveland-dot").attr("cx", (d) => xScaleBottom(d.value)).attr("cy", 0).attr("r", 6).attr("fill", data2.properties.color).attr("opacity", 0.9).on("mousemove", (event2, d) => {
56820
+ (data2.properties.alias || data2.properties.name || "Legend").replace(/\s+/g, "-")
56821
+ ).merge(column);
56822
+ let columnGroups = column.selectAll(".column-group").data(data2.data, (d) => d.dimension);
56823
+ let columnGroupsEnter = columnGroups.enter().append("g").attr("class", "column-group");
56824
+ columnGroupsEnter.append("path").attr("class", "cleveland-dot").merge(columnGroups.select("path")).attr(
56825
+ "d",
56826
+ (d) => Symbol$1().type(Markershapes(d.markerShape)).size((d.markerSize || 6) * 70)()
56827
+ ).attr("transform", (d) => {
56828
+ const x2 = xScaleBottom(d.value);
56829
+ const y2 = yScale(d.dimension);
56830
+ return `translate(${x2},${y2})`;
56831
+ }).attr("fill", (d) => data2.properties.color).attr("opacity", 0.9).attr(
56832
+ "visibility",
56833
+ () => formatOptions.marker?.markerVisibility ? "visible" : "hidden"
56834
+ ).on("mousemove", (event2, d) => {
56628
56835
  showTooltipOnMouseMove(
56629
56836
  [
56630
56837
  {
@@ -56642,7 +56849,7 @@ const ClevelandDotPlot = ({
56642
56849
  },
56643
56850
  {
56644
56851
  key: "Legend",
56645
- value: d.legend
56852
+ value: d.alias
56646
56853
  }
56647
56854
  ],
56648
56855
  formatOptions,
@@ -56652,8 +56859,10 @@ const ClevelandDotPlot = ({
56652
56859
  let legend = (data2.properties.alias || data2.properties.name || "Legend").replace(/ /g, "-");
56653
56860
  selectAll(".parentGroup").classed("highlight", false).classed("unhighlight", true);
56654
56861
  selectAll('[hoverId="' + legend + '"]').classed("highlight", true).classed("unhighlight", false);
56862
+ select$2(event2.currentTarget.parentNode).selectAll(".halo").data([d]).join("circle").attr("class", "halo").attr("cx", xScaleBottom(d.value)).attr("cy", yScale(d.dimension)).attr("r", (d.markerSize || 6) * 3).attr("fill", d.markerColor).attr("opacity", 0.4);
56655
56863
  }).on("mouseout", () => {
56656
56864
  selectAll(".parentGroup").classed("highlight", false).classed("unhighlight", false);
56865
+ selectAll(".halo").remove();
56657
56866
  hideTooltipOnMouseOut();
56658
56867
  });
56659
56868
  columnGroups.exit().remove();
@@ -56668,9 +56877,9 @@ const ClevelandDotPlot = ({
56668
56877
  filteredData = fData;
56669
56878
  filteredDimension = fDimension;
56670
56879
  visibleBars = fVisibleBars;
56671
- drawLineChart();
56880
+ drawDotPlot();
56672
56881
  };
56673
- const drawLineChart = () => {
56882
+ const drawDotPlot = () => {
56674
56883
  getYScale();
56675
56884
  getYAxis();
56676
56885
  initYaxisBar(
@@ -56718,8 +56927,8 @@ const ClevelandDotPlot = ({
56718
56927
  onDataLabelCoordinatesChange,
56719
56928
  yScale,
56720
56929
  columnWidth,
56721
- false,
56722
56930
  isReportEditable,
56931
+ false,
56723
56932
  barChart
56724
56933
  );
56725
56934
  getConnectors();
@@ -56957,11 +57166,11 @@ const ClevelandDotPlot = ({
56957
57166
  export {
56958
57167
  AreaChart,
56959
57168
  BubbleChart,
56960
- ClevelandDotPlot,
56961
57169
  ColumnChart,
56962
57170
  ColumnHistogramChart,
56963
57171
  CustomColumnChart,
56964
57172
  DonutChart,
57173
+ DotPlot,
56965
57174
  HorizontalBarChart,
56966
57175
  HorizontalHistogramChart,
56967
57176
  LayeredColumnChart,