@fluentui/react-charting 5.7.6 → 5.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/CHANGELOG.json +28 -1
  2. package/CHANGELOG.md +13 -2
  3. package/dist/react-charting.js +1 -1
  4. package/dist/react-charting.min.js +1 -1
  5. package/lib/components/AreaChart/AreaChart.base.js +4 -3
  6. package/lib/components/AreaChart/AreaChart.base.js.map +1 -1
  7. package/lib/components/DonutChart/Arc/Arc.styles.js +7 -1
  8. package/lib/components/DonutChart/Arc/Arc.styles.js.map +1 -1
  9. package/lib/components/Legends/Legends.base.js +7 -6
  10. package/lib/components/Legends/Legends.base.js.map +1 -1
  11. package/lib/version.js +1 -1
  12. package/lib/version.js.map +1 -1
  13. package/lib-amd/components/AreaChart/AreaChart.base.js +4 -3
  14. package/lib-amd/components/AreaChart/AreaChart.base.js.map +1 -1
  15. package/lib-amd/components/DonutChart/Arc/Arc.styles.js +6 -0
  16. package/lib-amd/components/DonutChart/Arc/Arc.styles.js.map +1 -1
  17. package/lib-amd/components/Legends/Legends.base.js +7 -6
  18. package/lib-amd/components/Legends/Legends.base.js.map +1 -1
  19. package/lib-amd/version.js +1 -1
  20. package/lib-amd/version.js.map +1 -1
  21. package/lib-commonjs/components/AreaChart/AreaChart.base.js +4 -3
  22. package/lib-commonjs/components/AreaChart/AreaChart.base.js.map +1 -1
  23. package/lib-commonjs/components/DonutChart/Arc/Arc.styles.js +6 -0
  24. package/lib-commonjs/components/DonutChart/Arc/Arc.styles.js.map +1 -1
  25. package/lib-commonjs/components/Legends/Legends.base.js +7 -6
  26. package/lib-commonjs/components/Legends/Legends.base.js.map +1 -1
  27. package/lib-commonjs/version.js +1 -1
  28. package/lib-commonjs/version.js.map +1 -1
  29. package/package.json +3 -3
@@ -301,6 +301,7 @@ var AreaChartBase = /** @class */ (function (_super) {
301
301
  React.createElement("path", __assign({ id: index + "-line-" + _this._uniqueIdForGraph, d: line(singleStackedData), fill: 'transparent', strokeWidth: 3, stroke: _this._colors[index], opacity: _this._getLineOpacity(points[index].legend), onMouseMove: _this._onRectMouseMove, onMouseOut: _this._onRectMouseOut, onMouseOver: _this._onRectMouseMove }, points[index].lineOptions)),
302
302
  React.createElement("path", { id: index + "-graph-" + _this._uniqueIdForGraph, d: area(singleStackedData), fill: _this._colors[index], opacity: _this._opacity[index], fillOpacity: _this._getOpacity(points[index].legend), onMouseMove: _this._onRectMouseMove, onMouseOut: _this._onRectMouseOut, onMouseOver: _this._onRectMouseMove })));
303
303
  });
304
+ var circleRadius = pointOptions && pointOptions.r ? Number(pointOptions.r) : 8;
304
305
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
305
306
  _this._stackedData.forEach(function (singleStackedData, index) {
306
307
  if (points.length === index) {
@@ -310,7 +311,7 @@ var AreaChartBase = /** @class */ (function (_super) {
310
311
  var circleId = _this._circleId + "_" + (index * _this._stackedData[0].length + pointIndex);
311
312
  var xDataPoint = singlePoint.xVal instanceof Date ? singlePoint.xVal.getTime() : singlePoint.xVal;
312
313
  lineColor = points[index].color;
313
- return (React.createElement("circle", __assign({ key: circleId, id: circleId, "data-is-focusable": true, cx: xScale(singlePoint.xVal), cy: yScale(singlePoint.values[1]), r: _this._getCircleRadius(xDataPoint), stroke: lineColor, strokeWidth: 3, visibility: _this.state.nearestCircleToHighlight ? 'visibility' : 'hidden', fill: _this._updateCircleFillColor(xDataPoint, lineColor), onMouseOut: _this._onRectMouseOut, onMouseOver: _this._onRectMouseMove, onClick: _this._onDataPointClick.bind(_this, points[index].data[pointIndex].onDataPointClick) }, pointOptions)));
314
+ return (React.createElement("circle", __assign({ key: circleId, id: circleId, "data-is-focusable": true, cx: xScale(singlePoint.xVal), cy: yScale(singlePoint.values[1]), stroke: lineColor, strokeWidth: 3, visibility: _this.state.nearestCircleToHighlight ? 'visibility' : 'hidden', fill: _this._updateCircleFillColor(xDataPoint, lineColor), onMouseOut: _this._onRectMouseOut, onMouseOver: _this._onRectMouseMove, onClick: _this._onDataPointClick.bind(_this, points[index].data[pointIndex].onDataPointClick) }, pointOptions, { r: _this._getCircleRadius(xDataPoint, circleRadius) })));
314
315
  })));
315
316
  });
316
317
  graph.push(React.createElement("line", __assign({ id: _this._verticalLineId, key: _this._verticalLineId, x1: _this.state.lineXValue, y1: 0, x2: _this.state.lineXValue, y2: containerHeight, strokeWidth: 1, strokeDasharray: 5.5, stroke: lineColor, opacity: 0.5, visibility: _this.state.displayOfLine }, pointLineOptions)));
@@ -342,13 +343,13 @@ var AreaChartBase = /** @class */ (function (_super) {
342
343
  }
343
344
  return graph;
344
345
  };
