@react-navigation/elements 1.1.1

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 (177) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/lib/commonjs/Background.js +34 -0
  4. package/lib/commonjs/Background.js.map +1 -0
  5. package/lib/commonjs/Header/Header.js +250 -0
  6. package/lib/commonjs/Header/Header.js.map +1 -0
  7. package/lib/commonjs/Header/HeaderBackButton.js +222 -0
  8. package/lib/commonjs/Header/HeaderBackButton.js.map +1 -0
  9. package/lib/commonjs/Header/HeaderBackContext.js +15 -0
  10. package/lib/commonjs/Header/HeaderBackContext.js.map +1 -0
  11. package/lib/commonjs/Header/HeaderBackground.js +57 -0
  12. package/lib/commonjs/Header/HeaderBackground.js.map +1 -0
  13. package/lib/commonjs/Header/HeaderHeightContext.js +15 -0
  14. package/lib/commonjs/Header/HeaderHeightContext.js.map +1 -0
  15. package/lib/commonjs/Header/HeaderShownContext.js +15 -0
  16. package/lib/commonjs/Header/HeaderShownContext.js.map +1 -0
  17. package/lib/commonjs/Header/HeaderTitle.js +56 -0
  18. package/lib/commonjs/Header/HeaderTitle.js.map +1 -0
  19. package/lib/commonjs/Header/getDefaultHeaderHeight.js +40 -0
  20. package/lib/commonjs/Header/getDefaultHeaderHeight.js.map +1 -0
  21. package/lib/commonjs/Header/getHeaderTitle.js +11 -0
  22. package/lib/commonjs/Header/getHeaderTitle.js.map +1 -0
  23. package/lib/commonjs/Header/useHeaderHeight.js +27 -0
  24. package/lib/commonjs/Header/useHeaderHeight.js.map +1 -0
  25. package/lib/commonjs/MaskedView.android.js +16 -0
  26. package/lib/commonjs/MaskedView.android.js.map +1 -0
  27. package/lib/commonjs/MaskedView.ios.js +16 -0
  28. package/lib/commonjs/MaskedView.ios.js.map +1 -0
  29. package/lib/commonjs/MaskedView.js +16 -0
  30. package/lib/commonjs/MaskedView.js.map +1 -0
  31. package/lib/commonjs/MaskedViewNative.js +40 -0
  32. package/lib/commonjs/MaskedViewNative.js.map +1 -0
  33. package/lib/commonjs/MissingIcon.js +34 -0
  34. package/lib/commonjs/MissingIcon.js.map +1 -0
  35. package/lib/commonjs/PlatformPressable.js +77 -0
  36. package/lib/commonjs/PlatformPressable.js.map +1 -0
  37. package/lib/commonjs/ResourceSavingView.js +64 -0
  38. package/lib/commonjs/ResourceSavingView.js.map +1 -0
  39. package/lib/commonjs/SafeAreaProviderCompat.js +69 -0
  40. package/lib/commonjs/SafeAreaProviderCompat.js.map +1 -0
  41. package/lib/commonjs/Screen.js +89 -0
  42. package/lib/commonjs/Screen.js.map +1 -0
  43. package/lib/commonjs/assets/back-icon-mask.png +0 -0
  44. package/lib/commonjs/assets/back-icon.png +0 -0
  45. package/lib/commonjs/assets/back-icon@1.5x.android.png +0 -0
  46. package/lib/commonjs/assets/back-icon@1.5x.ios.png +0 -0
  47. package/lib/commonjs/assets/back-icon@1x.android.png +0 -0
  48. package/lib/commonjs/assets/back-icon@1x.ios.png +0 -0
  49. package/lib/commonjs/assets/back-icon@2x.android.png +0 -0
  50. package/lib/commonjs/assets/back-icon@2x.ios.png +0 -0
  51. package/lib/commonjs/assets/back-icon@3x.android.png +0 -0
  52. package/lib/commonjs/assets/back-icon@3x.ios.png +0 -0
  53. package/lib/commonjs/assets/back-icon@4x.android.png +0 -0
  54. package/lib/commonjs/assets/back-icon@4x.ios.png +0 -0
  55. package/lib/commonjs/getNamedContext.js +32 -0
  56. package/lib/commonjs/getNamedContext.js.map +1 -0
  57. package/lib/commonjs/index.js +175 -0
  58. package/lib/commonjs/index.js.map +1 -0
  59. package/lib/commonjs/types.js +6 -0
  60. package/lib/commonjs/types.js.map +1 -0
  61. package/lib/module/Background.js +20 -0
  62. package/lib/module/Background.js.map +1 -0
  63. package/lib/module/Header/Header.js +229 -0
  64. package/lib/module/Header/Header.js.map +1 -0
  65. package/lib/module/Header/HeaderBackButton.js +203 -0
  66. package/lib/module/Header/HeaderBackButton.js.map +1 -0
  67. package/lib/module/Header/HeaderBackContext.js +4 -0
  68. package/lib/module/Header/HeaderBackContext.js.map +1 -0
  69. package/lib/module/Header/HeaderBackground.js +42 -0
  70. package/lib/module/Header/HeaderBackground.js.map +1 -0
  71. package/lib/module/Header/HeaderHeightContext.js +4 -0
  72. package/lib/module/Header/HeaderHeightContext.js.map +1 -0
  73. package/lib/module/Header/HeaderShownContext.js +4 -0
  74. package/lib/module/Header/HeaderShownContext.js.map +1 -0
  75. package/lib/module/Header/HeaderTitle.js +41 -0
  76. package/lib/module/Header/HeaderTitle.js.map +1 -0
  77. package/lib/module/Header/getDefaultHeaderHeight.js +32 -0
  78. package/lib/module/Header/getDefaultHeaderHeight.js.map +1 -0
  79. package/lib/module/Header/getHeaderTitle.js +4 -0
  80. package/lib/module/Header/getHeaderTitle.js.map +1 -0
  81. package/lib/module/Header/useHeaderHeight.js +12 -0
  82. package/lib/module/Header/useHeaderHeight.js.map +1 -0
  83. package/lib/module/MaskedView.android.js +2 -0
  84. package/lib/module/MaskedView.android.js.map +1 -0
  85. package/lib/module/MaskedView.ios.js +2 -0
  86. package/lib/module/MaskedView.ios.js.map +1 -0
  87. package/lib/module/MaskedView.js +9 -0
  88. package/lib/module/MaskedView.js.map +1 -0
  89. package/lib/module/MaskedViewNative.js +26 -0
  90. package/lib/module/MaskedViewNative.js.map +1 -0
  91. package/lib/module/MissingIcon.js +20 -0
  92. package/lib/module/MissingIcon.js.map +1 -0
  93. package/lib/module/PlatformPressable.js +62 -0
  94. package/lib/module/PlatformPressable.js.map +1 -0
  95. package/lib/module/ResourceSavingView.js +50 -0
  96. package/lib/module/ResourceSavingView.js.map +1 -0
  97. package/lib/module/SafeAreaProviderCompat.js +51 -0
  98. package/lib/module/SafeAreaProviderCompat.js.map +1 -0
  99. package/lib/module/Screen.js +67 -0
  100. package/lib/module/Screen.js.map +1 -0
  101. package/lib/module/assets/back-icon-mask.png +0 -0
  102. package/lib/module/assets/back-icon.png +0 -0
  103. package/lib/module/assets/back-icon@1.5x.android.png +0 -0
  104. package/lib/module/assets/back-icon@1.5x.ios.png +0 -0
  105. package/lib/module/assets/back-icon@1x.android.png +0 -0
  106. package/lib/module/assets/back-icon@1x.ios.png +0 -0
  107. package/lib/module/assets/back-icon@2x.android.png +0 -0
  108. package/lib/module/assets/back-icon@2x.ios.png +0 -0
  109. package/lib/module/assets/back-icon@3x.android.png +0 -0
  110. package/lib/module/assets/back-icon@3x.ios.png +0 -0
  111. package/lib/module/assets/back-icon@4x.android.png +0 -0
  112. package/lib/module/assets/back-icon@4x.ios.png +0 -0
  113. package/lib/module/getNamedContext.js +19 -0
  114. package/lib/module/getNamedContext.js.map +1 -0
  115. package/lib/module/index.js +21 -0
  116. package/lib/module/index.js.map +1 -0
  117. package/lib/module/types.js +2 -0
  118. package/lib/module/types.js.map +1 -0
  119. package/lib/typescript/src/Background.d.ts +7 -0
  120. package/lib/typescript/src/Header/Header.d.ts +18 -0
  121. package/lib/typescript/src/Header/HeaderBackButton.d.ts +3 -0
  122. package/lib/typescript/src/Header/HeaderBackContext.d.ts +5 -0
  123. package/lib/typescript/src/Header/HeaderBackground.d.ts +8 -0
  124. package/lib/typescript/src/Header/HeaderHeightContext.d.ts +3 -0
  125. package/lib/typescript/src/Header/HeaderShownContext.d.ts +3 -0
  126. package/lib/typescript/src/Header/HeaderTitle.d.ts +9 -0
  127. package/lib/typescript/src/Header/getDefaultHeaderHeight.d.ts +2 -0
  128. package/lib/typescript/src/Header/getHeaderTitle.d.ts +5 -0
  129. package/lib/typescript/src/Header/useHeaderHeight.d.ts +1 -0
  130. package/lib/typescript/src/MaskedView.android.d.ts +1 -0
  131. package/lib/typescript/src/MaskedView.d.ts +10 -0
  132. package/lib/typescript/src/MaskedView.ios.d.ts +1 -0
  133. package/lib/typescript/src/MaskedViewNative.d.ts +10 -0
  134. package/lib/typescript/src/MissingIcon.d.ts +9 -0
  135. package/lib/typescript/src/PlatformPressable.d.ts +12 -0
  136. package/lib/typescript/src/ResourceSavingView.d.ts +9 -0
  137. package/lib/typescript/src/SafeAreaProviderCompat.d.ts +11 -0
  138. package/lib/typescript/src/Screen.d.ts +17 -0
  139. package/lib/typescript/src/getNamedContext.d.ts +5 -0
  140. package/lib/typescript/src/index.d.ts +18 -0
  141. package/lib/typescript/src/types.d.ts +202 -0
  142. package/package.json +72 -0
  143. package/src/Background.tsx +18 -0
  144. package/src/Header/Header.tsx +306 -0
  145. package/src/Header/HeaderBackButton.tsx +240 -0
  146. package/src/Header/HeaderBackContext.tsx +8 -0
  147. package/src/Header/HeaderBackground.tsx +56 -0
  148. package/src/Header/HeaderHeightContext.tsx +8 -0
  149. package/src/Header/HeaderShownContext.tsx +5 -0
  150. package/src/Header/HeaderTitle.tsx +52 -0
  151. package/src/Header/getDefaultHeaderHeight.tsx +39 -0
  152. package/src/Header/getHeaderTitle.tsx +12 -0
  153. package/src/Header/useHeaderHeight.tsx +15 -0
  154. package/src/MaskedView.android.tsx +1 -0
  155. package/src/MaskedView.ios.tsx +1 -0
  156. package/src/MaskedView.tsx +13 -0
  157. package/src/MaskedViewNative.tsx +33 -0
  158. package/src/MissingIcon.tsx +18 -0
  159. package/src/PlatformPressable.tsx +86 -0
  160. package/src/ResourceSavingView.tsx +70 -0
  161. package/src/SafeAreaProviderCompat.tsx +61 -0
  162. package/src/Screen.tsx +109 -0
  163. package/src/assets/back-icon-mask.png +0 -0
  164. package/src/assets/back-icon.png +0 -0
  165. package/src/assets/back-icon@1.5x.android.png +0 -0
  166. package/src/assets/back-icon@1.5x.ios.png +0 -0
  167. package/src/assets/back-icon@1x.android.png +0 -0
  168. package/src/assets/back-icon@1x.ios.png +0 -0
  169. package/src/assets/back-icon@2x.android.png +0 -0
  170. package/src/assets/back-icon@2x.ios.png +0 -0
  171. package/src/assets/back-icon@3x.android.png +0 -0
  172. package/src/assets/back-icon@3x.ios.png +0 -0
  173. package/src/assets/back-icon@4x.android.png +0 -0
  174. package/src/assets/back-icon@4x.ios.png +0 -0
  175. package/src/getNamedContext.tsx +28 -0
  176. package/src/index.tsx +25 -0
  177. package/src/types.tsx +208 -0
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = SafeAreaProviderCompat;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
13
+
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); }
15
+
16
+ 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; }
17
+
18
+ const {
19
+ width = 0,
20
+ height = 0
21
+ } = _reactNative.Dimensions.get('window'); // To support SSR on web, we need to have empty insets for initial values
22
+ // Otherwise there can be mismatch between SSR and client output
23
+ // We also need to specify empty values to support tests environments
24
+
25
+
26
+ const initialMetrics = _reactNative.Platform.OS === 'web' || _reactNativeSafeAreaContext.initialWindowMetrics == null ? {
27
+ frame: {
28
+ x: 0,
29
+ y: 0,
30
+ width,
31
+ height
32
+ },
33
+ insets: {
34
+ top: 0,
35
+ left: 0,
36
+ right: 0,
37
+ bottom: 0
38
+ }
39
+ } : _reactNativeSafeAreaContext.initialWindowMetrics;
40
+
41
+ function SafeAreaProviderCompat({
42
+ children,
43
+ style
44
+ }) {
45
+ return /*#__PURE__*/React.createElement(_reactNativeSafeAreaContext.SafeAreaInsetsContext.Consumer, null, insets => {
46
+ if (insets) {
47
+ // If we already have insets, don't wrap the stack in another safe area provider
48
+ // This avoids an issue with updates at the cost of potentially incorrect values
49
+ // https://github.com/react-navigation/react-navigation/issues/174
50
+ return /*#__PURE__*/React.createElement(_reactNative.View, {
51
+ style: [styles.container, style]
52
+ }, children);
53
+ }
54
+
55
+ return /*#__PURE__*/React.createElement(_reactNativeSafeAreaContext.SafeAreaProvider, {
56
+ initialMetrics: initialMetrics,
57
+ style: style
58
+ }, children);
59
+ });
60
+ }
61
+
62
+ SafeAreaProviderCompat.initialMetrics = initialMetrics;
63
+
64
+ const styles = _reactNative.StyleSheet.create({
65
+ container: {
66
+ flex: 1
67
+ }
68
+ });
69
+ //# sourceMappingURL=SafeAreaProviderCompat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["SafeAreaProviderCompat.tsx"],"names":["width","height","Dimensions","get","initialMetrics","Platform","OS","initialWindowMetrics","frame","x","y","insets","top","left","right","bottom","SafeAreaProviderCompat","children","style","styles","container","StyleSheet","create","flex"],"mappings":";;;;;;;AAAA;;AACA;;AAQA;;;;;;AAWA,MAAM;AAAEA,EAAAA,KAAK,GAAG,CAAV;AAAaC,EAAAA,MAAM,GAAG;AAAtB,IAA4BC,wBAAWC,GAAX,CAAe,QAAf,CAAlC,C,CAEA;AACA;AACA;;;AACA,MAAMC,cAAc,GAClBC,sBAASC,EAAT,KAAgB,KAAhB,IAAyBC,oDAAwB,IAAjD,GACI;AACEC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,CAAC,EAAE,CAAL;AAAQC,IAAAA,CAAC,EAAE,CAAX;AAAcV,IAAAA,KAAd;AAAqBC,IAAAA;AAArB,GADT;AAEEU,EAAAA,MAAM,EAAE;AAAEC,IAAAA,GAAG,EAAE,CAAP;AAAUC,IAAAA,IAAI,EAAE,CAAhB;AAAmBC,IAAAA,KAAK,EAAE,CAA1B;AAA6BC,IAAAA,MAAM,EAAE;AAArC;AAFV,CADJ,GAKIR,gDANN;;AAQe,SAASS,sBAAT,CAAgC;AAAEC,EAAAA,QAAF;AAAYC,EAAAA;AAAZ,CAAhC,EAA4D;AACzE,sBACE,oBAAC,iDAAD,CAAuB,QAAvB,QACIP,MAAD,IAAY;AACX,QAAIA,MAAJ,EAAY;AACV;AACA;AACA;AACA,0BAAO,oBAAC,iBAAD;AAAM,QAAA,KAAK,EAAE,CAACQ,MAAM,CAACC,SAAR,EAAmBF,KAAnB;AAAb,SAAyCD,QAAzC,CAAP;AACD;;AAED,wBACE,oBAAC,4CAAD;AAAkB,MAAA,cAAc,EAAEb,cAAlC;AAAkD,MAAA,KAAK,EAAEc;AAAzD,OACGD,QADH,CADF;AAKD,GAdH,CADF;AAkBD;;AAEDD,sBAAsB,CAACZ,cAAvB,GAAwCA,cAAxC;;AAEA,MAAMe,MAAM,GAAGE,wBAAWC,MAAX,CAAkB;AAC/BF,EAAAA,SAAS,EAAE;AACTG,IAAAA,IAAI,EAAE;AADG;AADoB,CAAlB,CAAf","sourcesContent":["import * as React from 'react';\nimport {\n Dimensions,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport {\n initialWindowMetrics,\n SafeAreaInsetsContext,\n SafeAreaProvider,\n} from 'react-native-safe-area-context';\n\ntype Props = {\n children: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n};\n\nconst { width = 0, height = 0 } = Dimensions.get('window');\n\n// To support SSR on web, we need to have empty insets for initial values\n// Otherwise there can be mismatch between SSR and client output\n// We also need to specify empty values to support tests environments\nconst initialMetrics =\n Platform.OS === 'web' || initialWindowMetrics == null\n ? {\n frame: { x: 0, y: 0, width, height },\n insets: { top: 0, left: 0, right: 0, bottom: 0 },\n }\n : initialWindowMetrics;\n\nexport default function SafeAreaProviderCompat({ children, style }: Props) {\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets) => {\n if (insets) {\n // If we already have insets, don't wrap the stack in another safe area provider\n // This avoids an issue with updates at the cost of potentially incorrect values\n // https://github.com/react-navigation/react-navigation/issues/174\n return <View style={[styles.container, style]}>{children}</View>;\n }\n\n return (\n <SafeAreaProvider initialMetrics={initialMetrics} style={style}>\n {children}\n </SafeAreaProvider>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n}\n\nSafeAreaProviderCompat.initialMetrics = initialMetrics;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"]}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = Screen;
7
+
8
+ var _native = require("@react-navigation/native");
9
+
10
+ var React = _interopRequireWildcard(require("react"));
11
+
12
+ var _reactNative = require("react-native");
13
+
14
+ var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
15
+
16
+ var _Background = _interopRequireDefault(require("./Background"));
17
+
18
+ var _getDefaultHeaderHeight = _interopRequireDefault(require("./Header/getDefaultHeaderHeight"));
19
+
20
+ var _HeaderHeightContext = _interopRequireDefault(require("./Header/HeaderHeightContext"));
21
+
22
+ var _HeaderShownContext = _interopRequireDefault(require("./Header/HeaderShownContext"));
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ 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); }
27
+
28
+ 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; }
29
+
30
+ function Screen(props) {
31
+ const dimensions = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();
32
+ const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
33
+ const isParentHeaderShown = React.useContext(_HeaderShownContext.default);
34
+ const parentHeaderHeight = React.useContext(_HeaderHeightContext.default);
35
+ const {
36
+ focused,
37
+ modal = false,
38
+ header,
39
+ headerShown = true,
40
+ headerTransparent,
41
+ headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,
42
+ navigation,
43
+ route,
44
+ children,
45
+ style
46
+ } = props;
47
+ const [headerHeight, setHeaderHeight] = React.useState(() => (0, _getDefaultHeaderHeight.default)(dimensions, modal, headerStatusBarHeight));
48
+ return /*#__PURE__*/React.createElement(_Background.default, {
49
+ accessibilityElementsHidden: !focused,
50
+ importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',
51
+ style: [styles.container, style]
52
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
53
+ style: styles.content
54
+ }, /*#__PURE__*/React.createElement(_HeaderShownContext.default.Provider, {
55
+ value: isParentHeaderShown || headerShown !== false
56
+ }, /*#__PURE__*/React.createElement(_HeaderHeightContext.default.Provider, {
57
+ value: headerShown ? headerHeight : parentHeaderHeight !== null && parentHeaderHeight !== void 0 ? parentHeaderHeight : 0
58
+ }, children))), headerShown ? /*#__PURE__*/React.createElement(_native.NavigationContext.Provider, {
59
+ value: navigation
60
+ }, /*#__PURE__*/React.createElement(_native.NavigationRouteContext.Provider, {
61
+ value: route
62
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
63
+ onLayout: e => {
64
+ const {
65
+ height
66
+ } = e.nativeEvent.layout;
67
+ setHeaderHeight(height);
68
+ },
69
+ style: headerTransparent ? styles.absolute : null
70
+ }, header))) : null);
71
+ }
72
+
73
+ const styles = _reactNative.StyleSheet.create({
74
+ container: {
75
+ flex: 1,
76
+ flexDirection: 'column-reverse'
77
+ },
78
+ // This is necessary to avoid applying 'column-reverse' to screen content
79
+ content: {
80
+ flex: 1
81
+ },
82
+ absolute: {
83
+ position: 'absolute',
84
+ top: 0,
85
+ left: 0,
86
+ right: 0
87
+ }
88
+ });
89
+ //# sourceMappingURL=Screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Screen.tsx"],"names":["Screen","props","dimensions","insets","isParentHeaderShown","React","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","focused","modal","header","headerShown","headerTransparent","headerStatusBarHeight","top","navigation","route","children","style","headerHeight","setHeaderHeight","useState","styles","container","content","e","height","nativeEvent","layout","absolute","StyleSheet","create","flex","flexDirection","position","left","right"],"mappings":";;;;;;;AAAA;;AAOA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;;;;;;;AAee,SAASA,MAAT,CAAgBC,KAAhB,EAA8B;AAC3C,QAAMC,UAAU,GAAG,mDAAnB;AACA,QAAMC,MAAM,GAAG,oDAAf;AAEA,QAAMC,mBAAmB,GAAGC,KAAK,CAACC,UAAN,CAAiBC,2BAAjB,CAA5B;AACA,QAAMC,kBAAkB,GAAGH,KAAK,CAACC,UAAN,CAAiBG,4BAAjB,CAA3B;AAEA,QAAM;AACJC,IAAAA,OADI;AAEJC,IAAAA,KAAK,GAAG,KAFJ;AAGJC,IAAAA,MAHI;AAIJC,IAAAA,WAAW,GAAG,IAJV;AAKJC,IAAAA,iBALI;AAMJC,IAAAA,qBAAqB,GAAGX,mBAAmB,GAAG,CAAH,GAAOD,MAAM,CAACa,GANrD;AAOJC,IAAAA,UAPI;AAQJC,IAAAA,KARI;AASJC,IAAAA,QATI;AAUJC,IAAAA;AAVI,MAWFnB,KAXJ;AAaA,QAAM,CAACoB,YAAD,EAAeC,eAAf,IAAkCjB,KAAK,CAACkB,QAAN,CAAe,MACrD,qCAAuBrB,UAAvB,EAAmCS,KAAnC,EAA0CI,qBAA1C,CADsC,CAAxC;AAIA,sBACE,oBAAC,mBAAD;AACE,IAAA,2BAA2B,EAAE,CAACL,OADhC;AAEE,IAAA,yBAAyB,EAAEA,OAAO,GAAG,MAAH,GAAY,qBAFhD;AAGE,IAAA,KAAK,EAAE,CAACc,MAAM,CAACC,SAAR,EAAmBL,KAAnB;AAHT,kBAKE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEI,MAAM,CAACE;AAApB,kBACE,oBAAC,2BAAD,CAAoB,QAApB;AACE,IAAA,KAAK,EAAEtB,mBAAmB,IAAIS,WAAW,KAAK;AADhD,kBAGE,oBAAC,4BAAD,CAAqB,QAArB;AACE,IAAA,KAAK,EAAEA,WAAW,GAAGQ,YAAH,GAAkBb,kBAAlB,aAAkBA,kBAAlB,cAAkBA,kBAAlB,GAAwC;AAD5D,KAGGW,QAHH,CAHF,CADF,CALF,EAgBGN,WAAW,gBACV,oBAAC,yBAAD,CAAmB,QAAnB;AAA4B,IAAA,KAAK,EAAEI;AAAnC,kBACE,oBAAC,8BAAD,CAAwB,QAAxB;AAAiC,IAAA,KAAK,EAAEC;AAAxC,kBACE,oBAAC,iBAAD;AACE,IAAA,QAAQ,EAAGS,CAAD,IAAO;AACf,YAAM;AAAEC,QAAAA;AAAF,UAAaD,CAAC,CAACE,WAAF,CAAcC,MAAjC;AAEAR,MAAAA,eAAe,CAACM,MAAD,CAAf;AACD,KALH;AAME,IAAA,KAAK,EAAEd,iBAAiB,GAAGU,MAAM,CAACO,QAAV,GAAqB;AAN/C,KAQGnB,MARH,CADF,CADF,CADU,GAeR,IA/BN,CADF;AAmCD;;AAED,MAAMY,MAAM,GAAGQ,wBAAWC,MAAX,CAAkB;AAC/BR,EAAAA,SAAS,EAAE;AACTS,IAAAA,IAAI,EAAE,CADG;AAETC,IAAAA,aAAa,EAAE;AAFN,GADoB;AAK/B;AACAT,EAAAA,OAAO,EAAE;AACPQ,IAAAA,IAAI,EAAE;AADC,GANsB;AAS/BH,EAAAA,QAAQ,EAAE;AACRK,IAAAA,QAAQ,EAAE,UADF;AAERpB,IAAAA,GAAG,EAAE,CAFG;AAGRqB,IAAAA,IAAI,EAAE,CAHE;AAIRC,IAAAA,KAAK,EAAE;AAJC;AATqB,CAAlB,CAAf","sourcesContent":["import {\n NavigationContext,\n NavigationProp,\n NavigationRouteContext,\n ParamListBase,\n RouteProp,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport Background from './Background';\nimport getDefaultHeaderHeight from './Header/getDefaultHeaderHeight';\nimport HeaderHeightContext from './Header/HeaderHeightContext';\nimport HeaderShownContext from './Header/HeaderShownContext';\n\ntype Props = {\n focused: boolean;\n modal?: boolean;\n navigation: NavigationProp<ParamListBase>;\n route: RouteProp<ParamListBase>;\n header: React.ReactNode;\n headerShown?: boolean;\n headerStatusBarHeight?: number;\n headerTransparent?: boolean;\n style?: StyleProp<ViewStyle>;\n children: React.ReactNode;\n};\n\nexport default function Screen(props: Props) {\n const dimensions = useSafeAreaFrame();\n const insets = useSafeAreaInsets();\n\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n\n const {\n focused,\n modal = false,\n header,\n headerShown = true,\n headerTransparent,\n headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,\n navigation,\n route,\n children,\n style,\n } = props;\n\n const [headerHeight, setHeaderHeight] = React.useState(() =>\n getDefaultHeaderHeight(dimensions, modal, headerStatusBarHeight)\n );\n\n return (\n <Background\n accessibilityElementsHidden={!focused}\n importantForAccessibility={focused ? 'auto' : 'no-hide-descendants'}\n style={[styles.container, style]}\n >\n <View style={styles.content}>\n <HeaderShownContext.Provider\n value={isParentHeaderShown || headerShown !== false}\n >\n <HeaderHeightContext.Provider\n value={headerShown ? headerHeight : parentHeaderHeight ?? 0}\n >\n {children}\n </HeaderHeightContext.Provider>\n </HeaderShownContext.Provider>\n </View>\n {headerShown ? (\n <NavigationContext.Provider value={navigation}>\n <NavigationRouteContext.Provider value={route}>\n <View\n onLayout={(e) => {\n const { height } = e.nativeEvent.layout;\n\n setHeaderHeight(height);\n }}\n style={headerTransparent ? styles.absolute : null}\n >\n {header}\n </View>\n </NavigationRouteContext.Provider>\n </NavigationContext.Provider>\n ) : null}\n </Background>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n flexDirection: 'column-reverse',\n },\n // This is necessary to avoid applying 'column-reverse' to screen content\n content: {\n flex: 1,\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n"]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = getNamedContext;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
10
+ var _global$contexts;
11
+
12
+ 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); }
13
+
14
+ 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; }
15
+
16
+ const contexts = '__react_navigation__elements_contexts';
17
+ // We use a global variable to keep our contexts so that we can reuse same contexts across packages
18
+ global[contexts] = (_global$contexts = global[contexts]) !== null && _global$contexts !== void 0 ? _global$contexts : new Map();
19
+
20
+ function getNamedContext(name, initialValue) {
21
+ let context = global[contexts].get(name);
22
+
23
+ if (context) {
24
+ return context;
25
+ }
26
+
27
+ context = /*#__PURE__*/React.createContext(initialValue);
28
+ context.displayName = name;
29
+ global[contexts].set(name, context);
30
+ return context;
31
+ }
32
+ //# sourceMappingURL=getNamedContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getNamedContext.tsx"],"names":["contexts","global","Map","getNamedContext","name","initialValue","context","get","React","createContext","displayName","set"],"mappings":";;;;;;;AAAA;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,uCAAjB;AAMA;AACAC,MAAM,CAACD,QAAD,CAAN,uBAAmBC,MAAM,CAACD,QAAD,CAAzB,+DAAuC,IAAIE,GAAJ,EAAvC;;AAEe,SAASC,eAAT,CACbC,IADa,EAEbC,YAFa,EAGK;AAClB,MAAIC,OAAO,GAAGL,MAAM,CAACD,QAAD,CAAN,CAAiBO,GAAjB,CAAqBH,IAArB,CAAd;;AAEA,MAAIE,OAAJ,EAAa;AACX,WAAOA,OAAP;AACD;;AAEDA,EAAAA,OAAO,gBAAGE,KAAK,CAACC,aAAN,CAAuBJ,YAAvB,CAAV;AACAC,EAAAA,OAAO,CAACI,WAAR,GAAsBN,IAAtB;AAEAH,EAAAA,MAAM,CAACD,QAAD,CAAN,CAAiBW,GAAjB,CAAqBP,IAArB,EAA2BE,OAA3B;AAEA,SAAOA,OAAP;AACD","sourcesContent":["import * as React from 'react';\n\nconst contexts = '__react_navigation__elements_contexts';\n\ndeclare global {\n var __react_navigation__elements_contexts: Map<string, React.Context<any>>;\n}\n\n// We use a global variable to keep our contexts so that we can reuse same contexts across packages\nglobal[contexts] = global[contexts] ?? new Map<string, React.Context<any>>();\n\nexport default function getNamedContext<T>(\n name: string,\n initialValue: T\n): React.Context<T> {\n let context = global[contexts].get(name);\n\n if (context) {\n return context;\n }\n\n context = React.createContext<T>(initialValue);\n context.displayName = name;\n\n global[contexts].set(name, context);\n\n return context;\n}\n"]}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ Assets: true,
8
+ Background: true,
9
+ getDefaultHeaderHeight: true,
10
+ getHeaderTitle: true,
11
+ Header: true,
12
+ HeaderBackButton: true,
13
+ HeaderBackContext: true,
14
+ HeaderBackground: true,
15
+ HeaderHeightContext: true,
16
+ HeaderShownContext: true,
17
+ HeaderTitle: true,
18
+ useHeaderHeight: true,
19
+ MissingIcon: true,
20
+ PlatformPressable: true,
21
+ ResourceSavingView: true,
22
+ SafeAreaProviderCompat: true,
23
+ Screen: true
24
+ };
25
+ Object.defineProperty(exports, "Background", {
26
+ enumerable: true,
27
+ get: function () {
28
+ return _Background.default;
29
+ }
30
+ });
31
+ Object.defineProperty(exports, "getDefaultHeaderHeight", {
32
+ enumerable: true,
33
+ get: function () {
34
+ return _getDefaultHeaderHeight.default;
35
+ }
36
+ });
37
+ Object.defineProperty(exports, "getHeaderTitle", {
38
+ enumerable: true,
39
+ get: function () {
40
+ return _getHeaderTitle.default;
41
+ }
42
+ });
43
+ Object.defineProperty(exports, "Header", {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _Header.default;
47
+ }
48
+ });
49
+ Object.defineProperty(exports, "HeaderBackButton", {
50
+ enumerable: true,
51
+ get: function () {
52
+ return _HeaderBackButton.default;
53
+ }
54
+ });
55
+ Object.defineProperty(exports, "HeaderBackContext", {
56
+ enumerable: true,
57
+ get: function () {
58
+ return _HeaderBackContext.default;
59
+ }
60
+ });
61
+ Object.defineProperty(exports, "HeaderBackground", {
62
+ enumerable: true,
63
+ get: function () {
64
+ return _HeaderBackground.default;
65
+ }
66
+ });
67
+ Object.defineProperty(exports, "HeaderHeightContext", {
68
+ enumerable: true,
69
+ get: function () {
70
+ return _HeaderHeightContext.default;
71
+ }
72
+ });
73
+ Object.defineProperty(exports, "HeaderShownContext", {
74
+ enumerable: true,
75
+ get: function () {
76
+ return _HeaderShownContext.default;
77
+ }
78
+ });
79
+ Object.defineProperty(exports, "HeaderTitle", {
80
+ enumerable: true,
81
+ get: function () {
82
+ return _HeaderTitle.default;
83
+ }
84
+ });
85
+ Object.defineProperty(exports, "useHeaderHeight", {
86
+ enumerable: true,
87
+ get: function () {
88
+ return _useHeaderHeight.default;
89
+ }
90
+ });
91
+ Object.defineProperty(exports, "MissingIcon", {
92
+ enumerable: true,
93
+ get: function () {
94
+ return _MissingIcon.default;
95
+ }
96
+ });
97
+ Object.defineProperty(exports, "PlatformPressable", {
98
+ enumerable: true,
99
+ get: function () {
100
+ return _PlatformPressable.default;
101
+ }
102
+ });
103
+ Object.defineProperty(exports, "ResourceSavingView", {
104
+ enumerable: true,
105
+ get: function () {
106
+ return _ResourceSavingView.default;
107
+ }
108
+ });
109
+ Object.defineProperty(exports, "SafeAreaProviderCompat", {
110
+ enumerable: true,
111
+ get: function () {
112
+ return _SafeAreaProviderCompat.default;
113
+ }
114
+ });
115
+ Object.defineProperty(exports, "Screen", {
116
+ enumerable: true,
117
+ get: function () {
118
+ return _Screen.default;
119
+ }
120
+ });
121
+ exports.Assets = void 0;
122
+
123
+ var _Background = _interopRequireDefault(require("./Background"));
124
+
125
+ var _getDefaultHeaderHeight = _interopRequireDefault(require("./Header/getDefaultHeaderHeight"));
126
+
127
+ var _getHeaderTitle = _interopRequireDefault(require("./Header/getHeaderTitle"));
128
+
129
+ var _Header = _interopRequireDefault(require("./Header/Header"));
130
+
131
+ var _HeaderBackButton = _interopRequireDefault(require("./Header/HeaderBackButton"));
132
+
133
+ var _HeaderBackContext = _interopRequireDefault(require("./Header/HeaderBackContext"));
134
+
135
+ var _HeaderBackground = _interopRequireDefault(require("./Header/HeaderBackground"));
136
+
137
+ var _HeaderHeightContext = _interopRequireDefault(require("./Header/HeaderHeightContext"));
138
+
139
+ var _HeaderShownContext = _interopRequireDefault(require("./Header/HeaderShownContext"));
140
+
141
+ var _HeaderTitle = _interopRequireDefault(require("./Header/HeaderTitle"));
142
+
143
+ var _useHeaderHeight = _interopRequireDefault(require("./Header/useHeaderHeight"));
144
+
145
+ var _MissingIcon = _interopRequireDefault(require("./MissingIcon"));
146
+
147
+ var _PlatformPressable = _interopRequireDefault(require("./PlatformPressable"));
148
+
149
+ var _ResourceSavingView = _interopRequireDefault(require("./ResourceSavingView"));
150
+
151
+ var _SafeAreaProviderCompat = _interopRequireDefault(require("./SafeAreaProviderCompat"));
152
+
153
+ var _Screen = _interopRequireDefault(require("./Screen"));
154
+
155
+ var _types = require("./types");
156
+
157
+ Object.keys(_types).forEach(function (key) {
158
+ if (key === "default" || key === "__esModule") return;
159
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
160
+ if (key in exports && exports[key] === _types[key]) return;
161
+ Object.defineProperty(exports, key, {
162
+ enumerable: true,
163
+ get: function () {
164
+ return _types[key];
165
+ }
166
+ });
167
+ });
168
+
169
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
170
+
171
+ const Assets = [// eslint-disable-next-line import/no-commonjs
172
+ require('./assets/back-icon.png'), // eslint-disable-next-line import/no-commonjs
173
+ require('./assets/back-icon-mask.png')];
174
+ exports.Assets = Assets;
175
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.tsx"],"names":["Assets","require"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AASA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;AAPO,MAAMA,MAAM,GAAG,CACpB;AACAC,OAAO,CAAC,wBAAD,CAFa,EAGpB;AACAA,OAAO,CAAC,6BAAD,CAJa,CAAf","sourcesContent":["export { default as Background } from './Background';\nexport { default as getDefaultHeaderHeight } from './Header/getDefaultHeaderHeight';\nexport { default as getHeaderTitle } from './Header/getHeaderTitle';\nexport { default as Header } from './Header/Header';\nexport { default as HeaderBackButton } from './Header/HeaderBackButton';\nexport { default as HeaderBackContext } from './Header/HeaderBackContext';\nexport { default as HeaderBackground } from './Header/HeaderBackground';\nexport { default as HeaderHeightContext } from './Header/HeaderHeightContext';\nexport { default as HeaderShownContext } from './Header/HeaderShownContext';\nexport { default as HeaderTitle } from './Header/HeaderTitle';\nexport { default as useHeaderHeight } from './Header/useHeaderHeight';\nexport { default as MissingIcon } from './MissingIcon';\nexport { default as PlatformPressable } from './PlatformPressable';\nexport { default as ResourceSavingView } from './ResourceSavingView';\nexport { default as SafeAreaProviderCompat } from './SafeAreaProviderCompat';\nexport { default as Screen } from './Screen';\n\nexport const Assets = [\n // eslint-disable-next-line import/no-commonjs\n require('./assets/back-icon.png'),\n // eslint-disable-next-line import/no-commonjs\n require('./assets/back-icon-mask.png'),\n];\n\nexport * from './types';\n"]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -0,0 +1,20 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import { useTheme } from '@react-navigation/native';
4
+ import * as React from 'react';
5
+ import { View } from 'react-native';
6
+ export default function Background({
7
+ style,
8
+ ...rest
9
+ }) {
10
+ const {
11
+ colors
12
+ } = useTheme();
13
+ return /*#__PURE__*/React.createElement(View, _extends({}, rest, {
14
+ style: [{
15
+ flex: 1,
16
+ backgroundColor: colors.background
17
+ }, style]
18
+ }));
19
+ }
20
+ //# sourceMappingURL=Background.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Background.tsx"],"names":["useTheme","React","View","Background","style","rest","colors","flex","backgroundColor","background"],"mappings":";;AAAA,SAASA,QAAT,QAAyB,0BAAzB;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,SAASC,IAAT,QAAgC,cAAhC;AAMA,eAAe,SAASC,UAAT,CAAoB;AAAEC,EAAAA,KAAF;AAAS,KAAGC;AAAZ,CAApB,EAA+C;AAC5D,QAAM;AAAEC,IAAAA;AAAF,MAAaN,QAAQ,EAA3B;AAEA,sBACE,oBAAC,IAAD,eACMK,IADN;AAEE,IAAA,KAAK,EAAE,CAAC;AAAEE,MAAAA,IAAI,EAAE,CAAR;AAAWC,MAAAA,eAAe,EAAEF,MAAM,CAACG;AAAnC,KAAD,EAAkDL,KAAlD;AAFT,KADF;AAMD","sourcesContent":["import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport { View, ViewProps } from 'react-native';\n\ntype Props = ViewProps & {\n children: React.ReactNode;\n};\n\nexport default function Background({ style, ...rest }: Props) {\n const { colors } = useTheme();\n\n return (\n <View\n {...rest}\n style={[{ flex: 1, backgroundColor: colors.background }, style]}\n />\n );\n}\n"]}