react-native-tab-view 4.0.9 → 4.0.11

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 (60) hide show
  1. package/lib/module/PanResponderAdapter.js +1 -1
  2. package/lib/module/PanResponderAdapter.js.map +1 -1
  3. package/lib/module/PlatformPressable.js +9 -7
  4. package/lib/module/PlatformPressable.js.map +1 -1
  5. package/lib/module/SceneView.js +1 -2
  6. package/lib/module/SceneView.js.map +1 -1
  7. package/lib/module/TabBar.js +1 -1
  8. package/lib/module/TabBar.js.map +1 -1
  9. package/lib/module/TabBarItem.js +4 -6
  10. package/lib/module/TabBarItem.js.map +1 -1
  11. package/lib/module/useAnimatedValue.js +1 -1
  12. package/lib/module/useAnimatedValue.js.map +1 -1
  13. package/lib/typescript/src/PagerViewAdapter.d.ts +1 -1
  14. package/lib/typescript/src/PagerViewAdapter.d.ts.map +1 -1
  15. package/lib/typescript/src/PanResponderAdapter.d.ts +1 -1
  16. package/lib/typescript/src/PanResponderAdapter.d.ts.map +1 -1
  17. package/lib/typescript/src/PlatformPressable.d.ts +5 -4
  18. package/lib/typescript/src/PlatformPressable.d.ts.map +1 -1
  19. package/lib/typescript/src/SceneMap.d.ts.map +1 -1
  20. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  21. package/package.json +13 -11
  22. package/src/PanResponderAdapter.tsx +1 -1
  23. package/src/PlatformPressable.tsx +28 -13
  24. package/src/SceneView.tsx +1 -2
  25. package/src/TabBar.tsx +3 -3
  26. package/src/TabBarItem.tsx +4 -4
  27. package/src/useAnimatedValue.tsx +1 -1
  28. package/lib/commonjs/Pager.android.js +0 -13
  29. package/lib/commonjs/Pager.android.js.map +0 -1
  30. package/lib/commonjs/Pager.ios.js +0 -13
  31. package/lib/commonjs/Pager.ios.js.map +0 -1
  32. package/lib/commonjs/Pager.js +0 -13
  33. package/lib/commonjs/Pager.js.map +0 -1
  34. package/lib/commonjs/PagerViewAdapter.js +0 -133
  35. package/lib/commonjs/PagerViewAdapter.js.map +0 -1
  36. package/lib/commonjs/PanResponderAdapter.js +0 -207
  37. package/lib/commonjs/PanResponderAdapter.js.map +0 -1
  38. package/lib/commonjs/PlatformPressable.js +0 -65
  39. package/lib/commonjs/PlatformPressable.js.map +0 -1
  40. package/lib/commonjs/SceneMap.js +0 -30
  41. package/lib/commonjs/SceneMap.js.map +0 -1
  42. package/lib/commonjs/SceneView.js +0 -79
  43. package/lib/commonjs/SceneView.js.map +0 -1
  44. package/lib/commonjs/TabBar.js +0 -479
  45. package/lib/commonjs/TabBar.js.map +0 -1
  46. package/lib/commonjs/TabBarIndicator.js +0 -128
  47. package/lib/commonjs/TabBarIndicator.js.map +0 -1
  48. package/lib/commonjs/TabBarItem.js +0 -225
  49. package/lib/commonjs/TabBarItem.js.map +0 -1
  50. package/lib/commonjs/TabBarItemLabel.js +0 -38
  51. package/lib/commonjs/TabBarItemLabel.js.map +0 -1
  52. package/lib/commonjs/TabView.js +0 -146
  53. package/lib/commonjs/TabView.js.map +0 -1
  54. package/lib/commonjs/index.js +0 -41
  55. package/lib/commonjs/index.js.map +0 -1
  56. package/lib/commonjs/package.json +0 -1
  57. package/lib/commonjs/types.js +0 -6
  58. package/lib/commonjs/types.js.map +0 -1
  59. package/lib/commonjs/useAnimatedValue.js +0 -18
  60. package/lib/commonjs/useAnimatedValue.js.map +0 -1
