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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +2 -646
  2. package/SystemBundles/adbcd18d13758315355457809fdb5587894f9f3c2c9838769a5a47bf860685c8.bundle +8564 -0
  3. package/SystemBundles/adbcd18d13758315355457809fdb5587894f9f3c2c9838769a5a47bf860685c8.map +3217 -0
  4. package/SystemModules/amzn__react-navigation__react-native-tab-view-8.modules.txt +12 -0
  5. package/SystemModules/amzn__react-navigation__react-native-tab-view-8.private.modules.txt +63 -0
  6. package/SystemModules/keplerscript-system-bundle-config.json +4 -4
  7. package/kepler-compatibility.json +2 -2
  8. package/lib/module/Pager.android.js +3 -1
  9. package/lib/module/Pager.android.js.map +1 -1
  10. package/lib/module/Pager.ios.js +3 -1
  11. package/lib/module/Pager.ios.js.map +1 -1
  12. package/lib/module/Pager.js +3 -1
  13. package/lib/module/Pager.js.map +1 -1
  14. package/lib/module/PagerViewAdapter.js +29 -22
  15. package/lib/module/PagerViewAdapter.js.map +1 -1
  16. package/lib/module/PanResponderAdapter.js +46 -32
  17. package/lib/module/PanResponderAdapter.js.map +1 -1
  18. package/lib/module/PlatformPressable.js +38 -12
  19. package/lib/module/PlatformPressable.js.map +1 -1
  20. package/lib/module/SceneMap.js +7 -4
  21. package/lib/module/SceneMap.js.map +1 -1
  22. package/lib/module/SceneView.js +16 -14
  23. package/lib/module/SceneView.js.map +1 -1
  24. package/lib/module/TabBar.js +232 -156
  25. package/lib/module/TabBar.js.map +1 -1
  26. package/lib/module/TabBarIndicator.js +47 -26
  27. package/lib/module/TabBarIndicator.js.map +1 -1
  28. package/lib/module/TabBarItem.js +106 -107
  29. package/lib/module/TabBarItem.js.map +1 -1
  30. package/lib/module/TabBarItemLabel.js +33 -0
  31. package/lib/module/TabBarItemLabel.js.map +1 -0
  32. package/lib/module/TabView.js +91 -63
  33. package/lib/module/TabView.js.map +1 -1
  34. package/lib/module/index.js +7 -5
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/package.json +1 -0
  37. package/lib/module/types.js +2 -0
  38. package/lib/module/types.js.map +1 -1
  39. package/lib/module/useAnimatedValue.js +4 -2
  40. package/lib/module/useAnimatedValue.js.map +1 -1
  41. package/lib/typescript/package.json +1 -0
  42. package/lib/typescript/src/Pager.android.d.ts +1 -1
  43. package/lib/typescript/src/Pager.android.d.ts.map +1 -1
  44. package/lib/typescript/src/Pager.d.ts +1 -1
  45. package/lib/typescript/src/Pager.d.ts.map +1 -1
  46. package/lib/typescript/src/Pager.ios.d.ts +1 -1
  47. package/lib/typescript/src/Pager.ios.d.ts.map +1 -1
  48. package/lib/typescript/src/PagerViewAdapter.d.ts +4 -1
  49. package/lib/typescript/src/PagerViewAdapter.d.ts.map +1 -1
  50. package/lib/typescript/src/PanResponderAdapter.d.ts +4 -1
  51. package/lib/typescript/src/PanResponderAdapter.d.ts.map +1 -1
  52. package/lib/typescript/src/PlatformPressable.d.ts +6 -8
  53. package/lib/typescript/src/PlatformPressable.d.ts.map +1 -1
  54. package/lib/typescript/src/SceneMap.d.ts +2 -2
  55. package/lib/typescript/src/SceneMap.d.ts.map +1 -1
  56. package/lib/typescript/src/SceneView.d.ts +2 -2
  57. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  58. package/lib/typescript/src/TabBar.d.ts +7 -19
  59. package/lib/typescript/src/TabBar.d.ts.map +1 -1
  60. package/lib/typescript/src/TabBarIndicator.d.ts +8 -6
  61. package/lib/typescript/src/TabBarIndicator.d.ts.map +1 -1
  62. package/lib/typescript/src/TabBarItem.d.ts +4 -22
  63. package/lib/typescript/src/TabBarItem.d.ts.map +1 -1
  64. package/lib/typescript/src/TabBarItemLabel.d.ts +11 -0
  65. package/lib/typescript/src/TabBarItemLabel.d.ts.map +1 -0
  66. package/lib/typescript/src/TabView.d.ts +14 -8
  67. package/lib/typescript/src/TabView.d.ts.map +1 -1
  68. package/lib/typescript/src/index.d.ts +6 -6
  69. package/lib/typescript/src/index.d.ts.map +1 -1
  70. package/lib/typescript/src/types.d.ts +29 -1
  71. package/lib/typescript/src/types.d.ts.map +1 -1
  72. package/lib/typescript/src/useAnimatedValue.d.ts +1 -1
  73. package/lib/typescript/src/useAnimatedValue.d.ts.map +1 -1
  74. package/oss-attribution/attribution.txt +0 -0
  75. package/oss-attribution/licenseInfos.json +1 -0
  76. package/package.json +93 -1
  77. package/src/Pager.android.tsx +1 -1
  78. package/src/Pager.ios.tsx +1 -1
  79. package/src/Pager.tsx +1 -1
  80. package/src/PagerViewAdapter.tsx +26 -21
  81. package/src/PanResponderAdapter.tsx +32 -28
  82. package/src/PlatformPressable.tsx +59 -10
  83. package/src/SceneMap.tsx +3 -3
  84. package/src/SceneView.tsx +6 -7
  85. package/src/TabBar.tsx +282 -193
  86. package/src/TabBarIndicator.tsx +65 -28
  87. package/src/TabBarItem.tsx +119 -130
  88. package/src/TabBarItemLabel.tsx +42 -0
  89. package/src/TabView.tsx +59 -16
  90. package/src/index.tsx +11 -6
  91. package/src/types.tsx +29 -1
  92. package/src/useAnimatedValue.tsx +2 -2
  93. package/SystemBundles/df77923df6c02233e2967296227684cd416c9a363cc8fc6fd81f573829bc74e9.bundle +0 -13783
  94. package/SystemBundles/df77923df6c02233e2967296227684cd416c9a363cc8fc6fd81f573829bc74e9.map +0 -4787
  95. package/SystemModules/amzn__react-navigation__react-native-tab-view-7.modules.txt +0 -41
  96. package/SystemModules/amzn__react-navigation__react-native-tab-view-7.private.modules.txt +0 -96
  97. package/THIRD_PARTY_NOTICES.txt +0 -24
  98. package/lib/commonjs/Pager.android.js +0 -14
  99. package/lib/commonjs/Pager.android.js.map +0 -1
  100. package/lib/commonjs/Pager.ios.js +0 -14
  101. package/lib/commonjs/Pager.ios.js.map +0 -1
  102. package/lib/commonjs/Pager.js +0 -14
  103. package/lib/commonjs/Pager.js.map +0 -1
  104. package/lib/commonjs/PagerViewAdapter.js +0 -132
  105. package/lib/commonjs/PagerViewAdapter.js.map +0 -1
  106. package/lib/commonjs/PanResponderAdapter.js +0 -204
  107. package/lib/commonjs/PanResponderAdapter.js.map +0 -1
  108. package/lib/commonjs/PlatformPressable.js +0 -43
  109. package/lib/commonjs/PlatformPressable.js.map +0 -1
  110. package/lib/commonjs/SceneMap.js +0 -29
  111. package/lib/commonjs/SceneMap.js.map +0 -1
  112. package/lib/commonjs/SceneView.js +0 -78
  113. package/lib/commonjs/SceneView.js.map +0 -1
  114. package/lib/commonjs/TabBar.js +0 -405
  115. package/lib/commonjs/TabBar.js.map +0 -1
  116. package/lib/commonjs/TabBarIndicator.js +0 -110
  117. package/lib/commonjs/TabBarIndicator.js.map +0 -1
  118. package/lib/commonjs/TabBarItem.js +0 -227
  119. package/lib/commonjs/TabBarItem.js.map +0 -1
  120. package/lib/commonjs/TabView.js +0 -122
  121. package/lib/commonjs/TabView.js.map +0 -1
  122. package/lib/commonjs/index.js +0 -42
  123. package/lib/commonjs/index.js.map +0 -1
  124. package/lib/commonjs/types.js +0 -6
  125. package/lib/commonjs/types.js.map +0 -1
  126. package/lib/commonjs/useAnimatedValue.js +0 -18
  127. package/lib/commonjs/useAnimatedValue.js.map +0 -1
