@fluentui/react-charts 9.2.3 → 9.3.0
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 +79 -10
- package/dist/index.d.ts +98 -5
- package/lib/components/AreaChart/AreaChart.js +8 -6
- package/lib/components/AreaChart/AreaChart.js.map +1 -1
- package/lib/components/AreaChart/useAreaChartStyles.styles.js +4 -2
- package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
- package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js +4 -15
- package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -1
- package/lib/components/ChartTable/ChartTable.js +95 -8
- package/lib/components/ChartTable/ChartTable.js.map +1 -1
- package/lib/components/ChartTable/useChartTableStyles.styles.js +5 -3
- package/lib/components/ChartTable/useChartTableStyles.styles.js.map +1 -1
- package/lib/components/ChartTable/useChartTableStyles.styles.raw.js +3 -2
- package/lib/components/ChartTable/useChartTableStyles.styles.raw.js.map +1 -1
- package/lib/components/CommonComponents/CartesianChart.js +45 -42
- package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
- package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
- package/lib/components/CommonComponents/ChartPopover.js +14 -5
- package/lib/components/CommonComponents/ChartPopover.js.map +1 -1
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +19 -14
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js +7 -33
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
- package/lib/components/CommonComponents/useChartPopoverStyles.styles.js +5 -3
- package/lib/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
- package/lib/components/CommonComponents/useChartPopoverStyles.styles.raw.js +3 -2
- package/lib/components/CommonComponents/useChartPopoverStyles.styles.raw.js.map +1 -1
- package/lib/components/DeclarativeChart/DeclarativeChart.js +56 -16
- package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
- package/lib/components/DeclarativeChart/PlotlyColorAdapter.js +19 -0
- package/lib/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
- package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +1096 -337
- package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
- package/lib/components/DeclarativeChart/imageExporter.js +1 -0
- package/lib/components/DeclarativeChart/imageExporter.js.map +1 -1
- package/lib/components/DonutChart/Arc/Arc.js +8 -8
- package/lib/components/DonutChart/Arc/Arc.js.map +1 -1
- package/lib/components/DonutChart/Arc/Arc.types.js.map +1 -1
- package/lib/components/DonutChart/Arc/useArcStyles.styles.js +9 -2
- package/lib/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
- package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js +6 -1
- package/lib/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +1 -1
- package/lib/components/DonutChart/DonutChart.js +61 -25
- package/lib/components/DonutChart/DonutChart.js.map +1 -1
- package/lib/components/DonutChart/DonutChart.types.js.map +1 -1
- package/lib/components/DonutChart/Pie/Pie.js +1 -0
- package/lib/components/DonutChart/Pie/Pie.js.map +1 -1
- package/lib/components/DonutChart/Pie/Pie.types.js.map +1 -1
- package/lib/components/DonutChart/Pie/usePieStyles.styles.js +2 -0
- package/lib/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -1
- package/lib/components/DonutChart/Pie/usePieStyles.styles.raw.js +1 -0
- package/lib/components/DonutChart/Pie/usePieStyles.styles.raw.js.map +1 -1
- package/lib/components/DonutChart/useDonutChartStyles.styles.js +23 -4
- package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
- package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js +9 -4
- package/lib/components/DonutChart/useDonutChartStyles.styles.raw.js.map +1 -1
- package/lib/components/FunnelChart/FunnelChart.js +11 -5
- package/lib/components/FunnelChart/FunnelChart.js.map +1 -1
- package/lib/components/FunnelChart/funnelGeometry.js.map +1 -1
- package/lib/components/FunnelChart/useFunnelChartStyles.styles.js +2 -0
- package/lib/components/FunnelChart/useFunnelChartStyles.styles.js.map +1 -1
- package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js +1 -0
- package/lib/components/FunnelChart/useFunnelChartStyles.styles.raw.js.map +1 -1
- package/lib/components/GanttChart/GanttChart.js +1 -0
- package/lib/components/GanttChart/GanttChart.js.map +1 -1
- package/lib/components/GaugeChart/GaugeChart.js +2 -2
- package/lib/components/GaugeChart/GaugeChart.js.map +1 -1
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +2 -0
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js +1 -0
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.raw.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +15 -9
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +6 -17
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +5 -21
- package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -1
- package/lib/components/HeatMapChart/HeatMapChart.js +2 -1
- package/lib/components/HeatMapChart/HeatMapChart.js.map +1 -1
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +2 -0
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +1 -0
- package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +1 -1
- package/lib/components/HorizontalBarChart/HorizontalBarChart.js +3 -3
- package/lib/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +8 -2
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +5 -1
- package/lib/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +2 -2
- package/lib/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +2 -0
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +1 -0
- package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
- package/lib/components/Legends/Legends.js +1 -0
- package/lib/components/Legends/Legends.js.map +1 -1
- package/lib/components/Legends/OverflowMenu.js +1 -0
- package/lib/components/Legends/OverflowMenu.js.map +1 -1
- package/lib/components/Legends/shape.js +1 -0
- package/lib/components/Legends/shape.js.map +1 -1
- package/lib/components/Legends/useLegendsStyles.styles.js +2 -0
- package/lib/components/Legends/useLegendsStyles.styles.js.map +1 -1
- package/lib/components/Legends/useLegendsStyles.styles.raw.js +1 -0
- package/lib/components/Legends/useLegendsStyles.styles.raw.js.map +1 -1
- package/lib/components/LineChart/LineChart.js +284 -281
- package/lib/components/LineChart/LineChart.js.map +1 -1
- package/lib/components/LineChart/LineChart.types.js.map +1 -1
- package/lib/components/LineChart/eventAnnotation/LabelLink.js +1 -0
- package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
- package/lib/components/LineChart/eventAnnotation/Textbox.js +1 -0
- package/lib/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
- package/lib/components/LineChart/useLineChartStyles.styles.js +25 -10
- package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -1
- package/lib/components/LineChart/useLineChartStyles.styles.raw.js +5 -21
- package/lib/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -1
- package/lib/components/ResponsiveContainer/ResponsiveContainer.js +1 -0
- package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
- package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js +2 -0
- package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +1 -1
- package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js +1 -0
- package/lib/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js.map +1 -1
- package/lib/components/ResponsiveContainer/withResponsiveContainer.js +1 -0
- package/lib/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -1
- package/lib/components/SankeyChart/SankeyChart.js +1 -0
- package/lib/components/SankeyChart/SankeyChart.js.map +1 -1
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +14 -25
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js +3 -12
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +1 -1
- package/lib/components/ScatterChart/ScatterChart.js +121 -81
- package/lib/components/ScatterChart/ScatterChart.js.map +1 -1
- package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -1
- package/lib/components/ScatterChart/useScatterChartStyles.styles.js +13 -7
- package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
- package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js +5 -22
- package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -1
- package/lib/components/Sparkline/Sparkline.js +1 -0
- package/lib/components/Sparkline/Sparkline.js.map +1 -1
- package/lib/components/Sparkline/useSparklineStyles.styles.js +2 -0
- package/lib/components/Sparkline/useSparklineStyles.styles.js.map +1 -1
- package/lib/components/Sparkline/useSparklineStyles.styles.raw.js +1 -0
- package/lib/components/Sparkline/useSparklineStyles.styles.raw.js.map +1 -1
- package/lib/components/VerticalBarChart/VerticalBarChart.js +17 -12
- package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +10 -6
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +6 -19
- package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +30 -25
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +9 -6
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +5 -19
- package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -1
- package/lib/types/DataPoint.js +3 -1
- package/lib/types/DataPoint.js.map +1 -1
- package/lib/utilities/Common.styles.js +47 -0
- package/lib/utilities/Common.styles.js.map +1 -0
- package/lib/utilities/Common.styles.raw.js +47 -0
- package/lib/utilities/Common.styles.raw.js.map +1 -0
- package/lib/utilities/FocusableTooltipText.js +1 -0
- package/lib/utilities/FocusableTooltipText.js.map +1 -1
- package/lib/utilities/SVGTooltipText.js +1 -0
- package/lib/utilities/SVGTooltipText.js.map +1 -1
- package/lib/utilities/image-export-utils.js +1 -0
- package/lib/utilities/image-export-utils.js.map +1 -1
- package/lib/utilities/index.js +1 -0
- package/lib/utilities/index.js.map +1 -1
- package/lib/utilities/scatterpolar-utils.js +52 -0
- package/lib/utilities/scatterpolar-utils.js.map +1 -0
- package/lib/utilities/utilities.js +314 -146
- package/lib/utilities/utilities.js.map +1 -1
- package/lib/utilities/vbc-utils.js.map +1 -1
- package/lib-commonjs/components/AreaChart/AreaChart.js +7 -5
- package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -1
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +1 -0
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js +3 -14
- package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/ChartTable/ChartTable.js +95 -8
- package/lib-commonjs/components/ChartTable/ChartTable.js.map +1 -1
- package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.js +4 -3
- package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.js.map +1 -1
- package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.raw.js +3 -2
- package/lib-commonjs/components/ChartTable/useChartTableStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.js +45 -42
- package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/ChartPopover.js +14 -5
- package/lib-commonjs/components/CommonComponents/ChartPopover.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +16 -13
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js +5 -32
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js +4 -3
- package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.raw.js +3 -2
- package/lib-commonjs/components/CommonComponents/useChartPopoverStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +60 -20
- package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
- package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js +22 -0
- package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
- package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +1109 -338
- package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
- package/lib-commonjs/components/DeclarativeChart/imageExporter.js +1 -0
- package/lib-commonjs/components/DeclarativeChart/imageExporter.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Arc/Arc.js +8 -8
- package/lib-commonjs/components/DonutChart/Arc/Arc.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Arc/Arc.types.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js +11 -1
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.raw.js +6 -1
- package/lib-commonjs/components/DonutChart/Arc/useArcStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/DonutChart/DonutChart.js +61 -25
- package/lib-commonjs/components/DonutChart/DonutChart.js.map +1 -1
- package/lib-commonjs/components/DonutChart/DonutChart.types.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Pie/Pie.js +2 -1
- package/lib-commonjs/components/DonutChart/Pie/Pie.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Pie/Pie.types.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js +1 -0
- package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.raw.js +1 -0
- package/lib-commonjs/components/DonutChart/Pie/usePieStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js +33 -4
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.raw.js +9 -4
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/FunnelChart/FunnelChart.js +11 -5
- package/lib-commonjs/components/FunnelChart/FunnelChart.js.map +1 -1
- package/lib-commonjs/components/FunnelChart/funnelGeometry.js.map +1 -1
- package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.js +1 -0
- package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.raw.js +1 -0
- package/lib-commonjs/components/FunnelChart/useFunnelChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/GanttChart/GanttChart.js +1 -0
- package/lib-commonjs/components/GanttChart/GanttChart.js.map +1 -1
- package/lib-commonjs/components/GaugeChart/GaugeChart.js +2 -2
- package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -1
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +1 -0
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.raw.js +1 -0
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +15 -9
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +3 -19
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +4 -20
- package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.js +2 -1
- package/lib-commonjs/components/HeatMapChart/HeatMapChart.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js +1 -0
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +1 -0
- package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js +3 -3
- package/lib-commonjs/components/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js +10 -2
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js +5 -1
- package/lib-commonjs/components/HorizontalBarChart/useHorizontalBarChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js +2 -2
- package/lib-commonjs/components/HorizontalBarChartWithAxis/HorizontalBarChartWithAxis.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +1 -0
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +1 -0
- package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/Legends/Legends.js +1 -0
- package/lib-commonjs/components/Legends/Legends.js.map +1 -1
- package/lib-commonjs/components/Legends/OverflowMenu.js +1 -0
- package/lib-commonjs/components/Legends/OverflowMenu.js.map +1 -1
- package/lib-commonjs/components/Legends/shape.js +1 -0
- package/lib-commonjs/components/Legends/shape.js.map +1 -1
- package/lib-commonjs/components/Legends/useLegendsStyles.styles.js +1 -0
- package/lib-commonjs/components/Legends/useLegendsStyles.styles.js.map +1 -1
- package/lib-commonjs/components/Legends/useLegendsStyles.styles.raw.js +1 -0
- package/lib-commonjs/components/Legends/useLegendsStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/LineChart/LineChart.js +282 -279
- package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
- package/lib-commonjs/components/LineChart/LineChart.types.js.map +1 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js +1 -0
- package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js +1 -0
- package/lib-commonjs/components/LineChart/eventAnnotation/Textbox.js.map +1 -1
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +31 -9
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js +3 -20
- package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js +1 -0
- package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
- package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.js +1 -0
- package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.js.map +1 -1
- package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js +1 -0
- package/lib-commonjs/components/ResponsiveContainer/useResponsiveChildStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.js +2 -1
- package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/SankeyChart.js +1 -0
- package/lib-commonjs/components/SankeyChart/SankeyChart.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js +24 -33
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.raw.js +2 -12
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/ScatterChart/ScatterChart.js +118 -78
- package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -1
- package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -1
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +14 -7
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js +3 -20
- package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/Sparkline/Sparkline.js +1 -0
- package/lib-commonjs/components/Sparkline/Sparkline.js.map +1 -1
- package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js +1 -0
- package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js.map +1 -1
- package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.raw.js +1 -0
- package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +16 -11
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +6 -3
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +4 -17
- package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +29 -24
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +6 -3
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +4 -18
- package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/types/DataPoint.js +3 -1
- package/lib-commonjs/types/DataPoint.js.map +1 -1
- package/lib-commonjs/utilities/Common.styles.js +71 -0
- package/lib-commonjs/utilities/Common.styles.js.map +1 -0
- package/lib-commonjs/utilities/Common.styles.raw.js +71 -0
- package/lib-commonjs/utilities/Common.styles.raw.js.map +1 -0
- package/lib-commonjs/utilities/FocusableTooltipText.js +2 -1
- package/lib-commonjs/utilities/FocusableTooltipText.js.map +1 -1
- package/lib-commonjs/utilities/SVGTooltipText.js +1 -0
- package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -1
- package/lib-commonjs/utilities/image-export-utils.js +1 -0
- package/lib-commonjs/utilities/image-export-utils.js.map +1 -1
- package/lib-commonjs/utilities/index.js +1 -0
- package/lib-commonjs/utilities/index.js.map +1 -1
- package/lib-commonjs/utilities/scatterpolar-utils.js +67 -0
- package/lib-commonjs/utilities/scatterpolar-utils.js.map +1 -0
- package/lib-commonjs/utilities/utilities.js +327 -137
- package/lib-commonjs/utilities/utilities.js.map +1 -1
- package/lib-commonjs/utilities/vbc-utils.js.map +1 -1
- package/package.json +10 -10
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
"use strict";
|
|
2
3
|
Object.defineProperty(exports, "__esModule", {
|
|
3
4
|
value: true
|
|
@@ -15,6 +16,9 @@ _export(exports, {
|
|
|
15
16
|
CustomPoints: function() {
|
|
16
17
|
return CustomPoints;
|
|
17
18
|
},
|
|
19
|
+
DEFAULT_DATE_STRING: function() {
|
|
20
|
+
return DEFAULT_DATE_STRING;
|
|
21
|
+
},
|
|
18
22
|
DEFAULT_WRAP_WIDTH: function() {
|
|
19
23
|
return DEFAULT_WRAP_WIDTH;
|
|
20
24
|
},
|
|
@@ -48,6 +52,9 @@ _export(exports, {
|
|
|
48
52
|
calculateLongestLabelWidth: function() {
|
|
49
53
|
return calculateLongestLabelWidth;
|
|
50
54
|
},
|
|
55
|
+
calculatePrecision: function() {
|
|
56
|
+
return calculatePrecision;
|
|
57
|
+
},
|
|
51
58
|
calloutData: function() {
|
|
52
59
|
return calloutData;
|
|
53
60
|
},
|
|
@@ -90,21 +97,15 @@ _export(exports, {
|
|
|
90
97
|
defaultYAxisTickFormatter: function() {
|
|
91
98
|
return defaultYAxisTickFormatter;
|
|
92
99
|
},
|
|
93
|
-
|
|
94
|
-
return
|
|
95
|
-
},
|
|
96
|
-
domainRangeOfDateForScatterChart: function() {
|
|
97
|
-
return domainRangeOfDateForScatterChart;
|
|
100
|
+
domainRangeOfDateForAreaLineScatterVerticalBarCharts: function() {
|
|
101
|
+
return domainRangeOfDateForAreaLineScatterVerticalBarCharts;
|
|
98
102
|
},
|
|
99
|
-
|
|
100
|
-
return
|
|
103
|
+
domainRangeOfNumericForAreaLineScatterCharts: function() {
|
|
104
|
+
return domainRangeOfNumericForAreaLineScatterCharts;
|
|
101
105
|
},
|
|
102
106
|
domainRangeOfNumericForHorizontalBarChartWithAxis: function() {
|
|
103
107
|
return domainRangeOfNumericForHorizontalBarChartWithAxis;
|
|
104
108
|
},
|
|
105
|
-
domainRangeOfNumericForScatterChart: function() {
|
|
106
|
-
return domainRangeOfNumericForScatterChart;
|
|
107
|
-
},
|
|
108
109
|
domainRangeOfVSBCNumeric: function() {
|
|
109
110
|
return domainRangeOfVSBCNumeric;
|
|
110
111
|
},
|
|
@@ -138,6 +139,12 @@ _export(exports, {
|
|
|
138
139
|
formatScientificLimitWidth: function() {
|
|
139
140
|
return formatScientificLimitWidth;
|
|
140
141
|
},
|
|
142
|
+
generateLinearTicks: function() {
|
|
143
|
+
return generateLinearTicks;
|
|
144
|
+
},
|
|
145
|
+
generateMonthlyTicks: function() {
|
|
146
|
+
return generateMonthlyTicks;
|
|
147
|
+
},
|
|
141
148
|
getAccessibleDataObject: function() {
|
|
142
149
|
return getAccessibleDataObject;
|
|
143
150
|
},
|
|
@@ -150,9 +157,18 @@ _export(exports, {
|
|
|
150
157
|
getDateFormatLevel: function() {
|
|
151
158
|
return getDateFormatLevel;
|
|
152
159
|
},
|
|
160
|
+
getDomainPaddingForMarkers: function() {
|
|
161
|
+
return getDomainPaddingForMarkers;
|
|
162
|
+
},
|
|
163
|
+
getRangeForScatterMarkerSize: function() {
|
|
164
|
+
return getRangeForScatterMarkerSize;
|
|
165
|
+
},
|
|
153
166
|
getScalePadding: function() {
|
|
154
167
|
return getScalePadding;
|
|
155
168
|
},
|
|
169
|
+
getScatterXDomainExtent: function() {
|
|
170
|
+
return getScatterXDomainExtent;
|
|
171
|
+
},
|
|
156
172
|
getSecureProps: function() {
|
|
157
173
|
return getSecureProps;
|
|
158
174
|
},
|
|
@@ -168,12 +184,27 @@ _export(exports, {
|
|
|
168
184
|
groupChartDataByYValue: function() {
|
|
169
185
|
return groupChartDataByYValue;
|
|
170
186
|
},
|
|
187
|
+
isPlottable: function() {
|
|
188
|
+
return isPlottable;
|
|
189
|
+
},
|
|
171
190
|
isScalePaddingDefined: function() {
|
|
172
191
|
return isScalePaddingDefined;
|
|
173
192
|
},
|
|
193
|
+
isScatterPolarSeries: function() {
|
|
194
|
+
return isScatterPolarSeries;
|
|
195
|
+
},
|
|
196
|
+
isTextMode: function() {
|
|
197
|
+
return isTextMode;
|
|
198
|
+
},
|
|
199
|
+
isValidDomainValue: function() {
|
|
200
|
+
return isValidDomainValue;
|
|
201
|
+
},
|
|
174
202
|
pointTypes: function() {
|
|
175
203
|
return pointTypes;
|
|
176
204
|
},
|
|
205
|
+
precisionRound: function() {
|
|
206
|
+
return precisionRound;
|
|
207
|
+
},
|
|
177
208
|
prepareDatapoints: function() {
|
|
178
209
|
return prepareDatapoints;
|
|
179
210
|
},
|
|
@@ -217,6 +248,7 @@ const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
|
|
|
217
248
|
const _chartutilities = require("@fluentui/chart-utilities");
|
|
218
249
|
const MIN_DOMAIN_MARGIN = 8;
|
|
219
250
|
const MIN_DONUT_RADIUS = 1;
|
|
251
|
+
const DEFAULT_DATE_STRING = '2000-01-01';
|
|
220
252
|
var ChartTypes = /*#__PURE__*/ function(ChartTypes) {
|
|
221
253
|
ChartTypes[ChartTypes["AreaChart"] = 0] = "AreaChart";
|
|
222
254
|
ChartTypes[ChartTypes["LineChart"] = 1] = "LineChart";
|
|
@@ -261,9 +293,9 @@ function yAxisTickFormatterInternal(value, limitWidth = false) {
|
|
|
261
293
|
function defaultYAxisTickFormatter(value) {
|
|
262
294
|
return yAxisTickFormatterInternal(value);
|
|
263
295
|
}
|
|
264
|
-
function createNumericXAxis(xAxisParams, tickParams, chartType, culture) {
|
|
265
|
-
const { domainNRangeValues, showRoundOffXTickValues = false, xAxistickSize = 6, tickPadding = 10, xAxisCount, xAxisElement, hideTickOverlap, calcMaxLabelWidth } = xAxisParams;
|
|
266
|
-
const xAxisScale = (
|
|
296
|
+
function createNumericXAxis(xAxisParams, tickParams, chartType, culture, scaleType, _useRtl) {
|
|
297
|
+
const { domainNRangeValues, showRoundOffXTickValues = false, xAxistickSize = 6, tickPadding = 10, xAxisCount, xAxisElement, hideTickOverlap, calcMaxLabelWidth, tickStep, tick0 } = xAxisParams;
|
|
298
|
+
const xAxisScale = createNumericScale(scaleType).domain([
|
|
267
299
|
domainNRangeValues.dStartValue,
|
|
268
300
|
domainNRangeValues.dEndValue
|
|
269
301
|
]).range([
|
|
@@ -272,33 +304,38 @@ function createNumericXAxis(xAxisParams, tickParams, chartType, culture) {
|
|
|
272
304
|
]);
|
|
273
305
|
showRoundOffXTickValues && xAxisScale.nice();
|
|
274
306
|
let tickCount = xAxisCount !== null && xAxisCount !== void 0 ? xAxisCount : 6;
|
|
275
|
-
const tickFormat = (domainValue, _index)=>{
|
|
307
|
+
const tickFormat = (domainValue, _index, defaultFormat)=>{
|
|
276
308
|
if (tickParams.tickFormat) {
|
|
277
309
|
return (0, _d3format.format)(tickParams.tickFormat)(domainValue);
|
|
278
310
|
}
|
|
279
311
|
const xAxisValue = typeof domainValue === 'number' ? domainValue : domainValue.valueOf();
|
|
280
|
-
return (0, _chartutilities.formatToLocaleString)(xAxisValue, culture);
|
|
312
|
+
return (defaultFormat === null || defaultFormat === void 0 ? void 0 : defaultFormat(xAxisValue)) === '' ? '' : (0, _chartutilities.formatToLocaleString)(xAxisValue, culture);
|
|
281
313
|
};
|
|
282
314
|
if (hideTickOverlap && typeof xAxisCount === 'undefined') {
|
|
283
|
-
const longestLabelWidth = calcMaxLabelWidth(xAxisScale.ticks().map(tickFormat)) + 20;
|
|
315
|
+
const longestLabelWidth = calcMaxLabelWidth(xAxisScale.ticks().map((v, i)=>tickFormat(v, i))) + 20;
|
|
284
316
|
const [start, end] = xAxisScale.range();
|
|
285
317
|
tickCount = Math.min(Math.max(1, Math.floor(Math.abs(end - start) / longestLabelWidth)), 10);
|
|
286
318
|
}
|
|
287
|
-
const xAxis = (0, _d3axis.axisBottom)(xAxisScale).tickSize(xAxistickSize).tickPadding(tickPadding).ticks(tickCount).tickFormat(tickFormat);
|
|
319
|
+
const xAxis = (0, _d3axis.axisBottom)(xAxisScale).tickSize(xAxistickSize).tickPadding(tickPadding).ticks(tickCount).tickFormat((v, i)=>tickFormat(v, i, xAxisScale.tickFormat(tickCount)));
|
|
288
320
|
if ([
|
|
289
321
|
6,
|
|
290
322
|
8
|
|
291
323
|
].includes(chartType)) {
|
|
292
324
|
xAxis.tickSizeInner(-(xAxisParams.containerHeight - xAxisParams.margins.top));
|
|
293
325
|
}
|
|
326
|
+
let customTickValues;
|
|
294
327
|
if (tickParams.tickValues) {
|
|
295
|
-
|
|
328
|
+
customTickValues = tickParams.tickValues;
|
|
329
|
+
} else if (tickStep) {
|
|
330
|
+
customTickValues = generateNumericTicks(scaleType, tickStep, tick0, xAxisScale.domain());
|
|
331
|
+
}
|
|
332
|
+
if (customTickValues) {
|
|
333
|
+
xAxis.tickValues(customTickValues);
|
|
296
334
|
}
|
|
297
335
|
if (xAxisElement) {
|
|
298
|
-
(0, _d3selection.select)(xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');
|
|
336
|
+
(0, _d3selection.select)(xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true').style('direction', 'ltr').style('unicode-bidi', 'isolate');
|
|
299
337
|
}
|
|
300
|
-
|
|
301
|
-
const tickValues = ((_tickParams_tickValues = tickParams.tickValues) !== null && _tickParams_tickValues !== void 0 ? _tickParams_tickValues : xAxisScale.ticks(tickCount)).map(xAxis.tickFormat());
|
|
338
|
+
const tickValues = (customTickValues !== null && customTickValues !== void 0 ? customTickValues : xAxisScale.ticks(tickCount)).map(xAxis.tickFormat());
|
|
302
339
|
return {
|
|
303
340
|
xScale: xAxisScale,
|
|
304
341
|
tickValues
|
|
@@ -489,7 +526,7 @@ function getDateFormatLevel(date, useUTC) {
|
|
|
489
526
|
return (_matchedFormat_formatLevel = matchedFormat === null || matchedFormat === void 0 ? void 0 : matchedFormat.formatLevel) !== null && _matchedFormat_formatLevel !== void 0 ? _matchedFormat_formatLevel : 7;
|
|
490
527
|
}
|
|
491
528
|
function createDateXAxis(xAxisParams, tickParams, culture, options, timeFormatLocale, customDateTimeFormatter, useUTC, chartType) {
|
|
492
|
-
const { domainNRangeValues, xAxisElement, tickPadding = 6, xAxistickSize = 6, xAxisCount, calcMaxLabelWidth } = xAxisParams;
|
|
529
|
+
const { domainNRangeValues, xAxisElement, tickPadding = 6, xAxistickSize = 6, xAxisCount, calcMaxLabelWidth, tickStep, tick0 } = xAxisParams;
|
|
493
530
|
const isUtcSet = useUTC === true || useUTC === 'utc';
|
|
494
531
|
const xAxisScale = isUtcSet ? (0, _d3scale.scaleUtc)() : (0, _d3scale.scaleTime)();
|
|
495
532
|
xAxisScale.domain([
|
|
@@ -540,18 +577,25 @@ function createDateXAxis(xAxisParams, tickParams, culture, options, timeFormatLo
|
|
|
540
577
|
].includes(chartType)) {
|
|
541
578
|
xAxis.tickSizeInner(-(xAxisParams.containerHeight - xAxisParams.margins.top));
|
|
542
579
|
}
|
|
543
|
-
|
|
580
|
+
let customTickValues;
|
|
581
|
+
if (tickParams.tickValues) {
|
|
582
|
+
customTickValues = tickParams.tickValues;
|
|
583
|
+
} else if (tickStep) {
|
|
584
|
+
customTickValues = generateDateTicks(tickStep, tick0, xAxisScale.domain(), useUTC);
|
|
585
|
+
}
|
|
586
|
+
if (customTickValues) {
|
|
587
|
+
xAxis.tickValues(customTickValues);
|
|
588
|
+
}
|
|
544
589
|
if (xAxisElement) {
|
|
545
590
|
(0, _d3selection.select)(xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');
|
|
546
591
|
}
|
|
547
|
-
|
|
548
|
-
const tickValues = ((_tickParams_tickValues = tickParams.tickValues) !== null && _tickParams_tickValues !== void 0 ? _tickParams_tickValues : xAxisScale.ticks(tickCount)).map(xAxis.tickFormat());
|
|
592
|
+
const tickValues = (customTickValues !== null && customTickValues !== void 0 ? customTickValues : xAxisScale.ticks(tickCount)).map(xAxis.tickFormat());
|
|
549
593
|
return {
|
|
550
594
|
xScale: xAxisScale,
|
|
551
595
|
tickValues
|
|
552
596
|
};
|
|
553
597
|
}
|
|
554
|
-
function createStringXAxis(xAxisParams, tickParams, dataset, culture) {
|
|
598
|
+
function createStringXAxis(xAxisParams, tickParams, dataset, culture, _useRtl) {
|
|
555
599
|
const { domainNRangeValues, xAxistickSize = 6, tickPadding = 10, xAxisPadding = 0.1, xAxisInnerPadding, xAxisOuterPadding, containerWidth, hideTickOverlap, calcMaxLabelWidth } = xAxisParams;
|
|
556
600
|
const xAxisScale = (0, _d3scale.scaleBand)().domain(dataset).range([
|
|
557
601
|
domainNRangeValues.rStartValue,
|
|
@@ -590,7 +634,7 @@ function createStringXAxis(xAxisParams, tickParams, dataset, culture) {
|
|
|
590
634
|
}
|
|
591
635
|
const xAxis = (0, _d3axis.axisBottom)(xAxisScale).tickSize(xAxistickSize).tickPadding(tickPadding).tickValues(tickValues).tickFormat(tickFormat);
|
|
592
636
|
if (xAxisParams.xAxisElement) {
|
|
593
|
-
(0, _d3selection.select)(xAxisParams.xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true');
|
|
637
|
+
(0, _d3selection.select)(xAxisParams.xAxisElement).call(xAxis).selectAll('text').attr('aria-hidden', 'true').style('direction', 'ltr').style('unicode-bidi', 'isolate');
|
|
594
638
|
}
|
|
595
639
|
return {
|
|
596
640
|
xScale: xAxisScale,
|
|
@@ -661,7 +705,7 @@ function createYAxisForHorizontalBarChartWithAxis(yAxisParams, isRtl) {
|
|
|
661
705
|
const { yMinMaxValues = {
|
|
662
706
|
startValue: 0,
|
|
663
707
|
endValue: 0
|
|
664
|
-
}, yAxisElement = null, yMaxValue = 0, yMinValue = 0, containerHeight, margins, tickPadding = 12, maxOfYVal = 0, yAxisTickFormat, yAxisTickCount = 4 } = yAxisParams;
|
|
708
|
+
}, yAxisElement = null, yMaxValue = 0, yMinValue = 0, containerHeight, margins, tickPadding = 12, maxOfYVal = 0, yAxisTickFormat, yAxisTickCount = 4, tickValues, tickStep, tick0 } = yAxisParams;
|
|
665
709
|
// maxOfYVal coming from horizontal bar chart with axis (Calculation done at base file)
|
|
666
710
|
const tempVal = maxOfYVal || yMinMaxValues.endValue;
|
|
667
711
|
const finalYmax = tempVal > yMaxValue ? tempVal : yMaxValue;
|
|
@@ -676,14 +720,23 @@ function createYAxisForHorizontalBarChartWithAxis(yAxisParams, isRtl) {
|
|
|
676
720
|
const axis = isRtl ? (0, _d3axis.axisRight)(yAxisScale) : (0, _d3axis.axisLeft)(yAxisScale);
|
|
677
721
|
const yAxis = axis.tickPadding(tickPadding).ticks(yAxisTickCount);
|
|
678
722
|
yAxisTickFormat ? yAxis.tickFormat(yAxisTickFormat) : yAxis.tickFormat(defaultYAxisTickFormatter);
|
|
723
|
+
let customTickValues;
|
|
724
|
+
if (tickValues) {
|
|
725
|
+
customTickValues = tickValues;
|
|
726
|
+
} else if (tickStep) {
|
|
727
|
+
customTickValues = generateNumericTicks(undefined, tickStep, tick0, yAxisScale.domain());
|
|
728
|
+
}
|
|
729
|
+
if (customTickValues) {
|
|
730
|
+
yAxis.tickValues(customTickValues);
|
|
731
|
+
}
|
|
679
732
|
yAxisElement ? (0, _d3selection.select)(yAxisElement).call(yAxis).selectAll('text').attr('aria-hidden', 'true') : '';
|
|
680
733
|
return yAxisScale;
|
|
681
734
|
}
|
|
682
|
-
function createNumericYAxis(yAxisParams, isRtl, axisData, isIntegralDataset, chartType, useSecondaryYScale = false, roundedTicks = false) {
|
|
735
|
+
function createNumericYAxis(yAxisParams, isRtl, axisData, isIntegralDataset, chartType, useSecondaryYScale = false, roundedTicks = false, scaleType, _useRtl) {
|
|
683
736
|
const { yMinMaxValues = {
|
|
684
737
|
startValue: 0,
|
|
685
738
|
endValue: 0
|
|
686
|
-
}, yAxisElement = null, yMaxValue = 0, yMinValue = 0, containerHeight, containerWidth, margins, tickPadding = 12, maxOfYVal = 0, yAxisTickFormat, yAxisTickCount = 4, eventAnnotationProps, eventLabelHeight } = yAxisParams;
|
|
739
|
+
}, yAxisElement = null, yMaxValue = 0, yMinValue = 0, containerHeight, containerWidth, margins, tickPadding = 12, maxOfYVal = 0, yAxisTickFormat, yAxisTickCount = 4, eventAnnotationProps, eventLabelHeight, tickValues, tickStep, tick0 } = yAxisParams;
|
|
687
740
|
// maxOfYVal coming from only area chart and Grouped vertical bar chart(Calculation done at base file)
|
|
688
741
|
const tempVal = maxOfYVal || yMinMaxValues.endValue || 0;
|
|
689
742
|
const finalYmax = tempVal > yMaxValue ? tempVal : yMaxValue;
|
|
@@ -696,18 +749,53 @@ function createNumericYAxis(yAxisParams, isRtl, axisData, isIntegralDataset, cha
|
|
|
696
749
|
yMin = yMin - yPadding;
|
|
697
750
|
yMax = yMax + yPadding;
|
|
698
751
|
}
|
|
699
|
-
|
|
752
|
+
let scaleDomain = [
|
|
700
753
|
domainValues[0],
|
|
701
|
-
|
|
702
|
-
]
|
|
754
|
+
domainValues[domainValues.length - 1]
|
|
755
|
+
];
|
|
756
|
+
if (scaleType === 'log') {
|
|
757
|
+
let domainStart = yMinMaxValues.startValue;
|
|
758
|
+
let domainEnd = yMinMaxValues.endValue;
|
|
759
|
+
if (yMinValue > 0) {
|
|
760
|
+
domainStart = Math.min(domainStart, yMinValue);
|
|
761
|
+
}
|
|
762
|
+
if (yMaxValue > 0) {
|
|
763
|
+
domainEnd = Math.max(domainEnd, yMaxValue);
|
|
764
|
+
}
|
|
765
|
+
scaleDomain = [
|
|
766
|
+
domainStart,
|
|
767
|
+
domainEnd
|
|
768
|
+
];
|
|
769
|
+
}
|
|
770
|
+
const yAxisScale = createNumericScale(scaleType).domain(scaleDomain).range([
|
|
703
771
|
containerHeight - margins.bottom,
|
|
704
772
|
margins.top + (eventAnnotationProps ? eventLabelHeight : 0)
|
|
705
773
|
]);
|
|
706
774
|
const axis = !isRtl && useSecondaryYScale || isRtl && !useSecondaryYScale ? (0, _d3axis.axisRight)(yAxisScale) : (0, _d3axis.axisLeft)(yAxisScale);
|
|
707
|
-
const yAxis = axis.tickPadding(tickPadding).
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
775
|
+
const yAxis = axis.tickPadding(tickPadding).tickSizeInner(-(containerWidth - margins.left - margins.right));
|
|
776
|
+
let customTickValues;
|
|
777
|
+
if (tickValues) {
|
|
778
|
+
customTickValues = tickValues;
|
|
779
|
+
} else if (tickStep) {
|
|
780
|
+
customTickValues = generateNumericTicks(scaleType, tickStep, tick0, yAxisScale.domain());
|
|
781
|
+
}
|
|
782
|
+
if (customTickValues) {
|
|
783
|
+
yAxis.tickValues(customTickValues);
|
|
784
|
+
axisData.yAxisDomainValues = customTickValues;
|
|
785
|
+
} else {
|
|
786
|
+
if (scaleType === 'log') {
|
|
787
|
+
axisData.yAxisDomainValues = yAxisScale.ticks();
|
|
788
|
+
} else {
|
|
789
|
+
yAxis.tickValues(domainValues);
|
|
790
|
+
axisData.yAxisDomainValues = domainValues;
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
const tickFormat = (domainValue, index, defaultFormat)=>{
|
|
794
|
+
const value = typeof domainValue === 'number' ? domainValue : domainValue.valueOf();
|
|
795
|
+
return (defaultFormat === null || defaultFormat === void 0 ? void 0 : defaultFormat(value)) === '' ? '' : defaultYAxisTickFormatter(value);
|
|
796
|
+
};
|
|
797
|
+
yAxisTickFormat ? yAxis.tickFormat(yAxisTickFormat) : yAxis.tickFormat((v, i)=>tickFormat(v, i, yAxisScale.tickFormat(yAxisTickCount)));
|
|
798
|
+
yAxisElement ? (0, _d3selection.select)(yAxisElement).call(yAxis).selectAll('text').attr('aria-hidden', 'true').style('direction', 'ltr').style('unicode-bidi', 'isolate').style('text-anchor', !useSecondaryYScale && (_useRtl ? 'start' : 'end')) : '';
|
|
711
799
|
return yAxisScale;
|
|
712
800
|
}
|
|
713
801
|
const createStringYAxisForHorizontalBarChartWithAxis = (yAxisParams, dataPoints, isRtl, barWidth)=>{
|
|
@@ -937,7 +1025,7 @@ function tooltipOfAxislabels(axistooltipProps) {
|
|
|
937
1025
|
return null;
|
|
938
1026
|
}
|
|
939
1027
|
const div = (0, _d3selection.select)('body').append('div').attr('id', id).attr('class', tooltipCls).style('opacity', 0);
|
|
940
|
-
const aa = axis.selectAll('
|
|
1028
|
+
const aa = axis.selectAll('[id^="BaseSpan-"]')._groups[0];
|
|
941
1029
|
const baseSpanLength = aa && Object.keys(aa).length;
|
|
942
1030
|
const originalDataArray = [];
|
|
943
1031
|
for(let i = 0; i < baseSpanLength; i++){
|
|
@@ -969,51 +1057,24 @@ function getXAxisType(points) {
|
|
|
969
1057
|
}
|
|
970
1058
|
return isXAxisDateType;
|
|
971
1059
|
}
|
|
972
|
-
function
|
|
973
|
-
const
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
});
|
|
981
|
-
const rStartValue = margins.left;
|
|
982
|
-
const rEndValue = width - margins.right;
|
|
983
|
-
return isRTL ? {
|
|
984
|
-
dStartValue: xMax,
|
|
985
|
-
dEndValue: xMin,
|
|
986
|
-
rStartValue,
|
|
987
|
-
rEndValue
|
|
988
|
-
} : {
|
|
989
|
-
dStartValue: xMin,
|
|
990
|
-
dEndValue: xMax,
|
|
991
|
-
rStartValue,
|
|
992
|
-
rEndValue
|
|
993
|
-
};
|
|
994
|
-
}
|
|
995
|
-
function domainRangeOfNumericForScatterChart(points, margins, width, isRTL) {
|
|
996
|
-
let xMin = (0, _d3array.min)(points, (point)=>{
|
|
997
|
-
return (0, _d3array.min)(point.data, (item)=>item.x);
|
|
998
|
-
});
|
|
999
|
-
let xMax = (0, _d3array.max)(points, (point)=>{
|
|
1000
|
-
return (0, _d3array.max)(point.data, (item)=>{
|
|
1001
|
-
return item.x;
|
|
1002
|
-
});
|
|
1003
|
-
});
|
|
1004
|
-
const xPadding = (xMax - xMin) * 0.1;
|
|
1005
|
-
xMin = xMin - xPadding;
|
|
1006
|
-
xMax = xMax + xPadding;
|
|
1060
|
+
function domainRangeOfNumericForAreaLineScatterCharts(points, margins, width, isRTL, scaleType, hasMarkersMode) {
|
|
1061
|
+
const isScatterPolar = isScatterPolarSeries(points);
|
|
1062
|
+
let [xMin, xMax] = getScatterXDomainExtent(points, scaleType);
|
|
1063
|
+
if (hasMarkersMode) {
|
|
1064
|
+
const xPadding = getDomainPaddingForMarkers(xMin, xMax, scaleType);
|
|
1065
|
+
xMin = xMin - xPadding.start;
|
|
1066
|
+
xMax = xMax + xPadding.end;
|
|
1067
|
+
}
|
|
1007
1068
|
const rStartValue = margins.left;
|
|
1008
1069
|
const rEndValue = width - margins.right;
|
|
1009
1070
|
return isRTL ? {
|
|
1010
|
-
dStartValue: xMax,
|
|
1011
|
-
dEndValue: xMin,
|
|
1071
|
+
dStartValue: isScatterPolar ? 1 : xMax,
|
|
1072
|
+
dEndValue: isScatterPolar ? -1 : xMin,
|
|
1012
1073
|
rStartValue,
|
|
1013
1074
|
rEndValue
|
|
1014
1075
|
} : {
|
|
1015
|
-
dStartValue: xMin,
|
|
1016
|
-
dEndValue: xMax,
|
|
1076
|
+
dStartValue: isScatterPolar ? -1 : xMin,
|
|
1077
|
+
dEndValue: isScatterPolar ? 1 : xMax,
|
|
1017
1078
|
rStartValue,
|
|
1018
1079
|
rEndValue
|
|
1019
1080
|
};
|
|
@@ -1093,22 +1154,15 @@ function domainRangeOfVSBCNumeric(points, margins, width, isRTL, barWidth) {
|
|
|
1093
1154
|
rEndValue: rMin
|
|
1094
1155
|
};
|
|
1095
1156
|
}
|
|
1096
|
-
function
|
|
1157
|
+
function domainRangeOfDateForAreaLineScatterVerticalBarCharts(points, margins, width, isRTL, tickValues = [], chartType, barWidth, hasMarkersMode) {
|
|
1097
1158
|
let sDate;
|
|
1098
1159
|
let lDate;
|
|
1099
|
-
if (
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
});
|
|
1106
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1107
|
-
lDate = (0, _d3array.max)(points, (point)=>{
|
|
1108
|
-
return (0, _d3array.max)(point.data, (item)=>{
|
|
1109
|
-
return item.x;
|
|
1110
|
-
});
|
|
1111
|
-
});
|
|
1160
|
+
if ([
|
|
1161
|
+
0,
|
|
1162
|
+
1,
|
|
1163
|
+
7
|
|
1164
|
+
].includes(chartType)) {
|
|
1165
|
+
[sDate, lDate] = getScatterXDomainExtent(points);
|
|
1112
1166
|
// Need to draw graph with given small and large date
|
|
1113
1167
|
// (Which Involves customization of date axis tick values)
|
|
1114
1168
|
// That may be Either from given graph data or from prop 'tickValues' date values.
|
|
@@ -1121,6 +1175,11 @@ function domainRangeOfDateForAreaLineVerticalBarChart(points, margins, width, is
|
|
|
1121
1175
|
...tickValues,
|
|
1122
1176
|
lDate
|
|
1123
1177
|
]);
|
|
1178
|
+
if (hasMarkersMode || chartType === 7) {
|
|
1179
|
+
const xPadding = getDomainPaddingForMarkers(sDate.getTime(), lDate.getTime());
|
|
1180
|
+
sDate = new Date(sDate.getTime() - xPadding.start);
|
|
1181
|
+
lDate = new Date(lDate.getTime() + xPadding.end);
|
|
1182
|
+
}
|
|
1124
1183
|
} else {
|
|
1125
1184
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1126
1185
|
sDate = (0, _d3array.min)(points, (point)=>point.x);
|
|
@@ -1141,50 +1200,6 @@ function domainRangeOfDateForAreaLineVerticalBarChart(points, margins, width, is
|
|
|
1141
1200
|
rEndValue
|
|
1142
1201
|
};
|
|
1143
1202
|
}
|
|
1144
|
-
function domainRangeOfDateForScatterChart(points, margins, width, isRTL, tickValues = []) {
|
|
1145
|
-
let sDate;
|
|
1146
|
-
let lDate;
|
|
1147
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1148
|
-
sDate = (0, _d3array.min)(points, (point)=>{
|
|
1149
|
-
return (0, _d3array.min)(point.data, (item)=>{
|
|
1150
|
-
return item.x;
|
|
1151
|
-
});
|
|
1152
|
-
});
|
|
1153
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1154
|
-
lDate = (0, _d3array.max)(points, (point)=>{
|
|
1155
|
-
return (0, _d3array.max)(point.data, (item)=>{
|
|
1156
|
-
return item.x;
|
|
1157
|
-
});
|
|
1158
|
-
});
|
|
1159
|
-
const xPadding = (lDate.getTime() - sDate.getTime()) * 0.1;
|
|
1160
|
-
sDate = new Date(sDate.getTime() - xPadding);
|
|
1161
|
-
lDate = new Date(lDate.getTime() + xPadding);
|
|
1162
|
-
// Need to draw graph with given small and large date
|
|
1163
|
-
// (Which Involves customization of date axis tick values)
|
|
1164
|
-
// That may be Either from given graph data or from prop 'tickValues' date values.
|
|
1165
|
-
// So, Finding smallest and largest dates
|
|
1166
|
-
sDate = (0, _d3array.min)([
|
|
1167
|
-
...tickValues,
|
|
1168
|
-
sDate
|
|
1169
|
-
]);
|
|
1170
|
-
lDate = (0, _d3array.max)([
|
|
1171
|
-
...tickValues,
|
|
1172
|
-
lDate
|
|
1173
|
-
]);
|
|
1174
|
-
const rStartValue = margins.left;
|
|
1175
|
-
const rEndValue = width - margins.right;
|
|
1176
|
-
return isRTL ? {
|
|
1177
|
-
dStartValue: lDate,
|
|
1178
|
-
dEndValue: sDate,
|
|
1179
|
-
rStartValue,
|
|
1180
|
-
rEndValue
|
|
1181
|
-
} : {
|
|
1182
|
-
dStartValue: sDate,
|
|
1183
|
-
dEndValue: lDate,
|
|
1184
|
-
rStartValue,
|
|
1185
|
-
rEndValue
|
|
1186
|
-
};
|
|
1187
|
-
}
|
|
1188
1203
|
function domainRangeOfVerticalNumeric(points, margins, containerWidth, isRTL, barWidth) {
|
|
1189
1204
|
const xMax = (0, _d3array.max)(points, (point)=>point.x);
|
|
1190
1205
|
const xMin = (0, _d3array.min)(points, (point)=>point.x);
|
|
@@ -1202,12 +1217,14 @@ function domainRangeOfVerticalNumeric(points, margins, containerWidth, isRTL, ba
|
|
|
1202
1217
|
rEndValue: rMax
|
|
1203
1218
|
};
|
|
1204
1219
|
}
|
|
1205
|
-
function findNumericMinMaxOfY(points, yAxisType, useSecondaryYScale) {
|
|
1220
|
+
function findNumericMinMaxOfY(points, yAxisType, useSecondaryYScale, scaleType) {
|
|
1206
1221
|
const values = [];
|
|
1207
1222
|
points.forEach((point)=>{
|
|
1208
1223
|
if (!useSecondaryYScale === !point.useSecondaryYScale) {
|
|
1209
1224
|
point.data.forEach((data)=>{
|
|
1210
|
-
|
|
1225
|
+
if (isValidDomainValue(data.y, scaleType)) {
|
|
1226
|
+
values.push(data.y);
|
|
1227
|
+
}
|
|
1211
1228
|
});
|
|
1212
1229
|
}
|
|
1213
1230
|
});
|
|
@@ -1585,3 +1602,176 @@ const createMeasurementSpan = (text, className, parentElement)=>{
|
|
|
1585
1602
|
measurementSpan.textContent = `${text}`;
|
|
1586
1603
|
return measurementSpan;
|
|
1587
1604
|
};
|
|
1605
|
+
function isScatterPolarSeries(points) {
|
|
1606
|
+
return points.some((item)=>{
|
|
1607
|
+
var _item_lineOptions;
|
|
1608
|
+
return typeof ((_item_lineOptions = item.lineOptions) === null || _item_lineOptions === void 0 ? void 0 : _item_lineOptions.mode) === 'string' && item.lineOptions.mode === 'scatterpolar';
|
|
1609
|
+
});
|
|
1610
|
+
}
|
|
1611
|
+
function isTextMode(points) {
|
|
1612
|
+
return points.some((item)=>{
|
|
1613
|
+
var _item_lineOptions;
|
|
1614
|
+
return typeof ((_item_lineOptions = item.lineOptions) === null || _item_lineOptions === void 0 ? void 0 : _item_lineOptions.mode) === 'string' && item.lineOptions.mode === 'text';
|
|
1615
|
+
});
|
|
1616
|
+
}
|
|
1617
|
+
// TODO: Refactor to encapsulate the complete numeric scale creation logic here, including setting domain and range.
|
|
1618
|
+
const createNumericScale = (scaleType)=>{
|
|
1619
|
+
if (scaleType === 'log') {
|
|
1620
|
+
return (0, _d3scale.scaleLog)();
|
|
1621
|
+
} else {
|
|
1622
|
+
return (0, _d3scale.scaleLinear)();
|
|
1623
|
+
}
|
|
1624
|
+
};
|
|
1625
|
+
const getDomainPaddingForMarkers = (minVal, maxVal, scaleType)=>{
|
|
1626
|
+
if (scaleType === 'log') {
|
|
1627
|
+
return {
|
|
1628
|
+
start: minVal * 0.5,
|
|
1629
|
+
end: maxVal
|
|
1630
|
+
};
|
|
1631
|
+
}
|
|
1632
|
+
const defaultPadding = (maxVal - minVal) * 0.1;
|
|
1633
|
+
return {
|
|
1634
|
+
start: defaultPadding,
|
|
1635
|
+
end: defaultPadding
|
|
1636
|
+
};
|
|
1637
|
+
};
|
|
1638
|
+
const isValidDomainValue = (value, scaleType)=>{
|
|
1639
|
+
return typeof value !== 'number' || scaleType !== 'log' || value > 0;
|
|
1640
|
+
};
|
|
1641
|
+
const isPlottable = (x, y)=>{
|
|
1642
|
+
return !(0, _chartutilities.isInvalidValue)(x) && !(0, _chartutilities.isInvalidValue)(y);
|
|
1643
|
+
};
|
|
1644
|
+
const getScatterXDomainExtent = (points, scaleType)=>{
|
|
1645
|
+
const isValidDataPointForScale = (item)=>isValidDomainValue(item.x, scaleType);
|
|
1646
|
+
const xMin = (0, _d3array.min)(points, (point)=>{
|
|
1647
|
+
return (0, _d3array.min)(point.data.filter(isValidDataPointForScale), (item)=>item.x);
|
|
1648
|
+
});
|
|
1649
|
+
const xMax = (0, _d3array.max)(points, (point)=>{
|
|
1650
|
+
return (0, _d3array.max)(point.data.filter(isValidDataPointForScale), (item)=>{
|
|
1651
|
+
return item.x;
|
|
1652
|
+
});
|
|
1653
|
+
});
|
|
1654
|
+
return [
|
|
1655
|
+
xMin,
|
|
1656
|
+
xMax
|
|
1657
|
+
];
|
|
1658
|
+
};
|
|
1659
|
+
const getRangeForScatterMarkerSize = ({ data, xScale, yScalePrimary, yScaleSecondary, useSecondaryYScale, xScaleType, yScaleType: primaryYScaleType, secondaryYScaleType })=>{
|
|
1660
|
+
// Note: This function is executed after the scale is created, so the actual padding can be
|
|
1661
|
+
// obtained by calculating the difference between the respective minimums or maximums of the
|
|
1662
|
+
// scale domain and the data. However, doing so often causes the marker size to scale up
|
|
1663
|
+
// unnecessarily when the scale uses a wider domain than required (due to the use of D3's nice
|
|
1664
|
+
// function or our own tick value calculations).
|
|
1665
|
+
// A better approach could be to treat the marker size as a fixed pixel value and adjust the
|
|
1666
|
+
// scale domain with sufficient padding to accommodate the maximum marker size—instead of doing
|
|
1667
|
+
// it the other way around (i.e., adjusting the scale domain first with padding and then scaling
|
|
1668
|
+
// the markers to fit inside the plot area).
|
|
1669
|
+
const [xMin, xMax] = getScatterXDomainExtent(data, xScaleType);
|
|
1670
|
+
const xPadding = getDomainPaddingForMarkers(+xMin, +xMax, xScaleType);
|
|
1671
|
+
const scaleXMin = xMin instanceof Date ? new Date(+xMin - xPadding.start) : xMin - xPadding.start;
|
|
1672
|
+
const scaleXMax = xMax instanceof Date ? new Date(+xMax + xPadding.end) : xMax + xPadding.end;
|
|
1673
|
+
const extraXPixels = Math.min(Math.abs(xScale(xMin) - xScale(scaleXMin)), Math.abs(xScale(scaleXMax) - xScale(xMax)));
|
|
1674
|
+
const yScaleType = useSecondaryYScale ? secondaryYScaleType : primaryYScaleType;
|
|
1675
|
+
const { startValue: yMin, endValue: yMax } = findNumericMinMaxOfY(data, undefined, useSecondaryYScale, yScaleType);
|
|
1676
|
+
const yPadding = getDomainPaddingForMarkers(yMin, yMax, yScaleType);
|
|
1677
|
+
const scaleYMin = yMin - yPadding.start;
|
|
1678
|
+
const scaleYMax = yMax + yPadding.end;
|
|
1679
|
+
const yScale = useSecondaryYScale ? yScaleSecondary : yScalePrimary;
|
|
1680
|
+
const extraYPixels = Math.min(Math.abs(yScale(scaleYMin) - yScale(yMin)), Math.abs(yScale(yMax) - yScale(scaleYMax)));
|
|
1681
|
+
return Math.min(extraXPixels, extraYPixels);
|
|
1682
|
+
};
|
|
1683
|
+
const generateLinearTicks = (tick0, tickStep, scaleDomain)=>{
|
|
1684
|
+
const domainMin = (0, _d3array.min)(scaleDomain);
|
|
1685
|
+
const domainMax = (0, _d3array.max)(scaleDomain);
|
|
1686
|
+
const precision = Math.max(calculatePrecision(tick0), calculatePrecision(tickStep));
|
|
1687
|
+
const start = Math.ceil(precisionRound((domainMin - tick0) / tickStep, precision));
|
|
1688
|
+
const end = Math.floor(precisionRound((domainMax - tick0) / tickStep, precision));
|
|
1689
|
+
const ticks = [];
|
|
1690
|
+
for(let i = start; i <= end; i++){
|
|
1691
|
+
ticks.push(precisionRound(tick0 + i * tickStep, precision));
|
|
1692
|
+
}
|
|
1693
|
+
return ticks;
|
|
1694
|
+
};
|
|
1695
|
+
const generateMonthlyTicks = (tick0, tickStepInMonths, scaleDomain, useUTC)=>{
|
|
1696
|
+
const domainMin = +(0, _d3array.min)(scaleDomain);
|
|
1697
|
+
const domainMax = +(0, _d3array.max)(scaleDomain);
|
|
1698
|
+
const getMonth = (d)=>useUTC ? d.getUTCMonth() : d.getMonth();
|
|
1699
|
+
const setMonth = (d, month)=>useUTC ? new Date(d.setUTCMonth(month)) : new Date(d.setMonth(month));
|
|
1700
|
+
// Find the earliest tick <= domainMin
|
|
1701
|
+
let start = 0;
|
|
1702
|
+
for(let firstTick = new Date(+tick0); +firstTick > domainMin;){
|
|
1703
|
+
firstTick = setMonth(firstTick, getMonth(firstTick) - tickStepInMonths);
|
|
1704
|
+
start -= tickStepInMonths;
|
|
1705
|
+
}
|
|
1706
|
+
const baseMonth = getMonth(tick0);
|
|
1707
|
+
const ticks = [];
|
|
1708
|
+
// Generate ticks forward until domainMax
|
|
1709
|
+
for(let i = start;; i += tickStepInMonths){
|
|
1710
|
+
let tickDate = setMonth(new Date(+tick0), baseMonth + i);
|
|
1711
|
+
// Handle month rollover (e.g., Jan 31 + 1 month → Mar 3 instead of Feb)
|
|
1712
|
+
if (getMonth(tickDate) !== ((baseMonth + i) % 12 + 12) % 12) {
|
|
1713
|
+
tickDate = useUTC ? new Date(tickDate.setUTCDate(0)) : new Date(tickDate.setDate(0));
|
|
1714
|
+
}
|
|
1715
|
+
if (+tickDate > domainMax) {
|
|
1716
|
+
break;
|
|
1717
|
+
}
|
|
1718
|
+
if (+tickDate >= domainMin) {
|
|
1719
|
+
ticks.push(tickDate);
|
|
1720
|
+
}
|
|
1721
|
+
}
|
|
1722
|
+
return ticks;
|
|
1723
|
+
};
|
|
1724
|
+
const generateNumericTicks = (scaleType, tickStep, tick0, scaleDomain)=>{
|
|
1725
|
+
const refTick = typeof tick0 === 'number' ? tick0 : 0;
|
|
1726
|
+
if (scaleType === 'log') {
|
|
1727
|
+
if (typeof tickStep === 'number' && tickStep > 0) {
|
|
1728
|
+
return generateLinearTicks(refTick, tickStep, scaleDomain.map((d)=>Math.log10(d))).map((t)=>Math.pow(10, t));
|
|
1729
|
+
}
|
|
1730
|
+
if (typeof tickStep === 'string') {
|
|
1731
|
+
const prefix = tickStep[0];
|
|
1732
|
+
const num = (0, _chartutilities.isNumber)(tickStep.slice(1)) ? Number(tickStep.slice(1)) : 0;
|
|
1733
|
+
if (prefix === 'L' && num > 0) {
|
|
1734
|
+
return generateLinearTicks(refTick, num, scaleDomain);
|
|
1735
|
+
}
|
|
1736
|
+
}
|
|
1737
|
+
return;
|
|
1738
|
+
}
|
|
1739
|
+
if (typeof tickStep === 'number' && tickStep > 0) {
|
|
1740
|
+
return generateLinearTicks(refTick, tickStep, scaleDomain);
|
|
1741
|
+
}
|
|
1742
|
+
};
|
|
1743
|
+
const generateDateTicks = (tickStep, tick0, scaleDomain, useUTC)=>{
|
|
1744
|
+
const refTick = tick0 instanceof Date ? tick0 : new Date(DEFAULT_DATE_STRING);
|
|
1745
|
+
if (typeof tickStep === 'number' && tickStep > 0) {
|
|
1746
|
+
return generateLinearTicks(+refTick, tickStep, scaleDomain.map((d)=>+d)).map((t)=>new Date(t));
|
|
1747
|
+
}
|
|
1748
|
+
if (typeof tickStep === 'string') {
|
|
1749
|
+
const prefix = tickStep[0];
|
|
1750
|
+
const num = (0, _chartutilities.isNumber)(tickStep.slice(1)) ? Number(tickStep.slice(1)) : 0;
|
|
1751
|
+
if (prefix === 'M' && num > 0 && num === Math.round(num)) {
|
|
1752
|
+
return generateMonthlyTicks(refTick, num, scaleDomain, useUTC);
|
|
1753
|
+
}
|
|
1754
|
+
}
|
|
1755
|
+
};
|
|
1756
|
+
function calculatePrecision(value) {
|
|
1757
|
+
/**
|
|
1758
|
+
* Group 1:
|
|
1759
|
+
* [1-9]([0]+$) matches trailing zeros
|
|
1760
|
+
* Group 2:
|
|
1761
|
+
* \.([0-9]*) matches all digits after a decimal point.
|
|
1762
|
+
*/ const groups = /[1-9]([0]+$)|\.([0-9]*)/.exec(String(value));
|
|
1763
|
+
if (!groups) {
|
|
1764
|
+
return 0;
|
|
1765
|
+
}
|
|
1766
|
+
if (groups[1]) {
|
|
1767
|
+
return -groups[1].length;
|
|
1768
|
+
}
|
|
1769
|
+
if (groups[2]) {
|
|
1770
|
+
return groups[2].length;
|
|
1771
|
+
}
|
|
1772
|
+
return 0;
|
|
1773
|
+
}
|
|
1774
|
+
function precisionRound(value, precision, base = 10) {
|
|
1775
|
+
const exp = Math.pow(base, precision);
|
|
1776
|
+
return Math.round(value * exp) / exp;
|
|
1777
|
+
}
|