@tamagui/remove-scroll 2.7.7 → 3.0.0-beta.643.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 (44) hide show
  1. package/dist/cjs/RemoveScroll.cjs +18 -21
  2. package/dist/cjs/RemoveScroll.native.cjs +33 -0
  3. package/dist/cjs/RemoveScroll.native.js +19 -19
  4. package/dist/cjs/RemoveScroll.native.js.map +1 -1
  5. package/dist/cjs/index.cjs +10 -11
  6. package/dist/cjs/index.native.cjs +21 -0
  7. package/dist/cjs/index.native.js +10 -10
  8. package/dist/cjs/index.native.js.map +1 -1
  9. package/dist/cjs/useDisableScroll.cjs +94 -97
  10. package/dist/cjs/useDisableScroll.native.cjs +115 -0
  11. package/dist/cjs/useDisableScroll.native.js +96 -98
  12. package/dist/cjs/useDisableScroll.native.js.map +1 -1
  13. package/dist/esm/RemoveScroll.mjs +5 -3
  14. package/dist/esm/RemoveScroll.mjs.map +1 -1
  15. package/dist/esm/RemoveScroll.native.js +4 -3
  16. package/dist/esm/RemoveScroll.native.js.map +1 -1
  17. package/dist/esm/index.js +1 -2
  18. package/dist/esm/index.mjs +1 -2
  19. package/dist/esm/index.native.js +1 -2
  20. package/dist/esm/useDisableScroll.mjs +81 -79
  21. package/dist/esm/useDisableScroll.mjs.map +1 -1
  22. package/dist/esm/useDisableScroll.native.js +83 -81
  23. package/dist/esm/useDisableScroll.native.js.map +1 -1
  24. package/dist/jsx/RemoveScroll.mjs +5 -3
  25. package/dist/jsx/RemoveScroll.mjs.map +1 -1
  26. package/dist/jsx/RemoveScroll.native.cjs +33 -0
  27. package/dist/jsx/RemoveScroll.native.js +19 -19
  28. package/dist/jsx/RemoveScroll.native.js.map +1 -1
  29. package/dist/jsx/index.js +1 -2
  30. package/dist/jsx/index.mjs +1 -2
  31. package/dist/jsx/index.native.cjs +21 -0
  32. package/dist/jsx/index.native.js +10 -10
  33. package/dist/jsx/index.native.js.map +1 -1
  34. package/dist/jsx/useDisableScroll.mjs +81 -79
  35. package/dist/jsx/useDisableScroll.mjs.map +1 -1
  36. package/dist/jsx/useDisableScroll.native.cjs +115 -0
  37. package/dist/jsx/useDisableScroll.native.js +96 -98
  38. package/dist/jsx/useDisableScroll.native.js.map +1 -1
  39. package/package.json +2 -2
  40. package/dist/esm/index.js.map +0 -1
  41. package/dist/esm/index.mjs.map +0 -1
  42. package/dist/esm/index.native.js.map +0 -1
  43. package/dist/jsx/index.js.map +0 -1
  44. package/dist/jsx/index.mjs.map +0 -1
@@ -1,119 +1,117 @@
1
1
  "use strict";
2
2
 
3
+
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
8
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
12
13
  };
13
14
  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, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
21
22
  };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
24
  var useDisableScroll_exports = {};
26
- __export(useDisableScroll_exports, {
27
- useDisableBodyScroll: () => useDisableBodyScroll
28
- });
25
+ __export(useDisableScroll_exports, { useDisableBodyScroll: () => useDisableBodyScroll });
29
26
  module.exports = __toCommonJS(useDisableScroll_exports);
30
27
  var import_react = require("react");
