@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
@@ -5,70 +5,113 @@ 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 useDisableScroll_exports = {};
24
26
  __export(useDisableScroll_exports, {
25
27
  useDisableBodyScroll: () => useDisableBodyScroll
26
28
  });
27
29
  module.exports = __toCommonJS(useDisableScroll_exports);
28
- var import_react = require("react"),
29
- canUseDOM = function () {
30
- return typeof window < "u" && !!window.document && !!window.document.createElement;
31
- },
32
- refCount = 0,
33
- savedScrollY = 0,
34
- previousStyles = null;
30
+ var import_react = require("react");
31
+ var canUseDOM = function () {
32
+ return typeof window !== "undefined" && !!window.document && !!window.document.createElement;
33
+ };
34
+ var refCount = 0;
35
+ var savedScrollY = 0;
36
+ var previousStyles = null;
35
37
  function isIOSSafari() {
36
- if (typeof navigator > "u") return !1;
37
- var ua = navigator.userAgent,
38
- isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1,
39
- isSafari = /^((?!chrome|android).)*safari/i.test(ua);
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);
40
42
  return isIOS && isSafari;
41
43
  }
42
44
  var useDisableBodyScroll = function (enabled) {
43
- var wasEnabled = (0, import_react.useRef)(!1);
45
+ var wasEnabled = (0, import_react.useRef)(false);
44
46
  (0, import_react.useEffect)(function () {
45
- if (canUseDOM()) {
46
- if (enabled && !wasEnabled.current) {
47
- if (wasEnabled.current = !0, ++refCount === 1) {
48
- var html = document.documentElement,
49
- body = document.body;
50
- savedScrollY = window.scrollY, previousStyles = {
51
- htmlOverflow: html.style.overflow,
52
- htmlScrollbarGutter: html.style.scrollbarGutter,
53
- bodyPosition: body.style.position,
54
- bodyTop: body.style.top,
55
- bodyWidth: body.style.width,
56
- bodyOverflow: body.style.overflow,
57
- bodyOverscrollBehavior: body.style.overscrollBehavior
58
- }, 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");
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";
59
73
  }
60
- } else if (!enabled && wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
61
- var html1 = document.documentElement,
62
- body1 = document.body;
63
- 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;
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;
64
92
  }
65
93
  }
66
- }, [enabled]), (0, import_react.useEffect)(function () {
94
+ }, [enabled]);
95
+ (0, import_react.useEffect)(function () {
67
96
  return function () {
68
- if (wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
69
- var html = document.documentElement,
70
- body = document.body;
71
- 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;
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
+ }
72
115
  }
73
116
  };
74
117
  }, []);
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useDisableScroll_exports","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"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AAET,IAAAA,SAAM,GAAAC,MAAY,CAAAC,cACT;AAET,IAAIC,gBACA,GAAAF,MAAA,CAAAG,wBASO;AAGX,IAAAC,iBAAS,GAAcJ,MAAA,CAAAK,mBAAA;AACrB,IAAAC,YAAW,GAAAN,MAAc,CAAAO,SAAa,CAAAC,cAAO;AAC7C,IAAAC,QAAM,GAAKA,CAAAC,MAAA,EAAUC,GAAA;IAKrB,SAAOC,IAAA,IAASD,GAAA,EAClBZ,SAAA,CAAAW,MAAA,EAAAE,IAAA;MAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;MAAAE,UAAA;IAAA;EAEO;EAAAC,WAAM,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAwB,EAAAC,IAAA,KAA2B;IAC9D,IAAAF,IAAM,WAAaA,IAAA,IAAO,QAAK,WAAAA,IAAA,gBAE/B,SAAUG,GAAA,IAAMhB,iBAAA,CAAAa,IAAA,GACd,CAAAX,YAAe,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,IAAAnB,SAAA,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;IAIf,OAAAE,EAAI;EAGF;AACE,IAAAM,YAAM,GAAAC,GAAO,IAAAR,WAAS,CAAAhB,SAChB,iBAAgB;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAGtB,IAAAE,wBAAe,IAAO;AAGLhB,QAAA,CAAAgB,wBACI;EAAMC,oBACzB,EAAAA,CAAA,KAAAA;AAAgC;AACPC,MAAA,CAAAC,OACzB,GAAAN,YAAc,CAAAG,wBAAM;AAAA,IAAAI,YACpB,GAAAC,OAAW,QAAW;EAAAC,SAAA,YAAAA,CAAA;IAAA,cACtBC,MAAA,MAAc,IAAK,EAAAA,MAAM,CAAAC,QAAA,MAAAD,MAAA,CAAAC,QAAA,CAAAC,aAAA;EAAA;EAAAC,QAAA,GACzB;EAAAC,YAAA;EAAAC,cAAmC;AAAA,SAAAC,WAIhCA,CAAA;EAYmB,WAE1BC,SAAA;EAAA,IAAAC,EAAA,GAAAD,SACU,CAAAE,SAAW;IAAAC,KAAA,GAAW,kBAChC,CAAAC,IAAW,CAAAH,EAAA,KAAAD,SAEL,CAAAK,QAAA,KAAa,UAAK,IAAAL,SAAgB,CAAAM,cAAA;IAAAC,QAAA,oCAAAH,IAAA,CAAAH,EAAA;EACtC,OAAAE,KAAM,IAAAI,QAAO;AAIb;AAce,IAAApB,oBACjB,YAAAA,CAAAqB,OAAA;EAAA,IAAAC,UAAA,OAAAnB,YAAA,CAAAoB,MAAA;EAEJ,IAAIpB,YAGJ,CAAAqB,SAAU,cACK;IACX,IAAInB,SAAA,EAAW;MAGX,IAAAgB,OAAM,IAAO,CAAAC,UAAS,CAAAG,OAAA;QAGtB,IAAKH,UAAM,CAAAG,OAAW,SAAAhB,QAAe;UAcvC,IAAAiB,IAAA,GAAAnB,QAAA,CAAAoB,eAAA;YAAAC,IAAA,GAAArB,QAAA,CAAAqB,IAAA;UAGDlB,YAAA,GAAAJ,MAAA,CAAAuB,OAAA,EAAAlB,cAAA;YACPmB,YAAA,EAAAJ,IAAA,CAAAK,KAAA,CAAAC,QAAA","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useDisableScroll_exports","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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/remove-scroll",
3
- "version": "2.0.0-rc.4",
3
+ "version": "2.0.0-rc.40",
4
4
  "files": [
5
5
  "src",
6
6
  "types",
@@ -17,15 +17,12 @@
17
17
  "./package.json": "./package.json",
18
18
  ".": {
19
19
  "types": "./types/index.d.ts",
20
- "react-native": {
21
- "module": "./dist/esm/index.native.js",
22
- "import": "./dist/esm/index.native.js",
23
- "require": "./dist/cjs/index.native.js"
24
- },
20
+ "react-native": "./dist/esm/index.native.js",
21
+ "browser": "./dist/esm/index.mjs",
25
22
  "module": "./dist/esm/index.mjs",
26
23
  "import": "./dist/esm/index.mjs",
27
24
  "require": "./dist/cjs/index.cjs",
28
- "default": "./dist/cjs/index.native.js"
25
+ "default": "./dist/esm/index.mjs"
29
26
  }
30
27
  },
