@fluentui/react-charting 5.24.14 → 5.24.15

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 (44) hide show
  1. package/CHANGELOG.json +37 -1
  2. package/CHANGELOG.md +12 -2
  3. package/dist/react-charting.d.ts +26 -17
  4. package/dist/react-charting.js +1 -1
  5. package/dist/react-charting.min.js +1 -1
  6. package/etc/react-charting.api.md +1 -0
  7. package/lib/Utilities.js +19 -1
  8. package/lib/Utilities.js.map +1 -1
  9. package/lib/components/CommonComponents/CartesianChart.base.js +6 -6
  10. package/lib/components/CommonComponents/CartesianChart.base.js.map +1 -1
  11. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +29 -2
  12. package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  13. package/lib/components/GanttChart/GanttChart.base.js +210 -158
  14. package/lib/components/GanttChart/GanttChart.base.js.map +1 -1
  15. package/lib/components/GanttChart/GanttChart.types.d.ts +23 -13
  16. package/lib/components/GanttChart/GanttChart.types.js.map +1 -1
  17. package/lib/types/IDataPoint.d.ts +3 -4
  18. package/lib/types/IDataPoint.js.map +1 -1
  19. package/lib-amd/Utilities.js +9 -0
  20. package/lib-amd/Utilities.js.map +1 -1
  21. package/lib-amd/components/CommonComponents/CartesianChart.base.js +6 -6
  22. package/lib-amd/components/CommonComponents/CartesianChart.base.js.map +1 -1
  23. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js +29 -2
  24. package/lib-amd/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  25. package/lib-amd/components/GanttChart/GanttChart.base.js +210 -158
  26. package/lib-amd/components/GanttChart/GanttChart.base.js.map +1 -1
  27. package/lib-amd/components/GanttChart/GanttChart.types.d.ts +23 -13
  28. package/lib-amd/components/GanttChart/GanttChart.types.js.map +1 -1
  29. package/lib-amd/types/IDataPoint.d.ts +3 -4
  30. package/lib-amd/types/IDataPoint.js.map +1 -1
  31. package/lib-commonjs/Utilities.js +9 -0
  32. package/lib-commonjs/Utilities.js.map +1 -1
  33. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js +6 -6
  34. package/lib-commonjs/components/CommonComponents/CartesianChart.base.js.map +1 -1
  35. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +29 -2
  36. package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
  37. package/lib-commonjs/components/GanttChart/GanttChart.base.js +210 -158
  38. package/lib-commonjs/components/GanttChart/GanttChart.base.js.map +1 -1
  39. package/lib-commonjs/components/GanttChart/GanttChart.types.d.ts +23 -13
  40. package/lib-commonjs/components/GanttChart/GanttChart.types.js.map +1 -1
  41. package/lib-commonjs/types/IDataPoint.d.ts +3 -4
  42. package/lib-commonjs/types/IDataPoint.js.map +1 -1
  43. package/package.json +2 -2
  44. package/src/components/GanttChart/GanttChart.types.ts +24 -13
