@fluentui/react-charting 5.24.2 → 5.24.3

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 (129) hide show
  1. package/CHANGELOG.json +34 -1
  2. package/CHANGELOG.md +14 -2
  3. package/dist/react-charting.d.ts +170 -37
  4. package/dist/react-charting.js +1 -1
  5. package/dist/react-charting.min.js +1 -1
  6. package/etc/react-charting.api.md +58 -11
  7. package/lib/ScatterChart.d.ts +1 -0
  8. package/lib/ScatterChart.js +2 -0
  9. package/lib/ScatterChart.js.map +1 -0
  10. package/lib/components/CommonComponents/CartesianChart.base.js +45 -9
  11. package/lib/components/CommonComponents/CartesianChart.base.js.map +1 -1
  12. package/lib/components/CommonComponents/CartesianChart.styles.js +48 -26
  13. package/lib/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  14. package/lib/components/CommonComponents/CartesianChart.types.d.ts +21 -1
  15. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  16. package/lib/components/DeclarativeChart/DeclarativeChart.js +157 -78
  17. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  18. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +28 -13
  19. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +252 -62
  20. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  21. package/lib/components/ScatterChart/ScatterChart.base.d.ts +7 -0
  22. package/lib/components/ScatterChart/ScatterChart.base.js +453 -0
  23. package/lib/components/ScatterChart/ScatterChart.base.js.map +1 -0
  24. package/lib/components/ScatterChart/ScatterChart.d.ts +7 -0
  25. package/lib/components/ScatterChart/ScatterChart.js +10 -0
  26. package/lib/components/ScatterChart/ScatterChart.js.map +1 -0
  27. package/lib/components/ScatterChart/ScatterChart.styles.d.ts +2 -0
  28. package/lib/components/ScatterChart/ScatterChart.styles.js +7 -0
  29. package/lib/components/ScatterChart/ScatterChart.styles.js.map +1 -0
  30. package/lib/components/ScatterChart/ScatterChart.types.d.ts +42 -0
  31. package/lib/components/ScatterChart/ScatterChart.types.js +2 -0
  32. package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -0
  33. package/lib/components/ScatterChart/index.d.ts +2 -0
  34. package/lib/components/ScatterChart/index.js +3 -0
  35. package/lib/components/ScatterChart/index.js.map +1 -0
  36. package/lib/index.d.ts +3 -1
  37. package/lib/index.js +1 -0
  38. package/lib/index.js.map +1 -1
  39. package/lib/types/IDataPoint.d.ts +73 -11
  40. package/lib/types/IDataPoint.js.map +1 -1
  41. package/lib/utilities/SVGTooltipText.d.ts +4 -0
  42. package/lib/utilities/SVGTooltipText.js +1 -2
  43. package/lib/utilities/SVGTooltipText.js.map +1 -1
  44. package/lib/utilities/utilities.d.ts +27 -3
  45. package/lib/utilities/utilities.js +102 -1
  46. package/lib/utilities/utilities.js.map +1 -1
  47. package/lib-amd/ScatterChart.d.ts +1 -0
  48. package/lib-amd/ScatterChart.js +6 -0
  49. package/lib-amd/ScatterChart.js.map +1 -0
  50. package/lib-amd/components/CommonComponents/CartesianChart.base.js +45 -9
  51. package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -1
  52. package/lib-amd/components/CommonComponents/CartesianChart.styles.js +48 -26
  53. package/lib-amd/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  54. package/lib-amd/components/CommonComponents/CartesianChart.types.d.ts +21 -1
  55. package/lib-amd/components/CommonComponents/CartesianChart.types.js.map +1 -1
  56. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js +155 -78
  57. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  58. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +28 -13
  59. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js +264 -71
  60. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  61. package/lib-amd/components/ScatterChart/ScatterChart.base.d.ts +7 -0
  62. package/lib-amd/components/ScatterChart/ScatterChart.base.js +447 -0
  63. package/lib-amd/components/ScatterChart/ScatterChart.base.js.map +1 -0
  64. package/lib-amd/components/ScatterChart/ScatterChart.d.ts +7 -0
  65. package/lib-amd/components/ScatterChart/ScatterChart.js +12 -0
  66. package/lib-amd/components/ScatterChart/ScatterChart.js.map +1 -0
  67. package/lib-amd/components/ScatterChart/ScatterChart.styles.d.ts +2 -0
  68. package/lib-amd/components/ScatterChart/ScatterChart.styles.js +12 -0
  69. package/lib-amd/components/ScatterChart/ScatterChart.styles.js.map +1 -0
  70. package/lib-amd/components/ScatterChart/ScatterChart.types.d.ts +42 -0
  71. package/lib-amd/components/ScatterChart/ScatterChart.types.js +5 -0
  72. package/lib-amd/components/ScatterChart/ScatterChart.types.js.map +1 -0
  73. package/lib-amd/components/ScatterChart/index.d.ts +2 -0
  74. package/lib-amd/components/ScatterChart/index.js +7 -0
  75. package/lib-amd/components/ScatterChart/index.js.map +1 -0
  76. package/lib-amd/index.d.ts +3 -1
  77. package/lib-amd/index.js +3 -2
  78. package/lib-amd/index.js.map +1 -1
  79. package/lib-amd/types/IDataPoint.d.ts +73 -11
  80. package/lib-amd/types/IDataPoint.js.map +1 -1
  81. package/lib-amd/utilities/SVGTooltipText.d.ts +4 -0
  82. package/lib-amd/utilities/SVGTooltipText.js +1 -2
  83. package/lib-amd/utilities/SVGTooltipText.js.map +1 -1
  84. package/lib-amd/utilities/utilities.d.ts +27 -3
  85. package/lib-amd/utilities/utilities.js +106 -2
  86. package/lib-amd/utilities/utilities.js.map +1 -1
  87. package/lib-commonjs/ScatterChart.d.ts +1 -0
  88. package/lib-commonjs/ScatterChart.js +5 -0
  89. package/lib-commonjs/ScatterChart.js.map +1 -0
  90. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js +45 -9
  91. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
  92. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js +48 -26
  93. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  94. package/lib-commonjs/components/CommonComponents/CartesianChart.types.d.ts +21 -1
  95. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  96. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +157 -78
  97. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  98. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +28 -13
  99. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +263 -71
  100. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  101. package/lib-commonjs/components/ScatterChart/ScatterChart.base.d.ts +7 -0
  102. package/lib-commonjs/components/ScatterChart/ScatterChart.base.js +456 -0
  103. package/lib-commonjs/components/ScatterChart/ScatterChart.base.js.map +1 -0
  104. package/lib-commonjs/components/ScatterChart/ScatterChart.d.ts +7 -0
  105. package/lib-commonjs/components/ScatterChart/ScatterChart.js +13 -0
  106. package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -0
  107. package/lib-commonjs/components/ScatterChart/ScatterChart.styles.d.ts +2 -0
  108. package/lib-commonjs/components/ScatterChart/ScatterChart.styles.js +11 -0
  109. package/lib-commonjs/components/ScatterChart/ScatterChart.styles.js.map +1 -0
  110. package/lib-commonjs/components/ScatterChart/ScatterChart.types.d.ts +42 -0
  111. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js +3 -0
  112. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -0
  113. package/lib-commonjs/components/ScatterChart/index.d.ts +2 -0
  114. package/lib-commonjs/components/ScatterChart/index.js +6 -0
  115. package/lib-commonjs/components/ScatterChart/index.js.map +1 -0
  116. package/lib-commonjs/index.d.ts +3 -1
  117. package/lib-commonjs/index.js +3 -1
  118. package/lib-commonjs/index.js.map +1 -1
  119. package/lib-commonjs/types/IDataPoint.d.ts +73 -11
  120. package/lib-commonjs/types/IDataPoint.js.map +1 -1
  121. package/lib-commonjs/utilities/SVGTooltipText.d.ts +4 -0
  122. package/lib-commonjs/utilities/SVGTooltipText.js +1 -2
  123. package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -1
  124. package/lib-commonjs/utilities/utilities.d.ts +27 -3
  125. package/lib-commonjs/utilities/utilities.js +106 -2
  126. package/lib-commonjs/utilities/utilities.js.map +1 -1
  127. package/package.json +2 -2
  128. package/src/components/CommonComponents/CartesianChart.types.ts +25 -1
  129. package/src/components/ScatterChart/ScatterChart.types.ts +61 -0
