@react-navigation/elements 2.0.0-alpha.5 → 2.0.0-alpha.6

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 (46) hide show
  1. package/lib/commonjs/Header/Header.js +10 -12
  2. package/lib/commonjs/Header/Header.js.map +1 -1
  3. package/lib/commonjs/Header/HeaderBackButton.js +4 -23
  4. package/lib/commonjs/Header/HeaderBackButton.js.map +1 -1
  5. package/lib/commonjs/Header/HeaderButton.js +60 -0
  6. package/lib/commonjs/Header/HeaderButton.js.map +1 -0
  7. package/lib/commonjs/Header/getDefaultHeaderHeight.js +5 -1
  8. package/lib/commonjs/Header/getDefaultHeaderHeight.js.map +1 -1
  9. package/lib/commonjs/Header/getHeaderTitle.js.map +1 -1
  10. package/lib/commonjs/Label/getLabel.js.map +1 -1
  11. package/lib/commonjs/PlatformPressable.js.map +1 -1
  12. package/lib/commonjs/index.js +8 -0
  13. package/lib/commonjs/index.js.map +1 -1
  14. package/lib/module/Header/Header.js +10 -12
  15. package/lib/module/Header/Header.js.map +1 -1
  16. package/lib/module/Header/HeaderBackButton.js +4 -23
  17. package/lib/module/Header/HeaderBackButton.js.map +1 -1
  18. package/lib/module/Header/HeaderButton.js +52 -0
  19. package/lib/module/Header/HeaderButton.js.map +1 -0
  20. package/lib/module/Header/getDefaultHeaderHeight.js +6 -2
  21. package/lib/module/Header/getDefaultHeaderHeight.js.map +1 -1
  22. package/lib/module/Header/getHeaderTitle.js.map +1 -1
  23. package/lib/module/Label/getLabel.js.map +1 -1
  24. package/lib/module/PlatformPressable.js.map +1 -1
  25. package/lib/module/index.js +1 -0
  26. package/lib/module/index.js.map +1 -1
  27. package/lib/typescript/src/Header/Header.d.ts.map +1 -1
  28. package/lib/typescript/src/Header/HeaderBackButton.d.ts.map +1 -1
  29. package/lib/typescript/src/Header/HeaderButton.d.ts +4 -0
  30. package/lib/typescript/src/Header/HeaderButton.d.ts.map +1 -0
  31. package/lib/typescript/src/Header/getDefaultHeaderHeight.d.ts +1 -1
  32. package/lib/typescript/src/Header/getDefaultHeaderHeight.d.ts.map +1 -1
  33. package/lib/typescript/src/index.d.ts +1 -0
  34. package/lib/typescript/src/index.d.ts.map +1 -1
  35. package/lib/typescript/src/types.d.ts +26 -26
  36. package/lib/typescript/src/types.d.ts.map +1 -1
  37. package/package.json +12 -12
  38. package/src/Header/Header.tsx +63 -69
  39. package/src/Header/HeaderBackButton.tsx +5 -20
  40. package/src/Header/HeaderButton.tsx +54 -0
  41. package/src/Header/getDefaultHeaderHeight.tsx +8 -2
  42. package/src/Header/getHeaderTitle.tsx +2 -2
  43. package/src/Label/getLabel.tsx +2 -2
  44. package/src/PlatformPressable.tsx +2 -2
  45. package/src/index.tsx +1 -0
  46. package/src/types.tsx +27 -27
