@fluentui/react-charting 5.24.3 → 5.24.5

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 (170) hide show
  1. package/CHANGELOG.json +85 -1
  2. package/CHANGELOG.md +29 -2
  3. package/config/tests.js +0 -12
  4. package/dist/react-charting.d.ts +38 -1
  5. package/dist/react-charting.js +1 -1
  6. package/dist/react-charting.min.js +1 -1
  7. package/etc/react-charting.api.md +8 -1
  8. package/lib/components/AreaChart/AreaChart.base.d.ts +1 -0
  9. package/lib/components/AreaChart/AreaChart.base.js +4 -1
  10. package/lib/components/AreaChart/AreaChart.base.js.map +1 -1
  11. package/lib/components/CommonComponents/CartesianChart.base.js +14 -13
  12. package/lib/components/CommonComponents/CartesianChart.base.js.map +1 -1
  13. package/lib/components/CommonComponents/CartesianChart.styles.js +41 -37
  14. package/lib/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  15. package/lib/components/CommonComponents/CartesianChart.types.d.ts +12 -2
  16. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  17. package/lib/components/DeclarativeChart/DeclarativeChart.js +38 -16
  18. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  19. package/lib/components/DeclarativeChart/PlotlyColorAdapter.d.ts +2 -1
  20. package/lib/components/DeclarativeChart/PlotlyColorAdapter.js +9 -1
  21. package/lib/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
  22. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +13 -3
  23. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +276 -199
  24. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  25. package/lib/components/DonutChart/DonutChart.base.js +1 -0
  26. package/lib/components/DonutChart/DonutChart.base.js.map +1 -1
  27. package/lib/components/DonutChart/DonutChart.styles.js +18 -0
  28. package/lib/components/DonutChart/DonutChart.styles.js.map +1 -1
  29. package/lib/components/DonutChart/DonutChart.types.d.ts +4 -0
  30. package/lib/components/DonutChart/DonutChart.types.js.map +1 -1
  31. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +2 -0
  32. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +25 -4
  33. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  34. package/lib/components/HeatMapChart/HeatMapChart.base.d.ts +7 -0
  35. package/lib/components/HeatMapChart/HeatMapChart.base.js +95 -37
  36. package/lib/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  37. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.d.ts +3 -0
  38. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +24 -3
  39. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
  40. package/lib/components/ScatterChart/ScatterChart.base.js +84 -55
  41. package/lib/components/ScatterChart/ScatterChart.base.js.map +1 -1
  42. package/lib/components/ScatterChart/ScatterChart.styles.js +12 -0
  43. package/lib/components/ScatterChart/ScatterChart.styles.js.map +1 -1
  44. package/lib/components/ScatterChart/ScatterChart.types.d.ts +5 -0
  45. package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -1
  46. package/lib/components/VerticalBarChart/VerticalBarChart.base.d.ts +2 -0
  47. package/lib/components/VerticalBarChart/VerticalBarChart.base.js +30 -7
  48. package/lib/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  49. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +3 -0
  50. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +51 -32
  51. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  52. package/lib/index.d.ts +1 -1
  53. package/lib/index.js.map +1 -1
  54. package/lib/types/IDataPoint.d.ts +18 -0
  55. package/lib/types/IDataPoint.js.map +1 -1
  56. package/lib/utilities/SVGTooltipText.js +3 -3
  57. package/lib/utilities/SVGTooltipText.js.map +1 -1
  58. package/lib/utilities/utilities.d.ts +6 -3
  59. package/lib/utilities/utilities.js +58 -29
  60. package/lib/utilities/utilities.js.map +1 -1
  61. package/lib-amd/components/AreaChart/AreaChart.base.d.ts +1 -0
  62. package/lib-amd/components/AreaChart/AreaChart.base.js +4 -1
  63. package/lib-amd/components/AreaChart/AreaChart.base.js.map +1 -1
  64. package/lib-amd/components/CommonComponents/CartesianChart.base.js +14 -13
  65. package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -1
  66. package/lib-amd/components/CommonComponents/CartesianChart.styles.js +41 -37
  67. package/lib-amd/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  68. package/lib-amd/components/CommonComponents/CartesianChart.types.d.ts +12 -2
  69. package/lib-amd/components/CommonComponents/CartesianChart.types.js.map +1 -1
  70. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js +37 -15
  71. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  72. package/lib-amd/components/DeclarativeChart/PlotlyColorAdapter.d.ts +2 -1
  73. package/lib-amd/components/DeclarativeChart/PlotlyColorAdapter.js +11 -2
  74. package/lib-amd/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
  75. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +13 -3
  76. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js +276 -199
  77. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  78. package/lib-amd/components/DonutChart/DonutChart.base.js +1 -0
  79. package/lib-amd/components/DonutChart/DonutChart.base.js.map +1 -1
  80. package/lib-amd/components/DonutChart/DonutChart.styles.js +17 -1
  81. package/lib-amd/components/DonutChart/DonutChart.styles.js.map +1 -1
  82. package/lib-amd/components/DonutChart/DonutChart.types.d.ts +4 -0
  83. package/lib-amd/components/DonutChart/DonutChart.types.js.map +1 -1
  84. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +2 -0
  85. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +24 -3
  86. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  87. package/lib-amd/components/HeatMapChart/HeatMapChart.base.d.ts +7 -0
  88. package/lib-amd/components/HeatMapChart/HeatMapChart.base.js +94 -36
  89. package/lib-amd/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  90. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.d.ts +3 -0
  91. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +23 -2
  92. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
  93. package/lib-amd/components/ScatterChart/ScatterChart.base.js +83 -54
  94. package/lib-amd/components/ScatterChart/ScatterChart.base.js.map +1 -1
  95. package/lib-amd/components/ScatterChart/ScatterChart.styles.js +12 -1
  96. package/lib-amd/components/ScatterChart/ScatterChart.styles.js.map +1 -1
  97. package/lib-amd/components/ScatterChart/ScatterChart.types.d.ts +5 -0
  98. package/lib-amd/components/ScatterChart/ScatterChart.types.js.map +1 -1
  99. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.d.ts +2 -0
  100. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js +29 -6
  101. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  102. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +3 -0
  103. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +50 -31
  104. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  105. package/lib-amd/index.d.ts +1 -1
  106. package/lib-amd/index.js.map +1 -1
  107. package/lib-amd/types/IDataPoint.d.ts +18 -0
  108. package/lib-amd/types/IDataPoint.js.map +1 -1
  109. package/lib-amd/utilities/SVGTooltipText.js +3 -3
  110. package/lib-amd/utilities/SVGTooltipText.js.map +1 -1
  111. package/lib-amd/utilities/utilities.d.ts +6 -3
  112. package/lib-amd/utilities/utilities.js +59 -30
  113. package/lib-amd/utilities/utilities.js.map +1 -1
  114. package/lib-commonjs/components/AreaChart/AreaChart.base.d.ts +1 -0
  115. package/lib-commonjs/components/AreaChart/AreaChart.base.js +4 -1
  116. package/lib-commonjs/components/AreaChart/AreaChart.base.js.map +1 -1
  117. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js +14 -13
  118. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
  119. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js +41 -37
  120. package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js.map +1 -1
  121. package/lib-commonjs/components/CommonComponents/CartesianChart.types.d.ts +12 -2
  122. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  123. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +37 -15
  124. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  125. package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.d.ts +2 -1
  126. package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js +11 -2
  127. package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
  128. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +13 -3
  129. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +276 -198
  130. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  131. package/lib-commonjs/components/DonutChart/DonutChart.base.js +1 -0
  132. package/lib-commonjs/components/DonutChart/DonutChart.base.js.map +1 -1
  133. package/lib-commonjs/components/DonutChart/DonutChart.styles.js +18 -0
  134. package/lib-commonjs/components/DonutChart/DonutChart.styles.js.map +1 -1
  135. package/lib-commonjs/components/DonutChart/DonutChart.types.d.ts +4 -0
  136. package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -1
  137. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +2 -0
  138. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +24 -3
  139. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  140. package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.d.ts +7 -0
  141. package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.js +94 -36
  142. package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  143. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.d.ts +3 -0
  144. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +23 -2
  145. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
  146. package/lib-commonjs/components/ScatterChart/ScatterChart.base.js +83 -54
  147. package/lib-commonjs/components/ScatterChart/ScatterChart.base.js.map +1 -1
  148. package/lib-commonjs/components/ScatterChart/ScatterChart.styles.js +12 -0
  149. package/lib-commonjs/components/ScatterChart/ScatterChart.styles.js.map +1 -1
  150. package/lib-commonjs/components/ScatterChart/ScatterChart.types.d.ts +5 -0
  151. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -1
  152. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.d.ts +2 -0
  153. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js +29 -6
  154. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  155. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +3 -0
  156. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +50 -31
  157. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  158. package/lib-commonjs/index.d.ts +1 -1
  159. package/lib-commonjs/index.js.map +1 -1
  160. package/lib-commonjs/types/IDataPoint.d.ts +18 -0
  161. package/lib-commonjs/types/IDataPoint.js.map +1 -1
  162. package/lib-commonjs/utilities/SVGTooltipText.js +3 -3
  163. package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -1
  164. package/lib-commonjs/utilities/utilities.d.ts +6 -3
  165. package/lib-commonjs/utilities/utilities.js +59 -30
  166. package/lib-commonjs/utilities/utilities.js.map +1 -1
  167. package/package.json +2 -2
  168. package/src/components/CommonComponents/CartesianChart.types.ts +20 -1
  169. package/src/components/DonutChart/DonutChart.types.ts +5 -0
  170. package/src/components/ScatterChart/ScatterChart.types.ts +7 -1