@@ -2,7 +2,7 @@
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.copyStyle = exports.resolveCSSVariables = exports.areArraysEqual = exports.getSecureProps = exports.isScalePaddingDefined = exports.getScalePadding = exports.getBarWidth = exports.formatScientificLimitWidth = exports.wrapTextInsideDonut = exports.rotateXAxisLabels = exports.getAccessibleDataObject = exports.pointTypes = exports.CustomPoints = exports.Points = exports.getTypeOfAxis = exports.findHBCWANumericMinMaxOfY = exports.findVerticalNumericMinMaxOfY = exports.findVSBCNumericMinMaxOfY = exports.findNumericMinMaxOfY = exports.domainRageOfVerticalNumeric = exports.domainRangeOfDateForAreaLineVerticalBarChart = exports.domainRangeOfVSBCNumeric = exports.domainRangeOfXStringAxis = exports.domainRangeOfNumericForHorizontalBarChartWithAxis = exports.computeLongestBars = exports.groupChartDataByYValue = exports.domainRangeOfNumericForAreaChart = exports.getXAxisType = exports.tooltipOfAxislabels = exports.calculateLongestLabelWidth = exports.wrapContent = exports.createYAxisLabels = exports.createWrapOfXLabels = exports.silceOrAppendToArray = exports.getUnique = exports.calloutData = exports.createStringYAxis = exports.createStringYAxisForHorizontalBarChartWithAxis = exports.createNumericYAxis = exports.createYAxisForHorizontalBarChartWithAxis = exports.prepareDatapoints = exports.createStringXAxis = exports.createDateXAxis = exports.createNumericXAxis = exports.defaultYAxisTickFormatter = exports.YAxisType = exports.XAxisTypes = exports.ChartTypes = exports.MIN_DONUT_RADIUS = exports.MIN_DOMAIN_MARGIN = void 0;
5
- exports.truncateString = exports.getCurveFactory = exports.createMeasurementSpan = void 0;
5
+ exports.truncateString = exports.createYAxisForScatterChart = exports.domainRangeOfNumericForScatterChart = exports.domainRangeOfDateForScatterChart = exports.getCurveFactory = exports.createMeasurementSpan = void 0;
6
6
  var tslib_1 = require("tslib");
