@fluentui/react-charting 5.23.97 → 5.24.1

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 (156) hide show
  1. package/CHANGELOG.json +51 -1
  2. package/CHANGELOG.md +26 -2
  3. package/dist/react-charting.d.ts +16 -7
  4. package/dist/react-charting.js +1 -1
  5. package/dist/react-charting.min.js +1 -1
  6. package/etc/react-charting.api.md +9 -7
  7. package/lib/components/AreaChart/AreaChart.base.js +7 -4
  8. package/lib/components/AreaChart/AreaChart.base.js.map +1 -1
  9. package/lib/components/CommonComponents/CartesianChart.base.d.ts +1 -2
  10. package/lib/components/CommonComponents/CartesianChart.base.js +31 -27
  11. package/lib/components/CommonComponents/CartesianChart.base.js.map +1 -1
  12. package/lib/components/CommonComponents/CartesianChart.types.d.ts +2 -2
  13. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  14. package/lib/components/DeclarativeChart/DeclarativeChart.js +3 -2
  15. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  16. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +1 -0
  17. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +19 -12
  18. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  19. package/lib/components/DonutChart/Arc/Arc.js +2 -2
  20. package/lib/components/DonutChart/Arc/Arc.js.map +1 -1
  21. package/lib/components/DonutChart/DonutChart.base.js +6 -4
  22. package/lib/components/DonutChart/DonutChart.base.js.map +1 -1
  23. package/lib/components/GaugeChart/GaugeChart.base.js +9 -9
  24. package/lib/components/GaugeChart/GaugeChart.base.js.map +1 -1
  25. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +2 -2
  26. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  27. package/lib/components/HeatMapChart/HeatMapChart.base.js +2 -2
  28. package/lib/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  29. package/lib/components/HorizontalBarChart/HorizontalBarChart.base.js +7 -7
  30. package/lib/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
  31. package/lib/components/LineChart/LineChart.base.js +8 -5
  32. package/lib/components/LineChart/LineChart.base.js.map +1 -1
  33. package/lib/components/PieChart/Arc/Arc.js +3 -3
  34. package/lib/components/PieChart/Arc/Arc.js.map +1 -1
  35. package/lib/components/StackedBarChart/MultiStackedBarChart.base.js +5 -5
  36. package/lib/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
  37. package/lib/components/StackedBarChart/StackedBarChart.base.js +3 -5
  38. package/lib/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
  39. package/lib/components/VerticalBarChart/VerticalBarChart.base.js +16 -7
  40. package/lib/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  41. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +4 -0
  42. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +155 -40
  43. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  44. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.d.ts +9 -0
  45. package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  46. package/lib/types/IDataPoint.d.ts +5 -5
  47. package/lib/types/IDataPoint.js.map +1 -1
  48. package/lib/utilities/ChartHoverCard/ChartHoverCard.base.js +5 -5
  49. package/lib/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
  50. package/lib/utilities/utilities.d.ts +3 -6
  51. package/lib/utilities/utilities.js +22 -49
  52. package/lib/utilities/utilities.js.map +1 -1
  53. package/lib-amd/components/AreaChart/AreaChart.base.js +6 -4
  54. package/lib-amd/components/AreaChart/AreaChart.base.js.map +1 -1
  55. package/lib-amd/components/CommonComponents/CartesianChart.base.d.ts +1 -2
  56. package/lib-amd/components/CommonComponents/CartesianChart.base.js +31 -27
  57. package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -1
  58. package/lib-amd/components/CommonComponents/CartesianChart.types.d.ts +2 -2
  59. package/lib-amd/components/CommonComponents/CartesianChart.types.js.map +1 -1
  60. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js +2 -1
  61. package/lib-amd/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  62. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +1 -0
  63. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js +24 -16
  64. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  65. package/lib-amd/components/DonutChart/Arc/Arc.js +1 -1
  66. package/lib-amd/components/DonutChart/Arc/Arc.js.map +1 -1
  67. package/lib-amd/components/DonutChart/DonutChart.base.js +5 -3
  68. package/lib-amd/components/DonutChart/DonutChart.base.js.map +1 -1
  69. package/lib-amd/components/GaugeChart/GaugeChart.base.js +8 -8
  70. package/lib-amd/components/GaugeChart/GaugeChart.base.js.map +1 -1
  71. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +1 -1
  72. package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  73. package/lib-amd/components/HeatMapChart/HeatMapChart.base.js +2 -2
  74. package/lib-amd/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  75. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js +6 -6
  76. package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
  77. package/lib-amd/components/LineChart/LineChart.base.js +7 -5
  78. package/lib-amd/components/LineChart/LineChart.base.js.map +1 -1
  79. package/lib-amd/components/PieChart/Arc/Arc.js +3 -3
  80. package/lib-amd/components/PieChart/Arc/Arc.js.map +1 -1
  81. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js +4 -4
  82. package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
  83. package/lib-amd/components/StackedBarChart/StackedBarChart.base.js +3 -5
  84. package/lib-amd/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
  85. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js +15 -7
  86. package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  87. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +4 -0
  88. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +154 -40
  89. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  90. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.d.ts +9 -0
  91. package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  92. package/lib-amd/types/IDataPoint.d.ts +5 -5
  93. package/lib-amd/types/IDataPoint.js.map +1 -1
  94. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js +5 -5
  95. package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
  96. package/lib-amd/utilities/utilities.d.ts +3 -6
  97. package/lib-amd/utilities/utilities.js +25 -55
  98. package/lib-amd/utilities/utilities.js.map +1 -1
  99. package/lib-commonjs/components/AreaChart/AreaChart.base.js +6 -3
  100. package/lib-commonjs/components/AreaChart/AreaChart.base.js.map +1 -1
  101. package/lib-commonjs/components/CommonComponents/CartesianChart.base.d.ts +1 -2
  102. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js +31 -27
  103. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
  104. package/lib-commonjs/components/CommonComponents/CartesianChart.types.d.ts +2 -2
  105. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  106. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +2 -1
  107. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  108. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.d.ts +1 -0
  109. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +24 -16
  110. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  111. package/lib-commonjs/components/DonutChart/Arc/Arc.js +1 -1
  112. package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -1
  113. package/lib-commonjs/components/DonutChart/DonutChart.base.js +5 -3
  114. package/lib-commonjs/components/DonutChart/DonutChart.base.js.map +1 -1
  115. package/lib-commonjs/components/GaugeChart/GaugeChart.base.js +8 -8
  116. package/lib-commonjs/components/GaugeChart/GaugeChart.base.js.map +1 -1
  117. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +1 -1
  118. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
  119. package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.js +2 -2
  120. package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
  121. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.js +6 -6
  122. package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
  123. package/lib-commonjs/components/LineChart/LineChart.base.js +7 -4
  124. package/lib-commonjs/components/LineChart/LineChart.base.js.map +1 -1
  125. package/lib-commonjs/components/PieChart/Arc/Arc.js +3 -3
  126. package/lib-commonjs/components/PieChart/Arc/Arc.js.map +1 -1
  127. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.js +4 -4
  128. package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
  129. package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.js +3 -5
  130. package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
  131. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js +15 -6
  132. package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
  133. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +4 -0
  134. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +154 -39
  135. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
  136. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.d.ts +9 -0
  137. package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
  138. package/lib-commonjs/types/IDataPoint.d.ts +5 -5
  139. package/lib-commonjs/types/IDataPoint.js.map +1 -1
  140. package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.base.js +5 -5
  141. package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
  142. package/lib-commonjs/utilities/utilities.d.ts +3 -6
  143. package/lib-commonjs/utilities/utilities.js +26 -55
  144. package/lib-commonjs/utilities/utilities.js.map +1 -1
  145. package/package.json +2 -2
  146. package/src/components/CommonComponents/CartesianChart.types.ts +2 -1
  147. package/src/components/VerticalStackedBarChart/VerticalStackedBarChart.types.ts +11 -0
  148. package/lib/utilities/locale-util.d.ts +0 -3
  149. package/lib/utilities/locale-util.js +0 -18
  150. package/lib/utilities/locale-util.js.map +0 -1
  151. package/lib-amd/utilities/locale-util.d.ts +0 -3
  152. package/lib-amd/utilities/locale-util.js +0 -24
  153. package/lib-amd/utilities/locale-util.js.map +0 -1
  154. package/lib-commonjs/utilities/locale-util.d.ts +0 -3
  155. package/lib-commonjs/utilities/locale-util.js +0 -22
  156. package/lib-commonjs/utilities/locale-util.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IDataPoint.js","sourceRoot":"../src/","sources":["types/IDataPoint.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport { SankeyLink, SankeyNode } from 'd3-sankey';\nimport { LegendShape } from '../components/Legends/Legends.types';\nimport { CurveFactory } from 'd3-shape';\n\nexport interface IBasestate {\n _width?: number;\n _height?: number;\n activeLegend?: string;\n color?: string;\n dataForHoverCard?: number;\n isCalloutVisible: boolean;\n isLegendSelected?: boolean;\n isLegendHovered?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n refSelected?: any;\n YValueHover?: { legend?: string; y?: number; color?: string }[];\n hoverYValue?: string | number | null;\n hoverXValue?: string | number | null;\n xCalloutValue?: string;\n yCalloutValue?: string;\n lineColor?: string;\n hoveredLineColor?: string;\n selectedLegend?: string;\n containerWidth?: number;\n containerHeight?: number;\n}\n\nexport interface IRefArrayData {\n index?: string;\n refElement?: SVGGElement;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IMargins {\n /**\n * left margin for the chart.\n */\n left?: number;\n /**\n * Right margin for the chart.\n */\n right?: number;\n /**\n * Top margin for the chart.\n */\n top?: number;\n /**\n * Bottom margin for the chart.\n */\n bottom?: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n */\n x: number | string;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n\n // NOTE: VerticalStackedBarChart, PieChart\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IVerticalStackedBarDataPoint extends Omit<IDataPoint, 'x'> {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n * If data type on x is Date, then the data is spaced evenly by d3-scale.\n */\n x: number | string | Date;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHorizontalDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n */\n x: number;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IChartDataPoint {\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * data the datapoint in the chart\n */\n data?: number;\n\n /**\n * data the datapoint in the chart\n */\n horizontalBarChartdata?: IHorizontalDataPoint;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Color for the legend in the chart. If not provided, it will fallback on the default color palette.\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * placeholder data point\n */\n placeHolder?: boolean;\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IVerticalBarChartDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n */\n x: number | string | Date;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * data to render the line along with bars\n */\n lineData?: ILineDataInVerticalBarChart;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHorizontalBarChartWithAxisDataPoint {\n /**\n * Dependent value of the data point, rendered along the x-axis.\n */\n x: number;\n\n /**\n * Independent value of the data point, rendered along the y-axis.\n * If y is a number, then each y-coordinate is plotted at its y-coordinate.\n * If y is a string, then the data is evenly spaced along the y-axis.\n */\n y: number | string;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineDataInVerticalBarChart {\n y: IVerticalBarChartDataPoint['y'];\n yAxisCalloutData?: string | undefined;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineChartDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If data type on x is Date, then the data is spaced evenly by d3-scale\n */\n x: number | Date;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n\n /**\n * Defines the function that is executed on clicking line\n */\n onDataPointClick?: () => void;\n\n /**\n * Callout data for x axis\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n */\n yAxisCalloutData?: string | { [id: string]: number };\n\n /**\n * Whether to hide callout data for the point.\n */\n hideCallout?: boolean;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n\n /**\n * X axis Accessibility data for callout\n */\n xAxisCalloutAccessibilityData?: IAccessibilityProps;\n\n /**\n * Marker size of the points\n */\n markerSize?: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineChartGap {\n /**\n * Starting index of the gap.\n */\n startIndex: number;\n\n /**\n * Ending index of the gap.\n */\n endIndex: number;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface ILineChartLineOptions extends React.SVGProps<SVGPathElement> {\n /**\n * Width of the line/stroke.\n * Overrides the strokeWidth set on ICartesianChartProps level.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-width\n */\n strokeWidth?: number | string;\n\n /**\n * Pattern of dashes and gaps.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray\n */\n strokeDasharray?: string | number;\n\n /**\n * Offset on rendering of stroke dash array.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dashoffset\n */\n strokeDashoffset?: string | number;\n\n /**\n * Shape at the end of a subpath.\n * Default round.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linecap\n */\n strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit';\n\n /**\n * Width of border around the line. Default no border.\n */\n lineBorderWidth?: string | number;\n\n /**\n * Color of border around the line. Default white.\n */\n lineBorderColor?: string;\n\n /**\n * Defines the type of interpolation used to render the line.\n * @default 'linear'\n */\n curve?: 'linear' | 'natural' | 'step' | 'stepAfter' | 'stepBefore' | CurveFactory;\n\n /**\n * Defines the mode of points to be rendered.\n */\n mode?:\n | 'lines'\n | 'markers'\n | 'text'\n | 'lines+markers'\n | 'text+markers'\n | 'text+lines'\n | 'text+lines+markers'\n | 'none'\n | 'gauge'\n | 'number'\n | 'delta'\n | 'number+delta'\n | 'gauge+number'\n | 'gauge+number+delta'\n | 'gauge+delta'\n | 'markers+text';\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineChartPoints {\n /**\n * Legend text for the datapoint in the chart\n */\n legend: string;\n\n /**\n * The shape for the legend\n * default: show the rect legend\n */\n legendShape?: LegendShape;\n\n /**\n * dataPoints for the line chart\n */\n data: ILineChartDataPoint[];\n\n /**\n * gaps in the line chart where a line is not drawn\n */\n gaps?: ILineChartGap[];\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * opacity for chart fill color\n */\n opacity?: number;\n\n /**\n * options for the line drawn\n */\n lineOptions?: ILineChartLineOptions;\n\n /**\n * hide dots for points that are not active\n */\n hideNonActiveDots?: boolean;\n\n /**\n * Defines the function that is executed on clicking this legend\n */\n onLegendClick?: (selectedLegend: string | null | string[]) => void;\n\n /**\n * Defines the function that is executed on clicking line\n */\n onLineClick?: () => void;\n\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IChartProps {\n /**\n * chart title for the chart\n */\n chartTitle?: string;\n\n /**\n * Accessibility data for chart title\n */\n chartTitleAccessibilityData?: IAccessibilityProps;\n /**\n * data for the points in the chart\n */\n chartData?: IChartDataPoint[];\n\n /**\n * Accessibility data for chart data\n */\n chartDataAccessibilityData?: IAccessibilityProps;\n\n /**\n * data for the points in the line chart\n */\n lineChartData?: ILineChartPoints[];\n\n /**\n * data for the points in the line chart\n */\n SankeyChartData?: ISankeyChartData;\n\n /**\n * data for the points in the line chart\n */\n pointOptions?: React.SVGProps<SVGCircleElement>;\n\n /**\n * data for the dotted line on hovering the point\n */\n pointLineOptions?: React.SVGProps<SVGLineElement>;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ISankeyChartData {\n nodes: SNode[];\n links: SLink[];\n}\n\ninterface ISNodeExtra {\n /**\n * A unique identifier for this node.\n */\n nodeId: number | string;\n /**\n * The display name for this node in the UX.\n */\n name: string;\n color?: string;\n borderColor?: string;\n actualValue?: number;\n layer?: number;\n}\n\ninterface ISLinkExtra {\n /**\n * The index within `ISankeyChartData.nodes` of the source node.\n */\n source: number;\n /**\n * The index within `ISankeyChartData.nodes` of the target node.\n */\n target: number;\n /**\n * The weight of this link between the two nodes.\n */\n value: number;\n unnormalizedValue?: number;\n}\n\nexport type SNode = SankeyNode<ISNodeExtra, ISLinkExtra>;\nexport type SLink = SankeyLink<ISNodeExtra, ISLinkExtra>;\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IAccessibilityProps {\n /**\n * Accessibility aria-label\n */\n ariaLabel?: string;\n\n /**\n * Accessibility aria-labelledBy\n */\n ariaLabelledBy?: string;\n\n /**\n * Accessibility aria-describedBy\n */\n ariaDescribedBy?: string;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IVSChartDataPoint {\n /**\n * data the datapoint in the chart\n */\n data: number;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IVerticalStackedChartProps {\n /**\n * data for the points in the chart\n */\n chartData: IVSChartDataPoint[];\n\n /**\n * Data for x axis label for multistacked Vertical bar chart\n */\n xAxisPoint: number | string | Date;\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven't given, legend will take\n */\n xAxisCalloutData?: string;\n /**\n * line data to render lines on stacked bar chart\n */\n lineData?: ILineDataInVerticalStackedBarChart[];\n /**\n * Accessibility data for Whole stack callout\n */\n stackCallOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineDataInVerticalStackedBarChart {\n y: number;\n color: string;\n legend: string;\n /**\n * The shape for the legend\n * default: show the rect legend\n */\n legendShape?: LegendShape;\n /**\n * Data to show in callout\n */\n data?: number;\n yAxisCalloutData?: string;\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n /**\n * options for the line drawn\n */\n lineOptions?: ILineChartLineOptions;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IGVBarChartSeriesPoint {\n /**\n * Text for // need to check use of this\n */\n key: string;\n\n /**\n * Data for bar height of Grouped vertical bar chart\n */\n data: number;\n\n /**\n * Color for the legend in the chart\n */\n color: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Legend text in the chart\n */\n legend: string;\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IGroupedVerticalBarChartData {\n /**\n * Data for X axis label\n */\n name: string;\n\n /**\n * Data points for Grouped vertical bar chart\n */\n series: IGVBarChartSeriesPoint[];\n\n /**\n * Accessibility data for Group Bars Stack Callout\n */\n stackCallOutAccessibilityData?: IAccessibilityProps;\n}\n\nexport interface IGVDataPoint {\n /**\n * This interface used for - While forming datapoints from given prop \"data\" in code\n * datapoints are used for to draw graph\n */\n [key: string]: number | string;\n}\n\nexport interface IGVSingleDataPoint {\n /**\n * While forming datapoints from given prop \"data\" in code.\n * These datapoints are used for to draw graph easily.\n */\n [key: string]: IGVDataPoint;\n}\n\nexport interface IGVForBarChart {\n /**\n * While forming datapoints from given prop \"data\"\n * These datapoints are used for to draw graph.\n */\n [key: string]: IGVBarChartSeriesPoint;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHeatMapChartDataPoint {\n x: string | Date | number;\n y: string | Date | number;\n value: number;\n /**\n * The value/ text to be rendered in the rectange\n */\n rectText?: string | number;\n /**\n * denomination to show in the callout\n */\n ratio?: [number, number];\n /**\n * description message to the callout\n */\n descriptionMessage?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHeatMapChartData {\n /**\n * name of the legend\n */\n legend: string;\n data: IHeatMapChartDataPoint[];\n /**\n * This number will be used to get the color for the legend\n */\n value: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ICustomizedCalloutDataPoint {\n legend: string;\n y: number;\n color: string;\n xAxisCalloutData?: string;\n yAxisCalloutData?: string | { [id: string]: number };\n}\n\n/**\n * Used for custom callout data interface. As Area chart callout data will be prepared from given props.data,\n * Those required data passing to onRenderCalloutPerDataPoint and onRenderCalloutPerStack.\n * {@docCategory IChartData}\n */\nexport interface ICustomizedCalloutData {\n x: number | string | Date;\n values: ICustomizedCalloutDataPoint[];\n}\n\n/**\n * {@docCategory Chart}\n */\nexport interface IChart {\n chartContainer: HTMLElement | null;\n toImage?: (opts?: IImageExportOptions) => Promise<string>;\n}\n\n/**\n * {@docCategory Chart}\n */\nexport interface IImageExportOptions {\n width?: number;\n height?: number;\n scale?: number;\n background?: string;\n}\n"]}
1
+ {"version":3,"file":"IDataPoint.js","sourceRoot":"../src/","sources":["types/IDataPoint.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport { SankeyLink, SankeyNode } from 'd3-sankey';\nimport { LegendShape } from '../components/Legends/Legends.types';\nimport { CurveFactory } from 'd3-shape';\n\nexport interface IBasestate {\n _width?: number;\n _height?: number;\n activeLegend?: string;\n color?: string;\n dataForHoverCard?: number | string;\n isCalloutVisible: boolean;\n isLegendSelected?: boolean;\n isLegendHovered?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n refSelected?: any;\n YValueHover?: { legend?: string; y?: number | string; color?: string }[];\n hoverYValue?: string | number | null;\n hoverXValue?: string | number | null;\n xCalloutValue?: string;\n yCalloutValue?: string;\n lineColor?: string;\n hoveredLineColor?: string;\n selectedLegend?: string;\n containerWidth?: number;\n containerHeight?: number;\n}\n\nexport interface IRefArrayData {\n index?: string;\n refElement?: SVGGElement;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IMargins {\n /**\n * left margin for the chart.\n */\n left?: number;\n /**\n * Right margin for the chart.\n */\n right?: number;\n /**\n * Top margin for the chart.\n */\n top?: number;\n /**\n * Bottom margin for the chart.\n */\n bottom?: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n */\n x: number | string;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n\n // NOTE: VerticalStackedBarChart, PieChart\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IVerticalStackedBarDataPoint extends Omit<IDataPoint, 'x'> {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n * If data type on x is Date, then the data is spaced evenly by d3-scale.\n */\n x: number | string | Date;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHorizontalDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n */\n x: number;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IChartDataPoint {\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * data the datapoint in the chart\n */\n data?: number;\n\n /**\n * data the datapoint in the chart\n */\n horizontalBarChartdata?: IHorizontalDataPoint;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Color for the legend in the chart. If not provided, it will fallback on the default color palette.\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * placeholder data point\n */\n placeHolder?: boolean;\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IVerticalBarChartDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n */\n x: number | string | Date;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * data to render the line along with bars\n */\n lineData?: ILineDataInVerticalBarChart;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHorizontalBarChartWithAxisDataPoint {\n /**\n * Dependent value of the data point, rendered along the x-axis.\n */\n x: number;\n\n /**\n * Independent value of the data point, rendered along the y-axis.\n * If y is a number, then each y-coordinate is plotted at its y-coordinate.\n * If y is a string, then the data is evenly spaced along the y-axis.\n */\n y: number | string;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineDataInVerticalBarChart {\n y: IVerticalBarChartDataPoint['y'];\n yAxisCalloutData?: string | undefined;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineChartDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If data type on x is Date, then the data is spaced evenly by d3-scale\n */\n x: number | Date;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n\n /**\n * Defines the function that is executed on clicking line\n */\n onDataPointClick?: () => void;\n\n /**\n * Callout data for x axis\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n */\n yAxisCalloutData?: string | { [id: string]: number };\n\n /**\n * Whether to hide callout data for the point.\n */\n hideCallout?: boolean;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n\n /**\n * X axis Accessibility data for callout\n */\n xAxisCalloutAccessibilityData?: IAccessibilityProps;\n\n /**\n * Marker size of the points\n */\n markerSize?: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineChartGap {\n /**\n * Starting index of the gap.\n */\n startIndex: number;\n\n /**\n * Ending index of the gap.\n */\n endIndex: number;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface ILineChartLineOptions extends React.SVGProps<SVGPathElement> {\n /**\n * Width of the line/stroke.\n * Overrides the strokeWidth set on ICartesianChartProps level.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-width\n */\n strokeWidth?: number | string;\n\n /**\n * Pattern of dashes and gaps.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray\n */\n strokeDasharray?: string | number;\n\n /**\n * Offset on rendering of stroke dash array.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dashoffset\n */\n strokeDashoffset?: string | number;\n\n /**\n * Shape at the end of a subpath.\n * Default round.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linecap\n */\n strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit';\n\n /**\n * Width of border around the line. Default no border.\n */\n lineBorderWidth?: string | number;\n\n /**\n * Color of border around the line. Default white.\n */\n lineBorderColor?: string;\n\n /**\n * Defines the type of interpolation used to render the line.\n * @default 'linear'\n */\n curve?: 'linear' | 'natural' | 'step' | 'stepAfter' | 'stepBefore' | CurveFactory;\n\n /**\n * Defines the mode of points to be rendered.\n */\n mode?:\n | 'lines'\n | 'markers'\n | 'text'\n | 'lines+markers'\n | 'text+markers'\n | 'text+lines'\n | 'text+lines+markers'\n | 'none'\n | 'gauge'\n | 'number'\n | 'delta'\n | 'number+delta'\n | 'gauge+number'\n | 'gauge+number+delta'\n | 'gauge+delta'\n | 'markers+text';\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineChartPoints {\n /**\n * Legend text for the datapoint in the chart\n */\n legend: string;\n\n /**\n * The shape for the legend\n * default: show the rect legend\n */\n legendShape?: LegendShape;\n\n /**\n * dataPoints for the line chart\n */\n data: ILineChartDataPoint[];\n\n /**\n * gaps in the line chart where a line is not drawn\n */\n gaps?: ILineChartGap[];\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * opacity for chart fill color\n */\n opacity?: number;\n\n /**\n * options for the line drawn\n */\n lineOptions?: ILineChartLineOptions;\n\n /**\n * hide dots for points that are not active\n */\n hideNonActiveDots?: boolean;\n\n /**\n * Defines the function that is executed on clicking this legend\n */\n onLegendClick?: (selectedLegend: string | null | string[]) => void;\n\n /**\n * Defines the function that is executed on clicking line\n */\n onLineClick?: () => void;\n\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IChartProps {\n /**\n * chart title for the chart\n */\n chartTitle?: string;\n\n /**\n * Accessibility data for chart title\n */\n chartTitleAccessibilityData?: IAccessibilityProps;\n /**\n * data for the points in the chart\n */\n chartData?: IChartDataPoint[];\n\n /**\n * Accessibility data for chart data\n */\n chartDataAccessibilityData?: IAccessibilityProps;\n\n /**\n * data for the points in the line chart\n */\n lineChartData?: ILineChartPoints[];\n\n /**\n * data for the points in the line chart\n */\n SankeyChartData?: ISankeyChartData;\n\n /**\n * data for the points in the line chart\n */\n pointOptions?: React.SVGProps<SVGCircleElement>;\n\n /**\n * data for the dotted line on hovering the point\n */\n pointLineOptions?: React.SVGProps<SVGLineElement>;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ISankeyChartData {\n nodes: SNode[];\n links: SLink[];\n}\n\ninterface ISNodeExtra {\n /**\n * A unique identifier for this node.\n */\n nodeId: number | string;\n /**\n * The display name for this node in the UX.\n */\n name: string;\n color?: string;\n borderColor?: string;\n actualValue?: number;\n layer?: number;\n}\n\ninterface ISLinkExtra {\n /**\n * The index within `ISankeyChartData.nodes` of the source node.\n */\n source: number;\n /**\n * The index within `ISankeyChartData.nodes` of the target node.\n */\n target: number;\n /**\n * The weight of this link between the two nodes.\n */\n value: number;\n unnormalizedValue?: number;\n}\n\nexport type SNode = SankeyNode<ISNodeExtra, ISLinkExtra>;\nexport type SLink = SankeyLink<ISNodeExtra, ISLinkExtra>;\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IAccessibilityProps {\n /**\n * Accessibility aria-label\n */\n ariaLabel?: string;\n\n /**\n * Accessibility aria-labelledBy\n */\n ariaLabelledBy?: string;\n\n /**\n * Accessibility aria-describedBy\n */\n ariaDescribedBy?: string;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IVSChartDataPoint {\n /**\n * data the datapoint in the chart\n */\n data: number | string;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IVerticalStackedChartProps {\n /**\n * data for the points in the chart\n */\n chartData: IVSChartDataPoint[];\n\n /**\n * Data for x axis label for multistacked Vertical bar chart\n */\n xAxisPoint: number | string | Date;\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven't given, legend will take\n */\n xAxisCalloutData?: string;\n /**\n * line data to render lines on stacked bar chart\n */\n lineData?: ILineDataInVerticalStackedBarChart[];\n /**\n * Accessibility data for Whole stack callout\n */\n stackCallOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineDataInVerticalStackedBarChart {\n y: number | string;\n color: string;\n legend: string;\n /**\n * The shape for the legend\n * default: show the rect legend\n */\n legendShape?: LegendShape;\n /**\n * Data to show in callout\n */\n data?: number | string;\n yAxisCalloutData?: string;\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n /**\n * options for the line drawn\n */\n lineOptions?: ILineChartLineOptions;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IGVBarChartSeriesPoint {\n /**\n * Text for // need to check use of this\n */\n key: string;\n\n /**\n * Data for bar height of Grouped vertical bar chart\n */\n data: number;\n\n /**\n * Color for the legend in the chart\n */\n color: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Legend text in the chart\n */\n legend: string;\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IGroupedVerticalBarChartData {\n /**\n * Data for X axis label\n */\n name: string;\n\n /**\n * Data points for Grouped vertical bar chart\n */\n series: IGVBarChartSeriesPoint[];\n\n /**\n * Accessibility data for Group Bars Stack Callout\n */\n stackCallOutAccessibilityData?: IAccessibilityProps;\n}\n\nexport interface IGVDataPoint {\n /**\n * This interface used for - While forming datapoints from given prop \"data\" in code\n * datapoints are used for to draw graph\n */\n [key: string]: number | string;\n}\n\nexport interface IGVSingleDataPoint {\n /**\n * While forming datapoints from given prop \"data\" in code.\n * These datapoints are used for to draw graph easily.\n */\n [key: string]: IGVDataPoint;\n}\n\nexport interface IGVForBarChart {\n /**\n * While forming datapoints from given prop \"data\"\n * These datapoints are used for to draw graph.\n */\n [key: string]: IGVBarChartSeriesPoint;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHeatMapChartDataPoint {\n x: string | Date | number;\n y: string | Date | number;\n value: number;\n /**\n * The value/ text to be rendered in the rectange\n */\n rectText?: string | number;\n /**\n * denomination to show in the callout\n */\n ratio?: [number, number];\n /**\n * description message to the callout\n */\n descriptionMessage?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHeatMapChartData {\n /**\n * name of the legend\n */\n legend: string;\n data: IHeatMapChartDataPoint[];\n /**\n * This number will be used to get the color for the legend\n */\n value: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ICustomizedCalloutDataPoint {\n legend: string;\n y: number;\n color: string;\n xAxisCalloutData?: string;\n yAxisCalloutData?: string | { [id: string]: number };\n}\n\n/**\n * Used for custom callout data interface. As Area chart callout data will be prepared from given props.data,\n * Those required data passing to onRenderCalloutPerDataPoint and onRenderCalloutPerStack.\n * {@docCategory IChartData}\n */\nexport interface ICustomizedCalloutData {\n x: number | string | Date;\n values: ICustomizedCalloutDataPoint[];\n}\n\n/**\n * {@docCategory Chart}\n */\nexport interface IChart {\n chartContainer: HTMLElement | null;\n toImage?: (opts?: IImageExportOptions) => Promise<string>;\n}\n\n/**\n * {@docCategory Chart}\n */\nexport interface IImageExportOptions {\n width?: number;\n height?: number;\n scale?: number;\n background?: string;\n}\n"]}
@@ -1,4 +1,4 @@
1
- define(["require", "exports", "tslib", "react", "@fluentui/react", "../locale-util"], function (require, exports, tslib_1, React, react_1, locale_util_1) {
1
+ define(["require", "exports", "tslib", "react", "@fluentui/react", "@fluentui/chart-utilities"], function (require, exports, tslib_1, React, react_1, chart_utilities_1) {
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.ChartHoverCardBase = void 0;
@@ -23,13 +23,13 @@ define(["require", "exports", "tslib", "react", "@fluentui/react", "../locale-ut
23
23
  " ")),
24
24
  React.createElement("div", { className: this._classNames.calloutInfoContainer },
25
25
  React.createElement("div", { className: this._classNames.calloutBlockContainer },
26
- React.createElement("div", { className: this._classNames.calloutlegendText }, (0, locale_util_1.convertToLocaleString)(Legend, culture)),
27
- React.createElement("div", { className: this._classNames.calloutContentY }, (0, locale_util_1.convertToLocaleString)(YValue, culture))),
26
+ React.createElement("div", { className: this._classNames.calloutlegendText }, (0, chart_utilities_1.formatToLocaleString)(Legend, culture)),
27
+ React.createElement("div", { className: this._classNames.calloutContentY }, (0, chart_utilities_1.formatToLocaleString)(YValue, culture))),
28
28
  !!ratio && (React.createElement("div", { className: this._classNames.ratio },
29
29
  React.createElement(React.Fragment, null,
30
- React.createElement("span", { className: this._classNames.numerator }, (0, locale_util_1.convertToLocaleString)(ratio[0], culture)),
30
+ React.createElement("span", { className: this._classNames.numerator }, (0, chart_utilities_1.formatToLocaleString)(ratio[0], culture)),
31
31
  "/",
32
- React.createElement("span", { className: this._classNames.denominator }, (0, locale_util_1.convertToLocaleString)(ratio[1], culture)))))),
32
+ React.createElement("span", { className: this._classNames.denominator }, (0, chart_utilities_1.formatToLocaleString)(ratio[1], culture)))))),
33
33
  !!descriptionMessage && React.createElement("div", { className: this._classNames.descriptionMessage }, descriptionMessage)));
