react-native-tab-view 5.0.0-alpha.3 → 5.0.0-alpha.5

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.
@@ -1 +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":[]}
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":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EAERC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,OAAOC,iBAAiB,MAAM,qBAAqB;AAGnD,SAASC,gBAAgB,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AActD,OAAO,SAASC,iBAAiBA,CAAC;EAChCC,mBAAmB;EACnBC,YAAY,GAAG,IAAI;EACnBC,eAAe;EACfC,aAAa;EACbC,WAAW;EACXC,YAAY;EACZC,UAAU;EACVC,QAAQ;EACRC,KAAK;EACLC,gBAAgB,GAAG,IAAI;EACvBC,eAAe,EAAEC,CAAC;EAAE;EACpBC,gBAAgB,GAAG,MAAM;EACzBC,OAAO,GAAG,KAAK;EACfC,cAAc,GAAG,OAAO;EACxBC,yBAAyB,GAAG,QAAQ;EACpC,GAAGC;AACmB,CAAC,EAAE;EACzB,MAAM;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGhB,eAAe;EAEzC,MAAMiB,SAAS,GAAG9B,KAAK,CAAC+B,MAAM,CAAgB,IAAIC,GAAG,CAAC,CAAC,CAAC,CAACC,OAAO;EAEhE,MAAMC,aAAa,GAAGlC,KAAK,CAAC+B,MAAM,CAAa,IAAI,CAAC;EACpD,MAAMI,YAAY,GAAGnC,KAAK,CAAC+B,MAAM,CAAO,IAAI,CAAC;EAE7C,MAAMK,YAAY,GAAGpC,KAAK,CAAC+B,MAAM,CAAC,IAAI,CAAC;EAEvC,MAAM,CAACM,MAAM,EAAEC,QAAQ,CAAC,GAAG/B,gBAAgB,CAAC4B,YAAY,EAAE,CAAC;IAAEI;EAAM,CAAC,KAAK;IACvE,IAAIH,YAAY,CAACH,OAAO,EAAE;MACxB,MAAMO,CAAC,GAAGZ,KAAK,GAAGW,KAAK;MAEvBE,gBAAgB,CAAC;QAAED,CAAC;QAAEE,CAAC,EAAE;MAAE,CAAC,CAAC;MAE7BC,OAAO,CAACC,QAAQ,CAACJ,CAAC,CAAC;IACrB,CAAC,MAAM,IAAIK,QAAQ,CAACZ,OAAO,KAAKL,KAAK,EAAE;MACrCkB,aAAa,CAAClB,KAAK,CAAC;IACtB;IAEAQ,YAAY,CAACH,OAAO,GAAG,KAAK;EAC9B,CAAC,CAAC;EAEF,MAAM,CAACc,aAAa,EAAEN,gBAAgB,CAAC,GAAGzC,KAAK,CAACgD,QAAQ,CAAC,OAAO;IAC9DR,CAAC,EAAEZ,KAAK,GAAGS,MAAM,CAACE,KAAK;IACvBG,CAAC,EAAE;EACL,CAAC,CAAC,CAAC;EAEH1C,KAAK,CAACiD,SAAS,CAAC,MAAM;IACpB;IACA;IACA,IAAI9C,QAAQ,CAAC+C,EAAE,KAAK,SAAS,EAAE;MAC7BC,qBAAqB,CAAC,MAAM;QAC1BjB,aAAa,CAACD,OAAO,EAAEmB,QAAQ,CAAC;UAC9BZ,CAAC,EAAEO,aAAa,CAACP,CAAC;UAClBa,QAAQ,EAAE;QACZ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACjC,gBAAgB,EAAE2B,aAAa,CAACP,CAAC,CAAC,CAAC;EAEvC,MAAM,CAACG,OAAO,CAAC,GAAG3C,KAAK,CAACgD,QAAQ,CAAC,MAAM,IAAI/C,QAAQ,CAACqD,KAAK,CAACP,aAAa,CAACP,CAAC,CAAC,CAAC;EAE3E,MAAMM,aAAa,GAAGxC,iBAAiB,CAAEsB,KAAa,IAAK;IACzDM,aAAa,CAACD,OAAO,EAAEmB,QAAQ,CAAC;MAC9BZ,CAAC,EAAEZ,KAAK,GAAGS,MAAM,CAACE,KAAK;MACvBc,QAAQ,EAAEjC;IACZ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMmC,MAAM,GAAGjD,iBAAiB,CAAEkD,GAAW,IAAK;IAChD,MAAMC,CAAC,GAAG5B,MAAM,CAAC6B,SAAS,CAAEC,KAAK,IAAKA,KAAK,CAACH,GAAG,KAAKA,GAAG,CAAC;IAExDV,aAAa,CAACW,CAAC,CAAC;IAEhB,IAAI9C,mBAAmB,KAAK,MAAM,EAAE;MAClCT,QAAQ,CAAC0D,OAAO,CAAC,CAAC;IACpB;EACF,CAAC,CAAC;EAEF,MAAMC,gBAAgB,GAAG7D,KAAK,CAAC8D,WAAW,CAAC,MAAM;IAC/C9C,YAAY,GAAG,CAAC;EAClB,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAM+C,cAAc,GAAG/D,KAAK,CAAC8D,WAAW,CAAC,MAAM;IAC7C7C,UAAU,GAAG,CAAC;EAChB,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,MAAM+C,SAAS,GAAG1D,iBAAiB,CAAE2D,QAAkB,IAAK;IAC1DnC,SAAS,CAACoC,GAAG,CAACD,QAAQ,CAAC;IAEvB,OAAO,MAAM;MACXnC,SAAS,CAACqC,MAAM,CAACF,QAAQ,CAAC;IAC5B,CAAC;EACH,CAAC,CAAC;EAEF,MAAMG,QAAQ,GAAGpE,KAAK,CAACqE,OAAO,CAC5B,MAAOhC,MAAM,CAACE,KAAK,GAAGtC,QAAQ,CAACqE,MAAM,CAAC3B,OAAO,EAAEN,MAAM,CAACE,KAAK,CAAC,GAAG,IAAK,EACpE,CAACF,MAAM,CAACE,KAAK,EAAEI,OAAO,CACxB,CAAC;EAED,MAAME,QAAQ,GAAG7C,KAAK,CAAC+B,MAAM,CAACH,KAAK,CAAC;EACpC,MAAM2C,QAAQ,GAAGvE,KAAK,CAAC+B,MAAM,CAC3ByC,SACF,CAAC;EAED,MAAMC,WAAW,GAAIjC,CAAS,IAAK;IACjC,MAAMkC,KAAK,GAAGC,KAAK,CAACnC,CAAC,GAAGH,MAAM,CAACE,KAAK,EAAE,CAAC,EAAEV,MAAM,CAAC+C,MAAM,GAAG,CAAC,CAAC;IAE3D,IAAIF,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE;MACnB7B,QAAQ,CAACZ,OAAO,GAAGyC,KAAK;MAExB,IAAIA,KAAK,KAAK9C,KAAK,EAAE;QACnBd,aAAa,CAAC4D,KAAK,CAAC;MACtB;MAEA3D,WAAW,GAAG;QAAEa,KAAK,EAAE8C;MAAM,CAAC,CAAC;IACjC;EACF,CAAC;EAED,MAAMG,QAAQ,GAAG5E,QAAQ,CAAC6E,KAAK,CAC7B,CACE;IACEC,WAAW,EAAE;MACXhC,aAAa,EAAE;QAAEP,CAAC,EAAEG;MAAQ;IAC9B;EACF,CAAC,CACF,EACD;IACEqC,eAAe,EAAE,IAAI;IACrBf,QAAQ,EAAGa,KAAkB,IAAK;MAChC,MAAM;QAAEtC;MAAE,CAAC,GAAGsC,KAAK,CAACC,WAAW,CAAChC,aAAa;MAE7C,MAAM2B,KAAK,GAAGC,KAAK,CAACnC,CAAC,GAAGH,MAAM,CAACE,KAAK,EAAE,CAAC,EAAEV,MAAM,CAAC+C,MAAM,GAAG,CAAC,CAAC;;MAE3D;MACA;MACA,MAAMK,IAAI,GAAG,CAACC,IAAI,CAACC,IAAI,CAACT,KAAK,CAAC,EAAEQ,IAAI,CAACE,KAAK,CAACV,KAAK,CAAC,CAAC,CAACW,IAAI,CACpD5B,CAAC,IAAKA,CAAC,KAAK7B,KACf,CAAC;MAED,IAAIqD,IAAI,IAAI,IAAI,EAAE;QAChBnD,SAAS,CAACwD,OAAO,CAAErB,QAAQ,IACzBA,QAAQ,CAAC;UACPsB,IAAI,EAAE,OAAO;UACb3D,KAAK,EAAEqD;QACT,CAAC,CACH,CAAC;MACH;;MAEA;MACA;MACA,IAAI9E,QAAQ,CAAC+C,EAAE,KAAK,KAAK,EAAE;QACzBsC,YAAY,CAACjB,QAAQ,CAACtC,OAAO,CAAC;QAE9BsC,QAAQ,CAACtC,OAAO,GAAGwD,UAAU,CAAC,MAAM;UAClChB,WAAW,CAACjC,CAAC,CAAC;QAChB,CAAC,EAAE,GAAG,CAAC;MACT;IACF;EACF,CACF,CAAC;EAED,MAAMkD,mBAAmB,GAAIZ,KAAkB,IAAK;IAClDL,WAAW,CAACK,KAAK,CAACC,WAAW,CAAChC,aAAa,CAACP,CAAC,CAAC;EAChD,CAAC;EAED,OAAOtB,QAAQ,CAAC;IACdkD,QAAQ,EAAEA,QAAQ,IAAI,IAAInE,QAAQ,CAACqD,KAAK,CAAC1B,KAAK,CAAC;IAC/CoC,SAAS;IACTT,MAAM;IACNoC,MAAM,EAAGzE,QAAQ,iBACfT,IAAA,CAACJ,IAAI;MAACuF,GAAG,EAAEzD,YAAa;MAACG,QAAQ,EAAEA,QAAS;MAACnB,KAAK,EAAE0E,MAAM,CAACC,SAAU;MAAA5E,QAAA,eACnET,IAAA,CAACR,QAAQ,CAAC8F,UAAU;QAAA,GACdpE,IAAI;QACRiE,GAAG,EAAE1D,aAAc;QACnB8D,UAAU;QACVC,aAAa;QACbC,sBAAsB;QACtB3E,gBAAgB,EAAEA,gBAAiB;QACnCC,OAAO,EAAEA,OAAQ;QACjBC,cAAc,EAAEA,cAAe;QAC/BC,yBAAyB,EAAEA,yBAA0B;QACrDf,mBAAmB,EACjBA,mBAAmB,KAAK,MAAM,GAAG,SAAS,GAAGA,mBAC9C;QACDwF,aAAa,EAAEvF,YAAY,IAAIwF,OAAO,CAAC/D,MAAM,CAACE,KAAK,CAAE;QACrD8D,uBAAuB,EAAE,KAAM;QAC/BC,YAAY,EAAE,KAAM;QACpBC,gCAAgC,EAAE,KAAM;QACxCC,8BAA8B,EAAE,KAAM;QACtCC,mBAAmB,EAAE,CAAE;QACvB5B,QAAQ,EAAEA,QAAS;QACnB6B,iBAAiB,EAAE7C,gBAAiB;QACpC8C,eAAe,EAAE5C,cAAe;QAChC2B,mBAAmB,EAAEA,mBAAoB;QACzC3C,aAAa,EAAEA,aAAc;QAC7B6D,qBAAqB,EAAE;UACrBrE,KAAK,EAAEF,MAAM,CAACE,KAAK,GAAG,GAAGV,MAAM,CAAC+C,MAAM,GAAG,GAAG,GAAG,GAAG;QACpD,CAAE;QACFzD,KAAK,EAAE,CAAC0E,MAAM,CAACgB,MAAM,EAAE1F,KAAK,CAAE;QAAAD,QAAA,EAE7BA,QAAQ,CACN4F,GAAG,CAAC,CAACC,KAAK,EAAEtD,CAAC,KAAK;UACjB,MAAME,KAAK,GAAG9B,MAAM,CAAC4B,CAAC,CAAC;UACvB,MAAMuD,OAAO,GAAGvD,CAAC,KAAK7B,KAAK;UAE3B,IAAI,CAACS,MAAM,CAACE,KAAK,IAAI,CAACyE,OAAO,EAAE;YAC7B,OAAO,IAAI;UACb;UAEA,oBACEvG,IAAA,CAACJ,IAAI;YAEHc,KAAK,EACHkB,MAAM,CAACE,KAAK;YACR;YACA;YACA;cAAEA,KAAK,EAAEF,MAAM,CAACE;YAAM,CAAC,GACvB;cAAEA,KAAK,EAAE;YAAO,CACrB;YAAArB,QAAA,EAEA6F;UAAK,GATDpD,KAAK,CAACH,GAUP,CAAC;QAEX,CAAC,CAAC,CACDyD,MAAM,CAAEF,KAAK,IAAKA,KAAK,KAAK,IAAI;MAAC,CACjB;IAAC,CAClB;EAEV,CAAC,CAAC;AACJ;AAEA,MAAMpC,KAAK,GAAGA,CAACD,KAAa,EAAEwC,GAAW,EAAEC,GAAW,KACpDjC,IAAI,CAACiC,GAAG,CAACD,GAAG,EAAEhC,IAAI,CAACgC,GAAG,CAACC,GAAG,EAAEzC,KAAK,CAAC,CAAC;AAErC,MAAMmB,MAAM,GAAGzF,UAAU,CAACgH,MAAM,CAAC;EAC/BtB,SAAS,EAAE;IACTuB,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ,CAAC;EACDT,MAAM,EAAE;IACNQ,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -2,7 +2,6 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import { Animated, I18nManager, Platform, StyleSheet, View } from 'react-native';
5
- import useLatestCallback from 'use-latest-callback';
6
5
  import { TabBarIndicator } from "./TabBarIndicator.js";
