@fluentui/react-charts 0.0.0-nightly-20250606-0405.1 → 0.0.0-nightly-20250610-0406.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -15
- package/lib/components/CommonComponents/CartesianChart.js +1 -1
- package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +18 -17
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +1 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
- package/lib/components/LineChart/LineChart.js +4 -4
- package/lib/components/LineChart/LineChart.js.map +1 -1
- package/lib/components/ScatterChart/ScatterChart.js +1 -1
- package/lib/components/ScatterChart/ScatterChart.js.map +1 -1
- package/lib/components/Sparkline/useSparklineStyles.styles.js +2 -12
- package/lib/components/Sparkline/useSparklineStyles.styles.js.map +1 -1
- package/lib/utilities/SVGTooltipText.js +5 -10
- package/lib/utilities/SVGTooltipText.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.js +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -1
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +18 -17
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
- package/lib-commonjs/components/LineChart/LineChart.js +4 -4
- package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
- package/lib-commonjs/components/ScatterChart/ScatterChart.js +1 -1
- package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -1
- package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js +3 -24
- package/lib-commonjs/components/Sparkline/useSparklineStyles.styles.js.map +1 -1
- package/lib-commonjs/utilities/SVGTooltipText.js +5 -10
- package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -1
- package/package.json +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,28 +1,44 @@
|
|
|
1
1
|
# Change Log - @fluentui/react-charts
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Tue, 10 Jun 2025 04:22:34 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
-
## [0.0.0-nightly-
|
|
7
|
+
## [0.0.0-nightly-20250610-0406.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-charts_v0.0.0-nightly-20250610-0406.1)
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charts_v9.0.
|
|
9
|
+
Tue, 10 Jun 2025 04:22:34 GMT
|
|
10
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charts_v9.0.6..@fluentui/react-charts_v0.0.0-nightly-20250610-0406.1)
|
|
11
11
|
|
|
12
12
|
### Changes
|
|
13
13
|
|
|
14
14
|
- Release nightly v9 ([commit](https://github.com/microsoft/fluentui/commit/not available) by fluentui-internal@service.microsoft.com)
|
|
15
|
-
- Bump @fluentui/react-button to v0.0.0-nightly-
|
|
16
|
-
- Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-
|
|
17
|
-
- Bump @fluentui/react-overflow to v0.0.0-nightly-
|
|
18
|
-
- Bump @fluentui/react-popover to v0.0.0-nightly-
|
|
19
|
-
- Bump @fluentui/react-shared-contexts to v0.0.0-nightly-
|
|
20
|
-
- Bump @fluentui/react-tabster to v0.0.0-nightly-
|
|
21
|
-
- Bump @fluentui/react-theme to v0.0.0-nightly-
|
|
22
|
-
- Bump @fluentui/react-tooltip to v0.0.0-nightly-
|
|
23
|
-
- Bump @fluentui/react-utilities to v0.0.0-nightly-
|
|
24
|
-
- Bump @fluentui/react-conformance to v0.0.0-nightly-
|
|
25
|
-
- Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-
|
|
15
|
+
- Bump @fluentui/react-button to v0.0.0-nightly-20250610-0406.1 ([commit](https://github.com/microsoft/fluentui/commit/a18ca95f71f3fcdd891b8a84b365cb938d37b111) by beachball)
|
|
16
|
+
- Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20250610-0406.1 ([commit](https://github.com/microsoft/fluentui/commit/a18ca95f71f3fcdd891b8a84b365cb938d37b111) by beachball)
|
|
17
|
+
- Bump @fluentui/react-overflow to v0.0.0-nightly-20250610-0406.1 ([commit](https://github.com/microsoft/fluentui/commit/a18ca95f71f3fcdd891b8a84b365cb938d37b111) by beachball)
|
|
18
|
+
- Bump @fluentui/react-popover to v0.0.0-nightly-20250610-0406.1 ([commit](https://github.com/microsoft/fluentui/commit/a18ca95f71f3fcdd891b8a84b365cb938d37b111) by beachball)
|
|
19
|
+
- Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20250610-0406.1 ([commit](https://github.com/microsoft/fluentui/commit/a18ca95f71f3fcdd891b8a84b365cb938d37b111) by beachball)
|
|
20
|
+
- Bump @fluentui/react-tabster to v0.0.0-nightly-20250610-0406.1 ([commit](https://github.com/microsoft/fluentui/commit/a18ca95f71f3fcdd891b8a84b365cb938d37b111) by beachball)
|
|
21
|
+
- Bump @fluentui/react-theme to v0.0.0-nightly-20250610-0406.1 ([commit](https://github.com/microsoft/fluentui/commit/a18ca95f71f3fcdd891b8a84b365cb938d37b111) by beachball)
|
|
22
|
+
- Bump @fluentui/react-tooltip to v0.0.0-nightly-20250610-0406.1 ([commit](https://github.com/microsoft/fluentui/commit/a18ca95f71f3fcdd891b8a84b365cb938d37b111) by beachball)
|
|
23
|
+
- Bump @fluentui/react-utilities to v0.0.0-nightly-20250610-0406.1 ([commit](https://github.com/microsoft/fluentui/commit/a18ca95f71f3fcdd891b8a84b365cb938d37b111) by beachball)
|
|
24
|
+
- Bump @fluentui/react-conformance to v0.0.0-nightly-20250610-0406.1 ([commit](https://github.com/microsoft/fluentui/commit/a18ca95f71f3fcdd891b8a84b365cb938d37b111) by beachball)
|
|
25
|
+
- Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20250610-0406.1 ([commit](https://github.com/microsoft/fluentui/commit/a18ca95f71f3fcdd891b8a84b365cb938d37b111) by beachball)
|
|
26
|
+
|
|
27
|
+
## [9.0.6](https://github.com/microsoft/fluentui/tree/@fluentui/react-charts_v9.0.6)
|
|
28
|
+
|
|
29
|
+
Fri, 06 Jun 2025 13:15:14 GMT
|
|
30
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-charts_v9.0.5..@fluentui/react-charts_v9.0.6)
|
|
31
|
+
|
|
32
|
+
### Patches
|
|
33
|
+
|
|
34
|
+
- feat(react-charts): Improve formatting and numeric and date labels ([PR #34562](https://github.com/microsoft/fluentui/pull/34562) by 98592573+AtishayMsft@users.noreply.github.com)
|
|
35
|
+
- Bump @fluentui/react-button to v9.4.8 ([PR #34572](https://github.com/microsoft/fluentui/pull/34572) by beachball)
|
|
36
|
+
- Bump @fluentui/react-jsx-runtime to v9.0.55 ([PR #34572](https://github.com/microsoft/fluentui/pull/34572) by beachball)
|
|
37
|
+
- Bump @fluentui/react-overflow to v9.3.8 ([PR #34572](https://github.com/microsoft/fluentui/pull/34572) by beachball)
|
|
38
|
+
- Bump @fluentui/react-popover to v9.10.8 ([PR #34572](https://github.com/microsoft/fluentui/pull/34572) by beachball)
|
|
39
|
+
- Bump @fluentui/react-tabster to v9.24.8 ([PR #34572](https://github.com/microsoft/fluentui/pull/34572) by beachball)
|
|
40
|
+
- Bump @fluentui/react-tooltip to v9.6.8 ([PR #34572](https://github.com/microsoft/fluentui/pull/34572) by beachball)
|
|
41
|
+
- Bump @fluentui/react-utilities to v9.20.0 ([PR #34572](https://github.com/microsoft/fluentui/pull/34572) by beachball)
|
|
26
42
|
|
|
27
43
|
## [9.0.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-charts_v9.0.5)
|
|
28
44
|
|
|
@@ -459,7 +459,7 @@ import { useFocusableGroup, useArrowNavigationGroup } from '@fluentui/react-tabs
|
|
|
459
459
|
content: props.yAxisTitle,
|
|
460
460
|
textProps: {
|
|
461
461
|
x: (yAxisTitleMaximumAllowedHeight - margins.bottom) / 2 + removalValueForTextTuncate,
|
|
462
|
-
y: _useRtl ? svgDimensions.width - margins.right / 2 + titleMargin : margins.left / 2
|
|
462
|
+
y: _useRtl ? svgDimensions.width - margins.right / 2 + titleMargin : margins.left / 2 - titleMargin,
|
|
463
463
|
textAnchor: 'middle',
|
|
464
464
|
transform: `translate(0,
|
|
465
465
|
${svgDimensions.height - margins.bottom - margins.top - titleMargin})rotate(-90)`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["CartesianChart.tsx"],"sourcesContent":["import * as React from 'react';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { ModifiedCartesianChartProps, HorizontalBarChartWithAxisDataPoint, HeatMapChartDataPoint } from '../../index';\nimport { useCartesianChartStyles } from './useCartesianChartStyles.styles';\nimport {\n createNumericXAxis,\n createStringXAxis,\n IAxisData,\n getDomainNRangeValues,\n createDateXAxis,\n createYAxis,\n createStringYAxis,\n IMargins,\n getMinMaxOfYAxis,\n XAxisTypes,\n YAxisType,\n createWrapOfXLabels,\n rotateXAxisLabels,\n calculateLongestLabelWidth,\n createYAxisLabels,\n ChartTypes,\n wrapContent,\n useRtl,\n} from '../../utilities/index';\nimport { SVGTooltipText } from '../../utilities/SVGTooltipText';\nimport { ChartPopover } from './ChartPopover';\nimport { useFocusableGroup, useArrowNavigationGroup } from '@fluentui/react-tabster';\n\n/**\n * Cartesian Chart component\n * {@docCategory CartesianChart}\n */\nexport const CartesianChart: React.FunctionComponent<ModifiedCartesianChartProps> = React.forwardRef<\n HTMLDivElement,\n ModifiedCartesianChartProps\n>((props, forwardedRef) => {\n const chartContainer = React.useRef<HTMLDivElement>();\n let legendContainer: HTMLDivElement;\n const minLegendContainerHeight: number = 40;\n const xAxisElement = React.useRef<SVGSVGElement>();\n const yAxisElement = React.useRef<SVGSVGElement>();\n const yAxisElementSecondary = React.useRef<SVGSVGElement>();\n let margins: IMargins;\n const idForGraph: string = 'chart_';\n let _reqID: number;\n const _useRtl: boolean = useRtl();\n let _tickValues: (string | number)[];\n const titleMargin: number = 8;\n const _isFirstRender = React.useRef<boolean>(true);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _xScale: any;\n let isIntegralDataset: boolean = true;\n\n const [containerWidth, setContainerWidth] = React.useState<number>(0);\n const [containerHeight, setContainerHeight] = React.useState<number>(0);\n const [isRemoveValCalculated, setIsRemoveValCalculated] = React.useState<boolean>(true);\n const [removalValueForTextTuncate, setRemovalValueForTextTuncate] = React.useState<number>(0);\n const [startFromX, setStartFromX] = React.useState<number>(0);\n const [prevProps, setPrevProps] = React.useState<ModifiedCartesianChartProps | null>(null);\n\n const chartTypesToCheck = [ChartTypes.HorizontalBarChartWithAxis, ChartTypes.HeatMapChart];\n /**\n * In RTL mode, Only graph will be rendered left/right. We need to provide left and right margins manually.\n * So that, in RTL, left margins becomes right margins and viceversa.\n * As graph needs to be drawn perfecty, these values consider as default values.\n * Same margins using for all other cartesian charts. Can be accessible through 'getMargins' call back method.\n */\n // eslint-disable-next-line prefer-const\n margins = {\n top: props.margins?.top ?? 20,\n bottom: props.margins?.bottom ?? 35,\n right: _useRtl ? props.margins?.left ?? 40 : props.margins?.right ?? props?.secondaryYScaleOptions ? 40 : 20,\n left: _useRtl ? (props.margins?.right ?? props?.secondaryYScaleOptions ? 40 : 20) : props.margins?.left ?? 40,\n };\n if (props.xAxisTitle !== undefined && props.xAxisTitle !== '') {\n margins.bottom! = props.margins?.bottom ?? 55;\n }\n if (props.yAxisTitle !== undefined && props.yAxisTitle !== '') {\n margins.left! = _useRtl\n ? props.margins?.right ?? props?.secondaryYAxistitle\n ? 80\n : 40\n : props.margins?.left ?? 60;\n margins.right! = _useRtl ? props.margins?.left ?? 60 : props.margins?.right ?? props?.secondaryYAxistitle ? 80 : 40;\n }\n\n const classes = useCartesianChartStyles(props);\n const focusAttributes = useFocusableGroup();\n const arrowAttributes = useArrowNavigationGroup({ axis: 'horizontal' });\n // ComponentdidMount and Componentwillunmount logic\n React.useEffect(() => {\n _fitParentContainer();\n if (props !== null) {\n setPrevProps(props);\n }\n if (chartTypesToCheck.includes(props.chartType) && props.showYAxisLables && yAxisElement) {\n const maxYAxisLabelLength = calculateMaxYAxisLabelLength(props.chartType, props.points, classes.yAxis!);\n if (startFromX !== maxYAxisLabelLength) {\n setStartFromX(maxYAxisLabelLength);\n }\n } else if (startFromX !== 0) {\n setStartFromX(0);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n isIntegralDataset = !props.points.some((point: { y: number }) => point.y % 1 !== 0);\n return () => {\n cancelAnimationFrame(_reqID);\n };\n }, [props]);\n\n // ComponentDidUpdate logic\n React.useEffect(() => {\n if (prevProps) {\n if (prevProps.height !== props.height || prevProps.width !== props.width) {\n _fitParentContainer();\n }\n }\n if (chartTypesToCheck.includes(props.chartType) && props.showYAxisLables && yAxisElement) {\n const maxYAxisLabelLength = calculateMaxYAxisLabelLength(props.chartType, props.points, classes.yAxis!);\n if (startFromX !== maxYAxisLabelLength) {\n setStartFromX(maxYAxisLabelLength);\n }\n } else if (startFromX !== 0) {\n setStartFromX(0);\n }\n if (prevProps !== null && prevProps.points !== props.points) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n isIntegralDataset = !props.points.some((point: { y: number }) => point.y % 1 !== 0);\n }\n }, [props, prevProps]);\n\n React.useEffect(() => {\n if (!props.wrapXAxisLables && props.rotateXAxisLables && props.xAxisType! === XAxisTypes.StringAxis) {\n const rotateLabelProps = {\n node: xAxisElement.current!,\n xAxis: _xScale,\n };\n const rotatedHeight = rotateXAxisLabels(rotateLabelProps);\n\n if (\n isRemoveValCalculated &&\n removalValueForTextTuncate !== rotatedHeight! + margins.bottom! &&\n rotatedHeight! > 0\n ) {\n setRemovalValueForTextTuncate(rotatedHeight! + margins.bottom!);\n setIsRemoveValCalculated(false);\n }\n }\n });\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n chartContainer: chartContainer.current ?? null,\n }),\n [],\n );\n\n /**\n * Dedicated function to return the Callout JSX Element , which can further be used to only call this when\n * only the calloutprops and charthover props changes.\n * @param calloutProps\n * @param chartHoverProps\n * @returns\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _generateCallout(calloutProps: any): JSX.Element {\n return <ChartPopover {...calloutProps} />;\n }\n\n function calculateMaxYAxisLabelLength(\n chartType: ChartTypes,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n points: any[],\n className: string,\n ): number {\n if (chartType === ChartTypes.HeatMapChart) {\n return calculateLongestLabelWidth(\n points[0]?.data?.map((point: HeatMapChartDataPoint) => point.y),\n `.${className} text`,\n );\n } else {\n return calculateLongestLabelWidth(\n points?.map((point: HorizontalBarChartWithAxisDataPoint) => point.y),\n `.${className} text`,\n );\n }\n }\n\n const {\n calloutProps,\n points,\n chartType,\n svgProps,\n culture,\n dateLocalizeOptions,\n timeFormatLocale,\n customDateTimeFormatter,\n } = props;\n if (props.parentRef) {\n _fitParentContainer();\n }\n const margin = { ...margins };\n if (chartTypesToCheck.includes(props.chartType)) {\n if (!_useRtl) {\n margin.left! += startFromX;\n } else {\n margin.right! += startFromX;\n }\n }\n // Callback for margins to the chart\n props.getmargins && props.getmargins(margin);\n\n let callout: JSX.Element | null = null;\n\n let children = null;\n if ((props.enableFirstRenderOptimization && chartContainer.current) || !props.enableFirstRenderOptimization) {\n _isFirstRender.current = false;\n const XAxisParams = {\n domainNRangeValues: getDomainNRangeValues(\n points,\n props.getDomainMargins ? props.getDomainMargins(containerWidth) : margins,\n containerWidth,\n chartType,\n _useRtl,\n props.xAxisType,\n props.barwidth!,\n props.tickValues!,\n // This is only used for Horizontal Bar Chart with Axis for y as string axis\n startFromX,\n ),\n containerHeight: containerHeight - removalValueForTextTuncate!,\n margins: margins,\n xAxisElement: xAxisElement.current!,\n showRoundOffXTickValues: true,\n xAxisCount: props.xAxisTickCount,\n xAxistickSize: props.xAxistickSize,\n tickPadding: props.tickPadding || props.showXAxisLablesTooltip ? 5 : 10,\n xAxisPadding: props.xAxisPadding,\n xAxisInnerPadding: props.xAxisInnerPadding,\n xAxisOuterPadding: props.xAxisOuterPadding,\n containerWidth: containerWidth,\n hideTickOverlap:\n props.hideTickOverlap && !props.rotateXAxisLables && !props.showXAxisLablesTooltip && !props.wrapXAxisLables,\n };\n\n const YAxisParams = {\n margins: margins,\n containerWidth: containerWidth,\n containerHeight: containerHeight - removalValueForTextTuncate!,\n yAxisElement: yAxisElement.current,\n yAxisTickFormat: props.yAxisTickFormat!,\n yAxisTickCount: props.yAxisTickCount!,\n yMinValue: props.yMinValue || 0,\n yMaxValue: props.yMaxValue || 0,\n tickPadding: 10,\n maxOfYVal: props.maxOfYVal,\n yMinMaxValues: getMinMaxOfYAxis(points, chartType, props.yAxisType),\n // please note these padding default values must be consistent in here\n // and the parent chart(HBWA/Vertical etc..) for more details refer example\n // http://using-d3js.com/04_07_ordinal_scales.html\n yAxisPadding: props.yAxisPadding || 0,\n };\n /**\n * These scales used for 2 purposes.\n * 1. To create x and y axis\n * 2. To draw the graph.\n * For area/line chart using same scales. For other charts, creating their own scales to draw the graph.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let xScale: any;\n let tickValues: (string | number)[];\n switch (props.xAxisType!) {\n case XAxisTypes.NumericAxis:\n ({ xScale, tickValues } = createNumericXAxis(XAxisParams, props.tickParams!, props.chartType, culture));\n break;\n case XAxisTypes.DateAxis:\n ({ xScale, tickValues } = createDateXAxis(\n XAxisParams,\n props.tickParams!,\n culture,\n dateLocalizeOptions,\n timeFormatLocale,\n customDateTimeFormatter,\n props.useUTC,\n ));\n break;\n case XAxisTypes.StringAxis:\n ({ xScale, tickValues } = createStringXAxis(\n XAxisParams,\n props.tickParams!,\n props.datasetForXAxisDomain!,\n culture,\n ));\n break;\n default:\n ({ xScale, tickValues } = createNumericXAxis(XAxisParams, props.tickParams!, props.chartType, culture));\n }\n _xScale = xScale;\n _tickValues = tickValues;\n\n /*\n * To enable wrapping of x axis tick values or to display complete x axis tick values,\n * we need to calculate how much space it needed to render the text.\n * No need to re-calculate every time the chart renders and same time need to get an update. So using set\n * Required space will be calculated first time chart rendering and if any width/height of chart updated.\n * */\n if (props.wrapXAxisLables || props.showXAxisLablesTooltip) {\n const wrapLabelProps = {\n node: xAxisElement.current!,\n xAxis: xScale,\n showXAxisLablesTooltip: props.showXAxisLablesTooltip || false,\n noOfCharsToTruncate: props.noOfCharsToTruncate || 4,\n };\n const temp = xScale && (createWrapOfXLabels(wrapLabelProps) as number);\n // this value need to be updated for draw graph updated. So instead of using private value, using set\n if (isRemoveValCalculated && removalValueForTextTuncate !== temp) {\n setRemovalValueForTextTuncate(temp);\n setIsRemoveValCalculated(false);\n }\n }\n /**\n * These scales used for 2 purposes.\n * 1. To create x and y axis\n * 2. To draw the graph.\n * For area/line chart using same scales. For other charts, creating their own scales to draw the graph.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let yScale: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let yScaleSecondary: any;\n const axisData: IAxisData = { yAxisDomainValues: [] };\n if (props.yAxisType && props.yAxisType === YAxisType.StringAxis) {\n yScale = createStringYAxis(\n YAxisParams,\n props.stringDatasetForYAxisDomain!,\n _useRtl,\n props.chartType,\n props.barwidth,\n culture,\n );\n } else {\n if (props?.secondaryYScaleOptions) {\n const YAxisParamsSecondary = {\n margins: margins,\n containerWidth: containerWidth,\n containerHeight: containerHeight - removalValueForTextTuncate!,\n yAxisElement: yAxisElementSecondary.current,\n yAxisTickFormat: props.yAxisTickFormat!,\n yAxisTickCount: props.yAxisTickCount!,\n yMinValue: props.secondaryYScaleOptions?.yMinValue || 0,\n yMaxValue: props.secondaryYScaleOptions?.yMaxValue ?? 100,\n tickPadding: 10,\n maxOfYVal: props.secondaryYScaleOptions?.yMaxValue ?? 100,\n yMinMaxValues: getMinMaxOfYAxis(points, chartType),\n yAxisPadding: props.yAxisPadding,\n };\n\n yScaleSecondary = createYAxis(\n YAxisParamsSecondary,\n _useRtl,\n axisData,\n chartType,\n props.barwidth!,\n isIntegralDataset,\n true,\n props.roundedTicks!,\n );\n }\n yScale = createYAxis(\n YAxisParams,\n _useRtl,\n axisData,\n chartType,\n props.barwidth!,\n isIntegralDataset,\n false,\n props.roundedTicks!,\n );\n }\n\n /*\n * To create y axis tick values by if specified\n truncating the rest of the text and showing elipsis\n or showing the whole string,\n * */\n chartTypesToCheck.includes(props.chartType) &&\n yScale &&\n createYAxisLabels(\n yAxisElement.current!,\n yScale,\n props.noOfCharsToTruncate || 4,\n props.showYAxisLablesTooltip || false,\n startFromX,\n _useRtl,\n );\n\n // Call back to the chart.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _getData = (xScale: any, yScale: any) => {\n props.getGraphData &&\n props.getGraphData(\n xScale,\n yScale,\n containerHeight - removalValueForTextTuncate!,\n containerWidth,\n xAxisElement.current,\n yAxisElement.current,\n );\n };\n\n props.getAxisData && props.getAxisData(axisData);\n // Callback function for chart, returns axis\n _getData(xScale, yScale);\n\n children = props.children({\n xScale,\n yScale,\n yScaleSecondary,\n containerHeight,\n containerWidth,\n });\n\n if (!props.hideTooltip && calloutProps!.isPopoverOpen) {\n callout = _generateCallout(calloutProps);\n }\n }\n const svgDimensions = {\n width: containerWidth,\n height: containerHeight,\n };\n\n const xAxisTitleMaximumAllowedWidth = svgDimensions.width - margins.left! - margins.right! - startFromX!;\n const yAxisTitleMaximumAllowedHeight =\n svgDimensions.height - margins.bottom! - margins.top! - removalValueForTextTuncate! - titleMargin;\n /**\n * When screen resizes, along with screen, chart also auto adjusted.\n * This method used to adjust height and width of the charts.\n */\n function _fitParentContainer(): void {\n //_reqID = requestAnimationFrame(() => {\n let legendContainerHeight;\n if (props.hideLegend) {\n // If there is no legend, need not to allocate some space from total chart space.\n legendContainerHeight = 0;\n } else {\n const legendContainerComputedStyles = legendContainer && getComputedStyle(legendContainer);\n legendContainerHeight =\n ((legendContainer && legendContainer.getBoundingClientRect().height) || minLegendContainerHeight) +\n parseFloat((legendContainerComputedStyles && legendContainerComputedStyles.marginTop) || '0') +\n parseFloat((legendContainerComputedStyles && legendContainerComputedStyles.marginBottom) || '0');\n }\n if (props.parentRef || chartContainer.current) {\n const container = props.parentRef ? props.parentRef : chartContainer.current!;\n const currentContainerWidth =\n props.reflowProps?.mode === 'min-width' && !_isFirstRender.current\n ? Math.max(container.getBoundingClientRect().width, _calculateChartMinWidth())\n : container.getBoundingClientRect().width;\n const currentContainerHeight =\n container.getBoundingClientRect().height > legendContainerHeight\n ? container.getBoundingClientRect().height\n : 350;\n const shouldResize =\n containerWidth !== currentContainerWidth || containerHeight !== currentContainerHeight - legendContainerHeight;\n if (shouldResize) {\n setContainerWidth(currentContainerWidth);\n setContainerHeight(currentContainerHeight - legendContainerHeight);\n }\n }\n //});\n }\n\n function _onChartLeave(): void {\n props.onChartMouseLeave && props.onChartMouseLeave();\n }\n\n function _calculateChartMinWidth(): number {\n let labelWidth = 10; // Total padding on the left and right sides of the label\n\n // Case: rotated labels\n if (!props.wrapXAxisLables && props.rotateXAxisLables && props.xAxisType! === XAxisTypes.StringAxis) {\n const longestLabelWidth = calculateLongestLabelWidth(_tickValues, `.${classes.xAxis} text`);\n labelWidth += Math.ceil(longestLabelWidth * Math.cos(Math.PI / 4));\n }\n // Case: truncated labels\n else if (props.showXAxisLablesTooltip) {\n const tickValues = _tickValues.map(val => {\n const numChars = props.noOfCharsToTruncate || 4;\n return val.toString().length > numChars ? `${val.toString().slice(0, numChars)}...` : val;\n });\n\n const longestLabelWidth = calculateLongestLabelWidth(tickValues, `.${classes.xAxis} text`);\n labelWidth += Math.ceil(longestLabelWidth);\n }\n // Case: wrapped labels\n else if (props.wrapXAxisLables) {\n const words: string[] = [];\n _tickValues.forEach((val: string) => {\n words.push(...val.toString().split(/\\s+/));\n });\n\n const longestLabelWidth = calculateLongestLabelWidth(words, `.${classes.xAxis} text`);\n labelWidth += Math.max(Math.ceil(longestLabelWidth), 10);\n }\n // Default case\n else {\n const longestLabelWidth = calculateLongestLabelWidth(_tickValues, `.${classes.xAxis} text`);\n labelWidth += Math.ceil(longestLabelWidth);\n }\n\n let minChartWidth = margins.left! + margins.right! + labelWidth * (_tickValues.length - 1);\n\n if (\n [ChartTypes.GroupedVerticalBarChart, ChartTypes.VerticalBarChart, ChartTypes.VerticalStackedBarChart].includes(\n props.chartType,\n )\n ) {\n const minDomainMargin = 8;\n minChartWidth += minDomainMargin * 2;\n }\n\n return minChartWidth;\n }\n\n /**\n * We have use the {@link defaultTabbableElement } to fix\n * the Focus not landing on chart while tabbing, instead goes to legend.\n * This issue is observed in Area, line chart after performance optimization done in the PR {@link https://github.com/microsoft/fluentui/pull/27721 }\n * This issue is observed in Bar charts after the changes done by FocusZone team in the PR: {@link https://github.com/microsoft/fluentui/pull/24175 }\n * The issue in Bar Charts(VB and VSB) is due to a {@link FocusZone } update where previously an event listener was\n * attached on keydown to the window, so that whenever the tab key is pressed all outer FocusZone's\n * tab-indexes are updated (an outer FocusZone is a FocusZone that is not within another one).\n * But now after the above PR : they are attaching the\n * listeners to the FocusZone elements instead of the window. So in the first render cycle in Bar charts\n * bars are not created as in the first render cycle the size of the chart container is not known( or is 0)\n * which creates bars of height 0 so instead we do not create any bars and instead return empty fragments.\n *\n * We have tried 2 Approaches to fix the issue:\n * 1. Using the {@link elementRef} property of FocusZone where we dispatch event for tab keydown\n * after the second render cycle which triggers an update of the tab index in FocusZone.\n * But this is a hacky solution and not a proper fix and also elementRef is deprecated.\n * 2. Using the default tabbable element to fix the issue.\n */\n\n return (\n <div\n id={idForGraph}\n className={classes.root}\n role={'presentation'}\n ref={(rootElem: HTMLDivElement) => (chartContainer.current = rootElem)}\n onMouseLeave={_onChartLeave}\n >\n <div className={classes.chartWrapper} {...focusAttributes} {...arrowAttributes}>\n {_isFirstRender.current}\n <svg\n width={svgDimensions.width}\n height={svgDimensions.height}\n aria-label={props.chartTitle}\n style={{ display: 'block' }}\n {...svgProps}\n >\n <g\n ref={(e: SVGSVGElement | null) => {\n xAxisElement.current = e!;\n }}\n id={`xAxisGElement${idForGraph}`}\n // To add wrap of x axis lables feature, need to remove word height from svg height.\n transform={`translate(0, ${svgDimensions.height - margins.bottom! - removalValueForTextTuncate!})`}\n className={classes.xAxis}\n />\n {props.xAxisTitle !== undefined && props.xAxisTitle !== '' && (\n <SVGTooltipText\n content={props.xAxisTitle}\n textProps={{\n x: margins.left! + startFromX + xAxisTitleMaximumAllowedWidth / 2,\n y: svgDimensions.height - titleMargin,\n className: classes.axisTitle!,\n textAnchor: 'middle',\n }}\n maxWidth={xAxisTitleMaximumAllowedWidth}\n wrapContent={wrapContent}\n showBackground={true}\n />\n )}\n <g\n ref={(e: SVGSVGElement | null) => {\n yAxisElement.current = e!;\n }}\n id={`yAxisGElement${idForGraph}`}\n transform={`translate(${\n _useRtl ? svgDimensions.width - margins.right! - startFromX : margins.left! + startFromX\n }, 0)`}\n className={classes.yAxis}\n />\n {props.secondaryYScaleOptions && (\n <g>\n <g\n ref={(e: SVGSVGElement | null) => {\n yAxisElementSecondary.current = e!;\n }}\n id={`yAxisGElementSecondary${idForGraph}`}\n transform={`translate(${\n _useRtl ? margins.left! + startFromX : svgDimensions.width - margins.right! - startFromX\n }, 0)`}\n className={classes.yAxis}\n />\n {props.secondaryYAxistitle !== undefined && props.secondaryYAxistitle !== '' && (\n <SVGTooltipText\n content={props.secondaryYAxistitle}\n textProps={{\n x: (yAxisTitleMaximumAllowedHeight - margins.bottom!) / 2 + removalValueForTextTuncate!,\n y: _useRtl ? startFromX - titleMargin : svgDimensions.width - margins.right!,\n textAnchor: 'middle',\n transform: `translate(${\n _useRtl ? margins.right! / 2 - titleMargin : margins.right! / 2 + titleMargin\n },\n ${svgDimensions.height - margins.bottom! - margins.top! - titleMargin})rotate(-90)`,\n className: classes.axisTitle!,\n }}\n maxWidth={yAxisTitleMaximumAllowedHeight}\n wrapContent={wrapContent}\n showBackground={true}\n />\n )}\n </g>\n )}\n {children}\n {props.yAxisTitle !== undefined && props.yAxisTitle !== '' && (\n <SVGTooltipText\n content={props.yAxisTitle}\n textProps={{\n x: (yAxisTitleMaximumAllowedHeight - margins.bottom!) / 2 + removalValueForTextTuncate!,\n y: _useRtl\n ? svgDimensions.width - margins.right! / 2 + titleMargin\n : margins.left! / 2 + startFromX - titleMargin,\n textAnchor: 'middle',\n transform: `translate(0,\n ${svgDimensions.height - margins.bottom! - margins.top! - titleMargin})rotate(-90)`,\n className: classes.axisTitle!,\n }}\n maxWidth={yAxisTitleMaximumAllowedHeight}\n wrapContent={wrapContent}\n showBackground={true}\n />\n )}\n </svg>\n </div>\n\n {!props.hideLegend && (\n <div ref={(e: HTMLDivElement) => (legendContainer = e)} className={classes.legendContainer}>\n {props.legendBars}\n </div>\n )}\n {/** The callout is used for narration, so keep it mounted on the DOM */}\n {callout && <React.Suspense fallback={<div>Loading...</div>}>{callout}</React.Suspense>}\n </div>\n );\n});\nCartesianChart.displayName = 'CartesianChart';\nCartesianChart.defaultProps = {\n hideTickOverlap: true,\n};\n"],"names":["React","useCartesianChartStyles","createNumericXAxis","createStringXAxis","getDomainNRangeValues","createDateXAxis","createYAxis","createStringYAxis","getMinMaxOfYAxis","XAxisTypes","YAxisType","createWrapOfXLabels","rotateXAxisLabels","calculateLongestLabelWidth","createYAxisLabels","ChartTypes","wrapContent","useRtl","SVGTooltipText","ChartPopover","useFocusableGroup","useArrowNavigationGroup","CartesianChart","forwardRef","props","forwardedRef","chartContainer","useRef","legendContainer","minLegendContainerHeight","xAxisElement","yAxisElement","yAxisElementSecondary","margins","idForGraph","_reqID","_useRtl","_tickValues","titleMargin","_isFirstRender","_xScale","isIntegralDataset","containerWidth","setContainerWidth","useState","containerHeight","setContainerHeight","isRemoveValCalculated","setIsRemoveValCalculated","removalValueForTextTuncate","setRemovalValueForTextTuncate","startFromX","setStartFromX","prevProps","setPrevProps","chartTypesToCheck","HorizontalBarChartWithAxis","HeatMapChart","top","bottom","right","left","secondaryYScaleOptions","xAxisTitle","undefined","yAxisTitle","secondaryYAxistitle","classes","focusAttributes","arrowAttributes","axis","useEffect","_fitParentContainer","includes","chartType","showYAxisLables","maxYAxisLabelLength","calculateMaxYAxisLabelLength","points","yAxis","some","point","y","cancelAnimationFrame","height","width","wrapXAxisLables","rotateXAxisLables","xAxisType","StringAxis","rotateLabelProps","node","current","xAxis","rotatedHeight","useImperativeHandle","componentRef","_generateCallout","calloutProps","className","data","map","svgProps","culture","dateLocalizeOptions","timeFormatLocale","customDateTimeFormatter","parentRef","margin","getmargins","callout","children","enableFirstRenderOptimization","XAxisParams","domainNRangeValues","getDomainMargins","barwidth","tickValues","showRoundOffXTickValues","xAxisCount","xAxisTickCount","xAxistickSize","tickPadding","showXAxisLablesTooltip","xAxisPadding","xAxisInnerPadding","xAxisOuterPadding","hideTickOverlap","YAxisParams","yAxisTickFormat","yAxisTickCount","yMinValue","yMaxValue","maxOfYVal","yMinMaxValues","yAxisType","yAxisPadding","xScale","NumericAxis","tickParams","DateAxis","useUTC","datasetForXAxisDomain","wrapLabelProps","noOfCharsToTruncate","temp","yScale","yScaleSecondary","axisData","yAxisDomainValues","stringDatasetForYAxisDomain","YAxisParamsSecondary","roundedTicks","showYAxisLablesTooltip","_getData","getGraphData","getAxisData","hideTooltip","isPopoverOpen","svgDimensions","xAxisTitleMaximumAllowedWidth","yAxisTitleMaximumAllowedHeight","legendContainerHeight","hideLegend","legendContainerComputedStyles","getComputedStyle","getBoundingClientRect","parseFloat","marginTop","marginBottom","container","currentContainerWidth","reflowProps","mode","Math","max","_calculateChartMinWidth","currentContainerHeight","shouldResize","_onChartLeave","onChartMouseLeave","labelWidth","longestLabelWidth","ceil","cos","PI","val","numChars","toString","length","slice","words","forEach","push","split","minChartWidth","GroupedVerticalBarChart","VerticalBarChart","VerticalStackedBarChart","minDomainMargin","div","id","root","role","ref","rootElem","onMouseLeave","chartWrapper","svg","aria-label","chartTitle","style","display","g","e","transform","content","textProps","x","axisTitle","textAnchor","maxWidth","showBackground","legendBars","Suspense","fallback","displayName","defaultProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["CartesianChart.tsx"],"sourcesContent":["import * as React from 'react';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { ModifiedCartesianChartProps, HorizontalBarChartWithAxisDataPoint, HeatMapChartDataPoint } from '../../index';\nimport { useCartesianChartStyles } from './useCartesianChartStyles.styles';\nimport {\n createNumericXAxis,\n createStringXAxis,\n IAxisData,\n getDomainNRangeValues,\n createDateXAxis,\n createYAxis,\n createStringYAxis,\n IMargins,\n getMinMaxOfYAxis,\n XAxisTypes,\n YAxisType,\n createWrapOfXLabels,\n rotateXAxisLabels,\n calculateLongestLabelWidth,\n createYAxisLabels,\n ChartTypes,\n wrapContent,\n useRtl,\n} from '../../utilities/index';\nimport { SVGTooltipText } from '../../utilities/SVGTooltipText';\nimport { ChartPopover } from './ChartPopover';\nimport { useFocusableGroup, useArrowNavigationGroup } from '@fluentui/react-tabster';\n\n/**\n * Cartesian Chart component\n * {@docCategory CartesianChart}\n */\nexport const CartesianChart: React.FunctionComponent<ModifiedCartesianChartProps> = React.forwardRef<\n HTMLDivElement,\n ModifiedCartesianChartProps\n>((props, forwardedRef) => {\n const chartContainer = React.useRef<HTMLDivElement>();\n let legendContainer: HTMLDivElement;\n const minLegendContainerHeight: number = 40;\n const xAxisElement = React.useRef<SVGSVGElement>();\n const yAxisElement = React.useRef<SVGSVGElement>();\n const yAxisElementSecondary = React.useRef<SVGSVGElement>();\n let margins: IMargins;\n const idForGraph: string = 'chart_';\n let _reqID: number;\n const _useRtl: boolean = useRtl();\n let _tickValues: (string | number)[];\n const titleMargin: number = 8;\n const _isFirstRender = React.useRef<boolean>(true);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _xScale: any;\n let isIntegralDataset: boolean = true;\n\n const [containerWidth, setContainerWidth] = React.useState<number>(0);\n const [containerHeight, setContainerHeight] = React.useState<number>(0);\n const [isRemoveValCalculated, setIsRemoveValCalculated] = React.useState<boolean>(true);\n const [removalValueForTextTuncate, setRemovalValueForTextTuncate] = React.useState<number>(0);\n const [startFromX, setStartFromX] = React.useState<number>(0);\n const [prevProps, setPrevProps] = React.useState<ModifiedCartesianChartProps | null>(null);\n\n const chartTypesToCheck = [ChartTypes.HorizontalBarChartWithAxis, ChartTypes.HeatMapChart];\n /**\n * In RTL mode, Only graph will be rendered left/right. We need to provide left and right margins manually.\n * So that, in RTL, left margins becomes right margins and viceversa.\n * As graph needs to be drawn perfecty, these values consider as default values.\n * Same margins using for all other cartesian charts. Can be accessible through 'getMargins' call back method.\n */\n // eslint-disable-next-line prefer-const\n margins = {\n top: props.margins?.top ?? 20,\n bottom: props.margins?.bottom ?? 35,\n right: _useRtl ? props.margins?.left ?? 40 : props.margins?.right ?? props?.secondaryYScaleOptions ? 40 : 20,\n left: _useRtl ? (props.margins?.right ?? props?.secondaryYScaleOptions ? 40 : 20) : props.margins?.left ?? 40,\n };\n if (props.xAxisTitle !== undefined && props.xAxisTitle !== '') {\n margins.bottom! = props.margins?.bottom ?? 55;\n }\n if (props.yAxisTitle !== undefined && props.yAxisTitle !== '') {\n margins.left! = _useRtl\n ? props.margins?.right ?? props?.secondaryYAxistitle\n ? 80\n : 40\n : props.margins?.left ?? 60;\n margins.right! = _useRtl ? props.margins?.left ?? 60 : props.margins?.right ?? props?.secondaryYAxistitle ? 80 : 40;\n }\n\n const classes = useCartesianChartStyles(props);\n const focusAttributes = useFocusableGroup();\n const arrowAttributes = useArrowNavigationGroup({ axis: 'horizontal' });\n // ComponentdidMount and Componentwillunmount logic\n React.useEffect(() => {\n _fitParentContainer();\n if (props !== null) {\n setPrevProps(props);\n }\n if (chartTypesToCheck.includes(props.chartType) && props.showYAxisLables && yAxisElement) {\n const maxYAxisLabelLength = calculateMaxYAxisLabelLength(props.chartType, props.points, classes.yAxis!);\n if (startFromX !== maxYAxisLabelLength) {\n setStartFromX(maxYAxisLabelLength);\n }\n } else if (startFromX !== 0) {\n setStartFromX(0);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n isIntegralDataset = !props.points.some((point: { y: number }) => point.y % 1 !== 0);\n return () => {\n cancelAnimationFrame(_reqID);\n };\n }, [props]);\n\n // ComponentDidUpdate logic\n React.useEffect(() => {\n if (prevProps) {\n if (prevProps.height !== props.height || prevProps.width !== props.width) {\n _fitParentContainer();\n }\n }\n if (chartTypesToCheck.includes(props.chartType) && props.showYAxisLables && yAxisElement) {\n const maxYAxisLabelLength = calculateMaxYAxisLabelLength(props.chartType, props.points, classes.yAxis!);\n if (startFromX !== maxYAxisLabelLength) {\n setStartFromX(maxYAxisLabelLength);\n }\n } else if (startFromX !== 0) {\n setStartFromX(0);\n }\n if (prevProps !== null && prevProps.points !== props.points) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n isIntegralDataset = !props.points.some((point: { y: number }) => point.y % 1 !== 0);\n }\n }, [props, prevProps]);\n\n React.useEffect(() => {\n if (!props.wrapXAxisLables && props.rotateXAxisLables && props.xAxisType! === XAxisTypes.StringAxis) {\n const rotateLabelProps = {\n node: xAxisElement.current!,\n xAxis: _xScale,\n };\n const rotatedHeight = rotateXAxisLabels(rotateLabelProps);\n\n if (\n isRemoveValCalculated &&\n removalValueForTextTuncate !== rotatedHeight! + margins.bottom! &&\n rotatedHeight! > 0\n ) {\n setRemovalValueForTextTuncate(rotatedHeight! + margins.bottom!);\n setIsRemoveValCalculated(false);\n }\n }\n });\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n chartContainer: chartContainer.current ?? null,\n }),\n [],\n );\n\n /**\n * Dedicated function to return the Callout JSX Element , which can further be used to only call this when\n * only the calloutprops and charthover props changes.\n * @param calloutProps\n * @param chartHoverProps\n * @returns\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _generateCallout(calloutProps: any): JSX.Element {\n return <ChartPopover {...calloutProps} />;\n }\n\n function calculateMaxYAxisLabelLength(\n chartType: ChartTypes,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n points: any[],\n className: string,\n ): number {\n if (chartType === ChartTypes.HeatMapChart) {\n return calculateLongestLabelWidth(\n points[0]?.data?.map((point: HeatMapChartDataPoint) => point.y),\n `.${className} text`,\n );\n } else {\n return calculateLongestLabelWidth(\n points?.map((point: HorizontalBarChartWithAxisDataPoint) => point.y),\n `.${className} text`,\n );\n }\n }\n\n const {\n calloutProps,\n points,\n chartType,\n svgProps,\n culture,\n dateLocalizeOptions,\n timeFormatLocale,\n customDateTimeFormatter,\n } = props;\n if (props.parentRef) {\n _fitParentContainer();\n }\n const margin = { ...margins };\n if (chartTypesToCheck.includes(props.chartType)) {\n if (!_useRtl) {\n margin.left! += startFromX;\n } else {\n margin.right! += startFromX;\n }\n }\n // Callback for margins to the chart\n props.getmargins && props.getmargins(margin);\n\n let callout: JSX.Element | null = null;\n\n let children = null;\n if ((props.enableFirstRenderOptimization && chartContainer.current) || !props.enableFirstRenderOptimization) {\n _isFirstRender.current = false;\n const XAxisParams = {\n domainNRangeValues: getDomainNRangeValues(\n points,\n props.getDomainMargins ? props.getDomainMargins(containerWidth) : margins,\n containerWidth,\n chartType,\n _useRtl,\n props.xAxisType,\n props.barwidth!,\n props.tickValues!,\n // This is only used for Horizontal Bar Chart with Axis for y as string axis\n startFromX,\n ),\n containerHeight: containerHeight - removalValueForTextTuncate!,\n margins: margins,\n xAxisElement: xAxisElement.current!,\n showRoundOffXTickValues: true,\n xAxisCount: props.xAxisTickCount,\n xAxistickSize: props.xAxistickSize,\n tickPadding: props.tickPadding || props.showXAxisLablesTooltip ? 5 : 10,\n xAxisPadding: props.xAxisPadding,\n xAxisInnerPadding: props.xAxisInnerPadding,\n xAxisOuterPadding: props.xAxisOuterPadding,\n containerWidth: containerWidth,\n hideTickOverlap:\n props.hideTickOverlap && !props.rotateXAxisLables && !props.showXAxisLablesTooltip && !props.wrapXAxisLables,\n };\n\n const YAxisParams = {\n margins: margins,\n containerWidth: containerWidth,\n containerHeight: containerHeight - removalValueForTextTuncate!,\n yAxisElement: yAxisElement.current,\n yAxisTickFormat: props.yAxisTickFormat!,\n yAxisTickCount: props.yAxisTickCount!,\n yMinValue: props.yMinValue || 0,\n yMaxValue: props.yMaxValue || 0,\n tickPadding: 10,\n maxOfYVal: props.maxOfYVal,\n yMinMaxValues: getMinMaxOfYAxis(points, chartType, props.yAxisType),\n // please note these padding default values must be consistent in here\n // and the parent chart(HBWA/Vertical etc..) for more details refer example\n // http://using-d3js.com/04_07_ordinal_scales.html\n yAxisPadding: props.yAxisPadding || 0,\n };\n /**\n * These scales used for 2 purposes.\n * 1. To create x and y axis\n * 2. To draw the graph.\n * For area/line chart using same scales. For other charts, creating their own scales to draw the graph.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let xScale: any;\n let tickValues: (string | number)[];\n switch (props.xAxisType!) {\n case XAxisTypes.NumericAxis:\n ({ xScale, tickValues } = createNumericXAxis(XAxisParams, props.tickParams!, props.chartType, culture));\n break;\n case XAxisTypes.DateAxis:\n ({ xScale, tickValues } = createDateXAxis(\n XAxisParams,\n props.tickParams!,\n culture,\n dateLocalizeOptions,\n timeFormatLocale,\n customDateTimeFormatter,\n props.useUTC,\n ));\n break;\n case XAxisTypes.StringAxis:\n ({ xScale, tickValues } = createStringXAxis(\n XAxisParams,\n props.tickParams!,\n props.datasetForXAxisDomain!,\n culture,\n ));\n break;\n default:\n ({ xScale, tickValues } = createNumericXAxis(XAxisParams, props.tickParams!, props.chartType, culture));\n }\n _xScale = xScale;\n _tickValues = tickValues;\n\n /*\n * To enable wrapping of x axis tick values or to display complete x axis tick values,\n * we need to calculate how much space it needed to render the text.\n * No need to re-calculate every time the chart renders and same time need to get an update. So using set\n * Required space will be calculated first time chart rendering and if any width/height of chart updated.\n * */\n if (props.wrapXAxisLables || props.showXAxisLablesTooltip) {\n const wrapLabelProps = {\n node: xAxisElement.current!,\n xAxis: xScale,\n showXAxisLablesTooltip: props.showXAxisLablesTooltip || false,\n noOfCharsToTruncate: props.noOfCharsToTruncate || 4,\n };\n const temp = xScale && (createWrapOfXLabels(wrapLabelProps) as number);\n // this value need to be updated for draw graph updated. So instead of using private value, using set\n if (isRemoveValCalculated && removalValueForTextTuncate !== temp) {\n setRemovalValueForTextTuncate(temp);\n setIsRemoveValCalculated(false);\n }\n }\n /**\n * These scales used for 2 purposes.\n * 1. To create x and y axis\n * 2. To draw the graph.\n * For area/line chart using same scales. For other charts, creating their own scales to draw the graph.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let yScale: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let yScaleSecondary: any;\n const axisData: IAxisData = { yAxisDomainValues: [] };\n if (props.yAxisType && props.yAxisType === YAxisType.StringAxis) {\n yScale = createStringYAxis(\n YAxisParams,\n props.stringDatasetForYAxisDomain!,\n _useRtl,\n props.chartType,\n props.barwidth,\n culture,\n );\n } else {\n if (props?.secondaryYScaleOptions) {\n const YAxisParamsSecondary = {\n margins: margins,\n containerWidth: containerWidth,\n containerHeight: containerHeight - removalValueForTextTuncate!,\n yAxisElement: yAxisElementSecondary.current,\n yAxisTickFormat: props.yAxisTickFormat!,\n yAxisTickCount: props.yAxisTickCount!,\n yMinValue: props.secondaryYScaleOptions?.yMinValue || 0,\n yMaxValue: props.secondaryYScaleOptions?.yMaxValue ?? 100,\n tickPadding: 10,\n maxOfYVal: props.secondaryYScaleOptions?.yMaxValue ?? 100,\n yMinMaxValues: getMinMaxOfYAxis(points, chartType),\n yAxisPadding: props.yAxisPadding,\n };\n\n yScaleSecondary = createYAxis(\n YAxisParamsSecondary,\n _useRtl,\n axisData,\n chartType,\n props.barwidth!,\n isIntegralDataset,\n true,\n props.roundedTicks!,\n );\n }\n yScale = createYAxis(\n YAxisParams,\n _useRtl,\n axisData,\n chartType,\n props.barwidth!,\n isIntegralDataset,\n false,\n props.roundedTicks!,\n );\n }\n\n /*\n * To create y axis tick values by if specified\n truncating the rest of the text and showing elipsis\n or showing the whole string,\n * */\n chartTypesToCheck.includes(props.chartType) &&\n yScale &&\n createYAxisLabels(\n yAxisElement.current!,\n yScale,\n props.noOfCharsToTruncate || 4,\n props.showYAxisLablesTooltip || false,\n startFromX,\n _useRtl,\n );\n\n // Call back to the chart.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _getData = (xScale: any, yScale: any) => {\n props.getGraphData &&\n props.getGraphData(\n xScale,\n yScale,\n containerHeight - removalValueForTextTuncate!,\n containerWidth,\n xAxisElement.current,\n yAxisElement.current,\n );\n };\n\n props.getAxisData && props.getAxisData(axisData);\n // Callback function for chart, returns axis\n _getData(xScale, yScale);\n\n children = props.children({\n xScale,\n yScale,\n yScaleSecondary,\n containerHeight,\n containerWidth,\n });\n\n if (!props.hideTooltip && calloutProps!.isPopoverOpen) {\n callout = _generateCallout(calloutProps);\n }\n }\n const svgDimensions = {\n width: containerWidth,\n height: containerHeight,\n };\n\n const xAxisTitleMaximumAllowedWidth = svgDimensions.width - margins.left! - margins.right! - startFromX!;\n const yAxisTitleMaximumAllowedHeight =\n svgDimensions.height - margins.bottom! - margins.top! - removalValueForTextTuncate! - titleMargin;\n /**\n * When screen resizes, along with screen, chart also auto adjusted.\n * This method used to adjust height and width of the charts.\n */\n function _fitParentContainer(): void {\n //_reqID = requestAnimationFrame(() => {\n let legendContainerHeight;\n if (props.hideLegend) {\n // If there is no legend, need not to allocate some space from total chart space.\n legendContainerHeight = 0;\n } else {\n const legendContainerComputedStyles = legendContainer && getComputedStyle(legendContainer);\n legendContainerHeight =\n ((legendContainer && legendContainer.getBoundingClientRect().height) || minLegendContainerHeight) +\n parseFloat((legendContainerComputedStyles && legendContainerComputedStyles.marginTop) || '0') +\n parseFloat((legendContainerComputedStyles && legendContainerComputedStyles.marginBottom) || '0');\n }\n if (props.parentRef || chartContainer.current) {\n const container = props.parentRef ? props.parentRef : chartContainer.current!;\n const currentContainerWidth =\n props.reflowProps?.mode === 'min-width' && !_isFirstRender.current\n ? Math.max(container.getBoundingClientRect().width, _calculateChartMinWidth())\n : container.getBoundingClientRect().width;\n const currentContainerHeight =\n container.getBoundingClientRect().height > legendContainerHeight\n ? container.getBoundingClientRect().height\n : 350;\n const shouldResize =\n containerWidth !== currentContainerWidth || containerHeight !== currentContainerHeight - legendContainerHeight;\n if (shouldResize) {\n setContainerWidth(currentContainerWidth);\n setContainerHeight(currentContainerHeight - legendContainerHeight);\n }\n }\n //});\n }\n\n function _onChartLeave(): void {\n props.onChartMouseLeave && props.onChartMouseLeave();\n }\n\n function _calculateChartMinWidth(): number {\n let labelWidth = 10; // Total padding on the left and right sides of the label\n\n // Case: rotated labels\n if (!props.wrapXAxisLables && props.rotateXAxisLables && props.xAxisType! === XAxisTypes.StringAxis) {\n const longestLabelWidth = calculateLongestLabelWidth(_tickValues, `.${classes.xAxis} text`);\n labelWidth += Math.ceil(longestLabelWidth * Math.cos(Math.PI / 4));\n }\n // Case: truncated labels\n else if (props.showXAxisLablesTooltip) {\n const tickValues = _tickValues.map(val => {\n const numChars = props.noOfCharsToTruncate || 4;\n return val.toString().length > numChars ? `${val.toString().slice(0, numChars)}...` : val;\n });\n\n const longestLabelWidth = calculateLongestLabelWidth(tickValues, `.${classes.xAxis} text`);\n labelWidth += Math.ceil(longestLabelWidth);\n }\n // Case: wrapped labels\n else if (props.wrapXAxisLables) {\n const words: string[] = [];\n _tickValues.forEach((val: string) => {\n words.push(...val.toString().split(/\\s+/));\n });\n\n const longestLabelWidth = calculateLongestLabelWidth(words, `.${classes.xAxis} text`);\n labelWidth += Math.max(Math.ceil(longestLabelWidth), 10);\n }\n // Default case\n else {\n const longestLabelWidth = calculateLongestLabelWidth(_tickValues, `.${classes.xAxis} text`);\n labelWidth += Math.ceil(longestLabelWidth);\n }\n\n let minChartWidth = margins.left! + margins.right! + labelWidth * (_tickValues.length - 1);\n\n if (\n [ChartTypes.GroupedVerticalBarChart, ChartTypes.VerticalBarChart, ChartTypes.VerticalStackedBarChart].includes(\n props.chartType,\n )\n ) {\n const minDomainMargin = 8;\n minChartWidth += minDomainMargin * 2;\n }\n\n return minChartWidth;\n }\n\n /**\n * We have use the {@link defaultTabbableElement } to fix\n * the Focus not landing on chart while tabbing, instead goes to legend.\n * This issue is observed in Area, line chart after performance optimization done in the PR {@link https://github.com/microsoft/fluentui/pull/27721 }\n * This issue is observed in Bar charts after the changes done by FocusZone team in the PR: {@link https://github.com/microsoft/fluentui/pull/24175 }\n * The issue in Bar Charts(VB and VSB) is due to a {@link FocusZone } update where previously an event listener was\n * attached on keydown to the window, so that whenever the tab key is pressed all outer FocusZone's\n * tab-indexes are updated (an outer FocusZone is a FocusZone that is not within another one).\n * But now after the above PR : they are attaching the\n * listeners to the FocusZone elements instead of the window. So in the first render cycle in Bar charts\n * bars are not created as in the first render cycle the size of the chart container is not known( or is 0)\n * which creates bars of height 0 so instead we do not create any bars and instead return empty fragments.\n *\n * We have tried 2 Approaches to fix the issue:\n * 1. Using the {@link elementRef} property of FocusZone where we dispatch event for tab keydown\n * after the second render cycle which triggers an update of the tab index in FocusZone.\n * But this is a hacky solution and not a proper fix and also elementRef is deprecated.\n * 2. Using the default tabbable element to fix the issue.\n */\n\n return (\n <div\n id={idForGraph}\n className={classes.root}\n role={'presentation'}\n ref={(rootElem: HTMLDivElement) => (chartContainer.current = rootElem)}\n onMouseLeave={_onChartLeave}\n >\n <div className={classes.chartWrapper} {...focusAttributes} {...arrowAttributes}>\n {_isFirstRender.current}\n <svg\n width={svgDimensions.width}\n height={svgDimensions.height}\n aria-label={props.chartTitle}\n style={{ display: 'block' }}\n {...svgProps}\n >\n <g\n ref={(e: SVGSVGElement | null) => {\n xAxisElement.current = e!;\n }}\n id={`xAxisGElement${idForGraph}`}\n // To add wrap of x axis lables feature, need to remove word height from svg height.\n transform={`translate(0, ${svgDimensions.height - margins.bottom! - removalValueForTextTuncate!})`}\n className={classes.xAxis}\n />\n {props.xAxisTitle !== undefined && props.xAxisTitle !== '' && (\n <SVGTooltipText\n content={props.xAxisTitle}\n textProps={{\n x: margins.left! + startFromX + xAxisTitleMaximumAllowedWidth / 2,\n y: svgDimensions.height - titleMargin,\n className: classes.axisTitle!,\n textAnchor: 'middle',\n }}\n maxWidth={xAxisTitleMaximumAllowedWidth}\n wrapContent={wrapContent}\n showBackground={true}\n />\n )}\n <g\n ref={(e: SVGSVGElement | null) => {\n yAxisElement.current = e!;\n }}\n id={`yAxisGElement${idForGraph}`}\n transform={`translate(${\n _useRtl ? svgDimensions.width - margins.right! - startFromX : margins.left! + startFromX\n }, 0)`}\n className={classes.yAxis}\n />\n {props.secondaryYScaleOptions && (\n <g>\n <g\n ref={(e: SVGSVGElement | null) => {\n yAxisElementSecondary.current = e!;\n }}\n id={`yAxisGElementSecondary${idForGraph}`}\n transform={`translate(${\n _useRtl ? margins.left! + startFromX : svgDimensions.width - margins.right! - startFromX\n }, 0)`}\n className={classes.yAxis}\n />\n {props.secondaryYAxistitle !== undefined && props.secondaryYAxistitle !== '' && (\n <SVGTooltipText\n content={props.secondaryYAxistitle}\n textProps={{\n x: (yAxisTitleMaximumAllowedHeight - margins.bottom!) / 2 + removalValueForTextTuncate!,\n y: _useRtl ? startFromX - titleMargin : svgDimensions.width - margins.right!,\n textAnchor: 'middle',\n transform: `translate(${\n _useRtl ? margins.right! / 2 - titleMargin : margins.right! / 2 + titleMargin\n },\n ${svgDimensions.height - margins.bottom! - margins.top! - titleMargin})rotate(-90)`,\n className: classes.axisTitle!,\n }}\n maxWidth={yAxisTitleMaximumAllowedHeight}\n wrapContent={wrapContent}\n showBackground={true}\n />\n )}\n </g>\n )}\n {children}\n {props.yAxisTitle !== undefined && props.yAxisTitle !== '' && (\n <SVGTooltipText\n content={props.yAxisTitle}\n textProps={{\n x: (yAxisTitleMaximumAllowedHeight - margins.bottom!) / 2 + removalValueForTextTuncate!,\n y: _useRtl ? svgDimensions.width - margins.right! / 2 + titleMargin : margins.left! / 2 - titleMargin,\n textAnchor: 'middle',\n transform: `translate(0,\n ${svgDimensions.height - margins.bottom! - margins.top! - titleMargin})rotate(-90)`,\n className: classes.axisTitle!,\n }}\n maxWidth={yAxisTitleMaximumAllowedHeight}\n wrapContent={wrapContent}\n showBackground={true}\n />\n )}\n </svg>\n </div>\n\n {!props.hideLegend && (\n <div ref={(e: HTMLDivElement) => (legendContainer = e)} className={classes.legendContainer}>\n {props.legendBars}\n </div>\n )}\n {/** The callout is used for narration, so keep it mounted on the DOM */}\n {callout && <React.Suspense fallback={<div>Loading...</div>}>{callout}</React.Suspense>}\n </div>\n );\n});\nCartesianChart.displayName = 'CartesianChart';\nCartesianChart.defaultProps = {\n hideTickOverlap: true,\n};\n"],"names":["React","useCartesianChartStyles","createNumericXAxis","createStringXAxis","getDomainNRangeValues","createDateXAxis","createYAxis","createStringYAxis","getMinMaxOfYAxis","XAxisTypes","YAxisType","createWrapOfXLabels","rotateXAxisLabels","calculateLongestLabelWidth","createYAxisLabels","ChartTypes","wrapContent","useRtl","SVGTooltipText","ChartPopover","useFocusableGroup","useArrowNavigationGroup","CartesianChart","forwardRef","props","forwardedRef","chartContainer","useRef","legendContainer","minLegendContainerHeight","xAxisElement","yAxisElement","yAxisElementSecondary","margins","idForGraph","_reqID","_useRtl","_tickValues","titleMargin","_isFirstRender","_xScale","isIntegralDataset","containerWidth","setContainerWidth","useState","containerHeight","setContainerHeight","isRemoveValCalculated","setIsRemoveValCalculated","removalValueForTextTuncate","setRemovalValueForTextTuncate","startFromX","setStartFromX","prevProps","setPrevProps","chartTypesToCheck","HorizontalBarChartWithAxis","HeatMapChart","top","bottom","right","left","secondaryYScaleOptions","xAxisTitle","undefined","yAxisTitle","secondaryYAxistitle","classes","focusAttributes","arrowAttributes","axis","useEffect","_fitParentContainer","includes","chartType","showYAxisLables","maxYAxisLabelLength","calculateMaxYAxisLabelLength","points","yAxis","some","point","y","cancelAnimationFrame","height","width","wrapXAxisLables","rotateXAxisLables","xAxisType","StringAxis","rotateLabelProps","node","current","xAxis","rotatedHeight","useImperativeHandle","componentRef","_generateCallout","calloutProps","className","data","map","svgProps","culture","dateLocalizeOptions","timeFormatLocale","customDateTimeFormatter","parentRef","margin","getmargins","callout","children","enableFirstRenderOptimization","XAxisParams","domainNRangeValues","getDomainMargins","barwidth","tickValues","showRoundOffXTickValues","xAxisCount","xAxisTickCount","xAxistickSize","tickPadding","showXAxisLablesTooltip","xAxisPadding","xAxisInnerPadding","xAxisOuterPadding","hideTickOverlap","YAxisParams","yAxisTickFormat","yAxisTickCount","yMinValue","yMaxValue","maxOfYVal","yMinMaxValues","yAxisType","yAxisPadding","xScale","NumericAxis","tickParams","DateAxis","useUTC","datasetForXAxisDomain","wrapLabelProps","noOfCharsToTruncate","temp","yScale","yScaleSecondary","axisData","yAxisDomainValues","stringDatasetForYAxisDomain","YAxisParamsSecondary","roundedTicks","showYAxisLablesTooltip","_getData","getGraphData","getAxisData","hideTooltip","isPopoverOpen","svgDimensions","xAxisTitleMaximumAllowedWidth","yAxisTitleMaximumAllowedHeight","legendContainerHeight","hideLegend","legendContainerComputedStyles","getComputedStyle","getBoundingClientRect","parseFloat","marginTop","marginBottom","container","currentContainerWidth","reflowProps","mode","Math","max","_calculateChartMinWidth","currentContainerHeight","shouldResize","_onChartLeave","onChartMouseLeave","labelWidth","longestLabelWidth","ceil","cos","PI","val","numChars","toString","length","slice","words","forEach","push","split","minChartWidth","GroupedVerticalBarChart","VerticalBarChart","VerticalStackedBarChart","minDomainMargin","div","id","root","role","ref","rootElem","onMouseLeave","chartWrapper","svg","aria-label","chartTitle","style","display","g","e","transform","content","textProps","x","axisTitle","textAnchor","maxWidth","showBackground","legendBars","Suspense","fallback","displayName","defaultProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -154,25 +154,26 @@ const useStyles = /*#__PURE__*/__styles({
|
|
|
154
154
|
}]]
|
|
155
155
|
});
|
|
156
156
|
export const useGaugeChartStyles = props => {
|
|
157
|
+
var _props_styles, _props_styles1, _props_styles2, _props_styles3, _props_styles4, _props_styles5, _props_styles6, _props_styles7, _props_styles8, _props_styles9, _props_styles10, _props_styles11, _props_styles12, _props_styles13, _props_styles14, _props_styles15, _props_styles16;
|
|
157
158
|
const baseStyles = useStyles();
|
|
158
159
|
return {
|
|
159
|
-
root: mergeClasses(gaugeChartClassNames.root, baseStyles.root),
|
|
160
|
-
chart: mergeClasses(gaugeChartClassNames.chart, baseStyles.chart),
|
|
161
|
-
limits: mergeClasses(gaugeChartClassNames.limits, baseStyles.limits),
|
|
162
|
-
chartValue: mergeClasses(gaugeChartClassNames.chartValue, baseStyles.chartValue),
|
|
163
|
-
sublabel: mergeClasses(gaugeChartClassNames.sublabel, baseStyles.sublabel),
|
|
164
|
-
needle: mergeClasses(gaugeChartClassNames.needle, baseStyles.needle),
|
|
165
|
-
chartTitle: mergeClasses(gaugeChartClassNames.chartTitle, baseStyles.chartTitle),
|
|
166
|
-
segment: mergeClasses(gaugeChartClassNames.segment, baseStyles.segment),
|
|
167
|
-
gradientSegment: mergeClasses(gaugeChartClassNames.gradientSegment, baseStyles.gradientSegment),
|
|
168
|
-
calloutContentRoot: mergeClasses(gaugeChartClassNames.calloutContentRoot, baseStyles.calloutContentRoot),
|
|
169
|
-
calloutDateTimeContainer: mergeClasses(gaugeChartClassNames.calloutDateTimeContainer, baseStyles.calloutDateTimeContainer),
|
|
170
|
-
calloutContentX: mergeClasses(gaugeChartClassNames.calloutContentX, baseStyles.calloutContentX),
|
|
171
|
-
calloutBlockContainer: mergeClasses(gaugeChartClassNames.calloutBlockContainer, baseStyles.calloutBlockContainer),
|
|
172
|
-
shapeStyles: mergeClasses(gaugeChartClassNames.shapeStyles, baseStyles.shapeStyles),
|
|
173
|
-
calloutlegendText: mergeClasses(gaugeChartClassNames.calloutlegendText, baseStyles.calloutlegendText),
|
|
174
|
-
calloutContentY: mergeClasses(gaugeChartClassNames.calloutContentY, baseStyles.calloutContentY),
|
|
175
|
-
descriptionMessage: mergeClasses(gaugeChartClassNames.descriptionMessage, baseStyles.descriptionMessage)
|
|
160
|
+
root: mergeClasses(gaugeChartClassNames.root, baseStyles.root, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),
|
|
161
|
+
chart: mergeClasses(gaugeChartClassNames.chart, baseStyles.chart, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.chart),
|
|
162
|
+
limits: mergeClasses(gaugeChartClassNames.limits, baseStyles.limits, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.limits),
|
|
163
|
+
chartValue: mergeClasses(gaugeChartClassNames.chartValue, baseStyles.chartValue, (_props_styles3 = props.styles) === null || _props_styles3 === void 0 ? void 0 : _props_styles3.chartValue),
|
|
164
|
+
sublabel: mergeClasses(gaugeChartClassNames.sublabel, baseStyles.sublabel, (_props_styles4 = props.styles) === null || _props_styles4 === void 0 ? void 0 : _props_styles4.sublabel),
|
|
165
|
+
needle: mergeClasses(gaugeChartClassNames.needle, baseStyles.needle, (_props_styles5 = props.styles) === null || _props_styles5 === void 0 ? void 0 : _props_styles5.needle),
|
|
166
|
+
chartTitle: mergeClasses(gaugeChartClassNames.chartTitle, baseStyles.chartTitle, (_props_styles6 = props.styles) === null || _props_styles6 === void 0 ? void 0 : _props_styles6.chartTitle),
|
|
167
|
+
segment: mergeClasses(gaugeChartClassNames.segment, baseStyles.segment, (_props_styles7 = props.styles) === null || _props_styles7 === void 0 ? void 0 : _props_styles7.segment),
|
|
168
|
+
gradientSegment: mergeClasses(gaugeChartClassNames.gradientSegment, baseStyles.gradientSegment, (_props_styles8 = props.styles) === null || _props_styles8 === void 0 ? void 0 : _props_styles8.gradientSegment),
|
|
169
|
+
calloutContentRoot: mergeClasses(gaugeChartClassNames.calloutContentRoot, baseStyles.calloutContentRoot, (_props_styles9 = props.styles) === null || _props_styles9 === void 0 ? void 0 : _props_styles9.calloutContentRoot),
|
|
170
|
+
calloutDateTimeContainer: mergeClasses(gaugeChartClassNames.calloutDateTimeContainer, baseStyles.calloutDateTimeContainer, (_props_styles10 = props.styles) === null || _props_styles10 === void 0 ? void 0 : _props_styles10.calloutDateTimeContainer),
|
|
171
|
+
calloutContentX: mergeClasses(gaugeChartClassNames.calloutContentX, baseStyles.calloutContentX, (_props_styles11 = props.styles) === null || _props_styles11 === void 0 ? void 0 : _props_styles11.calloutContentX),
|
|
172
|
+
calloutBlockContainer: mergeClasses(gaugeChartClassNames.calloutBlockContainer, baseStyles.calloutBlockContainer, (_props_styles12 = props.styles) === null || _props_styles12 === void 0 ? void 0 : _props_styles12.calloutBlockContainer),
|
|
173
|
+
shapeStyles: mergeClasses(gaugeChartClassNames.shapeStyles, baseStyles.shapeStyles, (_props_styles13 = props.styles) === null || _props_styles13 === void 0 ? void 0 : _props_styles13.shapeStyles),
|
|
174
|
+
calloutlegendText: mergeClasses(gaugeChartClassNames.calloutlegendText, baseStyles.calloutlegendText, (_props_styles14 = props.styles) === null || _props_styles14 === void 0 ? void 0 : _props_styles14.calloutlegendText),
|
|
175
|
+
calloutContentY: mergeClasses(gaugeChartClassNames.calloutContentY, baseStyles.calloutContentY, (_props_styles15 = props.styles) === null || _props_styles15 === void 0 ? void 0 : _props_styles15.calloutContentY),
|
|
176
|
+
descriptionMessage: mergeClasses(gaugeChartClassNames.descriptionMessage, baseStyles.descriptionMessage, (_props_styles16 = props.styles) === null || _props_styles16 === void 0 ? void 0 : _props_styles16.descriptionMessage)
|
|
176
177
|
};
|
|
177
178
|
};
|
|
178
179
|
//# sourceMappingURL=useGaugeChartStyles.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["tokens","typographyStyles","__styles","mergeClasses","shorthands","gaugeChartClassNames","root","chart","limits","chartValue","sublabel","needle","chartTitle","segment","gradientSegment","calloutContentRoot","calloutDateTimeContainer","calloutContentX","calloutBlockContainer","shapeStyles","calloutlegendText","calloutContentY","descriptionMessage","calloutInfoContainer","legendsContainer","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","Bt984gj","a9b677","Bqenvij","Bkfmm31","Bvjb7m6","ojy3ng","Bw0xxkn","oeaueh","Bpd4iqm","Befb4lg","B68tc82","Bmxbyg5","Bpg54ce","z8tnut","z189sj","Byoj8tv","uwmqm3","De3pzq","jy2i9i","Brf1p80","abs64n","B6of3ja","sj55zd","t21cq0","g2u3we","icvyot","B4j52fo","i8vvqc","d","p","useGaugeChartStyles","props","baseStyles"],"sources":["useGaugeChartStyles.styles.js"],"sourcesContent":["import { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nexport const gaugeChartClassNames = {\n root: 'fui-gc__root',\n chart: 'fui-gc__chart',\n limits: 'fui-gc__limits',\n chartValue: 'fui-gc__chartValue',\n sublabel: 'fui-gc__sublabel',\n needle: 'fui-gc__needle',\n chartTitle: 'fui-gc__chartTitle',\n segment: 'fui-gc__segment',\n gradientSegment: 'fui-gc__gradientSegment',\n calloutContentRoot: 'fui-gc__calloutContentRoot',\n calloutDateTimeContainer: 'fui-gc__calloutDateTimeContainer',\n calloutContentX: 'fui-gc__calloutContentX',\n calloutBlockContainer: 'fui-gc__calloutBlockContainer',\n shapeStyles: 'fui-gc__shapeStyles',\n calloutlegendText: 'fui-gc__calloutlegendText',\n calloutContentY: 'fui-gc__calloutContentY',\n descriptionMessage: 'fui-gc__descriptionMessage',\n calloutInfoContainer: '',\n legendsContainer: ''\n};\nconst useStyles = makeStyles({\n root: {\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100%',\n height: '100%'\n },\n chart: {\n display: 'block'\n },\n limits: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n },\n chartValue: {\n fontWeight: tokens.fontWeightSemibold,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n },\n sublabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1\n },\n needle: {\n fill: tokens.colorNeutralForeground1,\n stroke: tokens.colorNeutralBackground1\n },\n chartTitle: {\n ...typographyStyles.caption1,\n fill: tokens.colorNeutralForeground1\n },\n segment: {\n outline: 'none',\n stroke: tokens.colorNeutralStroke1\n },\n gradientSegment: {\n width: '100%',\n height: '100%'\n },\n calloutContentRoot: {\n display: 'grid',\n overflow: 'hidden',\n ...shorthands.padding('11px', '16px', '10px', '16px'),\n backgroundColor: tokens.colorNeutralBackground1,\n backgroundBlendMode: 'normal, luminosity'\n },\n calloutDateTimeContainer: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between'\n },\n calloutContentX: {\n ...typographyStyles.caption1,\n lineHeight: '16px',\n opacity: '0.85'\n },\n calloutBlockContainer: {\n ...typographyStyles.body1Strong,\n marginTop: '13px',\n color: tokens.colorNeutralForeground1,\n paddingLeft: '8px',\n display: 'block',\n forcedColorAdjust: 'none'\n },\n shapeStyles: {\n marginRight: '8px'\n },\n calloutlegendText: {\n ...typographyStyles.caption1,\n lineHeight: '16px',\n color: tokens.colorNeutralForeground2,\n forcedColorAdjust: 'auto'\n },\n calloutContentY: {\n ...typographyStyles.body1Strong,\n lineHeight: '22px',\n forcedColorAdjust: 'auto'\n },\n descriptionMessage: {\n ...typographyStyles.caption1,\n color: tokens.colorNeutralForeground1,\n marginTop: '10px',\n paddingTop: '10px',\n borderTop: `1px solid ${tokens.colorNeutralStroke1}`\n }\n});\nexport const useGaugeChartStyles = (props)=>{\n const baseStyles = useStyles();\n return {\n root: mergeClasses(gaugeChartClassNames.root, baseStyles.root),\n chart: mergeClasses(gaugeChartClassNames.chart, baseStyles.chart),\n limits: mergeClasses(gaugeChartClassNames.limits, baseStyles.limits),\n chartValue: mergeClasses(gaugeChartClassNames.chartValue, baseStyles.chartValue),\n sublabel: mergeClasses(gaugeChartClassNames.sublabel, baseStyles.sublabel),\n needle: mergeClasses(gaugeChartClassNames.needle, baseStyles.needle),\n chartTitle: mergeClasses(gaugeChartClassNames.chartTitle, baseStyles.chartTitle),\n segment: mergeClasses(gaugeChartClassNames.segment, baseStyles.segment),\n gradientSegment: mergeClasses(gaugeChartClassNames.gradientSegment, baseStyles.gradientSegment),\n calloutContentRoot: mergeClasses(gaugeChartClassNames.calloutContentRoot, baseStyles.calloutContentRoot),\n calloutDateTimeContainer: mergeClasses(gaugeChartClassNames.calloutDateTimeContainer, baseStyles.calloutDateTimeContainer),\n calloutContentX: mergeClasses(gaugeChartClassNames.calloutContentX, baseStyles.calloutContentX),\n calloutBlockContainer: mergeClasses(gaugeChartClassNames.calloutBlockContainer, baseStyles.calloutBlockContainer),\n shapeStyles: mergeClasses(gaugeChartClassNames.shapeStyles, baseStyles.shapeStyles),\n calloutlegendText: mergeClasses(gaugeChartClassNames.calloutlegendText, baseStyles.calloutlegendText),\n calloutContentY: mergeClasses(gaugeChartClassNames.calloutContentY, baseStyles.calloutContentY),\n descriptionMessage: mergeClasses(gaugeChartClassNames.descriptionMessage, baseStyles.descriptionMessage)\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["tokens","typographyStyles","__styles","mergeClasses","shorthands","gaugeChartClassNames","root","chart","limits","chartValue","sublabel","needle","chartTitle","segment","gradientSegment","calloutContentRoot","calloutDateTimeContainer","calloutContentX","calloutBlockContainer","shapeStyles","calloutlegendText","calloutContentY","descriptionMessage","calloutInfoContainer","legendsContainer","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","Bt984gj","a9b677","Bqenvij","Bkfmm31","Bvjb7m6","ojy3ng","Bw0xxkn","oeaueh","Bpd4iqm","Befb4lg","B68tc82","Bmxbyg5","Bpg54ce","z8tnut","z189sj","Byoj8tv","uwmqm3","De3pzq","jy2i9i","Brf1p80","abs64n","B6of3ja","sj55zd","t21cq0","g2u3we","icvyot","B4j52fo","i8vvqc","d","p","useGaugeChartStyles","props","_props_styles","_props_styles1","_props_styles2","_props_styles3","_props_styles4","_props_styles5","_props_styles6","_props_styles7","_props_styles8","_props_styles9","_props_styles10","_props_styles11","_props_styles12","_props_styles13","_props_styles14","_props_styles15","_props_styles16","baseStyles","styles"],"sources":["useGaugeChartStyles.styles.js"],"sourcesContent":["import { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nexport const gaugeChartClassNames = {\n root: 'fui-gc__root',\n chart: 'fui-gc__chart',\n limits: 'fui-gc__limits',\n chartValue: 'fui-gc__chartValue',\n sublabel: 'fui-gc__sublabel',\n needle: 'fui-gc__needle',\n chartTitle: 'fui-gc__chartTitle',\n segment: 'fui-gc__segment',\n gradientSegment: 'fui-gc__gradientSegment',\n calloutContentRoot: 'fui-gc__calloutContentRoot',\n calloutDateTimeContainer: 'fui-gc__calloutDateTimeContainer',\n calloutContentX: 'fui-gc__calloutContentX',\n calloutBlockContainer: 'fui-gc__calloutBlockContainer',\n shapeStyles: 'fui-gc__shapeStyles',\n calloutlegendText: 'fui-gc__calloutlegendText',\n calloutContentY: 'fui-gc__calloutContentY',\n descriptionMessage: 'fui-gc__descriptionMessage',\n calloutInfoContainer: '',\n legendsContainer: ''\n};\nconst useStyles = makeStyles({\n root: {\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100%',\n height: '100%'\n },\n chart: {\n display: 'block'\n },\n limits: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n },\n chartValue: {\n fontWeight: tokens.fontWeightSemibold,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n },\n sublabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1\n },\n needle: {\n fill: tokens.colorNeutralForeground1,\n stroke: tokens.colorNeutralBackground1\n },\n chartTitle: {\n ...typographyStyles.caption1,\n fill: tokens.colorNeutralForeground1\n },\n segment: {\n outline: 'none',\n stroke: tokens.colorNeutralStroke1\n },\n gradientSegment: {\n width: '100%',\n height: '100%'\n },\n calloutContentRoot: {\n display: 'grid',\n overflow: 'hidden',\n ...shorthands.padding('11px', '16px', '10px', '16px'),\n backgroundColor: tokens.colorNeutralBackground1,\n backgroundBlendMode: 'normal, luminosity'\n },\n calloutDateTimeContainer: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between'\n },\n calloutContentX: {\n ...typographyStyles.caption1,\n lineHeight: '16px',\n opacity: '0.85'\n },\n calloutBlockContainer: {\n ...typographyStyles.body1Strong,\n marginTop: '13px',\n color: tokens.colorNeutralForeground1,\n paddingLeft: '8px',\n display: 'block',\n forcedColorAdjust: 'none'\n },\n shapeStyles: {\n marginRight: '8px'\n },\n calloutlegendText: {\n ...typographyStyles.caption1,\n lineHeight: '16px',\n color: tokens.colorNeutralForeground2,\n forcedColorAdjust: 'auto'\n },\n calloutContentY: {\n ...typographyStyles.body1Strong,\n lineHeight: '22px',\n forcedColorAdjust: 'auto'\n },\n descriptionMessage: {\n ...typographyStyles.caption1,\n color: tokens.colorNeutralForeground1,\n marginTop: '10px',\n paddingTop: '10px',\n borderTop: `1px solid ${tokens.colorNeutralStroke1}`\n }\n});\nexport const useGaugeChartStyles = (props)=>{\n var _props_styles, _props_styles1, _props_styles2, _props_styles3, _props_styles4, _props_styles5, _props_styles6, _props_styles7, _props_styles8, _props_styles9, _props_styles10, _props_styles11, _props_styles12, _props_styles13, _props_styles14, _props_styles15, _props_styles16;\n const baseStyles = useStyles();\n return {\n root: mergeClasses(gaugeChartClassNames.root, baseStyles.root, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),\n chart: mergeClasses(gaugeChartClassNames.chart, baseStyles.chart, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.chart),\n limits: mergeClasses(gaugeChartClassNames.limits, baseStyles.limits, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.limits),\n chartValue: mergeClasses(gaugeChartClassNames.chartValue, baseStyles.chartValue, (_props_styles3 = props.styles) === null || _props_styles3 === void 0 ? void 0 : _props_styles3.chartValue),\n sublabel: mergeClasses(gaugeChartClassNames.sublabel, baseStyles.sublabel, (_props_styles4 = props.styles) === null || _props_styles4 === void 0 ? void 0 : _props_styles4.sublabel),\n needle: mergeClasses(gaugeChartClassNames.needle, baseStyles.needle, (_props_styles5 = props.styles) === null || _props_styles5 === void 0 ? void 0 : _props_styles5.needle),\n chartTitle: mergeClasses(gaugeChartClassNames.chartTitle, baseStyles.chartTitle, (_props_styles6 = props.styles) === null || _props_styles6 === void 0 ? void 0 : _props_styles6.chartTitle),\n segment: mergeClasses(gaugeChartClassNames.segment, baseStyles.segment, (_props_styles7 = props.styles) === null || _props_styles7 === void 0 ? void 0 : _props_styles7.segment),\n gradientSegment: mergeClasses(gaugeChartClassNames.gradientSegment, baseStyles.gradientSegment, (_props_styles8 = props.styles) === null || _props_styles8 === void 0 ? void 0 : _props_styles8.gradientSegment),\n calloutContentRoot: mergeClasses(gaugeChartClassNames.calloutContentRoot, baseStyles.calloutContentRoot, (_props_styles9 = props.styles) === null || _props_styles9 === void 0 ? void 0 : _props_styles9.calloutContentRoot),\n calloutDateTimeContainer: mergeClasses(gaugeChartClassNames.calloutDateTimeContainer, baseStyles.calloutDateTimeContainer, (_props_styles10 = props.styles) === null || _props_styles10 === void 0 ? void 0 : _props_styles10.calloutDateTimeContainer),\n calloutContentX: mergeClasses(gaugeChartClassNames.calloutContentX, baseStyles.calloutContentX, (_props_styles11 = props.styles) === null || _props_styles11 === void 0 ? void 0 : _props_styles11.calloutContentX),\n calloutBlockContainer: mergeClasses(gaugeChartClassNames.calloutBlockContainer, baseStyles.calloutBlockContainer, (_props_styles12 = props.styles) === null || _props_styles12 === void 0 ? void 0 : _props_styles12.calloutBlockContainer),\n shapeStyles: mergeClasses(gaugeChartClassNames.shapeStyles, baseStyles.shapeStyles, (_props_styles13 = props.styles) === null || _props_styles13 === void 0 ? void 0 : _props_styles13.shapeStyles),\n calloutlegendText: mergeClasses(gaugeChartClassNames.calloutlegendText, baseStyles.calloutlegendText, (_props_styles14 = props.styles) === null || _props_styles14 === void 0 ? void 0 : _props_styles14.calloutlegendText),\n calloutContentY: mergeClasses(gaugeChartClassNames.calloutContentY, baseStyles.calloutContentY, (_props_styles15 = props.styles) === null || _props_styles15 === void 0 ? void 0 : _props_styles15.calloutContentY),\n descriptionMessage: mergeClasses(gaugeChartClassNames.descriptionMessage, baseStyles.descriptionMessage, (_props_styles16 = props.styles) === null || _props_styles16 === void 0 ? void 0 : _props_styles16.descriptionMessage)\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -321,7 +321,7 @@ export const GroupedVerticalBarChart = /*#__PURE__*/ React.forwardRef((props = {
|
|
|
321
321
|
onBlur: _onBarLeave,
|
|
322
322
|
onClick: pointData.onClick,
|
|
323
323
|
"aria-label": getAriaLabel(pointData, singleSet.xAxisPoint),
|
|
324
|
-
tabIndex: pointData.legend
|
|
324
|
+
tabIndex: _legendHighlighted(pointData.legend) || _noLegendHighlighted() ? 0 : undefined,
|
|
325
325
|
role: "img"
|
|
326
326
|
})));
|
|
327
327
|
if (pointData.data && !props.hideLabels && _barWidth >= 16 && (_legendHighlighted(pointData.legend) || _noLegendHighlighted())) {
|