@fluentui/react-charting 5.24.30 → 5.24.32

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.
Files changed (73) hide show
  1. package/CHANGELOG.json +43 -1
  2. package/CHANGELOG.md +22 -2
  3. package/dist/react-charting.d.ts +135 -2
  4. package/dist/react-charting.js +1 -1
  5. package/dist/react-charting.min.js +1 -1
  6. package/etc/react-charting.api.md +45 -2
  7. package/lib/components/AreaChart/AreaChart.base.js +18 -22
  8. package/lib/components/AreaChart/AreaChart.base.js.map +1 -1
  9. package/lib/components/DeclarativeChart/DeclarativeChart.js +1 -4
  10. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  11. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +93 -50
  12. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  13. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +13 -2
  14. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +260 -100
  15. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  16. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.d.ts +7 -2
  17. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
  18. package/lib/components/LineChart/LineChart.base.js +59 -42
  19. package/lib/components/LineChart/LineChart.base.js.map +1 -1
  20. package/lib/components/ScatterChart/ScatterChart.base.js +5 -11
  21. package/lib/components/ScatterChart/ScatterChart.base.js.map +1 -1
  22. package/lib/index.d.ts +1 -1
  23. package/lib/index.js.map +1 -1
  24. package/lib/types/IDataPoint.d.ts +125 -1
  25. package/lib/types/IDataPoint.js.map +1 -1
  26. package/lib/utilities/utilities.d.ts +18 -4
  27. package/lib/utilities/utilities.js +14 -5
  28. package/lib/utilities/utilities.js.map +1 -1
  29. package/lib-amd/components/AreaChart/AreaChart.base.js +16 -20
  30. package/lib-amd/components/AreaChart/AreaChart.base.js.map +1 -1
  31. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js +1 -4
  32. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  33. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js +92 -49
  34. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  35. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +13 -2
  36. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +257 -97
  37. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  38. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.d.ts +7 -2
  39. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
  40. package/lib-amd/components/LineChart/LineChart.base.js +58 -41
  41. package/lib-amd/components/LineChart/LineChart.base.js.map +1 -1
  42. package/lib-amd/components/ScatterChart/ScatterChart.base.js +3 -9
  43. package/lib-amd/components/ScatterChart/ScatterChart.base.js.map +1 -1
  44. package/lib-amd/index.d.ts +1 -1
  45. package/lib-amd/index.js.map +1 -1
  46. package/lib-amd/types/IDataPoint.d.ts +125 -1
  47. package/lib-amd/types/IDataPoint.js.map +1 -1
  48. package/lib-amd/utilities/utilities.d.ts +18 -4
  49. package/lib-amd/utilities/utilities.js +16 -6
  50. package/lib-amd/utilities/utilities.js.map +1 -1
  51. package/lib-commonjs/components/AreaChart/AreaChart.base.js +16 -20
  52. package/lib-commonjs/components/AreaChart/AreaChart.base.js.map +1 -1
  53. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +1 -4
  54. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  55. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +92 -49
  56. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  57. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +13 -2
  58. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +257 -97
  59. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  60. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.d.ts +7 -2
  61. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
  62. package/lib-commonjs/components/LineChart/LineChart.base.js +58 -41
  63. package/lib-commonjs/components/LineChart/LineChart.base.js.map +1 -1
  64. package/lib-commonjs/components/ScatterChart/ScatterChart.base.js +3 -9
  65. package/lib-commonjs/components/ScatterChart/ScatterChart.base.js.map +1 -1
  66. package/lib-commonjs/index.d.ts +1 -1
  67. package/lib-commonjs/index.js.map +1 -1
  68. package/lib-commonjs/types/IDataPoint.d.ts +125 -1
  69. package/lib-commonjs/types/IDataPoint.js.map +1 -1
  70. package/lib-commonjs/utilities/utilities.d.ts +18 -4
  71. package/lib-commonjs/utilities/utilities.js +16 -6
  72. package/lib-commonjs/utilities/utilities.js.map +1 -1
  73. package/package.json +2 -2
@@ -10,7 +10,7 @@ import { CartesianChart, } from '../../index';
10
10
  import { DirectionalHint } from '@fluentui/react/lib/Callout';
11
11
  import { formatDateToLocaleString } from '@fluentui/chart-utilities';
12
12
  import { EventsAnnotation } from './eventAnnotation/EventAnnotation';
13
- import { calloutData, ChartTypes, getXAxisType, XAxisTypes, tooltipOfAxislabels, Points, pointTypes, getTypeOfAxis, getNextColor, getColorFromToken, findNumericMinMaxOfY, createNumericYAxis, domainRangeOfDateForAreaLineScatterVerticalBarCharts, domainRangeOfNumericForAreaLineScatterCharts, createStringYAxis, areArraysEqual, getCurveFactory, isScatterPolarSeries, getDomainPaddingForMarkers, isPlottable, getRangeForScatterMarkerSize, } from '../../utilities/index';
13
+ import { calloutData, ChartTypes, getXAxisType, XAxisTypes, tooltipOfAxislabels, Points, pointTypes, getTypeOfAxis, getNextColor, getColorFromToken, findNumericMinMaxOfY, createNumericYAxis, domainRangeOfDateForAreaLineScatterVerticalBarCharts, domainRangeOfNumericForAreaLineScatterCharts, createStringYAxis, areArraysEqual, getCurveFactory, isScatterPolarSeries, getDomainPaddingForMarkers, isPlottable, getRangeForScatterMarkerSize, findCalloutPoints, } from '../../utilities/index';
14
14
  import { toImage } from '../../utilities/image-export-utils';