345
- _this._getCircleRadius = function (xDataPoint) {
346
+ _this._getCircleRadius = function (xDataPoint, circleRadius) {
346
347
  var _a = _this.state, isCircleClicked = _a.isCircleClicked, nearestCircleToHighlight = _a.nearestCircleToHighlight;
347
348
  if (isCircleClicked && nearestCircleToHighlight === xDataPoint) {
348
349
  return 1;
349
350
  }
350
351
  else if (nearestCircleToHighlight === xDataPoint) {
351
- return 8;
352
+ return circleRadius;
352
353
  }
353
354
  else {
354
355
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"AreaChart.base.js","sourceRoot":"../src/","sources":["components/AreaChart/AreaChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { max as d3Max, bisector } from 'd3-array';\nimport { clientPoint } from 'd3-selection';\nimport { select as d3Select } from 'd3-selection';\nimport { area as d3Area, stack as d3Stack, curveMonotoneX as d3CurveBasis, line as d3Line } from 'd3-shape';\nimport { IPalette } from '@fluentui/react/lib/Styling';\nimport { classNamesFunction, find, getId, memoizeFunction } from '@fluentui/react/lib/Utilities';\nimport {\n IAccessibilityProps,\n CartesianChart,\n IChartProps,\n ICustomizedCalloutData,\n IAreaChartProps,\n IBasestate,\n ILineChartDataPoint,\n ILineChartPoints,\n IChildProps,\n IMargins,\n IAreaChartStyleProps,\n IAreaChartStyles,\n} from '../../index';\nimport { warnDeprecations } from '@fluentui/react/lib/Utilities';\nimport {\n calloutData,\n getXAxisType,\n ChartTypes,\n XAxisTypes,\n getTypeOfAxis,\n tooltipOfXAxislabels,\n} from '../../utilities/index';\nimport { ILegend, Legends } from '../Legends/index';\nimport { DirectionalHint } from '@fluentui/react/lib/Callout';\n\nconst getClassNames = classNamesFunction<IAreaChartStyleProps, IAreaChartStyles>();\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst bisect = bisector((d: any) => d.x).left;\n\nconst COMPONENT_NAME = 'AREA CHART';\n\nenum InterceptVisibility {\n show = 'visibility',\n hide = 'hidden',\n}\n\nexport interface IAreaChartAreaPoint {\n xVal: string | number;\n values: IAreaChartDataSetPoint;\n}\nexport interface IAreaChartDataSetPoint {\n [key: string]: number | string;\n}\nexport interface IDPointType {\n values: { 0: number; 1: number; data: {} };\n xVal: number | Date;\n}\n\nexport interface IAreaChartState extends IBasestate {\n lineXValue: number;\n displayOfLine: InterceptVisibility;\n isCircleClicked: boolean;\n dataPointCalloutProps?: ICustomizedCalloutData;\n stackCalloutProps?: ICustomizedCalloutData;\n nearestCircleToHighlight: number | string | Date | null;\n xAxisCalloutAccessibilityData?: IAccessibilityProps;\n}\n\nexport class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartState> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _calloutPoints: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _createSet: (\n data: IChartProps,\n ) => {\n colors: string[];\n opacity: number[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n stackedInfo: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n calloutPoints: any;\n };\n private _colors: string[];\n private _opacity: number[];\n private _uniqueIdForGraph: string;\n private _verticalLineId: string;\n private _circleId: string;\n private _uniqueCallOutID: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _stackedData: any;\n private _chart: JSX.Element[];\n private margins: IMargins;\n private _rectId: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _xAxisRectScale: any;\n // determines if the given area chart has multiple stacked bar charts\n private _isMultiStackChart: boolean;\n private _tooltipId: string;\n\n public constructor(props: IAreaChartProps) {\n super(props);\n this._createSet = memoizeFunction((data: IChartProps) => this._createDataSet(data.lineChartData!));\n this.state = {\n activeLegend: '',\n hoverXValue: '',\n isCalloutVisible: false,\n isLegendSelected: false,\n isLegendHovered: false,\n refSelected: null,\n YValueHover: [],\n lineXValue: 0,\n displayOfLine: InterceptVisibility.hide,\n isCircleClicked: false,\n nearestCircleToHighlight: null,\n };\n warnDeprecations(COMPONENT_NAME, props, {\n showYAxisGridLines: 'Dont use this property. Lines are drawn by default',\n });\n this._uniqueIdForGraph = getId('areaChart_');\n this._verticalLineId = getId('verticalLine_');\n this._circleId = getId('circle');\n this._rectId = getId('rectangle');\n this._tooltipId = getId('AreaChartTooltipID');\n }\n\n public render(): JSX.Element {\n const { lineChartData, chartTitle } = this.props.data;\n const { colors, opacity, stackedInfo, calloutPoints } = this._createSet(this.props.data);\n this._calloutPoints = calloutPoints;\n const isXAxisDateType = getXAxisType(lineChartData!);\n this._colors = colors;\n this._opacity = opacity;\n this._stackedData = stackedInfo.stackedData;\n const legends: JSX.Element = this._getLegendData(this.props.theme!.palette, lineChartData!);\n\n const tickParams = {\n tickValues: this.props.tickValues,\n tickFormat: this.props.tickFormat,\n };\n\n const calloutProps = {\n target: this.state.refSelected,\n isCalloutVisible: this.state.isCalloutVisible,\n directionalHint: DirectionalHint.topRightEdge,\n YValueHover: this.state.YValueHover,\n hoverXValue: this.state.hoverXValue,\n id: `toolTip${this._uniqueCallOutID}`,\n gapSpace: 15,\n isBeakVisible: false,\n setInitialFocus: true,\n onDismiss: this._closeCallout,\n 'data-is-focusable': true,\n xAxisCalloutAccessibilityData: this.state.xAxisCalloutAccessibilityData,\n ...this.props.calloutProps,\n };\n return (\n <CartesianChart\n {...this.props}\n chartTitle={chartTitle}\n points={lineChartData!}\n chartType={ChartTypes.AreaChart}\n calloutProps={calloutProps}\n legendBars={legends}\n isCalloutForStack\n xAxisType={isXAxisDateType ? XAxisTypes.DateAxis : XAxisTypes.NumericAxis}\n tickParams={tickParams}\n maxOfYVal={stackedInfo.maxOfYVal}\n getGraphData={this._getGraphData}\n getmargins={this._getMargins}\n customizedCallout={this._getCustomizedCallout()}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children={(props: IChildProps) => {\n this._xAxisRectScale = props.xScale;\n const ticks = this._xAxisRectScale.ticks();\n const width1 = this._xAxisRectScale(ticks[ticks.length - 1]);\n const rectHeight = props.containerHeight! - this.margins.top!;\n return (\n <>\n <g>\n <rect\n id={this._rectId}\n width={width1}\n height={rectHeight}\n fill={'transparent'}\n onMouseMove={this._onRectMouseMove}\n onMouseOut={this._onRectMouseOut}\n onMouseOver={this._onRectMouseMove}\n />\n </g>\n <g>{this._chart}</g>\n </>\n );\n }}\n />\n );\n }\n\n private _getMargins = (margins: IMargins) => {\n this.margins = margins;\n };\n\n private _onRectMouseMove = (mouseEvent: React.MouseEvent<SVGRectElement | SVGPathElement | SVGCircleElement>) => {\n mouseEvent.persist();\n const { data } = this.props;\n const { lineChartData } = data;\n // This will get the value of the X when mouse is on the chart\n const xOffset = this._xAxisRectScale.invert(clientPoint(document.getElementById(this._rectId)!, mouseEvent)[0]);\n const i = bisect(lineChartData![0].data, xOffset);\n const d0 = lineChartData![0].data[i - 1] as ILineChartDataPoint;\n const d1 = lineChartData![0].data[i] as ILineChartDataPoint;\n let axisType: XAxisTypes | null = null;\n let pointToHighlight: string | Date | number | null = null;\n let index: null | number = null;\n if (d0 === undefined && d1 !== undefined) {\n pointToHighlight = d1.x;\n index = i;\n } else if (d0 !== undefined && d1 === undefined) {\n pointToHighlight = d0.x;\n index = i - 1;\n } else {\n axisType = getTypeOfAxis(lineChartData![0].data[0].x, true) as XAxisTypes;\n let x0;\n let point0;\n let point1;\n switch (axisType) {\n case XAxisTypes.DateAxis:\n x0 = new Date(xOffset).getTime();\n point0 = (d0.x as Date).getTime();\n point1 = (d1.x as Date).getTime();\n pointToHighlight = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? d1.x : d0.x;\n index = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? i : i - 1;\n break;\n case XAxisTypes.NumericAxis:\n x0 = xOffset as number;\n point0 = d0.x as number;\n point1 = d1.x as number;\n pointToHighlight = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? d1.x : d0.x;\n index = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? i : i - 1;\n break;\n default:\n break;\n }\n }\n\n const { xAxisCalloutData, xAxisCalloutAccessibilityData } = lineChartData![0].data[index as number];\n const formattedDate = pointToHighlight instanceof Date ? pointToHighlight.toLocaleString() : pointToHighlight;\n const modifiedXVal = pointToHighlight instanceof Date ? pointToHighlight.getTime() : pointToHighlight;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const found: any = find(this._calloutPoints, (element: { x: string | number }) => {\n return element.x === modifiedXVal;\n });\n const nearestCircleToHighlight =\n axisType === XAxisTypes.DateAxis ? (pointToHighlight as Date).getTime() : pointToHighlight;\n // if no points need to be called out then don't show vertical line and callout card\n if (found) {\n this.setState({\n refSelected: mouseEvent,\n isCalloutVisible: true,\n nearestCircleToHighlight: nearestCircleToHighlight,\n lineXValue: this._xAxisRectScale(pointToHighlight),\n displayOfLine: InterceptVisibility.show,\n isCircleClicked: false,\n stackCalloutProps: found!,\n YValueHover: found.values,\n dataPointCalloutProps: found!,\n hoverXValue: xAxisCalloutData ? xAxisCalloutData : formattedDate,\n xAxisCalloutAccessibilityData,\n });\n } else {\n this.setState({\n isCalloutVisible: false,\n nearestCircleToHighlight: nearestCircleToHighlight,\n displayOfLine: InterceptVisibility.hide,\n isCircleClicked: false,\n });\n }\n };\n /**\n * just cleaning up the state which we have set in the mouse move event\n */\n private _onRectMouseOut = () => {\n this.setState({\n refSelected: null,\n isCalloutVisible: false,\n nearestCircleToHighlight: null,\n lineXValue: 0,\n displayOfLine: InterceptVisibility.hide,\n isCircleClicked: false,\n stackCalloutProps: undefined,\n dataPointCalloutProps: undefined,\n hoverXValue: undefined,\n YValueHover: [],\n });\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _getStackedData = (keys: string[], dataSet: any) => {\n const stackedValues = d3Stack().keys(keys)(dataSet);\n const maxOfYVal = d3Max(stackedValues[stackedValues.length - 1], dp => dp[1])!;\n const stackedData: Array<IAreaChartDataSetPoint[]> = [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n stackedValues.forEach((layer: any) => {\n const currentStack: IAreaChartDataSetPoint[] = [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n layer.forEach((d: any) => {\n currentStack.push({\n values: d,\n xVal: d.data.xVal,\n });\n });\n stackedData.push(currentStack);\n });\n this._isMultiStackChart = stackedData && stackedData.length > 1 ? true : false;\n return {\n stackedData,\n maxOfYVal,\n };\n };\n\n private _createDataSet = (points: ILineChartPoints[]) => {\n const allChartPoints: ILineChartDataPoint[] = [];\n const dataSet: IAreaChartDataSetPoint[] = [];\n const colors: string[] = [];\n const opacity: number[] = [];\n const calloutPoints = calloutData(points!);\n\n points &&\n points.length &&\n points.forEach((singleChartPoint: ILineChartPoints) => {\n colors.push(singleChartPoint.color);\n opacity.push(singleChartPoint.opacity || 1);\n allChartPoints.push(...singleChartPoint.data);\n });\n\n let tempArr = allChartPoints;\n while (tempArr.length) {\n const valToCheck = tempArr[0].x instanceof Date ? tempArr[0].x.toLocaleString() : tempArr[0].x;\n const filteredChartPoints: ILineChartDataPoint[] = tempArr.filter(\n (point: ILineChartDataPoint) => (point.x instanceof Date ? point.x.toLocaleString() : point.x) === valToCheck,\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const singleDataset: any = {};\n filteredChartPoints.forEach((singleDataPoint: ILineChartDataPoint, index: number) => {\n singleDataset.xVal = singleDataPoint.x;\n singleDataset[`chart${index}`] = singleDataPoint.y;\n });\n dataSet.push(singleDataset);\n // removing compared objects from array\n const val = tempArr[0].x instanceof Date ? tempArr[0].x.toLocaleString() : tempArr[0].x;\n tempArr = tempArr.filter(\n (point: ILineChartDataPoint) => (point.x instanceof Date ? point.x.toLocaleString() : point.x) !== val,\n );\n }\n\n // get keys from dataset, used to create stacked data\n const keysLength: number = dataSet && Object.keys(dataSet[0])!.length;\n const keys: string[] = [];\n for (let i = 0; i < keysLength - 1; i++) {\n const keyVal = `chart${i}`;\n keys.push(keyVal);\n }\n\n // Stacked Info used to draw graph\n const stackedInfo = this._getStackedData(keys, dataSet);\n\n return {\n colors,\n opacity,\n keys,\n stackedInfo,\n calloutPoints,\n };\n };\n\n private _getCustomizedCallout = () => {\n return this.props.onRenderCalloutPerStack\n ? this.props.onRenderCalloutPerStack(this.state.stackCalloutProps)\n : this.props.onRenderCalloutPerDataPoint\n ? this.props.onRenderCalloutPerDataPoint(this.state.dataPointCalloutProps)\n : null;\n };\n\n private _getGraphData = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xAxis: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yAxis: any,\n containerHeight: number,\n containerWidth: number,\n xElement: SVGElement | null,\n ) => {\n this._chart = this._drawGraph(containerHeight, xAxis, yAxis, xElement!);\n };\n\n private _onLegendClick(customMessage: string): void {\n if (this.state.isLegendSelected) {\n if (this.state.activeLegend === customMessage) {\n this.setState({\n isLegendSelected: false,\n activeLegend: '',\n });\n } else {\n this.setState({\n activeLegend: customMessage,\n });\n }\n } else {\n this.setState({\n activeLegend: customMessage,\n });\n }\n }\n\n private _onLegendHover(customMessage: string): void {\n if (this.state.isLegendSelected === false) {\n this.setState({\n activeLegend: customMessage,\n isLegendHovered: true,\n });\n }\n }\n\n private _onLegendLeave(isLegendFocused?: boolean): void {\n if (!!isLegendFocused || this.state.isLegendSelected === false) {\n this.setState({\n activeLegend: '',\n isLegendHovered: false,\n isLegendSelected: isLegendFocused ? false : this.state.isLegendSelected,\n });\n }\n }\n\n private _getLegendData = (palette: IPalette, points: ILineChartPoints[]): JSX.Element => {\n const data = points;\n const defaultPalette: string[] = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n const actions: ILegend[] = [];\n\n data.forEach((singleChartData: ILineChartPoints) => {\n const color: string = singleChartData.color\n ? singleChartData.color\n : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n const checkSimilarLegends = actions.filter(\n (leg: ILegend) => leg.title === singleChartData.legend && leg.color === color,\n );\n if (checkSimilarLegends!.length > 0) {\n return;\n }\n\n const legend: ILegend = {\n title: singleChartData.legend,\n color: color,\n action: () => {\n this._onLegendClick(singleChartData.legend);\n },\n hoverAction: () => {\n this._onLegendHover(singleChartData.legend);\n },\n onMouseOutAction: (isLegendSelected?: boolean) => {\n this._onLegendLeave(isLegendSelected);\n },\n };\n\n actions.push(legend);\n });\n return (\n <Legends\n legends={actions}\n overflowProps={this.props.legendsOverflowProps}\n enabledWrapLines={this.props.enabledLegendsWrapLines}\n focusZonePropsInHoverCard={this.props.focusZonePropsForLegendsInHoverCard}\n {...this.props.legendProps}\n />\n );\n };\n\n private _onDataPointClick = (func: (() => void) | undefined) => {\n if (func) {\n func();\n }\n this.setState({ isCircleClicked: true });\n };\n\n private _getOpacity = (selectedArea: string): number => {\n if (!this._isMultiStackChart) {\n return 0.7;\n } else {\n let opacity = 0.7;\n if (this.state.isLegendHovered || this.state.isLegendSelected) {\n opacity = this.state.activeLegend === selectedArea ? 0.7 : 0.1;\n }\n return opacity;\n }\n };\n\n private _getLineOpacity = (legend: string): number => {\n if (!this._isMultiStackChart) {\n return 1;\n } else {\n let opacity = 0.3;\n if (this.state.isCalloutVisible) {\n opacity = 1;\n }\n if (this.state.isLegendHovered || this.state.isLegendSelected) {\n opacity = this.state.activeLegend === legend ? 0 : 0.1;\n }\n return opacity;\n }\n };\n\n private _updateCircleFillColor = (xDataPoint: number | Date, lineColor: string): string => {\n if (this.state.isCircleClicked && this.state.nearestCircleToHighlight === xDataPoint) {\n return lineColor;\n } else {\n return this.state.nearestCircleToHighlight === xDataPoint ? this.props.theme!.palette.white : lineColor;\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _drawGraph = (containerHeight: number, xScale: any, yScale: any, xElement: SVGElement): JSX.Element[] => {\n const points = this.props.data.lineChartData!;\n const { pointOptions, pointLineOptions } = this.props.data;\n const area = d3Area()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((d: any) => xScale(d.xVal))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y0((d: any) => yScale(d.values[0]))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y1((d: any) => yScale(d.values[1]))\n .curve(d3CurveBasis);\n const line = d3Line()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((d: any) => xScale(d.xVal))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y((d: any) => yScale(d.values[1]))\n .curve(d3CurveBasis);\n\n const graph: JSX.Element[] = [];\n let lineColor: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this._stackedData.forEach((singleStackedData: Array<any>, index: number) => {\n graph.push(\n <React.Fragment key={`${index}-graph-${this._uniqueIdForGraph}`}>\n <path\n id={`${index}-line-${this._uniqueIdForGraph}`}\n d={line(singleStackedData)!}\n fill={'transparent'}\n strokeWidth={3}\n stroke={this._colors[index]}\n opacity={this._getLineOpacity(points[index]!.legend)}\n onMouseMove={this._onRectMouseMove}\n onMouseOut={this._onRectMouseOut}\n onMouseOver={this._onRectMouseMove}\n {...points[index]!.lineOptions}\n />\n <path\n id={`${index}-graph-${this._uniqueIdForGraph}`}\n d={area(singleStackedData)!}\n fill={this._colors[index]}\n opacity={this._opacity[index]}\n fillOpacity={this._getOpacity(points[index]!.legend)}\n onMouseMove={this._onRectMouseMove}\n onMouseOut={this._onRectMouseOut}\n onMouseOver={this._onRectMouseMove}\n />\n </React.Fragment>,\n );\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this._stackedData.forEach((singleStackedData: Array<any>, index: number) => {\n if (points.length === index) {\n return;\n }\n graph.push(\n <g key={`${index}-dots-${this._uniqueIdForGraph}`} d={area(singleStackedData)!} clipPath=\"url(#clip)\">\n {singleStackedData.map((singlePoint: IDPointType, pointIndex: number) => {\n const circleId = `${this._circleId}_${index * this._stackedData[0].length + pointIndex}`;\n const xDataPoint = singlePoint.xVal instanceof Date ? singlePoint.xVal.getTime() : singlePoint.xVal;\n lineColor = points[index]!.color;\n return (\n <circle\n key={circleId}\n id={circleId}\n data-is-focusable={true}\n cx={xScale(singlePoint.xVal)}\n cy={yScale(singlePoint.values[1])}\n r={this._getCircleRadius(xDataPoint)}\n stroke={lineColor}\n strokeWidth={3}\n visibility={this.state.nearestCircleToHighlight ? 'visibility' : 'hidden'}\n fill={this._updateCircleFillColor(xDataPoint, lineColor)}\n onMouseOut={this._onRectMouseOut}\n onMouseOver={this._onRectMouseMove}\n onClick={this._onDataPointClick.bind(this, points[index]!.data[pointIndex].onDataPointClick!)}\n {...pointOptions}\n />\n );\n })}\n </g>,\n );\n });\n graph.push(\n <line\n id={this._verticalLineId}\n key={this._verticalLineId}\n x1={this.state.lineXValue}\n y1={0}\n x2={this.state.lineXValue}\n y2={containerHeight}\n strokeWidth={1}\n strokeDasharray={5.5}\n stroke={lineColor!}\n opacity={0.5}\n visibility={this.state.displayOfLine}\n {...pointLineOptions}\n />,\n );\n const classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n });\n // Removing un wanted tooltip div from DOM, when prop not provided.\n if (!this.props.showXAxisLablesTooltip) {\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n // Used to display tooltip at x axis labels.\n if (!this.props.wrapXAxisLables && this.props.showXAxisLablesTooltip) {\n const xAxisElement = d3Select(xElement).call(xScale);\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n const tooltipProps = {\n tooltipCls: classNames.tooltip!,\n id: this._tooltipId,\n xAxis: xAxisElement,\n };\n xAxisElement && tooltipOfXAxislabels(tooltipProps);\n }\n return graph;\n };\n\n private _getCircleRadius = (xDataPoint: number): number => {\n const { isCircleClicked, nearestCircleToHighlight } = this.state;\n if (isCircleClicked && nearestCircleToHighlight === xDataPoint) {\n return 1;\n } else if (nearestCircleToHighlight === xDataPoint) {\n return 8;\n } else {\n return 0;\n }\n };\n\n private _closeCallout = () => {\n this.setState({\n isCalloutVisible: false,\n });\n };\n}\n"]}
1
+ {"version":3,"file":"AreaChart.base.js","sourceRoot":"../src/","sources":["components/AreaChart/AreaChart.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { max as d3Max, bisector } from 'd3-array';\nimport { clientPoint } from 'd3-selection';\nimport { select as d3Select } from 'd3-selection';\nimport { area as d3Area, stack as d3Stack, curveMonotoneX as d3CurveBasis, line as d3Line } from 'd3-shape';\nimport { IPalette } from '@fluentui/react/lib/Styling';\nimport { classNamesFunction, find, getId, memoizeFunction } from '@fluentui/react/lib/Utilities';\nimport {\n IAccessibilityProps,\n CartesianChart,\n IChartProps,\n ICustomizedCalloutData,\n IAreaChartProps,\n IBasestate,\n ILineChartDataPoint,\n ILineChartPoints,\n IChildProps,\n IMargins,\n IAreaChartStyleProps,\n IAreaChartStyles,\n} from '../../index';\nimport { warnDeprecations } from '@fluentui/react/lib/Utilities';\nimport {\n calloutData,\n getXAxisType,\n ChartTypes,\n XAxisTypes,\n getTypeOfAxis,\n tooltipOfXAxislabels,\n} from '../../utilities/index';\nimport { ILegend, Legends } from '../Legends/index';\nimport { DirectionalHint } from '@fluentui/react/lib/Callout';\n\nconst getClassNames = classNamesFunction<IAreaChartStyleProps, IAreaChartStyles>();\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst bisect = bisector((d: any) => d.x).left;\n\nconst COMPONENT_NAME = 'AREA CHART';\n\nenum InterceptVisibility {\n show = 'visibility',\n hide = 'hidden',\n}\n\nexport interface IAreaChartAreaPoint {\n xVal: string | number;\n values: IAreaChartDataSetPoint;\n}\nexport interface IAreaChartDataSetPoint {\n [key: string]: number | string;\n}\nexport interface IDPointType {\n values: { 0: number; 1: number; data: {} };\n xVal: number | Date;\n}\n\nexport interface IAreaChartState extends IBasestate {\n lineXValue: number;\n displayOfLine: InterceptVisibility;\n isCircleClicked: boolean;\n dataPointCalloutProps?: ICustomizedCalloutData;\n stackCalloutProps?: ICustomizedCalloutData;\n nearestCircleToHighlight: number | string | Date | null;\n xAxisCalloutAccessibilityData?: IAccessibilityProps;\n}\n\nexport class AreaChartBase extends React.Component<IAreaChartProps, IAreaChartState> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _calloutPoints: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _createSet: (\n data: IChartProps,\n ) => {\n colors: string[];\n opacity: number[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n stackedInfo: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n calloutPoints: any;\n };\n private _colors: string[];\n private _opacity: number[];\n private _uniqueIdForGraph: string;\n private _verticalLineId: string;\n private _circleId: string;\n private _uniqueCallOutID: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _stackedData: any;\n private _chart: JSX.Element[];\n private margins: IMargins;\n private _rectId: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _xAxisRectScale: any;\n // determines if the given area chart has multiple stacked bar charts\n private _isMultiStackChart: boolean;\n private _tooltipId: string;\n\n public constructor(props: IAreaChartProps) {\n super(props);\n this._createSet = memoizeFunction((data: IChartProps) => this._createDataSet(data.lineChartData!));\n this.state = {\n activeLegend: '',\n hoverXValue: '',\n isCalloutVisible: false,\n isLegendSelected: false,\n isLegendHovered: false,\n refSelected: null,\n YValueHover: [],\n lineXValue: 0,\n displayOfLine: InterceptVisibility.hide,\n isCircleClicked: false,\n nearestCircleToHighlight: null,\n };\n warnDeprecations(COMPONENT_NAME, props, {\n showYAxisGridLines: 'Dont use this property. Lines are drawn by default',\n });\n this._uniqueIdForGraph = getId('areaChart_');\n this._verticalLineId = getId('verticalLine_');\n this._circleId = getId('circle');\n this._rectId = getId('rectangle');\n this._tooltipId = getId('AreaChartTooltipID');\n }\n\n public render(): JSX.Element {\n const { lineChartData, chartTitle } = this.props.data;\n const { colors, opacity, stackedInfo, calloutPoints } = this._createSet(this.props.data);\n this._calloutPoints = calloutPoints;\n const isXAxisDateType = getXAxisType(lineChartData!);\n this._colors = colors;\n this._opacity = opacity;\n this._stackedData = stackedInfo.stackedData;\n const legends: JSX.Element = this._getLegendData(this.props.theme!.palette, lineChartData!);\n\n const tickParams = {\n tickValues: this.props.tickValues,\n tickFormat: this.props.tickFormat,\n };\n\n const calloutProps = {\n target: this.state.refSelected,\n isCalloutVisible: this.state.isCalloutVisible,\n directionalHint: DirectionalHint.topRightEdge,\n YValueHover: this.state.YValueHover,\n hoverXValue: this.state.hoverXValue,\n id: `toolTip${this._uniqueCallOutID}`,\n gapSpace: 15,\n isBeakVisible: false,\n setInitialFocus: true,\n onDismiss: this._closeCallout,\n 'data-is-focusable': true,\n xAxisCalloutAccessibilityData: this.state.xAxisCalloutAccessibilityData,\n ...this.props.calloutProps,\n };\n return (\n <CartesianChart\n {...this.props}\n chartTitle={chartTitle}\n points={lineChartData!}\n chartType={ChartTypes.AreaChart}\n calloutProps={calloutProps}\n legendBars={legends}\n isCalloutForStack\n xAxisType={isXAxisDateType ? XAxisTypes.DateAxis : XAxisTypes.NumericAxis}\n tickParams={tickParams}\n maxOfYVal={stackedInfo.maxOfYVal}\n getGraphData={this._getGraphData}\n getmargins={this._getMargins}\n customizedCallout={this._getCustomizedCallout()}\n /* eslint-disable react/jsx-no-bind */\n // eslint-disable-next-line react/no-children-prop\n children={(props: IChildProps) => {\n this._xAxisRectScale = props.xScale;\n const ticks = this._xAxisRectScale.ticks();\n const width1 = this._xAxisRectScale(ticks[ticks.length - 1]);\n const rectHeight = props.containerHeight! - this.margins.top!;\n return (\n <>\n <g>\n <rect\n id={this._rectId}\n width={width1}\n height={rectHeight}\n fill={'transparent'}\n onMouseMove={this._onRectMouseMove}\n onMouseOut={this._onRectMouseOut}\n onMouseOver={this._onRectMouseMove}\n />\n </g>\n <g>{this._chart}</g>\n </>\n );\n }}\n />\n );\n }\n\n private _getMargins = (margins: IMargins) => {\n this.margins = margins;\n };\n\n private _onRectMouseMove = (mouseEvent: React.MouseEvent<SVGRectElement | SVGPathElement | SVGCircleElement>) => {\n mouseEvent.persist();\n const { data } = this.props;\n const { lineChartData } = data;\n // This will get the value of the X when mouse is on the chart\n const xOffset = this._xAxisRectScale.invert(clientPoint(document.getElementById(this._rectId)!, mouseEvent)[0]);\n const i = bisect(lineChartData![0].data, xOffset);\n const d0 = lineChartData![0].data[i - 1] as ILineChartDataPoint;\n const d1 = lineChartData![0].data[i] as ILineChartDataPoint;\n let axisType: XAxisTypes | null = null;\n let pointToHighlight: string | Date | number | null = null;\n let index: null | number = null;\n if (d0 === undefined && d1 !== undefined) {\n pointToHighlight = d1.x;\n index = i;\n } else if (d0 !== undefined && d1 === undefined) {\n pointToHighlight = d0.x;\n index = i - 1;\n } else {\n axisType = getTypeOfAxis(lineChartData![0].data[0].x, true) as XAxisTypes;\n let x0;\n let point0;\n let point1;\n switch (axisType) {\n case XAxisTypes.DateAxis:\n x0 = new Date(xOffset).getTime();\n point0 = (d0.x as Date).getTime();\n point1 = (d1.x as Date).getTime();\n pointToHighlight = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? d1.x : d0.x;\n index = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? i : i - 1;\n break;\n case XAxisTypes.NumericAxis:\n x0 = xOffset as number;\n point0 = d0.x as number;\n point1 = d1.x as number;\n pointToHighlight = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? d1.x : d0.x;\n index = Math.abs(x0 - point0) > Math.abs(x0 - point1) ? i : i - 1;\n break;\n default:\n break;\n }\n }\n\n const { xAxisCalloutData, xAxisCalloutAccessibilityData } = lineChartData![0].data[index as number];\n const formattedDate = pointToHighlight instanceof Date ? pointToHighlight.toLocaleString() : pointToHighlight;\n const modifiedXVal = pointToHighlight instanceof Date ? pointToHighlight.getTime() : pointToHighlight;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const found: any = find(this._calloutPoints, (element: { x: string | number }) => {\n return element.x === modifiedXVal;\n });\n const nearestCircleToHighlight =\n axisType === XAxisTypes.DateAxis ? (pointToHighlight as Date).getTime() : pointToHighlight;\n // if no points need to be called out then don't show vertical line and callout card\n if (found) {\n this.setState({\n refSelected: mouseEvent,\n isCalloutVisible: true,\n nearestCircleToHighlight: nearestCircleToHighlight,\n lineXValue: this._xAxisRectScale(pointToHighlight),\n displayOfLine: InterceptVisibility.show,\n isCircleClicked: false,\n stackCalloutProps: found!,\n YValueHover: found.values,\n dataPointCalloutProps: found!,\n hoverXValue: xAxisCalloutData ? xAxisCalloutData : formattedDate,\n xAxisCalloutAccessibilityData,\n });\n } else {\n this.setState({\n isCalloutVisible: false,\n nearestCircleToHighlight: nearestCircleToHighlight,\n displayOfLine: InterceptVisibility.hide,\n isCircleClicked: false,\n });\n }\n };\n /**\n * just cleaning up the state which we have set in the mouse move event\n */\n private _onRectMouseOut = () => {\n this.setState({\n refSelected: null,\n isCalloutVisible: false,\n nearestCircleToHighlight: null,\n lineXValue: 0,\n displayOfLine: InterceptVisibility.hide,\n isCircleClicked: false,\n stackCalloutProps: undefined,\n dataPointCalloutProps: undefined,\n hoverXValue: undefined,\n YValueHover: [],\n });\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _getStackedData = (keys: string[], dataSet: any) => {\n const stackedValues = d3Stack().keys(keys)(dataSet);\n const maxOfYVal = d3Max(stackedValues[stackedValues.length - 1], dp => dp[1])!;\n const stackedData: Array<IAreaChartDataSetPoint[]> = [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n stackedValues.forEach((layer: any) => {\n const currentStack: IAreaChartDataSetPoint[] = [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n layer.forEach((d: any) => {\n currentStack.push({\n values: d,\n xVal: d.data.xVal,\n });\n });\n stackedData.push(currentStack);\n });\n this._isMultiStackChart = stackedData && stackedData.length > 1 ? true : false;\n return {\n stackedData,\n maxOfYVal,\n };\n };\n\n private _createDataSet = (points: ILineChartPoints[]) => {\n const allChartPoints: ILineChartDataPoint[] = [];\n const dataSet: IAreaChartDataSetPoint[] = [];\n const colors: string[] = [];\n const opacity: number[] = [];\n const calloutPoints = calloutData(points!);\n\n points &&\n points.length &&\n points.forEach((singleChartPoint: ILineChartPoints) => {\n colors.push(singleChartPoint.color);\n opacity.push(singleChartPoint.opacity || 1);\n allChartPoints.push(...singleChartPoint.data);\n });\n\n let tempArr = allChartPoints;\n while (tempArr.length) {\n const valToCheck = tempArr[0].x instanceof Date ? tempArr[0].x.toLocaleString() : tempArr[0].x;\n const filteredChartPoints: ILineChartDataPoint[] = tempArr.filter(\n (point: ILineChartDataPoint) => (point.x instanceof Date ? point.x.toLocaleString() : point.x) === valToCheck,\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const singleDataset: any = {};\n filteredChartPoints.forEach((singleDataPoint: ILineChartDataPoint, index: number) => {\n singleDataset.xVal = singleDataPoint.x;\n singleDataset[`chart${index}`] = singleDataPoint.y;\n });\n dataSet.push(singleDataset);\n // removing compared objects from array\n const val = tempArr[0].x instanceof Date ? tempArr[0].x.toLocaleString() : tempArr[0].x;\n tempArr = tempArr.filter(\n (point: ILineChartDataPoint) => (point.x instanceof Date ? point.x.toLocaleString() : point.x) !== val,\n );\n }\n\n // get keys from dataset, used to create stacked data\n const keysLength: number = dataSet && Object.keys(dataSet[0])!.length;\n const keys: string[] = [];\n for (let i = 0; i < keysLength - 1; i++) {\n const keyVal = `chart${i}`;\n keys.push(keyVal);\n }\n\n // Stacked Info used to draw graph\n const stackedInfo = this._getStackedData(keys, dataSet);\n\n return {\n colors,\n opacity,\n keys,\n stackedInfo,\n calloutPoints,\n };\n };\n\n private _getCustomizedCallout = () => {\n return this.props.onRenderCalloutPerStack\n ? this.props.onRenderCalloutPerStack(this.state.stackCalloutProps)\n : this.props.onRenderCalloutPerDataPoint\n ? this.props.onRenderCalloutPerDataPoint(this.state.dataPointCalloutProps)\n : null;\n };\n\n private _getGraphData = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n xAxis: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n yAxis: any,\n containerHeight: number,\n containerWidth: number,\n xElement: SVGElement | null,\n ) => {\n this._chart = this._drawGraph(containerHeight, xAxis, yAxis, xElement!);\n };\n\n private _onLegendClick(customMessage: string): void {\n if (this.state.isLegendSelected) {\n if (this.state.activeLegend === customMessage) {\n this.setState({\n isLegendSelected: false,\n activeLegend: '',\n });\n } else {\n this.setState({\n activeLegend: customMessage,\n });\n }\n } else {\n this.setState({\n activeLegend: customMessage,\n });\n }\n }\n\n private _onLegendHover(customMessage: string): void {\n if (this.state.isLegendSelected === false) {\n this.setState({\n activeLegend: customMessage,\n isLegendHovered: true,\n });\n }\n }\n\n private _onLegendLeave(isLegendFocused?: boolean): void {\n if (!!isLegendFocused || this.state.isLegendSelected === false) {\n this.setState({\n activeLegend: '',\n isLegendHovered: false,\n isLegendSelected: isLegendFocused ? false : this.state.isLegendSelected,\n });\n }\n }\n\n private _getLegendData = (palette: IPalette, points: ILineChartPoints[]): JSX.Element => {\n const data = points;\n const defaultPalette: string[] = [palette.blueLight, palette.blue, palette.blueMid, palette.red, palette.black];\n const actions: ILegend[] = [];\n\n data.forEach((singleChartData: ILineChartPoints) => {\n const color: string = singleChartData.color\n ? singleChartData.color\n : defaultPalette[Math.floor(Math.random() * 4 + 1)];\n const checkSimilarLegends = actions.filter(\n (leg: ILegend) => leg.title === singleChartData.legend && leg.color === color,\n );\n if (checkSimilarLegends!.length > 0) {\n return;\n }\n\n const legend: ILegend = {\n title: singleChartData.legend,\n color: color,\n action: () => {\n this._onLegendClick(singleChartData.legend);\n },\n hoverAction: () => {\n this._onLegendHover(singleChartData.legend);\n },\n onMouseOutAction: (isLegendSelected?: boolean) => {\n this._onLegendLeave(isLegendSelected);\n },\n };\n\n actions.push(legend);\n });\n return (\n <Legends\n legends={actions}\n overflowProps={this.props.legendsOverflowProps}\n enabledWrapLines={this.props.enabledLegendsWrapLines}\n focusZonePropsInHoverCard={this.props.focusZonePropsForLegendsInHoverCard}\n {...this.props.legendProps}\n />\n );\n };\n\n private _onDataPointClick = (func: (() => void) | undefined) => {\n if (func) {\n func();\n }\n this.setState({ isCircleClicked: true });\n };\n\n private _getOpacity = (selectedArea: string): number => {\n if (!this._isMultiStackChart) {\n return 0.7;\n } else {\n let opacity = 0.7;\n if (this.state.isLegendHovered || this.state.isLegendSelected) {\n opacity = this.state.activeLegend === selectedArea ? 0.7 : 0.1;\n }\n return opacity;\n }\n };\n\n private _getLineOpacity = (legend: string): number => {\n if (!this._isMultiStackChart) {\n return 1;\n } else {\n let opacity = 0.3;\n if (this.state.isCalloutVisible) {\n opacity = 1;\n }\n if (this.state.isLegendHovered || this.state.isLegendSelected) {\n opacity = this.state.activeLegend === legend ? 0 : 0.1;\n }\n return opacity;\n }\n };\n\n private _updateCircleFillColor = (xDataPoint: number | Date, lineColor: string): string => {\n if (this.state.isCircleClicked && this.state.nearestCircleToHighlight === xDataPoint) {\n return lineColor;\n } else {\n return this.state.nearestCircleToHighlight === xDataPoint ? this.props.theme!.palette.white : lineColor;\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _drawGraph = (containerHeight: number, xScale: any, yScale: any, xElement: SVGElement): JSX.Element[] => {\n const points = this.props.data.lineChartData!;\n const { pointOptions, pointLineOptions } = this.props.data;\n const area = d3Area()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((d: any) => xScale(d.xVal))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y0((d: any) => yScale(d.values[0]))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y1((d: any) => yScale(d.values[1]))\n .curve(d3CurveBasis);\n const line = d3Line()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .x((d: any) => xScale(d.xVal))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .y((d: any) => yScale(d.values[1]))\n .curve(d3CurveBasis);\n\n const graph: JSX.Element[] = [];\n let lineColor: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this._stackedData.forEach((singleStackedData: Array<any>, index: number) => {\n graph.push(\n <React.Fragment key={`${index}-graph-${this._uniqueIdForGraph}`}>\n <path\n id={`${index}-line-${this._uniqueIdForGraph}`}\n d={line(singleStackedData)!}\n fill={'transparent'}\n strokeWidth={3}\n stroke={this._colors[index]}\n opacity={this._getLineOpacity(points[index]!.legend)}\n onMouseMove={this._onRectMouseMove}\n onMouseOut={this._onRectMouseOut}\n onMouseOver={this._onRectMouseMove}\n {...points[index]!.lineOptions}\n />\n <path\n id={`${index}-graph-${this._uniqueIdForGraph}`}\n d={area(singleStackedData)!}\n fill={this._colors[index]}\n opacity={this._opacity[index]}\n fillOpacity={this._getOpacity(points[index]!.legend)}\n onMouseMove={this._onRectMouseMove}\n onMouseOut={this._onRectMouseOut}\n onMouseOver={this._onRectMouseMove}\n />\n </React.Fragment>,\n );\n });\n\n const circleRadius = pointOptions && pointOptions.r ? Number(pointOptions.r) : 8;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this._stackedData.forEach((singleStackedData: Array<any>, index: number) => {\n if (points.length === index) {\n return;\n }\n graph.push(\n <g key={`${index}-dots-${this._uniqueIdForGraph}`} d={area(singleStackedData)!} clipPath=\"url(#clip)\">\n {singleStackedData.map((singlePoint: IDPointType, pointIndex: number) => {\n const circleId = `${this._circleId}_${index * this._stackedData[0].length + pointIndex}`;\n const xDataPoint = singlePoint.xVal instanceof Date ? singlePoint.xVal.getTime() : singlePoint.xVal;\n lineColor = points[index]!.color;\n return (\n <circle\n key={circleId}\n id={circleId}\n data-is-focusable={true}\n cx={xScale(singlePoint.xVal)}\n cy={yScale(singlePoint.values[1])}\n stroke={lineColor}\n strokeWidth={3}\n visibility={this.state.nearestCircleToHighlight ? 'visibility' : 'hidden'}\n fill={this._updateCircleFillColor(xDataPoint, lineColor)}\n onMouseOut={this._onRectMouseOut}\n onMouseOver={this._onRectMouseMove}\n onClick={this._onDataPointClick.bind(this, points[index]!.data[pointIndex].onDataPointClick!)}\n {...pointOptions}\n r={this._getCircleRadius(xDataPoint, circleRadius)}\n />\n );\n })}\n </g>,\n );\n });\n graph.push(\n <line\n id={this._verticalLineId}\n key={this._verticalLineId}\n x1={this.state.lineXValue}\n y1={0}\n x2={this.state.lineXValue}\n y2={containerHeight}\n strokeWidth={1}\n strokeDasharray={5.5}\n stroke={lineColor!}\n opacity={0.5}\n visibility={this.state.displayOfLine}\n {...pointLineOptions}\n />,\n );\n const classNames = getClassNames(this.props.styles!, {\n theme: this.props.theme!,\n });\n // Removing un wanted tooltip div from DOM, when prop not provided.\n if (!this.props.showXAxisLablesTooltip) {\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n // Used to display tooltip at x axis labels.\n if (!this.props.wrapXAxisLables && this.props.showXAxisLablesTooltip) {\n const xAxisElement = d3Select(xElement).call(xScale);\n try {\n document.getElementById(this._tooltipId) && document.getElementById(this._tooltipId)!.remove();\n // eslint-disable-next-line no-empty\n } catch (e) {}\n const tooltipProps = {\n tooltipCls: classNames.tooltip!,\n id: this._tooltipId,\n xAxis: xAxisElement,\n };\n xAxisElement && tooltipOfXAxislabels(tooltipProps);\n }\n return graph;\n };\n\n private _getCircleRadius = (xDataPoint: number, circleRadius: number): number => {\n const { isCircleClicked, nearestCircleToHighlight } = this.state;\n if (isCircleClicked && nearestCircleToHighlight === xDataPoint) {\n return 1;\n } else if (nearestCircleToHighlight === xDataPoint) {\n return circleRadius;\n } else {\n return 0;\n }\n };\n\n private _closeCallout = () => {\n this.setState({\n isCalloutVisible: false,\n });\n };\n}\n"]}
@@ -1,5 +1,6 @@
1
- import { DefaultPalette, FontSizes } from '@fluentui/react/lib/Styling';
1
+ import { DefaultPalette, FontSizes, HighContrastSelectorBlack } from '@fluentui/react/lib/Styling';
2
2
  export var getStyles = function (props) {
3
+ var _a;
3
4
  var color = props.color, href = props.href, theme = props.theme;
4
5
  return {
5
6
  root: {
@@ -20,6 +21,11 @@ export var getStyles = function (props) {
20
21
  insideDonutString: {
21
22
  fontSize: FontSizes.large,
22
23
  fill: theme.semanticColors.bodyText,
24
+ selectors: (_a = {},
25
+ _a[HighContrastSelectorBlack] = {
26
+ fill: 'rgb(179, 179, 179)',
27
+ },
28
+ _a),
23
29
  },
24
30
  };
25
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Arc.styles.js","sourceRoot":"../src/","sources":["components/DonutChart/Arc/Arc.styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,KAAgB;IAChC,IAAA,KAAK,GAAkB,KAAK,MAAvB,EAAE,IAAI,GAAY,KAAK,KAAjB,EAAE,KAAK,GAAK,KAAK,MAAV,CAAW;IACrC,OAAO;QACL,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACpC,MAAM,EAAE,cAAc,CAAC,KAAK;YAC5B,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE;gBACT,oBAAoB,EAAE;oBACpB,MAAM,EAAE,GAAG;iBACZ;aACF;SACF;QACD,SAAS,EAAE;YACT,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW;YACxC,WAAW,EAAE,CAAC;SACf;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,SAAS,CAAC,KAAK;YACzB,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;SACpC;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { IArcProps, IArcStyles } from './Arc.types';\nimport { DefaultPalette, FontSizes } from '@fluentui/react/lib/Styling';\n\nexport const getStyles = (props: IArcProps): IArcStyles => {\n const { color, href, theme } = props;\n return {\n root: {\n fill: color,\n cursor: href ? 'pointer' : 'default',\n stroke: DefaultPalette.white,\n outline: 'transparent',\n selectors: {\n '::-moz-focus-inner': {\n border: '0',\n },\n },\n },\n focusRing: {\n stroke: theme.semanticColors.focusBorder,\n strokeWidth: 4,\n },\n insideDonutString: {\n fontSize: FontSizes.large,\n fill: theme.semanticColors.bodyText,\n },\n };\n};\n"]}
1
+ {"version":3,"file":"Arc.styles.js","sourceRoot":"../src/","sources":["components/DonutChart/Arc/Arc.styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAEnG,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,KAAgB;;IAChC,IAAA,KAAK,GAAkB,KAAK,MAAvB,EAAE,IAAI,GAAY,KAAK,KAAjB,EAAE,KAAK,GAAK,KAAK,MAAV,CAAW;IACrC,OAAO;QACL,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACpC,MAAM,EAAE,cAAc,CAAC,KAAK;YAC5B,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE;gBACT,oBAAoB,EAAE;oBACpB,MAAM,EAAE,GAAG;iBACZ;aACF;SACF;QACD,SAAS,EAAE;YACT,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW;YACxC,WAAW,EAAE,CAAC;SACf;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,SAAS,CAAC,KAAK;YACzB,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;YACnC,SAAS;gBACP,GAAC,yBAAyB,IAAG;oBAC3B,IAAI,EAAE,oBAAoB;iBAC3B;mBACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { IArcProps, IArcStyles } from './Arc.types';\nimport { DefaultPalette, FontSizes, HighContrastSelectorBlack } from '@fluentui/react/lib/Styling';\n\nexport const getStyles = (props: IArcProps): IArcStyles => {\n const { color, href, theme } = props;\n return {\n root: {\n fill: color,\n cursor: href ? 'pointer' : 'default',\n stroke: DefaultPalette.white,\n outline: 'transparent',\n selectors: {\n '::-moz-focus-inner': {\n border: '0',\n },\n },\n },\n focusRing: {\n stroke: theme.semanticColors.focusBorder,\n strokeWidth: 4,\n },\n insideDonutString: {\n fontSize: FontSizes.large,\n fill: theme.semanticColors.bodyText,\n selectors: {\n [HighContrastSelectorBlack]: {\n fill: 'rgb(179, 179, 179)',\n },\n },\n },\n };\n};\n"]}
@@ -14,12 +14,13 @@ var LegendsBase = /** @class */ (function (_super) {
14
14
  var _this = _super.call(this, props) || this;
15
15
  _this._onRenderData = function (data) {
16
16
  var _a = _this.props, overflowProps = _a.overflowProps, _b = _a.allowFocusOnLegends, allowFocusOnLegends = _b === void 0 ? true : _b;
17
- return (React.createElement(OverflowSet, __assign({}, (allowFocusOnLegends && { role: 'listbox', 'aria-label': 'Legends' }), overflowProps, { items: data.primary, overflowItems: data.overflow, onRenderItem: _this._renderButton, onRenderOverflowButton: _this._renderOverflowItems, styles: {
18
- root: {
19
- justifyContent: _this.props.centerLegends ? 'center' : 'unset',
20
- flexWrap: 'wrap',
21
- },
22
- } })));
17
+ var rootStyles = {
18
+ root: {
19
+ justifyContent: _this.props.centerLegends ? 'center' : 'unset',
20
+ flexWrap: 'wrap',
21
+ },
22
+ };
23
+ return (React.createElement(OverflowSet, __assign({}, (allowFocusOnLegends && { role: 'listbox', 'aria-label': 'Legends' }), { items: data.primary, overflowItems: data.overflow, onRenderItem: _this._renderButton, onRenderOverflowButton: _this._renderOverflowItems }, overflowProps, { styles: __assign(__assign({}, rootStyles), overflowProps === null || overflowProps === void 0 ? void 0 : overflowProps.styles) })));
23
24
  };
24
25
  _this._onReduceData = function (currentdata) {
25
26
  if (currentdata.primary.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"Legends.base.js","sourceRoot":"../src/","sources":["components/Legends/Legends.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport { IContextualMenuItem } from '@fluentui/react/lib/ContextualMenu';\nimport { HoverCard, HoverCardType, IExpandingCardProps } from '@fluentui/react/lib/HoverCard';\nimport { classNamesFunction, find, getNativeProps, buttonProperties } from '@fluentui/react/lib/Utilities';\nimport { ResizeGroup } from '@fluentui/react/lib/ResizeGroup';\nimport { IProcessedStyleSet } from '@fluentui/react/lib/Styling';\nimport { OverflowSet, IOverflowSetItemProps } from '@fluentui/react/lib/OverflowSet';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nimport {\n ILegend,\n ILegendsProps,\n LegendShape,\n ILegendsStyles,\n ILegendStyleProps,\n ILegendOverflowData,\n} from './Legends.types';\nimport { Shape } from './shape';\n\nimport { silceOrAppendToArray } from '../../utilities/utilities';\n\nconst getClassNames = classNamesFunction<ILegendStyleProps, ILegendsStyles>();\n\n// This is an internal interface used for rendering the legends with unique key\ninterface ILegendItem extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n name?: string;\n title: string;\n action: VoidFunction;\n hoverAction: VoidFunction;\n onMouseOutAction: VoidFunction;\n color: string;\n shape?: LegendShape;\n key: number;\n opacity?: number;\n stripePattern?: boolean;\n isLineLegendInBarChart?: boolean;\n}\n\nexport interface ILegendState {\n selectedLegend: string;\n selecetedLegendInHoverCard: string;\n selectedState: boolean;\n hoverState: boolean;\n isHoverCardVisible: boolean;\n selectedLegends: string[];\n}\nexport class LegendsBase extends React.Component<ILegendsProps, ILegendState> {\n private _hoverCardRef: HTMLDivElement;\n private _classNames: IProcessedStyleSet<ILegendsStyles>;\n\n public constructor(props: ILegendsProps) {\n super(props);\n this.state = {\n selectedLegend: 'none',\n selectedState: false,\n hoverState: false,\n isHoverCardVisible: false,\n selecetedLegendInHoverCard: 'none',\n selectedLegends: [],\n };\n }\n\n public componentDidUpdate(prevProps: ILegendsProps) {\n if (prevProps.selectedLegend !== this.props.selectedLegend) {\n this.setState({ selectedLegend: this.props.selectedLegend! });\n }\n }\n\n public render(): JSX.Element {\n const { theme, className, styles } = this.props;\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n const dataToRender = this._generateData();\n return (\n <div className={this._classNames.root}>\n {this.props.enabledWrapLines ? (\n this._onRenderData(dataToRender)\n ) : (\n <ResizeGroup\n data={dataToRender}\n onReduceData={this._onReduceData}\n onRenderData={this._onRenderData}\n onGrowData={this._onGrowData}\n />\n )}\n </div>\n );\n }\n\n private _generateData(): ILegendOverflowData {\n const { allowFocusOnLegends = true } = this.props;\n const dataItems: ILegendItem[] = this.props.legends.map((legend: ILegend, index: number) => {\n return {\n ...(allowFocusOnLegends && {\n nativeButtonProps: getNativeProps<React.HTMLAttributes<HTMLButtonElement>>(legend, buttonProperties, [\n 'title',\n ]),\n 'aria-setsize': this.props.legends.length,\n 'aria-posinset': index + 1,\n }),\n title: legend.title,\n action: legend.action!,\n hoverAction: legend.hoverAction!,\n onMouseOutAction: legend.onMouseOutAction!,\n color: legend.color,\n shape: legend.shape,\n stripePattern: legend.stripePattern,\n isLineLegendInBarChart: legend.isLineLegendInBarChart,\n opacity: legend.opacity,\n key: index,\n };\n });\n const result: ILegendOverflowData = {\n primary: dataItems,\n overflow: [],\n };\n return result;\n }\n\n private _onRenderData = (data: IOverflowSetItemProps | ILegendOverflowData): JSX.Element => {\n const { overflowProps, allowFocusOnLegends = true } = this.props;\n return (\n <OverflowSet\n {...(allowFocusOnLegends && { role: 'listbox', 'aria-label': 'Legends' })}\n {...overflowProps}\n items={data.primary}\n overflowItems={data.overflow}\n onRenderItem={this._renderButton}\n onRenderOverflowButton={this._renderOverflowItems}\n styles={{\n root: {\n justifyContent: this.props.centerLegends ? 'center' : 'unset',\n flexWrap: 'wrap',\n },\n }}\n />\n );\n };\n\n private _onReduceData = (currentdata: IOverflowSetItemProps): {} | void => {\n if (currentdata.primary.length === 0) {\n return;\n }\n const overflow = [...currentdata.primary.slice(-1), ...currentdata.overflow];\n const primary = currentdata.primary.slice(0, -1);\n return { primary, overflow };\n };\n\n private _onGrowData = (currentdata: IOverflowSetItemProps): {} | void => {\n if (currentdata.overflow.length === 0) {\n return;\n }\n const overflow = currentdata.overflow.slice(1);\n const primary = [...currentdata.primary, ...currentdata.overflow.slice(0, 1)];\n return { primary, overflow };\n };\n\n /**\n * This function will get called when there is an ability to\n * select multiple legends\n * @param legend ILegend\n */\n private _canSelectMultipleLegends = (legend: ILegend): void => {\n const selectedLegends = silceOrAppendToArray(this.state.selectedLegends, legend.title);\n this.setState({\n //check if user selected all legends then empty it get the default behaviour\n selectedLegends: selectedLegends.length === this.props.legends.length ? [] : selectedLegends,\n // make selectedState to false if none or all the legends selected\n selectedState:\n selectedLegends.length === 0 || selectedLegends.length === this.props.legends.length ? false : true,\n selecetedLegendInHoverCard: this.state.isHoverCardVisible ? legend.title : 'none',\n selectedLegend: 'none',\n hoverState: false,\n });\n };\n\n /**\n * This function will get called when there is\n * ability to select only single legend\n * @param legend ILegend\n */\n\n private _canSelectOnlySingleLegend = (legend: ILegend): void => {\n if (this.state.selectedState === true && this.state.selectedLegend === legend.title) {\n this.setState({\n selectedLegend: 'none',\n selectedState: false,\n selecetedLegendInHoverCard: this.state.isHoverCardVisible ? legend.title : 'none',\n });\n } else {\n this.setState({\n hoverState: true,\n selectedState: true,\n selectedLegend: legend.title,\n selecetedLegendInHoverCard: this.state.isHoverCardVisible ? legend.title : 'none',\n });\n }\n };\n\n private _onClick = (legend: ILegend): void => {\n if (legend.action) {\n const { canSelectMultipleLegends = false } = this.props;\n if (canSelectMultipleLegends) {\n this._canSelectMultipleLegends(legend);\n } else {\n this._canSelectOnlySingleLegend(legend);\n }\n legend.action();\n }\n };\n\n private _onRenderCompactCard = (expandingCard: IExpandingCardProps): JSX.Element => {\n const { allowFocusOnLegends = true, className, styles, theme } = this.props;\n const overflowHoverCardLegends: JSX.Element[] = [];\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n expandingCard.renderData.forEach((legend: IOverflowSetItemProps, index: number) => {\n const hoverCardElement = this._renderButton(legend, index, true);\n overflowHoverCardLegends.push(hoverCardElement);\n });\n const hoverCardData = (\n <FocusZone\n {...(allowFocusOnLegends && { role: 'listbox' })}\n direction={FocusZoneDirection.vertical}\n {...this.props.focusZonePropsInHoverCard}\n className={classNames.hoverCardRoot}\n >\n {overflowHoverCardLegends}\n </FocusZone>\n );\n return hoverCardData;\n };\n\n private _renderOverflowItems = (legends: ILegend[]) => {\n const { allowFocusOnLegends = true } = this.props;\n const items: IContextualMenuItem[] = [];\n legends.forEach((legend: ILegend, i: number) => {\n items.push({ key: i.toString(), name: legend.title, onClick: legend.action });\n });\n const renderOverflowData: IExpandingCardProps = { renderData: legends };\n const { theme, className, styles, overflowText } = this.props;\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n const plainCardProps = {\n onRenderPlainCard: this._onRenderCompactCard,\n renderData: renderOverflowData,\n };\n\n const overflowString = overflowText ? overflowText : 'more';\n // execute similar to \"_onClick\" and \"_onLeave\" logic at HoverCard onCardHide event\n const onHoverCardHideHandler = () => {\n const { canSelectMultipleLegends = false } = this.props;\n const selectedOverflowItem = find(\n legends,\n (legend: ILegend) =>\n legend.title === this.state.selecetedLegendInHoverCard || legend.title === this.state.selectedLegend,\n );\n this.setState(\n {\n isHoverCardVisible: false,\n selecetedLegendInHoverCard: 'none',\n selectedLegends: [],\n },\n () => {\n if (selectedOverflowItem) {\n this.setState({ selectedLegend: 'none', selectedState: false }, () => {\n if (selectedOverflowItem.action && !canSelectMultipleLegends) {\n selectedOverflowItem.action();\n }\n if (this.props.onLegendHoverCardLeave && canSelectMultipleLegends) {\n this.props.onLegendHoverCardLeave();\n }\n this.setState({ hoverState: false }, () => {\n if (selectedOverflowItem.onMouseOutAction) {\n selectedOverflowItem.onMouseOutAction(true);\n }\n });\n });\n }\n },\n );\n };\n return (\n <HoverCard\n type={HoverCardType.plain}\n plainCardProps={plainCardProps}\n instantOpenOnClick={true}\n // eslint-disable-next-line react/jsx-no-bind\n onCardHide={onHoverCardHideHandler}\n setInitialFocus={true}\n trapFocus={true}\n onCardVisible={this._hoverCardVisible}\n styles={classNames.subComponentStyles.hoverCardStyles}\n cardDismissDelay={300}\n target={this._hoverCardRef}\n >\n <div\n className={classNames.overflowIndicationTextStyle}\n ref={(rootElem: HTMLDivElement) => (this._hoverCardRef = rootElem)}\n {...(allowFocusOnLegends && {\n role: 'link',\n 'aria-expanded': this.state.isHoverCardVisible,\n 'aria-label': `${items.length} ${overflowString}`,\n })}\n data-is-focusable={allowFocusOnLegends}\n >\n {items.length} {overflowString}\n </div>\n </HoverCard>\n );\n };\n\n private _hoverCardVisible = () => {\n this.setState({ isHoverCardVisible: true });\n };\n\n private _onHoverOverLegend = (legend: ILegend) => {\n if (!this.state.selectedState) {\n if (legend.hoverAction) {\n this.setState({ hoverState: true, selectedLegend: legend.title });\n legend.hoverAction();\n }\n }\n };\n\n private _onLeave = (legend: ILegend) => {\n if (!this.state.selectedState) {\n if (legend.onMouseOutAction) {\n this.setState({ hoverState: false, selectedLegend: 'none' });\n legend.onMouseOutAction();\n }\n }\n };\n\n private _renderButton = (data: IOverflowSetItemProps, index?: number, overflow?: boolean) => {\n const { allowFocusOnLegends = true } = this.props;\n const legend: ILegend = {\n title: data.title,\n color: data.color,\n shape: data.shape,\n action: data.action,\n hoverAction: data.hoverAction,\n onMouseOutAction: data.onMouseOutAction,\n stripePattern: data.stripePattern,\n isLineLegendInBarChart: data.isLineLegendInBarChart,\n opacity: data.opacity,\n };\n const color = this._getColor(legend.title, legend.color);\n const { theme, className, styles } = this.props;\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n colorOnSelectedState: color,\n borderColor: legend.color,\n overflow: overflow,\n stripePattern: legend.stripePattern,\n isLineLegendInBarChart: legend.isLineLegendInBarChart,\n opacity: legend.opacity,\n });\n const onClickHandler = () => {\n this._onClick(legend);\n };\n const onHoverHandler = () => {\n this._onHoverOverLegend(legend);\n };\n const onMouseOut = () => {\n this._onLeave(legend);\n };\n const shape = this._getShape(classNames, legend, color);\n return (\n <button\n {...(allowFocusOnLegends && {\n 'aria-selected': this.state.selectedLegend === legend.title,\n role: 'option',\n 'aria-label': legend.title,\n 'aria-setsize': data['aria-setsize'],\n 'aria-posinset': data['aria-posinset'],\n })}\n {...(data.nativeButtonProps && { ...data.nativeButtonProps })}\n key={index}\n className={classNames.legend}\n onClick={onClickHandler}\n onMouseOver={onHoverHandler}\n onMouseOut={onMouseOut}\n onFocus={onHoverHandler}\n onBlur={onMouseOut}\n data-is-focusable={allowFocusOnLegends}\n /* eslint-enable react/jsx-no-bind */\n >\n {shape}\n <div className={classNames.text}>{legend.title}</div>\n </button>\n );\n };\n\n private _getShape(\n classNames: IProcessedStyleSet<ILegendsStyles>,\n legend: ILegend,\n color: string,\n ): React.ReactNode | string {\n const svgParentProps: React.SVGAttributes<SVGElement> = {\n className: classNames.shape,\n };\n const svgChildProps: React.SVGAttributes<SVGElement> = {\n fill: color,\n strokeWidth: 2,\n stroke: legend.color,\n };\n return (\n <Shape\n svgProps={svgParentProps}\n pathProps={svgChildProps}\n shape={legend.shape as LegendShape}\n classNameForNonSvg={classNames.rect}\n />\n );\n }\n\n private _getColor(title: string, color: string): string {\n const { theme, canSelectMultipleLegends = false } = this.props;\n const { palette } = theme!;\n let legendColor = color;\n // below if statement will get executed for the hovered legend.\n // (which is also the slected legend see fucntion:-_onHoverOverLegend)\n if (this.state.hoverState && this.state.selectedLegend === title) {\n legendColor = color;\n } // below esle if statement will get executed for the unselected-legend which is hovered\n else if (this.state.hoverState && this.state.selectedLegend !== 'none' && this.state.selectedLegend !== title) {\n legendColor = palette.white;\n } // below else if statement will get executed if the legends are in the selected state\n // this is will only get executed when we have ability to select multiple legends\n else if (!!canSelectMultipleLegends && this.state.selectedState && this.state.selectedLegends.indexOf(title) > -1) {\n legendColor = color;\n } // below else if statement will get executed when no legend is selected and hovered\n //(for example:- initial render of legends)\n else if (\n (!this.state.selectedState && this.state.selectedLegend === 'none') ||\n this.state.selectedLegend === title ||\n this.state.selectedLegends.length <= 0\n ) {\n legendColor = color;\n } else {\n legendColor = palette.white;\n }\n return legendColor;\n }\n}\n"]}
1
+ {"version":3,"file":"Legends.base.js","sourceRoot":"../src/","sources":["components/Legends/Legends.base.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport { IContextualMenuItem } from '@fluentui/react/lib/ContextualMenu';\nimport { HoverCard, HoverCardType, IExpandingCardProps } from '@fluentui/react/lib/HoverCard';\nimport { classNamesFunction, find, getNativeProps, buttonProperties } from '@fluentui/react/lib/Utilities';\nimport { ResizeGroup } from '@fluentui/react/lib/ResizeGroup';\nimport { IProcessedStyleSet } from '@fluentui/react/lib/Styling';\nimport { OverflowSet, IOverflowSetItemProps } from '@fluentui/react/lib/OverflowSet';\nimport { FocusZone, FocusZoneDirection } from '@fluentui/react-focus';\nimport {\n ILegend,\n ILegendsProps,\n LegendShape,\n ILegendsStyles,\n ILegendStyleProps,\n ILegendOverflowData,\n} from './Legends.types';\nimport { Shape } from './shape';\n\nimport { silceOrAppendToArray } from '../../utilities/utilities';\n\nconst getClassNames = classNamesFunction<ILegendStyleProps, ILegendsStyles>();\n\n// This is an internal interface used for rendering the legends with unique key\ninterface ILegendItem extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n name?: string;\n title: string;\n action: VoidFunction;\n hoverAction: VoidFunction;\n onMouseOutAction: VoidFunction;\n color: string;\n shape?: LegendShape;\n key: number;\n opacity?: number;\n stripePattern?: boolean;\n isLineLegendInBarChart?: boolean;\n}\n\nexport interface ILegendState {\n selectedLegend: string;\n selecetedLegendInHoverCard: string;\n selectedState: boolean;\n hoverState: boolean;\n isHoverCardVisible: boolean;\n selectedLegends: string[];\n}\nexport class LegendsBase extends React.Component<ILegendsProps, ILegendState> {\n private _hoverCardRef: HTMLDivElement;\n private _classNames: IProcessedStyleSet<ILegendsStyles>;\n\n public constructor(props: ILegendsProps) {\n super(props);\n this.state = {\n selectedLegend: 'none',\n selectedState: false,\n hoverState: false,\n isHoverCardVisible: false,\n selecetedLegendInHoverCard: 'none',\n selectedLegends: [],\n };\n }\n\n public componentDidUpdate(prevProps: ILegendsProps) {\n if (prevProps.selectedLegend !== this.props.selectedLegend) {\n this.setState({ selectedLegend: this.props.selectedLegend! });\n }\n }\n\n public render(): JSX.Element {\n const { theme, className, styles } = this.props;\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n const dataToRender = this._generateData();\n return (\n <div className={this._classNames.root}>\n {this.props.enabledWrapLines ? (\n this._onRenderData(dataToRender)\n ) : (\n <ResizeGroup\n data={dataToRender}\n onReduceData={this._onReduceData}\n onRenderData={this._onRenderData}\n onGrowData={this._onGrowData}\n />\n )}\n </div>\n );\n }\n\n private _generateData(): ILegendOverflowData {\n const { allowFocusOnLegends = true } = this.props;\n const dataItems: ILegendItem[] = this.props.legends.map((legend: ILegend, index: number) => {\n return {\n ...(allowFocusOnLegends && {\n nativeButtonProps: getNativeProps<React.HTMLAttributes<HTMLButtonElement>>(legend, buttonProperties, [\n 'title',\n ]),\n 'aria-setsize': this.props.legends.length,\n 'aria-posinset': index + 1,\n }),\n title: legend.title,\n action: legend.action!,\n hoverAction: legend.hoverAction!,\n onMouseOutAction: legend.onMouseOutAction!,\n color: legend.color,\n shape: legend.shape,\n stripePattern: legend.stripePattern,\n isLineLegendInBarChart: legend.isLineLegendInBarChart,\n opacity: legend.opacity,\n key: index,\n };\n });\n const result: ILegendOverflowData = {\n primary: dataItems,\n overflow: [],\n };\n return result;\n }\n\n private _onRenderData = (data: IOverflowSetItemProps | ILegendOverflowData): JSX.Element => {\n const { overflowProps, allowFocusOnLegends = true } = this.props;\n const rootStyles = {\n root: {\n justifyContent: this.props.centerLegends ? 'center' : 'unset',\n flexWrap: 'wrap',\n },\n };\n return (\n <OverflowSet\n {...(allowFocusOnLegends && { role: 'listbox', 'aria-label': 'Legends' })}\n items={data.primary}\n overflowItems={data.overflow}\n onRenderItem={this._renderButton}\n onRenderOverflowButton={this._renderOverflowItems}\n {...overflowProps}\n styles={{ ...rootStyles, ...overflowProps?.styles }}\n />\n );\n };\n\n private _onReduceData = (currentdata: IOverflowSetItemProps): {} | void => {\n if (currentdata.primary.length === 0) {\n return;\n }\n const overflow = [...currentdata.primary.slice(-1), ...currentdata.overflow];\n const primary = currentdata.primary.slice(0, -1);\n return { primary, overflow };\n };\n\n private _onGrowData = (currentdata: IOverflowSetItemProps): {} | void => {\n if (currentdata.overflow.length === 0) {\n return;\n }\n const overflow = currentdata.overflow.slice(1);\n const primary = [...currentdata.primary, ...currentdata.overflow.slice(0, 1)];\n return { primary, overflow };\n };\n\n /**\n * This function will get called when there is an ability to\n * select multiple legends\n * @param legend ILegend\n */\n private _canSelectMultipleLegends = (legend: ILegend): void => {\n const selectedLegends = silceOrAppendToArray(this.state.selectedLegends, legend.title);\n this.setState({\n //check if user selected all legends then empty it get the default behaviour\n selectedLegends: selectedLegends.length === this.props.legends.length ? [] : selectedLegends,\n // make selectedState to false if none or all the legends selected\n selectedState:\n selectedLegends.length === 0 || selectedLegends.length === this.props.legends.length ? false : true,\n selecetedLegendInHoverCard: this.state.isHoverCardVisible ? legend.title : 'none',\n selectedLegend: 'none',\n hoverState: false,\n });\n };\n\n /**\n * This function will get called when there is\n * ability to select only single legend\n * @param legend ILegend\n */\n\n private _canSelectOnlySingleLegend = (legend: ILegend): void => {\n if (this.state.selectedState === true && this.state.selectedLegend === legend.title) {\n this.setState({\n selectedLegend: 'none',\n selectedState: false,\n selecetedLegendInHoverCard: this.state.isHoverCardVisible ? legend.title : 'none',\n });\n } else {\n this.setState({\n hoverState: true,\n selectedState: true,\n selectedLegend: legend.title,\n selecetedLegendInHoverCard: this.state.isHoverCardVisible ? legend.title : 'none',\n });\n }\n };\n\n private _onClick = (legend: ILegend): void => {\n if (legend.action) {\n const { canSelectMultipleLegends = false } = this.props;\n if (canSelectMultipleLegends) {\n this._canSelectMultipleLegends(legend);\n } else {\n this._canSelectOnlySingleLegend(legend);\n }\n legend.action();\n }\n };\n\n private _onRenderCompactCard = (expandingCard: IExpandingCardProps): JSX.Element => {\n const { allowFocusOnLegends = true, className, styles, theme } = this.props;\n const overflowHoverCardLegends: JSX.Element[] = [];\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n expandingCard.renderData.forEach((legend: IOverflowSetItemProps, index: number) => {\n const hoverCardElement = this._renderButton(legend, index, true);\n overflowHoverCardLegends.push(hoverCardElement);\n });\n const hoverCardData = (\n <FocusZone\n {...(allowFocusOnLegends && { role: 'listbox' })}\n direction={FocusZoneDirection.vertical}\n {...this.props.focusZonePropsInHoverCard}\n className={classNames.hoverCardRoot}\n >\n {overflowHoverCardLegends}\n </FocusZone>\n );\n return hoverCardData;\n };\n\n private _renderOverflowItems = (legends: ILegend[]) => {\n const { allowFocusOnLegends = true } = this.props;\n const items: IContextualMenuItem[] = [];\n legends.forEach((legend: ILegend, i: number) => {\n items.push({ key: i.toString(), name: legend.title, onClick: legend.action });\n });\n const renderOverflowData: IExpandingCardProps = { renderData: legends };\n const { theme, className, styles, overflowText } = this.props;\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n const plainCardProps = {\n onRenderPlainCard: this._onRenderCompactCard,\n renderData: renderOverflowData,\n };\n\n const overflowString = overflowText ? overflowText : 'more';\n // execute similar to \"_onClick\" and \"_onLeave\" logic at HoverCard onCardHide event\n const onHoverCardHideHandler = () => {\n const { canSelectMultipleLegends = false } = this.props;\n const selectedOverflowItem = find(\n legends,\n (legend: ILegend) =>\n legend.title === this.state.selecetedLegendInHoverCard || legend.title === this.state.selectedLegend,\n );\n this.setState(\n {\n isHoverCardVisible: false,\n selecetedLegendInHoverCard: 'none',\n selectedLegends: [],\n },\n () => {\n if (selectedOverflowItem) {\n this.setState({ selectedLegend: 'none', selectedState: false }, () => {\n if (selectedOverflowItem.action && !canSelectMultipleLegends) {\n selectedOverflowItem.action();\n }\n if (this.props.onLegendHoverCardLeave && canSelectMultipleLegends) {\n this.props.onLegendHoverCardLeave();\n }\n this.setState({ hoverState: false }, () => {\n if (selectedOverflowItem.onMouseOutAction) {\n selectedOverflowItem.onMouseOutAction(true);\n }\n });\n });\n }\n },\n );\n };\n return (\n <HoverCard\n type={HoverCardType.plain}\n plainCardProps={plainCardProps}\n instantOpenOnClick={true}\n // eslint-disable-next-line react/jsx-no-bind\n onCardHide={onHoverCardHideHandler}\n setInitialFocus={true}\n trapFocus={true}\n onCardVisible={this._hoverCardVisible}\n styles={classNames.subComponentStyles.hoverCardStyles}\n cardDismissDelay={300}\n target={this._hoverCardRef}\n >\n <div\n className={classNames.overflowIndicationTextStyle}\n ref={(rootElem: HTMLDivElement) => (this._hoverCardRef = rootElem)}\n {...(allowFocusOnLegends && {\n role: 'link',\n 'aria-expanded': this.state.isHoverCardVisible,\n 'aria-label': `${items.length} ${overflowString}`,\n })}\n data-is-focusable={allowFocusOnLegends}\n >\n {items.length} {overflowString}\n </div>\n </HoverCard>\n );\n };\n\n private _hoverCardVisible = () => {\n this.setState({ isHoverCardVisible: true });\n };\n\n private _onHoverOverLegend = (legend: ILegend) => {\n if (!this.state.selectedState) {\n if (legend.hoverAction) {\n this.setState({ hoverState: true, selectedLegend: legend.title });\n legend.hoverAction();\n }\n }\n };\n\n private _onLeave = (legend: ILegend) => {\n if (!this.state.selectedState) {\n if (legend.onMouseOutAction) {\n this.setState({ hoverState: false, selectedLegend: 'none' });\n legend.onMouseOutAction();\n }\n }\n };\n\n private _renderButton = (data: IOverflowSetItemProps, index?: number, overflow?: boolean) => {\n const { allowFocusOnLegends = true } = this.props;\n const legend: ILegend = {\n title: data.title,\n color: data.color,\n shape: data.shape,\n action: data.action,\n hoverAction: data.hoverAction,\n onMouseOutAction: data.onMouseOutAction,\n stripePattern: data.stripePattern,\n isLineLegendInBarChart: data.isLineLegendInBarChart,\n opacity: data.opacity,\n };\n const color = this._getColor(legend.title, legend.color);\n const { theme, className, styles } = this.props;\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n colorOnSelectedState: color,\n borderColor: legend.color,\n overflow: overflow,\n stripePattern: legend.stripePattern,\n isLineLegendInBarChart: legend.isLineLegendInBarChart,\n opacity: legend.opacity,\n });\n const onClickHandler = () => {\n this._onClick(legend);\n };\n const onHoverHandler = () => {\n this._onHoverOverLegend(legend);\n };\n const onMouseOut = () => {\n this._onLeave(legend);\n };\n const shape = this._getShape(classNames, legend, color);\n return (\n <button\n {...(allowFocusOnLegends && {\n 'aria-selected': this.state.selectedLegend === legend.title,\n role: 'option',\n 'aria-label': legend.title,\n 'aria-setsize': data['aria-setsize'],\n 'aria-posinset': data['aria-posinset'],\n })}\n {...(data.nativeButtonProps && { ...data.nativeButtonProps })}\n key={index}\n className={classNames.legend}\n onClick={onClickHandler}\n onMouseOver={onHoverHandler}\n onMouseOut={onMouseOut}\n onFocus={onHoverHandler}\n onBlur={onMouseOut}\n data-is-focusable={allowFocusOnLegends}\n /* eslint-enable react/jsx-no-bind */\n >\n {shape}\n <div className={classNames.text}>{legend.title}</div>\n </button>\n );\n };\n\n private _getShape(\n classNames: IProcessedStyleSet<ILegendsStyles>,\n legend: ILegend,\n color: string,\n ): React.ReactNode | string {\n const svgParentProps: React.SVGAttributes<SVGElement> = {\n className: classNames.shape,\n };\n const svgChildProps: React.SVGAttributes<SVGElement> = {\n fill: color,\n strokeWidth: 2,\n stroke: legend.color,\n };\n return (\n <Shape\n svgProps={svgParentProps}\n pathProps={svgChildProps}\n shape={legend.shape as LegendShape}\n classNameForNonSvg={classNames.rect}\n />\n );\n }\n\n private _getColor(title: string, color: string): string {\n const { theme, canSelectMultipleLegends = false } = this.props;\n const { palette } = theme!;\n let legendColor = color;\n // below if statement will get executed for the hovered legend.\n // (which is also the slected legend see fucntion:-_onHoverOverLegend)\n if (this.state.hoverState && this.state.selectedLegend === title) {\n legendColor = color;\n } // below esle if statement will get executed for the unselected-legend which is hovered\n else if (this.state.hoverState && this.state.selectedLegend !== 'none' && this.state.selectedLegend !== title) {\n legendColor = palette.white;\n } // below else if statement will get executed if the legends are in the selected state\n // this is will only get executed when we have ability to select multiple legends\n else if (!!canSelectMultipleLegends && this.state.selectedState && this.state.selectedLegends.indexOf(title) > -1) {\n legendColor = color;\n } // below else if statement will get executed when no legend is selected and hovered\n //(for example:- initial render of legends)\n else if (\n (!this.state.selectedState && this.state.selectedLegend === 'none') ||\n this.state.selectedLegend === title ||\n this.state.selectedLegends.length <= 0\n ) {\n legendColor = color;\n } else {\n legendColor = palette.white;\n }\n return legendColor;\n }\n}\n"]}
package/lib/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // Do not modify this file; it is generated as part of publish.
2
2
  // The checked in version is a placeholder only and will not be updated.
3
3
  import { setVersion } from '@fluentui/set-version';
4
- setVersion('@fluentui/react-charting', '5.7.6');
4
+ setVersion('@fluentui/react-charting', '5.7.7');
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"../src/","sources":["version.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,wEAAwE;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,UAAU,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC","sourcesContent":["// Do not modify this file; it is generated as part of publish.\n// The checked in version is a placeholder only and will not be updated.\nimport { setVersion } from '@fluentui/set-version';\nsetVersion('@fluentui/react-charting', '5.7.6');"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"../src/","sources":["version.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,wEAAwE;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,UAAU,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC","sourcesContent":["// Do not modify this file; it is generated as part of publish.\n// The checked in version is a placeholder only and will not be updated.\nimport { setVersion } from '@fluentui/set-version';\nsetVersion('@fluentui/react-charting', '5.7.7');"]}
@@ -293,6 +293,7 @@ define(["require", "exports", "tslib", "react", "d3-array", "d3-selection", "d3-
293
293
  React.createElement("path", tslib_1.__assign({ id: index + "-line-" + _this._uniqueIdForGraph, d: line(singleStackedData), fill: 'transparent', strokeWidth: 3, stroke: _this._colors[index], opacity: _this._getLineOpacity(points[index].legend), onMouseMove: _this._onRectMouseMove, onMouseOut: _this._onRectMouseOut, onMouseOver: _this._onRectMouseMove }, points[index].lineOptions)),
294
294
  React.createElement("path", { id: index + "-graph-" + _this._uniqueIdForGraph, d: area(singleStackedData), fill: _this._colors[index], opacity: _this._opacity[index], fillOpacity: _this._getOpacity(points[index].legend), onMouseMove: _this._onRectMouseMove, onMouseOut: _this._onRectMouseOut, onMouseOver: _this._onRectMouseMove })));
295
295
  });
296
+ var circleRadius = pointOptions && pointOptions.r ? Number(pointOptions.r) : 8;
296
297
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
297
298
  _this._stackedData.forEach(function (singleStackedData, index) {
298
299
  if (points.length === index) {
@@ -302,7 +303,7 @@ define(["require", "exports", "tslib", "react", "d3-array", "d3-selection", "d3-
302
303
  var circleId = _this._circleId + "_" + (index * _this._stackedData[0].length + pointIndex);
303
304
  var xDataPoint = singlePoint.xVal instanceof Date ? singlePoint.xVal.getTime() : singlePoint.xVal;
304
305
  lineColor = points[index].color;
305
- return (React.createElement("circle", tslib_1.__assign({ key: circleId, id: circleId, "data-is-focusable": true, cx: xScale(singlePoint.xVal), cy: yScale(singlePoint.values[1]), r: _this._getCircleRadius(xDataPoint), stroke: lineColor, strokeWidth: 3, visibility: _this.state.nearestCircleToHighlight ? 'visibility' : 'hidden', fill: _this._updateCircleFillColor(xDataPoint, lineColor), onMouseOut: _this._onRectMouseOut, onMouseOver: _this._onRectMouseMove, onClick: _this._onDataPointClick.bind(_this, points[index].data[pointIndex].onDataPointClick) }, pointOptions)));
306
+ return (React.createElement("circle", tslib_1.__assign({ key: circleId, id: circleId, "data-is-focusable": true, cx: xScale(singlePoint.xVal), cy: yScale(singlePoint.values[1]), stroke: lineColor, strokeWidth: 3, visibility: _this.state.nearestCircleToHighlight ? 'visibility' : 'hidden', fill: _this._updateCircleFillColor(xDataPoint, lineColor), onMouseOut: _this._onRectMouseOut, onMouseOver: _this._onRectMouseMove, onClick: _this._onDataPointClick.bind(_this, points[index].data[pointIndex].onDataPointClick) }, pointOptions, { r: _this._getCircleRadius(xDataPoint, circleRadius) })));
306
307
  })));
307
308
  });
308
309
  graph.push(React.createElement("line", tslib_1.__assign({ id: _this._verticalLineId, key: _this._verticalLineId, x1: _this.state.lineXValue, y1: 0, x2: _this.state.lineXValue, y2: containerHeight, strokeWidth: 1, strokeDasharray: 5.5, stroke: lineColor, opacity: 0.5, visibility: _this.state.displayOfLine }, pointLineOptions)));
@@ -334,13 +335,13 @@ define(["require", "exports", "tslib", "react", "d3-array", "d3-selection", "d3-
334
335
  }
335
336
  return graph;
336
337
  };
337
- _this._getCircleRadius = function (xDataPoint) {
338
+ _this._getCircleRadius = function (xDataPoint, circleRadius) {
338
339
  var _a = _this.state, isCircleClicked = _a.isCircleClicked, nearestCircleToHighlight = _a.nearestCircleToHighlight;
339
340
  if (isCircleClicked && nearestCircleToHighlight === xDataPoint) {
340
341
  return 1;
341
342
  }
342
343
  else if (nearestCircleToHighlight === xDataPoint) {
343
- return 8;
344
+ return circleRadius;
344
345
  }
345
346
  else {
346
347
  return 0;