@@ -0,0 +1,52 @@
1
+ import * as React from 'react';
2
+ import { Platform, StyleSheet } from 'react-native';
3
+ import { PlatformPressable } from '../PlatformPressable';
4
+ export function HeaderButton(_ref) {
5
+ let {
6
+ disabled,
7
+ onPress,
8
+ pressColor,
9
+ pressOpacity,
10
+ accessibilityLabel,
11
+ testID,
12
+ style,
13
+ href,
14
+ children
15
+ } = _ref;
16
+ return /*#__PURE__*/React.createElement(PlatformPressable, {
17
+ disabled: disabled,
18
+ href: href,
19
+ accessibilityLabel: accessibilityLabel,
20
+ testID: testID,
21
+ onPress: onPress,
22
+ pressColor: pressColor,
23
+ pressOpacity: pressOpacity,
24
+ android_ripple: androidRipple,
25
+ style: [styles.container, disabled && styles.disabled, style],
26
+ hitSlop: Platform.select({
27
+ ios: undefined,
28
+ default: {
29
+ top: 16,
30
+ right: 16,
31
+ bottom: 16,
32
+ left: 16
33
+ }
34
+ })
35
+ }, children);
36
+ }
37
+ const androidRipple = {
38
+ borderless: true,
39
+ foreground: Platform.OS === 'android' && Platform.Version >= 23,
40
+ radius: 20
41
+ };
42
+ const styles = StyleSheet.create({
43
+ container: {
44
+ flexDirection: 'row',
45
+ alignItems: 'center',
46
+ paddingHorizontal: 8
47
+ },
48
+ disabled: {
49
+ opacity: 0.5
50
+ }
51
+ });
52
+ //# sourceMappingURL=HeaderButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Platform","StyleSheet","PlatformPressable","HeaderButton","_ref","disabled","onPress","pressColor","pressOpacity","accessibilityLabel","testID","style","href","children","createElement","android_ripple","androidRipple","styles","container","hitSlop","select","ios","undefined","default","top","right","bottom","left","borderless","foreground","OS","Version","radius","create","flexDirection","alignItems","paddingHorizontal","opacity"],"sourceRoot":"../../../src","sources":["Header/HeaderButton.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AAEnD,SAASC,iBAAiB,QAAQ,sBAAsB;AAGxD,OAAO,SAASC,YAAYA,CAAAC,IAAA,EAUN;EAAA,IAVO;IAC3BC,QAAQ;IACRC,OAAO;IACPC,UAAU;IACVC,YAAY;IACZC,kBAAkB;IAClBC,MAAM;IACNC,KAAK;IACLC,IAAI;IACJC;EACiB,CAAC,GAAAT,IAAA;EAClB,oBACEL,KAAA,CAAAe,aAAA,CAACZ,iBAAiB;IAChBG,QAAQ,EAAEA,QAAS;IACnBO,IAAI,EAAEA,IAAK;IACXH,kBAAkB,EAAEA,kBAAmB;IACvCC,MAAM,EAAEA,MAAO;IACfJ,OAAO,EAAEA,OAAQ;IACjBC,UAAU,EAAEA,UAAW;IACvBC,YAAY,EAAEA,YAAa;IAC3BO,cAAc,EAAEC,aAAc;IAC9BL,KAAK,EAAE,CAACM,MAAM,CAACC,SAAS,EAAEb,QAAQ,IAAIY,MAAM,CAACZ,QAAQ,EAAEM,KAAK,CAAE;IAC9DQ,OAAO,EAAEnB,QAAQ,CAACoB,MAAM,CAAC;MACvBC,GAAG,EAAEC,SAAS;MACdC,OAAO,EAAE;QAAEC,GAAG,EAAE,EAAE;QAAEC,KAAK,EAAE,EAAE;QAAEC,MAAM,EAAE,EAAE;QAAEC,IAAI,EAAE;MAAG;IACtD,CAAC;EAAE,GAEFd,QACgB,CAAC;AAExB;AAEA,MAAMG,aAAa,GAAG;EACpBY,UAAU,EAAE,IAAI;EAChBC,UAAU,EAAE7B,QAAQ,CAAC8B,EAAE,KAAK,SAAS,IAAI9B,QAAQ,CAAC+B,OAAO,IAAI,EAAE;EAC/DC,MAAM,EAAE;AACV,CAAC;AAED,MAAMf,MAAM,GAAGhB,UAAU,CAACgC,MAAM,CAAC;EAC/Bf,SAAS,EAAE;IACTgB,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAE;EACrB,CAAC;EACD/B,QAAQ,EAAE;IACRgC,OAAO,EAAE;EACX;AACF,CAAC,CAAC"}
@@ -1,6 +1,10 @@
1
- import { Platform } from 'react-native';
2
- export function getDefaultHeaderHeight(layout, modalPresentation, statusBarHeight) {
1
+ import { PixelRatio, Platform } from 'react-native';
2
+ export function getDefaultHeaderHeight(layout, modalPresentation, topInset) {
3
3
  let headerHeight;
4
+
5
+ // On models with Dynamic Island the status bar height is smaller than the safe area top inset.
6
+ const hasDynamicIsland = Platform.OS === 'ios' && topInset > 50;
7
+ const statusBarHeight = hasDynamicIsland ? topInset - (5 + 1 / PixelRatio.get()) : topInset;
4
8
  const isLandscape = layout.width > layout.height;
5
9
  if (Platform.OS === 'ios') {
6
10
  if (Platform.isPad || Platform.isTV) {
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","getDefaultHeaderHeight","layout","modalPresentation","statusBarHeight","headerHeight","isLandscape","width","height","OS","isPad","isTV"],"sourceRoot":"../../../src","sources":["Header/getDefaultHeaderHeight.tsx"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAIvC,OAAO,SAASC,sBAAsBA,CACpCC,MAAc,EACdC,iBAA0B,EAC1BC,eAAuB,EACf;EACR,IAAIC,YAAY;EAEhB,MAAMC,WAAW,GAAGJ,MAAM,CAACK,KAAK,GAAGL,MAAM,CAACM,MAAM;EAEhD,IAAIR,QAAQ,CAACS,EAAE,KAAK,KAAK,EAAE;IACzB,IAAIT,QAAQ,CAACU,KAAK,IAAIV,QAAQ,CAACW,IAAI,EAAE;MACnC,IAAIR,iBAAiB,EAAE;QACrBE,YAAY,GAAG,EAAE;MACnB,CAAC,MAAM;QACLA,YAAY,GAAG,EAAE;MACnB;IACF,CAAC,MAAM;MACL,IAAIC,WAAW,EAAE;QACfD,YAAY,GAAG,EAAE;MACnB,CAAC,MAAM;QACL,IAAIF,iBAAiB,EAAE;UACrBE,YAAY,GAAG,EAAE;QACnB,CAAC,MAAM;UACLA,YAAY,GAAG,EAAE;QACnB;MACF;IACF;EACF,CAAC,MAAM,IAAIL,QAAQ,CAACS,EAAE,KAAK,SAAS,EAAE;IACpCJ,YAAY,GAAG,EAAE;EACnB,CAAC,MAAM;IACLA,YAAY,GAAG,EAAE;EACnB;EAEA,OAAOA,YAAY,GAAGD,eAAe;AACvC"}
1
+ {"version":3,"names":["PixelRatio","Platform","getDefaultHeaderHeight","layout","modalPresentation","topInset","headerHeight","hasDynamicIsland","OS","statusBarHeight","get","isLandscape","width","height","isPad","isTV"],"sourceRoot":"../../../src","sources":["Header/getDefaultHeaderHeight.tsx"],"mappings":"AAAA,SAASA,UAAU,EAAEC,QAAQ,QAAQ,cAAc;AAInD,OAAO,SAASC,sBAAsBA,CACpCC,MAAc,EACdC,iBAA0B,EAC1BC,QAAgB,EACR;EACR,IAAIC,YAAY;;EAEhB;EACA,MAAMC,gBAAgB,GAAGN,QAAQ,CAACO,EAAE,KAAK,KAAK,IAAIH,QAAQ,GAAG,EAAE;EAC/D,MAAMI,eAAe,GAAGF,gBAAgB,GACpCF,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAGL,UAAU,CAACU,GAAG,CAAC,CAAC,CAAC,GACrCL,QAAQ;EAEZ,MAAMM,WAAW,GAAGR,MAAM,CAACS,KAAK,GAAGT,MAAM,CAACU,MAAM;EAEhD,IAAIZ,QAAQ,CAACO,EAAE,KAAK,KAAK,EAAE;IACzB,IAAIP,QAAQ,CAACa,KAAK,IAAIb,QAAQ,CAACc,IAAI,EAAE;MACnC,IAAIX,iBAAiB,EAAE;QACrBE,YAAY,GAAG,EAAE;MACnB,CAAC,MAAM;QACLA,YAAY,GAAG,EAAE;MACnB;IACF,CAAC,MAAM;MACL,IAAIK,WAAW,EAAE;QACfL,YAAY,GAAG,EAAE;MACnB,CAAC,MAAM;QACL,IAAIF,iBAAiB,EAAE;UACrBE,YAAY,GAAG,EAAE;QACnB,CAAC,MAAM;UACLA,YAAY,GAAG,EAAE;QACnB;MACF;IACF;EACF,CAAC,MAAM,IAAIL,QAAQ,CAACO,EAAE,KAAK,SAAS,EAAE;IACpCF,YAAY,GAAG,EAAE;EACnB,CAAC,MAAM;IACLA,YAAY,GAAG,EAAE;EACnB;EAEA,OAAOA,YAAY,GAAGG,eAAe;AACvC"}
@@ -1 +1 @@
1
- {"version":3,"names":["getHeaderTitle","options","fallback","headerTitle","title","undefined"],"sourceRoot":"../../../src","sources":["Header/getHeaderTitle.tsx"],"mappings":"AAEA,OAAO,SAASA,cAAcA,CAC5BC,OAAuE,EACvEC,QAAgB,EACR;EACR,OAAO,OAAOD,OAAO,CAACE,WAAW,KAAK,QAAQ,GAC1CF,OAAO,CAACE,WAAW,GACnBF,OAAO,CAACG,KAAK,KAAKC,SAAS,GAC3BJ,OAAO,CAACG,KAAK,GACbF,QAAQ;AACd"}
1
+ {"version":3,"names":["getHeaderTitle","options","fallback","headerTitle","title","undefined"],"sourceRoot":"../../../src","sources":["Header/getHeaderTitle.tsx"],"mappings":"AAEA,OAAO,SAASA,cAAcA,CAC5BC,OAAuE,EACvEC,QAAgB,EACR;EACR,OAAO,OAAOD,OAAO,CAACE,WAAW,KAAK,QAAQ,GAC1CF,OAAO,CAACE,WAAW,GACnBF,OAAO,CAACG,KAAK,KAAKC,SAAS,GACzBJ,OAAO,CAACG,KAAK,GACbF,QAAQ;AAChB"}
@@ -1 +1 @@
1
- {"version":3,"names":["getLabel","options","fallback","label","undefined","title"],"sourceRoot":"../../../src","sources":["Label/getLabel.tsx"],"mappings":"AAAA,OAAO,SAASA,QAAQA,CACtBC,OAA2C,EAC3CC,QAAgB,EACR;EACR,OAAOD,OAAO,CAACE,KAAK,KAAKC,SAAS,GAC9BH,OAAO,CAACE,KAAK,GACbF,OAAO,CAACI,KAAK,KAAKD,SAAS,GAC3BH,OAAO,CAACI,KAAK,GACbH,QAAQ;AACd"}
1
+ {"version":3,"names":["getLabel","options","fallback","label","undefined","title"],"sourceRoot":"../../../src","sources":["Label/getLabel.tsx"],"mappings":"AAAA,OAAO,SAASA,QAAQA,CACtBC,OAA2C,EAC3CC,QAAgB,EACR;EACR,OAAOD,OAAO,CAACE,KAAK,KAAKC,SAAS,GAC9BH,OAAO,CAACE,KAAK,GACbF,OAAO,CAACI,KAAK,KAAKD,SAAS,GACzBH,OAAO,CAACI,KAAK,GACbH,QAAQ;AAChB"}
@@ -1 +1 @@
1
- {"version":3,"names":["useTheme","React","Animated","Easing","Platform","Pressable","AnimatedPressable","createAnimatedComponent","ANDROID_VERSION_LOLLIPOP","ANDROID_SUPPORTS_RIPPLE","OS","Version","PlatformPressable","_ref","disabled","onPress","onPressIn","onPressOut","android_ripple","pressColor","pressOpacity","style","rest","dark","opacity","useState","Value","animateTo","toValue","duration","timing","easing","inOut","quad","useNativeDriver","start","handlePress","e","hasModifierKey","metaKey","altKey","ctrlKey","shiftKey","isLeftClick","button","isSelfTarget","undefined","includes","currentTarget","target","href","preventDefault","handlePressIn","handlePressOut","createElement","_extends","accessible","accessibilityRole","color"],"sourceRoot":"../../src","sources":["PlatformPressable.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["useTheme","React","Animated","Easing","Platform","Pressable","AnimatedPressable","createAnimatedComponent","ANDROID_VERSION_LOLLIPOP","ANDROID_SUPPORTS_RIPPLE","OS","Version","PlatformPressable","_ref","disabled","onPress","onPressIn","onPressOut","android_ripple","pressColor","pressOpacity","style","rest","dark","opacity","useState","Value","animateTo","toValue","duration","timing","easing","inOut","quad","useNativeDriver","start","handlePress","e","hasModifierKey","metaKey","altKey","ctrlKey","shiftKey","isLeftClick","button","isSelfTarget","undefined","includes","currentTarget","target","href","preventDefault","handlePressIn","handlePressOut","createElement","_extends","accessible","accessibilityRole","color"],"sourceRoot":"../../src","sources":["PlatformPressable.tsx"],"mappings":"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"}
@@ -7,6 +7,7 @@ export { Header } from './Header/Header';
7
7
  export { HeaderBackButton } from './Header/HeaderBackButton';
8
8
  export { HeaderBackContext } from './Header/HeaderBackContext';
9
9
  export { HeaderBackground } from './Header/HeaderBackground';
10
+ export { HeaderButton } from './Header/HeaderButton';
10
11
  export { HeaderHeightContext } from './Header/HeaderHeightContext';
11
12
  export { HeaderShownContext } from './Header/HeaderShownContext';
12
13
  export { HeaderTitle } from './Header/HeaderTitle';
@@ -1 +1 @@
1
- {"version":3,"names":["Background","Button","getDefaultSidebarWidth","getDefaultHeaderHeight","getHeaderTitle","Header","HeaderBackButton","HeaderBackContext","HeaderBackground","HeaderHeightContext","HeaderShownContext","HeaderTitle","useHeaderHeight","getLabel","Label","MissingIcon","PlatformPressable","ResourceSavingView","SafeAreaProviderCompat","Screen","Text","Assets","require"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,sBAAsB,QAAQ,0BAA0B;AACjE,SAASC,sBAAsB,QAAQ,iCAAiC;AACxE,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,MAAM,QAAQ,iBAAiB;AACxC,SAASC,gBAAgB,QAAQ,2BAA2B;AAC5D,SAASC,iBAAiB,QAAQ,4BAA4B;AAC9D,SAASC,gBAAgB,QAAQ,2BAA2B;AAC5D,SAASC,mBAAmB,QAAQ,8BAA8B;AAClE,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,SAASC,WAAW,QAAQ,sBAAsB;AAClD,SAASC,eAAe,QAAQ,0BAA0B;AAC1D,SAASC,QAAQ,QAAQ,kBAAkB;AAC3C,SAASC,KAAK,QAAQ,eAAe;AACrC,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,sBAAsB,QAAQ,0BAA0B;AACjE,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,IAAI,QAAQ,QAAQ;AAE7B,OAAO,MAAMC,MAAM,GAAG;AACpB;AACAC,OAAO,CAAC,wBAAwB,CAAC;AACjC;AACAA,OAAO,CAAC,6BAA6B,CAAC,CACvC;AAED,cAAc,SAAS"}
1
+ {"version":3,"names":["Background","Button","getDefaultSidebarWidth","getDefaultHeaderHeight","getHeaderTitle","Header","HeaderBackButton","HeaderBackContext","HeaderBackground","HeaderButton","HeaderHeightContext","HeaderShownContext","HeaderTitle","useHeaderHeight","getLabel","Label","MissingIcon","PlatformPressable","ResourceSavingView","SafeAreaProviderCompat","Screen","Text","Assets","require"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,sBAAsB,QAAQ,0BAA0B;AACjE,SAASC,sBAAsB,QAAQ,iCAAiC;AACxE,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,MAAM,QAAQ,iBAAiB;AACxC,SAASC,gBAAgB,QAAQ,2BAA2B;AAC5D,SAASC,iBAAiB,QAAQ,4BAA4B;AAC9D,SAASC,gBAAgB,QAAQ,2BAA2B;AAC5D,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,mBAAmB,QAAQ,8BAA8B;AAClE,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,SAASC,WAAW,QAAQ,sBAAsB;AAClD,SAASC,eAAe,QAAQ,0BAA0B;AAC1D,SAASC,QAAQ,QAAQ,kBAAkB;AAC3C,SAASC,KAAK,QAAQ,eAAe;AACrC,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,sBAAsB,QAAQ,0BAA0B;AACjE,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,IAAI,QAAQ,QAAQ;AAE7B,OAAO,MAAMC,MAAM,GAAG;AACpB;AACAC,OAAO,CAAC,wBAAwB,CAAC;AACjC;AACAA,OAAO,CAAC,6BAA6B,CAAC,CACvC;AAED,cAAc,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/Header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMtD,KAAK,KAAK,GAAG,aAAa,GAAG;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAkBF,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,qBA2PlC"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/Header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMtD,KAAK,KAAK,GAAG,aAAa,GAAG;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAkBF,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,qBAqPlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderBackButton.d.ts","sourceRoot":"","sources":["../../../../src/Header/HeaderBackButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,UAAU,EACV,YAAoC,EACpC,aAAa,EACb,OAAO,EACP,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EAAE,eAAe,EAC1B,WAAW,EACX,cAAuB,EACvB,kBAA6E,EAC7E,MAAM,EACN,KAAK,EACL,IAAI,GACL,EAAE,qBAAqB,qBAkJvB"}
1
+ {"version":3,"file":"HeaderBackButton.d.ts","sourceRoot":"","sources":["../../../../src/Header/HeaderBackButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGtD,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,UAAU,EACV,YAAoC,EACpC,aAAa,EACb,OAAO,EACP,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EAAE,eAAe,EAC1B,WAAW,EACX,cAAuB,EACvB,kBAA6E,EAC7E,MAAM,EACN,KAAK,EACL,IAAI,GACL,EAAE,qBAAqB,qBA6IvB"}
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { HeaderButtonProps } from '../types';
3
+ export declare function HeaderButton({ disabled, onPress, pressColor, pressOpacity, accessibilityLabel, testID, style, href, children, }: HeaderButtonProps): React.JSX.Element;
4
+ //# sourceMappingURL=HeaderButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeaderButton.d.ts","sourceRoot":"","sources":["../../../../src/Header/HeaderButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAO,EACP,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,IAAI,EACJ,QAAQ,GACT,EAAE,iBAAiB,qBAoBnB"}
@@ -1,3 +1,3 @@
1
1
  import type { Layout } from '../types';
2
- export declare function getDefaultHeaderHeight(layout: Layout, modalPresentation: boolean, statusBarHeight: number): number;
2
+ export declare function getDefaultHeaderHeight(layout: Layout, modalPresentation: boolean, topInset: number): number;
3
3
  //# sourceMappingURL=getDefaultHeaderHeight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDefaultHeaderHeight.d.ts","sourceRoot":"","sources":["../../../../src/Header/getDefaultHeaderHeight.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,OAAO,EAC1B,eAAe,EAAE,MAAM,GACtB,MAAM,CA8BR"}
1
+ {"version":3,"file":"getDefaultHeaderHeight.d.ts","sourceRoot":"","sources":["../../../../src/Header/getDefaultHeaderHeight.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,EAAE,MAAM,GACf,MAAM,CAoCR"}
@@ -7,6 +7,7 @@ export { Header } from './Header/Header';
7
7
  export { HeaderBackButton } from './Header/HeaderBackButton';
8
8
  export { HeaderBackContext } from './Header/HeaderBackContext';
9
9
  export { HeaderBackground } from './Header/HeaderBackground';
10
+ export { HeaderButton } from './Header/HeaderButton';
10
11
  export { HeaderHeightContext } from './Header/HeaderHeightContext';
11
12
  export { HeaderShownContext } from './Header/HeaderShownContext';
12
13
  export { HeaderTitle } from './Header/HeaderTitle';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,MAAM,OAKlB,CAAC;AAEF,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,MAAM,OAKlB,CAAC;AAEF,cAAc,SAAS,CAAC"}
@@ -140,6 +140,26 @@ export type HeaderTitleProps = {
140
140
  style?: Animated.WithAnimatedValue<StyleProp<TextStyle>>;
141
141
  };
142
142
  export type HeaderButtonProps = {
143
+ /**
144
+ * Callback to call when the button is pressed.
145
+ */
146
+ onPress?: () => void;
147
+ /**
148
+ * The `href` to use for the anchor tag on web
149
+ */
150
+ href?: string;
151
+ /**
152
+ * Whether the button is disabled.
153
+ */
154
+ disabled?: boolean;
155
+ /**
156
+ * Accessibility label for the button for screen readers.
157
+ */
158
+ accessibilityLabel?: string;
159
+ /**
160
+ * ID to locate this button in tests.
161
+ */
162
+ testID?: string;
143
163
  /**
144
164
  * Tint color for the header button.
145
165
  */
@@ -153,29 +173,21 @@ export type HeaderButtonProps = {
153
173
  */
154
174
  pressOpacity?: number;
155
175
  /**
156
- * Whether it's possible to navigate back in stack.
157
- */
158
- canGoBack?: boolean;
159
- };
160
- export type HeaderBackButtonProps = HeaderButtonProps & {
161
- /**
162
- * Whether the button is disabled.
176
+ * Style object for the button.
163
177
  */
164
- disabled?: boolean;
178
+ style?: StyleProp<ViewStyle>;
165
179
  /**
166
- * Callback to call when the button is pressed.
180
+ * Content to render for the button. Usually the icon.
167
181
  */
168
- onPress?: () => void;
182
+ children: React.ReactNode;
183
+ };
184
+ export type HeaderBackButtonProps = Omit<HeaderButtonProps, 'children'> & {
169
185
  /**
170
186
  * Function which returns a React Element to display custom image in header's back button.
171
187
  */
172
188
  backImage?: (props: {
173
189
  tintColor: string;
174
190
  }) => React.ReactNode;
175
- /**
176
- * The `href` to use for the anchor tag on web
177
- */
178
- href?: string;
179
191
  /**
180
192
  * Label text for the button. Usually the title of the previous screen.
181
193
  * By default, this is only shown on iOS.
@@ -210,17 +222,5 @@ export type HeaderBackButtonProps = HeaderButtonProps & {
210
222
  * Layout of the title element in the header.
211
223
  */
212
224
  titleLayout?: Layout;
213
- /**
214
- * Accessibility label for the button for screen readers.
215
- */
216
- accessibilityLabel?: string;
217
- /**
218
- * ID to locate this button in tests.
219
- */
220
- testID?: string;
221
- /**
222
- * Style object for the button.
223
- */
224
- style?: StyleProp<ViewStyle>;
225
225
  };
226
226
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/elements",
3
3
  "description": "UI Components for React Navigation",
4
- "version": "2.0.0-alpha.5",
4
+ "version": "2.0.0-alpha.6",
5
5
  "keywords": [
6
6
  "react-native",
7
7
  "react-navigation",
@@ -40,21 +40,21 @@
40
40
  "color": "^4.2.3"
41
41
  },
42
42
  "devDependencies": {
43
- "@react-native-masked-view/masked-view": "0.2.9",
44
- "@react-navigation/native": "^7.0.0-alpha.7",
45
- "@testing-library/react-native": "^12.3.1",
46
- "@types/react": "~18.2.33",
43
+ "@react-native-masked-view/masked-view": "0.3.0",
44
+ "@react-navigation/native": "^7.0.0-alpha.8",
45
+ "@testing-library/react-native": "^12.4.3",
46
+ "@types/react": "~18.2.45",
47
47
  "del-cli": "^5.1.0",
48
48
  "react": "18.2.0",
49
- "react-native": "0.72.6",
50
- "react-native-builder-bob": "^0.23.1",
51
- "typescript": "^5.2.2"
49
+ "react-native": "0.73.2",
50
+ "react-native-builder-bob": "^0.23.2",
51
+ "typescript": "^5.3.3"
52
52
  },
53
53
  "peerDependencies": {
54
- "@react-navigation/native": "^7.0.0-alpha.7",
54
+ "@react-navigation/native": "^7.0.0-alpha.8",
55
55
  "react": "*",
56
- "react-native": "0.72.6",
57
- "react-native-safe-area-context": "4.6.3"
56
+ "react-native": "0.73.2",
57
+ "react-native-safe-area-context": "4.8.2"
58
58
  },
59
59
  "react-native-builder-bob": {
60
60
  "source": "src",
@@ -70,5 +70,5 @@
70
70
  ]
71
71
  ]
72
72
  },
73
- "gitHead": "d0e6a2cd79d2c6aff0cf54e46e31edc407c3c46b"
73
+ "gitHead": "e4e445810a3a958c35cc34486b5499baa595500e"
74
74
  }
@@ -220,14 +220,13 @@ export function Header(props: Props) {
220
220
  : customTitle;
221
221
 
222
222
  return (
223
- <React.Fragment>
223
+ <Animated.View
224
+ pointerEvents="box-none"
225
+ style={[{ height, minHeight, maxHeight, opacity, transform }]}
226
+ >
224
227
  <Animated.View
225
228
  pointerEvents="box-none"
226
- style={[
227
- StyleSheet.absoluteFill,
228
- { zIndex: 0 },
229
- backgroundContainerStyle,
230
- ]}
229
+ style={[StyleSheet.absoluteFill, backgroundContainerStyle]}
231
230
  >
232
231
  {headerBackground ? (
233
232
  headerBackground({ style: backgroundStyle })
@@ -235,69 +234,64 @@ export function Header(props: Props) {
235
234
  <HeaderBackground style={backgroundStyle} />
236
235
  )}
237
236
  </Animated.View>
238
- <Animated.View
239
- pointerEvents="box-none"
240
- style={[{ height, minHeight, maxHeight, opacity, transform }]}
241
- >
242
- <View pointerEvents="none" style={{ height: headerStatusBarHeight }} />
243
- <View pointerEvents="box-none" style={styles.content}>
244
- <Animated.View
245
- pointerEvents="box-none"
246
- style={[
247
- styles.left,
248
- headerTitleAlign === 'center' && styles.expand,
249
- { marginStart: insets.left },
250
- leftContainerStyle,
251
- ]}
252
- >
253
- {leftButton}
254
- </Animated.View>
255
- <Animated.View
256
- pointerEvents="box-none"
257
- style={[
258
- styles.title,
259
- {
260
- // Avoid the title from going offscreen or overlapping buttons
261
- maxWidth:
262
- headerTitleAlign === 'center'
263
- ? layout.width -
264
- ((leftButton
265
- ? headerLeftLabelVisible !== false
266
- ? 80
267
- : 32
268
- : 16) +
269
- Math.max(insets.left, insets.right)) *
270
- 2
271
- : layout.width -
272
- ((leftButton ? 72 : 16) +
273
- (rightButton ? 72 : 16) +
274
- insets.left -
275
- insets.right),
276
- },
277
- titleContainerStyle,
278
- ]}
279
- >
280
- {headerTitle({
281
- children: title,
282
- allowFontScaling: titleAllowFontScaling,
283
- tintColor: headerTintColor,
284
- style: titleStyle,
285
- })}
286
- </Animated.View>
287
- <Animated.View
288
- pointerEvents="box-none"
289
- style={[
290
- styles.right,
291
- styles.expand,
292
- { marginEnd: insets.right },
293
- rightContainerStyle,
294
- ]}
295
- >
296
- {rightButton}
297
- </Animated.View>
298
- </View>
299
- </Animated.View>
300
- </React.Fragment>
237
+ <View pointerEvents="none" style={{ height: headerStatusBarHeight }} />
238
+ <View pointerEvents="box-none" style={styles.content}>
239
+ <Animated.View
240
+ pointerEvents="box-none"
241
+ style={[
242
+ styles.left,
243
+ headerTitleAlign === 'center' && styles.expand,
244
+ { marginStart: insets.left },
245
+ leftContainerStyle,
246
+ ]}
247
+ >
248
+ {leftButton}
249
+ </Animated.View>
250
+ <Animated.View
251
+ pointerEvents="box-none"
252
+ style={[
253
+ styles.title,
254
+ {
255
+ // Avoid the title from going offscreen or overlapping buttons
256
+ maxWidth:
257
+ headerTitleAlign === 'center'
258
+ ? layout.width -
259
+ ((leftButton
260
+ ? headerLeftLabelVisible !== false
261
+ ? 80
262
+ : 32
263
+ : 16) +
264
+ Math.max(insets.left, insets.right)) *
265
+ 2
266
+ : layout.width -
267
+ ((leftButton ? 72 : 16) +
268
+ (rightButton ? 72 : 16) +
269
+ insets.left -
270
+ insets.right),
271
+ },
272
+ titleContainerStyle,
273
+ ]}
274
+ >
275
+ {headerTitle({
276
+ children: title,
277
+ allowFontScaling: titleAllowFontScaling,
278
+ tintColor: headerTintColor,
279
+ style: titleStyle,
280
+ })}
281
+ </Animated.View>
282
+ <Animated.View
283
+ pointerEvents="box-none"
284
+ style={[
285
+ styles.right,
286
+ styles.expand,
287
+ { marginEnd: insets.right },
288
+ rightContainerStyle,
289
+ ]}
290
+ >
291
+ {rightButton}
292
+ </Animated.View>
293
+ </View>
294
+ </Animated.View>
301
295
  );
302
296
  }
303
297
 
@@ -10,8 +10,8 @@ import {
10
10
  } from 'react-native';
11
11
 
12
12
  import { MaskedView } from '../MaskedView';
13
- import { PlatformPressable } from '../PlatformPressable';
14
13
  import type { HeaderBackButtonProps } from '../types';
14
+ import { HeaderButton } from './HeaderButton';
15
15
 
16
16
  export function HeaderBackButton({
17
17
  disabled,
@@ -157,7 +157,7 @@ export function HeaderBackButton({
157
157
  };
158
158
 
159
159
  return (
160
- <PlatformPressable
160
+ <HeaderButton
161
161
  disabled={disabled}
162
162
  href={href}
163
163
  accessibilityLabel={accessibilityLabel}
@@ -165,31 +165,19 @@ export function HeaderBackButton({
165
165
  onPress={handlePress}
166
166
  pressColor={pressColor}
167
167
  pressOpacity={pressOpacity}
168
- android_ripple={androidRipple}
169
- style={[styles.container, disabled && styles.disabled, style]}
170
- hitSlop={Platform.select({
171
- ios: undefined,
172
- default: { top: 16, right: 16, bottom: 16, left: 16 },
173
- })}
168
+ style={[styles.container, style]}
174
169
  >
175
170
  <React.Fragment>
176
171
  {renderBackImage()}
177
172
  {renderLabel()}
178
173
  </React.Fragment>
179
- </PlatformPressable>
174
+ </HeaderButton>
180
175
  );
181
176
  }
182
177
 
183
- const androidRipple = {
184
- borderless: true,
185
- foreground: Platform.OS === 'android' && Platform.Version >= 23,
186
- radius: 20,
187
- };
188
-
189
178
  const styles = StyleSheet.create({
190
179
  container: {
191
- alignItems: 'center',
192
- flexDirection: 'row',
180
+ paddingHorizontal: 0,
193
181
  minWidth: StyleSheet.hairlineWidth, // Avoid collapsing when title is long
194
182
  ...Platform.select({
195
183
  ios: null,
@@ -199,9 +187,6 @@ const styles = StyleSheet.create({
199
187
  },
200
188
  }),
201
189
  },
202
- disabled: {
203
- opacity: 0.5,
204
- },
205
190
  label: {
206
191
  fontSize: 17,
207
192
  // Title and back label are a bit different width due to title being bold
@@ -0,0 +1,54 @@
1
+ import * as React from 'react';
2
+ import { Platform, StyleSheet } from 'react-native';
3
+
4
+ import { PlatformPressable } from '../PlatformPressable';
5
+ import type { HeaderButtonProps } from '../types';
6
+
7
+ export function HeaderButton({
8
+ disabled,
9
+ onPress,
10
+ pressColor,
11
+ pressOpacity,
12
+ accessibilityLabel,
13
+ testID,
14
+ style,
15
+ href,
16
+ children,
17
+ }: HeaderButtonProps) {
18
+ return (
19
+ <PlatformPressable
20
+ disabled={disabled}
21
+ href={href}
22
+ accessibilityLabel={accessibilityLabel}
23
+ testID={testID}
24
+ onPress={onPress}
25
+ pressColor={pressColor}
26
+ pressOpacity={pressOpacity}
27
+ android_ripple={androidRipple}
28
+ style={[styles.container, disabled && styles.disabled, style]}
29
+ hitSlop={Platform.select({
30
+ ios: undefined,
31
+ default: { top: 16, right: 16, bottom: 16, left: 16 },
32
+ })}
33
+ >
34
+ {children}
35
+ </PlatformPressable>
36
+ );
37
+ }
38
+
39
+ const androidRipple = {
40
+ borderless: true,
41
+ foreground: Platform.OS === 'android' && Platform.Version >= 23,
42
+ radius: 20,
43
+ };
44
+
45
+ const styles = StyleSheet.create({
46
+ container: {
47
+ flexDirection: 'row',
48
+ alignItems: 'center',
49
+ paddingHorizontal: 8,
50
+ },
51
+ disabled: {
52
+ opacity: 0.5,
53
+ },
54
+ });
@@ -1,14 +1,20 @@
1
- import { Platform } from 'react-native';
1
+ import { PixelRatio, Platform } from 'react-native';
2
2
 
3
3
  import type { Layout } from '../types';
4
4
 
5
5
  export function getDefaultHeaderHeight(
6
6
  layout: Layout,
7
7
  modalPresentation: boolean,
8
- statusBarHeight: number
8
+ topInset: number
9
9
  ): number {
10
10
  let headerHeight;
11
11
 
12
+ // On models with Dynamic Island the status bar height is smaller than the safe area top inset.
13
+ const hasDynamicIsland = Platform.OS === 'ios' && topInset > 50;
14
+ const statusBarHeight = hasDynamicIsland
15
+ ? topInset - (5 + 1 / PixelRatio.get())
16
+ : topInset;
17
+
12
18
  const isLandscape = layout.width > layout.height;
13
19
 
14
20
  if (Platform.OS === 'ios') {
@@ -7,6 +7,6 @@ export function getHeaderTitle(
7
7
  return typeof options.headerTitle === 'string'
8
8
  ? options.headerTitle
9
9
  : options.title !== undefined
10
- ? options.title
11
- : fallback;
10
+ ? options.title
11
+ : fallback;
12
12
  }