gifted-charts-core 0.1.62 → 0.1.63

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.
@@ -5,7 +5,7 @@ interface Animated2dWithGradientPropsType extends BarChartPropsType {
5
5
  item: barDataItemNullSafe;
6
6
  index: number;
7
7
  barHeight: number;
8
- selectedIndex: number;
8
+ selectedIndex: number[];
9
9
  barBackgroundPattern?: () => ReactNode;
10
10
  barInnerComponent?: (item?: stackDataItem | barDataItem, index?: number) => ReactNode;
11
11
  patternId?: string;
@@ -27,7 +27,7 @@ import { getBarFrontColor, getBarWidth } from '../utils';
27
27
  export var getPropsForAnimated2DWithGradient = function (props) {
28
28
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
29
29
  var barBorderWidth = props.barBorderWidth, barBorderColor = props.barBorderColor, barBorderRadius = props.barBorderRadius, barMarginBottom = props.barMarginBottom, item = props.item, barBorderTopLeftRadius = props.barBorderTopLeftRadius, barBorderTopRightRadius = props.barBorderTopRightRadius, barBorderBottomLeftRadius = props.barBorderBottomLeftRadius, barBorderBottomRightRadius = props.barBorderBottomRightRadius, barWidth = props.barWidth, barInnerComponent = props.barInnerComponent, barStyle = props.barStyle, index = props.index, opacity = props.opacity, barHeight = props.barHeight, intactTopLabel = props.intactTopLabel, showValuesAsTopLabel = props.showValuesAsTopLabel, topLabelContainerStyle = props.topLabelContainerStyle, topLabelTextStyle = props.topLabelTextStyle, roundedBottom = props.roundedBottom, cappedBars = props.cappedBars, capRadius = props.capRadius, roundedTop = props.roundedTop, barBackgroundPattern = props.barBackgroundPattern, patternId = props.patternId, frontColor = props.frontColor, showGradient = props.showGradient, gradientColor = props.gradientColor, selectedIndex = props.selectedIndex, focusBarOnPress = props.focusBarOnPress, focusedBarConfig = props.focusedBarConfig, isThreeD = props.isThreeD, yAxisOffset = props.yAxisOffset;
30
- var isFocused = (focusBarOnPress !== null && focusBarOnPress !== void 0 ? focusBarOnPress : false) && selectedIndex === index;
30
+ var isFocused = (focusBarOnPress !== null && focusBarOnPress !== void 0 ? focusBarOnPress : false) && selectedIndex.includes(index);
31
31
  var itemOrPropsBarBorderRadius = (_b = (_a = item.barBorderRadius) !== null && _a !== void 0 ? _a : barBorderRadius) !== null && _b !== void 0 ? _b : 0;
32
32
  var localBarBorderRadius = (isFocused !== null && isFocused !== void 0 ? isFocused : false)
33
33
  ? (_c = focusedBarConfig === null || focusedBarConfig === void 0 ? void 0 : focusedBarConfig.borderRadius) !== null && _c !== void 0 ? _c : itemOrPropsBarBorderRadius
@@ -77,8 +77,8 @@ export declare const useBarChart: (props: extendedBarChartPropsType) => {
77
77
  barBorderColor: import("react-native").ColorValue;
78
78
  barInnerComponent: ((item?: stackDataItem | barDataItem, index?: number) => import("react").ReactNode) | undefined;
79
79
  xAxisTextNumberOfLines: number;
80
- selectedIndex: number;
81
- setSelectedIndex: import("react").Dispatch<import("react").SetStateAction<number>>;
80
+ selectedIndex: number[];
81
+ setSelectedIndex: import("react").Dispatch<import("react").SetStateAction<number[]>>;
82
82
  isAnimated: boolean;
83
83
  animationDuration: number;
84
84
  side: string;
@@ -171,8 +171,8 @@ export declare const useBarChart: (props: extendedBarChartPropsType) => {
171
171
  leftShiftForTooltip: number;
172
172
  autoCenterTooltip: boolean | undefined;
173
173
  initialSpacing: number;
174
- selectedIndex: number;
175
- setSelectedIndex: import("react").Dispatch<import("react").SetStateAction<number>>;
174
+ selectedIndex: number[];
175
+ setSelectedIndex: import("react").Dispatch<import("react").SetStateAction<number[]>>;
176
176
  activeOpacity: number;
177
177
  noOfSectionsBelowXAxis: number;
178
178
  leftShiftForLastIndexTooltip: number;
@@ -183,7 +183,7 @@ export declare const useBarChart: (props: extendedBarChartPropsType) => {
183
183
  pointerConfig: import("../utils/types").Pointer | undefined;
184
184
  yAxisExtraHeightAtTop: number;
185
185
  yAxisOffset: number;
186
- focusedBarIndex: number | undefined;
186
+ focusedBarIndex: number | number[] | undefined;
187
187
  stepHeight: number;
188
188
  stepValue: number;
189
189
  negativeStepHeight: number;
@@ -197,7 +197,7 @@ export declare const useBarChart: (props: extendedBarChartPropsType) => {
197
197
  secondaryNoOfSectionsBelowXAxis: number;
198
198
  barMarginBottom: any;
199
199
  highlightEnabled: boolean;
200
- highlightedBarIndex: number;
200
+ highlightedBarIndex: number | number[];
201
201
  lowlightOpacity: number;
202
202
  stackHighlightEnabled: boolean;
203
203
  };
@@ -34,11 +34,19 @@ export var useBarChart = function (props) {
34
34
  var _65 = __read(useState(''), 2), points = _65[0], setPoints = _65[1];
35
35
  var _66 = __read(useState(''), 2), points2 = _66[0], setPoints2 = _66[1];
36
36
  var _67 = __read(useState(''), 2), arrowPoints = _67[0], setArrowPoints = _67[1];
37
- var _68 = __read(useState(focusedBarIndex !== null && focusedBarIndex !== void 0 ? focusedBarIndex : -1), 2), selectedIndex = _68[0], setSelectedIndex = _68[1];
37
+ var _68 = __read(useState(function () {
38
+ if (Array.isArray(focusedBarIndex)) {
39
+ return focusedBarIndex;
40
+ }
41
+ return [focusedBarIndex !== null && focusedBarIndex !== void 0 ? focusedBarIndex : -1];
42
+ }), 2), selectedIndex = _68[0], setSelectedIndex = _68[1];
38
43
  var _69 = __read(useState((_a = props.highlightedStackIndex) !== null && _a !== void 0 ? _a : -1), 2), selectedStackIndex = _69[0], setSelectedStackIndex = _69[1];
39
44
  var showLine = (_b = props.showLine) !== null && _b !== void 0 ? _b : BarDefaults.showLine;
40
45
  useEffect(function () {
41
- setSelectedIndex(focusedBarIndex !== null && focusedBarIndex !== void 0 ? focusedBarIndex : -1);
46
+ var newIndex = Array.isArray(focusedBarIndex)
47
+ ? focusedBarIndex
48
+ : [focusedBarIndex !== null && focusedBarIndex !== void 0 ? focusedBarIndex : -1];
49
+ setSelectedIndex(newIndex);
42
50
  }, [focusedBarIndex]);
43
51
  useEffect(function () {
44
52
  var _a;
@@ -139,7 +139,7 @@ export interface StackedBarChartPropsType {
139
139
  secondaryNoOfSectionsBelowXAxis: number;
140
140
  containerHeightIncludingBelowXAxis: number;
141
141
  highlightEnabled: boolean;
142
- highlightedBarIndex: number;
142
+ highlightedBarIndex: number | number[];
143
143
  lowlightOpacity: number;
144
144
  stackHighlightEnabled?: boolean;
145
145
  selectedStackIndex: number;
@@ -332,9 +332,9 @@ export interface BarChartPropsType {
332
332
  onScrollEndDrag?: (event: any, direction: any) => void;
333
333
  focusBarOnPress?: boolean;
334
334
  focusedBarConfig?: FocusedBarConfig;
335
- focusedBarIndex?: number;
335
+ focusedBarIndex?: number | number[];
336
336
  highlightEnabled?: boolean;
337
- highlightedBarIndex?: number;
337
+ highlightedBarIndex?: number | number[];
338
338
  lowlightOpacity?: number;
339
339
  stackHighlightEnabled?: boolean;
340
340
  highlightedStackIndex?: number;
@@ -605,14 +605,14 @@ export interface RenderBarsPropsType {
605
605
  autoCenterTooltip?: boolean;
606
606
  leftShiftForLastIndexTooltip: number;
607
607
  initialSpacing: number;
608
- selectedIndex: number;
608
+ selectedIndex: number[];
609
609
  setSelectedIndex: Function;
610
610
  barStyle?: object;
611
611
  xAxisThickness?: number;
612
612
  secondaryXAxis?: XAxisConfig;
613
613
  pointerConfig?: Pointer;
614
614
  focusBarOnPress?: boolean;
615
- focusedBarIndex?: number;
615
+ focusedBarIndex?: number | number[];
616
616
  noOfSectionsBelowXAxis?: number;
617
617
  yAxisOffset: number;
618
618
  stepHeight: number;
@@ -625,7 +625,7 @@ export interface RenderBarsPropsType {
625
625
  secondaryNegativeStepValue: number;
626
626
  secondaryNoOfSectionsBelowXAxis: number;
627
627
  highlightEnabled: boolean;
628
- highlightedBarIndex: number;
628
+ highlightedBarIndex: number | number[];
629
629
  lowlightOpacity: number;
630
630
  }
631
631
  export interface RenderBarsPropsTypeForWeb extends RenderBarsPropsType {
@@ -660,7 +660,7 @@ export interface animatedBarPropTypes {
660
660
  barStyle?: object;
661
661
  item: barDataItem;
662
662
  index: number;
663
- selectedIndex: number;
663
+ selectedIndex: number[];
664
664
  focusBarOnPress?: boolean;
665
665
  focusedBarConfig?: FocusedBarConfig;
666
666
  }
@@ -398,7 +398,7 @@ export var useLineChartBiColor = function (props) {
398
398
  scrollAnimation: scrollAnimation,
399
399
  scrollEventThrottle: scrollEventThrottle,
400
400
  indicatorColor: props.indicatorColor,
401
- selectedIndex: selectedIndex,
401
+ selectedIndex: [selectedIndex],
402
402
  setSelectedIndex: setSelectedIndex,
403
403
  spacing: spacing,
404
404
  showLine: false,
@@ -1345,7 +1345,7 @@ export var useLineChart = function (props) {
1345
1345
  scrollAnimation: scrollAnimation,
1346
1346
  scrollEventThrottle: scrollEventThrottle,
1347
1347
  indicatorColor: props.indicatorColor,
1348
- selectedIndex: selectedIndex,
1348
+ selectedIndex: [selectedIndex],
1349
1349
  setSelectedIndex: setSelectedIndex,
1350
1350
  spacing: spacing,
1351
1351
  showLine: false,
@@ -20,7 +20,7 @@ import { getBarSideColor, getBarTopColor } from '../../utils';
20
20
  export var useAnimatedThreeDBar = function (props) {
21
21
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
22
22
  var focusBarOnPress = props.focusBarOnPress, index = props.index, selectedIndex = props.selectedIndex, focusedBarConfig = props.focusedBarConfig, item = props.item;
23
- var isFocused = focusBarOnPress && index === selectedIndex;
23
+ var isFocused = focusBarOnPress && selectedIndex.includes(index);
24
24
  var localFrontColor = props.frontColor || BarDefaults.threeDBarFrontColor;
25
25
  var localGradientColor = props.gradientColor || BarDefaults.threeDBarGradientColor;
26
26
  var localSideColor = props.sideColor || BarDefaults.threeDBarSideColor;
@@ -147,7 +147,7 @@ export interface LineInBarChartPropsType {
147
147
  labelsExtraHeight: number;
148
148
  scrollEventThrottle: number;
149
149
  xAxisLabelsVerticalShift: number;
150
- selectedIndex: number;
150
+ selectedIndex: number[];
151
151
  yAxisOffset: number;
152
152
  strokeDashArray: number[];
153
153
  highlightEnabled: boolean;
@@ -291,7 +291,7 @@ export interface BarAndLineChartsWrapperTypes {
291
291
  scrollToIndex: number | undefined;
292
292
  scrollAnimation: boolean;
293
293
  indicatorColor: 'black' | 'default' | 'white' | undefined;
294
- selectedIndex: number;
294
+ selectedIndex: number[];
295
295
  setSelectedIndex: any;
296
296
  spacing: number;
297
297
  showLine: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gifted-charts-core",
3
- "version": "0.1.62",
3
+ "version": "0.1.63",
4
4
  "description": "Mathematical and logical utilities used by react-gifted-charts and react-native-gifted-charts",
5
5
  "main": "./dist/index.js",
6
6
  "files": [
@@ -15,10 +15,10 @@
15
15
  "@testing-library/jest-dom": "^6.4.8",
16
16
  "@testing-library/react": "^16.0.0",
17
17
  "@testing-library/user-event": "^14.5.2",
18
- "@typescript-eslint/eslint-plugin": "^7.17.0",
19
18
  "@types/react": "^18.3.3",
20
19
  "@types/react-dom": "^18.3.0",
21
20
  "@types/react-native": "^0.73.0",
21
+ "@typescript-eslint/eslint-plugin": "^7.17.0",
22
22
  "eslint": "^8.56.0",
23
23
  "eslint-config-love": "^62.0.0",
24
24
  "eslint-plugin-import": "^2.29.1",
@@ -29,7 +29,8 @@
29
29
  },
30
30
  "peerDependencies": {
31
31
  "react": "*",
32
- "react-native": "*"
32
+ "react-native": "*",
33
+ "react-native-svg": "*"
33
34
  },
34
35
  "eslintConfig": {
35
36
  "extends": [