@oliasoft-open-source/charts-library 3.7.0-beta-3 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -4,12 +4,12 @@ var __publicField = (obj, key, value) => {
4
4
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
5
  return value;
6
6
  };
7
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
7
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
8
8
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
9
9
  import React, { forwardRef, useRef, useEffect, createContext as createContext$2, memo, useLayoutEffect, useState, useCallback, useMemo, isValidElement, cloneElement, useContext, useReducer } from "react";
10
+ import { produce } from "immer";
10
11
  import { round as round$2, displayNumber, isCloseTo, roundByMagnitude, toNum } from "@oliasoft-open-source/units";
11
12
  import cx from "classnames";
12
- import { produce } from "immer";
13
13
  import { Icon, Tooltip as Tooltip$2, Button, Flex, Text, Menu, Popover, Field, InputGroup, NumberInput, InputGroupAddon, Select, ButtonGroup, Spacer, Portal } from "@oliasoft-open-source/react-ui-library";
14
14
  import { isEmpty, isArray as isArray$2, some, has, debounce as debounce$3, isEqual } from "lodash";
15
15
  import { roundNumberToPrecision } from "@oliasoft-open-source/units/dist/rounding/rounding";
@@ -4914,130 +4914,6 @@ let PieController$1 = (_e = class extends DoughnutController$1 {
4914
4914
  circumference: 360,
4915
4915
  radius: "100%"
4916
4916
  }), _e);
4917
- let ScatterController$1 = (_f = class extends DatasetController$1 {
4918
- getLabelAndValue(index2) {
4919
- const meta = this._cachedMeta;
4920
- const labels = this.chart.data.labels || [];
4921
- const { xScale, yScale } = meta;
4922
- const parsed = this.getParsed(index2);
4923
- const x2 = xScale.getLabelForValue(parsed.x);
4924
- const y2 = yScale.getLabelForValue(parsed.y);
4925
- return {
4926
- label: labels[index2] || "",
4927
- value: "(" + x2 + ", " + y2 + ")"
4928
- };
4929
- }
4930
- update(mode) {
4931
- const meta = this._cachedMeta;
4932
- const { data: points = [] } = meta;
4933
- const animationsDisabled = this.chart._animationsDisabled;
4934
- let { start, count } = _getStartAndCountOfVisiblePoints$1(meta, points, animationsDisabled);
4935
- this._drawStart = start;
4936
- this._drawCount = count;
4937
- if (_scaleRangesChanged$1(meta)) {
4938
- start = 0;
4939
- count = points.length;
4940
- }
4941
- if (this.options.showLine) {
4942
- if (!this.datasetElementType) {
4943
- this.addElements();
4944
- }
4945
- const { dataset: line, _dataset } = meta;
4946
- line._chart = this.chart;
4947
- line._datasetIndex = this.index;
4948
- line._decimated = !!_dataset._decimated;
4949
- line.points = points;
4950
- const options = this.resolveDatasetElementOptions(mode);
4951
- options.segment = this.options.segment;
4952
- this.updateElement(line, void 0, {
4953
- animated: !animationsDisabled,
4954
- options
4955
- }, mode);
4956
- } else if (this.datasetElementType) {
4957
- delete meta.dataset;
4958
- this.datasetElementType = false;
4959
- }
4960
- this.updateElements(points, start, count, mode);
4961
- }
4962
- addElements() {
4963
- const { showLine } = this.options;
4964
- if (!this.datasetElementType && showLine) {
4965
- this.datasetElementType = this.chart.registry.getElement("line");
4966
- }
4967
- super.addElements();
4968
- }
4969
- updateElements(points, start, count, mode) {
4970
- const reset = mode === "reset";
4971
- const { iScale, vScale, _stacked, _dataset } = this._cachedMeta;
4972
- const firstOpts = this.resolveDataElementOptions(start, mode);
4973
- const sharedOptions = this.getSharedOptions(firstOpts);
4974
- const includeOptions = this.includeOptions(mode, sharedOptions);
4975
- const iAxis = iScale.axis;
4976
- const vAxis = vScale.axis;
4977
- const { spanGaps, segment } = this.options;
4978
- const maxGapLength = isNumber$1(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;
4979
- const directUpdate = this.chart._animationsDisabled || reset || mode === "none";
4980
- let prevParsed = start > 0 && this.getParsed(start - 1);
4981
- for (let i2 = start; i2 < start + count; ++i2) {
4982
- const point = points[i2];
4983
- const parsed = this.getParsed(i2);
4984
- const properties = directUpdate ? point : {};
4985
- const nullData = isNullOrUndef$1(parsed[vAxis]);
4986
- const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i2);
4987
- const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i2);
4988
- properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;
4989
- properties.stop = i2 > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;
4990
- if (segment) {
4991
- properties.parsed = parsed;
4992
- properties.raw = _dataset.data[i2];
4993
- }
4994
- if (includeOptions) {
4995
- properties.options = sharedOptions || this.resolveDataElementOptions(i2, point.active ? "active" : mode);
4996
- }
4997
- if (!directUpdate) {
4998
- this.updateElement(point, i2, properties, mode);
4999
- }
5000
- prevParsed = parsed;
5001
- }
5002
- this.updateSharedOptions(sharedOptions, mode, firstOpts);
5003
- }
5004
- getMaxOverflow() {
5005
- const meta = this._cachedMeta;
5006
- const data = meta.data || [];
5007
- if (!this.options.showLine) {
5008
- let max = 0;
5009
- for (let i2 = data.length - 1; i2 >= 0; --i2) {
5010
- max = Math.max(max, data[i2].size(this.resolveDataElementOptions(i2)) / 2);
5011
- }
5012
- return max > 0 && max;
5013
- }
5014
- const dataset = meta.dataset;
5015
- const border = dataset.options && dataset.options.borderWidth || 0;
5016
- if (!data.length) {
5017
- return border;
5018
- }
5019
- const firstPoint = data[0].size(this.resolveDataElementOptions(0));
5020
- const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));
5021
- return Math.max(border, firstPoint, lastPoint) / 2;
5022
- }
5023
- }, __publicField(_f, "id", "scatter"), __publicField(_f, "defaults", {
5024
- datasetElementType: false,
5025
- dataElementType: "point",
5026
- showLine: false,
5027
- fill: false
5028
- }), __publicField(_f, "overrides", {
5029
- interaction: {
5030
- mode: "point"
5031
- },
5032
- scales: {
5033
- x: {
5034
- type: "linear"
5035
- },
5036
- y: {
5037
- type: "linear"
5038
- }
5039
- }
5040
- }), _f);
5041
4917
  function abstract$1() {
5042
4918
  throw new Error("This method is not implemented: Check that a complete date adapter is provided.");
5043
4919
  }
@@ -5927,7 +5803,7 @@ function _detectPlatform$1(canvas2) {
5927
5803
  }
5928
5804
  return DomPlatform$1;
5929
5805
  }
5930
- let Element$2 = (_g = class {
5806
+ let Element$2 = (_f = class {
5931
5807
  constructor() {
5932
5808
  __publicField(this, "x");
5933
5809
  __publicField(this, "y");
@@ -5959,7 +5835,7 @@ let Element$2 = (_g = class {
5959
5835
  });
5960
5836
  return ret;
5961
5837
  }
5962
- }, __publicField(_g, "defaults", {}), __publicField(_g, "defaultRoutes"), _g);
5838
+ }, __publicField(_f, "defaults", {}), __publicField(_f, "defaultRoutes"), _f);
5963
5839
  function autoSkip$1(scale, ticks) {
5964
5840
  const tickOpts = scale.options.ticks;
5965
5841
  const determinedMaxTicks = determineMaxTicks$1(scale);
@@ -8046,7 +7922,7 @@ function getDatasetArea(meta, chartArea) {
8046
7922
  }
8047
7923
  return chartArea;
8048
7924
  }
