@fluentui/react-charts 0.0.0-nightly-20250819-0407.1 → 0.0.0-nightly-20250820-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.
Files changed (115) hide show
  1. package/CHANGELOG.md +15 -15
  2. package/dist/index.d.ts +9 -1
  3. package/lib/components/AreaChart/AreaChart.js +4 -1
  4. package/lib/components/AreaChart/AreaChart.js.map +1 -1
  5. package/lib/components/AreaChart/useAreaChartStyles.styles.js +2 -1
  6. package/lib/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  7. package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js +2 -1
  8. package/lib/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -1
  9. package/lib/components/CommonComponents/CartesianChart.js +48 -3
  10. package/lib/components/CommonComponents/CartesianChart.js.map +1 -1
  11. package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
  12. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +13 -0
  13. package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  14. package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js +12 -0
  15. package/lib/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
  16. package/lib/components/DeclarativeChart/DeclarativeChart.js +175 -120
  17. package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  18. package/lib/components/DeclarativeChart/PlotlyColorAdapter.js +6 -1
  19. package/lib/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
  20. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +293 -44
  21. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  22. package/lib/components/GanttChart/useGanttChartStyles.styles.js +2 -1
  23. package/lib/components/GanttChart/useGanttChartStyles.styles.js.map +1 -1
  24. package/lib/components/GanttChart/useGanttChartStyles.styles.raw.js +2 -1
  25. package/lib/components/GanttChart/useGanttChartStyles.styles.raw.js.map +1 -1
  26. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +2 -1
  27. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  28. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +2 -1
  29. package/lib/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -1
  30. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js +2 -1
  31. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
  32. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +2 -1
  33. package/lib/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +1 -1
  34. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +2 -1
  35. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  36. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +2 -1
  37. package/lib/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
  38. package/lib/components/LineChart/useLineChartStyles.styles.js +2 -1
  39. package/lib/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  40. package/lib/components/LineChart/useLineChartStyles.styles.raw.js +2 -1
  41. package/lib/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -1
  42. package/lib/components/ScatterChart/ScatterChart.js +47 -30
  43. package/lib/components/ScatterChart/ScatterChart.js.map +1 -1
  44. package/lib/components/ScatterChart/ScatterChart.types.js.map +1 -1
  45. package/lib/components/ScatterChart/useScatterChartStyles.styles.js +21 -4
  46. package/lib/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  47. package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js +16 -3
  48. package/lib/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -1
  49. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +2 -1
  50. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  51. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +2 -1
  52. package/lib/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -1
  53. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +2 -1
  54. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  55. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +2 -1
  56. package/lib/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -1
  57. package/lib/utilities/utilities.js +0 -29
  58. package/lib/utilities/utilities.js.map +1 -1
  59. package/lib-commonjs/components/AreaChart/AreaChart.js +4 -1
  60. package/lib-commonjs/components/AreaChart/AreaChart.js.map +1 -1
  61. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js +2 -1
  62. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.js.map +1 -1
  63. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js +2 -1
  64. package/lib-commonjs/components/AreaChart/useAreaChartStyles.styles.raw.js.map +1 -1
  65. package/lib-commonjs/components/CommonComponents/CartesianChart.js +48 -3
  66. package/lib-commonjs/components/CommonComponents/CartesianChart.js.map +1 -1
  67. package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
  68. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +13 -0
  69. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
  70. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js +12 -0
  71. package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.raw.js.map +1 -1
  72. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +171 -118
  73. package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
  74. package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js +9 -1
  75. package/lib-commonjs/components/DeclarativeChart/PlotlyColorAdapter.js.map +1 -1
  76. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +309 -50
  77. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  78. package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.js +2 -1
  79. package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.js.map +1 -1
  80. package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.raw.js +2 -1
  81. package/lib-commonjs/components/GanttChart/useGanttChartStyles.styles.raw.js.map +1 -1
  82. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js +2 -1
  83. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.js.map +1 -1
  84. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js +2 -1
  85. package/lib-commonjs/components/GroupedVerticalBarChart/useGroupedVerticalBarChartStyles.styles.raw.js.map +1 -1
  86. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js +2 -1
  87. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.js.map +1 -1
  88. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js +2 -1
  89. package/lib-commonjs/components/HeatMapChart/useHeatMapChartStyles.styles.raw.js.map +1 -1
  90. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js +2 -1
  91. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.js.map +1 -1
  92. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js +2 -1
  93. package/lib-commonjs/components/HorizontalBarChartWithAxis/useHorizontalBarChartWithAxisStyles.styles.raw.js.map +1 -1
  94. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js +2 -1
  95. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.js.map +1 -1
  96. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js +2 -1
  97. package/lib-commonjs/components/LineChart/useLineChartStyles.styles.raw.js.map +1 -1
  98. package/lib-commonjs/components/ScatterChart/ScatterChart.js +47 -30
  99. package/lib-commonjs/components/ScatterChart/ScatterChart.js.map +1 -1
  100. package/lib-commonjs/components/ScatterChart/ScatterChart.types.js.map +1 -1
  101. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js +30 -3
  102. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.js.map +1 -1
  103. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js +15 -2
  104. package/lib-commonjs/components/ScatterChart/useScatterChartStyles.styles.raw.js.map +1 -1
  105. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js +2 -1
  106. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.js.map +1 -1
  107. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js +2 -1
  108. package/lib-commonjs/components/VerticalBarChart/useVerticalBarChartStyles.styles.raw.js.map +1 -1
  109. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js +2 -1
  110. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.js.map +1 -1
  111. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js +2 -1
  112. package/lib-commonjs/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.raw.js.map +1 -1
  113. package/lib-commonjs/utilities/utilities.js +0 -32
  114. package/lib-commonjs/utilities/utilities.js.map +1 -1
  115. package/package.json +12 -12
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ScatterChart/ScatterChart.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ScatterChartProps } from './ScatterChart.types';\nimport { useScatterChartStyles } from './useScatterChartStyles.styles';\nimport { Axis as D3Axis } from 'd3-axis';\nimport { select as d3Select } from 'd3-selection';\nimport { Legend, Legends } from '../Legends/index';\nimport { max as d3Max, min as d3Min } from 'd3-array';\nimport { useId } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport {\n areArraysEqual,\n createNumericYAxis,\n createStringYAxis,\n domainRangeOfDateForScatterChart,\n domainRangeOfNumericForScatterChart,\n domainRangeOfXStringAxis,\n find,\n findNumericMinMaxOfY,\n IDomainNRange,\n YAxisType,\n useRtl,\n} from '../../utilities/index';\nimport {\n AccessibilityProps,\n CartesianChart,\n ChildProps,\n CustomizedCalloutData,\n Margins,\n RefArrayData,\n ScatterChartDataPoint,\n Chart,\n ImageExportOptions,\n LegendContainer,\n ScatterChartPoints,\n} from '../../index';\nimport { tokens } from '@fluentui/react-theme';\nimport {\n calloutData,\n ChartTypes,\n XAxisTypes,\n tooltipOfAxislabels,\n getTypeOfAxis,\n getNextColor,\n getColorFromToken,\n formatDate,\n} from '../../utilities/index';\nimport { toImage } from '../../utilities/image-export-utils';\n\ntype NumericAxis = D3Axis<number | { valueOf(): number }>;\n\ntype ScatterChartDataWithIndex = ScatterChartPoints & { index: number };\n\n// Create a ScatterChart variant which uses these default styles and this styled subcomponent.\n/**\n * ScatterChart component\n * {@docCategory ScatterChart}\n */\nexport const ScatterChart: React.FunctionComponent<ScatterChartProps> = React.forwardRef<\n HTMLDivElement,\n ScatterChartProps\n>((props, forwardedRef) => {\n const _circleId: string = useId('circle');\n const _seriesId: string = useId('seriesID');\n const _verticalLine: string = useId('verticalLine');\n const _tooltipId: string = useId('ScatterChartTooltipId_');\n const _firstRenderOptimization = true;\n const _emptyChartId: string = useId('_ScatterChart_empty');\n let _points: ScatterChartDataWithIndex[] = _injectIndexPropertyInScatterChartData(props.data.scatterChartData);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _calloutPoints: any[] = calloutData(_points) || [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _xAxisScale: any = '';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _yAxisScale: any = '';\n let _uniqueCallOutID: string | null = '';\n let _refArray: RefArrayData[] = [];\n let margins: Margins;\n let renderSeries: JSXElement[];\n let _xAxisLabels: string[] = [];\n let xAxisCalloutAccessibilityData: AccessibilityProps = {};\n let _xBandwidth = 0;\n const cartesianChartRef = React.useRef<Chart>(null);\n const classes = useScatterChartStyles(props);\n const _legendsRef = React.useRef<LegendContainer>(null);\n const _isRTL: boolean = useRtl();\n\n const [hoverXValue, setHoverXValue] = React.useState<string | number>('');\n const [activeLegend, setActiveLegend] = React.useState<string>('');\n const [YValueHover, setYValueHover] = React.useState<[]>([]);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [selectedLegendPoints, setSelectedLegendPoints] = React.useState<any[]>([]);\n const [isSelectedLegend, setIsSelectedLegend] = React.useState<boolean>(false);\n const [activePoint, setActivePoint] = React.useState<string>('');\n const [stackCalloutProps, setStackCalloutProps] = React.useState<CustomizedCalloutData>();\n const [clickPosition, setClickPosition] = React.useState({ x: 0, y: 0 });\n const [isPopoverOpen, setPopoverOpen] = React.useState(false);\n const [selectedLegends, setSelectedLegends] = React.useState<string[]>(props.legendProps?.selectedLegends || []);\n const prevSelectedLegendsRef = React.useRef<string[] | undefined>(undefined);\n\n React.useEffect(() => {\n if (\n prevSelectedLegendsRef.current &&\n !areArraysEqual(prevSelectedLegendsRef.current, props.legendProps?.selectedLegends)\n ) {\n setSelectedLegends(props.legendProps?.selectedLegends || []);\n }\n prevSelectedLegendsRef.current = props.legendProps?.selectedLegends;\n }, [props.legendProps?.selectedLegends]);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n chartContainer: cartesianChartRef.current?.chartContainer ?? null,\n toImage: (opts?: ImageExportOptions): Promise<string> => {\n return toImage(cartesianChartRef.current?.chartContainer, _legendsRef.current?.toSVG, _isRTL, opts);\n },\n }),\n [],\n );\n\n const _xAxisType: XAxisTypes =\n props.data.scatterChartData! &&\n props.data.scatterChartData!.length > 0 &&\n props.data.scatterChartData![0].data &&\n props.data.scatterChartData![0].data.length > 0\n ? (getTypeOfAxis(props.data.scatterChartData![0].data[0].x, true) as XAxisTypes)\n : XAxisTypes.StringAxis;\n\n const pointsRef = React.useRef<ScatterChartDataWithIndex[] | []>([]);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const calloutPointsRef = React.useRef<any[]>([]);\n React.useEffect(() => {\n /** note that height and width are not used to resize or set as dimesions of the chart,\n * fitParentContainer is responisble for setting the height and width or resizing of the svg/chart\n */\n\n if (_points !== _injectIndexPropertyInScatterChartData(props.data.scatterChartData) || props.data !== _points) {\n pointsRef.current = _injectIndexPropertyInScatterChartData(props.data.scatterChartData);\n calloutPointsRef.current = calloutData(pointsRef.current);\n }\n }, [props.height, props.width, props.data, _points]);\n\n function _injectIndexPropertyInScatterChartData(\n scatterChartData?: ScatterChartPoints[],\n ): ScatterChartDataWithIndex[] | [] {\n return scatterChartData\n ? scatterChartData.map((item: ScatterChartPoints, index: number) => {\n let color: string;\n if (typeof item.color === 'undefined') {\n color = getNextColor(index, 0);\n } else {\n color = getColorFromToken(item.color);\n }\n return {\n ...item,\n index: -1,\n color,\n };\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 _getNumericMinMaxOfY(\n points: ScatterChartPoints[],\n yAxisType?: YAxisType,\n ): { startValue: number; endValue: number } {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { startValue, endValue } = findNumericMinMaxOfY(points, yAxisType);\n let yPadding = 0;\n yPadding = (endValue - startValue) * 0.1;\n\n return {\n startValue: startValue - yPadding,\n endValue: endValue + yPadding,\n };\n }\n\n function _getDomainNRangeValues(\n points: any,\n margins: Margins,\n width: number,\n chartType: ChartTypes,\n isRTL: boolean,\n xAxisType: XAxisTypes,\n barWidth: number,\n tickValues: Date[] | number[] | undefined,\n shiftX: number,\n ) {\n let domainNRangeValue: IDomainNRange;\n if (xAxisType === XAxisTypes.NumericAxis) {\n domainNRangeValue = domainRangeOfNumericForScatterChart(points, margins, width, isRTL);\n } else if (xAxisType === XAxisTypes.DateAxis) {\n domainNRangeValue = domainRangeOfDateForScatterChart(points, margins, width, isRTL, tickValues! as Date[]);\n } else {\n domainNRangeValue = domainRangeOfXStringAxis(margins, width, isRTL);\n }\n return domainNRangeValue;\n }\n\n function _getMargins(_margins: Margins) {\n margins = _margins;\n }\n\n function _initializeScatterChartData(\n xScale: NumericAxis,\n yScale: NumericAxis,\n containerHeight: number,\n containerWidth: number,\n xElement: SVGElement | null,\n ) {\n _xAxisScale = xScale;\n _yAxisScale = yScale;\n renderSeries = _createPlot(xElement!, containerHeight!);\n }\n\n function _onHoverCardHide() {\n setSelectedLegendPoints([]);\n setIsSelectedLegend(false);\n }\n\n function _createLegends(data: ScatterChartDataWithIndex[]): JSXElement {\n const { legendProps } = props;\n const isLegendMultiSelectEnabled = !!(legendProps && !!legendProps.canSelectMultipleLegends);\n const legendDataItems = data.map((point: ScatterChartDataWithIndex) => {\n const color: string = point.color!;\n // mapping data to the format Legends component needs\n const legend: Legend = {\n title: point.legend!,\n color,\n onMouseOutAction: () => {\n setActiveLegend('');\n },\n hoverAction: () => {\n _handleChartMouseLeave();\n setActiveLegend(point.legend);\n },\n ...(point.legendShape && {\n shape: point.legendShape,\n }),\n };\n return legend;\n });\n\n return (\n <Legends\n legends={[...legendDataItems]}\n enabledWrapLines={props.enabledLegendsWrapLines}\n overflowText={props.legendsOverflowText}\n {...(isLegendMultiSelectEnabled && { onLegendHoverCardLeave: _onHoverCardHide })}\n {...props.legendProps}\n selectedLegends={selectedLegends}\n onChange={_onLegendSelectionChange}\n legendRef={_legendsRef}\n />\n );\n }\n\n function _onLegendSelectionChange(\n legendsSelected: string[],\n event: React.MouseEvent<HTMLButtonElement>,\n currentLegend?: Legend,\n ): void {\n if (props.legendProps?.canSelectMultipleLegends) {\n setSelectedLegends(legendsSelected);\n } else {\n setSelectedLegends(legendsSelected.slice(-1));\n }\n\n if (props.legendProps?.onChange) {\n props.legendProps.onChange(legendsSelected, event, currentLegend);\n }\n }\n\n function _getPointFill(seriesColor: string, pointId: string, pointIndex: number, isLastPoint: boolean) {\n if (activePoint === pointId) {\n return tokens.colorNeutralBackground1;\n } else {\n return seriesColor;\n }\n }\n\n function _createPlot(xElement: SVGElement, containerHeight: number): JSXElement[] {\n const series: JSXElement[] = [];\n if (isSelectedLegend) {\n _points = selectedLegendPoints;\n } else {\n _points = _injectIndexPropertyInScatterChartData(props.data.scatterChartData);\n }\n\n const yMax = d3Max(points, (point: ScatterChartPoints) => {\n return d3Max(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => item.y)!;\n })!;\n const yMin = d3Min(points, (point: ScatterChartPoints) => {\n return d3Min(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => item.y)!;\n })!;\n const yPadding = (yMax - yMin) * 0.1;\n const yPaddingRange = Math.abs(_yAxisScale(yMin + yPadding) - _yAxisScale(yMin));\n\n let maxMarkerRange = 40;\n let xPaddingRange = 0;\n if (_xAxisType === XAxisTypes.StringAxis) {\n _xBandwidth = _xAxisScale.bandwidth() / 2;\n xPaddingRange = _xBandwidth;\n } else if (_xAxisType === XAxisTypes.DateAxis) {\n const xMin = d3Min(points, (point: ScatterChartPoints) => {\n return d3Min(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => item.x as Date)!;\n })!;\n\n const xMax = d3Max(points, (point: ScatterChartPoints) => {\n return d3Max(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => {\n return item.x as Date;\n });\n })!;\n\n const xPadding = (xMax.getTime() - xMin.getTime()) * 0.1;\n xPaddingRange = Math.abs(_xAxisScale(new Date(xMin.getTime() + xPadding)) - _xAxisScale(xMin));\n } else {\n const xMin = d3Min(points, (point: ScatterChartPoints) => {\n return d3Min(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => item.x as number)!;\n })!;\n\n const xMax = d3Max(points, (point: ScatterChartPoints) => {\n return d3Max(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => {\n return item.x as number;\n });\n })!;\n\n const xPadding = (xMax - xMin) * 0.1;\n xPaddingRange = Math.abs(_xAxisScale(xMin + xPadding) - _xAxisScale(xMin));\n }\n maxMarkerRange = Math.min(maxMarkerRange, Math.min(xPaddingRange, yPaddingRange));\n\n const maxMarkerSize = d3Max(_points, (point: ScatterChartPoints) => {\n return d3Max(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => {\n return item.markerSize as number;\n });\n })!;\n\n for (let i = _points.length - 1; i >= 0; i--) {\n const pointsForSeries: JSXElement[] = [];\n\n const legendVal: string = _points[i].legend;\n const seriesColor: string = _points[i].color!;\n const verticaLineHeight = containerHeight - margins.bottom! + 6;\n\n for (let j = 0; j < _points[i].data.length; j++) {\n const seriesId = `${_seriesId}_${i}_${j}`;\n const circleId = `${_circleId}_${i}_${j}`;\n const { x, y, xAxisCalloutData, xAxisCalloutAccessibilityData } = _points[i].data[j];\n let circleRadius = 3.5;\n const pointMarkerSize = (_points[i].data[j] as ScatterChartDataPoint).markerSize;\n if ((pointMarkerSize as number) !== undefined) {\n circleRadius = Math.min((pointMarkerSize! * maxMarkerRange) / maxMarkerSize, pointMarkerSize!);\n }\n\n const isLegendSelected: boolean = _legendHighlighted(legendVal) || _noLegendHighlighted() || isSelectedLegend;\n\n const currentPointHidden = _points[i].hideNonActiveDots && activePoint !== circleId;\n pointsForSeries.push(\n <circle\n id={circleId}\n key={circleId}\n r={circleRadius}\n cx={_xAxisScale(x) + _xBandwidth}\n cy={_yAxisScale(y)}\n data-is-focusable={isLegendSelected}\n onMouseOver={(event: React.MouseEvent<SVGElement>) =>\n _handleHover(x, y, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event)\n }\n onMouseMove={(event: React.MouseEvent<SVGElement>) =>\n _handleHover(x, y, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event)\n }\n onMouseOut={_handleMouseOut}\n onFocus={event =>\n _handleFocus(event, seriesId, x, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData)\n }\n onBlur={_handleMouseOut}\n {..._getClickHandler(_points[i].data[j].onDataPointClick)}\n opacity={isLegendSelected && !currentPointHidden ? 1 : 0.1}\n fill={_getPointFill(seriesColor, circleId, j, false)}\n stroke={seriesColor}\n role=\"img\"\n aria-label={_getAriaLabel(i, j)}\n tabIndex={isLegendSelected ? 0 : undefined}\n />,\n );\n }\n\n series.push(\n <g\n key={`series_${i}`}\n role=\"region\"\n aria-label={`${legendVal}, series ${i + 1} of ${_points.length} with ${_points[i].data.length} data points.`}\n >\n {pointsForSeries}\n </g>,\n );\n }\n // Removing un wanted tooltip div from DOM, when prop not provided.\n if (!props.showXAxisLablesTooltip) {\n try {\n document.getElementById(_tooltipId) && document.getElementById(_tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n // Used to display tooltip at x axis labels.\n if (!props.wrapXAxisLables && props.showXAxisLablesTooltip) {\n const xAxisElement = d3Select(xElement).call(_xAxisScale);\n try {\n document.getElementById(_tooltipId) && document.getElementById(_tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n const tooltipProps = {\n tooltipCls: classes.tooltip!,\n id: _tooltipId,\n axis: xAxisElement,\n };\n xAxisElement && tooltipOfAxislabels(tooltipProps);\n }\n return series;\n }\n\n function _handleFocus(\n event: React.FocusEvent<SVGCircleElement, Element>,\n seriesId: string,\n x: number | Date | string,\n xAxisCalloutData: string | undefined,\n circleId: string,\n xAxisCalloutAccessibilityData?: AccessibilityProps,\n ) {\n let cx = 0;\n let cy = 0;\n\n const targetRect = (event.target as SVGCircleElement).getBoundingClientRect();\n cx = targetRect.left + targetRect.width / 2;\n cy = targetRect.top + targetRect.height / 2;\n updatePosition(cx, cy);\n _uniqueCallOutID = circleId;\n const formattedData = x instanceof Date ? formatDate(x, props.useUTC) : x;\n const xVal = x instanceof Date ? x.getTime() : x;\n const found = find(_calloutPoints, (element: { x: string | number }) => element.x === xVal);\n // if no points need to be called out then don't show vertical line and callout card\n\n if (found) {\n d3Select(`#${_verticalLine}`)\n .attr('transform', () => `translate(${_xAxisScale(x) + _xBandwidth}, 0)`)\n .attr('visibility', 'visibility');\n _refArray.forEach((obj: RefArrayData) => {\n if (obj.index === seriesId) {\n setPopoverOpen(true);\n xAxisCalloutData ? setHoverXValue(xAxisCalloutData) : setHoverXValue('' + formattedData);\n setYValueHover(found.values);\n setStackCalloutProps(found!);\n setActivePoint(circleId);\n }\n });\n } else {\n setActivePoint(circleId);\n }\n }\n\n function _handleHover(\n x: number | Date | string,\n y: number | Date,\n lineHeight: number,\n xAxisCalloutData: string | undefined,\n circleId: string,\n xAxisCalloutAccessibilityData: AccessibilityProps | undefined,\n mouseEvent: React.MouseEvent<SVGElement>,\n ) {\n mouseEvent?.persist();\n const formattedData = x instanceof Date ? formatDate(x, props.useUTC) : x;\n const xVal = x instanceof Date ? x.getTime() : x;\n const found = find(_calloutPoints, (element: { x: string | number }) => element.x === xVal);\n // if no points need to be called out then don't show vertical line and callout card\n\n if (found) {\n d3Select(`#${_verticalLine}`)\n .attr('transform', () => `translate(${_xAxisScale(x) + _xBandwidth}, ${_yAxisScale(y)})`)\n .attr('visibility', 'visibility')\n .attr('y2', `${lineHeight - _yAxisScale(y)}`);\n\n if (_uniqueCallOutID !== circleId) {\n _uniqueCallOutID = circleId;\n updatePosition(mouseEvent.clientX, mouseEvent.clientY);\n xAxisCalloutData ? setHoverXValue(xAxisCalloutData) : setHoverXValue('' + formattedData);\n setYValueHover(found.values);\n setStackCalloutProps(found!);\n setActivePoint(circleId);\n }\n } else {\n setActivePoint(circleId);\n }\n }\n\n /**\n * Screen readers announce an element as clickable if the onClick attribute is set.\n * This function sets the attribute only when a click event handler is provided.*/\n\n function _getClickHandler(func?: () => void): { onClick?: () => void } {\n if (func) {\n return {\n onClick: func,\n };\n }\n\n return {};\n }\n\n function _handleMouseOut() {\n d3Select(`#${_verticalLine}`).attr('visibility', 'hidden');\n }\n\n function _handleChartMouseLeave() {\n _uniqueCallOutID = null;\n setActivePoint('');\n if (isPopoverOpen) {\n setPopoverOpen(false);\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): boolean {\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(): boolean {\n return _getHighlightedLegend().length === 0;\n }\n\n function _getHighlightedLegend(): string[] {\n return selectedLegends.length > 0 ? selectedLegends : activeLegend ? [activeLegend] : [];\n }\n\n function _getAriaLabel(seriesIndex: number, pointIndex: number): string {\n const series = _points[seriesIndex];\n const point = series.data[pointIndex];\n const formattedDate = point.x instanceof Date ? formatDate(point.x, props.useUTC) : point.x;\n const xValue = point.xAxisCalloutData || formattedDate;\n const legend = series.legend;\n const yValue = point.yAxisCalloutData || point.y;\n return point.callOutAccessibilityData?.ariaLabel || `${xValue}. ${legend}, ${yValue}.`;\n }\n\n function _isChartEmpty(): boolean {\n return !(\n props.data &&\n props.data.scatterChartData &&\n props.data.scatterChartData.length > 0 &&\n props.data.scatterChartData.filter((item: ScatterChartPoints) => item.data.length).length > 0\n );\n }\n\n const { legendProps, tickValues, tickFormat } = props;\n _points = _injectIndexPropertyInScatterChartData(props.data.scatterChartData);\n\n let points = _points;\n if (legendProps && !!legendProps.canSelectMultipleLegends) {\n points = selectedLegendPoints.length >= 1 ? selectedLegendPoints : _points;\n _calloutPoints = calloutData(points);\n }\n\n let legendBars = null;\n // reduce computation cost by only creating legendBars\n // if when hideLegend is false.\n // NOTE: they are rendered only when hideLegend is false in CartesianChart.\n if (!props.hideLegend) {\n legendBars = _createLegends(_points!); // ToDo: Memoize legends to improve performance.\n }\n const calloutProps = {\n YValueHover,\n hoverXValue,\n descriptionMessage:\n props.getCalloutDescriptionMessage && stackCalloutProps\n ? props.getCalloutDescriptionMessage(stackCalloutProps)\n : undefined,\n 'data-is-focusable': true,\n xAxisCalloutAccessibilityData,\n ...props.calloutProps,\n clickPosition,\n isPopoverOpen,\n isCalloutForStack: true,\n culture: props.culture ?? 'en-us',\n isCartesian: true,\n };\n const tickParams = {\n tickValues,\n tickFormat,\n };\n\n const xAxisLabels: string[] = _points\n .map((point: ScatterChartDataWithIndex) => point.data.map((dp: ScatterChartDataPoint) => dp.x as string))\n .flat();\n\n _xAxisLabels = [...new Set(xAxisLabels)];\n\n return !_isChartEmpty() ? (\n <CartesianChart\n {...props}\n chartTitle={props.data.chartTitle}\n points={points}\n chartType={ChartTypes.ScatterChart}\n calloutProps={calloutProps}\n tickParams={tickParams}\n legendBars={legendBars}\n getmargins={_getMargins}\n getGraphData={_initializeScatterChartData}\n xAxisType={_xAxisType}\n getMinMaxOfYAxis={_getNumericMinMaxOfY}\n getDomainNRangeValues={_getDomainNRangeValues}\n createYAxis={createNumericYAxis}\n createStringYAxis={createStringYAxis}\n onChartMouseLeave={_handleChartMouseLeave}\n enableFirstRenderOptimization={_firstRenderOptimization}\n datasetForXAxisDomain={_xAxisLabels}\n componentRef={cartesianChartRef}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children={(props: ChildProps) => {\n _xAxisScale = props.xScale!;\n _yAxisScale = props.yScalePrimary!;\n return (\n <>\n <g>\n <line\n x1={0}\n y1={0}\n x2={0}\n y2={props.containerHeight}\n stroke={'#323130'}\n id={_verticalLine}\n visibility={'hidden'}\n strokeDasharray={'5,5'}\n />\n <g>{renderSeries}</g>\n </g>\n </>\n );\n }}\n />\n ) : (\n <div id={_emptyChartId} role={'alert'} style={{ opacity: '0' }} aria-label={'Graph has no data to display'} />\n );\n});\nScatterChart.displayName = 'ScatterChart';\n"],"names":["React","useScatterChartStyles","select","d3Select","Legends","max","d3Max","min","d3Min","useId","areArraysEqual","createNumericYAxis","createStringYAxis","domainRangeOfDateForScatterChart","domainRangeOfNumericForScatterChart","domainRangeOfXStringAxis","find","findNumericMinMaxOfY","useRtl","CartesianChart","tokens","calloutData","ChartTypes","XAxisTypes","tooltipOfAxislabels","getTypeOfAxis","getNextColor","getColorFromToken","formatDate","toImage","ScatterChart","forwardRef","props","forwardedRef","_circleId","_seriesId","_verticalLine","_tooltipId","_firstRenderOptimization","_emptyChartId","_points","_injectIndexPropertyInScatterChartData","data","scatterChartData","_calloutPoints","_xAxisScale","_yAxisScale","_uniqueCallOutID","_refArray","margins","renderSeries","_xAxisLabels","xAxisCalloutAccessibilityData","_xBandwidth","cartesianChartRef","useRef","classes","_legendsRef","_isRTL","hoverXValue","setHoverXValue","useState","activeLegend","setActiveLegend","YValueHover","setYValueHover","selectedLegendPoints","setSelectedLegendPoints","isSelectedLegend","setIsSelectedLegend","activePoint","setActivePoint","stackCalloutProps","setStackCalloutProps","clickPosition","setClickPosition","x","y","isPopoverOpen","setPopoverOpen","selectedLegends","setSelectedLegends","legendProps","prevSelectedLegendsRef","undefined","useEffect","current","useImperativeHandle","componentRef","chartContainer","opts","toSVG","_xAxisType","length","StringAxis","pointsRef","calloutPointsRef","height","width","map","item","index","color","updatePosition","newX","newY","threshold","distance","Math","sqrt","pow","_getNumericMinMaxOfY","points","yAxisType","startValue","endValue","yPadding","_getDomainNRangeValues","chartType","isRTL","xAxisType","barWidth","tickValues","shiftX","domainNRangeValue","NumericAxis","DateAxis","_getMargins","_margins","_initializeScatterChartData","xScale","yScale","containerHeight","containerWidth","xElement","_createPlot","_onHoverCardHide","_createLegends","isLegendMultiSelectEnabled","canSelectMultipleLegends","legendDataItems","point","legend","title","onMouseOutAction","hoverAction","_handleChartMouseLeave","legendShape","shape","legends","enabledWrapLines","enabledLegendsWrapLines","overflowText","legendsOverflowText","onLegendHoverCardLeave","onChange","_onLegendSelectionChange","legendRef","legendsSelected","event","currentLegend","slice","_getPointFill","seriesColor","pointId","pointIndex","isLastPoint","colorNeutralBackground1","series","yMax","yMin","yPaddingRange","abs","maxMarkerRange","xPaddingRange","bandwidth","xMin","xMax","xPadding","getTime","Date","maxMarkerSize","markerSize","i","pointsForSeries","legendVal","verticaLineHeight","bottom","j","seriesId","circleId","xAxisCalloutData","circleRadius","pointMarkerSize","isLegendSelected","_legendHighlighted","_noLegendHighlighted","currentPointHidden","hideNonActiveDots","push","circle","id","key","r","cx","cy","data-is-focusable","onMouseOver","_handleHover","onMouseMove","onMouseOut","_handleMouseOut","onFocus","_handleFocus","onBlur","_getClickHandler","onDataPointClick","opacity","fill","stroke","role","aria-label","_getAriaLabel","tabIndex","g","showXAxisLablesTooltip","document","getElementById","remove","e","wrapXAxisLables","xAxisElement","call","tooltipProps","tooltipCls","tooltip","axis","targetRect","target","getBoundingClientRect","left","top","formattedData","useUTC","xVal","found","element","attr","forEach","obj","values","lineHeight","mouseEvent","persist","clientX","clientY","func","onClick","_getHighlightedLegend","includes","seriesIndex","formattedDate","xValue","yValue","yAxisCalloutData","callOutAccessibilityData","ariaLabel","_isChartEmpty","filter","tickFormat","legendBars","hideLegend","calloutProps","descriptionMessage","getCalloutDescriptionMessage","isCalloutForStack","culture","isCartesian","tickParams","xAxisLabels","dp","flat","Set","chartTitle","getmargins","getGraphData","getMinMaxOfYAxis","getDomainNRangeValues","createYAxis","onChartMouseLeave","enableFirstRenderOptimization","datasetForXAxisDomain","children","yScalePrimary","line","x1","y1","x2","y2","visibility","strokeDasharray","div","style","displayName"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/components/ScatterChart/ScatterChart.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ScatterChartProps } from './ScatterChart.types';\nimport { useScatterChartStyles } from './useScatterChartStyles.styles';\nimport { Axis as D3Axis } from 'd3-axis';\nimport { select as d3Select } from 'd3-selection';\nimport { Legend, Legends } from '../Legends/index';\nimport { max as d3Max, min as d3Min } from 'd3-array';\nimport { useId } from '@fluentui/react-utilities';\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport {\n areArraysEqual,\n createNumericYAxis,\n createStringYAxis,\n domainRangeOfDateForScatterChart,\n domainRangeOfNumericForScatterChart,\n domainRangeOfXStringAxis,\n find,\n findNumericMinMaxOfY,\n IDomainNRange,\n YAxisType,\n useRtl,\n} from '../../utilities/index';\nimport {\n AccessibilityProps,\n CartesianChart,\n ChildProps,\n CustomizedCalloutData,\n Margins,\n RefArrayData,\n ScatterChartDataPoint,\n Chart,\n ImageExportOptions,\n LegendContainer,\n ScatterChartPoints,\n} from '../../index';\nimport { tokens } from '@fluentui/react-theme';\nimport {\n calloutData,\n ChartTypes,\n XAxisTypes,\n tooltipOfAxislabels,\n getTypeOfAxis,\n getNextColor,\n getColorFromToken,\n formatDate,\n} from '../../utilities/index';\nimport { toImage } from '../../utilities/image-export-utils';\nimport { ScaleLinear } from 'd3-scale';\n\ntype NumericAxis = D3Axis<number | { valueOf(): number }>;\n\ntype ScatterChartDataWithIndex = ScatterChartPoints & { index: number };\n\n// Create a ScatterChart variant which uses these default styles and this styled subcomponent.\n/**\n * ScatterChart component\n * {@docCategory ScatterChart}\n */\nexport const ScatterChart: React.FunctionComponent<ScatterChartProps> = React.forwardRef<\n HTMLDivElement,\n ScatterChartProps\n>((props, forwardedRef) => {\n const _circleId: string = useId('circle');\n const _seriesId: string = useId('seriesID');\n const _verticalLine: string = useId('verticalLine');\n const _tooltipId: string = useId('ScatterChartTooltipId_');\n const _firstRenderOptimization = true;\n const _emptyChartId: string = useId('_ScatterChart_empty');\n let _points: ScatterChartDataWithIndex[] = _injectIndexPropertyInScatterChartData(props.data.scatterChartData);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _calloutPoints: any[] = calloutData(_points) || [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _xAxisScale: any = '';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let _yAxisScale: any = '';\n let _uniqueCallOutID: string | null = '';\n let _refArray: RefArrayData[] = [];\n let margins: Margins;\n let renderSeries: JSXElement[];\n let _xAxisLabels: string[] = [];\n let xAxisCalloutAccessibilityData: AccessibilityProps = {};\n let _xBandwidth = 0;\n const cartesianChartRef = React.useRef<Chart>(null);\n const classes = useScatterChartStyles(props);\n const _legendsRef = React.useRef<LegendContainer>(null);\n const _isRTL: boolean = useRtl();\n\n const [hoverXValue, setHoverXValue] = React.useState<string | number>('');\n const [activeLegend, setActiveLegend] = React.useState<string>('');\n const [YValueHover, setYValueHover] = React.useState<[]>([]);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [selectedLegendPoints, setSelectedLegendPoints] = React.useState<any[]>([]);\n const [isSelectedLegend, setIsSelectedLegend] = React.useState<boolean>(false);\n const [activePoint, setActivePoint] = React.useState<string>('');\n const [stackCalloutProps, setStackCalloutProps] = React.useState<CustomizedCalloutData>();\n const [clickPosition, setClickPosition] = React.useState({ x: 0, y: 0 });\n const [isPopoverOpen, setPopoverOpen] = React.useState(false);\n const [selectedLegends, setSelectedLegends] = React.useState<string[]>(props.legendProps?.selectedLegends || []);\n const prevSelectedLegendsRef = React.useRef<string[] | undefined>(undefined);\n\n React.useEffect(() => {\n if (\n prevSelectedLegendsRef.current &&\n !areArraysEqual(prevSelectedLegendsRef.current, props.legendProps?.selectedLegends)\n ) {\n setSelectedLegends(props.legendProps?.selectedLegends || []);\n }\n prevSelectedLegendsRef.current = props.legendProps?.selectedLegends;\n }, [props.legendProps?.selectedLegends]);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n chartContainer: cartesianChartRef.current?.chartContainer ?? null,\n toImage: (opts?: ImageExportOptions): Promise<string> => {\n return toImage(cartesianChartRef.current?.chartContainer, _legendsRef.current?.toSVG, _isRTL, opts);\n },\n }),\n [],\n );\n\n const _xAxisType: XAxisTypes =\n props.data.scatterChartData! &&\n props.data.scatterChartData!.length > 0 &&\n props.data.scatterChartData![0].data &&\n props.data.scatterChartData![0].data.length > 0\n ? (getTypeOfAxis(props.data.scatterChartData![0].data[0].x, true) as XAxisTypes)\n : XAxisTypes.StringAxis;\n\n const pointsRef = React.useRef<ScatterChartDataWithIndex[] | []>([]);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const calloutPointsRef = React.useRef<any[]>([]);\n React.useEffect(() => {\n /** note that height and width are not used to resize or set as dimesions of the chart,\n * fitParentContainer is responisble for setting the height and width or resizing of the svg/chart\n */\n\n if (_points !== _injectIndexPropertyInScatterChartData(props.data.scatterChartData) || props.data !== _points) {\n pointsRef.current = _injectIndexPropertyInScatterChartData(props.data.scatterChartData);\n calloutPointsRef.current = calloutData(pointsRef.current);\n }\n }, [props.height, props.width, props.data, _points]);\n\n function _injectIndexPropertyInScatterChartData(\n scatterChartData?: ScatterChartPoints[],\n ): ScatterChartDataWithIndex[] | [] {\n return scatterChartData\n ? scatterChartData.map((item: ScatterChartPoints, index: number) => {\n let color: string;\n if (typeof item.color === 'undefined') {\n color = getNextColor(index, 0);\n } else {\n color = getColorFromToken(item.color);\n }\n return {\n ...item,\n index: -1,\n color,\n };\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 _getNumericMinMaxOfY(\n points: ScatterChartPoints[],\n yAxisType?: YAxisType,\n ): { startValue: number; endValue: number } {\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const { startValue, endValue } = findNumericMinMaxOfY(points, yAxisType);\n let yPadding = 0;\n yPadding = (endValue - startValue) * 0.1;\n\n return {\n startValue: startValue - yPadding,\n endValue: endValue + yPadding,\n };\n }\n\n function _getDomainNRangeValues(\n points: any,\n margins: Margins,\n width: number,\n chartType: ChartTypes,\n isRTL: boolean,\n xAxisType: XAxisTypes,\n barWidth: number,\n tickValues: Date[] | number[] | undefined,\n shiftX: number,\n ) {\n let domainNRangeValue: IDomainNRange;\n if (xAxisType === XAxisTypes.NumericAxis) {\n domainNRangeValue = domainRangeOfNumericForScatterChart(points, margins, width, isRTL);\n } else if (xAxisType === XAxisTypes.DateAxis) {\n domainNRangeValue = domainRangeOfDateForScatterChart(points, margins, width, isRTL, tickValues! as Date[]);\n } else {\n domainNRangeValue = domainRangeOfXStringAxis(margins, width, isRTL);\n }\n return domainNRangeValue;\n }\n\n function _getMargins(_margins: Margins) {\n margins = _margins;\n }\n\n function _initializeScatterChartData(\n xScale: NumericAxis,\n yScale: NumericAxis,\n containerHeight: number,\n containerWidth: number,\n xElement: SVGElement | null,\n ) {\n _xAxisScale = xScale;\n _yAxisScale = yScale;\n renderSeries = _createPlot(xElement!, containerHeight!);\n }\n\n function _onHoverCardHide() {\n setSelectedLegendPoints([]);\n setIsSelectedLegend(false);\n }\n\n function _createLegends(data: ScatterChartDataWithIndex[]): JSXElement {\n const { legendProps } = props;\n const isLegendMultiSelectEnabled = !!(legendProps && !!legendProps.canSelectMultipleLegends);\n const mapLegendToPoints: Record<string, ScatterChartDataWithIndex[]> = {};\n data.forEach((point: ScatterChartDataWithIndex) => {\n if (point.legend) {\n if (!mapLegendToPoints[point.legend]) {\n mapLegendToPoints[point.legend] = [];\n }\n mapLegendToPoints[point.legend].push(point);\n }\n });\n const legendDataItems: Legend[] = Object.entries(mapLegendToPoints).map(([legendTitle, points]) => {\n const representativePoint = points[0];\n // mapping data to the format Legends component needs\n const legend: Legend = {\n title: legendTitle,\n color: representativePoint.color!,\n onMouseOutAction: () => {\n setActiveLegend('');\n },\n hoverAction: () => {\n _handleChartMouseLeave();\n setActiveLegend(legendTitle);\n },\n ...(representativePoint.legendShape && {\n shape: representativePoint.legendShape,\n }),\n };\n return legend;\n });\n\n return (\n <Legends\n legends={[...legendDataItems]}\n enabledWrapLines={props.enabledLegendsWrapLines}\n overflowText={props.legendsOverflowText}\n {...(isLegendMultiSelectEnabled && { onLegendHoverCardLeave: _onHoverCardHide })}\n {...props.legendProps}\n selectedLegends={selectedLegends}\n onChange={_onLegendSelectionChange}\n legendRef={_legendsRef}\n />\n );\n }\n\n function _onLegendSelectionChange(\n legendsSelected: string[],\n event: React.MouseEvent<HTMLButtonElement>,\n currentLegend?: Legend,\n ): void {\n if (props.legendProps?.canSelectMultipleLegends) {\n setSelectedLegends(legendsSelected);\n } else {\n setSelectedLegends(legendsSelected.slice(-1));\n }\n\n if (props.legendProps?.onChange) {\n props.legendProps.onChange(legendsSelected, event, currentLegend);\n }\n }\n\n function _getPointFill(seriesColor: string, pointId: string, pointIndex: number, isLastPoint: boolean) {\n if (activePoint === pointId) {\n return tokens.colorNeutralBackground1;\n } else {\n return seriesColor;\n }\n }\n\n function _getRangeForScatterMarkerSize(\n yScale: ScaleLinear<number, number>,\n yPadding: number,\n xMin: number,\n xMax: number,\n xPadding: number,\n ): number {\n const extraXPixels = _isRTL\n ? _xAxisScale(xMax - xPadding) - _xAxisScale(xMax)\n : _xAxisScale(xMin + xPadding) - _xAxisScale(xMin);\n\n const yMin = yScale.domain()[0];\n const extraYPixels = yScale(yMin) - yScale(yMin + yPadding);\n return Math.min(extraXPixels, extraYPixels);\n }\n\n function _createPlot(xElement: SVGElement, containerHeight: number): JSXElement[] {\n const series: JSXElement[] = [];\n if (isSelectedLegend) {\n _points = selectedLegendPoints;\n } else {\n _points = _injectIndexPropertyInScatterChartData(props.data.scatterChartData);\n }\n\n const yMax = d3Max(points, (point: ScatterChartPoints) => {\n return d3Max(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => item.y)!;\n })!;\n const yMin = d3Min(points, (point: ScatterChartPoints) => {\n return d3Min(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => item.y)!;\n })!;\n const yPadding = (yMax - yMin) * 0.1;\n\n let xPadding = 0;\n let xMin: number = 0;\n let xMax: number = 0;\n if (_xAxisType === XAxisTypes.StringAxis) {\n _xBandwidth = _xAxisScale.bandwidth() / 2;\n } else if (_xAxisType === XAxisTypes.DateAxis) {\n xMin = d3Min(_points, (point: ScatterChartPoints) => {\n return d3Min(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => item.x as Date)!;\n })!.getTime();\n\n xMax = d3Max(_points, (point: ScatterChartPoints) => {\n return d3Max(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => {\n return item.x as Date;\n });\n })!.getTime();\n\n xPadding = (xMax - xMin) * 0.1;\n } else {\n xMin = d3Min(_points, (point: ScatterChartPoints) => {\n return d3Min(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => item.x as number)!;\n })!;\n\n xMax = d3Max(_points, (point: ScatterChartPoints) => {\n return d3Max(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => {\n return item.x as number;\n });\n })!;\n\n xPadding = (xMax - xMin) * 0.1;\n }\n\n const maxMarkerSize = d3Max(_points, (point: ScatterChartPoints) => {\n return d3Max(point.data as ScatterChartDataPoint[], (item: ScatterChartDataPoint) => {\n return item.markerSize as number;\n });\n })!;\n\n for (let i = _points.length - 1; i >= 0; i--) {\n const pointsForSeries: JSXElement[] = [];\n\n const legendVal: string = _points[i].legend;\n const seriesColor: string = _points[i].color!;\n const verticaLineHeight = containerHeight - margins.bottom! + 6;\n\n for (let j = 0; j < _points[i].data.length; j++) {\n const seriesId = `${_seriesId}_${i}_${j}`;\n const circleId = `${_circleId}_${i}_${j}`;\n const { x, y, xAxisCalloutData, xAxisCalloutAccessibilityData } = _points[i].data[j];\n const pointMarkerSize = (_points[i].data[j] as ScatterChartDataPoint).markerSize;\n const extraMaxPixels =\n _xAxisType !== XAxisTypes.StringAxis\n ? _getRangeForScatterMarkerSize(_yAxisScale, yPadding, xMin, xMax, xPadding)\n : 0;\n const circleRadius = pointMarkerSize\n ? (pointMarkerSize! * extraMaxPixels) / maxMarkerSize\n : activePoint === circleId\n ? 6\n : 4;\n\n const isLegendSelected: boolean = _legendHighlighted(legendVal) || _noLegendHighlighted() || isSelectedLegend;\n\n const currentPointHidden = _points[i].hideNonActiveDots && activePoint !== circleId;\n const text = _points?.[i].data[j]?.text;\n pointsForSeries.push(\n <>\n <circle\n id={circleId}\n key={circleId}\n r={Math.max(circleRadius, 4)}\n cx={_xAxisScale(x) + _xBandwidth}\n cy={_yAxisScale(y)}\n data-is-focusable={isLegendSelected}\n onMouseOver={(event: React.MouseEvent<SVGElement>) =>\n _handleHover(x, y, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event)\n }\n onMouseMove={(event: React.MouseEvent<SVGElement>) =>\n _handleHover(x, y, verticaLineHeight, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData, event)\n }\n onMouseOut={_handleMouseOut}\n onFocus={event =>\n _handleFocus(event, seriesId, x, xAxisCalloutData, circleId, xAxisCalloutAccessibilityData)\n }\n onBlur={_handleMouseOut}\n {..._getClickHandler(_points[i].data[j].onDataPointClick)}\n opacity={isLegendSelected && !currentPointHidden ? 1 : 0.1}\n fill={_getPointFill(seriesColor, circleId, j, false)}\n stroke={seriesColor}\n role=\"img\"\n aria-label={_getAriaLabel(i, j)}\n tabIndex={isLegendSelected ? 0 : undefined}\n />\n ,\n {text && (\n <text\n key={`${circleId}-label`}\n x={_xAxisScale(x) + _xBandwidth}\n y={_yAxisScale(y) + Math.max(circleRadius + 8, 16)}\n className={classes.markerLabel}\n >\n {text}\n </text>\n )}\n </>,\n );\n }\n\n series.push(\n <g\n key={`series_${i}`}\n role=\"region\"\n aria-label={`${legendVal}, series ${i + 1} of ${_points.length} with ${_points[i].data.length} data points.`}\n >\n {pointsForSeries}\n </g>,\n );\n }\n // Removing un wanted tooltip div from DOM, when prop not provided.\n if (!props.showXAxisLablesTooltip) {\n try {\n document.getElementById(_tooltipId) && document.getElementById(_tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n // Used to display tooltip at x axis labels.\n if (!props.wrapXAxisLables && props.showXAxisLablesTooltip) {\n const xAxisElement = d3Select(xElement).call(_xAxisScale);\n try {\n document.getElementById(_tooltipId) && document.getElementById(_tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n const tooltipProps = {\n tooltipCls: classes.tooltip!,\n id: _tooltipId,\n axis: xAxisElement,\n };\n xAxisElement && tooltipOfAxislabels(tooltipProps);\n }\n return series;\n }\n\n function _handleFocus(\n event: React.FocusEvent<SVGCircleElement, Element>,\n seriesId: string,\n x: number | Date | string,\n xAxisCalloutData: string | undefined,\n circleId: string,\n xAxisCalloutAccessibilityData?: AccessibilityProps,\n ) {\n let cx = 0;\n let cy = 0;\n\n const targetRect = (event.target as SVGCircleElement).getBoundingClientRect();\n cx = targetRect.left + targetRect.width / 2;\n cy = targetRect.top + targetRect.height / 2;\n updatePosition(cx, cy);\n _uniqueCallOutID = circleId;\n const formattedData = x instanceof Date ? formatDate(x, props.useUTC) : x;\n const xVal = x instanceof Date ? x.getTime() : x;\n const found = find(_calloutPoints, (element: { x: string | number }) => element.x === xVal);\n // if no points need to be called out then don't show vertical line and callout card\n\n if (found) {\n d3Select(`#${_verticalLine}`)\n .attr('transform', () => `translate(${_xAxisScale(x) + _xBandwidth}, 0)`)\n .attr('visibility', 'visibility');\n _refArray.forEach((obj: RefArrayData) => {\n if (obj.index === seriesId) {\n setPopoverOpen(true);\n xAxisCalloutData ? setHoverXValue(xAxisCalloutData) : setHoverXValue('' + formattedData);\n setYValueHover(found.values);\n setStackCalloutProps(found!);\n setActivePoint(circleId);\n }\n });\n } else {\n setActivePoint(circleId);\n }\n }\n\n function _handleHover(\n x: number | Date | string,\n y: number | Date,\n lineHeight: number,\n xAxisCalloutData: string | undefined,\n circleId: string,\n xAxisCalloutAccessibilityData: AccessibilityProps | undefined,\n mouseEvent: React.MouseEvent<SVGElement>,\n ) {\n mouseEvent?.persist();\n const formattedData = x instanceof Date ? formatDate(x, props.useUTC) : x;\n const xVal = x instanceof Date ? x.getTime() : x;\n const found = find(_calloutPoints, (element: { x: string | number }) => element.x === xVal);\n // if no points need to be called out then don't show vertical line and callout card\n\n if (found) {\n d3Select(`#${_verticalLine}`)\n .attr('transform', () => `translate(${_xAxisScale(x) + _xBandwidth}, ${_yAxisScale(y)})`)\n .attr('visibility', 'visibility')\n .attr('y2', `${lineHeight - _yAxisScale(y)}`);\n\n if (_uniqueCallOutID !== circleId) {\n _uniqueCallOutID = circleId;\n updatePosition(mouseEvent.clientX, mouseEvent.clientY);\n xAxisCalloutData ? setHoverXValue(xAxisCalloutData) : setHoverXValue('' + formattedData);\n setYValueHover(found.values);\n setStackCalloutProps(found!);\n setActivePoint(circleId);\n }\n } else {\n setActivePoint(circleId);\n }\n }\n\n /**\n * Screen readers announce an element as clickable if the onClick attribute is set.\n * This function sets the attribute only when a click event handler is provided.*/\n\n function _getClickHandler(func?: () => void): { onClick?: () => void } {\n if (func) {\n return {\n onClick: func,\n };\n }\n\n return {};\n }\n\n function _handleMouseOut() {\n d3Select(`#${_verticalLine}`).attr('visibility', 'hidden');\n }\n\n function _handleChartMouseLeave() {\n _uniqueCallOutID = null;\n setActivePoint('');\n if (isPopoverOpen) {\n setPopoverOpen(false);\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): boolean {\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(): boolean {\n return _getHighlightedLegend().length === 0;\n }\n\n function _getHighlightedLegend(): string[] {\n return selectedLegends.length > 0 ? selectedLegends : activeLegend ? [activeLegend] : [];\n }\n\n function _getAriaLabel(seriesIndex: number, pointIndex: number): string {\n const series = _points[seriesIndex];\n const point = series.data[pointIndex];\n const formattedDate = point.x instanceof Date ? formatDate(point.x, props.useUTC) : point.x;\n const xValue = point.xAxisCalloutData || formattedDate;\n const legend = series.legend;\n const yValue = point.yAxisCalloutData || point.y;\n return point.callOutAccessibilityData?.ariaLabel || `${xValue}. ${legend}, ${yValue}.`;\n }\n\n function _isChartEmpty(): boolean {\n return !(\n props.data &&\n props.data.scatterChartData &&\n props.data.scatterChartData.length > 0 &&\n props.data.scatterChartData.filter((item: ScatterChartPoints) => item.data.length).length > 0\n );\n }\n\n const _getMinMaxofXAxis = React.useCallback(\n (points: ScatterChartPoints[], yAxisType: YAxisType | undefined) =>\n _getNumericMinMaxOfY(points as ScatterChartPoints[], yAxisType),\n [],\n );\n\n const { legendProps, tickValues, tickFormat } = props;\n _points = _injectIndexPropertyInScatterChartData(props.data.scatterChartData);\n\n let points = _points as ScatterChartPoints[];\n if (legendProps && !!legendProps.canSelectMultipleLegends) {\n points = selectedLegendPoints.length >= 1 ? selectedLegendPoints : _points;\n _calloutPoints = calloutData(points);\n }\n\n let legendBars = null;\n // reduce computation cost by only creating legendBars\n // if when hideLegend is false.\n // NOTE: they are rendered only when hideLegend is false in CartesianChart.\n if (!props.hideLegend) {\n legendBars = _createLegends(_points!); // ToDo: Memoize legends to improve performance.\n }\n const calloutProps = {\n YValueHover,\n hoverXValue,\n descriptionMessage:\n props.getCalloutDescriptionMessage && stackCalloutProps\n ? props.getCalloutDescriptionMessage(stackCalloutProps)\n : undefined,\n 'data-is-focusable': true,\n xAxisCalloutAccessibilityData,\n ...props.calloutProps,\n clickPosition,\n isPopoverOpen,\n isCalloutForStack: true,\n culture: props.culture ?? 'en-us',\n isCartesian: true,\n };\n const tickParams = {\n tickValues,\n tickFormat,\n };\n\n const xAxisLabels: string[] = _points\n .map((point: ScatterChartDataWithIndex) => point.data.map((dp: ScatterChartDataPoint) => dp.x as string))\n .flat();\n\n _xAxisLabels = [...new Set(xAxisLabels)];\n\n return !_isChartEmpty() ? (\n <CartesianChart\n {...props}\n chartTitle={props.data.chartTitle}\n points={points}\n chartType={ChartTypes.ScatterChart}\n calloutProps={calloutProps}\n tickParams={tickParams}\n legendBars={legendBars}\n getmargins={_getMargins}\n getGraphData={_initializeScatterChartData}\n xAxisType={_xAxisType}\n getMinMaxOfYAxis={_getMinMaxofXAxis}\n getDomainNRangeValues={_getDomainNRangeValues}\n createYAxis={createNumericYAxis}\n createStringYAxis={createStringYAxis}\n onChartMouseLeave={_handleChartMouseLeave}\n enableFirstRenderOptimization={_firstRenderOptimization}\n datasetForXAxisDomain={_xAxisLabels}\n componentRef={cartesianChartRef}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children={(props: ChildProps) => {\n _xAxisScale = props.xScale!;\n _yAxisScale = props.yScalePrimary!;\n return (\n <>\n <g>\n <line\n x1={0}\n y1={0}\n x2={0}\n y2={props.containerHeight}\n stroke={'#323130'}\n id={_verticalLine}\n visibility={'hidden'}\n strokeDasharray={'5,5'}\n />\n <g>{renderSeries}</g>\n </g>\n </>\n );\n }}\n />\n ) : (\n <div id={_emptyChartId} role={'alert'} style={{ opacity: '0' }} aria-label={'Graph has no data to display'} />\n );\n});\nScatterChart.displayName = 'ScatterChart';\n"],"names":["React","useScatterChartStyles","select","d3Select","Legends","max","d3Max","min","d3Min","useId","areArraysEqual","createNumericYAxis","createStringYAxis","domainRangeOfDateForScatterChart","domainRangeOfNumericForScatterChart","domainRangeOfXStringAxis","find","findNumericMinMaxOfY","useRtl","CartesianChart","tokens","calloutData","ChartTypes","XAxisTypes","tooltipOfAxislabels","getTypeOfAxis","getNextColor","getColorFromToken","formatDate","toImage","ScatterChart","forwardRef","props","forwardedRef","_circleId","_seriesId","_verticalLine","_tooltipId","_firstRenderOptimization","_emptyChartId","_points","_injectIndexPropertyInScatterChartData","data","scatterChartData","_calloutPoints","_xAxisScale","_yAxisScale","_uniqueCallOutID","_refArray","margins","renderSeries","_xAxisLabels","xAxisCalloutAccessibilityData","_xBandwidth","cartesianChartRef","useRef","classes","_legendsRef","_isRTL","hoverXValue","setHoverXValue","useState","activeLegend","setActiveLegend","YValueHover","setYValueHover","selectedLegendPoints","setSelectedLegendPoints","isSelectedLegend","setIsSelectedLegend","activePoint","setActivePoint","stackCalloutProps","setStackCalloutProps","clickPosition","setClickPosition","x","y","isPopoverOpen","setPopoverOpen","selectedLegends","setSelectedLegends","legendProps","prevSelectedLegendsRef","undefined","useEffect","current","useImperativeHandle","componentRef","chartContainer","opts","toSVG","_xAxisType","length","StringAxis","pointsRef","calloutPointsRef","height","width","map","item","index","color","updatePosition","newX","newY","threshold","distance","Math","sqrt","pow","_getNumericMinMaxOfY","points","yAxisType","startValue","endValue","yPadding","_getDomainNRangeValues","chartType","isRTL","xAxisType","barWidth","tickValues","shiftX","domainNRangeValue","NumericAxis","DateAxis","_getMargins","_margins","_initializeScatterChartData","xScale","yScale","containerHeight","containerWidth","xElement","_createPlot","_onHoverCardHide","_createLegends","isLegendMultiSelectEnabled","canSelectMultipleLegends","mapLegendToPoints","forEach","point","legend","push","legendDataItems","Object","entries","legendTitle","representativePoint","title","onMouseOutAction","hoverAction","_handleChartMouseLeave","legendShape","shape","legends","enabledWrapLines","enabledLegendsWrapLines","overflowText","legendsOverflowText","onLegendHoverCardLeave","onChange","_onLegendSelectionChange","legendRef","legendsSelected","event","currentLegend","slice","_getPointFill","seriesColor","pointId","pointIndex","isLastPoint","colorNeutralBackground1","_getRangeForScatterMarkerSize","xMin","xMax","xPadding","extraXPixels","yMin","domain","extraYPixels","series","yMax","bandwidth","getTime","maxMarkerSize","markerSize","i","pointsForSeries","legendVal","verticaLineHeight","bottom","j","seriesId","circleId","xAxisCalloutData","pointMarkerSize","extraMaxPixels","circleRadius","isLegendSelected","_legendHighlighted","_noLegendHighlighted","currentPointHidden","hideNonActiveDots","text","circle","id","key","r","cx","cy","data-is-focusable","onMouseOver","_handleHover","onMouseMove","onMouseOut","_handleMouseOut","onFocus","_handleFocus","onBlur","_getClickHandler","onDataPointClick","opacity","fill","stroke","role","aria-label","_getAriaLabel","tabIndex","className","markerLabel","g","showXAxisLablesTooltip","document","getElementById","remove","e","wrapXAxisLables","xAxisElement","call","tooltipProps","tooltipCls","tooltip","axis","targetRect","target","getBoundingClientRect","left","top","formattedData","Date","useUTC","xVal","found","element","attr","obj","values","lineHeight","mouseEvent","persist","clientX","clientY","func","onClick","_getHighlightedLegend","includes","seriesIndex","formattedDate","xValue","yValue","yAxisCalloutData","callOutAccessibilityData","ariaLabel","_isChartEmpty","filter","_getMinMaxofXAxis","useCallback","tickFormat","legendBars","hideLegend","calloutProps","descriptionMessage","getCalloutDescriptionMessage","isCalloutForStack","culture","isCartesian","tickParams","xAxisLabels","dp","flat","Set","chartTitle","getmargins","getGraphData","getMinMaxOfYAxis","getDomainNRangeValues","createYAxis","onChartMouseLeave","enableFirstRenderOptimization","datasetForXAxisDomain","children","yScalePrimary","line","x1","y1","x2","y2","visibility","strokeDasharray","div","style","displayName"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ScatterChart/ScatterChart.types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { RenderFunction } from '../../utilities/index';\nimport {\n ChartProps,\n LineChartPoints,\n Margins,\n Basestate,\n RefArrayData,\n CustomizedCalloutData,\n} from '../../types/index';\nimport {\n CartesianChartProps,\n CartesianChartStyleProps,\n CartesianChartStyles,\n ChildProps,\n} from '../CommonComponents/index';\n\nexport type { ChildProps, LineChartPoints, Margins, Basestate, RefArrayData };\n\n/**\n * Line Chart properties\n * {@docCategory LineChart}\n */\nexport interface ScatterChartProps extends CartesianChartProps {\n /**\n * Data to render in the chart.\n */\n data: ChartProps;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: ScatterChartStyles;\n\n /**\n * Define a custom callout renderer for a data point\n */\n onRenderCalloutPerDataPoint?: RenderFunction<CustomizedCalloutData>;\n\n /**\n * Callback for getting callout description message\n */\n getCalloutDescriptionMessage?: (calloutDataProps: CustomizedCalloutData) => string | undefined;\n\n /**\n * The prop used to define the culture to localized the numbers\n */\n culture?: string;\n}\n\n/**\n * Scatter Chart styles\n * {@docCategory ScatterChart}\n */\nexport interface ScatterChartStyles extends CartesianChartStyles {}\n\n/**\n * Scatter Chart style properties\n * {@docCategory ScatterChart}\n */\nexport interface ScatterChartStyleProps extends CartesianChartStyleProps {}\n"],"names":[],"mappings":"AAAA,uDAAuD,GAwDvD;;;CAGC,GACD,WAA2E"}
1
+ {"version":3,"sources":["../src/components/ScatterChart/ScatterChart.types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { RenderFunction } from '../../utilities/index';\nimport {\n ChartProps,\n LineChartPoints,\n Margins,\n Basestate,\n RefArrayData,\n CustomizedCalloutData,\n} from '../../types/index';\nimport {\n CartesianChartProps,\n CartesianChartStyleProps,\n CartesianChartStyles,\n ChildProps,\n} from '../CommonComponents/index';\n\nexport type { ChildProps, LineChartPoints, Margins, Basestate, RefArrayData };\n\n/**\n * Line Chart properties\n * {@docCategory LineChart}\n */\nexport interface ScatterChartProps extends CartesianChartProps {\n /**\n * Data to render in the chart.\n */\n data: ChartProps;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: ScatterChartStyles;\n\n /**\n * Define a custom callout renderer for a data point\n */\n onRenderCalloutPerDataPoint?: RenderFunction<CustomizedCalloutData>;\n\n /**\n * Callback for getting callout description message\n */\n getCalloutDescriptionMessage?: (calloutDataProps: CustomizedCalloutData) => string | undefined;\n\n /**\n * The prop used to define the culture to localized the numbers\n */\n culture?: string;\n}\n\n/**\n * Scatter Chart styles\n * {@docCategory ScatterChart}\n */\nexport interface ScatterChartStyles extends CartesianChartStyles {\n /**\n * Style for the marker label\n */\n markerLabel?: string;\n}\n\n/**\n * Scatter Chart style properties\n * {@docCategory ScatterChart}\n */\nexport interface ScatterChartStyleProps extends CartesianChartStyleProps {}\n"],"names":[],"mappings":"AAAA,uDAAuD,GA6DvD;;;CAGC,GACD,WAA2E"}
@@ -1,10 +1,12 @@
1
1
  import { __styles, mergeClasses, shorthands } from '@griffel/react';
