@fluentui/react-charts 9.3.22 → 9.3.24
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.md +33 -2
- package/dist/index.d.cts +5724 -0
- package/lib/AnnotationOnlyChart.js +1 -1
- package/lib/AnnotationOnlyChart.js.map +1 -1
- package/lib/AreaChart.js +1 -1
- package/lib/AreaChart.js.map +1 -1
- package/lib/CartesianChart.js +1 -1
- package/lib/CartesianChart.js.map +1 -1
- package/lib/ChartTable.js +1 -1
- package/lib/ChartTable.js.map +1 -1
- package/lib/DeclarativeChart.js +1 -1
- package/lib/DeclarativeChart.js.map +1 -1
- package/lib/DonutChart.js +1 -1
- package/lib/DonutChart.js.map +1 -1
- package/lib/FunnelChart.js +1 -1
- package/lib/FunnelChart.js.map +1 -1
- package/lib/GanttChart.js +1 -1
- package/lib/GanttChart.js.map +1 -1
- package/lib/GaugeChart.js +1 -1
- package/lib/GaugeChart.js.map +1 -1
- package/lib/GroupedVerticalBarChart.js +1 -1
- package/lib/GroupedVerticalBarChart.js.map +1 -1
- package/lib/HeatMapChart.js +1 -1
- package/lib/HeatMapChart.js.map +1 -1
- package/lib/HorizontalBarChart.js +1 -1
- package/lib/HorizontalBarChart.js.map +1 -1
- package/lib/HorizontalBarChartWithAxis.js +1 -1
- package/lib/HorizontalBarChartWithAxis.js.map +1 -1
- package/lib/Legends.js +1 -1
- package/lib/Legends.js.map +1 -1
- package/lib/LineChart.js +1 -1
- package/lib/LineChart.js.map +1 -1
- package/lib/PolarChart.js +1 -1
- package/lib/PolarChart.js.map +1 -1
- package/lib/Popover.js +1 -1
- package/lib/Popover.js.map +1 -1
- package/lib/ResponsiveContainer.js +1 -1
- package/lib/ResponsiveContainer.js.map +1 -1
- package/lib/SankeyChart.js +1 -1
- package/lib/SankeyChart.js.map +1 -1
- package/lib/ScatterChart.js +1 -1
- package/lib/ScatterChart.js.map +1 -1
- package/lib/Sparkline.js +1 -1
- package/lib/Sparkline.js.map +1 -1
- package/lib/VegaDeclarativeChart.js +1 -1
- package/lib/VegaDeclarativeChart.js.map +1 -1
- package/lib/VerticalBarChart.js +1 -1
- package/lib/VerticalBarChart.js.map +1 -1
- package/lib/VerticalStackedBarChart.js +1 -1
- package/lib/VerticalStackedBarChart.js.map +1 -1
- package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.js +5 -5
- package/lib/components/AnnotationOnlyChart/AnnotationOnlyChart.js.map +1 -1
- package/lib/components/AnnotationOnlyChart/index.js +2 -2
- package/lib/components/AnnotationOnlyChart/index.js.map +1 -1
- package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js +2 -2
- package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js.map +1 -1
- package/lib/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.raw.js +2 -2
- package/lib/components/AreaChart/AreaChart.js +11 -11
- package/lib/components/AreaChart/AreaChart.js.map +1 -1
- package/lib/components/AreaChart/index.js +3 -3
- package/lib/components/AreaChart/index.js.map +1 -1
- package/lib/components/AreaChart/useAreaChartStyles.styles.js +2 -2
- package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
- package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js +2 -2
- package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -1
- package/lib/components/ChartTable/ChartTable.js +9 -9
- package/lib/components/ChartTable/ChartTable.js.map +1 -1
- package/lib/components/ChartTable/index.js +3 -3
- package/lib/components/ChartTable/index.js.map +1 -1
- package/lib/components/ChartTable/useChartTableStyles.styles.js +3 -3
- package/lib/components/ChartTable/useChartTableStyles.styles.js.map +1 -1
- package/lib/components/ChartTable/useChartTableStyles.styles.raw.js +3 -3
- package/lib/components/ChartTable/useChartTableStyles.styles.raw.js.map +1 -1
- package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.js +5 -5
- package/lib/components/CommonComponents/Annotations/ChartAnnotationLayer.js.map +1 -1
- package/lib/components/CommonComponents/Annotations/index.js +2 -2
- package/lib/components/CommonComponents/Annotations/index.js.map +1 -1
- package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js +3 -3
- package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js.map +1 -1
- package/lib/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.raw.js +3 -3
- package/lib/components/CommonComponents/CartesianChart.js +9 -9
- package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
- package/lib/components/CommonComponents/ChartPopover.js +9 -9
- package/lib/components/CommonComponents/ChartPopover.js.map +1 -1
- package/lib/components/CommonComponents/index.js +6 -6
- package/lib/components/CommonComponents/index.js.map +1 -1
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +4 -4
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js +4 -4
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
- package/lib/components/CommonComponents/useChartPopoverStyles.styles.js +2 -2
- package/lib/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
- package/lib/components/CommonComponents/useChartPopoverStyles.styles.raw.js +2 -2
- package/lib/components/DeclarativeChart/DeclarativeChart.js +28 -28
- package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
- package/lib/components/DeclarativeChart/PlotlyColorAdapter.js +5 -5
- package/lib/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
- package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +9 -9
- package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
- package/lib/components/DeclarativeChart/index.js +1 -1
- package/lib/components/DeclarativeChart/index.js.map +1 -1
- package/lib/components/DonutChart/Arc/Arc.js +8 -7
- package/lib/components/DonutChart/Arc/Arc.js.map +1 -1
- package/lib/components/DonutChart/Arc/index.js +2 -2
- package/lib/components/DonutChart/Arc/index.js.map +1 -1
- package/lib/components/DonutChart/Arc/useArcStyles.styles.js +3 -3
- package/lib/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
- package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js +3 -3
- package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +1 -1
- package/lib/components/DonutChart/DonutChart.js +10 -10
- package/lib/components/DonutChart/DonutChart.js.map +1 -1
- package/lib/components/DonutChart/Pie/Pie.js +8 -6
- package/lib/components/DonutChart/Pie/Pie.js.map +1 -1
- package/lib/components/DonutChart/Pie/index.js +2 -2
- package/lib/components/DonutChart/Pie/index.js.map +1 -1
- package/lib/components/DonutChart/Pie/usePieStyles.styles.js +2 -2
- package/lib/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -1
- package/lib/components/DonutChart/Pie/usePieStyles.styles.raw.js +2 -2
- package/lib/components/DonutChart/index.js +3 -3
- package/lib/components/DonutChart/index.js.map +1 -1
- package/lib/components/DonutChart/useDonutChartStyles.styles.js +3 -3
- package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
- package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js +3 -3
- package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js.map +1 -1
- package/lib/components/FunnelChart/FunnelChart.js +25 -14
- package/lib/components/FunnelChart/FunnelChart.js.map +1 -1
- package/lib/components/FunnelChart/index.js +2 -2
- package/lib/components/FunnelChart/index.js.map +1 -1
- package/lib/components/FunnelChart/useFunnelChartStyles.styles.js +3 -3
- package/lib/components/FunnelChart/useFunnelChartStyles.styles.js.map +1 -1
- package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js +3 -3
- package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js.map +1 -1
- package/lib/components/GanttChart/GanttChart.js +14 -11
- package/lib/components/GanttChart/GanttChart.js.map +1 -1
- package/lib/components/GanttChart/index.js +2 -2
- package/lib/components/GanttChart/index.js.map +1 -1
- package/lib/components/GaugeChart/GaugeChart.js +17 -14
- package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
- package/lib/components/GaugeChart/index.js +3 -3
- package/lib/components/GaugeChart/index.js.map +1 -1
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +3 -3
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js +3 -3
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +11 -11
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/index.js +3 -3
- package/lib/components/GroupedVerticalBarChart/index.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +2 -2
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +2 -2
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -1
- package/lib/components/HeatMapChart/HeatMapChart.js +21 -16
- package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
- package/lib/components/HeatMapChart/index.js +3 -3
- package/lib/components/HeatMapChart/index.js.map +1 -1
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +2 -2
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +2 -2
- package/lib/components/HorizontalBarChart/HorizontalBarChart.js +11 -11
- package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
- package/lib/components/HorizontalBarChart/index.js +3 -3
- package/lib/components/HorizontalBarChart/index.js.map +1 -1
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +6 -6
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +5 -5
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +13 -13
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/index.js +3 -3
- package/lib/components/HorizontalBarChartWithAxis/index.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +3 -3
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +3 -3
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
- package/lib/components/Legends/Legends.js +72 -42
- package/lib/components/Legends/Legends.js.map +1 -1
- package/lib/components/Legends/OverflowMenu.js +50 -12
- package/lib/components/Legends/OverflowMenu.js.map +1 -1
- package/lib/components/Legends/index.js +3 -3
- package/lib/components/Legends/index.js.map +1 -1
- package/lib/components/Legends/shape.js +2 -2
- package/lib/components/Legends/shape.js.map +1 -1
- package/lib/components/Legends/useLegendsStyles.styles.js +3 -3
- package/lib/components/Legends/useLegendsStyles.styles.js.map +1 -1
- package/lib/components/Legends/useLegendsStyles.styles.raw.js +3 -3
- package/lib/components/Legends/useLegendsStyles.styles.raw.js.map +1 -1
- package/lib/components/LineChart/LineChart.js +16 -16
- package/lib/components/LineChart/LineChart.js.map +1 -1
- package/lib/components/LineChart/eventAnnotation/EventAnnotation.js +5 -5
- package/lib/components/LineChart/eventAnnotation/EventAnnotation.js.map +1 -1
- package/lib/components/LineChart/eventAnnotation/LabelLink.js +4 -4
- package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
- package/lib/components/LineChart/eventAnnotation/Textbox.js +3 -3
- package/lib/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
- package/lib/components/LineChart/index.js +4 -4
- package/lib/components/LineChart/index.js.map +1 -1
- package/lib/components/LineChart/useLineChartStyles.styles.js +4 -4
- package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -1
- package/lib/components/LineChart/useLineChartStyles.styles.raw.js +4 -4
- package/lib/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -1
- package/lib/components/PolarChart/PolarChart.js +13 -13
- package/lib/components/PolarChart/PolarChart.js.map +1 -1
- package/lib/components/PolarChart/PolarChart.utils.js +6 -6
- package/lib/components/PolarChart/PolarChart.utils.js.map +1 -1
- package/lib/components/PolarChart/index.js +2 -2
- package/lib/components/PolarChart/index.js.map +1 -1
- package/lib/components/PolarChart/usePolarChartStyles.styles.js +2 -2
- package/lib/components/PolarChart/usePolarChartStyles.styles.js.map +1 -1
- package/lib/components/PolarChart/usePolarChartStyles.styles.raw.js +2 -2
- package/lib/components/ResponsiveContainer/ResponsiveContainer.js +4 -4
- package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
- package/lib/components/ResponsiveContainer/index.js +3 -3
- package/lib/components/ResponsiveContainer/index.js.map +1 -1
- package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js +1 -1
- package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +1 -1
- package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js +1 -1
- package/lib/components/ResponsiveContainer/withResponsiveContainer.js +2 -2
- package/lib/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -1
- package/lib/components/SankeyChart/SankeyChart.js +27 -21
- package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
- package/lib/components/SankeyChart/index.js +3 -3
- package/lib/components/SankeyChart/index.js.map +1 -1
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +3 -3
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js +3 -3
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +1 -1
- package/lib/components/ScatterChart/ScatterChart.js +16 -16
- package/lib/components/ScatterChart/ScatterChart.js.map +1 -1
- package/lib/components/ScatterChart/index.js +3 -3
- package/lib/components/ScatterChart/index.js.map +1 -1
- package/lib/components/ScatterChart/useScatterChartStyles.styles.js +2 -2
- package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
- package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js +2 -2
- package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -1
- package/lib/components/Sparkline/Sparkline.js +7 -7
- package/lib/components/Sparkline/Sparkline.js.map +1 -1
- package/lib/components/Sparkline/index.js +3 -3
- package/lib/components/Sparkline/index.js.map +1 -1
- package/lib/components/Sparkline/useSparklineStyles.styles.js +2 -2
- package/lib/components/Sparkline/useSparklineStyles.styles.js.map +1 -1
- package/lib/components/Sparkline/useSparklineStyles.styles.raw.js +2 -2
- package/lib/components/VegaDeclarativeChart/VegaDeclarativeChart.js +15 -15
- package/lib/components/VegaDeclarativeChart/VegaDeclarativeChart.js.map +1 -1
- package/lib/components/VegaDeclarativeChart/VegaDeclarativeChartHooks.js +4 -4
- package/lib/components/VegaDeclarativeChart/VegaLiteColorAdapter.js +2 -2
- package/lib/components/VegaDeclarativeChart/VegaLiteColorAdapter.js.map +1 -1
- package/lib/components/VegaDeclarativeChart/VegaLiteSchemaAdapter.js +5 -5
- package/lib/components/VegaDeclarativeChart/VegaLiteSchemaAdapter.js.map +1 -1
- package/lib/components/VegaDeclarativeChart/index.js +1 -1
- package/lib/components/VegaDeclarativeChart/index.js.map +1 -1
- package/lib/components/VerticalBarChart/VerticalBarChart.js +16 -13
- package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
- package/lib/components/VerticalBarChart/index.js +3 -3
- package/lib/components/VerticalBarChart/index.js.map +1 -1
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +4 -4
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +4 -4
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +11 -11
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/index.js +3 -3
- package/lib/components/VerticalStackedBarChart/index.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +2 -2
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +2 -2
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -1
- package/lib/index.js +26 -26
- package/lib/index.js.map +1 -1
- package/lib/types/index.js +3 -3
- package/lib/types/index.js.map +1 -1
- package/lib/utilities/ChartTitle.js +4 -4
- package/lib/utilities/ChartTitle.js.map +1 -1
- package/lib/utilities/Common.styles.js +2 -2
- package/lib/utilities/Common.styles.js.map +1 -1
- package/lib/utilities/Common.styles.raw.js +2 -2
- package/lib/utilities/Common.styles.raw.js.map +1 -1
- package/lib/utilities/FocusableTooltipText.js +6 -6
- package/lib/utilities/FocusableTooltipText.js.map +1 -1
- package/lib/utilities/SVGTooltipText.js +7 -7
- package/lib/utilities/SVGTooltipText.js.map +1 -1
- package/lib/utilities/async-utils.js +1 -1
- package/lib/utilities/async-utils.js.map +1 -1
- package/lib/utilities/colors.js +2 -2
- package/lib/utilities/getWindow.js +1 -1
- package/lib/utilities/hooks.js +3 -3
- package/lib/utilities/hooks.js.map +1 -1
- package/lib/utilities/image-export-utils.js +4 -4
- package/lib/utilities/image-export-utils.js.map +1 -1
- package/lib/utilities/index.js +5 -5
- package/lib/utilities/index.js.map +1 -1
- package/lib/utilities/scatterpolar-utils.js +1 -1
- package/lib/utilities/test-data.js +1 -1
- package/lib/utilities/test-data.js.map +1 -1
- package/lib/utilities/utilities.js +13 -13
- package/lib/utilities/utilities.js.map +1 -1
- package/lib-commonjs/AnnotationOnlyChart.cjs +6 -0
- package/lib-commonjs/{AnnotationOnlyChart.js.map → AnnotationOnlyChart.cjs.map} +1 -1
- package/lib-commonjs/{DonutChart.js → AreaChart.cjs} +1 -1
- package/lib-commonjs/{AreaChart.js.map → AreaChart.cjs.map} +1 -1
- package/lib-commonjs/{AnnotationOnlyChart.js → CartesianChart.cjs} +1 -1
- package/lib-commonjs/{CartesianChart.js.map → CartesianChart.cjs.map} +1 -1
- package/lib-commonjs/{VegaDeclarativeChart.js → ChartTable.cjs} +1 -1
- package/lib-commonjs/{ChartTable.js.map → ChartTable.cjs.map} +1 -1
- package/lib-commonjs/DeclarativeChart.cjs +6 -0
- package/lib-commonjs/{DeclarativeChart.js.map → DeclarativeChart.cjs.map} +1 -1
- package/lib-commonjs/{ChartTable.js → DonutChart.cjs} +1 -1
- package/lib-commonjs/{DonutChart.js.map → DonutChart.cjs.map} +1 -1
- package/lib-commonjs/FunnelChart.cjs +6 -0
- package/lib-commonjs/{FunnelChart.js.map → FunnelChart.cjs.map} +1 -1
- package/lib-commonjs/GanttChart.cjs +6 -0
- package/lib-commonjs/{GanttChart.js.map → GanttChart.cjs.map} +1 -1
- package/lib-commonjs/GaugeChart.cjs +6 -0
- package/lib-commonjs/{GaugeChart.js.map → GaugeChart.cjs.map} +1 -1
- package/lib-commonjs/{GroupedVerticalBarChart.js → GroupedVerticalBarChart.cjs} +1 -1
- package/lib-commonjs/{GroupedVerticalBarChart.js.map → GroupedVerticalBarChart.cjs.map} +1 -1
- package/lib-commonjs/{DeclarativeChart.js → HeatMapChart.cjs} +1 -1
- package/lib-commonjs/{HeatMapChart.js.map → HeatMapChart.cjs.map} +1 -1
- package/lib-commonjs/HorizontalBarChart.cjs +6 -0
- package/lib-commonjs/{HorizontalBarChart.js.map → HorizontalBarChart.cjs.map} +1 -1
- package/lib-commonjs/{HorizontalBarChartWithAxis.js → HorizontalBarChartWithAxis.cjs} +1 -1
- package/lib-commonjs/{HorizontalBarChartWithAxis.js.map → HorizontalBarChartWithAxis.cjs.map} +1 -1
- package/lib-commonjs/{SankeyChart.js → Legends.cjs} +1 -1
- package/lib-commonjs/{Legends.js.map → Legends.cjs.map} +1 -1
- package/lib-commonjs/{FunnelChart.js → LineChart.cjs} +1 -1
- package/lib-commonjs/{LineChart.js.map → LineChart.cjs.map} +1 -1
- package/lib-commonjs/PolarChart.cjs +6 -0
- package/lib-commonjs/{PolarChart.js.map → PolarChart.cjs.map} +1 -1
- package/lib-commonjs/Popover.cjs +6 -0
- package/lib-commonjs/{Popover.js.map → Popover.cjs.map} +1 -1
- package/lib-commonjs/ResponsiveContainer.cjs +6 -0
- package/lib-commonjs/{ResponsiveContainer.js.map → ResponsiveContainer.cjs.map} +1 -1
- package/lib-commonjs/SankeyChart.cjs +6 -0
- package/lib-commonjs/{SankeyChart.js.map → SankeyChart.cjs.map} +1 -1
- package/lib-commonjs/{CartesianChart.js → ScatterChart.cjs} +1 -1
- package/lib-commonjs/{ScatterChart.js.map → ScatterChart.cjs.map} +1 -1
- package/lib-commonjs/{AreaChart.js → Sparkline.cjs} +1 -1
- package/lib-commonjs/{Sparkline.js.map → Sparkline.cjs.map} +1 -1
- package/lib-commonjs/VegaDeclarativeChart.cjs +6 -0
- package/lib-commonjs/{VegaDeclarativeChart.js.map → VegaDeclarativeChart.cjs.map} +1 -1
- package/lib-commonjs/VerticalBarChart.cjs +6 -0
- package/lib-commonjs/{VerticalBarChart.js.map → VerticalBarChart.cjs.map} +1 -1
- package/lib-commonjs/{VerticalStackedBarChart.js → VerticalStackedBarChart.cjs} +1 -1
- package/lib-commonjs/{VerticalStackedBarChart.js.map → VerticalStackedBarChart.cjs.map} +1 -1
- package/lib-commonjs/components/AnnotationOnlyChart/{AnnotationOnlyChart.js → AnnotationOnlyChart.cjs} +5 -5
- package/lib-commonjs/components/AnnotationOnlyChart/{AnnotationOnlyChart.js.map → AnnotationOnlyChart.cjs.map} +1 -1
- package/lib-commonjs/{HeatMapChart.js → components/AnnotationOnlyChart/index.cjs} +2 -1
- package/lib-commonjs/components/AnnotationOnlyChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/AreaChart/{AreaChart.js → AreaChart.cjs} +4 -4
- package/lib-commonjs/components/AreaChart/{AreaChart.js.map → AreaChart.cjs.map} +1 -1
- package/lib-commonjs/components/AreaChart/index.cjs +8 -0
- package/lib-commonjs/components/AreaChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/AreaChart/{useAreaChartStyles.styles.raw.js → useAreaChartStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/AreaChart/{useAreaChartStyles.styles.raw.js.map → useAreaChartStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/ChartTable/{ChartTable.js → ChartTable.cjs} +5 -5
- package/lib-commonjs/components/ChartTable/{ChartTable.js.map → ChartTable.cjs.map} +1 -1
- package/lib-commonjs/components/ChartTable/index.cjs +8 -0
- package/lib-commonjs/components/ChartTable/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/ChartTable/{useChartTableStyles.styles.raw.js → useChartTableStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/ChartTable/{useChartTableStyles.styles.raw.js.map → useChartTableStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/CommonComponents/Annotations/{ChartAnnotationLayer.js → ChartAnnotationLayer.cjs} +1 -1
- package/lib-commonjs/components/CommonComponents/Annotations/{ChartAnnotationLayer.js.map → ChartAnnotationLayer.cjs.map} +1 -1
- package/lib-commonjs/components/CommonComponents/Annotations/index.cjs +7 -0
- package/lib-commonjs/components/CommonComponents/Annotations/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.cjs.map +1 -0
- package/lib-commonjs/components/CommonComponents/{CartesianChart.js → CartesianChart.cjs} +5 -5
- package/lib-commonjs/components/CommonComponents/{CartesianChart.js.map → CartesianChart.cjs.map} +1 -1
- package/lib-commonjs/components/CommonComponents/{ChartPopover.js → ChartPopover.cjs} +3 -3
- package/lib-commonjs/components/CommonComponents/{ChartPopover.js.map → ChartPopover.cjs.map} +1 -1
- package/lib-commonjs/components/CommonComponents/index.cjs +11 -0
- package/lib-commonjs/components/CommonComponents/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/CommonComponents/{useCartesianChartStyles.styles.js → useCartesianChartStyles.styles.cjs} +1 -1
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/CommonComponents/{useCartesianChartStyles.styles.raw.js → useCartesianChartStyles.styles.raw.cjs} +2 -2
- package/lib-commonjs/components/CommonComponents/{useCartesianChartStyles.styles.raw.js.map → useCartesianChartStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/DeclarativeChart/{DeclarativeChart.js → DeclarativeChart.cjs} +21 -21
- package/lib-commonjs/components/DeclarativeChart/{DeclarativeChart.js.map → DeclarativeChart.cjs.map} +1 -1
- package/lib-commonjs/components/DeclarativeChart/{PlotlyColorAdapter.js → PlotlyColorAdapter.cjs} +2 -2
- package/lib-commonjs/components/DeclarativeChart/{PlotlyColorAdapter.js.map → PlotlyColorAdapter.cjs.map} +1 -1
- package/lib-commonjs/components/DeclarativeChart/{PlotlySchemaAdapter.js → PlotlySchemaAdapter.cjs} +3 -3
- package/lib-commonjs/components/DeclarativeChart/{PlotlySchemaAdapter.js.map → PlotlySchemaAdapter.cjs.map} +1 -1
- package/lib-commonjs/components/DeclarativeChart/{index.js → index.cjs} +1 -1
- package/lib-commonjs/components/DeclarativeChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/DonutChart/Arc/{Arc.js → Arc.cjs} +5 -4
- package/lib-commonjs/components/DonutChart/Arc/Arc.cjs.map +1 -0
- package/lib-commonjs/components/DonutChart/Arc/index.cjs +7 -0
- package/lib-commonjs/components/DonutChart/Arc/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/DonutChart/Arc/{useArcStyles.styles.raw.js → useArcStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/DonutChart/Arc/{useArcStyles.styles.raw.js.map → useArcStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/DonutChart/{DonutChart.js → DonutChart.cjs} +6 -6
- package/lib-commonjs/components/DonutChart/{DonutChart.js.map → DonutChart.cjs.map} +1 -1
- package/lib-commonjs/components/DonutChart/Pie/{Pie.js → Pie.cjs} +6 -4
- package/lib-commonjs/components/DonutChart/Pie/{Pie.js.map → Pie.cjs.map} +1 -1
- package/lib-commonjs/components/DonutChart/Pie/index.cjs +7 -0
- package/lib-commonjs/components/DonutChart/Pie/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/DonutChart/index.cjs +8 -0
- package/lib-commonjs/components/DonutChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/DonutChart/{useDonutChartStyles.styles.raw.js → useDonutChartStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/DonutChart/{useDonutChartStyles.styles.raw.js.map → useDonutChartStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/FunnelChart/{FunnelChart.js → FunnelChart.cjs} +21 -10
- package/lib-commonjs/components/FunnelChart/FunnelChart.cjs.map +1 -0
- package/lib-commonjs/components/FunnelChart/index.cjs +7 -0
- package/lib-commonjs/components/FunnelChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/FunnelChart/{useFunnelChartStyles.styles.raw.js → useFunnelChartStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/FunnelChart/{useFunnelChartStyles.styles.raw.js.map → useFunnelChartStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/GanttChart/{GanttChart.js → GanttChart.cjs} +10 -7
- package/lib-commonjs/components/GanttChart/GanttChart.cjs.map +1 -0
- package/lib-commonjs/components/GanttChart/index.cjs +7 -0
- package/lib-commonjs/components/GanttChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/GaugeChart/{GaugeChart.js → GaugeChart.cjs} +12 -9
- package/lib-commonjs/components/GaugeChart/{GaugeChart.js.map → GaugeChart.cjs.map} +1 -1
- package/lib-commonjs/components/GaugeChart/index.cjs +8 -0
- package/lib-commonjs/components/GaugeChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/GaugeChart/{useGaugeChartStyles.styles.raw.js → useGaugeChartStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/GaugeChart/{useGaugeChartStyles.styles.raw.js.map → useGaugeChartStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/{GroupedVerticalBarChart.js → GroupedVerticalBarChart.cjs} +4 -4
- package/lib-commonjs/components/GroupedVerticalBarChart/{GroupedVerticalBarChart.js.map → GroupedVerticalBarChart.cjs.map} +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/index.cjs +8 -0
- package/lib-commonjs/components/GroupedVerticalBarChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/GroupedVerticalBarChart/{useGroupedVerticalBarChartStyles.styles.raw.js → useGroupedVerticalBarChartStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/{useGroupedVerticalBarChartStyles.styles.raw.js.map → useGroupedVerticalBarChartStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/HeatMapChart/{HeatMapChart.js → HeatMapChart.cjs} +13 -8
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.cjs.map +1 -0
- package/lib-commonjs/components/HeatMapChart/index.cjs +8 -0
- package/lib-commonjs/components/HeatMapChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/HorizontalBarChart/{HorizontalBarChart.js → HorizontalBarChart.cjs} +6 -6
- package/lib-commonjs/components/HorizontalBarChart/{HorizontalBarChart.js.map → HorizontalBarChart.cjs.map} +1 -1
- package/lib-commonjs/components/HorizontalBarChart/index.cjs +8 -0
- package/lib-commonjs/components/HorizontalBarChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/HorizontalBarChart/{useHorizontalBarChartStyles.styles.js → useHorizontalBarChartStyles.styles.cjs} +5 -5
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/HorizontalBarChart/{useHorizontalBarChartStyles.styles.raw.js → useHorizontalBarChartStyles.styles.raw.cjs} +3 -3
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.cjs.map +1 -0
- package/lib-commonjs/components/HorizontalBarChartWithAxis/{HorizontalBarChartWithAxis.js → HorizontalBarChartWithAxis.cjs} +9 -9
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.cjs.map +1 -0
- package/lib-commonjs/components/HorizontalBarChartWithAxis/index.cjs +8 -0
- package/lib-commonjs/components/HorizontalBarChartWithAxis/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/HorizontalBarChartWithAxis/{useHorizontalBarChartWithAxisStyles.styles.raw.js → useHorizontalBarChartWithAxisStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/{useHorizontalBarChartWithAxisStyles.styles.raw.js.map → useHorizontalBarChartWithAxisStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/Legends/{Legends.js → Legends.cjs} +66 -36
- package/lib-commonjs/components/Legends/Legends.cjs.map +1 -0
- package/lib-commonjs/components/Legends/OverflowMenu.cjs +82 -0
- package/lib-commonjs/components/Legends/OverflowMenu.cjs.map +1 -0
- package/lib-commonjs/components/Legends/index.cjs +8 -0
- package/lib-commonjs/components/Legends/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/Legends/{shape.js → shape.cjs} +1 -1
- package/lib-commonjs/components/Legends/{shape.js.map → shape.cjs.map} +1 -1
- package/lib-commonjs/components/Legends/useLegendsStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/Legends/{useLegendsStyles.styles.raw.js → useLegendsStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/Legends/{useLegendsStyles.styles.raw.js.map → useLegendsStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/LineChart/{LineChart.js → LineChart.cjs} +7 -7
- package/lib-commonjs/components/LineChart/{LineChart.js.map → LineChart.cjs.map} +1 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/{EventAnnotation.js → EventAnnotation.cjs} +3 -3
- package/lib-commonjs/components/LineChart/eventAnnotation/{EventAnnotation.js.map → EventAnnotation.cjs.map} +1 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/{LabelLink.js → LabelLink.cjs} +2 -2
- package/lib-commonjs/components/LineChart/eventAnnotation/{LabelLink.js.map → LabelLink.cjs.map} +1 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/{Textbox.js → Textbox.cjs} +1 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/{Textbox.js.map → Textbox.cjs.map} +1 -1
- package/lib-commonjs/components/LineChart/index.cjs +9 -0
- package/lib-commonjs/components/LineChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/LineChart/{useLineChartStyles.styles.raw.js → useLineChartStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/LineChart/{useLineChartStyles.styles.raw.js.map → useLineChartStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/PolarChart/{PolarChart.js → PolarChart.cjs} +6 -6
- package/lib-commonjs/components/PolarChart/{PolarChart.js.map → PolarChart.cjs.map} +1 -1
- package/lib-commonjs/components/PolarChart/{PolarChart.utils.js → PolarChart.utils.cjs} +1 -1
- package/lib-commonjs/components/PolarChart/{PolarChart.utils.js.map → PolarChart.utils.cjs.map} +1 -1
- package/lib-commonjs/components/PolarChart/index.cjs +7 -0
- package/lib-commonjs/components/PolarChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/PolarChart/usePolarChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/ResponsiveContainer/{ResponsiveContainer.js → ResponsiveContainer.cjs} +2 -2
- package/lib-commonjs/components/ResponsiveContainer/{ResponsiveContainer.js.map → ResponsiveContainer.cjs.map} +1 -1
- package/lib-commonjs/components/ResponsiveContainer/index.cjs +8 -0
- package/lib-commonjs/components/ResponsiveContainer/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/ResponsiveContainer/{withResponsiveContainer.js → withResponsiveContainer.cjs} +1 -1
- package/lib-commonjs/components/ResponsiveContainer/{withResponsiveContainer.js.map → withResponsiveContainer.cjs.map} +1 -1
- package/lib-commonjs/components/SankeyChart/{SankeyChart.js → SankeyChart.cjs} +18 -12
- package/lib-commonjs/components/SankeyChart/SankeyChart.cjs.map +1 -0
- package/lib-commonjs/components/SankeyChart/index.cjs +8 -0
- package/lib-commonjs/components/SankeyChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/SankeyChart/{useSankeyChartStyles.styles.raw.js → useSankeyChartStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/SankeyChart/{useSankeyChartStyles.styles.raw.js.map → useSankeyChartStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/ScatterChart/{ScatterChart.js → ScatterChart.cjs} +9 -9
- package/lib-commonjs/components/ScatterChart/ScatterChart.cjs.map +1 -0
- package/lib-commonjs/components/ScatterChart/index.cjs +8 -0
- package/lib-commonjs/components/ScatterChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/ScatterChart/{useScatterChartStyles.styles.raw.js → useScatterChartStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/ScatterChart/{useScatterChartStyles.styles.raw.js.map → useScatterChartStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/Sparkline/{Sparkline.js → Sparkline.cjs} +2 -2
- package/lib-commonjs/components/Sparkline/{Sparkline.js.map → Sparkline.cjs.map} +1 -1
- package/lib-commonjs/components/Sparkline/index.cjs +8 -0
- package/lib-commonjs/components/Sparkline/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/VegaDeclarativeChart/{VegaDeclarativeChart.js → VegaDeclarativeChart.cjs} +14 -14
- package/lib-commonjs/components/VegaDeclarativeChart/{VegaDeclarativeChart.js.map → VegaDeclarativeChart.cjs.map} +1 -1
- package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteColorAdapter.js → VegaLiteColorAdapter.cjs} +2 -2
- package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteColorAdapter.js.map → VegaLiteColorAdapter.cjs.map} +1 -1
- package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteSchemaAdapter.js → VegaLiteSchemaAdapter.cjs} +2 -2
- package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteSchemaAdapter.js.map → VegaLiteSchemaAdapter.cjs.map} +1 -1
- package/lib-commonjs/{Legends.js → components/VegaDeclarativeChart/index.cjs} +1 -1
- package/lib-commonjs/components/VegaDeclarativeChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/VerticalBarChart/{VerticalBarChart.js → VerticalBarChart.cjs} +10 -7
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.cjs.map +1 -0
- package/lib-commonjs/components/VerticalBarChart/index.cjs +8 -0
- package/lib-commonjs/components/VerticalBarChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/VerticalBarChart/{useVerticalBarChartStyles.styles.raw.js → useVerticalBarChartStyles.styles.raw.cjs} +2 -2
- package/lib-commonjs/components/VerticalBarChart/{useVerticalBarChartStyles.styles.raw.js.map → useVerticalBarChartStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/{VerticalStackedBarChart.js → VerticalStackedBarChart.cjs} +4 -4
- package/lib-commonjs/components/VerticalStackedBarChart/{VerticalStackedBarChart.js.map → VerticalStackedBarChart.cjs.map} +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/index.cjs +8 -0
- package/lib-commonjs/components/VerticalStackedBarChart/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.cjs.map +1 -0
- package/lib-commonjs/components/VerticalStackedBarChart/{useVerticalStackedBarChartStyles.styles.raw.js → useVerticalStackedBarChartStyles.styles.raw.cjs} +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/{useVerticalStackedBarChartStyles.styles.raw.js.map → useVerticalStackedBarChartStyles.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/index.cjs +31 -0
- package/lib-commonjs/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/types/index.cjs +8 -0
- package/lib-commonjs/types/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/utilities/{ChartTitle.js → ChartTitle.cjs} +3 -3
- package/lib-commonjs/utilities/{ChartTitle.js.map → ChartTitle.cjs.map} +1 -1
- package/lib-commonjs/utilities/{Common.styles.raw.js → Common.styles.cjs} +1 -1
- package/lib-commonjs/utilities/Common.styles.cjs.map +1 -0
- package/lib-commonjs/utilities/{Common.styles.js → Common.styles.raw.cjs} +1 -1
- package/lib-commonjs/utilities/{Common.styles.raw.js.map → Common.styles.raw.cjs.map} +1 -1
- package/lib-commonjs/utilities/{FocusableTooltipText.js → FocusableTooltipText.cjs} +3 -3
- package/lib-commonjs/utilities/{FocusableTooltipText.js.map → FocusableTooltipText.cjs.map} +1 -1
- package/lib-commonjs/utilities/{SVGTooltipText.js → SVGTooltipText.cjs} +2 -2
- package/lib-commonjs/utilities/{SVGTooltipText.js.map → SVGTooltipText.cjs.map} +1 -1
- package/lib-commonjs/utilities/{async-utils.js → async-utils.cjs} +1 -1
- package/lib-commonjs/utilities/{async-utils.js.map → async-utils.cjs.map} +1 -1
- package/lib-commonjs/utilities/{hooks.js → hooks.cjs} +2 -2
- package/lib-commonjs/utilities/{hooks.js.map → hooks.cjs.map} +1 -1
- package/lib-commonjs/utilities/{image-export-utils.js → image-export-utils.cjs} +2 -2
- package/lib-commonjs/utilities/{image-export-utils.js.map → image-export-utils.cjs.map} +1 -1
- package/lib-commonjs/utilities/index.cjs +10 -0
- package/lib-commonjs/utilities/{index.js.map → index.cjs.map} +1 -1
- package/lib-commonjs/utilities/{test-data.js → test-data.cjs} +1 -1
- package/lib-commonjs/utilities/{test-data.js.map → test-data.cjs.map} +1 -1
- package/lib-commonjs/utilities/{utilities.js → utilities.cjs} +2 -2
- package/lib-commonjs/utilities/utilities.cjs.map +1 -0
- package/package.json +21 -15
- package/lib-commonjs/GanttChart.js +0 -6
- package/lib-commonjs/GaugeChart.js +0 -6
- package/lib-commonjs/HorizontalBarChart.js +0 -6
- package/lib-commonjs/LineChart.js +0 -6
- package/lib-commonjs/PolarChart.js +0 -6
- package/lib-commonjs/Popover.js +0 -6
- package/lib-commonjs/ResponsiveContainer.js +0 -6
- package/lib-commonjs/ScatterChart.js +0 -6
- package/lib-commonjs/Sparkline.js +0 -6
- package/lib-commonjs/VerticalBarChart.js +0 -6
- package/lib-commonjs/components/AnnotationOnlyChart/index.js +0 -7
- package/lib-commonjs/components/AnnotationOnlyChart/useAnnotationOnlyChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/AreaChart/index.js +0 -8
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/ChartTable/index.js +0 -8
- package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/Annotations/index.js +0 -7
- package/lib-commonjs/components/CommonComponents/Annotations/useChartAnnotationLayer.styles.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/index.js +0 -11
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Arc/index.js +0 -7
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js.map +0 -1
- package/lib-commonjs/components/DonutChart/Pie/index.js +0 -7
- package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js.map +0 -1
- package/lib-commonjs/components/DonutChart/index.js +0 -8
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/FunnelChart/FunnelChart.js.map +0 -1
- package/lib-commonjs/components/FunnelChart/index.js +0 -7
- package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/GanttChart/GanttChart.js.map +0 -1
- package/lib-commonjs/components/GanttChart/index.js +0 -7
- package/lib-commonjs/components/GaugeChart/index.js +0 -8
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/index.js +0 -8
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +0 -1
- package/lib-commonjs/components/HeatMapChart/index.js +0 -8
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChart/index.js +0 -8
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +0 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/index.js +0 -8
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +0 -1
- package/lib-commonjs/components/Legends/Legends.js.map +0 -1
- package/lib-commonjs/components/Legends/OverflowMenu.js +0 -44
- package/lib-commonjs/components/Legends/OverflowMenu.js.map +0 -1
- package/lib-commonjs/components/Legends/index.js +0 -8
- package/lib-commonjs/components/Legends/useLegendsStyles.styles.js.map +0 -1
- package/lib-commonjs/components/LineChart/index.js +0 -9
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/PolarChart/index.js +0 -7
- package/lib-commonjs/components/PolarChart/usePolarChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/ResponsiveContainer/index.js +0 -8
- package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +0 -1
- package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +0 -1
- package/lib-commonjs/components/SankeyChart/index.js +0 -8
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +0 -1
- package/lib-commonjs/components/ScatterChart/index.js +0 -8
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/Sparkline/index.js +0 -8
- package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js.map +0 -1
- package/lib-commonjs/components/VegaDeclarativeChart/index.js +0 -6
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +0 -1
- package/lib-commonjs/components/VerticalBarChart/index.js +0 -8
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +0 -1
- package/lib-commonjs/components/VerticalStackedBarChart/index.js +0 -8
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +0 -1
- package/lib-commonjs/index.js +0 -31
- package/lib-commonjs/types/index.js +0 -8
- package/lib-commonjs/utilities/Common.styles.js.map +0 -1
- package/lib-commonjs/utilities/index.js +0 -10
- package/lib-commonjs/utilities/utilities.js.map +0 -1
- /package/lib-commonjs/components/AnnotationOnlyChart/{AnnotationOnlyChart.types.js → AnnotationOnlyChart.types.cjs} +0 -0
- /package/lib-commonjs/components/AnnotationOnlyChart/{AnnotationOnlyChart.types.js.map → AnnotationOnlyChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/AnnotationOnlyChart/{useAnnotationOnlyChartStyles.styles.js → useAnnotationOnlyChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/AnnotationOnlyChart/{useAnnotationOnlyChartStyles.styles.raw.js → useAnnotationOnlyChartStyles.styles.raw.cjs} +0 -0
- /package/lib-commonjs/components/AnnotationOnlyChart/{useAnnotationOnlyChartStyles.styles.raw.js.map → useAnnotationOnlyChartStyles.styles.raw.cjs.map} +0 -0
- /package/lib-commonjs/components/AreaChart/{AreaChart.types.js → AreaChart.types.cjs} +0 -0
- /package/lib-commonjs/components/AreaChart/{AreaChart.types.js.map → AreaChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/AreaChart/{useAreaChartStyles.styles.js → useAreaChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/ChartTable/{ChartTable.types.js → ChartTable.types.cjs} +0 -0
- /package/lib-commonjs/components/ChartTable/{ChartTable.types.js.map → ChartTable.types.cjs.map} +0 -0
- /package/lib-commonjs/components/ChartTable/{useChartTableStyles.styles.js → useChartTableStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/CommonComponents/Annotations/{ChartAnnotationLayer.types.js → ChartAnnotationLayer.types.cjs} +0 -0
- /package/lib-commonjs/components/CommonComponents/Annotations/{ChartAnnotationLayer.types.js.map → ChartAnnotationLayer.types.cjs.map} +0 -0
- /package/lib-commonjs/components/CommonComponents/Annotations/{useChartAnnotationLayer.styles.js → useChartAnnotationLayer.styles.cjs} +0 -0
- /package/lib-commonjs/components/CommonComponents/Annotations/{useChartAnnotationLayer.styles.raw.js → useChartAnnotationLayer.styles.raw.cjs} +0 -0
- /package/lib-commonjs/components/CommonComponents/Annotations/{useChartAnnotationLayer.styles.raw.js.map → useChartAnnotationLayer.styles.raw.cjs.map} +0 -0
- /package/lib-commonjs/components/CommonComponents/{CartesianChart.types.js → CartesianChart.types.cjs} +0 -0
- /package/lib-commonjs/components/CommonComponents/{CartesianChart.types.js.map → CartesianChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/CommonComponents/{ChartPopover.types.js → ChartPopover.types.cjs} +0 -0
- /package/lib-commonjs/components/CommonComponents/{ChartPopover.types.js.map → ChartPopover.types.cjs.map} +0 -0
- /package/lib-commonjs/components/CommonComponents/{useChartPopoverStyles.styles.js → useChartPopoverStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/CommonComponents/{useChartPopoverStyles.styles.raw.js → useChartPopoverStyles.styles.raw.cjs} +0 -0
- /package/lib-commonjs/components/CommonComponents/{useChartPopoverStyles.styles.raw.js.map → useChartPopoverStyles.styles.raw.cjs.map} +0 -0
- /package/lib-commonjs/components/DonutChart/Arc/{Arc.types.js → Arc.types.cjs} +0 -0
- /package/lib-commonjs/components/DonutChart/Arc/{Arc.types.js.map → Arc.types.cjs.map} +0 -0
- /package/lib-commonjs/components/DonutChart/Arc/{useArcStyles.styles.js → useArcStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/DonutChart/{DonutChart.types.js → DonutChart.types.cjs} +0 -0
- /package/lib-commonjs/components/DonutChart/{DonutChart.types.js.map → DonutChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/DonutChart/Pie/{Pie.types.js → Pie.types.cjs} +0 -0
- /package/lib-commonjs/components/DonutChart/Pie/{Pie.types.js.map → Pie.types.cjs.map} +0 -0
- /package/lib-commonjs/components/DonutChart/Pie/{usePieStyles.styles.js → usePieStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/DonutChart/Pie/{usePieStyles.styles.raw.js → usePieStyles.styles.raw.cjs} +0 -0
- /package/lib-commonjs/components/DonutChart/Pie/{usePieStyles.styles.raw.js.map → usePieStyles.styles.raw.cjs.map} +0 -0
- /package/lib-commonjs/components/DonutChart/{useDonutChartStyles.styles.js → useDonutChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/FunnelChart/{FunnelChart.types.js → FunnelChart.types.cjs} +0 -0
- /package/lib-commonjs/components/FunnelChart/{FunnelChart.types.js.map → FunnelChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/FunnelChart/{funnelGeometry.js → funnelGeometry.cjs} +0 -0
- /package/lib-commonjs/components/FunnelChart/{funnelGeometry.js.map → funnelGeometry.cjs.map} +0 -0
- /package/lib-commonjs/components/FunnelChart/{useFunnelChartStyles.styles.js → useFunnelChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/GanttChart/{GanttChart.types.js → GanttChart.types.cjs} +0 -0
- /package/lib-commonjs/components/GanttChart/{GanttChart.types.js.map → GanttChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/GanttChart/{useGanttChartStyles.styles.js → useGanttChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/GanttChart/{useGanttChartStyles.styles.js.map → useGanttChartStyles.styles.cjs.map} +0 -0
- /package/lib-commonjs/components/GanttChart/{useGanttChartStyles.styles.raw.js → useGanttChartStyles.styles.raw.cjs} +0 -0
- /package/lib-commonjs/components/GanttChart/{useGanttChartStyles.styles.raw.js.map → useGanttChartStyles.styles.raw.cjs.map} +0 -0
- /package/lib-commonjs/components/GaugeChart/{GaugeChart.types.js → GaugeChart.types.cjs} +0 -0
- /package/lib-commonjs/components/GaugeChart/{GaugeChart.types.js.map → GaugeChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/GaugeChart/{useGaugeChartStyles.styles.js → useGaugeChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/GroupedVerticalBarChart/{GroupedVerticalBarChart.types.js → GroupedVerticalBarChart.types.cjs} +0 -0
- /package/lib-commonjs/components/GroupedVerticalBarChart/{GroupedVerticalBarChart.types.js.map → GroupedVerticalBarChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/GroupedVerticalBarChart/{useGroupedVerticalBarChartStyles.styles.js → useGroupedVerticalBarChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/HeatMapChart/{HeatMapChart.types.js → HeatMapChart.types.cjs} +0 -0
- /package/lib-commonjs/components/HeatMapChart/{HeatMapChart.types.js.map → HeatMapChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/HeatMapChart/{useHeatMapChartStyles.styles.js → useHeatMapChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/HeatMapChart/{useHeatMapChartStyles.styles.raw.js → useHeatMapChartStyles.styles.raw.cjs} +0 -0
- /package/lib-commonjs/components/HeatMapChart/{useHeatMapChartStyles.styles.raw.js.map → useHeatMapChartStyles.styles.raw.cjs.map} +0 -0
- /package/lib-commonjs/components/HorizontalBarChart/{HorizontalBarChart.types.js → HorizontalBarChart.types.cjs} +0 -0
- /package/lib-commonjs/components/HorizontalBarChart/{HorizontalBarChart.types.js.map → HorizontalBarChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/HorizontalBarChartWithAxis/{HorizontalBarChartWithAxis.types.js → HorizontalBarChartWithAxis.types.cjs} +0 -0
- /package/lib-commonjs/components/HorizontalBarChartWithAxis/{HorizontalBarChartWithAxis.types.js.map → HorizontalBarChartWithAxis.types.cjs.map} +0 -0
- /package/lib-commonjs/components/HorizontalBarChartWithAxis/{useHorizontalBarChartWithAxisStyles.styles.js → useHorizontalBarChartWithAxisStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/Legends/{Legends.types.js → Legends.types.cjs} +0 -0
- /package/lib-commonjs/components/Legends/{Legends.types.js.map → Legends.types.cjs.map} +0 -0
- /package/lib-commonjs/components/Legends/{useLegendsStyles.styles.js → useLegendsStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/LineChart/{LineChart.types.js → LineChart.types.cjs} +0 -0
- /package/lib-commonjs/components/LineChart/{LineChart.types.js.map → LineChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/LineChart/{useLineChartStyles.styles.js → useLineChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/PolarChart/{PolarChart.types.js → PolarChart.types.cjs} +0 -0
- /package/lib-commonjs/components/PolarChart/{PolarChart.types.js.map → PolarChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/PolarChart/{usePolarChartStyles.styles.js → usePolarChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/PolarChart/{usePolarChartStyles.styles.raw.js → usePolarChartStyles.styles.raw.cjs} +0 -0
- /package/lib-commonjs/components/PolarChart/{usePolarChartStyles.styles.raw.js.map → usePolarChartStyles.styles.raw.cjs.map} +0 -0
- /package/lib-commonjs/components/ResponsiveContainer/{ResponsiveContainer.types.js → ResponsiveContainer.types.cjs} +0 -0
- /package/lib-commonjs/components/ResponsiveContainer/{ResponsiveContainer.types.js.map → ResponsiveContainer.types.cjs.map} +0 -0
- /package/lib-commonjs/components/ResponsiveContainer/{useResponsiveChildStyles.styles.js → useResponsiveChildStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/ResponsiveContainer/{useResponsiveChildStyles.styles.raw.js → useResponsiveChildStyles.styles.raw.cjs} +0 -0
- /package/lib-commonjs/components/ResponsiveContainer/{useResponsiveChildStyles.styles.raw.js.map → useResponsiveChildStyles.styles.raw.cjs.map} +0 -0
- /package/lib-commonjs/components/SankeyChart/{SankeyChart.types.js → SankeyChart.types.cjs} +0 -0
- /package/lib-commonjs/components/SankeyChart/{SankeyChart.types.js.map → SankeyChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/SankeyChart/{useSankeyChartStyles.styles.js → useSankeyChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/ScatterChart/{ScatterChart.types.js → ScatterChart.types.cjs} +0 -0
- /package/lib-commonjs/components/ScatterChart/{ScatterChart.types.js.map → ScatterChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/ScatterChart/{useScatterChartStyles.styles.js → useScatterChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/Sparkline/{Sparkline.types.js → Sparkline.types.cjs} +0 -0
- /package/lib-commonjs/components/Sparkline/{Sparkline.types.js.map → Sparkline.types.cjs.map} +0 -0
- /package/lib-commonjs/components/Sparkline/{useSparklineStyles.styles.js → useSparklineStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/Sparkline/{useSparklineStyles.styles.raw.js → useSparklineStyles.styles.raw.cjs} +0 -0
- /package/lib-commonjs/components/Sparkline/{useSparklineStyles.styles.raw.js.map → useSparklineStyles.styles.raw.cjs.map} +0 -0
- /package/lib-commonjs/components/VegaDeclarativeChart/{VegaDeclarativeChartHooks.js → VegaDeclarativeChartHooks.cjs} +0 -0
- /package/lib-commonjs/components/VegaDeclarativeChart/{VegaDeclarativeChartHooks.js.map → VegaDeclarativeChartHooks.cjs.map} +0 -0
- /package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteExpressionEvaluator.js → VegaLiteExpressionEvaluator.cjs} +0 -0
- /package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteExpressionEvaluator.js.map → VegaLiteExpressionEvaluator.cjs.map} +0 -0
- /package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteTypes.js → VegaLiteTypes.cjs} +0 -0
- /package/lib-commonjs/components/VegaDeclarativeChart/{VegaLiteTypes.js.map → VegaLiteTypes.cjs.map} +0 -0
- /package/lib-commonjs/components/VerticalBarChart/{VerticalBarChart.types.js → VerticalBarChart.types.cjs} +0 -0
- /package/lib-commonjs/components/VerticalBarChart/{VerticalBarChart.types.js.map → VerticalBarChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/VerticalBarChart/{useVerticalBarChartStyles.styles.js → useVerticalBarChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/components/VerticalStackedBarChart/{VerticalStackedBarChart.types.js → VerticalStackedBarChart.types.cjs} +0 -0
- /package/lib-commonjs/components/VerticalStackedBarChart/{VerticalStackedBarChart.types.js.map → VerticalStackedBarChart.types.cjs.map} +0 -0
- /package/lib-commonjs/components/VerticalStackedBarChart/{useVerticalStackedBarChartStyles.styles.js → useVerticalStackedBarChartStyles.styles.cjs} +0 -0
- /package/lib-commonjs/types/{ChartAnnotation.js → ChartAnnotation.cjs} +0 -0
- /package/lib-commonjs/types/{ChartAnnotation.js.map → ChartAnnotation.cjs.map} +0 -0
- /package/lib-commonjs/types/{DataPoint.js → DataPoint.cjs} +0 -0
- /package/lib-commonjs/types/{DataPoint.js.map → DataPoint.cjs.map} +0 -0
- /package/lib-commonjs/types/{EventAnnotation.js → EventAnnotation.cjs} +0 -0
- /package/lib-commonjs/types/{EventAnnotation.js.map → EventAnnotation.cjs.map} +0 -0
- /package/lib-commonjs/types/{LegendDataItem.js → LegendDataItem.cjs} +0 -0
- /package/lib-commonjs/types/{LegendDataItem.js.map → LegendDataItem.cjs.map} +0 -0
- /package/lib-commonjs/utilities/{KeyCodes.js → KeyCodes.cjs} +0 -0
- /package/lib-commonjs/utilities/{KeyCodes.js.map → KeyCodes.cjs.map} +0 -0
- /package/lib-commonjs/utilities/{colors.js → colors.cjs} +0 -0
- /package/lib-commonjs/utilities/{colors.js.map → colors.cjs.map} +0 -0
- /package/lib-commonjs/utilities/{getWindow.js → getWindow.cjs} +0 -0
- /package/lib-commonjs/utilities/{getWindow.js.map → getWindow.cjs.map} +0 -0
- /package/lib-commonjs/utilities/{overflow-utils.js → overflow-utils.cjs} +0 -0
- /package/lib-commonjs/utilities/{overflow-utils.js.map → overflow-utils.cjs.map} +0 -0
- /package/lib-commonjs/utilities/{scatterpolar-utils.js → scatterpolar-utils.cjs} +0 -0
- /package/lib-commonjs/utilities/{scatterpolar-utils.js.map → scatterpolar-utils.cjs.map} +0 -0
- /package/lib-commonjs/utilities/{string.js → string.cjs} +0 -0
- /package/lib-commonjs/utilities/{string.js.map → string.cjs.map} +0 -0
- /package/lib-commonjs/utilities/{vbc-utils.js → vbc-utils.cjs} +0 -0
- /package/lib-commonjs/utilities/{vbc-utils.js.map → vbc-utils.cjs.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/AreaChart/AreaChart.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { max as d3Max, bisector } from 'd3-array';\nimport { pointer } from 'd3-selection';\nimport { tokens } from '@fluentui/react-theme';\nimport { area as d3Area, stack as d3Stack, curveMonotoneX as d3CurveBasis, line as d3Line } from 'd3-shape';\nimport type {\n AccessibilityProps,\n CustomizedCalloutData,\n AreaChartProps,\n LineChartDataPoint,\n LineChartPoints,\n ChildProps,\n Margins,\n YValueHover,\n ChartPopoverProps,\n} from '../../index';\nimport { CartesianChart } from '../../index';\nimport type { IDomainNRange, YAxisType } from '../../utilities/index';\nimport {\n calloutData,\n getXAxisType,\n ChartTypes,\n XAxisTypes,\n getTypeOfAxis,\n getNextColor,\n getColorFromToken,\n getSecureProps,\n areArraysEqual,\n getCurveFactory,\n findNumericMinMaxOfY,\n createNumericYAxis,\n domainRangeOfNumericForAreaLineScatterCharts,\n domainRangeOfDateForAreaLineScatterVerticalBarCharts,\n createStringYAxis,\n findCalloutPoints,\n} from '../../utilities/index';\nimport { useId } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport type { Legend } from '../Legends/index';\nimport { Legends } from '../Legends/index';\nimport type { ScaleLinear } from 'd3-scale';\nimport { formatDateToLocaleString } from '@fluentui/chart-utilities';\nimport { useImageExport } from '../../utilities/hooks';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst bisect = bisector((d: any) => d.x).left;\n\nenum InterceptVisibility {\n show = 'visibility',\n hide = 'hidden',\n}\n\nexport interface AreaChartAreaPoint {\n xVal: string | number;\n values: AreaChartDataSetPoint;\n}\nexport interface AreaChartDataSetPoint {\n [key: string]: number | string | number[];\n}\nexport interface DPointType {\n values: { 0: number; 1: number; data: {} };\n xVal: number | Date;\n}\nexport interface MapXToDataSet {\n [key: string]: LineChartDataPoint[];\n [key: number]: LineChartDataPoint[];\n}\n\ninterface ILineChartDataPointWithLegend extends LineChartDataPoint {\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n}\n\ntype ILineChartPointsWithoutData = Omit<LineChartPoints, 'data'>;\ninterface LineChartPointsWithLegend extends ILineChartPointsWithoutData {\n data: ILineChartDataPointWithLegend[];\n}\n\n//by default d3-shape 3.2.0 limits the< path> data point precision to 3 digits(d3/d3-path#10)\n\nexport const AreaChart: React.FunctionComponent<AreaChartProps> = React.forwardRef<HTMLDivElement, AreaChartProps>(\n (props, forwardedRef) => {\n const _uniqueIdForGraph: string = useId('areaChart_');\n const _verticalLineId: string = useId('verticalLine_');\n const _circleId: string = useId('circle');\n const _rectId: string = useId('rectangle');\n //enableComputationOptimization is used for optimized code to group data points by x value\n //from O(n^2) to O(n) using a map.\n const _enableComputationOptimization: boolean = true;\n const _firstRenderOptimization: boolean = true;\n const _emptyChartId: string = useId('_AreaChart_empty');\n let _containsSecondaryYAxis = false;\n const _hasMissingXValues = _containsMissingXValues();\n const _hasDuplicateXValues = _xCoordinateContainsMultipleY();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _calloutPoints: any;\n let _createSet: (data: LineChartPoints[]) => {\n colors: string[];\n opacity: number[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n calloutPoints: any;\n };\n let _colors: string[];\n let _opacity: number[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _data: any;\n let _chart: JSXElement[];\n let _margins: Margins;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _xAxisRectScale: any;\n // determines if the given area chart has multiple stacked bar charts\n let _isMultiStackChart: boolean;\n const { cartesianChartRef, legendsRef: _legendsRef } = useImageExport(props.componentRef, props.hideLegend);\n\n const [selectedLegends, setSelectedLegends] = React.useState<string[]>(props.legendProps?.selectedLegends || []);\n const [activeLegend, setActiveLegend] = React.useState<string | undefined>(undefined);\n const [hoverXValue, setHoverXValue] = React.useState<string | number | undefined | null>('');\n\n const [YValueHover, setYValueHover] = React.useState<YValueHover[]>([]);\n const [lineXValue, setLineXValue] = React.useState<number>(0);\n const [displayOfLine, setDisplayOfLine] = React.useState<InterceptVisibility>(InterceptVisibility.hide);\n const [isCircleClicked, setIsCircleClicked] = React.useState<boolean>(false);\n const [nearestCircleToHighlight, setNearestCircleToHighlight] = React.useState<number | string | Date | null>(null);\n const [activePoint, setActivePoint] = React.useState<string>('');\n const [dataPointCalloutProps, setDataPointCalloutProps] = React.useState<CustomizedCalloutData>();\n const [stackCalloutProps, setStackCalloutProps] = React.useState<CustomizedCalloutData>();\n const [xAxisCalloutAccessibilityData, setXAxisCalloutAccessibilityData] = React.useState<AccessibilityProps>();\n const [clickPosition, setClickPosition] = React.useState({ x: 0, y: 0 });\n const [isPopoverOpen, setPopoverOpen] = React.useState(false);\n const prevPropsRef = React.useRef<AreaChartProps | null>(null);\n\n React.useEffect(() => {\n if (prevPropsRef.current) {\n const prevProps = prevPropsRef.current;\n if (!areArraysEqual(prevProps.legendProps?.selectedLegends, props.legendProps?.selectedLegends)) {\n setSelectedLegends(props.legendProps?.selectedLegends || []);\n }\n }\n prevPropsRef.current = props;\n }, [props]);\n\n function _getMinMaxOfYAxis(points: LineChartPoints[], yAxisType: YAxisType, useSecondaryYScale: boolean) {\n return findNumericMinMaxOfY(points, yAxisType, useSecondaryYScale);\n }\n\n function _getDomainNRangeValues(\n points: LineChartPoints[],\n margins: Margins,\n width: number,\n chartType: ChartTypes,\n isRTL: boolean,\n xAxisType: XAxisTypes,\n barWidth: number,\n tickValues: Date[] | number[] | undefined,\n ) {\n let domainNRangeValue: IDomainNRange;\n if (xAxisType === XAxisTypes.NumericAxis) {\n domainNRangeValue = domainRangeOfNumericForAreaLineScatterCharts(points, margins, width, isRTL);\n } else if (xAxisType === XAxisTypes.DateAxis) {\n domainNRangeValue = domainRangeOfDateForAreaLineScatterVerticalBarCharts(\n points,\n margins,\n width,\n isRTL,\n tickValues! as Date[],\n chartType,\n barWidth,\n );\n } else {\n domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };\n }\n return domainNRangeValue;\n }\n\n function _getMargins(margins: Margins) {\n _margins = margins;\n }\n\n function _onRectMouseMove(mouseEvent: React.MouseEvent<SVGRectElement | SVGPathElement | SVGCircleElement>) {\n mouseEvent.persist();\n const { data } = props;\n const { lineChartData } = data;\n _updatePosition(mouseEvent.clientX, mouseEvent.clientY);\n // This will get the value of the X when mouse is on the chart\n // eslint-disable-next-line @nx/workspace-no-restricted-globals\n const xOffset = _xAxisRectScale.invert(pointer(mouseEvent)[0], document.getElementById(_rectId)!);\n const i = bisect(lineChartData![0].data, xOffset);\n const d0 = lineChartData![0].data[i - 1] as LineChartDataPoint;\n const d1 = lineChartData![0].data[i] as LineChartDataPoint;\n let pointToHighlight: string | Date | number | null = null;\n let index: null | number = null;\n const axisType =\n lineChartData![0].data.length > 0 ? (getTypeOfAxis(lineChartData![0].data[0].x, true) as XAxisTypes) : null;\n if (d0 === undefined && d1 !== undefined) {\n pointToHighlight = d1.x;\n index = i;\n } else if (d0 !== undefined && d1 === undefined) {\n pointToHighlight = d0.x;\n index = i - 1;\n } else {\n let x0;\n let point0;\n let point1;\n switch (axisType) {\n case XAxisTypes.DateAxis:\n x0 = new Date(xOffset).getTime();\n point0 = (d0.x as Date).getTime();\n point1 = (d1.x as Date).getTime();\n pointToHighlight = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? d1.x : d0.x;\n index = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? i : i - 1;\n break;\n case XAxisTypes.NumericAxis:\n x0 = xOffset as number;\n point0 = d0.x as number;\n point1 = d1.x as number;\n pointToHighlight = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? d1.x : d0.x;\n index = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? i : i - 1;\n break;\n default:\n break;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { xAxisCalloutData, xAxisCalloutAccessibilityData } = lineChartData![0].data[index as number];\n const formattedDate =\n pointToHighlight instanceof Date\n ? formatDateToLocaleString(pointToHighlight, props.culture, props.useUTC as boolean)\n : pointToHighlight;\n const found = findCalloutPoints(_calloutPoints, pointToHighlight);\n\n const _nearestCircleToHighlight =\n axisType === XAxisTypes.DateAxis ? (pointToHighlight as Date).getTime() : pointToHighlight;\n // if no points need to be called out then don't show vertical line and callout card\n if (found) {\n const filteredValues = _getFilteredLegendValues(found.values);\n setNearestCircleToHighlight(_nearestCircleToHighlight);\n setLineXValue(_xAxisRectScale(pointToHighlight));\n setDisplayOfLine(InterceptVisibility.show);\n setIsCircleClicked(false);\n setStackCalloutProps({ ...found, values: filteredValues });\n setYValueHover(filteredValues);\n setDataPointCalloutProps({ ...found, values: filteredValues });\n setHoverXValue(xAxisCalloutData ? xAxisCalloutData : formattedDate);\n setXAxisCalloutAccessibilityData(xAxisCalloutAccessibilityData);\n setActivePoint('');\n } else {\n setPopoverOpen(false);\n setNearestCircleToHighlight(nearestCircleToHighlight);\n setDisplayOfLine(InterceptVisibility.hide);\n setIsCircleClicked(false);\n }\n }\n /**\n * just cleaning up the state which we have set in the mouse move event\n */\n function _onRectMouseOut() {\n /**/\n }\n\n function _updatePosition(newX: number, newY: number) {\n const threshold = 1; // Set a threshold for movement\n const { x, y } = clickPosition;\n // Calculate the distance moved\n const distance = Math.sqrt(Math.pow(newX - x, 2) + Math.pow(newY - y, 2));\n // Update the position only if the distance moved is greater than the threshold\n if (distance > threshold) {\n setClickPosition({ x: newX, y: newY });\n setPopoverOpen(true);\n }\n }\n\n function _handleChartMouseLeave() {\n setPopoverOpen(false);\n setNearestCircleToHighlight(null);\n setLineXValue(0);\n setDisplayOfLine(InterceptVisibility.hide);\n setIsCircleClicked(false);\n setStackCalloutProps(undefined);\n setDataPointCalloutProps(undefined);\n setHoverXValue(undefined);\n setYValueHover([]);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _getDataPoints(keys: string[], dataSet: any) {\n const renderPoints: Array<AreaChartDataSetPoint[]> = [];\n let maxOfYVal = 0;\n\n if (_shouldFillToZeroY()) {\n keys.forEach((key, index) => {\n const currentLayer: AreaChartDataSetPoint[] = [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dataSet.forEach((d: any) => {\n currentLayer.push({\n values: [0, d[key]], // Start from zero for \"tozeroy\" mode\n xVal: d.xVal,\n });\n if (d[key] > maxOfYVal) {\n maxOfYVal = d[key];\n }\n });\n renderPoints.push(currentLayer);\n });\n } else {\n const dataValues = d3Stack().keys(keys)(dataSet);\n maxOfYVal = d3Max(dataValues[dataValues.length - 1], dp => dp[1])!;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dataValues.forEach((layer: any) => {\n const currentLayer: AreaChartDataSetPoint[] = [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n layer.forEach((d: any) => {\n currentLayer.push({\n values: d,\n xVal: d.data.xVal,\n });\n });\n renderPoints.push(currentLayer);\n });\n }\n\n _isMultiStackChart = !!(props.legendProps?.selectedLegends\n ? renderPoints?.length >= 1\n : renderPoints?.length > 1);\n return {\n renderData: renderPoints,\n // The maxOfYVal prop is only required for the primary y-axis. When the data includes\n // a secondary y-axis, the mode defaults to tozeroy, so maxOfYVal should be calculated using\n // only the data points associated with the primary y-axis.\n maxOfYVal: _containsSecondaryYAxis ? findNumericMinMaxOfY(props.data.lineChartData!).endValue : maxOfYVal,\n };\n }\n\n function _createDataSet(points: LineChartPoints[]) {\n if (props.enablePerfOptimization && _enableComputationOptimization && !_hasDuplicateXValues) {\n const allChartPoints: LineChartDataPoint[] = [];\n const dataSet: AreaChartDataSetPoint[] = [];\n const colors: string[] = [];\n const opacity: number[] = [];\n const calloutPoints = calloutData(points!);\n\n points &&\n points.length &&\n points.forEach((singleChartPoint: LineChartPoints) => {\n colors.push(singleChartPoint.color!);\n opacity.push(singleChartPoint.opacity || 1);\n allChartPoints.push(...(singleChartPoint.data as LineChartDataPoint[]));\n });\n\n const mapOfXvalToListOfDataPoints: MapXToDataSet = {};\n allChartPoints.forEach((dataPoint: LineChartDataPoint) => {\n const xValue = dataPoint.x instanceof Date ? dataPoint.x.toLocaleString() : dataPoint.x;\n // map of x value to the list of data points which share the same x value .\n if (mapOfXvalToListOfDataPoints[xValue]) {\n mapOfXvalToListOfDataPoints[xValue].push(dataPoint);\n } else {\n mapOfXvalToListOfDataPoints[xValue] = [dataPoint];\n }\n });\n\n Object.keys(mapOfXvalToListOfDataPoints).forEach((key: number | string) => {\n const value: LineChartDataPoint[] = mapOfXvalToListOfDataPoints[key];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const singleDataset: any = {};\n value.forEach((singleDataPoint: LineChartDataPoint, index: number) => {\n singleDataset.xVal = singleDataPoint.x;\n singleDataset[`chart${index}`] = singleDataPoint.y;\n });\n dataSet.push(singleDataset);\n });\n\n // get keys from dataset, used to render data\n const keysLength: number = dataSet && Object.keys(dataSet[0])!.length;\n const keys: string[] = [];\n for (let i = 0; i < keysLength - 1; i++) {\n const keyVal = `chart${i}`;\n keys.push(keyVal);\n }\n\n // Data used to draw graph\n const data = _getDataPoints(keys, dataSet);\n\n return {\n colors,\n opacity,\n keys,\n data,\n calloutPoints,\n };\n } else {\n const allChartPoints: LineChartDataPoint[] = [];\n const dataSet: AreaChartDataSetPoint[] = [];\n const colors: string[] = [];\n const opacity: number[] = [];\n const calloutPoints = calloutData(points!);\n\n let data = {};\n const keys: string[] = [];\n let index = 0;\n\n points &&\n points.length &&\n points.forEach((singleChartPoint: LineChartPoints) => {\n // if legend is not populated, then assign a legend\n if (_hasDuplicateXValues && !singleChartPoint.legend) {\n singleChartPoint.legend = `chart${index}`;\n ++index;\n }\n singleChartPoint.data.forEach((point: ILineChartDataPointWithLegend) => {\n point.legend = singleChartPoint.legend;\n });\n colors.push(singleChartPoint.color!);\n opacity.push(singleChartPoint.opacity || 1);\n allChartPoints.push(...(singleChartPoint.data as LineChartDataPoint[]));\n });\n\n if (!_hasDuplicateXValues) {\n let tempArr = allChartPoints;\n while (tempArr.length) {\n const valToCheck = tempArr[0].x instanceof Date ? tempArr[0].x.toLocaleString() : tempArr[0].x;\n const filteredChartPoints: LineChartDataPoint[] = tempArr.filter(\n (point: LineChartDataPoint) =>\n (point.x instanceof Date ? point.x.toLocaleString() : point.x) === valToCheck,\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const singleDataset: any = {};\n filteredChartPoints.forEach((singleDataPoint: LineChartDataPoint, id: number) => {\n singleDataset.xVal = singleDataPoint.x;\n singleDataset[`chart${id}`] = singleDataPoint.y;\n });\n dataSet.push(singleDataset);\n // removing compared objects from array\n const val = tempArr[0].x instanceof Date ? tempArr[0].x.toLocaleString() : tempArr[0].x;\n tempArr = tempArr.filter(\n (point: LineChartDataPoint) => (point.x instanceof Date ? point.x.toLocaleString() : point.x) !== val,\n );\n }\n\n // get keys from dataset, used to create stacked data\n const keysLength: number = dataSet && Object.keys(dataSet[0])!.length;\n for (let i = 0; i < keysLength - 1; i++) {\n const keyVal = `chart${i}`;\n keys.push(keyVal);\n }\n // Data used to draw graph\n data = _getDataPoints(keys, dataSet);\n } else {\n const datasetForDuplicateValues = _createDatasetForXCoordinateWithMultipleYValues(allChartPoints);\n data = _getDataPoints(datasetForDuplicateValues.keys, datasetForDuplicateValues.filteredDataSet);\n }\n\n return {\n colors,\n opacity,\n keys,\n data,\n calloutPoints,\n };\n }\n }\n\n function _createDatasetForXCoordinateWithMultipleYValues(allChartPoints: LineChartDataPoint[]) {\n const dataSet: AreaChartDataSetPoint[] = [];\n\n // Group data points by x-axis value\n const groupedData: Record<string | number, ILineChartDataPointWithLegend[]> = {};\n allChartPoints.forEach((dataPoint: ILineChartDataPointWithLegend) => {\n const xValue = dataPoint.x instanceof Date ? dataPoint.x.toLocaleString() : dataPoint.x;\n if (!groupedData[xValue]) {\n groupedData[xValue] = [];\n }\n groupedData[xValue].push(dataPoint);\n });\n\n // Aggregate data points for each x-axis value\n Object.keys(groupedData).forEach(xValue => {\n const dataPoints = groupedData[xValue];\n dataPoints.forEach((dataPoint, id) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const singleDataset: any = { xVal: dataPoints[0].x };\n\n const key = dataPoint.legend ? dataPoint.legend : `chart${id}`;\n singleDataset[key] = dataPoint.y;\n dataSet.push(singleDataset);\n });\n });\n\n // get all unique keys from each array within the dataSet\n const allLegends: string[] = [];\n dataSet.forEach(item => {\n Object.keys(item).forEach(key => {\n if (key !== 'xVal' && !allLegends.includes(key)) {\n allLegends.push(key);\n }\n });\n });\n\n dataSet.forEach(item => {\n allLegends.forEach(legend => {\n if (!item[legend]) {\n item[legend] = 0; // Fill with 0 if the legend is missing\n }\n });\n });\n\n // exclude all items within dataset having all legend values 0\n const filteredDataSet = dataSet.filter(item => {\n return allLegends.some(legend => item[legend] !== 0);\n });\n\n const keys = Array.from(\n new Set(filteredDataSet.flatMap(item => Object.keys(item).filter(key => key !== 'xVal'))),\n );\n\n return {\n keys,\n filteredDataSet,\n };\n }\n\n function _getCustomizedCallout() {\n return props.onRenderCalloutPerStack\n ? props.onRenderCalloutPerStack(stackCalloutProps)\n : props.onRenderCalloutPerDataPoint\n ? props.onRenderCalloutPerDataPoint(dataPointCalloutProps)\n : null;\n }\n\n function _getGraphData(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xAxis: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yAxis: any,\n containerHeight: number,\n containerWidth: number,\n xElement: SVGElement | null,\n yAxisElement?: SVGElement | null,\n yScaleSecondary?: ScaleLinear<number, number>,\n ) {\n _chart = _drawGraph(containerHeight, xAxis, yAxis, yScaleSecondary, xElement!);\n }\n\n function _onLegendHover(legend: string): void {\n setActiveLegend(legend);\n }\n\n function _onLegendLeave(): void {\n setActiveLegend(undefined);\n }\n\n function _getLegendData(points: LineChartPoints[]): JSXElement {\n const data = points;\n const actions: Legend[] = [];\n\n data.forEach((singleChartData: LineChartPoints) => {\n const color: string = singleChartData.color!;\n const checkSimilarLegends = actions.filter(\n (leg: Legend) => leg.title === singleChartData.legend && leg.color === color,\n );\n if (checkSimilarLegends!.length > 0) {\n return;\n }\n\n const legend: Legend = {\n title: singleChartData.legend,\n color,\n hoverAction: () => {\n _handleChartMouseLeave();\n _onLegendHover(singleChartData.legend);\n },\n onMouseOutAction: () => {\n _onLegendLeave();\n },\n };\n\n actions.push(legend);\n });\n return (\n <Legends\n legends={actions}\n enabledWrapLines={props.enabledLegendsWrapLines}\n {...props.legendProps}\n onChange={_onLegendSelectionChange}\n legendRef={_legendsRef}\n />\n );\n }\n\n function _onLegendSelectionChange(\n // eslint-disable-next-line @typescript-eslint/no-shadow\n selectedLegends: string[],\n event: React.MouseEvent<HTMLButtonElement>,\n currentLegend?: Legend,\n ): void {\n if (props.legendProps?.canSelectMultipleLegends) {\n setSelectedLegends(selectedLegends);\n } else {\n setSelectedLegends(selectedLegends.slice(-1));\n }\n if (props.legendProps?.onChange) {\n props.legendProps.onChange(selectedLegends, event, currentLegend);\n }\n }\n\n function _onDataPointClick(func: (() => void) | undefined) {\n if (func) {\n func();\n }\n setIsCircleClicked(true);\n }\n\n function _getOpacity(legend: string): number {\n if (!_isMultiStackChart) {\n return 0.7;\n } else {\n const opacity = _legendHighlighted(legend) || _noLegendHighlighted() ? 0.7 : 0.1;\n return opacity;\n }\n }\n\n function _getLineOpacity(legend: string): number {\n if (!_isMultiStackChart) {\n return 1;\n } else {\n let opacity = 0.3;\n if (isPopoverOpen) {\n opacity = 1;\n }\n if (!_noLegendHighlighted()) {\n opacity = _legendHighlighted(legend) ? 0 : 0.1;\n }\n return opacity;\n }\n }\n\n function _updateCircleFillColor(xDataPoint: number | Date, lineColor: string, circleId: string): string {\n let fillColor = lineColor;\n if (nearestCircleToHighlight === xDataPoint || activePoint === circleId) {\n if (!isCircleClicked) {\n fillColor = tokens.colorNeutralBackground1;\n }\n }\n\n return fillColor;\n }\n\n function _drawGraph(\n containerHeight: number,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xScale: any,\n yScalePrimary: ScaleLinear<number, number>,\n yScaleSecondary: ScaleLinear<number, number> | undefined,\n xElement: SVGElement,\n ): JSXElement[] {\n const points = _addDefaultColors(props.data.lineChartData);\n const { pointOptions, pointLineOptions } = props.data;\n\n const graph: JSXElement[] = [];\n let lineColor: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _data.forEach((singleStackedData: Array<any>, index: number) => {\n const yScale = points[index]?.useSecondaryYScale && yScaleSecondary ? yScaleSecondary : yScalePrimary;\n const curveFactory = getCurveFactory(points[index]?.lineOptions?.curve, d3CurveBasis);\n const area = d3Area()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((d: any) => xScale(d.xVal))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y0((d: any) => yScale(d.values[0]))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y1((d: any) => yScale(d.values[1]))\n .curve(curveFactory);\n const line = d3Line()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((d: any) => xScale(d.xVal))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y((d: any) => yScale(d.values[1]))\n .curve(curveFactory);\n const layerOpacity = _shouldFillToZeroY() ? 0.8 : _opacity[index];\n graph.push(\n <React.Fragment key={`${index}-graph-${_uniqueIdForGraph}`}>\n {props.enableGradient && (\n <defs>\n <linearGradient id={`gradient_${index}`} x1=\"0%\" x2=\"0%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0\" stopColor={_colors[index]} />\n <stop offset=\"100%\" stopColor=\"transparent\" />\n </linearGradient>\n </defs>\n )}\n <path\n id={`${index}-line-${_uniqueIdForGraph}`}\n d={line(singleStackedData)!}\n fill={'transparent'}\n strokeWidth={points[index]?.lineOptions?.strokeWidth ?? 3}\n stroke={_colors[index]}\n opacity={_getLineOpacity(points[index]!.legend)}\n onMouseMove={event => _onRectMouseMove(event)}\n onMouseOut={_onRectMouseOut}\n onMouseOver={event => _onRectMouseMove(event)}\n strokeDasharray={points[index]?.lineOptions?.strokeDasharray}\n strokeDashoffset={points[index]?.lineOptions?.strokeDashoffset}\n strokeLinecap={points[index]?.lineOptions?.strokeLinecap}\n />\n {singleStackedData.length === 1 ? (\n <circle\n id={`${index}-graph-${_uniqueIdForGraph}`}\n cx={xScale(singleStackedData[0].xVal)}\n cy={yScale(singleStackedData[0].values[1])}\n r={6}\n stroke={_colors[index]}\n strokeWidth={3}\n fill={_colors[index]}\n opacity={layerOpacity}\n fillOpacity={_getOpacity(points[index]!.legend)}\n onMouseMove={event => _onRectMouseMove(event)}\n onFocus={event => _handleFocus(event, index, 0, `${_circleId}_${index}`)}\n onMouseOut={_onRectMouseOut}\n onMouseOver={event => _onRectMouseMove(event)}\n />\n ) : (\n <path\n id={`${index}-graph-${_uniqueIdForGraph}`}\n d={area(singleStackedData)!}\n fill={props.enableGradient ? `url(#gradient_${index})` : _colors[index]}\n opacity={layerOpacity}\n fillOpacity={_getOpacity(points[index]!.legend)}\n onMouseMove={event => _onRectMouseMove(event)}\n onMouseOut={_onRectMouseOut}\n onMouseOver={event => _onRectMouseMove(event)}\n {...(props.optimizeLargeData && {\n tabIndex: _legendHighlighted(points[index]!.legend) || _noLegendHighlighted() ? 0 : undefined,\n role: 'img',\n 'aria-label': `${points[index].legend}, series ${index + 1} of ${points.length} with ${\n points[index].data.length\n } data points.`,\n })}\n />\n )}\n </React.Fragment>,\n );\n });\n\n const circleRadius = pointOptions && pointOptions.r ? Number(pointOptions.r) : 8;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _data.forEach((singleStackedData: Array<any>, index: number) => {\n if (points.length === index) {\n return;\n }\n const yScale = points[index]?.useSecondaryYScale && yScaleSecondary ? yScaleSecondary : yScalePrimary;\n if (!props.optimizeLargeData || singleStackedData.length === 1) {\n // Render circles for all data points\n graph.push(\n <g\n key={`${index}-dots-${_uniqueIdForGraph}`}\n clipPath=\"url(#clip)\"\n role=\"region\"\n aria-label={`${points[index].legend}, series ${index + 1} of ${points.length} with ${\n points[index].data.length\n } data points.`}\n >\n {singleStackedData.map((singlePoint: DPointType, pointIndex: number) => {\n const circleId = `${_circleId}_${index * _data[0].length + pointIndex}`;\n const xDataPoint = singlePoint.xVal instanceof Date ? singlePoint.xVal.getTime() : singlePoint.xVal;\n lineColor = points[index]!.color!;\n const legend = points[index]!.legend;\n return (\n <circle\n key={circleId}\n id={circleId}\n tabIndex={_legendHighlighted(points[index]!.legend) || _noLegendHighlighted() ? 0 : undefined}\n cx={xScale(singlePoint.xVal)}\n cy={yScale(singlePoint.values[1])}\n stroke={lineColor}\n strokeWidth={3}\n fill={_updateCircleFillColor(xDataPoint, lineColor, circleId)}\n onMouseOut={_onRectMouseOut}\n onMouseOver={event => _onRectMouseMove(event)}\n {..._getOnClickHandler(points, index, pointIndex)}\n onFocus={event => _handleFocus(event, index, pointIndex, circleId)}\n onBlur={_handleBlur}\n {...getSecureProps(pointOptions)}\n r={_getCircleRadius(xDataPoint, circleRadius, circleId, legend)}\n role=\"img\"\n aria-label={\n (!_hasDuplicateXValues && !_hasMissingXValues && _getAriaLabel(index, pointIndex)) || undefined\n }\n />\n );\n })}\n </g>,\n );\n } else {\n // Render circles for data points close to the mouse pointer only\n singleStackedData.forEach((singlePoint: DPointType, pointIndex: number) => {\n const xDataPoint = singlePoint.xVal instanceof Date ? singlePoint.xVal.getTime() : singlePoint.xVal;\n if (nearestCircleToHighlight === xDataPoint) {\n const circleId = `${_circleId}_${index * _data[0].length + pointIndex}`;\n lineColor = points[index]!.color!;\n const legend = points[index]!.legend;\n graph.push(\n <circle\n key={circleId}\n id={circleId}\n cx={xScale(singlePoint.xVal)}\n cy={yScale(singlePoint.values[1])}\n stroke={lineColor}\n strokeWidth={3}\n fill={_updateCircleFillColor(xDataPoint, lineColor, circleId)}\n onMouseOut={_onRectMouseOut}\n onMouseOver={event => _onRectMouseMove(event)}\n onFocus={event => _handleFocus(event, index, pointIndex, circleId)}\n {..._getOnClickHandler(points, index, pointIndex)}\n {...getSecureProps(pointOptions)}\n r={_getCircleRadius(xDataPoint, circleRadius, circleId, legend)}\n />,\n );\n }\n });\n }\n });\n graph.push(\n <line\n id={_verticalLineId}\n key={_verticalLineId}\n x1={lineXValue}\n y1={0}\n x2={lineXValue}\n y2={containerHeight}\n strokeWidth={1}\n strokeDasharray={5.5}\n stroke={lineColor!}\n opacity={0.5}\n visibility={displayOfLine}\n {...getSecureProps(pointLineOptions)}\n />,\n );\n return graph;\n }\n\n function _getOnClickHandler(points: LineChartPoints[], index: number, pointIndex: number) {\n if (!_hasDuplicateXValues && !_hasMissingXValues) {\n return {\n onClick: () => _onDataPointClick(points[index]!.data[pointIndex].onDataPointClick!),\n };\n }\n return {};\n }\n\n function _getCircleRadius(xDataPoint: number, circleRadius: number, circleId: string, legend: string): number {\n // Show the circle if no legends are selected or if the point's legend is in the selected legends\n if (!_noLegendHighlighted() && !_legendHighlighted(legend)) {\n return 0;\n }\n\n if (isCircleClicked && nearestCircleToHighlight === xDataPoint) {\n return 1;\n } else if (nearestCircleToHighlight === xDataPoint || activePoint === circleId) {\n return circleRadius;\n } else {\n return 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 function _legendHighlighted(legend: string) {\n return _getHighlightedLegend().includes(legend!);\n }\n\n /**\n * This function checks if none of the legends is selected or hovered.\n */\n function _noLegendHighlighted() {\n return _getHighlightedLegend().length === 0;\n }\n\n function _getHighlightedLegend() {\n return selectedLegends.length > 0 ? selectedLegends : activeLegend ? [activeLegend] : [];\n }\n\n function _addDefaultColors(lineChartData?: LineChartPoints[]): LineChartPoints[] {\n if (_hasMissingXValues) {\n // get union of all x values\n const allXValues: Set<string | number> = new Set();\n lineChartData &&\n lineChartData.forEach((line: LineChartPoints) => {\n line.data.forEach((point: LineChartDataPoint) => {\n const xValue = point.x instanceof Date ? point.x.toLocaleString() : point.x;\n allXValues.add(xValue);\n });\n });\n lineChartData &&\n lineChartData.forEach((line: LineChartPointsWithLegend) => {\n allXValues.forEach((xValue: string | number) => {\n const point = line.data.find((item: ILineChartDataPointWithLegend) => {\n return item.x instanceof Date ? item.x.toLocaleString() === xValue : item.x === xValue;\n });\n if (!point) {\n line.data.push({\n x: typeof xValue === 'string' ? new Date(xValue) : xValue,\n y: 0,\n legend: line.legend,\n });\n }\n });\n // sort the data points by x value\n line.data.sort((a: LineChartDataPoint, b: LineChartDataPoint) => {\n const xA = a.x instanceof Date ? a.x.getTime() : a.x;\n const xB = b.x instanceof Date ? b.x.getTime() : b.x;\n return xA < xB ? -1 : xA > xB ? 1 : 0;\n });\n });\n }\n return lineChartData\n ? lineChartData.map((item, index) => {\n let color: string;\n // isInverted property is applicable to v8 themes only\n if (typeof item.color === 'undefined') {\n color = getNextColor(index, 0);\n } else {\n color = getColorFromToken(item.color);\n }\n\n return { ...item, color };\n })\n : [];\n }\n\n function _handleFocus(\n event: React.FocusEvent<SVGCircleElement, Element>,\n lineIndex: number,\n pointIndex: number,\n circleId: string,\n ) {\n let cx = 0;\n let cy = 0;\n\n const targetRect = (event.target as SVGCircleElement).getBoundingClientRect();\n cx = targetRect.left + targetRect.width / 2;\n cy = targetRect.top + targetRect.height / 2;\n _updatePosition(cx, cy);\n\n const { x, y, xAxisCalloutData } = props.data.lineChartData![lineIndex].data[pointIndex];\n const formattedDate = x instanceof Date ? formatDateToLocaleString(x, props.culture, props.useUTC as boolean) : x;\n const found = findCalloutPoints(_calloutPoints, x);\n if (found) {\n // Show details in the callout for the focused point only\n found.values = found.values.filter((e: { y: number }) => e.y === y);\n const filteredValues = _getFilteredLegendValues(found.values);\n\n setPopoverOpen(true);\n setHoverXValue(xAxisCalloutData ? xAxisCalloutData : formattedDate);\n setYValueHover(filteredValues!);\n setStackCalloutProps({ ...found, values: filteredValues });\n setDataPointCalloutProps({ ...found, values: filteredValues });\n setActivePoint(circleId);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _getFilteredLegendValues(values: any) {\n return !_noLegendHighlighted()\n ? values.filter((value: { legend: string }) => _legendHighlighted(value.legend))\n : values;\n }\n\n function _handleBlur() {\n setPopoverOpen(false);\n setHoverXValue(undefined);\n setYValueHover([]);\n setStackCalloutProps(undefined);\n setDataPointCalloutProps(undefined);\n setActivePoint('');\n }\n\n function _getAriaLabel(lineIndex: number, pointIndex: number): string {\n const line = props.data.lineChartData![lineIndex];\n const point = line.data[pointIndex];\n const formattedDate =\n point.x instanceof Date ? formatDateToLocaleString(point.x, props.culture, props.useUTC as boolean) : point.x;\n const xValue = point.xAxisCalloutData || formattedDate;\n const legend = line.legend;\n const yValue = point.yAxisCalloutData || point.y;\n return point.callOutAccessibilityData?.ariaLabel || `${xValue}. ${legend}, ${yValue}.`;\n }\n\n function _isChartEmpty(): boolean {\n return !(\n (\n props.data &&\n props.data.lineChartData &&\n props.data.lineChartData.length > 0 &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props.data.lineChartData.filter((item: { data: string | any[] }) => item.data.length === 0).length === 0\n )\n // if all the data sets have no data\n // filtering all items which have no data and checking if the length of the filtered array is 0\n // which means chart is not empty\n );\n }\n\n function _getChartTitle(): string {\n const { chartTitle, lineChartData } = props.data;\n return (chartTitle ? `${chartTitle}. ` : '') + `Area chart with ${lineChartData?.length || 0} data series. `;\n }\n\n function _xCoordinateContainsMultipleY(): boolean {\n const { lineChartData } = props.data;\n if (!lineChartData) {\n return false;\n }\n for (const item of lineChartData) {\n const xValueMap: Record<string, number[]> = {};\n for (const point of item.data) {\n const xValue = point.x instanceof Date ? point.x.toLocaleString() : point.x;\n if (!xValueMap[xValue]) {\n xValueMap[xValue] = [];\n }\n xValueMap[xValue].push(point.y);\n if (xValueMap[xValue].length > 1) {\n return true;\n }\n }\n }\n return false;\n }\n\n function _containsMissingXValues(): boolean {\n const { lineChartData } = props.data;\n if (!lineChartData) {\n return false;\n }\n const allXValues: Set<string | number> = new Set();\n lineChartData.forEach((line: LineChartPoints) => {\n line.data.forEach((point: LineChartDataPoint) => {\n const xValue = point.x instanceof Date ? point.x.toLocaleString() : point.x;\n allXValues.add(xValue);\n });\n });\n // for all x values, check if the x value is present in all series\n let hasMissingValues = false;\n lineChartData.forEach((line: LineChartPoints) => {\n allXValues.forEach((xValue: string | number) => {\n const point = line.data.find((item: LineChartDataPoint) => {\n return item.x instanceof Date ? item.x.toLocaleString() === xValue : item.x === xValue;\n });\n if (!point) {\n hasMissingValues = true;\n }\n });\n });\n return hasMissingValues;\n }\n\n function _shouldFillToZeroY() {\n return props.mode === 'tozeroy' || _containsSecondaryYAxis;\n }\n\n if (!_isChartEmpty()) {\n const { lineChartData } = props.data;\n const points = _addDefaultColors(lineChartData);\n _containsSecondaryYAxis = !!props.secondaryYScaleOptions && points.some(point => point.useSecondaryYScale);\n _createSet = _createDataSet;\n const { colors, opacity, data, calloutPoints } = _createSet(points);\n _calloutPoints = calloutPoints;\n const isXAxisDateType = getXAxisType(points);\n _colors = colors;\n _opacity = opacity;\n _data = data.renderData;\n const legends: JSXElement = _getLegendData(points);\n\n const tickParams = {\n tickValues: props.tickValues,\n tickFormat: props.tickFormat,\n };\n\n const calloutProps: ChartPopoverProps = {\n YValueHover: YValueHover!,\n hoverXValue: hoverXValue!,\n xAxisCalloutAccessibilityData,\n ...props.calloutProps,\n clickPosition,\n isPopoverOpen: isPopoverOpen && !_hasDuplicateXValues && !_hasMissingXValues,\n isCartesian: true,\n customCallout: {\n customizedCallout: _getCustomizedCallout() !== null ? _getCustomizedCallout()! : undefined,\n customCalloutProps: props.calloutPropsPerDataPoint\n ? props.calloutPropsPerDataPoint(dataPointCalloutProps!)\n : undefined,\n },\n isCalloutForStack: true,\n };\n return (\n <CartesianChart\n {...props}\n chartTitle={_getChartTitle()}\n points={points}\n chartType={ChartTypes.AreaChart}\n calloutProps={calloutProps}\n legendBars={legends}\n createYAxis={createNumericYAxis}\n xAxisType={isXAxisDateType ? XAxisTypes.DateAxis : XAxisTypes.NumericAxis}\n tickParams={tickParams}\n maxOfYVal={data.maxOfYVal}\n getGraphData={_getGraphData}\n getDomainNRangeValues={_getDomainNRangeValues}\n createStringYAxis={createStringYAxis}\n getmargins={_getMargins}\n onChartMouseLeave={_handleChartMouseLeave}\n getMinMaxOfYAxis={_getMinMaxOfYAxis}\n enableFirstRenderOptimization={props.enablePerfOptimization && _firstRenderOptimization}\n componentRef={cartesianChartRef}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line @typescript-eslint/no-shadow\n children={(props: ChildProps) => {\n _xAxisRectScale = props.xScale;\n const ticks = _xAxisRectScale.ticks();\n const width1 = _xAxisRectScale(ticks[ticks.length - 1]);\n const rectHeight = props.containerHeight! - _margins.top!;\n return (\n <>\n <g>\n <rect\n id={_rectId}\n width={width1}\n height={rectHeight}\n fill={'transparent'}\n onMouseMove={event => _onRectMouseMove(event)}\n onMouseOut={_onRectMouseOut}\n onMouseOver={event => _onRectMouseMove(event)}\n />\n </g>\n <g>{_chart}</g>\n </>\n );\n }}\n />\n );\n }\n return (\n <div id={_emptyChartId} role={'alert'} style={{ opacity: '0' }} aria-label={'Graph has no data to display'} />\n );\n },\n);\nAreaChart.displayName = 'AreaChart';\n"],"names":["React","max","d3Max","bisector","pointer","tokens","area","d3Area","stack","d3Stack","curveMonotoneX","d3CurveBasis","line","d3Line","CartesianChart","calloutData","getXAxisType","ChartTypes","XAxisTypes","getTypeOfAxis","getNextColor","getColorFromToken","getSecureProps","areArraysEqual","getCurveFactory","findNumericMinMaxOfY","createNumericYAxis","domainRangeOfNumericForAreaLineScatterCharts","domainRangeOfDateForAreaLineScatterVerticalBarCharts","createStringYAxis","findCalloutPoints","useId","Legends","formatDateToLocaleString","useImageExport","bisect","d","x","left","InterceptVisibility","AreaChart","forwardRef","props","forwardedRef","_uniqueIdForGraph","_verticalLineId","_circleId","_rectId","_enableComputationOptimization","_firstRenderOptimization","_emptyChartId","_containsSecondaryYAxis","_hasMissingXValues","_containsMissingXValues","_hasDuplicateXValues","_xCoordinateContainsMultipleY","_calloutPoints","_createSet","_colors","_opacity","_data","_chart","_margins","_xAxisRectScale","_isMultiStackChart","cartesianChartRef","legendsRef","_legendsRef","componentRef","hideLegend","selectedLegends","setSelectedLegends","useState","legendProps","activeLegend","setActiveLegend","undefined","hoverXValue","setHoverXValue","YValueHover","setYValueHover","lineXValue","setLineXValue","displayOfLine","setDisplayOfLine","isCircleClicked","setIsCircleClicked","nearestCircleToHighlight","setNearestCircleToHighlight","activePoint","setActivePoint","dataPointCalloutProps","setDataPointCalloutProps","stackCalloutProps","setStackCalloutProps","xAxisCalloutAccessibilityData","setXAxisCalloutAccessibilityData","clickPosition","setClickPosition","y","isPopoverOpen","setPopoverOpen","prevPropsRef","useRef","useEffect","current","prevProps","_getMinMaxOfYAxis","points","yAxisType","useSecondaryYScale","_getDomainNRangeValues","margins","width","chartType","isRTL","xAxisType","barWidth","tickValues","domainNRangeValue","NumericAxis","DateAxis","dStartValue","dEndValue","rStartValue","rEndValue","_getMargins","_onRectMouseMove","mouseEvent","persist","data","lineChartData","_updatePosition","clientX","clientY","xOffset","invert","document","getElementById","i","d0","d1","pointToHighlight","index","axisType","length","x0","point0","point1","Date","getTime","Math","abs","xAxisCalloutData","formattedDate","culture","useUTC","found","_nearestCircleToHighlight","filteredValues","_getFilteredLegendValues","values","_onRectMouseOut","newX","newY","threshold","distance","sqrt","pow","_handleChartMouseLeave","_getDataPoints","keys","dataSet","renderPoints","maxOfYVal","_shouldFillToZeroY","forEach","key","currentLayer","push","xVal","dataValues","dp","layer","renderData","endValue","_createDataSet","enablePerfOptimization","allChartPoints","colors","opacity","calloutPoints","singleChartPoint","color","mapOfXvalToListOfDataPoints","dataPoint","xValue","toLocaleString","Object","value","singleDataset","singleDataPoint","keysLength","keyVal","legend","point","tempArr","valToCheck","filteredChartPoints","filter","id","val","datasetForDuplicateValues","_createDatasetForXCoordinateWithMultipleYValues","filteredDataSet","groupedData","dataPoints","allLegends","item","includes","some","Array","from","Set","flatMap","_getCustomizedCallout","onRenderCalloutPerStack","onRenderCalloutPerDataPoint","_getGraphData","xAxis","yAxis","containerHeight","containerWidth","xElement","yAxisElement","yScaleSecondary","_drawGraph","_onLegendHover","_onLegendLeave","_getLegendData","actions","singleChartData","checkSimilarLegends","leg","title","hoverAction","onMouseOutAction","legends","enabledWrapLines","enabledLegendsWrapLines","onChange","_onLegendSelectionChange","legendRef","event","currentLegend","canSelectMultipleLegends","slice","_onDataPointClick","func","_getOpacity","_legendHighlighted","_noLegendHighlighted","_getLineOpacity","_updateCircleFillColor","xDataPoint","lineColor","circleId","fillColor","colorNeutralBackground1","xScale","yScalePrimary","_addDefaultColors","pointOptions","pointLineOptions","graph","singleStackedData","yScale","curveFactory","lineOptions","curve","y0","y1","layerOpacity","Fragment","enableGradient","defs","linearGradient","x1","x2","y2","stop","offset","stopColor","path","fill","strokeWidth","stroke","onMouseMove","onMouseOut","onMouseOver","strokeDasharray","strokeDashoffset","strokeLinecap","circle","cx","cy","r","fillOpacity","onFocus","_handleFocus","optimizeLargeData","tabIndex","role","circleRadius","Number","g","clipPath","aria-label","map","singlePoint","pointIndex","_getOnClickHandler","onBlur","_handleBlur","_getCircleRadius","_getAriaLabel","visibility","onClick","onDataPointClick","_getHighlightedLegend","allXValues","add","find","sort","a","b","xA","xB","lineIndex","targetRect","target","getBoundingClientRect","top","height","e","yValue","yAxisCalloutData","callOutAccessibilityData","ariaLabel","_isChartEmpty","_getChartTitle","chartTitle","xValueMap","hasMissingValues","mode","secondaryYScaleOptions","isXAxisDateType","tickParams","tickFormat","calloutProps","isCartesian","customCallout","customizedCallout","customCalloutProps","calloutPropsPerDataPoint","isCalloutForStack","legendBars","createYAxis","getGraphData","getDomainNRangeValues","getmargins","onChartMouseLeave","getMinMaxOfYAxis","enableFirstRenderOptimization","children","ticks","width1","rectHeight","rect","div","style","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/components/AreaChart/AreaChart.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { max as d3Max, bisector } from 'd3-array';\nimport { pointer } from 'd3-selection';\nimport { tokens } from '@fluentui/react-theme';\nimport { area as d3Area, stack as d3Stack, curveMonotoneX as d3CurveBasis, line as d3Line } from 'd3-shape';\nimport type {\n AccessibilityProps,\n CustomizedCalloutData,\n AreaChartProps,\n LineChartDataPoint,\n LineChartPoints,\n ChildProps,\n Margins,\n YValueHover,\n ChartPopoverProps,\n} from '../../index';\nimport { CartesianChart } from '../../index';\nimport type { IDomainNRange, YAxisType } from '../../utilities/index';\nimport {\n calloutData,\n getXAxisType,\n ChartTypes,\n XAxisTypes,\n getTypeOfAxis,\n getNextColor,\n getColorFromToken,\n getSecureProps,\n areArraysEqual,\n getCurveFactory,\n findNumericMinMaxOfY,\n createNumericYAxis,\n domainRangeOfNumericForAreaLineScatterCharts,\n domainRangeOfDateForAreaLineScatterVerticalBarCharts,\n createStringYAxis,\n findCalloutPoints,\n} from '../../utilities/index';\nimport { useId } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport type { Legend } from '../Legends/index';\nimport { Legends } from '../Legends/index';\nimport type { ScaleLinear } from 'd3-scale';\nimport { formatDateToLocaleString } from '@fluentui/chart-utilities';\nimport { useImageExport } from '../../utilities/hooks';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst bisect = bisector((d: any) => d.x).left;\n\nenum InterceptVisibility {\n show = 'visibility',\n hide = 'hidden',\n}\n\nexport interface AreaChartAreaPoint {\n xVal: string | number;\n values: AreaChartDataSetPoint;\n}\nexport interface AreaChartDataSetPoint {\n [key: string]: number | string | number[];\n}\nexport interface DPointType {\n values: { 0: number; 1: number; data: {} };\n xVal: number | Date;\n}\nexport interface MapXToDataSet {\n [key: string]: LineChartDataPoint[];\n [key: number]: LineChartDataPoint[];\n}\n\ninterface ILineChartDataPointWithLegend extends LineChartDataPoint {\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n}\n\ntype ILineChartPointsWithoutData = Omit<LineChartPoints, 'data'>;\ninterface LineChartPointsWithLegend extends ILineChartPointsWithoutData {\n data: ILineChartDataPointWithLegend[];\n}\n\n//by default d3-shape 3.2.0 limits the< path> data point precision to 3 digits(d3/d3-path#10)\n\nexport const AreaChart: React.FunctionComponent<AreaChartProps> = React.forwardRef<HTMLDivElement, AreaChartProps>(\n (props, forwardedRef) => {\n const _uniqueIdForGraph: string = useId('areaChart_');\n const _verticalLineId: string = useId('verticalLine_');\n const _circleId: string = useId('circle');\n const _rectId: string = useId('rectangle');\n //enableComputationOptimization is used for optimized code to group data points by x value\n //from O(n^2) to O(n) using a map.\n const _enableComputationOptimization: boolean = true;\n const _firstRenderOptimization: boolean = true;\n const _emptyChartId: string = useId('_AreaChart_empty');\n let _containsSecondaryYAxis = false;\n const _hasMissingXValues = _containsMissingXValues();\n const _hasDuplicateXValues = _xCoordinateContainsMultipleY();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _calloutPoints: any;\n let _createSet: (data: LineChartPoints[]) => {\n colors: string[];\n opacity: number[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n calloutPoints: any;\n };\n let _colors: string[];\n let _opacity: number[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _data: any;\n let _chart: JSXElement[];\n let _margins: Margins;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _xAxisRectScale: any;\n // determines if the given area chart has multiple stacked bar charts\n let _isMultiStackChart: boolean;\n const { cartesianChartRef, legendsRef: _legendsRef } = useImageExport(props.componentRef, props.hideLegend);\n\n const [selectedLegends, setSelectedLegends] = React.useState<string[]>(props.legendProps?.selectedLegends || []);\n const [activeLegend, setActiveLegend] = React.useState<string | undefined>(undefined);\n const [hoverXValue, setHoverXValue] = React.useState<string | number | undefined | null>('');\n\n const [YValueHover, setYValueHover] = React.useState<YValueHover[]>([]);\n const [lineXValue, setLineXValue] = React.useState<number>(0);\n const [displayOfLine, setDisplayOfLine] = React.useState<InterceptVisibility>(InterceptVisibility.hide);\n const [isCircleClicked, setIsCircleClicked] = React.useState<boolean>(false);\n const [nearestCircleToHighlight, setNearestCircleToHighlight] = React.useState<number | string | Date | null>(null);\n const [activePoint, setActivePoint] = React.useState<string>('');\n const [dataPointCalloutProps, setDataPointCalloutProps] = React.useState<CustomizedCalloutData>();\n const [stackCalloutProps, setStackCalloutProps] = React.useState<CustomizedCalloutData>();\n const [xAxisCalloutAccessibilityData, setXAxisCalloutAccessibilityData] = React.useState<AccessibilityProps>();\n const [clickPosition, setClickPosition] = React.useState({ x: 0, y: 0 });\n const [isPopoverOpen, setPopoverOpen] = React.useState(false);\n const prevPropsRef = React.useRef<AreaChartProps | null>(null);\n\n React.useEffect(() => {\n if (prevPropsRef.current) {\n const prevProps = prevPropsRef.current;\n if (!areArraysEqual(prevProps.legendProps?.selectedLegends, props.legendProps?.selectedLegends)) {\n setSelectedLegends(props.legendProps?.selectedLegends || []);\n }\n }\n prevPropsRef.current = props;\n }, [props]);\n\n function _getMinMaxOfYAxis(points: LineChartPoints[], yAxisType: YAxisType, useSecondaryYScale: boolean) {\n return findNumericMinMaxOfY(points, yAxisType, useSecondaryYScale);\n }\n\n function _getDomainNRangeValues(\n points: LineChartPoints[],\n margins: Margins,\n width: number,\n chartType: ChartTypes,\n isRTL: boolean,\n xAxisType: XAxisTypes,\n barWidth: number,\n tickValues: Date[] | number[] | undefined,\n ) {\n let domainNRangeValue: IDomainNRange;\n if (xAxisType === XAxisTypes.NumericAxis) {\n domainNRangeValue = domainRangeOfNumericForAreaLineScatterCharts(points, margins, width, isRTL);\n } else if (xAxisType === XAxisTypes.DateAxis) {\n domainNRangeValue = domainRangeOfDateForAreaLineScatterVerticalBarCharts(\n points,\n margins,\n width,\n isRTL,\n tickValues! as Date[],\n chartType,\n barWidth,\n );\n } else {\n domainNRangeValue = { dStartValue: 0, dEndValue: 0, rStartValue: 0, rEndValue: 0 };\n }\n return domainNRangeValue;\n }\n\n function _getMargins(margins: Margins) {\n _margins = margins;\n }\n\n function _onRectMouseMove(mouseEvent: React.MouseEvent<SVGRectElement | SVGPathElement | SVGCircleElement>) {\n mouseEvent.persist();\n const { data } = props;\n const { lineChartData } = data;\n _updatePosition(mouseEvent.clientX, mouseEvent.clientY);\n // This will get the value of the X when mouse is on the chart\n // eslint-disable-next-line @nx/workspace-no-restricted-globals\n const xOffset = _xAxisRectScale.invert(pointer(mouseEvent)[0], document.getElementById(_rectId)!);\n const i = bisect(lineChartData![0].data, xOffset);\n const d0 = lineChartData![0].data[i - 1] as LineChartDataPoint;\n const d1 = lineChartData![0].data[i] as LineChartDataPoint;\n let pointToHighlight: string | Date | number | null = null;\n let index: null | number = null;\n const axisType =\n lineChartData![0].data.length > 0 ? (getTypeOfAxis(lineChartData![0].data[0].x, true) as XAxisTypes) : null;\n if (d0 === undefined && d1 !== undefined) {\n pointToHighlight = d1.x;\n index = i;\n } else if (d0 !== undefined && d1 === undefined) {\n pointToHighlight = d0.x;\n index = i - 1;\n } else {\n let x0;\n let point0;\n let point1;\n switch (axisType) {\n case XAxisTypes.DateAxis:\n x0 = new Date(xOffset).getTime();\n point0 = (d0.x as Date).getTime();\n point1 = (d1.x as Date).getTime();\n pointToHighlight = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? d1.x : d0.x;\n index = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? i : i - 1;\n break;\n case XAxisTypes.NumericAxis:\n x0 = xOffset as number;\n point0 = d0.x as number;\n point1 = d1.x as number;\n pointToHighlight = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? d1.x : d0.x;\n index = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? i : i - 1;\n break;\n default:\n break;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { xAxisCalloutData, xAxisCalloutAccessibilityData } = lineChartData![0].data[index as number];\n const formattedDate =\n pointToHighlight instanceof Date\n ? formatDateToLocaleString(pointToHighlight, props.culture, props.useUTC as boolean)\n : pointToHighlight;\n const found = findCalloutPoints(_calloutPoints, pointToHighlight);\n\n const _nearestCircleToHighlight =\n axisType === XAxisTypes.DateAxis ? (pointToHighlight as Date).getTime() : pointToHighlight;\n // if no points need to be called out then don't show vertical line and callout card\n if (found) {\n const filteredValues = _getFilteredLegendValues(found.values);\n setNearestCircleToHighlight(_nearestCircleToHighlight);\n setLineXValue(_xAxisRectScale(pointToHighlight));\n setDisplayOfLine(InterceptVisibility.show);\n setIsCircleClicked(false);\n setStackCalloutProps({ ...found, values: filteredValues });\n setYValueHover(filteredValues);\n setDataPointCalloutProps({ ...found, values: filteredValues });\n setHoverXValue(xAxisCalloutData ? xAxisCalloutData : formattedDate);\n setXAxisCalloutAccessibilityData(xAxisCalloutAccessibilityData);\n setActivePoint('');\n } else {\n setPopoverOpen(false);\n setNearestCircleToHighlight(nearestCircleToHighlight);\n setDisplayOfLine(InterceptVisibility.hide);\n setIsCircleClicked(false);\n }\n }\n /**\n * just cleaning up the state which we have set in the mouse move event\n */\n function _onRectMouseOut() {\n /**/\n }\n\n function _updatePosition(newX: number, newY: number) {\n const threshold = 1; // Set a threshold for movement\n const { x, y } = clickPosition;\n // Calculate the distance moved\n const distance = Math.sqrt(Math.pow(newX - x, 2) + Math.pow(newY - y, 2));\n // Update the position only if the distance moved is greater than the threshold\n if (distance > threshold) {\n setClickPosition({ x: newX, y: newY });\n setPopoverOpen(true);\n }\n }\n\n function _handleChartMouseLeave() {\n setPopoverOpen(false);\n setNearestCircleToHighlight(null);\n setLineXValue(0);\n setDisplayOfLine(InterceptVisibility.hide);\n setIsCircleClicked(false);\n setStackCalloutProps(undefined);\n setDataPointCalloutProps(undefined);\n setHoverXValue(undefined);\n setYValueHover([]);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _getDataPoints(keys: string[], dataSet: any) {\n const renderPoints: Array<AreaChartDataSetPoint[]> = [];\n let maxOfYVal = 0;\n\n if (_shouldFillToZeroY()) {\n keys.forEach((key, index) => {\n const currentLayer: AreaChartDataSetPoint[] = [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dataSet.forEach((d: any) => {\n currentLayer.push({\n values: [0, d[key]], // Start from zero for \"tozeroy\" mode\n xVal: d.xVal,\n });\n if (d[key] > maxOfYVal) {\n maxOfYVal = d[key];\n }\n });\n renderPoints.push(currentLayer);\n });\n } else {\n const dataValues = d3Stack().keys(keys)(dataSet);\n maxOfYVal = d3Max(dataValues[dataValues.length - 1], dp => dp[1])!;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n dataValues.forEach((layer: any) => {\n const currentLayer: AreaChartDataSetPoint[] = [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n layer.forEach((d: any) => {\n currentLayer.push({\n values: d,\n xVal: d.data.xVal,\n });\n });\n renderPoints.push(currentLayer);\n });\n }\n\n _isMultiStackChart = !!(props.legendProps?.selectedLegends\n ? renderPoints?.length >= 1\n : renderPoints?.length > 1);\n return {\n renderData: renderPoints,\n // The maxOfYVal prop is only required for the primary y-axis. When the data includes\n // a secondary y-axis, the mode defaults to tozeroy, so maxOfYVal should be calculated using\n // only the data points associated with the primary y-axis.\n maxOfYVal: _containsSecondaryYAxis ? findNumericMinMaxOfY(props.data.lineChartData!).endValue : maxOfYVal,\n };\n }\n\n function _createDataSet(points: LineChartPoints[]) {\n if (props.enablePerfOptimization && _enableComputationOptimization && !_hasDuplicateXValues) {\n const allChartPoints: LineChartDataPoint[] = [];\n const dataSet: AreaChartDataSetPoint[] = [];\n const colors: string[] = [];\n const opacity: number[] = [];\n const calloutPoints = calloutData(points!);\n\n points &&\n points.length &&\n points.forEach((singleChartPoint: LineChartPoints) => {\n colors.push(singleChartPoint.color!);\n opacity.push(singleChartPoint.opacity || 1);\n allChartPoints.push(...(singleChartPoint.data as LineChartDataPoint[]));\n });\n\n const mapOfXvalToListOfDataPoints: MapXToDataSet = {};\n allChartPoints.forEach((dataPoint: LineChartDataPoint) => {\n const xValue = dataPoint.x instanceof Date ? dataPoint.x.toLocaleString() : dataPoint.x;\n // map of x value to the list of data points which share the same x value .\n if (mapOfXvalToListOfDataPoints[xValue]) {\n mapOfXvalToListOfDataPoints[xValue].push(dataPoint);\n } else {\n mapOfXvalToListOfDataPoints[xValue] = [dataPoint];\n }\n });\n\n Object.keys(mapOfXvalToListOfDataPoints).forEach((key: number | string) => {\n const value: LineChartDataPoint[] = mapOfXvalToListOfDataPoints[key];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const singleDataset: any = {};\n value.forEach((singleDataPoint: LineChartDataPoint, index: number) => {\n singleDataset.xVal = singleDataPoint.x;\n singleDataset[`chart${index}`] = singleDataPoint.y;\n });\n dataSet.push(singleDataset);\n });\n\n // get keys from dataset, used to render data\n const keysLength: number = dataSet && Object.keys(dataSet[0])!.length;\n const keys: string[] = [];\n for (let i = 0; i < keysLength - 1; i++) {\n const keyVal = `chart${i}`;\n keys.push(keyVal);\n }\n\n // Data used to draw graph\n const data = _getDataPoints(keys, dataSet);\n\n return {\n colors,\n opacity,\n keys,\n data,\n calloutPoints,\n };\n } else {\n const allChartPoints: LineChartDataPoint[] = [];\n const dataSet: AreaChartDataSetPoint[] = [];\n const colors: string[] = [];\n const opacity: number[] = [];\n const calloutPoints = calloutData(points!);\n\n let data = {};\n const keys: string[] = [];\n let index = 0;\n\n points &&\n points.length &&\n points.forEach((singleChartPoint: LineChartPoints) => {\n // if legend is not populated, then assign a legend\n if (_hasDuplicateXValues && !singleChartPoint.legend) {\n singleChartPoint.legend = `chart${index}`;\n ++index;\n }\n singleChartPoint.data.forEach((point: ILineChartDataPointWithLegend) => {\n point.legend = singleChartPoint.legend;\n });\n colors.push(singleChartPoint.color!);\n opacity.push(singleChartPoint.opacity || 1);\n allChartPoints.push(...(singleChartPoint.data as LineChartDataPoint[]));\n });\n\n if (!_hasDuplicateXValues) {\n let tempArr = allChartPoints;\n while (tempArr.length) {\n const valToCheck = tempArr[0].x instanceof Date ? tempArr[0].x.toLocaleString() : tempArr[0].x;\n const filteredChartPoints: LineChartDataPoint[] = tempArr.filter(\n (point: LineChartDataPoint) =>\n (point.x instanceof Date ? point.x.toLocaleString() : point.x) === valToCheck,\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const singleDataset: any = {};\n filteredChartPoints.forEach((singleDataPoint: LineChartDataPoint, id: number) => {\n singleDataset.xVal = singleDataPoint.x;\n singleDataset[`chart${id}`] = singleDataPoint.y;\n });\n dataSet.push(singleDataset);\n // removing compared objects from array\n const val = tempArr[0].x instanceof Date ? tempArr[0].x.toLocaleString() : tempArr[0].x;\n tempArr = tempArr.filter(\n (point: LineChartDataPoint) => (point.x instanceof Date ? point.x.toLocaleString() : point.x) !== val,\n );\n }\n\n // get keys from dataset, used to create stacked data\n const keysLength: number = dataSet && Object.keys(dataSet[0])!.length;\n for (let i = 0; i < keysLength - 1; i++) {\n const keyVal = `chart${i}`;\n keys.push(keyVal);\n }\n // Data used to draw graph\n data = _getDataPoints(keys, dataSet);\n } else {\n const datasetForDuplicateValues = _createDatasetForXCoordinateWithMultipleYValues(allChartPoints);\n data = _getDataPoints(datasetForDuplicateValues.keys, datasetForDuplicateValues.filteredDataSet);\n }\n\n return {\n colors,\n opacity,\n keys,\n data,\n calloutPoints,\n };\n }\n }\n\n function _createDatasetForXCoordinateWithMultipleYValues(allChartPoints: LineChartDataPoint[]) {\n const dataSet: AreaChartDataSetPoint[] = [];\n\n // Group data points by x-axis value\n const groupedData: Record<string | number, ILineChartDataPointWithLegend[]> = {};\n allChartPoints.forEach((dataPoint: ILineChartDataPointWithLegend) => {\n const xValue = dataPoint.x instanceof Date ? dataPoint.x.toLocaleString() : dataPoint.x;\n if (!groupedData[xValue]) {\n groupedData[xValue] = [];\n }\n groupedData[xValue].push(dataPoint);\n });\n\n // Aggregate data points for each x-axis value\n Object.keys(groupedData).forEach(xValue => {\n const dataPoints = groupedData[xValue];\n dataPoints.forEach((dataPoint, id) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const singleDataset: any = { xVal: dataPoints[0].x };\n\n const key = dataPoint.legend ? dataPoint.legend : `chart${id}`;\n singleDataset[key] = dataPoint.y;\n dataSet.push(singleDataset);\n });\n });\n\n // get all unique keys from each array within the dataSet\n const allLegends: string[] = [];\n dataSet.forEach(item => {\n Object.keys(item).forEach(key => {\n if (key !== 'xVal' && !allLegends.includes(key)) {\n allLegends.push(key);\n }\n });\n });\n\n dataSet.forEach(item => {\n allLegends.forEach(legend => {\n if (!item[legend]) {\n item[legend] = 0; // Fill with 0 if the legend is missing\n }\n });\n });\n\n // exclude all items within dataset having all legend values 0\n const filteredDataSet = dataSet.filter(item => {\n return allLegends.some(legend => item[legend] !== 0);\n });\n\n const keys = Array.from(\n new Set(filteredDataSet.flatMap(item => Object.keys(item).filter(key => key !== 'xVal'))),\n );\n\n return {\n keys,\n filteredDataSet,\n };\n }\n\n function _getCustomizedCallout() {\n return props.onRenderCalloutPerStack\n ? props.onRenderCalloutPerStack(stackCalloutProps)\n : props.onRenderCalloutPerDataPoint\n ? props.onRenderCalloutPerDataPoint(dataPointCalloutProps)\n : null;\n }\n\n function _getGraphData(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xAxis: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yAxis: any,\n containerHeight: number,\n containerWidth: number,\n xElement: SVGElement | null,\n yAxisElement?: SVGElement | null,\n yScaleSecondary?: ScaleLinear<number, number>,\n ) {\n _chart = _drawGraph(containerHeight, xAxis, yAxis, yScaleSecondary, xElement!);\n }\n\n function _onLegendHover(legend: string): void {\n setActiveLegend(legend);\n }\n\n function _onLegendLeave(): void {\n setActiveLegend(undefined);\n }\n\n function _getLegendData(points: LineChartPoints[]): JSXElement {\n const data = points;\n const actions: Legend[] = [];\n\n data.forEach((singleChartData: LineChartPoints) => {\n const color: string = singleChartData.color!;\n const checkSimilarLegends = actions.filter(\n (leg: Legend) => leg.title === singleChartData.legend && leg.color === color,\n );\n if (checkSimilarLegends!.length > 0) {\n return;\n }\n\n const legend: Legend = {\n title: singleChartData.legend,\n color,\n hoverAction: () => {\n _handleChartMouseLeave();\n _onLegendHover(singleChartData.legend);\n },\n onMouseOutAction: () => {\n _onLegendLeave();\n },\n };\n\n actions.push(legend);\n });\n return (\n <Legends\n legends={actions}\n enabledWrapLines={props.enabledLegendsWrapLines}\n {...props.legendProps}\n onChange={_onLegendSelectionChange}\n legendRef={_legendsRef}\n />\n );\n }\n\n function _onLegendSelectionChange(\n // eslint-disable-next-line @typescript-eslint/no-shadow\n selectedLegends: string[],\n event: React.MouseEvent<HTMLButtonElement>,\n currentLegend?: Legend,\n ): void {\n if (props.legendProps?.canSelectMultipleLegends) {\n setSelectedLegends(selectedLegends);\n } else {\n setSelectedLegends(selectedLegends.slice(-1));\n }\n if (props.legendProps?.onChange) {\n props.legendProps.onChange(selectedLegends, event, currentLegend);\n }\n }\n\n function _onDataPointClick(func: (() => void) | undefined) {\n if (func) {\n func();\n }\n setIsCircleClicked(true);\n }\n\n function _getOpacity(legend: string): number {\n if (!_isMultiStackChart) {\n return 0.7;\n } else {\n const opacity = _legendHighlighted(legend) || _noLegendHighlighted() ? 0.7 : 0.1;\n return opacity;\n }\n }\n\n function _getLineOpacity(legend: string): number {\n if (!_isMultiStackChart) {\n return 1;\n } else {\n let opacity = 0.3;\n if (isPopoverOpen) {\n opacity = 1;\n }\n if (!_noLegendHighlighted()) {\n opacity = _legendHighlighted(legend) ? 0 : 0.1;\n }\n return opacity;\n }\n }\n\n function _updateCircleFillColor(xDataPoint: number | Date, lineColor: string, circleId: string): string {\n let fillColor = lineColor;\n if (nearestCircleToHighlight === xDataPoint || activePoint === circleId) {\n if (!isCircleClicked) {\n fillColor = tokens.colorNeutralBackground1;\n }\n }\n\n return fillColor;\n }\n\n function _drawGraph(\n containerHeight: number,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xScale: any,\n yScalePrimary: ScaleLinear<number, number>,\n yScaleSecondary: ScaleLinear<number, number> | undefined,\n xElement: SVGElement,\n ): JSXElement[] {\n const points = _addDefaultColors(props.data.lineChartData);\n const { pointOptions, pointLineOptions } = props.data;\n\n const graph: JSXElement[] = [];\n let lineColor: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _data.forEach((singleStackedData: Array<any>, index: number) => {\n const yScale = points[index]?.useSecondaryYScale && yScaleSecondary ? yScaleSecondary : yScalePrimary;\n const curveFactory = getCurveFactory(points[index]?.lineOptions?.curve, d3CurveBasis);\n const area = d3Area()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((d: any) => xScale(d.xVal))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y0((d: any) => yScale(d.values[0]))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y1((d: any) => yScale(d.values[1]))\n .curve(curveFactory);\n const line = d3Line()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((d: any) => xScale(d.xVal))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y((d: any) => yScale(d.values[1]))\n .curve(curveFactory);\n const layerOpacity = _shouldFillToZeroY() ? 0.8 : _opacity[index];\n graph.push(\n <React.Fragment key={`${index}-graph-${_uniqueIdForGraph}`}>\n {props.enableGradient && (\n <defs>\n <linearGradient id={`gradient_${index}`} x1=\"0%\" x2=\"0%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0\" stopColor={_colors[index]} />\n <stop offset=\"100%\" stopColor=\"transparent\" />\n </linearGradient>\n </defs>\n )}\n <path\n id={`${index}-line-${_uniqueIdForGraph}`}\n d={line(singleStackedData)!}\n fill={'transparent'}\n strokeWidth={points[index]?.lineOptions?.strokeWidth ?? 3}\n stroke={_colors[index]}\n opacity={_getLineOpacity(points[index]!.legend)}\n onMouseMove={event => _onRectMouseMove(event)}\n onMouseOut={_onRectMouseOut}\n onMouseOver={event => _onRectMouseMove(event)}\n strokeDasharray={points[index]?.lineOptions?.strokeDasharray}\n strokeDashoffset={points[index]?.lineOptions?.strokeDashoffset}\n strokeLinecap={points[index]?.lineOptions?.strokeLinecap}\n />\n {singleStackedData.length === 1 ? (\n <circle\n id={`${index}-graph-${_uniqueIdForGraph}`}\n cx={xScale(singleStackedData[0].xVal)}\n cy={yScale(singleStackedData[0].values[1])}\n r={6}\n stroke={_colors[index]}\n strokeWidth={3}\n fill={_colors[index]}\n opacity={layerOpacity}\n fillOpacity={_getOpacity(points[index]!.legend)}\n onMouseMove={event => _onRectMouseMove(event)}\n onFocus={event => _handleFocus(event, index, 0, `${_circleId}_${index}`)}\n onMouseOut={_onRectMouseOut}\n onMouseOver={event => _onRectMouseMove(event)}\n />\n ) : (\n <path\n id={`${index}-graph-${_uniqueIdForGraph}`}\n d={area(singleStackedData)!}\n fill={props.enableGradient ? `url(#gradient_${index})` : _colors[index]}\n opacity={layerOpacity}\n fillOpacity={_getOpacity(points[index]!.legend)}\n onMouseMove={event => _onRectMouseMove(event)}\n onMouseOut={_onRectMouseOut}\n onMouseOver={event => _onRectMouseMove(event)}\n {...(props.optimizeLargeData && {\n tabIndex: _legendHighlighted(points[index]!.legend) || _noLegendHighlighted() ? 0 : undefined,\n role: 'img',\n 'aria-label': `${points[index].legend}, series ${index + 1} of ${points.length} with ${\n points[index].data.length\n } data points.`,\n })}\n />\n )}\n </React.Fragment>,\n );\n });\n\n const circleRadius = pointOptions && pointOptions.r ? Number(pointOptions.r) : 8;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _data.forEach((singleStackedData: Array<any>, index: number) => {\n if (points.length === index) {\n return;\n }\n const yScale = points[index]?.useSecondaryYScale && yScaleSecondary ? yScaleSecondary : yScalePrimary;\n if (!props.optimizeLargeData || singleStackedData.length === 1) {\n // Render circles for all data points\n graph.push(\n <g\n key={`${index}-dots-${_uniqueIdForGraph}`}\n clipPath=\"url(#clip)\"\n role=\"region\"\n aria-label={`${points[index].legend}, series ${index + 1} of ${points.length} with ${\n points[index].data.length\n } data points.`}\n >\n {singleStackedData.map((singlePoint: DPointType, pointIndex: number) => {\n const circleId = `${_circleId}_${index * _data[0].length + pointIndex}`;\n const xDataPoint = singlePoint.xVal instanceof Date ? singlePoint.xVal.getTime() : singlePoint.xVal;\n lineColor = points[index]!.color!;\n const legend = points[index]!.legend;\n return (\n <circle\n key={circleId}\n id={circleId}\n tabIndex={_legendHighlighted(points[index]!.legend) || _noLegendHighlighted() ? 0 : undefined}\n cx={xScale(singlePoint.xVal)}\n cy={yScale(singlePoint.values[1])}\n stroke={lineColor}\n strokeWidth={3}\n fill={_updateCircleFillColor(xDataPoint, lineColor, circleId)}\n onMouseOut={_onRectMouseOut}\n onMouseOver={event => _onRectMouseMove(event)}\n {..._getOnClickHandler(points, index, pointIndex)}\n onFocus={event => _handleFocus(event, index, pointIndex, circleId)}\n onBlur={_handleBlur}\n {...getSecureProps(pointOptions)}\n r={_getCircleRadius(xDataPoint, circleRadius, circleId, legend)}\n role=\"img\"\n aria-label={\n (!_hasDuplicateXValues && !_hasMissingXValues && _getAriaLabel(index, pointIndex)) || undefined\n }\n />\n );\n })}\n </g>,\n );\n } else {\n // Render circles for data points close to the mouse pointer only\n singleStackedData.forEach((singlePoint: DPointType, pointIndex: number) => {\n const xDataPoint = singlePoint.xVal instanceof Date ? singlePoint.xVal.getTime() : singlePoint.xVal;\n if (nearestCircleToHighlight === xDataPoint) {\n const circleId = `${_circleId}_${index * _data[0].length + pointIndex}`;\n lineColor = points[index]!.color!;\n const legend = points[index]!.legend;\n graph.push(\n <circle\n key={circleId}\n id={circleId}\n cx={xScale(singlePoint.xVal)}\n cy={yScale(singlePoint.values[1])}\n stroke={lineColor}\n strokeWidth={3}\n fill={_updateCircleFillColor(xDataPoint, lineColor, circleId)}\n onMouseOut={_onRectMouseOut}\n onMouseOver={event => _onRectMouseMove(event)}\n onFocus={event => _handleFocus(event, index, pointIndex, circleId)}\n {..._getOnClickHandler(points, index, pointIndex)}\n {...getSecureProps(pointOptions)}\n r={_getCircleRadius(xDataPoint, circleRadius, circleId, legend)}\n />,\n );\n }\n });\n }\n });\n graph.push(\n <line\n id={_verticalLineId}\n key={_verticalLineId}\n x1={lineXValue}\n y1={0}\n x2={lineXValue}\n y2={containerHeight}\n strokeWidth={1}\n strokeDasharray={5.5}\n stroke={lineColor!}\n opacity={0.5}\n visibility={displayOfLine}\n {...getSecureProps(pointLineOptions)}\n />,\n );\n return graph;\n }\n\n function _getOnClickHandler(points: LineChartPoints[], index: number, pointIndex: number) {\n if (!_hasDuplicateXValues && !_hasMissingXValues) {\n return {\n onClick: () => _onDataPointClick(points[index]!.data[pointIndex].onDataPointClick!),\n };\n }\n return {};\n }\n\n function _getCircleRadius(xDataPoint: number, circleRadius: number, circleId: string, legend: string): number {\n // Show the circle if no legends are selected or if the point's legend is in the selected legends\n if (!_noLegendHighlighted() && !_legendHighlighted(legend)) {\n return 0;\n }\n\n if (isCircleClicked && nearestCircleToHighlight === xDataPoint) {\n return 1;\n } else if (nearestCircleToHighlight === xDataPoint || activePoint === circleId) {\n return circleRadius;\n } else {\n return 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 function _legendHighlighted(legend: string) {\n return _getHighlightedLegend().includes(legend!);\n }\n\n /**\n * This function checks if none of the legends is selected or hovered.\n */\n function _noLegendHighlighted() {\n return _getHighlightedLegend().length === 0;\n }\n\n function _getHighlightedLegend() {\n return selectedLegends.length > 0 ? selectedLegends : activeLegend ? [activeLegend] : [];\n }\n\n function _addDefaultColors(lineChartData?: LineChartPoints[]): LineChartPoints[] {\n if (_hasMissingXValues) {\n // get union of all x values\n const allXValues: Set<string | number> = new Set();\n lineChartData &&\n lineChartData.forEach((line: LineChartPoints) => {\n line.data.forEach((point: LineChartDataPoint) => {\n const xValue = point.x instanceof Date ? point.x.toLocaleString() : point.x;\n allXValues.add(xValue);\n });\n });\n lineChartData &&\n lineChartData.forEach((line: LineChartPointsWithLegend) => {\n allXValues.forEach((xValue: string | number) => {\n const point = line.data.find((item: ILineChartDataPointWithLegend) => {\n return item.x instanceof Date ? item.x.toLocaleString() === xValue : item.x === xValue;\n });\n if (!point) {\n line.data.push({\n x: typeof xValue === 'string' ? new Date(xValue) : xValue,\n y: 0,\n legend: line.legend,\n });\n }\n });\n // sort the data points by x value\n line.data.sort((a: LineChartDataPoint, b: LineChartDataPoint) => {\n const xA = a.x instanceof Date ? a.x.getTime() : a.x;\n const xB = b.x instanceof Date ? b.x.getTime() : b.x;\n return xA < xB ? -1 : xA > xB ? 1 : 0;\n });\n });\n }\n return lineChartData\n ? lineChartData.map((item, index) => {\n let color: string;\n // isInverted property is applicable to v8 themes only\n if (typeof item.color === 'undefined') {\n color = getNextColor(index, 0);\n } else {\n color = getColorFromToken(item.color);\n }\n\n return { ...item, color };\n })\n : [];\n }\n\n function _handleFocus(\n event: React.FocusEvent<SVGCircleElement, Element>,\n lineIndex: number,\n pointIndex: number,\n circleId: string,\n ) {\n let cx = 0;\n let cy = 0;\n\n const targetRect = (event.target as SVGCircleElement).getBoundingClientRect();\n cx = targetRect.left + targetRect.width / 2;\n cy = targetRect.top + targetRect.height / 2;\n _updatePosition(cx, cy);\n\n const { x, y, xAxisCalloutData } = props.data.lineChartData![lineIndex].data[pointIndex];\n const formattedDate = x instanceof Date ? formatDateToLocaleString(x, props.culture, props.useUTC as boolean) : x;\n const found = findCalloutPoints(_calloutPoints, x);\n if (found) {\n // Show details in the callout for the focused point only\n found.values = found.values.filter((e: { y: number }) => e.y === y);\n const filteredValues = _getFilteredLegendValues(found.values);\n\n setPopoverOpen(true);\n setHoverXValue(xAxisCalloutData ? xAxisCalloutData : formattedDate);\n setYValueHover(filteredValues!);\n setStackCalloutProps({ ...found, values: filteredValues });\n setDataPointCalloutProps({ ...found, values: filteredValues });\n setActivePoint(circleId);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _getFilteredLegendValues(values: any) {\n return !_noLegendHighlighted()\n ? values.filter((value: { legend: string }) => _legendHighlighted(value.legend))\n : values;\n }\n\n function _handleBlur() {\n setPopoverOpen(false);\n setHoverXValue(undefined);\n setYValueHover([]);\n setStackCalloutProps(undefined);\n setDataPointCalloutProps(undefined);\n setActivePoint('');\n }\n\n function _getAriaLabel(lineIndex: number, pointIndex: number): string {\n const line = props.data.lineChartData![lineIndex];\n const point = line.data[pointIndex];\n const formattedDate =\n point.x instanceof Date ? formatDateToLocaleString(point.x, props.culture, props.useUTC as boolean) : point.x;\n const xValue = point.xAxisCalloutData || formattedDate;\n const legend = line.legend;\n const yValue = point.yAxisCalloutData || point.y;\n return point.callOutAccessibilityData?.ariaLabel || `${xValue}. ${legend}, ${yValue}.`;\n }\n\n function _isChartEmpty(): boolean {\n return !(\n (\n props.data &&\n props.data.lineChartData &&\n props.data.lineChartData.length > 0 &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props.data.lineChartData.filter((item: { data: string | any[] }) => item.data.length === 0).length === 0\n )\n // if all the data sets have no data\n // filtering all items which have no data and checking if the length of the filtered array is 0\n // which means chart is not empty\n );\n }\n\n function _getChartTitle(): string {\n const { chartTitle, lineChartData } = props.data;\n return (chartTitle ? `${chartTitle}. ` : '') + `Area chart with ${lineChartData?.length || 0} data series. `;\n }\n\n function _xCoordinateContainsMultipleY(): boolean {\n const { lineChartData } = props.data;\n if (!lineChartData) {\n return false;\n }\n for (const item of lineChartData) {\n const xValueMap: Record<string, number[]> = {};\n for (const point of item.data) {\n const xValue = point.x instanceof Date ? point.x.toLocaleString() : point.x;\n if (!xValueMap[xValue]) {\n xValueMap[xValue] = [];\n }\n xValueMap[xValue].push(point.y);\n if (xValueMap[xValue].length > 1) {\n return true;\n }\n }\n }\n return false;\n }\n\n function _containsMissingXValues(): boolean {\n const { lineChartData } = props.data;\n if (!lineChartData) {\n return false;\n }\n const allXValues: Set<string | number> = new Set();\n lineChartData.forEach((line: LineChartPoints) => {\n line.data.forEach((point: LineChartDataPoint) => {\n const xValue = point.x instanceof Date ? point.x.toLocaleString() : point.x;\n allXValues.add(xValue);\n });\n });\n // for all x values, check if the x value is present in all series\n let hasMissingValues = false;\n lineChartData.forEach((line: LineChartPoints) => {\n allXValues.forEach((xValue: string | number) => {\n const point = line.data.find((item: LineChartDataPoint) => {\n return item.x instanceof Date ? item.x.toLocaleString() === xValue : item.x === xValue;\n });\n if (!point) {\n hasMissingValues = true;\n }\n });\n });\n return hasMissingValues;\n }\n\n function _shouldFillToZeroY() {\n return props.mode === 'tozeroy' || _containsSecondaryYAxis;\n }\n\n if (!_isChartEmpty()) {\n const { lineChartData } = props.data;\n const points = _addDefaultColors(lineChartData);\n _containsSecondaryYAxis = !!props.secondaryYScaleOptions && points.some(point => point.useSecondaryYScale);\n _createSet = _createDataSet;\n const { colors, opacity, data, calloutPoints } = _createSet(points);\n _calloutPoints = calloutPoints;\n const isXAxisDateType = getXAxisType(points);\n _colors = colors;\n _opacity = opacity;\n _data = data.renderData;\n const legends: JSXElement = _getLegendData(points);\n\n const tickParams = {\n tickValues: props.tickValues,\n tickFormat: props.tickFormat,\n };\n\n const calloutProps: ChartPopoverProps = {\n YValueHover: YValueHover!,\n hoverXValue: hoverXValue!,\n xAxisCalloutAccessibilityData,\n ...props.calloutProps,\n clickPosition,\n isPopoverOpen: isPopoverOpen && !_hasDuplicateXValues && !_hasMissingXValues,\n isCartesian: true,\n customCallout: {\n customizedCallout: _getCustomizedCallout() !== null ? _getCustomizedCallout()! : undefined,\n customCalloutProps: props.calloutPropsPerDataPoint\n ? props.calloutPropsPerDataPoint(dataPointCalloutProps!)\n : undefined,\n },\n isCalloutForStack: true,\n };\n return (\n <CartesianChart\n {...props}\n chartTitle={_getChartTitle()}\n points={points}\n chartType={ChartTypes.AreaChart}\n calloutProps={calloutProps}\n legendBars={legends}\n createYAxis={createNumericYAxis}\n xAxisType={isXAxisDateType ? XAxisTypes.DateAxis : XAxisTypes.NumericAxis}\n tickParams={tickParams}\n maxOfYVal={data.maxOfYVal}\n getGraphData={_getGraphData}\n getDomainNRangeValues={_getDomainNRangeValues}\n createStringYAxis={createStringYAxis}\n getmargins={_getMargins}\n onChartMouseLeave={_handleChartMouseLeave}\n getMinMaxOfYAxis={_getMinMaxOfYAxis}\n enableFirstRenderOptimization={props.enablePerfOptimization && _firstRenderOptimization}\n componentRef={cartesianChartRef}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line @typescript-eslint/no-shadow\n children={(props: ChildProps) => {\n _xAxisRectScale = props.xScale;\n const ticks = _xAxisRectScale.ticks();\n const width1 = _xAxisRectScale(ticks[ticks.length - 1]);\n const rectHeight = props.containerHeight! - _margins.top!;\n return (\n <>\n <g>\n <rect\n id={_rectId}\n width={width1}\n height={rectHeight}\n fill={'transparent'}\n onMouseMove={event => _onRectMouseMove(event)}\n onMouseOut={_onRectMouseOut}\n onMouseOver={event => _onRectMouseMove(event)}\n />\n </g>\n <g>{_chart}</g>\n </>\n );\n }}\n />\n );\n }\n return (\n <div id={_emptyChartId} role={'alert'} style={{ opacity: '0' }} aria-label={'Graph has no data to display'} />\n );\n },\n);\nAreaChart.displayName = 'AreaChart';\n"],"names":["React","max","d3Max","bisector","pointer","tokens","area","d3Area","stack","d3Stack","curveMonotoneX","d3CurveBasis","line","d3Line","CartesianChart","calloutData","getXAxisType","ChartTypes","XAxisTypes","getTypeOfAxis","getNextColor","getColorFromToken","getSecureProps","areArraysEqual","getCurveFactory","findNumericMinMaxOfY","createNumericYAxis","domainRangeOfNumericForAreaLineScatterCharts","domainRangeOfDateForAreaLineScatterVerticalBarCharts","createStringYAxis","findCalloutPoints","useId","Legends","formatDateToLocaleString","useImageExport","bisect","d","x","left","InterceptVisibility","AreaChart","forwardRef","props","forwardedRef","_uniqueIdForGraph","_verticalLineId","_circleId","_rectId","_enableComputationOptimization","_firstRenderOptimization","_emptyChartId","_containsSecondaryYAxis","_hasMissingXValues","_containsMissingXValues","_hasDuplicateXValues","_xCoordinateContainsMultipleY","_calloutPoints","_createSet","_colors","_opacity","_data","_chart","_margins","_xAxisRectScale","_isMultiStackChart","cartesianChartRef","legendsRef","_legendsRef","componentRef","hideLegend","selectedLegends","setSelectedLegends","useState","legendProps","activeLegend","setActiveLegend","undefined","hoverXValue","setHoverXValue","YValueHover","setYValueHover","lineXValue","setLineXValue","displayOfLine","setDisplayOfLine","isCircleClicked","setIsCircleClicked","nearestCircleToHighlight","setNearestCircleToHighlight","activePoint","setActivePoint","dataPointCalloutProps","setDataPointCalloutProps","stackCalloutProps","setStackCalloutProps","xAxisCalloutAccessibilityData","setXAxisCalloutAccessibilityData","clickPosition","setClickPosition","y","isPopoverOpen","setPopoverOpen","prevPropsRef","useRef","useEffect","current","prevProps","_getMinMaxOfYAxis","points","yAxisType","useSecondaryYScale","_getDomainNRangeValues","margins","width","chartType","isRTL","xAxisType","barWidth","tickValues","domainNRangeValue","NumericAxis","DateAxis","dStartValue","dEndValue","rStartValue","rEndValue","_getMargins","_onRectMouseMove","mouseEvent","persist","data","lineChartData","_updatePosition","clientX","clientY","xOffset","invert","document","getElementById","i","d0","d1","pointToHighlight","index","axisType","length","x0","point0","point1","Date","getTime","Math","abs","xAxisCalloutData","formattedDate","culture","useUTC","found","_nearestCircleToHighlight","filteredValues","_getFilteredLegendValues","values","_onRectMouseOut","newX","newY","threshold","distance","sqrt","pow","_handleChartMouseLeave","_getDataPoints","keys","dataSet","renderPoints","maxOfYVal","_shouldFillToZeroY","forEach","key","currentLayer","push","xVal","dataValues","dp","layer","renderData","endValue","_createDataSet","enablePerfOptimization","allChartPoints","colors","opacity","calloutPoints","singleChartPoint","color","mapOfXvalToListOfDataPoints","dataPoint","xValue","toLocaleString","Object","value","singleDataset","singleDataPoint","keysLength","keyVal","legend","point","tempArr","valToCheck","filteredChartPoints","filter","id","val","datasetForDuplicateValues","_createDatasetForXCoordinateWithMultipleYValues","filteredDataSet","groupedData","dataPoints","allLegends","item","includes","some","Array","from","Set","flatMap","_getCustomizedCallout","onRenderCalloutPerStack","onRenderCalloutPerDataPoint","_getGraphData","xAxis","yAxis","containerHeight","containerWidth","xElement","yAxisElement","yScaleSecondary","_drawGraph","_onLegendHover","_onLegendLeave","_getLegendData","actions","singleChartData","checkSimilarLegends","leg","title","hoverAction","onMouseOutAction","legends","enabledWrapLines","enabledLegendsWrapLines","onChange","_onLegendSelectionChange","legendRef","event","currentLegend","canSelectMultipleLegends","slice","_onDataPointClick","func","_getOpacity","_legendHighlighted","_noLegendHighlighted","_getLineOpacity","_updateCircleFillColor","xDataPoint","lineColor","circleId","fillColor","colorNeutralBackground1","xScale","yScalePrimary","_addDefaultColors","pointOptions","pointLineOptions","graph","singleStackedData","yScale","curveFactory","lineOptions","curve","y0","y1","layerOpacity","Fragment","enableGradient","defs","linearGradient","x1","x2","y2","stop","offset","stopColor","path","fill","strokeWidth","stroke","onMouseMove","onMouseOut","onMouseOver","strokeDasharray","strokeDashoffset","strokeLinecap","circle","cx","cy","r","fillOpacity","onFocus","_handleFocus","optimizeLargeData","tabIndex","role","circleRadius","Number","g","clipPath","aria-label","map","singlePoint","pointIndex","_getOnClickHandler","onBlur","_handleBlur","_getCircleRadius","_getAriaLabel","visibility","onClick","onDataPointClick","_getHighlightedLegend","allXValues","add","find","sort","a","b","xA","xB","lineIndex","targetRect","target","getBoundingClientRect","top","height","e","yValue","yAxisCalloutData","callOutAccessibilityData","ariaLabel","_isChartEmpty","_getChartTitle","chartTitle","xValueMap","hasMissingValues","mode","secondaryYScaleOptions","isXAxisDateType","tickParams","tickFormat","calloutProps","isCartesian","customCallout","customizedCallout","customCalloutProps","calloutPropsPerDataPoint","isCalloutForStack","legendBars","createYAxis","getGraphData","getDomainNRangeValues","getmargins","onChartMouseLeave","getMinMaxOfYAxis","enableFirstRenderOptimization","children","ticks","width1","rectHeight","rect","div","style","displayName"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
1
|
+
export * from "./AreaChart.js";
|
|
2
|
+
export * from "./AreaChart.types.js";
|
|
3
|
+
export * from "../../types/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/AreaChart/index.ts"],"sourcesContent":["export * from './AreaChart';\nexport * from './AreaChart.types';\nexport * from '../../types/index';\n"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"sources":["../src/components/AreaChart/index.ts"],"sourcesContent":["export * from './AreaChart';\nexport * from './AreaChart.types';\nexport * from '../../types/index';\n"],"names":[],"mappings":"AAAA,cAAc,iBAAc;AAC5B,cAAc,uBAAoB;AAClC,cAAc,uBAAoB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { __styles, mergeClasses } from
|
|
4
|
-
import { getTooltipStyle } from
|
|
3
|
+
import { __styles, mergeClasses } from "@griffel/react";
|
|
4
|
+
import { getTooltipStyle } from "../../utilities/index.js";
|
|
5
5
|
export const areaChartClassNames = {
|
|
6
6
|
tooltip: 'fui-ac__tooltip',
|
|
7
7
|
root: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__styles","mergeClasses","getTooltipStyle","areaChartClassNames","tooltip","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","opacityChangeOnHover","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","plotContainer","annotationLayer","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","qhf8xq","fsow6f","De3pzq","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","Bkecrkj","sj55zd","d","p","useAreaChartStyles","props","baseStyles"],"sources":["useAreaChartStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeStyles, mergeClasses } from
|
|
1
|
+
{"version":3,"names":["__styles","mergeClasses","getTooltipStyle","areaChartClassNames","tooltip","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","opacityChangeOnHover","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","plotContainer","annotationLayer","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","qhf8xq","fsow6f","De3pzq","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","Bkecrkj","sj55zd","d","p","useAreaChartStyles","props","baseStyles"],"sources":["useAreaChartStyles.styles.js"],"sourcesContent":["'use client';\nimport { makeStyles, mergeClasses } from \"@griffel/react\";\nimport { getTooltipStyle } from \"../../utilities/index.js\";\nexport const areaChartClassNames = {\n tooltip: 'fui-ac__tooltip',\n root: '',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n axisTitle: '',\n chartTitle: '',\n opacityChangeOnHover: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: '',\n axisAnnotation: '',\n plotContainer: '',\n annotationLayer: ''\n};\nconst useStyles = makeStyles({\n tooltip: getTooltipStyle()\n});\n/**\n * Apply styling to the AreaChart slots based on the state\n */ export const useAreaChartStyles = (props)=>{\n const baseStyles = useStyles();\n return {\n tooltip: mergeClasses(areaChartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/ )\n };\n};\n"],"mappings":"AAAA,YAAY;;AACZ,SAAAA,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AACzD,SAASC,eAAe,QAAQ,0BAA0B;AAC1D,OAAO,MAAMC,mBAAmB,GAAG;EAC/BC,OAAO,EAAE,iBAAiB;EAC1BC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,EAAE;EACTC,KAAK,EAAE,EAAE;EACTC,eAAe,EAAE,EAAE;EACnBC,KAAK,EAAE,EAAE;EACTC,kBAAkB,EAAE,EAAE;EACtBC,SAAS,EAAE,EAAE;EACbC,UAAU,EAAE,EAAE;EACdC,oBAAoB,EAAE,EAAE;EACxBC,WAAW,EAAE,EAAE;EACfC,YAAY,EAAE,EAAE;EAChBC,UAAU,EAAE,EAAE;EACdC,KAAK,EAAE,EAAE;EACTC,cAAc,EAAE,EAAE;EAClBC,aAAa,EAAE,EAAE;EACjBC,eAAe,EAAE;AACrB,CAAC;AACD,MAAMC,SAAS,gBAAGrB,QAAA;EAAAI,OAAA;IAAAkB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;EAAA;AAAA;EAAAC,CAAA;IAAAC,CAAA;EAAA;IAAAA,CAAA;EAAA;AAAA,CAEjB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,kBAAkB,GAAIC,KAAK,IAAG;EAC3C,MAAMC,UAAU,GAAG1B,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHjB,OAAO,EAAEH,YAAY,CAACE,mBAAmB,CAACC,OAAO,EAAE2C,UAAU,CAAC3C,OAAO,CAAC,yBAA0B;EACpG,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { makeStyles, mergeClasses } from
|
|
3
|
-
import { getTooltipStyle } from
|
|
2
|
+
import { makeStyles, mergeClasses } from "@griffel/react";
|
|
3
|
+
import { getTooltipStyle } from "../../utilities/index.js";
|
|
4
4
|
export const areaChartClassNames = {
|
|
5
5
|
tooltip: 'fui-ac__tooltip',
|
|
6
6
|
root: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/AreaChart/useAreaChartStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport type { GriffelStyle } from '@griffel/react';\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport type { AreaChartProps, AreaChartStyles } from './index';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { getTooltipStyle } from '../../utilities/index';\n\nexport const areaChartClassNames: SlotClassNames<AreaChartStyles> = {\n tooltip: 'fui-ac__tooltip',\n root: '',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n axisTitle: '',\n chartTitle: '',\n opacityChangeOnHover: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: '',\n axisAnnotation: '',\n plotContainer: '',\n annotationLayer: '',\n};\n\nconst useStyles = makeStyles({\n tooltip: getTooltipStyle() as GriffelStyle,\n});\n\n/**\n * Apply styling to the AreaChart slots based on the state\n */\nexport const useAreaChartStyles = (props: AreaChartProps): AreaChartStyles => {\n const baseStyles = useStyles();\n\n return {\n tooltip: mergeClasses(areaChartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/),\n };\n};\n"],"names":["makeStyles","mergeClasses","getTooltipStyle","areaChartClassNames","tooltip","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","opacityChangeOnHover","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","plotContainer","annotationLayer","useStyles","useAreaChartStyles","props","baseStyles"],"mappings":"AAAA;AAGA,SAASA,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAG1D,SAASC,eAAe,QAAQ,
|
|
1
|
+
{"version":3,"sources":["../src/components/AreaChart/useAreaChartStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport type { GriffelStyle } from '@griffel/react';\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport type { AreaChartProps, AreaChartStyles } from './index';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { getTooltipStyle } from '../../utilities/index';\n\nexport const areaChartClassNames: SlotClassNames<AreaChartStyles> = {\n tooltip: 'fui-ac__tooltip',\n root: '',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n axisTitle: '',\n chartTitle: '',\n opacityChangeOnHover: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: '',\n axisAnnotation: '',\n plotContainer: '',\n annotationLayer: '',\n};\n\nconst useStyles = makeStyles({\n tooltip: getTooltipStyle() as GriffelStyle,\n});\n\n/**\n * Apply styling to the AreaChart slots based on the state\n */\nexport const useAreaChartStyles = (props: AreaChartProps): AreaChartStyles => {\n const baseStyles = useStyles();\n\n return {\n tooltip: mergeClasses(areaChartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/),\n };\n};\n"],"names":["makeStyles","mergeClasses","getTooltipStyle","areaChartClassNames","tooltip","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","opacityChangeOnHover","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","plotContainer","annotationLayer","useStyles","useAreaChartStyles","props","baseStyles"],"mappings":"AAAA;AAGA,SAASA,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAG1D,SAASC,eAAe,QAAQ,2BAAwB;AAExD,OAAO,MAAMC,sBAAuD;IAClEC,SAAS;IACTC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,iBAAiB;IACjBC,OAAO;IACPC,oBAAoB;IACpBC,WAAW;IACXC,YAAY;IACZC,sBAAsB;IACtBC,aAAa;IACbC,cAAc;IACdC,YAAY;IACZC,OAAO;IACPC,gBAAgB;IAChBC,eAAe;IACfC,iBAAiB;AACnB,EAAE;AAEF,MAAMC,YAAYrB,WAAW;IAC3BI,SAASF;AACX;AAEA;;CAEC,GACD,OAAO,MAAMoB,qBAAqB,CAACC;IACjC,MAAMC,aAAaH;IAEnB,OAAO;QACLjB,SAASH,aAAaE,oBAAoBC,OAAO,EAAEoB,WAAWpB,OAAO,CAAC,uBAAuB;IAC/F;AACF,EAAE"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import * as React from
|
|
3
|
-
import { useChartTableStyles } from
|
|
4
|
-
import { tokens } from
|
|
5
|
-
import * as d3 from
|
|
6
|
-
import { getColorContrast } from
|
|
7
|
-
import { resolveCSSVariables } from
|
|
8
|
-
import { ChartTitle } from
|
|
9
|
-
import { useImageExport } from
|
|
10
|
-
import { useArrowNavigationGroup } from
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { useChartTableStyles } from "./useChartTableStyles.styles.js";
|
|
4
|
+
import { tokens } from "@fluentui/react-theme";
|
|
5
|
+
import * as d3 from "d3-color";
|
|
6
|
+
import { getColorContrast } from "../../utilities/colors.js";
|
|
7
|
+
import { resolveCSSVariables } from "../../utilities/utilities.js";
|
|
8
|
+
import { ChartTitle } from "../../utilities/index.js";
|
|
9
|
+
import { useImageExport } from "../../utilities/hooks.js";
|
|
10
|
+
import { useArrowNavigationGroup } from "@fluentui/react-tabster";
|
|
11
11
|
function invertHexColor(hex) {
|
|
12
12
|
const color = d3.color(hex);
|
|
13
13
|
if (!color) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ChartTable/ChartTable.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ChartTableProps } from './ChartTable.types';\nimport { useChartTableStyles } from './useChartTableStyles.styles';\nimport { tokens } from '@fluentui/react-theme';\nimport * as d3 from 'd3-color';\nimport { getColorContrast } from '../../utilities/colors';\nimport { resolveCSSVariables } from '../../utilities/utilities';\nimport { ChartTitle } from '../../utilities/index';\nimport { useImageExport } from '../../utilities/hooks';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n\nfunction invertHexColor(hex: string): string {\n const color = d3.color(hex);\n if (!color) {\n return tokens.colorNeutralForeground1!;\n }\n const rgb = color.rgb();\n return d3.rgb(255 - rgb.r, 255 - rgb.g, 255 - rgb.b).formatHex();\n}\n\nfunction getSafeBackgroundColor(chartContainer: HTMLElement, foreground?: string, background?: string): string {\n const fallbackFg = tokens.colorNeutralForeground1;\n const fallbackBg = tokens.colorNeutralBackground1;\n if (!chartContainer) {\n return fallbackBg;\n }\n\n const resolvedFg = resolveCSSVariables(chartContainer, foreground || fallbackFg);\n const resolvedBg = resolveCSSVariables(chartContainer, background || fallbackBg);\n\n const fg = d3.color(resolvedFg);\n const bg = d3.color(resolvedBg);\n\n if (!fg || !bg) {\n return resolvedBg;\n }\n const contrast = getColorContrast(fg.formatHex(), bg.formatHex());\n if (contrast >= 3) {\n return bg.formatHex();\n }\n\n const invertedBg = invertHexColor(bg.formatHex());\n const invertedContrast = getColorContrast(fg.formatHex(), invertedBg);\n return invertedContrast >= 3 ? invertedBg : fallbackBg;\n}\n\nexport const ChartTable: React.FunctionComponent<ChartTableProps> = React.forwardRef<HTMLDivElement, ChartTableProps>(\n (props, forwardedRef) => {\n const { headers, rows, width, height, chartTitle } = props;\n const { chartContainerRef: _rootElem } = useImageExport(props.componentRef, true, false);\n const classes = useChartTableStyles(props);\n const arrowAttributes = useArrowNavigationGroup({ axis: 'grid' });\n\n if (!headers || headers.length === 0) {\n return <div>No data available</div>;\n }\n\n const bgColorSet = new Set<string>();\n headers.forEach(header => {\n const bg = header?.style?.backgroundColor;\n const normalized = d3.color(bg || '')?.formatHex();\n if (normalized) {\n bgColorSet.add(normalized);\n }\n });\n let sharedBackgroundColor: string | undefined;\n let useSharedBackground = false;\n\n /*\n If we have only one or two unique background colors, we can consider using a shared background color\n for the table headers. This is to ensure better contrast with the foreground text.\n For size 1, we will consider that as default color if it satisfies the contrast ratio.\n There could also be a scenario where backgroundcolor array is of size 2, for eg: [\"dimsgray\", \"gray\"],\n which will assign 1st column header bg color to dimsgray and rest to gray. so our logic of shared background\n color won't run here. So will consider for size 2 as well.\n For size greater than this, we will consider that user wants different colors and will let color contrast fail\n if any.\n */\n if (bgColorSet.size === 1 || bgColorSet.size === 2) {\n const candidateBg = bgColorSet.size === 1 ? Array.from(bgColorSet)[0] : Array.from(bgColorSet)[1];\n for (const header of headers) {\n const fg = header?.style?.color;\n if (fg && getColorContrast(fg, candidateBg) >= 3) {\n sharedBackgroundColor = candidateBg;\n useSharedBackground = true;\n break;\n }\n }\n }\n\n const titleHeight = chartTitle ? 30 : 0;\n const totalHeight = typeof height === 'number' ? height : 650;\n const tableHeight = `${totalHeight - titleHeight}px`;\n const svgWidth = typeof width === 'number' ? width : '100%';\n const titleMaxWidth = typeof width === 'number' ? width - 20 : undefined;\n const titleX = typeof width === 'number' ? width / 2 : 0;\n\n return (\n <div\n ref={el => {\n _rootElem.current = el;\n }}\n className={classes.root as string}\n style={{ height: `${totalHeight}px`, overflow: 'hidden' }}\n >\n <svg width={svgWidth} height={`${totalHeight}px`}>\n {chartTitle && (\n <ChartTitle\n title={chartTitle}\n x={titleX}\n maxWidth={titleMaxWidth}\n className={classes.chartTitle}\n titleStyles={props.titleStyles}\n tooltipClassName={classes.svgTooltip}\n />\n )}\n <foreignObject x=\"0\" y={titleHeight} width=\"100%\" height={tableHeight}>\n <div\n style={{\n maxHeight: height ? `${height}px` : '650px',\n overflowY: 'auto',\n overflowX: 'auto',\n }}\n >\n <table\n className={classes.table}\n style={{\n width: width ? `${width}px` : '100%',\n }}\n {...arrowAttributes}\n >\n <thead>\n <tr>\n {headers.map((header, idx) => {\n const style = { ...header?.style };\n const fg = style.color;\n const bg = style.backgroundColor;\n\n if (useSharedBackground) {\n style.backgroundColor = sharedBackgroundColor;\n } else if (fg || bg) {\n style.backgroundColor = getSafeBackgroundColor(_rootElem.current!, fg, bg);\n }\n return (\n <th key={idx} className={classes.headerCell} style={style} tabIndex={0}>\n {header.value}\n </th>\n );\n })}\n </tr>\n </thead>\n {rows && rows.length > 0 && (\n <tbody>\n {rows.map((row, rowIdx) => (\n <tr key={rowIdx}>\n {row.map((cell, colIdx) => {\n const style = { ...cell?.style };\n const fg = style.color;\n const bg = style.backgroundColor;\n if (fg || bg) {\n style.backgroundColor = getSafeBackgroundColor(_rootElem.current!, fg, bg);\n }\n return (\n <td key={colIdx} className={classes.bodyCell} style={style} tabIndex={0}>\n {cell.value}\n </td>\n );\n })}\n </tr>\n ))}\n </tbody>\n )}\n </table>\n </div>\n </foreignObject>\n </svg>\n </div>\n );\n },\n);\n\nChartTable.displayName = 'ChartTable';\n"],"names":["React","useChartTableStyles","tokens","d3","getColorContrast","resolveCSSVariables","ChartTitle","useImageExport","useArrowNavigationGroup","invertHexColor","hex","color","colorNeutralForeground1","rgb","r","g","b","formatHex","getSafeBackgroundColor","chartContainer","foreground","background","fallbackFg","fallbackBg","colorNeutralBackground1","resolvedFg","resolvedBg","fg","bg","contrast","invertedBg","invertedContrast","ChartTable","forwardRef","props","forwardedRef","headers","rows","width","height","chartTitle","chartContainerRef","_rootElem","componentRef","classes","arrowAttributes","axis","length","div","bgColorSet","Set","forEach","header","style","backgroundColor","normalized","add","sharedBackgroundColor","useSharedBackground","size","candidateBg","Array","from","titleHeight","totalHeight","tableHeight","svgWidth","titleMaxWidth","undefined","titleX","ref","el","current","className","root","overflow","svg","title","x","maxWidth","titleStyles","tooltipClassName","svgTooltip","foreignObject","y","maxHeight","overflowY","overflowX","table","thead","tr","map","idx","th","key","headerCell","tabIndex","value","tbody","row","rowIdx","cell","colIdx","td","bodyCell","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/components/ChartTable/ChartTable.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ChartTableProps } from './ChartTable.types';\nimport { useChartTableStyles } from './useChartTableStyles.styles';\nimport { tokens } from '@fluentui/react-theme';\nimport * as d3 from 'd3-color';\nimport { getColorContrast } from '../../utilities/colors';\nimport { resolveCSSVariables } from '../../utilities/utilities';\nimport { ChartTitle } from '../../utilities/index';\nimport { useImageExport } from '../../utilities/hooks';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\n\nfunction invertHexColor(hex: string): string {\n const color = d3.color(hex);\n if (!color) {\n return tokens.colorNeutralForeground1!;\n }\n const rgb = color.rgb();\n return d3.rgb(255 - rgb.r, 255 - rgb.g, 255 - rgb.b).formatHex();\n}\n\nfunction getSafeBackgroundColor(chartContainer: HTMLElement, foreground?: string, background?: string): string {\n const fallbackFg = tokens.colorNeutralForeground1;\n const fallbackBg = tokens.colorNeutralBackground1;\n if (!chartContainer) {\n return fallbackBg;\n }\n\n const resolvedFg = resolveCSSVariables(chartContainer, foreground || fallbackFg);\n const resolvedBg = resolveCSSVariables(chartContainer, background || fallbackBg);\n\n const fg = d3.color(resolvedFg);\n const bg = d3.color(resolvedBg);\n\n if (!fg || !bg) {\n return resolvedBg;\n }\n const contrast = getColorContrast(fg.formatHex(), bg.formatHex());\n if (contrast >= 3) {\n return bg.formatHex();\n }\n\n const invertedBg = invertHexColor(bg.formatHex());\n const invertedContrast = getColorContrast(fg.formatHex(), invertedBg);\n return invertedContrast >= 3 ? invertedBg : fallbackBg;\n}\n\nexport const ChartTable: React.FunctionComponent<ChartTableProps> = React.forwardRef<HTMLDivElement, ChartTableProps>(\n (props, forwardedRef) => {\n const { headers, rows, width, height, chartTitle } = props;\n const { chartContainerRef: _rootElem } = useImageExport(props.componentRef, true, false);\n const classes = useChartTableStyles(props);\n const arrowAttributes = useArrowNavigationGroup({ axis: 'grid' });\n\n if (!headers || headers.length === 0) {\n return <div>No data available</div>;\n }\n\n const bgColorSet = new Set<string>();\n headers.forEach(header => {\n const bg = header?.style?.backgroundColor;\n const normalized = d3.color(bg || '')?.formatHex();\n if (normalized) {\n bgColorSet.add(normalized);\n }\n });\n let sharedBackgroundColor: string | undefined;\n let useSharedBackground = false;\n\n /*\n If we have only one or two unique background colors, we can consider using a shared background color\n for the table headers. This is to ensure better contrast with the foreground text.\n For size 1, we will consider that as default color if it satisfies the contrast ratio.\n There could also be a scenario where backgroundcolor array is of size 2, for eg: [\"dimsgray\", \"gray\"],\n which will assign 1st column header bg color to dimsgray and rest to gray. so our logic of shared background\n color won't run here. So will consider for size 2 as well.\n For size greater than this, we will consider that user wants different colors and will let color contrast fail\n if any.\n */\n if (bgColorSet.size === 1 || bgColorSet.size === 2) {\n const candidateBg = bgColorSet.size === 1 ? Array.from(bgColorSet)[0] : Array.from(bgColorSet)[1];\n for (const header of headers) {\n const fg = header?.style?.color;\n if (fg && getColorContrast(fg, candidateBg) >= 3) {\n sharedBackgroundColor = candidateBg;\n useSharedBackground = true;\n break;\n }\n }\n }\n\n const titleHeight = chartTitle ? 30 : 0;\n const totalHeight = typeof height === 'number' ? height : 650;\n const tableHeight = `${totalHeight - titleHeight}px`;\n const svgWidth = typeof width === 'number' ? width : '100%';\n const titleMaxWidth = typeof width === 'number' ? width - 20 : undefined;\n const titleX = typeof width === 'number' ? width / 2 : 0;\n\n return (\n <div\n ref={el => {\n _rootElem.current = el;\n }}\n className={classes.root as string}\n style={{ height: `${totalHeight}px`, overflow: 'hidden' }}\n >\n <svg width={svgWidth} height={`${totalHeight}px`}>\n {chartTitle && (\n <ChartTitle\n title={chartTitle}\n x={titleX}\n maxWidth={titleMaxWidth}\n className={classes.chartTitle}\n titleStyles={props.titleStyles}\n tooltipClassName={classes.svgTooltip}\n />\n )}\n <foreignObject x=\"0\" y={titleHeight} width=\"100%\" height={tableHeight}>\n <div\n style={{\n maxHeight: height ? `${height}px` : '650px',\n overflowY: 'auto',\n overflowX: 'auto',\n }}\n >\n <table\n className={classes.table}\n style={{\n width: width ? `${width}px` : '100%',\n }}\n {...arrowAttributes}\n >\n <thead>\n <tr>\n {headers.map((header, idx) => {\n const style = { ...header?.style };\n const fg = style.color;\n const bg = style.backgroundColor;\n\n if (useSharedBackground) {\n style.backgroundColor = sharedBackgroundColor;\n } else if (fg || bg) {\n style.backgroundColor = getSafeBackgroundColor(_rootElem.current!, fg, bg);\n }\n return (\n <th key={idx} className={classes.headerCell} style={style} tabIndex={0}>\n {header.value}\n </th>\n );\n })}\n </tr>\n </thead>\n {rows && rows.length > 0 && (\n <tbody>\n {rows.map((row, rowIdx) => (\n <tr key={rowIdx}>\n {row.map((cell, colIdx) => {\n const style = { ...cell?.style };\n const fg = style.color;\n const bg = style.backgroundColor;\n if (fg || bg) {\n style.backgroundColor = getSafeBackgroundColor(_rootElem.current!, fg, bg);\n }\n return (\n <td key={colIdx} className={classes.bodyCell} style={style} tabIndex={0}>\n {cell.value}\n </td>\n );\n })}\n </tr>\n ))}\n </tbody>\n )}\n </table>\n </div>\n </foreignObject>\n </svg>\n </div>\n );\n },\n);\n\nChartTable.displayName = 'ChartTable';\n"],"names":["React","useChartTableStyles","tokens","d3","getColorContrast","resolveCSSVariables","ChartTitle","useImageExport","useArrowNavigationGroup","invertHexColor","hex","color","colorNeutralForeground1","rgb","r","g","b","formatHex","getSafeBackgroundColor","chartContainer","foreground","background","fallbackFg","fallbackBg","colorNeutralBackground1","resolvedFg","resolvedBg","fg","bg","contrast","invertedBg","invertedContrast","ChartTable","forwardRef","props","forwardedRef","headers","rows","width","height","chartTitle","chartContainerRef","_rootElem","componentRef","classes","arrowAttributes","axis","length","div","bgColorSet","Set","forEach","header","style","backgroundColor","normalized","add","sharedBackgroundColor","useSharedBackground","size","candidateBg","Array","from","titleHeight","totalHeight","tableHeight","svgWidth","titleMaxWidth","undefined","titleX","ref","el","current","className","root","overflow","svg","title","x","maxWidth","titleStyles","tooltipClassName","svgTooltip","foreignObject","y","maxHeight","overflowY","overflowX","table","thead","tr","map","idx","th","key","headerCell","tabIndex","value","tbody","row","rowIdx","cell","colIdx","td","bodyCell","displayName"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
1
|
+
export * from "./ChartTable.js";
|
|
2
|
+
export * from "./ChartTable.types.js";
|
|
3
|
+
export * from "../../types/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ChartTable/index.ts"],"sourcesContent":["export * from './ChartTable';\nexport * from './ChartTable.types';\nexport * from '../../types/index';\n"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"sources":["../src/components/ChartTable/index.ts"],"sourcesContent":["export * from './ChartTable';\nexport * from './ChartTable.types';\nexport * from '../../types/index';\n"],"names":[],"mappings":"AAAA,cAAc,kBAAe;AAC7B,cAAc,wBAAqB;AACnC,cAAc,uBAAoB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { __styles, mergeClasses } from
|
|
4
|
-
import { tokens, typographyStyles } from
|
|
5
|
-
import { getChartTitleStyles, HighContrastSelector } from
|
|
3
|
+
import { __styles, mergeClasses } from "@griffel/react";
|
|
4
|
+
import { tokens, typographyStyles } from "@fluentui/react-theme";
|
|
5
|
+
import { getChartTitleStyles, HighContrastSelector } from "../../utilities/index.js";
|
|
6
6
|
/**
|
|
7
7
|
* @internal
|
|
8
8
|
*/
|