@@ -0,0 +1,12 @@
1
+ node_modules/@amzn/react-navigation__react-native-tab-view_8/lib/module/index.js:89245db4cf585eb3767a
2
+ node_modules/@amzn/react-navigation__react-native-tab-view_8/lib/module/SceneMap.js:a2166d11aa34a1e02321
3
+ node_modules/@amzn/react-navigation__react-native-tab-view_8/lib/module/TabBar.js:3377732d36f782e0ad4d
4
+ node_modules/@amzn/react-navigation__react-native-tab-view_8/lib/module/TabBarIndicator.js:f6f6ece65dc6e63713f2
5
+ node_modules/@amzn/react-navigation__react-native-tab-view_8/lib/module/useAnimatedValue.js:731c8ed34f30deac6a84
6
+ node_modules/@amzn/react-navigation__react-native-tab-view_8/lib/module/TabBarItem.js:255be1c14f3a6e37616a
7
+ node_modules/@amzn/react-navigation__react-native-tab-view_8/lib/module/TabBarItemLabel.js:49efff905d7d0f26bf37
8
+ node_modules/@amzn/react-navigation__react-native-tab-view_8/lib/module/PlatformPressable.js:5f49e5869c2c436430ac
9
+ node_modules/@amzn/react-navigation__react-native-tab-view_8/lib/module/TabView.js:ea3d74e5832d0fbe7b0a
10
+ node_modules/@amzn/react-navigation__react-native-tab-view_8/lib/module/Pager.js:d985a3d13270a2b69155
11
+ node_modules/@amzn/react-navigation__react-native-tab-view_8/lib/module/PanResponderAdapter.js:7dc6457c30058f1065a0
12
+ node_modules/@amzn/react-navigation__react-native-tab-view_8/lib/module/SceneView.js:7fccbe873d063ee93b54
@@ -0,0 +1,63 @@
1
+ node_modules/@babel/runtime_7.29.2/helpers/interopRequireDefault.js:d3b57c8ff490ba8c7c47
2
+ node_modules/@babel/runtime_7.29.2/helpers/objectWithoutProperties.js:54be67f13f7547a51521
3
+ node_modules/@babel/runtime_7.29.2/helpers/objectWithoutPropertiesLoose.js:ae112a2672a8a53f82e5
4
+ node_modules/@babel/runtime_7.29.2/helpers/slicedToArray.js:8972a767e9133b0e3a28
5
+ node_modules/@babel/runtime_7.29.2/helpers/arrayWithHoles.js:ee99881fa9643e7bd96f
6
+ node_modules/@babel/runtime_7.29.2/helpers/iterableToArrayLimit.js:1847ec9d510321afd855
7
+ node_modules/@babel/runtime_7.29.2/helpers/unsupportedIterableToArray.js:0c30490eff100ca51d7c
8
+ node_modules/@babel/runtime_7.29.2/helpers/arrayLikeToArray.js:93f664c5afc3b3c0ffb9
9
+ node_modules/@babel/runtime_7.29.2/helpers/nonIterableRest.js:9ef80b625777ecb8d705
10
+ node_modules/@babel/runtime_7.29.2/helpers/classCallCheck.js:2bfb5e99807ec81b822f
11
+ node_modules/@babel/runtime_7.29.2/helpers/createClass.js:cc42269051bc9ff17a63
12
+ node_modules/@babel/runtime_7.29.2/helpers/toPropertyKey.js:7519d1b9ea0de500d604
13
+ node_modules/@babel/runtime_7.29.2/helpers/toPrimitive.js:6c47e04d255cdfb1533c
14
+ node_modules/@babel/runtime_7.29.2/helpers/typeof.js:7b6247ce00695d888c36
15
+ node_modules/@babel/runtime_7.29.2/helpers/possibleConstructorReturn.js:80a4a0ee188e065108c9
16
+ node_modules/@babel/runtime_7.29.2/helpers/assertThisInitialized.js:7a9699b26019ae7270f5
17
+ node_modules/@babel/runtime_7.29.2/helpers/getPrototypeOf.js:9c829ff5032996ffdc8e
18
+ node_modules/@babel/runtime_7.29.2/helpers/get.js:659b028086c2c6f074a3
19
+ node_modules/@babel/runtime_7.29.2/helpers/superPropBase.js:263943b885b53437e9e0
20
+ node_modules/@babel/runtime_7.29.2/helpers/inherits.js:3ebfecb28bc5857801a2
21
+ node_modules/@babel/runtime_7.29.2/helpers/setPrototypeOf.js:ea37d1dec222e5845b2b
22
+ node_modules/@babel/runtime_7.29.2/helpers/classPrivateFieldLooseBase.js:8e4a72d63eec1bceb909
23
+ node_modules/@babel/runtime_7.29.2/helpers/classPrivateFieldLooseKey.js:3998b40f87a7681fa397
24
+ node_modules/invariant_2.2.4/browser.js:fd099686726b2dfb6f66
25
+ node_modules/@react-native/normalize-colors_0.83.0/index.js:e8e087936fed8afe0814
26
+ node_modules/nullthrows_1.1.1/nullthrows.js:afd4874b36ccd4e13961
27
+ node_modules/@react-native/assets-registry_0.83.0/registry.js:5ff9e23a9ba5a1a1e0ac
28
+ node_modules/@react-native/assets-registry_0.83.0/path-support.js:fb4eb45d6b2fc494317c
29
+ node_modules/@babel/runtime_7.29.2/helpers/wrapNativeSuper.js:b510ad86a9e18c7a79b6
30
+ node_modules/@babel/runtime_7.29.2/helpers/isNativeFunction.js:74c2adc9de6e582a35f1
31
+ node_modules/@babel/runtime_7.29.2/helpers/construct.js:d66ad0c399283f558869
32
+ node_modules/@babel/runtime_7.29.2/helpers/isNativeReflectConstruct.js:22840e4117f5dbcb3b06
33
+ node_modules/promise_8.3.0/setimmediate/es6-extensions.js:a7846fdeffeb1ebf6241
34
+ node_modules/promise_8.3.0/setimmediate/core.js:890f60fa94d3f6854a19
35
+ node_modules/promise_8.3.0/setimmediate/finally.js:15bc4ccb25fc2d0c4428
36
+ node_modules/stacktrace-parser_0.1.11/dist/stack-trace-parser.cjs.js:aa725aa4c0b37e1add33
37
+ node_modules/regenerator-runtime_0.13.11/runtime.js:af823d9710c534173a4d
38
+ node_modules/base64-js_1.5.1/index.js:71af70f51435e3e1b37b
39
+ node_modules/whatwg-fetch_3.6.20/dist/fetch.umd.js:ca4b0363146267ef3e77
40
+ node_modules/abort-controller_3.0.0/dist/abort-controller.js:ea8fcbd647aab1cfcdaa
41
+ node_modules/event-target-shim_5.0.1/dist/event-target-shim.js:2bd3f165b1ed6b916de7
42
+ node_modules/scheduler_0.27.0/index.native.js:ec9ec59f48073ee6e9f5
43
+ node_modules/scheduler_0.27.0/cjs/scheduler.native.production.js:d8f1930d0c79328207a3
44
+ node_modules/@babel/runtime_7.29.2/helpers/readOnlyError.js:b769be1a7481ccdab905
45
+ node_modules/@react-native/virtualized-lists_0.83.0/index.js:a7726730afdc356adbe4
46
+ node_modules/@react-native/virtualized-lists_0.83.0/Lists/VirtualizeUtils.js:d0ff6d3d1f2c9580ab13
47
+ node_modules/@react-native/virtualized-lists_0.83.0/Lists/VirtualizedList.js:8d139349672eea405ffb
48
+ node_modules/@react-native/virtualized-lists_0.83.0/Utilities/clamp.js:a78a6606e498a2fdbf2d
49
+ node_modules/@react-native/virtualized-lists_0.83.0/Utilities/infoLog.js:017b2813127d2e7f4d70
50
+ node_modules/@react-native/virtualized-lists_0.83.0/Lists/ChildListCollection.js:9c3630060e6e634bfb8b
51
+ node_modules/@react-native/virtualized-lists_0.83.0/Lists/FillRateHelper.js:c1e83141f045b25e26fc
52
+ node_modules/@react-native/virtualized-lists_0.83.0/Lists/ListMetricsAggregator.js:480fcd792bed2eb457f3
53
+ node_modules/@react-native/virtualized-lists_0.83.0/Lists/StateSafePureComponent.js:fd4823cbe6aa108a7d62
54
+ node_modules/@react-native/virtualized-lists_0.83.0/Lists/ViewabilityHelper.js:a44a41089be71f9f7b1e
55
+ node_modules/@react-native/virtualized-lists_0.83.0/Lists/VirtualizedListCellRenderer.js:8aa7cf31c704a4a85db2
56
+ node_modules/@react-native/virtualized-lists_0.83.0/Lists/VirtualizedListContext.js:4b89f56515b0628d3446
57
+ node_modules/@react-native/virtualized-lists_0.83.0/Lists/VirtualizedListProps.js:516cf3cf4ecb4e256407
58
+ node_modules/@react-native/virtualized-lists_0.83.0/Lists/CellRenderMask.js:95aa36c0870d6d5cfdb1
59
+ node_modules/@react-native/virtualized-lists_0.83.0/Lists/VirtualizedSectionList.js:cb8631f113fda0d4a92c
60
+ node_modules/memoize-one_5.2.1/dist/memoize-one.cjs.js:d381691ed29bec5a2050
61
+ node_modules/@babel/runtime_7.29.2/helpers/asyncToGenerator.js:37d2d0df8e62891cc30d
62
+ node_modules/use-latest-callback_0.2.6/esm.mjs:62095b319443680fd483
63
+ node_modules/use-latest-callback_0.2.6/lib/src/index.js:7beabb432668b871cb05
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "@amzn/react-navigation__react-native-tab-view": {
3
- "nameOnDevice": "index.amzn__react-navigation__react-native-tab-view-7.hermes.bundle",
4
- "modulesPath": "amzn__react-navigation__react-native-tab-view-7.modules.txt",
5
- "privateModulesPath": "amzn__react-navigation__react-native-tab-view-7.private.modules.txt"
3
+ "nameOnDevice": "index.amzn__react-navigation__react-native-tab-view-8.hermes.bundle",
4
+ "modulesPath": "amzn__react-navigation__react-native-tab-view-8.modules.txt",
5
+ "privateModulesPath": "amzn__react-navigation__react-native-tab-view-8.private.modules.txt"
6
6
  }
