@evergis/charts 3.1.54-alpha.3 → 3.1.54-alpha.5

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.
@@ -119,6 +119,7 @@ export interface BarChartProps extends PropsWithChildren {
119
119
  onSelect?: (value: [number, number]) => void;
120
120
  onBarClick?: (group: BarChartMarshalledGroup) => void;
121
121
  onBarHover?: (group?: BarChartMarshalledGroup) => void;
122
+ transitionDuration?: number;
122
123
  }
123
124
  export type BarChartMergedData = (BarChartMarshalledGroup & BarChartLineData & {
124
125
  groupName: string;
@@ -53,6 +53,7 @@ export interface LineChartProps extends PropsWithChildren {
53
53
  dotSnapping?: boolean;
54
54
  rightAxis?: number[];
55
55
  markers?: BarChartMarker[];
56
+ transitionDuration?: number;
56
57
  }
57
58
  export type LineChartDot = {
58
59
  radius?: number;
@@ -37,6 +37,7 @@ export interface PieChartProps extends PropsWithChildren {
37
37
  tooltipClassName?: string;
38
38
  renderTooltip?: (data: PieChartDatum[] | PieChartData[]) => ReactNode;
39
39
  tooltipStyle?: CSSProperties;
40
+ transitionDuration?: number;
40
41
  }
41
42
  export type PieChartData = {
42
43
  id?: number | string;
@@ -900,8 +900,15 @@ const drawTooltip$3 = ({ fullChartTooltip, global, tooltipRoot, data, tooltipCla
900
900
  }
901
901
  };
902
902
 
903
+ const getSliceKey = (item, index) => {
904
+ if (item.id !== undefined)
905
+ return String(item.id);
906
+ if (typeof item.name === 'string' || typeof item.name === 'number')
907
+ return String(item.name);
908
+ return String(index);
909
+ };
903
910
  const draw$4 = (node, props) => {
904
- const { data, padAngle, onClick, outerRadius, startAngle, endAngle, cornerRadius, margin, enableSlicesLabels, formatSliceLabel, slicesLabelsSkipAngle, enableSlicesLabelsName, formatSliceLabelName, borderWidth, borderColor, enableRadialLabels, backgroundColor, radialLabelsLinkHorizontalLength, radialLabelsTextXOffset, formatRadialLabel, radialLabelYOffset, svgElements, formatSliceTitle, radialAngleXOffset, withTooltip, fullChartTooltip, tooltipClassName, tooltipBind, renderTooltip, tooltipStyle, } = props;
911
+ const { data, padAngle, onClick, outerRadius, startAngle, endAngle, cornerRadius, margin, enableSlicesLabels, formatSliceLabel, slicesLabelsSkipAngle, enableSlicesLabelsName, formatSliceLabelName, borderWidth, borderColor, enableRadialLabels, backgroundColor, radialLabelsLinkHorizontalLength, radialLabelsTextXOffset, formatRadialLabel, radialLabelYOffset, svgElements, formatSliceTitle, radialAngleXOffset, withTooltip, fullChartTooltip, tooltipClassName, tooltipBind, renderTooltip, tooltipStyle, transitionDuration = 300, } = props;
905
912
  if (node !== null && data.length) {
906
913
  const marginTop = margin ? margin.top : 0;
907
914
  const marginRight = margin ? margin.right : 0;
@@ -917,6 +924,18 @@ const draw$4 = (node, props) => {
917
924
  ? marginTop + marginBottom
918
925
  : marginRight + marginLeft)) /
919
926
  2;
927
+ const prevArcMap = new Map();
928
+ if (transitionDuration > 0) {
929
+ d3.select(node)
930
+ .selectAll(`svg .${pieChartclassNames.pieGlobal} .${pieChartclassNames.pieSlice}`)
931
+ .each((d) => {
932
+ prevArcMap.set(getSliceKey(d.data, d.index), {
933
+ startAngle: d.startAngle,
934
+ endAngle: d.endAngle,
935
+ color: d.data.color ?? '',
936
+ });
937
+ });
938
+ }
920
939
  const svg = appendSvg(node, width, height);
921
940
  const global = svg
922
941
  .append("g")
@@ -961,17 +980,14 @@ const draw$4 = (node, props) => {
961
980
  .data(dataReady)
962
981
  .enter()
963
982
  .append("path")
964
- // @ts-ignore
965
- .attr("d", arc);
966
- allSlices
967
983
  .attr("class", pieChartclassNames.pieSlice)
968
- .attr("fill", ({ index }) => data[index].color || "")
969
984
  .attr("stroke", borderColor || "")
970
985
  .attr("stroke-width", borderWidth || 0)
971
986
  .attr("style", onClick ? "cursor: pointer" : "")
972
987
  .on("click",
973
988
  // @ts-ignore
974
- (_, d) => onClick && onClick(data[d.index]))
989
+ (_, d) => onClick && onClick(data[d.index]));
990
+ allSlices
975
991
  .append("svg:title")
976
992
  .text(d => formatSliceTitle
977
993
  ? // @ts-ignore
@@ -979,6 +995,46 @@ const draw$4 = (node, props) => {
979
995
  : fullChartTooltip || withTooltip
980
996
  ? ""
981
997
  : `${data[d.index].name || ""} (${format(data[d.index].value)})`);
998
+ if (transitionDuration > 0 && prevArcMap.size > 0) {
999
+ allSlices
1000
+ .attr("fill", (d) => {
1001
+ const prev = prevArcMap.get(getSliceKey(d.data, d.index));
1002
+ return prev?.color || data[d.index].color || "";
1003
+ })
1004
+ .attr("d", (d) => {
1005
+ const prev = prevArcMap.get(getSliceKey(d.data, d.index));
1006
+ const midAngle = (d.startAngle + d.endAngle) / 2;
1007
+ // @ts-ignore
1008
+ return arc({
1009
+ ...d,
1010
+ startAngle: prev ? prev.startAngle : midAngle,
1011
+ endAngle: prev ? prev.endAngle : midAngle,
1012
+ });
1013
+ })
1014
+ .transition()
1015
+ .duration(transitionDuration)
1016
+ .attr("fill", ({ index }) => data[index].color || "")
1017
+ .attrTween("d", (d) => {
1018
+ const prev = prevArcMap.get(getSliceKey(d.data, d.index));
1019
+ const midAngle = (d.startAngle + d.endAngle) / 2;
1020
+ const from = {
1021
+ startAngle: prev ? prev.startAngle : midAngle,
1022
+ endAngle: prev ? prev.endAngle : midAngle,
1023
+ };
1024
+ const interp = d3.interpolate(from, { startAngle: d.startAngle, endAngle: d.endAngle });
1025
+ return (t) => {
1026
+ const { startAngle, endAngle } = interp(t);
1027
+ // @ts-ignore
1028
+ return arc({ ...d, startAngle, endAngle });
1029
+ };
1030
+ });
1031
+ }
1032
+ else {
1033
+ allSlices
1034
+ // @ts-ignore
1035
+ .attr("d", arc)
1036
+ .attr("fill", ({ index }) => data[index].color || "");
1037
+ }
982
1038
  if (enableSlicesLabels) {
983
1039
  const text = global
984
1040
  .selectAll("allSlices")
@@ -1827,7 +1883,7 @@ const drawTooltip$2 = ({ svg, node, data: argData, xScale, yScale, dynamicCircle
1827
1883
  };
1828
1884
 
1829
1885
  const draw$2 = (node, props) => {
1830
- const { data: chartData, labels, margin, customYAxisSelection, customXAxisSelection, customYAxis, customXAxis, curve, yAxisPadding, xAxisPadding, drawGridY, drawGridX, withLabels, formatLabel, eachLabel, stacked, dynamicTooltipEnable, dynamicCircleRadius, formatDynamicTooltip, renderTooltip, stackedTooltip, stackedTooltipIndex, tooltipLineTop, customize, customYScale, customLine, tooltipClassName, xScaleItemWidth, areaCurve, dotSnapping, rightAxis, markers, } = props;
1886
+ const { data: chartData, labels, margin, customYAxisSelection, customXAxisSelection, customYAxis, customXAxis, curve, yAxisPadding, xAxisPadding, drawGridY, drawGridX, withLabels, formatLabel, eachLabel, stacked, dynamicTooltipEnable, dynamicCircleRadius, formatDynamicTooltip, renderTooltip, stackedTooltip, stackedTooltipIndex, tooltipLineTop, customize, customYScale, customLine, tooltipClassName, xScaleItemWidth, areaCurve, dotSnapping, rightAxis, markers, transitionDuration = 300, } = props;
1831
1887
  if (node !== null && chartData.length) {
1832
1888
  const data = stacked ? stackedData(chartData) : chartData;
1833
1889
  const marginTop = margin ? margin.top : 0;
@@ -1843,6 +1899,14 @@ const draw$2 = (node, props) => {
1843
1899
  const max = typeof props.max === 'number'
1844
1900
  ? props.max
1845
1901
  : d3.max(data, ({ values }) => d3.max(values));
1902
+ const prevStrokes = new Map();
1903
+ if (transitionDuration > 0) {
1904
+ d3.select(node)
1905
+ .selectAll(`svg .${lineChartClassNames.lineChartLinesGlobal} .${lineChartClassNames.lineChartLine}`)
1906
+ .each(function (_, i) {
1907
+ prevStrokes.set(i, d3.select(this).attr('stroke') || '');
1908
+ });
1909
+ }
1846
1910
  const svg = appendSvg(node, width, height || 0);
1847
1911
  const yRange = [
1848
1912
  height - marginTop - marginBottom - (xAxisPadding || 0),
@@ -1981,7 +2045,7 @@ const draw$2 = (node, props) => {
1981
2045
  .attr('fill', ({ fill }) => fill || 'none')
1982
2046
  .attr('style', ({ areaStyle }) => areaStyle || '');
1983
2047
  }
1984
- svg
2048
+ const lineSelection = svg
1985
2049
  .append('g')
1986
2050
  .attr('class', lineChartClassNames.lineChartLinesGlobal)
1987
2051
  .selectAll('path')
@@ -1989,8 +2053,17 @@ const draw$2 = (node, props) => {
1989
2053
  .join('path')
1990
2054
  .attr('class', lineChartClassNames.lineChartLine)
1991
2055
  .attr('d', (d) => line(d.values))
1992
- .attr('stroke', ({ stroke }) => stroke || 'steelblue')
1993
2056
  .attr('style', ({ style }) => style || '');
2057
+ if (transitionDuration > 0 && prevStrokes.size > 0) {
2058
+ lineSelection
2059
+ .attr('stroke', (_, i) => prevStrokes.get(i) || (data[i]?.stroke || 'steelblue'))
2060
+ .transition()
2061
+ .duration(transitionDuration)
2062
+ .attr('stroke', ({ stroke }) => stroke || 'steelblue');
2063
+ }
2064
+ else {
2065
+ lineSelection.attr('stroke', ({ stroke }) => stroke || 'steelblue');
2066
+ }
1994
2067
  const dots = data.filter(({ dot }) => dot);
1995
2068
  if (dots.length > 0) {
1996
2069
  const dotsGlobal = svg
@@ -2781,7 +2854,7 @@ const getBars = ({ groups, barWidth }) => {
2781
2854
 
2782
2855
  const MIN_BAR_HEIGHT = 2;
2783
2856
  const draw$1 = (node, props) => {
2784
- const { data, lineData = [], markers = [], barWidth: barWidthProp, barPadding, colors, margin, xAxisPadding, yAxisPadding, drawGridY, drawGridX, customYScale, customXScale, customYAxisLeft, customXAxisBottom, customYAxis, customXAxis, customBars, customize, dynamicTooltipEnable, hideTooltipGroupName, renderTooltip, labelPosition, renderLabel, tooltipY, tooltipBind, stackedLine, curve, formatTooltipValue, formatTooltipName, sectionPadding, minValuesLine, tooltipYDomain, marshalledMap, minValue, maxValue, minDomainValue, maxDomainValue, drawBars, setTooltipPosition, onLabelItem, isBarTooltip, xScaleItemWidth, tooltipRoot, tooltipClassName, onBarClick, onBarHover, } = props;
2857
+ const { data, lineData = [], markers = [], barWidth: barWidthProp, barPadding, colors, margin, xAxisPadding, yAxisPadding, drawGridY, drawGridX, customYScale, customXScale, customYAxisLeft, customXAxisBottom, customYAxis, customXAxis, customBars, customize, dynamicTooltipEnable, hideTooltipGroupName, renderTooltip, labelPosition, renderLabel, tooltipY, tooltipBind, stackedLine, curve, formatTooltipValue, formatTooltipName, sectionPadding, minValuesLine, tooltipYDomain, marshalledMap, minValue, maxValue, minDomainValue, maxDomainValue, drawBars, setTooltipPosition, onLabelItem, isBarTooltip, xScaleItemWidth, tooltipRoot, tooltipClassName, onBarClick, onBarHover, transitionDuration = 300, } = props;
2785
2858
  if (node !== null && data.length) {
2786
2859
  const marginTop = margin?.top ?? 0;
2787
2860
  const marginRight = margin?.right ?? 0;
@@ -2804,6 +2877,20 @@ const draw$1 = (node, props) => {
2804
2877
  ? maxValue
2805
2878
  : Math.max(d3.max(lineData, ({ values }) => d3.max(values)) ||
2806
2879
  Number.NEGATIVE_INFINITY, barDomain.max);
2880
+ const prevBarFills = new Map();
2881
+ if (transitionDuration > 0) {
2882
+ d3.select(node)
2883
+ .selectAll(`svg .${barChartClassNames.barChartBarGlobal} g`)
2884
+ .each(function (_, groupIdx) {
2885
+ d3.select(this).selectAll('rect')
2886
+ .each(function (_, rectIdx) {
2887
+ const fill = this.style.fill;
2888
+ if (fill) {
2889
+ prevBarFills.set(`${groupIdx}-${rectIdx}`, fill);
2890
+ }
2891
+ });
2892
+ });
2893
+ }
2807
2894
  const svg = appendSvg(node, width, height || 0);
2808
2895
  const yTicksCountDefault = 4;
2809
2896
  const labels = data.map((item) => item.groupName);
@@ -2958,6 +3045,24 @@ const draw$1 = (node, props) => {
2958
3045
  });
2959
3046
  }
2960
3047
  customize && customize({ svg, marshalledData, yScale, xScale, lineData });
3048
+ if (transitionDuration > 0 && prevBarFills.size > 0) {
3049
+ d3.select(node)
3050
+ .selectAll(`.${barChartClassNames.barChartBarGlobal} g`)
3051
+ .each(function (_, groupIdx) {
3052
+ d3.select(this).selectAll('rect')
3053
+ .each(function (_, rectIdx) {
3054
+ const prevFill = prevBarFills.get(`${groupIdx}-${rectIdx}`);
3055
+ const currentFill = this.style.fill;
3056
+ if (prevFill && prevFill !== currentFill) {
3057
+ d3.select(this)
3058
+ .style('fill', prevFill)
3059
+ .transition()
3060
+ .duration(transitionDuration)
3061
+ .style('fill', currentFill);
3062
+ }
3063
+ });
3064
+ });
3065
+ }
2961
3066
  }
2962
3067
  };
2963
3068
 
@@ -1 +1 @@
1
- {"version":3,"file":"charts.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"charts.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -921,8 +921,15 @@ const drawTooltip$3 = ({ fullChartTooltip, global, tooltipRoot, data, tooltipCla
921
921
  }
922
922
  };
923
923
 
924
+ const getSliceKey = (item, index) => {
925
+ if (item.id !== undefined)
926
+ return String(item.id);
927
+ if (typeof item.name === 'string' || typeof item.name === 'number')
928
+ return String(item.name);
929
+ return String(index);
930
+ };
924
931
  const draw$4 = (node, props) => {
925
- const { data, padAngle, onClick, outerRadius, startAngle, endAngle, cornerRadius, margin, enableSlicesLabels, formatSliceLabel, slicesLabelsSkipAngle, enableSlicesLabelsName, formatSliceLabelName, borderWidth, borderColor, enableRadialLabels, backgroundColor, radialLabelsLinkHorizontalLength, radialLabelsTextXOffset, formatRadialLabel, radialLabelYOffset, svgElements, formatSliceTitle, radialAngleXOffset, withTooltip, fullChartTooltip, tooltipClassName, tooltipBind, renderTooltip, tooltipStyle, } = props;
932
+ const { data, padAngle, onClick, outerRadius, startAngle, endAngle, cornerRadius, margin, enableSlicesLabels, formatSliceLabel, slicesLabelsSkipAngle, enableSlicesLabelsName, formatSliceLabelName, borderWidth, borderColor, enableRadialLabels, backgroundColor, radialLabelsLinkHorizontalLength, radialLabelsTextXOffset, formatRadialLabel, radialLabelYOffset, svgElements, formatSliceTitle, radialAngleXOffset, withTooltip, fullChartTooltip, tooltipClassName, tooltipBind, renderTooltip, tooltipStyle, transitionDuration = 300, } = props;
926
933
  if (node !== null && data.length) {
927
934
  const marginTop = margin ? margin.top : 0;
928
935
  const marginRight = margin ? margin.right : 0;
@@ -938,6 +945,18 @@ const draw$4 = (node, props) => {
938
945
  ? marginTop + marginBottom
939
946
  : marginRight + marginLeft)) /
940
947
  2;
948
+ const prevArcMap = new Map();
949
+ if (transitionDuration > 0) {
950
+ d3__namespace.select(node)
951
+ .selectAll(`svg .${pieChartclassNames.pieGlobal} .${pieChartclassNames.pieSlice}`)
952
+ .each((d) => {
953
+ prevArcMap.set(getSliceKey(d.data, d.index), {
954
+ startAngle: d.startAngle,
955
+ endAngle: d.endAngle,
956
+ color: d.data.color ?? '',
957
+ });
958
+ });
959
+ }
941
960
  const svg = appendSvg(node, width, height);
942
961
  const global = svg
943
962
  .append("g")
@@ -982,17 +1001,14 @@ const draw$4 = (node, props) => {
982
1001
  .data(dataReady)
983
1002
  .enter()
984
1003
  .append("path")
985
- // @ts-ignore
986
- .attr("d", arc);
987
- allSlices
988
1004
  .attr("class", pieChartclassNames.pieSlice)
989
- .attr("fill", ({ index }) => data[index].color || "")
990
1005
  .attr("stroke", borderColor || "")
991
1006
  .attr("stroke-width", borderWidth || 0)
992
1007
  .attr("style", onClick ? "cursor: pointer" : "")
993
1008
  .on("click",
994
1009
  // @ts-ignore
995
- (_, d) => onClick && onClick(data[d.index]))
1010
+ (_, d) => onClick && onClick(data[d.index]));
1011
+ allSlices
996
1012
  .append("svg:title")
997
1013
  .text(d => formatSliceTitle
998
1014
  ? // @ts-ignore
@@ -1000,6 +1016,46 @@ const draw$4 = (node, props) => {
1000
1016
  : fullChartTooltip || withTooltip
1001
1017
  ? ""
1002
1018
  : `${data[d.index].name || ""} (${format(data[d.index].value)})`);
1019
+ if (transitionDuration > 0 && prevArcMap.size > 0) {
1020
+ allSlices
1021
+ .attr("fill", (d) => {
1022
+ const prev = prevArcMap.get(getSliceKey(d.data, d.index));
1023
+ return prev?.color || data[d.index].color || "";
1024
+ })
1025
+ .attr("d", (d) => {
1026
+ const prev = prevArcMap.get(getSliceKey(d.data, d.index));
1027
+ const midAngle = (d.startAngle + d.endAngle) / 2;
1028
+ // @ts-ignore
1029
+ return arc({
1030
+ ...d,
1031
+ startAngle: prev ? prev.startAngle : midAngle,
1032
+ endAngle: prev ? prev.endAngle : midAngle,
1033
+ });
1034
+ })
1035
+ .transition()
1036
+ .duration(transitionDuration)
1037
+ .attr("fill", ({ index }) => data[index].color || "")
1038
+ .attrTween("d", (d) => {
1039
+ const prev = prevArcMap.get(getSliceKey(d.data, d.index));
1040
+ const midAngle = (d.startAngle + d.endAngle) / 2;
1041
+ const from = {
1042
+ startAngle: prev ? prev.startAngle : midAngle,
1043
+ endAngle: prev ? prev.endAngle : midAngle,
1044
+ };
1045
+ const interp = d3__namespace.interpolate(from, { startAngle: d.startAngle, endAngle: d.endAngle });
1046
+ return (t) => {
1047
+ const { startAngle, endAngle } = interp(t);
1048
+ // @ts-ignore
1049
+ return arc({ ...d, startAngle, endAngle });
1050
+ };
1051
+ });
1052
+ }
1053
+ else {
1054
+ allSlices
1055
+ // @ts-ignore
1056
+ .attr("d", arc)
1057
+ .attr("fill", ({ index }) => data[index].color || "");
1058
+ }
1003
1059
  if (enableSlicesLabels) {
1004
1060
  const text = global
1005
1061
  .selectAll("allSlices")
@@ -1848,7 +1904,7 @@ const drawTooltip$2 = ({ svg, node, data: argData, xScale, yScale, dynamicCircle
1848
1904
  };
1849
1905
 
1850
1906
  const draw$2 = (node, props) => {
1851
- const { data: chartData, labels, margin, customYAxisSelection, customXAxisSelection, customYAxis, customXAxis, curve, yAxisPadding, xAxisPadding, drawGridY, drawGridX, withLabels, formatLabel, eachLabel, stacked, dynamicTooltipEnable, dynamicCircleRadius, formatDynamicTooltip, renderTooltip, stackedTooltip, stackedTooltipIndex, tooltipLineTop, customize, customYScale, customLine, tooltipClassName, xScaleItemWidth, areaCurve, dotSnapping, rightAxis, markers, } = props;
1907
+ const { data: chartData, labels, margin, customYAxisSelection, customXAxisSelection, customYAxis, customXAxis, curve, yAxisPadding, xAxisPadding, drawGridY, drawGridX, withLabels, formatLabel, eachLabel, stacked, dynamicTooltipEnable, dynamicCircleRadius, formatDynamicTooltip, renderTooltip, stackedTooltip, stackedTooltipIndex, tooltipLineTop, customize, customYScale, customLine, tooltipClassName, xScaleItemWidth, areaCurve, dotSnapping, rightAxis, markers, transitionDuration = 300, } = props;
1852
1908
  if (node !== null && chartData.length) {
1853
1909
  const data = stacked ? stackedData(chartData) : chartData;
1854
1910
  const marginTop = margin ? margin.top : 0;
@@ -1864,6 +1920,14 @@ const draw$2 = (node, props) => {
1864
1920
  const max = typeof props.max === 'number'
1865
1921
  ? props.max
1866
1922
  : d3__namespace.max(data, ({ values }) => d3__namespace.max(values));
1923
+ const prevStrokes = new Map();
1924
+ if (transitionDuration > 0) {
1925
+ d3__namespace.select(node)
1926
+ .selectAll(`svg .${lineChartClassNames.lineChartLinesGlobal} .${lineChartClassNames.lineChartLine}`)
1927
+ .each(function (_, i) {
1928
+ prevStrokes.set(i, d3__namespace.select(this).attr('stroke') || '');
1929
+ });
1930
+ }
1867
1931
  const svg = appendSvg(node, width, height || 0);
1868
1932
  const yRange = [
1869
1933
  height - marginTop - marginBottom - (xAxisPadding || 0),
@@ -2002,7 +2066,7 @@ const draw$2 = (node, props) => {
2002
2066
  .attr('fill', ({ fill }) => fill || 'none')
2003
2067
  .attr('style', ({ areaStyle }) => areaStyle || '');
2004
2068
  }
2005
- svg
2069
+ const lineSelection = svg
2006
2070
  .append('g')
2007
2071
  .attr('class', lineChartClassNames.lineChartLinesGlobal)
2008
2072
  .selectAll('path')
@@ -2010,8 +2074,17 @@ const draw$2 = (node, props) => {
2010
2074
  .join('path')
2011
2075
  .attr('class', lineChartClassNames.lineChartLine)
2012
2076
  .attr('d', (d) => line(d.values))
2013
- .attr('stroke', ({ stroke }) => stroke || 'steelblue')
2014
2077
  .attr('style', ({ style }) => style || '');
2078
+ if (transitionDuration > 0 && prevStrokes.size > 0) {
2079
+ lineSelection
2080
+ .attr('stroke', (_, i) => prevStrokes.get(i) || (data[i]?.stroke || 'steelblue'))
2081
+ .transition()
2082
+ .duration(transitionDuration)
2083
+ .attr('stroke', ({ stroke }) => stroke || 'steelblue');
2084
+ }
2085
+ else {
2086
+ lineSelection.attr('stroke', ({ stroke }) => stroke || 'steelblue');
2087
+ }
2015
2088
  const dots = data.filter(({ dot }) => dot);
2016
2089
  if (dots.length > 0) {
2017
2090
  const dotsGlobal = svg
@@ -2802,7 +2875,7 @@ const getBars = ({ groups, barWidth }) => {
2802
2875
 
2803
2876
  const MIN_BAR_HEIGHT = 2;
2804
2877
  const draw$1 = (node, props) => {
2805
- const { data, lineData = [], markers = [], barWidth: barWidthProp, barPadding, colors, margin, xAxisPadding, yAxisPadding, drawGridY, drawGridX, customYScale, customXScale, customYAxisLeft, customXAxisBottom, customYAxis, customXAxis, customBars, customize, dynamicTooltipEnable, hideTooltipGroupName, renderTooltip, labelPosition, renderLabel, tooltipY, tooltipBind, stackedLine, curve, formatTooltipValue, formatTooltipName, sectionPadding, minValuesLine, tooltipYDomain, marshalledMap, minValue, maxValue, minDomainValue, maxDomainValue, drawBars, setTooltipPosition, onLabelItem, isBarTooltip, xScaleItemWidth, tooltipRoot, tooltipClassName, onBarClick, onBarHover, } = props;
2878
+ const { data, lineData = [], markers = [], barWidth: barWidthProp, barPadding, colors, margin, xAxisPadding, yAxisPadding, drawGridY, drawGridX, customYScale, customXScale, customYAxisLeft, customXAxisBottom, customYAxis, customXAxis, customBars, customize, dynamicTooltipEnable, hideTooltipGroupName, renderTooltip, labelPosition, renderLabel, tooltipY, tooltipBind, stackedLine, curve, formatTooltipValue, formatTooltipName, sectionPadding, minValuesLine, tooltipYDomain, marshalledMap, minValue, maxValue, minDomainValue, maxDomainValue, drawBars, setTooltipPosition, onLabelItem, isBarTooltip, xScaleItemWidth, tooltipRoot, tooltipClassName, onBarClick, onBarHover, transitionDuration = 300, } = props;
2806
2879
  if (node !== null && data.length) {
2807
2880
  const marginTop = margin?.top ?? 0;
2808
2881
  const marginRight = margin?.right ?? 0;
@@ -2825,6 +2898,20 @@ const draw$1 = (node, props) => {
2825
2898
  ? maxValue
2826
2899
  : Math.max(d3__namespace.max(lineData, ({ values }) => d3__namespace.max(values)) ||
2827
2900
  Number.NEGATIVE_INFINITY, barDomain.max);
2901
+ const prevBarFills = new Map();
2902
+ if (transitionDuration > 0) {
2903
+ d3__namespace.select(node)
2904
+ .selectAll(`svg .${barChartClassNames.barChartBarGlobal} g`)
2905
+ .each(function (_, groupIdx) {
2906
+ d3__namespace.select(this).selectAll('rect')
2907
+ .each(function (_, rectIdx) {
2908
+ const fill = this.style.fill;
2909
+ if (fill) {
2910
+ prevBarFills.set(`${groupIdx}-${rectIdx}`, fill);
2911
+ }
2912
+ });
2913
+ });
2914
+ }
2828
2915
  const svg = appendSvg(node, width, height || 0);
2829
2916
  const yTicksCountDefault = 4;
2830
2917
  const labels = data.map((item) => item.groupName);
@@ -2979,6 +3066,24 @@ const draw$1 = (node, props) => {
2979
3066
  });
2980
3067
  }
2981
3068
  customize && customize({ svg, marshalledData, yScale, xScale, lineData });
3069
+ if (transitionDuration > 0 && prevBarFills.size > 0) {
3070
+ d3__namespace.select(node)
3071
+ .selectAll(`.${barChartClassNames.barChartBarGlobal} g`)
3072
+ .each(function (_, groupIdx) {
3073
+ d3__namespace.select(this).selectAll('rect')
3074
+ .each(function (_, rectIdx) {
3075
+ const prevFill = prevBarFills.get(`${groupIdx}-${rectIdx}`);
3076
+ const currentFill = this.style.fill;
3077
+ if (prevFill && prevFill !== currentFill) {
3078
+ d3__namespace.select(this)
3079
+ .style('fill', prevFill)
3080
+ .transition()
3081
+ .duration(transitionDuration)
3082
+ .style('fill', currentFill);
3083
+ }
3084
+ });
3085
+ });
3086
+ }
2982
3087
  }
2983
3088
  };
2984
3089
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.1.54-alpha.3",
2
+ "version": "3.1.54-alpha.5",
3
3
  "name": "@evergis/charts",
4
4
  "author": "Everpoint",
5
5
  "license": "MIT",
@@ -54,5 +54,5 @@
54
54
  "react-is": "^19.1.1",
55
55
  "styled-components": "5.3.5"
56
56
  },
57
- "gitHead": "01ef957006b5753b413a5c525ce21df4b3e03a79"
57
+ "gitHead": "947acaea424b2eebc02e0901b12d169835f88baa"
58
58
  }