react-navigation-reanimated-top-tabs 0.9.1 → 0.9.3

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 (37) hide show
  1. package/lib/commonjs/components/ReanimatedTopTab/AnimationHelper.js +6 -4
  2. package/lib/commonjs/components/ReanimatedTopTab/AnimationHelper.js.map +1 -1
  3. package/lib/commonjs/components/ReanimatedTopTab/ReanimatedTabView.js +10 -30
  4. package/lib/commonjs/components/ReanimatedTopTab/ReanimatedTabView.js.map +1 -1
  5. package/lib/commonjs/components/elements/TabBarBaseItem.js +7 -4
  6. package/lib/commonjs/components/elements/TabBarBaseItem.js.map +1 -1
  7. package/lib/commonjs/components/elements/TabBarLabelBaseComponent.js +9 -26
  8. package/lib/commonjs/components/elements/TabBarLabelBaseComponent.js.map +1 -1
  9. package/lib/commonjs/index.js +9 -11
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/module/components/ReanimatedTopTab/AnimationHelper.js +7 -5
  12. package/lib/module/components/ReanimatedTopTab/AnimationHelper.js.map +1 -1
  13. package/lib/module/components/ReanimatedTopTab/ReanimatedTabView.js +11 -31
  14. package/lib/module/components/ReanimatedTopTab/ReanimatedTabView.js.map +1 -1
  15. package/lib/module/components/elements/TabBarBaseItem.js +8 -5
  16. package/lib/module/components/elements/TabBarBaseItem.js.map +1 -1
  17. package/lib/module/components/elements/TabBarLabelBaseComponent.js +8 -24
  18. package/lib/module/components/elements/TabBarLabelBaseComponent.js.map +1 -1
  19. package/lib/module/index.js +9 -11
  20. package/lib/module/index.js.map +1 -1
  21. package/lib/typescript/src/components/ReanimatedTopTab/AnimationHelper.d.ts +4 -8
  22. package/lib/typescript/src/components/ReanimatedTopTab/AnimationHelper.d.ts.map +1 -1
  23. package/lib/typescript/src/components/ReanimatedTopTab/ReanimatedTabView.d.ts.map +1 -1
  24. package/lib/typescript/src/components/ReanimatedTopTab/types.d.ts +0 -1
  25. package/lib/typescript/src/components/ReanimatedTopTab/types.d.ts.map +1 -1
  26. package/lib/typescript/src/components/elements/TabBarBaseItem.d.ts.map +1 -1
  27. package/lib/typescript/src/components/elements/TabBarLabelBaseComponent.d.ts +1 -2
  28. package/lib/typescript/src/components/elements/TabBarLabelBaseComponent.d.ts.map +1 -1
  29. package/lib/typescript/src/index.d.ts +1 -2
  30. package/lib/typescript/src/index.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/src/components/ReanimatedTopTab/AnimationHelper.ts +11 -10
  33. package/src/components/ReanimatedTopTab/ReanimatedTabView.tsx +18 -43
  34. package/src/components/ReanimatedTopTab/types.ts +0 -1
  35. package/src/components/elements/TabBarBaseItem.tsx +3 -3
  36. package/src/components/elements/TabBarLabelBaseComponent.tsx +8 -45
  37. package/src/index.tsx +9 -11