7
7
  var d3_axis_1 = require("d3-axis");
8
8
  var d3_array_1 = require("d3-array");
@@ -26,6 +26,7 @@ var ChartTypes;
26
26
  ChartTypes[ChartTypes["GroupedVerticalBarChart"] = 4] = "GroupedVerticalBarChart";
27
27
  ChartTypes[ChartTypes["HeatMapChart"] = 5] = "HeatMapChart";
28
28
  ChartTypes[ChartTypes["HorizontalBarChartWithAxis"] = 6] = "HorizontalBarChartWithAxis";
29
+ ChartTypes[ChartTypes["ScatterChart"] = 7] = "ScatterChart";
29
30
  })(ChartTypes || (exports.ChartTypes = ChartTypes = {}));
30
31
  var XAxisTypes;
31
32
  (function (XAxisTypes) {
@@ -483,6 +484,8 @@ exports.createStringYAxis = createStringYAxis;
483
484
  * This methos creates an object for those 2 charts.
484
485
  * @param values
485
486
  */
487
+ // changing the type to any as it is used by multiple charts with different data types
488
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
486
489
  function calloutData(values) {
487
490
  var combinedResult = [];
488
491
  values.forEach(function (line) {
@@ -494,6 +497,7 @@ function calloutData(values) {
494
497
  combinedResult = combinedResult.concat(elements);
495
498
  });
496
499
  var xValToDataPoints = {};
500
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
497
501
  combinedResult.forEach(function (ele) {
498
502
  var xValue = ele.x instanceof Date ? ele.x.getTime() : ele.x;
499
503
  if (xValue in xValToDataPoints) {
@@ -522,7 +526,8 @@ function calloutData(values) {
522
526
  }
523
527
  });
524
528
  var result = Object.keys(xValToDataPoints).map(function (xValue) {
525
- return { x: Number(xValue), values: xValToDataPoints[xValue] };
529
+ var originalXValue = isNaN(Number(xValue)) ? xValue : Number(xValue);
530
+ return { x: originalXValue, values: xValToDataPoints[xValue] };
526
531
  });
527
532
  return result;
528
533
  }
@@ -1387,6 +1392,105 @@ function getCurveFactory(curve, defaultFactory) {
1387
1392
  }
1388
1393
  }
1389
1394
  exports.getCurveFactory = getCurveFactory;
1395
+ /**
1396
+ * Calculates Domain and range values for Date X axis for scatter chart.
1397
+ * @export
1398
+ * @param {LineChartPoints[]} points
1399
+ * @param {IMargins} margins
1400
+ * @param {number} width
1401
+ * @param {boolean} isRTL
1402
+ * @param {Date[] | number[]} tickValues
1403
+ * @returns {IDomainNRange}
1404
+ */
1405
+ function domainRangeOfDateForScatterChart(points, margins, width, isRTL, tickValues) {
1406
+ if (tickValues === void 0) { tickValues = []; }
1407
+ var sDate;
1408
+ var lDate;
1409
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1410
+ sDate = (0, d3_array_1.min)(points, function (point) {
1411
+ return (0, d3_array_1.min)(point.data, function (item) {
1412
+ return item.x;
1413
+ });
1414
+ });
1415
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1416
+ lDate = (0, d3_array_1.max)(points, function (point) {
1417
+ return (0, d3_array_1.max)(point.data, function (item) {
1418
+ return item.x;
1419
+ });
1420
+ });
1421
+ var xPadding = (lDate.getTime() - sDate.getTime()) * 0.1;
1422
+ sDate = new Date(sDate.getTime() - xPadding);
1423
+ lDate = new Date(lDate.getTime() + xPadding);
1424
+ // Need to draw graph with given small and large date
1425
+ // (Which Involves customization of date axis tick values)
1426
+ // That may be Either from given graph data or from prop 'tickValues' date values.
1427
+ // So, Finding smallest and largest dates
1428
+ sDate = (0, d3_array_1.min)(tslib_1.__spreadArray(tslib_1.__spreadArray([], tickValues, true), [sDate], false));
1429
+ lDate = (0, d3_array_1.max)(tslib_1.__spreadArray(tslib_1.__spreadArray([], tickValues, true), [lDate], false));
1430
+ var rStartValue = margins.left;
1431
+ var rEndValue = width - margins.right;
1432
+ return isRTL
1433
+ ? { dStartValue: lDate, dEndValue: sDate, rStartValue: rStartValue, rEndValue: rEndValue }
1434
+ : { dStartValue: sDate, dEndValue: lDate, rStartValue: rStartValue, rEndValue: rEndValue };
1435
+ }
1436
+ exports.domainRangeOfDateForScatterChart = domainRangeOfDateForScatterChart;
1437
+ /**
1438
+ * Calculates Domain and range values for Numeric X axis for scatter chart.
1439
+ * @export
1440
+ * @param {LineChartPoints[]} points
1441
+ * @param {IMargins} margins
1442
+ * @param {number} width
1443
+ * @param {boolean} isRTL
1444
+ * @returns {IDomainNRange}
1445
+ */
1446
+ function domainRangeOfNumericForScatterChart(points, margins, width, isRTL) {
1447
+ var xMin = (0, d3_array_1.min)(points, function (point) {
1448
+ return (0, d3_array_1.min)(point.data, function (item) { return item.x; });
1449
+ });
1450
+ var xMax = (0, d3_array_1.max)(points, function (point) {
1451
+ return (0, d3_array_1.max)(point.data, function (item) {
1452
+ return item.x;
1453
+ });
1454
+ });
1455
+ var xPadding = (xMax - xMin) * 0.1;
1456
+ xMin = xMin - xPadding;
1457
+ xMax = xMax + xPadding;
1458
+ var rStartValue = margins.left;
1459
+ var rEndValue = width - margins.right;
1460
+ return isRTL
1461
+ ? { dStartValue: xMax, dEndValue: xMin, rStartValue: rStartValue, rEndValue: rEndValue }
1462
+ : { dStartValue: xMin, dEndValue: xMax, rStartValue: rStartValue, rEndValue: rEndValue };
1463
+ }
1464
+ exports.domainRangeOfNumericForScatterChart = domainRangeOfNumericForScatterChart;
1465
+ function createYAxisForScatterChart(yAxisParams, isRtl, axisData, isIntegralDataset, useSecondaryYScale, _supportNegativeData, roundedTicks) {
1466
+ if (useSecondaryYScale === void 0) { useSecondaryYScale = false; }
1467
+ if (_supportNegativeData === void 0) { _supportNegativeData = false; }
1468
+ if (roundedTicks === void 0) { roundedTicks = false; }
1469
+ var _a = yAxisParams.yMinMaxValues, yMinMaxValues = _a === void 0 ? { startValue: 0, endValue: 0 } : _a, _b = yAxisParams.yAxisElement, yAxisElement = _b === void 0 ? null : _b, _c = yAxisParams.yMaxValue, yMaxValue = _c === void 0 ? 0 : _c, _d = yAxisParams.yMinValue, yMinValue = _d === void 0 ? 0 : _d, containerHeight = yAxisParams.containerHeight, containerWidth = yAxisParams.containerWidth, margins = yAxisParams.margins, _e = yAxisParams.tickPadding, tickPadding = _e === void 0 ? 12 : _e, _f = yAxisParams.maxOfYVal, maxOfYVal = _f === void 0 ? 0 : _f, yAxisTickFormat = yAxisParams.yAxisTickFormat, _g = yAxisParams.yAxisTickCount, yAxisTickCount = _g === void 0 ? 4 : _g, eventAnnotationProps = yAxisParams.eventAnnotationProps, eventLabelHeight = yAxisParams.eventLabelHeight;
1470
+ // maxOfYVal coming from only area chart and Grouped vertical bar chart(Calculation done at base file)
1471
+ var tempVal = maxOfYVal || yMinMaxValues.endValue;
1472
+ var finalYmax = tempVal > yMaxValue ? tempVal : yMaxValue;
1473
+ var finalYmin = Math.min(yMinMaxValues.startValue, yMinValue || 0);
1474
+ var domainValues = prepareDatapoints(finalYmax, finalYmin, yAxisTickCount, isIntegralDataset, roundedTicks);
1475
+ var yMin = finalYmin;
1476
+ var yMax = domainValues[domainValues.length - 1];
1477
+ var yPadding = (yMax - yMin) * 0.1;
1478
+ yMin = yMin - yPadding;
1479
+ yMax = yMax + yPadding;
1480
+ var yAxisScale = (0, d3_scale_1.scaleLinear)()
1481
+ .domain([domainValues[0], yMax])
1482
+ .range([containerHeight - margins.bottom, margins.top + (eventAnnotationProps ? eventLabelHeight : 0)]);
1483
+ var axis = (!isRtl && useSecondaryYScale) || (isRtl && !useSecondaryYScale) ? (0, d3_axis_1.axisRight)(yAxisScale) : (0, d3_axis_1.axisLeft)(yAxisScale);
1484
+ var yAxis = axis
1485
+ .tickPadding(tickPadding)
1486
+ .tickValues(domainValues)
1487
+ .tickSizeInner(-(containerWidth - margins.left - margins.right));
1488
+ yAxisTickFormat ? yAxis.tickFormat(yAxisTickFormat) : yAxis.tickFormat((0, d3_format_1.format)('.2~s'));
1489
+ yAxisElement ? (0, d3_selection_1.select)(yAxisElement).call(yAxis).selectAll('text').attr('aria-hidden', 'true') : '';
1490
+ axisData.yAxisDomainValues = domainValues;
1491
+ return yAxisScale;
1492
+ }
1493
+ exports.createYAxisForScatterChart = createYAxisForScatterChart;
1390
1494
  var truncateString = function (str, maxLength, ellipsis) {
1391
1495
  if (ellipsis === void 0) { ellipsis = '...'; }
1392
1496
  if (str.length <= maxLength) {