@@ -9,7 +9,7 @@ import { Legends } from '../Legends/index';
9
9
  import { CartesianChart, ChartHoverCard, } from '../../index';
10
10
  import { FocusZoneDirection } from '@fluentui/react-focus';
11
11
  import { formatDateToLocaleString } from '@fluentui/chart-utilities';
12
- import { ChartTypes, getAccessibleDataObject, XAxisTypes, getTypeOfAxis, tooltipOfAxislabels, formatScientificLimitWidth, getBarWidth, getScalePadding, isScalePaddingDefined, calculateAppropriateBarWidth, findVSBCNumericMinMaxOfY, createNumericYAxis, domainRangeOfDateForAreaLineVerticalBarChart, domainRangeOfVSBCNumeric, domainRangeOfXStringAxis, createStringYAxis, getNextGradient, areArraysEqual, calculateLongestLabelWidth, YAxisType, } from '../../utilities/index';
12
+ import { ChartTypes, getAccessibleDataObject, XAxisTypes, getTypeOfAxis, tooltipOfAxislabels, formatScientificLimitWidth, getBarWidth, getScalePadding, isScalePaddingDefined, calculateAppropriateBarWidth, findVSBCNumericMinMaxOfY, createNumericYAxis, domainRangeOfDateForAreaLineVerticalBarChart, domainRangeOfVSBCNumeric, domainRangeOfXStringAxis, createStringYAxis, getNextGradient, areArraysEqual, calculateLongestLabelWidth, YAxisType, sortAxisCategories, } from '../../utilities/index';
13
13
  import { toImage } from '../../utilities/image-export-utils';
