react-native-tab-view 3.3.2 → 3.3.4

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 (84) hide show
  1. package/lib/commonjs/Pager.android.js +0 -2
  2. package/lib/commonjs/Pager.android.js.map +1 -1
  3. package/lib/commonjs/Pager.ios.js +0 -2
  4. package/lib/commonjs/Pager.ios.js.map +1 -1
  5. package/lib/commonjs/Pager.js +0 -2
  6. package/lib/commonjs/Pager.js.map +1 -1
  7. package/lib/commonjs/PagerViewAdapter.js +0 -24
  8. package/lib/commonjs/PagerViewAdapter.js.map +1 -1
  9. package/lib/commonjs/PanResponderAdapter.js +11 -42
  10. package/lib/commonjs/PanResponderAdapter.js.map +1 -1
  11. package/lib/commonjs/PlatformPressable.js +1 -7
  12. package/lib/commonjs/PlatformPressable.js.map +1 -1
  13. package/lib/commonjs/SceneMap.js +0 -5
  14. package/lib/commonjs/SceneMap.js.map +1 -1
  15. package/lib/commonjs/SceneView.js +4 -15
  16. package/lib/commonjs/SceneView.js.map +1 -1
  17. package/lib/commonjs/TabBar.js +19 -57
  18. package/lib/commonjs/TabBar.js.map +1 -1
  19. package/lib/commonjs/TabBarIndicator.js +7 -18
  20. package/lib/commonjs/TabBarIndicator.js.map +1 -1
  21. package/lib/commonjs/TabBarItem.js +2 -27
  22. package/lib/commonjs/TabBarItem.js.map +1 -1
  23. package/lib/commonjs/TabView.js +6 -18
  24. package/lib/commonjs/TabView.js.map +1 -1
  25. package/lib/commonjs/index.js +0 -6
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/types.js.map +1 -1
  28. package/lib/commonjs/useAnimatedValue.js +0 -7
  29. package/lib/commonjs/useAnimatedValue.js.map +1 -1
  30. package/lib/module/Pager.android.js.map +1 -1
  31. package/lib/module/Pager.ios.js.map +1 -1
  32. package/lib/module/Pager.js.map +1 -1
  33. package/lib/module/PagerViewAdapter.js +0 -14
  34. package/lib/module/PagerViewAdapter.js.map +1 -1
  35. package/lib/module/PanResponderAdapter.js +11 -28
  36. package/lib/module/PanResponderAdapter.js.map +1 -1
  37. package/lib/module/PlatformPressable.js +1 -2
  38. package/lib/module/PlatformPressable.js.map +1 -1
  39. package/lib/module/SceneMap.js.map +1 -1
  40. package/lib/module/SceneView.js +4 -9
  41. package/lib/module/SceneView.js.map +1 -1
  42. package/lib/module/TabBar.js +19 -45
  43. package/lib/module/TabBar.js.map +1 -1
  44. package/lib/module/TabBarIndicator.js +7 -10
  45. package/lib/module/TabBarIndicator.js.map +1 -1
  46. package/lib/module/TabBarItem.js +2 -15
  47. package/lib/module/TabBarItem.js.map +1 -1
  48. package/lib/module/TabView.js +6 -8
  49. package/lib/module/TabView.js.map +1 -1
  50. package/lib/module/index.js.map +1 -1
  51. package/lib/module/types.js.map +1 -1
  52. package/lib/module/useAnimatedValue.js +0 -2
  53. package/lib/module/useAnimatedValue.js.map +1 -1
  54. package/lib/typescript/src/Pager.android.d.ts +1 -0
  55. package/lib/typescript/src/Pager.android.d.ts.map +1 -0
  56. package/lib/typescript/src/Pager.d.ts +1 -0
  57. package/lib/typescript/src/Pager.d.ts.map +1 -0
  58. package/lib/typescript/src/Pager.ios.d.ts +1 -0
  59. package/lib/typescript/src/Pager.ios.d.ts.map +1 -0
  60. package/lib/typescript/src/PagerViewAdapter.d.ts +1 -0
  61. package/lib/typescript/src/PagerViewAdapter.d.ts.map +1 -0
  62. package/lib/typescript/src/PanResponderAdapter.d.ts +1 -0
  63. package/lib/typescript/src/PanResponderAdapter.d.ts.map +1 -0
  64. package/lib/typescript/src/PlatformPressable.d.ts +1 -0
  65. package/lib/typescript/src/PlatformPressable.d.ts.map +1 -0
  66. package/lib/typescript/src/SceneMap.d.ts +1 -0
  67. package/lib/typescript/src/SceneMap.d.ts.map +1 -0
  68. package/lib/typescript/src/SceneView.d.ts +1 -0
  69. package/lib/typescript/src/SceneView.d.ts.map +1 -0
  70. package/lib/typescript/src/TabBar.d.ts +1 -0
  71. package/lib/typescript/src/TabBar.d.ts.map +1 -0
  72. package/lib/typescript/src/TabBarIndicator.d.ts +1 -0
  73. package/lib/typescript/src/TabBarIndicator.d.ts.map +1 -0
  74. package/lib/typescript/src/TabBarItem.d.ts +1 -0
  75. package/lib/typescript/src/TabBarItem.d.ts.map +1 -0
  76. package/lib/typescript/src/TabView.d.ts +1 -0
  77. package/lib/typescript/src/TabView.d.ts.map +1 -0
  78. package/lib/typescript/src/index.d.ts +1 -0
  79. package/lib/typescript/src/index.d.ts.map +1 -0
  80. package/lib/typescript/src/types.d.ts +1 -0
  81. package/lib/typescript/src/types.d.ts.map +1 -0
  82. package/lib/typescript/src/useAnimatedValue.d.ts +1 -0
  83. package/lib/typescript/src/useAnimatedValue.d.ts.map +1 -0
  84. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"names":["SceneView","children","navigationState","lazy","layout","index","lazyPreloadDistance","addEnterListener","style","isLoading","setIsLoading","React","useState","Math","abs","useEffect","handleEnter","value","prevState","unsubscribe","timer","setTimeout","clearTimeout","focused","styles","route","width","StyleSheet","absoluteFill","loading","create","flex","overflow"],"sources":["SceneView.tsx"],"sourcesContent":["import * as React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport type {\n EventEmitterProps,\n NavigationState,\n Route,\n SceneRendererProps,\n} from './types';\n\ntype Props<T extends Route> = SceneRendererProps &\n EventEmitterProps & {\n navigationState: NavigationState<T>;\n lazy: boolean;\n lazyPreloadDistance: number;\n index: number;\n children: (props: { loading: boolean }) => React.ReactNode;\n style?: StyleProp<ViewStyle>;\n };\n\nexport default function SceneView<T extends Route>({\n children,\n navigationState,\n lazy,\n layout,\n index,\n lazyPreloadDistance,\n addEnterListener,\n style,\n}: Props<T>) {\n const [isLoading, setIsLoading] = React.useState(\n Math.abs(navigationState.index - index) > lazyPreloadDistance\n );\n\n if (\n isLoading &&\n Math.abs(navigationState.index - index) <= lazyPreloadDistance\n ) {\n // Always render the route when it becomes focused\n setIsLoading(false);\n }\n\n React.useEffect(() => {\n const handleEnter = (value: number) => {\n // If we're entering the current route, we need to load it\n if (value === index) {\n setIsLoading((prevState) => {\n if (prevState) {\n return false;\n }\n return prevState;\n });\n }\n };\n\n let unsubscribe: (() => void) | undefined;\n let timer: NodeJS.Timeout;\n\n if (lazy && isLoading) {\n // If lazy mode is enabled, listen to when we enter screens\n unsubscribe = addEnterListener(handleEnter);\n } else if (isLoading) {\n // If lazy mode is not enabled, render the scene with a delay if not loaded already\n // This improves the initial startup time as the scene is no longer blocking\n timer = setTimeout(() => setIsLoading(false), 0);\n }\n\n return () => {\n unsubscribe?.();\n clearTimeout(timer);\n };\n }, [addEnterListener, index, isLoading, lazy]);\n\n const focused = navigationState.index === index;\n\n return (\n <View\n accessibilityElementsHidden={!focused}\n importantForAccessibility={focused ? 'auto' : 'no-hide-descendants'}\n style={[\n styles.route,\n // If we don't have the layout yet, make the focused screen fill the container\n // This avoids delay before we are able to render pages side by side\n layout.width\n ? { width: layout.width }\n : focused\n ? StyleSheet.absoluteFill\n : null,\n style,\n ]}\n >\n {\n // Only render the route only if it's either focused or layout is available\n // When layout is not available, we must not render unfocused routes\n // so that the focused route can fill the screen\n focused || layout.width ? children({ loading: isLoading }) : null\n }\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n route: {\n flex: 1,\n overflow: 'hidden',\n },\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAmBe,SAASA,SAAT,OASF;EAAA,IATsC;IACjDC,QADiD;IAEjDC,eAFiD;IAGjDC,IAHiD;IAIjDC,MAJiD;IAKjDC,KALiD;IAMjDC,mBANiD;IAOjDC,gBAPiD;IAQjDC;EARiD,CAStC;EACX,MAAM,CAACC,SAAD,EAAYC,YAAZ,IAA4BC,KAAK,CAACC,QAAN,CAChCC,IAAI,CAACC,GAAL,CAASZ,eAAe,CAACG,KAAhB,GAAwBA,KAAjC,IAA0CC,mBADV,CAAlC;;EAIA,IACEG,SAAS,IACTI,IAAI,CAACC,GAAL,CAASZ,eAAe,CAACG,KAAhB,GAAwBA,KAAjC,KAA2CC,mBAF7C,EAGE;IACA;IACAI,YAAY,CAAC,KAAD,CAAZ;EACD;;EAEDC,KAAK,CAACI,SAAN,CAAgB,MAAM;IACpB,MAAMC,WAAW,GAAIC,KAAD,IAAmB;MACrC;MACA,IAAIA,KAAK,KAAKZ,KAAd,EAAqB;QACnBK,YAAY,CAAEQ,SAAD,IAAe;UAC1B,IAAIA,SAAJ,EAAe;YACb,OAAO,KAAP;UACD;;UACD,OAAOA,SAAP;QACD,CALW,CAAZ;MAMD;IACF,CAVD;;IAYA,IAAIC,WAAJ;IACA,IAAIC,KAAJ;;IAEA,IAAIjB,IAAI,IAAIM,SAAZ,EAAuB;MACrB;MACAU,WAAW,GAAGZ,gBAAgB,CAACS,WAAD,CAA9B;IACD,CAHD,MAGO,IAAIP,SAAJ,EAAe;MACpB;MACA;MACAW,KAAK,GAAGC,UAAU,CAAC,MAAMX,YAAY,CAAC,KAAD,CAAnB,EAA4B,CAA5B,CAAlB;IACD;;IAED,OAAO,MAAM;MAAA;;MACX,gBAAAS,WAAW,UAAX;MACAG,YAAY,CAACF,KAAD,CAAZ;IACD,CAHD;EAID,CA7BD,EA6BG,CAACb,gBAAD,EAAmBF,KAAnB,EAA0BI,SAA1B,EAAqCN,IAArC,CA7BH;EA+BA,MAAMoB,OAAO,GAAGrB,eAAe,CAACG,KAAhB,KAA0BA,KAA1C;EAEA,oBACE,oBAAC,iBAAD;IACE,2BAA2B,EAAE,CAACkB,OADhC;IAEE,yBAAyB,EAAEA,OAAO,GAAG,MAAH,GAAY,qBAFhD;IAGE,KAAK,EAAE,CACLC,MAAM,CAACC,KADF,EAEL;IACA;IACArB,MAAM,CAACsB,KAAP,GACI;MAAEA,KAAK,EAAEtB,MAAM,CAACsB;IAAhB,CADJ,GAEIH,OAAO,GACPI,uBAAA,CAAWC,YADJ,GAEP,IARC,EASLpB,KATK;EAHT,GAgBI;EACA;EACA;EACAe,OAAO,IAAInB,MAAM,CAACsB,KAAlB,GAA0BzB,QAAQ,CAAC;IAAE4B,OAAO,EAAEpB;EAAX,CAAD,CAAlC,GAA6D,IAnBjE,CADF;AAwBD;;AAED,MAAMe,MAAM,GAAGG,uBAAA,CAAWG,MAAX,CAAkB;EAC/BL,KAAK,EAAE;IACLM,IAAI,EAAE,CADD;IAELC,QAAQ,EAAE;EAFL;AADwB,CAAlB,CAAf"}