15
15
  import { renderScatterPolarCategoryLabels } from '../../utilities/scatterpolar-utils';
16
16
  var getClassNames = classNamesFunction();
@@ -326,11 +326,7 @@ var LineChartBase = /** @class */ (function (_super) {
326
326
  var formattedDate = xPointToHighlight instanceof Date
327
327
  ? formatDateToLocaleString(xPointToHighlight, _this_1.props.culture, _this_1.props.useUTC)
328
328
  : xPointToHighlight;
329
- var modifiedXVal = xPointToHighlight instanceof Date ? xPointToHighlight.getTime() : xPointToHighlight;
330
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
331
- var found = find(_this_1._calloutPoints, function (element) {
332
- return element.x === modifiedXVal;
333
- });
329
+ var found = findCalloutPoints(_this_1._calloutPoints, xPointToHighlight);
334
330
  var pointToHighlight = lineChartData[linenumber].data[index];
335
331
  var pointToHighlightUpdated = _this_1.state.nearestCircleToHighlight === null ||
336
332
  (_this_1.state.nearestCircleToHighlight !== null &&
@@ -373,8 +369,7 @@ var LineChartBase = /** @class */ (function (_super) {
373
369
  _this_1._handleFocus = function (lineId, x, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData) {
374
370
  _this_1._uniqueCallOutID = circleId;
375
371
  var formattedData = x instanceof Date ? formatDateToLocaleString(x, _this_1.props.culture, _this_1.props.useUTC) : x;
376
- var xVal = x instanceof Date ? x.getTime() : x;
377
- var found = find(_this_1._calloutPoints, function (element) { return element.x === xVal; });
372
+ var found = findCalloutPoints(_this_1._calloutPoints, x);
378
373
  // if no points need to be called out then don't show vertical line and callout card
379
374
  if (found) {
380
375
  var _this_2 = _this_1;
@@ -405,16 +400,14 @@ var LineChartBase = /** @class */ (function (_super) {
405
400
  _this_1._handleHover = function (x, y, lineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, yScale, legendVal, lineColor, mouseEvent) {
406
401
  mouseEvent.persist();
407
402
  var formattedData = x instanceof Date ? formatDateToLocaleString(x, _this_1.props.culture, _this_1.props.useUTC) : x;
408
- var xVal = x instanceof Date ? x.getTime() : x;
409
- var yVal = y instanceof Date ? y.getTime() : y;
410
403
  var _this = _this_1;
411
- var found = find(_this_1._calloutPoints, function (element) { return element.x === xVal; });
404
+ var found = findCalloutPoints(_this_1._calloutPoints, x);
412
405
  var hoverDp = undefined;
413
406
  if (_this_1.props.isCalloutForStack === false && (found === null || found === void 0 ? void 0 : found.values)) {
414
- var dp = find(found.values, function (val) { return (val === null || val === void 0 ? void 0 : val.y) === yVal; });
407
+ var dp = find(found.values, function (val) { return (val === null || val === void 0 ? void 0 : val.y) === y; });
415
408
  if (dp) {
416
409
  hoverDp = {
417
- x: xVal,
410
+ x: x,
418
411
  values: [dp],
419
412
  };
420
413
  }
@@ -432,7 +425,7 @@ var LineChartBase = /** @class */ (function (_super) {
432
425
  refSelected: "#".concat(circleId),
433
426
  hoverXValue: xAxisCalloutData ? xAxisCalloutData : '' + formattedData,
434
427
  YValueHover: found.values,
435
- YValue: yVal,
428
+ YValue: y,
436
429
  legendVal: legendVal,
437
430
  lineColor: lineColor,
438
431
  stackCalloutProps: found,
@@ -619,7 +612,7 @@ var LineChartBase = /** @class */ (function (_super) {
619
612
  _this_1._refArray = [];
620
613
  _this_1._points = _this_1._injectIndexPropertyInLineChartData(_this_1.props.data.lineChartData);
621
614
  _this_1._colorFillBars = [];
622
- _this_1._calloutPoints = calloutData(_this_1._points) || [];
615
+ _this_1._calloutPoints = calloutData(_this_1._points) || {};
623
616
  _this_1._circleId = getId('circle');
624
617
  _this_1._lineId = getId('lineID');
625
618
  _this_1._borderId = getId('borderID');
@@ -655,7 +648,7 @@ var LineChartBase = /** @class */ (function (_super) {
655
648
  prevProps.width !== this.props.width ||
656
649
  prevProps.data !== this.props.data) {
657
650
  this._points = this._injectIndexPropertyInLineChartData(this.props.data.lineChartData);
658
- this._calloutPoints = calloutData(this._points) || [];
651
+ this._calloutPoints = calloutData(this._points) || {};
659
652
  }
660
653
  };
661
654
  // eslint-disable-next-line @typescript-eslint/no-deprecated
@@ -780,7 +773,7 @@ var LineChartBase = /** @class */ (function (_super) {
780
773
  // eslint-disable-next-line @typescript-eslint/no-deprecated
781
774
  LineChartBase.prototype._createLines = function (xElement, containerHeight) {
782
775
  var _this_1 = this;
783
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17;
776
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26;
784
777
  // eslint-disable-next-line @typescript-eslint/no-deprecated
785
778
  var lines = [];
786
779
  if (this.state.isSelectedLegend) {
@@ -824,7 +817,7 @@ var LineChartBase = /** @class */ (function (_super) {
824
817
  })
825
818
  : 0;
826
819
  if (this_1._points[i].data.length === 1) {
827
- var _18 = this_1._points[i].data[0], x1_1 = _18.x, y1 = _18.y, xAxisCalloutData_1 = _18.xAxisCalloutData, xAxisCalloutAccessibilityData_1 = _18.xAxisCalloutAccessibilityData;
820
+ var _27 = this_1._points[i].data[0], x1_1 = _27.x, y1 = _27.y, xAxisCalloutData_1 = _27.xAxisCalloutData, xAxisCalloutAccessibilityData_1 = _27.xAxisCalloutAccessibilityData;
828
821
  var xPoint = this_1._xAxisScale(x1_1);
829
822
  var yPoint = yScale(y1);
830
823
  if (isPlottable(xPoint, yPoint)) {
@@ -873,20 +866,44 @@ var LineChartBase = /** @class */ (function (_super) {
873
866
  this_1._points[i].data[k].y,
874
867
  ]);
875
868
  }
876
- if (isLegendSelected) {
877
- var lineBorderWidth = ((_g = this_1._points[i].lineOptions) === null || _g === void 0 ? void 0 : _g.lineBorderWidth)
869
+ // Check if lines should be drawn based on mode
870
+ var lineMode = (_g = this_1._points[i].lineOptions) === null || _g === void 0 ? void 0 : _g.mode;
871
+ var shouldDrawLines = lineMode !== 'markers';
872
+ if (shouldDrawLines && isLegendSelected) {
873
+ var lineBorderWidth = ((_h = this_1._points[i].lineOptions) === null || _h === void 0 ? void 0 : _h.lineBorderWidth)
878
874
  ? Number.parseFloat(this_1._points[i].lineOptions.lineBorderWidth.toString())
879
875
  : 0;
880
876
  if (lineBorderWidth > 0) {
881
- bordersForLine.push(React.createElement("path", { id: borderId, key: borderId, d: line(lineData), fill: "transparent", strokeLinecap: (_j = (_h = this_1._points[i].lineOptions) === null || _h === void 0 ? void 0 : _h.strokeLinecap) !== null && _j !== void 0 ? _j : 'round', strokeWidth: Number.parseFloat(strokeWidth.toString()) + lineBorderWidth, stroke: ((_k = this_1._points[i].lineOptions) === null || _k === void 0 ? void 0 : _k.lineBorderColor) || theme.semanticColors.bodyBackground, opacity: 1 }));
877
+ bordersForLine.push(React.createElement("path", { id: borderId, key: borderId, d: line(lineData), fill: "transparent", strokeLinecap: (_k = (_j = this_1._points[i].lineOptions) === null || _j === void 0 ? void 0 : _j.strokeLinecap) !== null && _k !== void 0 ? _k : 'round', strokeWidth: Number.parseFloat(strokeWidth.toString()) + lineBorderWidth, stroke: ((_l = this_1._points[i].lineOptions) === null || _l === void 0 ? void 0 : _l.lineBorderColor) || theme.semanticColors.bodyBackground, opacity: 1 }));
882
878
  }
883
- linesForLine.push(React.createElement("path", __assign({ id: lineId, key: lineId, d: line(lineData), fill: "transparent", "data-is-focusable": true, stroke: lineColor, strokeWidth: strokeWidth, strokeLinecap: (_m = (_l = this_1._points[i].lineOptions) === null || _l === void 0 ? void 0 : _l.strokeLinecap) !== null && _m !== void 0 ? _m : 'round', strokeDasharray: (_o = this_1._points[i].lineOptions) === null || _o === void 0 ? void 0 : _o.strokeDasharray, onMouseMove: this_1._onMouseOverLargeDataset.bind(this_1, i, verticaLineHeight, yScale), onMouseOver: this_1._onMouseOverLargeDataset.bind(this_1, i, verticaLineHeight, yScale), onMouseOut: this_1._handleMouseOut }, this_1._getClickHandler(this_1._points[i].onLineClick), { opacity: 1 })));
879
+ linesForLine.push(React.createElement("path", __assign({ id: lineId, key: lineId, d: line(lineData), fill: "transparent", "data-is-focusable": true, stroke: lineColor, strokeWidth: strokeWidth, strokeLinecap: (_o = (_m = this_1._points[i].lineOptions) === null || _m === void 0 ? void 0 : _m.strokeLinecap) !== null && _o !== void 0 ? _o : 'round', strokeDasharray: (_p = this_1._points[i].lineOptions) === null || _p === void 0 ? void 0 : _p.strokeDasharray, onMouseMove: this_1._onMouseOverLargeDataset.bind(this_1, i, verticaLineHeight, yScale), onMouseOver: this_1._onMouseOverLargeDataset.bind(this_1, i, verticaLineHeight, yScale), onMouseOut: this_1._handleMouseOut }, this_1._getClickHandler(this_1._points[i].onLineClick), { opacity: 1 })));
884
880
  }
885
- else {
886
- linesForLine.push(React.createElement("path", { id: lineId, key: lineId, d: line(lineData), fill: "transparent", "data-is-focusable": false, stroke: lineColor, strokeWidth: strokeWidth, strokeLinecap: (_q = (_p = this_1._points[i].lineOptions) === null || _p === void 0 ? void 0 : _p.strokeLinecap) !== null && _q !== void 0 ? _q : 'round', strokeDasharray: (_r = this_1._points[i].lineOptions) === null || _r === void 0 ? void 0 : _r.strokeDasharray, opacity: 0.1 }));
881
+ else if (shouldDrawLines) {
882
+ linesForLine.push(React.createElement("path", { id: lineId, key: lineId, d: line(lineData), fill: "transparent", "data-is-focusable": false, stroke: lineColor, strokeWidth: strokeWidth, strokeLinecap: (_r = (_q = this_1._points[i].lineOptions) === null || _q === void 0 ? void 0 : _q.strokeLinecap) !== null && _r !== void 0 ? _r : 'round', strokeDasharray: (_s = this_1._points[i].lineOptions) === null || _s === void 0 ? void 0 : _s.strokeDasharray, opacity: 0.1 }));
887
883
  }
888
884
  var isPointHighlighted = this_1.state.activeLine !== null && this_1.state.activeLine === i;
885
+ // Always add the highlight circle for large dataset hover
889
886
  pointsForLine.push(React.createElement("circle", { id: "".concat(this_1._staticHighlightCircle, "_").concat(i), key: "".concat(this_1._staticHighlightCircle, "_").concat(i), r: 5.5, cx: 0, cy: 0, fill: theme.semanticColors.bodyBackground, strokeWidth: DEFAULT_LINE_STROKE_SIZE, stroke: lineColor, visibility: isPointHighlighted ? 'visibility' : 'hidden', onMouseMove: this_1._onMouseOverLargeDataset.bind(this_1, i, verticaLineHeight, yScale), onMouseOver: this_1._onMouseOverLargeDataset.bind(this_1, i, verticaLineHeight, yScale), onMouseOut: this_1._handleMouseOut }));
887
+ // Add individual markers if mode includes 'markers'
888
+ var showMarkers = (lineMode === null || lineMode === void 0 ? void 0 : lineMode.includes('markers')) || !lineMode; // Show markers by default if no mode specified
889
+ if (showMarkers) {
890
+ for (var k = 0; k < this_1._points[i].data.length; k++) {
891
+ var _28 = this_1._points[i].data[k], x = _28.x, y = _28.y;
892
+ var xPoint = this_1._xAxisScale(x instanceof Date ? x.getTime() : x);
893
+ var yPoint = yScale(y);
894
+ if (isPlottable(xPoint, yPoint)) {
895
+ var markerSize = this_1._points[i].data[k].markerSize;
896
+ var perPointColor = (_t = this_1._points[i].data[k]) === null || _t === void 0 ? void 0 : _t.markerColor;
897
+ pointsForLine.push(React.createElement("circle", { key: "".concat(this_1._circleId, "_").concat(i, "_").concat(k, "_marker"), r: markerSize
898
+ ? (markerSize * extraMaxPixels * 0.3) / maxMarkerSize
899
+ : activePoint === this_1._circleId
900
+ ? 5.5
901
+ : 3.5, cx: xPoint, cy: yPoint, fill: activePoint === this_1._circleId
902
+ ? theme.semanticColors.bodyBackground
903
+ : perPointColor || ((_u = this_1._points[i]) === null || _u === void 0 ? void 0 : _u.color) || lineColor, stroke: perPointColor || lineColor, strokeWidth: 1, opacity: isLegendSelected ? 1 : 0.1, onMouseMove: this_1._onMouseOverLargeDataset.bind(this_1, i, verticaLineHeight, yScale), onMouseOver: this_1._onMouseOverLargeDataset.bind(this_1, i, verticaLineHeight, yScale), onMouseOut: this_1._handleMouseOut }));
904
+ }
905
+ }
906
+ }
890
907
  }
891
908
  else if (!this_1.props.optimizeLargeData) {
892
909
  var _loop_2 = function (j) {
@@ -896,74 +913,74 @@ var LineChartBase = /** @class */ (function (_super) {
896
913
  var lineId = "".concat(this_1._lineId, "_").concat(i, "_").concat(j);
897
914
  var borderId = "".concat(this_1._borderId, "_").concat(i, "_").concat(j);
898
915
  var circleId = "".concat(this_1._circleId, "_").concat(i, "_").concat(j);
899
- var _19 = this_1._points[i].data[j - 1], x1 = _19.x, y1 = _19.y, xAxisCalloutData = _19.xAxisCalloutData, xAxisCalloutAccessibilityData = _19.xAxisCalloutAccessibilityData;
900
- var _20 = this_1._points[i].data[j], x2 = _20.x, y2 = _20.y;
916
+ var _29 = this_1._points[i].data[j - 1], x1 = _29.x, y1 = _29.y, xAxisCalloutData = _29.xAxisCalloutData, xAxisCalloutAccessibilityData = _29.xAxisCalloutAccessibilityData;
917
+ var _30 = this_1._points[i].data[j], x2 = _30.x, y2 = _30.y;
901
918
  var xPoint1 = this_1._xAxisScale(x1);
902
919
  var yPoint1 = yScale(y1);
903
920
  var xPoint2 = this_1._xAxisScale(x2);
904
921
  var yPoint2 = yScale(y2);
905
- var strokeWidth = ((_s = this_1._points[i].lineOptions) === null || _s === void 0 ? void 0 : _s.strokeWidth) || this_1.props.strokeWidth || DEFAULT_LINE_STROKE_SIZE;
922
+ var strokeWidth = ((_v = this_1._points[i].lineOptions) === null || _v === void 0 ? void 0 : _v.strokeWidth) || this_1.props.strokeWidth || DEFAULT_LINE_STROKE_SIZE;
906
923
  var isLegendSelected = this_1._legendHighlighted(legendVal) || this_1._noLegendHighlighted() || this_1.state.isSelectedLegend;
907
924
  var currentPointHidden = this_1._points[i].hideNonActiveDots && activePoint !== circleId;
908
- var supportsTextMode = (_u = (_t = this_1._points[i].lineOptions) === null || _t === void 0 ? void 0 : _t.mode) === null || _u === void 0 ? void 0 : _u.includes('text');
925
+ var supportsTextMode = (_x = (_w = this_1._points[i].lineOptions) === null || _w === void 0 ? void 0 : _w.mode) === null || _x === void 0 ? void 0 : _x.includes('text');
909
926
  var text = this_1._points[i].data[j - 1].text;
910
927
  var currentMarkerSize = this_1._points[i].data[j - 1].markerSize;
911
928
  if (isPlottable(xPoint1, yPoint1)) {
912
929
  var path = this_1._getPath(xPoint1, yPoint1, circleId, j, false, this_1._points[i].index);
913
- pointsForLine.push(((_w = (_v = this_1._points[i].lineOptions) === null || _v === void 0 ? void 0 : _v.mode) === null || _w === void 0 ? void 0 : _w.includes('markers')) || supportsTextMode ? (React.createElement(React.Fragment, null,
930
+ pointsForLine.push(((_z = (_y = this_1._points[i].lineOptions) === null || _y === void 0 ? void 0 : _y.mode) === null || _z === void 0 ? void 0 : _z.includes('markers')) || supportsTextMode ? (React.createElement(React.Fragment, null,
914
931
  React.createElement("circle", __assign({ id: circleId, key: circleId, r: currentMarkerSize ? (currentMarkerSize * extraMaxPixels) / maxMarkerSize : 4, cx: xPoint1, cy: yPoint1, "data-is-focusable": isLegendSelected, onMouseOver: this_1._handleHover.bind(this_1, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, yScale, legendVal, lineColor), onMouseMove: this_1._handleHover.bind(this_1, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, yScale, legendVal, lineColor), onMouseOut: this_1._handleMouseOut, onFocus: function () {
915
932
  return _this_1._handleFocus(lineId, x1, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData);
916
- }, onBlur: this_1._handleMouseOut }, this_1._getClickHandler(this_1._points[i].data[j - 1].onDataPointClick), { opacity: isLegendSelected && !currentPointHidden ? 1 : 0.01, fill: this_1._getPointFill(lineColor, circleId, j, false), stroke: lineColor, strokeWidth: strokeWidth, role: "img", "aria-label": (_x = this_1._points[i].data[j - 1].text) !== null && _x !== void 0 ? _x : this_1._getAriaLabel(i, j - 1) })),
933
+ }, onBlur: this_1._handleMouseOut }, this_1._getClickHandler(this_1._points[i].data[j - 1].onDataPointClick), { opacity: isLegendSelected && !currentPointHidden ? 1 : 0.01, fill: ((_0 = this_1._points[i].data[j - 1]) === null || _0 === void 0 ? void 0 : _0.markerColor) || this_1._getPointFill(lineColor, circleId, j, false), stroke: ((_1 = this_1._points[i].data[j - 1]) === null || _1 === void 0 ? void 0 : _1.markerColor) || lineColor, strokeWidth: strokeWidth, role: "img", "aria-label": (_2 = this_1._points[i].data[j - 1].text) !== null && _2 !== void 0 ? _2 : this_1._getAriaLabel(i, j - 1) })),
917
934
  !this_1._isScatterPolar && supportsTextMode && text && (React.createElement("text", { key: "".concat(circleId, "-label"), x: xPoint1, y: yPoint1 +
918
935
  Math.max(currentMarkerSize ? (currentMarkerSize * extraMaxPixels) / maxMarkerSize : 4, 4) +
919
936
  12, className: classNames.markerLabel, opacity: isLegendSelected && !currentPointHidden ? 1 : 0.01 }, text)))) : (React.createElement("path", __assign({ id: circleId, key: circleId, d: path, "data-is-focusable": isLegendSelected, onMouseOver: this_1._handleHover.bind(this_1, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, yScale, legendVal, lineColor), onMouseMove: this_1._handleHover.bind(this_1, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, yScale, legendVal, lineColor), onMouseOut: this_1._handleMouseOut, onFocus: function () {
920
937
  return _this_1._handleFocus(lineId, x1, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData);
921
- }, onBlur: this_1._handleMouseOut }, this_1._getClickHandler(this_1._points[i].data[j - 1].onDataPointClick), { opacity: isLegendSelected && !currentPointHidden ? 1 : 0.01, fill: this_1._getPointFill(lineColor, circleId, j, false), stroke: lineColor, strokeWidth: strokeWidth, role: "img", "aria-label": this_1._getAriaLabel(i, j - 1) }))));
938
+ }, onBlur: this_1._handleMouseOut }, this_1._getClickHandler(this_1._points[i].data[j - 1].onDataPointClick), { opacity: isLegendSelected && !currentPointHidden ? 1 : 0.01, fill: ((_3 = this_1._points[i].data[j - 1]) === null || _3 === void 0 ? void 0 : _3.markerColor) || this_1._getPointFill(lineColor, circleId, j, false), stroke: ((_4 = this_1._points[i].data[j - 1]) === null || _4 === void 0 ? void 0 : _4.markerColor) || lineColor, strokeWidth: strokeWidth, role: "img", "aria-label": this_1._getAriaLabel(i, j - 1) }))));
922
939
  }
923
940
  if (j + 1 === this_1._points[i].data.length) {
924
941
  // If this is last point of the line segment.
925
942
  var lastCircleId_1 = "".concat(circleId).concat(j, "L");
926
943
  var hiddenHoverCircleId = "".concat(circleId).concat(j, "D");
927
944
  var lastPointHidden = this_1._points[i].hideNonActiveDots && activePoint !== lastCircleId_1;
928
- var _21 = this_1._points[i].data[j], lastCirlceXCallout_1 = _21.xAxisCalloutData, lastCirlceXCalloutAccessibilityData_1 = _21.xAxisCalloutAccessibilityData;
945
+ var _31 = this_1._points[i].data[j], lastCirlceXCallout_1 = _31.xAxisCalloutData, lastCirlceXCalloutAccessibilityData_1 = _31.xAxisCalloutAccessibilityData;
929
946
  currentMarkerSize = this_1._points[i].data[j].markerSize;
930
- var lastSupportsTextMode = (_z = (_y = this_1._points[i].lineOptions) === null || _y === void 0 ? void 0 : _y.mode) === null || _z === void 0 ? void 0 : _z.includes('text');
947
+ var lastSupportsTextMode = (_6 = (_5 = this_1._points[i].lineOptions) === null || _5 === void 0 ? void 0 : _5.mode) === null || _6 === void 0 ? void 0 : _6.includes('text');
931
948
  var lastText = this_1._points[i].data[j].text;
932
949
  if (isPlottable(xPoint2, yPoint2)) {
933
950
  var path = this_1._getPath(xPoint2, yPoint2, lastCircleId_1, j, true, this_1._points[i].index);
934
951
  pointsForLine.push(React.createElement(React.Fragment, { key: "".concat(lastCircleId_1, "_container") },
935
- ((_1 = (_0 = this_1._points[i].lineOptions) === null || _0 === void 0 ? void 0 : _0.mode) === null || _1 === void 0 ? void 0 : _1.includes('markers')) || lastSupportsTextMode ? (React.createElement(React.Fragment, null,
952
+ ((_8 = (_7 = this_1._points[i].lineOptions) === null || _7 === void 0 ? void 0 : _7.mode) === null || _8 === void 0 ? void 0 : _8.includes('markers')) || lastSupportsTextMode ? (React.createElement(React.Fragment, null,
936
953
  React.createElement("circle", __assign({ id: lastCircleId_1, key: lastCircleId_1, r: currentMarkerSize ? (currentMarkerSize * extraMaxPixels) / maxMarkerSize : 4, cx: xPoint2, cy: yPoint2, "data-is-focusable": isLegendSelected, onMouseOver: this_1._handleHover.bind(this_1, x2, y2, verticaLineHeight, lastCirlceXCallout_1, lastCircleId_1, lastCirlceXCalloutAccessibilityData_1, yScale, legendVal, lineColor), onMouseMove: this_1._handleHover.bind(this_1, x2, y2, verticaLineHeight, lastCirlceXCallout_1, lastCircleId_1, lastCirlceXCalloutAccessibilityData_1, yScale, legendVal, lineColor), onMouseOut: this_1._handleMouseOut, onFocus: function () {
937
954
  return _this_1._handleFocus(lineId, x2, lastCirlceXCallout_1, lastCircleId_1, lastCirlceXCalloutAccessibilityData_1);
938
- }, onBlur: this_1._handleMouseOut }, this_1._getClickHandler(this_1._points[i].data[j].onDataPointClick), { opacity: isLegendSelected && !lastPointHidden ? 1 : 0.01, fill: this_1._getPointFill(lineColor, lastCircleId_1, j, true), stroke: lineColor, strokeWidth: strokeWidth, role: "img", "aria-label": (_2 = this_1._points[i].data[j].text) !== null && _2 !== void 0 ? _2 : this_1._getAriaLabel(i, j) })),
955
+ }, onBlur: this_1._handleMouseOut }, this_1._getClickHandler(this_1._points[i].data[j].onDataPointClick), { opacity: isLegendSelected && !lastPointHidden ? 1 : 0.01, fill: this_1._getPointFill(lineColor, lastCircleId_1, j, true), stroke: lineColor, strokeWidth: strokeWidth, role: "img", "aria-label": (_9 = this_1._points[i].data[j].text) !== null && _9 !== void 0 ? _9 : this_1._getAriaLabel(i, j) })),
939
956
  !this_1._isScatterPolar && lastSupportsTextMode && lastText && (React.createElement("text", { key: "".concat(lastCircleId_1, "-label"), x: xPoint2, y: yPoint2 +
940
957
  Math.max(currentMarkerSize ? (currentMarkerSize * extraMaxPixels) / maxMarkerSize : 4, 4) +
941
958
  12, className: classNames.markerLabel, opacity: isLegendSelected && !currentPointHidden ? 1 : 0.01 }, text)))) : (React.createElement("path", __assign({ id: lastCircleId_1, key: lastCircleId_1, d: path, "data-is-focusable": isLegendSelected, onMouseOver: this_1._handleHover.bind(this_1, x2, y2, verticaLineHeight, lastCirlceXCallout_1, lastCircleId_1, lastCirlceXCalloutAccessibilityData_1, yScale, legendVal, lineColor), onMouseMove: this_1._handleHover.bind(this_1, x2, y2, verticaLineHeight, lastCirlceXCallout_1, lastCircleId_1, lastCirlceXCalloutAccessibilityData_1, yScale, legendVal, lineColor), onMouseOut: this_1._handleMouseOut, onFocus: function () {
942
959
  return _this_1._handleFocus(lineId, x2, lastCirlceXCallout_1, lastCircleId_1, lastCirlceXCalloutAccessibilityData_1);
943
- }, onBlur: this_1._handleMouseOut }, this_1._getClickHandler(this_1._points[i].data[j].onDataPointClick), { opacity: isLegendSelected && !lastPointHidden ? 1 : 0.01, fill: this_1._getPointFill(lineColor, lastCircleId_1, j, true), stroke: lineColor, strokeWidth: strokeWidth, role: "img", "aria-label": this_1._getAriaLabel(i, j) }))),
960
+ }, onBlur: this_1._handleMouseOut }, this_1._getClickHandler(this_1._points[i].data[j].onDataPointClick), { opacity: isLegendSelected && !lastPointHidden ? 1 : 0.01, fill: ((_10 = this_1._points[i].data[j]) === null || _10 === void 0 ? void 0 : _10.markerColor) || this_1._getPointFill(lineColor, lastCircleId_1, j, true), stroke: ((_11 = this_1._points[i].data[j]) === null || _11 === void 0 ? void 0 : _11.markerColor) || lineColor, strokeWidth: strokeWidth, role: "img", "aria-label": this_1._getAriaLabel(i, j) }))),
944
961
  React.createElement("circle", { id: hiddenHoverCircleId, key: hiddenHoverCircleId, r: 8, cx: xPoint2, cy: yPoint2, opacity: 0, width: 0, onMouseOver: this_1._handleHover.bind(this_1, x2, y2, verticaLineHeight, lastCirlceXCallout_1, lastCircleId_1, lastCirlceXCalloutAccessibilityData_1, yScale, legendVal, lineColor), onMouseMove: this_1._handleHover.bind(this_1, x2, y2, verticaLineHeight, lastCirlceXCallout_1, lastCircleId_1, lastCirlceXCalloutAccessibilityData_1, yScale, legendVal, lineColor), onMouseOut: this_1._handleMouseOut, strokeWidth: 0, focusable: false, onBlur: this_1._handleMouseOut })));
945
962
  }
946
963
  }
947
964
  if (isPlottable(xPoint1, yPoint1) &&
948
965
  isPlottable(xPoint2, yPoint2) &&
949
- (!this_1._hasMarkersMode || ((_4 = (_3 = this_1._points[i].lineOptions) === null || _3 === void 0 ? void 0 : _3.mode) === null || _4 === void 0 ? void 0 : _4.includes('lines')))) {
966
+ (!this_1._hasMarkersMode || ((_13 = (_12 = this_1._points[i].lineOptions) === null || _12 === void 0 ? void 0 : _12.mode) === null || _13 === void 0 ? void 0 : _13.includes('lines')))) {
950
967
  if (isLegendSelected) {
951
968
  // don't draw line if it is in a gap
952
969
  if (!isInGap) {
953
- var lineBorderWidth = ((_5 = this_1._points[i].lineOptions) === null || _5 === void 0 ? void 0 : _5.lineBorderWidth)
970
+ var lineBorderWidth = ((_14 = this_1._points[i].lineOptions) === null || _14 === void 0 ? void 0 : _14.lineBorderWidth)
954
971
  ? Number.parseFloat(this_1._points[i].lineOptions.lineBorderWidth.toString())
955
972
  : 0;
956
973
  if (lineBorderWidth > 0) {
957
- bordersForLine.push(React.createElement("line", { id: borderId, key: borderId, x1: xPoint1, y1: yPoint1, x2: xPoint2, y2: yPoint2, strokeLinecap: (_7 = (_6 = this_1._points[i].lineOptions) === null || _6 === void 0 ? void 0 : _6.strokeLinecap) !== null && _7 !== void 0 ? _7 : 'round', strokeWidth: Number.parseFloat(strokeWidth.toString()) + lineBorderWidth, stroke: ((_8 = this_1._points[i].lineOptions) === null || _8 === void 0 ? void 0 : _8.lineBorderColor) || theme.semanticColors.bodyBackground, opacity: 1 }));
974
+ bordersForLine.push(React.createElement("line", { id: borderId, key: borderId, x1: xPoint1, y1: yPoint1, x2: xPoint2, y2: yPoint2, strokeLinecap: (_16 = (_15 = this_1._points[i].lineOptions) === null || _15 === void 0 ? void 0 : _15.strokeLinecap) !== null && _16 !== void 0 ? _16 : 'round', strokeWidth: Number.parseFloat(strokeWidth.toString()) + lineBorderWidth, stroke: ((_17 = this_1._points[i].lineOptions) === null || _17 === void 0 ? void 0 : _17.lineBorderColor) || theme.semanticColors.bodyBackground, opacity: 1 }));
958
975
  }
959
976
  linesForLine.push(React.createElement("line", __assign({ id: lineId, key: lineId, x1: xPoint1, y1: yPoint1, x2: xPoint2, y2: yPoint2, strokeWidth: strokeWidth, ref: function (e) {
960
977
  _this_1._refCallback(e, lineId);
961
- }, onMouseOver: this_1._handleHover.bind(this_1, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, yScale, legendVal, lineColor), onMouseMove: this_1._handleHover.bind(this_1, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, yScale, legendVal, lineColor), onMouseOut: this_1._handleMouseOut, stroke: lineColor, strokeLinecap: (_10 = (_9 = this_1._points[i].lineOptions) === null || _9 === void 0 ? void 0 : _9.strokeLinecap) !== null && _10 !== void 0 ? _10 : 'round', strokeDasharray: (_11 = this_1._points[i].lineOptions) === null || _11 === void 0 ? void 0 : _11.strokeDasharray, strokeDashoffset: (_12 = this_1._points[i].lineOptions) === null || _12 === void 0 ? void 0 : _12.strokeDashoffset, opacity: 1 }, this_1._getClickHandler(this_1._points[i].onLineClick))));
978
+ }, onMouseOver: this_1._handleHover.bind(this_1, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, yScale, legendVal, lineColor), onMouseMove: this_1._handleHover.bind(this_1, x1, y1, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, yScale, legendVal, lineColor), onMouseOut: this_1._handleMouseOut, stroke: lineColor, strokeLinecap: (_19 = (_18 = this_1._points[i].lineOptions) === null || _18 === void 0 ? void 0 : _18.strokeLinecap) !== null && _19 !== void 0 ? _19 : 'round', strokeDasharray: (_20 = this_1._points[i].lineOptions) === null || _20 === void 0 ? void 0 : _20.strokeDasharray, strokeDashoffset: (_21 = this_1._points[i].lineOptions) === null || _21 === void 0 ? void 0 : _21.strokeDashoffset, opacity: 1 }, this_1._getClickHandler(this_1._points[i].onLineClick))));
962
979
  }
963
980
  }
964
981
  else {
965
982
  if (!isInGap) {
966
- linesForLine.push(React.createElement("line", { id: lineId, key: lineId, x1: xPoint1, y1: yPoint1, x2: xPoint2, y2: yPoint2, strokeWidth: strokeWidth, stroke: lineColor, strokeLinecap: (_14 = (_13 = this_1._points[i].lineOptions) === null || _13 === void 0 ? void 0 : _13.strokeLinecap) !== null && _14 !== void 0 ? _14 : 'round', strokeDasharray: (_15 = this_1._points[i].lineOptions) === null || _15 === void 0 ? void 0 : _15.strokeDasharray, strokeDashoffset: (_16 = this_1._points[i].lineOptions) === null || _16 === void 0 ? void 0 : _16.strokeDashoffset, opacity: 0.1 }));
983
+ linesForLine.push(React.createElement("line", { id: lineId, key: lineId, x1: xPoint1, y1: yPoint1, x2: xPoint2, y2: yPoint2, strokeWidth: strokeWidth, stroke: lineColor, strokeLinecap: (_23 = (_22 = this_1._points[i].lineOptions) === null || _22 === void 0 ? void 0 : _22.strokeLinecap) !== null && _23 !== void 0 ? _23 : 'round', strokeDasharray: (_24 = this_1._points[i].lineOptions) === null || _24 === void 0 ? void 0 : _24.strokeDasharray, strokeDashoffset: (_25 = this_1._points[i].lineOptions) === null || _25 === void 0 ? void 0 : _25.strokeDashoffset, opacity: 0.1 }));
967
984
  }
968
985
  }
969
986
  }
@@ -977,7 +994,7 @@ var LineChartBase = /** @class */ (function (_super) {
977
994
  xAxisScale: this_1._xAxisScale,
978
995
  yAxisScale: yScale,
979
996
  className: classNames.markerLabel || '',
980
- lineOptions: (_17 = this_1._points[i]) === null || _17 === void 0 ? void 0 : _17.lineOptions,
997
+ lineOptions: (_26 = this_1._points[i]) === null || _26 === void 0 ? void 0 : _26.lineOptions,
981
998
  }));
982
999
  }
983
1000
  lines.push(React.createElement("g", { key: "line_".concat(i), role: "region", "aria-label": "".concat(legendVal, ", line ").concat(i + 1, " of ").concat(this_1._points.length, " with ").concat(this_1._points[i].data.length, " data points.") },