2
- import { tokens } from '@fluentui/react-theme';
2
+ import { tokens, typographyStyles } from '@fluentui/react-theme';
3
+ import { HighContrastSelector } from '../../utilities/index';
3
4
  /**
4
5
  * @internal
5
6
  */
6
7
  export const scatterChartClassNames = {
7
8
  tooltip: 'fui-line__tooltip',
9
+ markerLabel: 'fui-line__markerLabel',
8
10
  root: 'fui-line__root',
9
11
  xAxis: 'fui-line__xAxis',
10
12
  yAxis: 'fui-line__yAxis',
@@ -17,7 +19,8 @@ export const scatterChartClassNames = {
17
19
  shapeStyles: 'fui-line__shapeStyles',
18
20
  chartWrapper: 'fui-line__chartWrapper',
19
21
  svgTooltip: '',
20
- chart: ''
22
+ chart: '',
23
+ axisAnnotation: ''
21
24
  };
22
25
  /**
23
26
  * Base Styles
@@ -40,18 +43,32 @@ const useStyles = /*#__PURE__*/__styles({
40
43
  B7oj6ja: 0,
41
44
  Dimara: "fq9zq91",
42
45
  Bkecrkj: "f1aehjj5"
46
+ },
47
+ markerLabel: {
48
+ Bahqtrf: "fk6fouc",
49
+ Be2twd7: "fkhj508",
50
+ Bhrd7zp: "figsok6",
51
+ Bg96gwp: "f1i3iumi",
52
+ Bkfmm31: "fhuob2q",
53
+ jzqdnp: "fdxigdc",
54
+ a6j6cd: "folz2wl"
43
55
  }
44
56
  }, {
45
57
  d: [".f22iagw{display:flex;}", ".f1vx9l62{flex-direction:column;}", ".f17mpqex{padding-top:var(--spacingHorizontalS);}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".fdvome7{padding-bottom:var(--spacingHorizontalS);}", ".f1euv43f{position:absolute;}", ".f17mccla{text-align:center;}", ".fr6rvge{top:var(--spacingVerticalNone);}", ".f5q6cfr{fill:var(--colorNeutralBackground1);}", [".fq9zq91{border-radius:var(--borderRadiusSmall);}", {
46
58
  p: -1
47
- }], ".f1aehjj5{pointer-events:none;}"]
59
+ }], ".f1aehjj5{pointer-events:none;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".fhuob2q{fill:var(--colorNeutralForeground1);}", ".fdxigdc{text-anchor:middle;}"],
60
+ m: [["@media screen and (-ms-high-contrast: active),screen and (forced-colors: active){.folz2wl{fill:CanvasText;}}", {
61
+ m: "screen and (-ms-high-contrast: active), screen and (forced-colors: active)"
62
+ }]]
48
63
  });