1
+ {"version":3,"names":["SceneView","children","navigationState","lazy","layout","index","lazyPreloadDistance","addEnterListener","style","isLoading","setIsLoading","React","useState","Math","abs","useEffect","handleEnter","value","prevState","unsubscribe","timer","setTimeout","clearTimeout","focused","styles","route","width","StyleSheet","absoluteFill","loading","create","flex","overflow"],"sourceRoot":"../../src","sources":["SceneView.tsx"],"mappings":";;;;;;AAAA;AACA;AAAsE;AAAA;AAmBvD,SAASA,SAAS,OASpB;EAAA,IATsC;IACjDC,QAAQ;IACRC,eAAe;IACfC,IAAI;IACJC,MAAM;IACNC,KAAK;IACLC,mBAAmB;IACnBC,gBAAgB;IAChBC;EACQ,CAAC;EACT,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGC,KAAK,CAACC,QAAQ,CAC9CC,IAAI,CAACC,GAAG,CAACZ,eAAe,CAACG,KAAK,GAAGA,KAAK,CAAC,GAAGC,mBAAmB,CAC9D;EAED,IACEG,SAAS,IACTI,IAAI,CAACC,GAAG,CAACZ,eAAe,CAACG,KAAK,GAAGA,KAAK,CAAC,IAAIC,mBAAmB,EAC9D;IACA;IACAI,YAAY,CAAC,KAAK,CAAC;EACrB;EAEAC,KAAK,CAACI,SAAS,CAAC,MAAM;IACpB,MAAMC,WAAW,GAAIC,KAAa,IAAK;MACrC;MACA,IAAIA,KAAK,KAAKZ,KAAK,EAAE;QACnBK,YAAY,CAAEQ,SAAS,IAAK;UAC1B,IAAIA,SAAS,EAAE;YACb,OAAO,KAAK;UACd;UACA,OAAOA,SAAS;QAClB,CAAC,CAAC;MACJ;IACF,CAAC;IAED,IAAIC,WAAqC;IACzC,IAAIC,KAAqB;IAEzB,IAAIjB,IAAI,IAAIM,SAAS,EAAE;MACrB;MACAU,WAAW,GAAGZ,gBAAgB,CAACS,WAAW,CAAC;IAC7C,CAAC,MAAM,IAAIP,SAAS,EAAE;MACpB;MACA;MACAW,KAAK,GAAGC,UAAU,CAAC,MAAMX,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClD;IAEA,OAAO,MAAM;MAAA;MACX,gBAAAS,WAAW,iDAAX,cAAe;MACfG,YAAY,CAACF,KAAK,CAAC;IACrB,CAAC;EACH,CAAC,EAAE,CAACb,gBAAgB,EAAEF,KAAK,EAAEI,SAAS,EAAEN,IAAI,CAAC,CAAC;EAE9C,MAAMoB,OAAO,GAAGrB,eAAe,CAACG,KAAK,KAAKA,KAAK;EAE/C,oBACE,oBAAC,iBAAI;IACH,2BAA2B,EAAE,CAACkB,OAAQ;IACtC,yBAAyB,EAAEA,OAAO,GAAG,MAAM,GAAG,qBAAsB;IACpE,KAAK,EAAE,CACLC,MAAM,CAACC,KAAK;IACZ;IACA;IACArB,MAAM,CAACsB,KAAK,GACR;MAAEA,KAAK,EAAEtB,MAAM,CAACsB;IAAM,CAAC,GACvBH,OAAO,GACPI,uBAAU,CAACC,YAAY,GACvB,IAAI,EACRpB,KAAK;EACL;EAGA;EACA;EACA;EACAe,OAAO,IAAInB,MAAM,CAACsB,KAAK,GAAGzB,QAAQ,CAAC;IAAE4B,OAAO,EAAEpB;EAAU,CAAC,CAAC,GAAG,IAAI,CAE9D;AAEX;AAEA,MAAMe,MAAM,GAAGG,uBAAU,CAACG,MAAM,CAAC;EAC/BL,KAAK,EAAE;IACLM,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC"}
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = TabBar;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _useLatestCallback = _interopRequireDefault(require("use-latest-callback"));
13
-
14
10
  var _TabBarIndicator = _interopRequireDefault(require("./TabBarIndicator"));
