@fluentui/react-charting 5.16.30 → 5.16.31

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 (106) hide show
  1. package/CHANGELOG.json +16 -1
  2. package/CHANGELOG.md +11 -2
  3. package/dist/react-charting.js +1 -1
  4. package/dist/react-charting.min.js +1 -1
  5. package/lib/HorizontalBarChartWithAxis.d.ts +1 -0
  6. package/lib/HorizontalBarChartWithAxis.js +2 -0
  7. package/lib/HorizontalBarChartWithAxis.js.map +1 -0
  8. package/lib/components/CommonComponents/CartesianChart.base.d.ts +2 -0
  9. package/lib/components/CommonComponents/CartesianChart.base.js +72 -12
  10. package/lib/components/CommonComponents/CartesianChart.base.js.map +1 -1
  11. package/lib/components/CommonComponents/CartesianChart.types.d.ts +13 -0
  12. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  13. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.d.ts +57 -0
  14. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +487 -0
  15. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -0
  16. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.d.ts +3 -0
  17. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +6 -0
  18. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -0
  19. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.d.ts +2 -0
  20. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +12 -0
  21. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -0
  22. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.d.ts +100 -0
  23. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +2 -0
  24. package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -0
  25. package/lib/components/HorizontalBarChartWithAxis/index.d.ts +2 -0
  26. package/lib/components/HorizontalBarChartWithAxis/index.js +3 -0
  27. package/lib/components/HorizontalBarChartWithAxis/index.js.map +1 -0
  28. package/lib/index.d.ts +1 -0
  29. package/lib/index.js +1 -0
  30. package/lib/index.js.map +1 -1
  31. package/lib/types/IDataPoint.d.ts +38 -0
  32. package/lib/types/IDataPoint.js.map +1 -1
  33. package/lib/utilities/utilities.d.ts +53 -8
  34. package/lib/utilities/utilities.js +170 -7
  35. package/lib/utilities/utilities.js.map +1 -1
  36. package/lib/version.js +1 -1
  37. package/lib/version.js.map +1 -1
  38. package/lib-amd/HorizontalBarChartWithAxis.d.ts +1 -0
  39. package/lib-amd/HorizontalBarChartWithAxis.js +6 -0
  40. package/lib-amd/HorizontalBarChartWithAxis.js.map +1 -0
  41. package/lib-amd/components/CommonComponents/CartesianChart.base.d.ts +2 -0
  42. package/lib-amd/components/CommonComponents/CartesianChart.base.js +71 -11
  43. package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -1
  44. package/lib-amd/components/CommonComponents/CartesianChart.types.d.ts +13 -0
  45. package/lib-amd/components/CommonComponents/CartesianChart.types.js.map +1 -1
  46. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.d.ts +57 -0
  47. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +482 -0
  48. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -0
  49. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.d.ts +3 -0
  50. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +8 -0
  51. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -0
  52. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.d.ts +2 -0
  53. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +17 -0
  54. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -0
  55. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.d.ts +100 -0
  56. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +5 -0
  57. package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -0
  58. package/lib-amd/components/HorizontalBarChartWithAxis/index.d.ts +2 -0
  59. package/lib-amd/components/HorizontalBarChartWithAxis/index.js +7 -0
  60. package/lib-amd/components/HorizontalBarChartWithAxis/index.js.map +1 -0
  61. package/lib-amd/index.d.ts +1 -0
  62. package/lib-amd/index.js +2 -1
  63. package/lib-amd/index.js.map +1 -1
  64. package/lib-amd/types/IDataPoint.d.ts +38 -0
  65. package/lib-amd/types/IDataPoint.js.map +1 -1
  66. package/lib-amd/utilities/utilities.d.ts +53 -8
  67. package/lib-amd/utilities/utilities.js +181 -10
  68. package/lib-amd/utilities/utilities.js.map +1 -1
  69. package/lib-amd/version.js +1 -1
  70. package/lib-amd/version.js.map +1 -1
  71. package/lib-commonjs/HorizontalBarChartWithAxis.d.ts +1 -0
  72. package/lib-commonjs/HorizontalBarChartWithAxis.js +5 -0
  73. package/lib-commonjs/HorizontalBarChartWithAxis.js.map +1 -0
  74. package/lib-commonjs/components/CommonComponents/CartesianChart.base.d.ts +2 -0
  75. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js +71 -11
  76. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
  77. package/lib-commonjs/components/CommonComponents/CartesianChart.types.d.ts +13 -0
  78. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  79. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.d.ts +57 -0
  80. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +490 -0
  81. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -0
  82. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.d.ts +3 -0
  83. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +9 -0
  84. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -0
  85. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.d.ts +2 -0
  86. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +16 -0
  87. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -0
  88. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.d.ts +100 -0
  89. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +3 -0
  90. package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -0
  91. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.d.ts +2 -0
  92. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js +6 -0
  93. package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js.map +1 -0
  94. package/lib-commonjs/index.d.ts +1 -0
  95. package/lib-commonjs/index.js +1 -0
  96. package/lib-commonjs/index.js.map +1 -1
  97. package/lib-commonjs/types/IDataPoint.d.ts +38 -0
  98. package/lib-commonjs/types/IDataPoint.js.map +1 -1
  99. package/lib-commonjs/utilities/utilities.d.ts +53 -8
  100. package/lib-commonjs/utilities/utilities.js +181 -10
  101. package/lib-commonjs/utilities/utilities.js.map +1 -1
  102. package/lib-commonjs/version.js +1 -1
  103. package/lib-commonjs/version.js.map +1 -1
  104. package/package.json +3 -2
  105. package/src/components/CommonComponents/CartesianChart.types.ts +16 -0
  106. package/src/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.ts +125 -0
