react-native-tab-view 4.2.2 → 5.0.0-alpha.1

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 (70) hide show
  1. package/lib/module/Pager.android.js +1 -1
  2. package/lib/module/Pager.android.js.map +1 -1
  3. package/lib/module/Pager.ios.js +1 -1
  4. package/lib/module/Pager.ios.js.map +1 -1
  5. package/lib/module/PagerViewAdapter.js +3 -127
  6. package/lib/module/PagerViewAdapter.js.map +1 -1
  7. package/lib/module/PagerViewAdapter.native.js +130 -0
  8. package/lib/module/PagerViewAdapter.native.js.map +1 -0
  9. package/lib/module/PanResponderAdapter.js +43 -31
  10. package/lib/module/PanResponderAdapter.js.map +1 -1
  11. package/lib/module/PlatformPressable.js.map +1 -1
  12. package/lib/module/SceneView.js +22 -31
  13. package/lib/module/SceneView.js.map +1 -1
  14. package/lib/module/ScrollViewAdapter.js +210 -0
  15. package/lib/module/ScrollViewAdapter.js.map +1 -0
  16. package/lib/module/TabBar.js +98 -61
  17. package/lib/module/TabBar.js.map +1 -1
  18. package/lib/module/TabBarIndicator.js +6 -9
  19. package/lib/module/TabBarIndicator.js.map +1 -1
  20. package/lib/module/TabBarItem.js +4 -4
  21. package/lib/module/TabBarItem.js.map +1 -1
  22. package/lib/module/TabView.js +65 -84
  23. package/lib/module/TabView.js.map +1 -1
  24. package/lib/module/index.js +3 -0
  25. package/lib/module/index.js.map +1 -1
  26. package/lib/module/useMeasureLayout.js +36 -0
  27. package/lib/module/useMeasureLayout.js.map +1 -0
  28. package/lib/typescript/src/PagerViewAdapter.d.ts +3 -17
  29. package/lib/typescript/src/PagerViewAdapter.d.ts.map +1 -1
  30. package/lib/typescript/src/PagerViewAdapter.native.d.ts +6 -0
  31. package/lib/typescript/src/PagerViewAdapter.native.d.ts.map +1 -0
  32. package/lib/typescript/src/PanResponderAdapter.d.ts +3 -17
  33. package/lib/typescript/src/PanResponderAdapter.d.ts.map +1 -1
  34. package/lib/typescript/src/PlatformPressable.d.ts +2 -2
  35. package/lib/typescript/src/PlatformPressable.d.ts.map +1 -1
  36. package/lib/typescript/src/SceneView.d.ts +1 -1
  37. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  38. package/lib/typescript/src/ScrollViewAdapter.d.ts +12 -0
  39. package/lib/typescript/src/ScrollViewAdapter.d.ts.map +1 -0
  40. package/lib/typescript/src/TabBar.d.ts +7 -7
  41. package/lib/typescript/src/TabBar.d.ts.map +1 -1
  42. package/lib/typescript/src/TabBarIndicator.d.ts +1 -1
  43. package/lib/typescript/src/TabBarIndicator.d.ts.map +1 -1
  44. package/lib/typescript/src/TabBarItem.d.ts +4 -4
  45. package/lib/typescript/src/TabBarItem.d.ts.map +1 -1
  46. package/lib/typescript/src/TabBarItemLabel.d.ts +2 -2
  47. package/lib/typescript/src/TabBarItemLabel.d.ts.map +1 -1
  48. package/lib/typescript/src/TabView.d.ts +99 -5
  49. package/lib/typescript/src/TabView.d.ts.map +1 -1
  50. package/lib/typescript/src/index.d.ts +4 -1
  51. package/lib/typescript/src/index.d.ts.map +1 -1
  52. package/lib/typescript/src/types.d.ts +64 -8
  53. package/lib/typescript/src/types.d.ts.map +1 -1
  54. package/lib/typescript/src/useMeasureLayout.d.ts +5 -0
  55. package/lib/typescript/src/useMeasureLayout.d.ts.map +1 -0
  56. package/package.json +8 -8
  57. package/src/PagerViewAdapter.native.tsx +174 -0
  58. package/src/PagerViewAdapter.tsx +8 -181
  59. package/src/PanResponderAdapter.tsx +64 -77
  60. package/src/PlatformPressable.tsx +2 -1
  61. package/src/SceneView.tsx +23 -45
  62. package/src/ScrollViewAdapter.tsx +268 -0
  63. package/src/TabBar.tsx +134 -133
  64. package/src/TabBarIndicator.tsx +7 -11
  65. package/src/TabBarItem.tsx +8 -6
  66. package/src/TabBarItemLabel.tsx +2 -2
  67. package/src/TabView.tsx +173 -100
  68. package/src/index.tsx +10 -0
  69. package/src/types.tsx +75 -17
  70. package/src/useMeasureLayout.tsx +34 -0
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import { Animated, Keyboard, Platform, StyleSheet, View } from 'react-native';
5
+ import useLatestCallback from 'use-latest-callback';
6
+ import { useMeasureLayout } from "./useMeasureLayout.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export function ScrollViewAdapter({
9
+ keyboardDismissMode,
10
+ swipeEnabled = true,
11
+ navigationState,
12
+ onIndexChange,
13
+ onTabSelect,
14
+ onSwipeStart,
15
+ onSwipeEnd,
16
+ children,
17
+ style,
18
+ animationEnabled = true,
19
+ layoutDirection: _,
20
+ // Not supported in ScrollViewAdapter
21
+ decelerationRate = 'fast',
22
+ bounces = false,
23
+ overScrollMode = 'never',
24
+ keyboardShouldPersistTaps = 'always',
25
+ ...rest
26
+ }) {
27
+ const {
28
+ index,
29
+ routes
30
+ } = navigationState;
31
+ const listeners = React.useRef(new Set()).current;
32
+ const scrollViewRef = React.useRef(null);
33
+ const containerRef = React.useRef(null);
34
+ const isInitialRef = React.useRef(true);
35
+ const [layout, onLayout] = useMeasureLayout(containerRef, ({
36
+ width
37
+ }) => {
38
+ if (isInitialRef.current) {
39
+ const x = index * width;
40
+ setContentOffset({
41
+ x,
42
+ y: 0
43
+ });
44
+ offsetX.setValue(x);
45
+ } else if (indexRef.current !== index) {
46
+ scrollToIndex(index);
47
+ }
48
+ isInitialRef.current = false;
49
+ });
50
+ const [contentOffset, setContentOffset] = React.useState(() => ({
51
+ x: index * layout.width,
52
+ y: 0
53
+ }));
54
+ React.useEffect(() => {
55
+ // FIXME: contentOffset is not supported on Android
56
+ // So we manually scroll after state update
57
+ if (Platform.OS === 'android') {
58
+ requestAnimationFrame(() => {
59
+ scrollViewRef.current?.scrollTo({
60
+ x: contentOffset.x,
61
+ animated: false
62
+ });
63
+ });
64
+ }
65
+ }, [animationEnabled, contentOffset.x]);
66
+ const [offsetX] = React.useState(() => new Animated.Value(contentOffset.x));
67
+ const scrollToIndex = useLatestCallback(index => {
68
+ scrollViewRef.current?.scrollTo({
69
+ x: index * layout.width,
70
+ animated: animationEnabled
71
+ });
72
+ });
73
+ const jumpTo = useLatestCallback(key => {
74
+ const i = routes.findIndex(route => route.key === key);
75
+ scrollToIndex(i);
76
+ if (keyboardDismissMode === 'auto') {
77
+ Keyboard.dismiss();
78
+ }
79
+ });
80
+ const handleSwipeStart = React.useCallback(() => {
81
+ onSwipeStart?.();
82
+ }, [onSwipeStart]);
83
+ const handleSwipeEnd = React.useCallback(() => {
84
+ onSwipeEnd?.();
85
+ }, [onSwipeEnd]);
86
+ const subscribe = useLatestCallback(listener => {
87
+ listeners.add(listener);
88
+ return () => {
89
+ listeners.delete(listener);
90
+ };
91
+ });
92
+ const position = React.useMemo(() => layout.width ? Animated.divide(offsetX, layout.width) : null, [layout.width, offsetX]);
93
+ const indexRef = React.useRef(index);
94
+ const timerRef = React.useRef(undefined);
95
+ const onScrollEnd = x => {
96
+ const value = clamp(x / layout.width, 0, routes.length - 1);
97
+ if (value % 1 === 0) {
98
+ indexRef.current = value;
99
+ if (value !== index) {
100
+ onIndexChange(value);
101
+ }
102
+ onTabSelect?.({
103
+ index: value
104
+ });
105
+ }
106
+ };
107
+ const onScroll = Animated.event([{
108
+ nativeEvent: {
109
+ contentOffset: {
110
+ x: offsetX
111
+ }
112
+ }
113
+ }], {
114
+ useNativeDriver: true,
115
+ listener: event => {
116
+ const {
117
+ x
118
+ } = event.nativeEvent.contentOffset;
119
+ const value = clamp(x / layout.width, 0, routes.length - 1);
120
+
121
+ // The offset will overlap the current and the adjacent page
122
+ // So we need to get the index of the adjacent page
123
+ const next = [Math.ceil(value), Math.floor(value)].find(i => i !== index);
124
+ if (next != null) {
125
+ listeners.forEach(listener => listener({
126
+ type: 'enter',
127
+ index: next
128
+ }));
129
+ }
130
+
131
+ // FIXME: onMomentumScrollEnd is not supported on Web
132
+ // So we workaround by using a timer
133
+ if (Platform.OS === 'web') {
134
+ clearTimeout(timerRef.current);
135
+ timerRef.current = setTimeout(() => {
136
+ onScrollEnd(x);
137
+ }, 100);
138
+ }
139
+ }
140
+ });
141
+ const onMomentumScrollEnd = event => {
142
+ onScrollEnd(event.nativeEvent.contentOffset.x);
143
+ };
144
+ return children({
145
+ position: position ?? new Animated.Value(index),
146
+ subscribe,
147
+ jumpTo,
148
+ render: children => /*#__PURE__*/_jsx(View, {
149
+ ref: containerRef,
150
+ onLayout: onLayout,
151
+ style: styles.container,
152
+ children: /*#__PURE__*/_jsx(Animated.ScrollView, {
153
+ ...rest,
154
+ ref: scrollViewRef,
155
+ horizontal: true,
156
+ pagingEnabled: true,
157
+ directionalLockEnabled: true,
158
+ decelerationRate: decelerationRate,
159
+ bounces: bounces,
160
+ overScrollMode: overScrollMode,
161
+ keyboardShouldPersistTaps: keyboardShouldPersistTaps,
162
+ keyboardDismissMode: keyboardDismissMode === 'auto' ? 'on-drag' : keyboardDismissMode,
163
+ scrollEnabled: swipeEnabled && Boolean(layout.width),
164
+ scrollToOverflowEnabled: false,
165
+ scrollsToTop: false,
166
+ automaticallyAdjustContentInsets: false,
167
+ showsHorizontalScrollIndicator: false,
168
+ scrollEventThrottle: 1,
169
+ onScroll: onScroll,
170
+ onScrollBeginDrag: handleSwipeStart,
171
+ onScrollEndDrag: handleSwipeEnd,
172
+ onMomentumScrollEnd: onMomentumScrollEnd,
173
+ contentOffset: contentOffset,
174
+ contentContainerStyle: {
175
+ width: layout.width ? `${routes.length * 100}%` : '100%'
176
+ },
177
+ style: [styles.scroll, style],
178
+ children: children.map((child, i) => {
179
+ const route = routes[i];
180
+ const focused = i === index;
181
+ if (!layout.width && !focused) {
182
+ return null;
183
+ }
184
+ return /*#__PURE__*/_jsx(View, {
185
+ style: layout.width ?
186
+ // FIXME: percentage width doesn't work on web
187
+ // So we use a fixed width instead
188
+ {
189
+ width: layout.width
190
+ } : {
191
+ width: '100%'
192
+ },
193
+ children: child
194
+ }, route.key);
195
+ }).filter(child => child !== null)
196
+ })
197
+ })
198
+ });
199
+ }
200
+ const clamp = (value, min, max) => Math.max(min, Math.min(max, value));
201
+ const styles = StyleSheet.create({
202
+ container: {
203
+ flex: 1,
204
+ overflow: 'hidden'
205
+ },
206
+ scroll: {
207
+ flex: 1
208
+ }
209
+ });
210
+ //# sourceMappingURL=ScrollViewAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Animated","Keyboard","Platform","StyleSheet","View","useLatestCallback","useMeasureLayout","jsx","_jsx","ScrollViewAdapter","keyboardDismissMode","swipeEnabled","navigationState","onIndexChange","onTabSelect","onSwipeStart","onSwipeEnd","children","style","animationEnabled","layoutDirection","_","decelerationRate","bounces","overScrollMode","keyboardShouldPersistTaps","rest","index","routes","listeners","useRef","Set","current","scrollViewRef","containerRef","isInitialRef","layout","onLayout","width","x","setContentOffset","y","offsetX","setValue","indexRef","scrollToIndex","contentOffset","useState","useEffect","OS","requestAnimationFrame","scrollTo","animated","Value","jumpTo","key","i","findIndex","route","dismiss","handleSwipeStart","useCallback","handleSwipeEnd","subscribe","listener","add","delete","position","useMemo","divide","timerRef","undefined","onScrollEnd","value","clamp","length","onScroll","event","nativeEvent","useNativeDriver","next","Math","ceil","floor","find","forEach","type","clearTimeout","setTimeout","onMomentumScrollEnd","render","ref","styles","container","ScrollView","horizontal","pagingEnabled","directionalLockEnabled","scrollEnabled","Boolean","scrollToOverflowEnabled","scrollsToTop","automaticallyAdjustContentInsets","showsHorizontalScrollIndicator","scrollEventThrottle","onScrollBeginDrag","onScrollEndDrag","contentContainerStyle","scroll","map","child","focused","filter","min","max","create","flex","overflow"],"sourceRoot":"../../src","sources":["ScrollViewAdapter.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ import useLatestCallback from 'use-latest-callback';
6
6
  import { TabBarIndicator } from "./TabBarIndicator.js";
