@tamagui/remove-scroll 2.0.0-rc.4 → 2.0.0-rc.40

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 (50) hide show
  1. package/dist/cjs/RemoveScroll.cjs +16 -11
  2. package/dist/cjs/RemoveScroll.native.js +15 -13
  3. package/dist/cjs/RemoveScroll.native.js.map +1 -1
  4. package/dist/cjs/index.cjs +7 -5
  5. package/dist/cjs/index.native.js +7 -5
  6. package/dist/cjs/index.native.js.map +1 -1
  7. package/dist/cjs/useDisableScroll.cjs +88 -43
  8. package/dist/cjs/useDisableScroll.native.js +88 -45
  9. package/dist/cjs/useDisableScroll.native.js.map +1 -1
  10. package/dist/esm/RemoveScroll.mjs +4 -1
  11. package/dist/esm/RemoveScroll.mjs.map +1 -1
  12. package/dist/esm/RemoveScroll.native.js +3 -3
  13. package/dist/esm/RemoveScroll.native.js.map +1 -1
  14. package/dist/esm/index.js +1 -1
  15. package/dist/esm/index.js.map +1 -6
  16. package/dist/esm/useDisableScroll.mjs +76 -33
  17. package/dist/esm/useDisableScroll.mjs.map +1 -1
  18. package/dist/esm/useDisableScroll.native.js +74 -33
  19. package/dist/esm/useDisableScroll.native.js.map +1 -1
  20. package/dist/jsx/RemoveScroll.mjs +4 -1
  21. package/dist/jsx/RemoveScroll.mjs.map +1 -1
  22. package/dist/jsx/RemoveScroll.native.js +15 -13
  23. package/dist/jsx/RemoveScroll.native.js.map +1 -1
  24. package/dist/jsx/index.js +1 -1
  25. package/dist/jsx/index.js.map +1 -6
  26. package/dist/jsx/index.native.js +7 -5
  27. package/dist/jsx/useDisableScroll.mjs +76 -33
  28. package/dist/jsx/useDisableScroll.mjs.map +1 -1
  29. package/dist/jsx/useDisableScroll.native.js +88 -45
  30. package/dist/jsx/useDisableScroll.native.js.map +1 -1
  31. package/package.json +5 -8
  32. package/src/useDisableScroll.ts +3 -3
  33. package/types/RemoveScroll.d.ts.map +2 -2
  34. package/types/RemoveScroll.native.d.ts.map +2 -2
  35. package/types/index.d.ts.map +2 -2
  36. package/types/useDisableScroll.d.ts.map +3 -3
  37. package/dist/cjs/RemoveScroll.js +0 -22
  38. package/dist/cjs/RemoveScroll.js.map +0 -6
  39. package/dist/cjs/index.js +0 -15
  40. package/dist/cjs/index.js.map +0 -6
  41. package/dist/cjs/useDisableScroll.js +0 -57
  42. package/dist/cjs/useDisableScroll.js.map +0 -6
  43. package/dist/esm/RemoveScroll.js +0 -6
  44. package/dist/esm/RemoveScroll.js.map +0 -6
  45. package/dist/esm/useDisableScroll.js +0 -41
  46. package/dist/esm/useDisableScroll.js.map +0 -6
  47. package/dist/jsx/RemoveScroll.js +0 -6
  48. package/dist/jsx/RemoveScroll.js.map +0 -6
  49. package/dist/jsx/useDisableScroll.js +0 -41
  50. package/dist/jsx/useDisableScroll.js.map +0 -6
@@ -1,45 +1,88 @@
1
1
  import { useEffect, useRef } from "react";
2
- const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement;
3
- let refCount = 0,
4
- savedScrollY = 0,
5
- previousStyles = null;
2
+ const canUseDOM = () => typeof window !== "undefined" && !!window.document && !!window.document.createElement;
3
+ let refCount = 0;
4
+ let savedScrollY = 0;
5
+ let previousStyles = null;
6
6
  function isIOSSafari() {
7
- if (typeof navigator > "u") return !1;
8
- const ua = navigator.userAgent,
9
- isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1,
10
- isSafari = /^((?!chrome|android).)*safari/i.test(ua);
7
+ if (typeof navigator === "undefined") return false;
8
+ const ua = navigator.userAgent;
9
+ const isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
10
+ const isSafari = /^((?!chrome|android).)*safari/i.test(ua);
11
11
  return isIOS && isSafari;
12
12
  }