31
- var canUseDOM = function () {
32
- return typeof window !== "undefined" && !!window.document && !!window.document.createElement;
28
+ var canUseDOM = function() {
29
+ return typeof window !== "undefined" && !!window.document && !!window.document.createElement;
33
30
  };
34
31
  var refCount = 0;
35
32
  var savedScrollY = 0;
36
33
  var previousStyles = null;
37
34
  function isIOSSafari() {
38
- if (typeof navigator === "undefined") return false;
39
- var ua = navigator.userAgent;
40
- var isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
41
- var isSafari = /^((?!chrome|android).)*safari/i.test(ua);
42
- return isIOS && isSafari;
35
+ if (typeof navigator === "undefined") return false;
36
+ var ua = navigator.userAgent;
37
+ var isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
38
+ var isSafari = /^((?!chrome|android).)*safari/i.test(ua);
39
+ return isIOS && isSafari;
43
40
  }
44
- var useDisableBodyScroll = function (enabled) {
45
- var wasEnabled = (0, import_react.useRef)(false);
46
- (0, import_react.useEffect)(function () {
47
- if (!canUseDOM()) {
48
- return;
49
- }
50
- if (enabled && !wasEnabled.current) {
51
- wasEnabled.current = true;
52
- if (++refCount === 1) {
53
- var html = document.documentElement;
54
- var body = document.body;
55
- savedScrollY = window.scrollY;
56
- previousStyles = {
57
- htmlOverflow: html.style.overflow,
58
- htmlScrollbarGutter: html.style.scrollbarGutter,
59
- bodyPosition: body.style.position,
60
- bodyTop: body.style.top,
61
- bodyWidth: body.style.width,
62
- bodyOverflow: body.style.overflow,
63
- bodyOverscrollBehavior: body.style.overscrollBehavior
64
- };
65
- html.style.scrollbarGutter = "stable";
66
- html.style.overflow = "hidden";
67
- body.style.overscrollBehavior = "none";
68
- if (isIOSSafari()) {
69
- body.style.position = "fixed";
70
- body.style.top = `-${savedScrollY}px`;
71
- body.style.width = "100%";
72
- body.style.overflow = "hidden";
73
- }
74
- }
75
- } else if (!enabled && wasEnabled.current) {
76
- wasEnabled.current = false;
77
- if (--refCount === 0 && previousStyles) {
78
- var html1 = document.documentElement;
79
- var body1 = document.body;
80
- html1.style.overflow = previousStyles.htmlOverflow;
81
- html1.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;
82
- body1.style.position = previousStyles.bodyPosition;
83
- body1.style.top = previousStyles.bodyTop;
84
- body1.style.width = previousStyles.bodyWidth;
85
- body1.style.overflow = previousStyles.bodyOverflow;
86
- body1.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;
87
- if (savedScrollY > 0) {
88
- window.scrollTo(0, savedScrollY);
89
- }
90
- previousStyles = null;
91
- savedScrollY = 0;
92
- }
93
- }
94
- }, [enabled]);
95
- (0, import_react.useEffect)(function () {
96
- return function () {
97
- if (wasEnabled.current) {
98
- wasEnabled.current = false;
99
- if (--refCount === 0 && previousStyles) {
100
- var html = document.documentElement;
101
- var body = document.body;
102
- html.style.overflow = previousStyles.htmlOverflow;
103
- html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;
104
- body.style.position = previousStyles.bodyPosition;
105
- body.style.top = previousStyles.bodyTop;
106
- body.style.width = previousStyles.bodyWidth;
107
- body.style.overflow = previousStyles.bodyOverflow;
108
- body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;
109
- if (savedScrollY > 0) {
110
- window.scrollTo(0, savedScrollY);
111
- }
112
- previousStyles = null;
113
- savedScrollY = 0;
114
- }
115
- }
116
- };
117
- }, []);
41
+ var useDisableBodyScroll = function(enabled) {
42
+ var wasEnabled = (0, import_react.useRef)(false);
43
+ (0, import_react.useEffect)(function() {
44
+ if (!canUseDOM()) {
45
+ return;
46
+ }
47
+ if (enabled && !wasEnabled.current) {
48
+ wasEnabled.current = true;
49
+ if (++refCount === 1) {
50
+ var html = document.documentElement;
51
+ var body = document.body;
52
+ savedScrollY = window.scrollY;
53
+ previousStyles = {
54
+ htmlOverflow: html.style.overflow,
55
+ htmlScrollbarGutter: html.style.scrollbarGutter,
56
+ bodyPosition: body.style.position,
57
+ bodyTop: body.style.top,
58
+ bodyWidth: body.style.width,
59
+ bodyOverflow: body.style.overflow,
60
+ bodyOverscrollBehavior: body.style.overscrollBehavior
61
+ };
62
+ html.style.scrollbarGutter = "stable";
63
+ html.style.overflow = "hidden";
64
+ body.style.overscrollBehavior = "none";
65
+ if (isIOSSafari()) {
66
+ body.style.position = "fixed";
67
+ body.style.top = `-${savedScrollY}px`;
68
+ body.style.width = "100%";
69
+ body.style.overflow = "hidden";
70
+ }
71
+ }
72
+ } else if (!enabled && wasEnabled.current) {
73
+ wasEnabled.current = false;
74
+ if (--refCount === 0 && previousStyles) {
75
+ var html1 = document.documentElement;
76
+ var body1 = document.body;
77
+ html1.style.overflow = previousStyles.htmlOverflow;
78
+ html1.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;
79
+ body1.style.position = previousStyles.bodyPosition;
80
+ body1.style.top = previousStyles.bodyTop;
81
+ body1.style.width = previousStyles.bodyWidth;
82
+ body1.style.overflow = previousStyles.bodyOverflow;
83
+ body1.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;
84
+ if (savedScrollY > 0) {
85
+ window.scrollTo(0, savedScrollY);
86
+ }
87
+ previousStyles = null;
88
+ savedScrollY = 0;
89
+ }
90
+ }
91
+ }, [enabled]);
92
+ (0, import_react.useEffect)(function() {
93
+ return function() {
94
+ if (wasEnabled.current) {
95
+ wasEnabled.current = false;
96
+ if (--refCount === 0 && previousStyles) {
97
+ var html = document.documentElement;
98
+ var body = document.body;
99
+ html.style.overflow = previousStyles.htmlOverflow;
100
+ html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;
101
+ body.style.position = previousStyles.bodyPosition;
102
+ body.style.top = previousStyles.bodyTop;
103
+ body.style.width = previousStyles.bodyWidth;
104
+ body.style.overflow = previousStyles.bodyOverflow;
105
+ body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;
106
+ if (savedScrollY > 0) {
107
+ window.scrollTo(0, savedScrollY);
108
+ }
109
+ previousStyles = null;
110
+ savedScrollY = 0;
111
+ }
112
+ }
113
+ };
114
+ }, []);
118
115
  };
116
+
119
117
  //# sourceMappingURL=useDisableScroll.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useDisableScroll_exports","__export","useDisableBodyScroll","module","exports","import_react","require","canUseDOM","window","document","createElement","refCount","savedScrollY","previousStyles","isIOSSafari","navigator","ua","userAgent","isIOS","test","platform","maxTouchPoints","isSafari","enabled","wasEnabled","useRef","useEffect","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,"file":"useDisableScroll.native.js","names":[],"sources":["cjs/useDisableScroll.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useDisableScroll_exports = {};\n__export(useDisableScroll_exports, {\n useDisableBodyScroll: () => useDisableBodyScroll\n});\nmodule.exports = __toCommonJS(useDisableScroll_exports);\nvar import_react = require(\"react\");\nvar canUseDOM = function() {\n return typeof window !== \"undefined\" && !!window.document && !!window.document.createElement;\n};\nvar refCount = 0;\nvar savedScrollY = 0;\nvar previousStyles = null;\nfunction isIOSSafari() {\n if (typeof navigator === \"undefined\") return false;\n var ua = navigator.userAgent;\n var isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === \"MacIntel\" && navigator.maxTouchPoints > 1;\n var isSafari = /^((?!chrome|android).)*safari/i.test(ua);\n return isIOS && isSafari;\n}\nvar useDisableBodyScroll = function(enabled) {\n var wasEnabled = (0, import_react.useRef)(false);\n (0, import_react.useEffect)(function() {\n if (!canUseDOM()) {\n return;\n }\n if (enabled && !wasEnabled.current) {\n wasEnabled.current = true;\n if (++refCount === 1) {\n var html = document.documentElement;\n var body = document.body;\n savedScrollY = window.scrollY;\n previousStyles = {\n htmlOverflow: html.style.overflow,\n htmlScrollbarGutter: html.style.scrollbarGutter,\n bodyPosition: body.style.position,\n bodyTop: body.style.top,\n bodyWidth: body.style.width,\n bodyOverflow: body.style.overflow,\n bodyOverscrollBehavior: body.style.overscrollBehavior\n };\n html.style.scrollbarGutter = \"stable\";\n html.style.overflow = \"hidden\";\n body.style.overscrollBehavior = \"none\";\n if (isIOSSafari()) {\n body.style.position = \"fixed\";\n body.style.top = `-${savedScrollY}px`;\n body.style.width = \"100%\";\n body.style.overflow = \"hidden\";\n }\n }\n } else if (!enabled && wasEnabled.current) {\n wasEnabled.current = false;\n if (--refCount === 0 && previousStyles) {\n var html1 = document.documentElement;\n var body1 = document.body;\n html1.style.overflow = previousStyles.htmlOverflow;\n html1.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;\n body1.style.position = previousStyles.bodyPosition;\n body1.style.top = previousStyles.bodyTop;\n body1.style.width = previousStyles.bodyWidth;\n body1.style.overflow = previousStyles.bodyOverflow;\n body1.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;\n if (savedScrollY > 0) {\n window.scrollTo(0, savedScrollY);\n }\n previousStyles = null;\n savedScrollY = 0;\n }\n }\n }, [\n enabled\n ]);\n (0, import_react.useEffect)(function() {\n return function() {\n if (wasEnabled.current) {\n wasEnabled.current = false;\n if (--refCount === 0 && previousStyles) {\n var html = document.documentElement;\n var body = document.body;\n html.style.overflow = previousStyles.htmlOverflow;\n html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;\n body.style.position = previousStyles.bodyPosition;\n body.style.top = previousStyles.bodyTop;\n body.style.width = previousStyles.bodyWidth;\n body.style.overflow = previousStyles.bodyOverflow;\n body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;\n if (savedScrollY > 0) {\n window.scrollTo(0, savedScrollY);\n }\n previousStyles = null;\n savedScrollY = 0;\n }\n }\n };\n }, []);\n};\n//# sourceMappingURL=useDisableScroll.js.map\n"],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { useDisableBodyScroll } from "./useDisableScroll.mjs";
2
- const RemoveScroll = props => {
3
- useDisableBodyScroll(Boolean(props.enabled));
4
- return props.children;
2
+
3
+ const RemoveScroll = (props) => {
4
+ useDisableBodyScroll(Boolean(props.enabled));
5
+ return props.children;
5
6
  };
7
+
6
8
  export { RemoveScroll };
7
9
  //# sourceMappingURL=RemoveScroll.mjs.map
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"file":"RemoveScroll.js","names":[],"sources":["esm/RemoveScroll.js"],"sourcesContent":["import { useDisableBodyScroll } from \"./useDisableScroll\";\nconst RemoveScroll = (props) => {\n useDisableBodyScroll(Boolean(props.enabled));\n return props.children;\n};\nexport {\n RemoveScroll\n};\n//# sourceMappingURL=RemoveScroll.js.map\n"],"mappings":";;;AACA,MAAM,gBAAgB,UAAU;CAC9B,qBAAqB,QAAQ,MAAM,OAAO,CAAC;CAC3C,OAAO,MAAM;AACf"}
@@ -1,6 +1,7 @@
1
- var RemoveScroll = function (props) {
2
- return props.children;
1
+ var RemoveScroll = function(props) {
2
+ return props.children;
3
3
  };
4
- var getAllowedScrollableNode = function () {};
4
+ var getAllowedScrollableNode = function() {};
5
+
5
6
  export { RemoveScroll, getAllowedScrollableNode };
6
7
  //# sourceMappingURL=RemoveScroll.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RemoveScroll","props","children","getAllowedScrollableNode"],"sources":["../../src/RemoveScroll.native.tsx"],"sourcesContent":[null],"mappings":"AAAO,IAAIA,YAAA,GAAe,SAAAA,CAASC,KAAA,EAAO;EACtC,OAAOA,KAAA,CAAMC,QAAA;AACjB;AACO,IAAIC,wBAAA,GAA2B,SAAAA,CAAA,EAAW,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"RemoveScroll.native.js","names":[],"sources":["esm/RemoveScroll.native.js"],"sourcesContent":["var RemoveScroll = function(props) {\n return props.children;\n};\nvar getAllowedScrollableNode = function() {\n};\nexport {\n RemoveScroll,\n getAllowedScrollableNode\n};\n//# sourceMappingURL=RemoveScroll.native.js.map\n"],"mappings":";AAAA,IAAI,eAAe,SAAS,OAAO;CACjC,OAAO,MAAM;AACf;AACA,IAAI,2BAA2B,WAAW,CAC1C"}
package/dist/esm/index.js CHANGED
@@ -1,2 +1 @@
1
- export * from "./RemoveScroll.mjs";
2
- //# sourceMappingURL=index.js.map
1
+ export * from "./RemoveScroll.mjs"
@@ -1,2 +1 @@
1
- export * from "./RemoveScroll.mjs";
2
- //# sourceMappingURL=index.mjs.map
1
+ export * from "./RemoveScroll.mjs"
@@ -1,2 +1 @@
1
- export * from "./RemoveScroll.native.js";
2
- //# sourceMappingURL=index.native.js.map
1
+ export * from "./RemoveScroll.native.js"
@@ -1,89 +1,91 @@
1
1
  import { useEffect, useRef } from "react";
2
+
2
3
  const canUseDOM = () => typeof window !== "undefined" && !!window.document && !!window.document.createElement;
3
4
  let refCount = 0;
4
5
  let savedScrollY = 0;
5
6
  let previousStyles = null;
6
7
  function isIOSSafari() {
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
- return isIOS && isSafari;
8
+ if (typeof navigator === "undefined") return false;
9
+ const ua = navigator.userAgent;
10
+ const isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
11
+ const isSafari = /^((?!chrome|android).)*safari/i.test(ua);
12
+ return isIOS && isSafari;
12
13
  }
13
- const useDisableBodyScroll = enabled => {
14
- const wasEnabled = useRef(false);
15
- useEffect(() => {
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";
42
- }
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;
61
- }
62
- }
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
- };
86
- }, []);
14
+ const useDisableBodyScroll = (enabled) => {
15
+ const wasEnabled = useRef(false);
16
+ useEffect(() => {
17
+ if (!canUseDOM()) {
18
+ return;
19
+ }
20
+ if (enabled && !wasEnabled.current) {
21
+ wasEnabled.current = true;
22
+ if (++refCount === 1) {
23
+ const html = document.documentElement;
24
+ const body = document.body;
25
+ savedScrollY = window.scrollY;
26
+ previousStyles = {
27
+ htmlOverflow: html.style.overflow,
28
+ htmlScrollbarGutter: html.style.scrollbarGutter,
29
+ bodyPosition: body.style.position,
30
+ bodyTop: body.style.top,
31
+ bodyWidth: body.style.width,
32
+ bodyOverflow: body.style.overflow,
33
+ bodyOverscrollBehavior: body.style.overscrollBehavior
34
+ };
35
+ html.style.scrollbarGutter = "stable";
36
+ html.style.overflow = "hidden";
37
+ body.style.overscrollBehavior = "none";
38
+ if (isIOSSafari()) {
39
+ body.style.position = "fixed";
40
+ body.style.top = `-${savedScrollY}px`;
41
+ body.style.width = "100%";
42
+ body.style.overflow = "hidden";
43
+ }
44
+ }
45
+ } else if (!enabled && wasEnabled.current) {
46
+ wasEnabled.current = false;
47
+ if (--refCount === 0 && previousStyles) {
48
+ const html = document.documentElement;
49
+ const body = document.body;
50
+ html.style.overflow = previousStyles.htmlOverflow;
51
+ html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;
52
+ body.style.position = previousStyles.bodyPosition;
53
+ body.style.top = previousStyles.bodyTop;
54
+ body.style.width = previousStyles.bodyWidth;
55
+ body.style.overflow = previousStyles.bodyOverflow;
56
+ body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;
57
+ if (savedScrollY > 0) {
58
+ window.scrollTo(0, savedScrollY);
59
+ }
60
+ previousStyles = null;
61
+ savedScrollY = 0;
62
+ }
63
+ }
64
+ }, [enabled]);
65
+ useEffect(() => {
66
+ return () => {
67
+ if (wasEnabled.current) {
68
+ wasEnabled.current = false;
69
+ if (--refCount === 0 && previousStyles) {
70
+ const html = document.documentElement;
71
+ const body = document.body;
72
+ html.style.overflow = previousStyles.htmlOverflow;
73
+ html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;
74
+ body.style.position = previousStyles.bodyPosition;
75
+ body.style.top = previousStyles.bodyTop;
76
+ body.style.width = previousStyles.bodyWidth;
77
+ body.style.overflow = previousStyles.bodyOverflow;
78
+ body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;
79
+ if (savedScrollY > 0) {
80
+ window.scrollTo(0, savedScrollY);
81
+ }
82
+ previousStyles = null;
83
+ savedScrollY = 0;
84
+ }
85
+ }
86
+ };
87
+ }, []);
87
88
  };