34
34
  };
35
35
  return ChartHoverCardBase;
@@ -1 +1 @@
1
- {"version":3,"file":"ChartHoverCard.base.js","sourceRoot":"../src/","sources":["utilities/ChartHoverCard/ChartHoverCard.base.tsx"],"names":[],"mappings":";;;;IAKA,IAAM,aAAa,GAAG,IAAA,0BAAkB,GAAoD,CAAC;IAC7F;QAAwC,8CAAyC;QAAjF;;QAmCA,CAAC;QAjCQ,mCAAM,GAAb;YACQ,IAAA,KAAuF,IAAI,CAAC,KAAK,EAA/F,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,kBAAkB,wBAAA,EAAE,OAAO,aAAe,CAAC;YACxG,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,MAAO,EAAE;gBACxC,KAAK,EAAE,KAAM;gBACb,KAAK,OAAA;gBACL,MAAM,QAAA;gBACN,cAAc,EAAE,CAAC,CAAC,KAAK;aACxB,CAAC,CAAC;YACH,OAAO,CACL,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB;gBACjD,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,wBAAwB;oBACvD,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe;wBAAG,MAAM;4BAAQ,CAG7D;gBACN,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,oBAAoB;oBACnD,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,qBAAqB;wBACpD,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAG,IAAA,mCAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAO;wBAClG,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,IAAG,IAAA,mCAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAO,CAC5F;oBACL,CAAC,CAAC,KAAK,IAAI,CACV,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;wBACpC;4BACE,8BAAM,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,IAAG,IAAA,mCAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAQ;;4BAC9F,8BAAM,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,IAAG,IAAA,mCAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAQ,CAC/F,CACC,CACP,CACG;gBACL,CAAC,CAAC,kBAAkB,IAAI,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,IAAG,kBAAkB,CAAO,CACpG,CACP,CAAC;QACJ,CAAC;QACH,yBAAC;IAAD,CAAC,AAnCD,CAAwC,KAAK,CAAC,SAAS,GAmCtD;IAnCY,gDAAkB","sourcesContent":["import * as React from 'react';\nimport { IChartHoverCardStyles, IChartHoverCardStyleProps, IChartHoverCardProps } from './ChartHoverCard.types';\nimport { classNamesFunction, IProcessedStyleSet } from '@fluentui/react';\nimport { convertToLocaleString } from '../locale-util';\n\nconst getClassNames = classNamesFunction<IChartHoverCardStyleProps, IChartHoverCardStyles>();\nexport class ChartHoverCardBase extends React.Component<IChartHoverCardProps, {}> {\n private _classNames: IProcessedStyleSet<IChartHoverCardStyles>;\n public render(): React.ReactNode {\n const { color, Legend, XValue, YValue, styles, theme, ratio, descriptionMessage, culture } = this.props;\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n color,\n XValue,\n isRatioPresent: !!ratio,\n });\n return (\n <div className={this._classNames.calloutContentRoot}>\n <div className={this._classNames.calloutDateTimeContainer}>\n <div className={this._classNames.calloutContentX}>{XValue} </div>\n {/*TO DO if we add time for callout then will use this */}\n {/* <div className={this._classNames.calloutContentX}>07:00am</div> */}\n </div>\n <div className={this._classNames.calloutInfoContainer}>\n <div className={this._classNames.calloutBlockContainer}>\n <div className={this._classNames.calloutlegendText}>{convertToLocaleString(Legend, culture)}</div>\n <div className={this._classNames.calloutContentY}>{convertToLocaleString(YValue, culture)}</div>\n </div>\n {!!ratio && (\n <div className={this._classNames.ratio}>\n <>\n <span className={this._classNames.numerator}>{convertToLocaleString(ratio[0], culture)}</span>/\n <span className={this._classNames.denominator}>{convertToLocaleString(ratio[1], culture)}</span>\n </>\n </div>\n )}\n </div>\n {!!descriptionMessage && <div className={this._classNames.descriptionMessage}>{descriptionMessage}</div>}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ChartHoverCard.base.js","sourceRoot":"../src/","sources":["utilities/ChartHoverCard/ChartHoverCard.base.tsx"],"names":[],"mappings":";;;;IAKA,IAAM,aAAa,GAAG,IAAA,0BAAkB,GAAoD,CAAC;IAC7F;QAAwC,8CAAyC;QAAjF;;QAmCA,CAAC;QAjCQ,mCAAM,GAAb;YACQ,IAAA,KAAuF,IAAI,CAAC,KAAK,EAA/F,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,kBAAkB,wBAAA,EAAE,OAAO,aAAe,CAAC;YACxG,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,MAAO,EAAE;gBACxC,KAAK,EAAE,KAAM;gBACb,KAAK,OAAA;gBACL,MAAM,QAAA;gBACN,cAAc,EAAE,CAAC,CAAC,KAAK;aACxB,CAAC,CAAC;YACH,OAAO,CACL,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB;gBACjD,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,wBAAwB;oBACvD,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe;wBAAG,MAAM;4BAAQ,CAG7D;gBACN,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,oBAAoB;oBACnD,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,qBAAqB;wBACpD,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAG,IAAA,sCAAoB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAO;wBACjG,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,IAAG,IAAA,sCAAoB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAO,CAC3F;oBACL,CAAC,CAAC,KAAK,IAAI,CACV,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;wBACpC;4BACE,8BAAM,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,IAAG,IAAA,sCAAoB,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAQ;;4BAC7F,8BAAM,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,IAAG,IAAA,sCAAoB,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAQ,CAC9F,CACC,CACP,CACG;gBACL,CAAC,CAAC,kBAAkB,IAAI,6BAAK,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,IAAG,kBAAkB,CAAO,CACpG,CACP,CAAC;QACJ,CAAC;QACH,yBAAC;IAAD,CAAC,AAnCD,CAAwC,KAAK,CAAC,SAAS,GAmCtD;IAnCY,gDAAkB","sourcesContent":["import * as React from 'react';\nimport { IChartHoverCardStyles, IChartHoverCardStyleProps, IChartHoverCardProps } from './ChartHoverCard.types';\nimport { classNamesFunction, IProcessedStyleSet } from '@fluentui/react';\nimport { formatToLocaleString } from '@fluentui/chart-utilities';\n\nconst getClassNames = classNamesFunction<IChartHoverCardStyleProps, IChartHoverCardStyles>();\nexport class ChartHoverCardBase extends React.Component<IChartHoverCardProps, {}> {\n private _classNames: IProcessedStyleSet<IChartHoverCardStyles>;\n public render(): React.ReactNode {\n const { color, Legend, XValue, YValue, styles, theme, ratio, descriptionMessage, culture } = this.props;\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n color,\n XValue,\n isRatioPresent: !!ratio,\n });\n return (\n <div className={this._classNames.calloutContentRoot}>\n <div className={this._classNames.calloutDateTimeContainer}>\n <div className={this._classNames.calloutContentX}>{XValue} </div>\n {/*TO DO if we add time for callout then will use this */}\n {/* <div className={this._classNames.calloutContentX}>07:00am</div> */}\n </div>\n <div className={this._classNames.calloutInfoContainer}>\n <div className={this._classNames.calloutBlockContainer}>\n <div className={this._classNames.calloutlegendText}>{formatToLocaleString(Legend, culture)}</div>\n <div className={this._classNames.calloutContentY}>{formatToLocaleString(YValue, culture)}</div>\n </div>\n {!!ratio && (\n <div className={this._classNames.ratio}>\n <>\n <span className={this._classNames.numerator}>{formatToLocaleString(ratio[0], culture)}</span>/\n <span className={this._classNames.denominator}>{formatToLocaleString(ratio[1], culture)}</span>\n </>\n </div>\n )}\n </div>\n {!!descriptionMessage && <div className={this._classNames.descriptionMessage}>{descriptionMessage}</div>}\n </div>\n );\n }\n}\n"]}
@@ -3,6 +3,7 @@ import { TimeLocaleDefinition as d3TimeLocaleDefinition } from 'd3-time-format';
3
3
  import { IAccessibilityProps, IEventsAnnotationProps, ILineChartPoints, IDataPoint, IVerticalStackedBarDataPoint, IVerticalBarChartDataPoint, IHorizontalBarChartWithAxisDataPoint, ILineChartLineOptions } from '../index';
4
4
  import { CurveFactory } from 'd3-shape';
5
5
  export declare const MIN_DOMAIN_MARGIN = 8;
6
+ export declare const MIN_DONUT_RADIUS = 1;
6
7
  export type NumericAxis = D3Axis<number | {
7
8
  valueOf(): number;
8
9
  }>;
@@ -168,7 +169,7 @@ export declare const createStringYAxisForHorizontalBarChartWithAxis: (yAxisParam
168
169
  * @param dataPoints
169
170
  * @param isRtl
170
171
  */
171
- export declare const createStringYAxis: (yAxisParams: IYAxisParams, dataPoints: string[], isRtl: boolean) => import("d3-scale").ScaleBand<string>;
172
+ export declare const createStringYAxis: (yAxisParams: IYAxisParams, dataPoints: string[], isRtl: boolean, barWidth?: number, chartType?: ChartTypes) => import("d3-scale").ScaleBand<string>;
172
173
  /**
173
174
  * For area chart and line chart, while displaying stackCallout, Need to form a callout data object.
174
175
  * This methos creates an object for those 2 charts.
@@ -426,15 +427,12 @@ export declare const getAccessibleDataObject: (accessibleData?: IAccessibilityPr
426
427
  'aria-labelledby': string | undefined;
427
428
  'aria-describedby': string | undefined;
428
429
  };
429
- type LocaleStringDataProps = number | string | Date | undefined;
430
- export declare const convertToLocaleString: (data: LocaleStringDataProps, culture?: string) => LocaleStringDataProps;
431
430
  export declare function rotateXAxisLabels(rotateLabelProps: IRotateLabelProps): number | undefined;
432
431
  export declare function wrapTextInsideDonut(selectorClass: string, maxWidth: number): void;
433
- export declare function formatValueLimitWidth(value: number): string;
432
+ export declare function formatScientificLimitWidth(value: number): string;
434
433
  export declare const getBarWidth: (barWidthProp: number | 'default' | 'auto' | undefined, maxBarWidthProp: number | undefined, adjustedValue?: number, modeProp?: string) => number;
435
434
  export declare const getScalePadding: (prop: number | undefined, shorthandProp?: number, defaultValue?: number) => number;
436
435
  export declare const isScalePaddingDefined: (prop: number | undefined, shorthandProp?: number) => boolean;
437
- export declare const formatDate: (date: Date, useUTC?: boolean) => string;
438
436
  export declare function getSecureProps(props?: Record<string, any>): Record<string, any>;
439
437
  export declare function areArraysEqual(arr1?: string[], arr2?: string[]): boolean;
440
438
  export declare function resolveCSSVariables(chartContainer: HTMLElement, styleRules: string): string;
@@ -442,4 +440,3 @@ export declare function copyStyle(properties: string[] | Record<string, string>,
442
440
  export declare const createMeasurementSpan: (text: string | number, className: string, parentElement?: HTMLElement | null) => HTMLElement;
443
441
  export declare function getCurveFactory(curve: ILineChartLineOptions['curve'], defaultFactory?: CurveFactory): CurveFactory;
444
442
  export declare const truncateString: (str: string, maxLength: number, ellipsis?: string) => string;
445
- export {};
@@ -1,9 +1,10 @@
1
- define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-selection", "d3-format", "d3-time-format", "d3-time", "d3-format", "@fluentui/react", "d3-shape"], function (require, exports, tslib_1, d3_axis_1, d3_array_1, d3_scale_1, d3_selection_1, d3_format_1, d3_time_format_1, d3_time_1, d3_format_2, react_1, d3_shape_1) {
1
+ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-selection", "d3-format", "d3-time-format", "d3-time", "d3-format", "@fluentui/react", "d3-shape", "@fluentui/chart-utilities"], function (require, exports, tslib_1, d3_axis_1, d3_array_1, d3_scale_1, d3_selection_1, d3_format_1, d3_time_format_1, d3_time_1, d3_format_2, react_1, d3_shape_1, chart_utilities_1) {
2
2
  "use strict";
3
3
  var _a;
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.truncateString = exports.getCurveFactory = exports.createMeasurementSpan = exports.copyStyle = exports.resolveCSSVariables = exports.areArraysEqual = exports.getSecureProps = exports.formatDate = exports.isScalePaddingDefined = exports.getScalePadding = exports.getBarWidth = exports.formatValueLimitWidth = exports.wrapTextInsideDonut = exports.rotateXAxisLabels = exports.convertToLocaleString = 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_DOMAIN_MARGIN = void 0;
5
+ exports.truncateString = exports.getCurveFactory = exports.createMeasurementSpan = 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;
6
6
  exports.MIN_DOMAIN_MARGIN = 8;
7
+ exports.MIN_DONUT_RADIUS = 1;
7
8
  var ChartTypes;
8
9
  (function (ChartTypes) {
9
10
  ChartTypes[ChartTypes["AreaChart"] = 0] = "AreaChart";
@@ -72,7 +73,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
72
73
  return (0, d3_format_1.format)(tickParams.tickFormat)(domainValue);
73
74
  }
74
75
  var xAxisValue = typeof domainValue === 'number' ? domainValue : domainValue.valueOf();
75
- return (0, exports.convertToLocaleString)(xAxisValue, culture);
76
+ return (0, chart_utilities_1.formatToLocaleString)(xAxisValue, culture);
76
77
  };
77
78
  if (hideTickOverlap && typeof xAxisCount === 'undefined') {
78
79
  var longestLabelWidth = (0, exports.calculateLongestLabelWidth)(xAxisScale.ticks().map(tickFormat), '[class^="xAxis-"] text') + 20;
@@ -110,7 +111,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
110
111
  * @param useUTC
111
112
  * @returns
112
113
  */
113
- function getMultiLevelDateFormatter(startLevel, endLevel, locale, useUTC) {
114
+ function getMultiLevelD3DateFormatter(startLevel, endLevel, locale, useUTC) {
114
115
  var timeFormat = locale ? (useUTC ? locale.utcFormat : locale.format) : useUTC ? d3_time_format_1.utcFormat : d3_time_format_1.timeFormat;
115
116
  // Refer to https://d3js.org/d3-time-format#locale_format to see explanation about each format specifier
116
117
  var DEFAULT = '%c';
@@ -190,14 +191,9 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
190
191
  return (_a = matchedFormat === null || matchedFormat === void 0 ? void 0 : matchedFormat.formatLevel) !== null && _a !== void 0 ? _a : 7;
191
192
  }
192
193
  function isPowerOf10(num) {
193
- var roundedfinalYMax = handleFloatingPointPrecisionError(num);
194
+ var roundedfinalYMax = (0, chart_utilities_1.handleFloatingPointPrecisionError)(num);
194
195
  return Math.log10(roundedfinalYMax) % 1 === 0;
195
196
  }
196
- //for reference, go through this 'https://docs.python.org/release/2.5.1/tut/node16.html'
197
- function handleFloatingPointPrecisionError(num) {
198
- var rounded = Math.round(num);
199
- return Math.abs(num - rounded) < 1e-6 ? rounded : num;
200
- }
201
197
  /**
202
198
  * Creating Date x axis of the Chart
203
199
  * @export
@@ -225,14 +221,12 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
225
221
  lowestFormatLevel = formatLevel;
226
222
  }
227
223
  });
228
- var formatFn = getMultiLevelDateFormatter(lowestFormatLevel, highestFormatLevel, locale, useUTC);
224
+ var formatOptions = options !== null && options !== void 0 ? options : (0, chart_utilities_1.getMultiLevelDateTimeFormatOptions)(lowestFormatLevel, highestFormatLevel);
225
+ var formatFn = getMultiLevelD3DateFormatter(lowestFormatLevel, highestFormatLevel, locale, useUTC);
229
226
  var tickFormat = function (domainValue, _index) {
230
227
  if (customDateTimeFormatter) {
231
228
  return customDateTimeFormatter(domainValue);
232
229
  }
233
- if (culture && options) {
234
- return domainValue.toLocaleString(culture, options);
235
- }
236
230
  if (timeFormatLocale) {
237
231
  return formatFn(domainValue);
238
232
  }
@@ -244,12 +238,12 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
244
238
  return (0, d3_time_format_1.timeFormat)(tickParams.tickFormat)(domainValue);
245
239
  }
246
240
  }
247
- return formatFn(domainValue);
241
+ return (0, chart_utilities_1.formatDateToLocaleString)(domainValue, culture, useUTC, false, formatOptions);
248
242
  };
249
243
  var longestLabelWidth = (0, exports.calculateLongestLabelWidth)(xAxisScale.ticks().map(tickFormat), '[class^="xAxis-"] text') + 40;
250
244
  var _d = xAxisScale.range(), start = _d[0], end = _d[1];
251
- tickCount = Math.min(Math.max(1, Math.floor(Math.abs(end - start) / longestLabelWidth)), 10);
252
- tickCount = Math.min(tickCount, xAxisCount !== null && xAxisCount !== void 0 ? xAxisCount : tickCount);
245
+ var maxPossibleTickCount = Math.min(Math.max(1, Math.floor(Math.abs(end - start) / longestLabelWidth)), 10);
246
+ tickCount = Math.min(maxPossibleTickCount, xAxisCount !== null && xAxisCount !== void 0 ? xAxisCount : tickCount);
253
247
  var xAxis = (0, d3_axis_1.axisBottom)(xAxisScale)
254
248
  .tickSize(xAxistickSize)
255
249
  .tickPadding(tickPadding)
@@ -451,14 +445,20 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
451
445
  * @param dataPoints
452
446
  * @param isRtl
453
447
  */
454
- var createStringYAxis = function (yAxisParams, dataPoints, isRtl) {
455
- 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;
448
+ var createStringYAxis = function (yAxisParams, dataPoints, isRtl, barWidth, chartType) {
449
+ 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, containerWidth = yAxisParams.containerWidth;
456
450
  var yAxisScale = (0, d3_scale_1.scaleBand)()
457
451
  .domain(dataPoints)
458
452
  .range([containerHeight - margins.bottom, margins.top])
459
453
  .padding(yAxisPadding);
454
+ if (chartType === ChartTypes.VerticalStackedBarChart) {
455
+ yAxisScale.paddingInner(1).paddingOuter(0);
456
+ }
460
457
  var axis = isRtl ? (0, d3_axis_1.axisRight)(yAxisScale) : (0, d3_axis_1.axisLeft)(yAxisScale);
461
458
  var yAxis = axis.tickPadding(tickPadding).tickValues(dataPoints).tickSize(0);
459
+ if (chartType === ChartTypes.VerticalStackedBarChart) {
460
+ axis.tickSizeInner(-(containerWidth - margins.left - margins.right));
461
+ }
462
462
  if (yAxisTickFormat) {
463
463
  yAxis.tickFormat(yAxisTickFormat);
464
464
  }
@@ -670,7 +670,7 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
670
670
  ? "...".concat(text.text().slice(0, noOfCharsToTruncate))
671
671
  : "".concat(text.text().slice(0, noOfCharsToTruncate), "...");
672
672
  var totalWordLength = text.text().length;
673
- var padding = truncateLabel ? 1.5 : 1; // ems
673
+ var padding = 0; // ems
674
674
  var y = text.attr('y');
675
675
  var x = text.attr('x');
676
676
  var dy = parseFloat(text.attr('dy'));
@@ -687,18 +687,17 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
687
687
  text
688
688
  .append('tspan')
689
689
  .attr('id', 'showDots')
690
- .attr('x', isRtl ? 0 : x)
690
+ .attr('x', x)
691
691
  .attr('y', y)
692
- .attr('dy', dy)
692
+ .attr('dy', dy + 'em')
693
693
  .attr('dx', padding + dx + 'em')
694
694
  .text(truncatedWord);
695
695
  }
696
696
  else {
697
697
  text
698
- .attr('text-align', 'start')
699
698
  .append('tspan')
700
699
  .attr('id', 'LessLength')
701
- .attr('x', isRtl ? 0 : x)
700
+ .attr('x', x)
702
701
  .attr('y', y)
703
702
  .attr('dx', padding + dx + 'em')
704
703
  .text(totalWord);
@@ -1164,30 +1163,6 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
1164
1163
  };
1165
1164
  };
1166
1165
  exports.getAccessibleDataObject = getAccessibleDataObject;
1167
- var convertToLocaleString = function (data, culture) {
1168
- if (data === undefined || data === null || Number.isNaN(data)) {
1169
- return data;
1170
- }
1171
- culture = culture || undefined;
1172
- if (typeof data === 'number') {
1173
- if (Math.abs(data) < 10000) {
1174
- return data.toString();
1175
- }
1176
- return data.toLocaleString(culture);
1177
- }
1178
- else if (typeof data === 'string' && !window.isNaN(Number(data))) {
1179
- var num = Number(data);
1180
- if (Math.abs(num) < 10000) {
1181
- return num.toString();
1182
- }
1183
- return num.toLocaleString(culture);
1184
- }
1185
- else if (data instanceof Date) {
1186
- return data.toLocaleDateString(culture);
1187
- }
1188
- return data;
1189
- };
1190
- exports.convertToLocaleString = convertToLocaleString;
1191
1166
  function rotateXAxisLabels(rotateLabelProps) {
1192
1167
  var node = rotateLabelProps.node, xAxis = rotateLabelProps.xAxis;
1193
1168
  if (node === null || xAxis === null) {
@@ -1265,10 +1240,10 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
1265
1240
  });
1266
1241
  }
1267
1242
  exports.wrapTextInsideDonut = wrapTextInsideDonut;
1268
- function formatValueLimitWidth(value) {
1243
+ function formatScientificLimitWidth(value) {
1269
1244
  return yAxisTickFormatterInternal(value, true);
1270
1245
  }
1271
- exports.formatValueLimitWidth = formatValueLimitWidth;
1246
+ exports.formatScientificLimitWidth = formatScientificLimitWidth;
1272
1247
  var DEFAULT_BAR_WIDTH = 16;
1273
1248
  var MIN_BAR_WIDTH = 1;
1274
1249
  var getBarWidth = function (barWidthProp, maxBarWidthProp, adjustedValue, modeProp) {
@@ -1301,11 +1276,6 @@ define(["require", "exports", "tslib", "d3-axis", "d3-array", "d3-scale", "d3-se
1301
1276
  return typeof prop === 'number' || typeof shorthandProp === 'number';
1302
1277
  };
1303
1278
  exports.isScalePaddingDefined = isScalePaddingDefined;
1304
- var formatDate = function (date, useUTC) {
1305
- var timeFormat = useUTC ? d3_time_format_1.utcFormat : d3_time_format_1.timeFormat;
1306
- return timeFormat('%-e %b %Y, %H:%M')(date) + (useUTC ? ' GMT' : '');
1307
- };
1308
- exports.formatDate = formatDate;
1309
1279
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1310
1280
  function getSecureProps(props) {
1311
1281
  if (props === void 0) { props = {}; }