13
13
  const useDisableBodyScroll = enabled => {
14
- const wasEnabled = useRef(!1);
14
+ const wasEnabled = useRef(false);
15
15
  useEffect(() => {
16
- if (canUseDOM()) {
17
- if (enabled && !wasEnabled.current) {
18
- if (wasEnabled.current = !0, ++refCount === 1) {
19
- const html = document.documentElement,
20
- body = document.body;
21
- savedScrollY = window.scrollY, previousStyles = {
22
- htmlOverflow: html.style.overflow,
23
- htmlScrollbarGutter: html.style.scrollbarGutter,
24
- bodyPosition: body.style.position,
25
- bodyTop: body.style.top,
26
- bodyWidth: body.style.width,
27
- bodyOverflow: body.style.overflow,
28
- bodyOverscrollBehavior: body.style.overscrollBehavior
29
- }, html.style.scrollbarGutter = "stable", html.style.overflow = "hidden", body.style.overscrollBehavior = "none", isIOSSafari() && (body.style.position = "fixed", body.style.top = `-${savedScrollY}px`, body.style.width = "100%", body.style.overflow = "hidden");
16
+ if (!canUseDOM()) {
17
+ return;
18
+ }
19
+ if (enabled && !wasEnabled.current) {
20
+ wasEnabled.current = true;
21
+ if (++refCount === 1) {
22
+ const html = document.documentElement;
23
+ const body = document.body;
24
+ savedScrollY = window.scrollY;
25
+ previousStyles = {
26
+ htmlOverflow: html.style.overflow,
27
+ htmlScrollbarGutter: html.style.scrollbarGutter,
28
+ bodyPosition: body.style.position,
29
+ bodyTop: body.style.top,
30
+ bodyWidth: body.style.width,
31
+ bodyOverflow: body.style.overflow,
32
+ bodyOverscrollBehavior: body.style.overscrollBehavior
33
+ };
34
+ html.style.scrollbarGutter = "stable";
35
+ html.style.overflow = "hidden";
36
+ body.style.overscrollBehavior = "none";
37
+ if (isIOSSafari()) {
38
+ body.style.position = "fixed";
39
+ body.style.top = `-${savedScrollY}px`;
40
+ body.style.width = "100%";
41
+ body.style.overflow = "hidden";
30
42
  }
31
- } else if (!enabled && wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
32
- const html = document.documentElement,
33
- body = document.body;
34
- html.style.overflow = previousStyles.htmlOverflow, html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter, body.style.position = previousStyles.bodyPosition, body.style.top = previousStyles.bodyTop, body.style.width = previousStyles.bodyWidth, body.style.overflow = previousStyles.bodyOverflow, body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior, isIOSSafari() && savedScrollY > 0 && window.scrollTo(0, savedScrollY), previousStyles = null, savedScrollY = 0;
43
+ }
44
+ } else if (!enabled && wasEnabled.current) {
45
+ wasEnabled.current = false;
46
+ if (--refCount === 0 && previousStyles) {
47
+ const html = document.documentElement;
48
+ const body = document.body;
49
+ html.style.overflow = previousStyles.htmlOverflow;
50
+ html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;
51
+ body.style.position = previousStyles.bodyPosition;
52
+ body.style.top = previousStyles.bodyTop;
53
+ body.style.width = previousStyles.bodyWidth;
54
+ body.style.overflow = previousStyles.bodyOverflow;
55
+ body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;
56
+ if (savedScrollY > 0) {
57
+ window.scrollTo(0, savedScrollY);
58
+ }
59
+ previousStyles = null;
60
+ savedScrollY = 0;
35
61
  }
36
62
  }
37
- }, [enabled]), useEffect(() => () => {
38
- if (wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
39
- const html = document.documentElement,
40
- body = document.body;
41
- html.style.overflow = previousStyles.htmlOverflow, html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter, body.style.position = previousStyles.bodyPosition, body.style.top = previousStyles.bodyTop, body.style.width = previousStyles.bodyWidth, body.style.overflow = previousStyles.bodyOverflow, body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior, isIOSSafari() && savedScrollY > 0 && window.scrollTo(0, savedScrollY), previousStyles = null, savedScrollY = 0;
42
- }
63
+ }, [enabled]);
64
+ useEffect(() => {
65
+ return () => {
66
+ if (wasEnabled.current) {
67
+ wasEnabled.current = false;
68
+ if (--refCount === 0 && previousStyles) {
69
+ const html = document.documentElement;
70
+ const body = document.body;
71
+ html.style.overflow = previousStyles.htmlOverflow;
72
+ html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;
73
+ body.style.position = previousStyles.bodyPosition;
74
+ body.style.top = previousStyles.bodyTop;
75
+ body.style.width = previousStyles.bodyWidth;
76
+ body.style.overflow = previousStyles.bodyOverflow;
77
+ body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;
78
+ if (savedScrollY > 0) {
79
+ window.scrollTo(0, savedScrollY);
80
+ }
81
+ previousStyles = null;
82
+ savedScrollY = 0;
83
+ }
84
+ }
85
+ };
43
86
  }, []);
44
87
  };
45
88
  export { useDisableBodyScroll };
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","canUseDOM","window","document","createElement","refCount","savedScrollY","previousStyles","isIOSSafari","navigator","ua","userAgent","isIOS","test","platform","maxTouchPoints","isSafari","useDisableBodyScroll","enabled","wasEnabled","current","html","documentElement","body","scrollY","htmlOverflow","style","overflow","htmlScrollbarGutter","scrollbarGutter","bodyPosition","position","bodyTop","top","bodyWidth","width","bodyOverflow","bodyOverscrollBehavior","overscrollBehavior","scrollTo"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","canUseDOM","window","document","createElement","refCount","savedScrollY","previousStyles","isIOSSafari","navigator","ua","userAgent","isIOS","test","platform","maxTouchPoints","isSafari","useDisableBodyScroll","enabled","wasEnabled","current","html","documentElement","body","scrollY","htmlOverflow","style","overflow","htmlScrollbarGutter","scrollbarGutter","bodyPosition","position","bodyTop","top","bodyWidth","width","bodyOverflow","bodyOverscrollBehavior","overscrollBehavior","scrollTo"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,47 +1,88 @@
1
1
  import { useEffect, useRef } from "react";
2
2
  var canUseDOM = function () {
3
- return typeof window < "u" && !!window.document && !!window.document.createElement;
4
- },
5
- refCount = 0,
6
- savedScrollY = 0,
7
- previousStyles = null;
3
+ return typeof window !== "undefined" && !!window.document && !!window.document.createElement;
4
+ };
5
+ var refCount = 0;
6
+ var savedScrollY = 0;
7
+ var previousStyles = null;
8
8
  function isIOSSafari() {
9
- if (typeof navigator > "u") return !1;
10
- var ua = navigator.userAgent,
11
- isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1,
12
- isSafari = /^((?!chrome|android).)*safari/i.test(ua);
9
+ if (typeof navigator === "undefined") return false;
10
+ var ua = navigator.userAgent;
11
+ var isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
12
+ var isSafari = /^((?!chrome|android).)*safari/i.test(ua);
13
13
  return isIOS && isSafari;
14
14
  }
15
15
  var useDisableBodyScroll = function (enabled) {
16
- var wasEnabled = useRef(!1);
16
+ var wasEnabled = useRef(false);
17
17
  useEffect(function () {
18
- if (canUseDOM()) {
19
- if (enabled && !wasEnabled.current) {
20
- if (wasEnabled.current = !0, ++refCount === 1) {
21
- var html = document.documentElement,
22
- body = document.body;
23
- savedScrollY = window.scrollY, previousStyles = {
24
- htmlOverflow: html.style.overflow,
25
- htmlScrollbarGutter: html.style.scrollbarGutter,
26
- bodyPosition: body.style.position,
27
- bodyTop: body.style.top,
28
- bodyWidth: body.style.width,
29
- bodyOverflow: body.style.overflow,
30
- bodyOverscrollBehavior: body.style.overscrollBehavior
31
- }, html.style.scrollbarGutter = "stable", html.style.overflow = "hidden", body.style.overscrollBehavior = "none", isIOSSafari() && (body.style.position = "fixed", body.style.top = `-${savedScrollY}px`, body.style.width = "100%", body.style.overflow = "hidden");
18
+ if (!canUseDOM()) {
19
+ return;
20
+ }
21
+ if (enabled && !wasEnabled.current) {
22
+ wasEnabled.current = true;
23
+ if (++refCount === 1) {
24
+ var html = document.documentElement;
25
+ var body = document.body;
26
+ savedScrollY = window.scrollY;
27
+ previousStyles = {
28
+ htmlOverflow: html.style.overflow,
29
+ htmlScrollbarGutter: html.style.scrollbarGutter,
30
+ bodyPosition: body.style.position,
31
+ bodyTop: body.style.top,
32
+ bodyWidth: body.style.width,
33
+ bodyOverflow: body.style.overflow,
34
+ bodyOverscrollBehavior: body.style.overscrollBehavior
35
+ };
36
+ html.style.scrollbarGutter = "stable";
37
+ html.style.overflow = "hidden";
38
+ body.style.overscrollBehavior = "none";
39
+ if (isIOSSafari()) {
40
+ body.style.position = "fixed";
41
+ body.style.top = `-${savedScrollY}px`;
42
+ body.style.width = "100%";
43
+ body.style.overflow = "hidden";
44
+ }
45
+ }
46
+ } else if (!enabled && wasEnabled.current) {
47
+ wasEnabled.current = false;
48
+ if (--refCount === 0 && previousStyles) {
49
+ var html1 = document.documentElement;
50
+ var body1 = document.body;
51
+ html1.style.overflow = previousStyles.htmlOverflow;
52
+ html1.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;
53
+ body1.style.position = previousStyles.bodyPosition;
54
+ body1.style.top = previousStyles.bodyTop;
55
+ body1.style.width = previousStyles.bodyWidth;
56
+ body1.style.overflow = previousStyles.bodyOverflow;
57
+ body1.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;
58
+ if (savedScrollY > 0) {
59
+ window.scrollTo(0, savedScrollY);
32
60
  }
33
- } else if (!enabled && wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
34
- var html1 = document.documentElement,
35
- body1 = document.body;
36
- html1.style.overflow = previousStyles.htmlOverflow, html1.style.scrollbarGutter = previousStyles.htmlScrollbarGutter, body1.style.position = previousStyles.bodyPosition, body1.style.top = previousStyles.bodyTop, body1.style.width = previousStyles.bodyWidth, body1.style.overflow = previousStyles.bodyOverflow, body1.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior, isIOSSafari() && savedScrollY > 0 && window.scrollTo(0, savedScrollY), previousStyles = null, savedScrollY = 0;
61
+ previousStyles = null;
62
+ savedScrollY = 0;
37
63
  }
38
64
  }
39
- }, [enabled]), useEffect(function () {
65
+ }, [enabled]);
66
+ useEffect(function () {
40
67
  return function () {
41
- if (wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
42
- var html = document.documentElement,
43
- body = document.body;
44
- html.style.overflow = previousStyles.htmlOverflow, html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter, body.style.position = previousStyles.bodyPosition, body.style.top = previousStyles.bodyTop, body.style.width = previousStyles.bodyWidth, body.style.overflow = previousStyles.bodyOverflow, body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior, isIOSSafari() && savedScrollY > 0 && window.scrollTo(0, savedScrollY), previousStyles = null, savedScrollY = 0;
68
+ if (wasEnabled.current) {
69
+ wasEnabled.current = false;
70
+ if (--refCount === 0 && previousStyles) {
71
+ var html = document.documentElement;
72
+ var body = document.body;
73
+ html.style.overflow = previousStyles.htmlOverflow;
74
+ html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;
75
+ body.style.position = previousStyles.bodyPosition;
76
+ body.style.top = previousStyles.bodyTop;
77
+ body.style.width = previousStyles.bodyWidth;
78
+ body.style.overflow = previousStyles.bodyOverflow;
79
+ body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;
80
+ if (savedScrollY > 0) {
81
+ window.scrollTo(0, savedScrollY);
82
+ }
83
+ previousStyles = null;
84
+ savedScrollY = 0;
85
+ }
45
86
  }
46
87
  };
47
88
  }, []);
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","canUseDOM","window","document","createElement","refCount","savedScrollY","previousStyles","isIOSSafari","navigator","ua","userAgent","isIOS","test","platform","maxTouchPoints","isSafari","useDisableBodyScroll","enabled","wasEnabled","current","html","documentElement","body","scrollY","htmlOverflow","style","overflow","htmlScrollbarGutter","scrollbarGutter","bodyPosition","position","bodyTop","top","bodyWidth","width","bodyOverflow","bodyOverscrollBehavior","overscrollBehavior","html1","body1","scrollTo"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","canUseDOM","window","document","createElement","refCount","savedScrollY","previousStyles","isIOSSafari","navigator","ua","userAgent","isIOS","test","platform","maxTouchPoints","isSafari","useDisableBodyScroll","enabled","wasEnabled","current","html","documentElement","body","scrollY","htmlOverflow","style","overflow","htmlScrollbarGutter","scrollbarGutter","bodyPosition","position","bodyTop","top","bodyWidth","width","bodyOverflow","bodyOverscrollBehavior","overscrollBehavior","html1","body1","scrollTo"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,7 @@
1
1
  import { useDisableBodyScroll } from "./useDisableScroll.mjs";
2
- const RemoveScroll = props => (useDisableBodyScroll(!!props.enabled), props.children);
2
+ const RemoveScroll = props => {
3
+ useDisableBodyScroll(Boolean(props.enabled));
4
+ return props.children;
5
+ };
3
6
  export { RemoveScroll };
4
7
  //# sourceMappingURL=RemoveScroll.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useDisableBodyScroll","RemoveScroll","props","enabled","children"],"sources":["../../src/RemoveScroll.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,oBAAA,QAA4B;AAO9B,MAAMC,YAAA,GAAgBC,KAAA,KAC3BF,oBAAA,CAAqB,EAAQE,KAAA,CAAMC,OAAQ,GAEpCD,KAAA,CAAME,QAAA","ignoreList":[]}
1
+ {"version":3,"names":["useDisableBodyScroll","RemoveScroll","props","Boolean","enabled","children"],"sources":["../../src/RemoveScroll.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,oBAAA,QAA4B;AAO9B,MAAMC,YAAA,GAAgBC,KAAA,IAAwC;EACnEF,oBAAA,CAAqBG,OAAA,CAAQD,KAAA,CAAME,OAAO,CAAC;EAE3C,OAAOF,KAAA,CAAMG,QAAA;AACf","ignoreList":[]}
@@ -5,20 +5,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: !0
23
+ value: true
22
24
  }), mod);
23
25
  var RemoveScroll_native_exports = {};
24
26
  __export(RemoveScroll_native_exports, {
@@ -27,7 +29,7 @@ __export(RemoveScroll_native_exports, {
27
29
  });
28
30
  module.exports = __toCommonJS(RemoveScroll_native_exports);
29
31
  var RemoveScroll = function (props) {
30
- return props.children;
31
- },
32
- getAllowedScrollableNode = function () {};
32
+ return props.children;
33
+ };
34
+ var getAllowedScrollableNode = function () {};
33
35
  //# sourceMappingURL=RemoveScroll.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RemoveScroll_native_exports","__export","RemoveScroll","getAllowedScrollableNode","module","exports","__toCommonJS","props","children"],"sources":["../../src/RemoveScroll.native.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,2BAAA;AAAAC,QAAA,CAAAD,2BAAA;EAAAE,YAAA,EAAAA,CAAA,KAAAA,YAAA;EAAAC,wBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAN,2BAAA;AAAO,IAAIE,YAAA,GAAe,SAAAA,CAASK,KAAA,EAAO;IACtC,OAAOA,KAAA,CAAMC,QAAA;EACjB;EACWL,wBAAA,GAA2B,SAAAA,CAAA,EAAW,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["RemoveScroll_native_exports","__export","RemoveScroll","getAllowedScrollableNode","module","exports","__toCommonJS","props","children"],"sources":["../../src/RemoveScroll.native.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,2BAAA;AAAAC,QAAA,CAAAD,2BAAA;EAAAE,YAAA,EAAAA,CAAA,KAAAA,YAAA;EAAAC,wBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAN,2BAAA;AAAO,IAAIE,YAAA,GAAe,SAAAA,CAASK,KAAA,EAAO;EACtC,OAAOA,KAAA,CAAMC,QAAA;AACjB;AACO,IAAIL,wBAAA,GAA2B,SAAAA,CAAA,EAAW,CAAC","ignoreList":[]}
package/dist/jsx/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./RemoveScroll";
1
+ export * from "./RemoveScroll.mjs";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,cAAc;",
5
- "names": []
6
- }
1
+ {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -5,15 +5,17 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __copyProps = (to, from, except, desc) => {
8
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
9
10
  get: () => from[key],
10
11
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
11
12
  });
12
- return to;
13
- },
14
- __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
13
+ }
14
+ return to;
15
+ };
16
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
17
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
16
- value: !0
18
+ value: true
17
19
  }), mod);