14
14
  var getClassNames = classNamesFunction();
15
15
  var COMPONENT_NAME = 'VERTICAL STACKED BAR CHART';
@@ -388,7 +388,9 @@ var VerticalStackedBarChartBase = /** @class */ (function (_super) {
388
388
  React.createElement("g", __assign({ id: "".concat(indexNumber, "-singleBar"), ref: function (e) { return (groupRef.refElement = e); } }, stackFocusProps), singleBar),
389
389
  !_this.props.hideLabels && _this._barWidth >= 16 && showLabel && (React.createElement("text", { x: xPoint + _this._barWidth / 2,
390
390
  //if total bar value >=0, show label above top bar, otherwise below bottom bar
391
- y: barLabel >= _this.Y_ORIGIN ? yPoint - 6 : yPoint + heightOfLastBar + 12, textAnchor: "middle", className: _this._classNames.barLabel, "aria-label": "Total: ".concat(barLabel), role: "img", transform: "translate(".concat(xScaleBandwidthTranslate, ", 0)") }, formatScientificLimitWidth(barLabel)))));
391
+ y: barLabel >= _this.Y_ORIGIN ? yPoint - 6 : yPoint + heightOfLastBar + 12, textAnchor: "middle", className: _this._classNames.barLabel, "aria-label": "Total: ".concat(barLabel), role: "img", transform: "translate(".concat(xScaleBandwidthTranslate, ", 0)") }, typeof _this.props.yAxisTickFormat === 'function'
392
+ ? _this.props.yAxisTickFormat(barLabel)
393
+ : formatScientificLimitWidth(barLabel)))));
392
394
  });
393
395
  // Removing un wanted tooltip div from DOM, when prop not provided.
394
396
  if (!_this.props.showXAxisLablesTooltip) {
@@ -603,33 +605,7 @@ var VerticalStackedBarChartBase = /** @class */ (function (_super) {
603
605
  }
604
606
  });
605
607
  }
