@amazon-devices/react-navigation__react-native-tab-view 7.0.1759135970 → 8.0.9000000000-rn-83

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 (127) hide show
  1. package/README.md +2 -646
  2. package/SystemBundles/adbcd18d13758315355457809fdb5587894f9f3c2c9838769a5a47bf860685c8.bundle +8564 -0
  3. package/SystemBundles/adbcd18d13758315355457809fdb5587894f9f3c2c9838769a5a47bf860685c8.map +3217 -0
  4. package/SystemModules/amzn__react-navigation__react-native-tab-view-8.modules.txt +12 -0
  5. package/SystemModules/amzn__react-navigation__react-native-tab-view-8.private.modules.txt +63 -0
  6. package/SystemModules/keplerscript-system-bundle-config.json +4 -4
  7. package/kepler-compatibility.json +2 -2
  8. package/lib/module/Pager.android.js +3 -1
  9. package/lib/module/Pager.android.js.map +1 -1
  10. package/lib/module/Pager.ios.js +3 -1
  11. package/lib/module/Pager.ios.js.map +1 -1
  12. package/lib/module/Pager.js +3 -1
  13. package/lib/module/Pager.js.map +1 -1
  14. package/lib/module/PagerViewAdapter.js +29 -22
  15. package/lib/module/PagerViewAdapter.js.map +1 -1
  16. package/lib/module/PanResponderAdapter.js +46 -32
  17. package/lib/module/PanResponderAdapter.js.map +1 -1
  18. package/lib/module/PlatformPressable.js +38 -12
  19. package/lib/module/PlatformPressable.js.map +1 -1
  20. package/lib/module/SceneMap.js +7 -4
  21. package/lib/module/SceneMap.js.map +1 -1
  22. package/lib/module/SceneView.js +16 -14
  23. package/lib/module/SceneView.js.map +1 -1
  24. package/lib/module/TabBar.js +232 -156
  25. package/lib/module/TabBar.js.map +1 -1
  26. package/lib/module/TabBarIndicator.js +47 -26
  27. package/lib/module/TabBarIndicator.js.map +1 -1
  28. package/lib/module/TabBarItem.js +106 -107
  29. package/lib/module/TabBarItem.js.map +1 -1
  30. package/lib/module/TabBarItemLabel.js +33 -0
  31. package/lib/module/TabBarItemLabel.js.map +1 -0
  32. package/lib/module/TabView.js +91 -63
  33. package/lib/module/TabView.js.map +1 -1
  34. package/lib/module/index.js +7 -5
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/package.json +1 -0
  37. package/lib/module/types.js +2 -0
  38. package/lib/module/types.js.map +1 -1
  39. package/lib/module/useAnimatedValue.js +4 -2
  40. package/lib/module/useAnimatedValue.js.map +1 -1
  41. package/lib/typescript/package.json +1 -0
  42. package/lib/typescript/src/Pager.android.d.ts +1 -1
  43. package/lib/typescript/src/Pager.android.d.ts.map +1 -1
  44. package/lib/typescript/src/Pager.d.ts +1 -1
  45. package/lib/typescript/src/Pager.d.ts.map +1 -1
  46. package/lib/typescript/src/Pager.ios.d.ts +1 -1
  47. package/lib/typescript/src/Pager.ios.d.ts.map +1 -1
  48. package/lib/typescript/src/PagerViewAdapter.d.ts +4 -1
  49. package/lib/typescript/src/PagerViewAdapter.d.ts.map +1 -1
  50. package/lib/typescript/src/PanResponderAdapter.d.ts +4 -1
  51. package/lib/typescript/src/PanResponderAdapter.d.ts.map +1 -1
  52. package/lib/typescript/src/PlatformPressable.d.ts +6 -8
  53. package/lib/typescript/src/PlatformPressable.d.ts.map +1 -1
  54. package/lib/typescript/src/SceneMap.d.ts +2 -2
  55. package/lib/typescript/src/SceneMap.d.ts.map +1 -1
  56. package/lib/typescript/src/SceneView.d.ts +2 -2
  57. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  58. package/lib/typescript/src/TabBar.d.ts +7 -19
  59. package/lib/typescript/src/TabBar.d.ts.map +1 -1
  60. package/lib/typescript/src/TabBarIndicator.d.ts +8 -6
  61. package/lib/typescript/src/TabBarIndicator.d.ts.map +1 -1
  62. package/lib/typescript/src/TabBarItem.d.ts +4 -22
  63. package/lib/typescript/src/TabBarItem.d.ts.map +1 -1
  64. package/lib/typescript/src/TabBarItemLabel.d.ts +11 -0
  65. package/lib/typescript/src/TabBarItemLabel.d.ts.map +1 -0
  66. package/lib/typescript/src/TabView.d.ts +14 -8
  67. package/lib/typescript/src/TabView.d.ts.map +1 -1
  68. package/lib/typescript/src/index.d.ts +6 -6
  69. package/lib/typescript/src/index.d.ts.map +1 -1
  70. package/lib/typescript/src/types.d.ts +29 -1
  71. package/lib/typescript/src/types.d.ts.map +1 -1
  72. package/lib/typescript/src/useAnimatedValue.d.ts +1 -1
  73. package/lib/typescript/src/useAnimatedValue.d.ts.map +1 -1
  74. package/oss-attribution/attribution.txt +0 -0
  75. package/oss-attribution/licenseInfos.json +1 -0
  76. package/package.json +93 -1
  77. package/src/Pager.android.tsx +1 -1
  78. package/src/Pager.ios.tsx +1 -1
  79. package/src/Pager.tsx +1 -1
  80. package/src/PagerViewAdapter.tsx +26 -21
  81. package/src/PanResponderAdapter.tsx +32 -28
  82. package/src/PlatformPressable.tsx +59 -10
  83. package/src/SceneMap.tsx +3 -3
  84. package/src/SceneView.tsx +6 -7
  85. package/src/TabBar.tsx +282 -193
  86. package/src/TabBarIndicator.tsx +65 -28
  87. package/src/TabBarItem.tsx +119 -130
  88. package/src/TabBarItemLabel.tsx +42 -0
  89. package/src/TabView.tsx +59 -16
  90. package/src/index.tsx +11 -6
  91. package/src/types.tsx +29 -1
  92. package/src/useAnimatedValue.tsx +2 -2
  93. package/SystemBundles/0c296a88d0023a3995e190db70259767d1ef39c9da6cd47f3d76cd128687f1f6.bundle +0 -14497
  94. package/SystemBundles/0c296a88d0023a3995e190db70259767d1ef39c9da6cd47f3d76cd128687f1f6.map +0 -1
  95. package/SystemModules/amzn__react-navigation__react-native-tab-view-7.modules.txt +0 -41
  96. package/SystemModules/amzn__react-navigation__react-native-tab-view-7.private.modules.txt +0 -98
  97. package/THIRD_PARTY_NOTICES.txt +0 -24
  98. package/lib/commonjs/Pager.android.js +0 -14
  99. package/lib/commonjs/Pager.android.js.map +0 -1
  100. package/lib/commonjs/Pager.ios.js +0 -14
  101. package/lib/commonjs/Pager.ios.js.map +0 -1
  102. package/lib/commonjs/Pager.js +0 -14
  103. package/lib/commonjs/Pager.js.map +0 -1
  104. package/lib/commonjs/PagerViewAdapter.js +0 -132
  105. package/lib/commonjs/PagerViewAdapter.js.map +0 -1
  106. package/lib/commonjs/PanResponderAdapter.js +0 -204
  107. package/lib/commonjs/PanResponderAdapter.js.map +0 -1
  108. package/lib/commonjs/PlatformPressable.js +0 -43
  109. package/lib/commonjs/PlatformPressable.js.map +0 -1
  110. package/lib/commonjs/SceneMap.js +0 -29
  111. package/lib/commonjs/SceneMap.js.map +0 -1
  112. package/lib/commonjs/SceneView.js +0 -78
  113. package/lib/commonjs/SceneView.js.map +0 -1
  114. package/lib/commonjs/TabBar.js +0 -405
  115. package/lib/commonjs/TabBar.js.map +0 -1
  116. package/lib/commonjs/TabBarIndicator.js +0 -110
  117. package/lib/commonjs/TabBarIndicator.js.map +0 -1
  118. package/lib/commonjs/TabBarItem.js +0 -227
  119. package/lib/commonjs/TabBarItem.js.map +0 -1
  120. package/lib/commonjs/TabView.js +0 -122
  121. package/lib/commonjs/TabView.js.map +0 -1
  122. package/lib/commonjs/index.js +0 -42
  123. package/lib/commonjs/index.js.map +0 -1
  124. package/lib/commonjs/types.js +0 -6
  125. package/lib/commonjs/types.js.map +0 -1
  126. package/lib/commonjs/useAnimatedValue.js +0 -18
  127. package/lib/commonjs/useAnimatedValue.js.map +0 -1