@@ -11,7 +11,7 @@ const onChange = (event, animationValue, width, navigationState) => {
11
11
  if (animationValue > 0) {
12
12
  return 0;
13
13
  }
14
- const routesLength = navigationState.size - 1;
14
+ const routesLength = navigationState.routes.length - 1;
15
15
  if (animationValue < -width * routesLength) {
16
16
  return -width * routesLength;
17
17
  }
@@ -20,7 +20,7 @@ const onChange = (event, animationValue, width, navigationState) => {
20
20
  const getIndex = (navigationState, type) => {
21
21
  'worklet';
22
22
 
23
- const max = navigationState.size - 1;
23
+ const max = navigationState.routes.length - 1;
24
24
  const current = navigationState.index;
25
25
  if (type === 'increment' && current < max) {
26
26
  return current + 1;
@@ -56,11 +56,13 @@ const onEnd = (event, minimumValueToChangeView, width, navigationState) => {
56
56
  value: -width * navigationState.index
57
57
  };
58
58
  };
59
- const animation = (newValue, duration = 200) => {
59
+ const animation = (newValue, onFinished) => {
60
60
  'worklet';
61
61
 
62
62
  return (0, _reactNativeReanimated.withTiming)(newValue, {
63
- duration
63
+ duration: 350
64
+ }, finished => {
65
+ if (finished && onFinished) (0, _reactNativeReanimated.runOnJS)(onFinished)();
64
66
  });
65
67
  };
66
68
  const AnimationHelper = exports.AnimationHelper = {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","onChange","event","animationValue","width","navigationState","routesLength","size","changeX","getIndex","type","max","current","index","onEnd","minimumValueToChangeView","velocityX","translationX","newIndex","value","animation","newValue","duration","withTiming","AnimationHelper","exports"],"sourceRoot":"../../../../src","sources":["components/ReanimatedTopTab/AnimationHelper.ts"],"mappings":";;;;;;AAMA,IAAAA,sBAAA,GAAAC,OAAA;AAIA,MAAMC,QAAQ,GAAGA,CACfC,KAEC,EACDC,cAAsB,EACtBC,KAAa,EACbC,eAAgC,KAC7B;EACH,SAAS;;EACT,IAAIF,cAAc,GAAG,CAAC,EAAE;IACtB,OAAO,CAAC;EACV;EACA,MAAMG,YAAY,GAAGD,eAAe,CAACE,IAAI,GAAG,CAAC;EAC7C,IAAIJ,cAAc,GAAG,CAACC,KAAK,GAAGE,YAAY,EAAE;IAC1C,OAAO,CAACF,KAAK,GAAGE,YAAY;EAC9B;EACA,OAAOH,cAAc,GAAGD,KAAK,CAACM,OAAO;AACvC,CAAC;AAED,MAAMC,QAAQ,GAAGA,CACfJ,eAAgC,EAChCK,IAA+B,KAC5B;EACH,SAAS;;EACT,MAAMC,GAAG,GAAGN,eAAe,CAACE,IAAI,GAAG,CAAC;EACpC,MAAMK,OAAO,GAAGP,eAAe,CAACQ,KAAK;EAErC,IAAIH,IAAI,KAAK,WAAW,IAAIE,OAAO,GAAGD,GAAG,EAAE;IACzC,OAAOC,OAAO,GAAG,CAAC;EACpB;EAEA,IAAIF,IAAI,KAAK,WAAW,IAAIE,OAAO,GAAG,CAAC,EAAE;IACvC,OAAOA,OAAO,GAAG,CAAC;EACpB;EAEA,OAAOA,OAAO;AAChB,CAAC;AAED,MAAME,KAAK,GAAGA,CACZZ,KAA6D,EAC7Da,wBAAgC,EAChCX,KAAa,EACbC,eAAgC,KAC7B;EACH,SAAS;;EACT,MAAM;IAAEW,SAAS;IAAEC;EAAa,CAAC,GAAGf,KAAK;EAEzC,IAAIc,SAAS,GAAG,CAAC,GAAG,IAAIC,YAAY,GAAG,CAACF,wBAAwB,EAAE;IAChE,MAAMG,QAAQ,GAAGT,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;IACvD,OAAO;MACLQ,KAAK,EAAEK,QAAQ;MACfC,KAAK,EAAE,CAACf,KAAK,GAAGc;IAClB,CAAC;EACH;EACA,IAAIF,SAAS,GAAG,GAAG,IAAIC,YAAY,GAAGF,wBAAwB,EAAE;IAC9D,MAAMG,QAAQ,GAAGT,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;IACvD,OAAO;MACLQ,KAAK,EAAEK,QAAQ;MACfC,KAAK,EAAE,CAACf,KAAK,GAAGc;IAClB,CAAC;EACH;EACA,OAAO;IACLL,KAAK,EAAER,eAAe,CAACQ,KAAK;IAC5BM,KAAK,EAAE,CAACf,KAAK,GAAGC,eAAe,CAACQ;EAClC,CAAC;AACH,CAAC;AAED,MAAMO,SAAS,GAAGA,CAACC,QAAgB,EAAEC,QAAQ,GAAG,GAAG,KAAK;EACtD,SAAS;;EACT,OAAO,IAAAC,iCAAU,EAACF,QAAQ,EAAE;IAAEC;EAAS,CAAC,CAAC;AAC3C,CAAC;AAEM,MAAME,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7BJ,SAAS;EACTnB,QAAQ;EACRa;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","onChange","event","animationValue","width","navigationState","routesLength","routes","length","changeX","getIndex","type","max","current","index","onEnd","minimumValueToChangeView","velocityX","translationX","newIndex","value","animation","newValue","onFinished","withTiming","duration","finished","runOnJS","AnimationHelper","exports"],"sourceRoot":"../../../../src","sources":["components/ReanimatedTopTab/AnimationHelper.ts"],"mappings":";;;;;;AAMA,IAAAA,sBAAA,GAAAC,OAAA;AAGA,MAAMC,QAAQ,GAAGA,CACfC,KAEC,EACDC,cAAsB,EACtBC,KAAa,EACbC,eAAuD,KACpD;EACH,SAAS;;EACT,IAAIF,cAAc,GAAG,CAAC,EAAE;IACtB,OAAO,CAAC;EACV;EACA,MAAMG,YAAY,GAAGD,eAAe,CAACE,MAAM,CAACC,MAAM,GAAG,CAAC;EACtD,IAAIL,cAAc,GAAG,CAACC,KAAK,GAAGE,YAAY,EAAE;IAC1C,OAAO,CAACF,KAAK,GAAGE,YAAY;EAC9B;EACA,OAAOH,cAAc,GAAGD,KAAK,CAACO,OAAO;AACvC,CAAC;AAED,MAAMC,QAAQ,GAAGA,CACfL,eAAuD,EACvDM,IAA+B,KAC5B;EACH,SAAS;;EACT,MAAMC,GAAG,GAAGP,eAAe,CAACE,MAAM,CAACC,MAAM,GAAG,CAAC;EAC7C,MAAMK,OAAO,GAAGR,eAAe,CAACS,KAAK;EAErC,IAAIH,IAAI,KAAK,WAAW,IAAIE,OAAO,GAAGD,GAAG,EAAE;IACzC,OAAOC,OAAO,GAAG,CAAC;EACpB;EAEA,IAAIF,IAAI,KAAK,WAAW,IAAIE,OAAO,GAAG,CAAC,EAAE;IACvC,OAAOA,OAAO,GAAG,CAAC;EACpB;EAEA,OAAOA,OAAO;AAChB,CAAC;AAED,MAAME,KAAK,GAAGA,CACZb,KAA6D,EAC7Dc,wBAAgC,EAChCZ,KAAa,EACbC,eAAuD,KACpD;EACH,SAAS;;EACT,MAAM;IAAEY,SAAS;IAAEC;EAAa,CAAC,GAAGhB,KAAK;EAEzC,IAAIe,SAAS,GAAG,CAAC,GAAG,IAAIC,YAAY,GAAG,CAACF,wBAAwB,EAAE;IAChE,MAAMG,QAAQ,GAAGT,QAAQ,CAACL,eAAe,EAAE,WAAW,CAAC;IACvD,OAAO;MACLS,KAAK,EAAEK,QAAQ;MACfC,KAAK,EAAE,CAAChB,KAAK,GAAGe;IAClB,CAAC;EACH;EACA,IAAIF,SAAS,GAAG,GAAG,IAAIC,YAAY,GAAGF,wBAAwB,EAAE;IAC9D,MAAMG,QAAQ,GAAGT,QAAQ,CAACL,eAAe,EAAE,WAAW,CAAC;IACvD,OAAO;MACLS,KAAK,EAAEK,QAAQ;MACfC,KAAK,EAAE,CAAChB,KAAK,GAAGe;IAClB,CAAC;EACH;EACA,OAAO;IACLL,KAAK,EAAET,eAAe,CAACS,KAAK;IAC5BM,KAAK,EAAE,CAAChB,KAAK,GAAGC,eAAe,CAACS;EAClC,CAAC;AACH,CAAC;AAED,MAAMO,SAAS,GAAGA,CAACC,QAAgB,EAAEC,UAAuB,KAAK;EAC/D,SAAS;;EACT,OAAO,IAAAC,iCAAU,EAACF,QAAQ,EAAE;IAAEG,QAAQ,EAAE;EAAI,CAAC,EAAGC,QAAQ,IAAK;IAC3D,IAAIA,QAAQ,IAAIH,UAAU,EAAE,IAAAI,8BAAO,EAACJ,UAAU,CAAC,CAAC,CAAC;EACnD,CAAC,CAAC;AACJ,CAAC;AAEM,MAAMK,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7BP,SAAS;EACTpB,QAAQ;EACRc;AACF,CAAC","ignoreList":[]}
@@ -27,52 +27,36 @@ const ReanimatedTabView = exports.ReanimatedTabView = /*#__PURE__*/_react.defaul
27
27
  width
28
28
  } = (0, _reactNative.useWindowDimensions)();
29
29
  const loadedScreens = (0, _react.useRef)([navigationState.routes[navigationState.index]]);
30
+ const navigationStateRef = (0, _reactNativeReanimated.useSharedValue)(navigationState);
30
31
  const scrollPosition = (0, _reactNativeReanimated.useSharedValue)(navigationState.index);
31
32
  const {
32
33
  positionX
33
34
  } = (0, _useTabContext.useTabContext)();
35
+ (0, _react.useEffect)(() => {
36
+ navigationStateRef.value = navigationState;
37
+ }, [navigationState]);
34
38
  (0, _reactNativeReanimated.useAnimatedReaction)(() => scrollPosition.value, value => {
35
- positionX.value = (0, _reactNativeReanimated.interpolate)(value, navigationState.routes.map((_, i) => i * -width), navigationState.routes.map((_, i) => i), 'clamp');
39
+ positionX.value = (0, _reactNativeReanimated.interpolate)(value, navigationState.routes.map((_, i) => i * -width).reverse(), navigationState.routes.map((_, i) => i).reverse(), 'clamp');
36
40
  });
37
41
  const _navigate = index => {
38
- scrollPosition.value = _AnimationHelper.AnimationHelper.animation(-index * width);
39
- navigate(index);
42
+ scrollPosition.value = _AnimationHelper.AnimationHelper.animation(-index * width, () => navigate(index));
40
43
  };
41
44
  const minimumValueToChangeView = (0, _react.useMemo)(() => width * percentageTrigger, [percentageTrigger, width]);
42
- const _navigationState = (0, _reactNativeReanimated.useSharedValue)({
43
- size: 0,
44
- index: 0
45
- });
46
- (0, _react.useEffect)(() => {
47
- (0, _reactNativeReanimated.runOnUI)(() => {
48
- _navigationState.value.size = navigationState.routes.length;
49
- _navigationState.value.index = navigationState.index;
50
- })();
51
- }, [navigationState]);
52
45
  const panGesture = _react.default.useMemo(() => _reactNativeGestureHandler.Gesture.Pan().failOffsetY([-10, 10]).activeOffsetX([-20, 20]).onChange(event => {
53
46
  'worklet';
54
47
 
55
- scrollPosition.value = _AnimationHelper.AnimationHelper.onChange(event, scrollPosition.value, width, _navigationState.value);
48
+ scrollPosition.value = _AnimationHelper.AnimationHelper.onChange(event, scrollPosition.value, width, navigationStateRef.value);
56
49
  }).onEnd(event => {
57
50
  'worklet';
58
51
 
59
- const state = _AnimationHelper.AnimationHelper.onEnd(event, minimumValueToChangeView, width, _navigationState.value);
60
- scrollPosition.value = _AnimationHelper.AnimationHelper.animation(state.value);
61
- _navigationState.value.index = state.index;
62
- (0, _reactNativeReanimated.runOnJS)(navigate)(state.index);
52
+ const state = _AnimationHelper.AnimationHelper.onEnd(event, minimumValueToChangeView, width, navigationStateRef.value);
53
+ (0, _reactNativeReanimated.runOnJS)(_navigate)(state.index);
63
54
  }), [minimumValueToChangeView, width]);
64
55
  const scrollPositionStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
65
56
  transform: [{
66
57
  translateX: (0, _reactNativeReanimated.interpolate)(scrollPosition.value, [-width * (navigationState.routes.length - 1), 0], [-width * (navigationState.routes.length - 1), 0], 'clamp')
67
58
  }]
68
59
  }));
69
- const jumpTo = _react.default.useCallback(key => {
70
- const newIndex = navigationState.routes.findIndex(route => route.key === key);
71
- if (newIndex === -1) {
72
- return;
73
- }
74
- scrollPosition.value = _AnimationHelper.AnimationHelper.animation(-newIndex * width);
75
- }, [navigationState.routes, width]);
76
60
  const chooseRender = (0, _react.useCallback)((params, useRenderScene = true) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
77
61
  style: {
78
62
  width
@@ -82,29 +66,25 @@ const ReanimatedTabView = exports.ReanimatedTabView = /*#__PURE__*/_react.defaul
82
66
  const Routes = (0, _react.useMemo)(() => navigationState.routes.map((route, index) => {
83
67
  if (!lazy) {
84
68
  return chooseRender({
85
- jumpTo,
86
69
  route
87
70
  });
88
71
  }
89
72
  const screen = loadedScreens.current.find(loadedScreen => loadedScreen?.key === route.key);
90
73
  if (screen !== undefined) {
91
74
  return chooseRender({
92
- jumpTo,
93
75
  route
94
76
  });
95
77
  }
96
78
  if (navigationState.index === index) {
97
79
  loadedScreens.current.push(route);
98
80
  return chooseRender({
99
- jumpTo,
100
81
  route
101
82
  });
102
83
  }
103
84
  return chooseRender({
104
- jumpTo,
105
85
  route
106
86
  }, false);
107
- }), [navigationState.routes, navigationState.index, lazy, chooseRender, jumpTo]);
87
+ }), [navigationState.routes, navigationState.index, lazy, chooseRender]);
108
88
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureHandlerRootView, {
109
89
  style: defaultStyles.flex,
110
90
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_useTabContext","_AnimationHelper","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ReanimatedTabView","exports","React","memo","LazyPlaceholder","lazy","navigationState","percentageTrigger","renderScene","renderTabBar","navigate","screenOptions","width","useWindowDimensions","loadedScreens","useRef","routes","index","scrollPosition","useSharedValue","positionX","useTabContext","useAnimatedReaction","value","interpolate","map","_","_navigate","AnimationHelper","animation","minimumValueToChangeView","useMemo","_navigationState","size","useEffect","runOnUI","length","panGesture","Gesture","Pan","failOffsetY","activeOffsetX","onChange","event","onEnd","state","runOnJS","scrollPositionStyle","useAnimatedStyle","transform","translateX","jumpTo","useCallback","key","newIndex","findIndex","route","chooseRender","params","useRenderScene","jsx","View","style","children","Routes","screen","current","find","loadedScreen","undefined","push","GestureHandlerRootView","defaultStyles","flex","jsxs","layout","LinearTransition","GestureDetector","gesture","viewsContainer","StyleSheet","create","flexDirection"],"sourceRoot":"../../../../src","sources":["components/ReanimatedTopTab/ReanimatedTabView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_useTabContext","_AnimationHelper","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ReanimatedTabView","exports","React","memo","LazyPlaceholder","lazy","navigationState","percentageTrigger","renderScene","renderTabBar","navigate","screenOptions","width","useWindowDimensions","loadedScreens","useRef","routes","index","navigationStateRef","useSharedValue","scrollPosition","positionX","useTabContext","useEffect","value","useAnimatedReaction","interpolate","map","_","reverse","_navigate","AnimationHelper","animation","minimumValueToChangeView","useMemo","panGesture","Gesture","Pan","failOffsetY","activeOffsetX","onChange","event","onEnd","state","runOnJS","scrollPositionStyle","useAnimatedStyle","transform","translateX","length","chooseRender","useCallback","params","useRenderScene","jsx","View","style","children","route","key","Routes","screen","current","find","loadedScreen","undefined","push","GestureHandlerRootView","defaultStyles","flex","jsxs","layout","LinearTransition","GestureDetector","gesture","viewsContainer","StyleSheet","create","flexDirection"],"sourceRoot":"../../../../src","sources":["components/ReanimatedTopTab/ReanimatedTabView.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.TabBarBaseItem = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
9
  var _useTabContext = require("../../hooks/useTabContext");
10
+ var _TabBarLabelBaseComponent = require("./TabBarLabelBaseComponent");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
13
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -32,13 +33,15 @@ const TabBarBaseItem = ({
32
33
  style: [styles.container, style],
33
34
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
34
35
  style: activeStyle,
35
- children: route.tabBarLabel ? route.tabBarLabel(true) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
36
- children: route.title
36
+ children: route.tabBarLabel ? route.tabBarLabel(true) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_TabBarLabelBaseComponent.TabBarLabelBaseComponent, {
37
+ title: route.title ?? '',
38
+ focused: true
37
39
  })
38
40
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
39
41
  style: inactiveStyle,
40
- children: route.tabBarLabel ? route.tabBarLabel(false) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
41
- children: route.title
42
+ children: route.tabBarLabel ? route.tabBarLabel(false) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_TabBarLabelBaseComponent.TabBarLabelBaseComponent, {
43
+ title: route.title ?? '',
44
+ focused: false
42
45
  })
43
46
  })]
44
47
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_useTabContext","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TabBarBaseItem","index","inputRange","onPress","route","style","positionX","useTabContext","activeStyle","useAnimatedStyle","opacity","interpolate","value","map","position","inactiveStyle","jsxs","Pressable","styles","container","children","jsx","View","tabBarLabel","Text","title","exports","StyleSheet","create","alignItems","flex","justifyContent","minHeight"],"sourceRoot":"../../../../src","sources":["components/elements/TabBarBaseItem.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_useTabContext","_TabBarLabelBaseComponent","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TabBarBaseItem","index","inputRange","onPress","route","style","positionX","useTabContext","activeStyle","useAnimatedStyle","opacity","interpolate","value","map","position","inactiveStyle","jsxs","Pressable","styles","container","children","jsx","View","tabBarLabel","TabBarLabelBaseComponent","title","focused","exports","StyleSheet","create","alignItems","flex","justifyContent","minHeight"],"sourceRoot":"../../../../src","sources":["components/elements/TabBarBaseItem.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,28 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.TabBarLabelBaseComponent = void 0;
7
7
  var _reactNative = require("react-native");