15
-
16
11
  var _TabBarItem = _interopRequireDefault(require("./TabBarItem"));
17
-
18
12
  var _useAnimatedValue = _interopRequireDefault(require("./useAnimatedValue"));
19
-
20
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
16
  const Separator = _ref => {
27
17
  let {
28
18
  width
@@ -33,44 +23,32 @@ const Separator = _ref => {
33
23
  }
34
24
  });
35
25
  };
36
-
37
26
  const getFlattenedTabWidth = style => {
38
27
  const tabStyle = _reactNative.StyleSheet.flatten(style);
39
-
40
28
  return tabStyle === null || tabStyle === void 0 ? void 0 : tabStyle.width;
41
29
  };
42
-
43
30
  const getComputedTabWidth = (index, layout, routes, scrollEnabled, tabWidths, flattenedWidth) => {
44
31
  if (flattenedWidth === 'auto') {
45
32
  return tabWidths[routes[index].key] || 0;
46
33
  }
47
-
48
34
  switch (typeof flattenedWidth) {
49
35
  case 'number':
50
36
  return flattenedWidth;
51
-
52
37
  case 'string':
53
38
  if (flattenedWidth.endsWith('%')) {
54
39
  const width = parseFloat(flattenedWidth);
55
-
56
40
  if (Number.isFinite(width)) {
57
41
  return layout.width * (width / 100);
58
42
  }
59
43
  }
60
-
61
44
  }
62
-
63
45
  if (scrollEnabled) {
64
46
  return layout.width / 5 * 2;
65
47
  }
66
-
67
48
  return layout.width / routes.length;
68
49
  };
69
-
70
50
  const getMaxScrollDistance = (tabBarWidth, layoutWidth) => tabBarWidth - layoutWidth;
71
-
72
51
  const getTranslateX = (scrollAmount, maxScrollDistance) => _reactNative.Animated.multiply(_reactNative.Platform.OS === 'android' && _reactNative.I18nManager.isRTL ? _reactNative.Animated.add(maxScrollDistance, _reactNative.Animated.multiply(scrollAmount, -1)) : scrollAmount, _reactNative.I18nManager.isRTL ? 1 : -1);
73
-
74
52
  const getTabBarWidth = _ref2 => {
75
53
  let {
76
54
  navigationState,
@@ -83,9 +61,8 @@ const getTabBarWidth = _ref2 => {
83
61
  const {
84
62
  routes
85
63
  } = navigationState;
86
- return routes.reduce((acc, _, i) => acc + (i > 0 ? gap !== null && gap !== void 0 ? gap : 0 : 0) + getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, flattenedTabWidth), 0);
64
+ return routes.reduce((acc, _, i) => acc + (i > 0 ? gap ?? 0 : 0) + getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, flattenedTabWidth), 0);
87
65
  };
88
-
89
66
  const normalizeScrollValue = _ref3 => {
90
67
  let {
91
68
  layout,
@@ -106,16 +83,13 @@ const normalizeScrollValue = _ref3 => {
106
83
  });
107
84
  const maxDistance = getMaxScrollDistance(tabBarWidth, layout.width);
108
85
  const scrollValue = Math.max(Math.min(value, maxDistance), 0);
109
-
110
86
  if (_reactNative.Platform.OS === 'android' && _reactNative.I18nManager.isRTL) {
111
87
  // On Android, scroll value is not applied in reverse in RTL
112
88
  // so we need to manually adjust it to apply correct value
113
89
  return maxDistance - scrollValue;
114
90
  }
115
-
116
91
  return scrollValue;
117
92
  };