8049
- let Chart$2 = (_h = class {
7925
+ let Chart$2 = (_g = class {
8050
7926
  static register(...items) {
8051
7927
  registry$1.add(...items);
8052
7928
  invalidatePlugins$1();
@@ -8866,7 +8742,7 @@ let Chart$2 = (_h = class {
8866
8742
  const hoverOptions = this.options.hover;
8867
8743
  return this.getElementsAtEventForMode(e2, hoverOptions.mode, hoverOptions, useFinalPosition);
8868
8744
  }
8869
- }, __publicField(_h, "defaults", defaults$2), __publicField(_h, "instances", instances$1), __publicField(_h, "overrides", overrides$1), __publicField(_h, "registry", registry$1), __publicField(_h, "version", version$3), __publicField(_h, "getChart", getChart$1), _h);
8745
+ }, __publicField(_g, "defaults", defaults$2), __publicField(_g, "instances", instances$1), __publicField(_g, "overrides", overrides$1), __publicField(_g, "registry", registry$1), __publicField(_g, "version", version$3), __publicField(_g, "getChart", getChart$1), _g);
8870
8746
  function invalidatePlugins$1() {
8871
8747
  return each$1(Chart$2.instances, (chart2) => chart2._plugins.invalidate());
8872
8748
  }
@@ -9028,7 +8904,7 @@ function drawBorder$1(ctx, element, offset, spacing, circular) {
9028
8904
  ctx.stroke();
9029
8905
  }
9030
8906
  }
9031
- let ArcElement$1 = (_i = class extends Element$2 {
8907
+ let ArcElement$1 = (_h = class extends Element$2 {
9032
8908
  constructor(cfg) {
9033
8909
  super();
9034
8910
  __publicField(this, "circumference");
@@ -9113,7 +8989,7 @@ let ArcElement$1 = (_i = class extends Element$2 {
9113
8989
  drawBorder$1(ctx, this, radiusOffset, spacing, circular);
9114
8990
  ctx.restore();
9115
8991
  }
9116
- }, __publicField(_i, "id", "arc"), __publicField(_i, "defaults", {
8992
+ }, __publicField(_h, "id", "arc"), __publicField(_h, "defaults", {
9117
8993
  borderAlign: "center",
9118
8994
  borderColor: "#fff",
9119
8995
  borderDash: [],
@@ -9125,12 +9001,12 @@ let ArcElement$1 = (_i = class extends Element$2 {
9125
9001
  spacing: 0,
9126
9002
  angle: void 0,
9127
9003
  circular: true
9128
- }), __publicField(_i, "defaultRoutes", {
9004
+ }), __publicField(_h, "defaultRoutes", {
9129
9005
  backgroundColor: "backgroundColor"
9130
- }), __publicField(_i, "descriptors", {
9006
+ }), __publicField(_h, "descriptors", {
9131
9007
  _scriptable: true,
9132
9008
  _indexable: (name) => name !== "borderDash"
9133
- }), _i);
9009
+ }), _h);
9134
9010
  function setStyle$1(ctx, options, style = options) {
9135
9011
  ctx.lineCap = valueOrDefault$1(style.borderCapStyle, options.borderCapStyle);
9136
9012
  ctx.setLineDash(valueOrDefault$1(style.borderDash, options.borderDash));
@@ -9283,7 +9159,7 @@ function draw$3(ctx, line, start, count) {
9283
9159
  strokePathDirect$1(ctx, line, start, count);
9284
9160
  }
9285
9161
  }
9286
- let LineElement$1 = (_j = class extends Element$2 {
9162
+ let LineElement$1 = (_i = class extends Element$2 {
9287
9163
  constructor(cfg) {
9288
9164
  super();
9289
9165
  this.animated = true;
@@ -9393,7 +9269,7 @@ let LineElement$1 = (_j = class extends Element$2 {
9393
9269
  this._path = void 0;
9394
9270
  }
9395
9271
  }
9396
- }, __publicField(_j, "id", "line"), __publicField(_j, "defaults", {
9272
+ }, __publicField(_i, "id", "line"), __publicField(_i, "defaults", {
9397
9273
  borderCapStyle: "butt",
9398
9274
  borderDash: [],
9399
9275
  borderDashOffset: 0,
@@ -9405,13 +9281,13 @@ let LineElement$1 = (_j = class extends Element$2 {
9405
9281
  spanGaps: false,
9406
9282
  stepped: false,
9407
9283
  tension: 0
9408
- }), __publicField(_j, "defaultRoutes", {
9284
+ }), __publicField(_i, "defaultRoutes", {
9409
9285
  backgroundColor: "backgroundColor",
9410
9286
  borderColor: "borderColor"
9411
- }), __publicField(_j, "descriptors", {
9287
+ }), __publicField(_i, "descriptors", {
9412
9288
  _scriptable: true,
9413
9289
  _indexable: (name) => name !== "borderDash" && name !== "fill"
9414
- }), _j);
9290
+ }), _i);
9415
9291
  function inRange$1$1(el, pos, axis, useFinalPosition) {
9416
9292
  const options = el.options;
9417
9293
  const { [axis]: value } = el.getProps([
@@ -9419,7 +9295,7 @@ function inRange$1$1(el, pos, axis, useFinalPosition) {
9419
9295
  ], useFinalPosition);
9420
9296
  return Math.abs(pos - value) < options.radius + options.hitRadius;
9421
9297
  }
9422
- let PointElement$1 = (_k = class extends Element$2 {
9298
+ let PointElement$1 = (_j = class extends Element$2 {
9423
9299
  constructor(cfg) {
9424
9300
  super();
9425
9301
  __publicField(this, "parsed");
@@ -9478,10 +9354,10 @@ let PointElement$1 = (_k = class extends Element$2 {
9478
9354
  const options = this.options || {};
9479
9355
  return options.radius + options.hitRadius;
9480
9356
  }
9481
- }, __publicField(_k, "id", "point"), /**
9357
+ }, __publicField(_j, "id", "point"), /**
9482
9358
  * @type {any}
9483
9359
  */
9484
- __publicField(_k, "defaults", {
9360
+ __publicField(_j, "defaults", {
9485
9361
  borderWidth: 1,
9486
9362
  hitRadius: 1,
9487
9363
  hoverBorderWidth: 1,
@@ -9492,10 +9368,10 @@ __publicField(_k, "defaults", {
9492
9368
  }), /**
9493
9369
  * @type {any}
9494
9370
  */
9495
- __publicField(_k, "defaultRoutes", {
9371
+ __publicField(_j, "defaultRoutes", {
9496
9372
  backgroundColor: "backgroundColor",
9497
9373
  borderColor: "borderColor"
9498
- }), _k);
9374
+ }), _j);
9499
9375
  function getBarBounds$1(bar, useFinalPosition) {
9500
9376
  const { x: x2, y: y2, base, width, height } = bar.getProps([
9501
9377
  "x",
@@ -9609,7 +9485,7 @@ function inflateRect$1(rect, amount, refRect = {}) {
9609
9485
  radius: rect.radius
9610
9486
  };
9611
9487
  }
9612
- let BarElement$1 = (_l = class extends Element$2 {
9488
+ let BarElement$1 = (_k = class extends Element$2 {
9613
9489
  constructor(cfg) {
9614
9490
  super();
9615
9491
  this.options = void 0;
@@ -9665,16 +9541,16 @@ let BarElement$1 = (_l = class extends Element$2 {
9665
9541
  getRange(axis) {
9666
9542
  return axis === "x" ? this.width / 2 : this.height / 2;
9667
9543
  }
9668
- }, __publicField(_l, "id", "bar"), __publicField(_l, "defaults", {
9544
+ }, __publicField(_k, "id", "bar"), __publicField(_k, "defaults", {
9669
9545
  borderSkipped: "start",
9670
9546
  borderWidth: 0,
9671
9547
  borderRadius: 0,
9672
9548
  inflateAmount: "auto",
9673
9549
  pointStyle: void 0
9674
- }), __publicField(_l, "defaultRoutes", {
9550
+ }), __publicField(_k, "defaultRoutes", {
9675
9551
  backgroundColor: "backgroundColor",
9676
9552
  borderColor: "borderColor"
9677
- }), _l);
9553
+ }), _k);
9678
9554
  function _segments(line, target, property) {
9679
9555
  const segments = line.segments;
9680
9556
  const points = line.points;
@@ -11243,7 +11119,7 @@ function invokeCallbackWithFallback(callbacks, name, ctx, arg) {
11243
11119
  }
11244
11120
  return result;
11245
11121
  }
11246
- let Tooltip$1 = (_m = class extends Element$2 {
11122
+ let Tooltip$1 = (_l = class extends Element$2 {
11247
11123
  constructor(config2) {
11248
11124
  super();
11249
11125
  this.opacity = 0;
@@ -11782,7 +11658,7 @@ let Tooltip$1 = (_m = class extends Element$2 {
11782
11658
  const position = positioners$2[options.position].call(this, active, e2);
11783
11659
  return position !== false && (caretX !== position.x || caretY !== position.y);
11784
11660
  }
11785
- }, __publicField(_m, "positioners", positioners$2), _m);
11661
+ }, __publicField(_l, "positioners", positioners$2), _l);
11786
11662
  var plugin_tooltip = {
11787
11663
  id: "tooltip",
11788
11664
  _element: Tooltip$1,
@@ -11937,7 +11813,7 @@ function _getLabelForValue(value) {
11937
11813
  }
11938
11814
  return value;
11939
11815
  }
11940
- let CategoryScale$1 = (_n = class extends Scale$1 {
11816
+ let CategoryScale$1 = (_m = class extends Scale$1 {
11941
11817
  constructor(cfg) {
11942
11818
  super(cfg);
11943
11819
  this._startValue = void 0;
@@ -12023,11 +11899,11 @@ let CategoryScale$1 = (_n = class extends Scale$1 {
12023
11899
  getBasePixel() {
12024
11900
  return this.bottom;
12025
11901
  }
12026
- }, __publicField(_n, "id", "category"), __publicField(_n, "defaults", {
11902
+ }, __publicField(_m, "id", "category"), __publicField(_m, "defaults", {
12027
11903
  ticks: {
12028
11904
  callback: _getLabelForValue
12029
11905
  }
12030
- }), _n);
11906
+ }), _m);
12031
11907
  function generateTicks$1$1(generationOptions, dataRange) {
12032
11908
  const ticks = [];
12033
11909
  const MIN_SPACING = 1e-14;
@@ -12250,7 +12126,7 @@ let LinearScaleBase$1 = class LinearScaleBase extends Scale$1 {
12250
12126
  return formatNumber$1(value, this.chart.options.locale, this.options.ticks.format);
12251
12127
  }
12252
12128
  };
12253
- let LinearScale$1 = (_o = class extends LinearScaleBase$1 {
12129
+ let LinearScale$1 = (_n = class extends LinearScaleBase$1 {
12254
12130
  determineDataLimits() {
12255
12131
  const { min, max } = this.getMinMax(true);
12256
12132
  this.min = isNumberFinite$1(min) ? min : 0;
@@ -12271,11 +12147,11 @@ let LinearScale$1 = (_o = class extends LinearScaleBase$1 {
12271
12147
  getValueForPixel(pixel) {
12272
12148
  return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;
12273
12149
  }
12274
- }, __publicField(_o, "id", "linear"), __publicField(_o, "defaults", {
12150
+ }, __publicField(_n, "id", "linear"), __publicField(_n, "defaults", {
12275
12151
  ticks: {
12276
12152
  callback: Ticks$1.formatters.numeric
12277
12153
  }
12278
- }), _o);
12154
+ }), _n);
12279
12155
  const log10Floor = (v2) => Math.floor(log10$1(v2));
12280
12156
  const changeExponent = (v2, m2) => Math.pow(10, log10Floor(v2) + m2);
12281
12157
  function isMajor$1(tickVal) {
@@ -12337,7 +12213,7 @@ function generateTicks$2(generationOptions, { min, max }) {
12337
12213
  });
12338
12214
  return ticks;
12339
12215
  }
12340
- let LogarithmicScale$1 = (_p = class extends Scale$1 {
12216
+ let LogarithmicScale$1 = (_o = class extends Scale$1 {
12341
12217
  constructor(cfg) {
12342
12218
  super(cfg);
12343
12219
  this.start = void 0;
@@ -12434,14 +12310,14 @@ let LogarithmicScale$1 = (_p = class extends Scale$1 {
12434
12310
  const decimal = this.getDecimalForPixel(pixel);
12435
12311
  return Math.pow(10, this._startValue + decimal * this._valueRange);
12436
12312
  }
12437
- }, __publicField(_p, "id", "logarithmic"), __publicField(_p, "defaults", {
12313
+ }, __publicField(_o, "id", "logarithmic"), __publicField(_o, "defaults", {
12438
12314
  ticks: {
12439
12315
  callback: Ticks$1.formatters.logarithmic,
12440
12316
  major: {
12441
12317
  enabled: true
12442
12318
  }
12443
12319
  }
12444
- }), _p);
12320
+ }), _o);
12445
12321
  const INTERVALS$1 = {
12446
12322
  millisecond: {
12447
12323
  common: true,
@@ -12577,7 +12453,7 @@ function ticksFromTimestamps$1(scale, values, majorUnit) {
12577
12453
  }
12578
12454
  return ilen === 0 || !majorUnit ? ticks : setMajorTicks$1(scale, ticks, map2, majorUnit);
12579
12455
  }
12580
- let TimeScale$1 = (_q = class extends Scale$1 {
12456
+ let TimeScale$1 = (_p = class extends Scale$1 {
12581
12457
  constructor(props) {
12582
12458
  super(props);
12583
12459
  this._cache = {
@@ -12843,7 +12719,7 @@ let TimeScale$1 = (_q = class extends Scale$1 {
12843
12719
  normalize(values) {
12844
12720
  return _arrayUnique$1(values.sort(sorter$1));
12845
12721
  }
12846
- }, __publicField(_q, "id", "time"), __publicField(_q, "defaults", {
12722
+ }, __publicField(_p, "id", "time"), __publicField(_p, "defaults", {
12847
12723
  bounds: "data",
12848
12724
  adapters: {},
12849
12725
  time: {
@@ -12861,7 +12737,7 @@ let TimeScale$1 = (_q = class extends Scale$1 {
12861
12737
  enabled: false
12862
12738
  }
12863
12739
  }
12864
- }), _q);
12740
+ }), _p);
12865
12741
  function interpolate$2(table2, val, reverse) {
12866
12742
  let lo = 0;
12867
12743
  let hi = table2.length - 1;
@@ -12882,7 +12758,7 @@ function interpolate$2(table2, val, reverse) {
12882
12758
  const span = nextSource - prevSource;
12883
12759
  return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;
12884
12760
  }
12885
- let TimeSeriesScale$1 = (_r = class extends TimeScale$1 {
12761
+ let TimeSeriesScale$1 = (_q = class extends TimeScale$1 {
12886
12762
  constructor(props) {
12887
12763
  super(props);
12888
12764
  this._table = [];
@@ -12967,7 +12843,7 @@ let TimeSeriesScale$1 = (_r = class extends TimeScale$1 {
12967
12843
  const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;
12968
12844
  return interpolate$2(this._table, decimal * this._tableRange + this._minPos, true);
12969
12845
  }
12970
- }, __publicField(_r, "id", "timeseries"), __publicField(_r, "defaults", TimeScale$1.defaults), _r);
12846
+ }, __publicField(_q, "id", "timeseries"), __publicField(_q, "defaults", TimeScale$1.defaults), _q);
12971
12847
  const defaultDatasetIdKey = "label";
12972
12848
  function reforwardRef(ref, value) {
12973
12849
  if (typeof ref === "function") {
@@ -13104,348 +12980,6 @@ function createTypedChart(type, registerables) {
13104
12980
  const Line = /* @__PURE__ */ createTypedChart("line", LineController$1);
13105
12981
  const Bar = /* @__PURE__ */ createTypedChart("bar", BarController$1);
13106
12982
  const Pie = /* @__PURE__ */ createTypedChart("pie", PieController$1);
13107
- const Scatter = /* @__PURE__ */ createTypedChart("scatter", ScatterController$1);
13108
- const MINOR_TICKS_PER_MAJOR = 10;
13109
- const getLargestMajorTickWidth = (majorTickPositions) => {
13110
- return majorTickPositions.reduce(
13111
- (acc, curr, index2) => {
13112
- if (index2 === 0)
13113
- return acc;
13114
- const gap = Math.abs(curr - majorTickPositions[index2 - 1]);
13115
- return Math.max(gap, acc);
13116
- },
13117
- 0
13118
- );
13119
- };
13120
- const isValidPosition = (minorTickPosition, majorTickPositions, scale) => {
13121
- const { axis, left: left2, top: top2, right: right2, bottom: bottom2 } = scale;
13122
- const isHorizontal = axis === "x";
13123
- const start = isHorizontal ? left2 : top2;
13124
- const end = isHorizontal ? right2 : bottom2;
13125
- const isAfterStart = minorTickPosition > start;
13126
- const isBeforeEnd = minorTickPosition < end;
13127
- const isDuplicate = majorTickPositions.indexOf(minorTickPosition) !== -1;
13128
- return isAfterStart && isBeforeEnd && !isDuplicate;
13129
- };
13130
- const getMinorTickPositions = (majorTickPositions, scale) => {
13131
- const sortedMajorTickPositions = majorTickPositions.sort((a2, b2) => {
13132
- return a2 - b2;
13133
- });
13134
- const minorTickWidth = getLargestMajorTickWidth(majorTickPositions) / 10;
13135
- const startPosition = majorTickPositions[0];
13136
- const numMinorTicks = (majorTickPositions.length + 1) * MINOR_TICKS_PER_MAJOR;
13137
- const positions2 = [...Array(numMinorTicks)].map((_2, index2) => {
13138
- const minorTickPosition = startPosition + (index2 - MINOR_TICKS_PER_MAJOR + 1) * minorTickWidth;
13139
- return parseFloat(minorTickPosition.toFixed(1));
13140
- }).filter(
13141
- (position) => isValidPosition(position, sortedMajorTickPositions, scale)
13142
- );
13143
- return positions2;
13144
- };
13145
- const drawMinorTicksForScale = (scale) => {
13146
- var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2;
13147
- const { chart: chart2, ctx } = scale;
13148
- const config2 = chart2.config;
13149
- if (!((_d2 = (_c2 = (_b2 = (_a2 = config2 == null ? void 0 : config2.options) == null ? void 0 : _a2.scales) == null ? void 0 : _b2[scale.id]) == null ? void 0 : _c2.grid) == null ? void 0 : _d2.drawOnChartArea))
13150
- return;
13151
- if (config2.options.indexAxis === scale.axis)
13152
- return;
13153
- const isHorizontal = scale.axis === "x";
13154
- const majorTickPositions = scale.ticks.map((_2, index2) => scale.getPixelForTick(index2)).sort((a2, b2) => a2 - b2);
13155
- const minorTickPositions = getMinorTickPositions(majorTickPositions, scale);
13156
- ctx.save();
13157
- ctx.strokeStyle = ((_i2 = (_h2 = (_g2 = (_f2 = (_e2 = config2 == null ? void 0 : config2._config) == null ? void 0 : _e2.options) == null ? void 0 : _f2.scales) == null ? void 0 : _g2[scale.id]) == null ? void 0 : _h2.grid) == null ? void 0 : _i2.color) || "rgba(0,0,0,0.06)";
13158
- ctx.lineWidth = 0.5;
13159
- minorTickPositions.forEach((minorTickPosition) => {
13160
- ctx.beginPath();
13161
- if (isHorizontal) {
13162
- const { top: top2, bottom: bottom2 } = chart2.chartArea;
13163
- ctx.moveTo(minorTickPosition, top2);
13164
- ctx.lineTo(minorTickPosition, bottom2);
13165
- } else {
13166
- const { left: left2, right: right2 } = chart2.chartArea;
13167
- ctx.moveTo(left2, minorTickPosition);
13168
- ctx.lineTo(right2, minorTickPosition);
13169
- }
13170
- ctx.stroke();
13171
- });
13172
- ctx.restore();
13173
- };
13174
- const chartMinorGridlinesPlugin = {
13175
- id: "minorGridlines",
13176
- beforeDatasetsDraw: (chart2) => {
13177
- const { scales } = chart2;
13178
- Object.keys(scales).forEach((id) => drawMinorTicksForScale(scales[id]));
13179
- }
13180
- };
13181
- const BORDER_WIDTH = {
13182
- INITIAL: 2,
13183
- HOVERED: 6
13184
- };
13185
- const BORDER_COLOR = "rgba(0,0,0,0.1)";
13186
- const ANNOTATION_DASH = [10, 2];
13187
- const DEFAULT_FONT_SIZE = 12;
13188
- const DEFAULT_FONT_FAMILY = '"Roobert", sans-serif';
13189
- const DEFAULT_COLOR = "hsl(60, 10.34482759%, 12.5%)";
13190
- const LEGEND_LABEL_BOX_SIZE = 12;
13191
- const TOOLTIP_PADDING = 8;
13192
- const TOOLTIP_BOX_PADDING = 4;
13193
- const LOGARITHMIC_STEPS = [1, 10, 100, 1e3, 1e4];
13194
- const COLORS = [
13195
- "#3366cc",
13196
- "#dc3912",
13197
- "#ff9900",
13198
- "#109618",
13199
- "#990099",
13200
- "#0099c6",
13201
- "#dd4477",
13202
- "#66aa00",
13203
- "#b82e2e",
13204
- "#316395",
13205
- "#994499",
13206
- "#22aa99",
13207
- "#aaaa11",
13208
- "#6633cc",
13209
- "#e67300",
13210
- "#8b0707",
13211
- "#651067",
13212
- "#329262",
13213
- "#5574a6",
13214
- "#3b3eac"
13215
- ];
13216
- const ALPHA_CHANEL = "99";
13217
- const WHITE_COLOR_AS_DECIMAL = 16777215;
13218
- const AUTO = "auto";
13219
- const ANIMATION_DURATION = {
13220
- NO: 0,
13221
- SLOW: 400,
13222
- FAST: 1e3
13223
- };
13224
- const DEFAULT_CHART_NAME = "new_chart";
13225
- const CUSTOM_LEGEND_PLUGIN_NAME = "htmlLegend";
13226
- const DECIMAL_POINT_TOLERANCE = 9;
13227
- const MAX_DECIMAL_DIFF = 1 / 10 ** DECIMAL_POINT_TOLERANCE;
13228
- var AxisType = /* @__PURE__ */ ((AxisType2) => {
13229
- AxisType2["X"] = "x";
13230
- AxisType2["Y"] = "y";
13231
- return AxisType2;
13232
- })(AxisType || {});
13233
- var Position = /* @__PURE__ */ ((Position2) => {
13234
- Position2["Bottom"] = "bottom";
13235
- Position2["Top"] = "top";
13236
- Position2["Left"] = "left";
13237
- Position2["Right"] = "right";
13238
- Position2["TopRight"] = "top-right";
13239
- Position2["TopLeft"] = "top-left";
13240
- Position2["BottomLeft"] = "bottom-left";
13241
- Position2["BottomRight"] = "bottom-right";
13242
- return Position2;
13243
- })(Position || {});
13244
- var ChartType = /* @__PURE__ */ ((ChartType2) => {
13245
- ChartType2["Line"] = "line";
13246
- ChartType2["Bar"] = "bar";
13247
- return ChartType2;
13248
- })(ChartType || {});
13249
- var CursorStyle = /* @__PURE__ */ ((CursorStyle2) => {
13250
- CursorStyle2["Pointer"] = "pointer";
13251
- CursorStyle2["Initial"] = "initial";
13252
- return CursorStyle2;
13253
- })(CursorStyle || {});
13254
- var ScaleType = /* @__PURE__ */ ((ScaleType2) => {
13255
- ScaleType2["Category"] = "category";
13256
- ScaleType2["Linear"] = "linear";
13257
- ScaleType2["Logarithmic"] = "logarithmic";
13258
- return ScaleType2;
13259
- })(ScaleType || {});
13260
- var ChartDirection = /* @__PURE__ */ ((ChartDirection2) => {
13261
- ChartDirection2["Vertical"] = "vertical";
13262
- return ChartDirection2;
13263
- })(ChartDirection || {});
13264
- var TooltipLabel = /* @__PURE__ */ ((TooltipLabel2) => {
13265
- TooltipLabel2["Y"] = "yLabel";
13266
- TooltipLabel2["X"] = "xLabel";
13267
- return TooltipLabel2;
13268
- })(TooltipLabel || {});
13269
- var AlignOptions = /* @__PURE__ */ ((AlignOptions2) => {
13270
- AlignOptions2["End"] = "end";
13271
- AlignOptions2["Start"] = "start";
13272
- AlignOptions2["Center"] = "center";
13273
- AlignOptions2["Right"] = "right";
13274
- AlignOptions2["Left"] = "left";
13275
- return AlignOptions2;
13276
- })(AlignOptions || {});
13277
- var AnnotationType = /* @__PURE__ */ ((AnnotationType2) => {
13278
- AnnotationType2["Box"] = "box";
13279
- AnnotationType2["Ellipse"] = "ellipse";
13280
- AnnotationType2["Line"] = "line";
13281
- AnnotationType2["Text"] = "text";
13282
- return AnnotationType2;
13283
- })(AnnotationType || {});
13284
- var PointStyle = /* @__PURE__ */ ((PointStyle2) => {
13285
- PointStyle2["Circle"] = "circle";
13286
- return PointStyle2;
13287
- })(PointStyle || {});
13288
- var ChartHoverMode = /* @__PURE__ */ ((ChartHoverMode2) => {
13289
- ChartHoverMode2["Nearest"] = "nearest";
13290
- return ChartHoverMode2;
13291
- })(ChartHoverMode || {});
13292
- var PanZoomMode = /* @__PURE__ */ ((PanZoomMode2) => {
13293
- PanZoomMode2["X"] = "x";
13294
- PanZoomMode2["Y"] = "y";
13295
- PanZoomMode2["XY"] = "xy";
13296
- PanZoomMode2["Z"] = "z";
13297
- return PanZoomMode2;
13298
- })(PanZoomMode || {});
13299
- var Key = /* @__PURE__ */ ((Key2) => {
13300
- Key2["Shift"] = "Shift";
13301
- return Key2;
13302
- })(Key || {});
13303
- var Events = /* @__PURE__ */ ((Events2) => {
13304
- Events2["Mousemove"] = "mousemove";
13305
- Events2["Mouseout"] = "mouseout";
13306
- Events2["Click"] = "click";
13307
- Events2["Touchstart"] = "touchstart";
13308
- Events2["Touchmove"] = "touchmove";
13309
- Events2["Dblclick"] = "dblclick";
13310
- return Events2;
13311
- })(Events || {});
13312
- const chartAreaBorderPlugin = {
13313
- id: "chartAreaBorder",
13314
- beforeDraw(chart2, _args, options) {
13315
- const {
13316
- ctx,
13317
- chartArea: { left: left2, top: top2, width, height }
13318
- } = chart2;
13319
- ctx.save();
13320
- ctx.strokeStyle = options.borderColor;
13321
- ctx.lineWidth = options.borderWidth;
13322
- ctx.setLineDash(options.borderDash || []);
13323
- ctx.lineDashOffset = options.borderDashOffset;
13324
- ctx.strokeRect(left2, top2, width, height);
13325
- ctx.restore();
13326
- }
13327
- };
13328
- const getPlugins = (graph, legend2) => {
13329
- var _a2;
13330
- let plugins = [];
13331
- if (graph.showMinorGridlines) {
13332
- plugins.push(chartMinorGridlinesPlugin);
13333
- }
13334
- const customLegend = legend2 == null ? void 0 : legend2.customLegend;
13335
- if ((customLegend == null ? void 0 : customLegend.customLegendPlugin) && (customLegend == null ? void 0 : customLegend.customLegendContainerID)) {
13336
- plugins.push({
13337
- id: CUSTOM_LEGEND_PLUGIN_NAME,
13338
- ...(_a2 = legend2 == null ? void 0 : legend2.customLegend) == null ? void 0 : _a2.customLegendPlugin
13339
- });
13340
- }
13341
- plugins.push(chartAreaBorderPlugin);
13342
- return plugins;
13343
- };
13344
- const generateRandomColor = (colors2) => {
13345
- const color2 = `#${Math.floor(Math.random() * WHITE_COLOR_AS_DECIMAL).toString(
13346
- 16
13347
- )}`;
13348
- if (colors2.includes(color2)) {
13349
- return generateRandomColor(colors2);
13350
- } else {
13351
- colors2.push(color2);
13352
- return colors2;
13353
- }
13354
- };
13355
- const setAnnotations = (annotationsData) => {
13356
- return (annotationsData == null ? void 0 : annotationsData.length) ? annotationsData.map((_v, i2) => i2) : [];
13357
- };
13358
- const getTitle = (options) => {
13359
- return options.title !== "" ? {
13360
- display: true,
13361
- text: options.title
13362
- } : {};
13363
- };
13364
- const isVertical = (direction) => {
13365
- return direction === ChartDirection.Vertical;
13366
- };
13367
- const getAxisPosition = (axisType, i2) => {
13368
- const [positionA, positionB] = axisType === AxisType.Y ? [Position.Left, Position.Right] : [Position.Top, Position.Bottom];
13369
- return i2 % 2 === 0 ? positionA : positionB;
13370
- };
13371
- const getClassName = (chartStyling, styles2) => {
13372
- const {
13373
- width,
13374
- height,
13375
- staticChartHeight = false,
13376
- squareAspectRatio: squareAspectRatio2 = 0
13377
- } = chartStyling;
13378
- const squareAspectRatioStyle = squareAspectRatio2 ? styles2.squareAspectRatio : "";
13379
- let heightStyles = "";
13380
- if (width || height) {
13381
- heightStyles = "";
13382
- } else {
13383
- heightStyles = staticChartHeight ? styles2 == null ? void 0 : styles2.fixedHeight : styles2 == null ? void 0 : styles2.stretchHeight;
13384
- }
13385
- return cx(styles2.chart, heightStyles, squareAspectRatioStyle);
13386
- };
13387
- const getLegend = (options, clickHandler) => {
13388
- const { legend: legend2 } = options || {};
13389
- return {
13390
- position: (legend2 == null ? void 0 : legend2.position) || Position.Top,
13391
- display: legend2 == null ? void 0 : legend2.display,
13392
- align: legend2 == null ? void 0 : legend2.align,
13393
- labels: {
13394
- boxHeight: LEGEND_LABEL_BOX_SIZE,
13395
- boxWidth: (legend2 == null ? void 0 : legend2.usePointStyle) ? LEGEND_LABEL_BOX_SIZE : void 0,
13396
- usePointStyle: legend2 == null ? void 0 : legend2.usePointStyle
13397
- },
13398
- onClick: clickHandler
13399
- };
13400
- };
13401
- const afterLabelCallback = (tooltipItem) => {
13402
- const { error } = tooltipItem.dataset.data[tooltipItem == null ? void 0 : tooltipItem.dataIndex];
13403
- return error ? `Error: ${round$2(error, 4)}` : "";
13404
- };
13405
- const getTooltipLabel = (tooltipItem, showLabelsInTooltips) => {
13406
- var _a2;
13407
- const datasetDataLabel = (_a2 = tooltipItem.dataset.data[tooltipItem.dataIndex]) == null ? void 0 : _a2.label;
13408
- const dataLabel = Array.isArray(datasetDataLabel) ? datasetDataLabel.join(" , ") : datasetDataLabel;
13409
- return showLabelsInTooltips && (dataLabel == null ? void 0 : dataLabel.length) ? ` (${dataLabel})` : "";
13410
- };
13411
- const getChartFileName = (axes) => {
13412
- if (!axes) {
13413
- return DEFAULT_CHART_NAME;
13414
- }
13415
- const axesLabels = axes.reduce((acc, cur, index2) => {
13416
- var _a2;
13417
- const labelWithNoSpace = ((_a2 = cur.label) == null ? void 0 : _a2.replace(/\s/g, "_")) || String(index2);
13418
- return [...acc, labelWithNoSpace];
13419
- }, []);
13420
- return axesLabels.join("_");
13421
- };
13422
- const setDefaultTheme = () => {
13423
- defaults$2.font.size = DEFAULT_FONT_SIZE;
13424
- defaults$2.font.family = DEFAULT_FONT_FAMILY;
13425
- defaults$2.color = DEFAULT_COLOR;
13426
- defaults$2.borderColor = BORDER_COLOR;
13427
- };
13428
- const isNilOrEmpty = (value) => {
13429
- if (value === null || value === void 0 || value === "") {
13430
- return true;
13431
- }
13432
- if (Array.isArray(value) && value.length === 0) {
13433
- return true;
13434
- }
13435
- if (typeof value === "object" && Object.keys(value).length === 0) {
13436
- return true;
13437
- }
13438
- return false;
13439
- };
13440
- const chart$3 = "_chart_1v6ps_1";
13441
- const styles$5 = {
13442
- chart: chart$3
13443
- };
13444
- const ScatterChart = (props) => {
13445
- setDefaultTheme();
13446
- const { data = { datasets: [] }, options, testId = null } = props.chart;
13447
- return /* @__PURE__ */ jsx("div", { className: styles$5.chart, children: /* @__PURE__ */ jsx(Scatter, { options, data, "data-testid": testId }) });
13448
- };
13449
12983
  function getDefaultExportFromCjs(x2) {
13450
12984
  return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
13451
12985
  }
@@ -22637,6 +22171,338 @@ const reducer$1 = (state, action) => {
22637
22171
  }
22638
22172
  });
22639
22173
  };
22174
+ var AxisType = /* @__PURE__ */ ((AxisType2) => {
22175
+ AxisType2["X"] = "x";
22176
+ AxisType2["Y"] = "y";
22177
+ return AxisType2;
22178
+ })(AxisType || {});
22179
+ var Position = /* @__PURE__ */ ((Position2) => {
22180
+ Position2["Bottom"] = "bottom";
22181
+ Position2["Top"] = "top";
22182
+ Position2["Left"] = "left";
22183
+ Position2["Right"] = "right";
22184
+ Position2["TopRight"] = "top-right";
22185
+ Position2["TopLeft"] = "top-left";
22186
+ Position2["BottomLeft"] = "bottom-left";
22187
+ Position2["BottomRight"] = "bottom-right";
22188
+ return Position2;
22189
+ })(Position || {});
22190
+ var ChartType = /* @__PURE__ */ ((ChartType2) => {
22191
+ ChartType2["Line"] = "line";
22192
+ ChartType2["Bar"] = "bar";
22193
+ return ChartType2;
22194
+ })(ChartType || {});
22195
+ var CursorStyle = /* @__PURE__ */ ((CursorStyle2) => {
22196
+ CursorStyle2["Pointer"] = "pointer";
22197
+ CursorStyle2["Initial"] = "initial";
22198
+ return CursorStyle2;
22199
+ })(CursorStyle || {});
22200
+ var ScaleType = /* @__PURE__ */ ((ScaleType2) => {
22201
+ ScaleType2["Category"] = "category";
22202
+ ScaleType2["Linear"] = "linear";
22203
+ ScaleType2["Logarithmic"] = "logarithmic";
22204
+ return ScaleType2;
22205
+ })(ScaleType || {});
22206
+ var ChartDirection = /* @__PURE__ */ ((ChartDirection2) => {
22207
+ ChartDirection2["Vertical"] = "vertical";
22208
+ return ChartDirection2;
22209
+ })(ChartDirection || {});
22210
+ var TooltipLabel = /* @__PURE__ */ ((TooltipLabel2) => {
22211
+ TooltipLabel2["Y"] = "yLabel";
22212
+ TooltipLabel2["X"] = "xLabel";
22213
+ return TooltipLabel2;
22214
+ })(TooltipLabel || {});
22215
+ var AlignOptions = /* @__PURE__ */ ((AlignOptions2) => {
22216
+ AlignOptions2["End"] = "end";
22217
+ AlignOptions2["Start"] = "start";
22218
+ AlignOptions2["Center"] = "center";
22219
+ AlignOptions2["Right"] = "right";
22220
+ AlignOptions2["Left"] = "left";
22221
+ return AlignOptions2;
22222
+ })(AlignOptions || {});
22223
+ var AnnotationType = /* @__PURE__ */ ((AnnotationType2) => {
22224
+ AnnotationType2["Box"] = "box";
22225
+ AnnotationType2["Ellipse"] = "ellipse";
22226
+ AnnotationType2["Line"] = "line";
22227
+ AnnotationType2["Text"] = "text";
22228
+ return AnnotationType2;
22229
+ })(AnnotationType || {});
22230
+ var PointStyle = /* @__PURE__ */ ((PointStyle2) => {
22231
+ PointStyle2["Circle"] = "circle";
22232
+ return PointStyle2;
22233
+ })(PointStyle || {});
22234
+ var ChartHoverMode = /* @__PURE__ */ ((ChartHoverMode2) => {
22235
+ ChartHoverMode2["Nearest"] = "nearest";
22236
+ return ChartHoverMode2;
22237
+ })(ChartHoverMode || {});
22238
+ var PanZoomMode = /* @__PURE__ */ ((PanZoomMode2) => {
22239
+ PanZoomMode2["X"] = "x";
22240
+ PanZoomMode2["Y"] = "y";
22241
+ PanZoomMode2["XY"] = "xy";
22242
+ PanZoomMode2["Z"] = "z";
22243
+ return PanZoomMode2;
22244
+ })(PanZoomMode || {});
22245
+ var Key = /* @__PURE__ */ ((Key2) => {
22246
+ Key2["Shift"] = "Shift";
22247
+ return Key2;
22248
+ })(Key || {});
22249
+ var Events = /* @__PURE__ */ ((Events2) => {
22250
+ Events2["Mousemove"] = "mousemove";
22251
+ Events2["Mouseout"] = "mouseout";
22252
+ Events2["Click"] = "click";
22253
+ Events2["Touchstart"] = "touchstart";
22254
+ Events2["Touchmove"] = "touchmove";
22255
+ Events2["Dblclick"] = "dblclick";
22256
+ return Events2;
22257
+ })(Events || {});
22258
+ const MINOR_TICKS_PER_MAJOR = 10;
22259
+ const getLargestMajorTickWidth = (majorTickPositions) => {
22260
+ return majorTickPositions.reduce(
22261
+ (acc, curr, index2) => {
22262
+ if (index2 === 0)
22263
+ return acc;
22264
+ const gap = Math.abs(curr - majorTickPositions[index2 - 1]);
22265
+ return Math.max(gap, acc);
22266
+ },
22267
+ 0
22268
+ );
22269
+ };
22270
+ const isValidPosition = (minorTickPosition, majorTickPositions, scale) => {
22271
+ const { axis, left: left2, top: top2, right: right2, bottom: bottom2 } = scale;
22272
+ const isHorizontal = axis === "x";
22273
+ const start = isHorizontal ? left2 : top2;
22274
+ const end = isHorizontal ? right2 : bottom2;
22275
+ const isAfterStart = minorTickPosition > start;
22276
+ const isBeforeEnd = minorTickPosition < end;
22277
+ const isDuplicate = majorTickPositions.indexOf(minorTickPosition) !== -1;
22278
+ return isAfterStart && isBeforeEnd && !isDuplicate;
22279
+ };
22280
+ const getMinorTickPositions = (majorTickPositions, scale) => {
22281
+ const sortedMajorTickPositions = majorTickPositions.sort((a2, b2) => {
22282
+ return a2 - b2;
22283
+ });
22284
+ const minorTickWidth = getLargestMajorTickWidth(majorTickPositions) / 10;
22285
+ const startPosition = majorTickPositions[0];
22286
+ const numMinorTicks = (majorTickPositions.length + 1) * MINOR_TICKS_PER_MAJOR;
22287
+ const positions2 = [...Array(numMinorTicks)].map((_2, index2) => {
22288
+ const minorTickPosition = startPosition + (index2 - MINOR_TICKS_PER_MAJOR + 1) * minorTickWidth;
22289
+ return parseFloat(minorTickPosition.toFixed(1));
22290
+ }).filter(
22291
+ (position) => isValidPosition(position, sortedMajorTickPositions, scale)
22292
+ );
22293
+ return positions2;
22294
+ };
22295
+ const drawMinorTicksForScale = (scale) => {
22296
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2;
22297
+ const { chart: chart2, ctx } = scale;
22298
+ const config2 = chart2.config;
22299
+ if (!((_d2 = (_c2 = (_b2 = (_a2 = config2 == null ? void 0 : config2.options) == null ? void 0 : _a2.scales) == null ? void 0 : _b2[scale.id]) == null ? void 0 : _c2.grid) == null ? void 0 : _d2.drawOnChartArea))
22300
+ return;
22301
+ if (config2.options.indexAxis === scale.axis)
22302
+ return;
22303
+ const isHorizontal = scale.axis === "x";
22304
+ const majorTickPositions = scale.ticks.map((_2, index2) => scale.getPixelForTick(index2)).sort((a2, b2) => a2 - b2);
22305
+ const minorTickPositions = getMinorTickPositions(majorTickPositions, scale);
22306
+ ctx.save();
22307
+ ctx.strokeStyle = ((_i2 = (_h2 = (_g2 = (_f2 = (_e2 = config2 == null ? void 0 : config2._config) == null ? void 0 : _e2.options) == null ? void 0 : _f2.scales) == null ? void 0 : _g2[scale.id]) == null ? void 0 : _h2.grid) == null ? void 0 : _i2.color) || "rgba(0,0,0,0.06)";
22308
+ ctx.lineWidth = 0.5;
22309
+ minorTickPositions.forEach((minorTickPosition) => {
22310
+ ctx.beginPath();
22311
+ if (isHorizontal) {
22312
+ const { top: top2, bottom: bottom2 } = chart2.chartArea;
22313
+ ctx.moveTo(minorTickPosition, top2);
22314
+ ctx.lineTo(minorTickPosition, bottom2);
22315
+ } else {
22316
+ const { left: left2, right: right2 } = chart2.chartArea;
22317
+ ctx.moveTo(left2, minorTickPosition);
22318
+ ctx.lineTo(right2, minorTickPosition);
22319
+ }
22320
+ ctx.stroke();
22321
+ });
22322
+ ctx.restore();
22323
+ };
22324
+ const chartMinorGridlinesPlugin = {
22325
+ id: "minorGridlines",
22326
+ beforeDatasetsDraw: (chart2) => {
22327
+ const { scales } = chart2;
22328
+ Object.keys(scales).forEach((id) => drawMinorTicksForScale(scales[id]));
22329
+ }
22330
+ };
22331
+ const BORDER_WIDTH = {
22332
+ INITIAL: 2,
22333
+ HOVERED: 6
22334
+ };
22335
+ const BORDER_COLOR = "rgba(0,0,0,0.1)";
22336
+ const ANNOTATION_DASH = [10, 2];
22337
+ const DEFAULT_FONT_SIZE = 13;
22338
+ const DEFAULT_FONT_FAMILY = '"Lato", sans-serif';
22339
+ const DEFAULT_COLOR = "rgba(0,0,0,.87)";
22340
+ const LEGEND_LABEL_BOX_SIZE = 12;
22341
+ const TOOLTIP_PADDING = 8;
22342
+ const TOOLTIP_BOX_PADDING = 4;
22343
+ const LOGARITHMIC_STEPS = [1, 10, 100, 1e3, 1e4];
22344
+ const COLORS = [
22345
+ "#3366cc",
22346
+ "#dc3912",
22347
+ "#ff9900",
22348
+ "#109618",
22349
+ "#990099",
22350
+ "#0099c6",
22351
+ "#dd4477",
22352
+ "#66aa00",
22353
+ "#b82e2e",
22354
+ "#316395",
22355
+ "#994499",
22356
+ "#22aa99",
22357
+ "#aaaa11",
22358
+ "#6633cc",
22359
+ "#e67300",
22360
+ "#8b0707",
22361
+ "#651067",
22362
+ "#329262",
22363
+ "#5574a6",
22364
+ "#3b3eac"
22365
+ ];
22366
+ const ALPHA_CHANEL = "99";
22367
+ const WHITE_COLOR_AS_DECIMAL = 16777215;
22368
+ const AUTO = "auto";
22369
+ const ANIMATION_DURATION = {
22370
+ NO: 0,
22371
+ SLOW: 400,
22372
+ FAST: 1e3
22373
+ };
22374
+ const DEFAULT_CHART_NAME = "new_chart";
22375
+ const CUSTOM_LEGEND_PLUGIN_NAME = "htmlLegend";
22376
+ const DECIMAL_POINT_TOLERANCE = 9;
22377
+ const MAX_DECIMAL_DIFF = 1 / 10 ** DECIMAL_POINT_TOLERANCE;
22378
+ const chartAreaBorderPlugin = {
22379
+ id: "chartAreaBorder",
22380
+ beforeDraw(chart2, _args, options) {
22381
+ const {
22382
+ ctx,
22383
+ chartArea: { left: left2, top: top2, width, height }
22384
+ } = chart2;
22385
+ ctx.save();
22386
+ ctx.strokeStyle = options.borderColor;
22387
+ ctx.lineWidth = options.borderWidth;
22388
+ ctx.setLineDash(options.borderDash || []);
22389
+ ctx.lineDashOffset = options.borderDashOffset;
22390
+ ctx.strokeRect(left2, top2, width, height);
22391
+ ctx.restore();
22392
+ }
22393
+ };
22394
+ const getPlugins = (graph, legend2) => {
22395
+ var _a2;
22396
+ let plugins = [];
22397
+ if (graph.showMinorGridlines) {
22398
+ plugins.push(chartMinorGridlinesPlugin);
22399
+ }
22400
+ const customLegend = legend2 == null ? void 0 : legend2.customLegend;
22401
+ if ((customLegend == null ? void 0 : customLegend.customLegendPlugin) && (customLegend == null ? void 0 : customLegend.customLegendContainerID)) {
22402
+ plugins.push({
22403
+ id: CUSTOM_LEGEND_PLUGIN_NAME,
22404
+ ...(_a2 = legend2 == null ? void 0 : legend2.customLegend) == null ? void 0 : _a2.customLegendPlugin
22405
+ });
22406
+ }
22407
+ plugins.push(chartAreaBorderPlugin);
22408
+ return plugins;
22409
+ };
22410
+ const generateRandomColor = (colors2) => {
22411
+ const color2 = `#${Math.floor(Math.random() * WHITE_COLOR_AS_DECIMAL).toString(
22412
+ 16
22413
+ )}`;
22414
+ if (colors2.includes(color2)) {
22415
+ return generateRandomColor(colors2);
22416
+ } else {
22417
+ colors2.push(color2);
22418
+ return colors2;
22419
+ }
22420
+ };
22421
+ const setAnnotations = (annotationsData) => {
22422
+ return (annotationsData == null ? void 0 : annotationsData.length) ? annotationsData.map((_v, i2) => i2) : [];
22423
+ };
22424
+ const getTitle = (options) => {
22425
+ return options.title !== "" ? {
22426
+ display: true,
22427
+ text: options.title
22428
+ } : {};
22429
+ };
22430
+ const isVertical = (direction) => {
22431
+ return direction === ChartDirection.Vertical;
22432
+ };
22433
+ const getAxisPosition = (axisType, i2) => {
22434
+ const [positionA, positionB] = axisType === AxisType.Y ? [Position.Left, Position.Right] : [Position.Top, Position.Bottom];
22435
+ return i2 % 2 === 0 ? positionA : positionB;
22436
+ };
22437
+ const getClassName = (chartStyling, styles2) => {
22438
+ const {
22439
+ width,
22440
+ height,
22441
+ staticChartHeight = false,
22442
+ squareAspectRatio: squareAspectRatio2 = 0
22443
+ } = chartStyling;
22444
+ const squareAspectRatioStyle = squareAspectRatio2 ? styles2.squareAspectRatio : "";
22445
+ let heightStyles = "";
22446
+ if (width || height) {
22447
+ heightStyles = "";
22448
+ } else {
22449
+ heightStyles = staticChartHeight ? styles2 == null ? void 0 : styles2.fixedHeight : styles2 == null ? void 0 : styles2.stretchHeight;
22450
+ }
22451
+ return cx(styles2.chart, heightStyles, squareAspectRatioStyle);
22452
+ };
22453
+ const getLegend = (options, clickHandler) => {
22454
+ const { legend: legend2 } = options || {};
22455
+ return {
22456
+ position: (legend2 == null ? void 0 : legend2.position) || Position.Top,
22457
+ display: legend2 == null ? void 0 : legend2.display,
22458
+ align: legend2 == null ? void 0 : legend2.align,
22459
+ labels: {
22460
+ boxHeight: LEGEND_LABEL_BOX_SIZE,
22461
+ boxWidth: (legend2 == null ? void 0 : legend2.usePointStyle) ? LEGEND_LABEL_BOX_SIZE : void 0,
22462
+ usePointStyle: legend2 == null ? void 0 : legend2.usePointStyle
22463
+ },
22464
+ onClick: clickHandler
22465
+ };
22466
+ };
22467
+ const afterLabelCallback = (tooltipItem) => {
22468
+ const { error } = tooltipItem.dataset.data[tooltipItem == null ? void 0 : tooltipItem.dataIndex];
22469
+ return error ? `Error: ${round$2(error, 4)}` : "";
22470
+ };
22471
+ const getTooltipLabel = (tooltipItem, showLabelsInTooltips) => {
22472
+ var _a2;
22473
+ const datasetDataLabel = (_a2 = tooltipItem.dataset.data[tooltipItem.dataIndex]) == null ? void 0 : _a2.label;
22474
+ const dataLabel = Array.isArray(datasetDataLabel) ? datasetDataLabel.join(" , ") : datasetDataLabel;
22475
+ return showLabelsInTooltips && (dataLabel == null ? void 0 : dataLabel.length) ? ` (${dataLabel})` : "";
22476
+ };
22477
+ const getChartFileName = (axes) => {
22478
+ if (!axes) {
22479
+ return DEFAULT_CHART_NAME;
22480
+ }
22481
+ const axesLabels = axes.reduce((acc, cur, index2) => {
22482
+ var _a2;
22483
+ const labelWithNoSpace = ((_a2 = cur.label) == null ? void 0 : _a2.replace(/\s/g, "_")) || String(index2);
22484
+ return [...acc, labelWithNoSpace];
22485
+ }, []);
22486
+ return axesLabels.join("_");
22487
+ };
22488
+ const setDefaultTheme = () => {
22489
+ defaults$2.font.size = DEFAULT_FONT_SIZE;
22490
+ defaults$2.font.family = DEFAULT_FONT_FAMILY;
22491
+ defaults$2.color = DEFAULT_COLOR;
22492
+ defaults$2.borderColor = BORDER_COLOR;
22493
+ };
22494
+ const isNilOrEmpty = (value) => {
22495
+ if (value === null || value === void 0 || value === "") {
22496
+ return true;
22497
+ }
22498
+ if (Array.isArray(value) && value.length === 0) {
22499
+ return true;
22500
+ }
22501
+ if (typeof value === "object" && Object.keys(value).length === 0) {
22502
+ return true;
22503
+ }
22504
+ return false;
22505
+ };
22640
22506
  const isLessThanMax = (value, max) => {
22641
22507
  return value === void 0 || max === void 0 || Number(value) < Number(max);
22642
22508
  };
@@ -25373,7 +25239,7 @@ const getLineChartAxis = (options, axisType, state, currentScales, i2 = 0) => {
25373
25239
  //OW-10088 disable irregular axis ticks
25374
25240
  ...ticksConfigFromProps,
25375
25241
  font: {
25376
- size: DEFAULT_FONT_SIZE
25242
+ size: 14
25377
25243
  }
25378
25244
  };
25379
25245
  return ticks;
@@ -39274,14 +39140,16 @@ const getBarChartAxis = ({
39274
39140
  } : {};
39275
39141
  const ticks = {
39276
39142
  ...stepSize,
39277
- callback: ticksFormattingCallback,
39278
39143
  includeBounds: false,
39279
39144
  //OW-10088 disable irregular axis ticks
39280
39145
  ...ticksConfigFromProps,
39281
39146
  font: {
39282
- size: DEFAULT_FONT_SIZE
39147
+ size: 14
39283
39148
  }
39284
39149
  };
39150
+ if ((additionalAxesOptions == null ? void 0 : additionalAxesOptions.chartScaleType) === ScaleType.Logarithmic) {
39151
+ ticks.callback = ticksFormattingCallback;
39152
+ }
39285
39153
  return ticks;
39286
39154
  };
39287
39155
  return {
@@ -39623,7 +39491,6 @@ export {
39623
39491
  BarChart,
39624
39492
  LineChart,
39625
39493
  PieChart,
39626
- ScatterChart,
39627
39494
  initializeLineChart
39628
39495
  };
39629
39496
  //# sourceMappingURL=index.js.map
@@ -39632,7 +39499,7 @@ export {
39632
39499
  try {
39633
39500
  if (typeof document != "undefined") {
39634
39501
  var elementStyle = document.createElement("style");
39635
- elementStyle.appendChild(document.createTextNode("html[data-theme='dark'] ._chart_1v6ps_1 canvas {\n filter: invert(1) hue-rotate(180deg);\n}\nhtml[data-theme='dark'] ._chart_e3qdd_1 canvas {\n filter: invert(1) hue-rotate(180deg);\n}\n._chart_e3qdd_1 {\n border: 1px solid rgba(255, 255, 255, 0);\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n._chart_e3qdd_1 ._canvas_e3qdd_11 {\n flex-grow: 1;\n min-height: 0;\n position: relative;\n}\n._chart_e3qdd_1 ._canvas_e3qdd_11 canvas {\n width: 100% !important;\n height: 100% !important;\n}\n._chart_e3qdd_1._fixedHeight_e3qdd_20 {\n display: flex;\n align-items: flex-start;\n justify-content: flex-start;\n height: auto;\n}\n._chart_e3qdd_1._stretchHeight_e3qdd_26 {\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n height: 100%;\n}\n._chart_e3qdd_1._squareAspectRatio_e3qdd_32 {\n aspect-ratio: 1;\n min-height: 0;\n min-width: 0;\n}\n._chart_e3qdd_1:focus {\n outline: none;\n}\n._chart_e3qdd_1::-moz-focus-inner {\n border: 0;\n}\n._zoomForm_e3qdd_43 {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n top: 0;\n right: 0;\n}\n._zoomForm_e3qdd_43 ._zoomReset_e3qdd_51 {\n margin-left: 10px;\n}\n._zoomForm_e3qdd_43 ._help_e3qdd_54 {\n margin-left: 5px;\n line-height: 0;\n}\n._autoWeight_e3qdd_58 {\n width: auto;\n height: auto;\n}\n._table_e3qdd_62 {\n overflow: auto;\n}\n._controls_fa3yo_1 {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n}\n._buttons_fa3yo_7 {\n display: flex;\n margin-left: auto;\n gap: 4px;\n}\n._legend_wpro0_1 {\n position: absolute;\n opacity: 0.9;\n display: flex;\n flex-direction: column;\n z-index: 1;\n}\n._legend_wpro0_1._isDragging_wpro0_8 {\n opacity: 0;\n}\n._legendItems_wpro0_11 {\n background-color: var(--color-background-raised);\n border: 1px solid var(--color-border);\n padding: 4px 8px;\n border-radius: 2px;\n overflow-y: auto;\n max-height: 100%;\n overflow: overlay;\n --scrollbar-color: #00000040;\n}\n._legendItems_wpro0_11::-webkit-scrollbar {\n display: block;\n width: 16px;\n z-index: 2;\n}\n._legendItems_wpro0_11::-webkit-scrollbar-button {\n display: none;\n}\n._legendItems_wpro0_11::-webkit-scrollbar-track {\n background-color: #00000000;\n}\n._legendItems_wpro0_11::-webkit-scrollbar-track-piece {\n background-color: #00000000;\n}\n._legendItems_wpro0_11::-webkit-scrollbar-thumb {\n background-color: #00000000;\n border: 5px solid transparent;\n border-radius: 24px;\n box-shadow: 4px 0px 0px 4px var(--scrollbar-color) inset;\n}\n._legendItems_wpro0_11::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n._legend_wpro0_1._isDragging_wpro0_8 ._legendItems_wpro0_11._legendItems_wpro0_11 {\n pointer-events: none;\n}\n._legend_wpro0_1._isHidden_wpro0_47 ._legendItems_wpro0_11._legendItems_wpro0_11 {\n display: none;\n}\n._legendToggle_wpro0_50 {\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n display: none;\n}\n._legend_wpro0_1._isHidden_wpro0_47 ._legendToggle_wpro0_50._legendToggle_wpro0_50,\n._legend_wpro0_1:hover ._legendToggle_wpro0_50._legendToggle_wpro0_50 {\n display: block;\n}\n._legend_wpro0_1:active ._legendToggle_wpro0_50._legendToggle_wpro0_50:not(:hover) {\n display: none;\n}\n._legend_wpro0_1._isHidden_wpro0_47 ._legendToggle_wpro0_50._legendToggle_wpro0_50 {\n position: static;\n transform: none;\n}\n._legend_wpro0_1._isDragging_wpro0_8 ._legendToggle_wpro0_50._legendToggle_wpro0_50 {\n display: none;\n}\n._legendItem_wpro0_11 {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n user-select: none;\n cursor: pointer;\n font-size: 12px;\n line-height: 16px;\n}\n._legendItemSymbol_wpro0_80 {\n display: flex;\n align-items: center;\n height: 16px;\n position: relative;\n flex-shrink: 0;\n}\nhtml[data-theme='dark'] ._legendItemSymbol_wpro0_80._legendItemSymbol_wpro0_80 {\n filter: invert(1) hue-rotate(180deg);\n}\n._legendItemBox_wpro0_90 {\n width: 100%;\n height: 12px;\n display: block;\n}\n._legendItemLine_wpro0_95 {\n position: absolute;\n display: flex;\n top: 50%;\n left: 0;\n width: 100%;\n transform: translateY(-50%);\n}\n._legendItemPoint_wpro0_103 {\n position: absolute;\n display: flex;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n._isHidden_wpro0_47 ._legendItemText_wpro0_110._legendItemText_wpro0_110 {\n text-decoration: line-through;\n}\n._scrollbars_wpro0_113 {\n overflow: overlay;\n --scrollbar-color: #00000040;\n}\n._scrollbars_wpro0_113::-webkit-scrollbar {\n display: block;\n width: 16px;\n z-index: 2;\n}\n._scrollbars_wpro0_113::-webkit-scrollbar-button {\n display: none;\n}\n._scrollbars_wpro0_113::-webkit-scrollbar-track {\n background-color: #00000000;\n}\n._scrollbars_wpro0_113::-webkit-scrollbar-track-piece {\n background-color: #00000000;\n}\n._scrollbars_wpro0_113::-webkit-scrollbar-thumb {\n background-color: #00000000;\n border: 5px solid transparent;\n border-radius: 24px;\n box-shadow: 4px 0px 0px 4px var(--scrollbar-color) inset;\n}\n._scrollbars_wpro0_113::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n._dropzoneContainer_wpro0_140 {\n position: absolute;\n}\n._dropzone_wpro0_140 {\n position: absolute;\n width: 50%;\n height: 50%;\n display: flex;\n}\n._dropzone_wpro0_140._left_wpro0_149 {\n left: 0;\n justify-content: flex-start;\n}\n._dropzone_wpro0_140._right_wpro0_153 {\n right: 0;\n justify-content: flex-end;\n}\n._dropzone_wpro0_140._top_wpro0_157 {\n top: 0;\n align-items: flex-start;\n}\n._dropzone_wpro0_140._bottom_wpro0_161 {\n bottom: 0;\n align-items: flex-end;\n}\n._dropzonePlaceholder_wpro0_165 {\n position: absolute;\n background-color: rgba(0, 0, 0, 0.05);\n display: none;\n}\n[data-theme='dark'] ._dropzonePlaceholder_wpro0_165 {\n background-color: rgba(255, 255, 255, 0.05);\n}\n._isActive_wpro0_173 ._dropzonePlaceholder_wpro0_165._dropzonePlaceholder_wpro0_165 {\n display: block;\n}\n._resizeContainer_wpro0_176 {\n position: absolute;\n inset: 0;\n z-index: -1;\n}\nhtml[data-theme='dark'] ._chart_1jdnu_1 canvas {\n filter: invert(1) hue-rotate(180deg);\n}\n._chart_1jdnu_1 {\n border: 1px solid rgba(255, 255, 255, 0);\n padding-top: 10px;\n position: relative;\n}\n._chart_1jdnu_1 canvas {\n width: 100% !important;\n height: 100% !important;\n}\n._chart_1jdnu_1._fixedHeight_1jdnu_13 {\n display: flex;\n align-items: flex-start;\n justify-content: flex-start;\n height: auto;\n}\n._chart_1jdnu_1._stretchHeight_1jdnu_19 {\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n height: 100%;\n}\n._chart_1jdnu_1:focus {\n border: 1px solid #85b7d9;\n outline: none;\n}\n._chart_1jdnu_1::-moz-focus-inner {\n border: 0;\n}\n._zoomForm_1jdnu_32 {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n top: 0;\n right: 0;\n}\n._zoomForm_1jdnu_32 ._zoomReset_1jdnu_40 {\n margin-left: 10px;\n}\n._zoomForm_1jdnu_32 ._help_1jdnu_43 {\n margin-left: 5px;\n line-height: 0;\n}\n._autoWeight_1jdnu_47 {\n width: 'auto';\n height: 'auto';\n}\nhtml[data-theme='dark'] ._chart_1t41j_1 canvas {\n filter: invert(1) hue-rotate(180deg);\n}\n._chart_1t41j_1 {\n border: 1px solid rgba(255, 255, 255, 0);\n padding-top: 10px;\n position: relative;\n}\n._chart_1t41j_1 canvas {\n width: 100% !important;\n height: 100% !important;\n}\n._chart_1t41j_1._fixedHeight_1t41j_13 {\n display: flex;\n align-items: flex-start;\n justify-content: flex-start;\n height: auto;\n}\n._chart_1t41j_1._stretchHeight_1t41j_19 {\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n height: 100%;\n}\n._chart_1t41j_1:focus {\n border: 1px solid #85b7d9;\n outline: none;\n}\n._chart_1t41j_1::-moz-focus-inner {\n border: 0;\n}\n._zoomForm_1t41j_32 {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n top: 0;\n right: 0;\n}\n._zoomForm_1t41j_32 ._zoomReset_1t41j_40 {\n margin-left: 10px;\n}\n._zoomForm_1t41j_32 ._help_1t41j_43 {\n margin-left: 5px;\n line-height: 0;\n}\n._autoWeight_1t41j_47 {\n width: auto;\n height: auto;\n}"));
39502
+ elementStyle.appendChild(document.createTextNode("html[data-theme='dark'] ._chart_e3qdd_1 canvas {\n filter: invert(1) hue-rotate(180deg);\n}\n._chart_e3qdd_1 {\n border: 1px solid rgba(255, 255, 255, 0);\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n._chart_e3qdd_1 ._canvas_e3qdd_11 {\n flex-grow: 1;\n min-height: 0;\n position: relative;\n}\n._chart_e3qdd_1 ._canvas_e3qdd_11 canvas {\n width: 100% !important;\n height: 100% !important;\n}\n._chart_e3qdd_1._fixedHeight_e3qdd_20 {\n display: flex;\n align-items: flex-start;\n justify-content: flex-start;\n height: auto;\n}\n._chart_e3qdd_1._stretchHeight_e3qdd_26 {\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n height: 100%;\n}\n._chart_e3qdd_1._squareAspectRatio_e3qdd_32 {\n aspect-ratio: 1;\n min-height: 0;\n min-width: 0;\n}\n._chart_e3qdd_1:focus {\n outline: none;\n}\n._chart_e3qdd_1::-moz-focus-inner {\n border: 0;\n}\n._zoomForm_e3qdd_43 {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n top: 0;\n right: 0;\n}\n._zoomForm_e3qdd_43 ._zoomReset_e3qdd_51 {\n margin-left: 10px;\n}\n._zoomForm_e3qdd_43 ._help_e3qdd_54 {\n margin-left: 5px;\n line-height: 0;\n}\n._autoWeight_e3qdd_58 {\n width: auto;\n height: auto;\n}\n._table_e3qdd_62 {\n overflow: auto;\n}\n._controls_fa3yo_1 {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n}\n._buttons_fa3yo_7 {\n display: flex;\n margin-left: auto;\n gap: 4px;\n}\n._legend_wpro0_1 {\n position: absolute;\n opacity: 0.9;\n display: flex;\n flex-direction: column;\n z-index: 1;\n}\n._legend_wpro0_1._isDragging_wpro0_8 {\n opacity: 0;\n}\n._legendItems_wpro0_11 {\n background-color: var(--color-background-raised);\n border: 1px solid var(--color-border);\n padding: 4px 8px;\n border-radius: 2px;\n overflow-y: auto;\n max-height: 100%;\n overflow: overlay;\n --scrollbar-color: #00000040;\n}\n._legendItems_wpro0_11::-webkit-scrollbar {\n display: block;\n width: 16px;\n z-index: 2;\n}\n._legendItems_wpro0_11::-webkit-scrollbar-button {\n display: none;\n}\n._legendItems_wpro0_11::-webkit-scrollbar-track {\n background-color: #00000000;\n}\n._legendItems_wpro0_11::-webkit-scrollbar-track-piece {\n background-color: #00000000;\n}\n._legendItems_wpro0_11::-webkit-scrollbar-thumb {\n background-color: #00000000;\n border: 5px solid transparent;\n border-radius: 24px;\n box-shadow: 4px 0px 0px 4px var(--scrollbar-color) inset;\n}\n._legendItems_wpro0_11::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n._legend_wpro0_1._isDragging_wpro0_8 ._legendItems_wpro0_11._legendItems_wpro0_11 {\n pointer-events: none;\n}\n._legend_wpro0_1._isHidden_wpro0_47 ._legendItems_wpro0_11._legendItems_wpro0_11 {\n display: none;\n}\n._legendToggle_wpro0_50 {\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n display: none;\n}\n._legend_wpro0_1._isHidden_wpro0_47 ._legendToggle_wpro0_50._legendToggle_wpro0_50,\n._legend_wpro0_1:hover ._legendToggle_wpro0_50._legendToggle_wpro0_50 {\n display: block;\n}\n._legend_wpro0_1:active ._legendToggle_wpro0_50._legendToggle_wpro0_50:not(:hover) {\n display: none;\n}\n._legend_wpro0_1._isHidden_wpro0_47 ._legendToggle_wpro0_50._legendToggle_wpro0_50 {\n position: static;\n transform: none;\n}\n._legend_wpro0_1._isDragging_wpro0_8 ._legendToggle_wpro0_50._legendToggle_wpro0_50 {\n display: none;\n}\n._legendItem_wpro0_11 {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n user-select: none;\n cursor: pointer;\n font-size: 12px;\n line-height: 16px;\n}\n._legendItemSymbol_wpro0_80 {\n display: flex;\n align-items: center;\n height: 16px;\n position: relative;\n flex-shrink: 0;\n}\nhtml[data-theme='dark'] ._legendItemSymbol_wpro0_80._legendItemSymbol_wpro0_80 {\n filter: invert(1) hue-rotate(180deg);\n}\n._legendItemBox_wpro0_90 {\n width: 100%;\n height: 12px;\n display: block;\n}\n._legendItemLine_wpro0_95 {\n position: absolute;\n display: flex;\n top: 50%;\n left: 0;\n width: 100%;\n transform: translateY(-50%);\n}\n._legendItemPoint_wpro0_103 {\n position: absolute;\n display: flex;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n._isHidden_wpro0_47 ._legendItemText_wpro0_110._legendItemText_wpro0_110 {\n text-decoration: line-through;\n}\n._scrollbars_wpro0_113 {\n overflow: overlay;\n --scrollbar-color: #00000040;\n}\n._scrollbars_wpro0_113::-webkit-scrollbar {\n display: block;\n width: 16px;\n z-index: 2;\n}\n._scrollbars_wpro0_113::-webkit-scrollbar-button {\n display: none;\n}\n._scrollbars_wpro0_113::-webkit-scrollbar-track {\n background-color: #00000000;\n}\n._scrollbars_wpro0_113::-webkit-scrollbar-track-piece {\n background-color: #00000000;\n}\n._scrollbars_wpro0_113::-webkit-scrollbar-thumb {\n background-color: #00000000;\n border: 5px solid transparent;\n border-radius: 24px;\n box-shadow: 4px 0px 0px 4px var(--scrollbar-color) inset;\n}\n._scrollbars_wpro0_113::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n._dropzoneContainer_wpro0_140 {\n position: absolute;\n}\n._dropzone_wpro0_140 {\n position: absolute;\n width: 50%;\n height: 50%;\n display: flex;\n}\n._dropzone_wpro0_140._left_wpro0_149 {\n left: 0;\n justify-content: flex-start;\n}\n._dropzone_wpro0_140._right_wpro0_153 {\n right: 0;\n justify-content: flex-end;\n}\n._dropzone_wpro0_140._top_wpro0_157 {\n top: 0;\n align-items: flex-start;\n}\n._dropzone_wpro0_140._bottom_wpro0_161 {\n bottom: 0;\n align-items: flex-end;\n}\n._dropzonePlaceholder_wpro0_165 {\n position: absolute;\n background-color: rgba(0, 0, 0, 0.05);\n display: none;\n}\n[data-theme='dark'] ._dropzonePlaceholder_wpro0_165 {\n background-color: rgba(255, 255, 255, 0.05);\n}\n._isActive_wpro0_173 ._dropzonePlaceholder_wpro0_165._dropzonePlaceholder_wpro0_165 {\n display: block;\n}\n._resizeContainer_wpro0_176 {\n position: absolute;\n inset: 0;\n z-index: -1;\n}\nhtml[data-theme='dark'] ._chart_1jdnu_1 canvas {\n filter: invert(1) hue-rotate(180deg);\n}\n._chart_1jdnu_1 {\n border: 1px solid rgba(255, 255, 255, 0);\n padding-top: 10px;\n position: relative;\n}\n._chart_1jdnu_1 canvas {\n width: 100% !important;\n height: 100% !important;\n}\n._chart_1jdnu_1._fixedHeight_1jdnu_13 {\n display: flex;\n align-items: flex-start;\n justify-content: flex-start;\n height: auto;\n}\n._chart_1jdnu_1._stretchHeight_1jdnu_19 {\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n height: 100%;\n}\n._chart_1jdnu_1:focus {\n border: 1px solid #85b7d9;\n outline: none;\n}\n._chart_1jdnu_1::-moz-focus-inner {\n border: 0;\n}\n._zoomForm_1jdnu_32 {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n top: 0;\n right: 0;\n}\n._zoomForm_1jdnu_32 ._zoomReset_1jdnu_40 {\n margin-left: 10px;\n}\n._zoomForm_1jdnu_32 ._help_1jdnu_43 {\n margin-left: 5px;\n line-height: 0;\n}\n._autoWeight_1jdnu_47 {\n width: 'auto';\n height: 'auto';\n}\nhtml[data-theme='dark'] ._chart_1t41j_1 canvas {\n filter: invert(1) hue-rotate(180deg);\n}\n._chart_1t41j_1 {\n border: 1px solid rgba(255, 255, 255, 0);\n padding-top: 10px;\n position: relative;\n}\n._chart_1t41j_1 canvas {\n width: 100% !important;\n height: 100% !important;\n}\n._chart_1t41j_1._fixedHeight_1t41j_13 {\n display: flex;\n align-items: flex-start;\n justify-content: flex-start;\n height: auto;\n}\n._chart_1t41j_1._stretchHeight_1t41j_19 {\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n height: 100%;\n}\n._chart_1t41j_1:focus {\n border: 1px solid #85b7d9;\n outline: none;\n}\n._chart_1t41j_1::-moz-focus-inner {\n border: 0;\n}\n._zoomForm_1t41j_32 {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n top: 0;\n right: 0;\n}\n._zoomForm_1t41j_32 ._zoomReset_1t41j_40 {\n margin-left: 10px;\n}\n._zoomForm_1t41j_32 ._help_1t41j_43 {\n margin-left: 5px;\n line-height: 0;\n}\n._autoWeight_1t41j_47 {\n width: auto;\n height: auto;\n}"));
39636
39503
  document.head.appendChild(elementStyle);
39637
39504
  }
39638
39505
  } catch (e) {