7
6
  import { TabBarItem } from "./TabBarItem.js";
8
7
  import { useAnimatedValue } from "./useAnimatedValue.js";
@@ -228,7 +227,6 @@ export function TabBar({
228
227
  const flatListRef = React.useRef(null);
229
228
  const isFirst = React.useRef(true);
230
229
  const scrollAmount = useAnimatedValue(0);
231
- const measuredTabWidths = React.useRef({});
232
230
  const {
233
231
  routes
234
232
  } = navigationState;
@@ -277,6 +275,8 @@ export function TabBar({
277
275
  const separatorsWidth = Math.max(0, routes.length - 1) * gap;
278
276
  const paddingsWidth = Math.max(0, convertPaddingPercentToSize(flattenedPaddingStart, layout.width) + convertPaddingPercentToSize(flattenedPaddingEnd, layout.width));
279
277
  const translateX = React.useMemo(() => getTranslateX(scrollAmount, getMaxScrollDistance(tabBarWidth, layout.width), direction), [direction, layout.width, scrollAmount, tabBarWidth]);
278
+ const measuredTabWidths = React.useRef({});
279
+ const animationFrameHandle = React.useRef(null);
280
280
  const renderItem = React.useCallback(({
281
281
  item: route,
282
282
  index
@@ -298,21 +298,14 @@ export function TabBar({
298
298
  } = options?.[route.key] ?? {};
299
299
  const onLayout = isWidthDynamic ? e => {
300
300
  measuredTabWidths.current[route.key] = e.nativeEvent.layout.width;
301
-
302
- // When we have measured widths for all of the tabs, we should updates the state
303
- // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
304
- // If we have more than 10 routes divide updating tabWidths into multiple batches. Here we update only first batch of 10 items.
305
- if (routes.length > MEASURE_PER_BATCH && index === MEASURE_PER_BATCH && routes.slice(0, MEASURE_PER_BATCH).every(r => typeof measuredTabWidths.current[r.key] === 'number')) {
306
- setTabWidths({
307
- ...measuredTabWidths.current
308
- });
309
- } else if (routes.every(r => typeof measuredTabWidths.current[r.key] === 'number')) {
310
- // When we have measured widths for all of the tabs, we should updates the state
311
- // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
301
+ if (animationFrameHandle.current != null) {
302
+ cancelAnimationFrame(animationFrameHandle.current);
303
+ }
304
+ animationFrameHandle.current = requestAnimationFrame(() => {
312
305
  setTabWidths({
313
306
  ...measuredTabWidths.current
314
307
  });
315
- }
308
+ });
316
309
  } : undefined;
317
310
  const onPress = () => {
318
311
  const event = {
@@ -388,21 +381,6 @@ export function TabBar({
388
381
  }], {
389
382
  useNativeDriver
390
383
  }), [scrollAmount]);
391
- const handleViewableItemsChanged = useLatestCallback(({
392
- changed
393
- }) => {
394
- if (routes.length <= MEASURE_PER_BATCH) {
395
- return;
396
- }
397
- // Get next vievable item
398
- const item = changed[changed.length - 1];
399
- const index = item?.index || 0;
400
- if (item.isViewable && (index % 10 === 0 || index === navigationState.index || index === routes.length - 1)) {
401
- setTabWidths({
402
- ...measuredTabWidths.current
403
- });
404
- }
405
- });
406
384
  return /*#__PURE__*/_jsxs(Animated.View, {
407
385
  ref: containerRef,
408
386
  onLayout: onLayout,
@@ -449,7 +427,6 @@ export function TabBar({
449
427
  scrollEnabled: scrollEnabled,
450
428
  bounces: bounces,
451
429
  initialNumToRender: MEASURE_PER_BATCH,
452
- onViewableItemsChanged: handleViewableItemsChanged,
453
430
  alwaysBounceHorizontal: false,
454
431
  scrollsToTop: false,
455
432
  showsHorizontalScrollIndicator: false,
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["React","Animated","I18nManager","Platform","StyleSheet","View","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","isWidthDynamic","scrollOffset","hasMeasuredTabWidths","Boolean","slice","every","r","useEffect","current","scrollToOffset","offset","animated","separatorsWidth","translateX","useMemo","measuredTabWidths","animationFrameHandle","renderItem","useCallback","item","labelText","rest","e","nativeEvent","cancelAnimationFrame","requestAnimationFrame","onPress","event","defaultPrevented","preventDefault","onLongPress","defaultTabWidth","children","keyExtractor","contentContainerStyleMemoized","styles","tabContent","handleScroll","contentOffset","x","ref","tabBar","indicatorContainer","transform","start","end","getTabWidth","scroll","FlatList","data","horizontal","role","keyboardShouldPersistTaps","initialNumToRender","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":[]}
@@ -5,23 +5,48 @@ import { Animated, Easing, Platform, StyleSheet } from 'react-native';
5
5
  import { useAnimatedValue } from "./useAnimatedValue.js";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  const useNativeDriver = Platform.OS !== 'web';
8
- const getTranslateX = (position, routes, getTabWidth, direction, gap, width) => {
8
+ const calculateSize = (value, referenceWidth) => {
9
+ if (typeof value === 'number') {
10
+ return value;
11
+ }
12
+ if (typeof value === 'string' && value.endsWith('%')) {
13
+ const parsed = parseFloat(value);
14
+ if (Number.isFinite(parsed)) {
15
+ return referenceWidth * (parsed / 100);
16
+ }
17
+ }
18
+ return undefined;
19
+ };
20
+ const getIndicatorWidthWithMargins = (width, style, direction) => {
21
+ const marginHorizontal = style?.marginHorizontal ?? style?.margin;
22
+ const leftMargin = (direction === 'ltr' ? style?.marginStart : style?.marginEnd) ?? style?.marginLeft ?? marginHorizontal;
23
+ const rightMargin = (direction === 'rtl' ? style?.marginStart : style?.marginEnd) ?? style?.marginRight ?? marginHorizontal;
24
+ return Math.max(0, width - (calculateSize(leftMargin, width) ?? 0) - (calculateSize(rightMargin, width) ?? 0));
25
+ };
26
+ const getIndicatorWidth = (tabWidth, width, style, direction) => {
27
+ const customWidth = calculateSize(style?.width, tabWidth);
28
+ if (customWidth !== undefined) {
29
+ return customWidth;
30
+ }
31
+ if (typeof width === 'number') {
32
+ return getIndicatorWidthWithMargins(width, style, direction);
33
+ }
34
+ return width;
35
+ };
36
+ const getTranslateX = (position, routes, getTabWidth, direction, gap, getWidth) => {
9
37
  const inputRange = routes.map((_, i) => i);
10
-
11
- // every index contains widths at all previous indices
12
- const outputRange = routes.reduce((acc, _, i) => {
13
- if (typeof width === 'number') {
14
- if (i === 0) return [getTabWidth(i) / 2 - width / 2];
15
- let sumTabWidth = 0;
16
- for (let j = 0; j < i; j++) {
17
- sumTabWidth += getTabWidth(j);
18
- }
19
- return [...acc, sumTabWidth + getTabWidth(i) / 2 + (gap ? gap * i : 0) - width / 2];
20
- } else {
21
- if (i === 0) return [0];
22
- return [...acc, acc[i - 1] + getTabWidth(i - 1) + (gap ?? 0)];
38
+ const outputRange = routes.map((_, i) => {
39
+ let sumTabWidth = 0;
40
+ for (let j = 0; j < i; j++) {
41
+ sumTabWidth += getTabWidth(j);
42
+ }
43
+ const indicatorWidth = getWidth?.(i);
44
+ const tabOffset = sumTabWidth + (gap ? gap * i : 0);
45
+ if (indicatorWidth === undefined) {
46
+ return tabOffset;
23
47
  }
24
- }, []);
48
+ return tabOffset + getTabWidth(i) / 2 - indicatorWidth / 2;
49
+ });
25
50
  const translateX = position.interpolate({
26
51
  inputRange,
27
52
  outputRange,
@@ -41,36 +66,62 @@ export function TabBarIndicator({
41
66
  }) {
42
67
  const isIndicatorShown = React.useRef(false);
43
68
  const isWidthDynamic = width === 'auto';
69
+ const flattenedStyle = StyleSheet.flatten(style);
70
+ const hasCustomIndicatorWidth = typeof flattenedStyle?.width === 'number' || typeof flattenedStyle?.width === 'string' && flattenedStyle?.width.endsWith('%');
71
+ const constantIndicatorWidth = typeof flattenedStyle?.width === 'number' ? flattenedStyle.width : undefined;
72
+ const isCentered = hasCustomIndicatorWidth && (flattenedStyle?.margin === 'auto' || flattenedStyle?.marginHorizontal === 'auto');
73
+
74
+ // If indicator has a custom width, we need to adjust calculations to account for it
75
+ // It should be centered relative to the tab if the margin is set to auto
76
+ const getCenteredIndicatorWidth = tabWidth => {
77
+ if (isCentered) {
78
+ return calculateSize(flattenedStyle?.width, tabWidth);
79
+ }
80
+ if (typeof width === 'number') {
81
+ return width;
82
+ }
83
+ return undefined;
84
+ };
44
85
  const opacity = useAnimatedValue(isWidthDynamic ? 0 : 1);
45
- const indicatorVisible = isWidthDynamic ? navigationState.routes.slice(0, navigationState.index).every((_, r) => getTabWidth(r)) : true;
86
+
87
+ // We should fade-in the indicator when we have widths for all the tab items
88
+ const indicatorVisible = isWidthDynamic ? navigationState.routes.slice(0, navigationState.index + 1).every((_, r) => getTabWidth(r)) : true;
46
89
  React.useEffect(() => {
90
+ let animation;
47
91
  const fadeInIndicator = () => {
48
- if (!isIndicatorShown.current && isWidthDynamic &&
49
- // We should fade-in the indicator when we have widths for all the tab items
50
- indicatorVisible) {
51
- isIndicatorShown.current = true;
52
- Animated.timing(opacity, {
92
+ if (!isIndicatorShown.current && isWidthDynamic && indicatorVisible) {
93
+ animation = Animated.timing(opacity, {
53
94
  toValue: 1,
54
95
  duration: 150,
55
96
  easing: Easing.in(Easing.linear),
56
97
  useNativeDriver
57
- }).start();
98
+ });
99
+ animation.start(({
100
+ finished
101
+ }) => {
102
+ if (finished) {
103
+ isIndicatorShown.current = true;
104
+ }
105
+ });
58
106
  }
59
107
  };
60
108
  fadeInIndicator();
61
- return () => opacity.stopAnimation();
109
+ return () => animation?.stop();
62
110
  }, [indicatorVisible, isWidthDynamic, opacity]);
63
111
  const {
64
112
  routes
65
113
  } = navigationState;
66
114
  const transform = [];
67
- const translateX = routes.length > 1 ? getTranslateX(position, routes, getTabWidth, direction, gap, width) : 0;
115
+ const translateX = routes.length > 1 ? getTranslateX(position, routes, getTabWidth, direction, gap, index => getCenteredIndicatorWidth(getTabWidth(index))) : 0;
68
116
  transform.push({
69
117
  translateX
70
118
  });
71
- if (width === 'auto') {
119
+ if (width === 'auto' && constantIndicatorWidth == null) {
72
120
  const inputRange = routes.map((_, i) => i);
73
- const outputRange = inputRange.map(getTabWidth);
121
+ const outputRange = inputRange.map(i => {
122
+ const tabW = getTabWidth(i);
123
+ return calculateSize(flattenedStyle?.width, tabW) ?? getIndicatorWidthWithMargins(tabW, flattenedStyle, direction);
124
+ });
74
125
  transform.push({
75
126
  scaleX: routes.length > 1 ? position.interpolate({
76
127
  inputRange,
@@ -83,26 +134,54 @@ export function TabBarIndicator({
83
134
  }
84
135
  const styleList = [];
85
136
 
86
- // scaleX doesn't work properly on chrome and opera for linux and android
87
- if (Platform.OS === 'web' && width === 'auto') {
137
+ // transform doesn't work properly on chrome and opera for linux and android
138
+ // so we need to use width and left/right instead of scaleX and translateX
139
+ // https://github.com/react-navigation/react-navigation/pull/11440
140
+ if (Platform.OS === 'web' && width === 'auto' && constantIndicatorWidth == null) {
141
+ const start = flattenedStyle?.start;
142
+ const translate = direction === 'rtl' ? Animated.multiply(translateX, -1) : translateX;
143
+ const offset = typeof start === 'number' ? Animated.add(translate, start) : translate;
88
144
  styleList.push({
89
145
  width: transform[1].scaleX
90
- }, {
91
- left: transform[0].translateX
146
+ }, direction === 'rtl' ? {
147
+ right: offset
148
+ } : {
149
+ left: offset
92
150
  });
93
151
  } else {
94
152
  styleList.push({
95
- width: width === 'auto' ? 1 : width
153
+ width: width === 'auto' ?
154
+ // if the indicator has a constant width, use it as is
155
+ // we don't need to scale it to match tab width
156
+ constantIndicatorWidth ?? 1 : getIndicatorWidth(getTabWidth(navigationState.index), width, flattenedStyle, direction)
96
157
  }, {
97
158
  start: `${100 / routes.length * navigationState.index}%`
98
159
  }, {
99
160
  transform
100
161
  });
101
162
  }
163
+ let finalStyle;
164
+ if (hasCustomIndicatorWidth && style != null) {
165
+ const rest = {
166
+ ...flattenedStyle
167
+ };
168
+ delete rest.width;
169
+ if (isCentered) {
170
+ if (rest.margin === 'auto') {
171
+ delete rest.margin;
172
+ }
173
+ if (rest.marginHorizontal === 'auto') {
174
+ delete rest.marginHorizontal;
175
+ }
176
+ }
177
+ finalStyle = rest;
178
+ } else {
179
+ finalStyle = style;
180
+ }
102
181
  return /*#__PURE__*/_jsx(Animated.View, {
103
182
  style: [styles.indicator, styleList, width === 'auto' ? {
104
183
  opacity: opacity
105
- } : null, style],
184
+ } : null, finalStyle],
106
185
  children: children
107
186
  });
108
187
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","Easing","Platform","StyleSheet","useAnimatedValue","jsx","_jsx","useNativeDriver","OS","getTranslateX","position","routes","getTabWidth","direction","gap","width","inputRange","map","_","i","outputRange","reduce","acc","sumTabWidth","j","translateX","interpolate","extrapolate","multiply","TabBarIndicator","navigationState","style","children","isIndicatorShown","useRef","isWidthDynamic","opacity","indicatorVisible","slice","index","every","r","useEffect","fadeInIndicator","current","timing","toValue","duration","easing","in","linear","start","stopAnimation","transform","length","push","scaleX","styleList","left","View","styles","indicator","create","backgroundColor","bottom","end","height"],"sourceRoot":"../../src","sources":["TabBarIndicator.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Animated","Easing","Platform","StyleSheet","useAnimatedValue","jsx","_jsx","useNativeDriver","OS","calculateSize","value","referenceWidth","endsWith","parsed","parseFloat","Number","isFinite","undefined","getIndicatorWidthWithMargins","width","style","direction","marginHorizontal","margin","leftMargin","marginStart","marginEnd","marginLeft","rightMargin","marginRight","Math","max","getIndicatorWidth","tabWidth","customWidth","getTranslateX","position","routes","getTabWidth","gap","getWidth","inputRange","map","_","i","outputRange","sumTabWidth","j","indicatorWidth","tabOffset","translateX","interpolate","extrapolate","multiply","TabBarIndicator","navigationState","children","isIndicatorShown","useRef","isWidthDynamic","flattenedStyle","flatten","hasCustomIndicatorWidth","constantIndicatorWidth","isCentered","getCenteredIndicatorWidth","opacity","indicatorVisible","slice","index","every","r","useEffect","animation","fadeInIndicator","current","timing","toValue","duration","easing","in","linear","start","finished","stop","transform","length","push","tabW","scaleX","styleList","translate","offset","add","right","left","finalStyle","rest","View","styles","indicator","create","backgroundColor","bottom","end","height"],"sourceRoot":"../../src","sources":["TabBarIndicator.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollViewAdapter.d.ts","sourceRoot":"","sources":["../../../src/ScrollViewAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,SAAS,CAAC;AAGtD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAC/C,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,yBAAyB,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CAC9C,CAAC;AAMJ,wBAAgB,iBAAiB,CAAC,EAChC,mBAAmB,EACnB,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAuB,EACvB,eAAe,EAAE,CAAC,EAAE,qCAAqC;AACzD,gBAAyB,EACzB,OAAe,EACf,cAAwB,EACxB,yBAAoC,EACpC,GAAG,IAAI,EACR,EAAE,sBAAsB,0EAkNxB"}
1
+ {"version":3,"file":"ScrollViewAdapter.d.ts","sourceRoot":"","sources":["../../../src/ScrollViewAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,SAAS,CAAC;AAGtD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAC/C,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,yBAAyB,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CAC9C,CAAC;AAMJ,wBAAgB,iBAAiB,CAAC,EAChC,mBAAmB,EACnB,YAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,gBAAuB,EACvB,eAAe,EAAE,CAAC,EAAE,qCAAqC;AACzD,gBAAyB,EACzB,OAAe,EACf,cAAwB,EACxB,yBAAoC,EACpC,GAAG,IAAI,EACR,EAAE,sBAAsB,0EAoNxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../src/TabBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../src/TabBar.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabBarIndicator.d.ts","sourceRoot":"","sources":["../../../src/TabBarIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,KAAK,EACL,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAEpD,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,kBAAkB,GAAG;IACxD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,GAAG,MAAM,CAAC;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AA2CF,wBAAgB,eAAe,CAAC,CAAC,SAAS,KAAK,EAAE,EAC/C,WAAW,EACX,eAAe,EACf,QAAQ,EACR,KAAK,EACL,SAAS,EACT,GAAG,EACH,KAAK,EACL,QAAQ,GACT,EAAE,KAAK,CAAC,CAAC,CAAC,2CA8FV"}
1
+ {"version":3,"file":"TabBarIndicator.d.ts","sourceRoot":"","sources":["../../../src/TabBarIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,KAAK,EACL,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAEpD,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,kBAAkB,GAAG;IACxD,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,GAAG,MAAM,CAAC;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAsGF,wBAAgB,eAAe,CAAC,CAAC,SAAS,KAAK,EAAE,EAC/C,WAAW,EACX,eAAe,EACf,QAAQ,EACR,KAAK,EACL,SAAS,EACT,GAAG,EACH,KAAK,EACL,QAAQ,GACT,EAAE,KAAK,CAAC,CAAC,CAAC,2CAsLV"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-native-tab-view",
3
3
  "description": "Tab view component for React Native",
4
- "version": "5.0.0-alpha.3",
4
+ "version": "5.0.0-alpha.5",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -55,10 +55,10 @@
55
55
  "react-native-builder-bob": "^0.40.12",
56
56
  "react-native-pager-view": "^8.0.0",
57
57
  "react-test-renderer": "19.2.0",
58
- "typescript": "^5.9.2"
58
+ "typescript": "^6.0.2"
59
59
  },
60
60
  "peerDependencies": {
61
- "react": ">= 19.0.0",
61
+ "react": ">= 19.2.0",
62
62
  "react-native": "*",
63
63
  "react-native-pager-view": ">= 7.0.0"
64
64
  },
@@ -80,5 +80,5 @@
80
80
  ]
81
81
  ]
82
82
  },
83
- "gitHead": "4ac6c41c1f751fba9dd82db050865bc71f3310f5"
83
+ "gitHead": "2e3c1f2571a3fdfcb47245e963633cd34a42ccff"
84
84
  }
@@ -125,7 +125,9 @@ export function ScrollViewAdapter({
125
125
  );
126
126
 
127
127
  const indexRef = React.useRef(index);
128
- const timerRef = React.useRef<NodeJS.Timeout | undefined>(undefined);
128
+ const timerRef = React.useRef<ReturnType<typeof setTimeout> | undefined>(
129
+ undefined
130
+ );
129
131
 
130
132
  const onScrollEnd = (x: number) => {
131
133
  const value = clamp(x / layout.width, 0, routes.length - 1);
package/src/TabBar.tsx CHANGED
@@ -13,9 +13,7 @@ import {
13
13
  StyleSheet,
14
14
  View,
15
15
  type ViewStyle,
16
- type ViewToken,
17
16
  } from 'react-native';
18
- import useLatestCallback from 'use-latest-callback';
19
17
 
20
18
  import {
21
19
  type Props as IndicatorProps,
@@ -370,7 +368,6 @@ export function TabBar<T extends Route>({
370
368
  const flatListRef = React.useRef<FlatList | null>(null);
371
369
  const isFirst = React.useRef(true);
372
370
  const scrollAmount = useAnimatedValue(0);
373
- const measuredTabWidths = React.useRef<Record<string, number>>({});
374
371
  const { routes } = navigationState;
375
372
  const flattenedTabWidth = getFlattenedTabWidth(tabStyle);
376
373
  const isWidthDynamic = flattenedTabWidth === 'auto';
@@ -442,6 +439,10 @@ export function TabBar<T extends Route>({
442
439
  [direction, layout.width, scrollAmount, tabBarWidth]
443
440
  );
444
441
 
442
+ const measuredTabWidths = React.useRef<Record<string, number>>({});
443
+ const animationFrameHandle =
444
+ React.useRef<ReturnType<typeof requestAnimationFrame>>(null);
445
+
445
446
  const renderItem = React.useCallback(
446
447
  ({ item: route, index }: ListRenderItemInfo<T>) => {
447
448
  const {
@@ -456,28 +457,13 @@ export function TabBar<T extends Route>({
456
457
  ? (e: LayoutChangeEvent) => {
457
458
  measuredTabWidths.current[route.key] = e.nativeEvent.layout.width;
458
459
 
459
- // When we have measured widths for all of the tabs, we should updates the state
460
- // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
461
- // If we have more than 10 routes divide updating tabWidths into multiple batches. Here we update only first batch of 10 items.
462
- if (
463
- routes.length > MEASURE_PER_BATCH &&
464
- index === MEASURE_PER_BATCH &&
465
- routes
466
- .slice(0, MEASURE_PER_BATCH)
467
- .every(
468
- (r) => typeof measuredTabWidths.current[r.key] === 'number'
469
- )
470
- ) {
471
- setTabWidths({ ...measuredTabWidths.current });
472
- } else if (
473
- routes.every(
474
- (r) => typeof measuredTabWidths.current[r.key] === 'number'
475
- )
476
- ) {
477
- // When we have measured widths for all of the tabs, we should updates the state
478
- // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
479
- setTabWidths({ ...measuredTabWidths.current });
460
+ if (animationFrameHandle.current != null) {
461
+ cancelAnimationFrame(animationFrameHandle.current);
480
462
  }
463
+
464
+ animationFrameHandle.current = requestAnimationFrame(() => {
465
+ setTabWidths({ ...measuredTabWidths.current });
466
+ });
481
467
  }
482
468
  : undefined;
483
469
 
@@ -600,25 +586,6 @@ export function TabBar<T extends Route>({
600
586
  [scrollAmount]
601
587
  );
602
588
 
603
- const handleViewableItemsChanged = useLatestCallback(
604
- ({ changed }: { changed: ViewToken[] }) => {
605
- if (routes.length <= MEASURE_PER_BATCH) {
606
- return;
607
- }
608
- // Get next vievable item
609
- const item = changed[changed.length - 1];
610
- const index = item?.index || 0;
611
- if (
612
- item.isViewable &&
613
- (index % 10 === 0 ||
614
- index === navigationState.index ||
615
- index === routes.length - 1)
616
- ) {
617
- setTabWidths({ ...measuredTabWidths.current });
618
- }
619
- }
620
- );
621
-
622
589
  return (
623
590
  <Animated.View
624
591
  ref={containerRef}
@@ -673,7 +640,6 @@ export function TabBar<T extends Route>({
673
640
  scrollEnabled={scrollEnabled}
674
641
  bounces={bounces}
675
642
  initialNumToRender={MEASURE_PER_BATCH}
676
- onViewableItemsChanged={handleViewableItemsChanged}
677
643
  alwaysBounceHorizontal={false}
678
644
  scrollsToTop={false}
679
645
  showsHorizontalScrollIndicator={false}
@@ -30,35 +30,94 @@ export type Props<T extends Route> = SceneRendererProps & {
30
30
 
31
31
  const useNativeDriver = Platform.OS !== 'web';
32
32
 
33
+ const calculateSize = (
34
+ value: ViewStyle['width'] | undefined,
35
+ referenceWidth: number
36
+ ): number | undefined => {
37
+ if (typeof value === 'number') {
38
+ return value;
39
+ }
40
+
41
+ if (typeof value === 'string' && value.endsWith('%')) {
42
+ const parsed = parseFloat(value);
43
+
44
+ if (Number.isFinite(parsed)) {
45
+ return referenceWidth * (parsed / 100);
46
+ }
47
+ }
48
+
49
+ return undefined;
50
+ };
51
+
52
+ const getIndicatorWidthWithMargins = (
53
+ width: number,
54
+ style: ViewStyle | undefined,
55
+ direction: LocaleDirection
56
+ ) => {
57
+ const marginHorizontal = style?.marginHorizontal ?? style?.margin;
58
+
59
+ const leftMargin =
60
+ (direction === 'ltr' ? style?.marginStart : style?.marginEnd) ??
61
+ style?.marginLeft ??
62
+ marginHorizontal;
63
+
64
+ const rightMargin =
65
+ (direction === 'rtl' ? style?.marginStart : style?.marginEnd) ??
66
+ style?.marginRight ??
67
+ marginHorizontal;
68
+
69
+ return Math.max(
70
+ 0,
71
+ width -
72
+ (calculateSize(leftMargin, width) ?? 0) -
73
+ (calculateSize(rightMargin, width) ?? 0)
74
+ );
75
+ };
76
+
77
+ const getIndicatorWidth = (
78
+ tabWidth: number,
79
+ width: number | `${number}%`,
80
+ style: ViewStyle | undefined,
81
+ direction: LocaleDirection
82
+ ): number | `${number}%` => {
83
+ const customWidth = calculateSize(style?.width, tabWidth);
84
+
85
+ if (customWidth !== undefined) {
86
+ return customWidth;
87
+ }
88
+
89
+ if (typeof width === 'number') {
90
+ return getIndicatorWidthWithMargins(width, style, direction);
91
+ }
92
+
93
+ return width;
94
+ };
95
+
33
96
  const getTranslateX = (
34
97
  position: Animated.AnimatedInterpolation<number>,
35
98
  routes: Route[],
36
99
  getTabWidth: GetTabWidth,
37
100
  direction: LocaleDirection,
38
101
  gap?: number,
39
- width?: number | string
102
+ getWidth?: (index: number) => number | undefined
40
103
  ) => {
41
104
  const inputRange = routes.map((_, i) => i);
105
+ const outputRange = routes.map((_, i) => {
106
+ let sumTabWidth = 0;
42
107
 
43
- // every index contains widths at all previous indices
44
- const outputRange = routes.reduce<number[]>((acc, _, i) => {
45
- if (typeof width === 'number') {
46
- if (i === 0) return [getTabWidth(i) / 2 - width / 2];
108
+ for (let j = 0; j < i; j++) {
109
+ sumTabWidth += getTabWidth(j);
110
+ }
47
111
 
48
- let sumTabWidth = 0;
49
- for (let j = 0; j < i; j++) {
50
- sumTabWidth += getTabWidth(j);
51
- }
112
+ const indicatorWidth = getWidth?.(i);
113
+ const tabOffset = sumTabWidth + (gap ? gap * i : 0);
52
114
 
53
- return [
54
- ...acc,
55
- sumTabWidth + getTabWidth(i) / 2 + (gap ? gap * i : 0) - width / 2,
56
- ];
57
- } else {
58
- if (i === 0) return [0];
59
- return [...acc, acc[i - 1] + getTabWidth(i - 1) + (gap ?? 0)];
115
+ if (indicatorWidth === undefined) {
116
+ return tabOffset;
60
117
  }
61
- }, []);
118
+
119
+ return tabOffset + getTabWidth(i) / 2 - indicatorWidth / 2;
120
+ });
62
121
 
63
122
  const translateX = position.interpolate({
64
123
  inputRange,
@@ -82,36 +141,69 @@ export function TabBarIndicator<T extends Route>({
82
141
  const isIndicatorShown = React.useRef(false);
83
142
  const isWidthDynamic = width === 'auto';
84
143
 
144
+ const flattenedStyle = StyleSheet.flatten(style);
145
+
146
+ const hasCustomIndicatorWidth =
147
+ typeof flattenedStyle?.width === 'number' ||
148
+ (typeof flattenedStyle?.width === 'string' &&
149
+ flattenedStyle?.width.endsWith('%'));
150
+
151
+ const constantIndicatorWidth =
152
+ typeof flattenedStyle?.width === 'number'
153
+ ? flattenedStyle.width
154
+ : undefined;
155
+
156
+ const isCentered =
157
+ hasCustomIndicatorWidth &&
158
+ (flattenedStyle?.margin === 'auto' ||
159
+ flattenedStyle?.marginHorizontal === 'auto');
160
+
161
+ // If indicator has a custom width, we need to adjust calculations to account for it
162
+ // It should be centered relative to the tab if the margin is set to auto
163
+ const getCenteredIndicatorWidth = (tabWidth: number) => {
164
+ if (isCentered) {
165
+ return calculateSize(flattenedStyle?.width, tabWidth);
166
+ }
167
+
168
+ if (typeof width === 'number') {
169
+ return width;
170
+ }
171
+
172
+ return undefined;
173
+ };
174
+
85
175
  const opacity = useAnimatedValue(isWidthDynamic ? 0 : 1);
86
176
 
177
+ // We should fade-in the indicator when we have widths for all the tab items
87
178
  const indicatorVisible = isWidthDynamic
88
179
  ? navigationState.routes
89
- .slice(0, navigationState.index)
180
+ .slice(0, navigationState.index + 1)
90
181
  .every((_, r) => getTabWidth(r))
91
182
  : true;
92
183
 
93
184
  React.useEffect(() => {
185
+ let animation: Animated.CompositeAnimation | undefined;
186
+
94
187
  const fadeInIndicator = () => {
95
- if (
96
- !isIndicatorShown.current &&
97
- isWidthDynamic &&
98
- // We should fade-in the indicator when we have widths for all the tab items
99
- indicatorVisible
100
- ) {
101
- isIndicatorShown.current = true;
102
-
103
- Animated.timing(opacity, {
188
+ if (!isIndicatorShown.current && isWidthDynamic && indicatorVisible) {
189
+ animation = Animated.timing(opacity, {
104
190
  toValue: 1,
105
191
  duration: 150,
106
192
  easing: Easing.in(Easing.linear),
107
193
  useNativeDriver,
108
- }).start();
194
+ });
195
+
196
+ animation.start(({ finished }) => {
197
+ if (finished) {
198
+ isIndicatorShown.current = true;
199
+ }
200
+ });
109
201
  }
110
202
  };
111
203
 
112
204
  fadeInIndicator();
113
205
 
114
- return () => opacity.stopAnimation();
206
+ return () => animation?.stop();
115
207
  }, [indicatorVisible, isWidthDynamic, opacity]);
116
208
 
117
209
  const { routes } = navigationState;
@@ -120,14 +212,23 @@ export function TabBarIndicator<T extends Route>({
120
212
 
121
213
  const translateX =
122
214
  routes.length > 1
123
- ? getTranslateX(position, routes, getTabWidth, direction, gap, width)
215
+ ? getTranslateX(position, routes, getTabWidth, direction, gap, (index) =>
216
+ getCenteredIndicatorWidth(getTabWidth(index))
217
+ )
124
218
  : 0;
125
219
 
126
220
  transform.push({ translateX });
127
221
 
128
- if (width === 'auto') {
222
+ if (width === 'auto' && constantIndicatorWidth == null) {
129
223
  const inputRange = routes.map((_, i) => i);
130
- const outputRange = inputRange.map(getTabWidth);
224
+ const outputRange = inputRange.map((i) => {
225
+ const tabW = getTabWidth(i);
226
+
227
+ return (
228
+ calculateSize(flattenedStyle?.width, tabW) ??
229
+ getIndicatorWidthWithMargins(tabW, flattenedStyle, direction)
230
+ );
231
+ });
131
232
 
132
233
  transform.push(
133
234
  {
@@ -146,27 +247,73 @@ export function TabBarIndicator<T extends Route>({
146
247
 
147
248
  const styleList: StyleProp<ViewStyle> = [];
148
249
 
149
- // scaleX doesn't work properly on chrome and opera for linux and android
150
- if (Platform.OS === 'web' && width === 'auto') {
250
+ // transform doesn't work properly on chrome and opera for linux and android
251
+ // so we need to use width and left/right instead of scaleX and translateX
252
+ // https://github.com/react-navigation/react-navigation/pull/11440
253
+ if (
254
+ Platform.OS === 'web' &&
255
+ width === 'auto' &&
256
+ constantIndicatorWidth == null
257
+ ) {
258
+ const start = flattenedStyle?.start;
259
+ const translate =
260
+ direction === 'rtl' ? Animated.multiply(translateX, -1) : translateX;
261
+ const offset =
262
+ typeof start === 'number' ? Animated.add(translate, start) : translate;
263
+
151
264
  styleList.push(
152
265
  { width: transform[1].scaleX },
153
- { left: transform[0].translateX }
266
+ direction === 'rtl' ? { right: offset } : { left: offset }
154
267
  );
155
268
  } else {
156
269
  styleList.push(
157
- { width: width === 'auto' ? 1 : width },
270
+ {
271
+ width:
272
+ width === 'auto'
273
+ ? // if the indicator has a constant width, use it as is
274
+ // we don't need to scale it to match tab width
275
+ (constantIndicatorWidth ?? 1)
276
+ : getIndicatorWidth(
277
+ getTabWidth(navigationState.index),
278
+ width,
279
+ flattenedStyle,
280
+ direction
281
+ ),
282
+ },
158
283
  { start: `${(100 / routes.length) * navigationState.index}%` },
159
284
  { transform }
160
285
  );
161
286
  }
162
287
 
288
+ let finalStyle;
289
+
290
+ if (hasCustomIndicatorWidth && style != null) {
291
+ const rest = { ...flattenedStyle };
292
+
293
+ delete rest.width;
294
+
295
+ if (isCentered) {
296
+ if (rest.margin === 'auto') {
297
+ delete rest.margin;
298
+ }
299
+
300
+ if (rest.marginHorizontal === 'auto') {
301
+ delete rest.marginHorizontal;
302
+ }
303
+ }
304
+
305
+ finalStyle = rest;
306
+ } else {
307
+ finalStyle = style;
308
+ }
309
+
163
310
  return (
164
311
  <Animated.View
165
312
  style={[
166
313
  styles.indicator,
167
314
  styleList,
168
315
  width === 'auto' ? { opacity: opacity } : null,
169
- style,
316
+ finalStyle,
170
317
  ]}
171
318
  >
172
319
  {children}