@fluentui/react-charting 5.16.30 → 5.16.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 (106) hide show
  1. package/CHANGELOG.json +37 -1
  2. package/CHANGELOG.md +21 -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 +6 -5
  105. package/src/components/CommonComponents/CartesianChart.types.ts +16 -0
  106. package/src/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.ts +125 -0
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- 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;
4
+ 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;
5
5
  var tslib_1 = require("tslib");
6
6
  var d3_axis_1 = require("d3-axis");
7
7
  var d3_array_1 = require("d3-array");
@@ -18,6 +18,7 @@ var ChartTypes;
18
18
  ChartTypes[ChartTypes["VerticalStackedBarChart"] = 3] = "VerticalStackedBarChart";
19
19
  ChartTypes[ChartTypes["GroupedVerticalBarChart"] = 4] = "GroupedVerticalBarChart";
20
20
  ChartTypes[ChartTypes["HeatMapChart"] = 5] = "HeatMapChart";
21
+ ChartTypes[ChartTypes["HorizontalBarChartWithAxis"] = 6] = "HorizontalBarChartWithAxis";
21
22
  })(ChartTypes = exports.ChartTypes || (exports.ChartTypes = {}));
22
23
  var XAxisTypes;
23
24
  (function (XAxisTypes) {
@@ -36,7 +37,7 @@ var YAxisType;
36
37
  * @export
37
38
  * @param {IXAxisParams} xAxisParams
38
39
  */
39
- function createNumericXAxis(xAxisParams, culture) {
40
+ function createNumericXAxis(xAxisParams, chartType, culture) {
40
41
  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;
41
42
  var xAxisScale = d3_scale_1.scaleLinear()
42
43
  .domain([domainNRangeValues.dStartValue, domainNRangeValues.dEndValue])
@@ -46,11 +47,13 @@ function createNumericXAxis(xAxisParams, culture) {
46
47
  .tickSize(xAxistickSize)
47
48
  .tickPadding(tickPadding)
48
49
  .ticks(xAxisCount)
49
- .tickSizeOuter(0)
50
50
  .tickFormat(function (domainValue, index) {
51
51
  var xAxisValue = typeof domainValue === 'number' ? domainValue : domainValue.valueOf();
52
52
  return exports.convertToLocaleString(xAxisValue, culture);
53
53
  });
54
+ if (chartType === ChartTypes.HorizontalBarChartWithAxis) {
55
+ xAxis.tickSizeInner(-(xAxisParams.containerHeight - xAxisParams.margins.top));
56
+ }
54
57
  if (xAxisElement) {
55
58
  d3_selection_1.select(xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');
56
59
  }
@@ -172,7 +175,32 @@ exports.prepareDatapoints = prepareDatapoints;
172
175
  * @param {IYAxisParams} yAxisParams
173
176
  * @param {boolean} isRtl
174
177
  */
175
- function createYAxis(yAxisParams, isRtl, axisData) {
178
+ function createYAxis(yAxisParams, isRtl, axisData, chartType, barWidth) {
179
+ switch (chartType) {
180
+ case ChartTypes.HorizontalBarChartWithAxis:
181
+ return createYAxisForHorizontalBarChartWithAxis(yAxisParams, isRtl, axisData, barWidth);
182
+ default:
183
+ return createYAxisForOtherCharts(yAxisParams, isRtl, axisData);
184
+ }
185
+ }
186
+ exports.createYAxis = createYAxis;
187
+ function createYAxisForHorizontalBarChartWithAxis(yAxisParams, isRtl, axisData, barWidth) {
188
+ 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;
189
+ // maxOfYVal coming from only area chart and Grouped vertical bar chart(Calculation done at base file)
190
+ var tempVal = maxOfYVal || yMinMaxValues.endValue;
191
+ var finalYmax = tempVal > yMaxValue ? tempVal : yMaxValue;
192
+ var finalYmin = yMinMaxValues.startValue < yMinValue ? 0 : yMinValue;
193
+ var yAxisScale = d3_scale_1.scaleLinear()
194
+ .domain([finalYmin, finalYmax])
195
+ .range([containerHeight - margins.bottom, margins.top]);
196
+ var axis = isRtl ? d3_axis_1.axisRight(yAxisScale) : d3_axis_1.axisLeft(yAxisScale);
197
+ var yAxis = axis.tickPadding(tickPadding).ticks(yAxisTickCount);
198
+ yAxisTickFormat ? yAxis.tickFormat(yAxisTickFormat) : yAxis.tickFormat(d3_format_1.format('.2~s'));
199
+ yAxisElement ? d3_selection_1.select(yAxisElement).call(yAxis).selectAll('text').attr('aria-hidden', 'true') : '';
200
+ return yAxisScale;
201
+ }
202
+ exports.createYAxisForHorizontalBarChartWithAxis = createYAxisForHorizontalBarChartWithAxis;
203
+ function createYAxisForOtherCharts(yAxisParams, isRtl, axisData) {
176
204
  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;
177
205
  // maxOfYVal coming from only area chart and Grouped vertical bar chart(Calculation done at base file)
178
206
  var tempVal = maxOfYVal || yMinMaxValues.endValue;
@@ -192,14 +220,43 @@ function createYAxis(yAxisParams, isRtl, axisData) {
192
220
  axisData.yAxisDomainValues = domainValues;
193
221
  return yAxisScale;
194
222
  }
195
- exports.createYAxis = createYAxis;
223
+ exports.createYAxisForOtherCharts = createYAxisForOtherCharts;
224
+ var createStringYAxis = function (yAxisParams, dataPoints, isRtl, chartType, barWidth, culture) {
225
+ switch (chartType) {
226
+ case ChartTypes.HorizontalBarChartWithAxis:
227
+ return exports.createStringYAxisForHorizontalBarChartWithAxis(yAxisParams, dataPoints, isRtl, barWidth, culture);
228
+ default:
229
+ return exports.createStringYAxisForOtherCharts(yAxisParams, dataPoints, isRtl);
230
+ }
231
+ };
232
+ exports.createStringYAxis = createStringYAxis;
233
+ /**
234
+ * Creating String Y axis of the chart for Horizontal Bar Chart With Axis
235
+ * @param yAxisParams
236
+ * @param dataPoints
237
+ * @param isRtl
238
+ */
239
+ var createStringYAxisForHorizontalBarChartWithAxis = function (yAxisParams, dataPoints, isRtl, barWidth, culture) {
240
+ var containerHeight = yAxisParams.containerHeight, _a = yAxisParams.tickPadding, tickPadding = _a === void 0 ? 12 : _a, margins = yAxisParams.margins, yAxisTickFormat = yAxisParams.yAxisTickFormat, yAxisElement = yAxisParams.yAxisElement;
241
+ var yAxisScale = d3_scale_1.scaleBand()
242
+ .domain(dataPoints)
243
+ .range([containerHeight - margins.bottom - barWidth / 2, margins.top + barWidth / 2]);
244
+ var axis = isRtl ? d3_axis_1.axisRight(yAxisScale) : d3_axis_1.axisLeft(yAxisScale);
245
+ var yAxis = axis.tickPadding(tickPadding).ticks(dataPoints);
246
+ if (yAxisTickFormat) {
247
+ yAxis.tickFormat(yAxisTickFormat);
248
+ }
249
+ yAxisElement ? d3_selection_1.select(yAxisElement).call(yAxis).selectAll('text') : '';
250
+ return yAxisScale;
251
+ };
252
+ exports.createStringYAxisForHorizontalBarChartWithAxis = createStringYAxisForHorizontalBarChartWithAxis;
196
253
  /**
197
- * Creating String Y axis of the chart
254
+ * Creating String Y axis of the chart for other chart except Horizontal Bar Chart With Axis
198
255
  * @param yAxisParams
199
256
  * @param dataPoints
200
257
  * @param isRtl
201
258
  */
202
- var createStringYAxis = function (yAxisParams, dataPoints, isRtl) {
259
+ var createStringYAxisForOtherCharts = function (yAxisParams, dataPoints, isRtl) {
203
260
  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;
204
261
  var yAxisScale = d3_scale_1.scaleBand()
205
262
  .domain(dataPoints)
@@ -213,7 +270,7 @@ var createStringYAxis = function (yAxisParams, dataPoints, isRtl) {
213
270
  yAxisElement ? d3_selection_1.select(yAxisElement).call(yAxis).selectAll('text') : '';
214
271
  return yAxisScale;
215
272
  };
216
- exports.createStringYAxis = createStringYAxis;
273
+ exports.createStringYAxisForOtherCharts = createStringYAxisForOtherCharts;
217
274
  function calloutData(values) {
218
275
  var combinedResult = [];
219
276
  values.forEach(function (element) {
@@ -392,6 +449,77 @@ function createWrapOfXLabels(wrapLabelProps) {
392
449
  return removeVal > 0 ? removeVal : 0;
393
450
  }
394
451
  exports.createWrapOfXLabels = createWrapOfXLabels;
452
+ /**
453
+ * This method used for wrapping of y axis labels (tick values).
454
+ */
455
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
456
+ function createYAxisLabels(node,
457
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
458
+ yAxis, noOfCharsToTruncate, truncateLabel, xValue, isRtl) {
459
+ if (node === null) {
460
+ return;
461
+ }
462
+ var axisNode = d3_selection_1.select(node).call(yAxis);
463
+ axisNode.selectAll('.tick text').each(function () {
464
+ var text = d3_selection_1.select(this);
465
+ var totalWord = text.text();
466
+ var truncatedWord = text.text().slice(0, noOfCharsToTruncate) + "...";
467
+ var totalWordLength = text.text().length;
468
+ var padding = truncateLabel ? 1.5 : 1; // ems
469
+ var y = text.attr('y');
470
+ var x = text.attr('x');
471
+ var dy = parseFloat(text.attr('dy'));
472
+ var dx = 0;
473
+ text
474
+ .text(null)
475
+ .append('tspan')
476
+ .attr('x', x)
477
+ .attr('y', y)
478
+ .attr('id', 'BaseSpan')
479
+ .attr('dy', dy + 'em')
480
+ .attr('data-', totalWord);
481
+ if (truncateLabel && totalWordLength > noOfCharsToTruncate) {
482
+ text
483
+ .append('tspan')
484
+ .attr('id', 'showDots')
485
+ .attr('x', x)
486
+ .attr('y', y)
487
+ .attr('dy', dy)
488
+ .attr('dx', padding + dx + 'em')
489
+ .text(truncatedWord);
490
+ }
491
+ else {
492
+ text
493
+ .attr('text-align', 'start')
494
+ .append('tspan')
495
+ .attr('id', 'LessLength')
496
+ .attr('x', isRtl ? xValue : x)
497
+ .attr('y', y)
498
+ .attr('dx', padding + dx + 'em')
499
+ .text(totalWord);
500
+ }
501
+ });
502
+ }
503
+ exports.createYAxisLabels = createYAxisLabels;
504
+ /**
505
+ * This function is calculating the length of longest Y axis label in px ,so that we are able to
506
+ * create the cartesian chart by shifting that many points to the right/left.
507
+ * @param points
508
+ * @returns
509
+ */
510
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
511
+ function calculateLongestYAxisLabel(points, yAxisElement) {
512
+ var maxLabelLength = 0;
513
+ points.forEach(function (point) {
514
+ var canvas = document.createElement('canvas');
515
+ var ctx = canvas.getContext('2d');
516
+ ctx.font = window.getComputedStyle(yAxisElement, null).getPropertyValue('font-size');
517
+ var wordLengthInPixel = ctx.measureText(point.y).width;
518
+ maxLabelLength = Math.max(wordLengthInPixel, maxLabelLength);
519
+ });
520
+ return maxLabelLength;
521
+ }
522
+ exports.calculateLongestYAxisLabel = calculateLongestYAxisLabel;
395
523
  /**
396
524
  * This method displays a tooltip to the x axis lables(tick values)
397
525
  * when prop 'showXAxisLablesTooltip' enables to the respected chart.
@@ -510,6 +638,25 @@ function domainRangeOfNumericForAreaChart(points, margins, width, isRTL) {
510
638
  : { dStartValue: xMin, dEndValue: xMax, rStartValue: rStartValue, rEndValue: rEndValue };
511
639
  }
512
640
  exports.domainRangeOfNumericForAreaChart = domainRangeOfNumericForAreaChart;
641
+ /**
642
+ * Calculates Domain and range values for Numeric X axis.
643
+ * This method calculates Horizontal Chart with Axis
644
+ * @export
645
+ * @param {ILineChartPoints[]} points
646
+ * @param {IMargins} margins
647
+ * @param {number} width
648
+ * @param {boolean} isRTL
649
+ * @returns {IDomainNRange}
650
+ */
651
+ function domainRangeOfNumericForHorizontalBarChartWithAxis(points, margins, containerWidth, isRTL, shiftX) {
652
+ var xMax = d3_array_1.max(points, function (point) { return point.x; });
653
+ var rMin = isRTL ? margins.left : margins.left + shiftX;
654
+ var rMax = isRTL ? containerWidth - margins.right - shiftX : containerWidth - margins.right;
655
+ return isRTL
656
+ ? { dStartValue: xMax, dEndValue: 0, rStartValue: rMin, rEndValue: rMax }
657
+ : { dStartValue: 0, dEndValue: xMax, rStartValue: rMin, rEndValue: rMax };
658
+ }
659
+ exports.domainRangeOfNumericForHorizontalBarChartWithAxis = domainRangeOfNumericForHorizontalBarChartWithAxis;
513
660
  /**
514
661
  * Calculates Range values of x Axis string axis
515
662
  * For String axis, we need to give domain values (Not start and end array values)
@@ -586,7 +733,7 @@ exports.domainRageOfVerticalNumeric = domainRageOfVerticalNumeric;
586
733
  */
587
734
  function getDomainNRangeValues(
588
735
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
589
- points, margins, width, chartType, isRTL, xAxisType, barWidth, tickValues) {
736
+ points, margins, width, chartType, isRTL, xAxisType, barWidth, tickValues, shiftX) {
590
737
  var domainNRangeValue;
591
738
  if (xAxisType === XAxisTypes.NumericAxis) {
592
739
  switch (chartType) {
@@ -600,6 +747,9 @@ points, margins, width, chartType, isRTL, xAxisType, barWidth, tickValues) {
600
747
  case ChartTypes.VerticalBarChart:
601
748
  domainNRangeValue = domainRageOfVerticalNumeric(points, margins, width, isRTL, barWidth);
602
749
  break;
750
+ case ChartTypes.HorizontalBarChartWithAxis:
751
+ domainNRangeValue = domainRangeOfNumericForHorizontalBarChartWithAxis(points, margins, width, isRTL, shiftX);
752
+ break;
603
753
  default:
604
754
  domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };
605
755
  }
@@ -673,6 +823,21 @@ function findVerticalNumericMinMaxOfY(points) {
673
823
  return { startValue: yMin, endValue: yMax };
674
824
  }
675
825
  exports.findVerticalNumericMinMaxOfY = findVerticalNumericMinMaxOfY;
826
+ /**
827
+ * Fins the min and max values of the vertical bar chart y axis data point.
828
+ * @export
829
+ * @param {IVerticalBarChartDataPoint[]} points
830
+ * @returns {{ startValue: number; endValue: number }}
831
+ */
832
+ function findHBCWANumericMinMaxOfY(points, yAxisType) {
833
+ if (yAxisType !== undefined && yAxisType === YAxisType.NumericAxis) {
834
+ var yMax = d3_array_1.max(points, function (point) { return point.y; });
835
+ var yMin = d3_array_1.min(points, function (point) { return point.y; });
836
+ return { startValue: yMin, endValue: yMax };
837
+ }
838
+ return { startValue: 0, endValue: 0 };
839
+ }
840
+ exports.findHBCWANumericMinMaxOfY = findHBCWANumericMinMaxOfY;
676
841
  /**
677
842
  * For creating Y axis, need to calculate y axis domain values from given points. This may vary based on chart type.
678
843
  * So, this method will define which method need to call based on chart type to find out min and max values(For Domain).
@@ -683,7 +848,10 @@ exports.findVerticalNumericMinMaxOfY = findVerticalNumericMinMaxOfY;
683
848
  * @returns {{ startValue: number; endValue: number }}
684
849
  */
685
850
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
686
- function getMinMaxOfYAxis(points, chartType) {
851
+ function getMinMaxOfYAxis(
852
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
853
+ points, chartType, yAxisType) {
854
+ if (yAxisType === void 0) { yAxisType = YAxisType.NumericAxis; }
687
855
  var minMaxValues;
688
856
  switch (chartType) {
689
857
  case ChartTypes.AreaChart:
@@ -696,6 +864,9 @@ function getMinMaxOfYAxis(points, chartType) {
696
864
  case ChartTypes.VerticalBarChart:
697
865
  minMaxValues = findVerticalNumericMinMaxOfY(points);
698
866
  break;
867
+ case ChartTypes.HorizontalBarChartWithAxis:
868
+ minMaxValues = findHBCWANumericMinMaxOfY(points, yAxisType);
869
+ break;
699
870
  default:
700
871
  minMaxValues = { startValue: 0, endValue: 0 };
701
872
  }