@@ -1,13 +1,17 @@
1
+ "use strict";
2
+
1
3
  import * as React from 'react';
2
4
  import { Animated, I18nManager, Platform, StyleSheet, View } from 'react-native';
3
5
  import useLatestCallback from 'use-latest-callback';
4
- import TabBarIndicator from './TabBarIndicator';
5
- import TabBarItem from './TabBarItem';
6
- import useAnimatedValue from './useAnimatedValue';
6
+ import { TabBarIndicator } from "./TabBarIndicator.js";
7
+ import { TabBarItem } from "./TabBarItem.js";
8
+ import { useAnimatedValue } from "./useAnimatedValue.js";
9
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
10
+ const useNativeDriver = Platform.OS !== 'web';
7
11
  const Separator = ({
8
12
  width
9
13
  }) => {
10
- return /*#__PURE__*/React.createElement(View, {
14
+ return /*#__PURE__*/_jsx(View, {
11
15
  style: {
12
16
  width
13
17
  }
@@ -15,9 +19,31 @@ const Separator = ({
15
19
  };
16
20
  const getFlattenedTabWidth = style => {
17
21
  const tabStyle = StyleSheet.flatten(style);
18
- return tabStyle === null || tabStyle === void 0 ? void 0 : tabStyle.width;
22
+ return tabStyle?.width;
23
+ };
24
+ const getFlattenedPaddingStart = style => {
25
+ const flattenStyle = StyleSheet.flatten(style);
26
+ return flattenStyle ? flattenStyle.paddingLeft || flattenStyle.paddingStart || flattenStyle.paddingHorizontal || 0 : 0;
27
+ };
28
+ const getFlattenedPaddingEnd = style => {
29
+ const flattenStyle = StyleSheet.flatten(style);
30
+ return flattenStyle ? flattenStyle.paddingRight || flattenStyle.paddingEnd || flattenStyle.paddingHorizontal || 0 : 0;
31
+ };
32
+ const convertPaddingPercentToSize = (value, layout) => {
33
+ switch (typeof value) {
34
+ case 'number':
35
+ return value;
36
+ case 'string':
37
+ if (value.endsWith('%')) {
38
+ const width = parseFloat(value);
39
+ if (Number.isFinite(width)) {
40
+ return layout.width * (width / 100);
41
+ }
42
+ }
43
+ }
44
+ return 0;
19
45
  };
20
- const getComputedTabWidth = (index, layout, routes, scrollEnabled, tabWidths, flattenedWidth) => {
46
+ const getComputedTabWidth = (index, layout, routes, scrollEnabled, tabWidths, flattenedWidth, flattenedPaddingStart, flattenedPaddingEnd, gap) => {
21
47
  if (flattenedWidth === 'auto') {
22
48
  return tabWidths[routes[index].key] || 0;
23
49
  }
@@ -35,22 +61,27 @@ const getComputedTabWidth = (index, layout, routes, scrollEnabled, tabWidths, fl
35
61
  if (scrollEnabled) {
36
62
  return layout.width / 5 * 2;
37
63
  }
38
- return layout.width / routes.length;
64
+ const gapTotalWidth = (gap ?? 0) * (routes.length - 1);
65
+ const paddingTotalWidth = convertPaddingPercentToSize(flattenedPaddingStart, layout) + convertPaddingPercentToSize(flattenedPaddingEnd, layout);
66
+ return (layout.width - gapTotalWidth - paddingTotalWidth) / routes.length;
39
67
  };
40
68
  const getMaxScrollDistance = (tabBarWidth, layoutWidth) => tabBarWidth - layoutWidth;
41
- const getTranslateX = (scrollAmount, maxScrollDistance) => Animated.multiply(Platform.OS === 'android' && I18nManager.isRTL ? Animated.add(maxScrollDistance, Animated.multiply(scrollAmount, -1)) : scrollAmount, I18nManager.isRTL ? 1 : -1);
69
+ const getTranslateX = (scrollAmount, maxScrollDistance, direction) => Animated.multiply(Platform.OS === 'android' && direction === 'rtl' ? Animated.add(maxScrollDistance, Animated.multiply(scrollAmount, -1)) : scrollAmount, direction === 'rtl' ? 1 : -1);
42
70
  const getTabBarWidth = ({
43
71
  navigationState,
44
72
  layout,
45
73
  gap,
46
74
  scrollEnabled,
47
75
  flattenedTabWidth,
76
+ flattenedPaddingStart,
77
+ flattenedPaddingEnd,
48
78
  tabWidths
49
79
  }) => {
50
80
  const {
51
81
  routes
52
82
  } = navigationState;
53
- return routes.reduce((acc, _, i) => acc + (i > 0 ? gap ?? 0 : 0) + getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, flattenedTabWidth), 0);
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);
54
85
  };
55
86
  const normalizeScrollValue = ({
56
87
  layout,
@@ -59,7 +90,10 @@ const normalizeScrollValue = ({
59
90
  scrollEnabled,
60
91
  tabWidths,
61
92
  value,
62
- flattenedTabWidth
93
+ flattenedTabWidth,
94
+ flattenedPaddingStart,
95
+ flattenedPaddingEnd,
96
+ direction
63
97
  }) => {
64
98
  const tabBarWidth = getTabBarWidth({
65
99
  layout,
@@ -67,11 +101,13 @@ const normalizeScrollValue = ({
67
101
  tabWidths,
68
102
  gap,
69
103
  scrollEnabled,
70
- flattenedTabWidth
104
+ flattenedTabWidth,
105
+ flattenedPaddingStart,
106
+ flattenedPaddingEnd
71
107
  });
72
108
  const maxDistance = getMaxScrollDistance(tabBarWidth, layout.width);
73
109
  const scrollValue = Math.max(Math.min(value, maxDistance), 0);
74
- if (Platform.OS === 'android' && I18nManager.isRTL) {
110
+ if (Platform.OS === 'android' && direction === 'rtl') {
75
111
  // On Android, scroll value is not applied in reverse in RTL
76
112
  // so we need to manually adjust it to apply correct value
77
113
  return maxDistance - scrollValue;
@@ -84,17 +120,21 @@ const getScrollAmount = ({
84
120
  gap,
85
121
  scrollEnabled,
86
122
  flattenedTabWidth,
87
- tabWidths
123
+ tabWidths,
124
+ flattenedPaddingStart,
125
+ flattenedPaddingEnd,
126
+ direction
88
127
  }) => {
128
+ const paddingInitial = direction === 'rtl' ? convertPaddingPercentToSize(flattenedPaddingEnd, layout) : convertPaddingPercentToSize(flattenedPaddingStart, layout);
89
129
  const centerDistance = Array.from({
90
130
  length: navigationState.index + 1
91
131
  }).reduce((total, _, i) => {
92
- const tabWidth = getComputedTabWidth(i, layout, navigationState.routes, scrollEnabled, tabWidths, flattenedTabWidth);
132
+ const tabWidth = getComputedTabWidth(i, layout, navigationState.routes, scrollEnabled, tabWidths, flattenedTabWidth, flattenedPaddingStart, flattenedPaddingEnd, gap);
93
133
 
94
134
  // To get the current index centered we adjust scroll amount by width of indexes
95
135
  // 0 through (i - 1) and add half the width of current index i
96
- return total + (navigationState.index === i ? (tabWidth + (gap ?? 0)) / 2 : tabWidth + (gap ?? 0));
97
- }, 0);
136
+ return total + (i > 0 ? gap ?? 0 : 0) + (navigationState.index === i ? tabWidth / 2 : tabWidth);
137
+ }, paddingInitial);
98
138
  const scrollAmount = centerDistance - layout.width / 2;
99
139
  return normalizeScrollValue({
100
140
  layout,
@@ -103,7 +143,10 @@ const getScrollAmount = ({
103
143
  value: scrollAmount,
104
144
  gap,
105
145
  scrollEnabled,
106
- flattenedTabWidth
146
+ flattenedTabWidth,
147
+ flattenedPaddingStart,
148
+ flattenedPaddingEnd,
149
+ direction
107
150
  });
108
151
  };
109
152
  const getLabelTextDefault = ({
@@ -115,7 +158,9 @@ const getAccessibleDefault = ({
115
158
  const getAccessibilityLabelDefault = ({
116
159
  route
117
160
  }) => typeof route.accessibilityLabel === 'string' ? route.accessibilityLabel : typeof route.title === 'string' ? route.title : undefined;
118
- const renderIndicatorDefault = props => /*#__PURE__*/React.createElement(TabBarIndicator, props);
161
+ const renderIndicatorDefault = props => /*#__PURE__*/_jsx(TabBarIndicator, {
162
+ ...props
163
+ });
119
164
  const getTestIdDefault = ({
120
165
  route
121
166
  }) => route.testID;
@@ -123,11 +168,7 @@ const getTestIdDefault = ({
123
168
  // How many items measurements should we update per batch.
124
169
  // Defaults to 10, since that's whats FlatList is using in initialNumToRender.
125
170
  const MEASURE_PER_BATCH = 10;
126
- export default function TabBar({
127
- getLabelText = getLabelTextDefault,
128
- getAccessible = getAccessibleDefault,
129
- getAccessibilityLabel = getAccessibilityLabelDefault,
130
- getTestID = getTestIdDefault,
171
+ export function TabBar({
131
172
  renderIndicator = renderIndicatorDefault,
132
173
  gap = 0,
133
174
  scrollEnabled,
@@ -140,21 +181,20 @@ export default function TabBar({
140
181
  inactiveColor,
141
182
  indicatorContainerStyle,
142
183
  indicatorStyle,
143
- labelStyle,
144
184
  onTabLongPress,
145
185
  onTabPress,
146
186
  pressColor,
147
187
  pressOpacity,
148
- renderBadge,
149
- renderIcon,
150
- renderLabel,
188
+ direction = I18nManager.getConstants().isRTL ? 'rtl' : 'ltr',
151
189
  renderTabBarItem,
152
190
  style,
153
191
  tabStyle,
192
+ layout: propLayout,
154
193
  testID,
155
- android_ripple
194
+ android_ripple,
195
+ options
156
196
  }) {
157
- const [layout, setLayout] = React.useState({
197
+ const [layout, setLayout] = React.useState(propLayout ?? {
158
198
  width: 0,
159
199
  height: 0
160
200
  });
@@ -168,13 +208,18 @@ export default function TabBar({
168
208
  } = navigationState;
169
209
  const flattenedTabWidth = getFlattenedTabWidth(tabStyle);
170
210
  const isWidthDynamic = flattenedTabWidth === 'auto';
211
+ const flattenedPaddingEnd = getFlattenedPaddingEnd(contentContainerStyle);
212
+ const flattenedPaddingStart = getFlattenedPaddingStart(contentContainerStyle);
171
213
  const scrollOffset = getScrollAmount({
172
214
  layout,
173
215
  navigationState,
174
216
  tabWidths,
175
217
  gap,
176
218
  scrollEnabled,
177
- flattenedTabWidth
219
+ flattenedTabWidth,
220
+ flattenedPaddingStart,
221
+ flattenedPaddingEnd,
222
+ direction
178
223
  });
179
224
  const hasMeasuredTabWidths = Boolean(layout.width) && routes.slice(0, navigationState.index).every(r => typeof tabWidths[r.key] === 'number');
180
225
  React.useEffect(() => {
@@ -186,8 +231,7 @@ export default function TabBar({
186
231
  return;
187
232
  }
188
233
  if (scrollEnabled) {
189
- var _flatListRef$current;
190
- (_flatListRef$current = flatListRef.current) === null || _flatListRef$current === void 0 || _flatListRef$current.scrollToOffset({
234
+ flatListRef.current?.scrollToOffset({
191
235
  offset: scrollOffset,
192
236
  animated: true
193
237
  });
@@ -209,81 +253,105 @@ export default function TabBar({
209
253
  tabWidths,
210
254
  gap,
211
255
  scrollEnabled,
212
- flattenedTabWidth
256
+ flattenedTabWidth,
257
+ flattenedPaddingStart,
258
+ flattenedPaddingEnd
213
259
  });
214
260
  const separatorsWidth = Math.max(0, routes.length - 1) * gap;
215
- const separatorPercent = separatorsWidth / tabBarWidth * 100;
216
- const tabBarWidthPercent = `${routes.length * 40}%`;
217
- const translateX = React.useMemo(() => getTranslateX(scrollAmount, getMaxScrollDistance(tabBarWidth, layout.width)), [layout.width, scrollAmount, tabBarWidth]);
261
+ const paddingsWidth = Math.max(0, convertPaddingPercentToSize(flattenedPaddingStart, layout) + convertPaddingPercentToSize(flattenedPaddingEnd, layout));
262
+ const translateX = React.useMemo(() => getTranslateX(scrollAmount, getMaxScrollDistance(tabBarWidth, layout.width), direction), [direction, layout.width, scrollAmount, tabBarWidth]);
218
263
  const renderItem = React.useCallback(({
219
264
  item: route,
220
265
  index
221
266
  }) => {
222
- const props = {
223
- key: route.key,
224
- position: position,
225
- route: route,
226
- navigationState: navigationState,
227
- getAccessibilityLabel: getAccessibilityLabel,
228
- getAccessible: getAccessible,
229
- getLabelText: getLabelText,
230
- getTestID: getTestID,
231
- renderBadge: renderBadge,
232
- renderIcon: renderIcon,
233
- renderLabel: renderLabel,
234
- activeColor: activeColor,
235
- inactiveColor: inactiveColor,
236
- pressColor: pressColor,
237
- pressOpacity: pressOpacity,
238
- onLayout: isWidthDynamic ? e => {
239
- measuredTabWidths.current[route.key] = e.nativeEvent.layout.width;
267
+ const {
268
+ testID = getTestIdDefault({
269
+ route
270
+ }),
271
+ labelText = getLabelTextDefault({
272
+ route
273
+ }),
274
+ accessible = getAccessibleDefault({
275
+ route
276
+ }),
277
+ accessibilityLabel = getAccessibilityLabelDefault({
278
+ route
279
+ }),
280
+ ...rest
281
+ } = options?.[route.key] ?? {};
282
+ const onLayout = isWidthDynamic ? e => {
283
+ measuredTabWidths.current[route.key] = e.nativeEvent.layout.width;
240
284
 
285
+ // When we have measured widths for all of the tabs, we should updates the state
286
+ // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
287
+ // If we have more than 10 routes divide updating tabWidths into multiple batches. Here we update only first batch of 10 items.
288
+ if (routes.length > MEASURE_PER_BATCH && index === MEASURE_PER_BATCH && routes.slice(0, MEASURE_PER_BATCH).every(r => typeof measuredTabWidths.current[r.key] === 'number')) {
289
+ setTabWidths({
290
+ ...measuredTabWidths.current
291
+ });
292
+ } else if (routes.every(r => typeof measuredTabWidths.current[r.key] === 'number')) {
241
293
  // When we have measured widths for all of the tabs, we should updates the state
242
294
  // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
243
- // If we have more than 10 routes divide updating tabWidths into multiple batches. Here we update only first batch of 10 items.
244
- if (routes.length > MEASURE_PER_BATCH && index === MEASURE_PER_BATCH && routes.slice(0, MEASURE_PER_BATCH).every(r => typeof measuredTabWidths.current[r.key] === 'number')) {
245
- setTabWidths({
246
- ...measuredTabWidths.current
247
- });
248
- } else if (routes.every(r => typeof measuredTabWidths.current[r.key] === 'number')) {
249
- // When we have measured widths for all of the tabs, we should updates the state
250
- // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
251
- setTabWidths({
252
- ...measuredTabWidths.current
253
- });
254
- }
255
- } : undefined,
256
- onPress: () => {
257
- const event = {
258
- route,
259
- defaultPrevented: false,
260
- preventDefault: () => {
261
- event.defaultPrevented = true;
262
- }
263
- };
264
- onTabPress === null || onTabPress === void 0 || onTabPress(event);
265
- if (event.defaultPrevented) {
266
- return;
295
+ setTabWidths({
296
+ ...measuredTabWidths.current
297
+ });
298
+ }
299
+ } : undefined;
300
+ const onPress = () => {
301
+ const event = {
302
+ route,
303
+ defaultPrevented: false,
304
+ preventDefault: () => {
305
+ event.defaultPrevented = true;
267
306
  }
268
- jumpTo(route.key);
269
- },
270
- onLongPress: () => onTabLongPress === null || onTabLongPress === void 0 ? void 0 : onTabLongPress({
271
- route
272
- }),
273
- labelStyle: labelStyle,
307
+ };
308
+ onTabPress?.(event);
309
+ if (event.defaultPrevented) {
310
+ return;
311
+ }
312
+ jumpTo(route.key);
313
+ };
314
+ const onLongPress = () => onTabLongPress?.({
315
+ route
316
+ });
317
+
318
+ // 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;
320
+ const props = {
321
+ ...rest,
322
+ position,
323
+ route,
324
+ navigationState,
325
+ testID,
326
+ labelText,
327
+ accessible,
328
+ accessibilityLabel,
329
+ activeColor,
330
+ inactiveColor,
331
+ pressColor,
332
+ pressOpacity,
333
+ onLayout,
334
+ onPress,
335
+ onLongPress,
274
336
  style: tabStyle,
275
- // Calculate the deafult width for tab for FlatList to work
276
- defaultTabWidth: !isWidthDynamic ? getComputedTabWidth(index, layout, routes, scrollEnabled, tabWidths, getFlattenedTabWidth(tabStyle)) : undefined,
337
+ defaultTabWidth,
277
338
  android_ripple
278
339
  };
279
- return /*#__PURE__*/React.createElement(React.Fragment, null, gap > 0 && index > 0 ? /*#__PURE__*/React.createElement(Separator, {
280
- width: gap
281
- }) : null, renderTabBarItem ? renderTabBarItem(props) : /*#__PURE__*/React.createElement(TabBarItem, props));
282
- }, [activeColor, android_ripple, gap, getAccessibilityLabel, getAccessible, getLabelText, getTestID, inactiveColor, isWidthDynamic, jumpTo, labelStyle, layout, navigationState, onTabLongPress, onTabPress, position, pressColor, pressOpacity, renderBadge, renderIcon, renderLabel, renderTabBarItem, routes, scrollEnabled, tabStyle, tabWidths]);
340
+ return /*#__PURE__*/_jsxs(_Fragment, {
341
+ children: [gap > 0 && index > 0 ? /*#__PURE__*/_jsx(Separator, {
342
+ width: gap
343
+ }) : null, renderTabBarItem ? renderTabBarItem({
344
+ key: route.key,
345
+ ...props
346
+ }) : /*#__PURE__*/_jsx(TabBarItem, {
347
+ ...props
348
+ }, route.key)]
349
+ });
350
+ }, [position, navigationState, options, activeColor, inactiveColor, pressColor, pressOpacity, isWidthDynamic, tabStyle, layout, routes, scrollEnabled, tabWidths, contentContainerStyle, gap, android_ripple, renderTabBarItem, onTabPress, jumpTo, onTabLongPress]);
283
351
  const keyExtractor = React.useCallback(item => item.key, []);
284
352
  const contentContainerStyleMemoized = React.useMemo(() => [styles.tabContent, scrollEnabled ? {
285
- width: tabBarWidth > separatorsWidth ? tabBarWidth : tabBarWidthPercent
286
- } : styles.container, contentContainerStyle], [contentContainerStyle, scrollEnabled, separatorsWidth, tabBarWidth, tabBarWidthPercent]);
353
+ width: tabBarWidth
354
+ } : null, contentContainerStyle], [contentContainerStyle, scrollEnabled, tabBarWidth]);
287
355
  const handleScroll = React.useMemo(() => Animated.event([{
288
356
  nativeEvent: {
289
357
  contentOffset: {
@@ -291,7 +359,7 @@ export default function TabBar({
291
359
  }
292
360
  }
293
361
  }], {
294
- useNativeDriver: true
362
+ useNativeDriver
295
363
  }), [scrollAmount]);
296
364
  const handleViewableItemsChanged = useLatestCallback(({
297
365
  changed
@@ -301,68 +369,68 @@ export default function TabBar({
301
369
  }
302
370
  // Get next vievable item
303
371
  const item = changed[changed.length - 1];
304
- const index = (item === null || item === void 0 ? void 0 : item.index) || 0;
372
+ const index = item?.index || 0;
305
373
  if (item.isViewable && (index % 10 === 0 || index === navigationState.index || index === routes.length - 1)) {
306
374
  setTabWidths({
307
375
  ...measuredTabWidths.current
308
376
  });
309
377
  }
310
378
  });
311
-
312
- // FIXME: Not sure why i have to as-any here (x3) ..
313
- return /*#__PURE__*/React.createElement(Animated.View, {
379
+ return /*#__PURE__*/_jsxs(Animated.View, {
314
380
  onLayout: handleLayout,
315
- style: [styles.tabBar, style]
316
- }, /*#__PURE__*/React.createElement(Animated.View, {
317
- pointerEvents: "none",
318
- style: [styles.indicatorContainer, scrollEnabled ? {
319
- transform: [{
320
- translateX
321
- }]
322
- } : null, tabBarWidth > separatorsWidth ? {
323
- width: tabBarWidth - separatorsWidth
324
- } : scrollEnabled ? {
325
- width: tabBarWidthPercent
326
- } : null, indicatorContainerStyle]
327
- }, renderIndicator({
328
- position,
329
- layout,
330
- navigationState,
331
- jumpTo,
332
- width: isWidthDynamic ? 'auto' : `${(100 - separatorPercent) / routes.length}%`,
333
- style: indicatorStyle,
334
- getTabWidth: i => getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, flattenedTabWidth),
335
- gap
336
- })), /*#__PURE__*/React.createElement(View, {
337
- style: styles.scroll
338
- }, /*#__PURE__*/React.createElement(Animated.FlatList, {
339
- data: routes,
340
- keyExtractor: keyExtractor,
341
- horizontal: true,
342
- accessibilityRole: "tablist",
343
- keyboardShouldPersistTaps: "handled",
344
- scrollEnabled: scrollEnabled,
345
- bounces: bounces,
346
- initialNumToRender: MEASURE_PER_BATCH,
347
- onViewableItemsChanged: handleViewableItemsChanged,
348
- alwaysBounceHorizontal: false,
349
- scrollsToTop: false,
350
- showsHorizontalScrollIndicator: false,
351
- showsVerticalScrollIndicator: false,
352
- automaticallyAdjustContentInsets: false,
353
- overScrollMode: "never",
354
- contentContainerStyle: contentContainerStyleMemoized,
355
- scrollEventThrottle: 16,
356
- renderItem: renderItem,
357
- onScroll: handleScroll,
358
- ref: flatListRef,
359
- testID: testID
360
- })));
381
+ style: [styles.tabBar, style],
382
+ children: [/*#__PURE__*/_jsx(Animated.View, {
383
+ pointerEvents: "none",
384
+ style: [styles.indicatorContainer, scrollEnabled ? {
385
+ transform: [{
386
+ translateX
387
+ }]
388
+ } : null, scrollEnabled ? {
389
+ width: tabBarWidth
390
+ } : null, indicatorContainerStyle],
391
+ children: renderIndicator({
392
+ position,
393
+ layout,
394
+ navigationState,
395
+ jumpTo,
396
+ direction,
397
+ width: isWidthDynamic ? 'auto' : Math.max(0, (tabBarWidth - separatorsWidth - paddingsWidth) / routes.length),
398
+ style: [indicatorStyle, {
399
+ start: flattenedPaddingStart,
400
+ end: flattenedPaddingEnd
401
+ }],
402
+ getTabWidth: i => getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, flattenedTabWidth, flattenedPaddingEnd, flattenedPaddingStart, gap),
403
+ gap
404
+ })
405
+ }), /*#__PURE__*/_jsx(View, {
406
+ style: styles.scroll,
407
+ children: /*#__PURE__*/_jsx(Animated.FlatList, {
408
+ data: routes,
409
+ keyExtractor: keyExtractor,
410
+ horizontal: true,
411
+ role: "tablist",
412
+ keyboardShouldPersistTaps: "handled",
413
+ scrollEnabled: scrollEnabled,
414
+ bounces: bounces,
415
+ initialNumToRender: MEASURE_PER_BATCH,
416
+ onViewableItemsChanged: handleViewableItemsChanged,
417
+ alwaysBounceHorizontal: false,
418
+ scrollsToTop: false,
419
+ showsHorizontalScrollIndicator: false,
420
+ showsVerticalScrollIndicator: false,
421
+ automaticallyAdjustContentInsets: false,
422
+ overScrollMode: "never",
423
+ contentContainerStyle: contentContainerStyleMemoized,
424
+ scrollEventThrottle: 16,
425
+ renderItem: renderItem,
426
+ onScroll: handleScroll,
427
+ ref: flatListRef,
428
+ testID: testID
429
+ })
430
+ })]
431
+ });
361
432
  }
362
433
  const styles = StyleSheet.create({
363
- container: {
364
- flex: 1
365
- },
366
434
  scroll: {
367
435
  overflow: Platform.select({
368
436
  default: 'scroll',
@@ -370,26 +438,34 @@ const styles = StyleSheet.create({
370
438
  })
371
439
  },
372
440
  tabBar: {
441
+ zIndex: 1,
373
442
  backgroundColor: '#2196f3',
374
443
  elevation: 4,
375
- shadowColor: 'black',
376
- shadowOpacity: 0.1,
377
- shadowRadius: StyleSheet.hairlineWidth,
378
- shadowOffset: {
379
- height: StyleSheet.hairlineWidth,
380
- width: 0
381
- },
382
- zIndex: 1
444
+ ...Platform.select({
445
+ default: {
446
+ shadowColor: 'black',
447
+ shadowOpacity: 0.1,
448
+ shadowRadius: StyleSheet.hairlineWidth,
449
+ shadowOffset: {
450
+ height: StyleSheet.hairlineWidth,
451
+ width: 0
452
+ }
453
+ },
454
+ web: {
455
+ boxShadow: '0 1px 1px rgba(0, 0, 0, 0.1)'
456
+ }
457
+ })
383
458
  },
384
459
  tabContent: {
460
+ flexGrow: 1,
385
461
  flexDirection: 'row',
386
462
  flexWrap: 'nowrap'
387
463
  },
388
464
  indicatorContainer: {
389
465
  position: 'absolute',
390
466
  top: 0,
391
- left: 0,
392
- right: 0,
467
+ start: 0,
468
+ end: 0,
393
469
  bottom: 0
394
470
  }
395
471
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","I18nManager","Platform","StyleSheet","View","useLatestCallback","TabBarIndicator","TabBarItem","useAnimatedValue","Separator","width","createElement","style","getFlattenedTabWidth","tabStyle","flatten","getComputedTabWidth","index","layout","routes","scrollEnabled","tabWidths","flattenedWidth","key","endsWith","parseFloat","Number","isFinite","length","getMaxScrollDistance","tabBarWidth","layoutWidth","getTranslateX","scrollAmount","maxScrollDistance","multiply","OS","isRTL","add","getTabBarWidth","navigationState","gap","flattenedTabWidth","reduce","acc","_","i","normalizeScrollValue","value","maxDistance","scrollValue","Math","max","min","getScrollAmount","centerDistance","Array","from","total","tabWidth","getLabelTextDefault","route","title","getAccessibleDefault","accessible","getAccessibilityLabelDefault","accessibilityLabel","undefined","renderIndicatorDefault","props","getTestIdDefault","testID","MEASURE_PER_BATCH","TabBar","getLabelText","getAccessible","getAccessibilityLabel","getTestID","renderIndicator","jumpTo","position","activeColor","bounces","contentContainerStyle","inactiveColor","indicatorContainerStyle","indicatorStyle","labelStyle","onTabLongPress","onTabPress","pressColor","pressOpacity","renderBadge","renderIcon","renderLabel","renderTabBarItem","android_ripple","setLayout","useState","height","setTabWidths","flatListRef","useRef","isFirst","measuredTabWidths","isWidthDynamic","scrollOffset","hasMeasuredTabWidths","Boolean","slice","every","r","useEffect","current","_flatListRef$current","scrollToOffset","offset","animated","handleLayout","e","nativeEvent","separatorsWidth","separatorPercent","tabBarWidthPercent","translateX","useMemo","renderItem","useCallback","item","onLayout","onPress","event","defaultPrevented","preventDefault","onLongPress","defaultTabWidth","Fragment","keyExtractor","contentContainerStyleMemoized","styles","tabContent","container","handleScroll","contentOffset","x","useNativeDriver","handleViewableItemsChanged","changed","isViewable","tabBar","pointerEvents","indicatorContainer","transform","getTabWidth","scroll","FlatList","data","horizontal","accessibilityRole","keyboardShouldPersistTaps","initialNumToRender","onViewableItemsChanged","alwaysBounceHorizontal","scrollsToTop","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","automaticallyAdjustContentInsets","overScrollMode","scrollEventThrottle","onScroll","ref","create","flex","overflow","select","default","web","backgroundColor","elevation","shadowColor","shadowOpacity","shadowRadius","hairlineWidth","shadowOffset","zIndex","flexDirection","flexWrap","top","left","right","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","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":[]}