8
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
- var _useTabOffset = require("../../hooks/useTabOffset");
8
+ var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
10
9
  var _jsxRuntime = require("react/jsx-runtime");
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
11
  const TabBarLabelBaseComponent = ({
14
- index,
15
- ...props
12
+ title,
13
+ focused
16
14
  }) => {
17
- const positionX = (0, _useTabOffset.useTabOffset)();
18
- const style = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
19
- backgroundColor: (0, _reactNativeReanimated.interpolateColor)(positionX.value, [index - 1, index, index + 1], ['transparent', 'blue', 'transparent'])
20
- }), []);
21
- const textStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
22
- color: (0, _reactNativeReanimated.interpolateColor)(positionX.value, [index - 1, index, index + 1], ['black', 'white', 'black'])
23
- }), []);
24
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
25
- style: [style, styles.wrapper],
26
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.Text, {
27
- style: [textStyle, styles.text],
28
- children: props.title
29
- })
15
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.Text, {
16
+ style: [styles.text, {
17
+ color: focused ? 'red' : 'black'
18
+ }],
19
+ children: title
30
20
  });
31
21
  };
32
22
  exports.TabBarLabelBaseComponent = TabBarLabelBaseComponent;
@@ -34,13 +24,6 @@ const styles = _reactNative.StyleSheet.create({
34
24
  text: {
35
25
  fontWeight: 'bold',
36
26
  textTransform: 'uppercase'
37
- },
38
- wrapper: {
39
- borderRadius: 10,
40
- height: 35,
41
- justifyContent: 'center',
42
- paddingHorizontal: 16,
43
- paddingVertical: 8
44
27
  }
45
28
  });
46
29
  //# sourceMappingURL=TabBarLabelBaseComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_useTabOffset","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TabBarLabelBaseComponent","index","props","positionX","useTabOffset","style","useAnimatedStyle","backgroundColor","interpolateColor","value","textStyle","color","jsx","View","styles","wrapper","children","Text","text","title","exports","StyleSheet","create","fontWeight","textTransform","borderRadius","height","justifyContent","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../../src","sources":["components/elements/TabBarLabelBaseComponent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireDefault","_jsxRuntime","e","__esModule","default","TabBarLabelBaseComponent","title","focused","jsx","Text","style","styles","text","color","children","exports","StyleSheet","create","fontWeight","textTransform"],"sourceRoot":"../../../../src","sources":["components/elements/TabBarLabelBaseComponent.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAiD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAO1C,MAAMG,wBAAwB,GAAGA,CAAC;EACvCC,KAAK;EACLC;AACgB,CAAC,KAAK;EACtB,oBACE,IAAAN,WAAA,CAAAO,GAAA,EAACT,sBAAA,CAAAK,OAAU,CAACK,IAAI;IACdC,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAE;MAAEC,KAAK,EAAEN,OAAO,GAAG,KAAK,GAAG;IAAQ,CAAC,CAAE;IAAAO,QAAA,EAE1DR;EAAK,CACS,CAAC;AAEtB,CAAC;AAACS,OAAA,CAAAV,wBAAA,GAAAA,wBAAA;AAEF,MAAMM,MAAM,GAAGK,uBAAU,CAACC,MAAM,CAAC;EAC/BL,IAAI,EAAE;IACJM,UAAU,EAAE,MAAM;IAClBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -10,19 +10,18 @@ Object.defineProperty(exports, "createReanimatedTopTabNavigator", {
10
10
  return _createReanimatedTopTabNavigator.createReanimatedTopTabNavigator;
11
11
  }
12
12
  });
13
+ var _react = require("react");
14
+ var _TabBarBaseComponent = require("./components/elements/TabBarBaseComponent");
15
+ var _ScreenWrapper = require("./components/wrappers/ScreenWrapper");
13
16
  var _ScrollView = require("./components/wrappers/ScrollView");
14
17
  var _SectionList = require("./components/wrappers/SectionList");
15
- var _ScreenWrapper = require("./components/wrappers/ScreenWrapper");
16
- var _TabBarBaseComponent = require("./components/elements/TabBarBaseComponent");
17
- var _TabBarLabelBaseComponent = require("./components/elements/TabBarLabelBaseComponent");
18
- var _react = require("react");
19
- var _Warning = require("./services/Warning.service");
20
- var _useTabContext2 = require("./hooks/useTabContext");
21
- var _useTabOffset = require("./hooks/useTabOffset");
18
+ var _useHeader = require("./hooks/useHeader");
22
19
  var _useScreenGesture = require("./hooks/useScreenGesture");
23
- var _useScreenScrollable = require("./hooks/useScreenScrollable");
24
20
  var _useScreenProperties = require("./hooks/useScreenProperties");
25
- var _useHeader = require("./hooks/useHeader");
21
+ var _useScreenScrollable = require("./hooks/useScreenScrollable");
22
+ var _useTabContext2 = require("./hooks/useTabContext");
23
+ var _useTabOffset = require("./hooks/useTabOffset");
24
+ var _Warning = require("./services/Warning.service");
26
25
  var _createReanimatedTopTabNavigator = require("./navigator/createReanimatedTopTabNavigator");