@@ -2,7 +2,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
2
2
  "use strict";
3
3
  var _a;
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.wrapTextInsideDonut = exports.rotateXAxisLabels = exports.convertToLocaleString = exports.getAccessibleDataObject = exports.pointTypes = exports.CustomPoints = exports.Points = exports.getTypeOfAxis = exports.getMinMaxOfYAxis = exports.findVerticalNumericMinMaxOfY = exports.findVSBCNumericMinMaxOfY = exports.findNumericMinMaxOfY = exports.getDomainNRangeValues = exports.domainRageOfVerticalNumeric = exports.domainRangeOfVSBCNumeric = exports.domainRangeOfXStringAxis = exports.domainRangeOfNumericForAreaChart = exports.domainRangeOfDateForAreaChart = exports.getXAxisType = exports.tooltipOfXAxislabels = exports.createWrapOfXLabels = exports.silceOrAppendToArray = exports.getUnique = exports.calloutData = exports.createStringYAxis = exports.createYAxis = exports.prepareDatapoints = exports.createStringXAxis = exports.createDateXAxis = exports.createNumericXAxis = exports.YAxisType = exports.XAxisTypes = exports.ChartTypes = void 0;
5
+ exports.wrapTextInsideDonut = exports.rotateXAxisLabels = exports.convertToLocaleString = exports.getAccessibleDataObject = exports.pointTypes = exports.CustomPoints = exports.Points = exports.getTypeOfAxis = exports.getMinMaxOfYAxis = exports.findHBCWANumericMinMaxOfY = exports.findVerticalNumericMinMaxOfY = exports.findVSBCNumericMinMaxOfY = exports.findNumericMinMaxOfY = exports.getDomainNRangeValues = exports.domainRageOfVerticalNumeric = exports.domainRangeOfVSBCNumeric = exports.domainRangeOfXStringAxis = exports.domainRangeOfNumericForHorizontalBarChartWithAxis = exports.domainRangeOfNumericForAreaChart = exports.domainRangeOfDateForAreaChart = exports.getXAxisType = exports.tooltipOfXAxislabels = exports.calculateLongestYAxisLabel = exports.createYAxisLabels = exports.createWrapOfXLabels = exports.silceOrAppendToArray = exports.getUnique = exports.calloutData = exports.createStringYAxisForOtherCharts = exports.createStringYAxisForHorizontalBarChartWithAxis = exports.createStringYAxis = exports.createYAxisForOtherCharts = exports.createYAxisForHorizontalBarChartWithAxis = exports.createYAxis = exports.prepareDatapoints = exports.createStringXAxis = exports.createDateXAxis = exports.createNumericXAxis = exports.YAxisType = exports.XAxisTypes = exports.ChartTypes = void 0;
6
6
  var ChartTypes;
