victory 37.3.0 → 37.3.2

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/victory.js CHANGED
@@ -8306,7 +8306,7 @@ const options = {
8306
8306
  }]
8307
8307
  };
8308
8308
 
8309
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
8309
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
8310
8310
 
8311
8311
  /**
8312
8312
  * Draw area charts with React. VictoryArea is a composable component, so it doesn't include axes.
@@ -8648,8 +8648,6 @@ const isEqual = (a, b) => {
8648
8648
  }
8649
8649
  return a === b;
8650
8650
  };
8651
-
8652
- // eslint-disable-next-line complexity
8653
8651
  const getOffset = (props, calculatedValues) => {
8654
8652
  const {
8655
8653
  scale,
@@ -8692,8 +8690,6 @@ const getOffset = (props, calculatedValues) => {
8692
8690
  y: offsetY
8693
8691
  };
8694
8692
  };
8695
-
8696
- // eslint-disable-next-line complexity
8697
8693
  const getHorizontalOffset = (props, calculatedValues) => {
8698
8694
  const {
8699
8695
  scale,
@@ -8834,8 +8830,6 @@ const getOrientation = props => {
8834
8830
  };
8835
8831
  return props.dependentAxis ? defaultOrientations.dependent : defaultOrientations.independent;
8836
8832
  };
8837
-
8838
- // eslint-disable-next-line complexity
8839
8833
  const getCalculatedValues = props => {
8840
8834
  const defaultStyles = getStyleObject(props);
8841
8835
  const style = getStyles(props, defaultStyles);
@@ -8962,7 +8956,6 @@ const getBaseProps = (initialProps, fallbackProps) => {
8962
8956
  [otherAxis]: props.scale[otherAxis]
8963
8957
  } : undefined
8964
8958
  };
8965
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
8966
8959
  return ticks.reduce((childProps, tickValue, index) => {
8967
8960
  const tick = stringTicks ? stringTicks[index] : tickValue;
8968
8961
  const text = tickFormat(tickValue, index, ticks);
@@ -9066,7 +9059,7 @@ const options = {
9066
9059
  }]
9067
9060
  };
9068
9061
 
9069
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
9062
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
9070
9063
 
9071
9064
  class VictoryAxisBase extends (react__WEBPACK_IMPORTED_MODULE_1___default().Component) {
9072
9065
  static animationWhitelist = ["style", "domain", "range", "tickCount", "tickValues", "offsetX", "offsetY", "padding", "width", "height"];
@@ -9368,9 +9361,9 @@ const defaultProps = {
9368
9361
  role: "presentation",
9369
9362
  shapeRendering: "auto"
9370
9363
  };
9371
-
9364
+ const Bar = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(
9372
9365
  // eslint-disable-next-line prefer-arrow-callback
9373
- const Bar = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function Bar(initialProps, ref) {
9366
+ function Bar(initialProps, ref) {
9374
9367
  const props = evaluateProps(lodash_defaults__WEBPACK_IMPORTED_MODULE_0___default()({}, initialProps, defaultProps));
9375
9368
  const {
9376
9369
  polar,
@@ -9479,7 +9472,6 @@ const circle = (center, radius) => ({
9479
9472
  // Left-most point is returned as 0th element of array
9480
9473
  // Right-most point is returned as 1st elemennt of array
9481
9474
  intersection(circle1) {
9482
- // eslint-disable-line max-statements
9483
9475
  const P0 = this.center;
9484
9476
  const P1 = circle1.center;
9485
9477
  const r0 = this.radius;
@@ -9836,8 +9828,6 @@ const getVerticalBarPoints = (position, sign, cr) => {
9836
9828
  y0,
9837
9829
  y1
9838
9830
  } = position;
9839
-
9840
- // eslint-disable-next-line max-statements, max-len
9841
9831
  const getHalfPoints = side => {
9842
9832
  const isLeft = side === "Left";
9843
9833
  const signL = isLeft ? 1 : -1;
@@ -9921,8 +9911,6 @@ const getHorizontalBarPoints = (position, sign, cr) => {
9921
9911
  } = position;
9922
9912
  const x0 = position.x0 < position.x1 ? position.x0 : position.x1;
9923
9913
  const x1 = position.x0 < position.x1 ? position.x1 : position.x0;
9924
-
9925
- // eslint-disable-next-line max-statements, max-len
9926
9914
  const getHalfPoints = side => {
9927
9915
  const isTop = side === "top";
9928
9916
  const signL = isTop ? -1 : 1;
@@ -10002,8 +9990,6 @@ const getHorizontalBarPoints = (position, sign, cr) => {
10002
9990
  // eslint-disable-next-line no-magic-numbers
10003
9991
  bottomPoints[3], bottomPoints[2]];
10004
9992
  };
10005
-
10006
- // eslint-disable-next-line max-params
10007
9993
  const getVerticalBarPath = (props, width, cornerRadius) => {
10008
9994
  const position = getPosition(props, width);
10009
9995
  const sign = position.y0 > position.y1 ? 1 : -1;
@@ -10011,8 +9997,6 @@ const getVerticalBarPath = (props, width, cornerRadius) => {
10011
9997
  const points = getVerticalBarPoints(position, sign, cornerRadius);
10012
9998
  return mapPointsToPath(points, cornerRadius, direction);
10013
9999
  };
10014
-
10015
- // eslint-disable-next-line max-params
10016
10000
  const getHorizontalBarPath = (props, width, cornerRadius) => {
10017
10001
  const position = getPosition(props, width);
10018
10002
  const sign = position.x0 < position.x1 ? 1 : -1;
@@ -10070,8 +10054,6 @@ const getVerticalPolarBarPath = (props, cornerRadius) => {
10070
10054
  leftMiddle
10071
10055
  };
10072
10056
  };
10073
-
10074
- // eslint-disable-next-line max-statements
10075
10057
  const getTopPath = () => {
10076
10058
  const {
10077
10059
  topRight,
@@ -10114,8 +10096,6 @@ const getVerticalPolarBarPath = (props, cornerRadius) => {
10114
10096
  coords: subCoords[i].split(",")
10115
10097
  }));
10116
10098
  };
10117
-
10118
- // eslint-disable-next-line max-statements
10119
10099
  const getBottomPath = () => {
10120
10100
  const {
10121
10101
  bottomRight,
@@ -10217,7 +10197,7 @@ const defaultData = [{
10217
10197
  y: 4
10218
10198
  }];
10219
10199
 
10220
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
10200
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
10221
10201
 
10222
10202
  /**
10223
10203
  * Draw SVG bar charts with React. VictoryBar is a composable component, so it doesn"t include axes
@@ -10523,8 +10503,6 @@ const getCalculatedValues = props => {
10523
10503
  boxWidth
10524
10504
  };
10525
10505
  };
10526
-
10527
- // eslint-disable-next-line complexity
10528
10506
  const getWhiskerProps = (props, type) => {
10529
10507
  const {
10530
10508
  horizontal,
@@ -10906,7 +10884,7 @@ const options = {
10906
10884
  }]
10907
10885
  };
10908
10886
 
10909
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
10887
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
10910
10888
 
10911
10889
  class VictoryBoxPlotBase extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component) {
10912
10890
  static animationWhitelist = ["data", "domain", "height", "padding", "style", "width"];
@@ -11278,7 +11256,6 @@ const Helpers = {
11278
11256
  return xMoved || yMoved;
11279
11257
  }
11280
11258
  },
11281
- // eslint-disable-next-line max-statements, complexity
11282
11259
  onMouseDown(evt, targetProps) {
11283
11260
  evt.preventDefault();
11284
11261
  const {
@@ -11371,7 +11348,6 @@ const Helpers = {
11371
11348
  })
11372
11349
  }] : {};
11373
11350
  },
11374
- // eslint-disable-next-line max-statements, complexity
11375
11351
  onGlobalMouseMove(evt, targetProps) {
11376
11352
  const {
11377
11353
  scale,
@@ -11458,13 +11434,11 @@ const Helpers = {
11458
11434
  }
11459
11435
  return {};
11460
11436
  },
11461
- // eslint-disable-next-line complexity
11462
11437
  onGlobalMouseUp(evt, targetProps) {
11463
11438
  // if a panning or selection has not been started, ignore the event
11464
11439
  if (!targetProps.isPanning && !targetProps.isSelecting) {
11465
11440
  return {};
11466
11441
  }
11467
- // eslint-disable-line max-statements, complexity
11468
11442
  const {
11469
11443
  x1,
11470
11444
  y1,
@@ -12020,7 +11994,6 @@ class VictoryBrushLine extends (react__WEBPACK_IMPORTED_MODULE_2___default().Com
12020
11994
  })
12021
11995
  }] : [];
12022
11996
  },
12023
- // eslint-disable-next-line max-statements, complexity
12024
11997
  onMouseMove: (evt, targetProps) => {
12025
11998
  const {
12026
11999
  isPanning,
@@ -12602,7 +12575,7 @@ const getStyles = function (props, style, defaultStyles) {
12602
12575
  };
12603
12576
 
12604
12577
  // This method will edit or remove candlestick data points that fall outside of the desired domain
12605
- // eslint-disable-next-line complexity
12578
+
12606
12579
  const formatDataFromDomain = (datum, domain) => {
12607
12580
  const minDomainX = victory_core__WEBPACK_IMPORTED_MODULE_5__.getMinValue(domain.x);
12608
12581
  const maxDomainX = victory_core__WEBPACK_IMPORTED_MODULE_5__.getMaxValue(domain.x);
@@ -12720,8 +12693,6 @@ const getOrientation = function (labelOrientation, type) {
12720
12693
  }
12721
12694
  return lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default()(labelOrientation) ? labelOrientation[type] : labelOrientation;
12722
12695
  };
12723
-
12724
- /* eslint-disable complexity*/
12725
12696
  const calculatePlotValues = props => {
12726
12697
  const {
12727
12698
  positions,
@@ -12758,7 +12729,6 @@ const calculatePlotValues = props => {
12758
12729
  dy
12759
12730
  };
12760
12731
  };
12761
- /* eslint-enable complexity*/
12762
12732
 
12763
12733
  /* eslint-disable max-params*/
12764
12734
  const getLabelProps = (props, text, style, type) => {
@@ -12842,7 +12812,6 @@ const getLabelProps = (props, text, style, type) => {
12842
12812
  /* eslint-enable max-params*/
12843
12813
 
12844
12814
  const getBaseProps = (initialProps, fallbackProps) => {
12845
- // eslint-disable-line max-statements
12846
12815
  const props = victory_core__WEBPACK_IMPORTED_MODULE_4__.modifyProps(initialProps, fallbackProps, "candlestick");
12847
12816
  const calculatedValues = getCalculatedValues(props);
12848
12817
  const {
@@ -12888,8 +12857,6 @@ const getBaseProps = (initialProps, fallbackProps) => {
12888
12857
  horizontal
12889
12858
  }
12890
12859
  };
12891
-
12892
- // eslint-disable-next-line complexity
12893
12860
  return data.reduce((childProps, datum, index) => {
12894
12861
  const eventKey = !victory_core__WEBPACK_IMPORTED_MODULE_4__.isNil(datum.eventKey) ? datum.eventKey : index;
12895
12862
  const x = scale.x(datum._x1 !== undefined ? datum._x1 : datum._x);
@@ -13079,7 +13046,7 @@ const datumHasXandY = datum => {
13079
13046
  return !victory_core__WEBPACK_IMPORTED_MODULE_1__.isNil(datum._x) && !victory_core__WEBPACK_IMPORTED_MODULE_1__.isNil(datum._y);
13080
13047
  };
13081
13048
 
13082
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
13049
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
13083
13050
 
13084
13051
  /**
13085
13052
  * VictoryCandlestick renders a dataset as a series of candlesticks.
@@ -13162,7 +13129,7 @@ class VictoryCandlestickBase extends (react__WEBPACK_IMPORTED_MODULE_0___default
13162
13129
  if (labelComponent) {
13163
13130
  const labelsComponents = this.dataKeys.map((_dataKey, index) => {
13164
13131
  const labelProps = this.getComponentProps(labelComponent, "labels", index);
13165
- if (labelProps.text !== undefined && labelProps.text !== null) {
13132
+ if (labelProps.text !== undefined && labelProps.text !== null && typeof labelProps.text !== "boolean") {
13166
13133
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().cloneElement(labelComponent, labelProps);
13167
13134
  }
13168
13135
  return undefined;
@@ -13469,7 +13436,6 @@ const CanvasPoint = props => {
13469
13436
  } = modifiedProps;
13470
13437
  const path = getPath(modifiedProps);
13471
13438
  ctx.fillStyle = style.fill;
13472
- // eslint-disable-next-line no-undef
13473
13439
  const path2d = new Path2D(path);
13474
13440
  ctx.fill(path2d);
13475
13441
  }, [modifiedProps]);
@@ -13562,8 +13528,6 @@ __webpack_require__.r(__webpack_exports__);
13562
13528
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/wrapper.js");
13563
13529
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/scale.js");
13564
13530
 
13565
- /* eslint-disable no-use-before-define */
13566
-
13567
13531
 
13568
13532
 
13569
13533
  const fallbackProps = {
@@ -14189,7 +14153,7 @@ const interpolateFunction = function (a, b) {
14189
14153
  return b;
14190
14154
  }
14191
14155
  return function () {
14192
- /* eslint-disable no-invalid-this, prefer-rest-params */
14156
+ /* eslint-disable prefer-rest-params */
14193
14157
  const aval = typeof a === "function" ? a.apply(this, arguments) : a;
14194
14158
  const bval = typeof b === "function" ? b.apply(this, arguments) : b;
14195
14159
  return (0,victory_vendor_d3_interpolate__WEBPACK_IMPORTED_MODULE_2__.interpolate)(aval, bval)(t);
@@ -14776,9 +14740,9 @@ const VictoryContainer = initialProps => {
14776
14740
  ...style,
14777
14741
  width: responsive ? style?.width : dimensions.width,
14778
14742
  height: responsive ? style?.height : dimensions.height,
14779
- pointerEvents: "none",
14780
- touchAction: "none",
14781
- position: "relative"
14743
+ pointerEvents: style?.pointerEvents ?? "none",
14744
+ touchAction: style?.touchAction ?? "none",
14745
+ position: style?.position ?? "relative"
14782
14746
  },
14783
14747
  "data-ouia-component-id": ouiaId,
14784
14748
  "data-ouia-component-type": ouiaType,
@@ -17481,7 +17445,7 @@ class VictoryTransition extends (react__WEBPACK_IMPORTED_MODULE_2___default().Co
17481
17445
  componentDidMount() {
17482
17446
  this.setState({
17483
17447
  nodesShouldLoad: true
17484
- }); // eslint-disable-line react/no-did-mount-set-state
17448
+ });
17485
17449
  }
17486
17450
  shouldComponentUpdate(nextProps) {
17487
17451
  if (!react_fast_compare__WEBPACK_IMPORTED_MODULE_3___default()(this.props, nextProps)) {
@@ -17695,7 +17659,7 @@ const defaultComponents = [{
17695
17659
  function addEvents(WrappedComponent, options) {
17696
17660
  if (options === void 0) {
17697
17661
  options = {};
17698
- } // eslint-disable-next-line @typescript-eslint/no-empty-interface
17662
+ } // eslint-disable-next-line @typescript-eslint/no-empty-object-type
17699
17663
  // @ts-expect-error "TS2545: A mixin class must have a constructor with a single rest parameter of type 'any[]'."
17700
17664
  class AddEventsMixin extends WrappedComponent {
17701
17665
  constructor(props) {
@@ -18250,7 +18214,7 @@ function getTicks(props, scale, filterZero) {
18250
18214
  * @param {String} axis: either x or y
18251
18215
  * @returns {Array} returns a domain from tickValues
18252
18216
  */
18253
- // eslint-disable-next-line max-statements
18217
+
18254
18218
  function getDomainFromData(props, axis) {
18255
18219
  const {
18256
18220
  polar,
@@ -18447,7 +18411,6 @@ __webpack_require__.r(__webpack_exports__);
18447
18411
 
18448
18412
 
18449
18413
 
18450
- /* eslint-disable no-use-before-define */
18451
18414
 
18452
18415
 
18453
18416
 
@@ -18573,8 +18536,6 @@ function formatDataFromDomain(dataset, domain, defaultBaseline) {
18573
18536
  const isUnderMinY = underMin(minDomainY);
18574
18537
  const isOverMaxX = overMax(maxDomainX);
18575
18538
  const isOverMaxY = overMax(maxDomainY);
18576
-
18577
- // eslint-disable-next-line complexity
18578
18539
  return dataset.map(datum => {
18579
18540
  let {
18580
18541
  _x,
@@ -18685,7 +18646,6 @@ function formatData(dataset, props, expectedKeys) {
18685
18646
  };
18686
18647
  }
18687
18648
  const data = preformattedData ? dataset : dataset.reduce((dataArr, datum, index) => {
18688
- // eslint-disable-line complexity
18689
18649
  const parsedDatum = parseDatum(datum);
18690
18650
  const fallbackValues = {
18691
18651
  x: index,
@@ -18982,7 +18942,6 @@ __webpack_require__.r(__webpack_exports__);
18982
18942
 
18983
18943
 
18984
18944
 
18985
- /* eslint-disable no-use-before-define */
18986
18945
 
18987
18946
 
18988
18947
 
@@ -19038,8 +18997,6 @@ function getExtremeFromData(dataset, axis, type) {
19038
18997
  }, initialValue);
19039
18998
  return containsDate ? new Date(result) : result;
19040
18999
  }
19041
-
19042
- // eslint-disable-next-line max-statements
19043
19000
  function padDomain(domain, props, axis) {
19044
19001
  if (!props.domainPadding) {
19045
19002
  return domain;
@@ -19375,7 +19332,6 @@ __webpack_require__.r(__webpack_exports__);
19375
19332
 
19376
19333
 
19377
19334
 
19378
- /* eslint-disable no-use-before-define */
19379
19335
 
19380
19336
  const GLOBAL_EVENT_REGEX = /^onGlobal(.*)$/;
19381
19337
 
@@ -19423,11 +19379,10 @@ getScopedEvents) {
19423
19379
  */
19424
19380
  const getAllEvents = () => {
19425
19381
  // Mandatory usage: `getEvents.bind(this)`
19426
- /* eslint-disable no-invalid-this */
19382
+
19427
19383
  if (Array.isArray(this.componentEvents)) {
19428
19384
  return Array.isArray(props.events) ? this.componentEvents.concat(...props.events) : this.componentEvents;
19429
19385
  }
19430
- /* eslint-enable no-invalid-this */
19431
19386
  return props.events;
19432
19387
  };
19433
19388
  const allEvents = getAllEvents();
@@ -19452,7 +19407,7 @@ function getScopedEvents(events, namespace, childType, baseProps) {
19452
19407
  }
19453
19408
 
19454
19409
  // Mandatory usage: `getScopedEvents.bind(this)`
19455
- // eslint-disable-next-line no-invalid-this
19410
+
19456
19411
  const newBaseProps = baseProps || this.baseProps;
19457
19412
  // returns the original base props or base state of a given target element
19458
19413
  const getTargetProps = (identifier, type) => {
@@ -19461,7 +19416,6 @@ function getScopedEvents(events, namespace, childType, baseProps) {
19461
19416
  target,
19462
19417
  key
19463
19418
  } = identifier;
19464
- // eslint-disable-next-line no-invalid-this
19465
19419
  const baseType = type === "props" ? newBaseProps : this.state || {};
19466
19420
  const base = childName === undefined || childName === null || !baseType[childName] ? baseType : baseType[childName];
19467
19421
  return key === "parent" ? base.parent : base[key] && base[key][target];
@@ -19488,7 +19442,6 @@ function getScopedEvents(events, namespace, childType, baseProps) {
19488
19442
 
19489
19443
  // returns the state object with mutated props applied for a single key
19490
19444
  const getMutationObject = (key, childName) => {
19491
- // eslint-disable-next-line no-invalid-this
19492
19445
  const baseState = this.state || {};
19493
19446
  if (!(0,_helpers__WEBPACK_IMPORTED_MODULE_4__.isFunction)(eventReturn.mutation)) {
19494
19447
  return baseState;
@@ -19561,11 +19514,9 @@ function getScopedEvents(events, namespace, childType, baseProps) {
19561
19514
  // into a state mutation, and calls setState
19562
19515
  // eslint-disable-next-line max-params
19563
19516
  const onEvent = (evt, childProps, eventKey, eventName) => {
19564
- // eslint-disable-next-line no-invalid-this
19565
19517
  const eventReturn = events[eventName](evt, childProps, eventKey, this);
19566
19518
  if (!lodash_isEmpty__WEBPACK_IMPORTED_MODULE_3___default()(eventReturn)) {
19567
19519
  const callbacks = compileCallbacks(eventReturn);
19568
- // eslint-disable-next-line no-invalid-this
19569
19520
  this.setState(parseEventReturn(eventReturn, eventKey), callbacks);
19570
19521
  }
19571
19522
  };
@@ -19595,7 +19546,7 @@ function getPartialEvents(events, eventKey, childProps) {
19595
19546
  // eslint-disable-next-line max-params
19596
19547
  function getEventState(eventKey, namespace, childType) {
19597
19548
  // Mandatory usage: `getEventState.bind(this)`
19598
- // eslint-disable-next-line no-invalid-this
19549
+
19599
19550
  const state = this.state || {};
19600
19551
  if (!childType) {
19601
19552
  return eventKey === "parent" ? state[eventKey] && state[eventKey][namespace] || state[eventKey] : state[eventKey] && state[eventKey][namespace];
@@ -19788,7 +19739,6 @@ __webpack_require__.r(__webpack_exports__);
19788
19739
 
19789
19740
 
19790
19741
 
19791
- /* eslint-disable no-use-before-define */
19792
19742
 
19793
19743
  // Private Functions
19794
19744
 
@@ -20525,7 +20475,6 @@ __webpack_require__.r(__webpack_exports__);
20525
20475
  /* harmony import */ var lodash_defaults__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_defaults__WEBPACK_IMPORTED_MODULE_0__);
20526
20476
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ "../../victory-core/es/victory-util/helpers.js");
20527
20477
 
20528
- /* eslint-disable no-use-before-define */
20529
20478
 
20530
20479
  // Private Functions
20531
20480
 
@@ -21045,7 +20994,6 @@ __webpack_require__.r(__webpack_exports__);
21045
20994
  /* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./collection */ "../../victory-core/es/victory-util/collection.js");
21046
20995
  /* harmony import */ var victory_vendor_d3_scale__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! victory-vendor/d3-scale */ "../../victory-vendor/es/d3-scale.js");
21047
20996
 
21048
- /* eslint-disable no-use-before-define */
21049
20997
 
21050
20998
 
21051
20999
 
@@ -21967,8 +21915,6 @@ function getChildBeforeLoad(animate, child, data, cb) {
21967
21915
  clipWidth: 0
21968
21916
  };
21969
21917
  }
21970
-
21971
- // eslint-disable-next-line max-params
21972
21918
  function getChildOnLoad(animate, data, cb) {
21973
21919
  const newAnimate = Object.assign({}, animate, {
21974
21920
  onEnd: cb
@@ -21991,7 +21937,7 @@ function getChildOnLoad(animate, data, cb) {
21991
21937
  };
21992
21938
  }
21993
21939
 
21994
- // eslint-disable-next-line max-params, max-len
21940
+ // eslint-disable-next-line max-params
21995
21941
  function getChildPropsOnExit(animate, child, data, exitingNodes, cb) {
21996
21942
  // Whether or not _this_ child has exiting nodes, we want the exit-
21997
21943
  // transition for all children to have the same duration, delay, etc.
@@ -22015,7 +21961,7 @@ function getChildPropsOnExit(animate, child, data, exitingNodes, cb) {
22015
21961
  };
22016
21962
  }
22017
21963
 
22018
- // eslint-disable-next-line max-params,max-len
21964
+ // eslint-disable-next-line max-params
22019
21965
  function getChildPropsBeforeEnter(animate, child, data, enteringNodes, cb) {
22020
21966
  let newAnimate = animate;
22021
21967
  let newData = data;
@@ -22040,7 +21986,7 @@ function getChildPropsBeforeEnter(animate, child, data, enteringNodes, cb) {
22040
21986
  };
22041
21987
  }
22042
21988
 
22043
- // eslint-disable-next-line max-params, max-len
21989
+ // eslint-disable-next-line max-params
22044
21990
  function getChildPropsOnEnter(animate, data, enteringNodes, cb) {
22045
21991
  // Whether or not _this_ child has entering nodes, we want the entering-
22046
21992
  // transition for all children to have the same duration, delay, etc.
@@ -22147,8 +22093,6 @@ function getTransitionPropsFactory(props, state, setState) {
22147
22093
  }
22148
22094
  return {};
22149
22095
  };
22150
-
22151
- // eslint-disable-next-line max-statements, complexity, max-len
22152
22096
  return function getTransitionProps(child, index) {
22153
22097
  const data = getChildData(child) || [];
22154
22098
  const animate = lodash_defaults__WEBPACK_IMPORTED_MODULE_1___default()({}, props.animate, child.props.animate);
@@ -22536,7 +22480,6 @@ function getDefaultDomainPadding(props, axis, childComponents) {
22536
22480
  };
22537
22481
  }
22538
22482
  function getDomainFromChildren(props, axis, childComponents) {
22539
- // eslint-disable-line max-statements, complexity, max-len
22540
22483
  const children = childComponents ? childComponents.slice(0) : react__WEBPACK_IMPORTED_MODULE_4___default().Children.toArray(props.children);
22541
22484
  const parentData = props.data ? _data__WEBPACK_IMPORTED_MODULE_7__.getData(props) : undefined;
22542
22485
  const {
@@ -22859,6 +22802,8 @@ const CONTAINER_COMPONENTS_WEB = {
22859
22802
  voronoi: victory_voronoi_container__WEBPACK_IMPORTED_MODULE_9__.VictoryVoronoiContainer
22860
22803
  };
22861
22804
  function makeCreateContainerFunction(containerComponents, VictoryContainerBase) {
22805
+ // Helper type to support backwards compatibility with old types
22806
+
22862
22807
  return function combineContainers(containerA, containerB) {
22863
22808
  const ContainerA = containerComponents[containerA];
22864
22809
  const ContainerB = containerComponents[containerB];
@@ -23071,7 +23016,6 @@ __webpack_require__.r(__webpack_exports__);
23071
23016
  /* harmony import */ var _cursor_helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cursor-helpers */ "../../victory-cursor-container/es/cursor-helpers.js");
23072
23017
 
23073
23018
 
23074
- /* eslint-disable complexity */
23075
23019
 
23076
23020
 
23077
23021
 
@@ -23134,7 +23078,6 @@ const useVictoryCursorContainer = initialProps => {
23134
23078
  return victory_core__WEBPACK_IMPORTED_MODULE_5__.getPadding(props);
23135
23079
  };
23136
23080
  const getCursorElements = () => {
23137
- // eslint-disable-line max-statements
23138
23081
  const {
23139
23082
  scale,
23140
23083
  cursorLabelComponent,
@@ -23259,7 +23202,6 @@ __webpack_require__.r(__webpack_exports__);
23259
23202
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-primitives/line.js");
23260
23203
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/user-props.js");
23261
23204
 
23262
- /* eslint-disable max-statements */
23263
23205
 
23264
23206
 
23265
23207
  const renderBorder = (props, error, type) => {
@@ -23356,7 +23298,7 @@ const evaluateProps = props => {
23356
23298
 
23357
23299
  // ErrorProps for calculateError
23358
23300
 
23359
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
23301
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
23360
23302
 
23361
23303
  const defaultProps = {
23362
23304
  groupComponent: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("g", null),
@@ -23707,7 +23649,7 @@ const defaultData = [{
23707
23649
  errorY: 0.4
23708
23650
  }];
23709
23651
 
23710
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
23652
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
23711
23653
 
23712
23654
  class VictoryErrorBarBase extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component) {
23713
23655
  static animationWhitelist = ["data", "domain", "height", "padding", "samples", "style", "width", "errorX", "errorY", "borderWidth"];
@@ -23781,7 +23723,6 @@ __webpack_require__.r(__webpack_exports__);
23781
23723
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/data.js");
23782
23724
  /* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-fast-compare */ "../../../node_modules/.pnpm/react-fast-compare@3.2.0/node_modules/react-fast-compare/index.js");
23783
23725
  /* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_fast_compare__WEBPACK_IMPORTED_MODULE_1__);
23784
- /* eslint-disable no-use-before-define */
23785
23726
 
23786
23727
 
23787
23728
 
@@ -23791,8 +23732,6 @@ const fallbackProps = {
23791
23732
  padding: 50,
23792
23733
  offset: 0
23793
23734
  };
23794
-
23795
- // eslint-disable-next-line max-statements
23796
23735
  function getCalculatedProps(initialProps, childComponents) {
23797
23736
  const role = "group";
23798
23737
  const props = victory_core__WEBPACK_IMPORTED_MODULE_2__.modifyProps(initialProps, fallbackProps, role);
@@ -24067,7 +24006,6 @@ const defaultProps = {
24067
24006
  theme: victory_core__WEBPACK_IMPORTED_MODULE_5__.VictoryTheme.grayscale
24068
24007
  };
24069
24008
  const VictoryGroupBase = initialProps => {
24070
- // eslint-disable-next-line no-use-before-define
24071
24009
  const role = VictoryGroup?.role;
24072
24010
  const {
24073
24011
  getAnimationProps,
@@ -24503,7 +24441,7 @@ const fallbackProps = {
24503
24441
  };
24504
24442
  const defaultData = [];
24505
24443
 
24506
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
24444
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
24507
24445
 
24508
24446
  /**
24509
24447
  * Draw SVG histogram charts with React. VictoryHistogram is a composable component, so it doesn't include axes
@@ -24794,8 +24732,6 @@ const getTitleStyle = props => {
24794
24732
  const anchors = getAnchors(titleOrientation, centerTitle);
24795
24733
  return Array.isArray(componentStyle) ? componentStyle.map(obj => lodash_defaults__WEBPACK_IMPORTED_MODULE_2___default()({}, obj, baseStyle, anchors)) : lodash_defaults__WEBPACK_IMPORTED_MODULE_2___default()({}, componentStyle, baseStyle, anchors);
24796
24734
  };
24797
-
24798
- // eslint-disable-next-line complexity
24799
24735
  const getTitleProps = (props, borderProps) => {
24800
24736
  const {
24801
24737
  title,
@@ -25030,7 +24966,7 @@ const defaultLegendData = [{
25030
24966
  name: "Series 2"
25031
24967
  }];
25032
24968
 
25033
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
24969
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
25034
24970
 
25035
24971
  class VictoryLegendBase extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component) {
25036
24972
  static displayName = "VictoryLegend";
@@ -25367,7 +25303,7 @@ const options = {
25367
25303
  }]
25368
25304
  };
25369
25305
 
25370
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
25306
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
25371
25307
 
25372
25308
  class VictoryLineBase extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component) {
25373
25309
  constructor(props) {
@@ -25487,6 +25423,30 @@ const getSlices = (props, data) => {
25487
25423
  });
25488
25424
  return layoutFunction(data);
25489
25425
  };
25426
+ const getCategoriesFromProps = props => Array.isArray(props.categories) ? props.categories : props?.categories?.x ?? [];
25427
+
25428
+ /**
25429
+ * Sorts data by props.categories or props.categories.x. If all of the data keys aren't
25430
+ * included in categories, any remaining data will be appended to the data array.
25431
+ * If extraneous categories are included in the categories prop, the will be ignored and
25432
+ * have no effect on the rendered component.
25433
+ */
25434
+ const getDataSortedByCategories = (props, data) => {
25435
+ const sorted = [];
25436
+ getCategoriesFromProps(props).forEach(category => {
25437
+ const idx = data.findIndex(_ref => {
25438
+ let {
25439
+ x
25440
+ } = _ref;
25441
+ return x === category;
25442
+ });
25443
+ if (idx >= 0) {
25444
+ const datum = data.splice(idx, 1)[0];
25445
+ sorted.push(datum);
25446
+ }
25447
+ });
25448
+ return [...sorted, ...data];
25449
+ };
25490
25450
  const getCalculatedValues = props => {
25491
25451
  const {
25492
25452
  colorScale,
@@ -25498,7 +25458,7 @@ const getCalculatedValues = props => {
25498
25458
  const padding = victory_core__WEBPACK_IMPORTED_MODULE_3__.getPadding(props);
25499
25459
  const defaultRadius = getRadius(props, padding);
25500
25460
  const origin = getOrigin(props, padding);
25501
- const data = victory_core__WEBPACK_IMPORTED_MODULE_5__.getData(props);
25461
+ const data = getDataSortedByCategories(props, victory_core__WEBPACK_IMPORTED_MODULE_5__.getData(props));
25502
25462
  const slices = getSlices(props, data);
25503
25463
  return Object.assign({}, props, {
25504
25464
  style,
@@ -25948,7 +25908,7 @@ const datumHasXandY = datum => {
25948
25908
  return !victory_core__WEBPACK_IMPORTED_MODULE_1__.isNil(datum._x) && !victory_core__WEBPACK_IMPORTED_MODULE_1__.isNil(datum._y);
25949
25909
  };
25950
25910
 
25951
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
25911
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
25952
25912
 
25953
25913
  class VictoryPieBase extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component) {
25954
25914
  static animationWhitelist = ["data", "endAngle", "height", "innerRadius", "cornerRadius", "padAngle", "padding", "colorScale", "startAngle", "style", "width"];
@@ -26563,7 +26523,7 @@ const fallbackProps = {
26563
26523
  padding: 50
26564
26524
  };
26565
26525
 
26566
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
26526
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
26567
26527
 
26568
26528
  class VictoryPolarAxisBase extends (react__WEBPACK_IMPORTED_MODULE_1___default().Component) {
26569
26529
  static animationWhitelist = ["style", "domain", "range", "tickCount", "tickValues", "padding", "width", "height"];
@@ -26931,7 +26891,7 @@ const fallbackProps = {
26931
26891
  symbol: "circle"
26932
26892
  };
26933
26893
 
26934
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
26894
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
26935
26895
 
26936
26896
  /**
26937
26897
  * Draw area charts with React. VictoryArea is a composable component, so it doesn't include axes.
@@ -27398,7 +27358,7 @@ __webpack_require__.r(__webpack_exports__);
27398
27358
  // to refactor in our current refactoring effort. Please do not make changes
27399
27359
  // to this file without manual testing and/or refactoring and adding tests.
27400
27360
 
27401
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
27361
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
27402
27362
 
27403
27363
  class VictorySharedEvents extends (react__WEBPACK_IMPORTED_MODULE_3___default().Component) {
27404
27364
  static displayName = "VictorySharedEvents";
@@ -27611,7 +27571,6 @@ __webpack_require__.r(__webpack_exports__);
27611
27571
  /* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-fast-compare */ "../../../node_modules/.pnpm/react-fast-compare@3.2.0/node_modules/react-fast-compare/index.js");
27612
27572
  /* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_fast_compare__WEBPACK_IMPORTED_MODULE_2__);
27613
27573
 
27614
- /* eslint-disable no-use-before-define */
27615
27574
 
27616
27575
 
27617
27576
 
@@ -28520,8 +28479,6 @@ class VictoryTooltip extends (react__WEBPACK_IMPORTED_MODULE_4___default().Compo
28520
28479
  y: Math.round(y + adjustments.y[0] - adjustments.y[1])
28521
28480
  };
28522
28481
  }
28523
-
28524
- // eslint-disable-next-line complexity
28525
28482
  getFlyoutCenter(props, dimensions) {
28526
28483
  const {
28527
28484
  x,
@@ -29127,7 +29084,6 @@ __webpack_require__.r(__webpack_exports__);
29127
29084
  /* harmony import */ var _voronoi_helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./voronoi-helpers */ "../../victory-voronoi-container/es/voronoi-helpers.js");
29128
29085
 
29129
29086
 
29130
- /* eslint-disable react/no-multi-comp */
29131
29087
 
29132
29088
 
29133
29089
 
@@ -29576,7 +29532,6 @@ class VoronoiHelpersClass {
29576
29532
  return this.getParentMutation([]).concat(...inactiveMutations);
29577
29533
  };
29578
29534
  handleMouseMove = (evt, targetProps) => {
29579
- // eslint-disable-line max-statements
29580
29535
  const activePoints = targetProps.activePoints || [];
29581
29536
  const parentSVG = targetProps.parentSVG || victory_core__WEBPACK_IMPORTED_MODULE_9__.getParentSVG(evt);
29582
29537
  const mousePosition = victory_core__WEBPACK_IMPORTED_MODULE_9__.getSVGEventCoordinates(evt, parentSVG);
@@ -29809,7 +29764,7 @@ const fallbackProps = {
29809
29764
  padding: 50
29810
29765
  };
29811
29766
 
29812
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
29767
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
29813
29768
 
29814
29769
  class VictoryVoronoiBase extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component) {
29815
29770
  static animationWhitelist = ["data", "domain", "height", "padding", "samples", "size", "style", "width"];
@@ -30419,7 +30374,7 @@ const RawZoomHelpers = {
30419
30374
  }
30420
30375
  }];
30421
30376
  },
30422
- // eslint-disable-next-line max-params, max-statements
30377
+ // eslint-disable-next-line max-params
30423
30378
  onMouseMove(evt, targetProps, eventKey, ctx) {
30424
30379
  if (targetProps.panning && targetProps.allowPan) {
30425
30380
  const {