27
26
  const _useTabContext = () => {
28
27
  (0, _react.useEffect)(() => {
@@ -42,7 +41,6 @@ const Tab = exports.Tab = {
42
41
  ScrollView: _ScrollView.ScrollView,
43
42
  SectionList: _SectionList.SectionList,
44
43
  ScreenWrapper: _ScreenWrapper.ScreenWrapper,
45
- TabBarBaseComponent: _TabBarBaseComponent.TabBarBaseComponent,
46
- TabBarLabelBaseComponent: _TabBarLabelBaseComponent.TabBarLabelBaseComponent
44
+ TabBarBaseComponent: _TabBarBaseComponent.TabBarBaseComponent
47
45
  };
48
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_ScrollView","require","_SectionList","_ScreenWrapper","_TabBarBaseComponent","_TabBarLabelBaseComponent","_react","_Warning","_useTabContext2","_useTabOffset","_useScreenGesture","_useScreenScrollable","_useScreenProperties","_useHeader","_createReanimatedTopTabNavigator","_useTabContext","useEffect","WarningService","warn","useTabContext","TabHooks","exports","useHeader","useScreenProperties","useScreenScrollable","useScreenGesture","useTabOffset","Tab","ScrollView","SectionList","ScreenWrapper","TabBarBaseComponent","TabBarLabelBaseComponent"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,yBAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,eAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,iBAAA,GAAAT,OAAA;AACA,IAAAU,oBAAA,GAAAV,OAAA;AACA,IAAAW,oBAAA,GAAAX,OAAA;AACA,IAAAY,UAAA,GAAAZ,OAAA;AAGA,IAAAa,gCAAA,GAAAb,OAAA;AAEA,MAAMc,cAAc,GAAGA,CAAA,KAAM;EAC3B,IAAAC,gBAAS,EAAC,MAAM;IACdC,uBAAc,CAACC,IAAI,CAAC,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAAC,6BAAa,EAAC,CAAC;AACxB,CAAC;AAEM,MAAMC,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACtBE,SAAS,EAATA,oBAAS;EACTC,mBAAmB,EAAnBA,wCAAmB;EACnBC,mBAAmB,EAAnBA,wCAAmB;EACnBC,gBAAgB,EAAhBA,kCAAgB;EAChBN,aAAa,EAAEJ,cAAc;EAC7BW,YAAY,EAAZA;AACF,CAAC;AAEM,MAAMC,GAAG,GAAAN,OAAA,CAAAM,GAAA,GAAG;EACjBC,UAAU,EAAVA,sBAAU;EACVC,WAAW,EAAXA,wBAAW;EACXC,aAAa,EAAbA,4BAAa;EACbC,mBAAmB,EAAnBA,wCAAmB;EACnBC,wBAAwB,EAAxBA;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_TabBarBaseComponent","_ScreenWrapper","_ScrollView","_SectionList","_useHeader","_useScreenGesture","_useScreenProperties","_useScreenScrollable","_useTabContext2","_useTabOffset","_Warning","_createReanimatedTopTabNavigator","_useTabContext","useEffect","WarningService","warn","useTabContext","TabHooks","exports","useHeader","useScreenProperties","useScreenScrollable","useScreenGesture","useTabOffset","Tab","ScrollView","SectionList","ScreenWrapper","TabBarBaseComponent"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AACA,IAAAO,oBAAA,GAAAP,OAAA;AACA,IAAAQ,oBAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,aAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AAEA,IAAAY,gCAAA,GAAAZ,OAAA;AAGA,MAAMa,cAAc,GAAGA,CAAA,KAAM;EAC3B,IAAAC,gBAAS,EAAC,MAAM;IACdC,uBAAc,CAACC,IAAI,CAAC,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAAC,6BAAa,EAAC,CAAC;AACxB,CAAC;AAEM,MAAMC,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACtBE,SAAS,EAATA,oBAAS;EACTC,mBAAmB,EAAnBA,wCAAmB;EACnBC,mBAAmB,EAAnBA,wCAAmB;EACnBC,gBAAgB,EAAhBA,kCAAgB;EAChBN,aAAa,EAAEJ,cAAc;EAC7BW,YAAY,EAAZA;AACF,CAAC;AAEM,MAAMC,GAAG,GAAAN,OAAA,CAAAM,GAAA,GAAG;EACjBC,UAAU,EAAVA,sBAAU;EACVC,WAAW,EAAXA,wBAAW;EACXC,aAAa,EAAbA,4BAAa;EACbC,mBAAmB,EAAnBA;AACF,CAAC","ignoreList":[]}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import { withTiming } from 'react-native-reanimated';
3
+ import { runOnJS, withTiming } from 'react-native-reanimated';
4
4
  const onChange = (event, animationValue, width, navigationState) => {
5
5
  'worklet';
6
6
 
7
7
  if (animationValue > 0) {
8
8
  return 0;
9
9
  }
10
- const routesLength = navigationState.size - 1;
10
+ const routesLength = navigationState.routes.length - 1;
11
11
  if (animationValue < -width * routesLength) {
12
12
  return -width * routesLength;
13
13
  }
@@ -16,7 +16,7 @@ const onChange = (event, animationValue, width, navigationState) => {
16
16
  const getIndex = (navigationState, type) => {
17
17
  'worklet';
18
18
 
19
- const max = navigationState.size - 1;
19
+ const max = navigationState.routes.length - 1;
20
20
  const current = navigationState.index;
21
21
  if (type === 'increment' && current < max) {
22
22
  return current + 1;
@@ -52,11 +52,13 @@ const onEnd = (event, minimumValueToChangeView, width, navigationState) => {
52
52
  value: -width * navigationState.index
53
53
  };
54
54
  };
55
- const animation = (newValue, duration = 200) => {
55
+ const animation = (newValue, onFinished) => {
56
56
  'worklet';
57
57
 
58
58
  return withTiming(newValue, {
59
- duration
59
+ duration: 350
60
+ }, finished => {
61
+ if (finished && onFinished) runOnJS(onFinished)();
60
62
  });
61
63
  };
62
64
  export const AnimationHelper = {
@@ -1 +1 @@
1
- {"version":3,"names":["withTiming","onChange","event","animationValue","width","navigationState","routesLength","size","changeX","getIndex","type","max","current","index","onEnd","minimumValueToChangeView","velocityX","translationX","newIndex","value","animation","newValue","duration","AnimationHelper"],"sourceRoot":"../../../../src","sources":["components/ReanimatedTopTab/AnimationHelper.ts"],"mappings":";;AAMA,SAASA,UAAU,QAAQ,yBAAyB;AAIpD,MAAMC,QAAQ,GAAGA,CACfC,KAEC,EACDC,cAAsB,EACtBC,KAAa,EACbC,eAAgC,KAC7B;EACH,SAAS;;EACT,IAAIF,cAAc,GAAG,CAAC,EAAE;IACtB,OAAO,CAAC;EACV;EACA,MAAMG,YAAY,GAAGD,eAAe,CAACE,IAAI,GAAG,CAAC;EAC7C,IAAIJ,cAAc,GAAG,CAACC,KAAK,GAAGE,YAAY,EAAE;IAC1C,OAAO,CAACF,KAAK,GAAGE,YAAY;EAC9B;EACA,OAAOH,cAAc,GAAGD,KAAK,CAACM,OAAO;AACvC,CAAC;AAED,MAAMC,QAAQ,GAAGA,CACfJ,eAAgC,EAChCK,IAA+B,KAC5B;EACH,SAAS;;EACT,MAAMC,GAAG,GAAGN,eAAe,CAACE,IAAI,GAAG,CAAC;EACpC,MAAMK,OAAO,GAAGP,eAAe,CAACQ,KAAK;EAErC,IAAIH,IAAI,KAAK,WAAW,IAAIE,OAAO,GAAGD,GAAG,EAAE;IACzC,OAAOC,OAAO,GAAG,CAAC;EACpB;EAEA,IAAIF,IAAI,KAAK,WAAW,IAAIE,OAAO,GAAG,CAAC,EAAE;IACvC,OAAOA,OAAO,GAAG,CAAC;EACpB;EAEA,OAAOA,OAAO;AAChB,CAAC;AAED,MAAME,KAAK,GAAGA,CACZZ,KAA6D,EAC7Da,wBAAgC,EAChCX,KAAa,EACbC,eAAgC,KAC7B;EACH,SAAS;;EACT,MAAM;IAAEW,SAAS;IAAEC;EAAa,CAAC,GAAGf,KAAK;EAEzC,IAAIc,SAAS,GAAG,CAAC,GAAG,IAAIC,YAAY,GAAG,CAACF,wBAAwB,EAAE;IAChE,MAAMG,QAAQ,GAAGT,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;IACvD,OAAO;MACLQ,KAAK,EAAEK,QAAQ;MACfC,KAAK,EAAE,CAACf,KAAK,GAAGc;IAClB,CAAC;EACH;EACA,IAAIF,SAAS,GAAG,GAAG,IAAIC,YAAY,GAAGF,wBAAwB,EAAE;IAC9D,MAAMG,QAAQ,GAAGT,QAAQ,CAACJ,eAAe,EAAE,WAAW,CAAC;IACvD,OAAO;MACLQ,KAAK,EAAEK,QAAQ;MACfC,KAAK,EAAE,CAACf,KAAK,GAAGc;IAClB,CAAC;EACH;EACA,OAAO;IACLL,KAAK,EAAER,eAAe,CAACQ,KAAK;IAC5BM,KAAK,EAAE,CAACf,KAAK,GAAGC,eAAe,CAACQ;EAClC,CAAC;AACH,CAAC;AAED,MAAMO,SAAS,GAAGA,CAACC,QAAgB,EAAEC,QAAQ,GAAG,GAAG,KAAK;EACtD,SAAS;;EACT,OAAOtB,UAAU,CAACqB,QAAQ,EAAE;IAAEC;EAAS,CAAC,CAAC;AAC3C,CAAC;AAED,OAAO,MAAMC,eAAe,GAAG;EAC7BH,SAAS;EACTnB,QAAQ;EACRa;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["runOnJS","withTiming","onChange","event","animationValue","width","navigationState","routesLength","routes","length","changeX","getIndex","type","max","current","index","onEnd","minimumValueToChangeView","velocityX","translationX","newIndex","value","animation","newValue","onFinished","duration","finished","AnimationHelper"],"sourceRoot":"../../../../src","sources":["components/ReanimatedTopTab/AnimationHelper.ts"],"mappings":";;AAMA,SAASA,OAAO,EAAEC,UAAU,QAAQ,yBAAyB;AAG7D,MAAMC,QAAQ,GAAGA,CACfC,KAEC,EACDC,cAAsB,EACtBC,KAAa,EACbC,eAAuD,KACpD;EACH,SAAS;;EACT,IAAIF,cAAc,GAAG,CAAC,EAAE;IACtB,OAAO,CAAC;EACV;EACA,MAAMG,YAAY,GAAGD,eAAe,CAACE,MAAM,CAACC,MAAM,GAAG,CAAC;EACtD,IAAIL,cAAc,GAAG,CAACC,KAAK,GAAGE,YAAY,EAAE;IAC1C,OAAO,CAACF,KAAK,GAAGE,YAAY;EAC9B;EACA,OAAOH,cAAc,GAAGD,KAAK,CAACO,OAAO;AACvC,CAAC;AAED,MAAMC,QAAQ,GAAGA,CACfL,eAAuD,EACvDM,IAA+B,KAC5B;EACH,SAAS;;EACT,MAAMC,GAAG,GAAGP,eAAe,CAACE,MAAM,CAACC,MAAM,GAAG,CAAC;EAC7C,MAAMK,OAAO,GAAGR,eAAe,CAACS,KAAK;EAErC,IAAIH,IAAI,KAAK,WAAW,IAAIE,OAAO,GAAGD,GAAG,EAAE;IACzC,OAAOC,OAAO,GAAG,CAAC;EACpB;EAEA,IAAIF,IAAI,KAAK,WAAW,IAAIE,OAAO,GAAG,CAAC,EAAE;IACvC,OAAOA,OAAO,GAAG,CAAC;EACpB;EAEA,OAAOA,OAAO;AAChB,CAAC;AAED,MAAME,KAAK,GAAGA,CACZb,KAA6D,EAC7Dc,wBAAgC,EAChCZ,KAAa,EACbC,eAAuD,KACpD;EACH,SAAS;;EACT,MAAM;IAAEY,SAAS;IAAEC;EAAa,CAAC,GAAGhB,KAAK;EAEzC,IAAIe,SAAS,GAAG,CAAC,GAAG,IAAIC,YAAY,GAAG,CAACF,wBAAwB,EAAE;IAChE,MAAMG,QAAQ,GAAGT,QAAQ,CAACL,eAAe,EAAE,WAAW,CAAC;IACvD,OAAO;MACLS,KAAK,EAAEK,QAAQ;MACfC,KAAK,EAAE,CAAChB,KAAK,GAAGe;IAClB,CAAC;EACH;EACA,IAAIF,SAAS,GAAG,GAAG,IAAIC,YAAY,GAAGF,wBAAwB,EAAE;IAC9D,MAAMG,QAAQ,GAAGT,QAAQ,CAACL,eAAe,EAAE,WAAW,CAAC;IACvD,OAAO;MACLS,KAAK,EAAEK,QAAQ;MACfC,KAAK,EAAE,CAAChB,KAAK,GAAGe;IAClB,CAAC;EACH;EACA,OAAO;IACLL,KAAK,EAAET,eAAe,CAACS,KAAK;IAC5BM,KAAK,EAAE,CAAChB,KAAK,GAAGC,eAAe,CAACS;EAClC,CAAC;AACH,CAAC;AAED,MAAMO,SAAS,GAAGA,CAACC,QAAgB,EAAEC,UAAuB,KAAK;EAC/D,SAAS;;EACT,OAAOvB,UAAU,CAACsB,QAAQ,EAAE;IAAEE,QAAQ,EAAE;EAAI,CAAC,EAAGC,QAAQ,IAAK;IAC3D,IAAIA,QAAQ,IAAIF,UAAU,EAAExB,OAAO,CAACwB,UAAU,CAAC,CAAC,CAAC;EACnD,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMG,eAAe,GAAG;EAC7BL,SAAS;EACTpB,QAAQ;EACRc;AACF,CAAC","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  import React, { useCallback, useEffect, useMemo, useRef } from 'react';
4
4
  import { StyleSheet, useWindowDimensions, View } from 'react-native';
5
5
  import { Gesture, GestureDetector, GestureHandlerRootView } from 'react-native-gesture-handler';
6
- import Reanimated, { interpolate, LinearTransition, runOnJS, runOnUI, useAnimatedReaction, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';
6
+ import Reanimated, { interpolate, LinearTransition, runOnJS, useAnimatedReaction, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';
7
7
  import { useTabContext } from '../../hooks/useTabContext';
8
8
  import { AnimationHelper } from './AnimationHelper';
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -21,52 +21,36 @@ export const ReanimatedTabView = /*#__PURE__*/React.memo(({
21
21
  width
22
22
  } = useWindowDimensions();
23
23
  const loadedScreens = useRef([navigationState.routes[navigationState.index]]);
24
+ const navigationStateRef = useSharedValue(navigationState);
24
25
  const scrollPosition = useSharedValue(navigationState.index);
25
26
  const {
26
27
  positionX
27
28
  } = useTabContext();
29
+ useEffect(() => {
30
+ navigationStateRef.value = navigationState;
31
+ }, [navigationState]);
28
32
  useAnimatedReaction(() => scrollPosition.value, value => {
29
- positionX.value = interpolate(value, navigationState.routes.map((_, i) => i * -width), navigationState.routes.map((_, i) => i), 'clamp');
33
+ positionX.value = interpolate(value, navigationState.routes.map((_, i) => i * -width).reverse(), navigationState.routes.map((_, i) => i).reverse(), 'clamp');
30
34
  });
31
35
  const _navigate = index => {
32
- scrollPosition.value = AnimationHelper.animation(-index * width);
33
- navigate(index);
36
+ scrollPosition.value = AnimationHelper.animation(-index * width, () => navigate(index));
34
37
  };
35
38
  const minimumValueToChangeView = useMemo(() => width * percentageTrigger, [percentageTrigger, width]);
36
- const _navigationState = useSharedValue({
37
- size: 0,
38
- index: 0
39
- });
40
- useEffect(() => {
41
- runOnUI(() => {
42
- _navigationState.value.size = navigationState.routes.length;
43
- _navigationState.value.index = navigationState.index;
44
- })();
45
- }, [navigationState]);
46
39
  const panGesture = React.useMemo(() => Gesture.Pan().failOffsetY([-10, 10]).activeOffsetX([-20, 20]).onChange(event => {
47
40
  'worklet';
48
41
 
49
- scrollPosition.value = AnimationHelper.onChange(event, scrollPosition.value, width, _navigationState.value);
42
+ scrollPosition.value = AnimationHelper.onChange(event, scrollPosition.value, width, navigationStateRef.value);
50
43
  }).onEnd(event => {
51
44
  'worklet';
52
45
 
53
- const state = AnimationHelper.onEnd(event, minimumValueToChangeView, width, _navigationState.value);
54
- scrollPosition.value = AnimationHelper.animation(state.value);
55
- _navigationState.value.index = state.index;
56
- runOnJS(navigate)(state.index);
46
+ const state = AnimationHelper.onEnd(event, minimumValueToChangeView, width, navigationStateRef.value);
47
+ runOnJS(_navigate)(state.index);
57
48
  }), [minimumValueToChangeView, width]);
58
49
  const scrollPositionStyle = useAnimatedStyle(() => ({
59
50
  transform: [{
60
51
  translateX: interpolate(scrollPosition.value, [-width * (navigationState.routes.length - 1), 0], [-width * (navigationState.routes.length - 1), 0], 'clamp')
61
52
  }]
62
53
  }));
63
- const jumpTo = React.useCallback(key => {
64
- const newIndex = navigationState.routes.findIndex(route => route.key === key);
65
- if (newIndex === -1) {
66
- return;
67
- }
68
- scrollPosition.value = AnimationHelper.animation(-newIndex * width);
69
- }, [navigationState.routes, width]);
70
54
  const chooseRender = useCallback((params, useRenderScene = true) => /*#__PURE__*/_jsx(View, {
71
55
  style: {
72
56
  width
@@ -76,29 +60,25 @@ export const ReanimatedTabView = /*#__PURE__*/React.memo(({
76
60
  const Routes = useMemo(() => navigationState.routes.map((route, index) => {
77
61
  if (!lazy) {
78
62
  return chooseRender({
79
- jumpTo,
80
63
  route
81
64
  });
82
65
  }
83
66
  const screen = loadedScreens.current.find(loadedScreen => loadedScreen?.key === route.key);
84
67
  if (screen !== undefined) {
85
68
  return chooseRender({
86
- jumpTo,
87
69
  route
88
70
  });
89
71
  }
90
72
  if (navigationState.index === index) {
91
73
  loadedScreens.current.push(route);
92
74
  return chooseRender({
93
- jumpTo,
94
75
  route
95
76
  });
96
77
  }
97
78
  return chooseRender({
98
- jumpTo,
99
79
  route
100
80
  }, false);
101
- }), [navigationState.routes, navigationState.index, lazy, chooseRender, jumpTo]);
81
+ }), [navigationState.routes, navigationState.index, lazy, chooseRender]);
102
82
  return /*#__PURE__*/_jsx(GestureHandlerRootView, {
103
83
  style: defaultStyles.flex,
104
84
  children: /*#__PURE__*/_jsxs(Reanimated.View, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Reanimated","interpolate","LinearTransition","runOnJS","runOnUI","useAnimatedReaction","useAnimatedStyle","useSharedValue","useTabContext","AnimationHelper","jsx","_jsx","jsxs","_jsxs","ReanimatedTabView","memo","LazyPlaceholder","lazy","navigationState","percentageTrigger","renderScene","renderTabBar","navigate","screenOptions","width","loadedScreens","routes","index","scrollPosition","positionX","value","map","_","i","_navigate","animation","minimumValueToChangeView","_navigationState","size","length","panGesture","Pan","failOffsetY","activeOffsetX","onChange","event","onEnd","state","scrollPositionStyle","transform","translateX","jumpTo","key","newIndex","findIndex","route","chooseRender","params","useRenderScene","style","children","Routes","screen","current","find","loadedScreen","undefined","push","defaultStyles","flex","layout","gesture","viewsContainer","create","flexDirection"],"sourceRoot":"../../../../src","sources":["components/ReanimatedTopTab/ReanimatedTabView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Reanimated","interpolate","LinearTransition","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","useTabContext","AnimationHelper","jsx","_jsx","jsxs","_jsxs","ReanimatedTabView","memo","LazyPlaceholder","lazy","navigationState","percentageTrigger","renderScene","renderTabBar","navigate","screenOptions","width","loadedScreens","routes","index","navigationStateRef","scrollPosition","positionX","value","map","_","i","reverse","_navigate","animation","minimumValueToChangeView","panGesture","Pan","failOffsetY","activeOffsetX","onChange","event","onEnd","state","scrollPositionStyle","transform","translateX","length","chooseRender","params","useRenderScene","style","children","route","key","Routes","screen","current","find","loadedScreen","undefined","push","defaultStyles","flex","layout","gesture","viewsContainer","create","flexDirection"],"sourceRoot":"../../../../src","sources":["components/ReanimatedTopTab/ReanimatedTabView.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import { Pressable, StyleSheet, Text } from 'react-native';
3
+ import { Pressable, StyleSheet } from 'react-native';
4
4
  import Animated, { interpolate, useAnimatedStyle } from 'react-native-reanimated';
5
5
  import { useTabContext } from '../../hooks/useTabContext';
6
+ import { TabBarLabelBaseComponent } from './TabBarLabelBaseComponent';
6
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
8
  export const TabBarBaseItem = ({
8
9
  index,
@@ -26,13 +27,15 @@ export const TabBarBaseItem = ({
26
27
  style: [styles.container, style],
27
28
  children: [/*#__PURE__*/_jsx(Animated.View, {
28
29
  style: activeStyle,
29
- children: route.tabBarLabel ? route.tabBarLabel(true) : /*#__PURE__*/_jsx(Text, {
30
- children: route.title
30
+ children: route.tabBarLabel ? route.tabBarLabel(true) : /*#__PURE__*/_jsx(TabBarLabelBaseComponent, {
31
+ title: route.title ?? '',
32
+ focused: true
31
33
  })
32
34
  }), /*#__PURE__*/_jsx(Animated.View, {
33
35
  style: inactiveStyle,
34
- children: route.tabBarLabel ? route.tabBarLabel(false) : /*#__PURE__*/_jsx(Text, {
35
- children: route.title
36
+ children: route.tabBarLabel ? route.tabBarLabel(false) : /*#__PURE__*/_jsx(TabBarLabelBaseComponent, {
37
+ title: route.title ?? '',
38
+ focused: false
36
39
  })
37
40
  })]
38
41
  });
@@ -1 +1 @@
1
- {"version":3,"names":["Pressable","StyleSheet","Text","Animated","interpolate","useAnimatedStyle","useTabContext","jsx","_jsx","jsxs","_jsxs","TabBarBaseItem","index","inputRange","onPress","route","style","positionX","activeStyle","opacity","value","map","i","position","inactiveStyle","styles","container","children","View","tabBarLabel","title","create","alignItems","flex","justifyContent","minHeight"],"sourceRoot":"../../../../src","sources":["components/elements/TabBarBaseItem.tsx"],"mappings":";;AAAA,SACEA,SAAS,EACTC,UAAU,EACVC,IAAI,QAGC,cAAc;AACrB,OAAOC,QAAQ,IACbC,WAAW,EACXC,gBAAgB,QACX,yBAAyB;AAChC,SAASC,aAAa,QAAQ,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAW1D,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAC7BC,KAAK;EACLC,UAAU;EACVC,OAAO;EACPC,KAAK;EACLC;AACmB,CAAC,KAAK;EACzB,MAAM;IAAEC;EAAU,CAAC,GAAGX,aAAa,CAAC,CAAC;EAErC,MAAMY,WAAW,GAAGb,gBAAgB,CAAC,OAAO;IAC1Cc,OAAO,EAAEf,WAAW,CAClBa,SAAS,CAACG,KAAK,EACfP,UAAU,EACVA,UAAU,CAACQ,GAAG,CAAEC,CAAC,IAAMA,CAAC,KAAKV,KAAK,GAAG,CAAC,GAAG,CAAE,CAC7C,CAAC;IACDW,QAAQ,EAAE;EACZ,CAAC,CAAC,CAAC;EAEH,MAAMC,aAAa,GAAGnB,gBAAgB,CAAC,OAAO;IAC5Cc,OAAO,EAAEf,WAAW,CAClBa,SAAS,CAACG,KAAK,EACfP,UAAU,EACVA,UAAU,CAACQ,GAAG,CAAEC,CAAC,IAAMA,CAAC,KAAKV,KAAK,GAAG,CAAC,GAAG,CAAE,CAC7C;EACF,CAAC,CAAC,CAAC;EAEH,oBACEF,KAAA,CAACV,SAAS;IAACc,OAAO,EAAEA,CAAA,KAAMA,OAAO,CAACF,KAAK,CAAE;IAACI,KAAK,EAAE,CAACS,MAAM,CAACC,SAAS,EAAEV,KAAK,CAAE;IAAAW,QAAA,gBACzEnB,IAAA,CAACL,QAAQ,CAACyB,IAAI;MAACZ,KAAK,EAAEE,WAAY;MAAAS,QAAA,EAC/BZ,KAAK,CAACc,WAAW,GAChBd,KAAK,CAACc,WAAW,CAAC,IAAI,CAAC,gBAEvBrB,IAAA,CAACN,IAAI;QAAAyB,QAAA,EAAEZ,KAAK,CAACe;MAAK,CAAO;IAC1B,CACY,CAAC,eAChBtB,IAAA,CAACL,QAAQ,CAACyB,IAAI;MAACZ,KAAK,EAAEQ,aAAc;MAAAG,QAAA,EACjCZ,KAAK,CAACc,WAAW,GAChBd,KAAK,CAACc,WAAW,CAAC,KAAK,CAAC,gBAExBrB,IAAA,CAACN,IAAI;QAAAyB,QAAA,EAAEZ,KAAK,CAACe;MAAK,CAAO;IAC1B,CACY,CAAC;EAAA,CACP,CAAC;AAEhB,CAAC;AAED,MAAML,MAAM,GAAGxB,UAAU,CAAC8B,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,UAAU,EAAE,QAAQ;IACpBC,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Pressable","StyleSheet","Animated","interpolate","useAnimatedStyle","useTabContext","TabBarLabelBaseComponent","jsx","_jsx","jsxs","_jsxs","TabBarBaseItem","index","inputRange","onPress","route","style","positionX","activeStyle","opacity","value","map","i","position","inactiveStyle","styles","container","children","View","tabBarLabel","title","focused","create","alignItems","flex","justifyContent","minHeight"],"sourceRoot":"../../../../src","sources":["components/elements/TabBarBaseItem.tsx"],"mappings":";;AAAA,SACEA,SAAS,EACTC,UAAU,QAGL,cAAc;AACrB,OAAOC,QAAQ,IACbC,WAAW,EACXC,gBAAgB,QACX,yBAAyB;AAChC,SAASC,aAAa,QAAQ,2BAA2B;AAEzD,SAASC,wBAAwB,QAAQ,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUtE,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAC7BC,KAAK;EACLC,UAAU;EACVC,OAAO;EACPC,KAAK;EACLC;AACmB,CAAC,KAAK;EACzB,MAAM;IAAEC;EAAU,CAAC,GAAGZ,aAAa,CAAC,CAAC;EAErC,MAAMa,WAAW,GAAGd,gBAAgB,CAAC,OAAO;IAC1Ce,OAAO,EAAEhB,WAAW,CAClBc,SAAS,CAACG,KAAK,EACfP,UAAU,EACVA,UAAU,CAACQ,GAAG,CAAEC,CAAC,IAAMA,CAAC,KAAKV,KAAK,GAAG,CAAC,GAAG,CAAE,CAC7C,CAAC;IACDW,QAAQ,EAAE;EACZ,CAAC,CAAC,CAAC;EAEH,MAAMC,aAAa,GAAGpB,gBAAgB,CAAC,OAAO;IAC5Ce,OAAO,EAAEhB,WAAW,CAClBc,SAAS,CAACG,KAAK,EACfP,UAAU,EACVA,UAAU,CAACQ,GAAG,CAAEC,CAAC,IAAMA,CAAC,KAAKV,KAAK,GAAG,CAAC,GAAG,CAAE,CAC7C;EACF,CAAC,CAAC,CAAC;EAEH,oBACEF,KAAA,CAACV,SAAS;IAACc,OAAO,EAAEA,CAAA,KAAMA,OAAO,CAACF,KAAK,CAAE;IAACI,KAAK,EAAE,CAACS,MAAM,CAACC,SAAS,EAAEV,KAAK,CAAE;IAAAW,QAAA,gBACzEnB,IAAA,CAACN,QAAQ,CAAC0B,IAAI;MAACZ,KAAK,EAAEE,WAAY;MAAAS,QAAA,EAC/BZ,KAAK,CAACc,WAAW,GAChBd,KAAK,CAACc,WAAW,CAAC,IAAI,CAAC,gBAEvBrB,IAAA,CAACF,wBAAwB;QAACwB,KAAK,EAAEf,KAAK,CAACe,KAAK,IAAI,EAAG;QAACC,OAAO,EAAE;MAAK,CAAE;IACrE,CACY,CAAC,eAChBvB,IAAA,CAACN,QAAQ,CAAC0B,IAAI;MAACZ,KAAK,EAAEQ,aAAc;MAAAG,QAAA,EACjCZ,KAAK,CAACc,WAAW,GAChBd,KAAK,CAACc,WAAW,CAAC,KAAK,CAAC,gBAExBrB,IAAA,CAACF,wBAAwB;QAACwB,KAAK,EAAEf,KAAK,CAACe,KAAK,IAAI,EAAG;QAACC,OAAO,EAAE;MAAM,CAAE;IACtE,CACY,CAAC;EAAA,CACP,CAAC;AAEhB,CAAC;AAED,MAAMN,MAAM,GAAGxB,UAAU,CAAC+B,MAAM,CAAC;EAC/BN,SAAS,EAAE;IACTO,UAAU,EAAE,QAAQ;IACpBC,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,39 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  import { StyleSheet } from 'react-native';
4
- import Reanimated, { interpolateColor, useAnimatedStyle } from 'react-native-reanimated';
5
- import { useTabOffset } from '../../hooks/useTabOffset';
4
+ import Reanimated from 'react-native-reanimated';
6
5
  import { jsx as _jsx } from "react/jsx-runtime";
7
6
  export const TabBarLabelBaseComponent = ({
8
- index,
9
- ...props
7
+ title,
8
+ focused
10
9
  }) => {
11
- const positionX = useTabOffset();
12
- const style = useAnimatedStyle(() => ({
13
- backgroundColor: interpolateColor(positionX.value, [index - 1, index, index + 1], ['transparent', 'blue', 'transparent'])
14
- }), []);
15
- const textStyle = useAnimatedStyle(() => ({
16
- color: interpolateColor(positionX.value, [index - 1, index, index + 1], ['black', 'white', 'black'])
17
- }), []);
18
- return /*#__PURE__*/_jsx(Reanimated.View, {
19
- style: [style, styles.wrapper],
20
- children: /*#__PURE__*/_jsx(Reanimated.Text, {
21
- style: [textStyle, styles.text],
22
- children: props.title
23
- })
10
+ return /*#__PURE__*/_jsx(Reanimated.Text, {
11
+ style: [styles.text, {
12
+ color: focused ? 'red' : 'black'
13
+ }],
14
+ children: title
24
15
  });
25
16
  };
26
17
  const styles = StyleSheet.create({
27
18
  text: {
28
19
  fontWeight: 'bold',
29
20
  textTransform: 'uppercase'
30
- },
31
- wrapper: {
32
- borderRadius: 10,
33
- height: 35,
34
- justifyContent: 'center',
35
- paddingHorizontal: 16,
36
- paddingVertical: 8
37
21
  }
38
22
  });
39
23
  //# sourceMappingURL=TabBarLabelBaseComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","Reanimated","interpolateColor","useAnimatedStyle","useTabOffset","jsx","_jsx","TabBarLabelBaseComponent","index","props","positionX","style","backgroundColor","value","textStyle","color","View","styles","wrapper","children","Text","text","title","create","fontWeight","textTransform","borderRadius","height","justifyContent","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../../src","sources":["components/elements/TabBarLabelBaseComponent.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,OAAOC,UAAU,IACfC,gBAAgB,EAChBC,gBAAgB,QACX,yBAAyB;AAEhC,SAASC,YAAY,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQxD,OAAO,MAAMC,wBAAwB,GAAGA,CAAC;EACvCC,KAAK;EACL,GAAGC;AACa,CAAC,KAAK;EACtB,MAAMC,SAAS,GAAGN,YAAY,CAAC,CAAC;EAEhC,MAAMO,KAAK,GAAGR,gBAAgB,CAC5B,OAAO;IACLS,eAAe,EAAEV,gBAAgB,CAC/BQ,SAAS,CAACG,KAAK,EACf,CAACL,KAAK,GAAG,CAAC,EAAEA,KAAK,EAAEA,KAAK,GAAG,CAAC,CAAC,EAC7B,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,CACvC;EACF,CAAC,CAAC,EACF,EACF,CAAC;EAED,MAAMM,SAAS,GAAGX,gBAAgB,CAChC,OAAO;IACLY,KAAK,EAAEb,gBAAgB,CACrBQ,SAAS,CAACG,KAAK,EACf,CAACL,KAAK,GAAG,CAAC,EAAEA,KAAK,EAAEA,KAAK,GAAG,CAAC,CAAC,EAC7B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAC5B;EACF,CAAC,CAAC,EACF,EACF,CAAC;EAED,oBACEF,IAAA,CAACL,UAAU,CAACe,IAAI;IAACL,KAAK,EAAE,CAACA,KAAK,EAAEM,MAAM,CAACC,OAAO,CAAE;IAAAC,QAAA,eAC9Cb,IAAA,CAACL,UAAU,CAACmB,IAAI;MAACT,KAAK,EAAE,CAACG,SAAS,EAAEG,MAAM,CAACI,IAAI,CAAE;MAAAF,QAAA,EAC9CV,KAAK,CAACa;IAAK,CACG;EAAC,CACH,CAAC;AAEtB,CAAC;AAED,MAAML,MAAM,GAAGjB,UAAU,CAACuB,MAAM,CAAC;EAC/BF,IAAI,EAAE;IACJG,UAAU,EAAE,MAAM;IAClBC,aAAa,EAAE;EACjB,CAAC;EACDP,OAAO,EAAE;IACPQ,YAAY,EAAE,EAAE;IAChBC,MAAM,EAAE,EAAE;IACVC,cAAc,EAAE,QAAQ;IACxBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","Reanimated","jsx","_jsx","TabBarLabelBaseComponent","title","focused","Text","style","styles","text","color","children","create","fontWeight","textTransform"],"sourceRoot":"../../../../src","sources":["components/elements/TabBarLabelBaseComponent.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,OAAOC,UAAU,MAAM,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOjD,OAAO,MAAMC,wBAAwB,GAAGA,CAAC;EACvCC,KAAK;EACLC;AACgB,CAAC,KAAK;EACtB,oBACEH,IAAA,CAACF,UAAU,CAACM,IAAI;IACdC,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAE;MAAEC,KAAK,EAAEL,OAAO,GAAG,KAAK,GAAG;IAAQ,CAAC,CAAE;IAAAM,QAAA,EAE1DP;EAAK,CACS,CAAC;AAEtB,CAAC;AAED,MAAMI,MAAM,GAAGT,UAAU,CAACa,MAAM,CAAC;EAC/BH,IAAI,EAAE;IACJI,UAAU,EAAE,MAAM;IAClBC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,18 +1,17 @@
1
1
  "use strict";
2
2
 
3
+ import { useEffect } from 'react';
4
+ import { TabBarBaseComponent } from './components/elements/TabBarBaseComponent';
5
+ import { ScreenWrapper } from './components/wrappers/ScreenWrapper';
3
6
  import { ScrollView } from './components/wrappers/ScrollView';
4
7
  import { SectionList } from './components/wrappers/SectionList';
5
- import { ScreenWrapper } from './components/wrappers/ScreenWrapper';
6
- import { TabBarBaseComponent } from './components/elements/TabBarBaseComponent';
7
- import { TabBarLabelBaseComponent } from './components/elements/TabBarLabelBaseComponent';
8
- import { useEffect } from 'react';
9
- import { WarningService } from './services/Warning.service';
10
- import { useTabContext } from './hooks/useTabContext';
11
- import { useTabOffset } from './hooks/useTabOffset';
8
+ import { useHeader } from './hooks/useHeader';
12
9
  import { useScreenGesture } from './hooks/useScreenGesture';
13
- import { useScreenScrollable } from './hooks/useScreenScrollable';
14
10
  import { useScreenProperties } from './hooks/useScreenProperties';
15
- import { useHeader } from './hooks/useHeader';
11
+ import { useScreenScrollable } from './hooks/useScreenScrollable';
12
+ import { useTabContext } from './hooks/useTabContext';
13
+ import { useTabOffset } from './hooks/useTabOffset';
14
+ import { WarningService } from './services/Warning.service';
16
15
  export { createReanimatedTopTabNavigator } from './navigator/createReanimatedTopTabNavigator';
17
16
  const _useTabContext = () => {
18
17
  useEffect(() => {
@@ -32,7 +31,6 @@ export const Tab = {
32
31
  ScrollView,
33
32
  SectionList,
34
33
  ScreenWrapper,
35
- TabBarBaseComponent,
36
- TabBarLabelBaseComponent
34
+ TabBarBaseComponent
37
35
  };
38
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ScrollView","SectionList","ScreenWrapper","TabBarBaseComponent","TabBarLabelBaseComponent","useEffect","WarningService","useTabContext","useTabOffset","useScreenGesture","useScreenScrollable","useScreenProperties","useHeader","createReanimatedTopTabNavigator","_useTabContext","warn","TabHooks","Tab"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,kCAAkC;AAC7D,SAASC,WAAW,QAAQ,mCAAmC;AAC/D,SAASC,aAAa,QAAQ,qCAAqC;AACnE,SAASC,mBAAmB,QAAQ,2CAA2C;AAC/E,SAASC,wBAAwB,QAAQ,gDAAgD;AACzF,SAASC,SAAS,QAAQ,OAAO;AACjC,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,SAAS,QAAQ,mBAAmB;AAG7C,SAASC,+BAA+B,QAAQ,6CAA6C;AAE7F,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAC3BT,SAAS,CAAC,MAAM;IACdC,cAAc,CAACS,IAAI,CAAC,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOR,aAAa,CAAC,CAAC;AACxB,CAAC;AAED,OAAO,MAAMS,QAAQ,GAAG;EACtBJ,SAAS;EACTD,mBAAmB;EACnBD,mBAAmB;EACnBD,gBAAgB;EAChBF,aAAa,EAAEO,cAAc;EAC7BN;AACF,CAAC;AAED,OAAO,MAAMS,GAAG,GAAG;EACjBjB,UAAU;EACVC,WAAW;EACXC,aAAa;EACbC,mBAAmB;EACnBC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","TabBarBaseComponent","ScreenWrapper","ScrollView","SectionList","useHeader","useScreenGesture","useScreenProperties","useScreenScrollable","useTabContext","useTabOffset","WarningService","createReanimatedTopTabNavigator","_useTabContext","warn","TabHooks","Tab"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,mBAAmB,QAAQ,2CAA2C;AAC/E,SAASC,aAAa,QAAQ,qCAAqC;AACnE,SAASC,UAAU,QAAQ,kCAAkC;AAC7D,SAASC,WAAW,QAAQ,mCAAmC;AAC/D,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASC,cAAc,QAAQ,4BAA4B;AAE3D,SAASC,+BAA+B,QAAQ,6CAA6C;AAG7F,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAC3Bb,SAAS,CAAC,MAAM;IACdW,cAAc,CAACG,IAAI,CAAC,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOL,aAAa,CAAC,CAAC;AACxB,CAAC;AAED,OAAO,MAAMM,QAAQ,GAAG;EACtBV,SAAS;EACTE,mBAAmB;EACnBC,mBAAmB;EACnBF,gBAAgB;EAChBG,aAAa,EAAEI,cAAc;EAC7BH;AACF,CAAC;AAED,OAAO,MAAMM,GAAG,GAAG;EACjBb,UAAU;EACVC,WAAW;EACXF,aAAa;EACbD;AACF,CAAC","ignoreList":[]}
@@ -1,15 +1,11 @@
1
1
  import type { GestureStateChangeEvent, GestureUpdateEvent, PanGestureChangeEventPayload, PanGestureHandlerEventPayload } from 'react-native-gesture-handler';
2
- type NavigationState = {
3
- size: number;
4
- index: number;
5
- };
2
+ import type { ReanimatedTabViewTypes } from './types';
6
3
  export declare const AnimationHelper: {
7
- animation: (newValue: number, duration?: number) => number;
8
- onChange: (event: GestureUpdateEvent<PanGestureHandlerEventPayload & PanGestureChangeEventPayload>, animationValue: number, width: number, navigationState: NavigationState) => number;
9
- onEnd: (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>, minimumValueToChangeView: number, width: number, navigationState: NavigationState) => {
4
+ animation: (newValue: number, onFinished?: () => void) => number;
5
+ onChange: (event: GestureUpdateEvent<PanGestureHandlerEventPayload & PanGestureChangeEventPayload>, animationValue: number, width: number, navigationState: ReanimatedTabViewTypes.NavigationState) => number;
6
+ onEnd: (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>, minimumValueToChangeView: number, width: number, navigationState: ReanimatedTabViewTypes.NavigationState) => {
10
7
  index: number;
11
8
  value: number;
12
9
  };
13
10
  };
14
- export {};
15
11
  //# sourceMappingURL=AnimationHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationHelper.d.ts","sourceRoot":"","sources":["../../../../../src/components/ReanimatedTopTab/AnimationHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;AAGtC,KAAK,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AA0EvD,eAAO,MAAM,eAAe;0BALC,MAAM;sBAlE1B,kBAAkB,CACvB,6BAA6B,GAAG,4BAA4B,CAC7D,kBACe,MAAM,SACf,MAAM,mBACI,eAAe;mBAiCzB,uBAAuB,CAAC,6BAA6B,CAAC,4BACnC,MAAM,SACzB,MAAM,mBACI,eAAe;;;;CAkCjC,CAAC"}
1
+ {"version":3,"file":"AnimationHelper.d.ts","sourceRoot":"","sources":["../../../../../src/components/ReanimatedTopTab/AnimationHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AA4EtD,eAAO,MAAM,eAAe;0BAPC,MAAM,eAAe,MAAM,IAAI;sBAlEnD,kBAAkB,CACvB,6BAA6B,GAAG,4BAA4B,CAC7D,kBACe,MAAM,SACf,MAAM,mBACI,sBAAsB,CAAC,eAAe;mBAiChD,uBAAuB,CAAC,6BAA6B,CAAC,4BACnC,MAAM,SACzB,MAAM,mBACI,sBAAsB,CAAC,eAAe;;;;CAoCxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReanimatedTabView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ReanimatedTopTab/ReanimatedTabView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAgBvE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,sBAAsB,CAAC,eAAe,CAAC;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC,UAAU,KAAK,KAAK,CAAC,SAAS,CAAC;IAC5E,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,sBAAsB,CAAC,gBAAgB,KAC5C,KAAK,CAAC,SAAS,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,0BAA0B,CAAC,iBAAiB,CAAC;CAC9D;AAED,eAAO,MAAM,iBAAiB,oDAuK7B,CAAC"}
1
+ {"version":3,"file":"ReanimatedTabView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ReanimatedTopTab/ReanimatedTabView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAevE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,sBAAsB,CAAC,eAAe,CAAC;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC,UAAU,KAAK,KAAK,CAAC,SAAS,CAAC;IAC5E,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,sBAAsB,CAAC,gBAAgB,KAC5C,KAAK,CAAC,SAAS,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,0BAA0B,CAAC,iBAAiB,CAAC;CAC9D;AAED,eAAO,MAAM,iBAAiB,oDA+I7B,CAAC"}
@@ -17,7 +17,6 @@ export declare namespace ReanimatedTabViewTypes {
17
17
  screenOptions?: ReanimatedTopTabNavigation.NavigationOptions;
18
18
  }
19
19
  interface SceneProps {
20
- jumpTo?: (key: string) => void;
21
20
  route: Route;
22
21
  }
23
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ReanimatedTopTab/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,yBAAiB,sBAAsB,CAAC;IACtC,UAAiB,KAAK;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;QACpD,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;IAED,KAAY,eAAe,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,KAAK,EAAE,CAAA;KAAE,CAAC;IAEjE,UAAiB,gBAAgB;QAC/B,eAAe,EAAE,eAAe,CAAC;QACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,aAAa,CAAC,EAAE,0BAA0B,CAAC,iBAAiB,CAAC;KAC9D;IAED,UAAiB,UAAU;QACzB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC/B,KAAK,EAAE,KAAK,CAAC;KACd;CACF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/ReanimatedTopTab/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,yBAAiB,sBAAsB,CAAC;IACtC,UAAiB,KAAK;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;QACpD,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;IAED,KAAY,eAAe,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,KAAK,EAAE,CAAA;KAAE,CAAC;IAEjE,UAAiB,gBAAgB;QAC/B,eAAe,EAAE,eAAe,CAAC;QACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,aAAa,CAAC,EAAE,0BAA0B,CAAC,iBAAiB,CAAC;KAC9D;IAED,UAAiB,UAAU;QACzB,KAAK,EAAE,KAAK,CAAC;KACd;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarBaseItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/elements/TabBarBaseItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,kDAMxB,mBAAmB,4CAsCrB,CAAC"}
1
+ {"version":3,"file":"TabBarBaseItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/elements/TabBarBaseItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGxE,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,kDAMxB,mBAAmB,4CAsCrB,CAAC"}
@@ -1,7 +1,6 @@
1
1
  export interface TabBarLabelTypes {
2
2
  focused: boolean;
3
- index: number;
4
3
  title: string;
5
4
  }
6
- export declare const TabBarLabelBaseComponent: ({ index, ...props }: TabBarLabelTypes) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const TabBarLabelBaseComponent: ({ title, focused, }: TabBarLabelTypes) => import("react/jsx-runtime").JSX.Element;
7
6
  //# sourceMappingURL=TabBarLabelBaseComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarLabelBaseComponent.d.ts","sourceRoot":"","sources":["../../../../../src/components/elements/TabBarLabelBaseComponent.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,wBAAwB,wBAGlC,gBAAgB,4CAgClB,CAAC"}
1
+ {"version":3,"file":"TabBarLabelBaseComponent.d.ts","sourceRoot":"","sources":["../../../../../src/components/elements/TabBarLabelBaseComponent.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,wBAAwB,wBAGlC,gBAAgB,4CAQlB,CAAC"}
@@ -1,5 +1,5 @@
1
- export { type ReanimatedTopTabNavigation } from './types';
2
1
  export { createReanimatedTopTabNavigator } from './navigator/createReanimatedTopTabNavigator';
2
+ export { type ReanimatedTopTabNavigation } from './types';
3
3
  export declare const TabHooks: {
4
4
  useHeader: () => {
5
5
  hideHeader: () => void;
@@ -36,6 +36,5 @@ export declare const Tab: {
36
36
  SectionList: <ItemT, SectionT = import("react-native").DefaultSectionT>({ children, style, contentContainerStyle, onLayout, ...props }: import("react-native").SectionListProps<ItemT, SectionT>) => import("react/jsx-runtime").JSX.Element;
37
37
  ScreenWrapper: ({ children, ...viewProps }: import("./components/wrappers/ScreenWrapper").ScreenWrapperProps) => import("react/jsx-runtime").JSX.Element;
38
38
  TabBarBaseComponent: ({ children, navigationState, style, navigate, screenOptions, }: import("./components/elements/TabBarBaseComponent").TabBarProps) => import("react/jsx-runtime").JSX.Element;
39
- TabBarLabelBaseComponent: ({ index, ...props }: import("./components/elements/TabBarLabelBaseComponent").TabBarLabelTypes) => import("react/jsx-runtime").JSX.Element;
40
39
  };
41
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAU9F,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOpB,CAAC;AAEF,eAAO,MAAM,GAAG;;;;;;CAMf,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAU1D,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOpB,CAAC;AAEF,eAAO,MAAM,GAAG;;;;;CAKf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-navigation-reanimated-top-tabs",
3
- "version": "0.9.1",
3
+ "version": "0.9.3",
4
4
  "description": "react-navigation-reanimated-top-tabs",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -4,9 +4,8 @@ import type {
4
4
  PanGestureChangeEventPayload,
5
5
  PanGestureHandlerEventPayload,
6
6
  } from 'react-native-gesture-handler';
7
- import { withTiming } from 'react-native-reanimated';
8
-
9
- type NavigationState = { size: number; index: number };
7
+ import { runOnJS, withTiming } from 'react-native-reanimated';
8
+ import type { ReanimatedTabViewTypes } from './types';
10
9
 
11
10
  const onChange = (
12
11
  event: GestureUpdateEvent<
@@ -14,13 +13,13 @@ const onChange = (
14
13
  >,
15
14
  animationValue: number,
16
15
  width: number,
17
- navigationState: NavigationState
16
+ navigationState: ReanimatedTabViewTypes.NavigationState
18
17
  ) => {
19
18
  'worklet';
20
19
  if (animationValue > 0) {
21
20
  return 0;
22
21
  }
23
- const routesLength = navigationState.size - 1;
22
+ const routesLength = navigationState.routes.length - 1;
24
23
  if (animationValue < -width * routesLength) {
25
24
  return -width * routesLength;
26
25
  }
@@ -28,11 +27,11 @@ const onChange = (
28
27
  };
29
28
 
30
29
  const getIndex = (
31
- navigationState: NavigationState,
30
+ navigationState: ReanimatedTabViewTypes.NavigationState,
32
31
  type: 'increment' | 'decrement'
33
32
  ) => {
34
33
  'worklet';
35
- const max = navigationState.size - 1;
34
+ const max = navigationState.routes.length - 1;
36
35
  const current = navigationState.index;
37
36
 
38
37
  if (type === 'increment' && current < max) {
@@ -50,7 +49,7 @@ const onEnd = (
50
49
  event: GestureStateChangeEvent<PanGestureHandlerEventPayload>,
51
50
  minimumValueToChangeView: number,
52
51
  width: number,
53
- navigationState: NavigationState
52
+ navigationState: ReanimatedTabViewTypes.NavigationState
54
53
  ) => {
55
54
  'worklet';
56
55
  const { velocityX, translationX } = event;
@@ -75,9 +74,11 @@ const onEnd = (
75
74
  };
76
75
  };
77
76
 
78
- const animation = (newValue: number, duration = 200) => {
77
+ const animation = (newValue: number, onFinished?: () => void) => {
79
78
  'worklet';
80
- return withTiming(newValue, { duration });
79
+ return withTiming(newValue, { duration: 350 }, (finished) => {
80
+ if (finished && onFinished) runOnJS(onFinished)();
81
+ });
81
82
  };
82
83
 
83
84
  export const AnimationHelper = {
@@ -9,7 +9,6 @@ import Reanimated, {
9
9
  interpolate,
10
10
  LinearTransition,
11
11
  runOnJS,
12
- runOnUI,
13
12
  useAnimatedReaction,
14
13
  useAnimatedStyle,
15
14
  useSharedValue,
@@ -47,24 +46,30 @@ export const ReanimatedTabView = React.memo<ReanimatedTabViewProps>(
47
46
  const loadedScreens = useRef([
48
47
  navigationState.routes[navigationState.index],
49
48
  ]);
49
+ const navigationStateRef = useSharedValue(navigationState);
50
50
  const scrollPosition = useSharedValue(navigationState.index);
51
51
  const { positionX } = useTabContext();
52
52
 
53
+ useEffect(() => {
54
+ navigationStateRef.value = navigationState;
55
+ }, [navigationState]);
56
+
53
57
  useAnimatedReaction(
54
58
  () => scrollPosition.value,
55
59
  (value) => {
56
60
  positionX.value = interpolate(
57
61
  value,
58
- navigationState.routes.map((_, i) => i * -width),
59
- navigationState.routes.map((_, i) => i),
62
+ navigationState.routes.map((_, i) => i * -width).reverse(),
63
+ navigationState.routes.map((_, i) => i).reverse(),
60
64
  'clamp'
61
65
  );
62
66
  }
63
67
  );
64
68
 
65
69
  const _navigate = (index: number) => {
66
- scrollPosition.value = AnimationHelper.animation(-index * width);
67
- navigate(index);
70
+ scrollPosition.value = AnimationHelper.animation(-index * width, () =>
71
+ navigate(index)
72
+ );
68
73
  };
69
74
 
70
75
  const minimumValueToChangeView = useMemo(
@@ -72,15 +77,6 @@ export const ReanimatedTabView = React.memo<ReanimatedTabViewProps>(
72
77
  [percentageTrigger, width]
73
78
  );
74
79
 
75
- const _navigationState = useSharedValue({ size: 0, index: 0 });
76
-
77
- useEffect(() => {
78
- runOnUI(() => {
79
- _navigationState.value.size = navigationState.routes.length;
80
- _navigationState.value.index = navigationState.index;
81
- })();
82
- }, [navigationState]);
83
-
84
80
  const panGesture = React.useMemo(
85
81
  () =>
86
82
  Gesture.Pan()
@@ -92,7 +88,7 @@ export const ReanimatedTabView = React.memo<ReanimatedTabViewProps>(
92
88
  event,
93
89
  scrollPosition.value,
94
90
  width,
95
- _navigationState.value
91
+ navigationStateRef.value
96
92
  );
97
93
  })
98
94
  .onEnd((event) => {
@@ -101,11 +97,9 @@ export const ReanimatedTabView = React.memo<ReanimatedTabViewProps>(
101
97
  event,
102
98
  minimumValueToChangeView,
103
99
  width,
104
- _navigationState.value
100
+ navigationStateRef.value
105
101
  );
106
- scrollPosition.value = AnimationHelper.animation(state.value);
107
- _navigationState.value.index = state.index;
108
- runOnJS(navigate)(state.index);
102
+ runOnJS(_navigate)(state.index);
109
103
  }),
110
104
  [minimumValueToChangeView, width]
111
105
  );
@@ -123,19 +117,6 @@ export const ReanimatedTabView = React.memo<ReanimatedTabViewProps>(
123
117
  ],
124
118
  }));
125
119
 
126
- const jumpTo = React.useCallback(
127
- (key: string) => {
128
- const newIndex = navigationState.routes.findIndex(
129
- (route) => route.key === key
130
- );
131
- if (newIndex === -1) {
132
- return;
133
- }
134
- scrollPosition.value = AnimationHelper.animation(-newIndex * width);
135
- },
136
- [navigationState.routes, width]
137
- );
138
-
139
120
  const chooseRender = useCallback(
140
121
  (params: ReanimatedTabViewTypes.SceneProps, useRenderScene = true) => (
141
122
  <View key={`RNNTabView_${params.route.key}`} style={{ width }}>
@@ -149,27 +130,21 @@ export const ReanimatedTabView = React.memo<ReanimatedTabViewProps>(
149
130
  () =>
150
131
  navigationState.routes.map((route, index) => {
151
132
  if (!lazy) {
152
- return chooseRender({ jumpTo, route });
133
+ return chooseRender({ route });
153
134
  }
154
135
  const screen = loadedScreens.current.find(
155
136
  (loadedScreen) => loadedScreen?.key === route.key
156
137
  );
157
138
  if (screen !== undefined) {
158
- return chooseRender({ jumpTo, route });
139
+ return chooseRender({ route });
159
140
  }
160
141
  if (navigationState.index === index) {
161
142
  loadedScreens.current.push(route);
162
- return chooseRender({ jumpTo, route });
143
+ return chooseRender({ route });
163
144
  }
164
- return chooseRender({ jumpTo, route }, false);
145
+ return chooseRender({ route }, false);
165
146
  }),
166
- [
167
- navigationState.routes,
168
- navigationState.index,
169
- lazy,
170
- chooseRender,
171
- jumpTo,
172
- ]
147
+ [navigationState.routes, navigationState.index, lazy, chooseRender]
173
148
  );
174
149
 
175
150
  return (
@@ -18,7 +18,6 @@ export namespace ReanimatedTabViewTypes {
18
18
  }
19
19
 
20
20
  export interface SceneProps {
21
- jumpTo?: (key: string) => void;
22
21
  route: Route;
23
22
  }
24
23
  }
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  Pressable,
3
3
  StyleSheet,
4
- Text,
5
4
  type StyleProp,
6
5
  type ViewStyle,
7
6
  } from 'react-native';
@@ -11,6 +10,7 @@ import Animated, {
11
10
  } from 'react-native-reanimated';
12
11
  import { useTabContext } from '../../hooks/useTabContext';
13
12
  import { type ReanimatedTabViewTypes } from '../ReanimatedTopTab/types';
13
+ import { TabBarLabelBaseComponent } from './TabBarLabelBaseComponent';
14
14
 
15
15
  interface TabBarBaseItemProps {
16
16
  index: number;
@@ -52,14 +52,14 @@ export const TabBarBaseItem = ({
52
52
  {route.tabBarLabel ? (
53
53
  route.tabBarLabel(true)
54
54
  ) : (
55
- <Text>{route.title}</Text>
55
+ <TabBarLabelBaseComponent title={route.title ?? ''} focused={true} />
56
56
  )}
57
57
  </Animated.View>
58
58
  <Animated.View style={inactiveStyle}>
59
59
  {route.tabBarLabel ? (
60
60
  route.tabBarLabel(false)
61
61
  ) : (
62
- <Text>{route.title}</Text>
62
+ <TabBarLabelBaseComponent title={route.title ?? ''} focused={false} />
63
63
  )}
64
64
  </Animated.View>
65
65
  </Pressable>
@@ -1,51 +1,21 @@
1
1
  import { StyleSheet } from 'react-native';
2
- import Reanimated, {
3
- interpolateColor,
4
- useAnimatedStyle,
5
- } from 'react-native-reanimated';
6
-
7
- import { useTabOffset } from '../../hooks/useTabOffset';
2
+ import Reanimated from 'react-native-reanimated';
8
3
 
9
4
  export interface TabBarLabelTypes {
10
5
  focused: boolean;
11
- index: number;
12
6
  title: string;
13
7
  }
14
8
 
15
9
  export const TabBarLabelBaseComponent = ({
16
- index,
17
- ...props
10
+ title,
11
+ focused,
18
12
  }: TabBarLabelTypes) => {
19
- const positionX = useTabOffset();
20
-
21
- const style = useAnimatedStyle(
22
- () => ({
23
- backgroundColor: interpolateColor(
24
- positionX.value,
25
- [index - 1, index, index + 1],
26
- ['transparent', 'blue', 'transparent']
27
- ),
28
- }),
29
- []
30
- );
31
-
32
- const textStyle = useAnimatedStyle(
33
- () => ({
34
- color: interpolateColor(
35
- positionX.value,
36
- [index - 1, index, index + 1],
37
- ['black', 'white', 'black']
38
- ),
39
- }),
40
- []
41
- );
42
-
43
13
  return (
44
- <Reanimated.View style={[style, styles.wrapper]}>
45
- <Reanimated.Text style={[textStyle, styles.text]}>
46
- {props.title}
47
- </Reanimated.Text>
48
- </Reanimated.View>
14
+ <Reanimated.Text
15
+ style={[styles.text, { color: focused ? 'red' : 'black' }]}
16
+ >
17
+ {title}
18
+ </Reanimated.Text>
49
19
  );
50
20
  };
51
21
 
@@ -54,11 +24,4 @@ const styles = StyleSheet.create({
54
24
  fontWeight: 'bold',
55
25
  textTransform: 'uppercase',
56
26
  },
57
- wrapper: {
58
- borderRadius: 10,
59
- height: 35,
60
- justifyContent: 'center',
61
- paddingHorizontal: 16,
62
- paddingVertical: 8,
63
- },
64
27
  });
package/src/index.tsx CHANGED
@@ -1,19 +1,18 @@
1
+ import { useEffect } from 'react';
2
+ import { TabBarBaseComponent } from './components/elements/TabBarBaseComponent';
3
+ import { ScreenWrapper } from './components/wrappers/ScreenWrapper';
1
4
  import { ScrollView } from './components/wrappers/ScrollView';
2
5
  import { SectionList } from './components/wrappers/SectionList';
3
- import { ScreenWrapper } from './components/wrappers/ScreenWrapper';
4
- import { TabBarBaseComponent } from './components/elements/TabBarBaseComponent';
5
- import { TabBarLabelBaseComponent } from './components/elements/TabBarLabelBaseComponent';
6
- import { useEffect } from 'react';
7
- import { WarningService } from './services/Warning.service';
8
- import { useTabContext } from './hooks/useTabContext';
9
- import { useTabOffset } from './hooks/useTabOffset';
6
+ import { useHeader } from './hooks/useHeader';
10
7
  import { useScreenGesture } from './hooks/useScreenGesture';
11
- import { useScreenScrollable } from './hooks/useScreenScrollable';
12
8
  import { useScreenProperties } from './hooks/useScreenProperties';
13
- import { useHeader } from './hooks/useHeader';
9
+ import { useScreenScrollable } from './hooks/useScreenScrollable';
10
+ import { useTabContext } from './hooks/useTabContext';
11
+ import { useTabOffset } from './hooks/useTabOffset';
12
+ import { WarningService } from './services/Warning.service';
14
13
 
15
- export { type ReanimatedTopTabNavigation } from './types';
16
14
  export { createReanimatedTopTabNavigator } from './navigator/createReanimatedTopTabNavigator';
15
+ export { type ReanimatedTopTabNavigation } from './types';
17
16
 
18
17
  const _useTabContext = () => {
19
18
  useEffect(() => {
@@ -37,5 +36,4 @@ export const Tab = {
37
36
  SectionList,
38
37
  ScreenWrapper,
39
38
  TabBarBaseComponent,
40
- TabBarLabelBaseComponent,
41
39
  };