@amazon-devices/react-navigation__react-native-tab-view 2.0.1758683737

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 (116) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +649 -0
  3. package/SystemBundles/c5889b273a6efc2a3c30241851055c37630fbf3381df86d403967369775f0536.bundle +14497 -0
  4. package/SystemBundles/c5889b273a6efc2a3c30241851055c37630fbf3381df86d403967369775f0536.map +1 -0
  5. package/SystemModules/amzn__react-navigation__react-native-tab-view-2.modules.txt +41 -0
  6. package/SystemModules/amzn__react-navigation__react-native-tab-view-2.private.modules.txt +98 -0
  7. package/SystemModules/keplerscript-system-bundle-config.json +7 -0
  8. package/THIRD_PARTY_NOTICES.txt +24 -0
  9. package/kepler-compatibility.json +8 -0
  10. package/kepler-transformed-package-info.json +3 -0
  11. package/lib/commonjs/Pager.android.js +14 -0
  12. package/lib/commonjs/Pager.android.js.map +1 -0
  13. package/lib/commonjs/Pager.ios.js +14 -0
  14. package/lib/commonjs/Pager.ios.js.map +1 -0
  15. package/lib/commonjs/Pager.js +14 -0
  16. package/lib/commonjs/Pager.js.map +1 -0
  17. package/lib/commonjs/PagerViewAdapter.js +132 -0
  18. package/lib/commonjs/PagerViewAdapter.js.map +1 -0
  19. package/lib/commonjs/PanResponderAdapter.js +204 -0
  20. package/lib/commonjs/PanResponderAdapter.js.map +1 -0
  21. package/lib/commonjs/PlatformPressable.js +43 -0
  22. package/lib/commonjs/PlatformPressable.js.map +1 -0
  23. package/lib/commonjs/SceneMap.js +29 -0
  24. package/lib/commonjs/SceneMap.js.map +1 -0
  25. package/lib/commonjs/SceneView.js +78 -0
  26. package/lib/commonjs/SceneView.js.map +1 -0
  27. package/lib/commonjs/TabBar.js +405 -0
  28. package/lib/commonjs/TabBar.js.map +1 -0
  29. package/lib/commonjs/TabBarIndicator.js +110 -0
  30. package/lib/commonjs/TabBarIndicator.js.map +1 -0
  31. package/lib/commonjs/TabBarItem.js +227 -0
  32. package/lib/commonjs/TabBarItem.js.map +1 -0
  33. package/lib/commonjs/TabView.js +122 -0
  34. package/lib/commonjs/TabView.js.map +1 -0
  35. package/lib/commonjs/index.js +42 -0
  36. package/lib/commonjs/index.js.map +1 -0
  37. package/lib/commonjs/types.js +6 -0
  38. package/lib/commonjs/types.js.map +1 -0
  39. package/lib/commonjs/useAnimatedValue.js +18 -0
  40. package/lib/commonjs/useAnimatedValue.js.map +1 -0
  41. package/lib/module/Pager.android.js +2 -0
  42. package/lib/module/Pager.android.js.map +1 -0
  43. package/lib/module/Pager.ios.js +2 -0
  44. package/lib/module/Pager.ios.js.map +1 -0
  45. package/lib/module/Pager.js +2 -0
  46. package/lib/module/Pager.js.map +1 -0
  47. package/lib/module/PagerViewAdapter.js +123 -0
  48. package/lib/module/PagerViewAdapter.js.map +1 -0
  49. package/lib/module/PanResponderAdapter.js +195 -0
  50. package/lib/module/PanResponderAdapter.js.map +1 -0
  51. package/lib/module/PlatformPressable.js +35 -0
  52. package/lib/module/PlatformPressable.js.map +1 -0
  53. package/lib/module/SceneMap.js +21 -0
  54. package/lib/module/SceneMap.js.map +1 -0
  55. package/lib/module/SceneView.js +70 -0
  56. package/lib/module/SceneView.js.map +1 -0
  57. package/lib/module/TabBar.js +396 -0
  58. package/lib/module/TabBar.js.map +1 -0
  59. package/lib/module/TabBarIndicator.js +101 -0
  60. package/lib/module/TabBarIndicator.js.map +1 -0
  61. package/lib/module/TabBarItem.js +218 -0
  62. package/lib/module/TabBarItem.js.map +1 -0
  63. package/lib/module/TabView.js +113 -0
  64. package/lib/module/TabView.js.map +1 -0
  65. package/lib/module/index.js +6 -0
  66. package/lib/module/index.js.map +1 -0
  67. package/lib/module/types.js +2 -0
  68. package/lib/module/types.js.map +1 -0
  69. package/lib/module/useAnimatedValue.js +10 -0
  70. package/lib/module/useAnimatedValue.js.map +1 -0
  71. package/lib/typescript/src/Pager.android.d.ts +2 -0
  72. package/lib/typescript/src/Pager.android.d.ts.map +1 -0
  73. package/lib/typescript/src/Pager.d.ts +2 -0
  74. package/lib/typescript/src/Pager.d.ts.map +1 -0
  75. package/lib/typescript/src/Pager.ios.d.ts +2 -0
  76. package/lib/typescript/src/Pager.ios.d.ts.map +1 -0
  77. package/lib/typescript/src/PagerViewAdapter.d.ts +15 -0
  78. package/lib/typescript/src/PagerViewAdapter.d.ts.map +1 -0
  79. package/lib/typescript/src/PanResponderAdapter.d.ts +16 -0
  80. package/lib/typescript/src/PanResponderAdapter.d.ts.map +1 -0
  81. package/lib/typescript/src/PlatformPressable.d.ts +16 -0
  82. package/lib/typescript/src/PlatformPressable.d.ts.map +1 -0
  83. package/lib/typescript/src/SceneMap.d.ts +10 -0
  84. package/lib/typescript/src/SceneMap.d.ts.map +1 -0
  85. package/lib/typescript/src/SceneView.d.ts +16 -0
  86. package/lib/typescript/src/SceneView.d.ts.map +1 -0
  87. package/lib/typescript/src/TabBar.d.ts +44 -0
  88. package/lib/typescript/src/TabBar.d.ts.map +1 -0
  89. package/lib/typescript/src/TabBarIndicator.d.ts +13 -0
  90. package/lib/typescript/src/TabBarIndicator.d.ts.map +1 -0
  91. package/lib/typescript/src/TabBarItem.d.ts +37 -0
  92. package/lib/typescript/src/TabBarItem.d.ts.map +1 -0
  93. package/lib/typescript/src/TabView.d.ts +27 -0
  94. package/lib/typescript/src/TabView.d.ts.map +1 -0
  95. package/lib/typescript/src/index.d.ts +11 -0
  96. package/lib/typescript/src/index.d.ts.map +1 -0
  97. package/lib/typescript/src/types.d.ts +42 -0
  98. package/lib/typescript/src/types.d.ts.map +1 -0
  99. package/lib/typescript/src/useAnimatedValue.d.ts +3 -0
  100. package/lib/typescript/src/useAnimatedValue.d.ts.map +1 -0
  101. package/package.json +1 -0
  102. package/src/Pager.android.tsx +1 -0
  103. package/src/Pager.ios.tsx +1 -0
  104. package/src/Pager.tsx +1 -0
  105. package/src/PagerViewAdapter.tsx +180 -0
  106. package/src/PanResponderAdapter.tsx +340 -0
  107. package/src/PlatformPressable.tsx +42 -0
  108. package/src/SceneMap.tsx +30 -0
  109. package/src/SceneView.tsx +107 -0
  110. package/src/TabBar.tsx +639 -0
  111. package/src/TabBarIndicator.tsx +153 -0
  112. package/src/TabBarItem.tsx +319 -0
  113. package/src/TabView.tsx +155 -0
  114. package/src/index.tsx +10 -0
  115. package/src/types.tsx +59 -0
  116. package/src/useAnimatedValue.tsx +12 -0
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = PlatformPressable;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
12
+ const ANDROID_VERSION_LOLLIPOP = 21;
13
+ const ANDROID_SUPPORTS_RIPPLE = _reactNative.Platform.OS === 'android' && _reactNative.Platform.Version >= ANDROID_VERSION_LOLLIPOP;
14
+
15
+ /**
16
+ * PlatformPressable provides an abstraction on top of TouchableNativeFeedback and
17
+ * TouchableOpacity to handle platform differences.
18
+ *
19
+ * On Android, you can pass the props of TouchableNativeFeedback.
20
+ * On other platforms, you can pass the props of TouchableOpacity.
21
+ */
22
+ function PlatformPressable({
23
+ android_ripple,
24
+ pressColor = 'rgba(0, 0, 0, .32)',
25
+ pressOpacity,
26
+ style,
27
+ ...rest
28
+ }) {
29
+ return /*#__PURE__*/React.createElement(_reactNative.Pressable, _extends({
30
+ android_ripple: ANDROID_SUPPORTS_RIPPLE ? {
31
+ color: pressColor,
32
+ ...android_ripple
33
+ } : undefined,
34
+ style: ({
35
+ pressed
36
+ }) => [{
37
+ opacity: pressed && !ANDROID_SUPPORTS_RIPPLE ? pressOpacity : 1
38
+ }, typeof style === 'function' ? style({
39
+ pressed
40
+ }) : style]
41
+ }, rest));
42
+ }
43
+ //# sourceMappingURL=PlatformPressable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ANDROID_VERSION_LOLLIPOP","ANDROID_SUPPORTS_RIPPLE","Platform","OS","Version","PlatformPressable","android_ripple","pressColor","pressOpacity","style","rest","createElement","Pressable","color","undefined","pressed","opacity"],"sourceRoot":"../../src","sources":["PlatformPressable.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAmE,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAR,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAG,CAAA,GAAAmB,SAAA,CAAAtB,CAAA,YAAAE,CAAA,IAAAC,CAAA,OAAAY,cAAA,CAAAC,IAAA,CAAAb,CAAA,EAAAD,CAAA,MAAAM,CAAA,CAAAN,CAAA,IAAAC,CAAA,CAAAD,CAAA,aAAAM,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAQnE,MAAMG,wBAAwB,GAAG,EAAE;AACnC,MAAMC,uBAAuB,GAC3BC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAID,qBAAQ,CAACE,OAAO,IAAIJ,wBAAwB;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASK,iBAAiBA,CAAC;EACxCC,cAAc;EACdC,UAAU,GAAG,oBAAoB;EACjCC,YAAY;EACZC,KAAK;EACL,GAAGC;AACE,CAAC,EAAE;EACR,oBACExC,KAAA,CAAAyC,aAAA,CAACtC,YAAA,CAAAuC,SAAS,EAAAlB,QAAA;IACRY,cAAc,EACZL,uBAAuB,GACnB;MAAEY,KAAK,EAAEN,UAAU;MAAE,GAAGD;IAAe,CAAC,GACxCQ,SACL;IACDL,KAAK,EAAEA,CAAC;MAAEM;IAAQ,CAAC,KAAK,CACtB;MAAEC,OAAO,EAAED,OAAO,IAAI,CAACd,uBAAuB,GAAGO,YAAY,GAAG;IAAE,CAAC,EACnE,OAAOC,KAAK,KAAK,UAAU,GAAGA,KAAK,CAAC;MAAEM;IAAQ,CAAC,CAAC,GAAGN,KAAK;EACxD,GACEC,IAAI,CACT,CAAC;AAEN","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = SceneMap;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ const SceneComponent = /*#__PURE__*/React.memo(({
11
+ component,
12
+ ...rest
13
+ }) => {
14
+ return /*#__PURE__*/React.createElement(component, rest);
15
+ });
16
+ function SceneMap(scenes) {
17
+ return ({
18
+ route,
19
+ jumpTo,
20
+ position
21
+ }) => /*#__PURE__*/React.createElement(SceneComponent, {
22
+ key: route.key,
23
+ component: scenes[route.key],
24
+ route: route,
25
+ jumpTo: jumpTo,
26
+ position: position
27
+ });
28
+ }
29
+ //# sourceMappingURL=SceneMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SceneComponent","memo","component","rest","createElement","SceneMap","scenes","route","jumpTo","position","key"],"sourceRoot":"../../src","sources":["SceneMap.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAQ/B,MAAMW,cAAc,gBAAGvB,KAAK,CAACwB,IAAI,CAC/B,CAAiE;EAC/DC,SAAS;EACT,GAAGC;AACF,CAAC,KAAK;EACP,oBAAO1B,KAAK,CAAC2B,aAAa,CAACF,SAAS,EAAEC,IAAI,CAAC;AAC7C,CACF,CAAC;AAEc,SAASE,QAAQA,CAAgBC,MAE/C,EAAE;EACD,OAAO,CAAC;IAAEC,KAAK;IAAEC,MAAM;IAAEC;EAAqB,CAAC,kBAC7ChC,KAAA,CAAA2B,aAAA,CAACJ,cAAc;IACbU,GAAG,EAAEH,KAAK,CAACG,GAAI;IACfR,SAAS,EAAEI,MAAM,CAACC,KAAK,CAACG,GAAG,CAAE;IAC7BH,KAAK,EAAEA,KAAM;IACbC,MAAM,EAAEA,MAAO;IACfC,QAAQ,EAAEA;EAAS,CACpB,CACF;AACH","ignoreList":[]}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = SceneView;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function SceneView({
12
+ children,
13
+ navigationState,
14
+ lazy,
15
+ layout,
16
+ index,
17
+ lazyPreloadDistance,
18
+ addEnterListener,
19
+ style
20
+ }) {
21
+ const [isLoading, setIsLoading] = React.useState(Math.abs(navigationState.index - index) > lazyPreloadDistance);
22
+ if (isLoading && Math.abs(navigationState.index - index) <= lazyPreloadDistance) {
23
+ // Always render the route when it becomes focused
24
+ setIsLoading(false);
25
+ }
26
+ React.useEffect(() => {
27
+ const handleEnter = value => {
28
+ // If we're entering the current route, we need to load it
29
+ if (value === index) {
30
+ setIsLoading(prevState => {
31
+ if (prevState) {
32
+ return false;
33
+ }
34
+ return prevState;
35
+ });
36
+ }
37
+ };
38
+ let unsubscribe;
39
+ let timer;
40
+ if (lazy && isLoading) {
41
+ // If lazy mode is enabled, listen to when we enter screens
42
+ unsubscribe = addEnterListener(handleEnter);
43
+ } else if (isLoading) {
44
+ // If lazy mode is not enabled, render the scene with a delay if not loaded already
45
+ // This improves the initial startup time as the scene is no longer blocking
46
+ timer = setTimeout(() => setIsLoading(false), 0);
47
+ }
48
+ return () => {
49
+ var _unsubscribe;
50
+ (_unsubscribe = unsubscribe) === null || _unsubscribe === void 0 || _unsubscribe();
51
+ clearTimeout(timer);
52
+ };
53
+ }, [addEnterListener, index, isLoading, lazy]);
54
+ const focused = navigationState.index === index;
55
+ return /*#__PURE__*/React.createElement(_reactNative.View, {
56
+ accessibilityElementsHidden: !focused,
57
+ importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',
58
+ style: [styles.route,
59
+ // If we don't have the layout yet, make the focused screen fill the container
60
+ // This avoids delay before we are able to render pages side by side
61
+ layout.width ? {
62
+ width: layout.width
63
+ } : focused ? _reactNative.StyleSheet.absoluteFill : null, style]
64
+ },
65
+ // Only render the route only if it's either focused or layout is available
66
+ // When layout is not available, we must not render unfocused routes
67
+ // so that the focused route can fill the screen
68
+ focused || layout.width ? children({
69
+ loading: isLoading
70
+ }) : null);
71
+ }
72
+ const styles = _reactNative.StyleSheet.create({
73
+ route: {
74
+ flex: 1,
75
+ overflow: 'hidden'
76
+ }
77
+ });
78
+ //# sourceMappingURL=SceneView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SceneView","children","navigationState","lazy","layout","index","lazyPreloadDistance","addEnterListener","style","isLoading","setIsLoading","useState","Math","abs","useEffect","handleEnter","value","prevState","unsubscribe","timer","setTimeout","_unsubscribe","clearTimeout","focused","createElement","View","accessibilityElementsHidden","importantForAccessibility","styles","route","width","StyleSheet","absoluteFill","loading","create","flex","overflow"],"sourceRoot":"../../src","sources":["SceneView.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,405 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = TabBar;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _useLatestCallback = _interopRequireDefault(require("use-latest-callback"));
10
+ var _TabBarIndicator = _interopRequireDefault(require("./TabBarIndicator"));
11
+ var _TabBarItem = _interopRequireDefault(require("./TabBarItem"));
12
+ var _useAnimatedValue = _interopRequireDefault(require("./useAnimatedValue"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ const Separator = ({
17
+ width
18
+ }) => {
19
+ return /*#__PURE__*/React.createElement(_reactNative.View, {
20
+ style: {
21
+ width
22
+ }
23
+ });
24
+ };
25
+ const getFlattenedTabWidth = style => {
26
+ const tabStyle = _reactNative.StyleSheet.flatten(style);
27
+ return tabStyle === null || tabStyle === void 0 ? void 0 : tabStyle.width;
28
+ };
29
+ const getComputedTabWidth = (index, layout, routes, scrollEnabled, tabWidths, flattenedWidth) => {
30
+ if (flattenedWidth === 'auto') {
31
+ return tabWidths[routes[index].key] || 0;
32
+ }
33
+ switch (typeof flattenedWidth) {
34
+ case 'number':
35
+ return flattenedWidth;
36
+ case 'string':
37
+ if (flattenedWidth.endsWith('%')) {
38
+ const width = parseFloat(flattenedWidth);
39
+ if (Number.isFinite(width)) {
40
+ return layout.width * (width / 100);
41
+ }
42
+ }
43
+ }
44
+ if (scrollEnabled) {
45
+ return layout.width / 5 * 2;
46
+ }
47
+ return layout.width / routes.length;
48
+ };
49
+ const getMaxScrollDistance = (tabBarWidth, layoutWidth) => tabBarWidth - layoutWidth;
50
+ 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);
51
+ const getTabBarWidth = ({
52
+ navigationState,
53
+ layout,
54
+ gap,
55
+ scrollEnabled,
56
+ flattenedTabWidth,
57
+ tabWidths
58
+ }) => {
59
+ const {
60
+ routes
61
+ } = navigationState;
62
+ return routes.reduce((acc, _, i) => acc + (i > 0 ? gap ?? 0 : 0) + getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, flattenedTabWidth), 0);
63
+ };
64
+ const normalizeScrollValue = ({
65
+ layout,
66
+ navigationState,
67
+ gap,
68
+ scrollEnabled,
69
+ tabWidths,
70
+ value,
71
+ flattenedTabWidth
72
+ }) => {
73
+ const tabBarWidth = getTabBarWidth({
74
+ layout,
75
+ navigationState,
76
+ tabWidths,
77
+ gap,
78
+ scrollEnabled,
79
+ flattenedTabWidth
80
+ });
81
+ const maxDistance = getMaxScrollDistance(tabBarWidth, layout.width);
82
+ const scrollValue = Math.max(Math.min(value, maxDistance), 0);
83
+ if (_reactNative.Platform.OS === 'android' && _reactNative.I18nManager.isRTL) {
84
+ // On Android, scroll value is not applied in reverse in RTL
85
+ // so we need to manually adjust it to apply correct value
86
+ return maxDistance - scrollValue;
87
+ }
88
+ return scrollValue;
89
+ };
90
+ const getScrollAmount = ({
91
+ layout,
92
+ navigationState,
93
+ gap,
94
+ scrollEnabled,
95
+ flattenedTabWidth,
96
+ tabWidths
97
+ }) => {
98
+ const centerDistance = Array.from({
99
+ length: navigationState.index + 1
100
+ }).reduce((total, _, i) => {
101
+ const tabWidth = getComputedTabWidth(i, layout, navigationState.routes, scrollEnabled, tabWidths, flattenedTabWidth);
102
+
103
+ // To get the current index centered we adjust scroll amount by width of indexes
104
+ // 0 through (i - 1) and add half the width of current index i
105
+ return total + (navigationState.index === i ? (tabWidth + (gap ?? 0)) / 2 : tabWidth + (gap ?? 0));
106
+ }, 0);
107
+ const scrollAmount = centerDistance - layout.width / 2;
108
+ return normalizeScrollValue({
109
+ layout,
110
+ navigationState,
111
+ tabWidths,
112
+ value: scrollAmount,
113
+ gap,
114
+ scrollEnabled,
115
+ flattenedTabWidth
116
+ });
117
+ };
118
+ const getLabelTextDefault = ({
119
+ route
120
+ }) => route.title;
121
+ const getAccessibleDefault = ({
122
+ route
123
+ }) => typeof route.accessible !== 'undefined' ? route.accessible : true;
124
+ const getAccessibilityLabelDefault = ({
125
+ route
126
+ }) => typeof route.accessibilityLabel === 'string' ? route.accessibilityLabel : typeof route.title === 'string' ? route.title : undefined;
127
+ const renderIndicatorDefault = props => /*#__PURE__*/React.createElement(_TabBarIndicator.default, props);
128
+ const getTestIdDefault = ({
129
+ route
130
+ }) => route.testID;
131
+
132
+ // How many items measurements should we update per batch.
133
+ // Defaults to 10, since that's whats FlatList is using in initialNumToRender.
134
+ const MEASURE_PER_BATCH = 10;
135
+ function TabBar({
136
+ getLabelText = getLabelTextDefault,
137
+ getAccessible = getAccessibleDefault,
138
+ getAccessibilityLabel = getAccessibilityLabelDefault,
139
+ getTestID = getTestIdDefault,
140
+ renderIndicator = renderIndicatorDefault,
141
+ gap = 0,
142
+ scrollEnabled,
143
+ jumpTo,
144
+ navigationState,
145
+ position,
146
+ activeColor,
147
+ bounces,
148
+ contentContainerStyle,
149
+ inactiveColor,
150
+ indicatorContainerStyle,
151
+ indicatorStyle,
152
+ labelStyle,
153
+ onTabLongPress,
154
+ onTabPress,
155
+ pressColor,
156
+ pressOpacity,
157
+ renderBadge,
158
+ renderIcon,
159
+ renderLabel,
160
+ renderTabBarItem,
161
+ style,
162
+ tabStyle,
163
+ testID,
164
+ android_ripple
165
+ }) {
166
+ const [layout, setLayout] = React.useState({
167
+ width: 0,
168
+ height: 0
169
+ });
170
+ const [tabWidths, setTabWidths] = React.useState({});
171
+ const flatListRef = React.useRef(null);
172
+ const isFirst = React.useRef(true);
173
+ const scrollAmount = (0, _useAnimatedValue.default)(0);
174
+ const measuredTabWidths = React.useRef({});
175
+ const {
176
+ routes
177
+ } = navigationState;
178
+ const flattenedTabWidth = getFlattenedTabWidth(tabStyle);
179
+ const isWidthDynamic = flattenedTabWidth === 'auto';
180
+ const scrollOffset = getScrollAmount({
181
+ layout,
182
+ navigationState,
183
+ tabWidths,
184
+ gap,
185
+ scrollEnabled,
186
+ flattenedTabWidth
187
+ });
188
+ const hasMeasuredTabWidths = Boolean(layout.width) && routes.slice(0, navigationState.index).every(r => typeof tabWidths[r.key] === 'number');
189
+ React.useEffect(() => {
190
+ if (isFirst.current) {
191
+ isFirst.current = false;
192
+ return;
193
+ }
194
+ if (isWidthDynamic && !hasMeasuredTabWidths) {
195
+ return;
196
+ }
197
+ if (scrollEnabled) {
198
+ var _flatListRef$current;
199
+ (_flatListRef$current = flatListRef.current) === null || _flatListRef$current === void 0 || _flatListRef$current.scrollToOffset({
200
+ offset: scrollOffset,
201
+ animated: true
202
+ });
203
+ }
204
+ }, [hasMeasuredTabWidths, isWidthDynamic, scrollEnabled, scrollOffset]);
205
+ const handleLayout = e => {
206
+ const {
207
+ height,
208
+ width
209
+ } = e.nativeEvent.layout;
210
+ setLayout(layout => layout.width === width && layout.height === height ? layout : {
211
+ width,
212
+ height
213
+ });
214
+ };
215
+ const tabBarWidth = getTabBarWidth({
216
+ layout,
217
+ navigationState,
218
+ tabWidths,
219
+ gap,
220
+ scrollEnabled,
221
+ flattenedTabWidth
222
+ });
223
+ const separatorsWidth = Math.max(0, routes.length - 1) * gap;
224
+ const separatorPercent = separatorsWidth / tabBarWidth * 100;
225
+ const tabBarWidthPercent = `${routes.length * 40}%`;
226
+ const translateX = React.useMemo(() => getTranslateX(scrollAmount, getMaxScrollDistance(tabBarWidth, layout.width)), [layout.width, scrollAmount, tabBarWidth]);
227
+ const renderItem = React.useCallback(({
228
+ item: route,
229
+ index
230
+ }) => {
231
+ const props = {
232
+ key: route.key,
233
+ position: position,
234
+ route: route,
235
+ navigationState: navigationState,
236
+ getAccessibilityLabel: getAccessibilityLabel,
237
+ getAccessible: getAccessible,
238
+ getLabelText: getLabelText,
239
+ getTestID: getTestID,
240
+ renderBadge: renderBadge,
241
+ renderIcon: renderIcon,
242
+ renderLabel: renderLabel,
243
+ activeColor: activeColor,
244
+ inactiveColor: inactiveColor,
245
+ pressColor: pressColor,
246
+ pressOpacity: pressOpacity,
247
+ onLayout: isWidthDynamic ? e => {
248
+ measuredTabWidths.current[route.key] = e.nativeEvent.layout.width;
249
+
250
+ // When we have measured widths for all of the tabs, we should updates the state
251
+ // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
252
+ // If we have more than 10 routes divide updating tabWidths into multiple batches. Here we update only first batch of 10 items.
253
+ if (routes.length > MEASURE_PER_BATCH && index === MEASURE_PER_BATCH && routes.slice(0, MEASURE_PER_BATCH).every(r => typeof measuredTabWidths.current[r.key] === 'number')) {
254
+ setTabWidths({
255
+ ...measuredTabWidths.current
256
+ });
257
+ } else if (routes.every(r => typeof measuredTabWidths.current[r.key] === 'number')) {
258
+ // When we have measured widths for all of the tabs, we should updates the state
259
+ // We avoid doing separate setState for each layout since it triggers multiple renders and slows down app
260
+ setTabWidths({
261
+ ...measuredTabWidths.current
262
+ });
263
+ }
264
+ } : undefined,
265
+ onPress: () => {
266
+ const event = {
267
+ route,
268
+ defaultPrevented: false,
269
+ preventDefault: () => {
270
+ event.defaultPrevented = true;
271
+ }
272
+ };
273
+ onTabPress === null || onTabPress === void 0 || onTabPress(event);
274
+ if (event.defaultPrevented) {
275
+ return;
276
+ }
277
+ jumpTo(route.key);
278
+ },
279
+ onLongPress: () => onTabLongPress === null || onTabLongPress === void 0 ? void 0 : onTabLongPress({
280
+ route
281
+ }),
282
+ labelStyle: labelStyle,
283
+ style: tabStyle,
284
+ // Calculate the deafult width for tab for FlatList to work
285
+ defaultTabWidth: !isWidthDynamic ? getComputedTabWidth(index, layout, routes, scrollEnabled, tabWidths, getFlattenedTabWidth(tabStyle)) : undefined,
286
+ android_ripple
287
+ };
288
+ return /*#__PURE__*/React.createElement(React.Fragment, null, gap > 0 && index > 0 ? /*#__PURE__*/React.createElement(Separator, {
289
+ width: gap
290
+ }) : null, renderTabBarItem ? renderTabBarItem(props) : /*#__PURE__*/React.createElement(_TabBarItem.default, props));
291
+ }, [activeColor, android_ripple, gap, getAccessibilityLabel, getAccessible, getLabelText, getTestID, inactiveColor, isWidthDynamic, jumpTo, labelStyle, layout, navigationState, onTabLongPress, onTabPress, position, pressColor, pressOpacity, renderBadge, renderIcon, renderLabel, renderTabBarItem, routes, scrollEnabled, tabStyle, tabWidths]);
292
+ const keyExtractor = React.useCallback(item => item.key, []);
293
+ const contentContainerStyleMemoized = React.useMemo(() => [styles.tabContent, scrollEnabled ? {
294
+ width: tabBarWidth > separatorsWidth ? tabBarWidth : tabBarWidthPercent
295
+ } : styles.container, contentContainerStyle], [contentContainerStyle, scrollEnabled, separatorsWidth, tabBarWidth, tabBarWidthPercent]);
296
+ const handleScroll = React.useMemo(() => _reactNative.Animated.event([{
297
+ nativeEvent: {
298
+ contentOffset: {
299
+ x: scrollAmount
300
+ }
301
+ }
302
+ }], {
303
+ useNativeDriver: true
304
+ }), [scrollAmount]);
305
+ const handleViewableItemsChanged = (0, _useLatestCallback.default)(({
306
+ changed
307
+ }) => {
308
+ if (routes.length <= MEASURE_PER_BATCH) {
309
+ return;
310
+ }
311
+ // Get next vievable item
312
+ const item = changed[changed.length - 1];
313
+ const index = (item === null || item === void 0 ? void 0 : item.index) || 0;
314
+ if (item.isViewable && (index % 10 === 0 || index === navigationState.index || index === routes.length - 1)) {
315
+ setTabWidths({
316
+ ...measuredTabWidths.current
317
+ });
318
+ }
319
+ });
320
+
321
+ // FIXME: Not sure why i have to as-any here (x3) ..
322
+ return /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
323
+ onLayout: handleLayout,
324
+ style: [styles.tabBar, style]
325
+ }, /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
326
+ pointerEvents: "none",
327
+ style: [styles.indicatorContainer, scrollEnabled ? {
328
+ transform: [{
329
+ translateX
330
+ }]
331
+ } : null, tabBarWidth > separatorsWidth ? {
332
+ width: tabBarWidth - separatorsWidth
333
+ } : scrollEnabled ? {
334
+ width: tabBarWidthPercent
335
+ } : null, indicatorContainerStyle]
336
+ }, renderIndicator({
337
+ position,
338
+ layout,
339
+ navigationState,
340
+ jumpTo,
341
+ width: isWidthDynamic ? 'auto' : `${(100 - separatorPercent) / routes.length}%`,
342
+ style: indicatorStyle,
343
+ getTabWidth: i => getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, flattenedTabWidth),
344
+ gap
345
+ })), /*#__PURE__*/React.createElement(_reactNative.View, {
346
+ style: styles.scroll
347
+ }, /*#__PURE__*/React.createElement(_reactNative.Animated.FlatList, {
348
+ data: routes,
349
+ keyExtractor: keyExtractor,
350
+ horizontal: true,
351
+ accessibilityRole: "tablist",
352
+ keyboardShouldPersistTaps: "handled",
353
+ scrollEnabled: scrollEnabled,
354
+ bounces: bounces,
355
+ initialNumToRender: MEASURE_PER_BATCH,
356
+ onViewableItemsChanged: handleViewableItemsChanged,
357
+ alwaysBounceHorizontal: false,
358
+ scrollsToTop: false,
359
+ showsHorizontalScrollIndicator: false,
360
+ showsVerticalScrollIndicator: false,
361
+ automaticallyAdjustContentInsets: false,
362
+ overScrollMode: "never",
363
+ contentContainerStyle: contentContainerStyleMemoized,
364
+ scrollEventThrottle: 16,
365
+ renderItem: renderItem,
366
+ onScroll: handleScroll,
367
+ ref: flatListRef,
368
+ testID: testID
369
+ })));
370
+ }
371
+ const styles = _reactNative.StyleSheet.create({
372
+ container: {
373
+ flex: 1
374
+ },
375
+ scroll: {
376
+ overflow: _reactNative.Platform.select({
377
+ default: 'scroll',
378
+ web: undefined
379
+ })
380
+ },
381
+ tabBar: {
382
+ backgroundColor: '#2196f3',
383
+ elevation: 4,
384
+ shadowColor: 'black',
385
+ shadowOpacity: 0.1,
386
+ shadowRadius: _reactNative.StyleSheet.hairlineWidth,
387
+ shadowOffset: {
388
+ height: _reactNative.StyleSheet.hairlineWidth,
389
+ width: 0
390
+ },
391
+ zIndex: 1
392
+ },
393
+ tabContent: {
394
+ flexDirection: 'row',
395
+ flexWrap: 'nowrap'
396
+ },
397
+ indicatorContainer: {
398
+ position: 'absolute',
399
+ top: 0,
400
+ left: 0,
401
+ right: 0,
402
+ bottom: 0
403
+ }
404
+ });
405
+ //# sourceMappingURL=TabBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_useLatestCallback","_interopRequireDefault","_TabBarIndicator","_TabBarItem","_useAnimatedValue","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Separator","width","createElement","View","style","getFlattenedTabWidth","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","_","normalizeScrollValue","value","maxDistance","scrollValue","Math","max","min","getScrollAmount","centerDistance","Array","from","total","tabWidth","getLabelTextDefault","route","title","getAccessibleDefault","accessible","getAccessibilityLabelDefault","accessibilityLabel","undefined","renderIndicatorDefault","props","getTestIdDefault","testID","MEASURE_PER_BATCH","TabBar","getLabelText","getAccessible","getAccessibilityLabel","getTestID","renderIndicator","jumpTo","position","activeColor","bounces","contentContainerStyle","inactiveColor","indicatorContainerStyle","indicatorStyle","labelStyle","onTabLongPress","onTabPress","pressColor","pressOpacity","renderBadge","renderIcon","renderLabel","renderTabBarItem","android_ripple","setLayout","useState","height","setTabWidths","flatListRef","useRef","isFirst","useAnimatedValue","measuredTabWidths","isWidthDynamic","scrollOffset","hasMeasuredTabWidths","Boolean","slice","every","useEffect","current","_flatListRef$current","scrollToOffset","offset","animated","handleLayout","nativeEvent","separatorsWidth","separatorPercent","tabBarWidthPercent","translateX","useMemo","renderItem","useCallback","item","onLayout","onPress","event","defaultPrevented","preventDefault","onLongPress","defaultTabWidth","Fragment","keyExtractor","contentContainerStyleMemoized","styles","tabContent","container","handleScroll","contentOffset","x","useNativeDriver","handleViewableItemsChanged","useLatestCallback","changed","isViewable","tabBar","pointerEvents","indicatorContainer","transform","getTabWidth","scroll","FlatList","data","horizontal","accessibilityRole","keyboardShouldPersistTaps","initialNumToRender","onViewableItemsChanged","alwaysBounceHorizontal","scrollsToTop","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","automaticallyAdjustContentInsets","overScrollMode","scrollEventThrottle","onScroll","ref","create","flex","overflow","select","web","backgroundColor","elevation","shadowColor","shadowOpacity","shadowRadius","hairlineWidth","shadowOffset","zIndex","flexDirection","flexWrap","top","left","right","bottom"],"sourceRoot":"../../src","sources":["TabBar.tsx"],"mappings":"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","ignoreList":[]}