7
7
  (function (ChartTypes) {
8
8
  ChartTypes[ChartTypes["AreaChart"] = 0] = "AreaChart";
@@ -11,6 +11,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
11
11
  ChartTypes[ChartTypes["VerticalStackedBarChart"] = 3] = "VerticalStackedBarChart";
12
12
  ChartTypes[ChartTypes["GroupedVerticalBarChart"] = 4] = "GroupedVerticalBarChart";
13
13
  ChartTypes[ChartTypes["HeatMapChart"] = 5] = "HeatMapChart";
14
+ ChartTypes[ChartTypes["HorizontalBarChartWithAxis"] = 6] = "HorizontalBarChartWithAxis";
14
15
  })(ChartTypes = exports.ChartTypes || (exports.ChartTypes = {}));
15
16
  var XAxisTypes;
16
17
  (function (XAxisTypes) {
@@ -29,7 +30,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
29
30
  * @export
30
31
  * @param {IXAxisParams} xAxisParams
31
32
  */
32
- function createNumericXAxis(xAxisParams, culture) {
33
+ function createNumericXAxis(xAxisParams, chartType, culture) {
33
34
  var domainNRangeValues = xAxisParams.domainNRangeValues, _a = xAxisParams.showRoundOffXTickValues, showRoundOffXTickValues = _a === void 0 ? false : _a, _b = xAxisParams.xAxistickSize, xAxistickSize = _b === void 0 ? 6 : _b, _c = xAxisParams.tickPadding, tickPadding = _c === void 0 ? 10 : _c, _d = xAxisParams.xAxisCount, xAxisCount = _d === void 0 ? 6 : _d, xAxisElement = xAxisParams.xAxisElement;
34
35
  var xAxisScale = d3_scale_1.scaleLinear()
35
36
  .domain([domainNRangeValues.dStartValue, domainNRangeValues.dEndValue])
@@ -39,11 +40,13 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
39
40
  .tickSize(xAxistickSize)
40
41
  .tickPadding(tickPadding)
41
42
  .ticks(xAxisCount)
42
- .tickSizeOuter(0)
43
43
  .tickFormat(function (domainValue, index) {
44
44
  var xAxisValue = typeof domainValue === 'number' ? domainValue : domainValue.valueOf();
45
45
  return exports.convertToLocaleString(xAxisValue, culture);
46
46
  });
47
+ if (chartType === ChartTypes.HorizontalBarChartWithAxis) {
48
+ xAxis.tickSizeInner(-(xAxisParams.containerHeight - xAxisParams.margins.top));
49
+ }
47
50
  if (xAxisElement) {
48
51
  d3_selection_1.select(xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');
49
52
  }
@@ -165,7 +168,32 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
165
168
  * @param {IYAxisParams} yAxisParams
166
169
  * @param {boolean} isRtl
167
170
  */
168
- function createYAxis(yAxisParams, isRtl, axisData) {
171
+ function createYAxis(yAxisParams, isRtl, axisData, chartType, barWidth) {
172
+ switch (chartType) {
173
+ case ChartTypes.HorizontalBarChartWithAxis:
174
+ return createYAxisForHorizontalBarChartWithAxis(yAxisParams, isRtl, axisData, barWidth);
175
+ default:
176
+ return createYAxisForOtherCharts(yAxisParams, isRtl, axisData);
177
+ }
178
+ }
179
+ exports.createYAxis = createYAxis;
180
+ function createYAxisForHorizontalBarChartWithAxis(yAxisParams, isRtl, axisData, barWidth) {
181
+ 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, 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;
182
+ // maxOfYVal coming from only area chart and Grouped vertical bar chart(Calculation done at base file)
183
+ var tempVal = maxOfYVal || yMinMaxValues.endValue;
184
+ var finalYmax = tempVal > yMaxValue ? tempVal : yMaxValue;
185
+ var finalYmin = yMinMaxValues.startValue < yMinValue ? 0 : yMinValue;
186
+ var yAxisScale = d3_scale_1.scaleLinear()
187
+ .domain([finalYmin, finalYmax])
188
+ .range([containerHeight - margins.bottom, margins.top]);
189
+ var axis = isRtl ? d3_axis_1.axisRight(yAxisScale) : d3_axis_1.axisLeft(yAxisScale);
190
+ var yAxis = axis.tickPadding(tickPadding).ticks(yAxisTickCount);
191
+ yAxisTickFormat ? yAxis.tickFormat(yAxisTickFormat) : yAxis.tickFormat(d3_format_1.format('.2~s'));
192
+ yAxisElement ? d3_selection_1.select(yAxisElement).call(yAxis).selectAll('text').attr('aria-hidden', 'true') : '';
193
+ return yAxisScale;
194
+ }
195
+ exports.createYAxisForHorizontalBarChartWithAxis = createYAxisForHorizontalBarChartWithAxis;
196
+ function createYAxisForOtherCharts(yAxisParams, isRtl, axisData) {
169
197
  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;
170
198
  // maxOfYVal coming from only area chart and Grouped vertical bar chart(Calculation done at base file)
171
199
  var tempVal = maxOfYVal || yMinMaxValues.endValue;
@@ -185,14 +213,43 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
185
213
  axisData.yAxisDomainValues = domainValues;
186
214
  return yAxisScale;
187
215
  }
188
- exports.createYAxis = createYAxis;
216
+ exports.createYAxisForOtherCharts = createYAxisForOtherCharts;
217
+ var createStringYAxis = function (yAxisParams, dataPoints, isRtl, chartType, barWidth, culture) {
218
+ switch (chartType) {
219
+ case ChartTypes.HorizontalBarChartWithAxis:
220
+ return exports.createStringYAxisForHorizontalBarChartWithAxis(yAxisParams, dataPoints, isRtl, barWidth, culture);
221
+ default:
222
+ return exports.createStringYAxisForOtherCharts(yAxisParams, dataPoints, isRtl);
223
+ }
224
+ };
225
+ exports.createStringYAxis = createStringYAxis;
226
+ /**
227
+ * Creating String Y axis of the chart for Horizontal Bar Chart With Axis
228
+ * @param yAxisParams
229
+ * @param dataPoints
230
+ * @param isRtl
231
+ */
232
+ var createStringYAxisForHorizontalBarChartWithAxis = function (yAxisParams, dataPoints, isRtl, barWidth, culture) {
233
+ var containerHeight = yAxisParams.containerHeight, _a = yAxisParams.tickPadding, tickPadding = _a === void 0 ? 12 : _a, margins = yAxisParams.margins, yAxisTickFormat = yAxisParams.yAxisTickFormat, yAxisElement = yAxisParams.yAxisElement;
234
+ var yAxisScale = d3_scale_1.scaleBand()
235
+ .domain(dataPoints)
236
+ .range([containerHeight - margins.bottom - barWidth / 2, margins.top + barWidth / 2]);
237
+ var axis = isRtl ? d3_axis_1.axisRight(yAxisScale) : d3_axis_1.axisLeft(yAxisScale);
238
+ var yAxis = axis.tickPadding(tickPadding).ticks(dataPoints);
239
+ if (yAxisTickFormat) {
240
+ yAxis.tickFormat(yAxisTickFormat);
241
+ }
242
+ yAxisElement ? d3_selection_1.select(yAxisElement).call(yAxis).selectAll('text') : '';
243
+ return yAxisScale;
244
+ };
245
+ exports.createStringYAxisForHorizontalBarChartWithAxis = createStringYAxisForHorizontalBarChartWithAxis;
189
246
  /**
190
- * Creating String Y axis of the chart
247
+ * Creating String Y axis of the chart for other chart except Horizontal Bar Chart With Axis
191
248
  * @param yAxisParams
192
249
  * @param dataPoints
193
250
  * @param isRtl
194
251
  */
195
- var createStringYAxis = function (yAxisParams, dataPoints, isRtl) {
252
+ var createStringYAxisForOtherCharts = function (yAxisParams, dataPoints, isRtl) {
196
253
  var containerHeight = yAxisParams.containerHeight, _a = yAxisParams.tickPadding, tickPadding = _a === void 0 ? 12 : _a, margins = yAxisParams.margins, yAxisTickFormat = yAxisParams.yAxisTickFormat, yAxisElement = yAxisParams.yAxisElement, _b = yAxisParams.yAxisPadding, yAxisPadding = _b === void 0 ? 0 : _b;
197
254
  var yAxisScale = d3_scale_1.scaleBand()
198
255
  .domain(dataPoints)
@@ -206,7 +263,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
206
263
  yAxisElement ? d3_selection_1.select(yAxisElement).call(yAxis).selectAll('text') : '';
207
264
  return yAxisScale;
208
265
  };
209
- exports.createStringYAxis = createStringYAxis;
266
+ exports.createStringYAxisForOtherCharts = createStringYAxisForOtherCharts;
210
267
  function calloutData(values) {
211
268
  var combinedResult = [];
212
269
  values.forEach(function (element) {
@@ -385,6 +442,77 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
385
442
  return removeVal > 0 ? removeVal : 0;
386
443
  }
387
444
  exports.createWrapOfXLabels = createWrapOfXLabels;
445
+ /**
446
+ * This method used for wrapping of y axis labels (tick values).
447
+ */
448
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
449
+ function createYAxisLabels(node,
450
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
451
+ yAxis, noOfCharsToTruncate, truncateLabel, xValue, isRtl) {
452
+ if (node === null) {
453
+ return;
454
+ }
455
+ var axisNode = d3_selection_1.select(node).call(yAxis);
456
+ axisNode.selectAll('.tick text').each(function () {
457
+ var text = d3_selection_1.select(this);
458
+ var totalWord = text.text();
459
+ var truncatedWord = text.text().slice(0, noOfCharsToTruncate) + "...";
460
+ var totalWordLength = text.text().length;
461
+ var padding = truncateLabel ? 1.5 : 1; // ems
462
+ var y = text.attr('y');
463
+ var x = text.attr('x');
464
+ var dy = parseFloat(text.attr('dy'));
465
+ var dx = 0;
466
+ text
467
+ .text(null)
468
+ .append('tspan')
469
+ .attr('x', x)
470
+ .attr('y', y)
471
+ .attr('id', 'BaseSpan')
472
+ .attr('dy', dy + 'em')
473
+ .attr('data-', totalWord);
474
+ if (truncateLabel && totalWordLength > noOfCharsToTruncate) {
475
+ text
476
+ .append('tspan')
477
+ .attr('id', 'showDots')
478
+ .attr('x', x)
479
+ .attr('y', y)
480
+ .attr('dy', dy)
481
+ .attr('dx', padding + dx + 'em')
482
+ .text(truncatedWord);
483
+ }
484
+ else {
485
+ text
486
+ .attr('text-align', 'start')
487
+ .append('tspan')
488
+ .attr('id', 'LessLength')
489
+ .attr('x', isRtl ? xValue : x)
490
+ .attr('y', y)
491
+ .attr('dx', padding + dx + 'em')
492
+ .text(totalWord);
493
+ }
494
+ });
495
+ }
496
+ exports.createYAxisLabels = createYAxisLabels;
497
+ /**
498
+ * This function is calculating the length of longest Y axis label in px ,so that we are able to
499
+ * create the cartesian chart by shifting that many points to the right/left.
500
+ * @param points
501
+ * @returns
502
+ */
503
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
504
+ function calculateLongestYAxisLabel(points, yAxisElement) {
505
+ var maxLabelLength = 0;
506
+ points.forEach(function (point) {
507
+ var canvas = document.createElement('canvas');
508
+ var ctx = canvas.getContext('2d');
509
+ ctx.font = window.getComputedStyle(yAxisElement, null).getPropertyValue('font-size');
510
+ var wordLengthInPixel = ctx.measureText(point.y).width;
511
+ maxLabelLength = Math.max(wordLengthInPixel, maxLabelLength);
512
+ });
513
+ return maxLabelLength;
514
+ }
515
+ exports.calculateLongestYAxisLabel = calculateLongestYAxisLabel;
388
516
  /**
389
517
  * This method displays a tooltip to the x axis lables(tick values)
390
518
  * when prop 'showXAxisLablesTooltip' enables to the respected chart.
@@ -503,6 +631,25 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
503
631
  : { dStartValue: xMin, dEndValue: xMax, rStartValue: rStartValue, rEndValue: rEndValue };
504
632
  }
505
633
  exports.domainRangeOfNumericForAreaChart = domainRangeOfNumericForAreaChart;
634
+ /**
635
+ * Calculates Domain and range values for Numeric X axis.
636
+ * This method calculates Horizontal Chart with Axis
637
+ * @export
638
+ * @param {ILineChartPoints[]} points
639
+ * @param {IMargins} margins
640
+ * @param {number} width
641
+ * @param {boolean} isRTL
642
+ * @returns {IDomainNRange}
643
+ */
644
+ function domainRangeOfNumericForHorizontalBarChartWithAxis(points, margins, containerWidth, isRTL, shiftX) {
645
+ var xMax = d3_array_1.max(points, function (point) { return point.x; });
646
+ var rMin = isRTL ? margins.left : margins.left + shiftX;
647
+ var rMax = isRTL ? containerWidth - margins.right - shiftX : containerWidth - margins.right;
648
+ return isRTL
649
+ ? { dStartValue: xMax, dEndValue: 0, rStartValue: rMin, rEndValue: rMax }
650
+ : { dStartValue: 0, dEndValue: xMax, rStartValue: rMin, rEndValue: rMax };
651
+ }
652
+ exports.domainRangeOfNumericForHorizontalBarChartWithAxis = domainRangeOfNumericForHorizontalBarChartWithAxis;
506
653
  /**
507
654
  * Calculates Range values of x Axis string axis
508
655
  * For String axis, we need to give domain values (Not start and end array values)
@@ -579,7 +726,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
579
726
  */
580
727
  function getDomainNRangeValues(
581
728
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
582
- points, margins, width, chartType, isRTL, xAxisType, barWidth, tickValues) {
729
+ points, margins, width, chartType, isRTL, xAxisType, barWidth, tickValues, shiftX) {
583
730
  var domainNRangeValue;
584
731
  if (xAxisType === XAxisTypes.NumericAxis) {
585
732
  switch (chartType) {
@@ -593,6 +740,9 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
593
740
  case ChartTypes.VerticalBarChart:
594
741
  domainNRangeValue = domainRageOfVerticalNumeric(points, margins, width, isRTL, barWidth);
595
742
  break;
743
+ case ChartTypes.HorizontalBarChartWithAxis:
744
+ domainNRangeValue = domainRangeOfNumericForHorizontalBarChartWithAxis(points, margins, width, isRTL, shiftX);
745
+ break;
596
746
  default:
597
747
  domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };
598
748
  }
@@ -666,6 +816,21 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
666
816
  return { startValue: yMin, endValue: yMax };
667
817
  }
668
818
  exports.findVerticalNumericMinMaxOfY = findVerticalNumericMinMaxOfY;
819
+ /**
820
+ * Fins the min and max values of the vertical bar chart y axis data point.
821
+ * @export
822
+ * @param {IVerticalBarChartDataPoint[]} points
823
+ * @returns {{ startValue: number; endValue: number }}
824
+ */
825
+ function findHBCWANumericMinMaxOfY(points, yAxisType) {
826
+ if (yAxisType !== undefined && yAxisType === YAxisType.NumericAxis) {
827
+ var yMax = d3_array_1.max(points, function (point) { return point.y; });
828
+ var yMin = d3_array_1.min(points, function (point) { return point.y; });
829
+ return { startValue: yMin, endValue: yMax };
830
+ }
831
+ return { startValue: 0, endValue: 0 };
832
+ }
833
+ exports.findHBCWANumericMinMaxOfY = findHBCWANumericMinMaxOfY;
669
834
  /**
670
835
  * For creating Y axis, need to calculate y axis domain values from given points. This may vary based on chart type.
671
836
  * So, this method will define which method need to call based on chart type to find out min and max values(For Domain).
@@ -676,7 +841,10 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
676
841
  * @returns {{ startValue: number; endValue: number }}
677
842
  */
678
843
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
679
- function getMinMaxOfYAxis(points, chartType) {
844
+ function getMinMaxOfYAxis(
845
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
846
+ points, chartType, yAxisType) {
847
+ if (yAxisType === void 0) { yAxisType = YAxisType.NumericAxis; }
680
848
  var minMaxValues;
681
849
  switch (chartType) {
682
850
  case ChartTypes.AreaChart:
@@ -689,6 +857,9 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
689
857
  case ChartTypes.VerticalBarChart:
690
858
  minMaxValues = findVerticalNumericMinMaxOfY(points);
691
859
  break;
860
+ case ChartTypes.HorizontalBarChartWithAxis:
861
+ minMaxValues = findHBCWANumericMinMaxOfY(points, yAxisType);
862
+ break;
692
863
  default:
693
864
  minMaxValues = { startValue: 0, endValue: 0 };
694
865
  }