@@ -1 +1 @@
1
- {"version":3,"file":"GanttChart.base.js","sourceRoot":"../src/","sources":["components/GanttChart/GanttChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { max as d3Max, min as d3Min } from 'd3-array';\nimport { ScaleLinear, ScaleBand, ScaleTime } from 'd3-scale';\nimport { DirectionalHint, FocusZoneDirection, getId, getRTL } from '@fluentui/react';\nimport { ILegend, ILegendContainer, Legends } from '../Legends/index';\nimport { IMargins, IChart, IImageExportOptions, IGanttChartDataPoint } from '../../types/IDataPoint';\nimport { CartesianChart } from '../CommonComponents/index';\nimport { IGanttChartProps } from './GanttChart.types';\nimport {\n ChartHoverCard,\n ChartTypes,\n YAxisType,\n XAxisTypes,\n getTypeOfAxis,\n getNextColor,\n findHBCWANumericMinMaxOfY,\n createYAxisForHorizontalBarChartWithAxis,\n IDomainNRange,\n createStringYAxisForHorizontalBarChartWithAxis,\n getNextGradient,\n areArraysEqual,\n MIN_DOMAIN_MARGIN,\n sortAxisCategories,\n calculateAppropriateBarWidth,\n getColorFromToken,\n getScalePadding,\n getDateFormatLevel,\n} from '../../utilities/index';\nimport { toImage } from '../../utilities/image-export-utils';\nimport { formatDateToLocaleString, getMultiLevelDateTimeFormatOptions } from '@fluentui/chart-utilities';\n\ntype NumberScale = ScaleLinear<number, number>;\ntype StringScale = ScaleBand<string>;\ntype DateScale = ScaleTime<Date, number>;\n\nexport const GanttChartBase: React.FunctionComponent<IGanttChartProps> = React.forwardRef<\n HTMLDivElement,\n IGanttChartProps\n>(({ useUTC = true, yAxisCategoryOrder = 'default', ...props }, forwardedRef) => {\n const _barHeight = React.useRef<number>(0);\n const _calloutId = React.useRef<string>(getId('callout'));\n const margins = React.useRef<IMargins>({});\n const _bars = React.useRef<React.JSX.Element[]>([]);\n const _xAxisType = React.useRef<XAxisTypes>(XAxisTypes.DateAxis);\n const _yAxisType = React.useRef<YAxisType>(YAxisType.StringAxis);\n const _calloutAnchorPoint = React.useRef<IGanttChartDataPoint | null>(null);\n const _cartesianChartRef = React.useRef<IChart>(null);\n const _legendsRef = React.useRef<ILegendContainer>(null);\n const _domainMargin = React.useRef<number>(MIN_DOMAIN_MARGIN);\n const _yAxisPadding = React.useRef<number>(0);\n const _emptyChartId = React.useRef<string>(getId('Gantt_empty'));\n const _legendColorMap = React.useRef<Record<string, [string, string]>>({});\n const _gradientId = React.useRef<string>(getId('Gantt_gradient'));\n const prevProps = React.useRef<Partial<IGanttChartProps>>({});\n\n const [calloutColor, setCalloutColor] = React.useState<string>('');\n const [isCalloutVisible, setCalloutVisible] = React.useState<boolean>(false);\n const [hoveredLegend, setHoveredLegend] = React.useState<string>('');\n const [calloutTarget, setCalloutTarget] = React.useState<SVGElement | null>(null);\n const [calloutLegend, setCalloutLegend] = React.useState<string>('');\n const [xCalloutValue, setXCalloutValue] = React.useState<string>('');\n const [yCalloutValue, setYCalloutValue] = React.useState<string>('');\n const [selectedLegends, setSelectedLegends] = React.useState<string[]>(props.legendProps?.selectedLegends || []);\n const [dataPointCalloutProps, setDataPointCalloutProps] = React.useState<IGanttChartDataPoint>();\n\n React.useEffect(() => {\n if (!areArraysEqual(prevProps.current.legendProps?.selectedLegends, props.legendProps?.selectedLegends)) {\n setSelectedLegends(props.legendProps?.selectedLegends || []);\n }\n prevProps.current = props;\n }, [props]);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n chartContainer: _cartesianChartRef.current?.chartContainer ?? null,\n toImage: (opts?: IImageExportOptions): Promise<string> => {\n return toImage(_cartesianChartRef.current?.chartContainer, _legendsRef.current?.toSVG, getRTL(), opts);\n },\n }),\n [],\n );\n\n const _points = React.useMemo(() => {\n _legendColorMap.current = {};\n let colorIndex = 0;\n\n return (\n props.data?.map(point => {\n const legend = `${point.legend}`;\n if (!_legendColorMap.current[legend]) {\n let startColor = point.color\n ? getColorFromToken(point.color, props.theme?.isInverted)\n : getNextColor(colorIndex, 0, props.theme?.isInverted);\n let endColor = startColor;\n\n if (props.enableGradient) {\n const nextGradient = getNextGradient(colorIndex, 0, props.theme?.isInverted);\n startColor = point.gradient?.[0] || nextGradient[0];\n endColor = point.gradient?.[1] || nextGradient[1];\n }\n\n _legendColorMap.current[legend] = [startColor, endColor];\n colorIndex += 1;\n }\n\n return {\n ...point,\n color: _legendColorMap.current[legend][0],\n ...(props.enableGradient ? { gradient: _legendColorMap.current[legend] } : {}),\n };\n }) ?? []\n );\n }, [props.data, props.theme?.isInverted, props.enableGradient]);\n\n const _dateFormatOptions = React.useMemo(() => {\n if (_xAxisType.current !== XAxisTypes.DateAxis) {\n return undefined;\n }\n\n let lowestFormatLevel = 100;\n let highestFormatLevel = -1;\n _points.forEach(p => {\n const startFormatLevel = getDateFormatLevel(p.x.start as Date, useUTC);\n const endFormatLevel = getDateFormatLevel(p.x.end as Date, useUTC);\n lowestFormatLevel = Math.min(lowestFormatLevel, startFormatLevel, endFormatLevel);\n highestFormatLevel = Math.max(highestFormatLevel, startFormatLevel, endFormatLevel);\n });\n\n return getMultiLevelDateTimeFormatOptions(lowestFormatLevel, highestFormatLevel);\n }, [useUTC, _points]);\n\n const _getDomainNRangeValues = React.useCallback(\n (\n points: IGanttChartDataPoint[],\n _margins: IMargins,\n containerWidth: number,\n chartType: ChartTypes,\n isRTL: boolean,\n xAxisType: XAxisTypes,\n barWidth: number,\n tickValues: Date[] | number[] | undefined,\n shiftX: number,\n ): IDomainNRange => {\n const xValues: (Date | number)[] = [];\n points.forEach(point => {\n xValues.push(point.x.start, point.x.end);\n });\n\n const xMin = d3Min(xValues) || 0;\n const xMax = d3Max(xValues) || 0;\n\n return {\n dStartValue: isRTL ? xMax : xMin,\n dEndValue: isRTL ? xMin : xMax,\n rStartValue: _margins.left! + (isRTL ? 0 : shiftX),\n rEndValue: containerWidth - _margins.right! - (isRTL ? shiftX : 0),\n };\n },\n [],\n );\n\n const _adjustProps = (): void => {\n _barHeight.current = Math.max(props.barHeight || 24, 1);\n\n if (props.data && props.data.length > 0) {\n _xAxisType.current = getTypeOfAxis(props.data[0].x.start, true) as XAxisTypes;\n _yAxisType.current = getTypeOfAxis(props.data[0].y, false) as YAxisType;\n }\n\n _yAxisPadding.current = getScalePadding(props.yAxisPadding, undefined, 1 / 2);\n };\n\n const _getMargins = React.useCallback((_margins: IMargins) => {\n margins.current = _margins;\n }, []);\n\n const _renderContentForOnlyBars = (point: IGanttChartDataPoint): React.JSX.Element => {\n return (\n <ChartHoverCard\n XValue={point.yAxisCalloutData || point.y.toString()}\n Legend={point.legend}\n YValue={point.xAxisCalloutData || _getFormattedXValue(point)}\n color={point.color}\n culture={props.culture}\n />\n );\n };\n\n const _renderCallout = (point?: IGanttChartDataPoint): React.JSX.Element | null => {\n return point ? _renderContentForOnlyBars(point) : null;\n };\n\n const _getCustomizedCallout = () => {\n return props.onRenderCalloutPerDataPoint\n ? props.onRenderCalloutPerDataPoint(dataPointCalloutProps, _renderCallout)\n : null;\n };\n\n const _getFormattedXValue = React.useCallback(\n (point: IGanttChartDataPoint): string => {\n let formattedStartX: string;\n let formattedEndX: string;\n\n if (_xAxisType.current === XAxisTypes.DateAxis) {\n formattedStartX = formatDateToLocaleString(\n point.x.start as Date,\n props.culture,\n useUTC,\n false,\n _dateFormatOptions,\n );\n formattedEndX = formatDateToLocaleString(point.x.end as Date, props.culture, useUTC, false, _dateFormatOptions);\n } else {\n formattedStartX = point.x.start.toString();\n formattedEndX = point.x.end.toString();\n }\n\n return `${formattedStartX} - ${formattedEndX}`;\n },\n [props.culture, useUTC, _dateFormatOptions],\n );\n\n const _getAriaLabel = React.useCallback(\n (point: IGanttChartDataPoint): string => {\n const xValue = point.xAxisCalloutData || _getFormattedXValue(point);\n const yValue = point.yAxisCalloutData || point.y;\n return point.callOutAccessibilityData?.ariaLabel || `${yValue}. ` + `${xValue}.`;\n },\n [_getFormattedXValue],\n );\n\n const _getHighlightedLegend = React.useCallback(() => {\n return selectedLegends.length > 0 ? selectedLegends : hoveredLegend ? [hoveredLegend] : [];\n }, [hoveredLegend, selectedLegends]);\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 const _legendHighlighted = React.useCallback(\n (legend: string | undefined) => {\n return _getHighlightedLegend().includes(`${legend}`);\n },\n [_getHighlightedLegend],\n );\n\n /**\n * This function checks if none of the legends is selected or hovered.\n */\n const _noLegendHighlighted = React.useCallback(() => {\n return _getHighlightedLegend().length === 0;\n }, [_getHighlightedLegend]);\n\n const _showCallout = React.useCallback(\n (target: SVGElement, point: IGanttChartDataPoint) => {\n if (!(_noLegendHighlighted() || _legendHighlighted(point.legend)) || _calloutAnchorPoint.current === point) {\n return;\n }\n\n _calloutAnchorPoint.current = point;\n setCalloutTarget(target);\n setCalloutVisible(true);\n setCalloutLegend(point.legend!);\n setCalloutColor(point.color!);\n setXCalloutValue(point.yAxisCalloutData || point.y.toString());\n setYCalloutValue(point.xAxisCalloutData! || _getFormattedXValue(point));\n setDataPointCalloutProps(point);\n },\n [_getFormattedXValue, _legendHighlighted, _noLegendHighlighted],\n );\n\n const _onBarFocus = React.useCallback(\n (point: IGanttChartDataPoint, focusEvent: React.FocusEvent<SVGElement>): void => {\n _showCallout(focusEvent.currentTarget, point);\n },\n [_showCallout],\n );\n\n const _onBarHover = React.useCallback(\n (point: IGanttChartDataPoint, mouseEvent: React.MouseEvent<SVGElement>): void => {\n _showCallout(mouseEvent.currentTarget, point);\n },\n [_showCallout],\n );\n\n const _createBars = React.useCallback(\n (xScale: DateScale | NumberScale, yScale: NumberScale | StringScale): React.JSX.Element[] => {\n const bars = _points.map((point: IGanttChartDataPoint, index: number) => {\n const shouldHighlight = _noLegendHighlighted() || _legendHighlighted(point.legend);\n\n let startColor = point.color!;\n let endColor = startColor;\n if (props.enableGradient) {\n startColor = point.gradient![0];\n endColor = point.gradient![1];\n }\n const gradientId = `${_gradientId.current}_${index}`;\n\n const startX = xScale(point.x.start);\n const endX = xScale(point.x.end);\n const y =\n (_yAxisType.current === YAxisType.StringAxis\n ? (yScale as StringScale)(point.y as string)! + (yScale as StringScale).bandwidth() / 2\n : (yScale as NumberScale)(point.y as number)) -\n _barHeight.current / 2;\n\n return (\n <React.Fragment key={index}>\n {props.enableGradient && (\n <defs>\n <linearGradient id={gradientId}>\n <stop offset=\"0\" stopColor={startColor} />\n <stop offset=\"100%\" stopColor={endColor} />\n </linearGradient>\n </defs>\n )}\n <rect\n x={Math.min(startX, endX)}\n y={y}\n width={Math.abs(endX - startX)}\n height={_barHeight.current}\n rx={props.roundCorners ? 3 : 0}\n fill={props.enableGradient ? `url(#${gradientId})` : startColor}\n opacity={shouldHighlight ? 1 : 0.1}\n onClick={point.onClick}\n onMouseOver={event => _onBarHover(point, event)}\n onMouseLeave={_onBarLeave}\n onFocus={event => _onBarFocus(point, event)}\n onBlur={_onBarLeave}\n data-is-focusable={shouldHighlight}\n role=\"img\"\n aria-label={_getAriaLabel(point)}\n />\n </React.Fragment>\n );\n });\n return bars;\n },\n [\n _getAriaLabel,\n _legendHighlighted,\n _noLegendHighlighted,\n _onBarFocus,\n _onBarHover,\n props.enableGradient,\n props.roundCorners,\n _points,\n ],\n );\n\n const _getGraphData = React.useCallback(\n (\n xScale: DateScale | NumberScale,\n yScale: NumberScale | StringScale,\n containerHeight: number,\n containerWidth: number,\n xAxisElement: SVGElement | null,\n yAxisElement: SVGElement | null,\n ) => {\n return (_bars.current = _createBars(xScale, yScale));\n },\n [_createBars],\n );\n\n const _onBarLeave = (): void => {\n // do nothing\n };\n\n const _handleChartMouseLeave = React.useCallback((): void => {\n _calloutAnchorPoint.current = null;\n setCalloutTarget(null);\n setCalloutVisible(false);\n setCalloutLegend('');\n setCalloutColor('');\n setXCalloutValue('');\n setYCalloutValue('');\n setDataPointCalloutProps(undefined);\n }, []);\n\n const _closeCallout = () => {\n setCalloutVisible(false);\n };\n\n const _onLegendHover = (legend: string): void => {\n setHoveredLegend(legend);\n };\n\n const _onLegendLeave = (): void => {\n setHoveredLegend('');\n };\n\n const _getLegendData = (): React.JSX.Element => {\n const actions: ILegend[] = [];\n\n Object.keys(_legendColorMap.current).forEach((legendTitle: string) => {\n const legend: ILegend = {\n title: legendTitle,\n color: _legendColorMap.current[legendTitle][0],\n hoverAction: () => {\n _handleChartMouseLeave();\n _onLegendHover(legendTitle);\n },\n onMouseOutAction: () => {\n _onLegendLeave();\n },\n };\n\n actions.push(legend);\n });\n\n const legends = (\n <Legends\n legends={actions}\n enabledWrapLines={props.enabledLegendsWrapLines}\n overflowProps={props.legendsOverflowProps}\n focusZonePropsInHoverCard={props.focusZonePropsForLegendsInHoverCard}\n overflowText={props.legendsOverflowText}\n onChange={_onLegendSelectionChange}\n ref={_legendsRef}\n {...props.legendProps}\n />\n );\n return legends;\n };\n\n const _onLegendSelectionChange = (\n _selectedLegends: string[],\n event: React.MouseEvent<HTMLButtonElement>,\n currentLegend?: ILegend,\n ): void => {\n if (props.legendProps?.canSelectMultipleLegends) {\n setSelectedLegends(_selectedLegends);\n } else {\n setSelectedLegends(_selectedLegends.slice(-1));\n }\n if (props.legendProps?.onChange) {\n props.legendProps.onChange(_selectedLegends, event, currentLegend);\n }\n };\n\n const _getChartTitle = (): string => {\n const { chartTitle } = props;\n return (chartTitle ? `${chartTitle}. ` : '') + `Gantt chart with ${_points.length} bars. `;\n };\n\n const _isChartEmpty = (): boolean => {\n return !(props.data && props.data.length > 0);\n };\n\n const _getYDomainMargins = React.useCallback(\n (containerHeight: number): IMargins => {\n _domainMargin.current = MIN_DOMAIN_MARGIN;\n\n const ySet = new Set<string | number>();\n _points.forEach((point: IGanttChartDataPoint) => {\n ySet.add(point.y);\n });\n const uniqueY = Array.from(ySet);\n\n /** Total height available to render the bars */\n const totalHeight =\n containerHeight - (margins.current.top! + MIN_DOMAIN_MARGIN) - (margins.current.bottom! + MIN_DOMAIN_MARGIN);\n\n if (_yAxisType.current !== YAxisType.StringAxis) {\n _barHeight.current = Math.max(\n props.barHeight ||\n calculateAppropriateBarWidth(uniqueY as number[] | Date[], totalHeight, _yAxisPadding.current),\n 1,\n );\n _domainMargin.current += _barHeight.current / 2;\n }\n\n return {\n ...margins.current,\n top: margins.current.top! + _domainMargin.current,\n bottom: margins.current.bottom! + _domainMargin.current,\n };\n },\n [props.barHeight, _points],\n );\n\n const _getOrderedYAxisLabels = () => {\n return sortAxisCategories(_mapCategoryToValues(), yAxisCategoryOrder);\n };\n\n const _mapCategoryToValues = () => {\n const categoryToValues: Record<string, number[]> = {};\n _points.forEach(point => {\n if (!categoryToValues[point.y]) {\n categoryToValues[point.y] = [];\n }\n // FIXME\n // categoryToValues[point.y].push(point.x.end - point.x.start);\n });\n return categoryToValues;\n };\n\n const _renderBars = React.useCallback(() => {\n return <g>{_bars.current}</g>;\n }, []);\n\n if (!_isChartEmpty()) {\n _adjustProps();\n\n const yAxisLabels = _getOrderedYAxisLabels();\n const legendBars: React.JSX.Element = _getLegendData();\n const calloutProps = {\n isCalloutVisible,\n directionalHint: DirectionalHint.topAutoEdge,\n id: `toolTip${_calloutId.current}`,\n target: calloutTarget,\n isBeakVisible: false,\n gapSpace: 15,\n color: calloutColor,\n legend: calloutLegend,\n XValue: xCalloutValue,\n YValue: yCalloutValue,\n onDismiss: _closeCallout,\n preventDismissOnLostFocus: true,\n ...props.calloutProps,\n };\n const tickParams = {\n tickValues: props.tickValues,\n tickFormat: props.tickFormat,\n };\n\n return (\n <CartesianChart\n {...props}\n yAxisPadding={_yAxisPadding.current}\n chartTitle={_getChartTitle()}\n points={_points}\n chartType={ChartTypes.GanttChart}\n xAxisType={_xAxisType.current}\n yAxisType={_yAxisType.current}\n stringDatasetForYAxisDomain={yAxisLabels}\n calloutProps={calloutProps}\n tickParams={tickParams}\n legendBars={legendBars}\n createYAxis={createYAxisForHorizontalBarChartWithAxis}\n getDomainNRangeValues={_getDomainNRangeValues}\n createStringYAxis={createStringYAxisForHorizontalBarChartWithAxis}\n getMinMaxOfYAxis={findHBCWANumericMinMaxOfY}\n focusZoneDirection={FocusZoneDirection.vertical}\n customizedCallout={_getCustomizedCallout()}\n getmargins={_getMargins}\n getYDomainMargins={_getYDomainMargins}\n getGraphData={_getGraphData}\n onChartMouseLeave={_handleChartMouseLeave}\n ref={_cartesianChartRef}\n useUTC={useUTC}\n children={_renderBars}\n />\n );\n } else {\n return (\n <div\n id={_emptyChartId.current}\n role={'alert'}\n style={{ opacity: '0' }}\n aria-label={'Graph has no data to display'}\n />\n );\n }\n});\n\nGanttChartBase.displayName = 'GanttChart';\n"]}
1
+ {"version":3,"file":"GanttChart.base.js","sourceRoot":"../src/","sources":["components/GanttChart/GanttChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { max as d3Max, min as d3Min } from 'd3-array';\nimport { ScaleLinear, ScaleBand, ScaleTime } from 'd3-scale';\nimport { DirectionalHint, FocusZoneDirection, getId, getRTL } from '@fluentui/react';\nimport { ILegend, ILegendContainer, Legends } from '../Legends/index';\nimport { IMargins, IChart, IImageExportOptions, IGanttChartDataPoint } from '../../types/IDataPoint';\nimport { CartesianChart, IModifiedCartesianChartProps } from '../CommonComponents/index';\nimport { IGanttChartProps } from './GanttChart.types';\nimport {\n ChartHoverCard,\n ChartTypes,\n YAxisType,\n XAxisTypes,\n getTypeOfAxis,\n getNextColor,\n findHBCWANumericMinMaxOfY,\n createYAxisForHorizontalBarChartWithAxis,\n IDomainNRange,\n createStringYAxisForHorizontalBarChartWithAxis,\n getNextGradient,\n areArraysEqual,\n MIN_DOMAIN_MARGIN,\n sortAxisCategories,\n calculateAppropriateBarWidth,\n getColorFromToken,\n getScalePadding,\n getDateFormatLevel,\n} from '../../utilities/index';\nimport { toImage } from '../../utilities/image-export-utils';\nimport { formatDateToLocaleString, getMultiLevelDateTimeFormatOptions } from '@fluentui/chart-utilities';\n\ntype NumberScale = ScaleLinear<number, number>;\ntype StringScale = ScaleBand<string>;\ntype DateScale = ScaleTime<Date, number>;\n\nconst DEFAULT_BAR_HEIGHT = 24;\nconst MIN_BAR_HEIGHT = 1;\n\nexport const GanttChartBase: React.FunctionComponent<IGanttChartProps> = React.forwardRef<\n HTMLDivElement,\n IGanttChartProps\n>(({ useUTC = true, yAxisCategoryOrder = 'default', maxBarHeight = 24, ...props }, forwardedRef) => {\n const _barHeight = React.useRef<number>(DEFAULT_BAR_HEIGHT);\n const _calloutId = React.useRef<string>(getId('callout'));\n const _margins = React.useRef<IMargins>({});\n const _calloutAnchorPoint = React.useRef<IGanttChartDataPoint | null>(null);\n const _cartesianChartRef = React.useRef<IChart>(null);\n const _legendsRef = React.useRef<ILegendContainer>(null);\n const _emptyChartId = React.useRef<string>(getId('Gantt_empty'));\n const _legendMap = React.useRef<Record<string, { id: string; startColor: string; endColor: string }>>({});\n const _prevProps = React.useRef<Partial<IGanttChartProps>>({});\n\n const [calloutColor, setCalloutColor] = React.useState<string>('');\n const [isCalloutVisible, setCalloutVisible] = React.useState<boolean>(false);\n const [hoveredLegend, setHoveredLegend] = React.useState<string>('');\n const [calloutTarget, setCalloutTarget] = React.useState<SVGElement | null>(null);\n const [calloutLegend, setCalloutLegend] = React.useState<string>('');\n const [xCalloutValue, setXCalloutValue] = React.useState<string>('');\n const [yCalloutValue, setYCalloutValue] = React.useState<string>('');\n const [selectedLegends, setSelectedLegends] = React.useState<string[]>(props.legendProps?.selectedLegends || []);\n const [calloutDataPoint, setCalloutDataPoint] = React.useState<IGanttChartDataPoint>();\n\n React.useEffect(() => {\n if (!areArraysEqual(_prevProps.current.legendProps?.selectedLegends, props.legendProps?.selectedLegends)) {\n setSelectedLegends(props.legendProps?.selectedLegends || []);\n }\n _prevProps.current = props;\n }, [props]);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n chartContainer: _cartesianChartRef.current?.chartContainer ?? null,\n toImage: (opts?: IImageExportOptions): Promise<string> => {\n return toImage(_cartesianChartRef.current?.chartContainer, _legendsRef.current?.toSVG, getRTL(), opts);\n },\n }),\n [],\n );\n\n const _points = React.useMemo(() => {\n _legendMap.current = {};\n let colorIndex = 0;\n\n return (\n props.data?.map(point => {\n const legend = `${point.legend}`;\n if (!_legendMap.current[legend]) {\n let startColor = point.color\n ? getColorFromToken(point.color, props.theme?.isInverted)\n : getNextColor(colorIndex, 0, props.theme?.isInverted);\n let endColor = startColor;\n\n if (props.enableGradient) {\n const nextGradient = getNextGradient(colorIndex, 0, props.theme?.isInverted);\n startColor = point.gradient?.[0] || nextGradient[0];\n endColor = point.gradient?.[1] || nextGradient[1];\n }\n\n _legendMap.current[legend] = { id: getId('legend'), startColor, endColor };\n colorIndex += 1;\n }\n\n const { startColor, endColor } = _legendMap.current[legend];\n return {\n ...point,\n color: startColor,\n ...(props.enableGradient ? { gradient: [startColor, endColor] as [string, string] } : {}),\n };\n }) ?? []\n );\n }, [props.data, props.theme?.isInverted, props.enableGradient]);\n\n const _xAxisType = React.useMemo(() => {\n if (_points.length > 0) {\n return getTypeOfAxis(_points[0].x.start, true) as XAxisTypes;\n }\n return XAxisTypes.DateAxis;\n }, [_points]);\n\n const _yAxisType = React.useMemo(() => {\n if (_points.length > 0) {\n return getTypeOfAxis(_points[0].y, false) as YAxisType;\n }\n return YAxisType.StringAxis;\n }, [_points]);\n\n const _yAxisPadding = React.useMemo(() => {\n return getScalePadding(props.yAxisPadding, undefined, 1 / 2);\n }, [props.yAxisPadding]);\n\n const _dateFormatOptions = React.useMemo(() => {\n if (_xAxisType !== XAxisTypes.DateAxis) {\n return undefined;\n }\n\n let lowestFormatLevel = 100;\n let highestFormatLevel = -1;\n _points.forEach(p => {\n const startFormatLevel = getDateFormatLevel(p.x.start as Date, useUTC);\n const endFormatLevel = getDateFormatLevel(p.x.end as Date, useUTC);\n lowestFormatLevel = Math.min(lowestFormatLevel, startFormatLevel, endFormatLevel);\n highestFormatLevel = Math.max(highestFormatLevel, startFormatLevel, endFormatLevel);\n });\n\n return getMultiLevelDateTimeFormatOptions(lowestFormatLevel, highestFormatLevel);\n }, [useUTC, _points, _xAxisType]);\n\n const _mapYValueToXValues = React.useCallback(() => {\n const yValueToXValues: Record<string, number[]> = {};\n _points.forEach(point => {\n if (!yValueToXValues[point.y]) {\n yValueToXValues[point.y] = [];\n }\n yValueToXValues[point.y].push(+point.x.end - +point.x.start);\n });\n return yValueToXValues;\n }, [_points]);\n\n const _getOrderedYAxisLabels = React.useCallback(() => {\n const yValueToXValues = _mapYValueToXValues();\n\n if (_yAxisType !== YAxisType.StringAxis) {\n return Object.keys(yValueToXValues).sort((a, b) => +a - +b);\n }\n\n if (yAxisCategoryOrder === 'default') {\n return Object.keys(yValueToXValues).reverse();\n }\n return sortAxisCategories(yValueToXValues, yAxisCategoryOrder);\n }, [_mapYValueToXValues, _yAxisType, yAxisCategoryOrder]);\n\n const _yAxisLabels = React.useMemo(() => _getOrderedYAxisLabels(), [_getOrderedYAxisLabels]);\n\n const _getDomainNRangeValues = React.useCallback(\n (\n points: IGanttChartDataPoint[],\n margins: IMargins,\n containerWidth: number,\n chartType: ChartTypes,\n isRTL: boolean,\n xAxisType: XAxisTypes,\n barWidth: number,\n tickValues: Date[] | number[] | undefined,\n shiftX: number,\n ): IDomainNRange => {\n const xValues: (Date | number)[] = [];\n points.forEach(point => {\n xValues.push(point.x.start, point.x.end);\n });\n\n const xMin = d3Min(xValues) || 0;\n const xMax = d3Max(xValues) || 0;\n\n return {\n dStartValue: isRTL ? xMax : xMin,\n dEndValue: isRTL ? xMin : xMax,\n rStartValue: margins.left! + (isRTL ? 0 : shiftX),\n rEndValue: containerWidth - margins.right! - (isRTL ? shiftX : 0),\n };\n },\n [],\n );\n\n const _getMargins = React.useCallback((margins: IMargins) => {\n _margins.current = margins;\n }, []);\n\n const _getFormattedXValue = React.useCallback(\n (point: IGanttChartDataPoint): string => {\n let formattedStartX: string;\n let formattedEndX: string;\n\n if (_xAxisType === XAxisTypes.DateAxis) {\n formattedStartX = formatDateToLocaleString(\n point.x.start as Date,\n props.culture,\n useUTC,\n false,\n _dateFormatOptions,\n );\n formattedEndX = formatDateToLocaleString(point.x.end as Date, props.culture, useUTC, false, _dateFormatOptions);\n } else {\n formattedStartX = point.x.start.toString();\n formattedEndX = point.x.end.toString();\n }\n\n return `${formattedStartX} - ${formattedEndX}`;\n },\n [props.culture, useUTC, _dateFormatOptions, _xAxisType],\n );\n\n const _getCustomizedCallout = React.useCallback(() => {\n const defaultRender = (point?: IGanttChartDataPoint): React.JSX.Element | null => {\n return point ? (\n <ChartHoverCard\n XValue={point.yAxisCalloutData || point.y.toString()}\n Legend={point.legend}\n YValue={point.xAxisCalloutData || _getFormattedXValue(point)}\n color={point.color}\n culture={props.culture}\n />\n ) : null;\n };\n\n return props.onRenderCalloutPerDataPoint\n ? props.onRenderCalloutPerDataPoint(calloutDataPoint, defaultRender)\n : null;\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [_getFormattedXValue, calloutDataPoint, props.culture, props.onRenderCalloutPerDataPoint]);\n\n const _getAriaLabel = React.useCallback(\n (point: IGanttChartDataPoint): string => {\n const xValue = point.xAxisCalloutData || _getFormattedXValue(point);\n const yValue = point.yAxisCalloutData || point.y;\n return (\n point.callOutAccessibilityData?.ariaLabel ||\n `${yValue}. ` + (point.legend ? `${point.legend}, ` : '') + `${xValue}.`\n );\n },\n [_getFormattedXValue],\n );\n\n const _getHighlightedLegend = React.useCallback(() => {\n return selectedLegends.length > 0 ? selectedLegends : hoveredLegend ? [hoveredLegend] : [];\n }, [hoveredLegend, selectedLegends]);\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 const _legendHighlighted = React.useCallback(\n (legend: string | undefined) => {\n return _getHighlightedLegend().includes(`${legend}`);\n },\n [_getHighlightedLegend],\n );\n\n /**\n * This function checks if none of the legends is selected or hovered.\n */\n const _noLegendHighlighted = React.useCallback(() => {\n return _getHighlightedLegend().length === 0;\n }, [_getHighlightedLegend]);\n\n const _showCallout = React.useCallback(\n (target: SVGElement, point: IGanttChartDataPoint) => {\n if (!(_noLegendHighlighted() || _legendHighlighted(point.legend)) || _calloutAnchorPoint.current === point) {\n return;\n }\n\n _calloutAnchorPoint.current = point;\n setCalloutTarget(target);\n setCalloutVisible(true);\n setCalloutLegend(point.legend!);\n setCalloutColor(point.color!);\n setXCalloutValue(point.yAxisCalloutData || point.y.toString());\n setYCalloutValue(point.xAxisCalloutData! || _getFormattedXValue(point));\n setCalloutDataPoint(point);\n },\n [_getFormattedXValue, _legendHighlighted, _noLegendHighlighted],\n );\n\n const _onBarFocus = React.useCallback(\n (point: IGanttChartDataPoint, focusEvent: React.FocusEvent<SVGElement>): void => {\n _showCallout(focusEvent.currentTarget, point);\n },\n [_showCallout],\n );\n\n const _onBarHover = React.useCallback(\n (point: IGanttChartDataPoint, mouseEvent: React.MouseEvent<SVGElement>): void => {\n _showCallout(mouseEvent.currentTarget, point);\n },\n [_showCallout],\n );\n\n const _onBarLeave = React.useCallback((): void => {\n // do nothing\n }, []);\n\n const _handleChartMouseLeave = React.useCallback((): void => {\n _calloutAnchorPoint.current = null;\n setCalloutTarget(null);\n setCalloutVisible(false);\n setCalloutLegend('');\n setCalloutColor('');\n setXCalloutValue('');\n setYCalloutValue('');\n setCalloutDataPoint(undefined);\n }, []);\n\n const _closeCallout = React.useCallback(() => {\n setCalloutVisible(false);\n }, []);\n\n const _getBarHeight = React.useCallback(\n (adjustedValue: number): number => {\n let barHeight: number;\n if (typeof props.barHeight === 'number') {\n barHeight = props.barHeight;\n } else {\n barHeight = adjustedValue;\n }\n if (typeof maxBarHeight === 'number') {\n barHeight = Math.min(barHeight, maxBarHeight);\n }\n barHeight = Math.max(barHeight, MIN_BAR_HEIGHT);\n return barHeight;\n },\n [maxBarHeight, props.barHeight],\n );\n\n const _getOrderedDataPoints = React.useCallback(() => {\n const result: IGanttChartDataPoint[] = [];\n\n const yValueToPoints: Record<string, IGanttChartDataPoint[]> = {};\n _points.forEach(point => {\n if (!yValueToPoints[point.y]) {\n yValueToPoints[point.y] = [];\n }\n yValueToPoints[point.y].push(point);\n });\n\n for (let i = _yAxisLabels.length - 1; i >= 0; i--) {\n const yValue = _yAxisLabels[i];\n if (yValueToPoints[yValue]) {\n result.push(...yValueToPoints[yValue].sort((a, b) => +a.x.start - +b.x.start));\n }\n }\n\n return result;\n }, [_points, _yAxisLabels]);\n\n const _createBars = React.useCallback(\n ({\n xScale,\n yScalePrimary: yScale,\n }: {\n xScale: DateScale | NumberScale;\n yScalePrimary: NumberScale | StringScale;\n }): React.JSX.Element => {\n const getGradientId = (legend: string | undefined) => {\n const legendId = _legendMap.current[`${legend}`].id;\n return `${legendId}_gradient`;\n };\n\n const gradientDefs: React.JSX.Element[] = [];\n if (props.enableGradient) {\n Object.keys(_legendMap.current).forEach((legend: string, index: number) => {\n const { startColor, endColor } = _legendMap.current[legend];\n gradientDefs.push(\n <linearGradient key={index} id={getGradientId(legend)}>\n <stop offset=\"0\" stopColor={startColor} />\n <stop offset=\"100%\" stopColor={endColor} />\n </linearGradient>,\n );\n });\n }\n\n let scaleBandwidth = 0;\n if (_yAxisType === YAxisType.StringAxis) {\n scaleBandwidth = (yScale as StringScale).bandwidth();\n _barHeight.current = _getBarHeight(scaleBandwidth);\n }\n\n const points = _getOrderedDataPoints();\n const bars = points.map((point: IGanttChartDataPoint, index: number) => {\n const rectStartX = xScale(point.x.start);\n const rectEndX = xScale(point.x.end);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const rectY = yScale(point.y as any)! + (scaleBandwidth - _barHeight.current) / 2;\n\n const shouldHighlight = _noLegendHighlighted() || _legendHighlighted(point.legend);\n\n return (\n <rect\n key={index}\n x={Math.min(rectStartX, rectEndX)}\n y={rectY}\n width={Math.abs(rectEndX - rectStartX)}\n height={_barHeight.current}\n rx={props.roundCorners ? 3 : 0}\n fill={props.enableGradient ? `url(#${getGradientId(point.legend)})` : point.color}\n opacity={shouldHighlight ? 1 : 0.1}\n onClick={point.onClick}\n onMouseOver={event => _onBarHover(point, event)}\n onMouseLeave={_onBarLeave}\n onFocus={event => _onBarFocus(point, event)}\n onBlur={_onBarLeave}\n data-is-focusable={shouldHighlight}\n role=\"img\"\n aria-label={_getAriaLabel(point)}\n />\n );\n });\n return (\n <g>\n {gradientDefs.length > 0 ? <defs>{gradientDefs}</defs> : null}\n {bars}\n </g>\n );\n },\n [\n _getAriaLabel,\n _getBarHeight,\n _getOrderedDataPoints,\n _legendHighlighted,\n _noLegendHighlighted,\n _onBarFocus,\n _onBarHover,\n _onBarLeave,\n _yAxisType,\n props.enableGradient,\n props.roundCorners,\n ],\n );\n\n const _onLegendHover = React.useCallback((legend: string): void => {\n setHoveredLegend(legend);\n }, []);\n\n const _onLegendLeave = React.useCallback((): void => {\n setHoveredLegend('');\n }, []);\n\n const _onLegendSelectionChange = React.useCallback(\n (_selectedLegends: string[], event: React.MouseEvent<HTMLButtonElement>, currentLegend?: ILegend): void => {\n if (props.legendProps?.canSelectMultipleLegends) {\n setSelectedLegends(_selectedLegends);\n } else {\n setSelectedLegends(_selectedLegends.slice(-1));\n }\n if (props.legendProps?.onChange) {\n props.legendProps.onChange(_selectedLegends, event, currentLegend);\n }\n },\n [props.legendProps],\n );\n\n const _getLegendData = React.useCallback((): React.JSX.Element => {\n const actions: ILegend[] = [];\n\n Object.keys(_legendMap.current).forEach((legendTitle: string) => {\n const legend: ILegend = {\n title: legendTitle,\n color: _legendMap.current[legendTitle].startColor,\n hoverAction: () => {\n _handleChartMouseLeave();\n _onLegendHover(legendTitle);\n },\n onMouseOutAction: () => {\n _onLegendLeave();\n },\n };\n\n actions.push(legend);\n });\n\n const legends = (\n <Legends\n legends={actions}\n enabledWrapLines={props.enabledLegendsWrapLines}\n overflowProps={props.legendsOverflowProps}\n focusZonePropsInHoverCard={props.focusZonePropsForLegendsInHoverCard}\n overflowText={props.legendsOverflowText}\n onChange={_onLegendSelectionChange}\n ref={_legendsRef}\n {...props.legendProps}\n />\n );\n return legends;\n }, [\n _handleChartMouseLeave,\n _onLegendHover,\n _onLegendLeave,\n _onLegendSelectionChange,\n props.enabledLegendsWrapLines,\n props.focusZonePropsForLegendsInHoverCard,\n props.legendProps,\n props.legendsOverflowProps,\n props.legendsOverflowText,\n ]);\n\n const _getChartTitle = React.useCallback((): string => {\n return (props.chartTitle ? `${props.chartTitle}. ` : '') + `Gantt chart with ${_points.length} data points. `;\n }, [_points.length, props.chartTitle]);\n\n const _isChartEmpty = React.useCallback((): boolean => {\n return _points.length === 0;\n }, [_points.length]);\n\n const _getYDomainMargins = React.useCallback(\n (containerHeight: number): IMargins => {\n let domainMargin = MIN_DOMAIN_MARGIN;\n\n const ySet = new Set<string | number>();\n _points.forEach((point: IGanttChartDataPoint) => {\n ySet.add(point.y);\n });\n const uniqueY = Array.from(ySet);\n\n /** Total height available to render the bars */\n const totalHeight =\n containerHeight - (_margins.current.top! + MIN_DOMAIN_MARGIN) - (_margins.current.bottom! + MIN_DOMAIN_MARGIN);\n\n if (_yAxisType !== YAxisType.StringAxis) {\n _barHeight.current = _getBarHeight(\n calculateAppropriateBarWidth(uniqueY as number[] | Date[], totalHeight, _yAxisPadding),\n );\n domainMargin += _barHeight.current / 2;\n }\n\n return {\n ..._margins.current,\n top: _margins.current.top! + domainMargin,\n bottom: _margins.current.bottom! + domainMargin,\n };\n },\n [_getBarHeight, _points, _yAxisPadding, _yAxisType],\n );\n\n if (!_isChartEmpty()) {\n _barHeight.current = _getBarHeight(DEFAULT_BAR_HEIGHT);\n\n const calloutProps: IModifiedCartesianChartProps['calloutProps'] = {\n isCalloutVisible,\n directionalHint: DirectionalHint.topAutoEdge,\n id: `toolTip${_calloutId.current}`,\n target: calloutTarget,\n isBeakVisible: false,\n gapSpace: 15,\n color: calloutColor,\n legend: calloutLegend,\n XValue: xCalloutValue,\n YValue: yCalloutValue,\n onDismiss: _closeCallout,\n preventDismissOnLostFocus: true,\n ...props.calloutProps,\n };\n const tickParams: IModifiedCartesianChartProps['tickParams'] = {\n tickValues: props.tickValues,\n tickFormat: props.tickFormat,\n };\n\n return (\n <CartesianChart\n {...props}\n yAxisPadding={_yAxisPadding}\n chartTitle={_getChartTitle()}\n points={_points}\n chartType={ChartTypes.GanttChart}\n xAxisType={_xAxisType}\n yAxisType={_yAxisType}\n stringDatasetForYAxisDomain={_yAxisLabels}\n calloutProps={calloutProps}\n tickParams={tickParams}\n legendBars={_getLegendData()}\n createYAxis={createYAxisForHorizontalBarChartWithAxis}\n getDomainNRangeValues={_getDomainNRangeValues}\n createStringYAxis={createStringYAxisForHorizontalBarChartWithAxis}\n getMinMaxOfYAxis={findHBCWANumericMinMaxOfY}\n focusZoneDirection={FocusZoneDirection.bidirectional}\n customizedCallout={_getCustomizedCallout()}\n getmargins={_getMargins}\n getYDomainMargins={_getYDomainMargins}\n onChartMouseLeave={_handleChartMouseLeave}\n ref={_cartesianChartRef}\n useUTC={useUTC}\n children={_createBars}\n />\n );\n } else {\n return (\n <div\n id={_emptyChartId.current}\n role={'alert'}\n style={{ opacity: '0' }}\n aria-label={'Graph has no data to display'}\n />\n );\n }\n});\n\nGanttChartBase.displayName = 'GanttChart';\n"]}
@@ -6,52 +6,62 @@ import { ICartesianChartProps, ICartesianChartStyleProps, ICartesianChartStyles,
6
6
  */
7
7
  export interface IGanttChartProps extends ICartesianChartProps {
8
8
  /**
9
- * Data to render in the chart.
9
+ * An array of data points to be rendered in the chart.
10
10
  */
11
11
  data?: IGanttChartDataPoint[];
12
12
  /**
13
- * Define a custom callout renderer for a data point.
13
+ * Callback function to render a custom callout for each data point.
14
14
  */
15
15
  onRenderCalloutPerDataPoint?: IRenderFunction<IGanttChartDataPoint>;
16
16
  /**
17
- * Width of each bar in the chart.
17
+ * Height of each bar, in pixels.
18
18
  */
19
19
  barHeight?: number;
20
20
  /**
21
- * chart title for the chart
21
+ * Title of the chart.
22
22
  */
23
23
  chartTitle?: string;
24
24
  /**
25
- * Call to provide customized styling that will layer on top of the variant rules.
25
+ * Custom styles that are applied on top of the default chart styles.
26
26
  */
27
27
  styles?: IStyleFunctionOrObject<IGanttChartStyleProps, IGanttChartStyles>;
28
28
  /**
29
- * The prop used to define the culture to localized the numbers
29
+ * Locale identifier string used to format numbers and dates according to the specified culture.
30
+ * Example: 'en-US', 'fr-FR'.
30
31
  */
31
32
  culture?: string;
32
33
  /**
33
- * it's padding between bar's or lines in the graph
34
+ * Padding between bars as a fraction of the [step](https://d3js.org/d3-scale/band#band_step).
35
+ * Takes a number in the range [0, 1].
36
+ * @default 1/2
34
37
  */
35
38
  yAxisPadding?: number;
36
39
  /**
37
- *@default false
38
- *Used for to elipse y axis labes and show tooltip on x axis labels
40
+ * If true, truncates y-axis tick labels longer than `noOfCharsToTruncate` with ellipses
41
+ * and displays them in a tooltip on hover.
42
+ * @default false
39
43
  */
40
44
  showYAxisLablesTooltip?: boolean;
41
45
  /**
42
- *@default false
43
- *Used for showing complete y axis lables */
46
+ * If true, renders full y-axis tick labels without truncation.
47
+ * @default false
48
+ */
44
49
  showYAxisLables?: boolean;
45
50
  /**
51
+ * If true, enables gradient fills for the bars.
46
52
  * @default false
47
- * The prop used to enable gradient fill color for the chart.
48
53
  */
49
54
  enableGradient?: boolean;
50
55
  /**
56
+ * If true, applies rounded corners to the bars.
51
57
  * @default false
52
- * The prop used to enable rounded corners for the bars.
53
58
  */
54
59
  roundCorners?: boolean;
60
+ /**
61
+ * Maximum height of each bar, in pixels.
62
+ * @default 24
63
+ */
64
+ maxBarHeight?: number;
55
65
  }
56
66
  /**
57
67
  * Gantt Chart style properties
@@ -1 +1 @@
1
- {"version":3,"file":"GanttChart.types.js","sourceRoot":"../src/","sources":["components/GanttChart/GanttChart.types.ts"],"names":[],"mappings":"","sourcesContent":["import { IRenderFunction, IStyleFunctionOrObject } from '@fluentui/react/lib/Utilities';\nimport {\n ICartesianChartProps,\n ICartesianChartStyleProps,\n ICartesianChartStyles,\n IGanttChartDataPoint,\n} from '../../index';\n\n/**\n * Gantt Chart properties\n * {@docCategory GanttChart}\n */\nexport interface IGanttChartProps extends ICartesianChartProps {\n /**\n * Data to render in the chart.\n */\n data?: IGanttChartDataPoint[];\n\n /**\n * Define a custom callout renderer for a data point.\n */\n onRenderCalloutPerDataPoint?: IRenderFunction<IGanttChartDataPoint>;\n\n /**\n * Width of each bar in the chart.\n */\n barHeight?: number;\n\n /**\n * chart title for the chart\n */\n chartTitle?: string;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject<IGanttChartStyleProps, IGanttChartStyles>;\n\n /**\n * The prop used to define the culture to localized the numbers\n */\n culture?: string;\n\n /**\n * it's padding between bar's or lines in the graph\n */\n yAxisPadding?: number;\n\n /**\n *@default false\n *Used for to elipse y axis labes and show tooltip on x axis labels\n */\n showYAxisLablesTooltip?: boolean;\n\n /**\n *@default false\n *Used for showing complete y axis lables */\n showYAxisLables?: boolean;\n\n /**\n * @default false\n * The prop used to enable gradient fill color for the chart.\n */\n enableGradient?: boolean;\n\n /**\n * @default false\n * The prop used to enable rounded corners for the bars.\n */\n roundCorners?: boolean;\n}\n\n/**\n * Gantt Chart style properties\n * {@docCategory GanttChart}\n */\nexport interface IGanttChartStyleProps extends ICartesianChartStyleProps {}\n\n/**\n * Gantt Chart styles\n * {@docCategory GanttChart}\n */\nexport interface IGanttChartStyles extends ICartesianChartStyles {}\n"]}
1
+ {"version":3,"file":"GanttChart.types.js","sourceRoot":"../src/","sources":["components/GanttChart/GanttChart.types.ts"],"names":[],"mappings":"","sourcesContent":["import { IRenderFunction, IStyleFunctionOrObject } from '@fluentui/react/lib/Utilities';\nimport {\n ICartesianChartProps,\n ICartesianChartStyleProps,\n ICartesianChartStyles,\n IGanttChartDataPoint,\n} from '../../index';\n\n/**\n * Gantt Chart properties\n * {@docCategory GanttChart}\n */\nexport interface IGanttChartProps extends ICartesianChartProps {\n /**\n * An array of data points to be rendered in the chart.\n */\n data?: IGanttChartDataPoint[];\n\n /**\n * Callback function to render a custom callout for each data point.\n */\n onRenderCalloutPerDataPoint?: IRenderFunction<IGanttChartDataPoint>;\n\n /**\n * Height of each bar, in pixels.\n */\n barHeight?: number;\n\n /**\n * Title of the chart.\n */\n chartTitle?: string;\n\n /**\n * Custom styles that are applied on top of the default chart styles.\n */\n styles?: IStyleFunctionOrObject<IGanttChartStyleProps, IGanttChartStyles>;\n\n /**\n * Locale identifier string used to format numbers and dates according to the specified culture.\n * Example: 'en-US', 'fr-FR'.\n */\n culture?: string;\n\n /**\n * Padding between bars as a fraction of the [step](https://d3js.org/d3-scale/band#band_step).\n * Takes a number in the range [0, 1].\n * @default 1/2\n */\n yAxisPadding?: number;\n\n /**\n * If true, truncates y-axis tick labels longer than `noOfCharsToTruncate` with ellipses\n * and displays them in a tooltip on hover.\n * @default false\n */\n showYAxisLablesTooltip?: boolean;\n\n /**\n * If true, renders full y-axis tick labels without truncation.\n * @default false\n */\n showYAxisLables?: boolean;\n\n /**\n * If true, enables gradient fills for the bars.\n * @default false\n */\n enableGradient?: boolean;\n\n /**\n * If true, applies rounded corners to the bars.\n * @default false\n */\n roundCorners?: boolean;\n\n /**\n * Maximum height of each bar, in pixels.\n * @default 24\n */\n maxBarHeight?: number;\n}\n\n/**\n * Gantt Chart style properties\n * {@docCategory GanttChart}\n */\nexport interface IGanttChartStyleProps extends ICartesianChartStyleProps {}\n\n/**\n * Gantt Chart styles\n * {@docCategory GanttChart}\n */\nexport interface IGanttChartStyles extends ICartesianChartStyles {}\n"]}
@@ -848,6 +848,7 @@ export type AxisCategoryOrder = 'default' | 'data' | string[] | 'category ascend
848
848
  export interface IGanttChartDataPoint {
849
849
  /**
850
850
  * Dependent value of the data point, rendered along the x-axis.
851
+ * `start` and `end` represent the beginning and end of the data point.
851
852
  */
852
853
  x: {
853
854
  start: Date | number;
@@ -873,13 +874,11 @@ export interface IGanttChartDataPoint {
873
874
  */
874
875
  gradient?: [string, string];
875
876
  /**
876
- * Callout data for x axis
877
- * This is an optional prop, If haven;t given legend will take
877
+ * Optional label shown in place of `x` in the callout.
878
878
  */
879
879
  xAxisCalloutData?: string;
880
880
  /**
881
- * Callout data for y axis
882
- * This is an optional prop, If haven't given data will take
881
+ * Optional label shown in place of `y` in the callout.
883
882
  */
884
883
  yAxisCalloutData?: string;
885
884
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"IDataPoint.js","sourceRoot":"../src/","sources":["types/IDataPoint.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport { SankeyLink, SankeyNode } from 'd3-sankey';\nimport { LegendShape } from '../components/Legends/Legends.types';\nimport { CurveFactory } from 'd3-shape';\n\nexport interface IBasestate {\n _width?: number;\n _height?: number;\n activeLegend?: string;\n color?: string;\n dataForHoverCard?: number | string;\n isCalloutVisible: boolean;\n isLegendSelected?: boolean;\n isLegendHovered?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n refSelected?: any;\n YValueHover?: { legend?: string; y?: number | string; color?: string }[];\n hoverYValue?: string | number | null;\n hoverXValue?: string | number | null;\n xCalloutValue?: string;\n yCalloutValue?: string;\n lineColor?: string;\n hoveredLineColor?: string;\n selectedLegend?: string;\n containerWidth?: number;\n containerHeight?: number;\n}\n\nexport interface IRefArrayData {\n index?: string;\n refElement?: SVGGElement;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IMargins {\n /**\n * left margin for the chart.\n */\n left?: number;\n /**\n * Right margin for the chart.\n */\n right?: number;\n /**\n * Top margin for the chart.\n */\n top?: number;\n /**\n * Bottom margin for the chart.\n */\n bottom?: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n */\n x: number | string;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n\n // NOTE: VerticalStackedBarChart, PieChart\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IVerticalStackedBarDataPoint extends Omit<IDataPoint, 'x'> {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n * If data type on x is Date, then the data is spaced evenly by d3-scale.\n */\n x: number | string | Date;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHorizontalDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n */\n x: number;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IChartDataPoint {\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * data the datapoint in the chart\n */\n data?: number;\n\n /**\n * data the datapoint in the chart\n */\n horizontalBarChartdata?: IHorizontalDataPoint;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Color for the legend in the chart. If not provided, it will fallback on the default color palette.\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * placeholder data point\n */\n placeHolder?: boolean;\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IVerticalBarChartDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n */\n x: number | string | Date;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * data to render the line along with bars\n */\n lineData?: ILineDataInVerticalBarChart;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHorizontalBarChartWithAxisDataPoint {\n /**\n * Dependent value of the data point, rendered along the x-axis.\n */\n x: number;\n\n /**\n * Independent value of the data point, rendered along the y-axis.\n * If y is a number, then each y-coordinate is plotted at its y-coordinate.\n * If y is a string, then the data is evenly spaced along the y-axis.\n */\n y: number | string;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineDataInVerticalBarChart {\n y: IVerticalBarChartDataPoint['y'];\n yAxisCalloutData?: string | undefined;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IBaseDataPoint {\n /**\n * Defines the function that is executed on clicking line\n */\n onDataPointClick?: () => void;\n\n /**\n * Callout data for x axis\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n */\n yAxisCalloutData?: string | { [id: string]: number };\n\n /**\n * Whether to hide callout data for the point.\n */\n hideCallout?: boolean;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n\n /**\n * X axis Accessibility data for callout\n */\n xAxisCalloutAccessibilityData?: IAccessibilityProps;\n\n /**\n * Marker size of the points\n */\n markerSize?: number;\n\n /**\n * text labels of marker points\n */\n text?: string;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineChartDataPoint extends IBaseDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If data type on x is Date, then the data is spaced evenly by d3-scale\n */\n x: number | Date;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineChartGap {\n /**\n * Starting index of the gap.\n */\n startIndex: number;\n\n /**\n * Ending index of the gap.\n */\n endIndex: number;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface ILineChartLineOptions extends React.SVGProps<SVGPathElement> {\n /**\n * Width of the line/stroke.\n * Overrides the strokeWidth set on ICartesianChartProps level.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-width\n */\n strokeWidth?: number | string;\n\n /**\n * Pattern of dashes and gaps.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray\n */\n strokeDasharray?: string | number;\n\n /**\n * Offset on rendering of stroke dash array.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dashoffset\n */\n strokeDashoffset?: string | number;\n\n /**\n * Shape at the end of a subpath.\n * Default round.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linecap\n */\n strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit';\n\n /**\n * Width of border around the line. Default no border.\n */\n lineBorderWidth?: string | number;\n\n /**\n * Color of border around the line. Default white.\n */\n lineBorderColor?: string;\n\n /**\n * Defines the type of interpolation used to render the line.\n * @default 'linear'\n */\n curve?: 'linear' | 'natural' | 'step' | 'stepAfter' | 'stepBefore' | CurveFactory;\n\n /**\n * Defines the mode of points to be rendered.\n */\n mode?:\n | 'lines'\n | 'markers'\n | 'text'\n | 'lines+markers'\n | 'text+markers'\n | 'text+lines'\n | 'text+lines+markers'\n | 'none'\n | 'gauge'\n | 'number'\n | 'delta'\n | 'number+delta'\n | 'gauge+number'\n | 'gauge+number+delta'\n | 'gauge+delta'\n | 'markers+text'\n | 'lines+text';\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineChartPoints {\n /**\n * Legend text for the datapoint in the chart\n */\n legend: string;\n\n /**\n * The shape for the legend\n * default: show the rect legend\n */\n legendShape?: LegendShape;\n\n /**\n * dataPoints for the line chart\n */\n data: ILineChartDataPoint[];\n\n /**\n * gaps in the line chart where a line is not drawn\n */\n gaps?: ILineChartGap[];\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * opacity for chart fill color\n */\n opacity?: number;\n\n /**\n * options for the line drawn\n */\n lineOptions?: ILineChartLineOptions;\n\n /**\n * hide dots for points that are not active\n */\n hideNonActiveDots?: boolean;\n\n /**\n * Defines the function that is executed on clicking this legend\n */\n onLegendClick?: (selectedLegend: string | null | string[]) => void;\n\n /**\n * Defines the function that is executed on clicking line\n */\n onLineClick?: () => void;\n\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IChartProps {\n /**\n * chart title for the chart\n */\n chartTitle?: string;\n\n /**\n * Accessibility data for chart title\n */\n chartTitleAccessibilityData?: IAccessibilityProps;\n /**\n * data for the points in the chart\n */\n chartData?: IChartDataPoint[];\n\n /**\n * Accessibility data for chart data\n */\n chartDataAccessibilityData?: IAccessibilityProps;\n\n /**\n * data for the points in the line chart\n */\n lineChartData?: ILineChartPoints[];\n\n /**\n * data for the points in the scatter chart\n */\n scatterChartData?: IScatterChartPoints[];\n\n /**\n * data for the points in the line chart\n */\n SankeyChartData?: ISankeyChartData;\n\n /**\n * data for the points in the line chart\n */\n pointOptions?: React.SVGProps<SVGCircleElement>;\n\n /**\n * data for the dotted line on hovering the point\n */\n pointLineOptions?: React.SVGProps<SVGLineElement>;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ISankeyChartData {\n nodes: SNode[];\n links: SLink[];\n}\n\ninterface ISNodeExtra {\n /**\n * A unique identifier for this node.\n */\n nodeId: number | string;\n /**\n * The display name for this node in the UX.\n */\n name: string;\n color?: string;\n borderColor?: string;\n actualValue?: number;\n layer?: number;\n}\n\ninterface ISLinkExtra {\n /**\n * The index within `ISankeyChartData.nodes` of the source node.\n */\n source: number;\n /**\n * The index within `ISankeyChartData.nodes` of the target node.\n */\n target: number;\n /**\n * The weight of this link between the two nodes.\n */\n value: number;\n unnormalizedValue?: number;\n}\n\nexport type SNode = SankeyNode<ISNodeExtra, ISLinkExtra>;\nexport type SLink = SankeyLink<ISNodeExtra, ISLinkExtra>;\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IAccessibilityProps {\n /**\n * Accessibility aria-label\n */\n ariaLabel?: string;\n\n /**\n * Accessibility aria-labelledBy\n */\n ariaLabelledBy?: string;\n\n /**\n * Accessibility aria-describedBy\n */\n ariaDescribedBy?: string;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IVSChartDataPoint {\n /**\n * data the datapoint in the chart\n */\n data: number | string;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IVerticalStackedChartProps {\n /**\n * data for the points in the chart\n */\n chartData: IVSChartDataPoint[];\n\n /**\n * Data for x axis label for multistacked Vertical bar chart\n */\n xAxisPoint: number | string | Date;\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven't given, legend will take\n */\n xAxisCalloutData?: string;\n /**\n * line data to render lines on stacked bar chart\n */\n lineData?: ILineDataInVerticalStackedBarChart[];\n /**\n * Accessibility data for Whole stack callout\n */\n stackCallOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineDataInVerticalStackedBarChart {\n y: number | string;\n color: string;\n legend: string;\n /**\n * The shape for the legend\n * default: show the rect legend\n */\n legendShape?: LegendShape;\n /**\n * Data to show in callout\n */\n data?: number | string;\n yAxisCalloutData?: string;\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n /**\n * options for the line drawn\n */\n lineOptions?: ILineChartLineOptions;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IGVBarChartSeriesPoint {\n /**\n * Text for // need to check use of this\n */\n key: string;\n\n /**\n * Data for bar height of Grouped vertical bar chart\n */\n data: number;\n\n /**\n * Color for the legend in the chart\n */\n color: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Legend text in the chart\n */\n legend: string;\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IGroupedVerticalBarChartData {\n /**\n * Data for X axis label\n */\n name: string;\n\n /**\n * Data points for Grouped vertical bar chart\n */\n series: IGVBarChartSeriesPoint[];\n\n /**\n * Accessibility data for Group Bars Stack Callout\n */\n stackCallOutAccessibilityData?: IAccessibilityProps;\n}\n\nexport interface IGVDataPoint {\n /**\n * This interface used for - While forming datapoints from given prop \"data\" in code\n * datapoints are used for to draw graph\n */\n [key: string]: number | string;\n}\n\nexport interface IGVSingleDataPoint {\n /**\n * While forming datapoints from given prop \"data\" in code.\n * These datapoints are used for to draw graph easily.\n */\n [key: string]: IGVDataPoint;\n}\n\nexport interface IGVForBarChart {\n /**\n * While forming datapoints from given prop \"data\"\n * These datapoints are used for to draw graph.\n */\n [key: string]: IGVBarChartSeriesPoint;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHeatMapChartDataPoint {\n x: string | Date | number;\n y: string | Date | number;\n value: number;\n /**\n * The value/ text to be rendered in the rectange\n */\n rectText?: string | number;\n /**\n * denomination to show in the callout\n */\n ratio?: [number, number];\n /**\n * description message to the callout\n */\n descriptionMessage?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHeatMapChartData {\n /**\n * name of the legend\n */\n legend: string;\n data: IHeatMapChartDataPoint[];\n /**\n * This number will be used to get the color for the legend\n */\n value: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ICustomizedCalloutDataPoint {\n legend: string;\n y: number;\n color: string;\n xAxisCalloutData?: string;\n yAxisCalloutData?: string | { [id: string]: number };\n}\n\n/**\n * Used for custom callout data interface. As Area chart callout data will be prepared from given props.data,\n * Those required data passing to onRenderCalloutPerDataPoint and onRenderCalloutPerStack.\n * {@docCategory IChartData}\n */\nexport interface ICustomizedCalloutData {\n x: number | string | Date;\n values: ICustomizedCalloutDataPoint[];\n}\n\n/**\n * {@docCategory Chart}\n */\nexport interface IChart {\n chartContainer: HTMLElement | null;\n toImage?: (opts?: IImageExportOptions) => Promise<string>;\n}\n\n/**\n * {@docCategory Chart}\n */\nexport interface IImageExportOptions {\n width?: number;\n height?: number;\n scale?: number;\n background?: string;\n}\n\n/**\n * {@docCategory IChartData}\n * ScatterChartDataPoint interface.\n */\nexport interface IScatterChartDataPoint extends IBaseDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n */\n x: number | Date | string;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IScatterChartPoints {\n /**\n * Legend text for the datapoint in the chart\n */\n legend: string;\n\n /**\n * The shape for the legend\n * default: show the rect legend\n */\n legendShape?: LegendShape;\n\n /**\n * dataPoints for the line chart\n */\n data: IScatterChartDataPoint[];\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * opacity for chart fill color\n */\n opacity?: number;\n\n /**\n * hide dots for points that are not active\n */\n hideNonActiveDots?: boolean;\n\n /**\n * Defines the function that is executed on clicking this legend\n */\n onLegendClick?: (selectedLegend: string | null | string[]) => void;\n\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * Specifies the ordering options for axis categories in Cartesian charts.\n *\n * - `'default'`: Uses the original order before custom ordering was supported.\n * In some charts, this behaves the same as `'data'`.\n * - `'data'`: Preserves the order of categories as provided in the input data.\n * - `string[]`: Explicitly defines the custom order of categories as an array of category names.\n * - `'category ascending' | 'category descending'`: Orders categories alphanumerically.\n * - `'total ascending' | 'total descending'`: Orders categories by the total of their associated values.\n * - `'min ascending' | 'min descending'`: Orders by the minimum value within each category.\n * - `'max ascending' | 'max descending'`: Orders by the maximum value within each category.\n * - `'sum ascending' | 'sum descending'`: Orders by the sum of values for each category (same as 'total').\n * - `'mean ascending' | 'mean descending'`: Orders by the average of values in each category.\n * - `'median ascending' | 'median descending'`: Orders by the median value of each category.\n *\n * {@docCategory CartesianChart}\n */\nexport type AxisCategoryOrder =\n | 'default'\n | 'data'\n | string[]\n | 'category ascending'\n | 'category descending'\n | 'total ascending'\n | 'total descending'\n | 'min ascending'\n | 'min descending'\n | 'max ascending'\n | 'max descending'\n | 'sum ascending'\n | 'sum descending'\n | 'mean ascending'\n | 'mean descending'\n | 'median ascending'\n | 'median descending';\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IGanttChartDataPoint {\n /**\n * Dependent value of the data point, rendered along the x-axis.\n */\n x: {\n start: Date | number;\n end: Date | number;\n };\n\n /**\n * Independent value of the data point, rendered along the y-axis.\n * If y is a number, then each y-coordinate is plotted at its y-coordinate.\n * If y is a string, then the data is evenly spaced along the y-axis.\n */\n y: number | string;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n"]}
1
+ {"version":3,"file":"IDataPoint.js","sourceRoot":"../src/","sources":["types/IDataPoint.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport { SankeyLink, SankeyNode } from 'd3-sankey';\nimport { LegendShape } from '../components/Legends/Legends.types';\nimport { CurveFactory } from 'd3-shape';\n\nexport interface IBasestate {\n _width?: number;\n _height?: number;\n activeLegend?: string;\n color?: string;\n dataForHoverCard?: number | string;\n isCalloutVisible: boolean;\n isLegendSelected?: boolean;\n isLegendHovered?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n refSelected?: any;\n YValueHover?: { legend?: string; y?: number | string; color?: string }[];\n hoverYValue?: string | number | null;\n hoverXValue?: string | number | null;\n xCalloutValue?: string;\n yCalloutValue?: string;\n lineColor?: string;\n hoveredLineColor?: string;\n selectedLegend?: string;\n containerWidth?: number;\n containerHeight?: number;\n}\n\nexport interface IRefArrayData {\n index?: string;\n refElement?: SVGGElement;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IMargins {\n /**\n * left margin for the chart.\n */\n left?: number;\n /**\n * Right margin for the chart.\n */\n right?: number;\n /**\n * Top margin for the chart.\n */\n top?: number;\n /**\n * Bottom margin for the chart.\n */\n bottom?: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n */\n x: number | string;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n\n // NOTE: VerticalStackedBarChart, PieChart\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IVerticalStackedBarDataPoint extends Omit<IDataPoint, 'x'> {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n * If data type on x is Date, then the data is spaced evenly by d3-scale.\n */\n x: number | string | Date;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHorizontalDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n */\n x: number;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IChartDataPoint {\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * data the datapoint in the chart\n */\n data?: number;\n\n /**\n * data the datapoint in the chart\n */\n horizontalBarChartdata?: IHorizontalDataPoint;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Color for the legend in the chart. If not provided, it will fallback on the default color palette.\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * placeholder data point\n */\n placeHolder?: boolean;\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IVerticalBarChartDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If x is a string, then the data is evenly spaced along the x-axis.\n */\n x: number | string | Date;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * data to render the line along with bars\n */\n lineData?: ILineDataInVerticalBarChart;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHorizontalBarChartWithAxisDataPoint {\n /**\n * Dependent value of the data point, rendered along the x-axis.\n */\n x: number;\n\n /**\n * Independent value of the data point, rendered along the y-axis.\n * If y is a number, then each y-coordinate is plotted at its y-coordinate.\n * If y is a string, then the data is evenly spaced along the y-axis.\n */\n y: number | string;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineDataInVerticalBarChart {\n y: IVerticalBarChartDataPoint['y'];\n yAxisCalloutData?: string | undefined;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IBaseDataPoint {\n /**\n * Defines the function that is executed on clicking line\n */\n onDataPointClick?: () => void;\n\n /**\n * Callout data for x axis\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n */\n yAxisCalloutData?: string | { [id: string]: number };\n\n /**\n * Whether to hide callout data for the point.\n */\n hideCallout?: boolean;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n\n /**\n * X axis Accessibility data for callout\n */\n xAxisCalloutAccessibilityData?: IAccessibilityProps;\n\n /**\n * Marker size of the points\n */\n markerSize?: number;\n\n /**\n * text labels of marker points\n */\n text?: string;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineChartDataPoint extends IBaseDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n * If x is a number, then each y-coordinate is plotted at its x-coordinate.\n * If data type on x is Date, then the data is spaced evenly by d3-scale\n */\n x: number | Date;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineChartGap {\n /**\n * Starting index of the gap.\n */\n startIndex: number;\n\n /**\n * Ending index of the gap.\n */\n endIndex: number;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface ILineChartLineOptions extends React.SVGProps<SVGPathElement> {\n /**\n * Width of the line/stroke.\n * Overrides the strokeWidth set on ICartesianChartProps level.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-width\n */\n strokeWidth?: number | string;\n\n /**\n * Pattern of dashes and gaps.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray\n */\n strokeDasharray?: string | number;\n\n /**\n * Offset on rendering of stroke dash array.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dashoffset\n */\n strokeDashoffset?: string | number;\n\n /**\n * Shape at the end of a subpath.\n * Default round.\n * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linecap\n */\n strokeLinecap?: 'butt' | 'round' | 'square' | 'inherit';\n\n /**\n * Width of border around the line. Default no border.\n */\n lineBorderWidth?: string | number;\n\n /**\n * Color of border around the line. Default white.\n */\n lineBorderColor?: string;\n\n /**\n * Defines the type of interpolation used to render the line.\n * @default 'linear'\n */\n curve?: 'linear' | 'natural' | 'step' | 'stepAfter' | 'stepBefore' | CurveFactory;\n\n /**\n * Defines the mode of points to be rendered.\n */\n mode?:\n | 'lines'\n | 'markers'\n | 'text'\n | 'lines+markers'\n | 'text+markers'\n | 'text+lines'\n | 'text+lines+markers'\n | 'none'\n | 'gauge'\n | 'number'\n | 'delta'\n | 'number+delta'\n | 'gauge+number'\n | 'gauge+number+delta'\n | 'gauge+delta'\n | 'markers+text'\n | 'lines+text';\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineChartPoints {\n /**\n * Legend text for the datapoint in the chart\n */\n legend: string;\n\n /**\n * The shape for the legend\n * default: show the rect legend\n */\n legendShape?: LegendShape;\n\n /**\n * dataPoints for the line chart\n */\n data: ILineChartDataPoint[];\n\n /**\n * gaps in the line chart where a line is not drawn\n */\n gaps?: ILineChartGap[];\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * opacity for chart fill color\n */\n opacity?: number;\n\n /**\n * options for the line drawn\n */\n lineOptions?: ILineChartLineOptions;\n\n /**\n * hide dots for points that are not active\n */\n hideNonActiveDots?: boolean;\n\n /**\n * Defines the function that is executed on clicking this legend\n */\n onLegendClick?: (selectedLegend: string | null | string[]) => void;\n\n /**\n * Defines the function that is executed on clicking line\n */\n onLineClick?: () => void;\n\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IChartProps {\n /**\n * chart title for the chart\n */\n chartTitle?: string;\n\n /**\n * Accessibility data for chart title\n */\n chartTitleAccessibilityData?: IAccessibilityProps;\n /**\n * data for the points in the chart\n */\n chartData?: IChartDataPoint[];\n\n /**\n * Accessibility data for chart data\n */\n chartDataAccessibilityData?: IAccessibilityProps;\n\n /**\n * data for the points in the line chart\n */\n lineChartData?: ILineChartPoints[];\n\n /**\n * data for the points in the scatter chart\n */\n scatterChartData?: IScatterChartPoints[];\n\n /**\n * data for the points in the line chart\n */\n SankeyChartData?: ISankeyChartData;\n\n /**\n * data for the points in the line chart\n */\n pointOptions?: React.SVGProps<SVGCircleElement>;\n\n /**\n * data for the dotted line on hovering the point\n */\n pointLineOptions?: React.SVGProps<SVGLineElement>;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ISankeyChartData {\n nodes: SNode[];\n links: SLink[];\n}\n\ninterface ISNodeExtra {\n /**\n * A unique identifier for this node.\n */\n nodeId: number | string;\n /**\n * The display name for this node in the UX.\n */\n name: string;\n color?: string;\n borderColor?: string;\n actualValue?: number;\n layer?: number;\n}\n\ninterface ISLinkExtra {\n /**\n * The index within `ISankeyChartData.nodes` of the source node.\n */\n source: number;\n /**\n * The index within `ISankeyChartData.nodes` of the target node.\n */\n target: number;\n /**\n * The weight of this link between the two nodes.\n */\n value: number;\n unnormalizedValue?: number;\n}\n\nexport type SNode = SankeyNode<ISNodeExtra, ISLinkExtra>;\nexport type SLink = SankeyLink<ISNodeExtra, ISLinkExtra>;\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IAccessibilityProps {\n /**\n * Accessibility aria-label\n */\n ariaLabel?: string;\n\n /**\n * Accessibility aria-labelledBy\n */\n ariaLabelledBy?: string;\n\n /**\n * Accessibility aria-describedBy\n */\n ariaDescribedBy?: string;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IVSChartDataPoint {\n /**\n * data the datapoint in the chart\n */\n data: number | string;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartProps}\n */\nexport interface IVerticalStackedChartProps {\n /**\n * data for the points in the chart\n */\n chartData: IVSChartDataPoint[];\n\n /**\n * Data for x axis label for multistacked Vertical bar chart\n */\n xAxisPoint: number | string | Date;\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven't given, legend will take\n */\n xAxisCalloutData?: string;\n /**\n * line data to render lines on stacked bar chart\n */\n lineData?: ILineDataInVerticalStackedBarChart[];\n /**\n * Accessibility data for Whole stack callout\n */\n stackCallOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ILineDataInVerticalStackedBarChart {\n y: number | string;\n color: string;\n legend: string;\n /**\n * The shape for the legend\n * default: show the rect legend\n */\n legendShape?: LegendShape;\n /**\n * Data to show in callout\n */\n data?: number | string;\n yAxisCalloutData?: string;\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n /**\n * options for the line drawn\n */\n lineOptions?: ILineChartLineOptions;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IGVBarChartSeriesPoint {\n /**\n * Text for // need to check use of this\n */\n key: string;\n\n /**\n * Data for bar height of Grouped vertical bar chart\n */\n data: number;\n\n /**\n * Color for the legend in the chart\n */\n color: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Legend text in the chart\n */\n legend: string;\n\n /**\n * Callout data for x axis\n * This is an optional prop, If haven;t given legend will take\n */\n xAxisCalloutData?: string;\n\n /**\n * Callout data for y axis\n * This is an optional prop, If haven't given data will take\n */\n yAxisCalloutData?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IGroupedVerticalBarChartData {\n /**\n * Data for X axis label\n */\n name: string;\n\n /**\n * Data points for Grouped vertical bar chart\n */\n series: IGVBarChartSeriesPoint[];\n\n /**\n * Accessibility data for Group Bars Stack Callout\n */\n stackCallOutAccessibilityData?: IAccessibilityProps;\n}\n\nexport interface IGVDataPoint {\n /**\n * This interface used for - While forming datapoints from given prop \"data\" in code\n * datapoints are used for to draw graph\n */\n [key: string]: number | string;\n}\n\nexport interface IGVSingleDataPoint {\n /**\n * While forming datapoints from given prop \"data\" in code.\n * These datapoints are used for to draw graph easily.\n */\n [key: string]: IGVDataPoint;\n}\n\nexport interface IGVForBarChart {\n /**\n * While forming datapoints from given prop \"data\"\n * These datapoints are used for to draw graph.\n */\n [key: string]: IGVBarChartSeriesPoint;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHeatMapChartDataPoint {\n x: string | Date | number;\n y: string | Date | number;\n value: number;\n /**\n * The value/ text to be rendered in the rectange\n */\n rectText?: string | number;\n /**\n * denomination to show in the callout\n */\n ratio?: [number, number];\n /**\n * description message to the callout\n */\n descriptionMessage?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IHeatMapChartData {\n /**\n * name of the legend\n */\n legend: string;\n data: IHeatMapChartDataPoint[];\n /**\n * This number will be used to get the color for the legend\n */\n value: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface ICustomizedCalloutDataPoint {\n legend: string;\n y: number;\n color: string;\n xAxisCalloutData?: string;\n yAxisCalloutData?: string | { [id: string]: number };\n}\n\n/**\n * Used for custom callout data interface. As Area chart callout data will be prepared from given props.data,\n * Those required data passing to onRenderCalloutPerDataPoint and onRenderCalloutPerStack.\n * {@docCategory IChartData}\n */\nexport interface ICustomizedCalloutData {\n x: number | string | Date;\n values: ICustomizedCalloutDataPoint[];\n}\n\n/**\n * {@docCategory Chart}\n */\nexport interface IChart {\n chartContainer: HTMLElement | null;\n toImage?: (opts?: IImageExportOptions) => Promise<string>;\n}\n\n/**\n * {@docCategory Chart}\n */\nexport interface IImageExportOptions {\n width?: number;\n height?: number;\n scale?: number;\n background?: string;\n}\n\n/**\n * {@docCategory IChartData}\n * ScatterChartDataPoint interface.\n */\nexport interface IScatterChartDataPoint extends IBaseDataPoint {\n /**\n * Independent value of the data point, rendered along the x-axis.\n */\n x: number | Date | string;\n\n /**\n * Dependent value of the data point, rendered along the y-axis.\n */\n y: number;\n}\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IScatterChartPoints {\n /**\n * Legend text for the datapoint in the chart\n */\n legend: string;\n\n /**\n * The shape for the legend\n * default: show the rect legend\n */\n legendShape?: LegendShape;\n\n /**\n * dataPoints for the line chart\n */\n data: IScatterChartDataPoint[];\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * opacity for chart fill color\n */\n opacity?: number;\n\n /**\n * hide dots for points that are not active\n */\n hideNonActiveDots?: boolean;\n\n /**\n * Defines the function that is executed on clicking this legend\n */\n onLegendClick?: (selectedLegend: string | null | string[]) => void;\n\n /**\n * Whether to use the secondary y scale or not\n * False by default.\n */\n useSecondaryYScale?: boolean;\n}\n\n/**\n * Specifies the ordering options for axis categories in Cartesian charts.\n *\n * - `'default'`: Uses the original order before custom ordering was supported.\n * In some charts, this behaves the same as `'data'`.\n * - `'data'`: Preserves the order of categories as provided in the input data.\n * - `string[]`: Explicitly defines the custom order of categories as an array of category names.\n * - `'category ascending' | 'category descending'`: Orders categories alphanumerically.\n * - `'total ascending' | 'total descending'`: Orders categories by the total of their associated values.\n * - `'min ascending' | 'min descending'`: Orders by the minimum value within each category.\n * - `'max ascending' | 'max descending'`: Orders by the maximum value within each category.\n * - `'sum ascending' | 'sum descending'`: Orders by the sum of values for each category (same as 'total').\n * - `'mean ascending' | 'mean descending'`: Orders by the average of values in each category.\n * - `'median ascending' | 'median descending'`: Orders by the median value of each category.\n *\n * {@docCategory CartesianChart}\n */\nexport type AxisCategoryOrder =\n | 'default'\n | 'data'\n | string[]\n | 'category ascending'\n | 'category descending'\n | 'total ascending'\n | 'total descending'\n | 'min ascending'\n | 'min descending'\n | 'max ascending'\n | 'max descending'\n | 'sum ascending'\n | 'sum descending'\n | 'mean ascending'\n | 'mean descending'\n | 'median ascending'\n | 'median descending';\n\n/**\n * {@docCategory IChartData}\n */\nexport interface IGanttChartDataPoint {\n /**\n * Dependent value of the data point, rendered along the x-axis.\n * `start` and `end` represent the beginning and end of the data point.\n */\n x: {\n start: Date | number;\n end: Date | number;\n };\n\n /**\n * Independent value of the data point, rendered along the y-axis.\n * If y is a number, then each y-coordinate is plotted at its y-coordinate.\n * If y is a string, then the data is evenly spaced along the y-axis.\n */\n y: number | string;\n\n /**\n * Legend text for the datapoint in the chart\n */\n legend?: string;\n\n /**\n * color for the legend in the chart\n */\n color?: string;\n\n /**\n * Gradient for the legend in the chart. If not provided, it will fallback on the default color palette.\n * If provided, it will override the color prop. granted `enableGradient` is set to true for the chart.\n */\n gradient?: [string, string];\n\n /**\n * Optional label shown in place of `x` in the callout.\n */\n xAxisCalloutData?: string;\n\n /**\n * Optional label shown in place of `y` in the callout.\n */\n yAxisCalloutData?: string;\n\n /**\n * onClick action for each datapoint in the chart\n */\n onClick?: VoidFunction;\n\n /**\n * Accessibility data for callout\n */\n callOutAccessibilityData?: IAccessibilityProps;\n}\n"]}
@@ -4,8 +4,10 @@ define(["require", "exports", "@fluentui/react/lib/Utilities"], function (requir
4
4
  exports.warnMutuallyExclusive = exports.warnDeprecations = exports.warnControlledUsage = exports.warnConditionallyRequiredProps = exports.warn = exports.videoProperties = exports.values = exports.useFocusRects = exports.useCustomizationSettings = exports.unhoistMethods = exports.trProperties = exports.toMatrix = exports.thProperties = exports.textAreaProperties = exports.tdProperties = exports.tableProperties = exports.styled = exports.shouldWrapFocus = exports.shallowCompare = exports.setWarningCallback = exports.setVirtualParent = exports.setSSR = exports.setRTL = exports.setPortalAttribute = exports.setMemoizeWeakMap = exports.setLanguage = exports.setFocusVisibility = exports.setBaseUrl = exports.selectProperties = exports.safeSetTimeout = exports.safeRequestAnimationFrame = exports.resetMemoizations = exports.resetIds = exports.resetControlledWarnings = exports.replaceElement = exports.removeIndex = exports.raiseClick = exports.precisionRound = exports.portalContainsElement = exports.optionProperties = exports.on = exports.omit = exports.olProperties = exports.nullRender = exports.modalize = exports.mergeSettings = exports.mergeScopedSettings = exports.mergeCustomizations = exports.mergeAriaAttributeValues = exports.merge = exports.memoizeFunction = exports.memoize = exports.mapEnumByName = exports.liProperties = exports.labelProperties = exports.isVirtualElement = exports.isMac = exports.isIOS = exports.isIE11 = exports.isElementVisibleAndNotHidden = exports.isElementVisible = exports.isElementTabbable = exports.isElementFocusZone = exports.isElementFocusSubZone = exports.isDirectionalKeyCode = exports.isControlled = exports.inputProperties = exports.initializeFocusRects = exports.initializeComponentRef = exports.imgProperties = exports.imageProperties = exports.iframeProperties = exports.htmlElementProperties = exports.hoistStatics = exports.hoistMethods = exports.hasVerticalOverflow = exports.hasOverflow = exports.hasHorizontalOverflow = exports.getWindow = exports.getVirtualParent = exports.getScrollbarWidth = exports.getResourceUrl = exports.getRect = exports.getRTLSafeKeyCode = exports.getRTL = exports.getPropsWithDefaults = exports.getPreviousElement = exports.getParent = exports.getNextElement = exports.getNativeProps = exports.getNativeElementProps = exports.getLastTabbable = exports.getLastFocusable = exports.getLanguage = exports.getInitials = exports.getId = exports.getFocusableByIndexPath = exports.getFirstVisibleElementFromSelector = exports.getFirstTabbable = exports.getFirstFocusable = exports.getElementIndexPath = exports.getDocument = exports.getDistanceBetweenPoints = exports.getChildren = exports.format = exports.formProperties = exports.focusFirstChild = exports.focusAsync = exports.flatten = exports.fitContentToBounds = exports.findScrollableParent = exports.findIndex = exports.findElementRecursive = exports.find = exports.filteredAssign = exports.extendComponent = exports.enableBodyScroll = exports.elementContainsAttribute = exports.elementContains = exports.doesElementContainFocus = exports.divProperties = exports.disableBodyScroll = exports.customizable = exports.css = exports.createMergedRef = exports.createMemoizer = exports.createArray = exports.composeRenderFunction = exports.composeComponentAs = exports.colProperties = exports.colGroupProperties = exports.classNamesFunction = exports.canUseDOM = exports.calculatePrecision = exports.buttonProperties = exports.baseElementProperties = exports.baseElementEvents = exports.audioProperties = exports.assign = exports.assertNever = exports.asAsync = exports.arraysEqual = exports.appendFunction = exports.anchorProperties = exports.allowScrollOnElement = exports.allowOverscrollOnElement = exports.addElementAtIndex = exports.addDirectionalKeyCode = exports.SelectionMode = exports.SelectionDirection = exports.Selection = exports.SELECTION_CHANGE = exports.Rectangle = exports.KeyCodes = exports.IsFocusVisibleClassName = exports.GlobalSettings = exports.FocusRects = exports.FabricPerformance = exports.EventGroup = exports.DelayedRender = exports.DATA_PORTAL_ATTRIBUTE = exports.DATA_IS_SCROLLABLE_ATTRIBUTE = exports.CustomizerContext = exports.Customizer = exports.Customizations = exports.BaseComponent = exports.AutoScroll = exports.Async = void 0;
5
5
  Object.defineProperty(exports, "Async", { enumerable: true, get: function () { return Utilities_1.Async; } });
6
6
  Object.defineProperty(exports, "AutoScroll", { enumerable: true, get: function () { return Utilities_1.AutoScroll; } });
7
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
7
8
  Object.defineProperty(exports, "BaseComponent", { enumerable: true, get: function () { return Utilities_1.BaseComponent; } });
8
9
  Object.defineProperty(exports, "Customizations", { enumerable: true, get: function () { return Utilities_1.Customizations; } });
10
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
9
11
  Object.defineProperty(exports, "Customizer", { enumerable: true, get: function () { return Utilities_1.Customizer; } });
10
12
  Object.defineProperty(exports, "CustomizerContext", { enumerable: true, get: function () { return Utilities_1.CustomizerContext; } });
11
13
  Object.defineProperty(exports, "DATA_IS_SCROLLABLE_ATTRIBUTE", { enumerable: true, get: function () { return Utilities_1.DATA_IS_SCROLLABLE_ATTRIBUTE; } });
@@ -88,6 +90,7 @@ define(["require", "exports", "@fluentui/react/lib/Utilities"], function (requir
88
90
  Object.defineProperty(exports, "getRTL", { enumerable: true, get: function () { return Utilities_1.getRTL; } });
89
91
  Object.defineProperty(exports, "getRTLSafeKeyCode", { enumerable: true, get: function () { return Utilities_1.getRTLSafeKeyCode; } });
90
92
  Object.defineProperty(exports, "getRect", { enumerable: true, get: function () { return Utilities_1.getRect; } });
93
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
91
94
  Object.defineProperty(exports, "getResourceUrl", { enumerable: true, get: function () { return Utilities_1.getResourceUrl; } });
92
95
  Object.defineProperty(exports, "getScrollbarWidth", { enumerable: true, get: function () { return Utilities_1.getScrollbarWidth; } });
93
96
  Object.defineProperty(exports, "getVirtualParent", { enumerable: true, get: function () { return Utilities_1.getVirtualParent; } });
@@ -99,9 +102,11 @@ define(["require", "exports", "@fluentui/react/lib/Utilities"], function (requir
99
102
  Object.defineProperty(exports, "hoistStatics", { enumerable: true, get: function () { return Utilities_1.hoistStatics; } });
100
103
  Object.defineProperty(exports, "htmlElementProperties", { enumerable: true, get: function () { return Utilities_1.htmlElementProperties; } });
101
104
  Object.defineProperty(exports, "iframeProperties", { enumerable: true, get: function () { return Utilities_1.iframeProperties; } });
105
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
102
106
  Object.defineProperty(exports, "imageProperties", { enumerable: true, get: function () { return Utilities_1.imageProperties; } });
103
107
  Object.defineProperty(exports, "imgProperties", { enumerable: true, get: function () { return Utilities_1.imgProperties; } });
104
108
  Object.defineProperty(exports, "initializeComponentRef", { enumerable: true, get: function () { return Utilities_1.initializeComponentRef; } });
109
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
105
110
  Object.defineProperty(exports, "initializeFocusRects", { enumerable: true, get: function () { return Utilities_1.initializeFocusRects; } });
106
111
  Object.defineProperty(exports, "inputProperties", { enumerable: true, get: function () { return Utilities_1.inputProperties; } });
107
112
  Object.defineProperty(exports, "isControlled", { enumerable: true, get: function () { return Utilities_1.isControlled; } });
@@ -133,6 +138,7 @@ define(["require", "exports", "@fluentui/react/lib/Utilities"], function (requir
133
138
  Object.defineProperty(exports, "optionProperties", { enumerable: true, get: function () { return Utilities_1.optionProperties; } });
134
139
  Object.defineProperty(exports, "portalContainsElement", { enumerable: true, get: function () { return Utilities_1.portalContainsElement; } });
135
140
  Object.defineProperty(exports, "precisionRound", { enumerable: true, get: function () { return Utilities_1.precisionRound; } });
141
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
136
142
  Object.defineProperty(exports, "raiseClick", { enumerable: true, get: function () { return Utilities_1.raiseClick; } });
137
143
  Object.defineProperty(exports, "removeIndex", { enumerable: true, get: function () { return Utilities_1.removeIndex; } });
138
144
  Object.defineProperty(exports, "replaceElement", { enumerable: true, get: function () { return Utilities_1.replaceElement; } });
@@ -142,12 +148,15 @@ define(["require", "exports", "@fluentui/react/lib/Utilities"], function (requir
142
148
  Object.defineProperty(exports, "safeRequestAnimationFrame", { enumerable: true, get: function () { return Utilities_1.safeRequestAnimationFrame; } });
143
149
  Object.defineProperty(exports, "safeSetTimeout", { enumerable: true, get: function () { return Utilities_1.safeSetTimeout; } });
144
150
  Object.defineProperty(exports, "selectProperties", { enumerable: true, get: function () { return Utilities_1.selectProperties; } });
151
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
145
152
  Object.defineProperty(exports, "setBaseUrl", { enumerable: true, get: function () { return Utilities_1.setBaseUrl; } });
146
153
  Object.defineProperty(exports, "setFocusVisibility", { enumerable: true, get: function () { return Utilities_1.setFocusVisibility; } });
154
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
147
155
  Object.defineProperty(exports, "setLanguage", { enumerable: true, get: function () { return Utilities_1.setLanguage; } });
148
156
  Object.defineProperty(exports, "setMemoizeWeakMap", { enumerable: true, get: function () { return Utilities_1.setMemoizeWeakMap; } });
149
157
  Object.defineProperty(exports, "setPortalAttribute", { enumerable: true, get: function () { return Utilities_1.setPortalAttribute; } });
150
158
  Object.defineProperty(exports, "setRTL", { enumerable: true, get: function () { return Utilities_1.setRTL; } });
159
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
151
160
  Object.defineProperty(exports, "setSSR", { enumerable: true, get: function () { return Utilities_1.setSSR; } });
152
161
  Object.defineProperty(exports, "setVirtualParent", { enumerable: true, get: function () { return Utilities_1.setVirtualParent; } });
153
162
  Object.defineProperty(exports, "setWarningCallback", { enumerable: true, get: function () { return Utilities_1.setWarningCallback; } });
@@ -1 +1 @@
1
- {"version":3,"file":"Utilities.js","sourceRoot":"../src/","sources":["Utilities.ts"],"names":[],"mappings":"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","sourcesContent":["export {\n Async,\n AutoScroll,\n BaseComponent,\n Customizations,\n Customizer,\n CustomizerContext,\n DATA_IS_SCROLLABLE_ATTRIBUTE,\n DATA_PORTAL_ATTRIBUTE,\n DelayedRender,\n EventGroup,\n FabricPerformance,\n FocusRects,\n GlobalSettings,\n IsFocusVisibleClassName,\n KeyCodes,\n Rectangle,\n SELECTION_CHANGE,\n Selection,\n SelectionDirection,\n SelectionMode,\n addDirectionalKeyCode,\n addElementAtIndex,\n allowOverscrollOnElement,\n allowScrollOnElement,\n anchorProperties,\n appendFunction,\n arraysEqual,\n asAsync,\n assertNever,\n assign,\n audioProperties,\n baseElementEvents,\n baseElementProperties,\n buttonProperties,\n calculatePrecision,\n canUseDOM,\n classNamesFunction,\n colGroupProperties,\n colProperties,\n composeComponentAs,\n composeRenderFunction,\n createArray,\n createMemoizer,\n createMergedRef,\n css,\n customizable,\n disableBodyScroll,\n divProperties,\n doesElementContainFocus,\n elementContains,\n elementContainsAttribute,\n enableBodyScroll,\n extendComponent,\n filteredAssign,\n find,\n findElementRecursive,\n findIndex,\n findScrollableParent,\n fitContentToBounds,\n flatten,\n focusAsync,\n focusFirstChild,\n formProperties,\n format,\n getChildren,\n getDistanceBetweenPoints,\n getDocument,\n getElementIndexPath,\n getFirstFocusable,\n getFirstTabbable,\n getFirstVisibleElementFromSelector,\n getFocusableByIndexPath,\n getId,\n getInitials,\n getLanguage,\n getLastFocusable,\n getLastTabbable,\n getNativeElementProps,\n getNativeProps,\n getNextElement,\n getParent,\n getPreviousElement,\n getPropsWithDefaults,\n getRTL,\n getRTLSafeKeyCode,\n getRect,\n getResourceUrl,\n getScrollbarWidth,\n getVirtualParent,\n getWindow,\n hasHorizontalOverflow,\n hasOverflow,\n hasVerticalOverflow,\n hoistMethods,\n hoistStatics,\n htmlElementProperties,\n iframeProperties,\n imageProperties,\n imgProperties,\n initializeComponentRef,\n initializeFocusRects,\n inputProperties,\n isControlled,\n isDirectionalKeyCode,\n isElementFocusSubZone,\n isElementFocusZone,\n isElementTabbable,\n isElementVisible,\n isElementVisibleAndNotHidden,\n isIE11,\n isIOS,\n isMac,\n isVirtualElement,\n labelProperties,\n liProperties,\n mapEnumByName,\n memoize,\n memoizeFunction,\n merge,\n mergeAriaAttributeValues,\n mergeCustomizations,\n mergeScopedSettings,\n mergeSettings,\n modalize,\n nullRender,\n olProperties,\n omit,\n on,\n optionProperties,\n portalContainsElement,\n precisionRound,\n raiseClick,\n removeIndex,\n replaceElement,\n resetControlledWarnings,\n resetIds,\n resetMemoizations,\n safeRequestAnimationFrame,\n safeSetTimeout,\n selectProperties,\n setBaseUrl,\n setFocusVisibility,\n setLanguage,\n setMemoizeWeakMap,\n setPortalAttribute,\n setRTL,\n setSSR,\n setVirtualParent,\n setWarningCallback,\n shallowCompare,\n shouldWrapFocus,\n styled,\n tableProperties,\n tdProperties,\n textAreaProperties,\n thProperties,\n toMatrix,\n trProperties,\n unhoistMethods,\n useCustomizationSettings,\n useFocusRects,\n values,\n videoProperties,\n warn,\n warnConditionallyRequiredProps,\n warnControlledUsage,\n warnDeprecations,\n warnMutuallyExclusive,\n} from '@fluentui/react/lib/Utilities';\nexport type {\n FitMode,\n IAsAsyncOptions,\n IBaseProps,\n ICancelable,\n IChangeDescription,\n IChangeEventCallback,\n IClassNames,\n IClassNamesFunctionOptions,\n IComponentAs,\n IComponentAsProps,\n ICssInput,\n ICustomizableProps,\n ICustomizations,\n ICustomizerContext,\n ICustomizerProps,\n IDeclaredEventsByName,\n IDelayedRenderProps,\n IDelayedRenderState,\n IDictionary,\n IDisposable,\n IEventRecord,\n IEventRecordList,\n IEventRecordsByName,\n IFitContentToBoundsOptions,\n IObjectWithKey,\n IPerfData,\n IPerfMeasurement,\n IPerfSummary,\n IPoint,\n IPropsWithStyles,\n IRectangle,\n IRefObject,\n IRenderComponent,\n IRenderFunction,\n ISelection,\n ISelectionOptions,\n ISelectionOptionsWithRequiredGetKey,\n ISerializableObject,\n ISettings,\n ISettingsFunction,\n ISettingsMap,\n ISize,\n IStyleFunction,\n IStyleFunctionOrObject,\n IVirtualElement,\n IWarnControlledUsageParams,\n Omit,\n Point,\n RefObject,\n Settings,\n SettingsFunction,\n StyleFunction,\n} from '@fluentui/react/lib/Utilities';\n"]}
1
+ {"version":3,"file":"Utilities.js","sourceRoot":"../src/","sources":["Utilities.ts"],"names":[],"mappings":"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","sourcesContent":["export {\n Async,\n AutoScroll,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n BaseComponent,\n Customizations,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n Customizer,\n CustomizerContext,\n DATA_IS_SCROLLABLE_ATTRIBUTE,\n DATA_PORTAL_ATTRIBUTE,\n DelayedRender,\n EventGroup,\n FabricPerformance,\n FocusRects,\n GlobalSettings,\n IsFocusVisibleClassName,\n KeyCodes,\n Rectangle,\n SELECTION_CHANGE,\n Selection,\n SelectionDirection,\n SelectionMode,\n addDirectionalKeyCode,\n addElementAtIndex,\n allowOverscrollOnElement,\n allowScrollOnElement,\n anchorProperties,\n appendFunction,\n arraysEqual,\n asAsync,\n assertNever,\n assign,\n audioProperties,\n baseElementEvents,\n baseElementProperties,\n buttonProperties,\n calculatePrecision,\n canUseDOM,\n classNamesFunction,\n colGroupProperties,\n colProperties,\n composeComponentAs,\n composeRenderFunction,\n createArray,\n createMemoizer,\n createMergedRef,\n css,\n customizable,\n disableBodyScroll,\n divProperties,\n doesElementContainFocus,\n elementContains,\n elementContainsAttribute,\n enableBodyScroll,\n extendComponent,\n filteredAssign,\n find,\n findElementRecursive,\n findIndex,\n findScrollableParent,\n fitContentToBounds,\n flatten,\n focusAsync,\n focusFirstChild,\n formProperties,\n format,\n getChildren,\n getDistanceBetweenPoints,\n getDocument,\n getElementIndexPath,\n getFirstFocusable,\n getFirstTabbable,\n getFirstVisibleElementFromSelector,\n getFocusableByIndexPath,\n getId,\n getInitials,\n getLanguage,\n getLastFocusable,\n getLastTabbable,\n getNativeElementProps,\n getNativeProps,\n getNextElement,\n getParent,\n getPreviousElement,\n getPropsWithDefaults,\n getRTL,\n getRTLSafeKeyCode,\n getRect,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n getResourceUrl,\n getScrollbarWidth,\n getVirtualParent,\n getWindow,\n hasHorizontalOverflow,\n hasOverflow,\n hasVerticalOverflow,\n hoistMethods,\n hoistStatics,\n htmlElementProperties,\n iframeProperties,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n imageProperties,\n imgProperties,\n initializeComponentRef,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n initializeFocusRects,\n inputProperties,\n isControlled,\n isDirectionalKeyCode,\n isElementFocusSubZone,\n isElementFocusZone,\n isElementTabbable,\n isElementVisible,\n isElementVisibleAndNotHidden,\n isIE11,\n isIOS,\n isMac,\n isVirtualElement,\n labelProperties,\n liProperties,\n mapEnumByName,\n memoize,\n memoizeFunction,\n merge,\n mergeAriaAttributeValues,\n mergeCustomizations,\n mergeScopedSettings,\n mergeSettings,\n modalize,\n nullRender,\n olProperties,\n omit,\n on,\n optionProperties,\n portalContainsElement,\n precisionRound,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n raiseClick,\n removeIndex,\n replaceElement,\n resetControlledWarnings,\n resetIds,\n resetMemoizations,\n safeRequestAnimationFrame,\n safeSetTimeout,\n selectProperties,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n setBaseUrl,\n setFocusVisibility,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n setLanguage,\n setMemoizeWeakMap,\n setPortalAttribute,\n setRTL,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n setSSR,\n setVirtualParent,\n setWarningCallback,\n shallowCompare,\n shouldWrapFocus,\n styled,\n tableProperties,\n tdProperties,\n textAreaProperties,\n thProperties,\n toMatrix,\n trProperties,\n unhoistMethods,\n useCustomizationSettings,\n useFocusRects,\n values,\n videoProperties,\n warn,\n warnConditionallyRequiredProps,\n warnControlledUsage,\n warnDeprecations,\n warnMutuallyExclusive,\n} from '@fluentui/react/lib/Utilities';\nexport type {\n FitMode,\n IAsAsyncOptions,\n IBaseProps,\n ICancelable,\n IChangeDescription,\n IChangeEventCallback,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n IClassNames,\n IClassNamesFunctionOptions,\n IComponentAs,\n IComponentAsProps,\n ICssInput,\n ICustomizableProps,\n ICustomizations,\n ICustomizerContext,\n ICustomizerProps,\n IDeclaredEventsByName,\n IDelayedRenderProps,\n IDelayedRenderState,\n IDictionary,\n IDisposable,\n IEventRecord,\n IEventRecordList,\n IEventRecordsByName,\n IFitContentToBoundsOptions,\n IObjectWithKey,\n IPerfData,\n IPerfMeasurement,\n IPerfSummary,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n IPoint,\n IPropsWithStyles,\n IRectangle,\n IRefObject,\n IRenderComponent,\n IRenderFunction,\n ISelection,\n ISelectionOptions,\n ISelectionOptionsWithRequiredGetKey,\n ISerializableObject,\n ISettings,\n ISettingsFunction,\n ISettingsMap,\n ISize,\n IStyleFunction,\n IStyleFunctionOrObject,\n IVirtualElement,\n IWarnControlledUsageParams,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n Omit,\n Point,\n RefObject,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n Settings,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n SettingsFunction,\n StyleFunction,\n} from '@fluentui/react/lib/Utilities';\n"]}
@@ -431,12 +431,6 @@ define(["require", "exports", "tslib", "react", "@fluentui/react/lib/Utilities",
431
431
  yScalePrimary = this.props.createYAxis(YAxisParams, this._isRtl, axisData, this.isIntegralDataset, false, this.props.supportNegativeData, this.props.roundedTicks);
432
432
  }
433
433
  if (chartTypesWithStringYAxis.includes(this.props.chartType) && this.props.yAxisType === index_1.YAxisType.StringAxis) {
434
- // To create y axis tick values by if specified truncating the rest of the text
435
- // and showing elipsis or showing the whole string,
436
- yScalePrimary &&
437
- // Note: This function should be invoked within the showYAxisLablesTooltip check,
438
- // as its sole purpose is to truncate labels that exceed the noOfCharsToTruncate limit.
439
- (0, index_1.createYAxisLabels)(this.yAxisElement, yScalePrimary, this.props.noOfCharsToTruncate || 4, this.props.showYAxisLablesTooltip || false, this._isRtl);
440
434
  // Removing un wanted tooltip div from DOM, when prop not provided, for proper cleanup
441
435
  // of unwanted DOM elements, to prevent flacky behaviour in tooltips , that might occur
442
436
  // in creating tooltips when tooltips are enabled( as we try to recreate a tspan with this._tooltipId)
@@ -449,6 +443,12 @@ define(["require", "exports", "tslib", "react", "@fluentui/react/lib/Utilities",
449
443
  }
450
444
  // Used to display tooltip at y axis labels.
451
445
  if (this.props.showYAxisLablesTooltip) {
446
+ // To create y axis tick values by if specified truncating the rest of the text
447
+ // and showing elipsis or showing the whole string,
448
+ yScalePrimary &&
449
+ // Note: This function should be invoked within the showYAxisLablesTooltip check,
450
+ // as its sole purpose is to truncate labels that exceed the noOfCharsToTruncate limit.
451
+ (0, index_1.createYAxisLabels)(this.yAxisElement, yScalePrimary, this.props.noOfCharsToTruncate || 4, this.props.showYAxisLablesTooltip || false, this._isRtl);
452
452
  var yAxisElement = (0, d3_selection_1.select)(this.yAxisElement).call(yScalePrimary);
453
453
  try {
454
454
  document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId).remove();