@@ -1,479 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TabBar = TabBar;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var React = _react;
9
- var _reactNative = require("react-native");
10
- var _useLatestCallback = _interopRequireDefault(require("use-latest-callback"));
11
- var _TabBarIndicator = require("./TabBarIndicator.js");
12
- var _TabBarItem = require("./TabBarItem.js");
13
- var _useAnimatedValue = require("./useAnimatedValue.js");
14
- var _jsxRuntime = require("react/jsx-runtime");
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- 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); }
17
- 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; }
18
- const useNativeDriver = _reactNative.Platform.OS !== 'web';
19
- const Separator = ({
20
- width
21
- }) => {
22
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
23
- style: {
24
- width
25
- }
26
- });
27
- };
28
- const getFlattenedTabWidth = style => {
29
- const tabStyle = _reactNative.StyleSheet.flatten(style);
30
- return tabStyle?.width;
31
- };
32
- const getFlattenedPaddingStart = style => {
33
- const flattenStyle = _reactNative.StyleSheet.flatten(style);
34
- return flattenStyle ? flattenStyle.paddingLeft || flattenStyle.paddingStart || flattenStyle.paddingHorizontal || 0 : 0;
35
- };
36
- const getFlattenedPaddingEnd = style => {
37
- const flattenStyle = _reactNative.StyleSheet.flatten(style);
38
- return flattenStyle ? flattenStyle.paddingRight || flattenStyle.paddingEnd || flattenStyle.paddingHorizontal || 0 : 0;
39
- };
40
- const convertPaddingPercentToSize = (value, layout) => {
41
- switch (typeof value) {
42
- case 'number':
43
- return value;
44
- case 'string':
45
- if (value.endsWith('%')) {
46
- const width = parseFloat(value);
47
- if (Number.isFinite(width)) {
48
- return layout.width * (width / 100);
49
- }
50
- }
51
- }
52
- return 0;
53
- };
54
- const getComputedTabWidth = (index, layout, routes, scrollEnabled, tabWidths, flattenedWidth, flattenedPaddingStart, flattenedPaddingEnd, gap) => {
55
- if (flattenedWidth === 'auto') {
56
- return tabWidths[routes[index].key] || 0;
57
- }
58
- switch (typeof flattenedWidth) {
59
- case 'number':
60
- return flattenedWidth;
61
- case 'string':
62
- if (flattenedWidth.endsWith('%')) {
63
- const width = parseFloat(flattenedWidth);
64
- if (Number.isFinite(width)) {
65
- return layout.width * (width / 100);
66
- }
67
- }
68
- }
69
- if (scrollEnabled) {
70
- return layout.width / 5 * 2;
71
- }
72
- const gapTotalWidth = (gap ?? 0) * (routes.length - 1);
73
- const paddingTotalWidth = convertPaddingPercentToSize(flattenedPaddingStart, layout) + convertPaddingPercentToSize(flattenedPaddingEnd, layout);
74
- return (layout.width - gapTotalWidth - paddingTotalWidth) / routes.length;
75
- };
76
- const getMaxScrollDistance = (tabBarWidth, layoutWidth) => tabBarWidth - layoutWidth;
77
- const getTranslateX = (scrollAmount, maxScrollDistance, direction) => _reactNative.Animated.multiply(_reactNative.Platform.OS === 'android' && direction === 'rtl' ? _reactNative.Animated.add(maxScrollDistance, _reactNative.Animated.multiply(scrollAmount, -1)) : scrollAmount, direction === 'rtl' ? 1 : -1);
78
- const getTabBarWidth = ({
79
- navigationState,
80
- layout,
81
- gap,
82
- scrollEnabled,
83
- flattenedTabWidth,
84
- flattenedPaddingStart,
85
- flattenedPaddingEnd,
86
- tabWidths
87
- }) => {
88
- const {
89
- routes
90
- } = navigationState;
91
- const paddingsWidth = Math.max(0, convertPaddingPercentToSize(flattenedPaddingStart, layout) + convertPaddingPercentToSize(flattenedPaddingEnd, layout));
92
- return routes.reduce((acc, _, i) => acc + (i > 0 ? gap ?? 0 : 0) + getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, flattenedTabWidth, flattenedPaddingStart, flattenedPaddingEnd, gap), paddingsWidth);
93
- };
94
- const normalizeScrollValue = ({
95
- layout,
96
- navigationState,
97
- gap,
98
- scrollEnabled,
99
- tabWidths,
100
- value,
101
- flattenedTabWidth,
102
- flattenedPaddingStart,
103
- flattenedPaddingEnd,
104
- direction
105
- }) => {
106
- const tabBarWidth = getTabBarWidth({
107
- layout,
108
- navigationState,
109
- tabWidths,
110
- gap,
111
- scrollEnabled,
112
- flattenedTabWidth,
113
- flattenedPaddingStart,
114
- flattenedPaddingEnd
115
- });
116
- const maxDistance = getMaxScrollDistance(tabBarWidth, layout.width);
117
- const scrollValue = Math.max(Math.min(value, maxDistance), 0);
118
- if (_reactNative.Platform.OS === 'android' && direction === 'rtl') {
119
- // On Android, scroll value is not applied in reverse in RTL
120
- // so we need to manually adjust it to apply correct value
121
- return maxDistance - scrollValue;
122
- }
123
- return scrollValue;
124
- };
125
- const getScrollAmount = ({
126
- layout,
127
- navigationState,
128
- gap,
129
- scrollEnabled,
130
- flattenedTabWidth,
131
- tabWidths,
132
- flattenedPaddingStart,
133
- flattenedPaddingEnd,
134
- direction
135
- }) => {
136
- const paddingInitial = direction === 'rtl' ? convertPaddingPercentToSize(flattenedPaddingEnd, layout) : convertPaddingPercentToSize(flattenedPaddingStart, layout);
137
- const centerDistance = Array.from({
138
- length: navigationState.index + 1
139
- }).reduce((total, _, i) => {
140
- const tabWidth = getComputedTabWidth(i, layout, navigationState.routes, scrollEnabled, tabWidths, flattenedTabWidth, flattenedPaddingStart, flattenedPaddingEnd, gap);
141
-
142
- // To get the current index centered we adjust scroll amount by width of indexes
143
- // 0 through (i - 1) and add half the width of current index i
144
- return total + (i > 0 ? gap ?? 0 : 0) + (navigationState.index === i ? tabWidth / 2 : tabWidth);
145
- }, paddingInitial);
146
- const scrollAmount = centerDistance - layout.width / 2;
147
- return normalizeScrollValue({
148
- layout,
149
- navigationState,
150
- tabWidths,
151
- value: scrollAmount,
152
- gap,
153
- scrollEnabled,
154
- flattenedTabWidth,
155
- flattenedPaddingStart,
156
- flattenedPaddingEnd,
157
- direction
158
- });
159
- };
160
- const getLabelTextDefault = ({
161
- route
162
- }) => route.title;
163
- const getAccessibleDefault = ({
164
- route
165
- }) => typeof route.accessible !== 'undefined' ? route.accessible : true;
166
- const getAccessibilityLabelDefault = ({
167
- route
168
- }) => typeof route.accessibilityLabel === 'string' ? route.accessibilityLabel : typeof route.title === 'string' ? route.title : undefined;
169
- const renderIndicatorDefault = props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TabBarIndicator.TabBarIndicator, {
170
- ...props
171
- });
172
- const getTestIdDefault = ({
173
- route
174
- }) => route.testID;
175
-
176
- // How many items measurements should we update per batch.
177
- // Defaults to 10, since that's whats FlatList is using in initialNumToRender.
178
- const MEASURE_PER_BATCH = 10;
179
- function TabBar({
180
- renderIndicator = renderIndicatorDefault,
181
- gap = 0,
182
- scrollEnabled,
183
- jumpTo,
184
- navigationState,
185
- position,
186
- activeColor,
187
- bounces,
188
- contentContainerStyle,
189
- inactiveColor,
190
- indicatorContainerStyle,
191
- indicatorStyle,
192
- onTabLongPress,
193
- onTabPress,
194
- pressColor,
195
- pressOpacity,
196
- direction = _reactNative.I18nManager.getConstants().isRTL ? 'rtl' : 'ltr',
197
- renderTabBarItem,
198
- style,
199
- tabStyle,
200
- layout: propLayout,
201
- testID,
202
- android_ripple,
203
- options
204
- }) {
205
- const [layout, setLayout] = React.useState(propLayout ?? {
206
- width: 0,
207
- height: 0
208
- });
209
- const [tabWidths, setTabWidths] = React.useState({});
210
- const flatListRef = React.useRef(null);
211
- const isFirst = React.useRef(true);
212
- const scrollAmount = (0, _useAnimatedValue.useAnimatedValue)(0);
213
- const measuredTabWidths = React.useRef({});
214
- const {
215
- routes
216
- } = navigationState;
217
- const flattenedTabWidth = getFlattenedTabWidth(tabStyle);
218
- const isWidthDynamic = flattenedTabWidth === 'auto';
219
- const flattenedPaddingEnd = getFlattenedPaddingEnd(contentContainerStyle);
220
- const flattenedPaddingStart = getFlattenedPaddingStart(contentContainerStyle);
221
- const scrollOffset = getScrollAmount({
222
- layout,
223
- navigationState,
224
- tabWidths,
225
- gap,
226
- scrollEnabled,
227
- flattenedTabWidth,
228
- flattenedPaddingStart,
229
- flattenedPaddingEnd,
230
- direction
231
- });
232
- const hasMeasuredTabWidths = Boolean(layout.width) && routes.slice(0, navigationState.index).every(r => typeof tabWidths[r.key] === 'number');
233
- React.useEffect(() => {
234
- if (isFirst.current) {
235
- isFirst.current = false;
236
- return;
237
- }
238
- if (isWidthDynamic && !hasMeasuredTabWidths) {
239
- return;
240
- }
241
- if (scrollEnabled) {
242
- flatListRef.current?.scrollToOffset({
243
- offset: scrollOffset,
244
- animated: true
245
- });
246
- }
247
- }, [hasMeasuredTabWidths, isWidthDynamic, scrollEnabled, scrollOffset]);
248
- const handleLayout = e => {
249
- const {
250
- height,
251
- width
252
- } = e.nativeEvent.layout;
253
- setLayout(layout => layout.width === width && layout.height === height ? layout : {
254
- width,
255
- height
256
- });
257
- };
258
- const tabBarWidth = getTabBarWidth({
259
- layout,
260
- navigationState,
261
- tabWidths,
262
- gap,
263
- scrollEnabled,
264
- flattenedTabWidth,
265
- flattenedPaddingStart,
266
- flattenedPaddingEnd
267
- });
268
- const separatorsWidth = Math.max(0, routes.length - 1) * gap;
269
- const paddingsWidth = Math.max(0, convertPaddingPercentToSize(flattenedPaddingStart, layout) + convertPaddingPercentToSize(flattenedPaddingEnd, layout));
270
- const translateX = React.useMemo(() => getTranslateX(scrollAmount, getMaxScrollDistance(tabBarWidth, layout.width), direction), [direction, layout.width, scrollAmount, tabBarWidth]);
271
- const renderItem = React.useCallback(({
272
- item: route,
273
- index
274
- }) => {
275
- const {
276
- testID = getTestIdDefault({
277
- route
278
- }),
279
- labelText = getLabelTextDefault({
280
- route
281
- }),
282
- accessible = getAccessibleDefault({
283
- route
284
- }),
285
- accessibilityLabel = getAccessibilityLabelDefault({
286
- route
287
- }),
288
- ...rest
289
- } = options?.[route.key] ?? {};
290
- const onLayout = isWidthDynamic ? e => {
291
- measuredTabWidths.current[route.key] = e.nativeEvent.layout.width;
292
-
293
- // When we have measured widths for all of the tabs, we should updates the state
294
- // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
295
- // If we have more than 10 routes divide updating tabWidths into multiple batches. Here we update only first batch of 10 items.
296
- if (routes.length > MEASURE_PER_BATCH && index === MEASURE_PER_BATCH && routes.slice(0, MEASURE_PER_BATCH).every(r => typeof measuredTabWidths.current[r.key] === 'number')) {
297
- setTabWidths({
298
- ...measuredTabWidths.current
299
- });
300
- } else if (routes.every(r => typeof measuredTabWidths.current[r.key] === 'number')) {
301
- // When we have measured widths for all of the tabs, we should updates the state
302
- // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
303
- setTabWidths({
304
- ...measuredTabWidths.current
305
- });
306
- }
307
- } : undefined;
308
- const onPress = () => {
309
- const event = {
310
- route,
311
- defaultPrevented: false,
312
- preventDefault: () => {
313
- event.defaultPrevented = true;
314
- }
315
- };
316
- onTabPress?.(event);
317
- if (event.defaultPrevented) {
318
- return;
319
- }
320
- jumpTo(route.key);
321
- };
322
- const onLongPress = () => onTabLongPress?.({
323
- route
324
- });
325
-
326
- // Calculate the default width for tab for FlatList to work
327
- const defaultTabWidth = !isWidthDynamic ? getComputedTabWidth(index, layout, routes, scrollEnabled, tabWidths, getFlattenedTabWidth(tabStyle), getFlattenedPaddingEnd(contentContainerStyle), getFlattenedPaddingStart(contentContainerStyle), gap) : undefined;
328
- const props = {
329
- ...rest,
330
- key: route.key,
331
- position,
332
- route,
333
- navigationState,
334
- testID,
335
- labelText,
336
- accessible,
337
- accessibilityLabel,
338
- activeColor,
339
- inactiveColor,
340
- pressColor,
341
- pressOpacity,
342
- onLayout,
343
- onPress,
344
- onLongPress,
345
- style: tabStyle,
346
- defaultTabWidth,
347
- android_ripple
348
- };
349
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
350
- children: [gap > 0 && index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Separator, {
351
- width: gap
352
- }) : null, renderTabBarItem ? renderTabBarItem(props) : /*#__PURE__*/(0, _react.createElement)(_TabBarItem.TabBarItem, {
353
- ...props,
354
- key: props.key
355
- })]
356
- });
357
- }, [position, navigationState, options, activeColor, inactiveColor, pressColor, pressOpacity, isWidthDynamic, tabStyle, layout, routes, scrollEnabled, tabWidths, contentContainerStyle, gap, android_ripple, renderTabBarItem, onTabPress, jumpTo, onTabLongPress]);
358
- const keyExtractor = React.useCallback(item => item.key, []);
359
- const contentContainerStyleMemoized = React.useMemo(() => [styles.tabContent, scrollEnabled ? {
360
- width: tabBarWidth
361
- } : null, contentContainerStyle], [contentContainerStyle, scrollEnabled, tabBarWidth]);
362
- const handleScroll = React.useMemo(() => _reactNative.Animated.event([{
363
- nativeEvent: {
364
- contentOffset: {
365
- x: scrollAmount
366
- }
367
- }
368
- }], {
369
- useNativeDriver
370
- }), [scrollAmount]);
371
- const handleViewableItemsChanged = (0, _useLatestCallback.default)(({
372
- changed
373
- }) => {
374
- if (routes.length <= MEASURE_PER_BATCH) {
375
- return;
376
- }
377
- // Get next vievable item
378
- const item = changed[changed.length - 1];
379
- const index = item?.index || 0;
380
- if (item.isViewable && (index % 10 === 0 || index === navigationState.index || index === routes.length - 1)) {
381
- setTabWidths({
382
- ...measuredTabWidths.current
383
- });
384
- }
385
- });
386
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
387
- onLayout: handleLayout,
388
- style: [styles.tabBar, style],
389
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
390
- pointerEvents: "none",
391
- style: [styles.indicatorContainer, scrollEnabled ? {
392
- transform: [{
393
- translateX
394
- }]
395
- } : null, scrollEnabled ? {
396
- width: tabBarWidth
397
- } : null, indicatorContainerStyle],
398
- children: renderIndicator({
399
- position,
400
- layout,
401
- navigationState,
402
- jumpTo,
403
- direction,
404
- width: isWidthDynamic ? 'auto' : Math.max(0, (tabBarWidth - separatorsWidth - paddingsWidth) / routes.length),
405
- style: [indicatorStyle, {
406
- start: flattenedPaddingStart,
407
- end: flattenedPaddingEnd
408
- }],
409
- getTabWidth: i => getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, flattenedTabWidth, flattenedPaddingEnd, flattenedPaddingStart, gap),
410
- gap
411
- })
412
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
413
- style: styles.scroll,
414
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.FlatList, {
415
- data: routes,
416
- keyExtractor: keyExtractor,
417
- horizontal: true,
418
- accessibilityRole: "tablist",
419
- keyboardShouldPersistTaps: "handled",
420
- scrollEnabled: scrollEnabled,
421
- bounces: bounces,
422
- initialNumToRender: MEASURE_PER_BATCH,
423
- onViewableItemsChanged: handleViewableItemsChanged,
424
- alwaysBounceHorizontal: false,
425
- scrollsToTop: false,
426
- showsHorizontalScrollIndicator: false,
427
- showsVerticalScrollIndicator: false,
428
- automaticallyAdjustContentInsets: false,
429
- overScrollMode: "never",
430
- contentContainerStyle: contentContainerStyleMemoized,
431
- scrollEventThrottle: 16,
432
- renderItem: renderItem,
433
- onScroll: handleScroll,
434
- ref: flatListRef,
435
- testID: testID
436
- })
437
- })]
438
- });
439
- }
440
- const styles = _reactNative.StyleSheet.create({
441
- scroll: {
442
- overflow: _reactNative.Platform.select({
443
- default: 'scroll',
444
- web: undefined
445
- })
446
- },
447
- tabBar: {
448
- zIndex: 1,
449
- backgroundColor: '#2196f3',
450
- elevation: 4,
451
- ..._reactNative.Platform.select({
452
- default: {
453
- shadowColor: 'black',
454
- shadowOpacity: 0.1,
455
- shadowRadius: _reactNative.StyleSheet.hairlineWidth,
456
- shadowOffset: {
457
- height: _reactNative.StyleSheet.hairlineWidth,
458
- width: 0
459
- }
460
- },
461
- web: {
462
- boxShadow: '0 1px 1px rgba(0, 0, 0, 0.1)'
463
- }
464
- })
465
- },
466
- tabContent: {
467
- flexGrow: 1,
468
- flexDirection: 'row',
469
- flexWrap: 'nowrap'
470
- },
471
- indicatorContainer: {
472
- position: 'absolute',
473
- top: 0,
474
- start: 0,
475
- end: 0,
476
- bottom: 0
477
- }
478
- });
479
- //# sourceMappingURL=TabBar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_useLatestCallback","_interopRequireDefault","_TabBarIndicator","_TabBarItem","_useAnimatedValue","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useNativeDriver","Platform","OS","Separator","width","jsx","View","style","getFlattenedTabWidth","tabStyle","StyleSheet","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","Animated","multiply","add","getTabBarWidth","navigationState","flattenedTabWidth","paddingsWidth","Math","max","reduce","acc","_","normalizeScrollValue","maxDistance","scrollValue","min","getScrollAmount","paddingInitial","centerDistance","Array","from","total","tabWidth","getLabelTextDefault","route","title","getAccessibleDefault","accessible","getAccessibilityLabelDefault","accessibilityLabel","undefined","renderIndicatorDefault","props","TabBarIndicator","getTestIdDefault","testID","MEASURE_PER_BATCH","TabBar","renderIndicator","jumpTo","position","activeColor","bounces","contentContainerStyle","inactiveColor","indicatorContainerStyle","indicatorStyle","onTabLongPress","onTabPress","pressColor","pressOpacity","I18nManager","getConstants","isRTL","renderTabBarItem","propLayout","android_ripple","options","setLayout","useState","height","setTabWidths","flatListRef","useRef","isFirst","useAnimatedValue","measuredTabWidths","isWidthDynamic","scrollOffset","hasMeasuredTabWidths","Boolean","slice","every","useEffect","current","scrollToOffset","offset","animated","handleLayout","nativeEvent","separatorsWidth","translateX","useMemo","renderItem","useCallback","item","labelText","rest","onLayout","onPress","event","defaultPrevented","preventDefault","onLongPress","defaultTabWidth","jsxs","Fragment","children","createElement","TabBarItem","keyExtractor","contentContainerStyleMemoized","styles","tabContent","handleScroll","contentOffset","x","handleViewableItemsChanged","useLatestCallback","changed","isViewable","tabBar","pointerEvents","indicatorContainer","transform","start","end","getTabWidth","scroll","FlatList","data","horizontal","accessibilityRole","keyboardShouldPersistTaps","initialNumToRender","onViewableItemsChanged","alwaysBounceHorizontal","scrollsToTop","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","automaticallyAdjustContentInsets","overScrollMode","scrollEventThrottle","onScroll","ref","create","overflow","select","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,128 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TabBarIndicator = TabBarIndicator;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _useAnimatedValue = require("./useAnimatedValue.js");
10
- 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; }
13
- const useNativeDriver = _reactNative.Platform.OS !== 'web';
14
- const getTranslateX = (position, routes, getTabWidth, direction, gap, width) => {
15
- const inputRange = routes.map((_, i) => i);
16
-
17
- // every index contains widths at all previous indices
18
- const outputRange = routes.reduce((acc, _, i) => {
19
- if (typeof width === 'number') {
20
- if (i === 0) return [getTabWidth(i) / 2 - width / 2];
21
- let sumTabWidth = 0;
22
- for (let j = 0; j < i; j++) {
23
- sumTabWidth += getTabWidth(j);
24
- }
25
- return [...acc, sumTabWidth + getTabWidth(i) / 2 + (gap ? gap * i : 0) - width / 2];
26
- } else {
27
- if (i === 0) return [0];
28
- return [...acc, acc[i - 1] + getTabWidth(i - 1) + (gap ?? 0)];
29
- }
30
- }, []);
31
- const translateX = position.interpolate({
32
- inputRange,
33
- outputRange,
34
- extrapolate: 'clamp'
35
- });
36
- return _reactNative.Animated.multiply(translateX, direction === 'rtl' ? -1 : 1);
37
- };
38
- function TabBarIndicator({
39
- getTabWidth,
40
- layout,
41
- navigationState,
42
- position,
43
- width,
44
- direction,
45
- gap,
46
- style,
47
- children
48
- }) {
49
- const isIndicatorShown = React.useRef(false);
50
- const isWidthDynamic = width === 'auto';
51
- const opacity = (0, _useAnimatedValue.useAnimatedValue)(isWidthDynamic ? 0 : 1);
52
- const indicatorVisible = isWidthDynamic ? layout.width && navigationState.routes.slice(0, navigationState.index).every((_, r) => getTabWidth(r)) : true;
53
- React.useEffect(() => {
54
- const fadeInIndicator = () => {
55
- if (!isIndicatorShown.current && isWidthDynamic &&
56
- // We should fade-in the indicator when we have widths for all the tab items
57
- indicatorVisible) {
58
- isIndicatorShown.current = true;
59
- _reactNative.Animated.timing(opacity, {
60
- toValue: 1,
61
- duration: 150,
62
- easing: _reactNative.Easing.in(_reactNative.Easing.linear),
63
- useNativeDriver
64
- }).start();
65
- }
66
- };
67
- fadeInIndicator();
68
- return () => opacity.stopAnimation();
69
- }, [indicatorVisible, isWidthDynamic, opacity]);
70
- const {
71
- routes
72
- } = navigationState;
73
- const transform = [];
74
- if (layout.width) {
75
- const translateX = routes.length > 1 ? getTranslateX(position, routes, getTabWidth, direction, gap, width) : 0;
76
- transform.push({
77
- translateX
78
- });
79
- }
80
- if (width === 'auto') {
81
- const inputRange = routes.map((_, i) => i);
82
- const outputRange = inputRange.map(getTabWidth);
83
- transform.push({
84
- scaleX: routes.length > 1 ? position.interpolate({
85
- inputRange,
86
- outputRange,
87
- extrapolate: 'clamp'
88
- }) : outputRange[0]
89
- }, {
90
- translateX: direction === 'rtl' ? -0.5 : 0.5
91
- });
92
- }
93
- const styleList = [];
94
-
95
- // scaleX doesn't work properly on chrome and opera for linux and android
96
- if (_reactNative.Platform.OS === 'web' && width === 'auto') {
97
- styleList.push({
98
- width: transform[1].scaleX
99
- }, {
100
- left: transform[0].translateX
101
- });
102
- } else {
103
- styleList.push({
104
- width: width === 'auto' ? 1 : width
105
- }, {
106
- start: `${100 / routes.length * navigationState.index}%`
107
- }, {
108
- transform
109
- });
110
- }
111
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
112
- style: [styles.indicator, styleList, width === 'auto' ? {
113
- opacity: opacity
114
- } : null, style],
115
- children: children
116
- });
117
- }
118
- const styles = _reactNative.StyleSheet.create({
119
- indicator: {
120
- backgroundColor: '#ffeb3b',
121
- position: 'absolute',
122
- start: 0,
123
- bottom: 0,
124
- end: 0,
125
- height: 2
126
- }
127
- });
128
- //# sourceMappingURL=TabBarIndicator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_useAnimatedValue","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useNativeDriver","Platform","OS","getTranslateX","position","routes","getTabWidth","direction","gap","width","inputRange","map","_","outputRange","reduce","acc","sumTabWidth","j","translateX","interpolate","extrapolate","Animated","multiply","TabBarIndicator","layout","navigationState","style","children","isIndicatorShown","useRef","isWidthDynamic","opacity","useAnimatedValue","indicatorVisible","slice","index","every","useEffect","fadeInIndicator","current","timing","toValue","duration","easing","Easing","in","linear","start","stopAnimation","transform","length","push","scaleX","styleList","left","jsx","View","styles","indicator","StyleSheet","create","backgroundColor","bottom","end","height"],"sourceRoot":"../../src","sources":["TabBarIndicator.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAeA,IAAAE,iBAAA,GAAAF,OAAA;AAAsD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AActD,MAAMW,eAAe,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK;AAE7C,MAAMC,aAAa,GAAGA,CACpBC,QAAgD,EAChDC,MAAe,EACfC,WAAwB,EACxBC,SAA0B,EAC1BC,GAAY,EACZC,KAAuB,KACpB;EACH,MAAMC,UAAU,GAAGL,MAAM,CAACM,GAAG,CAAC,CAACC,CAAC,EAAEd,CAAC,KAAKA,CAAC,CAAC;;EAE1C;EACA,MAAMe,WAAW,GAAGR,MAAM,CAACS,MAAM,CAAW,CAACC,GAAG,EAAEH,CAAC,EAAEd,CAAC,KAAK;IACzD,IAAI,OAAOW,KAAK,KAAK,QAAQ,EAAE;MAC7B,IAAIX,CAAC,KAAK,CAAC,EAAE,OAAO,CAACQ,WAAW,CAACR,CAAC,CAAC,GAAG,CAAC,GAAGW,KAAK,GAAG,CAAC,CAAC;MAEpD,IAAIO,WAAW,GAAG,CAAC;MACnB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnB,CAAC,EAAEmB,CAAC,EAAE,EAAE;QAC1BD,WAAW,IAAIV,WAAW,CAACW,CAAC,CAAC;MAC/B;MAEA,OAAO,CACL,GAAGF,GAAG,EACNC,WAAW,GAAGV,WAAW,CAACR,CAAC,CAAC,GAAG,CAAC,IAAIU,GAAG,GAAGA,GAAG,GAAGV,CAAC,GAAG,CAAC,CAAC,GAAGW,KAAK,GAAG,CAAC,CACnE;IACH,CAAC,MAAM;MACL,IAAIX,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;MACvB,OAAO,CAAC,GAAGiB,GAAG,EAAEA,GAAG,CAACjB,CAAC,GAAG,CAAC,CAAC,GAAGQ,WAAW,CAACR,CAAC,GAAG,CAAC,CAAC,IAAIU,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/D;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMU,UAAU,GAAGd,QAAQ,CAACe,WAAW,CAAC;IACtCT,UAAU;IACVG,WAAW;IACXO,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,OAAOC,qBAAQ,CAACC,QAAQ,CAACJ,UAAU,EAAEX,SAAS,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACpE,CAAC;AAEM,SAASgB,eAAeA,CAAkB;EAC/CjB,WAAW;EACXkB,MAAM;EACNC,eAAe;EACfrB,QAAQ;EACRK,KAAK;EACLF,SAAS;EACTC,GAAG;EACHkB,KAAK;EACLC;AACQ,CAAC,EAAE;EACX,MAAMC,gBAAgB,GAAGtD,KAAK,CAACuD,MAAM,CAAC,KAAK,CAAC;EAC5C,MAAMC,cAAc,GAAGrB,KAAK,KAAK,MAAM;EAEvC,MAAMsB,OAAO,GAAG,IAAAC,kCAAgB,EAACF,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;EAExD,MAAMG,gBAAgB,GAAGH,cAAc,GACnCN,MAAM,CAACf,KAAK,IACZgB,eAAe,CAACpB,MAAM,CACnB6B,KAAK,CAAC,CAAC,EAAET,eAAe,CAACU,KAAK,CAAC,CAC/BC,KAAK,CAAC,CAACxB,CAAC,EAAE7B,CAAC,KAAKuB,WAAW,CAACvB,CAAC,CAAC,CAAC,GAClC,IAAI;EAERT,KAAK,CAAC+D,SAAS,CAAC,MAAM;IACpB,MAAMC,eAAe,GAAGA,CAAA,KAAM;MAC5B,IACE,CAACV,gBAAgB,CAACW,OAAO,IACzBT,cAAc;MACd;MACAG,gBAAgB,EAChB;QACAL,gBAAgB,CAACW,OAAO,GAAG,IAAI;QAE/BlB,qBAAQ,CAACmB,MAAM,CAACT,OAAO,EAAE;UACvBU,OAAO,EAAE,CAAC;UACVC,QAAQ,EAAE,GAAG;UACbC,MAAM,EAAEC,mBAAM,CAACC,EAAE,CAACD,mBAAM,CAACE,MAAM,CAAC;UAChC9C;QACF,CAAC,CAAC,CAAC+C,KAAK,CAAC,CAAC;MACZ;IACF,CAAC;IAEDT,eAAe,CAAC,CAAC;IAEjB,OAAO,MAAMP,OAAO,CAACiB,aAAa,CAAC,CAAC;EACtC,CAAC,EAAE,CAACf,gBAAgB,EAAEH,cAAc,EAAEC,OAAO,CAAC,CAAC;EAE/C,MAAM;IAAE1B;EAAO,CAAC,GAAGoB,eAAe;EAElC,MAAMwB,SAAS,GAAG,EAAE;EAEpB,IAAIzB,MAAM,CAACf,KAAK,EAAE;IAChB,MAAMS,UAAU,GACdb,MAAM,CAAC6C,MAAM,GAAG,CAAC,GACb/C,aAAa,CAACC,QAAQ,EAAEC,MAAM,EAAEC,WAAW,EAAEC,SAAS,EAAEC,GAAG,EAAEC,KAAK,CAAC,GACnE,CAAC;IAEPwC,SAAS,CAACE,IAAI,CAAC;MAAEjC;IAAW,CAAC,CAAC;EAChC;EAEA,IAAIT,KAAK,KAAK,MAAM,EAAE;IACpB,MAAMC,UAAU,GAAGL,MAAM,CAACM,GAAG,CAAC,CAACC,CAAC,EAAEd,CAAC,KAAKA,CAAC,CAAC;IAC1C,MAAMe,WAAW,GAAGH,UAAU,CAACC,GAAG,CAACL,WAAW,CAAC;IAE/C2C,SAAS,CAACE,IAAI,CACZ;MACEC,MAAM,EACJ/C,MAAM,CAAC6C,MAAM,GAAG,CAAC,GACb9C,QAAQ,CAACe,WAAW,CAAC;QACnBT,UAAU;QACVG,WAAW;QACXO,WAAW,EAAE;MACf,CAAC,CAAC,GACFP,WAAW,CAAC,CAAC;IACrB,CAAC,EACD;MAAEK,UAAU,EAAEX,SAAS,KAAK,KAAK,GAAG,CAAC,GAAG,GAAG;IAAI,CACjD,CAAC;EACH;EAEA,MAAM8C,SAA+B,GAAG,EAAE;;EAE1C;EACA,IAAIpD,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAIO,KAAK,KAAK,MAAM,EAAE;IAC7C4C,SAAS,CAACF,IAAI,CACZ;MAAE1C,KAAK,EAAEwC,SAAS,CAAC,CAAC,CAAC,CAACG;IAAO,CAAC,EAC9B;MAAEE,IAAI,EAAEL,SAAS,CAAC,CAAC,CAAC,CAAC/B;IAAW,CAClC,CAAC;EACH,CAAC,MAAM;IACLmC,SAAS,CAACF,IAAI,CACZ;MAAE1C,KAAK,EAAEA,KAAK,KAAK,MAAM,GAAG,CAAC,GAAGA;IAAM,CAAC,EACvC;MAAEsC,KAAK,EAAE,GAAI,GAAG,GAAG1C,MAAM,CAAC6C,MAAM,GAAIzB,eAAe,CAACU,KAAK;IAAI,CAAC,EAC9D;MAAEc;IAAU,CACd,CAAC;EACH;EAEA,oBACE,IAAAtE,WAAA,CAAA4E,GAAA,EAAC9E,YAAA,CAAA4C,QAAQ,CAACmC,IAAI;IACZ9B,KAAK,EAAE,CACL+B,MAAM,CAACC,SAAS,EAChBL,SAAS,EACT5C,KAAK,KAAK,MAAM,GAAG;MAAEsB,OAAO,EAAEA;IAAQ,CAAC,GAAG,IAAI,EAC9CL,KAAK,CACL;IAAAC,QAAA,EAEDA;EAAQ,CACI,CAAC;AAEpB;AAEA,MAAM8B,MAAM,GAAGE,uBAAU,CAACC,MAAM,CAAC;EAC/BF,SAAS,EAAE;IACTG,eAAe,EAAE,SAAS;IAC1BzD,QAAQ,EAAE,UAAU;IACpB2C,KAAK,EAAE,CAAC;IACRe,MAAM,EAAE,CAAC;IACTC,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}