@react-navigation/stack 7.0.0-rc.10 → 7.0.0-rc.11

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.
@@ -28,7 +28,6 @@ const CardSheet = exports.CardSheet = /*#__PURE__*/React.forwardRef(function Car
28
28
  setPointerEvents
29
29
  };
30
30
  });
31
- const workaroundApplied = React.useRef(false);
32
31
  React.useEffect(() => {
33
32
  if (typeof document === 'undefined' || !document.body) {
34
33
  // Only run when DOM is available
@@ -43,18 +42,20 @@ const CardSheet = exports.CardSheet = /*#__PURE__*/React.forwardRef(function Car
43
42
  // address bar). To fix this, it's necessary to update the height of
44
43
  // the DOM with the current height of the window.
45
44
  // See https://css-tricks.com/the-trick-to-viewport-units-on-mobile/
46
- const fillHeight = height === layout.height;
47
- if (fillHeight) {
45
+ const isFullHeight = height === layout.height;
46
+ const id = '__react-navigation-stack-mobile-chrome-viewport-fix';
47
+ if (isFullHeight) {
48
48
  const vh = window.innerHeight * 0.01;
49
- document.documentElement.style.setProperty('--vh', `${vh}px`);
50
- document.body.setAttribute('style', `height: calc(var(--vh, 1vh) * 100);`);
51
- workaroundApplied.current = true;
49
+ const style = document.getElementById(id) ?? document.createElement('style');
50
+ style.id = id;
51
+ style.innerHTML = [`:root { --vh: ${vh}px; }`, `body { height: calc(var(--vh, 1vh) * 100); }`].join('\n');
52
+ if (!document.head.contains(style)) {
53
+ document.head.appendChild(style);
54
+ }
52
55
  } else {
53
- // Revert the workaround if the stack does not occupy the whole
56
+ // Remove the workaround if the stack does not occupy the whole
54
57
  // height of the page
55
- if (workaroundApplied.current) {
56
- document.documentElement.style.removeProperty('--vh');
57
- }
58
+ document.getElementById(id)?.remove();
58
59
  }
59
60
  setFill(width === layout.width && height === layout.height);
60
61
  }, [layout.height, layout.width]);
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CardSheet","exports","forwardRef","enabled","layout","style","rest","ref","fill","setFill","useState","pointerEvents","setPointerEvents","useImperativeHandle","workaroundApplied","useRef","useEffect","document","body","width","clientWidth","height","clientHeight","fillHeight","vh","window","innerHeight","documentElement","setProperty","setAttribute","current","removeProperty","jsx","View","styles","page","card","StyleSheet","create","minHeight","flex","overflow"],"sourceRoot":"../../../../src","sources":["views/Stack/CardSheet.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CardSheet","exports","forwardRef","enabled","layout","style","rest","ref","fill","setFill","useState","pointerEvents","setPointerEvents","useImperativeHandle","useEffect","document","body","width","clientWidth","height","clientHeight","isFullHeight","id","vh","window","innerHeight","getElementById","createElement","innerHTML","join","head","contains","appendChild","remove","jsx","View","styles","page","card","StyleSheet","create","minHeight","flex","overflow"],"sourceRoot":"../../../../src","sources":["views/Stack/CardSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,6 @@ export const CardSheet = /*#__PURE__*/React.forwardRef(function CardSheet({
20
20
  setPointerEvents
21
21
  };
22
22
  });
23
- const workaroundApplied = React.useRef(false);
24
23
  React.useEffect(() => {
25
24
  if (typeof document === 'undefined' || !document.body) {
26
25
  // Only run when DOM is available
@@ -35,18 +34,20 @@ export const CardSheet = /*#__PURE__*/React.forwardRef(function CardSheet({
35
34
  // address bar). To fix this, it's necessary to update the height of
36
35
  // the DOM with the current height of the window.
37
36
  // See https://css-tricks.com/the-trick-to-viewport-units-on-mobile/
38
- const fillHeight = height === layout.height;
39
- if (fillHeight) {
37
+ const isFullHeight = height === layout.height;
38
+ const id = '__react-navigation-stack-mobile-chrome-viewport-fix';
39
+ if (isFullHeight) {
40
40
  const vh = window.innerHeight * 0.01;
41
- document.documentElement.style.setProperty('--vh', `${vh}px`);
42
- document.body.setAttribute('style', `height: calc(var(--vh, 1vh) * 100);`);
43
- workaroundApplied.current = true;
41
+ const style = document.getElementById(id) ?? document.createElement('style');
42
+ style.id = id;
43
+ style.innerHTML = [`:root { --vh: ${vh}px; }`, `body { height: calc(var(--vh, 1vh) * 100); }`].join('\n');
44
+ if (!document.head.contains(style)) {
45
+ document.head.appendChild(style);
46
+ }
44
47
  } else {
45
- // Revert the workaround if the stack does not occupy the whole
48
+ // Remove the workaround if the stack does not occupy the whole
46
49
  // height of the page
47
- if (workaroundApplied.current) {
48
- document.documentElement.style.removeProperty('--vh');
49
- }
50
+ document.getElementById(id)?.remove();
50
51
  }
51
52
  setFill(width === layout.width && height === layout.height);
52
53
  }, [layout.height, layout.width]);
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","jsx","_jsx","CardSheet","forwardRef","enabled","layout","style","rest","ref","fill","setFill","useState","pointerEvents","setPointerEvents","useImperativeHandle","workaroundApplied","useRef","useEffect","document","body","width","clientWidth","height","clientHeight","fillHeight","vh","window","innerHeight","documentElement","setProperty","setAttribute","current","removeProperty","styles","page","card","create","minHeight","flex","overflow"],"sourceRoot":"../../../../src","sources":["views/Stack/CardSheet.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAYhE;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,gBAAGL,KAAK,CAACM,UAAU,CACvC,SAASD,SAASA,CAAC;EAAEE,OAAO;EAAEC,MAAM;EAAEC,KAAK;EAAE,GAAGC;AAAK,CAAC,EAAEC,GAAG,EAAE;EAC3D,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGb,KAAK,CAACc,QAAQ,CAAC,KAAK,CAAC;EAC7C;EACA;EACA,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GACrChB,KAAK,CAACc,QAAQ,CAA6B,MAAM,CAAC;EAEpDd,KAAK,CAACiB,mBAAmB,CAACN,GAAG,EAAE,MAAM;IACnC,OAAO;MAAEK;IAAiB,CAAC;EAC7B,CAAC,CAAC;EAEF,MAAME,iBAAiB,GAAGlB,KAAK,CAACmB,MAAM,CAAC,KAAK,CAAC;EAC7CnB,KAAK,CAACoB,SAAS,CAAC,MAAM;IACpB,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,CAACA,QAAQ,CAACC,IAAI,EAAE;MACrD;MACA;IACF;IAEA,MAAMC,KAAK,GAAGF,QAAQ,CAACC,IAAI,CAACE,WAAW;IACvC,MAAMC,MAAM,GAAGJ,QAAQ,CAACC,IAAI,CAACI,YAAY;;IAEzC;IACA;IACA;IACA;IACA;IACA;IACA,MAAMC,UAAU,GAAGF,MAAM,KAAKjB,MAAM,CAACiB,MAAM;IAC3C,IAAIE,UAAU,EAAE;MACd,MAAMC,EAAE,GAAGC,MAAM,CAACC,WAAW,GAAG,IAAI;MACpCT,QAAQ,CAACU,eAAe,CAACtB,KAAK,CAACuB,WAAW,CAAC,MAAM,EAAE,GAAGJ,EAAE,IAAI,CAAC;MAC7DP,QAAQ,CAACC,IAAI,CAACW,YAAY,CACxB,OAAO,EACP,qCACF,CAAC;MACDf,iBAAiB,CAACgB,OAAO,GAAG,IAAI;IAClC,CAAC,MAAM;MACL;MACA;MACA,IAAIhB,iBAAiB,CAACgB,OAAO,EAAE;QAC7Bb,QAAQ,CAACU,eAAe,CAACtB,KAAK,CAAC0B,cAAc,CAAC,MAAM,CAAC;MACvD;IACF;IAEAtB,OAAO,CAACU,KAAK,KAAKf,MAAM,CAACe,KAAK,IAAIE,MAAM,KAAKjB,MAAM,CAACiB,MAAM,CAAC;EAC7D,CAAC,EAAE,CAACjB,MAAM,CAACiB,MAAM,EAAEjB,MAAM,CAACe,KAAK,CAAC,CAAC;EAEjC,oBACEnB,IAAA,CAACF,IAAI;IAAA,GACCQ,IAAI;IACRK,aAAa,EAAEA,aAAc;IAC7BN,KAAK,EAAE,CAACF,OAAO,IAAIK,IAAI,GAAGwB,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACE,IAAI,EAAE7B,KAAK;EAAE,CAC7D,CAAC;AAEN,CACF,CAAC;AAED,MAAM2B,MAAM,GAAGnC,UAAU,CAACsC,MAAM,CAAC;EAC/BF,IAAI,EAAE;IACJG,SAAS,EAAE;EACb,CAAC;EACDF,IAAI,EAAE;IACJG,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","jsx","_jsx","CardSheet","forwardRef","enabled","layout","style","rest","ref","fill","setFill","useState","pointerEvents","setPointerEvents","useImperativeHandle","useEffect","document","body","width","clientWidth","height","clientHeight","isFullHeight","id","vh","window","innerHeight","getElementById","createElement","innerHTML","join","head","contains","appendChild","remove","styles","page","card","create","minHeight","flex","overflow"],"sourceRoot":"../../../../src","sources":["views/Stack/CardSheet.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAYhE;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,gBAAGL,KAAK,CAACM,UAAU,CACvC,SAASD,SAASA,CAAC;EAAEE,OAAO;EAAEC,MAAM;EAAEC,KAAK;EAAE,GAAGC;AAAK,CAAC,EAAEC,GAAG,EAAE;EAC3D,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGb,KAAK,CAACc,QAAQ,CAAC,KAAK,CAAC;EAC7C;EACA;EACA,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GACrChB,KAAK,CAACc,QAAQ,CAA6B,MAAM,CAAC;EAEpDd,KAAK,CAACiB,mBAAmB,CAACN,GAAG,EAAE,MAAM;IACnC,OAAO;MAAEK;IAAiB,CAAC;EAC7B,CAAC,CAAC;EAEFhB,KAAK,CAACkB,SAAS,CAAC,MAAM;IACpB,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,CAACA,QAAQ,CAACC,IAAI,EAAE;MACrD;MACA;IACF;IAEA,MAAMC,KAAK,GAAGF,QAAQ,CAACC,IAAI,CAACE,WAAW;IACvC,MAAMC,MAAM,GAAGJ,QAAQ,CAACC,IAAI,CAACI,YAAY;;IAEzC;IACA;IACA;IACA;IACA;IACA;IACA,MAAMC,YAAY,GAAGF,MAAM,KAAKf,MAAM,CAACe,MAAM;IAC7C,MAAMG,EAAE,GAAG,qDAAqD;IAEhE,IAAID,YAAY,EAAE;MAChB,MAAME,EAAE,GAAGC,MAAM,CAACC,WAAW,GAAG,IAAI;MACpC,MAAMpB,KAAK,GACTU,QAAQ,CAACW,cAAc,CAACJ,EAAE,CAAC,IAAIP,QAAQ,CAACY,aAAa,CAAC,OAAO,CAAC;MAEhEtB,KAAK,CAACiB,EAAE,GAAGA,EAAE;MACbjB,KAAK,CAACuB,SAAS,GAAG,CAChB,iBAAiBL,EAAE,OAAO,EAC1B,8CAA8C,CAC/C,CAACM,IAAI,CAAC,IAAI,CAAC;MAEZ,IAAI,CAACd,QAAQ,CAACe,IAAI,CAACC,QAAQ,CAAC1B,KAAK,CAAC,EAAE;QAClCU,QAAQ,CAACe,IAAI,CAACE,WAAW,CAAC3B,KAAK,CAAC;MAClC;IACF,CAAC,MAAM;MACL;MACA;MACAU,QAAQ,CAACW,cAAc,CAACJ,EAAE,CAAC,EAAEW,MAAM,CAAC,CAAC;IACvC;IAEAxB,OAAO,CAACQ,KAAK,KAAKb,MAAM,CAACa,KAAK,IAAIE,MAAM,KAAKf,MAAM,CAACe,MAAM,CAAC;EAC7D,CAAC,EAAE,CAACf,MAAM,CAACe,MAAM,EAAEf,MAAM,CAACa,KAAK,CAAC,CAAC;EAEjC,oBACEjB,IAAA,CAACF,IAAI;IAAA,GACCQ,IAAI;IACRK,aAAa,EAAEA,aAAc;IAC7BN,KAAK,EAAE,CAACF,OAAO,IAAIK,IAAI,GAAG0B,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACE,IAAI,EAAE/B,KAAK;EAAE,CAC7D,CAAC;AAEN,CACF,CAAC;AAED,MAAM6B,MAAM,GAAGrC,UAAU,CAACwC,MAAM,CAAC;EAC/BF,IAAI,EAAE;IACJG,SAAS,EAAE;EACb,CAAC;EACDF,IAAI,EAAE;IACJG,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CardSheet.d.ts","sourceRoot":"","sources":["../../../../../src/views/Stack/CardSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAQhE,MAAM,MAAM,YAAY,GAAG;IACzB,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;CAC9D,CAAC;AAMF,eAAO,MAAM,SAAS;aAbX,OAAO;YACR;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;cAC/B,KAAK,CAAC,SAAS;sCAmE1B,CAAC"}
1
+ {"version":3,"file":"CardSheet.d.ts","sourceRoot":"","sources":["../../../../../src/views/Stack/CardSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAQhE,MAAM,MAAM,YAAY,GAAG;IACzB,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;CAC9D,CAAC;AAMF,eAAO,MAAM,SAAS;aAbX,OAAO;YACR;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;cAC/B,KAAK,CAAC,SAAS;sCAwE1B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/stack",
3
3
  "description": "Stack navigator component for iOS and Android with animated transitions and gestures",
4
- "version": "7.0.0-rc.10",
4
+ "version": "7.0.0-rc.11",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -46,11 +46,11 @@
46
46
  "clean": "del lib"
47
47
  },
48
48
  "dependencies": {
49
- "@react-navigation/elements": "^2.0.0-rc.9",
49
+ "@react-navigation/elements": "^2.0.0-rc.10",
50
50
  "color": "^4.2.3"
51
51
  },
52
52
  "devDependencies": {
53
- "@react-navigation/native": "^7.0.0-rc.8",
53
+ "@react-navigation/native": "^7.0.0-rc.9",
54
54
  "@testing-library/react-native": "^12.4.3",
55
55
  "@types/color": "^3.0.6",
56
56
  "@types/react": "~18.2.79",
@@ -64,7 +64,7 @@
64
64
  "typescript": "^5.5.2"
65
65
  },
66
66
  "peerDependencies": {
67
- "@react-navigation/native": "^7.0.0-rc.8",
67
+ "@react-navigation/native": "^7.0.0-rc.9",
68
68
  "react": ">= 18.2.0",
69
69
  "react-native": ">= 0.72.0",
70
70
  "react-native-gesture-handler": ">= 2.0.0",
@@ -95,5 +95,5 @@
95
95
  ]
96
96
  ]
97
97
  },
98
- "gitHead": "a5dcadcdd72520c47ef4946b507017abd519ce9c"
98
+ "gitHead": "229fd24314f94d61783db71c1b8ed05fcb75050e"
99
99
  }
@@ -27,7 +27,6 @@ export const CardSheet = React.forwardRef<CardSheetRef, Props>(
27
27
  return { setPointerEvents };
28
28
  });
29
29
 
30
- const workaroundApplied = React.useRef(false);
31
30
  React.useEffect(() => {
32
31
  if (typeof document === 'undefined' || !document.body) {
33
32
  // Only run when DOM is available
@@ -43,21 +42,27 @@ export const CardSheet = React.forwardRef<CardSheetRef, Props>(
43
42
  // address bar). To fix this, it's necessary to update the height of
44
43
  // the DOM with the current height of the window.
45
44
  // See https://css-tricks.com/the-trick-to-viewport-units-on-mobile/
46
- const fillHeight = height === layout.height;
47
- if (fillHeight) {
45
+ const isFullHeight = height === layout.height;
46
+ const id = '__react-navigation-stack-mobile-chrome-viewport-fix';
47
+
48
+ if (isFullHeight) {
48
49
  const vh = window.innerHeight * 0.01;
49
- document.documentElement.style.setProperty('--vh', `${vh}px`);
50
- document.body.setAttribute(
51
- 'style',
52
- `height: calc(var(--vh, 1vh) * 100);`
53
- );
54
- workaroundApplied.current = true;
50
+ const style =
51
+ document.getElementById(id) ?? document.createElement('style');
52
+
53
+ style.id = id;
54
+ style.innerHTML = [
55
+ `:root { --vh: ${vh}px; }`,
56
+ `body { height: calc(var(--vh, 1vh) * 100); }`,
57
+ ].join('\n');
58
+
59
+ if (!document.head.contains(style)) {
60
+ document.head.appendChild(style);
61
+ }
55
62
  } else {
56
- // Revert the workaround if the stack does not occupy the whole
63
+ // Remove the workaround if the stack does not occupy the whole
57
64
  // height of the page
58
- if (workaroundApplied.current) {
59
- document.documentElement.style.removeProperty('--vh');
60
- }
65
+ document.getElementById(id)?.remove();
61
66
  }
62
67
 
63
68
  setFill(width === layout.width && height === layout.height);