7
7
  import { TabBarItem } from "./TabBarItem.js";
8
8
  import { useAnimatedValue } from "./useAnimatedValue.js";
9
+ import { useMeasureLayout } from "./useMeasureLayout.js";
9
10
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
10
11
  const useNativeDriver = Platform.OS !== 'web';
11
12
  const Separator = ({
@@ -29,7 +30,7 @@ const getFlattenedPaddingEnd = style => {
29
30
  const flattenStyle = StyleSheet.flatten(style);
30
31
  return flattenStyle ? flattenStyle.paddingRight || flattenStyle.paddingEnd || flattenStyle.paddingHorizontal || 0 : 0;
31
32
  };
32
- const convertPaddingPercentToSize = (value, layout) => {
33
+ const convertPaddingPercentToSize = (value, layoutWidth) => {
33
34
  switch (typeof value) {
34
35
  case 'number':
35
36
  return value;
@@ -37,39 +38,49 @@ const convertPaddingPercentToSize = (value, layout) => {
37
38
  if (value.endsWith('%')) {
38
39
  const width = parseFloat(value);
39
40
  if (Number.isFinite(width)) {
40
- return layout.width * (width / 100);
41
+ return layoutWidth * (width / 100);
41
42
  }
42
43
  }
43
44
  }
44
45
  return 0;
45
46
  };
46
- const getComputedTabWidth = (index, layout, routes, scrollEnabled, tabWidths, flattenedWidth, flattenedPaddingStart, flattenedPaddingEnd, gap) => {
47
- if (flattenedWidth === 'auto') {
47
+ const getComputedTabWidth = ({
48
+ index,
49
+ layoutWidth,
50
+ routes,
51
+ scrollEnabled,
52
+ tabWidths,
53
+ flattenedTabWidth,
54
+ flattenedPaddingStart,
55
+ flattenedPaddingEnd,
56
+ gap
57
+ }) => {
58
+ if (flattenedTabWidth === 'auto') {
48
59
  return tabWidths[routes[index].key] || 0;
49
60
  }
50
- switch (typeof flattenedWidth) {
61
+ switch (typeof flattenedTabWidth) {
51
62
  case 'number':
52
- return flattenedWidth;
63
+ return flattenedTabWidth;
53
64
  case 'string':
54
- if (flattenedWidth.endsWith('%')) {
55
- const width = parseFloat(flattenedWidth);
65
+ if (flattenedTabWidth.endsWith('%')) {
66
+ const width = parseFloat(flattenedTabWidth);
56
67
  if (Number.isFinite(width)) {
57
- return layout.width * (width / 100);
68
+ return layoutWidth * (width / 100);
58
69
  }
59
70
  }
60
71
  }
61
72
  if (scrollEnabled) {
62
- return layout.width / 5 * 2;
73
+ return layoutWidth / 5 * 2;
63
74
  }
64
75
  const gapTotalWidth = (gap ?? 0) * (routes.length - 1);
65
- const paddingTotalWidth = convertPaddingPercentToSize(flattenedPaddingStart, layout) + convertPaddingPercentToSize(flattenedPaddingEnd, layout);
66
- return (layout.width - gapTotalWidth - paddingTotalWidth) / routes.length;
76
+ const paddingTotalWidth = convertPaddingPercentToSize(flattenedPaddingStart, layoutWidth) + convertPaddingPercentToSize(flattenedPaddingEnd, layoutWidth);
77
+ return (layoutWidth - gapTotalWidth - paddingTotalWidth) / routes.length;
67
78
  };
68
79
  const getMaxScrollDistance = (tabBarWidth, layoutWidth) => tabBarWidth - layoutWidth;
69
80
  const getTranslateX = (scrollAmount, maxScrollDistance, direction) => Animated.multiply(Platform.OS === 'android' && direction === 'rtl' ? Animated.add(maxScrollDistance, Animated.multiply(scrollAmount, -1)) : scrollAmount, direction === 'rtl' ? 1 : -1);
70
81
  const getTabBarWidth = ({
71
- navigationState,
72
- layout,
82
+ routes,
83
+ layoutWidth,
73
84
  gap,
74
85
  scrollEnabled,
75
86
  flattenedTabWidth,
@@ -77,15 +88,22 @@ const getTabBarWidth = ({
77
88
  flattenedPaddingEnd,
78
89
  tabWidths
79
90
  }) => {
80
- const {
81
- routes
82
- } = navigationState;
83
- const paddingsWidth = Math.max(0, convertPaddingPercentToSize(flattenedPaddingStart, layout) + convertPaddingPercentToSize(flattenedPaddingEnd, layout));
84
- return routes.reduce((acc, _, i) => acc + (i > 0 ? gap ?? 0 : 0) + getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, flattenedTabWidth, flattenedPaddingStart, flattenedPaddingEnd, gap), paddingsWidth);
91
+ const paddingsWidth = Math.max(0, convertPaddingPercentToSize(flattenedPaddingStart, layoutWidth) + convertPaddingPercentToSize(flattenedPaddingEnd, layoutWidth));
92
+ return routes.reduce((acc, _, i) => acc + (i > 0 ? gap ?? 0 : 0) + getComputedTabWidth({
93
+ index: i,
94
+ layoutWidth,
95
+ routes,
96
+ scrollEnabled,
97
+ tabWidths,
98
+ flattenedTabWidth,
99
+ flattenedPaddingStart,
100
+ flattenedPaddingEnd,
101
+ gap
102
+ }), paddingsWidth);
85
103
  };
86
104
  const normalizeScrollValue = ({
87
- layout,
88
- navigationState,
105
+ layoutWidth,
106
+ routes,
89
107
  gap,
90
108
  scrollEnabled,
91
109
  tabWidths,
@@ -96,8 +114,8 @@ const normalizeScrollValue = ({
96
114
  direction
97
115
  }) => {
98
116
  const tabBarWidth = getTabBarWidth({
99
- layout,
100
- navigationState,
117
+ layoutWidth,
118
+ routes,
101
119
  tabWidths,
102
120
  gap,
103
121
  scrollEnabled,
@@ -105,7 +123,7 @@ const normalizeScrollValue = ({
105
123
  flattenedPaddingStart,
106
124
  flattenedPaddingEnd
107
125
  });
108
- const maxDistance = getMaxScrollDistance(tabBarWidth, layout.width);
126
+ const maxDistance = getMaxScrollDistance(tabBarWidth, layoutWidth);
109
127
  const scrollValue = Math.max(Math.min(value, maxDistance), 0);
110
128
  if (Platform.OS === 'android' && direction === 'rtl') {
111
129
  // On Android, scroll value is not applied in reverse in RTL
@@ -115,8 +133,9 @@ const normalizeScrollValue = ({
115
133
  return scrollValue;
116
134
  };
117
135
  const getScrollAmount = ({
118
- layout,
119
- navigationState,
136
+ index,
137
+ routes,
138
+ layoutWidth,
120
139
  gap,
121
140
  scrollEnabled,
122
141
  flattenedTabWidth,
@@ -125,20 +144,30 @@ const getScrollAmount = ({
125
144
  flattenedPaddingEnd,
126
145
  direction
127
146
  }) => {
128
- const paddingInitial = direction === 'rtl' ? convertPaddingPercentToSize(flattenedPaddingEnd, layout) : convertPaddingPercentToSize(flattenedPaddingStart, layout);
147
+ const paddingInitial = direction === 'rtl' ? convertPaddingPercentToSize(flattenedPaddingEnd, layoutWidth) : convertPaddingPercentToSize(flattenedPaddingStart, layoutWidth);
129
148
  const centerDistance = Array.from({
130
- length: navigationState.index + 1
149
+ length: index + 1
131
150
  }).reduce((total, _, i) => {
132
- const tabWidth = getComputedTabWidth(i, layout, navigationState.routes, scrollEnabled, tabWidths, flattenedTabWidth, flattenedPaddingStart, flattenedPaddingEnd, gap);
151
+ const tabWidth = getComputedTabWidth({
152
+ index: i,
153
+ layoutWidth,
154
+ routes,
155
+ scrollEnabled,
156
+ tabWidths,
157
+ flattenedTabWidth,
158
+ flattenedPaddingStart,
159
+ flattenedPaddingEnd,
160
+ gap
161
+ });
133
162
 
134
163
  // To get the current index centered we adjust scroll amount by width of indexes
135
164
  // 0 through (i - 1) and add half the width of current index i
136
- return total + (i > 0 ? gap ?? 0 : 0) + (navigationState.index === i ? tabWidth / 2 : tabWidth);
165
+ return total + (i > 0 ? gap ?? 0 : 0) + (index === i ? tabWidth / 2 : tabWidth);
137
166
  }, paddingInitial);
138
- const scrollAmount = centerDistance - layout.width / 2;
167
+ const scrollAmount = centerDistance - layoutWidth / 2;
139
168
  return normalizeScrollValue({
140
- layout,
141
- navigationState,
169
+ layoutWidth,
170
+ routes,
142
171
  tabWidths,
143
172
  value: scrollAmount,
144
173
  gap,
@@ -189,15 +218,12 @@ export function TabBar({
189
218
  renderTabBarItem,
190
219
  style,
191
220
  tabStyle,
192
- layout: propLayout,
193
221
  testID,
194
222
  android_ripple,
195
223
  options
196
224
  }) {
197
- const [layout, setLayout] = React.useState(propLayout ?? {
198
- width: 0,
199
- height: 0
200
- });
225
+ const containerRef = React.useRef(null);
226
+ const [layout, onLayout] = useMeasureLayout(containerRef);
201
227
  const [tabWidths, setTabWidths] = React.useState({});
202
228
  const flatListRef = React.useRef(null);
203
229
  const isFirst = React.useRef(true);
@@ -211,8 +237,9 @@ export function TabBar({
211
237
  const flattenedPaddingEnd = getFlattenedPaddingEnd(contentContainerStyle);
212
238
  const flattenedPaddingStart = getFlattenedPaddingStart(contentContainerStyle);
213
239
  const scrollOffset = getScrollAmount({
214
- layout,
215
- navigationState,
240
+ layoutWidth: layout.width,
241
+ routes,
242
+ index: navigationState.index,
216
243
  tabWidths,
217
244
  gap,
218
245
  scrollEnabled,
@@ -221,7 +248,7 @@ export function TabBar({
221
248
  flattenedPaddingEnd,
222
249
  direction
223
250
  });
224
- const hasMeasuredTabWidths = Boolean(layout.width) && routes.slice(0, navigationState.index).every(r => typeof tabWidths[r.key] === 'number');
251
+ const hasMeasuredTabWidths = Boolean(layout?.width) && routes.slice(0, navigationState.index).every(r => typeof tabWidths[r.key] === 'number');
225
252
  React.useEffect(() => {
226
253
  if (isFirst.current) {
227
254
  isFirst.current = false;
@@ -237,19 +264,9 @@ export function TabBar({
237
264
  });
238
265
  }
239
266
  }, [hasMeasuredTabWidths, isWidthDynamic, scrollEnabled, scrollOffset]);
240
- const handleLayout = e => {
241
- const {
242
- height,
243
- width
244
- } = e.nativeEvent.layout;
245
- setLayout(layout => layout.width === width && layout.height === height ? layout : {
246
- width,
247
- height
248
- });
249
- };
250
267
  const tabBarWidth = getTabBarWidth({
251
- layout,
252
- navigationState,
268
+ layoutWidth: layout.width,
269
+ routes,
253
270
  tabWidths,
254
271
  gap,
255
272
  scrollEnabled,
@@ -258,7 +275,7 @@ export function TabBar({
258
275
  flattenedPaddingEnd
259
276
  });
260
277
  const separatorsWidth = Math.max(0, routes.length - 1) * gap;
261
- const paddingsWidth = Math.max(0, convertPaddingPercentToSize(flattenedPaddingStart, layout) + convertPaddingPercentToSize(flattenedPaddingEnd, layout));
278
+ const paddingsWidth = Math.max(0, convertPaddingPercentToSize(flattenedPaddingStart, layout.width) + convertPaddingPercentToSize(flattenedPaddingEnd, layout.width));
262
279
  const translateX = React.useMemo(() => getTranslateX(scrollAmount, getMaxScrollDistance(tabBarWidth, layout.width), direction), [direction, layout.width, scrollAmount, tabBarWidth]);
263
280
  const renderItem = React.useCallback(({
264
281
  item: route,
@@ -316,7 +333,17 @@ export function TabBar({
316
333
  });
317
334
 
318
335
  // Calculate the default width for tab for FlatList to work
319
- const defaultTabWidth = !isWidthDynamic ? getComputedTabWidth(index, layout, routes, scrollEnabled, tabWidths, getFlattenedTabWidth(tabStyle), getFlattenedPaddingEnd(contentContainerStyle), getFlattenedPaddingStart(contentContainerStyle), gap) : undefined;
336
+ const defaultTabWidth = !isWidthDynamic ? getComputedTabWidth({
337
+ index,
338
+ layoutWidth: layout.width,
339
+ routes,
340
+ scrollEnabled,
341
+ tabWidths,
342
+ flattenedTabWidth: getFlattenedTabWidth(tabStyle),
343
+ flattenedPaddingStart: getFlattenedPaddingStart(contentContainerStyle),
344
+ flattenedPaddingEnd: getFlattenedPaddingEnd(contentContainerStyle),
345
+ gap
346
+ }) : undefined;
320
347
  const props = {
321
348
  ...rest,
322
349
  position,
@@ -377,10 +404,10 @@ export function TabBar({
377
404
  }
378
405
  });
379
406
  return /*#__PURE__*/_jsxs(Animated.View, {
380
- onLayout: handleLayout,
407
+ ref: containerRef,
408
+ onLayout: onLayout,
381
409
  style: [styles.tabBar, style],
382
410
  children: [/*#__PURE__*/_jsx(Animated.View, {
383
- pointerEvents: "none",
384
411
  style: [styles.indicatorContainer, scrollEnabled ? {
385
412
  transform: [{
386
413
  translateX
@@ -390,7 +417,6 @@ export function TabBar({
390
417
  } : null, indicatorContainerStyle],
391
418
  children: renderIndicator({
392
419
  position,
393
- layout,
394
420
  navigationState,
395
421
  jumpTo,
396
422
  direction,
@@ -399,7 +425,17 @@ export function TabBar({
399
425
  start: flattenedPaddingStart,
400
426
  end: flattenedPaddingEnd
401
427
  }],
402
- getTabWidth: i => getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, flattenedTabWidth, flattenedPaddingEnd, flattenedPaddingStart, gap),
428
+ getTabWidth: i => getComputedTabWidth({
429
+ index: i,
430
+ layoutWidth: layout.width,
431
+ routes,
432
+ scrollEnabled,
433
+ tabWidths,
434
+ flattenedTabWidth,
435
+ flattenedPaddingEnd,
436
+ flattenedPaddingStart,
437
+ gap
438
+ }),
403
439
  gap
404
440
  })
405
441
  }), /*#__PURE__*/_jsx(View, {
@@ -439,7 +475,7 @@ const styles = StyleSheet.create({
439
475
  },
440
476
  tabBar: {
441
477
  zIndex: 1,
442
- backgroundColor: '#2196f3',
478
+ backgroundColor: '#fff',
443
479
  elevation: 4,
444
480
  ...Platform.select({
445
481
  default: {
@@ -466,7 +502,8 @@ const styles = StyleSheet.create({
466
502
  top: 0,
467
503
  start: 0,
468
504
  end: 0,
469
- bottom: 0
505
+ bottom: 0,
506
+ pointerEvents: 'none'
470
507
  }
471
508
  });
472
509
  //# sourceMappingURL=TabBar.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","I18nManager","Platform","StyleSheet","View","useLatestCallback","TabBarIndicator","TabBarItem","useAnimatedValue","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useNativeDriver","OS","Separator","width","style","getFlattenedTabWidth","tabStyle","flatten","getFlattenedPaddingStart","flattenStyle","paddingLeft","paddingStart","paddingHorizontal","getFlattenedPaddingEnd","paddingRight","paddingEnd","convertPaddingPercentToSize","value","layout","endsWith","parseFloat","Number","isFinite","getComputedTabWidth","index","routes","scrollEnabled","tabWidths","flattenedWidth","flattenedPaddingStart","flattenedPaddingEnd","gap","key","gapTotalWidth","length","paddingTotalWidth","getMaxScrollDistance","tabBarWidth","layoutWidth","getTranslateX","scrollAmount","maxScrollDistance","direction","multiply","add","getTabBarWidth","navigationState","flattenedTabWidth","paddingsWidth","Math","max","reduce","acc","_","i","normalizeScrollValue","maxDistance","scrollValue","min","getScrollAmount","paddingInitial","centerDistance","Array","from","total","tabWidth","getLabelTextDefault","route","title","getAccessibleDefault","accessible","getAccessibilityLabelDefault","accessibilityLabel","undefined","renderIndicatorDefault","props","getTestIdDefault","testID","MEASURE_PER_BATCH","TabBar","renderIndicator","jumpTo","position","activeColor","bounces","contentContainerStyle","inactiveColor","indicatorContainerStyle","indicatorStyle","onTabLongPress","onTabPress","pressColor","pressOpacity","getConstants","isRTL","renderTabBarItem","propLayout","android_ripple","options","setLayout","useState","height","setTabWidths","flatListRef","useRef","isFirst","measuredTabWidths","isWidthDynamic","scrollOffset","hasMeasuredTabWidths","Boolean","slice","every","r","useEffect","current","scrollToOffset","offset","animated","handleLayout","e","nativeEvent","separatorsWidth","translateX","useMemo","renderItem","useCallback","item","labelText","rest","onLayout","onPress","event","defaultPrevented","preventDefault","onLongPress","defaultTabWidth","children","keyExtractor","contentContainerStyleMemoized","styles","tabContent","handleScroll","contentOffset","x","handleViewableItemsChanged","changed","isViewable","tabBar","pointerEvents","indicatorContainer","transform","start","end","getTabWidth","scroll","FlatList","data","horizontal","role","keyboardShouldPersistTaps","initialNumToRender","onViewableItemsChanged","alwaysBounceHorizontal","scrollsToTop","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","automaticallyAdjustContentInsets","overScrollMode","scrollEventThrottle","onScroll","ref","create","overflow","select","default","web","zIndex","backgroundColor","elevation","shadowColor","shadowOpacity","shadowRadius","hairlineWidth","shadowOffset","boxShadow","flexGrow","flexDirection","flexWrap","top","bottom"],"sourceRoot":"../../src","sources":["TabBar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Animated","I18nManager","Platform","StyleSheet","View","useLatestCallback","TabBarIndicator","TabBarItem","useAnimatedValue","useMeasureLayout","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useNativeDriver","OS","Separator","width","style","getFlattenedTabWidth","tabStyle","flatten","getFlattenedPaddingStart","flattenStyle","paddingLeft","paddingStart","paddingHorizontal","getFlattenedPaddingEnd","paddingRight","paddingEnd","convertPaddingPercentToSize","value","layoutWidth","endsWith","parseFloat","Number","isFinite","getComputedTabWidth","index","routes","scrollEnabled","tabWidths","flattenedTabWidth","flattenedPaddingStart","flattenedPaddingEnd","gap","key","gapTotalWidth","length","paddingTotalWidth","getMaxScrollDistance","tabBarWidth","getTranslateX","scrollAmount","maxScrollDistance","direction","multiply","add","getTabBarWidth","paddingsWidth","Math","max","reduce","acc","_","i","normalizeScrollValue","maxDistance","scrollValue","min","getScrollAmount","paddingInitial","centerDistance","Array","from","total","tabWidth","getLabelTextDefault","route","title","getAccessibleDefault","accessible","getAccessibilityLabelDefault","accessibilityLabel","undefined","renderIndicatorDefault","props","getTestIdDefault","testID","MEASURE_PER_BATCH","TabBar","renderIndicator","jumpTo","navigationState","position","activeColor","bounces","contentContainerStyle","inactiveColor","indicatorContainerStyle","indicatorStyle","onTabLongPress","onTabPress","pressColor","pressOpacity","getConstants","isRTL","renderTabBarItem","android_ripple","options","containerRef","useRef","layout","onLayout","setTabWidths","useState","flatListRef","isFirst","measuredTabWidths","isWidthDynamic","scrollOffset","hasMeasuredTabWidths","Boolean","slice","every","r","useEffect","current","scrollToOffset","offset","animated","separatorsWidth","translateX","useMemo","renderItem","useCallback","item","labelText","rest","e","nativeEvent","onPress","event","defaultPrevented","preventDefault","onLongPress","defaultTabWidth","children","keyExtractor","contentContainerStyleMemoized","styles","tabContent","handleScroll","contentOffset","x","handleViewableItemsChanged","changed","isViewable","ref","tabBar","indicatorContainer","transform","start","end","getTabWidth","scroll","FlatList","data","horizontal","role","keyboardShouldPersistTaps","initialNumToRender","onViewableItemsChanged","alwaysBounceHorizontal","scrollsToTop","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","automaticallyAdjustContentInsets","overScrollMode","scrollEventThrottle","onScroll","create","overflow","select","default","web","zIndex","backgroundColor","elevation","shadowColor","shadowOpacity","shadowRadius","hairlineWidth","shadowOffset","height","boxShadow","flexGrow","flexDirection","flexWrap","top","bottom","pointerEvents"],"sourceRoot":"../../src","sources":["TabBar.tsx"],"mappings":"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","ignoreList":[]}