49
64
  /**
50
65
  * Apply styling to the Carousel slots based on the state
51
66
  */
52
67
  export const useScatterChartStyles = props => {
68
+ var _props_styles;
53
69
  const baseStyles = useStyles();
54
70
  return {
55
- tooltip: mergeClasses(scatterChartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/)
71
+ tooltip: mergeClasses(scatterChartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/),
72
+ markerLabel: mergeClasses(scatterChartClassNames.markerLabel, baseStyles.markerLabel, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.markerLabel)
56
73
  };
57
74
  };
@@ -1 +1 @@
1
- {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","scatterChartClassNames","tooltip","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","opacityChangeOnHover","shapeStyles","chartWrapper","svgTooltip","chart","useStyles","mc9l5x","Beiy3e4","z8tnut","z189sj","Byoj8tv","uwmqm3","qhf8xq","fsow6f","Bhzewxz","Bkfmm31","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","Bkecrkj","d","p","useScatterChartStyles","props","baseStyles"],"sources":["useScatterChartStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\n/**\n * @internal\n */ export const scatterChartClassNames = {\n tooltip: 'fui-line__tooltip',\n root: 'fui-line__root',\n xAxis: 'fui-line__xAxis',\n yAxis: 'fui-line__yAxis',\n legendContainer: 'fui-line__legendContainer',\n hover: 'fui-line__hover',\n descriptionMessage: 'fui-line__descriptionMessage',\n axisTitle: 'fui-line__axisTitle',\n chartTitle: 'fui-line__chartTitle',\n opacityChangeOnHover: 'fui-line__opacityChangeOnHover',\n shapeStyles: 'fui-line__shapeStyles',\n chartWrapper: 'fui-line__chartWrapper',\n svgTooltip: '',\n chart: ''\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n tooltip: {\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(tokens.spacingHorizontalS),\n position: 'absolute',\n textAlign: 'center',\n top: tokens.spacingVerticalNone,\n fill: tokens.colorNeutralBackground1,\n borderRadius: tokens.borderRadiusSmall,\n pointerEvents: 'none'\n }\n});\n/**\n * Apply styling to the Carousel slots based on the state\n */ export const useScatterChartStyles = (props)=>{\n const baseStyles = useStyles();\n return {\n tooltip: mergeClasses(scatterChartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/ )\n };\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;AACrE,SAASC,MAAM,QAAQ,uBAAuB;AAC9C;AACA;AACA;AAAI,OAAO,MAAMC,sBAAsB,GAAG;EACtCC,OAAO,EAAE,mBAAmB;EAC5BC,IAAI,EAAE,gBAAgB;EACtBC,KAAK,EAAE,iBAAiB;EACxBC,KAAK,EAAE,iBAAiB;EACxBC,eAAe,EAAE,2BAA2B;EAC5CC,KAAK,EAAE,iBAAiB;EACxBC,kBAAkB,EAAE,8BAA8B;EAClDC,SAAS,EAAE,qBAAqB;EAChCC,UAAU,EAAE,sBAAsB;EAClCC,oBAAoB,EAAE,gCAAgC;EACtDC,WAAW,EAAE,uBAAuB;EACpCC,YAAY,EAAE,wBAAwB;EACtCC,UAAU,EAAE,EAAE;EACdC,KAAK,EAAE;AACX,CAAC;AACD;AACA;AACA;AAAI,MAAMC,SAAS,gBAAGnB,QAAA;EAAAK,OAAA;IAAAe,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;IAAAC,CAAA;EAAA;AAAA,CAYrB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,qBAAqB,GAAIC,KAAK,IAAG;EAC9C,MAAMC,UAAU,GAAGrB,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHd,OAAO,EAAEJ,YAAY,CAACG,sBAAsB,CAACC,OAAO,EAAEmC,UAAU,CAACnC,OAAO,CAAC,yBAA0B;EACvG,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","HighContrastSelector","scatterChartClassNames","tooltip","markerLabel","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","opacityChangeOnHover","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","useStyles","mc9l5x","Beiy3e4","z8tnut","z189sj","Byoj8tv","uwmqm3","qhf8xq","fsow6f","Bhzewxz","Bkfmm31","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","Bkecrkj","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","jzqdnp","a6j6cd","d","p","m","useScatterChartStyles","props","_props_styles","baseStyles","styles"],"sources":["useScatterChartStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { HighContrastSelector } from '../../utilities/index';\n/**\n * @internal\n */ export const scatterChartClassNames = {\n tooltip: 'fui-line__tooltip',\n markerLabel: 'fui-line__markerLabel',\n root: 'fui-line__root',\n xAxis: 'fui-line__xAxis',\n yAxis: 'fui-line__yAxis',\n legendContainer: 'fui-line__legendContainer',\n hover: 'fui-line__hover',\n descriptionMessage: 'fui-line__descriptionMessage',\n axisTitle: 'fui-line__axisTitle',\n chartTitle: 'fui-line__chartTitle',\n opacityChangeOnHover: 'fui-line__opacityChangeOnHover',\n shapeStyles: 'fui-line__shapeStyles',\n chartWrapper: 'fui-line__chartWrapper',\n svgTooltip: '',\n chart: '',\n axisAnnotation: ''\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n tooltip: {\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(tokens.spacingHorizontalS),\n position: 'absolute',\n textAlign: 'center',\n top: tokens.spacingVerticalNone,\n fill: tokens.colorNeutralBackground1,\n borderRadius: tokens.borderRadiusSmall,\n pointerEvents: 'none'\n },\n markerLabel: {\n ...typographyStyles.body1,\n fill: tokens.colorNeutralForeground1,\n textAnchor: 'middle',\n [HighContrastSelector]: {\n fill: 'CanvasText'\n }\n }\n});\n/**\n * Apply styling to the Carousel slots based on the state\n */ export const useScatterChartStyles = (props)=>{\n var _props_styles;\n const baseStyles = useStyles();\n return {\n tooltip: mergeClasses(scatterChartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/ ),\n markerLabel: mergeClasses(scatterChartClassNames.markerLabel, baseStyles.markerLabel, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.markerLabel)\n };\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;AACrE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE,SAASC,oBAAoB,QAAQ,uBAAuB;AAC5D;AACA;AACA;AAAI,OAAO,MAAMC,sBAAsB,GAAG;EACtCC,OAAO,EAAE,mBAAmB;EAC5BC,WAAW,EAAE,uBAAuB;EACpCC,IAAI,EAAE,gBAAgB;EACtBC,KAAK,EAAE,iBAAiB;EACxBC,KAAK,EAAE,iBAAiB;EACxBC,eAAe,EAAE,2BAA2B;EAC5CC,KAAK,EAAE,iBAAiB;EACxBC,kBAAkB,EAAE,8BAA8B;EAClDC,SAAS,EAAE,qBAAqB;EAChCC,UAAU,EAAE,sBAAsB;EAClCC,oBAAoB,EAAE,gCAAgC;EACtDC,WAAW,EAAE,uBAAuB;EACpCC,YAAY,EAAE,wBAAwB;EACtCC,UAAU,EAAE,EAAE;EACdC,KAAK,EAAE,EAAE;EACTC,cAAc,EAAE;AACpB,CAAC;AACD;AACA;AACA;AAAI,MAAMC,SAAS,gBAAGvB,QAAA;EAAAO,OAAA;IAAAiB,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;EAAA/B,WAAA;IAAAgC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAV,OAAA;IAAAW,MAAA;IAAAC,MAAA;EAAA;AAAA;EAAAC,CAAA;IAAAC,CAAA;EAAA;EAAAC,CAAA;IAAAA,CAAA;EAAA;AAAA,CAoBrB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,qBAAqB,GAAIC,KAAK,IAAG;EAC9C,IAAIC,aAAa;EACjB,MAAMC,UAAU,GAAG7B,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHhB,OAAO,EAAEN,YAAY,CAACK,sBAAsB,CAACC,OAAO,EAAE6C,UAAU,CAAC7C,OAAO,CAAC,yBAA0B,CAAC;IACpGC,WAAW,EAAEP,YAAY,CAACK,sBAAsB,CAACE,WAAW,EAAE4C,UAAU,CAAC5C,WAAW,EAAE,CAAC2C,aAAa,GAAGD,KAAK,CAACG,MAAM,MAAM,IAAI,IAAIF,aAAa,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,aAAa,CAAC3C,WAAW;EAClM,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,9 +1,11 @@
1
1
  import { makeStyles, mergeClasses, shorthands } from '@griffel/react';
2
- import { tokens } from '@fluentui/react-theme';
2
+ import { tokens, typographyStyles } from '@fluentui/react-theme';
3
+ import { HighContrastSelector } from '../../utilities/index';
3
4
  /**
4
5
  * @internal
5
6
  */ export const scatterChartClassNames = {
6
7
  tooltip: 'fui-line__tooltip',
8
+ markerLabel: 'fui-line__markerLabel',
7
9
  root: 'fui-line__root',
8
10
  xAxis: 'fui-line__xAxis',
9
11
  yAxis: 'fui-line__yAxis',
@@ -16,7 +18,8 @@ import { tokens } from '@fluentui/react-theme';
16
18
  shapeStyles: 'fui-line__shapeStyles',
17
19
  chartWrapper: 'fui-line__chartWrapper',
18
20
  svgTooltip: '',
19
- chart: ''
21
+ chart: '',
22
+ axisAnnotation: ''
20
23
  };
21
24
  /**
22
25
  * Base Styles
@@ -31,13 +34,23 @@ import { tokens } from '@fluentui/react-theme';
31
34
  fill: tokens.colorNeutralBackground1,
32
35
  borderRadius: tokens.borderRadiusSmall,
33
36
  pointerEvents: 'none'
37
+ },
38
+ markerLabel: {
39
+ ...typographyStyles.body1,
40
+ fill: tokens.colorNeutralForeground1,
41
+ textAnchor: 'middle',
42
+ [HighContrastSelector]: {
43
+ fill: 'CanvasText'
44
+ }
34
45
  }
35
46
  });
36
47
  /**
37
48
  * Apply styling to the Carousel slots based on the state
38
49
  */ export const useScatterChartStyles = (props)=>{
50
+ var _props_styles;
39
51
  const baseStyles = useStyles();
40
52
  return {
41
- tooltip: mergeClasses(scatterChartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/ )
53
+ tooltip: mergeClasses(scatterChartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/ ),
54
+ markerLabel: mergeClasses(scatterChartClassNames.markerLabel, baseStyles.markerLabel, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.markerLabel)
42
55
  };
43
56
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ScatterChart/useScatterChartStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { ScatterChartProps, ScatterChartStyles } from './ScatterChart.types';\nimport { SlotClassNames } from '@fluentui/react-utilities/src/index';\n\n/**\n * @internal\n */\nexport const scatterChartClassNames: SlotClassNames<ScatterChartStyles> = {\n tooltip: 'fui-line__tooltip',\n root: 'fui-line__root',\n xAxis: 'fui-line__xAxis',\n yAxis: 'fui-line__yAxis',\n legendContainer: 'fui-line__legendContainer',\n hover: 'fui-line__hover',\n descriptionMessage: 'fui-line__descriptionMessage',\n axisTitle: 'fui-line__axisTitle',\n chartTitle: 'fui-line__chartTitle',\n opacityChangeOnHover: 'fui-line__opacityChangeOnHover',\n shapeStyles: 'fui-line__shapeStyles',\n chartWrapper: 'fui-line__chartWrapper',\n svgTooltip: '',\n chart: '',\n};\n\n/**\n * Base Styles\n */\nconst useStyles = makeStyles({\n tooltip: {\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(tokens.spacingHorizontalS),\n position: 'absolute',\n textAlign: 'center',\n top: tokens.spacingVerticalNone,\n fill: tokens.colorNeutralBackground1,\n borderRadius: tokens.borderRadiusSmall,\n pointerEvents: 'none',\n },\n});\n\n/**\n * Apply styling to the Carousel slots based on the state\n */\nexport const useScatterChartStyles = (props: ScatterChartProps): ScatterChartStyles => {\n const baseStyles = useStyles();\n return {\n tooltip: mergeClasses(scatterChartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/),\n };\n};\n"],"names":["makeStyles","mergeClasses","shorthands","tokens","scatterChartClassNames","tooltip","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","opacityChangeOnHover","shapeStyles","chartWrapper","svgTooltip","chart","useStyles","display","flexDirection","padding","spacingHorizontalS","position","textAlign","top","spacingVerticalNone","fill","colorNeutralBackground1","borderRadius","borderRadiusSmall","pointerEvents","useScatterChartStyles","props","baseStyles"],"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AACtE,SAASC,MAAM,QAAQ,wBAAwB;AAI/C;;CAEC,GACD,OAAO,MAAMC,yBAA6D;IACxEC,SAAS;IACTC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,iBAAiB;IACjBC,OAAO;IACPC,oBAAoB;IACpBC,WAAW;IACXC,YAAY;IACZC,sBAAsB;IACtBC,aAAa;IACbC,cAAc;IACdC,YAAY;IACZC,OAAO;AACT,EAAE;AAEF;;CAEC,GACD,MAAMC,YAAYnB,WAAW;IAC3BK,SAAS;QACPe,SAAS;QACTC,eAAe;QACf,GAAGnB,WAAWoB,OAAO,CAACnB,OAAOoB,kBAAkB,CAAC;QAChDC,UAAU;QACVC,WAAW;QACXC,KAAKvB,OAAOwB,mBAAmB;QAC/BC,MAAMzB,OAAO0B,uBAAuB;QACpCC,cAAc3B,OAAO4B,iBAAiB;QACtCC,eAAe;IACjB;AACF;AAEA;;CAEC,GACD,OAAO,MAAMC,wBAAwB,CAACC;IACpC,MAAMC,aAAahB;IACnB,OAAO;QACLd,SAASJ,aAAaG,uBAAuBC,OAAO,EAAE8B,WAAW9B,OAAO,CAAC,uBAAuB;IAClG;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/components/ScatterChart/useScatterChartStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { ScatterChartProps, ScatterChartStyles } from './ScatterChart.types';\nimport { SlotClassNames } from '@fluentui/react-utilities/src/index';\nimport { HighContrastSelector } from '../../utilities/index';\n\n/**\n * @internal\n */\nexport const scatterChartClassNames: SlotClassNames<ScatterChartStyles> = {\n tooltip: 'fui-line__tooltip',\n markerLabel: 'fui-line__markerLabel',\n root: 'fui-line__root',\n xAxis: 'fui-line__xAxis',\n yAxis: 'fui-line__yAxis',\n legendContainer: 'fui-line__legendContainer',\n hover: 'fui-line__hover',\n descriptionMessage: 'fui-line__descriptionMessage',\n axisTitle: 'fui-line__axisTitle',\n chartTitle: 'fui-line__chartTitle',\n opacityChangeOnHover: 'fui-line__opacityChangeOnHover',\n shapeStyles: 'fui-line__shapeStyles',\n chartWrapper: 'fui-line__chartWrapper',\n svgTooltip: '',\n chart: '',\n axisAnnotation: '',\n};\n\n/**\n * Base Styles\n */\nconst useStyles = makeStyles({\n tooltip: {\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(tokens.spacingHorizontalS),\n position: 'absolute',\n textAlign: 'center',\n top: tokens.spacingVerticalNone,\n fill: tokens.colorNeutralBackground1,\n borderRadius: tokens.borderRadiusSmall,\n pointerEvents: 'none',\n },\n markerLabel: {\n ...typographyStyles.body1,\n fill: tokens.colorNeutralForeground1,\n textAnchor: 'middle',\n [HighContrastSelector]: {\n fill: 'CanvasText',\n },\n },\n});\n\n/**\n * Apply styling to the Carousel slots based on the state\n */\nexport const useScatterChartStyles = (props: ScatterChartProps): ScatterChartStyles => {\n const baseStyles = useStyles();\n return {\n tooltip: mergeClasses(scatterChartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/),\n markerLabel: mergeClasses(scatterChartClassNames.markerLabel, baseStyles.markerLabel, props.styles?.markerLabel),\n };\n};\n"],"names":["makeStyles","mergeClasses","shorthands","tokens","typographyStyles","HighContrastSelector","scatterChartClassNames","tooltip","markerLabel","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","opacityChangeOnHover","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","useStyles","display","flexDirection","padding","spacingHorizontalS","position","textAlign","top","spacingVerticalNone","fill","colorNeutralBackground1","borderRadius","borderRadiusSmall","pointerEvents","body1","colorNeutralForeground1","textAnchor","useScatterChartStyles","props","baseStyles","styles"],"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AACtE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,wBAAwB;AAGjE,SAASC,oBAAoB,QAAQ,wBAAwB;AAE7D;;CAEC,GACD,OAAO,MAAMC,yBAA6D;IACxEC,SAAS;IACTC,aAAa;IACbC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,iBAAiB;IACjBC,OAAO;IACPC,oBAAoB;IACpBC,WAAW;IACXC,YAAY;IACZC,sBAAsB;IACtBC,aAAa;IACbC,cAAc;IACdC,YAAY;IACZC,OAAO;IACPC,gBAAgB;AAClB,EAAE;AAEF;;CAEC,GACD,MAAMC,YAAYvB,WAAW;IAC3BO,SAAS;QACPiB,SAAS;QACTC,eAAe;QACf,GAAGvB,WAAWwB,OAAO,CAACvB,OAAOwB,kBAAkB,CAAC;QAChDC,UAAU;QACVC,WAAW;QACXC,KAAK3B,OAAO4B,mBAAmB;QAC/BC,MAAM7B,OAAO8B,uBAAuB;QACpCC,cAAc/B,OAAOgC,iBAAiB;QACtCC,eAAe;IACjB;IACA5B,aAAa;QACX,GAAGJ,iBAAiBiC,KAAK;QACzBL,MAAM7B,OAAOmC,uBAAuB;QACpCC,YAAY;QACZ,CAAClC,qBAAqB,EAAE;YACtB2B,MAAM;QACR;IACF;AACF;AAEA;;CAEC,GACD,OAAO,MAAMQ,wBAAwB,CAACC;QAIoDA;IAHxF,MAAMC,aAAanB;IACnB,OAAO;QACLhB,SAASN,aAAaK,uBAAuBC,OAAO,EAAEmC,WAAWnC,OAAO,CAAC,uBAAuB;QAChGC,aAAaP,aAAaK,uBAAuBE,WAAW,EAAEkC,WAAWlC,WAAW,GAAEiC,gBAAAA,MAAME,MAAM,cAAZF,oCAAAA,cAAcjC,WAAW;IACjH;AACF,EAAE"}
@@ -17,7 +17,8 @@ export const verticalbarchartClassNames = {
17
17
  shapeStyles: '',
18
18
  chartWrapper: '',
19
19
  svgTooltip: '',
20
- chart: ''
20
+ chart: '',
21
+ axisAnnotation: ''
21
22
  };
22
23
  const useStyles = /*#__PURE__*/__styles({
23
24
  opacityChangeOnHover: {},
@@ -1 +1 @@
1
- {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","HighContrastSelector","verticalbarchartClassNames","opacityChangeOnHover","tooltip","barLabel","lineBorder","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","shapeStyles","chartWrapper","svgTooltip","chart","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","z8tnut","z189sj","Byoj8tv","uwmqm3","qhf8xq","fsow6f","Bhzewxz","Bkfmm31","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","Bkecrkj","Bvjb7m6","ojy3ng","Bpvj6i6","d","p","m","useVerticalBarChartStyles","props","baseStyles"],"sources":["useVerticalBarChartStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { HighContrastSelector } from '../../utilities/utilities';\nexport const verticalbarchartClassNames = {\n opacityChangeOnHover: 'fui-vbc__opacityChangeOnHover',\n tooltip: 'fui-vbc__tooltip',\n barLabel: 'fui-vbc__barLabel',\n lineBorder: 'fui-vbc_lineBorder',\n root: '',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n axisTitle: '',\n chartTitle: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: ''\n};\nconst useStyles = makeStyles({\n opacityChangeOnHover: {},\n tooltip: {\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(tokens.spacingHorizontalS),\n position: 'absolute',\n textAlign: 'center',\n top: tokens.spacingVerticalNone,\n fill: tokens.colorNeutralBackground1,\n borderRadius: tokens.borderRadiusSmall,\n pointerEvents: 'none'\n },\n barLabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n },\n lineBorder: {\n stroke: tokens.colorNeutralBackground1,\n [HighContrastSelector]: {\n stroke: 'Canvas'\n }\n }\n});\n/**\n * Apply styling to the Carousel slots based on the state\n */ export const useVerticalBarChartStyles = (props)=>{\n const baseStyles = useStyles();\n return {\n opacityChangeOnHover: mergeClasses(verticalbarchartClassNames.opacityChangeOnHover, baseStyles.opacityChangeOnHover /*props.styles?.opacityChangeOnHover*/ ),\n tooltip: mergeClasses(verticalbarchartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/ ),\n barLabel: mergeClasses(verticalbarchartClassNames.barLabel, baseStyles.barLabel /*props.styles?.barLabel*/ ),\n lineBorder: mergeClasses(verticalbarchartClassNames.lineBorder, baseStyles.lineBorder /*props.styles?.lineBorder*/ )\n };\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;AACrE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,OAAO,MAAMC,0BAA0B,GAAG;EACtCC,oBAAoB,EAAE,+BAA+B;EACrDC,OAAO,EAAE,kBAAkB;EAC3BC,QAAQ,EAAE,mBAAmB;EAC7BC,UAAU,EAAE,oBAAoB;EAChCC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,EAAE;EACTC,KAAK,EAAE,EAAE;EACTC,eAAe,EAAE,EAAE;EACnBC,KAAK,EAAE,EAAE;EACTC,kBAAkB,EAAE,EAAE;EACtBC,SAAS,EAAE,EAAE;EACbC,UAAU,EAAE,EAAE;EACdC,WAAW,EAAE,EAAE;EACfC,YAAY,EAAE,EAAE;EAChBC,UAAU,EAAE,EAAE;EACdC,KAAK,EAAE;AACX,CAAC;AACD,MAAMC,SAAS,gBAAGvB,QAAA;EAAAO,oBAAA;EAAAC,OAAA;IAAAgB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;EAAAlC,QAAA;IAAAe,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAU,OAAA;IAAAO,OAAA;EAAA;EAAAlC,UAAA;IAAAmC,MAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;IAAAC,CAAA;EAAA;EAAAC,CAAA;IAAAA,CAAA;EAAA;AAAA,CAyBjB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,yBAAyB,GAAIC,KAAK,IAAG;EAClD,MAAMC,UAAU,GAAG7B,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHhB,oBAAoB,EAAEN,YAAY,CAACK,0BAA0B,CAACC,oBAAoB,EAAE6C,UAAU,CAAC7C,oBAAoB,CAAC,sCAAuC,CAAC;IAC5JC,OAAO,EAAEP,YAAY,CAACK,0BAA0B,CAACE,OAAO,EAAE4C,UAAU,CAAC5C,OAAO,CAAC,yBAA0B,CAAC;IACxGC,QAAQ,EAAER,YAAY,CAACK,0BAA0B,CAACG,QAAQ,EAAE2C,UAAU,CAAC3C,QAAQ,CAAC,0BAA2B,CAAC;IAC5GC,UAAU,EAAET,YAAY,CAACK,0BAA0B,CAACI,UAAU,EAAE0C,UAAU,CAAC1C,UAAU,CAAC,4BAA6B;EACvH,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","HighContrastSelector","verticalbarchartClassNames","opacityChangeOnHover","tooltip","barLabel","lineBorder","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","z8tnut","z189sj","Byoj8tv","uwmqm3","qhf8xq","fsow6f","Bhzewxz","Bkfmm31","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","Bkecrkj","Bvjb7m6","ojy3ng","Bpvj6i6","d","p","m","useVerticalBarChartStyles","props","baseStyles"],"sources":["useVerticalBarChartStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { HighContrastSelector } from '../../utilities/utilities';\nexport const verticalbarchartClassNames = {\n opacityChangeOnHover: 'fui-vbc__opacityChangeOnHover',\n tooltip: 'fui-vbc__tooltip',\n barLabel: 'fui-vbc__barLabel',\n lineBorder: 'fui-vbc_lineBorder',\n root: '',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n axisTitle: '',\n chartTitle: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: '',\n axisAnnotation: ''\n};\nconst useStyles = makeStyles({\n opacityChangeOnHover: {},\n tooltip: {\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(tokens.spacingHorizontalS),\n position: 'absolute',\n textAlign: 'center',\n top: tokens.spacingVerticalNone,\n fill: tokens.colorNeutralBackground1,\n borderRadius: tokens.borderRadiusSmall,\n pointerEvents: 'none'\n },\n barLabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n },\n lineBorder: {\n stroke: tokens.colorNeutralBackground1,\n [HighContrastSelector]: {\n stroke: 'Canvas'\n }\n }\n});\n/**\n * Apply styling to the Carousel slots based on the state\n */ export const useVerticalBarChartStyles = (props)=>{\n const baseStyles = useStyles();\n return {\n opacityChangeOnHover: mergeClasses(verticalbarchartClassNames.opacityChangeOnHover, baseStyles.opacityChangeOnHover /*props.styles?.opacityChangeOnHover*/ ),\n tooltip: mergeClasses(verticalbarchartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/ ),\n barLabel: mergeClasses(verticalbarchartClassNames.barLabel, baseStyles.barLabel /*props.styles?.barLabel*/ ),\n lineBorder: mergeClasses(verticalbarchartClassNames.lineBorder, baseStyles.lineBorder /*props.styles?.lineBorder*/ )\n };\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;AACrE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,OAAO,MAAMC,0BAA0B,GAAG;EACtCC,oBAAoB,EAAE,+BAA+B;EACrDC,OAAO,EAAE,kBAAkB;EAC3BC,QAAQ,EAAE,mBAAmB;EAC7BC,UAAU,EAAE,oBAAoB;EAChCC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,EAAE;EACTC,KAAK,EAAE,EAAE;EACTC,eAAe,EAAE,EAAE;EACnBC,KAAK,EAAE,EAAE;EACTC,kBAAkB,EAAE,EAAE;EACtBC,SAAS,EAAE,EAAE;EACbC,UAAU,EAAE,EAAE;EACdC,WAAW,EAAE,EAAE;EACfC,YAAY,EAAE,EAAE;EAChBC,UAAU,EAAE,EAAE;EACdC,KAAK,EAAE,EAAE;EACTC,cAAc,EAAE;AACpB,CAAC;AACD,MAAMC,SAAS,gBAAGxB,QAAA;EAAAO,oBAAA;EAAAC,OAAA;IAAAiB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;EAAAnC,QAAA;IAAAgB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAU,OAAA;IAAAO,OAAA;EAAA;EAAAnC,UAAA;IAAAoC,MAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;IAAAC,CAAA;EAAA;EAAAC,CAAA;IAAAA,CAAA;EAAA;AAAA,CAyBjB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,yBAAyB,GAAIC,KAAK,IAAG;EAClD,MAAMC,UAAU,GAAG7B,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHjB,oBAAoB,EAAEN,YAAY,CAACK,0BAA0B,CAACC,oBAAoB,EAAE8C,UAAU,CAAC9C,oBAAoB,CAAC,sCAAuC,CAAC;IAC5JC,OAAO,EAAEP,YAAY,CAACK,0BAA0B,CAACE,OAAO,EAAE6C,UAAU,CAAC7C,OAAO,CAAC,yBAA0B,CAAC;IACxGC,QAAQ,EAAER,YAAY,CAACK,0BAA0B,CAACG,QAAQ,EAAE4C,UAAU,CAAC5C,QAAQ,CAAC,0BAA2B,CAAC;IAC5GC,UAAU,EAAET,YAAY,CAACK,0BAA0B,CAACI,UAAU,EAAE2C,UAAU,CAAC3C,UAAU,CAAC,4BAA6B;EACvH,CAAC;AACL,CAAC","ignoreList":[]}
@@ -17,7 +17,8 @@ export const verticalbarchartClassNames = {
17
17
  shapeStyles: '',
18
18
  chartWrapper: '',
19
19
  svgTooltip: '',
20
- chart: ''
20
+ chart: '',
21
+ axisAnnotation: ''
21
22
  };
22
23
  const useStyles = makeStyles({
23
24
  opacityChangeOnHover: {},
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/VerticalBarChart/useVerticalBarChartStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { VerticalBarChartProps, VerticalBarChartStyles } from '../../index';\nimport { SlotClassNames } from '@fluentui/react-utilities/src/index';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { HighContrastSelector } from '../../utilities/utilities';\n\nexport const verticalbarchartClassNames: SlotClassNames<VerticalBarChartStyles> = {\n opacityChangeOnHover: 'fui-vbc__opacityChangeOnHover',\n tooltip: 'fui-vbc__tooltip',\n barLabel: 'fui-vbc__barLabel',\n lineBorder: 'fui-vbc_lineBorder',\n root: '',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n axisTitle: '',\n chartTitle: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: '',\n};\nconst useStyles = makeStyles({\n opacityChangeOnHover: {},\n tooltip: {\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(tokens.spacingHorizontalS),\n position: 'absolute',\n textAlign: 'center',\n top: tokens.spacingVerticalNone,\n fill: tokens.colorNeutralBackground1,\n borderRadius: tokens.borderRadiusSmall,\n pointerEvents: 'none',\n },\n barLabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto',\n },\n lineBorder: {\n stroke: tokens.colorNeutralBackground1,\n [HighContrastSelector]: {\n stroke: 'Canvas',\n },\n },\n});\n\n/**\n * Apply styling to the Carousel slots based on the state\n */\nexport const useVerticalBarChartStyles = (props: VerticalBarChartProps): VerticalBarChartStyles => {\n const baseStyles = useStyles();\n\n return {\n opacityChangeOnHover: mergeClasses(\n verticalbarchartClassNames.opacityChangeOnHover,\n baseStyles.opacityChangeOnHover /*props.styles?.opacityChangeOnHover*/,\n ),\n tooltip: mergeClasses(verticalbarchartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/),\n barLabel: mergeClasses(verticalbarchartClassNames.barLabel, baseStyles.barLabel /*props.styles?.barLabel*/),\n lineBorder: mergeClasses(verticalbarchartClassNames.lineBorder, baseStyles.lineBorder /*props.styles?.lineBorder*/),\n };\n};\n"],"names":["makeStyles","mergeClasses","shorthands","tokens","typographyStyles","HighContrastSelector","verticalbarchartClassNames","opacityChangeOnHover","tooltip","barLabel","lineBorder","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","shapeStyles","chartWrapper","svgTooltip","chart","useStyles","body1","display","flexDirection","padding","spacingHorizontalS","position","textAlign","top","spacingVerticalNone","fill","colorNeutralBackground1","borderRadius","borderRadiusSmall","pointerEvents","caption1Strong","colorNeutralForeground1","forcedColorAdjust","stroke","useVerticalBarChartStyles","props","baseStyles"],"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAGtE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,wBAAwB;AACjE,SAASC,oBAAoB,QAAQ,4BAA4B;AAEjE,OAAO,MAAMC,6BAAqE;IAChFC,sBAAsB;IACtBC,SAAS;IACTC,UAAU;IACVC,YAAY;IACZC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,iBAAiB;IACjBC,OAAO;IACPC,oBAAoB;IACpBC,WAAW;IACXC,YAAY;IACZC,aAAa;IACbC,cAAc;IACdC,YAAY;IACZC,OAAO;AACT,EAAE;AACF,MAAMC,YAAYvB,WAAW;IAC3BO,sBAAsB,CAAC;IACvBC,SAAS;QACP,GAAGJ,iBAAiBoB,KAAK;QACzBC,SAAS;QACTC,eAAe;QACf,GAAGxB,WAAWyB,OAAO,CAACxB,OAAOyB,kBAAkB,CAAC;QAChDC,UAAU;QACVC,WAAW;QACXC,KAAK5B,OAAO6B,mBAAmB;QAC/BC,MAAM9B,OAAO+B,uBAAuB;QACpCC,cAAchC,OAAOiC,iBAAiB;QACtCC,eAAe;IACjB;IACA5B,UAAU;QACR,GAAGL,iBAAiBkC,cAAc;QAClCL,MAAM9B,OAAOoC,uBAAuB;QACpCC,mBAAmB;IACrB;IACA9B,YAAY;QACV+B,QAAQtC,OAAO+B,uBAAuB;QACtC,CAAC7B,qBAAqB,EAAE;YACtBoC,QAAQ;QACV;IACF;AACF;AAEA;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CAACC;IACxC,MAAMC,aAAarB;IAEnB,OAAO;QACLhB,sBAAsBN,aACpBK,2BAA2BC,oBAAoB,EAC/CqC,WAAWrC,oBAAoB,CAAC,oCAAoC;QAEtEC,SAASP,aAAaK,2BAA2BE,OAAO,EAAEoC,WAAWpC,OAAO,CAAC,uBAAuB;QACpGC,UAAUR,aAAaK,2BAA2BG,QAAQ,EAAEmC,WAAWnC,QAAQ,CAAC,wBAAwB;QACxGC,YAAYT,aAAaK,2BAA2BI,UAAU,EAAEkC,WAAWlC,UAAU,CAAC,0BAA0B;IAClH;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/components/VerticalBarChart/useVerticalBarChartStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { VerticalBarChartProps, VerticalBarChartStyles } from '../../index';\nimport { SlotClassNames } from '@fluentui/react-utilities/src/index';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { HighContrastSelector } from '../../utilities/utilities';\n\nexport const verticalbarchartClassNames: SlotClassNames<VerticalBarChartStyles> = {\n opacityChangeOnHover: 'fui-vbc__opacityChangeOnHover',\n tooltip: 'fui-vbc__tooltip',\n barLabel: 'fui-vbc__barLabel',\n lineBorder: 'fui-vbc_lineBorder',\n root: '',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n axisTitle: '',\n chartTitle: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: '',\n axisAnnotation: '',\n};\nconst useStyles = makeStyles({\n opacityChangeOnHover: {},\n tooltip: {\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(tokens.spacingHorizontalS),\n position: 'absolute',\n textAlign: 'center',\n top: tokens.spacingVerticalNone,\n fill: tokens.colorNeutralBackground1,\n borderRadius: tokens.borderRadiusSmall,\n pointerEvents: 'none',\n },\n barLabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto',\n },\n lineBorder: {\n stroke: tokens.colorNeutralBackground1,\n [HighContrastSelector]: {\n stroke: 'Canvas',\n },\n },\n});\n\n/**\n * Apply styling to the Carousel slots based on the state\n */\nexport const useVerticalBarChartStyles = (props: VerticalBarChartProps): VerticalBarChartStyles => {\n const baseStyles = useStyles();\n\n return {\n opacityChangeOnHover: mergeClasses(\n verticalbarchartClassNames.opacityChangeOnHover,\n baseStyles.opacityChangeOnHover /*props.styles?.opacityChangeOnHover*/,\n ),\n tooltip: mergeClasses(verticalbarchartClassNames.tooltip, baseStyles.tooltip /*props.styles?.tooltip*/),\n barLabel: mergeClasses(verticalbarchartClassNames.barLabel, baseStyles.barLabel /*props.styles?.barLabel*/),\n lineBorder: mergeClasses(verticalbarchartClassNames.lineBorder, baseStyles.lineBorder /*props.styles?.lineBorder*/),\n };\n};\n"],"names":["makeStyles","mergeClasses","shorthands","tokens","typographyStyles","HighContrastSelector","verticalbarchartClassNames","opacityChangeOnHover","tooltip","barLabel","lineBorder","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","useStyles","body1","display","flexDirection","padding","spacingHorizontalS","position","textAlign","top","spacingVerticalNone","fill","colorNeutralBackground1","borderRadius","borderRadiusSmall","pointerEvents","caption1Strong","colorNeutralForeground1","forcedColorAdjust","stroke","useVerticalBarChartStyles","props","baseStyles"],"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAGtE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,wBAAwB;AACjE,SAASC,oBAAoB,QAAQ,4BAA4B;AAEjE,OAAO,MAAMC,6BAAqE;IAChFC,sBAAsB;IACtBC,SAAS;IACTC,UAAU;IACVC,YAAY;IACZC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,iBAAiB;IACjBC,OAAO;IACPC,oBAAoB;IACpBC,WAAW;IACXC,YAAY;IACZC,aAAa;IACbC,cAAc;IACdC,YAAY;IACZC,OAAO;IACPC,gBAAgB;AAClB,EAAE;AACF,MAAMC,YAAYxB,WAAW;IAC3BO,sBAAsB,CAAC;IACvBC,SAAS;QACP,GAAGJ,iBAAiBqB,KAAK;QACzBC,SAAS;QACTC,eAAe;QACf,GAAGzB,WAAW0B,OAAO,CAACzB,OAAO0B,kBAAkB,CAAC;QAChDC,UAAU;QACVC,WAAW;QACXC,KAAK7B,OAAO8B,mBAAmB;QAC/BC,MAAM/B,OAAOgC,uBAAuB;QACpCC,cAAcjC,OAAOkC,iBAAiB;QACtCC,eAAe;IACjB;IACA7B,UAAU;QACR,GAAGL,iBAAiBmC,cAAc;QAClCL,MAAM/B,OAAOqC,uBAAuB;QACpCC,mBAAmB;IACrB;IACA/B,YAAY;QACVgC,QAAQvC,OAAOgC,uBAAuB;QACtC,CAAC9B,qBAAqB,EAAE;YACtBqC,QAAQ;QACV;IACF;AACF;AAEA;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CAACC;IACxC,MAAMC,aAAarB;IAEnB,OAAO;QACLjB,sBAAsBN,aACpBK,2BAA2BC,oBAAoB,EAC/CsC,WAAWtC,oBAAoB,CAAC,oCAAoC;QAEtEC,SAASP,aAAaK,2BAA2BE,OAAO,EAAEqC,WAAWrC,OAAO,CAAC,uBAAuB;QACpGC,UAAUR,aAAaK,2BAA2BG,QAAQ,EAAEoC,WAAWpC,QAAQ,CAAC,wBAAwB;QACxGC,YAAYT,aAAaK,2BAA2BI,UAAU,EAAEmC,WAAWnC,UAAU,CAAC,0BAA0B;IAClH;AACF,EAAE"}
@@ -15,7 +15,8 @@ export const verticalstackedbarchartClassNames = {
15
15
  shapeStyles: '',
16
16
  chartWrapper: '',
17
17
  svgTooltip: '',
18
- chart: ''
18
+ chart: '',
19
+ axisAnnotation: ''
19
20
  };
20
21
  const useStyles = /*#__PURE__*/__styles({
21
22
  opacityChangeOnHover: {
@@ -1 +1 @@
1
- {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","verticalstackedbarchartClassNames","opacityChangeOnHover","tooltip","barLabel","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","shapeStyles","chartWrapper","svgTooltip","chart","useStyles","Bceei9c","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","z8tnut","z189sj","Byoj8tv","uwmqm3","qhf8xq","fsow6f","Bhzewxz","Bkfmm31","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","Bkecrkj","Bvjb7m6","d","p","useVerticalStackedBarChartStyles","props","baseStyles","href"],"sources":["useVerticalStackedBarChartStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const verticalstackedbarchartClassNames = {\n opacityChangeOnHover: 'fui-vsbc__opacityChangeOnHover',\n tooltip: 'fui-vsbc__tooltip',\n barLabel: 'fui-vsbc__barLabel',\n root: '',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n axisTitle: '',\n chartTitle: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: ''\n};\nconst useStyles = makeStyles({\n opacityChangeOnHover: {\n cursor: 'default'\n },\n tooltip: {\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(tokens.spacingHorizontalS),\n position: 'absolute',\n textAlign: 'center',\n top: tokens.spacingVerticalNone,\n fill: tokens.colorNeutralBackground1,\n borderRadius: tokens.borderRadiusSmall,\n pointerEvents: 'none'\n },\n barLabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n }\n});\nexport const useVerticalStackedBarChartStyles = (props)=>{\n const baseStyles = useStyles();\n return {\n opacityChangeOnHover: mergeClasses(verticalstackedbarchartClassNames.opacityChangeOnHover, baseStyles.opacityChangeOnHover, props.href ? 'pointer' : 'default'),\n tooltip: mergeClasses(verticalstackedbarchartClassNames.tooltip, baseStyles.tooltip),\n barLabel: mergeClasses(verticalstackedbarchartClassNames.barLabel, baseStyles.barLabel)\n };\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;AACrE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE,OAAO,MAAMC,iCAAiC,GAAG;EAC7CC,oBAAoB,EAAE,gCAAgC;EACtDC,OAAO,EAAE,mBAAmB;EAC5BC,QAAQ,EAAE,oBAAoB;EAC9BC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,EAAE;EACTC,KAAK,EAAE,EAAE;EACTC,eAAe,EAAE,EAAE;EACnBC,KAAK,EAAE,EAAE;EACTC,kBAAkB,EAAE,EAAE;EACtBC,SAAS,EAAE,EAAE;EACbC,UAAU,EAAE,EAAE;EACdC,WAAW,EAAE,EAAE;EACfC,YAAY,EAAE,EAAE;EAChBC,UAAU,EAAE,EAAE;EACdC,KAAK,EAAE;AACX,CAAC;AACD,MAAMC,SAAS,gBAAGrB,QAAA;EAAAM,oBAAA;IAAAgB,OAAA;EAAA;EAAAf,OAAA;IAAAgB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;EAAAlC,QAAA;IAAAe,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAU,OAAA;IAAAO,OAAA;EAAA;AAAA;EAAAC,CAAA;IAAAC,CAAA;EAAA;AAAA,CAqBjB,CAAC;AACF,OAAO,MAAMC,gCAAgC,GAAIC,KAAK,IAAG;EACrD,MAAMC,UAAU,GAAG3B,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHf,oBAAoB,EAAEL,YAAY,CAACI,iCAAiC,CAACC,oBAAoB,EAAE0C,UAAU,CAAC1C,oBAAoB,EAAEyC,KAAK,CAACE,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/J1C,OAAO,EAAEN,YAAY,CAACI,iCAAiC,CAACE,OAAO,EAAEyC,UAAU,CAACzC,OAAO,CAAC;IACpFC,QAAQ,EAAEP,YAAY,CAACI,iCAAiC,CAACG,QAAQ,EAAEwC,UAAU,CAACxC,QAAQ;EAC1F,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__styles","mergeClasses","shorthands","tokens","typographyStyles","verticalstackedbarchartClassNames","opacityChangeOnHover","tooltip","barLabel","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","useStyles","Bceei9c","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","z8tnut","z189sj","Byoj8tv","uwmqm3","qhf8xq","fsow6f","Bhzewxz","Bkfmm31","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","Bkecrkj","Bvjb7m6","d","p","useVerticalStackedBarChartStyles","props","baseStyles","href"],"sources":["useVerticalStackedBarChartStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const verticalstackedbarchartClassNames = {\n opacityChangeOnHover: 'fui-vsbc__opacityChangeOnHover',\n tooltip: 'fui-vsbc__tooltip',\n barLabel: 'fui-vsbc__barLabel',\n root: '',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n axisTitle: '',\n chartTitle: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: '',\n axisAnnotation: ''\n};\nconst useStyles = makeStyles({\n opacityChangeOnHover: {\n cursor: 'default'\n },\n tooltip: {\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(tokens.spacingHorizontalS),\n position: 'absolute',\n textAlign: 'center',\n top: tokens.spacingVerticalNone,\n fill: tokens.colorNeutralBackground1,\n borderRadius: tokens.borderRadiusSmall,\n pointerEvents: 'none'\n },\n barLabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n }\n});\nexport const useVerticalStackedBarChartStyles = (props)=>{\n const baseStyles = useStyles();\n return {\n opacityChangeOnHover: mergeClasses(verticalstackedbarchartClassNames.opacityChangeOnHover, baseStyles.opacityChangeOnHover, props.href ? 'pointer' : 'default'),\n tooltip: mergeClasses(verticalstackedbarchartClassNames.tooltip, baseStyles.tooltip),\n barLabel: mergeClasses(verticalstackedbarchartClassNames.barLabel, baseStyles.barLabel)\n };\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,EAAEC,UAAU,QAAQ,gBAAgB;AACrE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE,OAAO,MAAMC,iCAAiC,GAAG;EAC7CC,oBAAoB,EAAE,gCAAgC;EACtDC,OAAO,EAAE,mBAAmB;EAC5BC,QAAQ,EAAE,oBAAoB;EAC9BC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE,EAAE;EACTC,KAAK,EAAE,EAAE;EACTC,eAAe,EAAE,EAAE;EACnBC,KAAK,EAAE,EAAE;EACTC,kBAAkB,EAAE,EAAE;EACtBC,SAAS,EAAE,EAAE;EACbC,UAAU,EAAE,EAAE;EACdC,WAAW,EAAE,EAAE;EACfC,YAAY,EAAE,EAAE;EAChBC,UAAU,EAAE,EAAE;EACdC,KAAK,EAAE,EAAE;EACTC,cAAc,EAAE;AACpB,CAAC;AACD,MAAMC,SAAS,gBAAGtB,QAAA;EAAAM,oBAAA;IAAAiB,OAAA;EAAA;EAAAhB,OAAA;IAAAiB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;EAAAnC,QAAA;IAAAgB,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAU,OAAA;IAAAO,OAAA;EAAA;AAAA;EAAAC,CAAA;IAAAC,CAAA;EAAA;AAAA,CAqBjB,CAAC;AACF,OAAO,MAAMC,gCAAgC,GAAIC,KAAK,IAAG;EACrD,MAAMC,UAAU,GAAG3B,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHhB,oBAAoB,EAAEL,YAAY,CAACI,iCAAiC,CAACC,oBAAoB,EAAE2C,UAAU,CAAC3C,oBAAoB,EAAE0C,KAAK,CAACE,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/J3C,OAAO,EAAEN,YAAY,CAACI,iCAAiC,CAACE,OAAO,EAAE0C,UAAU,CAAC1C,OAAO,CAAC;IACpFC,QAAQ,EAAEP,YAAY,CAACI,iCAAiC,CAACG,QAAQ,EAAEyC,UAAU,CAACzC,QAAQ;EAC1F,CAAC;AACL,CAAC","ignoreList":[]}
@@ -15,7 +15,8 @@ export const verticalstackedbarchartClassNames = {
15
15
  shapeStyles: '',
16
16
  chartWrapper: '',
17
17
  svgTooltip: '',
18
- chart: ''
18
+ chart: '',
19
+ axisAnnotation: ''
19
20
  };
20
21
  const useStyles = makeStyles({
21
22
  opacityChangeOnHover: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { VerticalStackedBarChartProps, VerticalStackedBarChartStyles } from './VerticalStackedBarChart.types';\nimport { SlotClassNames } from '@fluentui/react-utilities/src/index';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\n\nexport const verticalstackedbarchartClassNames: SlotClassNames<VerticalStackedBarChartStyles> = {\n opacityChangeOnHover: 'fui-vsbc__opacityChangeOnHover',\n tooltip: 'fui-vsbc__tooltip',\n barLabel: 'fui-vsbc__barLabel',\n root: '',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n axisTitle: '',\n chartTitle: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: '',\n};\n\nconst useStyles = makeStyles({\n opacityChangeOnHover: {\n cursor: 'default',\n },\n tooltip: {\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(tokens.spacingHorizontalS),\n position: 'absolute',\n textAlign: 'center',\n top: tokens.spacingVerticalNone,\n fill: tokens.colorNeutralBackground1,\n borderRadius: tokens.borderRadiusSmall,\n pointerEvents: 'none',\n },\n barLabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto',\n },\n});\n\nexport const useVerticalStackedBarChartStyles = (\n props: VerticalStackedBarChartProps,\n): VerticalStackedBarChartStyles => {\n const baseStyles = useStyles();\n\n return {\n opacityChangeOnHover: mergeClasses(\n verticalstackedbarchartClassNames.opacityChangeOnHover,\n baseStyles.opacityChangeOnHover,\n props.href ? 'pointer' : 'default',\n ),\n tooltip: mergeClasses(verticalstackedbarchartClassNames.tooltip, baseStyles.tooltip),\n barLabel: mergeClasses(verticalstackedbarchartClassNames.barLabel, baseStyles.barLabel),\n };\n};\n"],"names":["makeStyles","mergeClasses","shorthands","tokens","typographyStyles","verticalstackedbarchartClassNames","opacityChangeOnHover","tooltip","barLabel","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","shapeStyles","chartWrapper","svgTooltip","chart","useStyles","cursor","body1","display","flexDirection","padding","spacingHorizontalS","position","textAlign","top","spacingVerticalNone","fill","colorNeutralBackground1","borderRadius","borderRadiusSmall","pointerEvents","caption1Strong","colorNeutralForeground1","forcedColorAdjust","useVerticalStackedBarChartStyles","props","baseStyles","href"],"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAGtE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,wBAAwB;AAEjE,OAAO,MAAMC,oCAAmF;IAC9FC,sBAAsB;IACtBC,SAAS;IACTC,UAAU;IACVC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,iBAAiB;IACjBC,OAAO;IACPC,oBAAoB;IACpBC,WAAW;IACXC,YAAY;IACZC,aAAa;IACbC,cAAc;IACdC,YAAY;IACZC,OAAO;AACT,EAAE;AAEF,MAAMC,YAAYrB,WAAW;IAC3BM,sBAAsB;QACpBgB,QAAQ;IACV;IACAf,SAAS;QACP,GAAGH,iBAAiBmB,KAAK;QACzBC,SAAS;QACTC,eAAe;QACf,GAAGvB,WAAWwB,OAAO,CAACvB,OAAOwB,kBAAkB,CAAC;QAChDC,UAAU;QACVC,WAAW;QACXC,KAAK3B,OAAO4B,mBAAmB;QAC/BC,MAAM7B,OAAO8B,uBAAuB;QACpCC,cAAc/B,OAAOgC,iBAAiB;QACtCC,eAAe;IACjB;IACA5B,UAAU;QACR,GAAGJ,iBAAiBiC,cAAc;QAClCL,MAAM7B,OAAOmC,uBAAuB;QACpCC,mBAAmB;IACrB;AACF;AAEA,OAAO,MAAMC,mCAAmC,CAC9CC;IAEA,MAAMC,aAAarB;IAEnB,OAAO;QACLf,sBAAsBL,aACpBI,kCAAkCC,oBAAoB,EACtDoC,WAAWpC,oBAAoB,EAC/BmC,MAAME,IAAI,GAAG,YAAY;QAE3BpC,SAASN,aAAaI,kCAAkCE,OAAO,EAAEmC,WAAWnC,OAAO;QACnFC,UAAUP,aAAaI,kCAAkCG,QAAQ,EAAEkC,WAAWlC,QAAQ;IACxF;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/components/VerticalStackedBarChart/useVerticalStackedBarChartStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { VerticalStackedBarChartProps, VerticalStackedBarChartStyles } from './VerticalStackedBarChart.types';\nimport { SlotClassNames } from '@fluentui/react-utilities/src/index';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\n\nexport const verticalstackedbarchartClassNames: SlotClassNames<VerticalStackedBarChartStyles> = {\n opacityChangeOnHover: 'fui-vsbc__opacityChangeOnHover',\n tooltip: 'fui-vsbc__tooltip',\n barLabel: 'fui-vsbc__barLabel',\n root: '',\n xAxis: '',\n yAxis: '',\n legendContainer: '',\n hover: '',\n descriptionMessage: '',\n axisTitle: '',\n chartTitle: '',\n shapeStyles: '',\n chartWrapper: '',\n svgTooltip: '',\n chart: '',\n axisAnnotation: '',\n};\n\nconst useStyles = makeStyles({\n opacityChangeOnHover: {\n cursor: 'default',\n },\n tooltip: {\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n ...shorthands.padding(tokens.spacingHorizontalS),\n position: 'absolute',\n textAlign: 'center',\n top: tokens.spacingVerticalNone,\n fill: tokens.colorNeutralBackground1,\n borderRadius: tokens.borderRadiusSmall,\n pointerEvents: 'none',\n },\n barLabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto',\n },\n});\n\nexport const useVerticalStackedBarChartStyles = (\n props: VerticalStackedBarChartProps,\n): VerticalStackedBarChartStyles => {\n const baseStyles = useStyles();\n\n return {\n opacityChangeOnHover: mergeClasses(\n verticalstackedbarchartClassNames.opacityChangeOnHover,\n baseStyles.opacityChangeOnHover,\n props.href ? 'pointer' : 'default',\n ),\n tooltip: mergeClasses(verticalstackedbarchartClassNames.tooltip, baseStyles.tooltip),\n barLabel: mergeClasses(verticalstackedbarchartClassNames.barLabel, baseStyles.barLabel),\n };\n};\n"],"names":["makeStyles","mergeClasses","shorthands","tokens","typographyStyles","verticalstackedbarchartClassNames","opacityChangeOnHover","tooltip","barLabel","root","xAxis","yAxis","legendContainer","hover","descriptionMessage","axisTitle","chartTitle","shapeStyles","chartWrapper","svgTooltip","chart","axisAnnotation","useStyles","cursor","body1","display","flexDirection","padding","spacingHorizontalS","position","textAlign","top","spacingVerticalNone","fill","colorNeutralBackground1","borderRadius","borderRadiusSmall","pointerEvents","caption1Strong","colorNeutralForeground1","forcedColorAdjust","useVerticalStackedBarChartStyles","props","baseStyles","href"],"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAGtE,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,wBAAwB;AAEjE,OAAO,MAAMC,oCAAmF;IAC9FC,sBAAsB;IACtBC,SAAS;IACTC,UAAU;IACVC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,iBAAiB;IACjBC,OAAO;IACPC,oBAAoB;IACpBC,WAAW;IACXC,YAAY;IACZC,aAAa;IACbC,cAAc;IACdC,YAAY;IACZC,OAAO;IACPC,gBAAgB;AAClB,EAAE;AAEF,MAAMC,YAAYtB,WAAW;IAC3BM,sBAAsB;QACpBiB,QAAQ;IACV;IACAhB,SAAS;QACP,GAAGH,iBAAiBoB,KAAK;QACzBC,SAAS;QACTC,eAAe;QACf,GAAGxB,WAAWyB,OAAO,CAACxB,OAAOyB,kBAAkB,CAAC;QAChDC,UAAU;QACVC,WAAW;QACXC,KAAK5B,OAAO6B,mBAAmB;QAC/BC,MAAM9B,OAAO+B,uBAAuB;QACpCC,cAAchC,OAAOiC,iBAAiB;QACtCC,eAAe;IACjB;IACA7B,UAAU;QACR,GAAGJ,iBAAiBkC,cAAc;QAClCL,MAAM9B,OAAOoC,uBAAuB;QACpCC,mBAAmB;IACrB;AACF;AAEA,OAAO,MAAMC,mCAAmC,CAC9CC;IAEA,MAAMC,aAAarB;IAEnB,OAAO;QACLhB,sBAAsBL,aACpBI,kCAAkCC,oBAAoB,EACtDqC,WAAWrC,oBAAoB,EAC/BoC,MAAME,IAAI,GAAG,YAAY;QAE3BrC,SAASN,aAAaI,kCAAkCE,OAAO,EAAEoC,WAAWpC,OAAO;QACnFC,UAAUP,aAAaI,kCAAkCG,QAAQ,EAAEmC,WAAWnC,QAAQ;IACxF;AACF,EAAE"}
@@ -1486,35 +1486,6 @@ export function getCurveFactory(curve, defaultFactory = d3CurveLinear) {
1486
1486
  return defaultFactory;
1487
1487
  }
1488
1488
  }
1489
- export function createYAxisForScatterChart(yAxisParams, isRtl, axisData, isIntegralDataset, useSecondaryYScale = false, _supportNegativeData = false, roundedTicks = false) {
1490
- const { yMinMaxValues = {
1491
- startValue: 0,
1492
- endValue: 0
1493
- }, yAxisElement = null, yMaxValue = 0, yMinValue = 0, containerHeight, containerWidth, margins, tickPadding = 12, maxOfYVal = 0, yAxisTickFormat, yAxisTickCount = 4, eventAnnotationProps, eventLabelHeight } = yAxisParams;
1494
- // maxOfYVal coming from only area chart and Grouped vertical bar chart(Calculation done at base file)
1495
- const tempVal = maxOfYVal || yMinMaxValues.endValue;
1496
- const finalYmax = tempVal > yMaxValue ? tempVal : yMaxValue;
1497
- const finalYmin = Math.min(yMinMaxValues.startValue, yMinValue || 0);
1498
- const domainValues = prepareDatapoints(finalYmax, finalYmin, yAxisTickCount, isIntegralDataset, roundedTicks);
1499
- let yMin = finalYmin;
1500
- let yMax = domainValues[domainValues.length - 1];
1501
- const yPadding = (yMax - yMin) * 0.1;
1502
- yMin = yMin - yPadding;
1503
- yMax = yMax + yPadding;
1504
- const yAxisScale = d3ScaleLinear().domain([
1505
- domainValues[0],
1506
- yMax
1507
- ]).range([
1508
- containerHeight - margins.bottom,
1509
- margins.top + (eventAnnotationProps ? eventLabelHeight : 0)
1510
- ]);
1511
- const axis = !isRtl && useSecondaryYScale || isRtl && !useSecondaryYScale ? d3AxisRight(yAxisScale) : d3AxisLeft(yAxisScale);
1512
- const yAxis = axis.tickPadding(tickPadding).tickValues(domainValues).tickSizeInner(-(containerWidth - margins.left - margins.right));
1513
- yAxisTickFormat ? yAxis.tickFormat(yAxisTickFormat) : yAxis.tickFormat(d3Format('.2~s'));
1514
- yAxisElement ? d3Select(yAxisElement).call(yAxis).selectAll('text').attr('aria-hidden', 'true') : '';
1515
- axisData.yAxisDomainValues = domainValues;
1516
- return yAxisScale;
1517
- }
1518
1489
  export const truncateString = (str, maxLength, ellipsis = '...')=>{
1519
1490
  if (str.length <= maxLength) {
1520
1491
  return str;