@fluentui/react-charting 5.16.36 → 5.16.38
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 +43 -1
- package/CHANGELOG.md +22 -2
- package/dist/react-charting.js +1 -1
- package/dist/react-charting.min.js +1 -1
- package/lib/components/AreaChart/AreaChart.base.d.ts +1 -0
- package/lib/components/AreaChart/AreaChart.base.js +38 -27
- package/lib/components/AreaChart/AreaChart.base.js.map +1 -1
- package/lib/components/CommonComponents/CartesianChart.base.js +2 -1
- package/lib/components/CommonComponents/CartesianChart.base.js.map +1 -1
- package/lib/components/DonutChart/DonutChart.base.d.ts +1 -0
- package/lib/components/DonutChart/DonutChart.base.js +9 -2
- package/lib/components/DonutChart/DonutChart.base.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +2 -0
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +11 -2
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
- package/lib/components/HeatMapChart/HeatMapChart.base.d.ts +5 -0
- package/lib/components/HeatMapChart/HeatMapChart.base.js +10 -3
- package/lib/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
- package/lib/components/HorizontalBarChart/HorizontalBarChart.base.d.ts +2 -0
- package/lib/components/HorizontalBarChart/HorizontalBarChart.base.js +9 -2
- package/lib/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
- package/lib/components/LineChart/LineChart.base.d.ts +2 -0
- package/lib/components/LineChart/LineChart.base.js +12 -2
- package/lib/components/LineChart/LineChart.base.js.map +1 -1
- package/lib/components/PieChart/PieChart.base.d.ts +6 -1
- package/lib/components/PieChart/PieChart.base.js +17 -5
- package/lib/components/PieChart/PieChart.base.js.map +1 -1
- package/lib/components/SankeyChart/SankeyChart.base.d.ts +1 -0
- package/lib/components/SankeyChart/SankeyChart.base.js +48 -41
- package/lib/components/SankeyChart/SankeyChart.base.js.map +1 -1
- package/lib/components/Sparkline/Sparkline.base.d.ts +1 -0
- package/lib/components/Sparkline/Sparkline.base.js +40 -30
- package/lib/components/Sparkline/Sparkline.base.js.map +1 -1
- package/lib/components/StackedBarChart/MultiStackedBarChart.base.d.ts +2 -0
- package/lib/components/StackedBarChart/MultiStackedBarChart.base.js +37 -25
- package/lib/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
- package/lib/components/StackedBarChart/StackedBarChart.base.d.ts +2 -0
- package/lib/components/StackedBarChart/StackedBarChart.base.js +68 -54
- package/lib/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
- package/lib/components/TreeChart/TreeChart.base.js +2 -1
- package/lib/components/TreeChart/TreeChart.base.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +1 -0
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +39 -26
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/lib-amd/AreaChart.js +1 -1
- package/lib-amd/AreaChart.js.map +1 -1
- package/lib-amd/CartesianChart.js +1 -1
- package/lib-amd/CartesianChart.js.map +1 -1
- package/lib-amd/DonutChart.js +1 -1
- package/lib-amd/DonutChart.js.map +1 -1
- package/lib-amd/GroupedVerticalBarChart.js +1 -1
- package/lib-amd/GroupedVerticalBarChart.js.map +1 -1
- package/lib-amd/HeatMapChart.js +1 -1
- package/lib-amd/HeatMapChart.js.map +1 -1
- package/lib-amd/HorizontalBarChart.js +1 -1
- package/lib-amd/HorizontalBarChart.js.map +1 -1
- package/lib-amd/HorizontalBarChartWithAxis.js +1 -1
- package/lib-amd/HorizontalBarChartWithAxis.js.map +1 -1
- package/lib-amd/Legends.js +1 -1
- package/lib-amd/Legends.js.map +1 -1
- package/lib-amd/LineChart.js +1 -1
- package/lib-amd/LineChart.js.map +1 -1
- package/lib-amd/PieChart.js +1 -1
- package/lib-amd/PieChart.js.map +1 -1
- package/lib-amd/SankeyChart.js +1 -1
- package/lib-amd/SankeyChart.js.map +1 -1
- package/lib-amd/Sparkline.js +1 -1
- package/lib-amd/Sparkline.js.map +1 -1
- package/lib-amd/StackedBarChart.js +1 -1
- package/lib-amd/StackedBarChart.js.map +1 -1
- package/lib-amd/TreeChart.js +1 -1
- package/lib-amd/TreeChart.js.map +1 -1
- package/lib-amd/VerticalBarChart.js +1 -1
- package/lib-amd/VerticalBarChart.js.map +1 -1
- package/lib-amd/VerticalStackedBarChart.js +1 -1
- package/lib-amd/VerticalStackedBarChart.js.map +1 -1
- package/lib-amd/components/AreaChart/AreaChart.base.d.ts +1 -0
- package/lib-amd/components/AreaChart/AreaChart.base.js +46 -35
- package/lib-amd/components/AreaChart/AreaChart.base.js.map +1 -1
- package/lib-amd/components/AreaChart/AreaChart.styles.js +1 -1
- package/lib-amd/components/AreaChart/AreaChart.styles.js.map +1 -1
- package/lib-amd/components/AreaChart/index.js +2 -2
- package/lib-amd/components/AreaChart/index.js.map +1 -1
- package/lib-amd/components/CommonComponents/CartesianChart.base.js +13 -12
- package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -1
- package/lib-amd/components/CommonComponents/CartesianChart.styles.js +3 -3
- package/lib-amd/components/CommonComponents/CartesianChart.styles.js.map +1 -1
- package/lib-amd/components/CommonComponents/index.js +2 -2
- package/lib-amd/components/CommonComponents/index.js.map +1 -1
- package/lib-amd/components/DonutChart/Arc/Arc.js +1 -1
- package/lib-amd/components/DonutChart/Arc/Arc.js.map +1 -1
- package/lib-amd/components/DonutChart/Arc/index.js +2 -2
- package/lib-amd/components/DonutChart/Arc/index.js.map +1 -1
- package/lib-amd/components/DonutChart/DonutChart.base.d.ts +1 -0
- package/lib-amd/components/DonutChart/DonutChart.base.js +13 -6
- package/lib-amd/components/DonutChart/DonutChart.base.js.map +1 -1
- package/lib-amd/components/DonutChart/Pie/Pie.js +1 -1
- package/lib-amd/components/DonutChart/Pie/Pie.js.map +1 -1
- package/lib-amd/components/DonutChart/Pie/index.js +2 -2
- package/lib-amd/components/DonutChart/Pie/index.js.map +1 -1
- package/lib-amd/components/DonutChart/index.js +3 -3
- package/lib-amd/components/DonutChart/index.js.map +1 -1
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +2 -0
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +16 -7
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js +1 -1
- package/lib-amd/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -1
- package/lib-amd/components/GroupedVerticalBarChart/index.js +2 -2
- package/lib-amd/components/GroupedVerticalBarChart/index.js.map +1 -1
- package/lib-amd/components/HeatMapChart/HeatMapChart.base.d.ts +5 -0
- package/lib-amd/components/HeatMapChart/HeatMapChart.base.js +15 -8
- package/lib-amd/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
- package/lib-amd/components/HeatMapChart/index.js +2 -2
- package/lib-amd/components/HeatMapChart/index.js.map +1 -1
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.d.ts +2 -0
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js +14 -7
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.js +2 -2
- package/lib-amd/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -1
- package/lib-amd/components/HorizontalBarChart/index.js +3 -3
- package/lib-amd/components/HorizontalBarChart/index.js.map +1 -1
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +6 -6
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +1 -1
- package/lib-amd/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
- package/lib-amd/components/HorizontalBarChartWithAxis/index.js +2 -2
- package/lib-amd/components/HorizontalBarChartWithAxis/index.js.map +1 -1
- package/lib-amd/components/Legends/Legends.base.js +11 -11
- package/lib-amd/components/Legends/Legends.base.js.map +1 -1
- package/lib-amd/components/Legends/Legends.styles.js +2 -2
- package/lib-amd/components/Legends/Legends.styles.js.map +1 -1
- package/lib-amd/components/Legends/index.js +3 -3
- package/lib-amd/components/Legends/index.js.map +1 -1
- package/lib-amd/components/Legends/shape.js +2 -2
- package/lib-amd/components/Legends/shape.js.map +1 -1
- package/lib-amd/components/LineChart/LineChart.base.d.ts +2 -0
- package/lib-amd/components/LineChart/LineChart.base.js +26 -16
- package/lib-amd/components/LineChart/LineChart.base.js.map +1 -1
- package/lib-amd/components/LineChart/LineChart.styles.js +1 -1
- package/lib-amd/components/LineChart/LineChart.styles.js.map +1 -1
- package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.js +2 -2
- package/lib-amd/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
- package/lib-amd/components/LineChart/eventAnnotation/Textbox.js +2 -2
- package/lib-amd/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
- package/lib-amd/components/LineChart/index.js +3 -3
- package/lib-amd/components/LineChart/index.js.map +1 -1
- package/lib-amd/components/PieChart/Arc/Arc.js +2 -2
- package/lib-amd/components/PieChart/Arc/Arc.js.map +1 -1
- package/lib-amd/components/PieChart/Arc/index.js +2 -2
- package/lib-amd/components/PieChart/Arc/index.js.map +1 -1
- package/lib-amd/components/PieChart/Pie/Pie.js +1 -1
- package/lib-amd/components/PieChart/Pie/Pie.js.map +1 -1
- package/lib-amd/components/PieChart/Pie/index.js +2 -2
- package/lib-amd/components/PieChart/Pie/index.js.map +1 -1
- package/lib-amd/components/PieChart/PieChart.base.d.ts +6 -1
- package/lib-amd/components/PieChart/PieChart.base.js +17 -5
- package/lib-amd/components/PieChart/PieChart.base.js.map +1 -1
- package/lib-amd/components/PieChart/PieChart.styles.js +1 -1
- package/lib-amd/components/PieChart/PieChart.styles.js.map +1 -1
- package/lib-amd/components/PieChart/index.js +2 -2
- package/lib-amd/components/PieChart/index.js.map +1 -1
- package/lib-amd/components/SankeyChart/SankeyChart.base.d.ts +1 -0
- package/lib-amd/components/SankeyChart/SankeyChart.base.js +49 -42
- package/lib-amd/components/SankeyChart/SankeyChart.base.js.map +1 -1
- package/lib-amd/components/SankeyChart/SankeyChart.styles.js +1 -1
- package/lib-amd/components/SankeyChart/SankeyChart.styles.js.map +1 -1
- package/lib-amd/components/SankeyChart/index.js +2 -2
- package/lib-amd/components/SankeyChart/index.js.map +1 -1
- package/lib-amd/components/Sparkline/Sparkline.base.d.ts +1 -0
- package/lib-amd/components/Sparkline/Sparkline.base.js +40 -30
- package/lib-amd/components/Sparkline/Sparkline.base.js.map +1 -1
- package/lib-amd/components/Sparkline/Sparkline.styles.js +1 -1
- package/lib-amd/components/Sparkline/Sparkline.styles.js.map +1 -1
- package/lib-amd/components/Sparkline/index.js +2 -2
- package/lib-amd/components/Sparkline/index.js.map +1 -1
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.d.ts +2 -0
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js +41 -29
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.js +1 -1
- package/lib-amd/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -1
- package/lib-amd/components/StackedBarChart/StackedBarChart.base.d.ts +2 -0
- package/lib-amd/components/StackedBarChart/StackedBarChart.base.js +70 -56
- package/lib-amd/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
- package/lib-amd/components/StackedBarChart/StackedBarChart.styles.js +1 -1
- package/lib-amd/components/StackedBarChart/StackedBarChart.styles.js.map +1 -1
- package/lib-amd/components/StackedBarChart/index.js +5 -5
- package/lib-amd/components/StackedBarChart/index.js.map +1 -1
- package/lib-amd/components/TreeChart/TreeChart.base.js +4 -3
- package/lib-amd/components/TreeChart/TreeChart.base.js.map +1 -1
- package/lib-amd/components/TreeChart/TreeChart.styles.js +4 -4
- package/lib-amd/components/TreeChart/TreeChart.styles.js.map +1 -1
- package/lib-amd/components/TreeChart/index.js +2 -2
- package/lib-amd/components/TreeChart/index.js.map +1 -1
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js +6 -6
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.js +1 -1
- package/lib-amd/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -1
- package/lib-amd/components/VerticalBarChart/index.js +2 -2
- package/lib-amd/components/VerticalBarChart/index.js.map +1 -1
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +1 -0
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +49 -36
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js +1 -1
- package/lib-amd/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -1
- package/lib-amd/components/VerticalStackedBarChart/index.js +2 -2
- package/lib-amd/components/VerticalStackedBarChart/index.js.map +1 -1
- package/lib-amd/index.js +19 -19
- package/lib-amd/index.js.map +1 -1
- package/lib-amd/types/index.js +2 -2
- package/lib-amd/types/index.js.map +1 -1
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js +1 -1
- package/lib-amd/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
- package/lib-amd/utilities/ChartHoverCard/index.js +3 -3
- package/lib-amd/utilities/ChartHoverCard/index.js.map +1 -1
- package/lib-amd/utilities/FocusableTooltipText.js +2 -2
- package/lib-amd/utilities/FocusableTooltipText.js.map +1 -1
- package/lib-amd/utilities/index.js +3 -3
- package/lib-amd/utilities/index.js.map +1 -1
- package/lib-amd/utilities/utilities.js +4 -4
- package/lib-amd/utilities/utilities.js.map +1 -1
- package/lib-amd/version.js +1 -1
- package/lib-amd/version.js.map +1 -1
- package/lib-commonjs/AreaChart.js +1 -1
- package/lib-commonjs/AreaChart.js.map +1 -1
- package/lib-commonjs/CartesianChart.js +1 -1
- package/lib-commonjs/CartesianChart.js.map +1 -1
- package/lib-commonjs/DonutChart.js +1 -1
- package/lib-commonjs/DonutChart.js.map +1 -1
- package/lib-commonjs/GroupedVerticalBarChart.js +1 -1
- package/lib-commonjs/GroupedVerticalBarChart.js.map +1 -1
- package/lib-commonjs/HeatMapChart.js +1 -1
- package/lib-commonjs/HeatMapChart.js.map +1 -1
- package/lib-commonjs/HorizontalBarChart.js +1 -1
- package/lib-commonjs/HorizontalBarChart.js.map +1 -1
- package/lib-commonjs/HorizontalBarChartWithAxis.js +1 -1
- package/lib-commonjs/HorizontalBarChartWithAxis.js.map +1 -1
- package/lib-commonjs/Legends.js +1 -1
- package/lib-commonjs/Legends.js.map +1 -1
- package/lib-commonjs/LineChart.js +1 -1
- package/lib-commonjs/LineChart.js.map +1 -1
- package/lib-commonjs/PieChart.js +1 -1
- package/lib-commonjs/PieChart.js.map +1 -1
- package/lib-commonjs/SankeyChart.js +1 -1
- package/lib-commonjs/SankeyChart.js.map +1 -1
- package/lib-commonjs/Sparkline.js +1 -1
- package/lib-commonjs/Sparkline.js.map +1 -1
- package/lib-commonjs/StackedBarChart.js +1 -1
- package/lib-commonjs/StackedBarChart.js.map +1 -1
- package/lib-commonjs/TreeChart.js +1 -1
- package/lib-commonjs/TreeChart.js.map +1 -1
- package/lib-commonjs/VerticalBarChart.js +1 -1
- package/lib-commonjs/VerticalBarChart.js.map +1 -1
- package/lib-commonjs/VerticalStackedBarChart.js +1 -1
- package/lib-commonjs/VerticalStackedBarChart.js.map +1 -1
- package/lib-commonjs/components/AreaChart/AreaChart.base.d.ts +1 -0
- package/lib-commonjs/components/AreaChart/AreaChart.base.js +46 -35
- package/lib-commonjs/components/AreaChart/AreaChart.base.js.map +1 -1
- package/lib-commonjs/components/AreaChart/AreaChart.styles.js +1 -1
- package/lib-commonjs/components/AreaChart/AreaChart.styles.js.map +1 -1
- package/lib-commonjs/components/AreaChart/index.js +2 -2
- package/lib-commonjs/components/AreaChart/index.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.base.js +13 -12
- package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js +3 -3
- package/lib-commonjs/components/CommonComponents/CartesianChart.styles.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/index.js +2 -2
- package/lib-commonjs/components/CommonComponents/index.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Arc/Arc.js +1 -1
- package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Arc/index.js +2 -2
- package/lib-commonjs/components/DonutChart/Arc/index.js.map +1 -1
- package/lib-commonjs/components/DonutChart/DonutChart.base.d.ts +1 -0
- package/lib-commonjs/components/DonutChart/DonutChart.base.js +13 -6
- package/lib-commonjs/components/DonutChart/DonutChart.base.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Pie/Pie.js +1 -1
- package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Pie/index.js +2 -2
- package/lib-commonjs/components/DonutChart/Pie/index.js.map +1 -1
- package/lib-commonjs/components/DonutChart/index.js +3 -3
- package/lib-commonjs/components/DonutChart/index.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.d.ts +2 -0
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js +16 -7
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/index.js +2 -2
- package/lib-commonjs/components/GroupedVerticalBarChart/index.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.d.ts +5 -0
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.js +15 -8
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.base.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/index.js +2 -2
- package/lib-commonjs/components/HeatMapChart/index.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.d.ts +2 -0
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.js +14 -7
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.base.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.styles.js +2 -2
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.styles.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/index.js +3 -3
- package/lib-commonjs/components/HorizontalBarChart/index.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js +6 -6
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.base.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.styles.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js +2 -2
- package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js.map +1 -1
- package/lib-commonjs/components/Legends/Legends.base.js +11 -11
- package/lib-commonjs/components/Legends/Legends.base.js.map +1 -1
- package/lib-commonjs/components/Legends/Legends.styles.js +2 -2
- package/lib-commonjs/components/Legends/Legends.styles.js.map +1 -1
- package/lib-commonjs/components/Legends/index.js +3 -3
- package/lib-commonjs/components/Legends/index.js.map +1 -1
- package/lib-commonjs/components/Legends/shape.js +2 -2
- package/lib-commonjs/components/Legends/shape.js.map +1 -1
- package/lib-commonjs/components/LineChart/LineChart.base.d.ts +2 -0
- package/lib-commonjs/components/LineChart/LineChart.base.js +26 -16
- package/lib-commonjs/components/LineChart/LineChart.base.js.map +1 -1
- package/lib-commonjs/components/LineChart/LineChart.styles.js +1 -1
- package/lib-commonjs/components/LineChart/LineChart.styles.js.map +1 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js +2 -2
- package/lib-commonjs/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js +2 -2
- package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
- package/lib-commonjs/components/LineChart/index.js +3 -3
- package/lib-commonjs/components/LineChart/index.js.map +1 -1
- package/lib-commonjs/components/PieChart/Arc/Arc.js +2 -2
- package/lib-commonjs/components/PieChart/Arc/Arc.js.map +1 -1
- package/lib-commonjs/components/PieChart/Arc/index.js +2 -2
- package/lib-commonjs/components/PieChart/Arc/index.js.map +1 -1
- package/lib-commonjs/components/PieChart/Pie/Pie.js +1 -1
- package/lib-commonjs/components/PieChart/Pie/Pie.js.map +1 -1
- package/lib-commonjs/components/PieChart/Pie/index.js +2 -2
- package/lib-commonjs/components/PieChart/Pie/index.js.map +1 -1
- package/lib-commonjs/components/PieChart/PieChart.base.d.ts +6 -1
- package/lib-commonjs/components/PieChart/PieChart.base.js +17 -5
- package/lib-commonjs/components/PieChart/PieChart.base.js.map +1 -1
- package/lib-commonjs/components/PieChart/PieChart.styles.js +1 -1
- package/lib-commonjs/components/PieChart/PieChart.styles.js.map +1 -1
- package/lib-commonjs/components/PieChart/index.js +2 -2
- package/lib-commonjs/components/PieChart/index.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/SankeyChart.base.d.ts +1 -0
- package/lib-commonjs/components/SankeyChart/SankeyChart.base.js +49 -42
- package/lib-commonjs/components/SankeyChart/SankeyChart.base.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js +1 -1
- package/lib-commonjs/components/SankeyChart/SankeyChart.styles.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/index.js +2 -2
- package/lib-commonjs/components/SankeyChart/index.js.map +1 -1
- package/lib-commonjs/components/Sparkline/Sparkline.base.d.ts +1 -0
- package/lib-commonjs/components/Sparkline/Sparkline.base.js +40 -30
- package/lib-commonjs/components/Sparkline/Sparkline.base.js.map +1 -1
- package/lib-commonjs/components/Sparkline/Sparkline.styles.js +1 -1
- package/lib-commonjs/components/Sparkline/Sparkline.styles.js.map +1 -1
- package/lib-commonjs/components/Sparkline/index.js +2 -2
- package/lib-commonjs/components/Sparkline/index.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.d.ts +2 -0
- package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.js +41 -29
- package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.base.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.styles.js +1 -1
- package/lib-commonjs/components/StackedBarChart/MultiStackedBarChart.styles.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.d.ts +2 -0
- package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.js +70 -56
- package/lib-commonjs/components/StackedBarChart/StackedBarChart.base.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/StackedBarChart.styles.js +1 -1
- package/lib-commonjs/components/StackedBarChart/StackedBarChart.styles.js.map +1 -1
- package/lib-commonjs/components/StackedBarChart/index.js +5 -5
- package/lib-commonjs/components/StackedBarChart/index.js.map +1 -1
- package/lib-commonjs/components/TreeChart/TreeChart.base.js +4 -3
- package/lib-commonjs/components/TreeChart/TreeChart.base.js.map +1 -1
- package/lib-commonjs/components/TreeChart/TreeChart.styles.js +4 -4
- package/lib-commonjs/components/TreeChart/TreeChart.styles.js.map +1 -1
- package/lib-commonjs/components/TreeChart/index.js +2 -2
- package/lib-commonjs/components/TreeChart/index.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js +6 -6
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.base.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.styles.js +1 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.styles.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/index.js +2 -2
- package/lib-commonjs/components/VerticalBarChart/index.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.d.ts +1 -0
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js +49 -36
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.base.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.styles.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/index.js +2 -2
- package/lib-commonjs/components/VerticalStackedBarChart/index.js.map +1 -1
- package/lib-commonjs/index.js +19 -19
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/types/index.js +2 -2
- package/lib-commonjs/types/index.js.map +1 -1
- package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.base.js +1 -1
- package/lib-commonjs/utilities/ChartHoverCard/ChartHoverCard.base.js.map +1 -1
- package/lib-commonjs/utilities/ChartHoverCard/index.js +3 -3
- package/lib-commonjs/utilities/ChartHoverCard/index.js.map +1 -1
- package/lib-commonjs/utilities/FocusableTooltipText.js +2 -2
- package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -1
- package/lib-commonjs/utilities/index.js +3 -3
- package/lib-commonjs/utilities/index.js.map +1 -1
- package/lib-commonjs/utilities/utilities.js +4 -4
- package/lib-commonjs/utilities/utilities.js.map +1 -1
- package/lib-commonjs/version.js +1 -1
- package/lib-commonjs/version.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pie.js","sourceRoot":"../src/","sources":["components/DonutChart/Pie/Pie.tsx"],"names":[],"mappings":";;;;IASA,IAAM,aAAa,GAAG,IAAA,8BAAkB,GAA8B,CAAC;IACvE,IAAM,YAAY,GAAW,CAAC,CAAC;IAE/B;QAAyB
|
|
1
|
+
{"version":3,"file":"Pie.js","sourceRoot":"../src/","sources":["components/DonutChart/Pie/Pie.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport * as shape from 'd3-shape';\nimport { IPieProps, IPieStyleProps, IPieStyles } from './index';\nimport { Arc, IArcData } from '../Arc/index';\nimport { IChartDataPoint } from '../index';\nimport { classNamesFunction } from '@fluentui/react/lib/Utilities';\nimport { getStyles } from './Pie.styles';\nimport { wrapTextInsideDonut } from '../../../utilities/index';\n\nconst getClassNames = classNamesFunction<IPieStyleProps, IPieStyles>();\nconst TEXT_PADDING: number = 5;\n\nexport class Pie extends React.Component<IPieProps, {}> {\n public static defaultProps: Partial<IPieProps> = {\n pie: shape\n .pie()\n .sort(null)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .value((d: any) => d.data)\n .padAngle(0.02),\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _pieForFocusRing: any;\n private _totalValue: number;\n\n constructor(props: IPieProps) {\n super(props);\n this._hoverCallback = this._hoverCallback.bind(this);\n this._pieForFocusRing = shape\n .pie()\n .sort(null)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .value((d: any) => d.data)\n .padAngle(0);\n }\n\n public arcGenerator = (d: IArcData, i: number, focusData: IArcData, href?: string): JSX.Element => {\n const color = d && d.data && d.data.color;\n return (\n <Arc\n key={i}\n data={d}\n focusData={focusData}\n innerRadius={this.props.innerRadius}\n outerRadius={this.props.outerRadius}\n color={color!}\n onFocusCallback={this._focusCallback}\n hoverOnCallback={this._hoverCallback}\n onBlurCallback={this.props.onBlurCallback}\n hoverLeaveCallback={this.props.hoverLeaveCallback}\n uniqText={this.props.uniqText}\n activeArc={this.props.activeArc}\n href={href}\n calloutId={this.props.calloutId}\n valueInsideDonut={this.props.valueInsideDonut}\n theme={this.props.theme!}\n focusedArcId={this.props.focusedArcId}\n showLabelsInPercent={this.props.showLabelsInPercent}\n totalValue={this._totalValue}\n hideLabels={this.props.hideLabels}\n />\n );\n };\n\n public render(): JSX.Element {\n const { pie, data } = this.props;\n const focusData = this._pieForFocusRing(data);\n const piechart = pie(data);\n const translate = `translate(${this.props.width / 2}, ${this.props.height / 2})`;\n const classNames = getClassNames(getStyles, {\n theme: this.props.theme!,\n });\n\n this._totalValue = this._computeTotalValue();\n\n return (\n <g transform={translate}>\n {piechart.map((d: IArcData, i: number) => this.arcGenerator(d, i, focusData[i], this.props.href))}\n {this.props.valueInsideDonut && (\n <text\n y={5}\n textAnchor=\"middle\"\n dominantBaseline=\"middle\"\n className={classNames.insideDonutString}\n data-is-focusable={true}\n >\n {this.props.valueInsideDonut}\n </text>\n )}\n </g>\n );\n }\n\n public componentDidUpdate(): void {\n const classNames = getClassNames(getStyles, {\n theme: this.props.theme!,\n });\n\n wrapTextInsideDonut(classNames.insideDonutString, this.props.innerRadius! * 2 - TEXT_PADDING);\n }\n\n private _focusCallback = (data: IChartDataPoint, id: string, e: SVGPathElement): void => {\n this.props.onFocusCallback!(data, id, e);\n };\n\n private _hoverCallback(data: IChartDataPoint, e: React.MouseEvent<SVGPathElement>): void {\n this.props.hoverOnCallback!(data, e);\n }\n\n private _computeTotalValue = () => {\n let totalValue = 0;\n this.props.data.forEach((arc: IChartDataPoint) => {\n totalValue += arc.data!;\n });\n return totalValue;\n };\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
define(["require", "exports", "tslib", "./Pie", "./Pie.types"], function (require, exports, tslib_1, Pie_1, Pie_types_1) {
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
tslib_1.__exportStar(Pie_1, exports);
|
|
5
|
+
tslib_1.__exportStar(Pie_types_1, exports);
|
|
6
6
|
});
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/DonutChart/Pie/index.ts"],"names":[],"mappings":";;;IAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/DonutChart/Pie/index.ts"],"names":[],"mappings":";;;IAAA,qCAAsB;IACtB,2CAA4B","sourcesContent":["export * from './Pie';\nexport * from './Pie.types';\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
define(["require", "exports", "tslib", "./DonutChart", "./DonutChart.types", "../../types/index"], function (require, exports, tslib_1, DonutChart_1, DonutChart_types_1, index_1) {
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
tslib_1.__exportStar(DonutChart_1, exports);
|
|
5
|
+
tslib_1.__exportStar(DonutChart_types_1, exports);
|
|
6
|
+
tslib_1.__exportStar(index_1, exports);
|
|
7
7
|
});
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/DonutChart/index.ts"],"names":[],"mappings":";;;IAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/DonutChart/index.ts"],"names":[],"mappings":";;;IAAA,4CAA6B;IAC7B,kDAAmC;IACnC,uCAAkC","sourcesContent":["export * from './DonutChart';\nexport * from './DonutChart.types';\nexport * from '../../types/index';\n"]}
|
|
@@ -4,6 +4,7 @@ export interface IGroupedVerticalBarChartState extends IBasestate {
|
|
|
4
4
|
dataPointCalloutProps?: IGVBarChartSeriesPoint;
|
|
5
5
|
callOutAccessibilityData?: IAccessibilityProps;
|
|
6
6
|
calloutLegend: string;
|
|
7
|
+
emptyChart?: boolean;
|
|
7
8
|
}
|
|
8
9
|
export declare class GroupedVerticalBarChartBase extends React.Component<IGroupedVerticalBarChartProps, IGroupedVerticalBarChartState> {
|
|
9
10
|
private _createSet;
|
|
@@ -24,6 +25,7 @@ export declare class GroupedVerticalBarChartBase extends React.Component<IGroupe
|
|
|
24
25
|
private _barWidth;
|
|
25
26
|
private _domainMargin;
|
|
26
27
|
constructor(props: IGroupedVerticalBarChartProps);
|
|
28
|
+
componentDidMount(): void;
|
|
27
29
|
render(): React.ReactNode;
|
|
28
30
|
private _getGraphData;
|
|
29
31
|
private _getMargins;
|
|
@@ -11,7 +11,7 @@ define(["require", "exports", "tslib", "react", "d3-array", "d3-selection", "d3-
|
|
|
11
11
|
/** Rate at which the space between the bars in a group changes wrt the bar width */
|
|
12
12
|
var BAR_GAP_RATE = X1_INNER_PADDING / (1 - X1_INNER_PADDING);
|
|
13
13
|
var GroupedVerticalBarChartBase = /** @class */ (function (_super) {
|
|
14
|
-
|
|
14
|
+
tslib_1.__extends(GroupedVerticalBarChartBase, _super);
|
|
15
15
|
function GroupedVerticalBarChartBase(props) {
|
|
16
16
|
var _this = _super.call(this, props) || this;
|
|
17
17
|
_this._isRtl = (0, Utilities_1.getRTL)();
|
|
@@ -162,7 +162,7 @@ define(["require", "exports", "tslib", "react", "d3-array", "d3-selection", "d3-
|
|
|
162
162
|
var singleDataSeries = [];
|
|
163
163
|
point.series.forEach(function (seriesPoint) {
|
|
164
164
|
singleDatasetPoint[seriesPoint.key] = seriesPoint.data;
|
|
165
|
-
singleDatasetPointForBars[seriesPoint.key] =
|
|
165
|
+
singleDatasetPointForBars[seriesPoint.key] = tslib_1.__assign({}, seriesPoint);
|
|
166
166
|
singleDataSeries.push(seriesPoint);
|
|
167
167
|
});
|
|
168
168
|
singleDatasetPointForBars.xAxisPoint = point.name;
|
|
@@ -230,7 +230,7 @@ define(["require", "exports", "tslib", "react", "d3-array", "d3-selection", "d3-
|
|
|
230
230
|
actions.push(legend);
|
|
231
231
|
});
|
|
232
232
|
});
|
|
233
|
-
return (React.createElement(index_2.Legends,
|
|
233
|
+
return (React.createElement(index_2.Legends, tslib_1.__assign({ legends: actions, overflowProps: _this.props.legendsOverflowProps, enabledWrapLines: _this.props.enabledLegendsWrapLines, focusZonePropsInHoverCard: _this.props.focusZonePropsForLegendsInHoverCard }, _this.props.legendProps)));
|
|
234
234
|
};
|
|
235
235
|
_this._getAxisData = function (yAxisData) {
|
|
236
236
|
if (yAxisData && yAxisData.yAxisDomainValues.length) {
|
|
@@ -284,7 +284,7 @@ define(["require", "exports", "tslib", "react", "d3-array", "d3-selection", "d3-
|
|
|
284
284
|
barWidth = groupWidth / (_this._keys.length + (_this._keys.length - 1) * BAR_GAP_RATE);
|
|
285
285
|
}
|
|
286
286
|
_this._barWidth = barWidth;
|
|
287
|
-
return
|
|
287
|
+
return tslib_1.__assign(tslib_1.__assign({}, _this.margins), { left: _this.margins.left + _this._domainMargin, right: _this.margins.right + _this._domainMargin });
|
|
288
288
|
};
|
|
289
289
|
_this._createSet = (0, Utilities_1.memoizeFunction)(function (data) { return _this._createDataSetOfGVBC(data); });
|
|
290
290
|
_this.state = {
|
|
@@ -299,6 +299,7 @@ define(["require", "exports", "tslib", "react", "d3-array", "d3-selection", "d3-
|
|
|
299
299
|
hoverXValue: '',
|
|
300
300
|
calloutLegend: '',
|
|
301
301
|
activeLegend: '',
|
|
302
|
+
emptyChart: false,
|
|
302
303
|
};
|
|
303
304
|
(0, Utilities_1.warnDeprecations)(COMPONENT_NAME, props, {
|
|
304
305
|
showYAxisGridLines: 'Dont use this property. Lines are drawn by default',
|
|
@@ -313,6 +314,14 @@ define(["require", "exports", "tslib", "react", "d3-array", "d3-selection", "d3-
|
|
|
313
314
|
_this._domainMargin = MIN_DOMAIN_MARGIN;
|
|
314
315
|
return _this;
|
|
315
316
|
}
|
|
317
|
+
GroupedVerticalBarChartBase.prototype.componentDidMount = function () {
|
|
318
|
+
var isChartEmpty = !(this.props.data &&
|
|
319
|
+
this.props.data.length > 0 &&
|
|
320
|
+
this.props.data.filter(function (item) { return item.series.length; }).length > 0);
|
|
321
|
+
if (this.state.emptyChart !== isChartEmpty) {
|
|
322
|
+
this.setState({ emptyChart: isChartEmpty });
|
|
323
|
+
}
|
|
324
|
+
};
|
|
316
325
|
GroupedVerticalBarChartBase.prototype.render = function () {
|
|
317
326
|
var _this = this;
|
|
318
327
|
var points = this.props.data;
|
|
@@ -329,19 +338,19 @@ define(["require", "exports", "tslib", "react", "d3-array", "d3-selection", "d3-
|
|
|
329
338
|
theme: this.props.theme,
|
|
330
339
|
href: this.props.href,
|
|
331
340
|
});
|
|
332
|
-
var calloutProps =
|
|
341
|
+
var calloutProps = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({ target: this.state.refSelected, isCalloutVisible: this.state.isCalloutVisible, directionalHint: Callout_1.DirectionalHint.topAutoEdge, id: "toolTip".concat(this._calloutId), gapSpace: 15, isBeakVisible: false, setInitialFocus: true, color: this.state.color, Legend: this.state.calloutLegend, XValue: this.state.xCalloutValue, YValue: this.state.yCalloutValue ? this.state.yCalloutValue : this.state.dataForHoverCard, YValueHover: this.state.YValueHover, hoverXValue: this.state.hoverXValue, onDismiss: this._closeCallout }, this.props.calloutProps), { preventDismissOnLostFocus: true }), (0, index_1.getAccessibleDataObject)(this.state.callOutAccessibilityData, 'text', false));
|
|
333
342
|
var tickParams = {
|
|
334
343
|
tickValues: this.props.tickValues,
|
|
335
344
|
tickFormat: this.props.tickFormat,
|
|
336
345
|
};
|
|
337
|
-
return (React.createElement(index_2.CartesianChart,
|
|
346
|
+
return !this.state.emptyChart ? (React.createElement(index_2.CartesianChart, tslib_1.__assign({}, this.props, { points: this._datasetForBars, chartType: index_1.ChartTypes.GroupedVerticalBarChart, calloutProps: calloutProps, legendBars: legends, xAxisType: this._xAxisType, datasetForXAxisDomain: this._xAxisLabels, tickParams: tickParams, tickPadding: this.props.tickPadding || 5, maxOfYVal: this._yMax, svgFocusZoneProps: {
|
|
338
347
|
direction: react_focus_1.FocusZoneDirection.horizontal,
|
|
339
348
|
}, customizedCallout: this._getCustomizedCallout(), getmargins: this._getMargins, getGraphData: this._getGraphData, getAxisData: this._getAxisData, onChartMouseLeave: this._handleChartMouseLeave, getDomainMargins: this._getDomainMargins, xAxisInnerPadding: 2 / (2 + this._keys.length + (this._keys.length - 1) * BAR_GAP_RATE), xAxisOuterPadding: 0,
|
|
340
349
|
/* eslint-disable react/jsx-no-bind */
|
|
341
350
|
// eslint-disable-next-line react/no-children-prop
|
|
342
351
|
children: function () {
|
|
343
352
|
return React.createElement("g", null, _this._groupedVerticalBarGraph);
|
|
344
|
-
} })));
|
|
353
|
+
} }))) : (React.createElement("div", { id: (0, Utilities_1.getId)('_GVBC_'), role: 'alert', style: { opacity: '0' }, "aria-label": 'Graph has no data to display' }));
|
|
345
354
|
};
|
|
346
355
|
GroupedVerticalBarChartBase.prototype._refCallback = function (element, legendTitle, refIndexNumber) {
|
|
347
356
|
this._refArray[refIndexNumber] = { index: legendTitle, refElement: element };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupedVerticalBarChart.base.js","sourceRoot":"../src/","sources":["components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { max as d3Max } from 'd3-array';\nimport { select as d3Select } from 'd3-selection';\nimport { Axis as D3Axis } from 'd3-axis';\nimport { scaleBand as d3ScaleBand, scaleLinear as d3ScaleLinear } from 'd3-scale';\nimport { classNamesFunction, getId, getRTL, memoizeFunction, warnDeprecations } from '@fluentui/react/lib/Utilities';\nimport { IProcessedStyleSet, IPalette } from '@fluentui/react/lib/Styling';\nimport { DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { FocusZoneDirection } from '@fluentui/react-focus';\nimport {\n ChartTypes,\n IAxisData,\n getAccessibleDataObject,\n tooltipOfXAxislabels,\n XAxisTypes,\n getTypeOfAxis,\n} from '../../utilities/index';\nimport {\n IAccessibilityProps,\n CartesianChart,\n ILegend,\n IGroupedVerticalBarChartData,\n IGroupedVerticalBarChartProps,\n IGroupedVerticalBarChartStyleProps,\n IGroupedVerticalBarChartStyles,\n IGVBarChartSeriesPoint,\n IMargins,\n IBasestate,\n IRefArrayData,\n Legends,\n} from '../../index';\nimport { formatPrefix as d3FormatPrefix } from 'd3-format';\n\nconst COMPONENT_NAME = 'GROUPED VERTICAL BAR CHART';\nconst getClassNames = classNamesFunction<IGroupedVerticalBarChartStyleProps, IGroupedVerticalBarChartStyles>();\ntype StringAxis = D3Axis<string>;\ntype NumericAxis = D3Axis<number | { valueOf(): number }>;\n\nconst MIN_DOMAIN_MARGIN = 8;\nconst X1_INNER_PADDING = 0.1;\n// x1_inner_padding = space_between_bars / (space_between_bars + bar_width)\n// => space_between_bars = (x1_inner_padding / (1 - x1_inner_padding)) * bar_width\n/** Rate at which the space between the bars in a group changes wrt the bar width */\nconst BAR_GAP_RATE = X1_INNER_PADDING / (1 - X1_INNER_PADDING);\n\n// This interface used for - While forming datapoints from given prop \"data\" in code\ninterface IGVDataPoint {\n [key: string]: number | string;\n}\n\n// While forming datapoints from given prop \"data\" in code. These datapoints are used for to draw graph easily.\ninterface IGVSingleDataPoint {\n [key: string]: IGVDataPoint;\n}\nexport interface IGroupedVerticalBarChartState extends IBasestate {\n dataPointCalloutProps?: IGVBarChartSeriesPoint;\n callOutAccessibilityData?: IAccessibilityProps;\n calloutLegend: string;\n}\n\nexport class GroupedVerticalBarChartBase extends React.Component<\n IGroupedVerticalBarChartProps,\n IGroupedVerticalBarChartState\n> {\n private _createSet: (\n data: IGroupedVerticalBarChartData[],\n ) => // eslint-disable-next-line @typescript-eslint/no-explicit-any\n { keys: string[]; xAxisLabels: string[]; datasetForBars: any };\n private _dataset: IGVDataPoint[];\n private _keys: string[];\n private _xAxisLabels: string[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _datasetForBars: any;\n private margins: IMargins;\n private _groupedVerticalBarGraph: JSX.Element[];\n private _classNames: IProcessedStyleSet<IGroupedVerticalBarChartStyles>;\n private _refArray: IRefArrayData[];\n private _yMax: number;\n private _calloutId: string;\n private _tooltipId: string;\n private _xAxisType: XAxisTypes;\n private _isRtl: boolean = getRTL();\n private _calloutAnchorPoint: IGVBarChartSeriesPoint | null;\n private _barWidth: number;\n private _domainMargin: number;\n\n public constructor(props: IGroupedVerticalBarChartProps) {\n super(props);\n this._createSet = memoizeFunction((data: IGroupedVerticalBarChartData[]) => this._createDataSetOfGVBC(data));\n this.state = {\n color: '',\n dataForHoverCard: 0,\n isCalloutVisible: false,\n refSelected: null,\n selectedLegend: '',\n xCalloutValue: '',\n yCalloutValue: '',\n YValueHover: [],\n hoverXValue: '',\n calloutLegend: '',\n activeLegend: '',\n };\n warnDeprecations(COMPONENT_NAME, props, {\n showYAxisGridLines: 'Dont use this property. Lines are drawn by default',\n showXAxisPath: 'Dont use this property. Axis line removed default.',\n showYAxisPath: 'Dont use this property. No need to display Y axis path. Handling default',\n showXAxisGridLines: 'Dont use this property. Handling with default value.',\n legendColor: 'Dont use this property. colour will pick from given data.',\n });\n this._refArray = [];\n this._calloutId = getId('callout');\n this._tooltipId = getId('GVBCTooltipId_');\n this._domainMargin = MIN_DOMAIN_MARGIN;\n }\n\n public render(): React.ReactNode {\n const points = this.props.data;\n const { keys, xAxisLabels, datasetForBars } = this._createSet(points);\n this._keys = keys;\n this._xAxisLabels = xAxisLabels;\n this._datasetForBars = datasetForBars;\n this._xAxisType = getTypeOfAxis(points[0].name, true) as XAxisTypes;\n const legends: JSX.Element = this._getLegendData(points, this.props.theme!.palette);\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const yMax = d3Max(this._dataset, (point: any) => d3Max(this._keys, (key: string) => point[key]));\n this._yMax = Math.max(yMax, this.props.yMaxValue || 0);\n this._classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n href: this.props.href!,\n });\n const calloutProps = {\n target: this.state.refSelected,\n isCalloutVisible: this.state.isCalloutVisible,\n directionalHint: DirectionalHint.topAutoEdge,\n id: `toolTip${this._calloutId}`,\n gapSpace: 15,\n isBeakVisible: false,\n setInitialFocus: true,\n color: this.state.color,\n Legend: this.state.calloutLegend,\n XValue: this.state.xCalloutValue,\n YValue: this.state.yCalloutValue ? this.state.yCalloutValue : this.state.dataForHoverCard,\n YValueHover: this.state.YValueHover,\n hoverXValue: this.state.hoverXValue,\n onDismiss: this._closeCallout,\n ...this.props.calloutProps,\n preventDismissOnLostFocus: true,\n ...getAccessibleDataObject(this.state.callOutAccessibilityData, 'text', false),\n };\n const tickParams = {\n tickValues: this.props.tickValues!,\n tickFormat: this.props.tickFormat!,\n };\n\n return (\n <CartesianChart\n {...this.props}\n points={this._datasetForBars}\n chartType={ChartTypes.GroupedVerticalBarChart}\n calloutProps={calloutProps}\n legendBars={legends}\n xAxisType={this._xAxisType}\n datasetForXAxisDomain={this._xAxisLabels}\n tickParams={tickParams}\n tickPadding={this.props.tickPadding || 5}\n maxOfYVal={this._yMax}\n svgFocusZoneProps={{\n direction: FocusZoneDirection.horizontal,\n }}\n customizedCallout={this._getCustomizedCallout()}\n getmargins={this._getMargins}\n getGraphData={this._getGraphData}\n getAxisData={this._getAxisData}\n onChartMouseLeave={this._handleChartMouseLeave}\n getDomainMargins={this._getDomainMargins}\n xAxisInnerPadding={2 / (2 + this._keys.length + (this._keys.length - 1) * BAR_GAP_RATE)}\n xAxisOuterPadding={0}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children={() => {\n return <g>{this._groupedVerticalBarGraph}</g>;\n }}\n />\n );\n }\n\n private _getGraphData = (\n xScale: StringAxis | NumericAxis,\n yScale: NumericAxis,\n containerHeight: number,\n containerWidth: number,\n xElement?: SVGElement | null,\n ) => {\n const xScale0 = this._createX0Scale(containerWidth);\n const xScale1 = this._createX1Scale(xScale0);\n const allGroupsBars: JSX.Element[] = [];\n this._datasetForBars.forEach((singleSet: IGVSingleDataPoint) => {\n allGroupsBars.push(this._buildGraph(singleSet, xScale0, xScale1, containerHeight, xElement!));\n });\n this._groupedVerticalBarGraph = allGroupsBars;\n };\n\n private _getMargins = (margins: IMargins) => (this.margins = margins);\n\n private _createDataSetOfGVBC = (points: IGroupedVerticalBarChartData[]) => {\n const keys: string[] = [];\n const xAxisLabels: string[] = points.map(singlePoint => singlePoint.name);\n points[0].series.forEach((singleKey: IGVBarChartSeriesPoint) => {\n keys.push(singleKey.key);\n });\n const datasetForBars = this._createDataset(points);\n return {\n keys,\n xAxisLabels,\n datasetForBars,\n };\n };\n\n private _getCustomizedCallout = () => {\n return this.props.onRenderCalloutPerDataPoint\n ? this.props.onRenderCalloutPerDataPoint(this.state.dataPointCalloutProps)\n : null;\n };\n\n private _getOpacity = (legendTitle: string): string => {\n const opacity = this._legendHighlighted(legendTitle) || this._noLegendHighlighted() ? '' : '0.1';\n return opacity;\n };\n\n private _onBarHover = (\n pointData: IGVBarChartSeriesPoint,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n groupData: any,\n mouseEvent: React.MouseEvent<SVGElement>,\n ): void => {\n mouseEvent.persist();\n if (this._calloutAnchorPoint !== pointData) {\n this._calloutAnchorPoint = pointData;\n this.setState({\n refSelected: mouseEvent,\n /** Show the callout if highlighted bar is hovered and Hide it if unhighlighted bar is hovered */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === pointData.legend,\n calloutLegend: pointData.legend,\n dataForHoverCard: pointData.data,\n color: pointData.color,\n xCalloutValue: pointData.xAxisCalloutData,\n yCalloutValue: pointData.yAxisCalloutData,\n dataPointCalloutProps: pointData,\n callOutAccessibilityData: this.props.isCalloutForStack\n ? groupData.stackCallOutAccessibilityData\n : pointData.callOutAccessibilityData,\n YValueHover: groupData.groupSeries,\n hoverXValue: pointData.xAxisCalloutData,\n });\n }\n };\n\n private _onBarLeave = (): void => {\n /**/\n };\n\n private _handleChartMouseLeave = (): void => {\n this._calloutAnchorPoint = null;\n this.setState({ isCalloutVisible: false });\n };\n\n private _onBarFocus = (\n pointData: IGVBarChartSeriesPoint,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n groupData: any,\n refArrayIndexNumber: number,\n ): void => {\n this._refArray.forEach((obj: IRefArrayData, index: number) => {\n if (obj.index === pointData.legend && refArrayIndexNumber === index) {\n this.setState({\n refSelected: obj.refElement,\n /** Show the callout if highlighted bar is focused and Hide it if unhighlighted bar is focused */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === pointData.legend,\n calloutLegend: pointData.legend,\n dataForHoverCard: pointData.data,\n color: pointData.color,\n xCalloutValue: pointData.xAxisCalloutData,\n yCalloutValue: pointData.yAxisCalloutData,\n dataPointCalloutProps: pointData,\n callOutAccessibilityData: this.props.isCalloutForStack\n ? groupData.stackCallOutAccessibilityData\n : pointData.callOutAccessibilityData,\n YValueHover: groupData.groupSeries,\n hoverXValue: pointData.xAxisCalloutData,\n });\n }\n });\n };\n\n private _redirectToUrl = (href: string | undefined): void => {\n href ? (window.location.href = href) : '';\n };\n\n private _refCallback(element: SVGRectElement, legendTitle: string, refIndexNumber: number): void {\n this._refArray[refIndexNumber] = { index: legendTitle, refElement: element };\n }\n\n private _buildGraph = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n singleSet: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xScale0: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xScale1: any,\n containerHeight: number,\n xElement: SVGElement,\n ): JSX.Element => {\n const singleGroup: JSX.Element[] = [];\n const barLabelsForGroup: JSX.Element[] = [];\n\n const yBarScale = d3ScaleLinear()\n .domain([0, this._yMax])\n .range([0, containerHeight! - this.margins.bottom! - this.margins.top!]);\n\n const tempDataSet = Object.keys(this._datasetForBars[0]).splice(0, this._keys.length);\n tempDataSet.forEach((datasetKey: string, index: number) => {\n const refIndexNumber = singleSet.indexNum * tempDataSet.length + index;\n const pointData = singleSet[datasetKey];\n const xPoint = xScale1(datasetKey)!;\n const yPoint = Math.max(containerHeight! - this.margins.bottom! - yBarScale(pointData.data), 0);\n // Not rendering data with 0.\n pointData.data &&\n singleGroup.push(\n <rect\n className={this._classNames.opacityChangeOnHover}\n key={`${singleSet.indexNum}-${index}`}\n height={Math.max(yBarScale(pointData.data), 0)}\n width={this._barWidth}\n x={xPoint}\n y={yPoint}\n data-is-focusable={!this.props.hideTooltip}\n opacity={this._getOpacity(pointData.legend)}\n ref={(e: SVGRectElement | null) => {\n this._refCallback(e!, pointData.legend, refIndexNumber);\n }}\n fill={pointData.color}\n onMouseOver={this._onBarHover.bind(this, pointData, singleSet)}\n onMouseMove={this._onBarHover.bind(this, pointData, singleSet)}\n onMouseOut={this._onBarLeave}\n onFocus={this._onBarFocus.bind(this, pointData, singleSet, refIndexNumber)}\n onBlur={this._onBarLeave}\n onClick={this.props.href ? this._redirectToUrl.bind(this, this.props.href!) : pointData.onClick}\n aria-label={this._getAriaLabel(pointData, singleSet.xAxisPoint)}\n role=\"img\"\n />,\n );\n if (pointData.data && !this.props.hideLabels && this._barWidth >= 16) {\n barLabelsForGroup.push(\n <text\n x={xPoint + this._barWidth / 2}\n y={yPoint - 6}\n textAnchor=\"middle\"\n className={this._classNames.barLabel}\n aria-hidden={true}\n >\n {d3FormatPrefix(pointData.data < 1000 ? '.2~' : '.1', pointData.data)(pointData.data)}\n </text>,\n );\n }\n });\n // Used to display tooltip at x axis labels.\n if (!this.props.wrapXAxisLables && this.props.showXAxisLablesTooltip) {\n const xAxisElement = d3Select(xElement).call(xScale0);\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n const tooltipProps = {\n tooltipCls: this._classNames.tooltip!,\n id: this._tooltipId,\n xAxis: xAxisElement,\n };\n xAxisElement && tooltipOfXAxislabels(tooltipProps);\n }\n return (\n <g key={singleSet.indexNum} transform={`translate(${xScale0(singleSet.xAxisPoint)}, 0)`}>\n {singleGroup}\n {barLabelsForGroup}\n </g>\n );\n };\n\n private _createDataset = (points: IGroupedVerticalBarChartData[]) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const datasetForBars: any = [];\n const dataset: IGVDataPoint[] = [];\n\n points.forEach((point: IGroupedVerticalBarChartData, index: number) => {\n const singleDatasetPoint: IGVDataPoint = {};\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const singleDatasetPointForBars: any = {};\n const singleDataSeries: IGVBarChartSeriesPoint[] = [];\n\n point.series.forEach((seriesPoint: IGVBarChartSeriesPoint) => {\n singleDatasetPoint[seriesPoint.key] = seriesPoint.data;\n singleDatasetPointForBars[seriesPoint.key] = {\n ...seriesPoint,\n };\n singleDataSeries.push(seriesPoint);\n });\n\n singleDatasetPointForBars.xAxisPoint = point.name;\n singleDatasetPointForBars.indexNum = index;\n singleDatasetPointForBars.groupSeries = singleDataSeries;\n singleDatasetPointForBars.stackCallOutAccessibilityData = point.stackCallOutAccessibilityData;\n datasetForBars.push(singleDatasetPointForBars);\n dataset.push(singleDatasetPoint);\n });\n this._dataset = dataset;\n return datasetForBars;\n };\n\n // For grouped vertical bar chart, First need to define total scale (from start to end)\n // From that need to define scale for single group of bars - done by createX1Scale\n private _createX0Scale = (containerWidth: number) => {\n const x0Axis = d3ScaleBand()\n .domain(this._xAxisLabels)\n .range(\n this._isRtl\n ? [containerWidth! - this.margins.right! - this._domainMargin, this.margins.left! + this._domainMargin]\n : [this.margins.left! + this._domainMargin, containerWidth! - this.margins.right! - this._domainMargin],\n )\n // x0_inner_padding = space_between_groups / (space_between_groups + group_width)\n // space_between_groups = 2 * bar_width\n // group_width = this._keys.length * bar_width + (this._keys.length - 1) * space_between_bars\n .paddingInner(2 / (2 + this._keys.length + (this._keys.length - 1) * BAR_GAP_RATE));\n return x0Axis;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _createX1Scale = (xScale0: any): any => {\n const bandWidth = xScale0.bandwidth();\n\n return d3ScaleBand()\n .domain(this._keys)\n .range(this._isRtl ? [bandWidth, 0] : [0, bandWidth])\n .paddingInner(X1_INNER_PADDING);\n };\n\n private _closeCallout = () => {\n this.setState({\n isCalloutVisible: false,\n });\n };\n\n private _onLegendClick(legendTitle: string): void {\n if (this.state.selectedLegend === legendTitle) {\n this.setState({\n selectedLegend: '',\n });\n } else {\n this.setState({\n selectedLegend: legendTitle,\n });\n }\n }\n\n private _onLegendHover(legendTitle: string): void {\n this.setState({\n activeLegend: legendTitle,\n });\n }\n\n private _onLegendLeave(): void {\n this.setState({\n activeLegend: '',\n });\n }\n\n private _getLegendData = (points: IGroupedVerticalBarChartData[], palette: IPalette): JSX.Element => {\n const data = points;\n const defaultPalette: string[] = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n const actions: ILegend[] = [];\n\n data.forEach((singleChartData: IGroupedVerticalBarChartData) => {\n singleChartData.series.forEach((point: IGVBarChartSeriesPoint) => {\n const color: string = point.color ? point.color : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n const checkSimilarLegends = actions.filter((leg: ILegend) => leg.title === point.legend && leg.color === color);\n if (checkSimilarLegends!.length > 0) {\n return;\n }\n const legend: ILegend = {\n title: point.legend,\n color: color,\n action: () => {\n this._onLegendClick(point.legend);\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this._onLegendHover(point.legend);\n },\n onMouseOutAction: () => {\n this._onLegendLeave();\n },\n };\n\n actions.push(legend);\n });\n });\n return (\n <Legends\n legends={actions}\n overflowProps={this.props.legendsOverflowProps}\n enabledWrapLines={this.props.enabledLegendsWrapLines}\n focusZonePropsInHoverCard={this.props.focusZonePropsForLegendsInHoverCard}\n {...this.props.legendProps}\n />\n );\n };\n\n private _getAxisData = (yAxisData: IAxisData) => {\n if (yAxisData && yAxisData.yAxisDomainValues.length) {\n const { yAxisDomainValues: domainValue } = yAxisData;\n this._yMax = Math.max(domainValue[domainValue.length - 1], this.props.yMaxValue || 0);\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: IGVBarChartSeriesPoint, xAxisPoint: string): string => {\n const xValue = point.xAxisCalloutData || xAxisPoint;\n const legend = point.legend;\n const yValue = point.yAxisCalloutData || point.data;\n return point.callOutAccessibilityData?.ariaLabel || `${xValue}. ${legend}, ${yValue}.`;\n };\n\n private _getDomainMargins = (containerWidth: number): IMargins => {\n /** Total width available to render the bars */\n const totalWidth =\n containerWidth - (this.margins.left! + MIN_DOMAIN_MARGIN) - (this.margins.right! + MIN_DOMAIN_MARGIN);\n let barWidth = Math.min(this.props.barwidth || 16, 24);\n let groupWidth = this._keys.length * barWidth + (this._keys.length - 1) * BAR_GAP_RATE * barWidth; // (i)\n /** Total width required to render the bars. Directly proportional to bar width */\n const reqWidth = this._xAxisLabels.length * groupWidth + (this._xAxisLabels.length - 1) * 2 * barWidth; // (ii)\n\n this._domainMargin = MIN_DOMAIN_MARGIN;\n if (totalWidth >= reqWidth) {\n // Center align the chart by setting equal left and right margins for domain\n this._domainMargin += (totalWidth - reqWidth) / 2;\n } else {\n // From (i) and (ii)\n /** Maximum possible group width to maintain 2:1 spacing */\n const maxBandwidth =\n totalWidth /\n (this._xAxisLabels.length +\n (this._xAxisLabels.length - 1) * (2 / (this._keys.length + (this._keys.length - 1) * BAR_GAP_RATE)));\n groupWidth = maxBandwidth;\n // From (i)\n barWidth = groupWidth / (this._keys.length + (this._keys.length - 1) * BAR_GAP_RATE);\n }\n this._barWidth = barWidth;\n\n return {\n ...this.margins,\n left: this.margins.left! + this._domainMargin,\n right: this.margins.right! + this._domainMargin,\n };\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"GroupedVerticalBarChart.base.js","sourceRoot":"../src/","sources":["components/GroupedVerticalBarChart/GroupedVerticalBarChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { max as d3Max } from 'd3-array';\nimport { select as d3Select } from 'd3-selection';\nimport { Axis as D3Axis } from 'd3-axis';\nimport { scaleBand as d3ScaleBand, scaleLinear as d3ScaleLinear } from 'd3-scale';\nimport { classNamesFunction, getId, getRTL, memoizeFunction, warnDeprecations } from '@fluentui/react/lib/Utilities';\nimport { IProcessedStyleSet, IPalette } from '@fluentui/react/lib/Styling';\nimport { DirectionalHint } from '@fluentui/react/lib/Callout';\nimport { FocusZoneDirection } from '@fluentui/react-focus';\nimport {\n ChartTypes,\n IAxisData,\n getAccessibleDataObject,\n tooltipOfXAxislabels,\n XAxisTypes,\n getTypeOfAxis,\n} from '../../utilities/index';\nimport {\n IAccessibilityProps,\n CartesianChart,\n ILegend,\n IGroupedVerticalBarChartData,\n IGroupedVerticalBarChartProps,\n IGroupedVerticalBarChartStyleProps,\n IGroupedVerticalBarChartStyles,\n IGVBarChartSeriesPoint,\n IMargins,\n IBasestate,\n IRefArrayData,\n Legends,\n} from '../../index';\nimport { formatPrefix as d3FormatPrefix } from 'd3-format';\n\nconst COMPONENT_NAME = 'GROUPED VERTICAL BAR CHART';\nconst getClassNames = classNamesFunction<IGroupedVerticalBarChartStyleProps, IGroupedVerticalBarChartStyles>();\ntype StringAxis = D3Axis<string>;\ntype NumericAxis = D3Axis<number | { valueOf(): number }>;\n\nconst MIN_DOMAIN_MARGIN = 8;\nconst X1_INNER_PADDING = 0.1;\n// x1_inner_padding = space_between_bars / (space_between_bars + bar_width)\n// => space_between_bars = (x1_inner_padding / (1 - x1_inner_padding)) * bar_width\n/** Rate at which the space between the bars in a group changes wrt the bar width */\nconst BAR_GAP_RATE = X1_INNER_PADDING / (1 - X1_INNER_PADDING);\n\n// This interface used for - While forming datapoints from given prop \"data\" in code\ninterface IGVDataPoint {\n [key: string]: number | string;\n}\n\n// While forming datapoints from given prop \"data\" in code. These datapoints are used for to draw graph easily.\ninterface IGVSingleDataPoint {\n [key: string]: IGVDataPoint;\n}\nexport interface IGroupedVerticalBarChartState extends IBasestate {\n dataPointCalloutProps?: IGVBarChartSeriesPoint;\n callOutAccessibilityData?: IAccessibilityProps;\n calloutLegend: string;\n emptyChart?: boolean;\n}\n\nexport class GroupedVerticalBarChartBase extends React.Component<\n IGroupedVerticalBarChartProps,\n IGroupedVerticalBarChartState\n> {\n private _createSet: (\n data: IGroupedVerticalBarChartData[],\n ) => // eslint-disable-next-line @typescript-eslint/no-explicit-any\n { keys: string[]; xAxisLabels: string[]; datasetForBars: any };\n private _dataset: IGVDataPoint[];\n private _keys: string[];\n private _xAxisLabels: string[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _datasetForBars: any;\n private margins: IMargins;\n private _groupedVerticalBarGraph: JSX.Element[];\n private _classNames: IProcessedStyleSet<IGroupedVerticalBarChartStyles>;\n private _refArray: IRefArrayData[];\n private _yMax: number;\n private _calloutId: string;\n private _tooltipId: string;\n private _xAxisType: XAxisTypes;\n private _isRtl: boolean = getRTL();\n private _calloutAnchorPoint: IGVBarChartSeriesPoint | null;\n private _barWidth: number;\n private _domainMargin: number;\n\n public constructor(props: IGroupedVerticalBarChartProps) {\n super(props);\n this._createSet = memoizeFunction((data: IGroupedVerticalBarChartData[]) => this._createDataSetOfGVBC(data));\n this.state = {\n color: '',\n dataForHoverCard: 0,\n isCalloutVisible: false,\n refSelected: null,\n selectedLegend: '',\n xCalloutValue: '',\n yCalloutValue: '',\n YValueHover: [],\n hoverXValue: '',\n calloutLegend: '',\n activeLegend: '',\n emptyChart: false,\n };\n warnDeprecations(COMPONENT_NAME, props, {\n showYAxisGridLines: 'Dont use this property. Lines are drawn by default',\n showXAxisPath: 'Dont use this property. Axis line removed default.',\n showYAxisPath: 'Dont use this property. No need to display Y axis path. Handling default',\n showXAxisGridLines: 'Dont use this property. Handling with default value.',\n legendColor: 'Dont use this property. colour will pick from given data.',\n });\n this._refArray = [];\n this._calloutId = getId('callout');\n this._tooltipId = getId('GVBCTooltipId_');\n this._domainMargin = MIN_DOMAIN_MARGIN;\n }\n\n public componentDidMount(): void {\n const isChartEmpty = !(\n this.props.data &&\n this.props.data.length > 0 &&\n this.props.data.filter((item: IGroupedVerticalBarChartData) => item.series.length).length > 0\n );\n if (this.state.emptyChart !== isChartEmpty) {\n this.setState({ emptyChart: isChartEmpty });\n }\n }\n\n public render(): React.ReactNode {\n const points = this.props.data;\n const { keys, xAxisLabels, datasetForBars } = this._createSet(points);\n this._keys = keys;\n this._xAxisLabels = xAxisLabels;\n this._datasetForBars = datasetForBars;\n this._xAxisType = getTypeOfAxis(points[0].name, true) as XAxisTypes;\n const legends: JSX.Element = this._getLegendData(points, this.props.theme!.palette);\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const yMax = d3Max(this._dataset, (point: any) => d3Max(this._keys, (key: string) => point[key]));\n this._yMax = Math.max(yMax, this.props.yMaxValue || 0);\n this._classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n href: this.props.href!,\n });\n const calloutProps = {\n target: this.state.refSelected,\n isCalloutVisible: this.state.isCalloutVisible,\n directionalHint: DirectionalHint.topAutoEdge,\n id: `toolTip${this._calloutId}`,\n gapSpace: 15,\n isBeakVisible: false,\n setInitialFocus: true,\n color: this.state.color,\n Legend: this.state.calloutLegend,\n XValue: this.state.xCalloutValue,\n YValue: this.state.yCalloutValue ? this.state.yCalloutValue : this.state.dataForHoverCard,\n YValueHover: this.state.YValueHover,\n hoverXValue: this.state.hoverXValue,\n onDismiss: this._closeCallout,\n ...this.props.calloutProps,\n preventDismissOnLostFocus: true,\n ...getAccessibleDataObject(this.state.callOutAccessibilityData, 'text', false),\n };\n const tickParams = {\n tickValues: this.props.tickValues!,\n tickFormat: this.props.tickFormat!,\n };\n\n return !this.state.emptyChart ? (\n <CartesianChart\n {...this.props}\n points={this._datasetForBars}\n chartType={ChartTypes.GroupedVerticalBarChart}\n calloutProps={calloutProps}\n legendBars={legends}\n xAxisType={this._xAxisType}\n datasetForXAxisDomain={this._xAxisLabels}\n tickParams={tickParams}\n tickPadding={this.props.tickPadding || 5}\n maxOfYVal={this._yMax}\n svgFocusZoneProps={{\n direction: FocusZoneDirection.horizontal,\n }}\n customizedCallout={this._getCustomizedCallout()}\n getmargins={this._getMargins}\n getGraphData={this._getGraphData}\n getAxisData={this._getAxisData}\n onChartMouseLeave={this._handleChartMouseLeave}\n getDomainMargins={this._getDomainMargins}\n xAxisInnerPadding={2 / (2 + this._keys.length + (this._keys.length - 1) * BAR_GAP_RATE)}\n xAxisOuterPadding={0}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children={() => {\n return <g>{this._groupedVerticalBarGraph}</g>;\n }}\n />\n ) : (\n <div id={getId('_GVBC_')} role={'alert'} style={{ opacity: '0' }} aria-label={'Graph has no data to display'} />\n );\n }\n\n private _getGraphData = (\n xScale: StringAxis | NumericAxis,\n yScale: NumericAxis,\n containerHeight: number,\n containerWidth: number,\n xElement?: SVGElement | null,\n ) => {\n const xScale0 = this._createX0Scale(containerWidth);\n const xScale1 = this._createX1Scale(xScale0);\n const allGroupsBars: JSX.Element[] = [];\n this._datasetForBars.forEach((singleSet: IGVSingleDataPoint) => {\n allGroupsBars.push(this._buildGraph(singleSet, xScale0, xScale1, containerHeight, xElement!));\n });\n this._groupedVerticalBarGraph = allGroupsBars;\n };\n\n private _getMargins = (margins: IMargins) => (this.margins = margins);\n\n private _createDataSetOfGVBC = (points: IGroupedVerticalBarChartData[]) => {\n const keys: string[] = [];\n const xAxisLabels: string[] = points.map(singlePoint => singlePoint.name);\n points[0].series.forEach((singleKey: IGVBarChartSeriesPoint) => {\n keys.push(singleKey.key);\n });\n const datasetForBars = this._createDataset(points);\n return {\n keys,\n xAxisLabels,\n datasetForBars,\n };\n };\n\n private _getCustomizedCallout = () => {\n return this.props.onRenderCalloutPerDataPoint\n ? this.props.onRenderCalloutPerDataPoint(this.state.dataPointCalloutProps)\n : null;\n };\n\n private _getOpacity = (legendTitle: string): string => {\n const opacity = this._legendHighlighted(legendTitle) || this._noLegendHighlighted() ? '' : '0.1';\n return opacity;\n };\n\n private _onBarHover = (\n pointData: IGVBarChartSeriesPoint,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n groupData: any,\n mouseEvent: React.MouseEvent<SVGElement>,\n ): void => {\n mouseEvent.persist();\n if (this._calloutAnchorPoint !== pointData) {\n this._calloutAnchorPoint = pointData;\n this.setState({\n refSelected: mouseEvent,\n /** Show the callout if highlighted bar is hovered and Hide it if unhighlighted bar is hovered */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === pointData.legend,\n calloutLegend: pointData.legend,\n dataForHoverCard: pointData.data,\n color: pointData.color,\n xCalloutValue: pointData.xAxisCalloutData,\n yCalloutValue: pointData.yAxisCalloutData,\n dataPointCalloutProps: pointData,\n callOutAccessibilityData: this.props.isCalloutForStack\n ? groupData.stackCallOutAccessibilityData\n : pointData.callOutAccessibilityData,\n YValueHover: groupData.groupSeries,\n hoverXValue: pointData.xAxisCalloutData,\n });\n }\n };\n\n private _onBarLeave = (): void => {\n /**/\n };\n\n private _handleChartMouseLeave = (): void => {\n this._calloutAnchorPoint = null;\n this.setState({ isCalloutVisible: false });\n };\n\n private _onBarFocus = (\n pointData: IGVBarChartSeriesPoint,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n groupData: any,\n refArrayIndexNumber: number,\n ): void => {\n this._refArray.forEach((obj: IRefArrayData, index: number) => {\n if (obj.index === pointData.legend && refArrayIndexNumber === index) {\n this.setState({\n refSelected: obj.refElement,\n /** Show the callout if highlighted bar is focused and Hide it if unhighlighted bar is focused */\n isCalloutVisible: this.state.selectedLegend === '' || this.state.selectedLegend === pointData.legend,\n calloutLegend: pointData.legend,\n dataForHoverCard: pointData.data,\n color: pointData.color,\n xCalloutValue: pointData.xAxisCalloutData,\n yCalloutValue: pointData.yAxisCalloutData,\n dataPointCalloutProps: pointData,\n callOutAccessibilityData: this.props.isCalloutForStack\n ? groupData.stackCallOutAccessibilityData\n : pointData.callOutAccessibilityData,\n YValueHover: groupData.groupSeries,\n hoverXValue: pointData.xAxisCalloutData,\n });\n }\n });\n };\n\n private _redirectToUrl = (href: string | undefined): void => {\n href ? (window.location.href = href) : '';\n };\n\n private _refCallback(element: SVGRectElement, legendTitle: string, refIndexNumber: number): void {\n this._refArray[refIndexNumber] = { index: legendTitle, refElement: element };\n }\n\n private _buildGraph = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n singleSet: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xScale0: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xScale1: any,\n containerHeight: number,\n xElement: SVGElement,\n ): JSX.Element => {\n const singleGroup: JSX.Element[] = [];\n const barLabelsForGroup: JSX.Element[] = [];\n\n const yBarScale = d3ScaleLinear()\n .domain([0, this._yMax])\n .range([0, containerHeight! - this.margins.bottom! - this.margins.top!]);\n\n const tempDataSet = Object.keys(this._datasetForBars[0]).splice(0, this._keys.length);\n tempDataSet.forEach((datasetKey: string, index: number) => {\n const refIndexNumber = singleSet.indexNum * tempDataSet.length + index;\n const pointData = singleSet[datasetKey];\n const xPoint = xScale1(datasetKey)!;\n const yPoint = Math.max(containerHeight! - this.margins.bottom! - yBarScale(pointData.data), 0);\n // Not rendering data with 0.\n pointData.data &&\n singleGroup.push(\n <rect\n className={this._classNames.opacityChangeOnHover}\n key={`${singleSet.indexNum}-${index}`}\n height={Math.max(yBarScale(pointData.data), 0)}\n width={this._barWidth}\n x={xPoint}\n y={yPoint}\n data-is-focusable={!this.props.hideTooltip}\n opacity={this._getOpacity(pointData.legend)}\n ref={(e: SVGRectElement | null) => {\n this._refCallback(e!, pointData.legend, refIndexNumber);\n }}\n fill={pointData.color}\n onMouseOver={this._onBarHover.bind(this, pointData, singleSet)}\n onMouseMove={this._onBarHover.bind(this, pointData, singleSet)}\n onMouseOut={this._onBarLeave}\n onFocus={this._onBarFocus.bind(this, pointData, singleSet, refIndexNumber)}\n onBlur={this._onBarLeave}\n onClick={this.props.href ? this._redirectToUrl.bind(this, this.props.href!) : pointData.onClick}\n aria-label={this._getAriaLabel(pointData, singleSet.xAxisPoint)}\n role=\"img\"\n />,\n );\n if (pointData.data && !this.props.hideLabels && this._barWidth >= 16) {\n barLabelsForGroup.push(\n <text\n x={xPoint + this._barWidth / 2}\n y={yPoint - 6}\n textAnchor=\"middle\"\n className={this._classNames.barLabel}\n aria-hidden={true}\n >\n {d3FormatPrefix(pointData.data < 1000 ? '.2~' : '.1', pointData.data)(pointData.data)}\n </text>,\n );\n }\n });\n // Used to display tooltip at x axis labels.\n if (!this.props.wrapXAxisLables && this.props.showXAxisLablesTooltip) {\n const xAxisElement = d3Select(xElement).call(xScale0);\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n const tooltipProps = {\n tooltipCls: this._classNames.tooltip!,\n id: this._tooltipId,\n xAxis: xAxisElement,\n };\n xAxisElement && tooltipOfXAxislabels(tooltipProps);\n }\n return (\n <g key={singleSet.indexNum} transform={`translate(${xScale0(singleSet.xAxisPoint)}, 0)`}>\n {singleGroup}\n {barLabelsForGroup}\n </g>\n );\n };\n\n private _createDataset = (points: IGroupedVerticalBarChartData[]) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const datasetForBars: any = [];\n const dataset: IGVDataPoint[] = [];\n\n points.forEach((point: IGroupedVerticalBarChartData, index: number) => {\n const singleDatasetPoint: IGVDataPoint = {};\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const singleDatasetPointForBars: any = {};\n const singleDataSeries: IGVBarChartSeriesPoint[] = [];\n\n point.series.forEach((seriesPoint: IGVBarChartSeriesPoint) => {\n singleDatasetPoint[seriesPoint.key] = seriesPoint.data;\n singleDatasetPointForBars[seriesPoint.key] = {\n ...seriesPoint,\n };\n singleDataSeries.push(seriesPoint);\n });\n\n singleDatasetPointForBars.xAxisPoint = point.name;\n singleDatasetPointForBars.indexNum = index;\n singleDatasetPointForBars.groupSeries = singleDataSeries;\n singleDatasetPointForBars.stackCallOutAccessibilityData = point.stackCallOutAccessibilityData;\n datasetForBars.push(singleDatasetPointForBars);\n dataset.push(singleDatasetPoint);\n });\n this._dataset = dataset;\n return datasetForBars;\n };\n\n // For grouped vertical bar chart, First need to define total scale (from start to end)\n // From that need to define scale for single group of bars - done by createX1Scale\n private _createX0Scale = (containerWidth: number) => {\n const x0Axis = d3ScaleBand()\n .domain(this._xAxisLabels)\n .range(\n this._isRtl\n ? [containerWidth! - this.margins.right! - this._domainMargin, this.margins.left! + this._domainMargin]\n : [this.margins.left! + this._domainMargin, containerWidth! - this.margins.right! - this._domainMargin],\n )\n // x0_inner_padding = space_between_groups / (space_between_groups + group_width)\n // space_between_groups = 2 * bar_width\n // group_width = this._keys.length * bar_width + (this._keys.length - 1) * space_between_bars\n .paddingInner(2 / (2 + this._keys.length + (this._keys.length - 1) * BAR_GAP_RATE));\n return x0Axis;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _createX1Scale = (xScale0: any): any => {\n const bandWidth = xScale0.bandwidth();\n\n return d3ScaleBand()\n .domain(this._keys)\n .range(this._isRtl ? [bandWidth, 0] : [0, bandWidth])\n .paddingInner(X1_INNER_PADDING);\n };\n\n private _closeCallout = () => {\n this.setState({\n isCalloutVisible: false,\n });\n };\n\n private _onLegendClick(legendTitle: string): void {\n if (this.state.selectedLegend === legendTitle) {\n this.setState({\n selectedLegend: '',\n });\n } else {\n this.setState({\n selectedLegend: legendTitle,\n });\n }\n }\n\n private _onLegendHover(legendTitle: string): void {\n this.setState({\n activeLegend: legendTitle,\n });\n }\n\n private _onLegendLeave(): void {\n this.setState({\n activeLegend: '',\n });\n }\n\n private _getLegendData = (points: IGroupedVerticalBarChartData[], palette: IPalette): JSX.Element => {\n const data = points;\n const defaultPalette: string[] = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n const actions: ILegend[] = [];\n\n data.forEach((singleChartData: IGroupedVerticalBarChartData) => {\n singleChartData.series.forEach((point: IGVBarChartSeriesPoint) => {\n const color: string = point.color ? point.color : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n const checkSimilarLegends = actions.filter((leg: ILegend) => leg.title === point.legend && leg.color === color);\n if (checkSimilarLegends!.length > 0) {\n return;\n }\n const legend: ILegend = {\n title: point.legend,\n color: color,\n action: () => {\n this._onLegendClick(point.legend);\n },\n hoverAction: () => {\n this._handleChartMouseLeave();\n this._onLegendHover(point.legend);\n },\n onMouseOutAction: () => {\n this._onLegendLeave();\n },\n };\n\n actions.push(legend);\n });\n });\n return (\n <Legends\n legends={actions}\n overflowProps={this.props.legendsOverflowProps}\n enabledWrapLines={this.props.enabledLegendsWrapLines}\n focusZonePropsInHoverCard={this.props.focusZonePropsForLegendsInHoverCard}\n {...this.props.legendProps}\n />\n );\n };\n\n private _getAxisData = (yAxisData: IAxisData) => {\n if (yAxisData && yAxisData.yAxisDomainValues.length) {\n const { yAxisDomainValues: domainValue } = yAxisData;\n this._yMax = Math.max(domainValue[domainValue.length - 1], this.props.yMaxValue || 0);\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: IGVBarChartSeriesPoint, xAxisPoint: string): string => {\n const xValue = point.xAxisCalloutData || xAxisPoint;\n const legend = point.legend;\n const yValue = point.yAxisCalloutData || point.data;\n return point.callOutAccessibilityData?.ariaLabel || `${xValue}. ${legend}, ${yValue}.`;\n };\n\n private _getDomainMargins = (containerWidth: number): IMargins => {\n /** Total width available to render the bars */\n const totalWidth =\n containerWidth - (this.margins.left! + MIN_DOMAIN_MARGIN) - (this.margins.right! + MIN_DOMAIN_MARGIN);\n let barWidth = Math.min(this.props.barwidth || 16, 24);\n let groupWidth = this._keys.length * barWidth + (this._keys.length - 1) * BAR_GAP_RATE * barWidth; // (i)\n /** Total width required to render the bars. Directly proportional to bar width */\n const reqWidth = this._xAxisLabels.length * groupWidth + (this._xAxisLabels.length - 1) * 2 * barWidth; // (ii)\n\n this._domainMargin = MIN_DOMAIN_MARGIN;\n if (totalWidth >= reqWidth) {\n // Center align the chart by setting equal left and right margins for domain\n this._domainMargin += (totalWidth - reqWidth) / 2;\n } else {\n // From (i) and (ii)\n /** Maximum possible group width to maintain 2:1 spacing */\n const maxBandwidth =\n totalWidth /\n (this._xAxisLabels.length +\n (this._xAxisLabels.length - 1) * (2 / (this._keys.length + (this._keys.length - 1) * BAR_GAP_RATE)));\n groupWidth = maxBandwidth;\n // From (i)\n barWidth = groupWidth / (this._keys.length + (this._keys.length - 1) * BAR_GAP_RATE);\n }\n this._barWidth = barWidth;\n\n return {\n ...this.margins,\n left: this.margins.left! + this._domainMargin,\n right: this.margins.right! + this._domainMargin,\n };\n };\n}\n"]}
|
|
@@ -8,7 +8,7 @@ define(["require", "exports", "tslib", "@fluentui/react/lib/Styling"], function
|
|
|
8
8
|
opacityChangeOnHover: {
|
|
9
9
|
cursor: href ? 'pointer' : 'default',
|
|
10
10
|
},
|
|
11
|
-
tooltip:
|
|
11
|
+
tooltip: tslib_1.__assign(tslib_1.__assign({}, theme.fonts.medium), { display: 'flex', flexDirection: 'column', padding: '8px', position: 'absolute', textAlign: 'center', top: '0px', background: theme.semanticColors.bodyBackground, borderRadius: '2px', pointerEvents: 'none' }),
|
|
12
12
|
barLabel: {
|
|
13
13
|
fontSize: Styling_1.FontSizes.small,
|
|
14
14
|
fontWeight: Styling_1.FontWeights.semibold,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupedVerticalBarChart.styles.js","sourceRoot":"../src/","sources":["components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.ts"],"names":[],"mappings":";;;;IAGO,IAAM,SAAS,GAAG,UAAC,KAAyC;QACzD,IAAA,KAAK,GAAW,KAAK,MAAhB,EAAE,IAAI,GAAK,KAAK,KAAV,CAAW;QAC9B,OAAO;YACL,oBAAoB,EAAE;gBACpB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aACrC;YAED,OAAO,
|
|
1
|
+
{"version":3,"file":"GroupedVerticalBarChart.styles.js","sourceRoot":"../src/","sources":["components/GroupedVerticalBarChart/GroupedVerticalBarChart.styles.ts"],"names":[],"mappings":";;;;IAGO,IAAM,SAAS,GAAG,UAAC,KAAyC;QACzD,IAAA,KAAK,GAAW,KAAK,MAAhB,EAAE,IAAI,GAAK,KAAK,KAAV,CAAW;QAC9B,OAAO;YACL,oBAAoB,EAAE;gBACpB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aACrC;YAED,OAAO,wCACF,KAAK,CAAC,KAAK,CAAC,MAAM,KACrB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,QAAQ,EACvB,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,QAAQ,EACnB,GAAG,EAAE,KAAK,EACV,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,EAC/C,YAAY,EAAE,KAAK,EACnB,aAAa,EAAE,MAAM,GACtB;YAED,QAAQ,EAAE;gBACR,QAAQ,EAAE,mBAAS,CAAC,KAAK;gBACzB,UAAU,EAAE,qBAAW,CAAC,QAAQ;gBAChC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;aACnC;SACF,CAAC;IACJ,CAAC,CAAC;IA1BW,QAAA,SAAS,aA0BpB","sourcesContent":["import { FontSizes, FontWeights } from '@fluentui/react/lib/Styling';\nimport { IGroupedVerticalBarChartStyleProps, IGroupedVerticalBarChartStyles } from '../../index';\n\nexport const getStyles = (props: IGroupedVerticalBarChartStyleProps): IGroupedVerticalBarChartStyles => {\n const { theme, href } = props;\n return {\n opacityChangeOnHover: {\n cursor: href ? 'pointer' : 'default',\n },\n\n tooltip: {\n ...theme.fonts.medium,\n display: 'flex',\n flexDirection: 'column',\n padding: '8px',\n position: 'absolute',\n textAlign: 'center',\n top: '0px',\n background: theme.semanticColors.bodyBackground,\n borderRadius: '2px',\n pointerEvents: 'none',\n },\n\n barLabel: {\n fontSize: FontSizes.small,\n fontWeight: FontWeights.semibold,\n fill: theme.palette.neutralPrimary,\n },\n };\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
define(["require", "exports", "tslib", "./GroupedVerticalBarChart", "./GroupedVerticalBarChart.types"], function (require, exports, tslib_1, GroupedVerticalBarChart_1, GroupedVerticalBarChart_types_1) {
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
tslib_1.__exportStar(GroupedVerticalBarChart_1, exports);
|
|
5
|
+
tslib_1.__exportStar(GroupedVerticalBarChart_types_1, exports);
|
|
6
6
|
});
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/GroupedVerticalBarChart/index.ts"],"names":[],"mappings":";;;IAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/GroupedVerticalBarChart/index.ts"],"names":[],"mappings":";;;IAAA,yDAA0C;IAC1C,+DAAgD","sourcesContent":["export * from './GroupedVerticalBarChart';\nexport * from './GroupedVerticalBarChart.types';\n"]}
|
|
@@ -48,6 +48,10 @@ export interface IHeatMapChartState {
|
|
|
48
48
|
* Accessibility data for callout
|
|
49
49
|
*/
|
|
50
50
|
callOutAccessibilityData?: IAccessibilityProps;
|
|
51
|
+
/**
|
|
52
|
+
* Check for empty chart accessibility
|
|
53
|
+
*/
|
|
54
|
+
emptyChart?: boolean;
|
|
51
55
|
}
|
|
52
56
|
export declare class HeatMapChartBase extends React.Component<IHeatMapChartProps, IHeatMapChartState> {
|
|
53
57
|
private _classNames;
|
|
@@ -67,6 +71,7 @@ export declare class HeatMapChartBase extends React.Component<IHeatMapChartProps
|
|
|
67
71
|
private _yAxisType;
|
|
68
72
|
private _calloutAnchorPoint;
|
|
69
73
|
constructor(props: IHeatMapChartProps);
|
|
74
|
+
componentDidMount(): void;
|
|
70
75
|
render(): React.ReactNode;
|
|
71
76
|
private _getXandY;
|
|
72
77
|
private _getOpacity;
|
|
@@ -4,7 +4,7 @@ define(["require", "exports", "tslib", "../../index", "d3-scale", "@fluentui/rea
|
|
|
4
4
|
exports.HeatMapChartBase = void 0;
|
|
5
5
|
var getClassNames = (0, Utilities_1.classNamesFunction)();
|
|
6
6
|
var HeatMapChartBase = /** @class */ (function (_super) {
|
|
7
|
-
|
|
7
|
+
tslib_1.__extends(HeatMapChartBase, _super);
|
|
8
8
|
function HeatMapChartBase(props) {
|
|
9
9
|
var _this = _super.call(this, props) || this;
|
|
10
10
|
/**
|
|
@@ -164,7 +164,7 @@ define(["require", "exports", "tslib", "../../index", "d3-scale", "@fluentui/rea
|
|
|
164
164
|
};
|
|
165
165
|
legends.push(legend);
|
|
166
166
|
});
|
|
167
|
-
return React.createElement(index_2.Legends,
|
|
167
|
+
return React.createElement(index_2.Legends, tslib_1.__assign({}, legendProps, { legends: legends }));
|
|
168
168
|
};
|
|
169
169
|
_this._getColorScale = function () {
|
|
170
170
|
var _a = _this.props, domainValuesForColorScale = _a.domainValuesForColorScale, rangeValuesForColorScale = _a.rangeValuesForColorScale;
|
|
@@ -223,7 +223,7 @@ define(["require", "exports", "tslib", "../../index", "d3-scale", "@fluentui/rea
|
|
|
223
223
|
*/
|
|
224
224
|
data.forEach(function (item) {
|
|
225
225
|
item.data.forEach(function (point) {
|
|
226
|
-
flattenData.push(
|
|
226
|
+
flattenData.push(tslib_1.__assign(tslib_1.__assign({}, point), { legend: item.legend }));
|
|
227
227
|
});
|
|
228
228
|
});
|
|
229
229
|
var yPoints = {};
|
|
@@ -243,7 +243,7 @@ define(["require", "exports", "tslib", "../../index", "d3-scale", "@fluentui/rea
|
|
|
243
243
|
* array are noting but x data points associated to the property y
|
|
244
244
|
*/
|
|
245
245
|
if (yPoints[posY]) {
|
|
246
|
-
yPoints[posY] =
|
|
246
|
+
yPoints[posY] = tslib_1.__spreadArray(tslib_1.__spreadArray([], yPoints[posY], true), [item], false);
|
|
247
247
|
}
|
|
248
248
|
else {
|
|
249
249
|
yPoints[posY] = [item];
|
|
@@ -458,9 +458,16 @@ define(["require", "exports", "tslib", "../../index", "d3-scale", "@fluentui/rea
|
|
|
458
458
|
ratio: null,
|
|
459
459
|
descriptionMessage: '',
|
|
460
460
|
calloutId: '',
|
|
461
|
+
emptyChart: false,
|
|
461
462
|
};
|
|
462
463
|
return _this;
|
|
463
464
|
}
|
|
465
|
+
HeatMapChartBase.prototype.componentDidMount = function () {
|
|
466
|
+
var isChartEmpty = !(this.props.data && this.props.data.length > 0);
|
|
467
|
+
if (this.state.emptyChart !== isChartEmpty) {
|
|
468
|
+
this.setState({ emptyChart: isChartEmpty });
|
|
469
|
+
}
|
|
470
|
+
};
|
|
464
471
|
HeatMapChartBase.prototype.render = function () {
|
|
465
472
|
var _this = this;
|
|
466
473
|
var _a = this.props, data = _a.data, xAxisDateFormatString = _a.xAxisDateFormatString, xAxisNumberFormatString = _a.xAxisNumberFormatString, yAxisDateFormatString = _a.yAxisDateFormatString, yAxisNumberFormatString = _a.yAxisNumberFormatString;
|
|
@@ -470,11 +477,11 @@ define(["require", "exports", "tslib", "../../index", "d3-scale", "@fluentui/rea
|
|
|
470
477
|
this._stringYAxisDataPoints = yAxisPoints;
|
|
471
478
|
this._stringXAxisDataPoints = xAxisPoints;
|
|
472
479
|
this._classNames = getClassNames(this.props.styles, { theme: this.props.theme });
|
|
473
|
-
var calloutProps =
|
|
474
|
-
var chartHoverProps =
|
|
480
|
+
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 });
|
|
481
|
+
var chartHoverProps = tslib_1.__assign(tslib_1.__assign({}, (this.state.ratio && {
|
|
475
482
|
ratio: this.state.ratio,
|
|
476
483
|
})), { descriptionMessage: this.state.descriptionMessage });
|
|
477
|
-
return (React.createElement(index_1.CartesianChart,
|
|
484
|
+
return !this.state.emptyChart ? (React.createElement(index_1.CartesianChart, tslib_1.__assign({}, this.props, { points: data, chartType: utilities_1.ChartTypes.HeatMapChart, xAxisType: utilities_1.XAxisTypes.StringAxis, yAxisType: utilities_1.YAxisType.StringAxis, calloutProps: calloutProps, chartHoverProps: chartHoverProps, styles: this._classNames.subComponentStyles.cartesianStyles, datasetForXAxisDomain: this._stringXAxisDataPoints, stringDatasetForYAxisDomain: this._stringYAxisDataPoints, xAxisTickCount: this._stringXAxisDataPoints.length, xAxistickSize: 0, xAxisPadding: 0.02, yAxisPadding: 0.02, svgFocusZoneProps: {
|
|
478
485
|
direction: react_focus_1.FocusZoneDirection.bidirectional,
|
|
479
486
|
}, legendBars: this._createLegendBars(), onChartMouseLeave: this._handleChartMouseLeave,
|
|
480
487
|
/* eslint-disable react/jsx-no-bind */
|
|
@@ -483,7 +490,7 @@ define(["require", "exports", "tslib", "../../index", "d3-scale", "@fluentui/rea
|
|
|
483
490
|
_this._xAxisScale = props.xScale;
|
|
484
491
|
_this._yAxisScale = props.yScale;
|
|
485
492
|
return _this._createRectangles();
|
|
486
|
-
} })));
|
|
493
|
+
} }))) : (React.createElement("div", { id: (0, Utilities_1.getId)('_HeatMap_'), role: 'alert', style: { opacity: '0' }, "aria-label": 'Graph has no data to display' }));
|
|
487
494
|
};
|
|
488
495
|
return HeatMapChartBase;
|
|
489
496
|
}(React.Component));
|