31
28
  "publishConfig": {
@@ -38,7 +35,7 @@
38
35
  "clean:build": "tamagui-build clean:build"
39
36
  },
40
37
  "devDependencies": {
41
- "@tamagui/build": "2.0.0-rc.4",
38
+ "@tamagui/build": "2.0.0-rc.40",
42
39
  "react": ">=19"
43
40
  },
44
41
  "peerDependencies": {
@@ -87,8 +87,8 @@ export const useDisableBodyScroll = (enabled: boolean): void => {
87
87
  body.style.overflow = previousStyles.bodyOverflow
88
88
  body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior
89
89
 
90
- // restore scroll position if we used position:fixed
91
- if (isIOSSafari() && savedScrollY > 0) {
90
+ // restore scroll position (browsers reset to 0 when overflow:hidden is removed)
91
+ if (savedScrollY > 0) {
92
92
  window.scrollTo(0, savedScrollY)
93
93
  }
94
94
 
@@ -115,7 +115,7 @@ export const useDisableBodyScroll = (enabled: boolean): void => {
115
115
  body.style.overflow = previousStyles.bodyOverflow
116
116
  body.style.overscrollBehavior = previousStyles.bodyOverscrollBehavior
117
117
 
118
- if (isIOSSafari() && savedScrollY > 0) {
118
+ if (savedScrollY > 0) {
119
119
  window.scrollTo(0, savedScrollY)
120
120
  }
121
121
 
@@ -4,8 +4,8 @@
4
4
  "sources": [
5
5
  "src/RemoveScroll.tsx"
6
6
  ],
7
+ "version": 3,
7
8
  "sourcesContent": [
8
9
  "import type { ReactNode } from 'react'\nimport { useDisableBodyScroll } from './useDisableScroll'\n\nexport type RemoveScrollProps = {\n enabled?: boolean\n children?: React.ReactNode\n}\n\nexport const RemoveScroll = (props: RemoveScrollProps): ReactNode => {\n useDisableBodyScroll(Boolean(props.enabled))\n\n return props.children\n}\n"
9
- ],
10
- "version": 3
10
+ ]
11
11
  }
@@ -4,8 +4,8 @@
4
4
  "sources": [
5
5
  "src/RemoveScroll.native.tsx"
6
6
  ],
7
+ "version": 3,
7
8
  "sourcesContent": [
8
9
  "export const RemoveScroll = (props: any): any => props.children\nexport const getAllowedScrollableNode = (): any => {}\n"
9
- ],
10
- "version": 3
10
+ ]
11
11
  }
@@ -4,8 +4,8 @@
4
4
  "sources": [
5
5
  "src/index.ts"
6
6
  ],
7
+ "version": 3,
7
8
  "sourcesContent": [
8
9
  "export * from './RemoveScroll'\n"
9
- ],
10
- "version": 3
10
+ ]
11
11
  }