7
- }
7
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "versions": {
3
- "7.0.0": "/com.amazon.kepler.navigation__tab_view_7@INavigation__TabView_0",
4
- "7.0.9000000000": "/com.amazon.kepler.navigation__tab_view_7@INavigation__TabView_0"
3
+ "8.0.0": "/com.amazon.kepler.navigation__tab_view_8@INavigation__TabView_0",
4
+ "8.0.9000000000": "/com.amazon.kepler.navigation__tab_view_8@INavigation__TabView_0"
5
5
  }
6
6
  }
@@ -1,2 +1,4 @@
1
- export { default } from './PagerViewAdapter';
1
+ "use strict";
2
+
3
+ export { PagerViewAdapter as Pager } from "./PagerViewAdapter.js";
2
4
  //# sourceMappingURL=Pager.android.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sourceRoot":"../../src","sources":["Pager.android.tsx"],"mappings":"AAAA,SAASA,OAAO,QAAQ,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["PagerViewAdapter","Pager"],"sourceRoot":"../../src","sources":["Pager.android.tsx"],"mappings":";;AAAA,SAASA,gBAAgB,IAAIC,KAAK,QAAQ,uBAAoB","ignoreList":[]}
@@ -1,2 +1,4 @@
1
- export { default } from './PagerViewAdapter';
1
+ "use strict";
2
+
3
+ export { PagerViewAdapter as Pager } from "./PagerViewAdapter.js";
2
4
  //# sourceMappingURL=Pager.ios.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sourceRoot":"../../src","sources":["Pager.ios.tsx"],"mappings":"AAAA,SAASA,OAAO,QAAQ,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["PagerViewAdapter","Pager"],"sourceRoot":"../../src","sources":["Pager.ios.tsx"],"mappings":";;AAAA,SAASA,gBAAgB,IAAIC,KAAK,QAAQ,uBAAoB","ignoreList":[]}