89
+
88
90
  export { useDisableBodyScroll };
89
91
  //# sourceMappingURL=useDisableScroll.mjs.map
@@ -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,"file":"useDisableScroll.js","names":[],"sources":["esm/useDisableScroll.js"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nconst canUseDOM = () => typeof window !== \"undefined\" && !!window.document && !!window.document.createElement;\nlet refCount = 0;\nlet savedScrollY = 0;\nlet previousStyles = null;\nfunction isIOSSafari() {\n if (typeof navigator === \"undefined\") return false;\n const ua = navigator.userAgent;\n const isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === \"MacIntel\" && navigator.maxTouchPoints > 1;\n const isSafari = /^((?!chrome|android).)*safari/i.test(ua);\n return isIOS && isSafari;\n}\nconst useDisableBodyScroll = (enabled) => {\n const wasEnabled = useRef(false);\n useEffect(() => {\n if (!canUseDOM()) {\n return;\n }\n if (enabled && !wasEnabled.current) {\n wasEnabled.current = true;\n if (++refCount === 1) {\n const html = document.documentElement;\n const body = document.body;\n savedScrollY = window.scrollY;\n previousStyles = {\n htmlOverflow: html.style.overflow,\n htmlScrollbarGutter: html.style.scrollbarGutter,\n bodyPosition: body.style.position,\n bodyTop: body.style.top,\n bodyWidth: body.style.width,\n bodyOverflow: body.style.overflow,\n bodyOverscrollBehavior: body.style.overscrollBehavior\n };\n html.style.scrollbarGutter = \"stable\";\n html.style.overflow = \"hidden\";\n body.style.overscrollBehavior = \"none\";\n if (isIOSSafari()) {\n body.style.position = \"fixed\";\n body.style.top = `-${savedScrollY}px`;\n body.style.width = \"100%\";\n body.style.overflow = \"hidden\";\n }\n }\n } else if (!enabled && wasEnabled.current) {\n wasEnabled.current = false;\n if (--refCount === 0 && previousStyles) {\n const html = document.documentElement;\n const body = document.body;\n html.style.overflow = previousStyles.htmlOverflow;\n html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;\n body.style.position = previousStyles.bodyPosition;\n body.style.top = previousStyles.bodyTop;\n body.style.width = previousStyles.bodyWidth;\n body.style.overflow = previousStyles.bodyOverflow;\n body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;\n if (savedScrollY > 0) {\n window.scrollTo(0, savedScrollY);\n }\n previousStyles = null;\n savedScrollY = 0;\n }\n }\n }, [enabled]);\n useEffect(() => {\n return () => {\n if (wasEnabled.current) {\n wasEnabled.current = false;\n if (--refCount === 0 && previousStyles) {\n const html = document.documentElement;\n const body = document.body;\n html.style.overflow = previousStyles.htmlOverflow;\n html.style.scrollbarGutter = previousStyles.htmlScrollbarGutter;\n body.style.position = previousStyles.bodyPosition;\n body.style.top = previousStyles.bodyTop;\n body.style.width = previousStyles.bodyWidth;\n body.style.overflow = previousStyles.bodyOverflow;\n body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior;\n if (savedScrollY > 0) {\n window.scrollTo(0, savedScrollY);\n }\n previousStyles = null;\n savedScrollY = 0;\n }\n }\n };\n }, []);\n};\nexport {\n useDisableBodyScroll\n};\n//# sourceMappingURL=useDisableScroll.js.map\n"],"mappings":";;;AACA,MAAM,kBAAkB,OAAO,WAAW,eAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS;AAChG,IAAI,WAAW;AACf,IAAI,eAAe;AACnB,IAAI,iBAAiB;AACrB,SAAS,cAAc;CACrB,IAAI,OAAO,cAAc,aAAa,OAAO;CAC7C,MAAM,KAAK,UAAU;CACrB,MAAM,QAAQ,mBAAmB,KAAK,EAAE,KAAK,UAAU,aAAa,cAAc,UAAU,iBAAiB;CAC7G,MAAM,WAAW,iCAAiC,KAAK,EAAE;CACzD,OAAO,SAAS;AAClB;AACA,MAAM,wBAAwB,YAAY;CACxC,MAAM,aAAa,OAAO,KAAK;CAC/B,gBAAgB;EACd,IAAI,CAAC,UAAU,GAAG;GAChB;EACF;EACA,IAAI,WAAW,CAAC,WAAW,SAAS;GAClC,WAAW,UAAU;GACrB,IAAI,EAAE,aAAa,GAAG;IACpB,MAAM,OAAO,SAAS;IACtB,MAAM,OAAO,SAAS;IACtB,eAAe,OAAO;IACtB,iBAAiB;KACf,cAAc,KAAK,MAAM;KACzB,qBAAqB,KAAK,MAAM;KAChC,cAAc,KAAK,MAAM;KACzB,SAAS,KAAK,MAAM;KACpB,WAAW,KAAK,MAAM;KACtB,cAAc,KAAK,MAAM;KACzB,wBAAwB,KAAK,MAAM;IACrC;IACA,KAAK,MAAM,kBAAkB;IAC7B,KAAK,MAAM,WAAW;IACtB,KAAK,MAAM,qBAAqB;IAChC,IAAI,YAAY,GAAG;KACjB,KAAK,MAAM,WAAW;KACtB,KAAK,MAAM,MAAM,IAAI,aAAa;KAClC,KAAK,MAAM,QAAQ;KACnB,KAAK,MAAM,WAAW;IACxB;GACF;EACF,OAAO,IAAI,CAAC,WAAW,WAAW,SAAS;GACzC,WAAW,UAAU;GACrB,IAAI,EAAE,aAAa,KAAK,gBAAgB;IACtC,MAAM,OAAO,SAAS;IACtB,MAAM,OAAO,SAAS;IACtB,KAAK,MAAM,WAAW,eAAe;IACrC,KAAK,MAAM,kBAAkB,eAAe;IAC5C,KAAK,MAAM,WAAW,eAAe;IACrC,KAAK,MAAM,MAAM,eAAe;IAChC,KAAK,MAAM,QAAQ,eAAe;IAClC,KAAK,MAAM,WAAW,eAAe;IACrC,KAAK,MAAM,qBAAqB,eAAe;IAC/C,IAAI,eAAe,GAAG;KACpB,OAAO,SAAS,GAAG,YAAY;IACjC;IACA,iBAAiB;IACjB,eAAe;GACjB;EACF;CACF,GAAG,CAAC,OAAO,CAAC;CACZ,gBAAgB;EACd,aAAa;GACX,IAAI,WAAW,SAAS;IACtB,WAAW,UAAU;IACrB,IAAI,EAAE,aAAa,KAAK,gBAAgB;KACtC,MAAM,OAAO,SAAS;KACtB,MAAM,OAAO,SAAS;KACtB,KAAK,MAAM,WAAW,eAAe;KACrC,KAAK,MAAM,kBAAkB,eAAe;KAC5C,KAAK,MAAM,WAAW,eAAe;KACrC,KAAK,MAAM,MAAM,eAAe;KAChC,KAAK,MAAM,QAAQ,eAAe;KAClC,KAAK,MAAM,WAAW,eAAe;KACrC,KAAK,MAAM,qBAAqB,eAAe;KAC/C,IAAI,eAAe,GAAG;MACpB,OAAO,SAAS,GAAG,YAAY;KACjC;KACA,iBAAiB;KACjB,eAAe;IACjB;GACF;EACF;CACF,GAAG,CAAC,CAAC;AACP"}