@@ -4,8 +4,8 @@
4
4
  "sources": [
5
5
  "src/useDisableScroll.ts"
6
6
  ],
7
+ "version": 3,
7
8
  "sourcesContent": [
8
- "import { useEffect, useRef } from 'react'\n\nconst canUseDOM = () =>\n typeof window !== 'undefined' && !!window.document && !!window.document.createElement\n\nlet refCount = 0\nlet savedScrollY = 0\nlet previousStyles: {\n htmlOverflow: string\n htmlScrollbarGutter: string\n bodyPosition: string\n bodyTop: string\n bodyWidth: string\n bodyOverflow: string\n bodyOverscrollBehavior: string\n} | null = null\n\n// detect iOS Safari which needs position:fixed workaround\nfunction isIOSSafari() {\n if (typeof navigator === 'undefined') return false\n const ua = navigator.userAgent\n const isIOS =\n /iPad|iPhone|iPod/.test(ua) ||\n (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)\n const isSafari = /^((?!chrome|android).)*safari/i.test(ua)\n return isIOS && isSafari\n}\n\nexport const useDisableBodyScroll = (enabled: boolean): void => {\n const wasEnabled = useRef(false)\n\n useEffect(() => {\n if (!canUseDOM()) {\n return\n }\n\n if (enabled && !wasEnabled.current) {\n wasEnabled.current = true\n\n if (++refCount === 1) {\n const html = document.documentElement\n const body = document.body\n\n // save current scroll position before locking\n savedScrollY = window.scrollY\n\n // save previous styles\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\n // apply scroll lock styles\n html.style.scrollbarGutter = 'stable'\n html.style.overflow = 'hidden'\n\n // prevent scroll chaining on all browsers\n body.style.overscrollBehavior = 'none'\n\n // for iOS Safari, use position:fixed workaround\n // this also helps with any edge cases on other mobile browsers\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\n if (--refCount === 0 && previousStyles) {\n const html = document.documentElement\n const body = document.body\n\n // restore previous styles\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\n // restore scroll position if we used position:fixed\n if (isIOSSafari() && savedScrollY > 0) {\n window.scrollTo(0, savedScrollY)\n }\n\n previousStyles = null\n savedScrollY = 0\n }\n }\n }, [enabled])\n\n // cleanup on unmount\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\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\n if (isIOSSafari() && savedScrollY > 0) {\n window.scrollTo(0, savedScrollY)\n }\n\n previousStyles = null\n savedScrollY = 0\n }\n }\n }\n }, [])\n}\n"
9
- ],
10
- "version": 3
9
+ "import { useEffect, useRef } from 'react'\n\nconst canUseDOM = () =>\n typeof window !== 'undefined' && !!window.document && !!window.document.createElement\n\nlet refCount = 0\nlet savedScrollY = 0\nlet previousStyles: {\n htmlOverflow: string\n htmlScrollbarGutter: string\n bodyPosition: string\n bodyTop: string\n bodyWidth: string\n bodyOverflow: string\n bodyOverscrollBehavior: string\n} | null = null\n\n// detect iOS Safari which needs position:fixed workaround\nfunction isIOSSafari() {\n if (typeof navigator === 'undefined') return false\n const ua = navigator.userAgent\n const isIOS =\n /iPad|iPhone|iPod/.test(ua) ||\n (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)\n const isSafari = /^((?!chrome|android).)*safari/i.test(ua)\n return isIOS && isSafari\n}\n\nexport const useDisableBodyScroll = (enabled: boolean): void => {\n const wasEnabled = useRef(false)\n\n useEffect(() => {\n if (!canUseDOM()) {\n return\n }\n\n if (enabled && !wasEnabled.current) {\n wasEnabled.current = true\n\n if (++refCount === 1) {\n const html = document.documentElement\n const body = document.body\n\n // save current scroll position before locking\n savedScrollY = window.scrollY\n\n // save previous styles\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\n // apply scroll lock styles\n html.style.scrollbarGutter = 'stable'\n html.style.overflow = 'hidden'\n\n // prevent scroll chaining on all browsers\n body.style.overscrollBehavior = 'none'\n\n // for iOS Safari, use position:fixed workaround\n // this also helps with any edge cases on other mobile browsers\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\n if (--refCount === 0 && previousStyles) {\n const html = document.documentElement\n const body = document.body\n\n // restore previous styles\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\n // restore scroll position (browsers reset to 0 when overflow:hidden is removed)\n if (savedScrollY > 0) {\n window.scrollTo(0, savedScrollY)\n }\n\n previousStyles = null\n savedScrollY = 0\n }\n }\n }, [enabled])\n\n // cleanup on unmount\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\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\n if (savedScrollY > 0) {\n window.scrollTo(0, savedScrollY)\n }\n\n previousStyles = null\n savedScrollY = 0\n }\n }\n }\n }, [])\n}\n"
10
+ ]
11
11
  }