@@ -1,2 +1,4 @@
1
- export { default } from './PanResponderAdapter';
1
+ "use strict";
2
+
3
+ export { PanResponderAdapter as Pager } from "./PanResponderAdapter.js";
2
4
  //# sourceMappingURL=Pager.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default"],"sourceRoot":"../../src","sources":["Pager.tsx"],"mappings":"AAAA,SAASA,OAAO,QAAQ,uBAAuB","ignoreList":[]}
1
+ {"version":3,"names":["PanResponderAdapter","Pager"],"sourceRoot":"../../src","sources":["Pager.tsx"],"mappings":";;AAAA,SAASA,mBAAmB,IAAIC,KAAK,QAAQ,0BAAuB","ignoreList":[]}
@@ -1,14 +1,19 @@
1
- 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); }
1
+ "use strict";
2
+
2
3
  import * as React from 'react';
3
- import { Animated, Keyboard, StyleSheet } from 'react-native';
4
+ import { Animated, Keyboard, Platform, StyleSheet } from 'react-native';
4
5
  import ViewPager from 'react-native-pager-view';
5
- import useAnimatedValue from './useAnimatedValue';
6
+ import useLatestCallback from 'use-latest-callback';
7
+ import { useAnimatedValue } from "./useAnimatedValue.js";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
6
9
  const AnimatedViewPager = Animated.createAnimatedComponent(ViewPager);