606
- if (_this._yAxisType === YAxisType.StringAxis) {
607
- var legendToYValues_1 = {};
608
- _this._points.forEach(function (xPoint) {
609
- xPoint.chartData.forEach(function (bar) {
610
- if (!legendToYValues_1[bar.legend]) {
611
- legendToYValues_1[bar.legend] = ["".concat(bar.data)];
612
- }
613
- else {
614
- legendToYValues_1[bar.legend].push("".concat(bar.data));
615
- }
616
- });
617
- });
618
- var yAxisLabels_1 = new Set();
619
- Object.values(legendToYValues_1).forEach(function (yValues) {
620
- yValues.forEach(function (yVal) {
621
- yAxisLabels_1.add(yVal);
622
- });
623
- });
624
- Object.values(_this._lineObject).forEach(function (linePoints) {
625
- linePoints.forEach(function (linePoint) {
626
- if (!linePoint.useSecondaryYScale) {
627
- yAxisLabels_1.add("".concat(linePoint.y));
628
- }
629
- });
630
- });
631
- _this._yAxisLabels = Array.from(yAxisLabels_1);
632
- }
608
+ _this._yAxisLabels = _this._getOrderedYAxisLabels();
633
609
  };
634
610
  _this._getYDomainMargins = function (containerHeight) {
635
611
  /**
@@ -656,6 +632,49 @@ var VerticalStackedBarChartBase = /** @class */ (function (_super) {
656
632
  }
657
633
  return __assign(__assign({}, _this.margins), { top: _this.margins.top + yAxisTickMarginTop });
658
634
  };
635
+ _this._getOrderedXAxisLabels = function () {
636
+ if (_this._xAxisType !== XAxisTypes.StringAxis) {
637
+ return [];
638
+ }
639
+ return sortAxisCategories(_this._mapCategoryToValues(), _this.props.xAxisCategoryOrder);
640
+ };
641
+ _this._getOrderedYAxisLabels = function () {
642
+ if (_this._yAxisType !== YAxisType.StringAxis) {
643
+ return [];
644
+ }
645
+ return sortAxisCategories(_this._mapCategoryToValues(true), _this.props.yAxisCategoryOrder);
646
+ };
647
+ _this._mapCategoryToValues = function (isYAxis) {
648
+ if (isYAxis === void 0) { isYAxis = false; }
649
+ var categoryToValues = {};
650
+ _this._points.forEach(function (point) {
651
+ var _a;
652
+ point.chartData.forEach(function (bar) {
653
+ var category = (isYAxis ? bar.data : point.xAxisPoint);
654
+ var value = isYAxis ? point.xAxisPoint : bar.data;
655
+ if (!categoryToValues[category]) {
656
+ categoryToValues[category] = [];
657
+ }
658
+ if (typeof value === 'number') {
659
+ categoryToValues[category].push(value);
660
+ }
661
+ });
662
+ (_a = point.lineData) === null || _a === void 0 ? void 0 : _a.forEach(function (linePoint) {
663
+ if (isYAxis && linePoint.useSecondaryYScale) {
664
+ return;
665
+ }
666
+ var category = (isYAxis ? linePoint.y : point.xAxisPoint);
667
+ var value = isYAxis ? point.xAxisPoint : linePoint.y;
668
+ if (!categoryToValues[category]) {
669
+ categoryToValues[category] = [];
670
+ }
671
+ if (typeof value === 'number') {
672
+ categoryToValues[category].push(value);
673
+ }
674
+ });
675
+ });
676
+ return categoryToValues;
677
+ };
659
678
  initializeComponentRef(_this);
660
679
  _this.state = {
661
680
  isCalloutVisible: false,
@@ -758,9 +777,7 @@ var VerticalStackedBarChartBase = /** @class */ (function (_super) {
758
777
  };
759
778
  VerticalStackedBarChartBase.prototype._createDataSetLayer = function () {
760
779
  var _this = this;
761
- var tempArr = [];
762
780
  var dataset = this._points.map(function (singlePointData) {
763
- tempArr.push(singlePointData.xAxisPoint);
764
781
  if (_this._yAxisType === YAxisType.StringAxis) {
765
782
  return {
766
783
  x: singlePointData.xAxisPoint,
@@ -776,7 +793,7 @@ var VerticalStackedBarChartBase = /** @class */ (function (_super) {
776
793
  y: total,
777
794
  };
778
795
  });
779
- this._xAxisLabels = tempArr;
796
+ this._xAxisLabels = this._getOrderedXAxisLabels();
780
797
  return dataset;
781
798
  };
782
799
  VerticalStackedBarChartBase.prototype._renderCallout = function (props) {
@@ -988,6 +1005,8 @@ var VerticalStackedBarChartBase = /** @class */ (function (_super) {
988
1005
  VerticalStackedBarChartBase.defaultProps = {
989
1006
  maxBarWidth: 24,
990
1007
  useUTC: true,
1008
+ xAxisCategoryOrder: 'default',
1009
+ yAxisCategoryOrder: 'default',
991
1010
  };
992
1011
  return VerticalStackedBarChartBase;
993
1012
  }(React.Component));