@fluentui/react-charts 9.1.0 → 9.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -2
- package/dist/index.d.ts +66 -5
- package/lib/components/CommonComponents/CartesianChart.types.js.map +1 -1
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.js +4 -4
- package/lib/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
- package/lib/components/DeclarativeChart/DeclarativeChart.js +25 -13
- package/lib/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
- package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js +7 -1
- package/lib/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
- package/lib/components/DonutChart/useDonutChartStyles.styles.js +3 -3
- package/lib/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.js +4 -4
- package/lib/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +1 -1
- package/lib/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
- package/lib/components/LineChart/eventAnnotation/LabelLink.js +2 -1
- package/lib/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
- package/lib/components/ResponsiveContainer/ResponsiveContainer.js +51 -22
- package/lib/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
- package/lib/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -1
- package/lib/components/ResponsiveContainer/index.js +2 -0
- package/lib/components/ResponsiveContainer/index.js.map +1 -1
- package/lib/components/ResponsiveContainer/withResponsiveContainer.js +19 -0
- package/lib/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -0
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.js +3 -3
- package/lib/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
- package/lib/components/VerticalBarChart/VerticalBarChart.js +1 -1
- package/lib/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js +1 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
- package/lib/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
- package/lib/utilities/SVGTooltipText.js +3 -3
- package/lib/utilities/SVGTooltipText.js.map +1 -1
- package/lib/utilities/utilities.js +2 -2
- package/lib/utilities/utilities.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/CartesianChart.types.js.map +1 -1
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js +5 -5
- package/lib-commonjs/components/CommonComponents/useCartesianChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js +25 -13
- package/lib-commonjs/components/DeclarativeChart/DeclarativeChart.js.map +1 -1
- package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js +7 -1
- package/lib-commonjs/components/DeclarativeChart/PlotlySchemaAdapter.js.map +1 -1
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js +4 -4
- package/lib-commonjs/components/DonutChart/useDonutChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js +6 -4
- package/lib-commonjs/components/GaugeChart/useGaugeChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js +1 -1
- package/lib-commonjs/components/GroupedVerticalBarChart/GroupedVerticalBarChart.js.map +1 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js +2 -1
- package/lib-commonjs/components/LineChart/eventAnnotation/LabelLink.js.map +1 -1
- package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js +47 -21
- package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.js.map +1 -1
- package/lib-commonjs/components/ResponsiveContainer/ResponsiveContainer.types.js.map +1 -1
- package/lib-commonjs/components/ResponsiveContainer/index.js +2 -0
- package/lib-commonjs/components/ResponsiveContainer/index.js.map +1 -1
- package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.js +27 -0
- package/lib-commonjs/components/ResponsiveContainer/withResponsiveContainer.js.map +1 -0
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js +4 -4
- package/lib-commonjs/components/SankeyChart/useSankeyChartStyles.styles.js.map +1 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js +1 -1
- package/lib-commonjs/components/VerticalBarChart/VerticalBarChart.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.js.map +1 -1
- package/lib-commonjs/components/VerticalStackedBarChart/VerticalStackedBarChart.types.js.map +1 -1
- package/lib-commonjs/utilities/SVGTooltipText.js +3 -3
- package/lib-commonjs/utilities/SVGTooltipText.js.map +1 -1
- package/lib-commonjs/utilities/utilities.js +2 -2
- package/lib-commonjs/utilities/utilities.js.map +1 -1
- package/package.json +10 -10
- package/lib/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js +0 -23
- package/lib/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js.map +0 -1
- package/lib-commonjs/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js +0 -47
- package/lib-commonjs/components/ResponsiveContainer/useResponsiveContainerStyles.styles.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PlotlySchemaAdapter.ts"],"sourcesContent":["/* eslint-disable one-var */\n/* eslint-disable vars-on-top */\n/* eslint-disable no-var */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as React from 'react';\nimport {\n bin as d3Bin,\n extent as d3Extent,\n sum as d3Sum,\n min as d3Min,\n max as d3Max,\n range as d3Range,\n Bin,\n} from 'd3-array';\nimport { scaleLinear as d3ScaleLinear } from 'd3-scale';\nimport { DonutChartProps } from '../DonutChart/index';\nimport {\n ChartDataPoint,\n ChartProps,\n HorizontalBarChartWithAxisDataPoint,\n LineChartPoints,\n VerticalStackedChartProps,\n HeatMapChartData,\n HeatMapChartDataPoint,\n GroupedVerticalBarChartData,\n VerticalBarChartDataPoint,\n SankeyChartData,\n LineChartLineOptions,\n} from '../../types/DataPoint';\nimport { SankeyChartProps } from '../SankeyChart/index';\nimport { VerticalStackedBarChartProps } from '../VerticalStackedBarChart/index';\nimport { HorizontalBarChartWithAxisProps } from '../HorizontalBarChartWithAxis/index';\nimport { LineChartProps } from '../LineChart/index';\nimport { AreaChartProps } from '../AreaChart/index';\nimport { HeatMapChartProps } from '../HeatMapChart/index';\nimport { DataVizPalette, getColorFromToken, getNextColor } from '../../utilities/colors';\nimport { GaugeChartProps, GaugeChartSegment } from '../GaugeChart/index';\nimport { GroupedVerticalBarChartProps } from '../GroupedVerticalBarChart/index';\nimport { VerticalBarChartProps } from '../VerticalBarChart/index';\nimport { findNumericMinMaxOfY } from '../../utilities/utilities';\nimport type {\n Datum,\n Layout,\n PlotlySchema,\n PieData,\n PlotData,\n SankeyData,\n ScatterLine,\n TypedArray,\n} from '@fluentui/chart-utilities';\nimport {\n isArrayOfType,\n isArrayOrTypedArray,\n isDate,\n isDateArray,\n isNumberArray,\n isYearArray,\n} from '@fluentui/chart-utilities';\nimport { curveCardinal as d3CurveCardinal } from 'd3-shape';\n\ninterface SecondaryYAxisValues {\n secondaryYAxistitle?: string;\n secondaryYScaleOptions?: { yMinValue?: number; yMaxValue?: number };\n}\n\nconst dashOptions = {\n dot: {\n strokeDasharray: '1, 5',\n strokeLinecap: 'round',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n dash: {\n strokeDasharray: '5, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n longdash: {\n strokeDasharray: '10, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n dashdot: {\n strokeDasharray: '5, 5, 1, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n longdashdot: {\n strokeDasharray: '10, 5, 1, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n solid: {\n strokeDasharray: '0',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n} as const;\n\nconst getLegend = (series: Partial<PlotData>, index: number): string => {\n return series.name || `Series ${index + 1}`;\n};\n\nfunction getTitles(layout: Partial<Layout> | undefined) {\n const titles = {\n chartTitle: typeof layout?.title === 'string' ? layout.title : layout?.title?.text ?? '',\n xAxisTitle: typeof layout?.xaxis?.title === 'string' ? layout?.xaxis?.title : layout?.xaxis?.title?.text ?? '',\n yAxisTitle: typeof layout?.yaxis?.title === 'string' ? layout?.yaxis?.title : layout?.yaxis?.title?.text ?? '',\n };\n return titles;\n}\n\nexport const correctYearMonth = (xValues: Datum[] | Datum[][] | TypedArray): any[] => {\n const presentYear = new Date().getFullYear();\n if (xValues.length > 0 && Array.isArray(xValues[0])) {\n throw new Error('updateXValues:: 2D array not supported');\n }\n const dates = (xValues as Datum[]).map(possiblyMonthValue => {\n const parsedDate = `${possiblyMonthValue} 01, ${presentYear}`;\n return isDate(parsedDate) ? new Date(parsedDate) : null;\n });\n for (let i = dates.length - 1; i > 0; i--) {\n const currentMonth = dates[i]!.getMonth();\n const previousMonth = dates[i - 1]!.getMonth();\n const currentYear = dates[i]!.getFullYear();\n const previousYear = dates[i - 1]!.getFullYear();\n if (previousMonth >= currentMonth) {\n dates[i - 1]!.setFullYear(dates[i]!.getFullYear() - 1);\n } else if (previousYear > currentYear) {\n dates[i - 1]!.setFullYear(currentYear);\n }\n }\n xValues = (xValues as Datum[]).map((month, index) => {\n return `${month} 01, ${dates[index]!.getFullYear()}`;\n });\n return xValues;\n};\n\nexport const getColor = (\n legendLabel: string,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): string => {\n if (!colorMap.current.has(legendLabel)) {\n const nextColor = getNextColor(colorMap.current.size + 1, 0, isDarkTheme);\n colorMap.current.set(legendLabel, nextColor);\n return nextColor;\n }\n\n return colorMap.current.get(legendLabel) as string;\n};\n\nconst getSecondaryYAxisValues = (series: PlotData, layout: Partial<Layout> | undefined) => {\n const secondaryYAxisValues: SecondaryYAxisValues = {};\n if (layout && layout.yaxis2 && series.yaxis === 'y2') {\n secondaryYAxisValues.secondaryYAxistitle =\n typeof layout.yaxis2.title === 'string'\n ? layout.yaxis2.title\n : typeof layout.yaxis2.title?.text === 'string'\n ? layout.yaxis2.title.text\n : '';\n if (layout.yaxis2.range) {\n secondaryYAxisValues.secondaryYScaleOptions = {\n yMinValue: layout.yaxis2.range[0],\n yMaxValue: layout.yaxis2.range[1],\n };\n } else {\n const yValues = series.y as number[];\n if (yValues) {\n secondaryYAxisValues.secondaryYScaleOptions = {\n yMinValue: Math.min(...yValues),\n yMaxValue: Math.max(...yValues),\n };\n }\n }\n }\n secondaryYAxisValues.secondaryYAxistitle =\n secondaryYAxisValues.secondaryYAxistitle !== '' ? secondaryYAxisValues.secondaryYAxistitle : undefined;\n secondaryYAxisValues.secondaryYScaleOptions =\n secondaryYAxisValues.secondaryYScaleOptions && Object.keys(secondaryYAxisValues.secondaryYScaleOptions).length !== 0\n ? secondaryYAxisValues.secondaryYScaleOptions\n : undefined;\n return secondaryYAxisValues;\n};\n\nexport const transformPlotlyJsonToDonutProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): DonutChartProps => {\n const firstData = input.data[0] as PieData;\n\n const mapLegendToDataPoint: Record<string, ChartDataPoint> = {};\n firstData.labels?.forEach((label: string, index: number) => {\n const color = getColor(label, colorMap, isDarkTheme);\n //ToDo how to handle string data?\n const value = typeof firstData.values?.[index] === 'number' ? (firstData.values[index] as number) : 1;\n\n if (!mapLegendToDataPoint[label]) {\n mapLegendToDataPoint[label] = {\n legend: label,\n data: value,\n color,\n };\n } else {\n mapLegendToDataPoint[label].data! += value;\n }\n });\n\n const width: number = input.layout?.width ?? 440;\n const height: number = input.layout?.height ?? 220;\n const hideLabels: boolean = firstData.textinfo\n ? !['value', 'percent', 'label+percent'].includes(firstData.textinfo)\n : false;\n const donutMarginHorizontal: number = hideLabels ? 0 : 80;\n const donutMarginVertical: number = 40 + (hideLabels ? 0 : 40);\n const innerRadius: number = firstData.hole\n ? firstData.hole * (Math.min(width - donutMarginHorizontal, height - donutMarginVertical) / 2)\n : 0;\n const { chartTitle } = getTitles(input.layout);\n\n return {\n data: {\n chartTitle,\n chartData: Object.values(mapLegendToDataPoint),\n },\n hideLegend: input.layout?.showlegend === false ? true : false,\n width: input.layout?.width,\n height,\n innerRadius,\n hideLabels,\n showLabelsInPercent: firstData.textinfo ? ['percent', 'label+percent'].includes(firstData.textinfo) : true,\n };\n};\n\nexport const transformPlotlyJsonToVSBCProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n fallbackVSBC?: boolean,\n): VerticalStackedBarChartProps => {\n const mapXToDataPoints: { [key: string]: VerticalStackedChartProps } = {};\n let yMaxValue = 0;\n let secondaryYAxisValues: SecondaryYAxisValues = {};\n input.data.forEach((series: PlotData, index1: number) => {\n const isXYearCategory = isYearArray(series.x); // Consider year as categorical not numeric continuous axis\n (series.x as Datum[])?.forEach((x: string | number, index2: number) => {\n if (!mapXToDataPoints[x]) {\n mapXToDataPoints[x] = { xAxisPoint: isXYearCategory ? x.toString() : x, chartData: [], lineData: [] };\n }\n const legend: string = getLegend(series, index1);\n const yVal: number = (series.y?.[index2] as number) ?? 0;\n if (series.type === 'bar') {\n const color = getColor(legend, colorMap, isDarkTheme);\n mapXToDataPoints[x].chartData.push({\n legend,\n data: yVal,\n color,\n });\n } else if (series.type === 'scatter' || !!fallbackVSBC) {\n const color = getColor(legend, colorMap, isDarkTheme);\n const lineOptions = getLineOptions(series.line);\n mapXToDataPoints[x].lineData!.push({\n legend,\n y: yVal,\n color,\n ...(lineOptions ? { lineOptions } : {}),\n });\n }\n\n yMaxValue = Math.max(yMaxValue, yVal);\n });\n secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);\n });\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: Object.values(mapXToDataPoints),\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n barWidth: 'auto',\n yMaxValue,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n mode: 'plotly',\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToGVBCProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): GroupedVerticalBarChartProps => {\n const mapXToDataPoints: Record<string, GroupedVerticalBarChartData> = {};\n let secondaryYAxisValues: SecondaryYAxisValues = {};\n input.data.forEach((series: PlotData, index1: number) => {\n (series.x as Datum[])?.forEach((x: string | number, index2: number) => {\n if (!mapXToDataPoints[x]) {\n mapXToDataPoints[x] = { name: x.toString(), series: [] };\n }\n if (series.type === 'bar') {\n const legend: string = getLegend(series, index1);\n const color = getColor(legend, colorMap, isDarkTheme);\n\n mapXToDataPoints[x].series.push({\n key: legend,\n data: (series.y?.[index2] as number) ?? 0,\n xAxisCalloutData: x as string,\n color,\n legend,\n });\n }\n });\n secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);\n });\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: Object.values(mapXToDataPoints),\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n barWidth: 'auto',\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n mode: 'plotly',\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToVBCProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): VerticalBarChartProps => {\n const vbcData: VerticalBarChartDataPoint[] = [];\n\n input.data.forEach((series: Partial<PlotData>, seriesIdx: number) => {\n if (!series.x) {\n return;\n }\n\n const isXString = isStringArray(series.x);\n const xBins = createBins(series.x, series.xbins?.start, series.xbins?.end, series.xbins?.size);\n const yBins: number[][] = xBins.map(() => []);\n let total = 0;\n\n series.x.forEach((xVal, index) => {\n const binIdx = findBinIndex(xBins, xVal as string | number | null, isXString);\n if (binIdx !== -1) {\n yBins[binIdx].push((series.y?.[index] as number | null | undefined) ?? 1);\n }\n });\n\n const y = yBins.map(bin => {\n const yVal = calculateHistFunc(series.histfunc, bin);\n total += yVal;\n return yVal;\n });\n\n xBins.forEach((bin, index) => {\n const legend: string = getLegend(series, seriesIdx);\n const color: string = getColor(legend, colorMap, isDarkTheme);\n const yVal = calculateHistNorm(\n series.histnorm,\n y[index],\n total,\n isXString ? bin.length : getBinSize(bin as Bin<number, number>),\n );\n\n vbcData.push({\n x: isXString ? bin.join(', ') : getBinCenter(bin as Bin<number, number>),\n y: yVal,\n legend,\n color,\n ...(isXString\n ? {}\n : { xAxisCalloutData: `[${(bin as Bin<number, number>).x0} - ${(bin as Bin<number, number>).x1})` }),\n });\n });\n });\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: vbcData,\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n mode: 'plotly',\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToScatterChartProps = (\n input: PlotlySchema,\n isAreaChart: boolean,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): LineChartProps | AreaChartProps => {\n let secondaryYAxisValues: SecondaryYAxisValues = {};\n let mode: string = 'tonexty';\n const chartData: LineChartPoints[] = input.data.map((series: PlotData, index: number) => {\n const xValues = series.x as Datum[];\n const isString = typeof xValues[0] === 'string';\n const isXDate = isDateArray(xValues);\n const isXNumber = isNumberArray(xValues);\n const legend: string = getLegend(series, index);\n const lineColor = getColor(legend, colorMap, isDarkTheme);\n secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);\n mode = series.fill === 'tozeroy' ? 'tozeroy' : 'tonexty';\n const lineOptions = getLineOptions(series.line);\n\n return {\n legend,\n data: xValues.map((x, i: number) => ({\n x: isString ? (isXDate ? new Date(x as string) : isXNumber ? parseFloat(x as string) : x) : x,\n y: series.y[i],\n ...(Array.isArray(series.marker?.size)\n ? { markerSize: series.marker.size[i] }\n : typeof series.marker?.size === 'number'\n ? { markerSize: series.marker.size }\n : {}),\n })),\n color: lineColor,\n ...(lineOptions ? { lineOptions } : {}),\n } as LineChartPoints;\n });\n\n const yMinMaxValues = findNumericMinMaxOfY(chartData);\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n const chartProps: ChartProps = {\n chartTitle,\n lineChartData: chartData,\n };\n\n if (isAreaChart) {\n return {\n data: chartProps,\n supportNegativeData: true,\n xAxisTitle,\n yAxisTitle,\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n mode,\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n hideTickOverlap: true,\n useUTC: false,\n } as AreaChartProps;\n } else {\n return {\n data: chartProps,\n supportNegativeData: true,\n xAxisTitle,\n yAxisTitle,\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n roundedTicks: true,\n yMinValue: yMinMaxValues.startValue,\n yMaxValue: yMinMaxValues.endValue,\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n hideTickOverlap: true,\n enableReflow: false,\n useUTC: false,\n } as LineChartProps;\n }\n};\n\nexport const transformPlotlyJsonToHorizontalBarWithAxisProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): HorizontalBarChartWithAxisProps => {\n const chartData: HorizontalBarChartWithAxisDataPoint[] = input.data\n .map((series: PlotData, index: number) => {\n return (series.y as Datum[]).map((yValue: string, i: number) => {\n const color = getColor(yValue, colorMap, isDarkTheme);\n return {\n x: series.x[i],\n y: yValue,\n legend: yValue,\n color,\n } as HorizontalBarChartWithAxisDataPoint;\n });\n })\n .flat()\n //reversing the order to invert the Y bars order as required by plotly.\n .reverse();\n\n const chartHeight: number = input.layout?.height ?? 450;\n const margin: number = input.layout?.margin?.l ?? 0;\n const padding: number = input.layout?.margin?.pad ?? 0;\n const availableHeight: number = chartHeight - margin - padding;\n const numberOfBars = (input.data[0] as PlotData).y.length;\n const scalingFactor = 0.01;\n const gapFactor = 1 / (1 + scalingFactor * numberOfBars);\n const barHeight = availableHeight / (numberOfBars * (1 + gapFactor));\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: chartData,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n secondaryYAxistitle:\n typeof input.layout?.yaxis2?.title === 'string'\n ? input.layout?.yaxis2?.title\n : input.layout?.yaxis2?.title?.text || '',\n barHeight,\n showYAxisLables: true,\n height: chartHeight,\n width: input.layout?.width,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToHeatmapProps = (input: PlotlySchema): HeatMapChartProps => {\n const firstData = input.data[0] as Partial<PlotData>;\n const heatmapDataPoints: HeatMapChartDataPoint[] = [];\n let zMin = Number.POSITIVE_INFINITY;\n let zMax = Number.NEGATIVE_INFINITY;\n\n if (firstData.type === 'histogram2d') {\n const isXString = isStringArray(firstData.x);\n const isYString = isStringArray(firstData.y);\n const xBins = createBins(firstData.x, firstData.xbins?.start, firstData.xbins?.end, firstData.xbins?.size);\n const yBins = createBins(firstData.y, firstData.ybins?.start, firstData.ybins?.end, firstData.ybins?.size);\n const zBins: number[][][] = yBins.map(() => xBins.map(() => []));\n let total = 0;\n\n firstData.x?.forEach((xVal, index) => {\n const xBinIdx = findBinIndex(xBins, xVal as string | number | null, isXString);\n const yBinIdx = findBinIndex(yBins, firstData.y?.[index] as string | number | null | undefined, isYString);\n\n if (xBinIdx !== -1 && yBinIdx !== -1) {\n zBins[yBinIdx][xBinIdx].push((firstData.z?.[index] as number | null | undefined) ?? 1);\n }\n });\n\n const z = zBins.map(row => {\n return row.map(bin => {\n const zVal = calculateHistFunc(firstData.histfunc, bin);\n total += zVal;\n return zVal;\n });\n });\n\n xBins.forEach((xBin, xIdx) => {\n yBins.forEach((yBin, yIdx) => {\n const zVal = calculateHistNorm(\n firstData.histnorm,\n z[yIdx][xIdx],\n total,\n isXString ? xBin.length : getBinSize(xBin as Bin<number, number>),\n isYString ? yBin.length : getBinSize(yBin as Bin<number, number>),\n );\n\n heatmapDataPoints.push({\n x: isXString ? xBin.join(', ') : getBinCenter(xBin as Bin<number, number>),\n y: isYString ? yBin.join(', ') : getBinCenter(yBin as Bin<number, number>),\n value: zVal,\n rectText: zVal,\n });\n\n if (typeof zVal === 'number') {\n zMin = Math.min(zMin, zVal);\n zMax = Math.max(zMax, zVal);\n }\n });\n });\n } else {\n (firstData.x as Datum[])?.forEach((xVal, xIdx: number) => {\n firstData.y?.forEach((yVal: any, yIdx: number) => {\n const zVal = (firstData.z as number[][])?.[yIdx]?.[xIdx];\n\n heatmapDataPoints.push({\n x: input.layout?.xaxis?.type === 'date' ? (xVal as Date) : xVal ?? 0,\n y: input.layout?.yaxis?.type === 'date' ? (yVal as Date) : yVal,\n value: zVal,\n rectText: zVal,\n });\n\n if (typeof zVal === 'number') {\n zMin = Math.min(zMin, zVal);\n zMax = Math.max(zMax, zVal);\n }\n });\n });\n }\n\n const heatmapData: HeatMapChartData = {\n legend: firstData.name ?? '',\n data: heatmapDataPoints,\n value: 0,\n };\n\n // Initialize domain and range to default values\n const defaultDomain = [zMin, (zMax + zMin) / 2, zMax];\n const defaultRange = [\n getColorFromToken(DataVizPalette.color1),\n getColorFromToken(DataVizPalette.color2),\n getColorFromToken(DataVizPalette.color3),\n ];\n const domainValuesForColorScale: number[] = Array.isArray(firstData.colorscale)\n ? (firstData.colorscale as Array<[number, string]>).map(arr => arr[0] * (zMax - zMin) + zMin)\n : defaultDomain;\n\n const rangeValuesForColorScale: string[] = Array.isArray(firstData.colorscale)\n ? (firstData.colorscale as Array<[number, string]>).map(arr => arr[1])\n : defaultRange;\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: [heatmapData],\n domainValuesForColorScale,\n rangeValuesForColorScale,\n hideLegend: true,\n showYAxisLables: true,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n sortOrder: 'none',\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToSankeyProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): SankeyChartProps => {\n const { link, node } = input.data[0] as SankeyData;\n const validLinks = (link?.value ?? [])\n .map((val: number, index: number) => ({\n value: val,\n source: link?.source![index],\n target: link?.target![index],\n }))\n // eslint-disable-next-line @typescript-eslint/no-shadow\n // Filter out negative nodes, unequal nodes and self-references (circular links)\n .filter(x => x.source >= 0 && x.target >= 0 && x.source !== x.target);\n\n const sankeyChartData = {\n nodes: node.label?.map((label: string, index: number) => {\n const color = getColor(label, colorMap, isDarkTheme);\n\n return {\n nodeId: index,\n name: label,\n color,\n };\n }),\n links: validLinks.map((validLink: any, index: number) => {\n return {\n ...validLink,\n };\n }),\n } as SankeyChartData;\n\n // const styles: SankeyChartProps['styles'] = {\n // root: {\n // ...(input.layout?.font?.size ? { fontSize: input.layout.font?.size } : {}),\n // },\n // };\n\n const { chartTitle } = getTitles(input.layout);\n\n return {\n data: {\n chartTitle,\n SankeyChartData: sankeyChartData,\n },\n width: input.layout?.width,\n height: input.layout?.height ?? 468,\n // TODO\n // styles,\n enableReflow: true,\n };\n};\n\nexport const transformPlotlyJsonToGaugeProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): GaugeChartProps => {\n const firstData = input.data[0] as PlotData;\n\n const segments = firstData.gauge?.steps?.length\n ? firstData.gauge.steps.map((step: any, index: number): GaugeChartSegment => {\n const legend = step.name || `Segment ${index + 1}`;\n const color = getColor(legend, colorMap, isDarkTheme);\n return {\n legend,\n size: step.range?.[1] - step.range?.[0],\n color,\n };\n })\n : [\n {\n legend: 'Current',\n size: firstData.value ?? 0 - (firstData.gauge?.axis?.range?.[0] ?? 0),\n color: getColor('Current', colorMap, isDarkTheme),\n },\n {\n legend: 'Target',\n size: (firstData.gauge?.axis?.range?.[1] ?? 100) - (firstData.value ?? 0),\n color: DataVizPalette.disabled,\n },\n ];\n\n let sublabel: string | undefined;\n // let sublabelColor: string | undefined;\n if (firstData.delta?.reference) {\n const diff = firstData.value - firstData.delta.reference;\n if (diff >= 0) {\n sublabel = `\\u25B2 ${diff}`;\n // const color = getColorFromToken(DataVizPalette.success, isDarkTheme);\n // sublabelColor = color;\n } else {\n sublabel = `\\u25BC ${Math.abs(diff)}`;\n // const color = getColorFromToken(DataVizPalette.error, isDarkTheme);\n // sublabelColor = color;\n }\n }\n\n // const styles: GaugeChartProps['styles'] = {\n // sublabel: {\n // fill: sublabelColor,\n // },\n // };\n\n const { chartTitle } = getTitles(input.layout);\n\n return {\n segments,\n chartValue: firstData.value ?? 0,\n chartTitle,\n sublabel,\n // range values can be null\n minValue: typeof firstData.gauge?.axis?.range?.[0] === 'number' ? firstData.gauge?.axis?.range?.[0] : undefined,\n maxValue: typeof firstData.gauge?.axis?.range?.[1] === 'number' ? firstData.gauge?.axis?.range?.[1] : undefined,\n chartValueFormat: () => firstData.value?.toString() ?? '',\n // FIXME\n // width: input.layout?.width,\n // height: input.layout?.height ?? 220,\n // TODO\n // styles,\n variant: firstData.gauge?.steps?.length ? 'multiple-segments' : 'single-segment',\n };\n};\n\nfunction isPlainObject(obj: any) {\n return (\n Object.prototype.toString.call(obj) === '[object Object]' &&\n Object.getPrototypeOf(obj).hasOwnProperty('hasOwnProperty')\n );\n}\n\nvar arrayAttributes: any[] = [];\nvar stack: any[] = [];\nvar isArrayStack: any[] = [];\nvar baseContainer: any, baseAttrName: any;\n/**\n * Interate iteratively through the trace object and find all the array attributes.\n * 1 trace record = 1 series of data\n * @param trace\n */\nexport function findArrayAttributes(trace: any) {\n // Init basecontainer and baseAttrName\n crawlIntoTrace(baseContainer, 0, '');\n}\n\nfunction crawlIntoTrace(container: any, i: number, astrPartial: any) {\n var item = container[stack[i]];\n var newAstrPartial = astrPartial + stack[i];\n if (i === stack.length - 1) {\n if (isArrayOrTypedArray(item)) {\n arrayAttributes.push(baseAttrName + newAstrPartial);\n }\n } else {\n if (isArrayStack[i]) {\n if (Array.isArray(item)) {\n for (var j = 0; j < item.length; j++) {\n if (isPlainObject(item[j])) {\n crawlIntoTrace(item[j], i + 1, newAstrPartial + '[' + j + '].');\n }\n }\n }\n } else if (isPlainObject(item)) {\n crawlIntoTrace(item, i + 1, newAstrPartial + '.');\n }\n }\n}\n\nfunction getLineOptions(line: Partial<ScatterLine> | undefined): LineChartLineOptions | undefined {\n if (!line) {\n return;\n }\n\n let lineOptions: LineChartLineOptions = {};\n if (line.dash) {\n lineOptions = { ...lineOptions, ...dashOptions[line.dash] };\n }\n\n switch (line.shape) {\n case 'spline':\n const smoothing = typeof line.smoothing === 'number' ? line.smoothing : 1;\n lineOptions.curve = d3CurveCardinal.tension(1 - smoothing / 1.3);\n break;\n case 'hv':\n lineOptions.curve = 'stepAfter';\n break;\n case 'vh':\n lineOptions.curve = 'stepBefore';\n break;\n case 'hvh':\n lineOptions.curve = 'step';\n break;\n default:\n lineOptions.curve = 'linear';\n }\n\n return Object.keys(lineOptions).length > 0 ? lineOptions : undefined;\n}\n\nconst isStringArray = (arr: any) => {\n return isArrayOfType(arr, (value: any) => typeof value === 'string');\n};\n\n// TODO: Use binary search to find the appropriate bin for numeric value.\nconst findBinIndex = (\n bins: string[][] | Bin<number, number>[],\n value: string | number | null | undefined,\n isString: boolean,\n) => {\n if (typeof value === 'undefined' || value === null) {\n return -1;\n }\n\n return isString\n ? (bins as string[][]).findIndex(bin => bin.includes(value as string))\n : (bins as Bin<number, number>[]).findIndex(bin => (value as number) >= bin.x0! && (value as number) < bin.x1!);\n};\n\nconst getBinSize = (bin: Bin<number, number>) => {\n return bin.x1! - bin.x0!;\n};\n\nconst getBinCenter = (bin: Bin<number, number>) => {\n return (bin.x1! + bin.x0!) / 2;\n};\n\n// TODO: Add support for date axes\nconst createBins = (\n data: TypedArray | Datum[] | Datum[][] | undefined,\n binStart?: number | string,\n binEnd?: number | string,\n binSize?: number | string,\n) => {\n if (!data || data.length === 0) {\n return [];\n }\n\n if (isStringArray(data)) {\n const categories = Array.from(new Set(data as string[]));\n const start = typeof binStart === 'number' ? Math.ceil(binStart) : 0;\n const stop = typeof binEnd === 'number' ? Math.floor(binEnd) + 1 : categories.length;\n const step = typeof binSize === 'number' ? binSize : 1;\n\n return d3Range(start, stop, step).map(i => categories.slice(i, i + step));\n }\n\n const scale = d3ScaleLinear()\n .domain(d3Extent<number>(data as number[]) as [number, number])\n .nice();\n let [minVal, maxVal] = scale.domain();\n\n minVal = typeof binStart === 'number' ? binStart : minVal;\n maxVal = typeof binEnd === 'number' ? binEnd : maxVal;\n\n const binGenerator = d3Bin().domain([minVal, maxVal]);\n\n if (typeof binSize === 'number') {\n const thresholds: number[] = [];\n let th = minVal;\n const tolerance = 1 / Math.pow(10, binSize.toString().split('.')[1]?.length ?? 0);\n\n while (maxVal + binSize - th > tolerance) {\n thresholds.push(th);\n th += binSize;\n }\n\n minVal = thresholds[0];\n maxVal = thresholds[thresholds.length - 1];\n binGenerator.domain([minVal, maxVal]).thresholds(thresholds);\n }\n\n // NOTE: The last bin generated by d3Bin often has identical x0 and x1 values (both inclusive) and\n // can be ignored if the highest value is already included in the previous bin.\n return binGenerator(data as number[]);\n};\n\nconst calculateHistFunc = (histfunc: PlotData['histfunc'] | undefined, bin: number[]) => {\n switch (histfunc) {\n case 'sum':\n return d3Sum(bin);\n case 'avg':\n return bin.length === 0 ? 0 : d3Sum(bin) / bin.length;\n case 'min':\n return d3Min(bin) ?? 0;\n case 'max':\n return d3Max(bin) ?? 0;\n default:\n return bin.length;\n }\n};\n\nconst calculateHistNorm = (\n histnorm: PlotData['histnorm'] | undefined,\n value: number,\n total: number,\n dx: number,\n dy: number = 1,\n) => {\n switch (histnorm) {\n case 'percent':\n return total === 0 ? 0 : (value / total) * 100;\n case 'probability':\n return total === 0 ? 0 : value / total;\n case 'density':\n return dx * dy === 0 ? 0 : value / (dx * dy);\n case 'probability density':\n return total * dx * dy === 0 ? 0 : value / (total * dx * dy);\n default:\n return value;\n }\n};\n"],"names":["React","bin","d3Bin","extent","d3Extent","sum","d3Sum","min","d3Min","max","d3Max","range","d3Range","scaleLinear","d3ScaleLinear","DataVizPalette","getColorFromToken","getNextColor","findNumericMinMaxOfY","isArrayOfType","isArrayOrTypedArray","isDate","isDateArray","isNumberArray","isYearArray","curveCardinal","d3CurveCardinal","dashOptions","dot","strokeDasharray","strokeLinecap","strokeWidth","lineBorderWidth","dash","longdash","dashdot","longdashdot","solid","getLegend","series","index","name","getTitles","layout","titles","chartTitle","title","text","xAxisTitle","xaxis","yAxisTitle","yaxis","correctYearMonth","xValues","presentYear","Date","getFullYear","length","Array","isArray","Error","dates","map","possiblyMonthValue","parsedDate","i","currentMonth","getMonth","previousMonth","currentYear","previousYear","setFullYear","month","getColor","legendLabel","colorMap","isDarkTheme","current","has","nextColor","size","set","get","getSecondaryYAxisValues","secondaryYAxisValues","yaxis2","secondaryYAxistitle","secondaryYScaleOptions","yMinValue","yMaxValue","yValues","y","Math","undefined","Object","keys","transformPlotlyJsonToDonutProps","input","firstData","data","mapLegendToDataPoint","labels","forEach","label","color","value","values","legend","width","height","hideLabels","textinfo","includes","donutMarginHorizontal","donutMarginVertical","innerRadius","hole","chartData","hideLegend","showlegend","showLabelsInPercent","transformPlotlyJsonToVSBCProps","fallbackVSBC","mapXToDataPoints","index1","isXYearCategory","x","index2","xAxisPoint","toString","lineData","yVal","type","push","lineOptions","getLineOptions","line","barWidth","mode","hideTickOverlap","transformPlotlyJsonToGVBCProps","key","xAxisCalloutData","transformPlotlyJsonToVBCProps","vbcData","seriesIdx","isXString","isStringArray","xBins","createBins","xbins","start","end","yBins","total","xVal","binIdx","findBinIndex","calculateHistFunc","histfunc","calculateHistNorm","histnorm","getBinSize","join","getBinCenter","x0","x1","transformPlotlyJsonToScatterChartProps","isAreaChart","isString","isXDate","isXNumber","lineColor","fill","parseFloat","marker","markerSize","yMinMaxValues","chartProps","lineChartData","supportNegativeData","useUTC","roundedTicks","startValue","endValue","enableReflow","transformPlotlyJsonToHorizontalBarWithAxisProps","yValue","flat","reverse","chartHeight","margin","l","padding","pad","availableHeight","numberOfBars","scalingFactor","gapFactor","barHeight","showYAxisLables","transformPlotlyJsonToHeatmapProps","heatmapDataPoints","zMin","Number","POSITIVE_INFINITY","zMax","NEGATIVE_INFINITY","isYString","ybins","zBins","xBinIdx","yBinIdx","z","row","zVal","xBin","xIdx","yBin","yIdx","rectText","heatmapData","defaultDomain","defaultRange","color1","color2","color3","domainValuesForColorScale","colorscale","arr","rangeValuesForColorScale","sortOrder","transformPlotlyJsonToSankeyProps","node","link","validLinks","val","source","target","filter","sankeyChartData","nodes","nodeId","links","validLink","SankeyChartData","transformPlotlyJsonToGaugeProps","segments","gauge","steps","step","axis","disabled","sublabel","delta","reference","diff","abs","chartValue","minValue","maxValue","chartValueFormat","variant","isPlainObject","obj","prototype","call","getPrototypeOf","hasOwnProperty","arrayAttributes","stack","isArrayStack","baseContainer","baseAttrName","findArrayAttributes","trace","crawlIntoTrace","container","astrPartial","item","newAstrPartial","j","shape","smoothing","curve","tension","bins","findIndex","binStart","binEnd","binSize","categories","from","Set","ceil","stop","floor","slice","scale","domain","nice","minVal","maxVal","binGenerator","thresholds","th","tolerance","pow","split","dx","dy"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["PlotlySchemaAdapter.ts"],"sourcesContent":["/* eslint-disable one-var */\n/* eslint-disable vars-on-top */\n/* eslint-disable no-var */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as React from 'react';\nimport {\n bin as d3Bin,\n extent as d3Extent,\n sum as d3Sum,\n min as d3Min,\n max as d3Max,\n range as d3Range,\n Bin,\n} from 'd3-array';\nimport { scaleLinear as d3ScaleLinear } from 'd3-scale';\nimport { DonutChartProps } from '../DonutChart/index';\nimport {\n ChartDataPoint,\n ChartProps,\n HorizontalBarChartWithAxisDataPoint,\n LineChartPoints,\n VerticalStackedChartProps,\n HeatMapChartData,\n HeatMapChartDataPoint,\n GroupedVerticalBarChartData,\n VerticalBarChartDataPoint,\n SankeyChartData,\n LineChartLineOptions,\n} from '../../types/DataPoint';\nimport { SankeyChartProps } from '../SankeyChart/index';\nimport { VerticalStackedBarChartProps } from '../VerticalStackedBarChart/index';\nimport { HorizontalBarChartWithAxisProps } from '../HorizontalBarChartWithAxis/index';\nimport { LineChartProps } from '../LineChart/index';\nimport { AreaChartProps } from '../AreaChart/index';\nimport { HeatMapChartProps } from '../HeatMapChart/index';\nimport { DataVizPalette, getColorFromToken, getNextColor } from '../../utilities/colors';\nimport { GaugeChartProps, GaugeChartSegment } from '../GaugeChart/index';\nimport { GroupedVerticalBarChartProps } from '../GroupedVerticalBarChart/index';\nimport { VerticalBarChartProps } from '../VerticalBarChart/index';\nimport { findNumericMinMaxOfY } from '../../utilities/utilities';\nimport type {\n Datum,\n Layout,\n PlotlySchema,\n PieData,\n PlotData,\n SankeyData,\n ScatterLine,\n TypedArray,\n} from '@fluentui/chart-utilities';\nimport {\n isArrayOfType,\n isArrayOrTypedArray,\n isDate,\n isDateArray,\n isNumberArray,\n isYearArray,\n} from '@fluentui/chart-utilities';\nimport { curveCardinal as d3CurveCardinal } from 'd3-shape';\n\ninterface SecondaryYAxisValues {\n secondaryYAxistitle?: string;\n secondaryYScaleOptions?: { yMinValue?: number; yMaxValue?: number };\n}\n\nconst dashOptions = {\n dot: {\n strokeDasharray: '1, 5',\n strokeLinecap: 'round',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n dash: {\n strokeDasharray: '5, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n longdash: {\n strokeDasharray: '10, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n dashdot: {\n strokeDasharray: '5, 5, 1, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n longdashdot: {\n strokeDasharray: '10, 5, 1, 5',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n solid: {\n strokeDasharray: '0',\n strokeLinecap: 'butt',\n strokeWidth: '2',\n lineBorderWidth: '4',\n },\n} as const;\n\nconst getLegend = (series: Partial<PlotData>, index: number): string => {\n return series.name || `Series ${index + 1}`;\n};\n\nfunction getTitles(layout: Partial<Layout> | undefined) {\n const titles = {\n chartTitle: typeof layout?.title === 'string' ? layout.title : layout?.title?.text ?? '',\n xAxisTitle: typeof layout?.xaxis?.title === 'string' ? layout?.xaxis?.title : layout?.xaxis?.title?.text ?? '',\n yAxisTitle: typeof layout?.yaxis?.title === 'string' ? layout?.yaxis?.title : layout?.yaxis?.title?.text ?? '',\n };\n return titles;\n}\n\nexport const correctYearMonth = (xValues: Datum[] | Datum[][] | TypedArray): any[] => {\n const presentYear = new Date().getFullYear();\n if (xValues.length > 0 && Array.isArray(xValues[0])) {\n throw new Error('updateXValues:: 2D array not supported');\n }\n const dates = (xValues as Datum[]).map(possiblyMonthValue => {\n const parsedDate = `${possiblyMonthValue} 01, ${presentYear}`;\n return isDate(parsedDate) ? new Date(parsedDate) : null;\n });\n for (let i = dates.length - 1; i > 0; i--) {\n const currentMonth = dates[i]!.getMonth();\n const previousMonth = dates[i - 1]!.getMonth();\n const currentYear = dates[i]!.getFullYear();\n const previousYear = dates[i - 1]!.getFullYear();\n if (previousMonth >= currentMonth) {\n dates[i - 1]!.setFullYear(dates[i]!.getFullYear() - 1);\n } else if (previousYear > currentYear) {\n dates[i - 1]!.setFullYear(currentYear);\n }\n }\n xValues = (xValues as Datum[]).map((month, index) => {\n return `${month} 01, ${dates[index]!.getFullYear()}`;\n });\n return xValues;\n};\n\nexport const getColor = (\n legendLabel: string,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): string => {\n if (!colorMap.current.has(legendLabel)) {\n const nextColor = getNextColor(colorMap.current.size + 1, 0, isDarkTheme);\n colorMap.current.set(legendLabel, nextColor);\n return nextColor;\n }\n\n return colorMap.current.get(legendLabel) as string;\n};\n\nconst getSecondaryYAxisValues = (series: PlotData, layout: Partial<Layout> | undefined) => {\n const secondaryYAxisValues: SecondaryYAxisValues = {};\n if (layout && layout.yaxis2 && series.yaxis === 'y2') {\n secondaryYAxisValues.secondaryYAxistitle =\n typeof layout.yaxis2.title === 'string'\n ? layout.yaxis2.title\n : typeof layout.yaxis2.title?.text === 'string'\n ? layout.yaxis2.title.text\n : '';\n if (layout.yaxis2.range) {\n secondaryYAxisValues.secondaryYScaleOptions = {\n yMinValue: layout.yaxis2.range[0],\n yMaxValue: layout.yaxis2.range[1],\n };\n } else {\n const yValues = series.y as number[];\n if (yValues) {\n secondaryYAxisValues.secondaryYScaleOptions = {\n yMinValue: Math.min(...yValues),\n yMaxValue: Math.max(...yValues),\n };\n }\n }\n }\n secondaryYAxisValues.secondaryYAxistitle =\n secondaryYAxisValues.secondaryYAxistitle !== '' ? secondaryYAxisValues.secondaryYAxistitle : undefined;\n secondaryYAxisValues.secondaryYScaleOptions =\n secondaryYAxisValues.secondaryYScaleOptions && Object.keys(secondaryYAxisValues.secondaryYScaleOptions).length !== 0\n ? secondaryYAxisValues.secondaryYScaleOptions\n : undefined;\n return secondaryYAxisValues;\n};\n\nexport const transformPlotlyJsonToDonutProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): DonutChartProps => {\n const firstData = input.data[0] as PieData;\n\n const mapLegendToDataPoint: Record<string, ChartDataPoint> = {};\n firstData.labels?.forEach((label: string, index: number) => {\n const color = getColor(label, colorMap, isDarkTheme);\n //ToDo how to handle string data?\n const value = typeof firstData.values?.[index] === 'number' ? (firstData.values[index] as number) : 1;\n\n if (!mapLegendToDataPoint[label]) {\n mapLegendToDataPoint[label] = {\n legend: label,\n data: value,\n color,\n };\n } else {\n mapLegendToDataPoint[label].data! += value;\n }\n });\n\n const width: number = input.layout?.width ?? 440;\n const height: number = input.layout?.height ?? 220;\n const hideLabels: boolean = firstData.textinfo\n ? !['value', 'percent', 'label+percent'].includes(firstData.textinfo)\n : false;\n const donutMarginHorizontal: number = hideLabels ? 0 : 80;\n const donutMarginVertical: number = 40 + (hideLabels ? 0 : 40);\n const innerRadius: number = firstData.hole\n ? firstData.hole * (Math.min(width - donutMarginHorizontal, height - donutMarginVertical) / 2)\n : 0;\n const { chartTitle } = getTitles(input.layout);\n\n return {\n data: {\n chartTitle,\n chartData: Object.values(mapLegendToDataPoint),\n },\n hideLegend: input.layout?.showlegend === false ? true : false,\n width: input.layout?.width,\n height,\n innerRadius,\n hideLabels,\n showLabelsInPercent: firstData.textinfo ? ['percent', 'label+percent'].includes(firstData.textinfo) : true,\n };\n};\n\nexport const transformPlotlyJsonToVSBCProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n fallbackVSBC?: boolean,\n): VerticalStackedBarChartProps => {\n const mapXToDataPoints: { [key: string]: VerticalStackedChartProps } = {};\n let yMaxValue = 0;\n let yMinValue = 0;\n let secondaryYAxisValues: SecondaryYAxisValues = {};\n input.data.forEach((series: PlotData, index1: number) => {\n const isXYearCategory = isYearArray(series.x); // Consider year as categorical not numeric continuous axis\n (series.x as Datum[])?.forEach((x: string | number, index2: number) => {\n if (!mapXToDataPoints[x]) {\n mapXToDataPoints[x] = { xAxisPoint: isXYearCategory ? x.toString() : x, chartData: [], lineData: [] };\n }\n const legend: string = getLegend(series, index1);\n const yVal: number = (series.y?.[index2] as number) ?? 0;\n if (series.type === 'bar') {\n const color = getColor(legend, colorMap, isDarkTheme);\n mapXToDataPoints[x].chartData.push({\n legend,\n data: yVal,\n color,\n });\n } else if (series.type === 'scatter' || !!fallbackVSBC) {\n const color = getColor(legend, colorMap, isDarkTheme);\n const lineOptions = getLineOptions(series.line);\n mapXToDataPoints[x].lineData!.push({\n legend,\n y: yVal,\n color,\n ...(lineOptions ? { lineOptions } : {}),\n });\n }\n\n yMaxValue = Math.max(yMaxValue, yVal);\n yMinValue = Math.min(yMinValue, yVal);\n });\n secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);\n });\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: Object.values(mapXToDataPoints),\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n barWidth: 'auto',\n yMaxValue,\n yMinValue,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n mode: 'plotly',\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToGVBCProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): GroupedVerticalBarChartProps => {\n const mapXToDataPoints: Record<string, GroupedVerticalBarChartData> = {};\n let secondaryYAxisValues: SecondaryYAxisValues = {};\n input.data.forEach((series: PlotData, index1: number) => {\n (series.x as Datum[])?.forEach((x: string | number, index2: number) => {\n if (!mapXToDataPoints[x]) {\n mapXToDataPoints[x] = { name: x.toString(), series: [] };\n }\n if (series.type === 'bar') {\n const legend: string = getLegend(series, index1);\n const color = getColor(legend, colorMap, isDarkTheme);\n\n mapXToDataPoints[x].series.push({\n key: legend,\n data: (series.y?.[index2] as number) ?? 0,\n xAxisCalloutData: x as string,\n color,\n legend,\n });\n }\n });\n secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);\n });\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: Object.values(mapXToDataPoints),\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n barWidth: 'auto',\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n mode: 'plotly',\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToVBCProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): VerticalBarChartProps => {\n const vbcData: VerticalBarChartDataPoint[] = [];\n\n input.data.forEach((series: Partial<PlotData>, seriesIdx: number) => {\n if (!series.x) {\n return;\n }\n\n const isXString = isStringArray(series.x);\n const xBins = createBins(series.x, series.xbins?.start, series.xbins?.end, series.xbins?.size);\n const yBins: number[][] = xBins.map(() => []);\n let total = 0;\n\n series.x.forEach((xVal, index) => {\n const binIdx = findBinIndex(xBins, xVal as string | number | null, isXString);\n if (binIdx !== -1) {\n yBins[binIdx].push((series.y?.[index] as number | null | undefined) ?? 1);\n }\n });\n\n const y = yBins.map(bin => {\n const yVal = calculateHistFunc(series.histfunc, bin);\n total += yVal;\n return yVal;\n });\n\n xBins.forEach((bin, index) => {\n const legend: string = getLegend(series, seriesIdx);\n const color: string = getColor(legend, colorMap, isDarkTheme);\n const yVal = calculateHistNorm(\n series.histnorm,\n y[index],\n total,\n isXString ? bin.length : getBinSize(bin as Bin<number, number>),\n );\n\n vbcData.push({\n x: isXString ? bin.join(', ') : getBinCenter(bin as Bin<number, number>),\n y: yVal,\n legend,\n color,\n ...(isXString\n ? {}\n : { xAxisCalloutData: `[${(bin as Bin<number, number>).x0} - ${(bin as Bin<number, number>).x1})` }),\n });\n });\n });\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: vbcData,\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n mode: 'plotly',\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToScatterChartProps = (\n input: PlotlySchema,\n isAreaChart: boolean,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): LineChartProps | AreaChartProps => {\n let secondaryYAxisValues: SecondaryYAxisValues = {};\n let mode: string = 'tonexty';\n const chartData: LineChartPoints[] = input.data.map((series: PlotData, index: number) => {\n const xValues = series.x as Datum[];\n const isString = typeof xValues[0] === 'string';\n const isXDate = isDateArray(xValues);\n const isXNumber = isNumberArray(xValues);\n const legend: string = getLegend(series, index);\n const lineColor = getColor(legend, colorMap, isDarkTheme);\n secondaryYAxisValues = getSecondaryYAxisValues(series, input.layout);\n mode = series.fill === 'tozeroy' ? 'tozeroy' : 'tonexty';\n const lineOptions = getLineOptions(series.line);\n\n return {\n legend,\n data: xValues.map((x, i: number) => ({\n x: isString ? (isXDate ? new Date(x as string) : isXNumber ? parseFloat(x as string) : x) : x,\n y: series.y[i],\n ...(Array.isArray(series.marker?.size)\n ? { markerSize: series.marker.size[i] }\n : typeof series.marker?.size === 'number'\n ? { markerSize: series.marker.size }\n : {}),\n })),\n color: lineColor,\n ...(lineOptions ? { lineOptions } : {}),\n } as LineChartPoints;\n });\n\n const yMinMaxValues = findNumericMinMaxOfY(chartData);\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n const chartProps: ChartProps = {\n chartTitle,\n lineChartData: chartData,\n };\n\n if (isAreaChart) {\n return {\n data: chartProps,\n supportNegativeData: true,\n xAxisTitle,\n yAxisTitle,\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n mode,\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n hideTickOverlap: true,\n useUTC: false,\n } as AreaChartProps;\n } else {\n return {\n data: chartProps,\n supportNegativeData: true,\n xAxisTitle,\n yAxisTitle,\n secondaryYAxistitle: secondaryYAxisValues.secondaryYAxistitle,\n secondaryYScaleOptions: secondaryYAxisValues.secondaryYScaleOptions,\n roundedTicks: true,\n yMinValue: yMinMaxValues.startValue,\n yMaxValue: yMinMaxValues.endValue,\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n hideTickOverlap: true,\n enableReflow: false,\n useUTC: false,\n } as LineChartProps;\n }\n};\n\nexport const transformPlotlyJsonToHorizontalBarWithAxisProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): HorizontalBarChartWithAxisProps => {\n const chartData: HorizontalBarChartWithAxisDataPoint[] = input.data\n .map((series: PlotData, index: number) => {\n return (series.y as Datum[]).map((yValue: string, i: number) => {\n const color = getColor(yValue, colorMap, isDarkTheme);\n return {\n x: series.x[i],\n y: yValue,\n legend: yValue,\n color,\n } as HorizontalBarChartWithAxisDataPoint;\n });\n })\n .flat()\n //reversing the order to invert the Y bars order as required by plotly.\n .reverse();\n\n const chartHeight: number = input.layout?.height ?? 450;\n const margin: number = input.layout?.margin?.l ?? 0;\n const padding: number = input.layout?.margin?.pad ?? 0;\n const availableHeight: number = chartHeight - margin - padding;\n const numberOfBars = input.data.reduce((total: number, item: PlotData) => {\n return total + (item.y?.length || 0);\n }, 0);\n const scalingFactor = 0.01;\n const gapFactor = 1 / (1 + scalingFactor * numberOfBars);\n const barHeight = availableHeight / (numberOfBars * (1 + gapFactor));\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: chartData,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n secondaryYAxistitle:\n typeof input.layout?.yaxis2?.title === 'string'\n ? input.layout?.yaxis2?.title\n : input.layout?.yaxis2?.title?.text || '',\n barHeight,\n showYAxisLables: true,\n height: chartHeight,\n width: input.layout?.width,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToHeatmapProps = (input: PlotlySchema): HeatMapChartProps => {\n const firstData = input.data[0] as Partial<PlotData>;\n const heatmapDataPoints: HeatMapChartDataPoint[] = [];\n let zMin = Number.POSITIVE_INFINITY;\n let zMax = Number.NEGATIVE_INFINITY;\n\n if (firstData.type === 'histogram2d') {\n const isXString = isStringArray(firstData.x);\n const isYString = isStringArray(firstData.y);\n const xBins = createBins(firstData.x, firstData.xbins?.start, firstData.xbins?.end, firstData.xbins?.size);\n const yBins = createBins(firstData.y, firstData.ybins?.start, firstData.ybins?.end, firstData.ybins?.size);\n const zBins: number[][][] = yBins.map(() => xBins.map(() => []));\n let total = 0;\n\n firstData.x?.forEach((xVal, index) => {\n const xBinIdx = findBinIndex(xBins, xVal as string | number | null, isXString);\n const yBinIdx = findBinIndex(yBins, firstData.y?.[index] as string | number | null | undefined, isYString);\n\n if (xBinIdx !== -1 && yBinIdx !== -1) {\n zBins[yBinIdx][xBinIdx].push((firstData.z?.[index] as number | null | undefined) ?? 1);\n }\n });\n\n const z = zBins.map(row => {\n return row.map(bin => {\n const zVal = calculateHistFunc(firstData.histfunc, bin);\n total += zVal;\n return zVal;\n });\n });\n\n xBins.forEach((xBin, xIdx) => {\n yBins.forEach((yBin, yIdx) => {\n const zVal = calculateHistNorm(\n firstData.histnorm,\n z[yIdx][xIdx],\n total,\n isXString ? xBin.length : getBinSize(xBin as Bin<number, number>),\n isYString ? yBin.length : getBinSize(yBin as Bin<number, number>),\n );\n\n heatmapDataPoints.push({\n x: isXString ? xBin.join(', ') : getBinCenter(xBin as Bin<number, number>),\n y: isYString ? yBin.join(', ') : getBinCenter(yBin as Bin<number, number>),\n value: zVal,\n rectText: zVal,\n });\n\n if (typeof zVal === 'number') {\n zMin = Math.min(zMin, zVal);\n zMax = Math.max(zMax, zVal);\n }\n });\n });\n } else {\n (firstData.x as Datum[])?.forEach((xVal, xIdx: number) => {\n firstData.y?.forEach((yVal: any, yIdx: number) => {\n const zVal = (firstData.z as number[][])?.[yIdx]?.[xIdx];\n\n heatmapDataPoints.push({\n x: input.layout?.xaxis?.type === 'date' ? (xVal as Date) : xVal ?? 0,\n y: input.layout?.yaxis?.type === 'date' ? (yVal as Date) : yVal,\n value: zVal,\n rectText: zVal,\n });\n\n if (typeof zVal === 'number') {\n zMin = Math.min(zMin, zVal);\n zMax = Math.max(zMax, zVal);\n }\n });\n });\n }\n\n const heatmapData: HeatMapChartData = {\n legend: firstData.name ?? '',\n data: heatmapDataPoints,\n value: 0,\n };\n\n // Initialize domain and range to default values\n const defaultDomain = [zMin, (zMax + zMin) / 2, zMax];\n const defaultRange = [\n getColorFromToken(DataVizPalette.color1),\n getColorFromToken(DataVizPalette.color2),\n getColorFromToken(DataVizPalette.color3),\n ];\n const domainValuesForColorScale: number[] = Array.isArray(firstData.colorscale)\n ? (firstData.colorscale as Array<[number, string]>).map(arr => arr[0] * (zMax - zMin) + zMin)\n : defaultDomain;\n\n const rangeValuesForColorScale: string[] = Array.isArray(firstData.colorscale)\n ? (firstData.colorscale as Array<[number, string]>).map(arr => arr[1])\n : defaultRange;\n\n const { chartTitle, xAxisTitle, yAxisTitle } = getTitles(input.layout);\n\n return {\n data: [heatmapData],\n domainValuesForColorScale,\n rangeValuesForColorScale,\n hideLegend: true,\n showYAxisLables: true,\n chartTitle,\n xAxisTitle,\n yAxisTitle,\n sortOrder: 'none',\n width: input.layout?.width,\n height: input.layout?.height ?? 350,\n hideTickOverlap: true,\n };\n};\n\nexport const transformPlotlyJsonToSankeyProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): SankeyChartProps => {\n const { link, node } = input.data[0] as SankeyData;\n const validLinks = (link?.value ?? [])\n .map((val: number, index: number) => ({\n value: val,\n source: link?.source![index],\n target: link?.target![index],\n }))\n // eslint-disable-next-line @typescript-eslint/no-shadow\n // Filter out negative nodes, unequal nodes and self-references (circular links)\n .filter(x => x.source >= 0 && x.target >= 0 && x.source !== x.target);\n\n const sankeyChartData = {\n nodes: node.label?.map((label: string, index: number) => {\n const color = getColor(label, colorMap, isDarkTheme);\n\n return {\n nodeId: index,\n name: label,\n color,\n };\n }),\n links: validLinks.map((validLink: any, index: number) => {\n return {\n ...validLink,\n };\n }),\n } as SankeyChartData;\n\n // const styles: SankeyChartProps['styles'] = {\n // root: {\n // ...(input.layout?.font?.size ? { fontSize: input.layout.font?.size } : {}),\n // },\n // };\n\n const { chartTitle } = getTitles(input.layout);\n\n return {\n data: {\n chartTitle,\n SankeyChartData: sankeyChartData,\n },\n width: input.layout?.width,\n height: input.layout?.height ?? 468,\n // TODO\n // styles,\n enableReflow: true,\n };\n};\n\nexport const transformPlotlyJsonToGaugeProps = (\n input: PlotlySchema,\n colorMap: React.MutableRefObject<Map<string, string>>,\n isDarkTheme?: boolean,\n): GaugeChartProps => {\n const firstData = input.data[0] as PlotData;\n\n const segments = firstData.gauge?.steps?.length\n ? firstData.gauge.steps.map((step: any, index: number): GaugeChartSegment => {\n const legend = step.name || `Segment ${index + 1}`;\n const color = getColor(legend, colorMap, isDarkTheme);\n return {\n legend,\n size: step.range?.[1] - step.range?.[0],\n color,\n };\n })\n : [\n {\n legend: 'Current',\n size: firstData.value ?? 0 - (firstData.gauge?.axis?.range?.[0] ?? 0),\n color: getColor('Current', colorMap, isDarkTheme),\n },\n {\n legend: 'Target',\n size: (firstData.gauge?.axis?.range?.[1] ?? 100) - (firstData.value ?? 0),\n color: DataVizPalette.disabled,\n },\n ];\n\n let sublabel: string | undefined;\n // let sublabelColor: string | undefined;\n if (firstData.delta?.reference) {\n const diff = firstData.value - firstData.delta.reference;\n if (diff >= 0) {\n sublabel = `\\u25B2 ${diff}`;\n // const color = getColorFromToken(DataVizPalette.success, isDarkTheme);\n // sublabelColor = color;\n } else {\n sublabel = `\\u25BC ${Math.abs(diff)}`;\n // const color = getColorFromToken(DataVizPalette.error, isDarkTheme);\n // sublabelColor = color;\n }\n }\n\n // const styles: GaugeChartProps['styles'] = {\n // sublabel: {\n // fill: sublabelColor,\n // },\n // };\n\n const { chartTitle } = getTitles(input.layout);\n\n return {\n segments,\n chartValue: firstData.value ?? 0,\n chartTitle,\n sublabel,\n // range values can be null\n minValue: typeof firstData.gauge?.axis?.range?.[0] === 'number' ? firstData.gauge?.axis?.range?.[0] : undefined,\n maxValue: typeof firstData.gauge?.axis?.range?.[1] === 'number' ? firstData.gauge?.axis?.range?.[1] : undefined,\n chartValueFormat: () => firstData.value?.toString() ?? '',\n // FIXME\n // width: input.layout?.width,\n // height: input.layout?.height ?? 220,\n // TODO\n // styles,\n variant: firstData.gauge?.steps?.length ? 'multiple-segments' : 'single-segment',\n };\n};\n\nfunction isPlainObject(obj: any) {\n return (\n Object.prototype.toString.call(obj) === '[object Object]' &&\n Object.getPrototypeOf(obj).hasOwnProperty('hasOwnProperty')\n );\n}\n\nvar arrayAttributes: any[] = [];\nvar stack: any[] = [];\nvar isArrayStack: any[] = [];\nvar baseContainer: any, baseAttrName: any;\n/**\n * Interate iteratively through the trace object and find all the array attributes.\n * 1 trace record = 1 series of data\n * @param trace\n */\nexport function findArrayAttributes(trace: any) {\n // Init basecontainer and baseAttrName\n crawlIntoTrace(baseContainer, 0, '');\n}\n\nfunction crawlIntoTrace(container: any, i: number, astrPartial: any) {\n var item = container[stack[i]];\n var newAstrPartial = astrPartial + stack[i];\n if (i === stack.length - 1) {\n if (isArrayOrTypedArray(item)) {\n arrayAttributes.push(baseAttrName + newAstrPartial);\n }\n } else {\n if (isArrayStack[i]) {\n if (Array.isArray(item)) {\n for (var j = 0; j < item.length; j++) {\n if (isPlainObject(item[j])) {\n crawlIntoTrace(item[j], i + 1, newAstrPartial + '[' + j + '].');\n }\n }\n }\n } else if (isPlainObject(item)) {\n crawlIntoTrace(item, i + 1, newAstrPartial + '.');\n }\n }\n}\n\nfunction getLineOptions(line: Partial<ScatterLine> | undefined): LineChartLineOptions | undefined {\n if (!line) {\n return;\n }\n\n let lineOptions: LineChartLineOptions = {};\n if (line.dash) {\n lineOptions = { ...lineOptions, ...dashOptions[line.dash] };\n }\n\n switch (line.shape) {\n case 'spline':\n const smoothing = typeof line.smoothing === 'number' ? line.smoothing : 1;\n lineOptions.curve = d3CurveCardinal.tension(1 - smoothing / 1.3);\n break;\n case 'hv':\n lineOptions.curve = 'stepAfter';\n break;\n case 'vh':\n lineOptions.curve = 'stepBefore';\n break;\n case 'hvh':\n lineOptions.curve = 'step';\n break;\n default:\n lineOptions.curve = 'linear';\n }\n\n return Object.keys(lineOptions).length > 0 ? lineOptions : undefined;\n}\n\nconst isStringArray = (arr: any) => {\n return isArrayOfType(arr, (value: any) => typeof value === 'string');\n};\n\n// TODO: Use binary search to find the appropriate bin for numeric value.\nconst findBinIndex = (\n bins: string[][] | Bin<number, number>[],\n value: string | number | null | undefined,\n isString: boolean,\n) => {\n if (typeof value === 'undefined' || value === null) {\n return -1;\n }\n\n return isString\n ? (bins as string[][]).findIndex(bin => bin.includes(value as string))\n : (bins as Bin<number, number>[]).findIndex(bin => (value as number) >= bin.x0! && (value as number) < bin.x1!);\n};\n\nconst getBinSize = (bin: Bin<number, number>) => {\n return bin.x1! - bin.x0!;\n};\n\nconst getBinCenter = (bin: Bin<number, number>) => {\n return (bin.x1! + bin.x0!) / 2;\n};\n\n// TODO: Add support for date axes\nconst createBins = (\n data: TypedArray | Datum[] | Datum[][] | undefined,\n binStart?: number | string,\n binEnd?: number | string,\n binSize?: number | string,\n) => {\n if (!data || data.length === 0) {\n return [];\n }\n\n if (isStringArray(data)) {\n const categories = Array.from(new Set(data as string[]));\n const start = typeof binStart === 'number' ? Math.ceil(binStart) : 0;\n const stop = typeof binEnd === 'number' ? Math.floor(binEnd) + 1 : categories.length;\n const step = typeof binSize === 'number' ? binSize : 1;\n\n return d3Range(start, stop, step).map(i => categories.slice(i, i + step));\n }\n\n const scale = d3ScaleLinear()\n .domain(d3Extent<number>(data as number[]) as [number, number])\n .nice();\n let [minVal, maxVal] = scale.domain();\n\n minVal = typeof binStart === 'number' ? binStart : minVal;\n maxVal = typeof binEnd === 'number' ? binEnd : maxVal;\n\n const binGenerator = d3Bin().domain([minVal, maxVal]);\n\n if (typeof binSize === 'number') {\n const thresholds: number[] = [];\n let th = minVal;\n const tolerance = 1 / Math.pow(10, binSize.toString().split('.')[1]?.length ?? 0);\n\n while (maxVal + binSize - th > tolerance) {\n thresholds.push(th);\n th += binSize;\n }\n\n minVal = thresholds[0];\n maxVal = thresholds[thresholds.length - 1];\n binGenerator.domain([minVal, maxVal]).thresholds(thresholds);\n }\n\n // NOTE: The last bin generated by d3Bin often has identical x0 and x1 values (both inclusive) and\n // can be ignored if the highest value is already included in the previous bin.\n return binGenerator(data as number[]);\n};\n\nconst calculateHistFunc = (histfunc: PlotData['histfunc'] | undefined, bin: number[]) => {\n switch (histfunc) {\n case 'sum':\n return d3Sum(bin);\n case 'avg':\n return bin.length === 0 ? 0 : d3Sum(bin) / bin.length;\n case 'min':\n return d3Min(bin) ?? 0;\n case 'max':\n return d3Max(bin) ?? 0;\n default:\n return bin.length;\n }\n};\n\nconst calculateHistNorm = (\n histnorm: PlotData['histnorm'] | undefined,\n value: number,\n total: number,\n dx: number,\n dy: number = 1,\n) => {\n switch (histnorm) {\n case 'percent':\n return total === 0 ? 0 : (value / total) * 100;\n case 'probability':\n return total === 0 ? 0 : value / total;\n case 'density':\n return dx * dy === 0 ? 0 : value / (dx * dy);\n case 'probability density':\n return total * dx * dy === 0 ? 0 : value / (total * dx * dy);\n default:\n return value;\n }\n};\n"],"names":["React","bin","d3Bin","extent","d3Extent","sum","d3Sum","min","d3Min","max","d3Max","range","d3Range","scaleLinear","d3ScaleLinear","DataVizPalette","getColorFromToken","getNextColor","findNumericMinMaxOfY","isArrayOfType","isArrayOrTypedArray","isDate","isDateArray","isNumberArray","isYearArray","curveCardinal","d3CurveCardinal","dashOptions","dot","strokeDasharray","strokeLinecap","strokeWidth","lineBorderWidth","dash","longdash","dashdot","longdashdot","solid","getLegend","series","index","name","getTitles","layout","titles","chartTitle","title","text","xAxisTitle","xaxis","yAxisTitle","yaxis","correctYearMonth","xValues","presentYear","Date","getFullYear","length","Array","isArray","Error","dates","map","possiblyMonthValue","parsedDate","i","currentMonth","getMonth","previousMonth","currentYear","previousYear","setFullYear","month","getColor","legendLabel","colorMap","isDarkTheme","current","has","nextColor","size","set","get","getSecondaryYAxisValues","secondaryYAxisValues","yaxis2","secondaryYAxistitle","secondaryYScaleOptions","yMinValue","yMaxValue","yValues","y","Math","undefined","Object","keys","transformPlotlyJsonToDonutProps","input","firstData","data","mapLegendToDataPoint","labels","forEach","label","color","value","values","legend","width","height","hideLabels","textinfo","includes","donutMarginHorizontal","donutMarginVertical","innerRadius","hole","chartData","hideLegend","showlegend","showLabelsInPercent","transformPlotlyJsonToVSBCProps","fallbackVSBC","mapXToDataPoints","index1","isXYearCategory","x","index2","xAxisPoint","toString","lineData","yVal","type","push","lineOptions","getLineOptions","line","barWidth","mode","hideTickOverlap","transformPlotlyJsonToGVBCProps","key","xAxisCalloutData","transformPlotlyJsonToVBCProps","vbcData","seriesIdx","isXString","isStringArray","xBins","createBins","xbins","start","end","yBins","total","xVal","binIdx","findBinIndex","calculateHistFunc","histfunc","calculateHistNorm","histnorm","getBinSize","join","getBinCenter","x0","x1","transformPlotlyJsonToScatterChartProps","isAreaChart","isString","isXDate","isXNumber","lineColor","fill","parseFloat","marker","markerSize","yMinMaxValues","chartProps","lineChartData","supportNegativeData","useUTC","roundedTicks","startValue","endValue","enableReflow","transformPlotlyJsonToHorizontalBarWithAxisProps","yValue","flat","reverse","chartHeight","margin","l","padding","pad","availableHeight","numberOfBars","reduce","item","scalingFactor","gapFactor","barHeight","showYAxisLables","transformPlotlyJsonToHeatmapProps","heatmapDataPoints","zMin","Number","POSITIVE_INFINITY","zMax","NEGATIVE_INFINITY","isYString","ybins","zBins","xBinIdx","yBinIdx","z","row","zVal","xBin","xIdx","yBin","yIdx","rectText","heatmapData","defaultDomain","defaultRange","color1","color2","color3","domainValuesForColorScale","colorscale","arr","rangeValuesForColorScale","sortOrder","transformPlotlyJsonToSankeyProps","node","link","validLinks","val","source","target","filter","sankeyChartData","nodes","nodeId","links","validLink","SankeyChartData","transformPlotlyJsonToGaugeProps","segments","gauge","steps","step","axis","disabled","sublabel","delta","reference","diff","abs","chartValue","minValue","maxValue","chartValueFormat","variant","isPlainObject","obj","prototype","call","getPrototypeOf","hasOwnProperty","arrayAttributes","stack","isArrayStack","baseContainer","baseAttrName","findArrayAttributes","trace","crawlIntoTrace","container","astrPartial","newAstrPartial","j","shape","smoothing","curve","tension","bins","findIndex","binStart","binEnd","binSize","categories","from","Set","ceil","stop","floor","slice","scale","domain","nice","minVal","maxVal","binGenerator","thresholds","th","tolerance","pow","split","dx","dy"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -20,8 +20,8 @@ const useStyles = /*#__PURE__*/__styles({
|
|
|
20
20
|
Bg96gwp: "f1i3iumi",
|
|
21
21
|
mc9l5x: "f22iagw",
|
|
22
22
|
Beiy3e4: "f1vx9l62",
|
|
23
|
-
a9b677: "
|
|
24
|
-
Bqenvij: "
|
|
23
|
+
a9b677: "fsr8r2d",
|
|
24
|
+
Bqenvij: "f50j5g9"
|
|
25
25
|
},
|
|
26
26
|
chart: {
|
|
27
27
|
B7ck84d: "f1e4lqlz",
|
|
@@ -35,7 +35,7 @@ const useStyles = /*#__PURE__*/__styles({
|
|
|
35
35
|
z8tnut: "fikn0iw"
|
|
36
36
|
}
|
|
37
37
|
}, {
|
|
38
|
-
d: [".fk6fouc{font-family:var(--fontFamilyBase);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".f22iagw{display:flex;}", ".f1vx9l62{flex-direction:column;}", ".
|
|
38
|
+
d: [".fk6fouc{font-family:var(--fontFamilyBase);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".f22iagw{display:flex;}", ".f1vx9l62{flex-direction:column;}", ".fsr8r2d{width:var(--root-width, 100%);}", ".f50j5g9{height:var(--root-height, 100%);}", ".f1e4lqlz{box-sizing:content-box;}", ".fzm18in{alignment-adjust:center;}", ".ftgm304{display:block;}", [".f1gl81tg{overflow:visible;}", {
|
|
39
39
|
p: -1
|
|
40
40
|
}], ".fikn0iw{padding-top:var(--spacingVerticalL);}"]
|
|
41
41
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__styles","mergeClasses","tokens","typographyStyles","donutClassNames","root","chart","legendContainer","chartWrapper","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","a9b677","Bqenvij","B7ck84d","ek0pe7","B68tc82","Bmxbyg5","Bpg54ce","z8tnut","d","p","useDonutChartStyles","props","_props_styles","_props_styles1","_props_styles2","className","baseStyles","styles"],"sources":["useDonutChartStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\n/**\n * @internal\n */ export const donutClassNames = {\n root: 'fui-donut__root',\n chart: 'fui-donut__chart',\n legendContainer: 'fui-donut__legendContainer',\n chartWrapper: 'fui-donut__chartWrapper'\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n root: {\n // alignItems: 'center',\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n height: '100%'\n },\n chart: {\n boxSizing: 'content-box',\n alignmentAdjust: 'center',\n display: 'block',\n overflow: 'visible'\n },\n legendContainer: {\n paddingTop: tokens.spacingVerticalL\n }\n});\n/**\n * Apply styling to the DonutChart component\n */ export const useDonutChartStyles = (props)=>{\n var _props_styles, _props_styles1, _props_styles2;\n const { className } = props;\n const baseStyles = useStyles();\n return {\n root: mergeClasses(donutClassNames.root, baseStyles.root, className, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),\n chart: mergeClasses(donutClassNames.chart, baseStyles.chart, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.chart),\n legendContainer: mergeClasses(donutClassNames.legendContainer, baseStyles.legendContainer, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.legendContainer),\n chartWrapper: donutClassNames.chartWrapper\n };\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AACzD,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE;AACA;AACA;AAAI,OAAO,MAAMC,eAAe,GAAG;EAC/BC,IAAI,EAAE,iBAAiB;EACvBC,KAAK,EAAE,kBAAkB;EACzBC,eAAe,EAAE,4BAA4B;EAC7CC,YAAY,EAAE;AAClB,CAAC;AACD;AACA;AACA;AAAI,MAAMC,SAAS,gBAAGT,QAAA;EAAAK,IAAA;IAAAK,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;EAAAX,KAAA;IAAAY,OAAA;IAAAC,MAAA;IAAAL,MAAA;IAAAM,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;EAAAf,eAAA;IAAAgB,MAAA;EAAA;AAAA;EAAAC,CAAA;IAAAC,CAAA;EAAA;AAAA,CAkBrB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,mBAAmB,GAAIC,KAAK,IAAG;EAC5C,IAAIC,aAAa,EAAEC,cAAc,EAAEC,cAAc;EACjD,MAAM;IAAEC;EAAU,CAAC,GAAGJ,KAAK;EAC3B,MAAMK,UAAU,GAAGvB,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHJ,IAAI,EAAEJ,YAAY,CAACG,eAAe,CAACC,IAAI,EAAE2B,UAAU,CAAC3B,IAAI,EAAE0B,SAAS,EAAE,CAACH,aAAa,GAAGD,KAAK,CAACM,MAAM,MAAM,IAAI,IAAIL,aAAa,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,aAAa,CAACvB,IAAI,CAAC;IACvKC,KAAK,EAAEL,YAAY,CAACG,eAAe,CAACE,KAAK,EAAE0B,UAAU,CAAC1B,KAAK,EAAE,CAACuB,cAAc,GAAGF,KAAK,CAACM,MAAM,MAAM,IAAI,IAAIJ,cAAc,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,cAAc,CAACvB,KAAK,CAAC;IACnKC,eAAe,EAAEN,YAAY,CAACG,eAAe,CAACG,eAAe,EAAEyB,UAAU,CAACzB,eAAe,EAAE,CAACuB,cAAc,GAAGH,KAAK,CAACM,MAAM,MAAM,IAAI,IAAIH,cAAc,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,cAAc,CAACvB,eAAe,CAAC;IAC3MC,YAAY,EAAEJ,eAAe,CAACI;EAClC,CAAC;AACL,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__styles","mergeClasses","tokens","typographyStyles","donutClassNames","root","chart","legendContainer","chartWrapper","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","a9b677","Bqenvij","B7ck84d","ek0pe7","B68tc82","Bmxbyg5","Bpg54ce","z8tnut","d","p","useDonutChartStyles","props","_props_styles","_props_styles1","_props_styles2","className","baseStyles","styles"],"sources":["useDonutChartStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\n/**\n * @internal\n */ export const donutClassNames = {\n root: 'fui-donut__root',\n chart: 'fui-donut__chart',\n legendContainer: 'fui-donut__legendContainer',\n chartWrapper: 'fui-donut__chartWrapper'\n};\n/**\n * Base Styles\n */ const useStyles = makeStyles({\n root: {\n // alignItems: 'center',\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n width: 'var(--root-width, 100%)',\n height: 'var(--root-height, 100%)'\n },\n chart: {\n boxSizing: 'content-box',\n alignmentAdjust: 'center',\n display: 'block',\n overflow: 'visible'\n },\n legendContainer: {\n paddingTop: tokens.spacingVerticalL\n }\n});\n/**\n * Apply styling to the DonutChart component\n */ export const useDonutChartStyles = (props)=>{\n var _props_styles, _props_styles1, _props_styles2;\n const { className } = props;\n const baseStyles = useStyles();\n return {\n root: mergeClasses(donutClassNames.root, baseStyles.root, className, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),\n chart: mergeClasses(donutClassNames.chart, baseStyles.chart, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.chart),\n legendContainer: mergeClasses(donutClassNames.legendContainer, baseStyles.legendContainer, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.legendContainer),\n chartWrapper: donutClassNames.chartWrapper\n };\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AACzD,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE;AACA;AACA;AAAI,OAAO,MAAMC,eAAe,GAAG;EAC/BC,IAAI,EAAE,iBAAiB;EACvBC,KAAK,EAAE,kBAAkB;EACzBC,eAAe,EAAE,4BAA4B;EAC7CC,YAAY,EAAE;AAClB,CAAC;AACD;AACA;AACA;AAAI,MAAMC,SAAS,gBAAGT,QAAA;EAAAK,IAAA;IAAAK,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;EAAAX,KAAA;IAAAY,OAAA;IAAAC,MAAA;IAAAL,MAAA;IAAAM,OAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;EAAAf,eAAA;IAAAgB,MAAA;EAAA;AAAA;EAAAC,CAAA;IAAAC,CAAA;EAAA;AAAA,CAkBrB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,mBAAmB,GAAIC,KAAK,IAAG;EAC5C,IAAIC,aAAa,EAAEC,cAAc,EAAEC,cAAc;EACjD,MAAM;IAAEC;EAAU,CAAC,GAAGJ,KAAK;EAC3B,MAAMK,UAAU,GAAGvB,SAAS,CAAC,CAAC;EAC9B,OAAO;IACHJ,IAAI,EAAEJ,YAAY,CAACG,eAAe,CAACC,IAAI,EAAE2B,UAAU,CAAC3B,IAAI,EAAE0B,SAAS,EAAE,CAACH,aAAa,GAAGD,KAAK,CAACM,MAAM,MAAM,IAAI,IAAIL,aAAa,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,aAAa,CAACvB,IAAI,CAAC;IACvKC,KAAK,EAAEL,YAAY,CAACG,eAAe,CAACE,KAAK,EAAE0B,UAAU,CAAC1B,KAAK,EAAE,CAACuB,cAAc,GAAGF,KAAK,CAACM,MAAM,MAAM,IAAI,IAAIJ,cAAc,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,cAAc,CAACvB,KAAK,CAAC;IACnKC,eAAe,EAAEN,YAAY,CAACG,eAAe,CAACG,eAAe,EAAEyB,UAAU,CAACzB,eAAe,EAAE,CAACuB,cAAc,GAAGH,KAAK,CAACM,MAAM,MAAM,IAAI,IAAIH,cAAc,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,cAAc,CAACvB,eAAe,CAAC;IAC3MC,YAAY,EAAEJ,eAAe,CAACI;EAClC,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -30,8 +30,8 @@ const useStyles = /*#__PURE__*/__styles({
|
|
|
30
30
|
mc9l5x: "f22iagw",
|
|
31
31
|
Beiy3e4: "f1vx9l62",
|
|
32
32
|
Bt984gj: "f122n59",
|
|
33
|
-
a9b677: "
|
|
34
|
-
Bqenvij: "
|
|
33
|
+
a9b677: "fsr8r2d",
|
|
34
|
+
Bqenvij: "f50j5g9"
|
|
35
35
|
},
|
|
36
36
|
chart: {
|
|
37
37
|
mc9l5x: "ftgm304"
|
|
@@ -145,9 +145,9 @@ const useStyles = /*#__PURE__*/__styles({
|
|
|
145
145
|
i8vvqc: "f10ci6s2"
|
|
146
146
|
}
|
|
147
147
|
}, {
|
|
148
|
-
d: [".fk6fouc{font-family:var(--fontFamilyBase);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".f22iagw{display:flex;}", ".f1vx9l62{flex-direction:column;}", ".f122n59{align-items:center;}", ".
|
|
148
|
+
d: [".fk6fouc{font-family:var(--fontFamilyBase);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".f22iagw{display:flex;}", ".f1vx9l62{flex-direction:column;}", ".f122n59{align-items:center;}", ".fsr8r2d{width:var(--root-width, 100%);}", ".f50j5g9{height:var(--root-height, 100%);}", ".ftgm304{display:block;}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".fl43uef{font-weight:var(--fontWeightSemibold);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".fhuob2q{fill:var(--colorNeutralForeground1);}", ".fhv2zbx{forced-color-adjust:auto;}", ".f1yuyku4{stroke:var(--colorNeutralBackground1);}", [".f13htf1t{outline:none;}", {
|
|
149
149
|
p: -1
|
|
150
|
-
}], ".f1v24fw0{stroke:var(--colorNeutralStroke1);}", ".f13qh94s{display:grid;}", [".f1a3p1vp{overflow:hidden;}", {
|
|
150
|
+
}], ".f1v24fw0{stroke:var(--colorNeutralStroke1);}", ".fly5x3f{width:100%;}", ".f1l02sjl{height:100%;}", ".f13qh94s{display:grid;}", [".f1a3p1vp{overflow:hidden;}", {
|
|
151
151
|
p: -1
|
|
152
152
|
}], ".fpqefah{padding-top:11px;}", ".f1gbmcue{padding-right:16px;}", ".f1rh9g5y{padding-left:16px;}", ".f1fow5ox{padding-bottom:10px;}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".fronft5{background-blend-mode:normal,luminosity;}", ".f1063pyq{flex-direction:row;}", ".f1869bpl{justify-content:space-between;}", ".f104wqfl{line-height:16px;}", ".fd43bvn{opacity:0.85;}", ".f7jvbu2{margin-top:13px;}", ".f19n0e5{color:var(--colorNeutralForeground1);}", ".f177v4lu{padding-left:8px;}", ".f19lj068{padding-right:8px;}", ".fdgv6k0{forced-color-adjust:none;}", ".f1phki43{margin-right:8px;}", ".ff9s3yw{margin-left:8px;}", ".fkfq4zb{color:var(--colorNeutralForeground2);}", ".f82itaf{line-height:22px;}", ".ffemd8d{margin-top:10px;}", ".f1809wu7{padding-top:10px;}", [".f10ci6s2{border-top:1px solid var(--colorNeutralStroke1);}", {
|
|
153
153
|
p: -1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["tokens","typographyStyles","__styles","mergeClasses","shorthands","gaugeChartClassNames","root","chart","limits","chartValue","sublabel","needle","chartTitle","segment","gradientSegment","calloutContentRoot","calloutDateTimeContainer","calloutContentX","calloutBlockContainer","shapeStyles","calloutlegendText","calloutContentY","descriptionMessage","calloutInfoContainer","legendsContainer","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","Bt984gj","a9b677","Bqenvij","Bkfmm31","Bvjb7m6","ojy3ng","Bw0xxkn","oeaueh","Bpd4iqm","Befb4lg","B68tc82","Bmxbyg5","Bpg54ce","z8tnut","z189sj","Byoj8tv","uwmqm3","De3pzq","jy2i9i","Brf1p80","abs64n","B6of3ja","sj55zd","t21cq0","g2u3we","icvyot","B4j52fo","i8vvqc","d","p","useGaugeChartStyles","props","_props_styles","_props_styles1","_props_styles2","_props_styles3","_props_styles4","_props_styles5","_props_styles6","_props_styles7","_props_styles8","_props_styles9","_props_styles10","_props_styles11","_props_styles12","_props_styles13","_props_styles14","_props_styles15","_props_styles16","baseStyles","styles"],"sources":["useGaugeChartStyles.styles.js"],"sourcesContent":["import { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nexport const gaugeChartClassNames = {\n root: 'fui-gc__root',\n chart: 'fui-gc__chart',\n limits: 'fui-gc__limits',\n chartValue: 'fui-gc__chartValue',\n sublabel: 'fui-gc__sublabel',\n needle: 'fui-gc__needle',\n chartTitle: 'fui-gc__chartTitle',\n segment: 'fui-gc__segment',\n gradientSegment: 'fui-gc__gradientSegment',\n calloutContentRoot: 'fui-gc__calloutContentRoot',\n calloutDateTimeContainer: 'fui-gc__calloutDateTimeContainer',\n calloutContentX: 'fui-gc__calloutContentX',\n calloutBlockContainer: 'fui-gc__calloutBlockContainer',\n shapeStyles: 'fui-gc__shapeStyles',\n calloutlegendText: 'fui-gc__calloutlegendText',\n calloutContentY: 'fui-gc__calloutContentY',\n descriptionMessage: 'fui-gc__descriptionMessage',\n calloutInfoContainer: '',\n legendsContainer: ''\n};\nconst useStyles = makeStyles({\n root: {\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100%',\n height: '100%'\n },\n chart: {\n display: 'block'\n },\n limits: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n },\n chartValue: {\n fontWeight: tokens.fontWeightSemibold,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n },\n sublabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1\n },\n needle: {\n fill: tokens.colorNeutralForeground1,\n stroke: tokens.colorNeutralBackground1\n },\n chartTitle: {\n ...typographyStyles.caption1,\n fill: tokens.colorNeutralForeground1\n },\n segment: {\n outline: 'none',\n stroke: tokens.colorNeutralStroke1\n },\n gradientSegment: {\n width: '100%',\n height: '100%'\n },\n calloutContentRoot: {\n display: 'grid',\n overflow: 'hidden',\n ...shorthands.padding('11px', '16px', '10px', '16px'),\n backgroundColor: tokens.colorNeutralBackground1,\n backgroundBlendMode: 'normal, luminosity'\n },\n calloutDateTimeContainer: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between'\n },\n calloutContentX: {\n ...typographyStyles.caption1,\n lineHeight: '16px',\n opacity: '0.85'\n },\n calloutBlockContainer: {\n ...typographyStyles.body1Strong,\n marginTop: '13px',\n color: tokens.colorNeutralForeground1,\n paddingLeft: '8px',\n display: 'block',\n forcedColorAdjust: 'none'\n },\n shapeStyles: {\n marginRight: '8px'\n },\n calloutlegendText: {\n ...typographyStyles.caption1,\n lineHeight: '16px',\n color: tokens.colorNeutralForeground2,\n forcedColorAdjust: 'auto'\n },\n calloutContentY: {\n ...typographyStyles.body1Strong,\n lineHeight: '22px',\n forcedColorAdjust: 'auto'\n },\n descriptionMessage: {\n ...typographyStyles.caption1,\n color: tokens.colorNeutralForeground1,\n marginTop: '10px',\n paddingTop: '10px',\n borderTop: `1px solid ${tokens.colorNeutralStroke1}`\n }\n});\nexport const useGaugeChartStyles = (props)=>{\n var _props_styles, _props_styles1, _props_styles2, _props_styles3, _props_styles4, _props_styles5, _props_styles6, _props_styles7, _props_styles8, _props_styles9, _props_styles10, _props_styles11, _props_styles12, _props_styles13, _props_styles14, _props_styles15, _props_styles16;\n const baseStyles = useStyles();\n return {\n root: mergeClasses(gaugeChartClassNames.root, baseStyles.root, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),\n chart: mergeClasses(gaugeChartClassNames.chart, baseStyles.chart, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.chart),\n limits: mergeClasses(gaugeChartClassNames.limits, baseStyles.limits, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.limits),\n chartValue: mergeClasses(gaugeChartClassNames.chartValue, baseStyles.chartValue, (_props_styles3 = props.styles) === null || _props_styles3 === void 0 ? void 0 : _props_styles3.chartValue),\n sublabel: mergeClasses(gaugeChartClassNames.sublabel, baseStyles.sublabel, (_props_styles4 = props.styles) === null || _props_styles4 === void 0 ? void 0 : _props_styles4.sublabel),\n needle: mergeClasses(gaugeChartClassNames.needle, baseStyles.needle, (_props_styles5 = props.styles) === null || _props_styles5 === void 0 ? void 0 : _props_styles5.needle),\n chartTitle: mergeClasses(gaugeChartClassNames.chartTitle, baseStyles.chartTitle, (_props_styles6 = props.styles) === null || _props_styles6 === void 0 ? void 0 : _props_styles6.chartTitle),\n segment: mergeClasses(gaugeChartClassNames.segment, baseStyles.segment, (_props_styles7 = props.styles) === null || _props_styles7 === void 0 ? void 0 : _props_styles7.segment),\n gradientSegment: mergeClasses(gaugeChartClassNames.gradientSegment, baseStyles.gradientSegment, (_props_styles8 = props.styles) === null || _props_styles8 === void 0 ? void 0 : _props_styles8.gradientSegment),\n calloutContentRoot: mergeClasses(gaugeChartClassNames.calloutContentRoot, baseStyles.calloutContentRoot, (_props_styles9 = props.styles) === null || _props_styles9 === void 0 ? void 0 : _props_styles9.calloutContentRoot),\n calloutDateTimeContainer: mergeClasses(gaugeChartClassNames.calloutDateTimeContainer, baseStyles.calloutDateTimeContainer, (_props_styles10 = props.styles) === null || _props_styles10 === void 0 ? void 0 : _props_styles10.calloutDateTimeContainer),\n calloutContentX: mergeClasses(gaugeChartClassNames.calloutContentX, baseStyles.calloutContentX, (_props_styles11 = props.styles) === null || _props_styles11 === void 0 ? void 0 : _props_styles11.calloutContentX),\n calloutBlockContainer: mergeClasses(gaugeChartClassNames.calloutBlockContainer, baseStyles.calloutBlockContainer, (_props_styles12 = props.styles) === null || _props_styles12 === void 0 ? void 0 : _props_styles12.calloutBlockContainer),\n shapeStyles: mergeClasses(gaugeChartClassNames.shapeStyles, baseStyles.shapeStyles, (_props_styles13 = props.styles) === null || _props_styles13 === void 0 ? void 0 : _props_styles13.shapeStyles),\n calloutlegendText: mergeClasses(gaugeChartClassNames.calloutlegendText, baseStyles.calloutlegendText, (_props_styles14 = props.styles) === null || _props_styles14 === void 0 ? void 0 : _props_styles14.calloutlegendText),\n calloutContentY: mergeClasses(gaugeChartClassNames.calloutContentY, baseStyles.calloutContentY, (_props_styles15 = props.styles) === null || _props_styles15 === void 0 ? void 0 : _props_styles15.calloutContentY),\n descriptionMessage: mergeClasses(gaugeChartClassNames.descriptionMessage, baseStyles.descriptionMessage, (_props_styles16 = props.styles) === null || _props_styles16 === void 0 ? void 0 : _props_styles16.descriptionMessage)\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["tokens","typographyStyles","__styles","mergeClasses","shorthands","gaugeChartClassNames","root","chart","limits","chartValue","sublabel","needle","chartTitle","segment","gradientSegment","calloutContentRoot","calloutDateTimeContainer","calloutContentX","calloutBlockContainer","shapeStyles","calloutlegendText","calloutContentY","descriptionMessage","calloutInfoContainer","legendsContainer","useStyles","Bahqtrf","Be2twd7","Bhrd7zp","Bg96gwp","mc9l5x","Beiy3e4","Bt984gj","a9b677","Bqenvij","Bkfmm31","Bvjb7m6","ojy3ng","Bw0xxkn","oeaueh","Bpd4iqm","Befb4lg","B68tc82","Bmxbyg5","Bpg54ce","z8tnut","z189sj","Byoj8tv","uwmqm3","De3pzq","jy2i9i","Brf1p80","abs64n","B6of3ja","sj55zd","t21cq0","g2u3we","icvyot","B4j52fo","i8vvqc","d","p","useGaugeChartStyles","props","_props_styles","_props_styles1","_props_styles2","_props_styles3","_props_styles4","_props_styles5","_props_styles6","_props_styles7","_props_styles8","_props_styles9","_props_styles10","_props_styles11","_props_styles12","_props_styles13","_props_styles14","_props_styles15","_props_styles16","baseStyles","styles"],"sources":["useGaugeChartStyles.styles.js"],"sourcesContent":["import { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nexport const gaugeChartClassNames = {\n root: 'fui-gc__root',\n chart: 'fui-gc__chart',\n limits: 'fui-gc__limits',\n chartValue: 'fui-gc__chartValue',\n sublabel: 'fui-gc__sublabel',\n needle: 'fui-gc__needle',\n chartTitle: 'fui-gc__chartTitle',\n segment: 'fui-gc__segment',\n gradientSegment: 'fui-gc__gradientSegment',\n calloutContentRoot: 'fui-gc__calloutContentRoot',\n calloutDateTimeContainer: 'fui-gc__calloutDateTimeContainer',\n calloutContentX: 'fui-gc__calloutContentX',\n calloutBlockContainer: 'fui-gc__calloutBlockContainer',\n shapeStyles: 'fui-gc__shapeStyles',\n calloutlegendText: 'fui-gc__calloutlegendText',\n calloutContentY: 'fui-gc__calloutContentY',\n descriptionMessage: 'fui-gc__descriptionMessage',\n calloutInfoContainer: '',\n legendsContainer: ''\n};\nconst useStyles = makeStyles({\n root: {\n ...typographyStyles.body1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: 'var(--root-width, 100%)',\n height: 'var(--root-height, 100%)'\n },\n chart: {\n display: 'block'\n },\n limits: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n },\n chartValue: {\n fontWeight: tokens.fontWeightSemibold,\n fill: tokens.colorNeutralForeground1,\n forcedColorAdjust: 'auto'\n },\n sublabel: {\n ...typographyStyles.caption1Strong,\n fill: tokens.colorNeutralForeground1\n },\n needle: {\n fill: tokens.colorNeutralForeground1,\n stroke: tokens.colorNeutralBackground1\n },\n chartTitle: {\n ...typographyStyles.caption1,\n fill: tokens.colorNeutralForeground1\n },\n segment: {\n outline: 'none',\n stroke: tokens.colorNeutralStroke1\n },\n gradientSegment: {\n width: '100%',\n height: '100%'\n },\n calloutContentRoot: {\n display: 'grid',\n overflow: 'hidden',\n ...shorthands.padding('11px', '16px', '10px', '16px'),\n backgroundColor: tokens.colorNeutralBackground1,\n backgroundBlendMode: 'normal, luminosity'\n },\n calloutDateTimeContainer: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between'\n },\n calloutContentX: {\n ...typographyStyles.caption1,\n lineHeight: '16px',\n opacity: '0.85'\n },\n calloutBlockContainer: {\n ...typographyStyles.body1Strong,\n marginTop: '13px',\n color: tokens.colorNeutralForeground1,\n paddingLeft: '8px',\n display: 'block',\n forcedColorAdjust: 'none'\n },\n shapeStyles: {\n marginRight: '8px'\n },\n calloutlegendText: {\n ...typographyStyles.caption1,\n lineHeight: '16px',\n color: tokens.colorNeutralForeground2,\n forcedColorAdjust: 'auto'\n },\n calloutContentY: {\n ...typographyStyles.body1Strong,\n lineHeight: '22px',\n forcedColorAdjust: 'auto'\n },\n descriptionMessage: {\n ...typographyStyles.caption1,\n color: tokens.colorNeutralForeground1,\n marginTop: '10px',\n paddingTop: '10px',\n borderTop: `1px solid ${tokens.colorNeutralStroke1}`\n }\n});\nexport const useGaugeChartStyles = (props)=>{\n var _props_styles, _props_styles1, _props_styles2, _props_styles3, _props_styles4, _props_styles5, _props_styles6, _props_styles7, _props_styles8, _props_styles9, _props_styles10, _props_styles11, _props_styles12, _props_styles13, _props_styles14, _props_styles15, _props_styles16;\n const baseStyles = useStyles();\n return {\n root: mergeClasses(gaugeChartClassNames.root, baseStyles.root, (_props_styles = props.styles) === null || _props_styles === void 0 ? void 0 : _props_styles.root),\n chart: mergeClasses(gaugeChartClassNames.chart, baseStyles.chart, (_props_styles1 = props.styles) === null || _props_styles1 === void 0 ? void 0 : _props_styles1.chart),\n limits: mergeClasses(gaugeChartClassNames.limits, baseStyles.limits, (_props_styles2 = props.styles) === null || _props_styles2 === void 0 ? void 0 : _props_styles2.limits),\n chartValue: mergeClasses(gaugeChartClassNames.chartValue, baseStyles.chartValue, (_props_styles3 = props.styles) === null || _props_styles3 === void 0 ? void 0 : _props_styles3.chartValue),\n sublabel: mergeClasses(gaugeChartClassNames.sublabel, baseStyles.sublabel, (_props_styles4 = props.styles) === null || _props_styles4 === void 0 ? void 0 : _props_styles4.sublabel),\n needle: mergeClasses(gaugeChartClassNames.needle, baseStyles.needle, (_props_styles5 = props.styles) === null || _props_styles5 === void 0 ? void 0 : _props_styles5.needle),\n chartTitle: mergeClasses(gaugeChartClassNames.chartTitle, baseStyles.chartTitle, (_props_styles6 = props.styles) === null || _props_styles6 === void 0 ? void 0 : _props_styles6.chartTitle),\n segment: mergeClasses(gaugeChartClassNames.segment, baseStyles.segment, (_props_styles7 = props.styles) === null || _props_styles7 === void 0 ? void 0 : _props_styles7.segment),\n gradientSegment: mergeClasses(gaugeChartClassNames.gradientSegment, baseStyles.gradientSegment, (_props_styles8 = props.styles) === null || _props_styles8 === void 0 ? void 0 : _props_styles8.gradientSegment),\n calloutContentRoot: mergeClasses(gaugeChartClassNames.calloutContentRoot, baseStyles.calloutContentRoot, (_props_styles9 = props.styles) === null || _props_styles9 === void 0 ? void 0 : _props_styles9.calloutContentRoot),\n calloutDateTimeContainer: mergeClasses(gaugeChartClassNames.calloutDateTimeContainer, baseStyles.calloutDateTimeContainer, (_props_styles10 = props.styles) === null || _props_styles10 === void 0 ? void 0 : _props_styles10.calloutDateTimeContainer),\n calloutContentX: mergeClasses(gaugeChartClassNames.calloutContentX, baseStyles.calloutContentX, (_props_styles11 = props.styles) === null || _props_styles11 === void 0 ? void 0 : _props_styles11.calloutContentX),\n calloutBlockContainer: mergeClasses(gaugeChartClassNames.calloutBlockContainer, baseStyles.calloutBlockContainer, (_props_styles12 = props.styles) === null || _props_styles12 === void 0 ? void 0 : _props_styles12.calloutBlockContainer),\n shapeStyles: mergeClasses(gaugeChartClassNames.shapeStyles, baseStyles.shapeStyles, (_props_styles13 = props.styles) === null || _props_styles13 === void 0 ? void 0 : _props_styles13.shapeStyles),\n calloutlegendText: mergeClasses(gaugeChartClassNames.calloutlegendText, baseStyles.calloutlegendText, (_props_styles14 = props.styles) === null || _props_styles14 === void 0 ? void 0 : _props_styles14.calloutlegendText),\n calloutContentY: mergeClasses(gaugeChartClassNames.calloutContentY, baseStyles.calloutContentY, (_props_styles15 = props.styles) === null || _props_styles15 === void 0 ? void 0 : _props_styles15.calloutContentY),\n descriptionMessage: mergeClasses(gaugeChartClassNames.descriptionMessage, baseStyles.descriptionMessage, (_props_styles16 = props.styles) === null || _props_styles16 === void 0 ? void 0 : _props_styles16.descriptionMessage)\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -332,7 +332,7 @@ export const GroupedVerticalBarChart = /*#__PURE__*/ React.forwardRef((props = {
|
|
|
332
332
|
textAnchor: "middle",
|
|
333
333
|
className: classes.barLabel,
|
|
334
334
|
"aria-hidden": true
|
|
335
|
-
}, formatScientificLimitWidth(pointData.data)));
|
|
335
|
+
}, typeof props.yAxisTickFormat === 'function' ? props.yAxisTickFormat(pointData.data) : formatScientificLimitWidth(pointData.data)));
|
|
336
336
|
}
|
|
337
337
|
});
|
|
338
338
|
// Used to display tooltip at x axis labels.
|