@fluentui/react-charts 9.0.0 → 9.0.2

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.
Files changed (79) hide show
  1. package/CHANGELOG.md +33 -2
  2. package/dist/index.d.ts +463 -36
  3. package/lib/GaugeChart.js +1 -0
  4. package/lib/GaugeChart.js.map +1 -0
  5. package/lib/GroupedVerticalBarChart.js +1 -0
  6. package/lib/GroupedVerticalBarChart.js.map +1 -0
  7. package/lib/ScatterChart.js +1 -0
  8. package/lib/ScatterChart.js.map +1 -0
  9. package/lib/components/GaugeChart/GaugeChart.js +589 -0
  10. package/lib/components/GaugeChart/GaugeChart.js.map +1 -0
  11. package/lib/components/GaugeChart/GaugeChart.types.js +4 -0
  12. package/lib/components/GaugeChart/GaugeChart.types.js.map +1 -0
  13. package/lib/components/GaugeChart/index.js +3 -0
  14. package/lib/components/GaugeChart/index.js.map +1 -0
  15. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +174 -0
  16. package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -0
  17. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +492 -0
  18. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -0
  19. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +4 -0
  20. package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -0
  21. package/lib/components/GroupedVerticalBarChart/index.js +3 -0
  22. package/lib/components/GroupedVerticalBarChart/index.js.map +1 -0
  23. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +90 -0
  24. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -0
  25. package/lib/components/Legends/Legends.types.js.map +1 -1
  26. package/lib/components/LineChart/LineChart.js.map +1 -1
  27. package/lib/components/ScatterChart/ScatterChart.js +478 -0
  28. package/lib/components/ScatterChart/ScatterChart.js.map +1 -0
  29. package/lib/components/ScatterChart/ScatterChart.types.js +4 -0
  30. package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -0
  31. package/lib/components/ScatterChart/index.js +3 -0
  32. package/lib/components/ScatterChart/index.js.map +1 -0
  33. package/lib/components/ScatterChart/useScatterChartStyles.styles.js +65 -0
  34. package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -0
  35. package/lib/components/Sparkline/Sparkline.js.map +1 -1
  36. package/lib/index.js +3 -0
  37. package/lib/index.js.map +1 -1
  38. package/lib/types/DataPoint.js.map +1 -1
  39. package/lib/utilities/utilities.js +123 -5
  40. package/lib/utilities/utilities.js.map +1 -1
  41. package/lib-commonjs/GaugeChart.js +6 -0
  42. package/lib-commonjs/GaugeChart.js.map +1 -0
  43. package/lib-commonjs/GroupedVerticalBarChart.js +6 -0
  44. package/lib-commonjs/GroupedVerticalBarChart.js.map +1 -0
  45. package/lib-commonjs/ScatterChart.js +6 -0
  46. package/lib-commonjs/ScatterChart.js.map +1 -0
  47. package/lib-commonjs/components/GaugeChart/GaugeChart.js +618 -0
  48. package/lib-commonjs/components/GaugeChart/GaugeChart.js.map +1 -0
  49. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js +7 -0
  50. package/lib-commonjs/components/GaugeChart/GaugeChart.types.js.map +1 -0
  51. package/lib-commonjs/components/GaugeChart/index.js +8 -0
  52. package/lib-commonjs/components/GaugeChart/index.js.map +1 -0
  53. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +252 -0
  54. package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -0
  55. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +498 -0
  56. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -0
  57. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js +7 -0
  58. package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.types.js.map +1 -0
  59. package/lib-commonjs/components/GroupedVerticalBarChart/index.js +8 -0
  60. package/lib-commonjs/components/GroupedVerticalBarChart/index.js.map +1 -0
  61. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +139 -0
  62. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -0
  63. package/lib-commonjs/components/Legends/Legends.types.js.map +1 -1
  64. package/lib-commonjs/components/LineChart/LineChart.js.map +1 -1
  65. package/lib-commonjs/components/ScatterChart/ScatterChart.js +484 -0
  66. package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -0
  67. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js +7 -0
  68. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -0
  69. package/lib-commonjs/components/ScatterChart/index.js +8 -0
  70. package/lib-commonjs/components/ScatterChart/index.js.map +1 -0
  71. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +96 -0
  72. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -0
  73. package/lib-commonjs/components/Sparkline/Sparkline.js.map +1 -1
  74. package/lib-commonjs/index.js +3 -0
  75. package/lib-commonjs/index.js.map +1 -1
  76. package/lib-commonjs/types/DataPoint.js.map +1 -1
  77. package/lib-commonjs/utilities/utilities.js +115 -5
  78. package/lib-commonjs/utilities/utilities.js.map +1 -1
  79. package/package.json +9 -9
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["GaugeChart.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useGaugeChartStyles } from './useGaugeChartStyles.styles';\nimport { select as d3Select } from 'd3-selection';\nimport { arc as d3Arc } from 'd3-shape';\nimport { YValueHover } from '../../index';\nimport {\n Points,\n areArraysEqual,\n formatValueWithSIPrefix,\n getAccessibleDataObject,\n getColorFromToken,\n getNextColor,\n pointTypes,\n useRtl,\n} from '../../utilities/index';\nimport { convertToLocaleString } from '../../utilities/locale-util';\nimport { SVGTooltipText } from '../../utilities/SVGTooltipText';\nimport { Legend, LegendShape, Legends, Shape } from '../Legends/index';\nimport { GaugeChartVariant, GaugeValueFormat, GaugeChartProps, GaugeChartSegment } from './GaugeChart.types';\nimport { useFocusableGroup } from '@fluentui/react-tabster';\nimport { ChartPopover } from '../CommonComponents/ChartPopover';\n\nconst GAUGE_MARGIN = 16;\nconst LABEL_WIDTH = 36;\nconst LABEL_HEIGHT = 16;\nconst LABEL_OFFSET = 4;\nconst TITLE_OFFSET = 11;\nconst EXTRA_NEEDLE_LENGTH = 4;\nexport const ARC_PADDING = 2;\nexport const BREAKPOINTS = [\n { minRadius: 52, arcWidth: 12, fontSize: 20 },\n { minRadius: 70, arcWidth: 16, fontSize: 24 },\n { minRadius: 88, arcWidth: 20, fontSize: 32 },\n { minRadius: 106, arcWidth: 24, fontSize: 32 },\n { minRadius: 124, arcWidth: 28, fontSize: 40 },\n { minRadius: 142, arcWidth: 32, fontSize: 40 },\n];\n\nexport const calcNeedleRotation = (chartValue: number, minValue: number, maxValue: number) => {\n let needleRotation = ((chartValue - minValue) / (maxValue - minValue)) * 180;\n if (needleRotation < 0) {\n needleRotation = 0;\n } else if (needleRotation > 180) {\n needleRotation = 180;\n }\n\n return needleRotation;\n};\n\nexport const getSegmentLabel = (\n segment: ExtendedSegment,\n minValue: number,\n maxValue: number,\n variant?: GaugeChartVariant,\n isAriaLabel: boolean = false,\n) => {\n if (isAriaLabel) {\n return minValue === 0 && variant === 'single-segment'\n ? `${segment.legend}, ${segment.size} out of ${maxValue} or ${((segment.size / maxValue) * 100).toFixed()}%`\n : `${segment.legend}, ${segment.start} to ${segment.end}`;\n }\n\n return minValue === 0 && variant === 'single-segment'\n ? `${segment.size} (${((segment.size / maxValue) * 100).toFixed()}%)`\n : `${segment.start} - ${segment.end}`;\n};\n\nexport const getChartValueLabel = (\n chartValue: number,\n minValue: number,\n maxValue: number,\n chartValueFormat?: GaugeValueFormat | ((sweepFraction: [number, number]) => string),\n forCallout: boolean = false,\n): string => {\n if (forCallout) {\n // When displaying the chart value as a percentage, use fractions in the callout, and vice versa.\n // This helps clarify the actual value and avoid repetition.\n return minValue !== 0\n ? chartValue.toString()\n : chartValueFormat === 'fraction'\n ? `${((chartValue / maxValue) * 100).toFixed()}%`\n : `${chartValue}/${maxValue}`;\n }\n\n return typeof chartValueFormat === 'function'\n ? chartValueFormat([chartValue - minValue, maxValue - minValue])\n : minValue !== 0\n ? chartValue.toString()\n : chartValueFormat === 'fraction'\n ? `${chartValue}/${maxValue}`\n : `${((chartValue / maxValue) * 100).toFixed()}%`;\n};\n\ninterface YValue extends Omit<YValueHover, 'y'> {\n y?: string | number;\n}\nexport interface ExtendedSegment extends GaugeChartSegment {\n start: number;\n end: number;\n}\n\nexport const GaugeChart: React.FunctionComponent<GaugeChartProps> = React.forwardRef<HTMLDivElement, GaugeChartProps>(\n (props, forwardedRef) => {\n const _getMargins = () => {\n const { hideMinMax, chartTitle, sublabel } = props;\n return {\n left: (!hideMinMax ? LABEL_OFFSET + LABEL_WIDTH : 0) + GAUGE_MARGIN,\n right: (!hideMinMax ? LABEL_OFFSET + LABEL_WIDTH : 0) + GAUGE_MARGIN,\n top: (chartTitle ? TITLE_OFFSET + LABEL_HEIGHT : EXTRA_NEEDLE_LENGTH / 2) + GAUGE_MARGIN,\n bottom: (sublabel ? LABEL_OFFSET + LABEL_HEIGHT : 0) + GAUGE_MARGIN,\n };\n };\n const _margins: { left: number; right: number; top: number; bottom: number } = _getMargins();\n const _legendsHeight: number = !props.hideLegend ? 24 : 0;\n const _rootElem = React.useRef<HTMLDivElement | null>(null);\n const _isRTL: boolean = useRtl();\n const [width, setWidth] = React.useState<number>(140 + _getMargins().left + _getMargins().right);\n const [height, setHeight] = React.useState<number>(70 + _getMargins().top + _getMargins().bottom + _legendsHeight);\n const [hoveredLegend, setHoveredLegend] = React.useState<string>('');\n const [selectedLegends, setSelectedLegends] = React.useState<string[]>(props.legendProps?.selectedLegends || []);\n const [focusedElement, setFocusedElement] = React.useState<string | undefined>('');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [clickPosition, setClickPosition] = React.useState({ x: 0, y: 0 });\n const [isPopoverOpen, setPopoverOpen] = React.useState(false);\n const [hoverXValue, setHoverXValue] = React.useState<string | number>('');\n const [hoverYValues, setHoverYValues] = React.useState<YValue[]>([]);\n const prevPropsRef = React.useRef<GaugeChartProps | null>(null);\n const _width = props.width || width;\n const _height = props.height || height;\n const _outerRadius: number = Math.min(\n (_width - (_margins.left + _margins.right)) / 2,\n _height - (_margins.top + _margins.bottom + _legendsHeight),\n );\n const { arcWidth, chartValueSize } = _getStylesBasedOnBreakpoint();\n const _innerRadius: number = _outerRadius - arcWidth;\n let _minValue!: number;\n let _maxValue!: number;\n let _segments!: ExtendedSegment[];\n let _calloutAnchor: string = '';\n React.useEffect(() => {\n if (prevPropsRef.current) {\n const prevProps = prevPropsRef.current;\n if (!areArraysEqual(prevProps.legendProps?.selectedLegends, props.legendProps?.selectedLegends)) {\n setSelectedLegends(props.legendProps?.selectedLegends || []);\n }\n if (prevProps.height !== props.height || prevProps.width !== props.width) {\n setWidth(props.width!);\n setHeight(props.height!);\n }\n }\n prevPropsRef.current = props;\n }, [props]);\n\n const classes = useGaugeChartStyles(props);\n function _getStylesBasedOnBreakpoint() {\n for (let index = BREAKPOINTS.length - 1; index >= 0; index -= 1) {\n if (_outerRadius >= BREAKPOINTS[index].minRadius) {\n return {\n arcWidth: BREAKPOINTS[index].arcWidth,\n chartValueSize: BREAKPOINTS[index].fontSize,\n };\n }\n }\n return {\n arcWidth: BREAKPOINTS[0].arcWidth,\n chartValueSize: BREAKPOINTS[0].fontSize,\n };\n }\n\n function _processProps() {\n const { minValue = 0, maxValue, segments, roundCorners } = props;\n\n let total = minValue;\n const processedSegments: ExtendedSegment[] = segments.map(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (segment: { size: number; legend: any; color: string; accessibilityData: any }, index: number) => {\n const size = Math.max(segment.size, 0);\n total += size;\n return {\n legend: segment.legend,\n size,\n color:\n typeof segment.color !== 'undefined'\n ? getColorFromToken(segment.color, false)\n : getNextColor(index, 0, false),\n accessibilityData: segment.accessibilityData,\n start: total - size,\n end: total,\n };\n },\n );\n if (typeof maxValue !== 'undefined' && total < maxValue) {\n processedSegments.push({\n legend: 'Unknown',\n size: maxValue - total,\n color: 'neutralLight',\n start: total,\n end: maxValue,\n });\n total = maxValue;\n }\n\n const arcGenerator = d3Arc()\n .cornerRadius(roundCorners ? 3 : 0)\n .padAngle(ARC_PADDING / _outerRadius)\n .padRadius(_outerRadius);\n const rtlSafeSegments = _isRTL ? Array.from(processedSegments).reverse() : processedSegments;\n let prevAngle = -Math.PI / 2;\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const arcs = rtlSafeSegments.map((segment, index) => {\n const endAngle = prevAngle + (segment.size / (total - minValue)) * Math.PI;\n const d = arcGenerator({\n innerRadius: _innerRadius,\n outerRadius: _outerRadius,\n startAngle: prevAngle,\n endAngle,\n })!;\n prevAngle = endAngle;\n return {\n d,\n segmentIndex: _isRTL ? processedSegments.length - 1 - index : index,\n startAngle: prevAngle - (segment.size / (total - minValue)) * Math.PI,\n endAngle,\n };\n });\n\n _minValue = minValue;\n _maxValue = total;\n _segments = processedSegments;\n\n return {\n arcs,\n };\n }\n\n function _renderNeedle() {\n const needleRotation = calcNeedleRotation(props.chartValue, _minValue, _maxValue);\n const rtlSafeNeedleRotation = _isRTL ? 180 - needleRotation : needleRotation;\n const strokeWidth = 2;\n const halfStrokeWidth = strokeWidth / 2;\n const needleLength = _outerRadius - _innerRadius + EXTRA_NEEDLE_LENGTH;\n\n return (\n <g transform={`rotate(${rtlSafeNeedleRotation}, 0, 0)`}>\n <path\n d={`\n M 0,${-halfStrokeWidth - 3}\n L ${-needleLength},${-halfStrokeWidth - 1}\n A ${halfStrokeWidth + 1},${halfStrokeWidth + 1},0,0,0,${-needleLength},${halfStrokeWidth + 1}\n L 0,${halfStrokeWidth + 3}\n A ${halfStrokeWidth + 3},${halfStrokeWidth + 3},0,0,0,0,${-halfStrokeWidth - 3}\n `}\n strokeWidth={strokeWidth}\n className={classes.needle}\n transform={`translate(${-_innerRadius + EXTRA_NEEDLE_LENGTH / 2})`}\n data-is-focusable={true}\n onFocus={e => _handleFocus(e, 'Needle')}\n onBlur={_handleBlur}\n onMouseEnter={e => _handleMouseOver(e, 'Needle')}\n onMouseMove={e => _handleMouseOver(e, 'Needle')}\n role=\"img\"\n aria-label={\n 'Current value: ' + getChartValueLabel(props.chartValue, _minValue, _maxValue, props.chartValueFormat)\n }\n />\n </g>\n );\n }\n\n function _renderLegends() {\n if (props.hideLegend) {\n return null;\n }\n\n const legends: Legend[] = _segments.map((segment, index) => {\n const color: string = segment.color || getNextColor(index, 0, false);\n\n return {\n title: segment.legend,\n color,\n hoverAction: () => {\n setHoveredLegend(segment.legend);\n },\n onMouseOutAction: () => {\n setHoveredLegend('');\n },\n };\n });\n\n return (\n <div className={classes.legendsContainer} style={{ width: props.width }}>\n <Legends\n legends={legends}\n centerLegends\n {...props.legendProps}\n // eslint-disable-next-line react/jsx-no-bind\n onChange={_onLegendSelectionChange}\n />\n </div>\n );\n }\n\n function _onLegendSelectionChange(\n // eslint-disable-next-line @typescript-eslint/no-shadow\n selectedLegends: string[],\n event: React.MouseEvent<HTMLButtonElement>,\n currentLegend?: Legend,\n ): void {\n if (props.legendProps?.canSelectMultipleLegends) {\n setSelectedLegends(selectedLegends);\n } else {\n setSelectedLegends(selectedLegends.slice(-1));\n }\n if (props.legendProps?.onChange) {\n props.legendProps.onChange(selectedLegends, event, currentLegend);\n }\n }\n\n /**\n * This function checks if the given legend is highlighted or not.\n * A legend can be highlighted in 2 ways:\n * 1. selection: if the user clicks on it\n * 2. hovering: if there is no selected legend and the user hovers over it\n */\n function _legendHighlighted(legend: string) {\n return _getHighlightedLegend().includes(legend!);\n }\n\n /**\n * This function checks if none of the legends is selected or hovered.\n */\n function _noLegendHighlighted() {\n return _getHighlightedLegend().length === 0;\n }\n\n function _getHighlightedLegend() {\n return selectedLegends.length > 0 ? selectedLegends : hoveredLegend ? [hoveredLegend] : [];\n }\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n function _handleFocus(focusEvent: React.FocusEvent<SVGElement>, focusedElement: string) {\n _showCallout(focusEvent, focusedElement, true);\n }\n\n function _handleBlur() {\n _hideCallout(true);\n }\n\n function _handleMouseOver(mouseEvent: React.MouseEvent<SVGElement>, hoveredElement: string) {\n _showCallout(mouseEvent, hoveredElement, false);\n }\n\n function _handleMouseOut() {\n _hideCallout(false);\n }\n\n function _handleCalloutDismiss() {\n _hideCallout(false);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _showCallout(\n event: React.MouseEvent<SVGElement, MouseEvent> | React.FocusEvent<SVGElement, Element>,\n legend: string,\n isFocusEvent: boolean,\n ) {\n if (_calloutAnchor === legend) {\n return;\n }\n let clientX = 0;\n let clientY = 0;\n if ('clientX' in event) {\n clientX = event.clientX;\n clientY = event.clientY;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const target = event.currentTarget as HTMLElement | SVGElement;\n if (target && 'getBoundingClientRect' in target) {\n const boundingRect = target.getBoundingClientRect();\n clientX = boundingRect.left + boundingRect.width / 2;\n clientY = boundingRect.top + boundingRect.height / 2;\n }\n }\n _calloutAnchor = legend;\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const hoverXValue: string =\n 'Current value is ' + getChartValueLabel(props.chartValue, _minValue, _maxValue, props.chartValueFormat, true);\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const hoverYValues: YValue[] = _segments.map(segment => {\n const yValue: YValue = {\n legend: segment.legend,\n y: getSegmentLabel(segment, _minValue, _maxValue, props.variant),\n color: segment.color,\n };\n return yValue;\n });\n _updatePosition(clientX, clientY);\n setPopoverOpen(\n ['Needle', 'Chart value'].includes(legend) || _noLegendHighlighted() || _legendHighlighted(legend),\n );\n setHoverXValue(hoverXValue);\n setHoverYValues(hoverYValues);\n if (isFocusEvent) {\n setFocusedElement(legend);\n }\n }\n\n function _hideCallout(isBlurEvent?: boolean) {\n _calloutAnchor = '';\n setPopoverOpen(false);\n setHoverXValue('');\n setHoverYValues([]);\n if (isBlurEvent) {\n setFocusedElement('');\n }\n }\n\n function _wrapContent(content: string, id: string, maxWidth: number) {\n const textElement = d3Select<SVGTextElement, {}>(`#${id}`);\n textElement.text(content);\n if (!textElement.node()) {\n return false;\n }\n\n let isOverflowing = false;\n let textLength = textElement.node()!.getComputedTextLength();\n while (textLength > maxWidth && content.length > 0) {\n content = content.slice(0, -1);\n textElement.text(content + '...');\n isOverflowing = true;\n textLength = textElement.node()!.getComputedTextLength();\n }\n return isOverflowing;\n }\n\n // TO DO: Write a common functional component for Multi value callout and divide sub count method\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _multiValueCallout(calloutProps: any) {\n const yValueHoverSubCountsExists: boolean = _yValueHoverSubCountsExists(calloutProps.YValueHover);\n return (\n <div className={classes.calloutContentRoot}>\n <div\n className={classes.calloutDateTimeContainer}\n style={yValueHoverSubCountsExists ? { marginBottom: '11px' } : {}}\n >\n <div\n className={classes.calloutContentX}\n {...getAccessibleDataObject(calloutProps!.xAxisCalloutAccessibilityData, 'text', false)}\n >\n {convertToLocaleString(calloutProps!.hoverXValue, props.culture)}\n </div>\n </div>\n <div className={classes.calloutInfoContainer} style={yValueHoverSubCountsExists ? { display: 'flex' } : {}}>\n {calloutProps!.YValueHover &&\n calloutProps!.YValueHover.map((yValue: YValueHover, index: number, yValues: YValueHover[]) => {\n const isLast: boolean = index + 1 === yValues.length;\n const { shouldDrawBorderBottom = false } = yValue;\n return (\n <div\n {...getAccessibleDataObject(yValue.callOutAccessibilityData, 'text', false)}\n key={`callout-content-${index}`}\n style={\n yValueHoverSubCountsExists\n ? {\n display: 'inline-block',\n ...(shouldDrawBorderBottom && {\n paddingBottom: '10px',\n }),\n }\n : {\n ...(shouldDrawBorderBottom && {\n paddingBottom: '10px',\n }),\n }\n }\n >\n {_getCalloutContent(yValue, index, yValueHoverSubCountsExists, isLast)}\n </div>\n );\n })}\n {!!calloutProps.descriptionMessage && (\n <div className={classes.descriptionMessage}>{calloutProps.descriptionMessage}</div>\n )}\n </div>\n </div>\n );\n }\n\n function _yValueHoverSubCountsExists(yValueHover?: YValueHover[]) {\n if (yValueHover) {\n return yValueHover.some(\n (yValue: {\n legend?: string;\n y?: number;\n color?: string;\n yAxisCalloutData?: string | { [id: string]: number };\n }) => yValue.yAxisCalloutData && typeof yValue.yAxisCalloutData !== 'string',\n );\n }\n return false;\n }\n\n function _getCalloutContent(\n xValue: YValueHover,\n index: number,\n yValueHoverSubCountsExists: boolean,\n isLast: boolean,\n ): React.ReactNode {\n const marginStyle: React.CSSProperties = isLast ? {} : { marginRight: '16px' };\n const toDrawShape = xValue.index !== undefined && xValue.index !== -1;\n const { culture } = props;\n const yValue = convertToLocaleString(xValue.y, culture);\n if (!xValue.yAxisCalloutData || typeof xValue.yAxisCalloutData === 'string') {\n return (\n <div style={yValueHoverSubCountsExists ? marginStyle : {}}>\n {yValueHoverSubCountsExists && (\n <div className=\"ms-fontWeight-semibold\" style={{ fontSize: '12pt' }}>\n {xValue.legend!} ({yValue})\n </div>\n )}\n <div\n id={`${index}_${xValue.y}`}\n className={classes.calloutBlockContainer}\n style={{ borderLeft: `4px solid ${xValue.color}` }}\n >\n {toDrawShape && (\n <Shape\n svgProps={{\n className: classes.shapeStyles,\n }}\n pathProps={{ fill: xValue.color }}\n shape={Points[xValue.index! % Object.keys(pointTypes).length] as LegendShape}\n style={{ display: 'flex' }}\n />\n )}\n <div>\n <div className={classes.calloutlegendText}> {xValue.legend}</div>\n <div className={classes.calloutContentY}>\n {convertToLocaleString(\n xValue.yAxisCalloutData ? xValue.yAxisCalloutData : xValue.y || xValue.data,\n culture,\n )}\n </div>\n </div>\n </div>\n </div>\n );\n } else {\n const subcounts: { [id: string]: number } = xValue.yAxisCalloutData as { [id: string]: number };\n return (\n <div style={marginStyle}>\n <div className=\"ms-fontWeight-semibold\" style={{ fontSize: '12pt' }}>\n {xValue.legend!} ({yValue})\n </div>\n {Object.keys(subcounts).map((subcountName: string) => {\n return (\n <div key={subcountName} className={classes.calloutBlockContainer}>\n <div className={classes.calloutlegendText}> {convertToLocaleString(subcountName, culture)}</div>\n <div className={classes.calloutContentY}>\n {convertToLocaleString(subcounts[subcountName], culture)}\n </div>\n </div>\n );\n })}\n </div>\n );\n }\n }\n\n function _updatePosition(newX: number, newY: number) {\n const threshold = 1; // Set a threshold for movement\n const { x, y } = clickPosition;\n // Calculate the distance moved\n const distance = Math.sqrt(Math.pow(newX - x, 2) + Math.pow(newY - y, 2));\n // Update the position only if the distance moved is greater than the threshold\n if (distance > threshold) {\n setClickPosition({ x: newX, y: newY });\n setPopoverOpen(true);\n }\n }\n\n function _getChartTitle(): string {\n const { chartTitle } = props;\n return (chartTitle ? `${chartTitle}. ` : '') + `Gauge chart with ${_segments.length} segments. `;\n }\n const { arcs } = _processProps();\n const focusAttributes = useFocusableGroup();\n return (\n <div className={classes.root} ref={el => (_rootElem.current = el)} {...focusAttributes}>\n <svg\n className={classes.chart}\n style={{ width: props.width, height: props.height! - _legendsHeight }}\n role=\"region\"\n aria-label={_getChartTitle()}\n onMouseLeave={_handleMouseOut}\n >\n <g transform={`translate(${width / 2}, ${height - (_margins.bottom + _legendsHeight)})`}>\n {props.chartTitle && (\n <text\n x={0}\n y={-(_outerRadius + TITLE_OFFSET)}\n textAnchor=\"middle\"\n className={classes.chartTitle}\n aria-hidden={true}\n >\n {props.chartTitle}\n </text>\n )}\n {!props.hideMinMax && (\n <>\n <text\n x={(_isRTL ? 1 : -1) * (_outerRadius + LABEL_OFFSET)}\n y={0}\n textAnchor=\"end\"\n className={classes.limits}\n role=\"img\"\n aria-label={`Min value: ${_minValue}`}\n >\n {formatValueWithSIPrefix(_minValue)}\n </text>\n <text\n x={(_isRTL ? -1 : 1) * (_outerRadius + LABEL_OFFSET)}\n y={0}\n textAnchor=\"start\"\n className={classes.limits}\n role=\"img\"\n aria-label={`Max value: ${_maxValue}`}\n >\n {formatValueWithSIPrefix(_maxValue)}\n </text>\n </>\n )}\n {arcs.map((arc, index) => {\n const segment = _segments[arc.segmentIndex];\n return (\n <React.Fragment key={index}>\n <path\n d={arc.d}\n strokeWidth={focusedElement === segment.legend ? ARC_PADDING : 0}\n className={classes.segment}\n fill={segment.color}\n opacity={_legendHighlighted(segment.legend) || _noLegendHighlighted() ? 1 : 0.1}\n {...getAccessibleDataObject(\n {\n ariaLabel: getSegmentLabel(segment, _minValue, _maxValue, props.variant, true),\n ...segment.accessibilityData,\n },\n 'img',\n true,\n )}\n onFocus={e => _handleFocus(e, segment.legend)}\n onBlur={_handleBlur}\n onMouseEnter={e => _handleMouseOver(e, segment.legend)}\n onMouseLeave={e => _handleCalloutDismiss()}\n onMouseMove={e => _handleMouseOver(e, segment.legend)}\n data-is-focusable={_legendHighlighted(segment.legend) || _noLegendHighlighted()}\n tabIndex={segment.legend !== '' ? 0 : undefined}\n />\n </React.Fragment>\n );\n })}\n {_renderNeedle()}\n <g\n onMouseEnter={e => _handleMouseOver(e, 'Chart value')}\n onMouseMove={e => _handleMouseOver(e, 'Chart value')}\n >\n <SVGTooltipText\n content={getChartValueLabel(props.chartValue, _minValue, _maxValue, props.chartValueFormat)}\n textProps={{\n x: 0,\n y: 0,\n textAnchor: 'middle',\n className: classes.chartValue,\n fontSize: chartValueSize,\n 'aria-hidden': 'true',\n }}\n maxWidth={_innerRadius * 2 - 24}\n wrapContent={_wrapContent}\n />\n </g>\n {props.sublabel && (\n <SVGTooltipText\n content={props.sublabel}\n textProps={{\n x: 0,\n y: 4,\n textAnchor: 'middle',\n dominantBaseline: 'hanging',\n className: classes.sublabel,\n }}\n maxWidth={_innerRadius * 2}\n wrapContent={_wrapContent}\n />\n )}\n </g>\n </svg>\n {_renderLegends()}\n {!props.hideTooltip && isPopoverOpen && (\n <ChartPopover\n {...props.calloutProps}\n clickPosition={clickPosition}\n isPopoverOpen={isPopoverOpen}\n customCallout={{\n customizedCallout: _multiValueCallout({ hoverXValue: hoverXValue, YValueHover: hoverYValues }),\n }}\n />\n )}\n </div>\n );\n },\n);\nGaugeChart.displayName = 'GaugeChart';\n"],"names":["ARC_PADDING","BREAKPOINTS","GaugeChart","calcNeedleRotation","getChartValueLabel","getSegmentLabel","GAUGE_MARGIN","LABEL_WIDTH","LABEL_HEIGHT","LABEL_OFFSET","TITLE_OFFSET","EXTRA_NEEDLE_LENGTH","minRadius","arcWidth","fontSize","chartValue","minValue","maxValue","needleRotation","segment","variant","isAriaLabel","legend","size","toFixed","start","end","chartValueFormat","forCallout","toString","React","forwardRef","props","forwardedRef","_getMargins","hideMinMax","chartTitle","sublabel","left","right","top","bottom","_margins","_legendsHeight","hideLegend","_rootElem","useRef","_isRTL","useRtl","width","setWidth","useState","height","setHeight","hoveredLegend","setHoveredLegend","selectedLegends","setSelectedLegends","legendProps","focusedElement","setFocusedElement","clickPosition","setClickPosition","x","y","isPopoverOpen","setPopoverOpen","hoverXValue","setHoverXValue","hoverYValues","setHoverYValues","prevPropsRef","_width","_height","_outerRadius","Math","min","chartValueSize","_getStylesBasedOnBreakpoint","_innerRadius","_minValue","_maxValue","_segments","_calloutAnchor","useEffect","current","prevProps","areArraysEqual","classes","useGaugeChartStyles","index","length","_processProps","segments","roundCorners","total","processedSegments","map","max","color","getColorFromToken","getNextColor","accessibilityData","push","arcGenerator","d3Arc","cornerRadius","padAngle","padRadius","rtlSafeSegments","Array","from","reverse","prevAngle","PI","arcs","endAngle","d","innerRadius","outerRadius","startAngle","segmentIndex","_renderNeedle","rtlSafeNeedleRotation","strokeWidth","halfStrokeWidth","needleLength","createElement","g","transform","path","className","needle","data-is-focusable","onFocus","e","_handleFocus","onBlur","_handleBlur","onMouseEnter","_handleMouseOver","onMouseMove","role","aria-label","_renderLegends","legends","title","hoverAction","onMouseOutAction","div","legendsContainer","style","Legends","centerLegends","onChange","_onLegendSelectionChange","event","currentLegend","canSelectMultipleLegends","slice","_legendHighlighted","_getHighlightedLegend","includes","_noLegendHighlighted","focusEvent","_showCallout","_hideCallout","mouseEvent","hoveredElement","_handleMouseOut","_handleCalloutDismiss","isFocusEvent","clientX","clientY","target","currentTarget","boundingRect","getBoundingClientRect","yValue","_updatePosition","isBlurEvent","_wrapContent","content","id","maxWidth","textElement","d3Select","text","node","isOverflowing","textLength","getComputedTextLength","_multiValueCallout","calloutProps","yValueHoverSubCountsExists","_yValueHoverSubCountsExists","YValueHover","calloutContentRoot","calloutDateTimeContainer","marginBottom","calloutContentX","getAccessibleDataObject","xAxisCalloutAccessibilityData","convertToLocaleString","culture","calloutInfoContainer","display","yValues","isLast","shouldDrawBorderBottom","callOutAccessibilityData","key","paddingBottom","_getCalloutContent","descriptionMessage","yValueHover","some","yAxisCalloutData","xValue","marginStyle","marginRight","toDrawShape","undefined","calloutBlockContainer","borderLeft","Shape","svgProps","shapeStyles","pathProps","fill","shape","Points","Object","keys","pointTypes","calloutlegendText","calloutContentY","data","subcounts","subcountName","newX","newY","threshold","distance","sqrt","pow","_getChartTitle","focusAttributes","useFocusableGroup","root","ref","el","svg","chart","onMouseLeave","textAnchor","aria-hidden","Fragment","limits","formatValueWithSIPrefix","arc","opacity","ariaLabel","tabIndex","SVGTooltipText","textProps","wrapContent","dominantBaseline","hideTooltip","ChartPopover","customCallout","customizedCallout","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Gauge Chart styles
3
+ * {@docCategory GaugeChart}
4
+ */ "use strict";
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["GaugeChart.types.ts"],"sourcesContent":["import { LegendsProps } from '../Legends/index';\nimport { AccessibilityProps } from '../../types/index';\nimport { ChartPopoverProps } from '../CommonComponents/ChartPopover.types';\n\n/**\n * Gauge Chart segment interface.\n * {@docCategory GaugeChart}\n */\nexport interface GaugeChartSegment {\n /**\n * Legend text for a segment\n */\n legend: string;\n\n /**\n * Size of the segment\n */\n size: number;\n\n /**\n * Color of the segment\n */\n color?: string;\n\n /**\n * Gradient color of the segment\n */\n gradient?: [string, string];\n\n /**\n * Accessibility data for the segment\n */\n accessibilityData?: AccessibilityProps;\n}\n\n/**\n * {@docCategory GaugeChart}\n */\nexport type GaugeValueFormat = 'percentage' | 'fraction';\n\n/**\n * {@docCategory GaugeChart}\n */\nexport type GaugeChartVariant = 'single-segment' | 'multiple-segments';\n\n/**\n * Gauge Chart properties\n * {@docCategory GaugeChart}\n */\nexport interface GaugeChartProps {\n /**\n * Width of the chart\n */\n width?: number;\n\n /**\n * Height of the chart\n */\n height?: number;\n\n /**\n * Title of the chart\n */\n chartTitle?: string;\n\n /**\n * Current value of the gauge\n */\n chartValue: number;\n\n /**\n * Sections of the gauge\n */\n segments: GaugeChartSegment[];\n\n /**\n * Minimum value of the gauge\n * @defaultvalue 0\n */\n minValue?: number;\n\n /**\n * Maximum value of the gauge\n */\n maxValue?: number;\n\n /**\n * Additional text to display below the chart value\n */\n sublabel?: string;\n\n /**\n * Hide the min and max values of the gauge\n * @defaultvalue false\n */\n hideMinMax?: boolean;\n\n /**\n * Format of the chart value\n * @defaultvalue GaugeValueFormat.Percentage\n */\n chartValueFormat?: GaugeValueFormat | ((sweepFraction: [number, number]) => string);\n\n /**\n * Decides whether to show/hide legends\n * @defaultvalue false\n */\n hideLegend?: boolean;\n\n /*\n * Props for the legends in the chart\n */\n legendProps?: Partial<LegendsProps>;\n\n /**\n * Do not show tooltips in chart\n * @defaultvalue false\n */\n hideTooltip?: boolean;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules\n */\n styles?: GaugeChartStyles;\n\n /**\n * Defines the culture to localize the numbers and dates\n */\n culture?: string;\n\n /**\n * Props for the callout in the chart\n */\n calloutProps?: Partial<ChartPopoverProps>;\n\n /**\n * Specifies the variant of GaugeChart to be rendered\n * @defaultvalue GaugeChartVariant.MultipleSegments\n */\n variant?: GaugeChartVariant;\n\n /**\n * Prop to enable the gradient in the chart\n * @default false\n */\n enableGradient?: boolean;\n\n /**\n * Prop to enable the round corners in the chart\n * @default false\n */\n roundCorners?: boolean;\n}\n\n/**\n * Gauge Chart styles\n * {@docCategory GaugeChart}\n */\nexport interface GaugeChartStyles {\n /**\n * Styles for the root element\n */\n root?: string;\n\n /**\n * Styles for the chart\n */\n chart?: string;\n\n /**\n * Styles for the min and max values\n */\n limits?: string;\n\n /**\n * Styles for the chart value\n */\n chartValue?: string;\n\n /**\n * Styles for the sublabel\n */\n sublabel?: string;\n\n /**\n * Styles for the needle\n */\n needle?: string;\n\n /**\n * Styles for the chart title\n */\n chartTitle?: string;\n\n /**\n * Styles for the segments\n */\n segment?: string;\n\n /**\n * Styles for gradient segments\n */\n gradientSegment?: string;\n\n /**\n * Styles for the legends container\n */\n legendsContainer?: string;\n\n /**\n * Styles for callout root-content\n */\n calloutContentRoot?: string;\n\n /**\n * Styles for callout x-content\n */\n calloutContentX?: string;\n\n /**\n * Styles for callout y-content\n */\n calloutContentY?: string;\n\n /**\n * Styles for description message\n */\n descriptionMessage?: string;\n\n /**\n * Styles for callout Date time container\n */\n calloutDateTimeContainer?: string;\n\n /**\n * Styles for callout info container\n */\n calloutInfoContainer?: string;\n\n /**\n * Styles for callout block container\n */\n calloutBlockContainer?: string;\n\n /**\n * Styles for callout legend text\n */\n calloutlegendText?: string;\n\n /**\n * Styles for the shape object in the callout\n */\n shapeStyles?: string;\n}\n"],"names":[],"rangeMappings":";;;","mappings":"AA0JA;;;CAGC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _export_star = require("@swc/helpers/_/_export_star");
6
+ _export_star._(require("./GaugeChart"), exports);
7
+ _export_star._(require("./GaugeChart.types"), exports);
8
+ _export_star._(require("../../types/index"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * from './GaugeChart';\nexport * from './GaugeChart.types';\nexport * from '../../types/index';\n"],"names":[],"rangeMappings":";;;;;;;","mappings":";;;;;uBAAc;uBACA;uBACA"}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ gaugeChartClassNames: function() {
13
+ return gaugeChartClassNames;
14
+ },
15
+ useGaugeChartStyles: function() {
16
+ return useGaugeChartStyles;
17
+ }
18
+ });
19
+ const _react = require("@griffel/react");
20
+ const gaugeChartClassNames = {
21
+ root: 'fui-gc__root',
22
+ chart: 'fui-gc__chart',
23
+ limits: 'fui-gc__limits',
24
+ chartValue: 'fui-gc__chartValue',
25
+ sublabel: 'fui-gc__sublabel',
26
+ needle: 'fui-gc__needle',
27
+ chartTitle: 'fui-gc__chartTitle',
28
+ segment: 'fui-gc__segment',
29
+ gradientSegment: 'fui-gc__gradientSegment',
30
+ calloutContentRoot: 'fui-gc__calloutContentRoot',
31
+ calloutDateTimeContainer: 'fui-gc__calloutDateTimeContainer',
32
+ calloutContentX: 'fui-gc__calloutContentX',
33
+ calloutBlockContainer: 'fui-gc__calloutBlockContainer',
34
+ shapeStyles: 'fui-gc__shapeStyles',
35
+ calloutlegendText: 'fui-gc__calloutlegendText',
36
+ calloutContentY: 'fui-gc__calloutContentY',
37
+ descriptionMessage: 'fui-gc__descriptionMessage',
38
+ calloutInfoContainer: '',
39
+ legendsContainer: ''
40
+ };
41
+ const useStyles = /*#__PURE__*/ (0, _react.__styles)({
42
+ root: {
43
+ Bahqtrf: "fk6fouc",
44
+ Be2twd7: "fkhj508",
45
+ Bhrd7zp: "figsok6",
46
+ Bg96gwp: "f1i3iumi",
47
+ mc9l5x: "f22iagw",
48
+ Beiy3e4: "f1vx9l62",
49
+ Bt984gj: "f122n59",
50
+ a9b677: "fly5x3f",
51
+ Bqenvij: "f1l02sjl"
52
+ },
53
+ chart: {
54
+ mc9l5x: "ftgm304"
55
+ },
56
+ limits: {
57
+ Bahqtrf: "fk6fouc",
58
+ Be2twd7: "fy9rknc",
59
+ Bhrd7zp: "fl43uef",
60
+ Bg96gwp: "fwrc4pm",
61
+ Bkfmm31: "fhuob2q"
62
+ },
63
+ chartValue: {
64
+ Bhrd7zp: "fl43uef",
65
+ Bkfmm31: "fhuob2q"
66
+ },
67
+ sublabel: {
68
+ Bahqtrf: "fk6fouc",
69
+ Be2twd7: "fy9rknc",
70
+ Bhrd7zp: "fl43uef",
71
+ Bg96gwp: "fwrc4pm",
72
+ Bkfmm31: "fhuob2q"
73
+ },
74
+ needle: {
75
+ Bkfmm31: "fhuob2q",
76
+ ojy3ng: "f1yuyku4"
77
+ },
78
+ chartTitle: {
79
+ Bahqtrf: "fk6fouc",
80
+ Be2twd7: "fy9rknc",
81
+ Bhrd7zp: "figsok6",
82
+ Bg96gwp: "fwrc4pm",
83
+ Bkfmm31: "fhuob2q"
84
+ },
85
+ segment: {
86
+ Bw0xxkn: 0,
87
+ oeaueh: 0,
88
+ Bpd4iqm: 0,
89
+ Befb4lg: "f13htf1t",
90
+ ojy3ng: "f1v24fw0"
91
+ },
92
+ gradientSegment: {
93
+ a9b677: "fly5x3f",
94
+ Bqenvij: "f1l02sjl"
95
+ },
96
+ calloutContentRoot: {
97
+ mc9l5x: "f13qh94s",
98
+ B68tc82: 0,
99
+ Bmxbyg5: 0,
100
+ Bpg54ce: "f1a3p1vp",
101
+ z8tnut: "fpqefah",
102
+ z189sj: [
103
+ "f1gbmcue",
104
+ "f1rh9g5y"
105
+ ],
106
+ Byoj8tv: "f1fow5ox",
107
+ uwmqm3: [
108
+ "f1rh9g5y",
109
+ "f1gbmcue"
110
+ ],
111
+ De3pzq: "fxugw4r",
112
+ jy2i9i: "fronft5"
113
+ },
114
+ calloutDateTimeContainer: {
115
+ mc9l5x: "f22iagw",
116
+ Beiy3e4: "f1063pyq",
117
+ Brf1p80: "f1869bpl"
118
+ },
119
+ calloutContentX: {
120
+ Bahqtrf: "fk6fouc",
121
+ Be2twd7: "fy9rknc",
122
+ Bhrd7zp: "figsok6",
123
+ Bg96gwp: "f104wqfl",
124
+ abs64n: "fd43bvn",
125
+ sj55zd: "fkfq4zb"
126
+ },
127
+ calloutBlockContainer: {
128
+ Bahqtrf: "fk6fouc",
129
+ Be2twd7: "fkhj508",
130
+ Bhrd7zp: "fl43uef",
131
+ Bg96gwp: "f1i3iumi",
132
+ B6of3ja: "f7jvbu2",
133
+ sj55zd: "f19n0e5",
134
+ uwmqm3: [
135
+ "f177v4lu",
136
+ "f19lj068"
137
+ ],
138
+ mc9l5x: "ftgm304"
139
+ },
140
+ shapeStyles: {
141
+ t21cq0: [
142
+ "f1phki43",
143
+ "ff9s3yw"
144
+ ]
145
+ },
146
+ calloutlegendText: {
147
+ Bahqtrf: "fk6fouc",
148
+ Be2twd7: "fy9rknc",
149
+ Bhrd7zp: "figsok6",
150
+ Bg96gwp: "f104wqfl",
151
+ sj55zd: "fkfq4zb"
152
+ },
153
+ calloutContentY: {
154
+ Bahqtrf: "fk6fouc",
155
+ Be2twd7: "fkhj508",
156
+ Bhrd7zp: "fl43uef",
157
+ Bg96gwp: "f82itaf"
158
+ },
159
+ descriptionMessage: {
160
+ Bahqtrf: "fk6fouc",
161
+ Be2twd7: "fy9rknc",
162
+ Bhrd7zp: "figsok6",
163
+ Bg96gwp: "fwrc4pm",
164
+ sj55zd: "f19n0e5",
165
+ B6of3ja: "ffemd8d",
166
+ z8tnut: "f1809wu7",
167
+ g2u3we: 0,
168
+ icvyot: 0,
169
+ B4j52fo: 0,
170
+ i8vvqc: "f10ci6s2"
171
+ }
172
+ }, {
173
+ d: [
174
+ ".fk6fouc{font-family:var(--fontFamilyBase);}",
175
+ ".fkhj508{font-size:var(--fontSizeBase300);}",
176
+ ".figsok6{font-weight:var(--fontWeightRegular);}",
177
+ ".f1i3iumi{line-height:var(--lineHeightBase300);}",
178
+ ".f22iagw{display:flex;}",
179
+ ".f1vx9l62{flex-direction:column;}",
180
+ ".f122n59{align-items:center;}",
181
+ ".fly5x3f{width:100%;}",
182
+ ".f1l02sjl{height:100%;}",
183
+ ".ftgm304{display:block;}",
184
+ ".fy9rknc{font-size:var(--fontSizeBase200);}",
185
+ ".fl43uef{font-weight:var(--fontWeightSemibold);}",
186
+ ".fwrc4pm{line-height:var(--lineHeightBase200);}",
187
+ ".fhuob2q{fill:var(--colorNeutralForeground1);}",
188
+ ".f1yuyku4{stroke:var(--colorNeutralBackground1);}",
189
+ [
190
+ ".f13htf1t{outline:none;}",
191
+ {
192
+ p: -1
193
+ }
194
+ ],
195
+ ".f1v24fw0{stroke:var(--colorNeutralStroke1);}",
196
+ ".f13qh94s{display:grid;}",
197
+ [
198
+ ".f1a3p1vp{overflow:hidden;}",
199
+ {
200
+ p: -1
201
+ }
202
+ ],
203
+ ".fpqefah{padding-top:11px;}",
204
+ ".f1gbmcue{padding-right:16px;}",
205
+ ".f1rh9g5y{padding-left:16px;}",
206
+ ".f1fow5ox{padding-bottom:10px;}",
207
+ ".fxugw4r{background-color:var(--colorNeutralBackground1);}",
208
+ ".fronft5{background-blend-mode:normal,luminosity;}",
209
+ ".f1063pyq{flex-direction:row;}",
210
+ ".f1869bpl{justify-content:space-between;}",
211
+ ".f104wqfl{line-height:16px;}",
212
+ ".fd43bvn{opacity:0.85;}",
213
+ ".fkfq4zb{color:var(--colorNeutralForeground2);}",
214
+ ".f7jvbu2{margin-top:13px;}",
215
+ ".f19n0e5{color:var(--colorNeutralForeground1);}",
216
+ ".f177v4lu{padding-left:8px;}",
217
+ ".f19lj068{padding-right:8px;}",
218
+ ".f1phki43{margin-right:8px;}",
219
+ ".ff9s3yw{margin-left:8px;}",
220
+ ".f82itaf{line-height:22px;}",
221
+ ".ffemd8d{margin-top:10px;}",
222
+ ".f1809wu7{padding-top:10px;}",
223
+ [
224
+ ".f10ci6s2{border-top:1px solid var(--colorNeutralStroke1);}",
225
+ {
226
+ p: -1
227
+ }
228
+ ]
229
+ ]
230
+ });
231
+ const useGaugeChartStyles = (props)=>{
232
+ const baseStyles = useStyles();
233
+ return {
234
+ root: (0, _react.mergeClasses)(gaugeChartClassNames.root, baseStyles.root),
235
+ chart: (0, _react.mergeClasses)(gaugeChartClassNames.chart, baseStyles.chart),
236
+ limits: (0, _react.mergeClasses)(gaugeChartClassNames.limits, baseStyles.limits),
237
+ chartValue: (0, _react.mergeClasses)(gaugeChartClassNames.chartValue, baseStyles.chartValue),
238
+ sublabel: (0, _react.mergeClasses)(gaugeChartClassNames.sublabel, baseStyles.sublabel),
239
+ needle: (0, _react.mergeClasses)(gaugeChartClassNames.needle, baseStyles.needle),
240
+ chartTitle: (0, _react.mergeClasses)(gaugeChartClassNames.chartTitle, baseStyles.chartTitle),
241
+ segment: (0, _react.mergeClasses)(gaugeChartClassNames.segment, baseStyles.segment),
242
+ gradientSegment: (0, _react.mergeClasses)(gaugeChartClassNames.gradientSegment, baseStyles.gradientSegment),
243
+ calloutContentRoot: (0, _react.mergeClasses)(gaugeChartClassNames.calloutContentRoot, baseStyles.calloutContentRoot),
244
+ calloutDateTimeContainer: (0, _react.mergeClasses)(gaugeChartClassNames.calloutDateTimeContainer, baseStyles.calloutDateTimeContainer),
245
+ calloutContentX: (0, _react.mergeClasses)(gaugeChartClassNames.calloutContentX, baseStyles.calloutContentX),
246
+ calloutBlockContainer: (0, _react.mergeClasses)(gaugeChartClassNames.calloutBlockContainer, baseStyles.calloutBlockContainer),
247
+ shapeStyles: (0, _react.mergeClasses)(gaugeChartClassNames.shapeStyles, baseStyles.shapeStyles),
248
+ calloutlegendText: (0, _react.mergeClasses)(gaugeChartClassNames.calloutlegendText, baseStyles.calloutlegendText),
249
+ calloutContentY: (0, _react.mergeClasses)(gaugeChartClassNames.calloutContentY, baseStyles.calloutContentY),
250
+ descriptionMessage: (0, _react.mergeClasses)(gaugeChartClassNames.descriptionMessage, baseStyles.descriptionMessage)
251
+ };
252
+ }; //# sourceMappingURL=useGaugeChartStyles.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"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 },\n chartValue: {\n fontWeight: tokens.fontWeightSemibold,\n fill: tokens.colorNeutralForeground1\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 color: tokens.colorNeutralForeground2\n },\n calloutBlockContainer: {\n ...typographyStyles.body1Strong,\n marginTop: '13px',\n color: tokens.colorNeutralForeground1,\n paddingLeft: '8px',\n display: 'block'\n },\n shapeStyles: {\n marginRight: '8px'\n },\n calloutlegendText: {\n ...typographyStyles.caption1,\n lineHeight: '16px',\n color: tokens.colorNeutralForeground2\n },\n calloutContentY: {\n ...typographyStyles.body1Strong,\n lineHeight: '22px'\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"],"names":["gaugeChartClassNames","useGaugeChartStyles","root","chart","limits","chartValue","sublabel","needle","chartTitle","segment","gradientSegment","calloutContentRoot","calloutDateTimeContainer","calloutContentX","calloutBlockContainer","shapeStyles","calloutlegendText","calloutContentY","descriptionMessage","calloutInfoContainer","legendsContainer","useStyles","__styles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","Bt984gj","a9b677","Bqenvij","Bkfmm31","ojy3ng","Bw0xxkn","oeaueh","Bpd4iqm","Befb4lg","B68tc82","Bmxbyg5","Bpg54ce","z8tnut","z189sj","Byoj8tv","uwmqm3","De3pzq","jy2i9i","Brf1p80","abs64n","sj55zd","B6of3ja","t21cq0","g2u3we","icvyot","B4j52fo","i8vvqc","d","p","props","baseStyles","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}