118
-
119
93
  const getScrollAmount = _ref4 => {
120
94
  let {
121
95
  layout,
@@ -128,10 +102,11 @@ const getScrollAmount = _ref4 => {
128
102
  const centerDistance = Array.from({
129
103
  length: navigationState.index + 1
130
104
  }).reduce((total, _, i) => {
131
- const tabWidth = getComputedTabWidth(i, layout, navigationState.routes, scrollEnabled, tabWidths, flattenedTabWidth); // To get the current index centered we adjust scroll amount by width of indexes
132
- // 0 through (i - 1) and add half the width of current index i
105
+ const tabWidth = getComputedTabWidth(i, layout, navigationState.routes, scrollEnabled, tabWidths, flattenedTabWidth);
133
106
 
134
- return total + (navigationState.index === i ? (tabWidth + (gap !== null && gap !== void 0 ? gap : 0)) / 2 : tabWidth + (gap !== null && gap !== void 0 ? gap : 0));
107
+ // To get the current index centered we adjust scroll amount by width of indexes
108
+ // 0 through (i - 1) and add half the width of current index i
109
+ return total + (navigationState.index === i ? (tabWidth + (gap ?? 0)) / 2 : tabWidth + (gap ?? 0));
135
110
  }, 0);
136
111
  const scrollAmount = centerDistance - layout.width / 2;
137
112
  return normalizeScrollValue({
@@ -144,41 +119,35 @@ const getScrollAmount = _ref4 => {
144
119
  flattenedTabWidth
145
120
  });
146
121
  };
147
-
148
122
  const getLabelTextDefault = _ref5 => {
149
123
  let {
150
124
  route
151
125
  } = _ref5;
152
126
  return route.title;
153
127
  };
154
-
155
128
  const getAccessibleDefault = _ref6 => {
156
129
  let {
157
130
  route
158
131
  } = _ref6;
159
132
  return typeof route.accessible !== 'undefined' ? route.accessible : true;
160
133
  };
161
-
162
134
  const getAccessibilityLabelDefault = _ref7 => {
163
135
  let {
164
136
  route
165
137
  } = _ref7;
166
138
  return typeof route.accessibilityLabel === 'string' ? route.accessibilityLabel : typeof route.title === 'string' ? route.title : undefined;
167
139
  };
168
-
169
140
  const renderIndicatorDefault = props => /*#__PURE__*/React.createElement(_TabBarIndicator.default, props);
170
-
171
141
  const getTestIdDefault = _ref8 => {
172
142
  let {
173
143
  route
174
144
  } = _ref8;
175
145
  return route.testID;
176
- }; // How many items measurements should we update per batch.
177
- // Defaults to 10, since that's whats FlatList is using in initialNumToRender.
178
-
146
+ };
179
147
 
148
+ // How many items measurements should we update per batch.
149
+ // Defaults to 10, since that's whats FlatList is using in initialNumToRender.
180
150
  const MEASURE_PER_BATCH = 10;
181
-
182
151
  function TabBar(_ref9) {
183
152
  let {
184
153
  getLabelText = getLabelTextDefault,
@@ -238,21 +207,17 @@ function TabBar(_ref9) {
238
207
  isFirst.current = false;
239
208
  return;
240
209
  }
241
-
242
210
  if (isWidthDynamic && !hasMeasuredTabWidths) {
243
211
  return;
244
212
  }
245
-
246
213
  if (scrollEnabled) {
247
214
  var _flatListRef$current;
248
-
249
215
  (_flatListRef$current = flatListRef.current) === null || _flatListRef$current === void 0 ? void 0 : _flatListRef$current.scrollToOffset({
250
216
  offset: scrollOffset,
251
217
  animated: true
252
218
  });
253
219
  }
254
220
  }, [hasMeasuredTabWidths, isWidthDynamic, scrollEnabled, scrollOffset]);
255
-
256
221
  const handleLayout = e => {
257
222
  const {
258
223
  height,
@@ -263,7 +228,6 @@ function TabBar(_ref9) {
263
228
  height
264
229
  });
265
230
  };
266
-
267
231
  const tabBarWidth = getTabBarWidth({
268
232
  layout,
269
233
  navigationState,
@@ -298,17 +262,20 @@ function TabBar(_ref9) {
298
262
  pressColor: pressColor,
299
263
  pressOpacity: pressOpacity,
300
264
  onLayout: isWidthDynamic ? e => {
301
- measuredTabWidths.current[route.key] = e.nativeEvent.layout.width; // When we have measured widths for all of the tabs, we should updates the state
265
+ measuredTabWidths.current[route.key] = e.nativeEvent.layout.width;
266
+
267
+ // When we have measured widths for all of the tabs, we should updates the state
302
268
  // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
303
269
  // If we have more than 10 routes divide updating tabWidths into multiple batches. Here we update only first batch of 10 items.
304
-
305
270
  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({ ...measuredTabWidths.current
271
+ setTabWidths({
272
+ ...measuredTabWidths.current
307
273
  });
308
274
  } else if (routes.every(r => typeof measuredTabWidths.current[r.key] === 'number')) {
309
275
  // When we have measured widths for all of the tabs, we should updates the state
310
276
  // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
311
- setTabWidths({ ...measuredTabWidths.current
277
+ setTabWidths({
278
+ ...measuredTabWidths.current
312
279
  });
313
280
  }
314
281
  } : undefined,
@@ -321,11 +288,9 @@ function TabBar(_ref9) {
321
288
  }
322
289
  };
323
290
  onTabPress === null || onTabPress === void 0 ? void 0 : onTabPress(event);
324
-
325
291
  if (event.defaultPrevented) {
326
292
  return;
327
293
  }
328
-
329
294
  jumpTo(route.key);
330
295
  },
331
296
  onLongPress: () => onTabLongPress === null || onTabLongPress === void 0 ? void 0 : onTabLongPress({
@@ -357,17 +322,15 @@ function TabBar(_ref9) {
357
322
  let {
358
323
  changed
359
324
  } = _ref11;
360
-
361
325
  if (routes.length <= MEASURE_PER_BATCH) {
362
326
  return;
363
- } // Get next vievable item
364
-
365
-
327
+ }
328
+ // Get next vievable item
366
329
  const item = changed[changed.length - 1];
367
330
  const index = (item === null || item === void 0 ? void 0 : item.index) || 0;
368
-
369
331
  if (item.isViewable && (index % 10 === 0 || index === navigationState.index || index === routes.length - 1)) {
370
- setTabWidths({ ...measuredTabWidths.current
332
+ setTabWidths({
333
+ ...measuredTabWidths.current
371
334
  });
372
335
  }
373
336
  });
@@ -420,7 +383,6 @@ function TabBar(_ref9) {
420
383
  testID: testID
421
384
  })));
422
385
  }
423
-
424
386
  const styles = _reactNative.StyleSheet.create({
425
387
  container: {
426
388
  flex: 1
@@ -1 +1 @@
1
- {"version":3,"names":["Separator","width","getFlattenedTabWidth","style","tabStyle","StyleSheet","flatten","getComputedTabWidth","index","layout","routes","scrollEnabled","tabWidths","flattenedWidth","key","endsWith","parseFloat","Number","isFinite","length","getMaxScrollDistance","tabBarWidth","layoutWidth","getTranslateX","scrollAmount","maxScrollDistance","Animated","multiply","Platform","OS","I18nManager","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","setLayout","React","useState","height","setTabWidths","flatListRef","useRef","isFirst","useAnimatedValue","measuredTabWidths","isWidthDynamic","scrollOffset","hasMeasuredTabWidths","Boolean","slice","every","r","useEffect","current","scrollToOffset","offset","animated","handleLayout","e","nativeEvent","separatorsWidth","separatorPercent","tabBarWidthPercent","translateX","useMemo","renderItem","useCallback","item","onLayout","onPress","event","defaultPrevented","preventDefault","onLongPress","defaultTabWidth","keyExtractor","contentContainerStyleMemoized","styles","tabContent","container","handleScroll","contentOffset","x","useNativeDriver","handleViewableItemsChanged","useLatestCallback","changed","isViewable","tabBar","indicatorContainer","transform","getTabWidth","scroll","create","flex","overflow","select","default","web","backgroundColor","elevation","shadowColor","shadowOpacity","shadowRadius","hairlineWidth","shadowOffset","zIndex","flexDirection","flexWrap","top","left","right","bottom"],"sources":["TabBar.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Animated,\n FlatList,\n I18nManager,\n LayoutChangeEvent,\n ListRenderItemInfo,\n Platform,\n StyleProp,\n StyleSheet,\n TextStyle,\n View,\n ViewStyle,\n ViewToken,\n} from 'react-native';\nimport useLatestCallback from 'use-latest-callback';\n\nimport TabBarIndicator, { Props as IndicatorProps } from './TabBarIndicator';\nimport TabBarItem, { Props as TabBarItemProps } from './TabBarItem';\nimport type {\n Event,\n Layout,\n NavigationState,\n Route,\n Scene,\n SceneRendererProps,\n} from './types';\nimport useAnimatedValue from './useAnimatedValue';\n\nexport type Props<T extends Route> = SceneRendererProps & {\n navigationState: NavigationState<T>;\n scrollEnabled?: boolean;\n bounces?: boolean;\n activeColor?: string;\n inactiveColor?: string;\n pressColor?: string;\n pressOpacity?: number;\n getLabelText?: (scene: Scene<T>) => string | undefined;\n getAccessible?: (scene: Scene<T>) => boolean | undefined;\n getAccessibilityLabel?: (scene: Scene<T>) => string | undefined;\n getTestID?: (scene: Scene<T>) => string | undefined;\n renderLabel?: (\n scene: Scene<T> & {\n focused: boolean;\n color: string;\n }\n ) => React.ReactNode;\n renderIcon?: (\n scene: Scene<T> & {\n focused: boolean;\n color: string;\n }\n ) => React.ReactNode;\n renderBadge?: (scene: Scene<T>) => React.ReactNode;\n renderIndicator?: (props: IndicatorProps<T>) => React.ReactNode;\n renderTabBarItem?: (\n props: TabBarItemProps<T> & { key: string }\n ) => React.ReactElement;\n onTabPress?: (scene: Scene<T> & Event) => void;\n onTabLongPress?: (scene: Scene<T>) => void;\n tabStyle?: StyleProp<ViewStyle>;\n indicatorStyle?: StyleProp<ViewStyle>;\n indicatorContainerStyle?: StyleProp<ViewStyle>;\n labelStyle?: StyleProp<TextStyle>;\n contentContainerStyle?: StyleProp<ViewStyle>;\n style?: StyleProp<ViewStyle>;\n gap?: number;\n testID?: string;\n};\n\ntype FlattenedTabWidth = string | number | undefined;\n\nconst Separator = ({ width }: { width: number }) => {\n return <View style={{ width }} />;\n};\n\nconst getFlattenedTabWidth = (style: StyleProp<ViewStyle>) => {\n const tabStyle = StyleSheet.flatten(style);\n\n return tabStyle?.width;\n};\n\nconst getComputedTabWidth = (\n index: number,\n layout: Layout,\n routes: Route[],\n scrollEnabled: boolean | undefined,\n tabWidths: { [key: string]: number },\n flattenedWidth: FlattenedTabWidth\n) => {\n if (flattenedWidth === 'auto') {\n return tabWidths[routes[index].key] || 0;\n }\n\n switch (typeof flattenedWidth) {\n case 'number':\n return flattenedWidth;\n case 'string':\n if (flattenedWidth.endsWith('%')) {\n const width = parseFloat(flattenedWidth);\n if (Number.isFinite(width)) {\n return layout.width * (width / 100);\n }\n }\n }\n\n if (scrollEnabled) {\n return (layout.width / 5) * 2;\n }\n return layout.width / routes.length;\n};\n\nconst getMaxScrollDistance = (tabBarWidth: number, layoutWidth: number) =>\n tabBarWidth - layoutWidth;\n\nconst getTranslateX = (\n scrollAmount: Animated.Value,\n maxScrollDistance: number\n) =>\n Animated.multiply(\n Platform.OS === 'android' && I18nManager.isRTL\n ? Animated.add(maxScrollDistance, Animated.multiply(scrollAmount, -1))\n : scrollAmount,\n I18nManager.isRTL ? 1 : -1\n );\n\nconst getTabBarWidth = <T extends Route>({\n navigationState,\n layout,\n gap,\n scrollEnabled,\n flattenedTabWidth,\n tabWidths,\n}: Pick<Props<T>, 'navigationState' | 'gap' | 'layout' | 'scrollEnabled'> & {\n tabWidths: Record<string, number>;\n flattenedTabWidth: FlattenedTabWidth;\n}) => {\n const { routes } = navigationState;\n\n return routes.reduce<number>(\n (acc, _, i) =>\n acc +\n (i > 0 ? gap ?? 0 : 0) +\n getComputedTabWidth(\n i,\n layout,\n routes,\n scrollEnabled,\n tabWidths,\n flattenedTabWidth\n ),\n 0\n );\n};\n\nconst normalizeScrollValue = <T extends Route>({\n layout,\n navigationState,\n gap,\n scrollEnabled,\n tabWidths,\n value,\n flattenedTabWidth,\n}: Pick<Props<T>, 'layout' | 'navigationState' | 'gap' | 'scrollEnabled'> & {\n tabWidths: Record<string, number>;\n value: number;\n flattenedTabWidth: FlattenedTabWidth;\n}) => {\n const tabBarWidth = getTabBarWidth({\n layout,\n navigationState,\n tabWidths,\n gap,\n scrollEnabled,\n flattenedTabWidth,\n });\n const maxDistance = getMaxScrollDistance(tabBarWidth, layout.width);\n const scrollValue = Math.max(Math.min(value, maxDistance), 0);\n\n if (Platform.OS === 'android' && I18nManager.isRTL) {\n // On Android, scroll value is not applied in reverse in RTL\n // so we need to manually adjust it to apply correct value\n return maxDistance - scrollValue;\n }\n\n return scrollValue;\n};\n\nconst getScrollAmount = <T extends Route>({\n layout,\n navigationState,\n gap,\n scrollEnabled,\n flattenedTabWidth,\n tabWidths,\n}: Pick<Props<T>, 'layout' | 'navigationState' | 'scrollEnabled' | 'gap'> & {\n tabWidths: Record<string, number>;\n flattenedTabWidth: FlattenedTabWidth;\n}) => {\n const centerDistance = Array.from({\n length: navigationState.index + 1,\n }).reduce<number>((total, _, i) => {\n const tabWidth = getComputedTabWidth(\n i,\n layout,\n navigationState.routes,\n scrollEnabled,\n tabWidths,\n flattenedTabWidth\n );\n\n // To get the current index centered we adjust scroll amount by width of indexes\n // 0 through (i - 1) and add half the width of current index i\n return (\n total +\n (navigationState.index === i\n ? (tabWidth + (gap ?? 0)) / 2\n : tabWidth + (gap ?? 0))\n );\n }, 0);\n\n const scrollAmount = centerDistance - layout.width / 2;\n\n return normalizeScrollValue({\n layout,\n navigationState,\n tabWidths,\n value: scrollAmount,\n gap,\n scrollEnabled,\n flattenedTabWidth,\n });\n};\n\nconst getLabelTextDefault = ({ route }: Scene<Route>) => route.title;\n\nconst getAccessibleDefault = ({ route }: Scene<Route>) =>\n typeof route.accessible !== 'undefined' ? route.accessible : true;\n\nconst getAccessibilityLabelDefault = ({ route }: Scene<Route>) =>\n typeof route.accessibilityLabel === 'string'\n ? route.accessibilityLabel\n : typeof route.title === 'string'\n ? route.title\n : undefined;\n\nconst renderIndicatorDefault = (props: IndicatorProps<Route>) => (\n <TabBarIndicator {...props} />\n);\n\nconst getTestIdDefault = ({ route }: Scene<Route>) => route.testID;\n\n// How many items measurements should we update per batch.\n// Defaults to 10, since that's whats FlatList is using in initialNumToRender.\nconst MEASURE_PER_BATCH = 10;\n\nexport default function TabBar<T extends Route>({\n getLabelText = getLabelTextDefault,\n getAccessible = getAccessibleDefault,\n getAccessibilityLabel = getAccessibilityLabelDefault,\n getTestID = getTestIdDefault,\n renderIndicator = renderIndicatorDefault,\n gap = 0,\n scrollEnabled,\n jumpTo,\n navigationState,\n position,\n activeColor,\n bounces,\n contentContainerStyle,\n inactiveColor,\n indicatorContainerStyle,\n indicatorStyle,\n labelStyle,\n onTabLongPress,\n onTabPress,\n pressColor,\n pressOpacity,\n renderBadge,\n renderIcon,\n renderLabel,\n renderTabBarItem,\n style,\n tabStyle,\n testID,\n}: Props<T>) {\n const [layout, setLayout] = React.useState<Layout>({ width: 0, height: 0 });\n const [tabWidths, setTabWidths] = React.useState<Record<string, number>>({});\n const flatListRef = React.useRef<FlatList | null>(null);\n const isFirst = React.useRef(true);\n const scrollAmount = useAnimatedValue(0);\n const measuredTabWidths = React.useRef<Record<string, number>>({});\n\n const { routes } = navigationState;\n const flattenedTabWidth = getFlattenedTabWidth(tabStyle);\n const isWidthDynamic = flattenedTabWidth === 'auto';\n const scrollOffset = getScrollAmount({\n layout,\n navigationState,\n tabWidths,\n gap,\n scrollEnabled,\n flattenedTabWidth,\n });\n\n const hasMeasuredTabWidths =\n Boolean(layout.width) &&\n routes\n .slice(0, navigationState.index)\n .every((r) => typeof tabWidths[r.key] === 'number');\n\n React.useEffect(() => {\n if (isFirst.current) {\n isFirst.current = false;\n return;\n }\n\n if (isWidthDynamic && !hasMeasuredTabWidths) {\n return;\n }\n\n if (scrollEnabled) {\n flatListRef.current?.scrollToOffset({\n offset: scrollOffset,\n animated: true,\n });\n }\n }, [hasMeasuredTabWidths, isWidthDynamic, scrollEnabled, scrollOffset]);\n\n const handleLayout = (e: LayoutChangeEvent) => {\n const { height, width } = e.nativeEvent.layout;\n\n setLayout((layout) =>\n layout.width === width && layout.height === height\n ? layout\n : { width, height }\n );\n };\n\n const tabBarWidth = getTabBarWidth({\n layout,\n navigationState,\n tabWidths,\n gap,\n scrollEnabled,\n flattenedTabWidth,\n });\n\n const separatorsWidth = Math.max(0, routes.length - 1) * gap;\n const separatorPercent = (separatorsWidth / tabBarWidth) * 100;\n const tabBarWidthPercent = `${routes.length * 40}%`;\n\n const translateX = React.useMemo(\n () =>\n getTranslateX(\n scrollAmount,\n getMaxScrollDistance(tabBarWidth, layout.width)\n ),\n [layout.width, scrollAmount, tabBarWidth]\n );\n\n const renderItem = React.useCallback(\n ({ item: route, index }: ListRenderItemInfo<T>) => {\n const props: TabBarItemProps<T> & { key: string } = {\n key: route.key,\n position: position,\n route: route,\n navigationState: navigationState,\n getAccessibilityLabel: getAccessibilityLabel,\n getAccessible: getAccessible,\n getLabelText: getLabelText,\n getTestID: getTestID,\n renderBadge: renderBadge,\n renderIcon: renderIcon,\n renderLabel: renderLabel,\n activeColor: activeColor,\n inactiveColor: inactiveColor,\n pressColor: pressColor,\n pressOpacity: pressOpacity,\n onLayout: isWidthDynamic\n ? (e: LayoutChangeEvent) => {\n measuredTabWidths.current[route.key] = e.nativeEvent.layout.width;\n\n // When we have measured widths for all of the tabs, we should updates the state\n // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app\n // If we have more than 10 routes divide updating tabWidths into multiple batches. Here we update only first batch of 10 items.\n if (\n routes.length > MEASURE_PER_BATCH &&\n index === MEASURE_PER_BATCH &&\n routes\n .slice(0, MEASURE_PER_BATCH)\n .every(\n (r) => typeof measuredTabWidths.current[r.key] === 'number'\n )\n ) {\n setTabWidths({ ...measuredTabWidths.current });\n } else if (\n routes.every(\n (r) => typeof measuredTabWidths.current[r.key] === 'number'\n )\n ) {\n // When we have measured widths for all of the tabs, we should updates the state\n // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app\n setTabWidths({ ...measuredTabWidths.current });\n }\n }\n : undefined,\n onPress: () => {\n const event: Scene<T> & Event = {\n route,\n defaultPrevented: false,\n preventDefault: () => {\n event.defaultPrevented = true;\n },\n };\n\n onTabPress?.(event);\n\n if (event.defaultPrevented) {\n return;\n }\n\n jumpTo(route.key);\n },\n onLongPress: () => onTabLongPress?.({ route }),\n labelStyle: labelStyle,\n style: tabStyle,\n // Calculate the deafult width for tab for FlatList to work\n defaultTabWidth: !isWidthDynamic\n ? getComputedTabWidth(\n index,\n layout,\n routes,\n scrollEnabled,\n tabWidths,\n getFlattenedTabWidth(tabStyle)\n )\n : undefined,\n };\n\n return (\n <>\n {gap > 0 && index > 0 ? <Separator width={gap} /> : null}\n {renderTabBarItem ? (\n renderTabBarItem(props)\n ) : (\n <TabBarItem {...props} />\n )}\n </>\n );\n },\n [\n activeColor,\n gap,\n getAccessibilityLabel,\n getAccessible,\n getLabelText,\n getTestID,\n inactiveColor,\n isWidthDynamic,\n jumpTo,\n labelStyle,\n layout,\n navigationState,\n onTabLongPress,\n onTabPress,\n position,\n pressColor,\n pressOpacity,\n renderBadge,\n renderIcon,\n renderLabel,\n renderTabBarItem,\n routes,\n scrollEnabled,\n tabStyle,\n tabWidths,\n ]\n );\n\n const keyExtractor = React.useCallback((item: T) => item.key, []);\n\n const contentContainerStyleMemoized = React.useMemo(\n () => [\n styles.tabContent,\n scrollEnabled\n ? {\n width:\n tabBarWidth > separatorsWidth ? tabBarWidth : tabBarWidthPercent,\n }\n : styles.container,\n contentContainerStyle,\n ],\n [\n contentContainerStyle,\n scrollEnabled,\n separatorsWidth,\n tabBarWidth,\n tabBarWidthPercent,\n ]\n );\n\n const handleScroll = React.useMemo(\n () =>\n Animated.event(\n [\n {\n nativeEvent: {\n contentOffset: { x: scrollAmount },\n },\n },\n ],\n { useNativeDriver: true }\n ),\n [scrollAmount]\n );\n\n const handleViewableItemsChanged = useLatestCallback(\n ({ changed }: { changed: ViewToken[] }) => {\n if (routes.length <= MEASURE_PER_BATCH) {\n return;\n }\n // Get next vievable item\n const item = changed[changed.length - 1];\n const index = item?.index || 0;\n if (\n item.isViewable &&\n (index % 10 === 0 ||\n index === navigationState.index ||\n index === routes.length - 1)\n ) {\n setTabWidths({ ...measuredTabWidths.current });\n }\n }\n );\n\n return (\n <Animated.View onLayout={handleLayout} style={[styles.tabBar, style]}>\n <Animated.View\n pointerEvents=\"none\"\n style={[\n styles.indicatorContainer,\n scrollEnabled ? { transform: [{ translateX }] as any } : null,\n tabBarWidth > separatorsWidth\n ? { width: tabBarWidth - separatorsWidth }\n : scrollEnabled\n ? { width: tabBarWidthPercent }\n : null,\n indicatorContainerStyle,\n ]}\n >\n {renderIndicator({\n position,\n layout,\n navigationState,\n jumpTo,\n width: isWidthDynamic\n ? 'auto'\n : `${(100 - separatorPercent) / routes.length}%`,\n style: indicatorStyle,\n getTabWidth: (i: number) =>\n getComputedTabWidth(\n i,\n layout,\n routes,\n scrollEnabled,\n tabWidths,\n flattenedTabWidth\n ),\n gap,\n })}\n </Animated.View>\n <View style={styles.scroll}>\n <Animated.FlatList\n data={routes as Animated.WithAnimatedValue<T>[]}\n keyExtractor={keyExtractor}\n horizontal\n accessibilityRole=\"tablist\"\n keyboardShouldPersistTaps=\"handled\"\n scrollEnabled={scrollEnabled}\n bounces={bounces}\n initialNumToRender={MEASURE_PER_BATCH}\n onViewableItemsChanged={handleViewableItemsChanged}\n alwaysBounceHorizontal={false}\n scrollsToTop={false}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n automaticallyAdjustContentInsets={false}\n overScrollMode=\"never\"\n contentContainerStyle={contentContainerStyleMemoized}\n scrollEventThrottle={16}\n renderItem={renderItem}\n onScroll={handleScroll}\n ref={flatListRef}\n testID={testID}\n />\n </View>\n </Animated.View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n scroll: {\n overflow: Platform.select({ default: 'scroll', web: undefined }),\n },\n tabBar: {\n backgroundColor: '#2196f3',\n elevation: 4,\n shadowColor: 'black',\n shadowOpacity: 0.1,\n shadowRadius: StyleSheet.hairlineWidth,\n shadowOffset: {\n height: StyleSheet.hairlineWidth,\n width: 0,\n },\n zIndex: 1,\n },\n tabContent: {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n },\n indicatorContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["Separator","width","getFlattenedTabWidth","style","tabStyle","StyleSheet","flatten","getComputedTabWidth","index","layout","routes","scrollEnabled","tabWidths","flattenedWidth","key","endsWith","parseFloat","Number","isFinite","length","getMaxScrollDistance","tabBarWidth","layoutWidth","getTranslateX","scrollAmount","maxScrollDistance","Animated","multiply","Platform","OS","I18nManager","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","setLayout","React","useState","height","setTabWidths","flatListRef","useRef","isFirst","useAnimatedValue","measuredTabWidths","isWidthDynamic","scrollOffset","hasMeasuredTabWidths","Boolean","slice","every","r","useEffect","current","scrollToOffset","offset","animated","handleLayout","e","nativeEvent","separatorsWidth","separatorPercent","tabBarWidthPercent","translateX","useMemo","renderItem","useCallback","item","onLayout","onPress","event","defaultPrevented","preventDefault","onLongPress","defaultTabWidth","keyExtractor","contentContainerStyleMemoized","styles","tabContent","container","handleScroll","contentOffset","x","useNativeDriver","handleViewableItemsChanged","useLatestCallback","changed","isViewable","tabBar","indicatorContainer","transform","getTabWidth","scroll","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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"}
@@ -4,25 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = TabBarIndicator;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _useAnimatedValue = _interopRequireDefault(require("./useAnimatedValue"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
-
18
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
-
20
13
  const getTranslateX = (position, routes, getTabWidth, gap) => {
21
- const inputRange = routes.map((_, i) => i); // every index contains widths at all previous indices
14
+ const inputRange = routes.map((_, i) => i);
22
15
 
16
+ // every index contains widths at all previous indices
23
17
  const outputRange = routes.reduce((acc, _, i) => {
24
18
  if (i === 0) return [0];
25
- return [...acc, acc[i - 1] + getTabWidth(i - 1) + (gap !== null && gap !== void 0 ? gap : 0)];
19
+ return [...acc, acc[i - 1] + getTabWidth(i - 1) + (gap ?? 0)];
26
20
  }, []);
27
21
  const translateX = position.interpolate({
28
22
  inputRange,
@@ -31,7 +25,6 @@ const getTranslateX = (position, routes, getTabWidth, gap) => {
31
25
  });
32
26
  return _reactNative.Animated.multiply(translateX, _reactNative.I18nManager.isRTL ? -1 : 1);
33
27
  };
34
-
35
28
  function TabBarIndicator(_ref) {
36
29
  let {
37
30
  getTabWidth,
@@ -48,10 +41,10 @@ function TabBarIndicator(_ref) {
48
41
  const indicatorVisible = isWidthDynamic ? layout.width && navigationState.routes.slice(0, navigationState.index).every((_, r) => getTabWidth(r)) : true;
49
42
  React.useEffect(() => {
50
43
  const fadeInIndicator = () => {
51
- if (!isIndicatorShown.current && isWidthDynamic && // We should fade-in the indicator when we have widths for all the tab items
44
+ if (!isIndicatorShown.current && isWidthDynamic &&
45
+ // We should fade-in the indicator when we have widths for all the tab items
52
46
  indicatorVisible) {
53
47
  isIndicatorShown.current = true;
54
-
55
48
  _reactNative.Animated.timing(opacity, {
56
49
  toValue: 1,
57
50
  duration: 150,
@@ -60,7 +53,6 @@ function TabBarIndicator(_ref) {
60
53
  }).start();
61
54
  }
62
55
  };
63
-
64
56
  fadeInIndicator();
65
57
  return () => opacity.stopAnimation();
66
58
  }, [indicatorVisible, isWidthDynamic, opacity]);
@@ -68,14 +60,12 @@ function TabBarIndicator(_ref) {
68
60
  routes
69
61
  } = navigationState;
70
62
  const transform = [];
71
-
72
63
  if (layout.width) {
73
64
  const translateX = routes.length > 1 ? getTranslateX(position, routes, getTabWidth, gap) : 0;
74
65
  transform.push({
75
66
  translateX
76
67
  });
77
68
  }
78
-
79
69
  if (width === 'auto') {
80
70
  const inputRange = routes.map((_, i) => i);
81
71
  const outputRange = inputRange.map(getTabWidth);
@@ -89,11 +79,11 @@ function TabBarIndicator(_ref) {
89
79
  translateX: 0.5
90
80
  });
91
81
  }
92
-
93
82
  return /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
94
83
  style: [styles.indicator, {
95
84
  width: width === 'auto' ? 1 : width
96
- }, // If layout is not available, use `left` property for positioning the indicator
85
+ },
86
+ // If layout is not available, use `left` property for positioning the indicator
97
87
  // This avoids rendering delay until we are able to calculate translateX
98
88
  // If platform is macos use `left` property as `transform` is broken at the moment.
99
89
  // See: https://github.com/microsoft/react-native-macos/issues/280
@@ -108,7 +98,6 @@ function TabBarIndicator(_ref) {
108
98
  } : null, style]
109
99
  });
110
100
  }
111
-
112
101
  const styles = _reactNative.StyleSheet.create({
113
102
  indicator: {
114
103
  backgroundColor: '#ffeb3b',
@@ -1 +1 @@
1
- {"version":3,"names":["getTranslateX","position","routes","getTabWidth","gap","inputRange","map","_","i","outputRange","reduce","acc","translateX","interpolate","extrapolate","Animated","multiply","I18nManager","isRTL","TabBarIndicator","layout","navigationState","width","style","isIndicatorShown","React","useRef","isWidthDynamic","opacity","useAnimatedValue","indicatorVisible","slice","index","every","r","useEffect","fadeInIndicator","current","timing","toValue","duration","easing","Easing","in","linear","useNativeDriver","start","stopAnimation","transform","length","push","scaleX","styles","indicator","Platform","OS","left","StyleSheet","create","backgroundColor","bottom","right","height"],"sources":["TabBarIndicator.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Animated,\n Easing,\n I18nManager,\n Platform,\n StyleProp,\n StyleSheet,\n ViewStyle,\n} from 'react-native';\n\nimport type { NavigationState, Route, SceneRendererProps } from './types';\nimport useAnimatedValue from './useAnimatedValue';\n\nexport type GetTabWidth = (index: number) => number;\n\nexport type Props<T extends Route> = SceneRendererProps & {\n navigationState: NavigationState<T>;\n width: string | number;\n style?: StyleProp<ViewStyle>;\n getTabWidth: GetTabWidth;\n gap?: number;\n};\n\nconst getTranslateX = (\n position: Animated.AnimatedInterpolation,\n routes: Route[],\n getTabWidth: GetTabWidth,\n gap?: number\n) => {\n const inputRange = routes.map((_, i) => i);\n\n // every index contains widths at all previous indices\n const outputRange = routes.reduce<number[]>((acc, _, i) => {\n if (i === 0) return [0];\n return [...acc, acc[i - 1] + getTabWidth(i - 1) + (gap ?? 0)];\n }, []);\n\n const translateX = position.interpolate({\n inputRange,\n outputRange,\n extrapolate: 'clamp',\n });\n\n return Animated.multiply(translateX, I18nManager.isRTL ? -1 : 1);\n};\n\nexport default function TabBarIndicator<T extends Route>({\n getTabWidth,\n layout,\n navigationState,\n position,\n width,\n gap,\n style,\n}: Props<T>) {\n const isIndicatorShown = React.useRef(false);\n const isWidthDynamic = width === 'auto';\n\n const opacity = useAnimatedValue(isWidthDynamic ? 0 : 1);\n\n const indicatorVisible = isWidthDynamic\n ? layout.width &&\n navigationState.routes\n .slice(0, navigationState.index)\n .every((_, r) => getTabWidth(r))\n : true;\n\n React.useEffect(() => {\n const fadeInIndicator = () => {\n if (\n !isIndicatorShown.current &&\n isWidthDynamic &&\n // We should fade-in the indicator when we have widths for all the tab items\n indicatorVisible\n ) {\n isIndicatorShown.current = true;\n\n Animated.timing(opacity, {\n toValue: 1,\n duration: 150,\n easing: Easing.in(Easing.linear),\n useNativeDriver: true,\n }).start();\n }\n };\n\n fadeInIndicator();\n\n return () => opacity.stopAnimation();\n }, [indicatorVisible, isWidthDynamic, opacity]);\n\n const { routes } = navigationState;\n\n const transform = [];\n\n if (layout.width) {\n const translateX =\n routes.length > 1 ? getTranslateX(position, routes, getTabWidth, gap) : 0;\n\n transform.push({ translateX });\n }\n\n if (width === 'auto') {\n const inputRange = routes.map((_, i) => i);\n const outputRange = inputRange.map(getTabWidth);\n\n transform.push(\n {\n scaleX:\n routes.length > 1\n ? position.interpolate({\n inputRange,\n outputRange,\n extrapolate: 'clamp',\n })\n : outputRange[0],\n },\n { translateX: 0.5 }\n );\n }\n\n return (\n <Animated.View\n style={[\n styles.indicator,\n { width: width === 'auto' ? 1 : width },\n // If layout is not available, use `left` property for positioning the indicator\n // This avoids rendering delay until we are able to calculate translateX\n // If platform is macos use `left` property as `transform` is broken at the moment.\n // See: https://github.com/microsoft/react-native-macos/issues/280\n layout.width && Platform.OS !== 'macos'\n ? { left: 0 }\n : { left: `${(100 / routes.length) * navigationState.index}%` },\n { transform },\n width === 'auto' ? { opacity: opacity } : null,\n style,\n ]}\n />\n );\n}\n\nconst styles = StyleSheet.create({\n indicator: {\n backgroundColor: '#ffeb3b',\n position: 'absolute',\n left: 0,\n bottom: 0,\n right: 0,\n height: 2,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["getTranslateX","position","routes","getTabWidth","gap","inputRange","map","_","i","outputRange","reduce","acc","translateX","interpolate","extrapolate","Animated","multiply","I18nManager","isRTL","TabBarIndicator","layout","navigationState","width","style","isIndicatorShown","React","useRef","isWidthDynamic","opacity","useAnimatedValue","indicatorVisible","slice","index","every","r","useEffect","fadeInIndicator","current","timing","toValue","duration","easing","Easing","in","linear","useNativeDriver","start","stopAnimation","transform","length","push","scaleX","styles","indicator","Platform","OS","left","StyleSheet","create","backgroundColor","bottom","right","height"],"sourceRoot":"../../src","sources":["TabBarIndicator.tsx"],"mappings":"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"}