7
- export default function PagerViewAdapter({
10
+ const useNativeDriver = Platform.OS !== 'web';
11
+ export function PagerViewAdapter({
8
12
  keyboardDismissMode = 'auto',
9
13
  swipeEnabled = true,
10
14
  navigationState,
11
15
  onIndexChange,
16
+ onTabSelect,
12
17
  onSwipeStart,
13
18
  onSwipeEnd,
14
19
  children,
@@ -28,28 +33,25 @@ export default function PagerViewAdapter({
28
33
  React.useEffect(() => {
29
34
  navigationStateRef.current = navigationState;
30
35
  });
31
- const jumpTo = React.useCallback(key => {
36
+ const jumpTo = useLatestCallback(key => {
32
37
  const index = navigationStateRef.current.routes.findIndex(route => route.key === key);
33
38
  if (animationEnabled) {
34
- var _pagerRef$current;
35
- (_pagerRef$current = pagerRef.current) === null || _pagerRef$current === void 0 || _pagerRef$current.setPage(index);
39
+ pagerRef.current?.setPage(index);
36
40
  } else {
37
- var _pagerRef$current2;
38
- (_pagerRef$current2 = pagerRef.current) === null || _pagerRef$current2 === void 0 || _pagerRef$current2.setPageWithoutAnimation(index);
41
+ pagerRef.current?.setPageWithoutAnimation(index);
39
42
  position.setValue(index);
40
43
  }
41
- }, [animationEnabled, position]);
44
+ onIndexChange(index);
45
+ });
42
46
  React.useEffect(() => {
43
47
  if (keyboardDismissMode === 'auto') {
44
48
  Keyboard.dismiss();
45
49
  }
46
50
  if (indexRef.current !== index) {
47
51
  if (animationEnabled) {
48
- var _pagerRef$current3;
49
- (_pagerRef$current3 = pagerRef.current) === null || _pagerRef$current3 === void 0 || _pagerRef$current3.setPage(index);
52
+ pagerRef.current?.setPage(index);
50
53
  } else {
51
- var _pagerRef$current4;
52
- (_pagerRef$current4 = pagerRef.current) === null || _pagerRef$current4 === void 0 || _pagerRef$current4.setPageWithoutAnimation(index);
54
+ pagerRef.current?.setPageWithoutAnimation(index);
53
55
  position.setValue(index);
54
56
  }
55
57
  }
@@ -60,7 +62,7 @@ export default function PagerViewAdapter({
60
62
  } = state.nativeEvent;
61
63
  switch (pageScrollState) {
62
64
  case 'idle':
63
- onSwipeEnd === null || onSwipeEnd === void 0 || onSwipeEnd();
65
+ onSwipeEnd?.();
64
66
  return;
65
67
  case 'dragging':
66
68
  {
@@ -73,12 +75,12 @@ export default function PagerViewAdapter({
73
75
  }
74
76
  offset.removeListener(subscription);
75
77
  });
76
- onSwipeStart === null || onSwipeStart === void 0 || onSwipeStart();
78
+ onSwipeStart?.();
77
79
  return;
78
80
  }
79
81
  }
80
82
  };
81
- const addEnterListener = React.useCallback(listener => {
83
+ const addEnterListener = useLatestCallback(listener => {
82
84
  listenersRef.current.push(listener);
83
85
  return () => {
84
86
  const index = listenersRef.current.indexOf(listener);
@@ -86,13 +88,14 @@ export default function PagerViewAdapter({
86
88
  listenersRef.current.splice(index, 1);
87
89
  }
88
90
  };
89
- }, []);
91
+ });
90
92
  const memoizedPosition = React.useMemo(() => Animated.add(position, offset), [offset, position]);
91
93
  return children({
92
94
  position: memoizedPosition,
93
95
  addEnterListener,
94
96
  jumpTo,
95
- render: children => /*#__PURE__*/React.createElement(AnimatedViewPager, _extends({}, rest, {
97
+ render: children => /*#__PURE__*/_jsx(AnimatedViewPager, {
98
+ ...rest,
96
99
  ref: pagerRef,
97
100
  style: [styles.container, style],
98
101
  initialPage: index,
@@ -103,16 +106,20 @@ export default function PagerViewAdapter({
103
106
  offset: offset
104
107
  }
105
108
  }], {
106
- useNativeDriver: true
109
+ useNativeDriver
107
110
  }),
108
111
  onPageSelected: e => {
109
112
  const index = e.nativeEvent.position;
110
113
  indexRef.current = index;
111
114
  onIndexChange(index);
115
+ onTabSelect?.({
116
+ index
117
+ });
112
118
  },
113
119
  onPageScrollStateChanged: onPageScrollStateChanged,
114
- scrollEnabled: swipeEnabled
115
- }), children)
120
+ scrollEnabled: swipeEnabled,
121
+ children: children
122
+ })
116
123
  });
117
124
  }
118
125
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","Keyboard","StyleSheet","ViewPager","useAnimatedValue","AnimatedViewPager","createAnimatedComponent","PagerViewAdapter","keyboardDismissMode","swipeEnabled","navigationState","onIndexChange","onSwipeStart","onSwipeEnd","children","style","animationEnabled","rest","index","listenersRef","useRef","pagerRef","indexRef","navigationStateRef","position","offset","useEffect","current","jumpTo","useCallback","key","routes","findIndex","route","_pagerRef$current","setPage","_pagerRef$current2","setPageWithoutAnimation","setValue","dismiss","_pagerRef$current3","_pagerRef$current4","onPageScrollStateChanged","state","pageScrollState","nativeEvent","subscription","addListener","value","next","Math","ceil","floor","forEach","listener","removeListener","addEnterListener","push","indexOf","splice","memoizedPosition","useMemo","add","render","createElement","_extends","ref","styles","container","initialPage","onPageScroll","event","useNativeDriver","onPageSelected","e","scrollEnabled","create","flex"],"sourceRoot":"../../src","sources":["PagerViewAdapter.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Animated","Keyboard","Platform","StyleSheet","ViewPager","useLatestCallback","useAnimatedValue","jsx","_jsx","AnimatedViewPager","createAnimatedComponent","useNativeDriver","OS","PagerViewAdapter","keyboardDismissMode","swipeEnabled","navigationState","onIndexChange","onTabSelect","onSwipeStart","onSwipeEnd","children","style","animationEnabled","rest","index","listenersRef","useRef","pagerRef","indexRef","navigationStateRef","position","offset","useEffect","current","jumpTo","key","routes","findIndex","route","setPage","setPageWithoutAnimation","setValue","dismiss","onPageScrollStateChanged","state","pageScrollState","nativeEvent","subscription","addListener","value","next","Math","ceil","floor","forEach","listener","removeListener","addEnterListener","push","indexOf","splice","memoizedPosition","useMemo","add","render","ref","styles","container","initialPage","onPageScroll","event","onPageSelected","e","scrollEnabled","create","flex"],"sourceRoot":"../../src","sources":["PagerViewAdapter.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,10 @@
1
- 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); }
1
+ "use strict";
2
+
2
3
  import * as React from 'react';
3
- import { Animated, I18nManager, Keyboard, PanResponder, StyleSheet, View } from 'react-native';
4
- import useAnimatedValue from './useAnimatedValue';
4
+ import { Animated, Keyboard, PanResponder, StyleSheet, View } from 'react-native';
5
+ import useLatestCallback from 'use-latest-callback';
6
+ import { useAnimatedValue } from "./useAnimatedValue.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
5
8
  const DEAD_ZONE = 12;
6
9
  const DefaultTransitionSpec = {
7
10
  timing: Animated.spring,
@@ -10,17 +13,19 @@ const DefaultTransitionSpec = {
10
13
  mass: 3,
11
14
  overshootClamping: true
12
15
  };
13
- export default function PanResponderAdapter({
16
+ export function PanResponderAdapter({
14
17
  layout,
15
18
  keyboardDismissMode = 'auto',
16
19
  swipeEnabled = true,
17
20
  navigationState,
18
21
  onIndexChange,
22
+ onTabSelect,
19
23
  onSwipeStart,
20
24
  onSwipeEnd,
21
25
  children,
22
26
  style,
23
- animationEnabled = false
27
+ animationEnabled = false,
28
+ layoutDirection = 'ltr'
24
29
  }) {
25
30
  const {
26
31
  routes,
@@ -31,11 +36,12 @@ export default function PanResponderAdapter({
31
36
  const navigationStateRef = React.useRef(navigationState);
32
37
  const layoutRef = React.useRef(layout);
33
38
  const onIndexChangeRef = React.useRef(onIndexChange);
39
+ const onTabSelectRef = React.useRef(onTabSelect);
34
40
  const currentIndexRef = React.useRef(index);
35
- const pendingIndexRef = React.useRef();
41
+ const pendingIndexRef = React.useRef(undefined);
36
42
  const swipeVelocityThreshold = 0.15;
37
43
  const swipeDistanceThreshold = layout.width / 1.75;
38
- const jumpToIndex = React.useCallback((index, animate = animationEnabled) => {
44
+ const jumpToIndex = useLatestCallback((index, animate = animationEnabled) => {
39
45
  const offset = -index * layoutRef.current.width;
40
46
  const {
41
47
  timing,
@@ -51,6 +57,9 @@ export default function PanResponderAdapter({
51
57
  }) => {
52
58
  if (finished) {
53
59
  onIndexChangeRef.current(index);
60
+ onTabSelectRef.current?.({
61
+ index
62
+ });
54
63
  pendingIndexRef.current = undefined;
55
64
  }
56
65
  });
@@ -58,13 +67,17 @@ export default function PanResponderAdapter({
58
67
  } else {
59
68
  panX.setValue(offset);
60
69
  onIndexChangeRef.current(index);
70
+ onTabSelectRef.current?.({
71
+ index
72
+ });
61
73
  pendingIndexRef.current = undefined;
62
74
  }
63
- }, [animationEnabled, panX]);
75
+ });
64
76
  React.useEffect(() => {
65
77
  navigationStateRef.current = navigationState;
66
78
  layoutRef.current = layout;
67
79
  onIndexChangeRef.current = onIndexChange;
80
+ onTabSelectRef.current = onTabSelect;
68
81
  });
69
82
  React.useEffect(() => {
70
83
  const offset = -navigationStateRef.current.index * layout.width;
@@ -86,11 +99,11 @@ export default function PanResponderAdapter({
86
99
  if (swipeEnabled === false) {
87
100
  return false;
88
101
  }
89
- const diffX = I18nManager.isRTL ? -gestureState.dx : gestureState.dx;
102
+ const diffX = layoutDirection === 'rtl' ? -gestureState.dx : gestureState.dx;
90
103
  return isMovingHorizontally(event, gestureState) && (diffX >= DEAD_ZONE && currentIndexRef.current > 0 || diffX <= -DEAD_ZONE && currentIndexRef.current < routes.length - 1);
91
104
  };
92
105
  const startGesture = () => {
93
- onSwipeStart === null || onSwipeStart === void 0 || onSwipeStart();
106
+ onSwipeStart?.();
94
107
  if (keyboardDismissMode === 'on-drag') {
95
108
  Keyboard.dismiss();
96
109
  }
@@ -99,7 +112,7 @@ export default function PanResponderAdapter({
99
112
  panX.setOffset(panX._value);
100
113
  };
101
114
  const respondToGesture = (_, gestureState) => {
102
- const diffX = I18nManager.isRTL ? -gestureState.dx : gestureState.dx;
115
+ const diffX = layoutDirection === 'rtl' ? -gestureState.dx : gestureState.dx;
103
116
  if (
104
117
  // swiping left
105
118
  diffX > 0 && index <= 0 ||
@@ -119,11 +132,11 @@ export default function PanResponderAdapter({
119
132
  };
120
133
  const finishGesture = (_, gestureState) => {
121
134
  panX.flattenOffset();
122
- onSwipeEnd === null || onSwipeEnd === void 0 || onSwipeEnd();
135
+ onSwipeEnd?.();
123
136
  const currentIndex = typeof pendingIndexRef.current === 'number' ? pendingIndexRef.current : currentIndexRef.current;
124
137
  let nextIndex = currentIndex;
125
138
  if (Math.abs(gestureState.dx) > Math.abs(gestureState.dy) && Math.abs(gestureState.vx) > Math.abs(gestureState.vy) && (Math.abs(gestureState.dx) > swipeDistanceThreshold || Math.abs(gestureState.vx) > swipeVelocityThreshold)) {
126
- nextIndex = Math.round(Math.min(Math.max(0, I18nManager.isRTL ? currentIndex + gestureState.dx / Math.abs(gestureState.dx) : currentIndex - gestureState.dx / Math.abs(gestureState.dx)), routes.length - 1));
139
+ nextIndex = Math.round(Math.min(Math.max(0, layoutDirection === 'rtl' ? currentIndex + gestureState.dx / Math.abs(gestureState.dx) : currentIndex - gestureState.dx / Math.abs(gestureState.dx)), routes.length - 1));
127
140
  currentIndexRef.current = nextIndex;
128
141
  }
129
142
  if (!isFinite(nextIndex)) {
@@ -131,9 +144,7 @@ export default function PanResponderAdapter({
131
144
  }
132
145
  jumpToIndex(nextIndex, true);
133
146
  };
134
-
135
- // TODO: use the listeners
136
- const addEnterListener = React.useCallback(listener => {
147
+ const addEnterListener = useLatestCallback(listener => {
137
148
  listenersRef.current.push(listener);
138
149
  return () => {
139
150
  const index = listenersRef.current.indexOf(listener);
@@ -141,11 +152,12 @@ export default function PanResponderAdapter({
141
152
  listenersRef.current.splice(index, 1);
142
153
  }
143
154
  };
144
- }, []);
145
- const jumpTo = React.useCallback(key => {
155
+ });
156
+ const jumpTo = useLatestCallback(key => {
146
157
  const index = navigationStateRef.current.routes.findIndex(route => route.key === key);
147
158
  jumpToIndex(index);
148
- }, [jumpToIndex]);
159
+ onIndexChange(index);
160
+ });
149
161
  const panResponder = PanResponder.create({
150
162
  onMoveShouldSetPanResponder: canMoveScreen,
151
163
  onMoveShouldSetPanResponderCapture: canMoveScreen,
@@ -160,29 +172,31 @@ export default function PanResponderAdapter({
160
172
  inputRange: [-maxTranslate, 0],
161
173
  outputRange: [-maxTranslate, 0],
162
174
  extrapolate: 'clamp'
163
- }), I18nManager.isRTL ? -1 : 1);
175
+ }), layoutDirection === 'rtl' ? -1 : 1);
164
176
  const position = React.useMemo(() => layout.width ? Animated.divide(panX, -layout.width) : null, [layout.width, panX]);
165
177
  return children({
166
178
  position: position ?? new Animated.Value(index),
167
179
  addEnterListener,
168
180
  jumpTo,
169
- render: children => /*#__PURE__*/React.createElement(Animated.View, _extends({
181
+ render: children => /*#__PURE__*/_jsx(Animated.View, {
170
182
  style: [styles.sheet, layout.width ? {
171
183
  width: routes.length * layout.width,
172
184
  transform: [{
173
185
  translateX
174
186
  }]
175
- } : null, style]
176
- }, panResponder.panHandlers), React.Children.map(children, (child, i) => {
177
- const route = routes[i];
178
- const focused = i === index;
179
- return /*#__PURE__*/React.createElement(View, {
180
- key: route.key,
181
- style: layout.width ? {
182
- width: layout.width
183
- } : focused ? StyleSheet.absoluteFill : null
184
- }, focused || layout.width ? child : null);
185
- }))
187
+ } : null, style],
188
+ ...panResponder.panHandlers,
189
+ children: React.Children.map(children, (child, i) => {
190
+ const route = routes[i];
191
+ const focused = i === index;
192
+ return /*#__PURE__*/_jsx(View, {
193
+ style: layout.width ? {
194
+ width: layout.width
195
+ } : focused ? StyleSheet.absoluteFill : null,
196
+ children: focused || layout.width ? child : null
197
+ }, route.key);
198
+ })
199
+ })
186
200
  });
187
201
  }
188
202
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","I18nManager","Keyboard","PanResponder","StyleSheet","View","useAnimatedValue","DEAD_ZONE","DefaultTransitionSpec","timing","spring","stiffness","damping","mass","overshootClamping","PanResponderAdapter","layout","keyboardDismissMode","swipeEnabled","navigationState","onIndexChange","onSwipeStart","onSwipeEnd","children","style","animationEnabled","routes","index","panX","listenersRef","useRef","navigationStateRef","layoutRef","onIndexChangeRef","currentIndexRef","pendingIndexRef","swipeVelocityThreshold","swipeDistanceThreshold","width","jumpToIndex","useCallback","animate","offset","current","transitionConfig","parallel","toValue","useNativeDriver","start","finished","undefined","setValue","useEffect","dismiss","isMovingHorizontally","_","gestureState","Math","abs","dx","dy","vx","vy","canMoveScreen","event","diffX","isRTL","length","startGesture","stopAnimation","setOffset","_value","respondToGesture","position","_offset","next","ceil","floor","forEach","listener","finishGesture","flattenOffset","currentIndex","nextIndex","round","min","max","isFinite","addEnterListener","push","indexOf","splice","jumpTo","key","findIndex","route","panResponder","create","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","onPanResponderTerminate","onPanResponderRelease","onPanResponderTerminationRequest","maxTranslate","translateX","multiply","interpolate","inputRange","outputRange","extrapolate","useMemo","divide","Value","render","createElement","_extends","styles","sheet","transform","panHandlers","Children","map","child","i","focused","absoluteFill","flex","flexDirection","alignItems"],"sourceRoot":"../../src","sources":["PanResponderAdapter.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Animated","Keyboard","PanResponder","StyleSheet","View","useLatestCallback","useAnimatedValue","jsx","_jsx","DEAD_ZONE","DefaultTransitionSpec","timing","spring","stiffness","damping","mass","overshootClamping","PanResponderAdapter","layout","keyboardDismissMode","swipeEnabled","navigationState","onIndexChange","onTabSelect","onSwipeStart","onSwipeEnd","children","style","animationEnabled","layoutDirection","routes","index","panX","listenersRef","useRef","navigationStateRef","layoutRef","onIndexChangeRef","onTabSelectRef","currentIndexRef","pendingIndexRef","undefined","swipeVelocityThreshold","swipeDistanceThreshold","width","jumpToIndex","animate","offset","current","transitionConfig","parallel","toValue","useNativeDriver","start","finished","setValue","useEffect","dismiss","isMovingHorizontally","_","gestureState","Math","abs","dx","dy","vx","vy","canMoveScreen","event","diffX","length","startGesture","stopAnimation","setOffset","_value","respondToGesture","position","_offset","next","ceil","floor","forEach","listener","finishGesture","flattenOffset","currentIndex","nextIndex","round","min","max","isFinite","addEnterListener","push","indexOf","splice","jumpTo","key","findIndex","route","panResponder","create","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","onPanResponderTerminate","onPanResponderRelease","onPanResponderTerminationRequest","maxTranslate","translateX","multiply","interpolate","inputRange","outputRange","extrapolate","useMemo","divide","Value","render","styles","sheet","transform","panHandlers","Children","map","child","i","focused","absoluteFill","flex","flexDirection","alignItems"],"sourceRoot":"../../src","sources":["PanResponderAdapter.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,35 +1,61 @@
1
- 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); }
1
+ "use strict";
2
+
2
3
  import * as React from 'react';
3
4
  import { Platform, Pressable } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
4
6
  const ANDROID_VERSION_LOLLIPOP = 21;
5
7
  const ANDROID_SUPPORTS_RIPPLE = Platform.OS === 'android' && Platform.Version >= ANDROID_VERSION_LOLLIPOP;
6
8
 
7
9
  /**
8
- * PlatformPressable provides an abstraction on top of TouchableNativeFeedback and
9
- * TouchableOpacity to handle platform differences.
10
- *
11
- * On Android, you can pass the props of TouchableNativeFeedback.
12
- * On other platforms, you can pass the props of TouchableOpacity.
10
+ * PlatformPressable provides an abstraction on top of Pressable to handle platform differences.
13
11
  */
14
- export default function PlatformPressable({
12
+ export function PlatformPressable({
13
+ disabled,
15
14
  android_ripple,
16
15
  pressColor = 'rgba(0, 0, 0, .32)',
17
16
  pressOpacity,
18
17
  style,
18
+ onPress,
19
19
  ...rest
20
20
  }) {
21
- return /*#__PURE__*/React.createElement(Pressable, _extends({
22
- android_ripple: ANDROID_SUPPORTS_RIPPLE ? {
21
+ const handlePress = e => {
22
+ if (Platform.OS === 'web' && rest.href !== null) {
23
+ // ignore clicks with modifier keys
24
+ const hasModifierKey = 'metaKey' in e && e.metaKey || 'altKey' in e && e.altKey || 'ctrlKey' in e && e.ctrlKey || 'shiftKey' in e && e.shiftKey;
25
+
26
+ // only handle left clicks
27
+ const isLeftClick = 'button' in e ? e.button == null || e.button === 0 : true;
28
+
29
+ // let browser handle "target=_blank" etc.
30
+ const isSelfTarget = e.currentTarget && 'target' in e.currentTarget ? [undefined, null, '', 'self'].includes(e.currentTarget.target) : true;
31
+ if (!hasModifierKey && isLeftClick && isSelfTarget) {
32
+ e.preventDefault();
33
+ // call `onPress` only when browser default is prevented
34
+ // this prevents app from handling the click when a link is being opened
35
+ onPress?.(e);
36
+ }
37
+ } else {
38
+ onPress?.(e);
39
+ }
40
+ };
41
+ return /*#__PURE__*/_jsx(Pressable, {
42
+ android_ripple: ANDROID_SUPPORTS_RIPPLE && !disabled ? {
23
43
  color: pressColor,
24
44
  ...android_ripple
25
45
  } : undefined,
26
46
  style: ({
27
47
  pressed
28
48
  }) => [{
29
- opacity: pressed && !ANDROID_SUPPORTS_RIPPLE ? pressOpacity : 1
49
+ cursor: (Platform.OS === 'web' || Platform.OS === 'ios') && !disabled ?
50
+ // Pointer cursor on web
51
+ // Hover effect on iPad and visionOS
52
+ 'pointer' : 'auto',
53
+ opacity: !ANDROID_SUPPORTS_RIPPLE && pressed && !disabled ? pressOpacity : 1
30
54
  }, typeof style === 'function' ? style({
31
55
  pressed
32
- }) : style]
33
- }, rest));
56
+ }) : style],
57
+ onPress: disabled ? undefined : handlePress,
58
+ ...rest
59
+ });
34
60
  }
35
61
  //# sourceMappingURL=PlatformPressable.js.map