18
20
  var index_exports = {};
19
21
  module.exports = __toCommonJS(index_exports);
@@ -1,45 +1,88 @@
1
1
  import { useEffect, useRef } from "react";
2
- const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement;
3
- let refCount = 0,
4
- savedScrollY = 0,
5
- previousStyles = null;
2
+ const canUseDOM = () => typeof window !== "undefined" && !!window.document && !!window.document.createElement;
3
+ let refCount = 0;
4
+ let savedScrollY = 0;
5
+ let previousStyles = null;
6
6
  function isIOSSafari() {
7
- if (typeof navigator > "u") return !1;
8
- const ua = navigator.userAgent,
9
- isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1,
10
- isSafari = /^((?!chrome|android).)*safari/i.test(ua);
7
+ if (typeof navigator === "undefined") return false;
8
+ const ua = navigator.userAgent;
9
+ const isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
10
+ const isSafari = /^((?!chrome|android).)*safari/i.test(ua);
11
11
  return isIOS && isSafari;
12
12
  }
13
13
  const useDisableBodyScroll = enabled => {
14
- const wasEnabled = useRef(!1);
14
+ const wasEnabled = useRef(false);
15
15
  useEffect(() => {
16
- if (canUseDOM()) {
17
- if (enabled && !wasEnabled.current) {
18
- if (wasEnabled.current = !0, ++refCount === 1) {
19
- const html = document.documentElement,
20
- body = document.body;
21
- savedScrollY = window.scrollY, previousStyles = {
22
- htmlOverflow: html.style.overflow,
23
- htmlScrollbarGutter: html.style.scrollbarGutter,
24
- bodyPosition: body.style.position,
25
- bodyTop: body.style.top,
26
- bodyWidth: body.style.width,
27
- bodyOverflow: body.style.overflow,
28
- bodyOverscrollBehavior: body.style.overscrollBehavior
29
- }, html.style.scrollbarGutter = "stable", html.style.overflow = "hidden", body.style.overscrollBehavior = "none", isIOSSafari() && (body.style.position = "fixed", body.style.top = `-${savedScrollY}px`, body.style.width = "100%", body.style.overflow = "hidden");
16
+ if (!canUseDOM()) {
17
+ return;
18
+ }
19
+ if (enabled && !wasEnabled.current) {
20
+ wasEnabled.current = true;
21
+ if (++refCount === 1) {
22
+ const html = document.documentElement;
23
+ const body = document.body;
24
+ savedScrollY = window.scrollY;
25
+ previousStyles = {
26
+ htmlOverflow: html.style.overflow,
27
+ htmlScrollbarGutter: html.style.scrollbarGutter,
28
+ bodyPosition: body.style.position,
29
+ bodyTop: body.style.top,
30
+ bodyWidth: body.style.width,
31
+ bodyOverflow: body.style.overflow,
32
+ bodyOverscrollBehavior: body.style.overscrollBehavior
33
+ };
34
+ html.style.scrollbarGutter = "stable";
35
+ html.style.overflow = "hidden";
36
+ body.style.overscrollBehavior = "none";
37
+ if (isIOSSafari()) {
38
+ body.style.position = "fixed";
39
+ body.style.top = `-${savedScrollY}px`;
40
+ body.style.width = "100%";
41
+ body.style.overflow = "hidden";
30
42
  }
31
- } else if (!enabled && wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
32
- const html = document.documentElement,
33
- body = document.body;
34
- html.style.overflow = previousStyles.htmlOverflow, html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter, body.style.position = previousStyles.bodyPosition, body.style.top = previousStyles.bodyTop, body.style.width = previousStyles.bodyWidth, body.style.overflow = previousStyles.bodyOverflow, body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior, isIOSSafari() && savedScrollY > 0 && window.scrollTo(0, savedScrollY), previousStyles = null, savedScrollY = 0;
43
+ }
44
+ } else if (!enabled && wasEnabled.current) {
45
+ wasEnabled.current = false;
46
+ if (--refCount === 0 && previousStyles) {
47
+ const html = document.documentElement;
48
+ const body = document.body;
49
+ html.style.overflow = previousStyles.htmlOverflow;
50
+ html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;
51
+ body.style.position = previousStyles.bodyPosition;
52
+ body.style.top = previousStyles.bodyTop;
53
+ body.style.width = previousStyles.bodyWidth;
54
+ body.style.overflow = previousStyles.bodyOverflow;
55
+ body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;
56
+ if (savedScrollY > 0) {
57
+ window.scrollTo(0, savedScrollY);
58
+ }
59
+ previousStyles = null;
60
+ savedScrollY = 0;
35
61
  }
36
62
  }
37
- }, [enabled]), useEffect(() => () => {
38
- if (wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
39
- const html = document.documentElement,
40
- body = document.body;
41
- html.style.overflow = previousStyles.htmlOverflow, html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter, body.style.position = previousStyles.bodyPosition, body.style.top = previousStyles.bodyTop, body.style.width = previousStyles.bodyWidth, body.style.overflow = previousStyles.bodyOverflow, body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior, isIOSSafari() && savedScrollY > 0 && window.scrollTo(0, savedScrollY), previousStyles = null, savedScrollY = 0;
42
- }
63
+ }, [enabled]);
64
+ useEffect(() => {
65
+ return () => {
66
+ if (wasEnabled.current) {
67
+ wasEnabled.current = false;
68
+ if (--refCount === 0 && previousStyles) {
69
+ const html = document.documentElement;
70
+ const body = document.body;
71
+ html.style.overflow = previousStyles.htmlOverflow;
72
+ html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;
73
+ body.style.position = previousStyles.bodyPosition;
74
+ body.style.top = previousStyles.bodyTop;
75
+ body.style.width = previousStyles.bodyWidth;
76
+ body.style.overflow = previousStyles.bodyOverflow;
77
+ body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;
78
+ if (savedScrollY > 0) {
79
+ window.scrollTo(0, savedScrollY);
80
+ }
81
+ previousStyles = null;
82
+ savedScrollY = 0;
83
+ }
84
+ }
85
+ };
43
86
  }, []);
44
87
  };
45
88
  export { useDisableBodyScroll };
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","canUseDOM","window","document","createElement","refCount","savedScrollY","previousStyles","isIOSSafari","navigator","ua","userAgent","isIOS","test","platform","maxTouchPoints","isSafari","useDisableBodyScroll","enabled","wasEnabled","current","html","documentElement","body","scrollY","htmlOverflow","style","overflow","htmlScrollbarGutter","scrollbarGutter","bodyPosition","position","bodyTop","top","bodyWidth","width","bodyOverflow","bodyOverscrollBehavior","overscrollBehavior","scrollTo"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","canUseDOM","window","document","createElement","refCount","savedScrollY","previousStyles","isIOSSafari","navigator","ua","userAgent","isIOS","test","platform","maxTouchPoints","isSafari","useDisableBodyScroll","enabled","wasEnabled","current","html","documentElement","body","scrollY","htmlOverflow","style","overflow","htmlScrollbarGutter","scrollbarGutter","bodyPosition","position","bodyTop","top","bodyWidth","width","bodyOverflow","bodyOverscrollBehavior","overscrollBehavior","scrollTo"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}