@@ -1,22 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: !0 });
8
- }, __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from == "object" || typeof from == "function")
10
- for (let key of __getOwnPropNames(from))
11
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
- var RemoveScroll_exports = {};
16
- __export(RemoveScroll_exports, {
17
- RemoveScroll: () => RemoveScroll
18
- });
19
- module.exports = __toCommonJS(RemoveScroll_exports);
20
- var import_useDisableScroll = require("./useDisableScroll");
21
- const RemoveScroll = (props) => ((0, import_useDisableScroll.useDisableBodyScroll)(!!props.enabled), props.children);
22
- //# sourceMappingURL=RemoveScroll.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/RemoveScroll.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,8BAAqC;AAO9B,MAAM,eAAe,CAAC,eAC3B,8CAAqB,EAAQ,MAAM,OAAQ,GAEpC,MAAM;",
5
- "names": []
6
- }
package/dist/cjs/index.js DELETED
@@ -1,15 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from == "object" || typeof from == "function")
7
- for (let key of __getOwnPropNames(from))
8
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9
- return to;
10
- }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
11
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
12
- var index_exports = {};
13
- module.exports = __toCommonJS(index_exports);
14
- __reExport(index_exports, require("./RemoveScroll"), module.exports);
15
- //# sourceMappingURL=index.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,2BAAd;",
5
- "names": []
6
- }
@@ -1,57 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: !0 });
8
- }, __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from == "object" || typeof from == "function")
10
- for (let key of __getOwnPropNames(from))
11
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
- var useDisableScroll_exports = {};
16
- __export(useDisableScroll_exports, {
17
- useDisableBodyScroll: () => useDisableBodyScroll
18
- });
19
- module.exports = __toCommonJS(useDisableScroll_exports);
20
- var import_react = require("react");
21
- const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement;
22
- let refCount = 0, savedScrollY = 0, previousStyles = null;
23
- function isIOSSafari() {
24
- if (typeof navigator > "u") return !1;
25
- const ua = navigator.userAgent, isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, isSafari = /^((?!chrome|android).)*safari/i.test(ua);
26
- return isIOS && isSafari;
27
- }
28
- const useDisableBodyScroll = (enabled) => {
29
- const wasEnabled = (0, import_react.useRef)(!1);
30
- (0, import_react.useEffect)(() => {
31
- if (canUseDOM()) {
32
- if (enabled && !wasEnabled.current) {
33
- if (wasEnabled.current = !0, ++refCount === 1) {
34
- const html = document.documentElement, body = document.body;
35
- savedScrollY = window.scrollY, previousStyles = {
36
- htmlOverflow: html.style.overflow,
37
- htmlScrollbarGutter: html.style.scrollbarGutter,
38
- bodyPosition: body.style.position,
39
- bodyTop: body.style.top,
40
- bodyWidth: body.style.width,
41
- bodyOverflow: body.style.overflow,
42
- bodyOverscrollBehavior: body.style.overscrollBehavior
43
- }, 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");
44
- }
45
- } else if (!enabled && wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
46
- const html = document.documentElement, body = document.body;
47
- 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;
48
- }
49
- }
50
- }, [enabled]), (0, import_react.useEffect)(() => () => {
51
- if (wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
52
- const html = document.documentElement, body = document.body;
53
- 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;
54
- }
55
- }, []);
56
- };
57
- //# sourceMappingURL=useDisableScroll.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useDisableScroll.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AAElC,MAAM,YAAY,MAChB,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS;AAE1E,IAAI,WAAW,GACX,eAAe,GACf,iBAQO;AAGX,SAAS,cAAc;AACrB,MAAI,OAAO,YAAc,IAAa,QAAO;AAC7C,QAAM,KAAK,UAAU,WACf,QACJ,mBAAmB,KAAK,EAAE,KACzB,UAAU,aAAa,cAAc,UAAU,iBAAiB,GAC7D,WAAW,iCAAiC,KAAK,EAAE;AACzD,SAAO,SAAS;AAClB;AAEO,MAAM,uBAAuB,CAAC,YAA2B;AAC9D,QAAM,iBAAa,qBAAO,EAAK;AAE/B,8BAAU,MAAM;AACd,QAAK,UAAU;AAIf,UAAI,WAAW,CAAC,WAAW;AAGzB,YAFA,WAAW,UAAU,IAEjB,EAAE,aAAa,GAAG;AACpB,gBAAM,OAAO,SAAS,iBAChB,OAAO,SAAS;AAGtB,yBAAe,OAAO,SAGtB,iBAAiB;AAAA,YACf,cAAc,KAAK,MAAM;AAAA,YACzB,qBAAqB,KAAK,MAAM;AAAA,YAChC,cAAc,KAAK,MAAM;AAAA,YACzB,SAAS,KAAK,MAAM;AAAA,YACpB,WAAW,KAAK,MAAM;AAAA,YACtB,cAAc,KAAK,MAAM;AAAA,YACzB,wBAAwB,KAAK,MAAM;AAAA,UACrC,GAGA,KAAK,MAAM,kBAAkB,UAC7B,KAAK,MAAM,WAAW,UAGtB,KAAK,MAAM,qBAAqB,QAI5B,YAAY,MACd,KAAK,MAAM,WAAW,SACtB,KAAK,MAAM,MAAM,IAAI,YAAY,MACjC,KAAK,MAAM,QAAQ,QACnB,KAAK,MAAM,WAAW;AAAA,QAE1B;AAAA,iBACS,CAAC,WAAW,WAAW,YAChC,WAAW,UAAU,IAEjB,EAAE,aAAa,KAAK,iBAAgB;AACtC,cAAM,OAAO,SAAS,iBAChB,OAAO,SAAS;AAGtB,aAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,kBAAkB,eAAe,qBAC5C,KAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,MAAM,eAAe,SAChC,KAAK,MAAM,QAAQ,eAAe,WAClC,KAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,qBAAqB,eAAe,wBAG3C,YAAY,KAAK,eAAe,KAClC,OAAO,SAAS,GAAG,YAAY,GAGjC,iBAAiB,MACjB,eAAe;AAAA,MACjB;AAAA;AAAA,EAEJ,GAAG,CAAC,OAAO,CAAC,OAGZ,wBAAU,MACD,MAAM;AACX,QAAI,WAAW,YACb,WAAW,UAAU,IACjB,EAAE,aAAa,KAAK,iBAAgB;AACtC,YAAM,OAAO,SAAS,iBAChB,OAAO,SAAS;AAEtB,WAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,kBAAkB,eAAe,qBAC5C,KAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,MAAM,eAAe,SAChC,KAAK,MAAM,QAAQ,eAAe,WAClC,KAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,qBAAqB,eAAe,wBAE3C,YAAY,KAAK,eAAe,KAClC,OAAO,SAAS,GAAG,YAAY,GAGjC,iBAAiB,MACjB,eAAe;AAAA,IACjB;AAAA,EAEJ,GACC,CAAC,CAAC;AACP;",
5
- "names": []
6
- }
@@ -1,6 +0,0 @@
1
- import { useDisableBodyScroll } from "./useDisableScroll";
2
- const RemoveScroll = (props) => (useDisableBodyScroll(!!props.enabled), props.children);
3
- export {
4
- RemoveScroll
5
- };
6
- //# sourceMappingURL=RemoveScroll.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/RemoveScroll.tsx"],
4
- "mappings": "AACA,SAAS,4BAA4B;AAO9B,MAAM,eAAe,CAAC,WAC3B,qBAAqB,EAAQ,MAAM,OAAQ,GAEpC,MAAM;",
5
- "names": []
6
- }
@@ -1,41 +0,0 @@
1
- import { useEffect, useRef } from "react";
2
- const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement;
3
- let refCount = 0, savedScrollY = 0, previousStyles = null;
4
- function isIOSSafari() {
5
- if (typeof navigator > "u") return !1;
6
- const ua = navigator.userAgent, isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, isSafari = /^((?!chrome|android).)*safari/i.test(ua);
7
- return isIOS && isSafari;
8
- }
9
- const useDisableBodyScroll = (enabled) => {
10
- const wasEnabled = useRef(!1);
11
- useEffect(() => {
12
- if (canUseDOM()) {
13
- if (enabled && !wasEnabled.current) {
14
- if (wasEnabled.current = !0, ++refCount === 1) {
15
- const html = document.documentElement, body = document.body;
16
- savedScrollY = window.scrollY, previousStyles = {
17
- htmlOverflow: html.style.overflow,
18
- htmlScrollbarGutter: html.style.scrollbarGutter,
19
- bodyPosition: body.style.position,
20
- bodyTop: body.style.top,
21
- bodyWidth: body.style.width,
22
- bodyOverflow: body.style.overflow,
23
- bodyOverscrollBehavior: body.style.overscrollBehavior
24
- }, 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");
25
- }
26
- } else if (!enabled && wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
27
- const html = document.documentElement, body = document.body;
28
- 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;
29
- }
30
- }
31
- }, [enabled]), useEffect(() => () => {
32
- if (wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
33
- const html = document.documentElement, 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;
35
- }
36
- }, []);
37
- };
38
- export {
39
- useDisableBodyScroll
40
- };
41
- //# sourceMappingURL=useDisableScroll.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useDisableScroll.ts"],
4
- "mappings": "AAAA,SAAS,WAAW,cAAc;AAElC,MAAM,YAAY,MAChB,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS;AAE1E,IAAI,WAAW,GACX,eAAe,GACf,iBAQO;AAGX,SAAS,cAAc;AACrB,MAAI,OAAO,YAAc,IAAa,QAAO;AAC7C,QAAM,KAAK,UAAU,WACf,QACJ,mBAAmB,KAAK,EAAE,KACzB,UAAU,aAAa,cAAc,UAAU,iBAAiB,GAC7D,WAAW,iCAAiC,KAAK,EAAE;AACzD,SAAO,SAAS;AAClB;AAEO,MAAM,uBAAuB,CAAC,YAA2B;AAC9D,QAAM,aAAa,OAAO,EAAK;AAE/B,YAAU,MAAM;AACd,QAAK,UAAU;AAIf,UAAI,WAAW,CAAC,WAAW;AAGzB,YAFA,WAAW,UAAU,IAEjB,EAAE,aAAa,GAAG;AACpB,gBAAM,OAAO,SAAS,iBAChB,OAAO,SAAS;AAGtB,yBAAe,OAAO,SAGtB,iBAAiB;AAAA,YACf,cAAc,KAAK,MAAM;AAAA,YACzB,qBAAqB,KAAK,MAAM;AAAA,YAChC,cAAc,KAAK,MAAM;AAAA,YACzB,SAAS,KAAK,MAAM;AAAA,YACpB,WAAW,KAAK,MAAM;AAAA,YACtB,cAAc,KAAK,MAAM;AAAA,YACzB,wBAAwB,KAAK,MAAM;AAAA,UACrC,GAGA,KAAK,MAAM,kBAAkB,UAC7B,KAAK,MAAM,WAAW,UAGtB,KAAK,MAAM,qBAAqB,QAI5B,YAAY,MACd,KAAK,MAAM,WAAW,SACtB,KAAK,MAAM,MAAM,IAAI,YAAY,MACjC,KAAK,MAAM,QAAQ,QACnB,KAAK,MAAM,WAAW;AAAA,QAE1B;AAAA,iBACS,CAAC,WAAW,WAAW,YAChC,WAAW,UAAU,IAEjB,EAAE,aAAa,KAAK,iBAAgB;AACtC,cAAM,OAAO,SAAS,iBAChB,OAAO,SAAS;AAGtB,aAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,kBAAkB,eAAe,qBAC5C,KAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,MAAM,eAAe,SAChC,KAAK,MAAM,QAAQ,eAAe,WAClC,KAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,qBAAqB,eAAe,wBAG3C,YAAY,KAAK,eAAe,KAClC,OAAO,SAAS,GAAG,YAAY,GAGjC,iBAAiB,MACjB,eAAe;AAAA,MACjB;AAAA;AAAA,EAEJ,GAAG,CAAC,OAAO,CAAC,GAGZ,UAAU,MACD,MAAM;AACX,QAAI,WAAW,YACb,WAAW,UAAU,IACjB,EAAE,aAAa,KAAK,iBAAgB;AACtC,YAAM,OAAO,SAAS,iBAChB,OAAO,SAAS;AAEtB,WAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,kBAAkB,eAAe,qBAC5C,KAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,MAAM,eAAe,SAChC,KAAK,MAAM,QAAQ,eAAe,WAClC,KAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,qBAAqB,eAAe,wBAE3C,YAAY,KAAK,eAAe,KAClC,OAAO,SAAS,GAAG,YAAY,GAGjC,iBAAiB,MACjB,eAAe;AAAA,IACjB;AAAA,EAEJ,GACC,CAAC,CAAC;AACP;",
5
- "names": []
6
- }
@@ -1,6 +0,0 @@
1
- import { useDisableBodyScroll } from "./useDisableScroll";
2
- const RemoveScroll = (props) => (useDisableBodyScroll(!!props.enabled), props.children);
3
- export {
4
- RemoveScroll
5
- };
6
- //# sourceMappingURL=RemoveScroll.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/RemoveScroll.tsx"],
4
- "mappings": "AACA,SAAS,4BAA4B;AAO9B,MAAM,eAAe,CAAC,WAC3B,qBAAqB,EAAQ,MAAM,OAAQ,GAEpC,MAAM;",
5
- "names": []
6
- }
@@ -1,41 +0,0 @@
1
- import { useEffect, useRef } from "react";
2
- const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement;
3
- let refCount = 0, savedScrollY = 0, previousStyles = null;
4
- function isIOSSafari() {
5
- if (typeof navigator > "u") return !1;
6
- const ua = navigator.userAgent, isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, isSafari = /^((?!chrome|android).)*safari/i.test(ua);
7
- return isIOS && isSafari;
8
- }
9
- const useDisableBodyScroll = (enabled) => {
10
- const wasEnabled = useRef(!1);
11
- useEffect(() => {
12
- if (canUseDOM()) {
13
- if (enabled && !wasEnabled.current) {
14
- if (wasEnabled.current = !0, ++refCount === 1) {
15
- const html = document.documentElement, body = document.body;
16
- savedScrollY = window.scrollY, previousStyles = {
17
- htmlOverflow: html.style.overflow,
18
- htmlScrollbarGutter: html.style.scrollbarGutter,
19
- bodyPosition: body.style.position,
20
- bodyTop: body.style.top,
21
- bodyWidth: body.style.width,
22
- bodyOverflow: body.style.overflow,
23
- bodyOverscrollBehavior: body.style.overscrollBehavior
24
- }, 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");
25
- }
26
- } else if (!enabled && wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
27
- const html = document.documentElement, body = document.body;
28
- 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;
29
- }
30
- }
31
- }, [enabled]), useEffect(() => () => {
32
- if (wasEnabled.current && (wasEnabled.current = !1, --refCount === 0 && previousStyles)) {
33
- const html = document.documentElement, 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;
35
- }
36
- }, []);
37
- };
38
- export {
39
- useDisableBodyScroll
40
- };
41
- //# sourceMappingURL=useDisableScroll.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useDisableScroll.ts"],
4
- "mappings": "AAAA,SAAS,WAAW,cAAc;AAElC,MAAM,YAAY,MAChB,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS;AAE1E,IAAI,WAAW,GACX,eAAe,GACf,iBAQO;AAGX,SAAS,cAAc;AACrB,MAAI,OAAO,YAAc,IAAa,QAAO;AAC7C,QAAM,KAAK,UAAU,WACf,QACJ,mBAAmB,KAAK,EAAE,KACzB,UAAU,aAAa,cAAc,UAAU,iBAAiB,GAC7D,WAAW,iCAAiC,KAAK,EAAE;AACzD,SAAO,SAAS;AAClB;AAEO,MAAM,uBAAuB,CAAC,YAA2B;AAC9D,QAAM,aAAa,OAAO,EAAK;AAE/B,YAAU,MAAM;AACd,QAAK,UAAU;AAIf,UAAI,WAAW,CAAC,WAAW;AAGzB,YAFA,WAAW,UAAU,IAEjB,EAAE,aAAa,GAAG;AACpB,gBAAM,OAAO,SAAS,iBAChB,OAAO,SAAS;AAGtB,yBAAe,OAAO,SAGtB,iBAAiB;AAAA,YACf,cAAc,KAAK,MAAM;AAAA,YACzB,qBAAqB,KAAK,MAAM;AAAA,YAChC,cAAc,KAAK,MAAM;AAAA,YACzB,SAAS,KAAK,MAAM;AAAA,YACpB,WAAW,KAAK,MAAM;AAAA,YACtB,cAAc,KAAK,MAAM;AAAA,YACzB,wBAAwB,KAAK,MAAM;AAAA,UACrC,GAGA,KAAK,MAAM,kBAAkB,UAC7B,KAAK,MAAM,WAAW,UAGtB,KAAK,MAAM,qBAAqB,QAI5B,YAAY,MACd,KAAK,MAAM,WAAW,SACtB,KAAK,MAAM,MAAM,IAAI,YAAY,MACjC,KAAK,MAAM,QAAQ,QACnB,KAAK,MAAM,WAAW;AAAA,QAE1B;AAAA,iBACS,CAAC,WAAW,WAAW,YAChC,WAAW,UAAU,IAEjB,EAAE,aAAa,KAAK,iBAAgB;AACtC,cAAM,OAAO,SAAS,iBAChB,OAAO,SAAS;AAGtB,aAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,kBAAkB,eAAe,qBAC5C,KAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,MAAM,eAAe,SAChC,KAAK,MAAM,QAAQ,eAAe,WAClC,KAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,qBAAqB,eAAe,wBAG3C,YAAY,KAAK,eAAe,KAClC,OAAO,SAAS,GAAG,YAAY,GAGjC,iBAAiB,MACjB,eAAe;AAAA,MACjB;AAAA;AAAA,EAEJ,GAAG,CAAC,OAAO,CAAC,GAGZ,UAAU,MACD,MAAM;AACX,QAAI,WAAW,YACb,WAAW,UAAU,IACjB,EAAE,aAAa,KAAK,iBAAgB;AACtC,YAAM,OAAO,SAAS,iBAChB,OAAO,SAAS;AAEtB,WAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,kBAAkB,eAAe,qBAC5C,KAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,MAAM,eAAe,SAChC,KAAK,MAAM,QAAQ,eAAe,WAClC,KAAK,MAAM,WAAW,eAAe,cACrC,KAAK,MAAM,qBAAqB,eAAe,wBAE3C,YAAY,KAAK,eAAe,KAClC,OAAO,SAAS,GAAG,YAAY,GAGjC,iBAAiB,MACjB,eAAe;AAAA,IACjB;AAAA,EAEJ,GACC,CAAC,CAAC;AACP;",
5
- "names": []
6
- }