@fluentui/react-charting 5.21.28 → 5.21.29
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.
- package/CHANGELOG.json +22 -1
- package/CHANGELOG.md +12 -2
- package/dist/react-charting.js +1 -0
- package/dist/react-charting.min.js +1 -0
- package/lib/AreaChart.js.map +1 -1
- package/lib/CartesianChart.js.map +1 -1
- package/lib/DonutChart.js.map +1 -1
- package/lib/GaugeChart.js.map +1 -1
- package/lib/GroupedVerticalBarChart.js.map +1 -1
- package/lib/HeatMapChart.js.map +1 -1
- package/lib/HorizontalBarChart.js.map +1 -1
- package/lib/HorizontalBarChartWithAxis.js.map +1 -1
- package/lib/Legends.js.map +1 -1
- package/lib/LineChart.js.map +1 -1
- package/lib/PieChart.js.map +1 -1
- package/lib/SankeyChart.js.map +1 -1
- package/lib/Sparkline.js.map +1 -1
- package/lib/StackedBarChart.js.map +1 -1
- package/lib/Styling.js.map +1 -1
- package/lib/TreeChart.js.map +1 -1
- package/lib/Utilities.js.map +1 -1
- package/lib/VerticalBarChart.js.map +1 -1
- package/lib/VerticalStackedBarChart.js.map +1 -1
- package/lib/components/AreaChart/AreaChart.base.js.map +1 -1
- package/lib/components/AreaChart/AreaChart.js.map +1 -1
- package/lib/components/AreaChart/AreaChart.styles.js.map +1 -1
- package/lib/components/AreaChart/AreaChart.types.js.map +1 -1
- package/lib/components/AreaChart/index.js.map +1 -1
- package/lib/components/CommonComponents/CartesianChart.base.js.map +1 -1
- package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
- package/lib/components/CommonComponents/CartesianChart.styles.js.map +1 -1
- package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
- package/lib/components/CommonComponents/index.js.map +1 -1
- package/lib/components/DonutChart/Arc/Arc.js.map +1 -1
- package/lib/components/DonutChart/Arc/Arc.styles.js.map +1 -1
- package/lib/components/DonutChart/Arc/Arc.types.js.map +1 -1
- package/lib/components/DonutChart/Arc/index.js.map +1 -1
- package/lib/components/DonutChart/DonutChart.base.js.map +1 -1
- package/lib/components/DonutChart/DonutChart.js.map +1 -1
- package/lib/components/DonutChart/DonutChart.styles.js.map +1 -1
- package/lib/components/DonutChart/DonutChart.types.js.map +1 -1
- package/lib/components/DonutChart/Pie/Pie.js.map +1 -1
- package/lib/components/DonutChart/Pie/Pie.styles.js.map +1 -1
- package/lib/components/DonutChart/Pie/Pie.types.js.map +1 -1
- package/lib/components/DonutChart/Pie/index.js.map +1 -1
- package/lib/components/DonutChart/index.js.map +1 -1
- package/lib/components/GaugeChart/GaugeChart.base.js.map +1 -1
- package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
- package/lib/components/GaugeChart/GaugeChart.styles.js.map +1 -1
- package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -1
- package/lib/components/GaugeChart/index.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/index.js.map +1 -1
- package/lib/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
- package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
- package/lib/components/HeatMapChart/HeatMapChart.styles.js.map +1 -1
- package/lib/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
- package/lib/components/HeatMapChart/index.js.map +1 -1
- package/lib/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
- package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
- package/lib/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -1
- package/lib/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -1
- package/lib/components/HorizontalBarChart/index.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/index.js.map +1 -1
- package/lib/components/Legends/Legends.base.js.map +1 -1
- package/lib/components/Legends/Legends.js.map +1 -1
- package/lib/components/Legends/Legends.styles.js.map +1 -1
- package/lib/components/Legends/Legends.types.js.map +1 -1
- package/lib/components/Legends/index.js.map +1 -1
- package/lib/components/Legends/shape.js.map +1 -1
- package/lib/components/LineChart/LineChart.base.js.map +1 -1
- package/lib/components/LineChart/LineChart.js.map +1 -1
- package/lib/components/LineChart/LineChart.styles.js.map +1 -1
- package/lib/components/LineChart/LineChart.types.js.map +1 -1
- package/lib/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
- package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
- package/lib/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
- package/lib/components/LineChart/index.js.map +1 -1
- package/lib/components/PieChart/Arc/Arc.js.map +1 -1
- package/lib/components/PieChart/Arc/Arc.styles.js.map +1 -1
- package/lib/components/PieChart/Arc/Arc.types.js.map +1 -1
- package/lib/components/PieChart/Arc/index.js.map +1 -1
- package/lib/components/PieChart/Pie/Pie.js.map +1 -1
- package/lib/components/PieChart/Pie/Pie.styles.js.map +1 -1
- package/lib/components/PieChart/Pie/Pie.types.js.map +1 -1
- package/lib/components/PieChart/Pie/index.js.map +1 -1
- package/lib/components/PieChart/PieChart.base.js.map +1 -1
- package/lib/components/PieChart/PieChart.js.map +1 -1
- package/lib/components/PieChart/PieChart.styles.js.map +1 -1
- package/lib/components/PieChart/PieChart.types.js.map +1 -1
- package/lib/components/PieChart/index.js.map +1 -1
- package/lib/components/SankeyChart/SankeyChart.base.js.map +1 -1
- package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
- package/lib/components/SankeyChart/SankeyChart.styles.js.map +1 -1
- package/lib/components/SankeyChart/SankeyChart.types.js.map +1 -1
- package/lib/components/SankeyChart/index.js.map +1 -1
- package/lib/components/Sparkline/Sparkline.base.js.map +1 -1
- package/lib/components/Sparkline/Sparkline.js.map +1 -1
- package/lib/components/Sparkline/Sparkline.styles.js.map +1 -1
- package/lib/components/Sparkline/Sparkline.types.js.map +1 -1
- package/lib/components/Sparkline/index.js.map +1 -1
- package/lib/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
- package/lib/components/StackedBarChart/MultiStackedBarChart.js.map +1 -1
- package/lib/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -1
- package/lib/components/StackedBarChart/MultiStackedBarChart.types.js.map +1 -1
- package/lib/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
- package/lib/components/StackedBarChart/StackedBarChart.js.map +1 -1
- package/lib/components/StackedBarChart/StackedBarChart.styles.js.map +1 -1
- package/lib/components/StackedBarChart/StackedBarChart.types.js.map +1 -1
- package/lib/components/StackedBarChart/index.js.map +1 -1
- package/lib/components/TreeChart/TreeChart.base.js.map +1 -1
- package/lib/components/TreeChart/TreeChart.js.map +1 -1
- package/lib/components/TreeChart/TreeChart.styles.js.map +1 -1
- package/lib/components/TreeChart/TreeChart.types.js.map +1 -1
- package/lib/components/TreeChart/index.js.map +1 -1
- package/lib/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
- package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
- package/lib/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -1
- package/lib/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
- package/lib/components/VerticalBarChart/index.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/index.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/types/IDataPoint.js.map +1 -1
- package/lib/types/IEventAnnotation.js.map +1 -1
- package/lib/types/ILegendDataItem.js.map +1 -1
- package/lib/types/index.js.map +1 -1
- package/lib/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
- package/lib/utilities/ChartHoverCard/ChartHoverCard.js.map +1 -1
- package/lib/utilities/ChartHoverCard/ChartHoverCard.styles.js.map +1 -1
- package/lib/utilities/ChartHoverCard/ChartHoverCard.types.js.map +1 -1
- package/lib/utilities/ChartHoverCard/index.js.map +1 -1
- package/lib/utilities/FocusableTooltipText.js.map +1 -1
- package/lib/utilities/SVGTooltipText.js.map +1 -1
- package/lib/utilities/colors.js.map +1 -1
- package/lib/utilities/index.js.map +1 -1
- package/lib/utilities/locale-util.js.map +1 -1
- package/lib/utilities/test-data.js.map +1 -1
- package/lib/utilities/utilities.js.map +1 -1
- package/lib/utilities/vbc-utils.js.map +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/lib-amd/AreaChart.d.ts +1 -0
- package/lib-amd/AreaChart.js +6 -0
- package/lib-amd/AreaChart.js.map +1 -0
- package/lib-amd/CartesianChart.d.ts +1 -0
- package/lib-amd/CartesianChart.js +6 -0
- package/lib-amd/CartesianChart.js.map +1 -0
- package/lib-amd/DonutChart.d.ts +1 -0
- package/lib-amd/DonutChart.js +6 -0
- package/lib-amd/DonutChart.js.map +1 -0
- package/lib-amd/GaugeChart.d.ts +1 -0
- package/lib-amd/GaugeChart.js +6 -0
- package/lib-amd/GaugeChart.js.map +1 -0
- package/lib-amd/GroupedVerticalBarChart.d.ts +1 -0
- package/lib-amd/GroupedVerticalBarChart.js +6 -0
- package/lib-amd/GroupedVerticalBarChart.js.map +1 -0
- package/lib-amd/HeatMapChart.d.ts +1 -0
- package/lib-amd/HeatMapChart.js +6 -0
- package/lib-amd/HeatMapChart.js.map +1 -0
- package/lib-amd/HorizontalBarChart.d.ts +1 -0
- package/lib-amd/HorizontalBarChart.js +6 -0
- package/lib-amd/HorizontalBarChart.js.map +1 -0
- package/lib-amd/HorizontalBarChartWithAxis.d.ts +1 -0
- package/lib-amd/HorizontalBarChartWithAxis.js +6 -0
- package/lib-amd/HorizontalBarChartWithAxis.js.map +1 -0
- package/lib-amd/Legends.d.ts +1 -0
- package/lib-amd/Legends.js +6 -0
- package/lib-amd/Legends.js.map +1 -0
- package/lib-amd/LineChart.d.ts +1 -0
- package/lib-amd/LineChart.js +6 -0
- package/lib-amd/LineChart.js.map +1 -0
- package/lib-amd/PieChart.d.ts +1 -0
- package/lib-amd/PieChart.js +6 -0
- package/lib-amd/PieChart.js.map +1 -0
- package/lib-amd/SankeyChart.d.ts +1 -0
- package/lib-amd/SankeyChart.js +6 -0
- package/lib-amd/SankeyChart.js.map +1 -0
- package/lib-amd/Sparkline.d.ts +1 -0
- package/lib-amd/Sparkline.js +6 -0
- package/lib-amd/Sparkline.js.map +1 -0
- package/lib-amd/StackedBarChart.d.ts +1 -0
- package/lib-amd/StackedBarChart.js +6 -0
- package/lib-amd/StackedBarChart.js.map +1 -0
- package/lib-amd/Styling.d.ts +2 -0
- package/lib-amd/Styling.js +75 -0
- package/lib-amd/Styling.js.map +1 -0
- package/lib-amd/TreeChart.d.ts +1 -0
- package/lib-amd/TreeChart.js +6 -0
- package/lib-amd/TreeChart.js.map +1 -0
- package/lib-amd/Utilities.d.ts +2 -0
- package/lib-amd/Utilities.js +183 -0
- package/lib-amd/Utilities.js.map +1 -0
- package/lib-amd/VerticalBarChart.d.ts +1 -0
- package/lib-amd/VerticalBarChart.js +6 -0
- package/lib-amd/VerticalBarChart.js.map +1 -0
- package/lib-amd/VerticalStackedBarChart.d.ts +1 -0
- package/lib-amd/VerticalStackedBarChart.js +6 -0
- package/lib-amd/VerticalStackedBarChart.js.map +1 -0
- package/lib-amd/components/AreaChart/AreaChart.base.d.ts +103 -0
- package/lib-amd/components/AreaChart/AreaChart.base.js +652 -0
- package/lib-amd/components/AreaChart/AreaChart.base.js.map +1 -0
- package/lib-amd/components/AreaChart/AreaChart.d.ts +7 -0
- package/lib-amd/components/AreaChart/AreaChart.js +12 -0
- package/lib-amd/components/AreaChart/AreaChart.js.map +1 -0
- package/lib-amd/components/AreaChart/AreaChart.styles.d.ts +2 -0
- package/lib-amd/components/AreaChart/AreaChart.styles.js +12 -0
- package/lib-amd/components/AreaChart/AreaChart.styles.js.map +1 -0
- package/lib-amd/components/AreaChart/AreaChart.types.d.ts +59 -0
- package/lib-amd/components/AreaChart/AreaChart.types.js +5 -0
- package/lib-amd/components/AreaChart/AreaChart.types.js.map +1 -0
- package/lib-amd/components/AreaChart/index.d.ts +2 -0
- package/lib-amd/components/AreaChart/index.js +7 -0
- package/lib-amd/components/AreaChart/index.js.map +1 -0
- package/lib-amd/components/CommonComponents/CartesianChart.base.d.ts +62 -0
- package/lib-amd/components/CommonComponents/CartesianChart.base.js +593 -0
- package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -0
- package/lib-amd/components/CommonComponents/CartesianChart.d.ts +7 -0
- package/lib-amd/components/CommonComponents/CartesianChart.js +11 -0
- package/lib-amd/components/CommonComponents/CartesianChart.js.map +1 -0
- package/lib-amd/components/CommonComponents/CartesianChart.styles.d.ts +2 -0
- package/lib-amd/components/CommonComponents/CartesianChart.styles.js +180 -0
- package/lib-amd/components/CommonComponents/CartesianChart.styles.js.map +1 -0
- package/lib-amd/components/CommonComponents/CartesianChart.types.d.ts +528 -0
- package/lib-amd/components/CommonComponents/CartesianChart.types.js +5 -0
- package/lib-amd/components/CommonComponents/CartesianChart.types.js.map +1 -0
- package/lib-amd/components/CommonComponents/index.d.ts +2 -0
- package/lib-amd/components/CommonComponents/index.js +7 -0
- package/lib-amd/components/CommonComponents/index.js.map +1 -0
- package/lib-amd/components/DonutChart/Arc/Arc.d.ts +21 -0
- package/lib-amd/components/DonutChart/Arc/Arc.js +88 -0
- package/lib-amd/components/DonutChart/Arc/Arc.js.map +1 -0
- package/lib-amd/components/DonutChart/Arc/Arc.styles.d.ts +2 -0
- package/lib-amd/components/DonutChart/Arc/Arc.styles.js +33 -0
- package/lib-amd/components/DonutChart/Arc/Arc.styles.js.map +1 -0
- package/lib-amd/components/DonutChart/Arc/Arc.types.d.ts +124 -0
- package/lib-amd/components/DonutChart/Arc/Arc.types.js +5 -0
- package/lib-amd/components/DonutChart/Arc/Arc.types.js.map +1 -0
- package/lib-amd/components/DonutChart/Arc/index.d.ts +2 -0
- package/lib-amd/components/DonutChart/Arc/index.js +7 -0
- package/lib-amd/components/DonutChart/Arc/index.js.map +1 -0
- package/lib-amd/components/DonutChart/DonutChart.base.d.ts +54 -0
- package/lib-amd/components/DonutChart/DonutChart.base.js +241 -0
- package/lib-amd/components/DonutChart/DonutChart.base.js.map +1 -0
- package/lib-amd/components/DonutChart/DonutChart.d.ts +7 -0
- package/lib-amd/components/DonutChart/DonutChart.js +12 -0
- package/lib-amd/components/DonutChart/DonutChart.js.map +1 -0
- package/lib-amd/components/DonutChart/DonutChart.styles.d.ts +2 -0
- package/lib-amd/components/DonutChart/DonutChart.styles.js +36 -0
- package/lib-amd/components/DonutChart/DonutChart.styles.js.map +1 -0
- package/lib-amd/components/DonutChart/DonutChart.types.d.ts +75 -0
- package/lib-amd/components/DonutChart/DonutChart.types.js +5 -0
- package/lib-amd/components/DonutChart/DonutChart.types.js.map +1 -0
- package/lib-amd/components/DonutChart/Pie/Pie.d.ts +15 -0
- package/lib-amd/components/DonutChart/Pie/Pie.js +67 -0
- package/lib-amd/components/DonutChart/Pie/Pie.js.map +1 -0
- package/lib-amd/components/DonutChart/Pie/Pie.styles.d.ts +2 -0
- package/lib-amd/components/DonutChart/Pie/Pie.styles.js +24 -0
- package/lib-amd/components/DonutChart/Pie/Pie.styles.js.map +1 -0
- package/lib-amd/components/DonutChart/Pie/Pie.types.d.ts +96 -0
- package/lib-amd/components/DonutChart/Pie/Pie.types.js +5 -0
- package/lib-amd/components/DonutChart/Pie/Pie.types.js.map +1 -0
- package/lib-amd/components/DonutChart/Pie/index.d.ts +2 -0
- package/lib-amd/components/DonutChart/Pie/index.js +7 -0
- package/lib-amd/components/DonutChart/Pie/index.js.map +1 -0
- package/lib-amd/components/DonutChart/index.d.ts +3 -0
- package/lib-amd/components/DonutChart/index.js +8 -0
- package/lib-amd/components/DonutChart/index.js.map +1 -0
- package/lib-amd/components/GaugeChart/GaugeChart.base.d.ts +75 -0
- package/lib-amd/components/GaugeChart/GaugeChart.base.js +410 -0
- package/lib-amd/components/GaugeChart/GaugeChart.base.js.map +1 -0
- package/lib-amd/components/GaugeChart/GaugeChart.d.ts +7 -0
- package/lib-amd/components/GaugeChart/GaugeChart.js +11 -0
- package/lib-amd/components/GaugeChart/GaugeChart.js.map +1 -0
- package/lib-amd/components/GaugeChart/GaugeChart.styles.d.ts +2 -0
- package/lib-amd/components/GaugeChart/GaugeChart.styles.js +122 -0
- package/lib-amd/components/GaugeChart/GaugeChart.styles.js.map +1 -0
- package/lib-amd/components/GaugeChart/GaugeChart.types.d.ts +238 -0
- package/lib-amd/components/GaugeChart/GaugeChart.types.js +22 -0
- package/lib-amd/components/GaugeChart/GaugeChart.types.js.map +1 -0
- package/lib-amd/components/GaugeChart/index.d.ts +2 -0
- package/lib-amd/components/GaugeChart/index.js +7 -0
- package/lib-amd/components/GaugeChart/index.js.map +1 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +72 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +425 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.d.ts +7 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +12 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.d.ts +2 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js +21 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.d.ts +111 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +5 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -0
- package/lib-amd/components/GroupedVerticalBarChart/index.d.ts +2 -0
- package/lib-amd/components/GroupedVerticalBarChart/index.js +7 -0
- package/lib-amd/components/GroupedVerticalBarChart/index.js.map +1 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.base.d.ts +152 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.base.js +538 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.base.js.map +1 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.d.ts +7 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.js +11 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.js.map +1 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.styles.d.ts +2 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.styles.js +29 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.styles.js.map +1 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.types.d.ts +122 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.types.js +5 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.types.js.map +1 -0
- package/lib-amd/components/HeatMapChart/index.d.ts +2 -0
- package/lib-amd/components/HeatMapChart/index.js +7 -0
- package/lib-amd/components/HeatMapChart/index.js.map +1 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.d.ts +47 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js +270 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.d.ts +7 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.js +12 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.d.ts +2 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.js +69 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.d.ts +188 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.js +14 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -0
- package/lib-amd/components/HorizontalBarChart/index.d.ts +3 -0
- package/lib-amd/components/HorizontalBarChart/index.js +8 -0
- package/lib-amd/components/HorizontalBarChart/index.js.map +1 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.d.ts +61 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +499 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.d.ts +7 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +12 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.d.ts +2 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +17 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.d.ts +112 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js +5 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/index.d.ts +2 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/index.js +7 -0
- package/lib-amd/components/HorizontalBarChartWithAxis/index.js.map +1 -0
- package/lib-amd/components/Legends/Legends.base.d.ts +43 -0
- package/lib-amd/components/Legends/Legends.base.js +308 -0
- package/lib-amd/components/Legends/Legends.base.js.map +1 -0
- package/lib-amd/components/Legends/Legends.d.ts +7 -0
- package/lib-amd/components/Legends/Legends.js +11 -0
- package/lib-amd/components/Legends/Legends.js.map +1 -0
- package/lib-amd/components/Legends/Legends.styles.d.ts +2 -0
- package/lib-amd/components/Legends/Legends.styles.js +111 -0
- package/lib-amd/components/Legends/Legends.styles.js.map +1 -0
- package/lib-amd/components/Legends/Legends.types.d.ts +210 -0
- package/lib-amd/components/Legends/Legends.types.js +5 -0
- package/lib-amd/components/Legends/Legends.types.js.map +1 -0
- package/lib-amd/components/Legends/index.d.ts +3 -0
- package/lib-amd/components/Legends/index.js +8 -0
- package/lib-amd/components/Legends/index.js.map +1 -0
- package/lib-amd/components/Legends/shape.d.ts +9 -0
- package/lib-amd/components/Legends/shape.js +27 -0
- package/lib-amd/components/Legends/shape.js.map +1 -0
- package/lib-amd/components/LineChart/LineChart.base.d.ts +92 -0
- package/lib-amd/components/LineChart/LineChart.base.js +861 -0
- package/lib-amd/components/LineChart/LineChart.base.js.map +1 -0
- package/lib-amd/components/LineChart/LineChart.d.ts +7 -0
- package/lib-amd/components/LineChart/LineChart.js +12 -0
- package/lib-amd/components/LineChart/LineChart.js.map +1 -0
- package/lib-amd/components/LineChart/LineChart.styles.d.ts +2 -0
- package/lib-amd/components/LineChart/LineChart.styles.js +12 -0
- package/lib-amd/components/LineChart/LineChart.styles.js.map +1 -0
- package/lib-amd/components/LineChart/LineChart.types.d.ts +98 -0
- package/lib-amd/components/LineChart/LineChart.types.js +5 -0
- package/lib-amd/components/LineChart/LineChart.types.js.map +1 -0
- package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.d.ts +12 -0
- package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.js +97 -0
- package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -0
- package/lib-amd/components/LineChart/eventAnnotation/LabelLink.d.ts +24 -0
- package/lib-amd/components/LineChart/eventAnnotation/LabelLink.js +42 -0
- package/lib-amd/components/LineChart/eventAnnotation/LabelLink.js.map +1 -0
- package/lib-amd/components/LineChart/eventAnnotation/Textbox.d.ts +13 -0
- package/lib-amd/components/LineChart/eventAnnotation/Textbox.js +40 -0
- package/lib-amd/components/LineChart/eventAnnotation/Textbox.js.map +1 -0
- package/lib-amd/components/LineChart/index.d.ts +3 -0
- package/lib-amd/components/LineChart/index.js +8 -0
- package/lib-amd/components/LineChart/index.js.map +1 -0
- package/lib-amd/components/PieChart/Arc/Arc.d.ts +17 -0
- package/lib-amd/components/PieChart/Arc/Arc.js +85 -0
- package/lib-amd/components/PieChart/Arc/Arc.js.map +1 -0
- package/lib-amd/components/PieChart/Arc/Arc.styles.d.ts +3 -0
- package/lib-amd/components/PieChart/Arc/Arc.styles.js +16 -0
- package/lib-amd/components/PieChart/Arc/Arc.styles.js.map +1 -0
- package/lib-amd/components/PieChart/Arc/Arc.types.d.ts +73 -0
- package/lib-amd/components/PieChart/Arc/Arc.types.js +5 -0
- package/lib-amd/components/PieChart/Arc/Arc.types.js.map +1 -0
- package/lib-amd/components/PieChart/Arc/index.d.ts +2 -0
- package/lib-amd/components/PieChart/Arc/index.js +7 -0
- package/lib-amd/components/PieChart/Arc/index.js.map +1 -0
- package/lib-amd/components/PieChart/Pie/Pie.d.ts +10 -0
- package/lib-amd/components/PieChart/Pie/Pie.js +43 -0
- package/lib-amd/components/PieChart/Pie/Pie.js.map +1 -0
- package/lib-amd/components/PieChart/Pie/Pie.styles.d.ts +2 -0
- package/lib-amd/components/PieChart/Pie/Pie.styles.js +12 -0
- package/lib-amd/components/PieChart/Pie/Pie.styles.js.map +1 -0
- package/lib-amd/components/PieChart/Pie/Pie.types.d.ts +47 -0
- package/lib-amd/components/PieChart/Pie/Pie.types.js +5 -0
- package/lib-amd/components/PieChart/Pie/Pie.types.js.map +1 -0
- package/lib-amd/components/PieChart/Pie/index.d.ts +2 -0
- package/lib-amd/components/PieChart/Pie/index.js +7 -0
- package/lib-amd/components/PieChart/Pie/index.js.map +1 -0
- package/lib-amd/components/PieChart/PieChart.base.d.ts +10 -0
- package/lib-amd/components/PieChart/PieChart.base.js +46 -0
- package/lib-amd/components/PieChart/PieChart.base.js.map +1 -0
- package/lib-amd/components/PieChart/PieChart.d.ts +7 -0
- package/lib-amd/components/PieChart/PieChart.js +12 -0
- package/lib-amd/components/PieChart/PieChart.js.map +1 -0
- package/lib-amd/components/PieChart/PieChart.styles.d.ts +2 -0
- package/lib-amd/components/PieChart/PieChart.styles.js +34 -0
- package/lib-amd/components/PieChart/PieChart.styles.js.map +1 -0
- package/lib-amd/components/PieChart/PieChart.types.d.ts +75 -0
- package/lib-amd/components/PieChart/PieChart.types.js +5 -0
- package/lib-amd/components/PieChart/PieChart.types.js.map +1 -0
- package/lib-amd/components/PieChart/index.d.ts +2 -0
- package/lib-amd/components/PieChart/index.js +7 -0
- package/lib-amd/components/PieChart/index.js.map +1 -0
- package/lib-amd/components/SankeyChart/SankeyChart.base.d.ts +90 -0
- package/lib-amd/components/SankeyChart/SankeyChart.base.js +930 -0
- package/lib-amd/components/SankeyChart/SankeyChart.base.js.map +1 -0
- package/lib-amd/components/SankeyChart/SankeyChart.d.ts +7 -0
- package/lib-amd/components/SankeyChart/SankeyChart.js +12 -0
- package/lib-amd/components/SankeyChart/SankeyChart.js.map +1 -0
- package/lib-amd/components/SankeyChart/SankeyChart.styles.d.ts +2 -0
- package/lib-amd/components/SankeyChart/SankeyChart.styles.js +65 -0
- package/lib-amd/components/SankeyChart/SankeyChart.styles.js.map +1 -0
- package/lib-amd/components/SankeyChart/SankeyChart.types.d.ts +146 -0
- package/lib-amd/components/SankeyChart/SankeyChart.types.js +5 -0
- package/lib-amd/components/SankeyChart/SankeyChart.types.js.map +1 -0
- package/lib-amd/components/SankeyChart/index.d.ts +2 -0
- package/lib-amd/components/SankeyChart/index.js +7 -0
- package/lib-amd/components/SankeyChart/index.js.map +1 -0
- package/lib-amd/components/Sparkline/Sparkline.base.d.ts +23 -0
- package/lib-amd/components/Sparkline/Sparkline.base.js +84 -0
- package/lib-amd/components/Sparkline/Sparkline.base.js.map +1 -0
- package/lib-amd/components/Sparkline/Sparkline.d.ts +7 -0
- package/lib-amd/components/Sparkline/Sparkline.js +12 -0
- package/lib-amd/components/Sparkline/Sparkline.js.map +1 -0
- package/lib-amd/components/Sparkline/Sparkline.styles.d.ts +2 -0
- package/lib-amd/components/Sparkline/Sparkline.styles.js +15 -0
- package/lib-amd/components/Sparkline/Sparkline.styles.js.map +1 -0
- package/lib-amd/components/Sparkline/Sparkline.types.d.ts +59 -0
- package/lib-amd/components/Sparkline/Sparkline.types.js +5 -0
- package/lib-amd/components/Sparkline/Sparkline.types.js.map +1 -0
- package/lib-amd/components/Sparkline/index.d.ts +2 -0
- package/lib-amd/components/Sparkline/index.js +7 -0
- package/lib-amd/components/Sparkline/index.js.map +1 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.d.ts +70 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js +412 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.d.ts +7 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.js +12 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.js.map +1 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.d.ts +2 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.js +89 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.d.ts +213 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.js +14 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.types.js.map +1 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.base.d.ts +63 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.base.js +349 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.base.js.map +1 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.d.ts +7 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.js +12 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.js.map +1 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.styles.d.ts +2 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.styles.js +107 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.styles.js.map +1 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.types.d.ts +222 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.types.js +5 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.types.js.map +1 -0
- package/lib-amd/components/StackedBarChart/index.d.ts +5 -0
- package/lib-amd/components/StackedBarChart/index.js +10 -0
- package/lib-amd/components/StackedBarChart/index.js.map +1 -0
- package/lib-amd/components/TreeChart/TreeChart.base.d.ts +18 -0
- package/lib-amd/components/TreeChart/TreeChart.base.js +320 -0
- package/lib-amd/components/TreeChart/TreeChart.base.js.map +1 -0
- package/lib-amd/components/TreeChart/TreeChart.d.ts +7 -0
- package/lib-amd/components/TreeChart/TreeChart.js +11 -0
- package/lib-amd/components/TreeChart/TreeChart.js.map +1 -0
- package/lib-amd/components/TreeChart/TreeChart.styles.d.ts +2 -0
- package/lib-amd/components/TreeChart/TreeChart.styles.js +34 -0
- package/lib-amd/components/TreeChart/TreeChart.styles.js.map +1 -0
- package/lib-amd/components/TreeChart/TreeChart.types.d.ts +216 -0
- package/lib-amd/components/TreeChart/TreeChart.types.js +34 -0
- package/lib-amd/components/TreeChart/TreeChart.types.js.map +1 -0
- package/lib-amd/components/TreeChart/index.d.ts +2 -0
- package/lib-amd/components/TreeChart/index.js +7 -0
- package/lib-amd/components/TreeChart/index.js.map +1 -0
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.d.ts +84 -0
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js +738 -0
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -0
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.d.ts +7 -0
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.js +12 -0
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.js.map +1 -0
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.d.ts +2 -0
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.js +32 -0
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -0
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.d.ts +145 -0
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.js +5 -0
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -0
- package/lib-amd/components/VerticalBarChart/index.d.ts +2 -0
- package/lib-amd/components/VerticalBarChart/index.js +7 -0
- package/lib-amd/components/VerticalBarChart/index.js.map +1 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +92 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +754 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.d.ts +7 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.js +12 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.d.ts +2 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js +22 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.d.ts +172 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js +5 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -0
- package/lib-amd/components/VerticalStackedBarChart/index.d.ts +2 -0
- package/lib-amd/components/VerticalStackedBarChart/index.js +7 -0
- package/lib-amd/components/VerticalStackedBarChart/index.js.map +1 -0
- package/lib-amd/index.d.ts +21 -0
- package/lib-amd/index.js +25 -0
- package/lib-amd/index.js.map +1 -0
- package/lib-amd/types/IDataPoint.d.ts +687 -0
- package/lib-amd/types/IDataPoint.js +5 -0
- package/lib-amd/types/IDataPoint.js.map +1 -0
- package/lib-amd/types/IEventAnnotation.d.ts +6 -0
- package/lib-amd/types/IEventAnnotation.js +5 -0
- package/lib-amd/types/IEventAnnotation.js.map +1 -0
- package/lib-amd/types/ILegendDataItem.d.ts +10 -0
- package/lib-amd/types/ILegendDataItem.js +5 -0
- package/lib-amd/types/ILegendDataItem.js.map +1 -0
- package/lib-amd/types/index.d.ts +2 -0
- package/lib-amd/types/index.js +7 -0
- package/lib-amd/types/index.js.map +1 -0
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.d.ts +6 -0
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js +39 -0
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -0
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.d.ts +3 -0
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.js +8 -0
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.js.map +1 -0
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.styles.d.ts +2 -0
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.styles.js +103 -0
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.styles.js.map +1 -0
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.types.d.ts +105 -0
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.types.js +5 -0
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.types.js.map +1 -0
- package/lib-amd/utilities/ChartHoverCard/index.d.ts +3 -0
- package/lib-amd/utilities/ChartHoverCard/index.js +8 -0
- package/lib-amd/utilities/ChartHoverCard/index.js.map +1 -0
- package/lib-amd/utilities/FocusableTooltipText.d.ts +27 -0
- package/lib-amd/utilities/FocusableTooltipText.js +54 -0
- package/lib-amd/utilities/FocusableTooltipText.js.map +1 -0
- package/lib-amd/utilities/SVGTooltipText.d.ts +95 -0
- package/lib-amd/utilities/SVGTooltipText.js +175 -0
- package/lib-amd/utilities/SVGTooltipText.js.map +1 -0
- package/lib-amd/utilities/colors.d.ts +51 -0
- package/lib-amd/utilities/colors.js +139 -0
- package/lib-amd/utilities/colors.js.map +1 -0
- package/lib-amd/utilities/index.d.ts +4 -0
- package/lib-amd/utilities/index.js +9 -0
- package/lib-amd/utilities/index.js.map +1 -0
- package/lib-amd/utilities/locale-util.d.ts +3 -0
- package/lib-amd/utilities/locale-util.js +24 -0
- package/lib-amd/utilities/locale-util.js.map +1 -0
- package/lib-amd/utilities/test-data.d.ts +27 -0
- package/lib-amd/utilities/test-data.js +214 -0
- package/lib-amd/utilities/test-data.js.map +1 -0
- package/lib-amd/utilities/utilities.d.ts +411 -0
- package/lib-amd/utilities/utilities.js +1085 -0
- package/lib-amd/utilities/utilities.js.map +1 -0
- package/lib-amd/utilities/vbc-utils.d.ts +2 -0
- package/lib-amd/utilities/vbc-utils.js +38 -0
- package/lib-amd/utilities/vbc-utils.js.map +1 -0
- package/lib-amd/version.d.ts +1 -0
- package/lib-amd/version.js +6 -0
- package/lib-amd/version.js.map +1 -0
- package/lib-commonjs/AreaChart.js.map +1 -1
- package/lib-commonjs/CartesianChart.js.map +1 -1
- package/lib-commonjs/DonutChart.js.map +1 -1
- package/lib-commonjs/GaugeChart.js.map +1 -1
- package/lib-commonjs/GroupedVerticalBarChart.js.map +1 -1
- package/lib-commonjs/HeatMapChart.js.map +1 -1
- package/lib-commonjs/HorizontalBarChart.js.map +1 -1
- package/lib-commonjs/HorizontalBarChartWithAxis.js.map +1 -1
- package/lib-commonjs/Legends.js.map +1 -1
- package/lib-commonjs/LineChart.js.map +1 -1
- package/lib-commonjs/PieChart.js.map +1 -1
- package/lib-commonjs/SankeyChart.js.map +1 -1
- package/lib-commonjs/Sparkline.js.map +1 -1
- package/lib-commonjs/StackedBarChart.js.map +1 -1
- package/lib-commonjs/Styling.js.map +1 -1
- package/lib-commonjs/TreeChart.js.map +1 -1
- package/lib-commonjs/Utilities.js.map +1 -1
- package/lib-commonjs/VerticalBarChart.js.map +1 -1
- package/lib-commonjs/VerticalStackedBarChart.js.map +1 -1
- package/lib-commonjs/components/AreaChart/AreaChart.base.js.map +1 -1
- package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -1
- package/lib-commonjs/components/AreaChart/AreaChart.styles.js.map +1 -1
- package/lib-commonjs/components/AreaChart/AreaChart.types.js.map +1 -1
- package/lib-commonjs/components/AreaChart/index.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/index.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Arc/Arc.styles.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Arc/Arc.types.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Arc/index.js.map +1 -1
- package/lib-commonjs/components/DonutChart/DonutChart.base.js.map +1 -1
- package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -1
- package/lib-commonjs/components/DonutChart/DonutChart.styles.js.map +1 -1
- package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Pie/Pie.styles.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Pie/Pie.types.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Pie/index.js.map +1 -1
- package/lib-commonjs/components/DonutChart/index.js.map +1 -1
- package/lib-commonjs/components/GaugeChart/GaugeChart.base.js.map +1 -1
- package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -1
- package/lib-commonjs/components/GaugeChart/GaugeChart.styles.js.map +1 -1
- package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -1
- package/lib-commonjs/components/GaugeChart/index.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/index.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.styles.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.types.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/index.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.types.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/index.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.types.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js.map +1 -1
- package/lib-commonjs/components/Legends/Legends.base.js.map +1 -1
- package/lib-commonjs/components/Legends/Legends.js.map +1 -1
- package/lib-commonjs/components/Legends/Legends.styles.js.map +1 -1
- package/lib-commonjs/components/Legends/Legends.types.js.map +1 -1
- package/lib-commonjs/components/Legends/index.js.map +1 -1
- package/lib-commonjs/components/Legends/shape.js.map +1 -1
- package/lib-commonjs/components/LineChart/LineChart.base.js.map +1 -1
- package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
- package/lib-commonjs/components/LineChart/LineChart.styles.js.map +1 -1
- package/lib-commonjs/components/LineChart/LineChart.types.js.map +1 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
- package/lib-commonjs/components/LineChart/index.js.map +1 -1
- package/lib-commonjs/components/PieChart/Arc/Arc.js.map +1 -1
- package/lib-commonjs/components/PieChart/Arc/Arc.styles.js.map +1 -1
- package/lib-commonjs/components/PieChart/Arc/Arc.types.js.map +1 -1
- package/lib-commonjs/components/PieChart/Arc/index.js.map +1 -1
- package/lib-commonjs/components/PieChart/Pie/Pie.js.map +1 -1
- package/lib-commonjs/components/PieChart/Pie/Pie.styles.js.map +1 -1
- package/lib-commonjs/components/PieChart/Pie/Pie.types.js.map +1 -1
- package/lib-commonjs/components/PieChart/Pie/index.js.map +1 -1
- package/lib-commonjs/components/PieChart/PieChart.base.js.map +1 -1
- package/lib-commonjs/components/PieChart/PieChart.js.map +1 -1
- package/lib-commonjs/components/PieChart/PieChart.styles.js.map +1 -1
- package/lib-commonjs/components/PieChart/PieChart.types.js.map +1 -1
- package/lib-commonjs/components/PieChart/index.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/SankeyChart.base.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/SankeyChart.types.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/index.js.map +1 -1
- package/lib-commonjs/components/Sparkline/Sparkline.base.js.map +1 -1
- package/lib-commonjs/components/Sparkline/Sparkline.js.map +1 -1
- package/lib-commonjs/components/Sparkline/Sparkline.styles.js.map +1 -1
- package/lib-commonjs/components/Sparkline/Sparkline.types.js.map +1 -1
- package/lib-commonjs/components/Sparkline/index.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.types.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/StackedBarChart.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/StackedBarChart.styles.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/StackedBarChart.types.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/index.js.map +1 -1
- package/lib-commonjs/components/TreeChart/TreeChart.base.js.map +1 -1
- package/lib-commonjs/components/TreeChart/TreeChart.js.map +1 -1
- package/lib-commonjs/components/TreeChart/TreeChart.styles.js.map +1 -1
- package/lib-commonjs/components/TreeChart/TreeChart.types.js.map +1 -1
- package/lib-commonjs/components/TreeChart/index.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.types.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/index.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/index.js.map +1 -1
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/types/IDataPoint.js.map +1 -1
- package/lib-commonjs/types/IEventAnnotation.js.map +1 -1
- package/lib-commonjs/types/ILegendDataItem.js.map +1 -1
- package/lib-commonjs/types/index.js.map +1 -1
- package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
- package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.js.map +1 -1
- package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.styles.js.map +1 -1
- package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.types.js.map +1 -1
- package/lib-commonjs/utilities/ChartHoverCard/index.js.map +1 -1
- package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -1
- package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -1
- package/lib-commonjs/utilities/colors.js.map +1 -1
- package/lib-commonjs/utilities/index.js.map +1 -1
- package/lib-commonjs/utilities/locale-util.js.map +1 -1
- package/lib-commonjs/utilities/test-data.js.map +1 -1
- package/lib-commonjs/utilities/utilities.js.map +1 -1
- package/lib-commonjs/utilities/vbc-utils.js.map +1 -1
- package/lib-commonjs/version.js +1 -1
- package/lib-commonjs/version.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
define(["require", "exports", "tslib", "../../components/CommonComponents/index", "d3-scale", "@fluentui/react/lib/Utilities", "@fluentui/react-focus", "@fluentui/react/lib/Callout", "react", "../Legends/index", "../../utilities/locale-util", "../../utilities/utilities", "d3-format", "d3-time-format"], function (require, exports, tslib_1, index_1, d3_scale_1, Utilities_1, react_focus_1, Callout_1, React, index_2, locale_util_1, utilities_1, d3_format_1, d3_time_format_1) {
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.HeatMapChartBase = void 0;
|
|
5
|
+
var getClassNames = (0, Utilities_1.classNamesFunction)();
|
|
6
|
+
var HeatMapChartBase = /** @class */ (function (_super) {
|
|
7
|
+
tslib_1.__extends(HeatMapChartBase, _super);
|
|
8
|
+
function HeatMapChartBase(props) {
|
|
9
|
+
var _this = _super.call(this, props) || this;
|
|
10
|
+
/**
|
|
11
|
+
* This array contains ref for all the rectangles
|
|
12
|
+
* drawn inside the chard
|
|
13
|
+
*/
|
|
14
|
+
_this._rectRefArray = {};
|
|
15
|
+
_this._getMinMaxOfYAxis = function () {
|
|
16
|
+
return { startValue: 0, endValue: 0 };
|
|
17
|
+
};
|
|
18
|
+
_this._getDomainNRangeValues = function (points, margins, width, chartType, isRTL, xAxisType, barWidth, tickValues, shiftX) {
|
|
19
|
+
var domainNRangeValue;
|
|
20
|
+
if (xAxisType === utilities_1.XAxisTypes.NumericAxis || xAxisType === utilities_1.XAxisTypes.DateAxis) {
|
|
21
|
+
domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
domainNRangeValue = (0, utilities_1.domainRangeOfXStringAxis)(margins, width, isRTL);
|
|
25
|
+
}
|
|
26
|
+
return domainNRangeValue;
|
|
27
|
+
};
|
|
28
|
+
_this._getXandY = function () {
|
|
29
|
+
var x = '';
|
|
30
|
+
var y = '';
|
|
31
|
+
_this.props.data.forEach(function (item) {
|
|
32
|
+
if (item.data && item.data.length > 0) {
|
|
33
|
+
x = item.data[0].x;
|
|
34
|
+
y = item.data[0].y;
|
|
35
|
+
return { x: x, y: y };
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return { x: x, y: y };
|
|
39
|
+
};
|
|
40
|
+
_this._getOpacity = function (legendTitle) {
|
|
41
|
+
var opacity = _this._legendHighlighted(legendTitle) || _this._noLegendHighlighted() ? '1' : '0.1';
|
|
42
|
+
return opacity;
|
|
43
|
+
};
|
|
44
|
+
_this._rectRefCallback = function (rectElement, index, dataPointObject) {
|
|
45
|
+
_this._rectRefArray[index] = { data: dataPointObject, refElement: rectElement };
|
|
46
|
+
};
|
|
47
|
+
_this._onRectFocus = function (id, data) {
|
|
48
|
+
_this.setState({
|
|
49
|
+
target: _this._rectRefArray[id].refElement,
|
|
50
|
+
/** Show the callout if highlighted rectangle is focused and Hide it if unhighlighted rectangle is focused */
|
|
51
|
+
isCalloutVisible: _this.state.selectedLegend === '' || _this.state.selectedLegend === data.legend,
|
|
52
|
+
calloutYValue: "".concat(data.rectText),
|
|
53
|
+
calloutTextColor: Number.isNaN(data.value)
|
|
54
|
+
? _this.props.theme.semanticColors.bodyText
|
|
55
|
+
: _this._colorScale(data.value),
|
|
56
|
+
calloutLegend: data.legend,
|
|
57
|
+
ratio: data.ratio || null,
|
|
58
|
+
descriptionMessage: data.descriptionMessage || '',
|
|
59
|
+
calloutId: id,
|
|
60
|
+
callOutAccessibilityData: data.callOutAccessibilityData,
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
_this._onRectMouseOver = function (id, data, mouseEvent) {
|
|
64
|
+
mouseEvent.persist();
|
|
65
|
+
if (_this._calloutAnchorPoint !== data) {
|
|
66
|
+
_this._calloutAnchorPoint = data;
|
|
67
|
+
_this.setState({
|
|
68
|
+
target: _this._rectRefArray[id].refElement,
|
|
69
|
+
/** Show the callout if highlighted rectangle is hovered and Hide it if unhighlighted rectangle is hovered */
|
|
70
|
+
isCalloutVisible: _this.state.selectedLegend === '' || _this.state.selectedLegend === data.legend,
|
|
71
|
+
calloutYValue: "".concat(data.rectText),
|
|
72
|
+
calloutTextColor: Number.isNaN(data.value)
|
|
73
|
+
? _this.props.theme.semanticColors.bodyText
|
|
74
|
+
: _this._colorScale(data.value),
|
|
75
|
+
calloutLegend: data.legend,
|
|
76
|
+
ratio: data.ratio || null,
|
|
77
|
+
descriptionMessage: data.descriptionMessage || '',
|
|
78
|
+
calloutId: id,
|
|
79
|
+
callOutAccessibilityData: data.callOutAccessibilityData,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
_this._onRectBlurOrMouseOut = function () {
|
|
84
|
+
/**/
|
|
85
|
+
};
|
|
86
|
+
_this._handleChartMouseLeave = function () {
|
|
87
|
+
_this._calloutAnchorPoint = null;
|
|
88
|
+
_this.setState({
|
|
89
|
+
isCalloutVisible: false,
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* This is the function which is responsible for
|
|
94
|
+
* drawing the rectangle in the graph and also
|
|
95
|
+
* attaching dom events to that rectangles
|
|
96
|
+
*/
|
|
97
|
+
_this._createRectangles = function () {
|
|
98
|
+
var rectangles = [];
|
|
99
|
+
var yAxisDataPoints = _this._stringYAxisDataPoints.slice().reverse();
|
|
100
|
+
/**
|
|
101
|
+
* yAxisDataPoint is noting but the DataPoint
|
|
102
|
+
* which will be rendered on the y-axis
|
|
103
|
+
*/
|
|
104
|
+
yAxisDataPoints.forEach(function (yAxisDataPoint) {
|
|
105
|
+
var index = 0;
|
|
106
|
+
_this._stringXAxisDataPoints.forEach(function (xAxisDataPoint) {
|
|
107
|
+
var _a;
|
|
108
|
+
var rectElement;
|
|
109
|
+
var id = "x".concat(xAxisDataPoint, "y").concat(yAxisDataPoint);
|
|
110
|
+
if (((_a = _this._dataSet[yAxisDataPoint][index]) === null || _a === void 0 ? void 0 : _a.x) === xAxisDataPoint) {
|
|
111
|
+
/**
|
|
112
|
+
* dataPointObject is an object where it contains information on single
|
|
113
|
+
* data point such as x, y , value, rectText property of the rectangle
|
|
114
|
+
*/
|
|
115
|
+
var dataPointObject_1 = _this._dataSet[yAxisDataPoint][index];
|
|
116
|
+
rectElement = (React.createElement("g", { key: id, role: "img", "aria-label": _this._getAriaLabel(dataPointObject_1), "data-is-focusable": _this._legendHighlighted(dataPointObject_1.legend) || _this._noLegendHighlighted(), fillOpacity: _this._getOpacity(dataPointObject_1.legend), transform: "translate(".concat(_this._xAxisScale(dataPointObject_1.x), ", ").concat(_this._yAxisScale(dataPointObject_1.y), ")"), ref: function (gElement) {
|
|
117
|
+
_this._rectRefCallback(gElement, id, dataPointObject_1);
|
|
118
|
+
}, onFocus: _this._onRectFocus.bind(_this, id, dataPointObject_1), onBlur: _this._onRectBlurOrMouseOut, onMouseOver: _this._onRectMouseOver.bind(_this, id, dataPointObject_1), onMouseOut: _this._onRectBlurOrMouseOut },
|
|
119
|
+
React.createElement("rect", { fill: _this._colorScale(dataPointObject_1.value), width: _this._xAxisScale.bandwidth(), height: _this._yAxisScale.bandwidth(), onClick: dataPointObject_1.onClick }),
|
|
120
|
+
React.createElement("text", { dominantBaseline: 'middle', textAnchor: 'middle', className: _this._classNames.text, transform: "translate(".concat(_this._xAxisScale.bandwidth() / 2, ", ").concat(_this._yAxisScale.bandwidth() / 2, ")") }, (0, locale_util_1.convertToLocaleString)(dataPointObject_1.rectText, _this.props.culture))));
|
|
121
|
+
index++;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
var dataPointObject_2 = {
|
|
125
|
+
x: xAxisDataPoint,
|
|
126
|
+
y: yAxisDataPoint,
|
|
127
|
+
value: NaN,
|
|
128
|
+
rectText: 'No data available',
|
|
129
|
+
legend: '',
|
|
130
|
+
};
|
|
131
|
+
rectElement = (React.createElement("g", { key: id, role: "img", "aria-label": _this._getAriaLabel(dataPointObject_2), "data-is-focusable": _this._noLegendHighlighted(), transform: "translate(".concat(_this._xAxisScale(dataPointObject_2.x), ", ").concat(_this._yAxisScale(dataPointObject_2.y), ")"), ref: function (gElement) {
|
|
132
|
+
_this._rectRefCallback(gElement, id, dataPointObject_2);
|
|
133
|
+
}, onFocus: _this._onRectFocus.bind(_this, id, dataPointObject_2), onBlur: _this._onRectBlurOrMouseOut, onMouseOver: _this._onRectMouseOver.bind(_this, id, dataPointObject_2), onMouseOut: _this._onRectBlurOrMouseOut },
|
|
134
|
+
React.createElement("rect", { fill: _this.props.theme.semanticColors.bodyBackground, width: _this._xAxisScale.bandwidth(), height: _this._yAxisScale.bandwidth() })));
|
|
135
|
+
}
|
|
136
|
+
rectangles.push(rectElement);
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
return rectangles;
|
|
140
|
+
};
|
|
141
|
+
_this._createLegendBars = function () {
|
|
142
|
+
var _a = _this.props, data = _a.data, legendProps = _a.legendProps;
|
|
143
|
+
var legends = [];
|
|
144
|
+
data.forEach(function (item) {
|
|
145
|
+
var legend = {
|
|
146
|
+
title: item.legend,
|
|
147
|
+
color: _this._colorScale(item.value),
|
|
148
|
+
action: function () {
|
|
149
|
+
_this._onLegendClick(item.legend);
|
|
150
|
+
},
|
|
151
|
+
hoverAction: function () {
|
|
152
|
+
_this._handleChartMouseLeave();
|
|
153
|
+
_this._onLegendHover(item.legend);
|
|
154
|
+
},
|
|
155
|
+
onMouseOutAction: function () {
|
|
156
|
+
_this._onLegendLeave();
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
legends.push(legend);
|
|
160
|
+
});
|
|
161
|
+
return React.createElement(index_2.Legends, tslib_1.__assign({}, legendProps, { legends: legends }));
|
|
162
|
+
};
|
|
163
|
+
_this._getColorScale = function () {
|
|
164
|
+
var _a = _this.props, domainValuesForColorScale = _a.domainValuesForColorScale, rangeValuesForColorScale = _a.rangeValuesForColorScale;
|
|
165
|
+
return (0, d3_scale_1.scaleLinear)()
|
|
166
|
+
.domain(domainValuesForColorScale)
|
|
167
|
+
.range(rangeValuesForColorScale);
|
|
168
|
+
};
|
|
169
|
+
_this._getXIndex = function (value) {
|
|
170
|
+
if (_this._xAxisType === utilities_1.XAxisTypes.DateAxis) {
|
|
171
|
+
return "".concat(value.getTime());
|
|
172
|
+
}
|
|
173
|
+
else if (_this._xAxisType === utilities_1.XAxisTypes.StringAxis) {
|
|
174
|
+
return value;
|
|
175
|
+
}
|
|
176
|
+
else if (_this._xAxisType === utilities_1.XAxisTypes.NumericAxis) {
|
|
177
|
+
return "".concat(value);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
return '';
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
_this._getYIndex = function (value) {
|
|
184
|
+
if (_this._yAxisType === utilities_1.YAxisType.DateAxis) {
|
|
185
|
+
return "".concat(value.getTime());
|
|
186
|
+
}
|
|
187
|
+
else if (_this._yAxisType === utilities_1.YAxisType.StringAxis) {
|
|
188
|
+
return value;
|
|
189
|
+
}
|
|
190
|
+
else if (_this._yAxisType === utilities_1.YAxisType.NumericAxis) {
|
|
191
|
+
return "".concat(value);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
return '';
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* This will create a new data set based on the prop
|
|
199
|
+
* @data
|
|
200
|
+
* We will be using This data set to contsruct our rectangles
|
|
201
|
+
* in the chart, we use this data set becuase, when we loop in this
|
|
202
|
+
* data and build the heat map, it will support accessibility as
|
|
203
|
+
* specified in the figma
|
|
204
|
+
*/
|
|
205
|
+
_this._createNewDataSet = function (data, xAxisDateFormatString, xAxisNumberFormatString, yAxisDateFormatString, yAxisNumberFormatString) {
|
|
206
|
+
/**
|
|
207
|
+
* please do not destructure any of the props here,
|
|
208
|
+
* instead send them as parameter to this functions so that
|
|
209
|
+
* this functions get called whenever the prop changes
|
|
210
|
+
*/
|
|
211
|
+
var flattenData = [];
|
|
212
|
+
/**
|
|
213
|
+
* below for each loop will store all the datapoints in the one array.
|
|
214
|
+
* basically it will flatten the nestesd array (data prop) into single array
|
|
215
|
+
* of object. where each object contains x, y, rectText , value and legend propety of single
|
|
216
|
+
* data point.
|
|
217
|
+
*/
|
|
218
|
+
data.forEach(function (item) {
|
|
219
|
+
item.data.forEach(function (point) {
|
|
220
|
+
flattenData.push(tslib_1.__assign(tslib_1.__assign({}, point), { legend: item.legend }));
|
|
221
|
+
});
|
|
222
|
+
});
|
|
223
|
+
var yPoints = {};
|
|
224
|
+
var uniqueYPoints = {};
|
|
225
|
+
var uniqueXPoints = {};
|
|
226
|
+
flattenData.forEach(function (item) {
|
|
227
|
+
var posX = _this._getXIndex(item.x);
|
|
228
|
+
var posY = _this._getYIndex(item.y);
|
|
229
|
+
uniqueXPoints[posX] = '1';
|
|
230
|
+
uniqueYPoints[posY] = '1';
|
|
231
|
+
/** we will check if the property(posY) is already there in object, if Yes,
|
|
232
|
+
* then we will append the item in the Array related to the pos, if not
|
|
233
|
+
* then we will simply append the item in the new Array and
|
|
234
|
+
* assign that array to the property (posY) in the Object
|
|
235
|
+
* and finally we will get the array of Objects associated to each
|
|
236
|
+
* property (which is nothing but y data point) and object in the
|
|
237
|
+
* array are noting but x data points associated to the property y
|
|
238
|
+
*/
|
|
239
|
+
if (yPoints[posY]) {
|
|
240
|
+
yPoints[posY] = tslib_1.__spreadArray(tslib_1.__spreadArray([], yPoints[posY], true), [item], false);
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
yPoints[posY] = [item];
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
/**
|
|
247
|
+
* we will now sort(ascending) the array's of y data point based on the x value
|
|
248
|
+
* sorting is important to achive the accessibility order of the
|
|
249
|
+
* rectangles and then format the x and y datapoints respectively
|
|
250
|
+
*/
|
|
251
|
+
Object.keys(yPoints).forEach(function (item) {
|
|
252
|
+
yPoints[item]
|
|
253
|
+
.sort(function (a, b) {
|
|
254
|
+
if (_this._xAxisType === utilities_1.XAxisTypes.StringAxis) {
|
|
255
|
+
return a.x.toLowerCase() > b.x.toLowerCase() ? 1 : -1;
|
|
256
|
+
}
|
|
257
|
+
else if (_this._xAxisType === utilities_1.XAxisTypes.DateAxis) {
|
|
258
|
+
return a.x.getTime() - b.x.getTime();
|
|
259
|
+
}
|
|
260
|
+
else if (_this._xAxisType === utilities_1.XAxisTypes.NumericAxis) {
|
|
261
|
+
return +a.x > +b.x ? 1 : -1;
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
return a.x > b.x ? 1 : -1;
|
|
265
|
+
}
|
|
266
|
+
})
|
|
267
|
+
.forEach(function (datapoint) {
|
|
268
|
+
if (_this._xAxisType === utilities_1.XAxisTypes.DateAxis) {
|
|
269
|
+
datapoint.x = _this._getStringFormattedDate(datapoint.x, xAxisDateFormatString);
|
|
270
|
+
}
|
|
271
|
+
if (_this._xAxisType === utilities_1.XAxisTypes.NumericAxis) {
|
|
272
|
+
datapoint.x = _this._getStringFormattedNumber(datapoint.x, xAxisNumberFormatString);
|
|
273
|
+
}
|
|
274
|
+
if (_this._xAxisType === utilities_1.XAxisTypes.StringAxis) {
|
|
275
|
+
datapoint.x = _this._getFormattedLabelForXAxisDataPoint(datapoint.x);
|
|
276
|
+
}
|
|
277
|
+
if (_this._yAxisType === utilities_1.YAxisType.DateAxis) {
|
|
278
|
+
datapoint.y = _this._getStringFormattedDate(datapoint.y, yAxisDateFormatString);
|
|
279
|
+
}
|
|
280
|
+
if (_this._yAxisType === utilities_1.YAxisType.NumericAxis) {
|
|
281
|
+
datapoint.y = _this._getStringFormattedNumber(datapoint.y, yAxisNumberFormatString);
|
|
282
|
+
}
|
|
283
|
+
if (_this._yAxisType === utilities_1.YAxisType.StringAxis) {
|
|
284
|
+
datapoint.y = _this._getFormattedLabelForYAxisDataPoint(datapoint.y);
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
});
|
|
288
|
+
/**
|
|
289
|
+
* if y-axis data points are of type date or number or if we have string formatter,
|
|
290
|
+
* then we need to change data points to their respective string
|
|
291
|
+
* format, becuase in the private variable this._stringYAxisDatapoints, points will be stored in
|
|
292
|
+
* string format. and in here `yPoint` are not so we need to change, so that
|
|
293
|
+
* function `this._createRectangles` should work perfetcly while looping, and if we don't change
|
|
294
|
+
* then `this._createRectangles` will fail while looping, causing the error
|
|
295
|
+
* Cannot read property 'forEach' of undefined
|
|
296
|
+
*/
|
|
297
|
+
Object.keys(yPoints).forEach(function (yPoint) {
|
|
298
|
+
if (_this._yAxisType === utilities_1.YAxisType.DateAxis) {
|
|
299
|
+
yPoints[_this._getStringFormattedDate(yPoint, yAxisDateFormatString)] = yPoints[yPoint];
|
|
300
|
+
}
|
|
301
|
+
else if (_this._yAxisType === utilities_1.YAxisType.NumericAxis) {
|
|
302
|
+
yPoints["".concat(_this._getStringFormattedNumber(yPoint, yAxisNumberFormatString))] = yPoints[yPoint];
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
yPoints[_this._getFormattedLabelForYAxisDataPoint(yPoint)] = yPoints[yPoint];
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
/**
|
|
309
|
+
* assigning new data set
|
|
310
|
+
*/
|
|
311
|
+
var dataSet = yPoints;
|
|
312
|
+
/**
|
|
313
|
+
* These are the Y axis data points which will get rendered in the
|
|
314
|
+
* Y axis in graph
|
|
315
|
+
*/
|
|
316
|
+
var yAxisPoints = _this._getYAxisDataPoints(uniqueYPoints);
|
|
317
|
+
/**
|
|
318
|
+
* These are the x axis data points which will get rendered in the
|
|
319
|
+
* x axis in the graph
|
|
320
|
+
*/
|
|
321
|
+
var xAxisPoints = _this._getXAxisDataPoints(uniqueXPoints);
|
|
322
|
+
return {
|
|
323
|
+
dataSet: dataSet,
|
|
324
|
+
yAxisPoints: yAxisPoints,
|
|
325
|
+
xAxisPoints: xAxisPoints,
|
|
326
|
+
};
|
|
327
|
+
};
|
|
328
|
+
/**
|
|
329
|
+
* This function will return the final sorted and formatted x-axis points
|
|
330
|
+
* which will be rendered on the x-axis
|
|
331
|
+
* @param points
|
|
332
|
+
* @returns x-axis points
|
|
333
|
+
*/
|
|
334
|
+
_this._getXAxisDataPoints = function (points) {
|
|
335
|
+
var xAxisPoints = [];
|
|
336
|
+
var unFormattedXAxisDataPoints = Object.keys(points).sort(function (a, b) {
|
|
337
|
+
if (_this._xAxisType === utilities_1.XAxisTypes.DateAxis || _this._xAxisType === utilities_1.XAxisTypes.NumericAxis) {
|
|
338
|
+
return +a - +b;
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
return a.toLowerCase() > b.toLowerCase() ? 1 : -1;
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
xAxisPoints = unFormattedXAxisDataPoints.map(function (xPoint) {
|
|
345
|
+
if (_this._xAxisType === utilities_1.XAxisTypes.DateAxis) {
|
|
346
|
+
return _this._getStringFormattedDate(xPoint, _this.props.xAxisDateFormatString);
|
|
347
|
+
}
|
|
348
|
+
else if (_this._xAxisType === utilities_1.XAxisTypes.NumericAxis) {
|
|
349
|
+
return _this._getStringFormattedNumber(xPoint, _this.props.xAxisNumberFormatString);
|
|
350
|
+
}
|
|
351
|
+
else {
|
|
352
|
+
return _this._getFormattedLabelForXAxisDataPoint(xPoint);
|
|
353
|
+
}
|
|
354
|
+
});
|
|
355
|
+
return xAxisPoints;
|
|
356
|
+
};
|
|
357
|
+
/**
|
|
358
|
+
* This function will return the final sorted and formatted y-axis points
|
|
359
|
+
* which will be rendered on the y-axis
|
|
360
|
+
* @param points
|
|
361
|
+
* @returns yaxis points
|
|
362
|
+
*/
|
|
363
|
+
_this._getYAxisDataPoints = function (points) {
|
|
364
|
+
var yAxisPoints = [];
|
|
365
|
+
var unFormattedYAxisDataPoints = Object.keys(points).sort(function (a, b) {
|
|
366
|
+
if (_this._yAxisType === utilities_1.YAxisType.DateAxis || _this._yAxisType === utilities_1.YAxisType.NumericAxis) {
|
|
367
|
+
return +a - +b;
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
return a.toLowerCase() > b.toLowerCase() ? 1 : -1;
|
|
371
|
+
}
|
|
372
|
+
});
|
|
373
|
+
yAxisPoints = unFormattedYAxisDataPoints.map(function (yPoint) {
|
|
374
|
+
if (_this._yAxisType === utilities_1.YAxisType.DateAxis) {
|
|
375
|
+
return _this._getStringFormattedDate(yPoint, _this.props.yAxisDateFormatString);
|
|
376
|
+
}
|
|
377
|
+
else if (_this._yAxisType === utilities_1.YAxisType.NumericAxis) {
|
|
378
|
+
return _this._getStringFormattedNumber(yPoint, _this.props.yAxisNumberFormatString);
|
|
379
|
+
}
|
|
380
|
+
else {
|
|
381
|
+
return _this._getFormattedLabelForYAxisDataPoint(yPoint);
|
|
382
|
+
}
|
|
383
|
+
});
|
|
384
|
+
return yAxisPoints;
|
|
385
|
+
};
|
|
386
|
+
_this._getStringFormattedDate = function (point, formatString) {
|
|
387
|
+
var date = new Date();
|
|
388
|
+
date.setTime(+point);
|
|
389
|
+
return (0, d3_time_format_1.timeFormat)(formatString || '%b/%d')(date);
|
|
390
|
+
};
|
|
391
|
+
_this._getStringFormattedNumber = function (point, formatString) {
|
|
392
|
+
return (0, d3_format_1.format)(formatString || '.2~s')(+point);
|
|
393
|
+
};
|
|
394
|
+
_this._getFormattedLabelForXAxisDataPoint = function (point) {
|
|
395
|
+
var xAxisStringFormatter = _this.props.xAxisStringFormatter;
|
|
396
|
+
return xAxisStringFormatter ? xAxisStringFormatter(point) : point;
|
|
397
|
+
};
|
|
398
|
+
_this._getFormattedLabelForYAxisDataPoint = function (point) {
|
|
399
|
+
var yAxisStringFormatter = _this.props.yAxisStringFormatter;
|
|
400
|
+
return yAxisStringFormatter ? yAxisStringFormatter(point) : point;
|
|
401
|
+
};
|
|
402
|
+
_this._closeCallout = function () {
|
|
403
|
+
_this.setState({
|
|
404
|
+
isCalloutVisible: false,
|
|
405
|
+
});
|
|
406
|
+
};
|
|
407
|
+
/**
|
|
408
|
+
* This function checks if the given legend is highlighted or not.
|
|
409
|
+
* A legend can be highlighted in 2 ways:
|
|
410
|
+
* 1. selection: if the user clicks on it
|
|
411
|
+
* 2. hovering: if there is no selected legend and the user hovers over it
|
|
412
|
+
*/
|
|
413
|
+
_this._legendHighlighted = function (legendTitle) {
|
|
414
|
+
return (_this.state.selectedLegend === legendTitle ||
|
|
415
|
+
(_this.state.selectedLegend === '' && _this.state.activeLegend === legendTitle));
|
|
416
|
+
};
|
|
417
|
+
/**
|
|
418
|
+
* This function checks if none of the legends is selected or hovered.
|
|
419
|
+
*/
|
|
420
|
+
_this._noLegendHighlighted = function () {
|
|
421
|
+
return _this.state.selectedLegend === '' && _this.state.activeLegend === '';
|
|
422
|
+
};
|
|
423
|
+
_this._getAriaLabel = function (point) {
|
|
424
|
+
var _a;
|
|
425
|
+
var xValue = point.x;
|
|
426
|
+
var yValue = point.y;
|
|
427
|
+
var legend = point.legend;
|
|
428
|
+
var zValue = point.ratio ? "".concat(point.ratio[0], "/").concat(point.ratio[1]) : point.rectText || point.value;
|
|
429
|
+
var description = point.descriptionMessage;
|
|
430
|
+
return (((_a = point.callOutAccessibilityData) === null || _a === void 0 ? void 0 : _a.ariaLabel) ||
|
|
431
|
+
"".concat(xValue, ", ").concat(yValue, ". ").concat(legend, ", ").concat(zValue, ".") + (description ? " ".concat(description, ".") : ''));
|
|
432
|
+
};
|
|
433
|
+
_this._getChartTitle = function () {
|
|
434
|
+
var chartTitle = _this.props.chartTitle;
|
|
435
|
+
var numDataPoints = _this.props.data.reduce(function (acc, curr) { return acc + curr.data.length; }, 0);
|
|
436
|
+
return (chartTitle ? "".concat(chartTitle, ". ") : '') + "Heat map chart with ".concat(numDataPoints, " data points. ");
|
|
437
|
+
};
|
|
438
|
+
/**
|
|
439
|
+
* below funciton creates a new data set from the prop
|
|
440
|
+
* @data and also finds all the unique x-axis datapoints
|
|
441
|
+
* and y-axis datapoints(which will render in the axis in graph)
|
|
442
|
+
* we store this in a memoized function, because we want to calulate
|
|
443
|
+
* this set whenever props changes.
|
|
444
|
+
*/
|
|
445
|
+
_this._createSet = (0, Utilities_1.memoizeFunction)(function (data, xDate, xNum, yDate, yNum) { return _this._createNewDataSet(data, xDate, xNum, yDate, yNum); });
|
|
446
|
+
_this.state = {
|
|
447
|
+
selectedLegend: '',
|
|
448
|
+
activeLegend: '',
|
|
449
|
+
isCalloutVisible: false,
|
|
450
|
+
target: null,
|
|
451
|
+
calloutLegend: '',
|
|
452
|
+
calloutTextColor: '',
|
|
453
|
+
calloutYValue: '',
|
|
454
|
+
ratio: null,
|
|
455
|
+
descriptionMessage: '',
|
|
456
|
+
calloutId: '',
|
|
457
|
+
};
|
|
458
|
+
_this._emptyChartId = (0, Utilities_1.getId)('_HeatMap_empty');
|
|
459
|
+
return _this;
|
|
460
|
+
}
|
|
461
|
+
HeatMapChartBase.prototype.render = function () {
|
|
462
|
+
var _this = this;
|
|
463
|
+
var _a = this._getXandY(), x = _a.x, y = _a.y;
|
|
464
|
+
this._xAxisType = (0, utilities_1.getTypeOfAxis)(x, true);
|
|
465
|
+
this._yAxisType = (0, utilities_1.getTypeOfAxis)(y, false);
|
|
466
|
+
var _b = this.props, data = _b.data, xAxisDateFormatString = _b.xAxisDateFormatString, xAxisNumberFormatString = _b.xAxisNumberFormatString, yAxisDateFormatString = _b.yAxisDateFormatString, yAxisNumberFormatString = _b.yAxisNumberFormatString;
|
|
467
|
+
this._colorScale = this._getColorScale();
|
|
468
|
+
var _c = this._createSet(data, xAxisDateFormatString, xAxisNumberFormatString, yAxisDateFormatString, yAxisNumberFormatString), dataSet = _c.dataSet, xAxisPoints = _c.xAxisPoints, yAxisPoints = _c.yAxisPoints;
|
|
469
|
+
this._dataSet = dataSet;
|
|
470
|
+
this._stringYAxisDataPoints = yAxisPoints;
|
|
471
|
+
this._stringXAxisDataPoints = xAxisPoints;
|
|
472
|
+
this._classNames = getClassNames(this.props.styles, { theme: this.props.theme });
|
|
473
|
+
var calloutProps = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({ isBeakVisible: false, gapSpace: 8 }, this.props.calloutProps), { isCalloutVisible: this.state.isCalloutVisible, id: this.state.calloutId, YValue: this.state.calloutYValue, legend: this.state.calloutLegend, color: this.state.calloutTextColor, target: this.state.target, styles: this._classNames.subComponentStyles.calloutStyles, directionalHint: Callout_1.DirectionalHint.topAutoEdge, onDismiss: this._closeCallout }), (0, utilities_1.getAccessibleDataObject)(this.state.callOutAccessibilityData, 'text', false)), { preventDismissOnLostFocus: true });
|
|
474
|
+
var chartHoverProps = tslib_1.__assign(tslib_1.__assign({}, (this.state.ratio && {
|
|
475
|
+
ratio: this.state.ratio,
|
|
476
|
+
})), { descriptionMessage: this.state.descriptionMessage });
|
|
477
|
+
return !this._isChartEmpty() ? (React.createElement(index_1.CartesianChart, tslib_1.__assign({}, this.props, { chartTitle: this._getChartTitle(), points: data, chartType: utilities_1.ChartTypes.HeatMapChart, xAxisType: utilities_1.XAxisTypes.StringAxis, yAxisType: utilities_1.YAxisType.StringAxis, calloutProps: calloutProps, createYAxis: utilities_1.createNumericYAxis, chartHoverProps: chartHoverProps, styles: this._classNames.subComponentStyles.cartesianStyles, datasetForXAxisDomain: this._stringXAxisDataPoints, stringDatasetForYAxisDomain: this._stringYAxisDataPoints, createStringYAxis: utilities_1.createStringYAxis, getDomainNRangeValues: this._getDomainNRangeValues, getMinMaxOfYAxis: this._getMinMaxOfYAxis, xAxisTickCount: this._stringXAxisDataPoints.length, xAxistickSize: 0, xAxisPadding: 0.02, yAxisPadding: 0.02, svgFocusZoneProps: {
|
|
478
|
+
direction: react_focus_1.FocusZoneDirection.bidirectional,
|
|
479
|
+
}, legendBars: this._createLegendBars(), onChartMouseLeave: this._handleChartMouseLeave,
|
|
480
|
+
/* eslint-disable react/jsx-no-bind */
|
|
481
|
+
// eslint-disable-next-line react/no-children-prop
|
|
482
|
+
children: function (props) {
|
|
483
|
+
_this._xAxisScale = props.xScale;
|
|
484
|
+
_this._yAxisScale = props.yScale;
|
|
485
|
+
return _this._createRectangles();
|
|
486
|
+
} }))) : (React.createElement("div", { id: this._emptyChartId, role: 'alert', style: { opacity: '0' }, "aria-label": 'Graph has no data to display' }));
|
|
487
|
+
};
|
|
488
|
+
/**
|
|
489
|
+
* when the legend is hovered we need to highlight
|
|
490
|
+
* all the rectangles which fall under that category
|
|
491
|
+
* and un-highlight the rest of them
|
|
492
|
+
* @param legendTitle
|
|
493
|
+
*/
|
|
494
|
+
HeatMapChartBase.prototype._onLegendHover = function (legendTitle) {
|
|
495
|
+
this.setState({
|
|
496
|
+
activeLegend: legendTitle,
|
|
497
|
+
});
|
|
498
|
+
};
|
|
499
|
+
/**
|
|
500
|
+
* when the mouse is out from the legend , we need
|
|
501
|
+
* to show the graph in initial mode.
|
|
502
|
+
*/
|
|
503
|
+
HeatMapChartBase.prototype._onLegendLeave = function () {
|
|
504
|
+
this.setState({
|
|
505
|
+
activeLegend: '',
|
|
506
|
+
});
|
|
507
|
+
};
|
|
508
|
+
/**
|
|
509
|
+
* @param legendTitle
|
|
510
|
+
* when the legend is clicked we need to highlight
|
|
511
|
+
* all the rectangles which fall under that category
|
|
512
|
+
* and un highlight the rest of them
|
|
513
|
+
*/
|
|
514
|
+
HeatMapChartBase.prototype._onLegendClick = function (legendTitle) {
|
|
515
|
+
/**
|
|
516
|
+
* check if the legend is already selceted,
|
|
517
|
+
* if yes, un-select the legend, else
|
|
518
|
+
* set the selected legend state to legendTitle
|
|
519
|
+
*/
|
|
520
|
+
if (this.state.selectedLegend === legendTitle) {
|
|
521
|
+
this.setState({
|
|
522
|
+
selectedLegend: '',
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
else {
|
|
526
|
+
this.setState({
|
|
527
|
+
selectedLegend: legendTitle,
|
|
528
|
+
});
|
|
529
|
+
}
|
|
530
|
+
};
|
|
531
|
+
HeatMapChartBase.prototype._isChartEmpty = function () {
|
|
532
|
+
return !(this.props.data && this.props.data.length > 0);
|
|
533
|
+
};
|
|
534
|
+
return HeatMapChartBase;
|
|
535
|
+
}(React.Component));
|
|
536
|
+
exports.HeatMapChartBase = HeatMapChartBase;
|
|
537
|
+
});
|
|
538
|
+
//# sourceMappingURL=HeatMapChart.base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeatMapChart.base.js","sourceRoot":"../src/","sources":["components/HeatMapChart/HeatMapChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import { CartesianChart, IChildProps, IModifiedCartesianChartProps } from '../../components/CommonComponents/index';\nimport { IAccessibilityProps, IHeatMapChartData, IHeatMapChartDataPoint } from '../../types/IDataPoint';\nimport { scaleLinear as d3ScaleLinear } from 'd3-scale';\nimport { classNamesFunction, getId, memoizeFunction } from '@fluentui/react/lib/Utilities';\nimport { FocusZoneDirection } from '@fluentui/react-focus';\nimport { DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { IProcessedStyleSet } from '@fluentui/react/lib/Styling';\nimport * as React from 'react';\nimport { IHeatMapChartProps, IHeatMapChartStyleProps, IHeatMapChartStyles } from './HeatMapChart.types';\nimport { ILegend, Legends } from '../Legends/index';\nimport { convertToLocaleString } from '../../utilities/locale-util';\nimport {\n ChartTypes,\n createNumericYAxis,\n getAccessibleDataObject,\n XAxisTypes,\n YAxisType,\n getTypeOfAxis,\n IMargins,\n IDomainNRange,\n domainRangeOfXStringAxis,\n createStringYAxis,\n} from '../../utilities/utilities';\nimport { Target } from '@fluentui/react';\nimport { format as d3Format } from 'd3-format';\nimport { timeFormat as d3TimeFormat } from 'd3-time-format';\n\ntype DataSet = {\n dataSet: RectanglesGraphData;\n yAxisPoints: string[];\n xAxisPoints: string[];\n};\ntype FlattenData = IHeatMapChartDataPoint & {\n legend: string;\n};\ninterface IRectRef {\n data: FlattenData;\n refElement: SVGGElement;\n}\ntype RectanglesGraphData = { [key: string]: FlattenData[] };\nexport interface IHeatMapChartState {\n /**\n * contains the selected legend string\n */\n selectedLegend: string;\n /**\n * contains the hovered legend string\n */\n activeLegend: string;\n /**\n * determines wethere to show or hide the callout\n * @default false\n */\n isCalloutVisible: boolean;\n /**\n * y value to be shown in callout\n */\n calloutYValue: string;\n /**\n * legend title to be shown in callout\n */\n calloutLegend: string;\n /**\n * color of the text in the callout\n */\n calloutTextColor: string;\n /**\n * The target that the Callout should try to position itself based on\n */\n target: Target;\n /**\n * ratio to show in the callout\n */\n ratio: [number, number] | null;\n\n /**\n * description message to show in the callout\n */\n descriptionMessage: string;\n /**\n * id to give to callout for accesiblity purpose\n */\n calloutId: string;\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\nconst getClassNames = classNamesFunction<IHeatMapChartStyleProps, IHeatMapChartStyles>();\nexport class HeatMapChartBase extends React.Component<IHeatMapChartProps, IHeatMapChartState> {\n private _classNames: IProcessedStyleSet<IHeatMapChartStyles>;\n private _stringXAxisDataPoints: string[];\n private _stringYAxisDataPoints: string[];\n private _createSet: (\n data: IHeatMapChartData[],\n xDate: string | undefined,\n xNum: string | undefined,\n yDate: string | undefined,\n yNum: string | undefined,\n ) => DataSet;\n private _dataSet: RectanglesGraphData;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _colorScale: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _xAxisScale: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _yAxisScale: any;\n /**\n * This array contains ref for all the rectangles\n * drawn inside the chard\n */\n private _rectRefArray: { [key: string]: IRectRef } = {};\n private _xAxisType: XAxisTypes;\n private _yAxisType: YAxisType;\n private _calloutAnchorPoint: FlattenData | null;\n private _emptyChartId: string;\n public constructor(props: IHeatMapChartProps) {\n super(props);\n /**\n * below funciton creates a new data set from the prop\n * @data and also finds all the unique x-axis datapoints\n * and y-axis datapoints(which will render in the axis in graph)\n * we store this in a memoized function, because we want to calulate\n * this set whenever props changes.\n */\n this._createSet = memoizeFunction(\n (\n data: IHeatMapChartData[],\n xDate: string | undefined,\n xNum: string | undefined,\n yDate: string | undefined,\n yNum: string | undefined,\n ): DataSet => this._createNewDataSet(data, xDate, xNum, yDate, yNum),\n );\n this.state = {\n selectedLegend: '',\n activeLegend: '',\n isCalloutVisible: false,\n target: null,\n calloutLegend: '',\n calloutTextColor: '',\n calloutYValue: '',\n ratio: null,\n descriptionMessage: '',\n calloutId: '',\n };\n this._emptyChartId = getId('_HeatMap_empty');\n }\n\n public render(): React.ReactNode {\n const { x, y } = this._getXandY();\n this._xAxisType = getTypeOfAxis(x, true) as XAxisTypes;\n this._yAxisType = getTypeOfAxis(y, false) as YAxisType;\n const { data, xAxisDateFormatString, xAxisNumberFormatString, yAxisDateFormatString, yAxisNumberFormatString } =\n this.props;\n this._colorScale = this._getColorScale();\n const { dataSet, xAxisPoints, yAxisPoints } = this._createSet(\n data,\n xAxisDateFormatString,\n xAxisNumberFormatString,\n yAxisDateFormatString,\n yAxisNumberFormatString,\n );\n this._dataSet = dataSet;\n this._stringYAxisDataPoints = yAxisPoints;\n this._stringXAxisDataPoints = xAxisPoints;\n this._classNames = getClassNames(this.props.styles!, { theme: this.props.theme! });\n const calloutProps: IModifiedCartesianChartProps['calloutProps'] = {\n isBeakVisible: false,\n gapSpace: 8,\n ...this.props.calloutProps,\n isCalloutVisible: this.state.isCalloutVisible,\n id: this.state.calloutId,\n YValue: this.state.calloutYValue,\n legend: this.state.calloutLegend,\n color: this.state.calloutTextColor,\n target: this.state.target,\n styles: this._classNames.subComponentStyles.calloutStyles,\n directionalHint: DirectionalHint.topAutoEdge,\n onDismiss: this._closeCallout,\n ...getAccessibleDataObject(this.state.callOutAccessibilityData, 'text', false),\n preventDismissOnLostFocus: true,\n };\n const chartHoverProps: IModifiedCartesianChartProps['chartHoverProps'] = {\n ...(this.state.ratio && {\n ratio: this.state.ratio,\n }),\n descriptionMessage: this.state.descriptionMessage,\n };\n return !this._isChartEmpty() ? (\n <CartesianChart\n {...this.props}\n chartTitle={this._getChartTitle()}\n points={data}\n chartType={ChartTypes.HeatMapChart}\n xAxisType={XAxisTypes.StringAxis}\n yAxisType={YAxisType.StringAxis}\n calloutProps={calloutProps}\n createYAxis={createNumericYAxis}\n chartHoverProps={chartHoverProps}\n styles={this._classNames.subComponentStyles!.cartesianStyles}\n datasetForXAxisDomain={this._stringXAxisDataPoints}\n stringDatasetForYAxisDomain={this._stringYAxisDataPoints}\n createStringYAxis={createStringYAxis}\n getDomainNRangeValues={this._getDomainNRangeValues}\n getMinMaxOfYAxis={this._getMinMaxOfYAxis}\n xAxisTickCount={this._stringXAxisDataPoints.length}\n xAxistickSize={0}\n xAxisPadding={0.02}\n yAxisPadding={0.02}\n svgFocusZoneProps={{\n direction: FocusZoneDirection.bidirectional,\n }}\n legendBars={this._createLegendBars()}\n onChartMouseLeave={this._handleChartMouseLeave}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children={(props: IChildProps) => {\n this._xAxisScale = props.xScale;\n this._yAxisScale = props.yScale;\n return this._createRectangles();\n }}\n />\n ) : (\n <div\n id={this._emptyChartId}\n role={'alert'}\n style={{ opacity: '0' }}\n aria-label={'Graph has no data to display'}\n />\n );\n }\n\n private _getMinMaxOfYAxis = () => {\n return { startValue: 0, endValue: 0 };\n };\n\n private _getDomainNRangeValues = (\n points: IHeatMapChartDataPoint[],\n margins: IMargins,\n width: number,\n chartType: ChartTypes,\n isRTL: boolean,\n xAxisType: XAxisTypes,\n barWidth: number,\n tickValues: Date[] | number[] | undefined,\n shiftX: number,\n ) => {\n let domainNRangeValue: IDomainNRange;\n if (xAxisType === XAxisTypes.NumericAxis || xAxisType === XAxisTypes.DateAxis) {\n domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };\n } else {\n domainNRangeValue = domainRangeOfXStringAxis(margins, width, isRTL);\n }\n return domainNRangeValue;\n };\n\n private _getXandY = (): { x: string | Date | number; y: string | Date | number } => {\n let x: string | Date | number = '';\n let y: string | Date | number = '';\n this.props.data.forEach((item: IHeatMapChartData) => {\n if (item.data && item.data.length > 0) {\n x = item.data[0].x;\n y = item.data[0].y;\n return { x, y };\n }\n });\n return { x, y };\n };\n\n private _getOpacity = (legendTitle: string): string => {\n const opacity = this._legendHighlighted(legendTitle) || this._noLegendHighlighted() ? '1' : '0.1';\n return opacity;\n };\n\n private _rectRefCallback = (rectElement: SVGGElement, index: number | string, dataPointObject: FlattenData): void => {\n this._rectRefArray[index] = { data: dataPointObject, refElement: rectElement };\n };\n\n private _onRectFocus = (id: string, data: FlattenData): void => {\n this.setState({\n target: this._rectRefArray[id].refElement,\n /** Show the callout if highlighted rectangle is focused and Hide it if unhighlighted rectangle is focused */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === data.legend,\n calloutYValue: `${data.rectText}`,\n calloutTextColor: Number.isNaN(data.value)\n ? this.props.theme!.semanticColors.bodyText\n : this._colorScale(data.value),\n calloutLegend: data.legend,\n ratio: data.ratio || null,\n descriptionMessage: data.descriptionMessage || '',\n calloutId: id,\n callOutAccessibilityData: data.callOutAccessibilityData,\n });\n };\n\n private _onRectMouseOver = (id: string, data: FlattenData, mouseEvent: React.MouseEvent<SVGGElement>): void => {\n mouseEvent.persist();\n if (this._calloutAnchorPoint !== data) {\n this._calloutAnchorPoint = data;\n this.setState({\n target: this._rectRefArray[id].refElement,\n /** Show the callout if highlighted rectangle is hovered and Hide it if unhighlighted rectangle is hovered */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === data.legend,\n calloutYValue: `${data.rectText}`,\n calloutTextColor: Number.isNaN(data.value)\n ? this.props.theme!.semanticColors.bodyText\n : this._colorScale(data.value),\n calloutLegend: data.legend,\n ratio: data.ratio || null,\n descriptionMessage: data.descriptionMessage || '',\n calloutId: id,\n callOutAccessibilityData: data.callOutAccessibilityData,\n });\n }\n };\n\n private _onRectBlurOrMouseOut = (): void => {\n /**/\n };\n\n private _handleChartMouseLeave = (): void => {\n this._calloutAnchorPoint = null;\n this.setState({\n isCalloutVisible: false,\n });\n };\n\n /**\n * This is the function which is responsible for\n * drawing the rectangle in the graph and also\n * attaching dom events to that rectangles\n */\n private _createRectangles = (): React.ReactNode => {\n const rectangles: JSX.Element[] = [];\n const yAxisDataPoints = this._stringYAxisDataPoints.slice().reverse();\n /**\n * yAxisDataPoint is noting but the DataPoint\n * which will be rendered on the y-axis\n */\n yAxisDataPoints.forEach((yAxisDataPoint: string) => {\n let index = 0;\n this._stringXAxisDataPoints.forEach((xAxisDataPoint: string) => {\n let rectElement: JSX.Element;\n const id = `x${xAxisDataPoint}y${yAxisDataPoint}`;\n if (this._dataSet[yAxisDataPoint][index]?.x === xAxisDataPoint) {\n /**\n * dataPointObject is an object where it contains information on single\n * data point such as x, y , value, rectText property of the rectangle\n */\n const dataPointObject = this._dataSet[yAxisDataPoint][index];\n rectElement = (\n <g\n key={id}\n role=\"img\"\n aria-label={this._getAriaLabel(dataPointObject)}\n data-is-focusable={this._legendHighlighted(dataPointObject.legend) || this._noLegendHighlighted()}\n fillOpacity={this._getOpacity(dataPointObject.legend)}\n transform={`translate(${this._xAxisScale(dataPointObject.x)}, ${this._yAxisScale(dataPointObject.y)})`}\n ref={(gElement: SVGGElement) => {\n this._rectRefCallback(gElement, id, dataPointObject);\n }}\n onFocus={this._onRectFocus.bind(this, id, dataPointObject)}\n onBlur={this._onRectBlurOrMouseOut}\n onMouseOver={this._onRectMouseOver.bind(this, id, dataPointObject)}\n onMouseOut={this._onRectBlurOrMouseOut}\n >\n <rect\n fill={this._colorScale(dataPointObject.value)}\n width={this._xAxisScale.bandwidth()}\n height={this._yAxisScale.bandwidth()}\n onClick={dataPointObject.onClick}\n />\n <text\n dominantBaseline={'middle'}\n textAnchor={'middle'}\n className={this._classNames.text}\n transform={`translate(${this._xAxisScale.bandwidth() / 2}, ${this._yAxisScale.bandwidth() / 2})`}\n >\n {convertToLocaleString(dataPointObject.rectText, this.props.culture)}\n </text>\n </g>\n );\n index++;\n } else {\n const dataPointObject: FlattenData = {\n x: xAxisDataPoint,\n y: yAxisDataPoint,\n value: NaN,\n rectText: 'No data available',\n legend: '',\n };\n rectElement = (\n <g\n key={id}\n role=\"img\"\n aria-label={this._getAriaLabel(dataPointObject)}\n data-is-focusable={this._noLegendHighlighted()}\n transform={`translate(${this._xAxisScale(dataPointObject.x)}, ${this._yAxisScale(dataPointObject.y)})`}\n ref={(gElement: SVGGElement) => {\n this._rectRefCallback(gElement, id, dataPointObject);\n }}\n onFocus={this._onRectFocus.bind(this, id, dataPointObject)}\n onBlur={this._onRectBlurOrMouseOut}\n onMouseOver={this._onRectMouseOver.bind(this, id, dataPointObject)}\n onMouseOut={this._onRectBlurOrMouseOut}\n >\n <rect\n fill={this.props.theme!.semanticColors.bodyBackground}\n width={this._xAxisScale.bandwidth()}\n height={this._yAxisScale.bandwidth()}\n />\n </g>\n );\n }\n rectangles.push(rectElement);\n });\n });\n return rectangles;\n };\n /**\n * when the legend is hovered we need to highlight\n * all the rectangles which fall under that category\n * and un-highlight the rest of them\n * @param legendTitle\n */\n private _onLegendHover(legendTitle: string): void {\n this.setState({\n activeLegend: legendTitle,\n });\n }\n\n /**\n * when the mouse is out from the legend , we need\n * to show the graph in initial mode.\n */\n private _onLegendLeave(): void {\n this.setState({\n activeLegend: '',\n });\n }\n /**\n * @param legendTitle\n * when the legend is clicked we need to highlight\n * all the rectangles which fall under that category\n * and un highlight the rest of them\n */\n private _onLegendClick(legendTitle: string): void {\n /**\n * check if the legend is already selceted,\n * if yes, un-select the legend, else\n * set the selected legend state to legendTitle\n */\n if (this.state.selectedLegend === legendTitle) {\n this.setState({\n selectedLegend: '',\n });\n } else {\n this.setState({\n selectedLegend: legendTitle,\n });\n }\n }\n private _createLegendBars = (): JSX.Element => {\n const { data, legendProps } = this.props;\n const legends: ILegend[] = [];\n data.forEach((item: IHeatMapChartData) => {\n const legend: ILegend = {\n title: item.legend,\n color: this._colorScale(item.value),\n action: () => {\n this._onLegendClick(item.legend);\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this._onLegendHover(item.legend);\n },\n onMouseOutAction: () => {\n this._onLegendLeave();\n },\n };\n legends.push(legend);\n });\n return <Legends {...legendProps} legends={legends} />;\n };\n\n private _getColorScale = () => {\n const { domainValuesForColorScale, rangeValuesForColorScale } = this.props;\n return d3ScaleLinear()\n .domain(domainValuesForColorScale)\n .range(rangeValuesForColorScale as unknown as number[]);\n };\n\n private _getXIndex = (value: string | Date | number): string => {\n if (this._xAxisType === XAxisTypes.DateAxis) {\n return `${(value as Date).getTime()}`;\n } else if (this._xAxisType === XAxisTypes.StringAxis) {\n return value as string;\n } else if (this._xAxisType === XAxisTypes.NumericAxis) {\n return `${value}`;\n } else {\n return '';\n }\n };\n private _getYIndex = (value: string | Date | number): string => {\n if (this._yAxisType === YAxisType.DateAxis) {\n return `${(value as Date).getTime()}`;\n } else if (this._yAxisType === YAxisType.StringAxis) {\n return value as string;\n } else if (this._yAxisType === YAxisType.NumericAxis) {\n return `${value}`;\n } else {\n return '';\n }\n };\n\n /**\n * This will create a new data set based on the prop\n * @data\n * We will be using This data set to contsruct our rectangles\n * in the chart, we use this data set becuase, when we loop in this\n * data and build the heat map, it will support accessibility as\n * specified in the figma\n */\n\n private _createNewDataSet = (\n data: IHeatMapChartData[],\n xAxisDateFormatString: string | undefined,\n xAxisNumberFormatString: string | undefined,\n yAxisDateFormatString: string | undefined,\n yAxisNumberFormatString: string | undefined,\n ): DataSet => {\n /**\n * please do not destructure any of the props here,\n * instead send them as parameter to this functions so that\n * this functions get called whenever the prop changes\n */\n const flattenData: FlattenData[] = [];\n /**\n * below for each loop will store all the datapoints in the one array.\n * basically it will flatten the nestesd array (data prop) into single array\n * of object. where each object contains x, y, rectText , value and legend propety of single\n * data point.\n */\n data.forEach((item: IHeatMapChartData) => {\n item.data.forEach((point: IHeatMapChartDataPoint) => {\n flattenData.push({ ...point, legend: item.legend });\n });\n });\n const yPoints: RectanglesGraphData = {};\n const uniqueYPoints: { [key: string]: '1' } = {};\n const uniqueXPoints: { [key: string]: '1' } = {};\n flattenData.forEach((item: FlattenData) => {\n const posX = this._getXIndex(item.x);\n const posY = this._getYIndex(item.y);\n\n uniqueXPoints[posX] = '1';\n uniqueYPoints[posY] = '1';\n /** we will check if the property(posY) is already there in object, if Yes,\n * then we will append the item in the Array related to the pos, if not\n * then we will simply append the item in the new Array and\n * assign that array to the property (posY) in the Object\n * and finally we will get the array of Objects associated to each\n * property (which is nothing but y data point) and object in the\n * array are noting but x data points associated to the property y\n */\n if (yPoints[posY]) {\n yPoints[posY] = [...yPoints[posY], item];\n } else {\n yPoints[posY] = [item];\n }\n });\n /**\n * we will now sort(ascending) the array's of y data point based on the x value\n * sorting is important to achive the accessibility order of the\n * rectangles and then format the x and y datapoints respectively\n */\n Object.keys(yPoints).forEach((item: string) => {\n yPoints[item]\n .sort((a: IHeatMapChartDataPoint, b: IHeatMapChartDataPoint) => {\n if (this._xAxisType === XAxisTypes.StringAxis) {\n return (a.x as string).toLowerCase() > (b.x as string).toLowerCase() ? 1 : -1;\n } else if (this._xAxisType === XAxisTypes.DateAxis) {\n return (a.x as Date).getTime() - (b.x as Date).getTime();\n } else if (this._xAxisType === XAxisTypes.NumericAxis) {\n return +(a.x as string) > +(b.x as string) ? 1 : -1;\n } else {\n return a.x > b.x ? 1 : -1;\n }\n })\n .forEach((datapoint: IHeatMapChartDataPoint) => {\n if (this._xAxisType === XAxisTypes.DateAxis) {\n datapoint.x = this._getStringFormattedDate(datapoint.x as string, xAxisDateFormatString);\n }\n if (this._xAxisType === XAxisTypes.NumericAxis) {\n datapoint.x = this._getStringFormattedNumber(datapoint.x as string, xAxisNumberFormatString);\n }\n if (this._xAxisType === XAxisTypes.StringAxis) {\n datapoint.x = this._getFormattedLabelForXAxisDataPoint(datapoint.x as string);\n }\n if (this._yAxisType === YAxisType.DateAxis) {\n datapoint.y = this._getStringFormattedDate(datapoint.y as string, yAxisDateFormatString);\n }\n if (this._yAxisType === YAxisType.NumericAxis) {\n datapoint.y = this._getStringFormattedNumber(datapoint.y as string, yAxisNumberFormatString);\n }\n if (this._yAxisType === YAxisType.StringAxis) {\n datapoint.y = this._getFormattedLabelForYAxisDataPoint(datapoint.y as string);\n }\n });\n });\n /**\n * if y-axis data points are of type date or number or if we have string formatter,\n * then we need to change data points to their respective string\n * format, becuase in the private variable this._stringYAxisDatapoints, points will be stored in\n * string format. and in here `yPoint` are not so we need to change, so that\n * function `this._createRectangles` should work perfetcly while looping, and if we don't change\n * then `this._createRectangles` will fail while looping, causing the error\n * Cannot read property 'forEach' of undefined\n */\n\n Object.keys(yPoints).forEach((yPoint: string) => {\n if (this._yAxisType === YAxisType.DateAxis) {\n yPoints[this._getStringFormattedDate(yPoint, yAxisDateFormatString)] = yPoints[yPoint];\n } else if (this._yAxisType === YAxisType.NumericAxis) {\n yPoints[`${this._getStringFormattedNumber(yPoint, yAxisNumberFormatString)}`] = yPoints[yPoint];\n } else {\n yPoints[this._getFormattedLabelForYAxisDataPoint(yPoint)] = yPoints[yPoint];\n }\n });\n /**\n * assigning new data set\n */\n const dataSet = yPoints;\n /**\n * These are the Y axis data points which will get rendered in the\n * Y axis in graph\n */\n const yAxisPoints = this._getYAxisDataPoints(uniqueYPoints);\n /**\n * These are the x axis data points which will get rendered in the\n * x axis in the graph\n */\n\n const xAxisPoints = this._getXAxisDataPoints(uniqueXPoints);\n return {\n dataSet,\n yAxisPoints,\n xAxisPoints,\n };\n };\n\n /**\n * This function will return the final sorted and formatted x-axis points\n * which will be rendered on the x-axis\n * @param points\n * @returns x-axis points\n */\n private _getXAxisDataPoints = (points: { [key: string]: '1' }): string[] => {\n let xAxisPoints: string[] = [];\n const unFormattedXAxisDataPoints = Object.keys(points).sort((a: string, b: string) => {\n if (this._xAxisType === XAxisTypes.DateAxis || this._xAxisType === XAxisTypes.NumericAxis) {\n return +a - +b;\n } else {\n return a.toLowerCase() > b.toLowerCase() ? 1 : -1;\n }\n });\n xAxisPoints = unFormattedXAxisDataPoints.map((xPoint: string) => {\n if (this._xAxisType === XAxisTypes.DateAxis) {\n return this._getStringFormattedDate(xPoint, this.props.xAxisDateFormatString);\n } else if (this._xAxisType === XAxisTypes.NumericAxis) {\n return this._getStringFormattedNumber(xPoint, this.props.xAxisNumberFormatString);\n } else {\n return this._getFormattedLabelForXAxisDataPoint(xPoint);\n }\n });\n\n return xAxisPoints;\n };\n /**\n * This function will return the final sorted and formatted y-axis points\n * which will be rendered on the y-axis\n * @param points\n * @returns yaxis points\n */\n private _getYAxisDataPoints = (points: { [key: string]: '1' }): string[] => {\n let yAxisPoints: string[] = [];\n const unFormattedYAxisDataPoints = Object.keys(points).sort((a: string, b: string) => {\n if (this._yAxisType === YAxisType.DateAxis || this._yAxisType === YAxisType.NumericAxis) {\n return +a - +b;\n } else {\n return a.toLowerCase() > b.toLowerCase() ? 1 : -1;\n }\n });\n yAxisPoints = unFormattedYAxisDataPoints.map((yPoint: string) => {\n if (this._yAxisType === YAxisType.DateAxis) {\n return this._getStringFormattedDate(yPoint, this.props.yAxisDateFormatString);\n } else if (this._yAxisType === YAxisType.NumericAxis) {\n return this._getStringFormattedNumber(yPoint, this.props.yAxisNumberFormatString);\n } else {\n return this._getFormattedLabelForYAxisDataPoint(yPoint);\n }\n });\n\n return yAxisPoints;\n };\n\n private _getStringFormattedDate = (point: string, formatString?: string): string => {\n const date = new Date();\n date.setTime(+point);\n return d3TimeFormat(formatString || '%b/%d')(date);\n };\n\n private _getStringFormattedNumber = (point: string, formatString?: string): string => {\n return d3Format(formatString || '.2~s')(+point);\n };\n\n private _getFormattedLabelForXAxisDataPoint = (point: string): string => {\n const { xAxisStringFormatter } = this.props;\n return xAxisStringFormatter ? xAxisStringFormatter(point) : point;\n };\n\n private _getFormattedLabelForYAxisDataPoint = (point: string): string => {\n const { yAxisStringFormatter } = this.props;\n return yAxisStringFormatter ? yAxisStringFormatter(point) : point;\n };\n\n private _closeCallout = () => {\n this.setState({\n isCalloutVisible: false,\n });\n };\n\n /**\n * This function checks if the given legend is highlighted or not.\n * A legend can be highlighted in 2 ways:\n * 1. selection: if the user clicks on it\n * 2. hovering: if there is no selected legend and the user hovers over it\n */\n private _legendHighlighted = (legendTitle: string) => {\n return (\n this.state.selectedLegend === legendTitle ||\n (this.state.selectedLegend === '' && this.state.activeLegend === legendTitle)\n );\n };\n\n /**\n * This function checks if none of the legends is selected or hovered.\n */\n private _noLegendHighlighted = () => {\n return this.state.selectedLegend === '' && this.state.activeLegend === '';\n };\n\n private _getAriaLabel = (point: FlattenData): string => {\n const xValue = point.x;\n const yValue = point.y;\n const legend = point.legend;\n const zValue = point.ratio ? `${point.ratio[0]}/${point.ratio[1]}` : point.rectText || point.value;\n const description = point.descriptionMessage;\n return (\n point.callOutAccessibilityData?.ariaLabel ||\n `${xValue}, ${yValue}. ${legend}, ${zValue}.` + (description ? ` ${description}.` : '')\n );\n };\n\n private _isChartEmpty(): boolean {\n return !(this.props.data && this.props.data.length > 0);\n }\n\n private _getChartTitle = (): string => {\n const { chartTitle } = this.props;\n const numDataPoints = this.props.data.reduce((acc, curr) => acc + curr.data.length, 0);\n return (chartTitle ? `${chartTitle}. ` : '') + `Heat map chart with ${numDataPoints} data points. `;\n };\n}\n"]}
|