@tamagui/remove-scroll 1.135.3 → 1.135.4-1761748186554

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.
@@ -1,31 +1,33 @@
1
1
  "use strict";
2
+
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
7
  var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
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, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: !0
22
+ }), mod);
16
23
  var RemoveScroll_native_exports = {};
17
24
  __export(RemoveScroll_native_exports, {
18
25
  RemoveScroll: () => RemoveScroll,
19
26
  getAllowedScrollableNode: () => getAllowedScrollableNode
20
27
  });
21
28
  module.exports = __toCommonJS(RemoveScroll_native_exports);
22
- var RemoveScroll = function(props) {
23
- return props.children;
24
- }, getAllowedScrollableNode = function() {
25
- };
26
- // Annotate the CommonJS export names for ESM import in node:
27
- 0 && (module.exports = {
28
- RemoveScroll,
29
- getAllowedScrollableNode
30
- });
29
+ var RemoveScroll = function (props) {
30
+ return props.children;
31
+ },
32
+ getAllowedScrollableNode = function () {};
31
33
  //# sourceMappingURL=RemoveScroll.native.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/RemoveScroll.native.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAI,eAAe,SAAS,OAAO;AACtC,SAAO,MAAM;AACjB,GACW,2BAA2B,WAAW;AAAC;",
5
- "names": []
6
- }
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,20 +1,21 @@
1
1
  "use strict";
2
+
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
7
  var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from == "object" || typeof from == "function")
8
- for (let key of __getOwnPropNames(from))
9
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- return to;
11
- }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
12
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
8
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
9
+ get: () => from[key],
10
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
11
+ });
12
+ return to;
13
+ },
14
+ __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
16
+ value: !0
17
+ }), mod);
13
18
  var index_exports = {};
14
19
  module.exports = __toCommonJS(index_exports);
15
- __reExport(index_exports, require("./RemoveScroll"), module.exports);
16
- // Annotate the CommonJS export names for ESM import in node:
17
- 0 && (module.exports = {
18
- ...require("./RemoveScroll")
19
- });
20
- //# sourceMappingURL=index.js.map
20
+ __reExport(index_exports, require("./RemoveScroll.native.js"), module.exports);
21
+ //# sourceMappingURL=index.native.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,2BAAd;",
5
- "names": []
6
- }
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","module","exports"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAP,YAAc,CAAAK,aAAA","ignoreList":[]}
@@ -24,17 +24,18 @@ __export(useDisableScroll_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(useDisableScroll_exports);
26
26
  var import_react = require("react");
27
- const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement,
28
- useDisableBodyScroll = enabled => {
29
- (0, import_react.useEffect)(() => {
30
- if (!enabled || !canUseDOM()) return;
31
- const bodyEl = document.documentElement,
32
- previousBodyStyle = {
33
- scrollbarGutter: bodyEl.style.scrollbarGutter,
34
- overflow: bodyEl.style.overflow
35
- };
36
- return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", () => {
37
- Object.assign(bodyEl.style, previousBodyStyle);
38
- };
39
- }, [enabled]);
40
- };
27
+ const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement;
28
+ let refCount = 0,
29
+ previousBodyStyle = null;
30
+ const useDisableBodyScroll = enabled => {
31
+ (0, import_react.useEffect)(() => {
32
+ if (!enabled || !canUseDOM()) return;
33
+ const bodyEl = document.documentElement;
34
+ return ++refCount === 1 && (previousBodyStyle = {
35
+ scrollbarGutter: bodyEl.style.scrollbarGutter,
36
+ overflow: bodyEl.style.overflow
37
+ }, bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden"), () => {
38
+ --refCount === 0 && previousBodyStyle && (Object.assign(bodyEl.style, previousBodyStyle), previousBodyStyle = null);
39
+ };
40
+ }, [enabled]);
41
+ };
@@ -18,16 +18,18 @@ __export(useDisableScroll_exports, {
18
18
  });
19
19
  module.exports = __toCommonJS(useDisableScroll_exports);
20
20
  var import_react = require("react");
21
- const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement, useDisableBodyScroll = (enabled) => {
21
+ const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement;
22
+ let refCount = 0, previousBodyStyle = null;
23
+ const useDisableBodyScroll = (enabled) => {
22
24
  (0, import_react.useEffect)(() => {
23
25
  if (!enabled || !canUseDOM())
24
26
  return;
25
- const bodyEl = document.documentElement, previousBodyStyle = {
27
+ const bodyEl = document.documentElement;
28
+ return ++refCount === 1 && (previousBodyStyle = {
26
29
  scrollbarGutter: bodyEl.style.scrollbarGutter,
27
30
  overflow: bodyEl.style.overflow
28
- };
29
- return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", () => {
30
- Object.assign(bodyEl.style, previousBodyStyle);
31
+ }, bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden"), () => {
32
+ --refCount === 0 && previousBodyStyle && (Object.assign(bodyEl.style, previousBodyStyle), previousBodyStyle = null);
31
33
  };
32
34
  }, [enabled]);
33
35
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useDisableScroll.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAE1B,MAAM,YAAY,MAChB,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS,eAE7D,uBAAuB,CAAC,YAA2B;AAC9D,8BAAU,MAAM;AACd,QAAI,CAAC,WAAW,CAAC,UAAU;AACzB;AAIF,UAAM,SAAS,SAAS,iBAClB,oBAAoB;AAAA,MACxB,iBAAiB,OAAO,MAAM;AAAA,MAC9B,UAAU,OAAO,MAAM;AAAA,IACzB;AACA,kBAAO,MAAM,kBAAkB,UAC/B,OAAO,MAAM,WAAW,UAEjB,MAAM;AACX,aAAO,OAAO,OAAO,OAAO,iBAAiB;AAAA,IAC/C;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AACd;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAE1B,MAAM,YAAY,MAChB,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS;AAE1E,IAAI,WAAW,GACX,oBAA0E;AAEvE,MAAM,uBAAuB,CAAC,YAA2B;AAC9D,8BAAU,MAAM;AACd,QAAI,CAAC,WAAW,CAAC,UAAU;AACzB;AAIF,UAAM,SAAS,SAAS;AAExB,WAAI,EAAE,aAAa,MACjB,oBAAoB;AAAA,MAClB,iBAAiB,OAAO,MAAM;AAAA,MAC9B,UAAU,OAAO,MAAM;AAAA,IACzB,GACA,OAAO,MAAM,kBAAkB,UAC/B,OAAO,MAAM,WAAW,WAGnB,MAAM;AACX,MAAI,EAAE,aAAa,KAAK,sBACtB,OAAO,OAAO,OAAO,OAAO,iBAAiB,GAC7C,oBAAoB;AAAA,IAExB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AACd;",
5
5
  "names": []
6
6
  }
@@ -1,42 +1,47 @@
1
1
  "use strict";
2
+
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
7
  var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
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, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: !0
22
+ }), mod);
16
23
  var useDisableScroll_exports = {};
17
24
  __export(useDisableScroll_exports, {
18
25
  useDisableBodyScroll: () => useDisableBodyScroll
19
26
  });
20
27
  module.exports = __toCommonJS(useDisableScroll_exports);
21
- var import_react = require("react"), canUseDOM = function() {
22
- return typeof window < "u" && !!window.document && !!window.document.createElement;
23
- }, useDisableBodyScroll = function(enabled) {
24
- (0, import_react.useEffect)(function() {
25
- if (!(!enabled || !canUseDOM())) {
26
- var bodyEl = document.documentElement, previousBodyStyle = {
27
- scrollbarGutter: bodyEl.style.scrollbarGutter,
28
- overflow: bodyEl.style.overflow
29
- };
30
- return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", function() {
31
- Object.assign(bodyEl.style, previousBodyStyle);
32
- };
33
- }
34
- }, [
35
- enabled
36
- ]);
37
- };
38
- // Annotate the CommonJS export names for ESM import in node:
39
- 0 && (module.exports = {
40
- useDisableBodyScroll
41
- });
42
- //# sourceMappingURL=useDisableScroll.js.map
28
+ var import_react = require("react"),
29
+ canUseDOM = function () {
30
+ return typeof window < "u" && !!window.document && !!window.document.createElement;
31
+ },
32
+ refCount = 0,
33
+ previousBodyStyle = null,
34
+ useDisableBodyScroll = function (enabled) {
35
+ (0, import_react.useEffect)(function () {
36
+ if (!(!enabled || !canUseDOM())) {
37
+ var bodyEl = document.documentElement;
38
+ return ++refCount === 1 && (previousBodyStyle = {
39
+ scrollbarGutter: bodyEl.style.scrollbarGutter,
40
+ overflow: bodyEl.style.overflow
41
+ }, bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden"), function () {
42
+ --refCount === 0 && previousBodyStyle && (Object.assign(bodyEl.style, previousBodyStyle), previousBodyStyle = null);
43
+ };
44
+ }
45
+ }, [enabled]);
46
+ };
47
+ //# sourceMappingURL=useDisableScroll.native.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useDisableScroll.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B,kBACtB,YAAY,WAAW;AACvB,SAAO,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS;AACnF,GACW,uBAAuB,SAAS,SAAS;AAChD,8BAAU,WAAW;AACjB,QAAI,GAAC,WAAW,CAAC,UAAU,IAI3B;AAAA,UAAI,SAAS,SAAS,iBAClB,oBAAoB;AAAA,QACpB,iBAAiB,OAAO,MAAM;AAAA,QAC9B,UAAU,OAAO,MAAM;AAAA,MAC3B;AACA,oBAAO,MAAM,kBAAkB,UAC/B,OAAO,MAAM,WAAW,UACjB,WAAW;AACd,eAAO,OAAO,OAAO,OAAO,iBAAiB;AAAA,MACjD;AAAA;AAAA,EACJ,GAAG;AAAA,IACC;AAAA,EACJ,CAAC;AACL;",
5
- "names": []
6
- }
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useDisableScroll_exports","__export","useDisableBodyScroll","module","exports","import_react","require","canUseDOM","window","document","createElement","refCount","previousBodyStyle","enabled","useEffect","bodyEl","documentElement","scrollbarGutter","style","overflow","Object","assign"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,wBAAA;AAAAC,QAAA,CAAAD,wBAAA;EAAAE,oBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAA0B,CAAAK,wBAAA;AAE1B,IAAAK,YAAM,GAAYC,OAChB,QAAO;EAAAC,SAAW,GAAiB,SAAAA,CAAA,EAAO;IAE5C,OAAI,OAAWC,MACX,YAAAA,MAA0E,CAAAC,QAAA,MAAAD,MAAA,CAAAC,QAAA,CAAAC,aAAA;EAEvE;EAAAC,QAAM;EAAAC,iBAAwB;EAA2BV,oBAAA,YAAAA,CAAAW,OAAA;IAC9D,IAAAR,YAAA,CAAAS,SAAA,EAAU,YAAM;MACd,IAAI,EAAC,CAAAD,OAAA,IAAY,CAAAN,SAAU;QACzB,IAAAQ,MAAA,GAAAN,QAAA,CAAAO,eAAA;QAIF,OAAM,EAAAL,QAAS,KAAS,MAAAC,iBAAA;UAExBK,eAAM,EAAAF,MAAa,CACjBG,KAAA,CAAAD,eAAoB;UAClBE,QAAA,EAAAJ,MAAiB,CAAAG,KAAO,CAAAC;QACxB,GAAAJ,MAAA,CAAUG,KAAA,CAAAD,eAAa,aAAAF,MAAA,CAAAG,KAAA,CAAAC,QAAA;UAEzB,EAAAR,QAAO,KAAM,KAAAC,iBAAkB,KAC/BQ,MAAO,CAAAC,MAAM,CAAAN,MAAA,CAAAG,KAAW,EAAAN,iBAGb,GAAAA,iBAAA;QACP;MAIN;IACF,GAAG,CACLC,OAAA,C","ignoreList":[]}
@@ -1,14 +1,16 @@
1
1
  import { useEffect } from "react";
2
- const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement, useDisableBodyScroll = (enabled) => {
2
+ const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement;
3
+ let refCount = 0, previousBodyStyle = null;
4
+ const useDisableBodyScroll = (enabled) => {
3
5
  useEffect(() => {
4
6
  if (!enabled || !canUseDOM())
5
7
  return;
6
- const bodyEl = document.documentElement, previousBodyStyle = {
8
+ const bodyEl = document.documentElement;
9
+ return ++refCount === 1 && (previousBodyStyle = {
7
10
  scrollbarGutter: bodyEl.style.scrollbarGutter,
8
11
  overflow: bodyEl.style.overflow
9
- };
10
- return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", () => {
11
- Object.assign(bodyEl.style, previousBodyStyle);
12
+ }, bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden"), () => {
13
+ --refCount === 0 && previousBodyStyle && (Object.assign(bodyEl.style, previousBodyStyle), previousBodyStyle = null);
12
14
  };
13
15
  }, [enabled]);
14
16
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useDisableScroll.ts"],
4
- "mappings": "AAAA,SAAS,iBAAiB;AAE1B,MAAM,YAAY,MAChB,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS,eAE7D,uBAAuB,CAAC,YAA2B;AAC9D,YAAU,MAAM;AACd,QAAI,CAAC,WAAW,CAAC,UAAU;AACzB;AAIF,UAAM,SAAS,SAAS,iBAClB,oBAAoB;AAAA,MACxB,iBAAiB,OAAO,MAAM;AAAA,MAC9B,UAAU,OAAO,MAAM;AAAA,IACzB;AACA,kBAAO,MAAM,kBAAkB,UAC/B,OAAO,MAAM,WAAW,UAEjB,MAAM;AACX,aAAO,OAAO,OAAO,OAAO,iBAAiB;AAAA,IAC/C;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AACd;",
4
+ "mappings": "AAAA,SAAS,iBAAiB;AAE1B,MAAM,YAAY,MAChB,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS;AAE1E,IAAI,WAAW,GACX,oBAA0E;AAEvE,MAAM,uBAAuB,CAAC,YAA2B;AAC9D,YAAU,MAAM;AACd,QAAI,CAAC,WAAW,CAAC,UAAU;AACzB;AAIF,UAAM,SAAS,SAAS;AAExB,WAAI,EAAE,aAAa,MACjB,oBAAoB;AAAA,MAClB,iBAAiB,OAAO,MAAM;AAAA,MAC9B,UAAU,OAAO,MAAM;AAAA,IACzB,GACA,OAAO,MAAM,kBAAkB,UAC/B,OAAO,MAAM,WAAW,WAGnB,MAAM;AACX,MAAI,EAAE,aAAa,KAAK,sBACtB,OAAO,OAAO,OAAO,OAAO,iBAAiB,GAC7C,oBAAoB;AAAA,IAExB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AACd;",
5
5
  "names": []
6
6
  }
@@ -1,17 +1,18 @@
1
1
  import { useEffect } from "react";
2
- const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement,
3
- useDisableBodyScroll = enabled => {
4
- useEffect(() => {
5
- if (!enabled || !canUseDOM()) return;
6
- const bodyEl = document.documentElement,
7
- previousBodyStyle = {
8
- scrollbarGutter: bodyEl.style.scrollbarGutter,
9
- overflow: bodyEl.style.overflow
10
- };
11
- return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", () => {
12
- Object.assign(bodyEl.style, previousBodyStyle);
13
- };
14
- }, [enabled]);
15
- };
2
+ const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement;
3
+ let refCount = 0,
4
+ previousBodyStyle = null;
5
+ const useDisableBodyScroll = enabled => {
6
+ useEffect(() => {
7
+ if (!enabled || !canUseDOM()) return;
8
+ const bodyEl = document.documentElement;
9
+ return ++refCount === 1 && (previousBodyStyle = {
10
+ scrollbarGutter: bodyEl.style.scrollbarGutter,
11
+ overflow: bodyEl.style.overflow
12
+ }, bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden"), () => {
13
+ --refCount === 0 && previousBodyStyle && (Object.assign(bodyEl.style, previousBodyStyle), previousBodyStyle = null);
14
+ };
15
+ }, [enabled]);
16
+ };
16
17
  export { useDisableBodyScroll };
17
18
  //# sourceMappingURL=useDisableScroll.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","canUseDOM","window","document","createElement","useDisableBodyScroll","enabled","bodyEl","documentElement","previousBodyStyle","scrollbarGutter","style","overflow","Object","assign"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AAE1B,MAAMC,SAAA,GAAYA,CAAA,KAChB,OAAOC,MAAA,GAAW,OAAe,CAAC,CAACA,MAAA,CAAOC,QAAA,IAAY,CAAC,CAACD,MAAA,CAAOC,QAAA,CAASC,aAAA;EAE7DC,oBAAA,GAAwBC,OAAA,IAA2B;IAC9DN,SAAA,CAAU,MAAM;MACd,IAAI,CAACM,OAAA,IAAW,CAACL,SAAA,CAAU,GACzB;MAIF,MAAMM,MAAA,GAASJ,QAAA,CAASK,eAAA;QAClBC,iBAAA,GAAoB;UACxBC,eAAA,EAAiBH,MAAA,CAAOI,KAAA,CAAMD,eAAA;UAC9BE,QAAA,EAAUL,MAAA,CAAOI,KAAA,CAAMC;QACzB;MACA,OAAAL,MAAA,CAAOI,KAAA,CAAMD,eAAA,GAAkB,UAC/BH,MAAA,CAAOI,KAAA,CAAMC,QAAA,GAAW,UAEjB,MAAM;QACXC,MAAA,CAAOC,MAAA,CAAOP,MAAA,CAAOI,KAAA,EAAOF,iBAAiB;MAC/C;IACF,GAAG,CAACH,OAAO,CAAC;EACd","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","canUseDOM","window","document","createElement","refCount","previousBodyStyle","useDisableBodyScroll","enabled","bodyEl","documentElement","scrollbarGutter","style","overflow","Object","assign"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AAE1B,MAAMC,SAAA,GAAYA,CAAA,KAChB,OAAOC,MAAA,GAAW,OAAe,CAAC,CAACA,MAAA,CAAOC,QAAA,IAAY,CAAC,CAACD,MAAA,CAAOC,QAAA,CAASC,aAAA;AAE1E,IAAIC,QAAA,GAAW;EACXC,iBAAA,GAA0E;AAEvE,MAAMC,oBAAA,GAAwBC,OAAA,IAA2B;EAC9DR,SAAA,CAAU,MAAM;IACd,IAAI,CAACQ,OAAA,IAAW,CAACP,SAAA,CAAU,GACzB;IAIF,MAAMQ,MAAA,GAASN,QAAA,CAASO,eAAA;IAExB,OAAI,EAAEL,QAAA,KAAa,MACjBC,iBAAA,GAAoB;MAClBK,eAAA,EAAiBF,MAAA,CAAOG,KAAA,CAAMD,eAAA;MAC9BE,QAAA,EAAUJ,MAAA,CAAOG,KAAA,CAAMC;IACzB,GACAJ,MAAA,CAAOG,KAAA,CAAMD,eAAA,GAAkB,UAC/BF,MAAA,CAAOG,KAAA,CAAMC,QAAA,GAAW,WAGnB,MAAM;MACP,EAAER,QAAA,KAAa,KAAKC,iBAAA,KACtBQ,MAAA,CAAOC,MAAA,CAAON,MAAA,CAAOG,KAAA,EAAON,iBAAiB,GAC7CA,iBAAA,GAAoB;IAExB;EACF,GAAG,CAACE,OAAO,CAAC;AACd","ignoreList":[]}
@@ -2,16 +2,17 @@ import { useEffect } from "react";
2
2
  var canUseDOM = function () {
3
3
  return typeof window < "u" && !!window.document && !!window.document.createElement;
4
4
  },
5
+ refCount = 0,
6
+ previousBodyStyle = null,
5
7
  useDisableBodyScroll = function (enabled) {
6
8
  useEffect(function () {
7
9
  if (!(!enabled || !canUseDOM())) {
8
- var bodyEl = document.documentElement,
9
- previousBodyStyle = {
10
- scrollbarGutter: bodyEl.style.scrollbarGutter,
11
- overflow: bodyEl.style.overflow
12
- };
13
- return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", function () {
14
- Object.assign(bodyEl.style, previousBodyStyle);
10
+ var bodyEl = document.documentElement;
11
+ return ++refCount === 1 && (previousBodyStyle = {
12
+ scrollbarGutter: bodyEl.style.scrollbarGutter,
13
+ overflow: bodyEl.style.overflow
14
+ }, bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden"), function () {
15
+ --refCount === 0 && previousBodyStyle && (Object.assign(bodyEl.style, previousBodyStyle), previousBodyStyle = null);
15
16
  };
16
17
  }
17
18
  }, [enabled]);
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","canUseDOM","window","document","createElement","useDisableBodyScroll","enabled","bodyEl","documentElement","previousBodyStyle","scrollbarGutter","style","overflow","Object","assign"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AAE1B,IAAAC,SAAM,YAAAA,CAAA,EACJ;IAGA,cAAUC,MAAM,YAAAA,MAAA,CAAAC,QAAA,MAAAD,MAAA,CAAAC,QAAA,CAAAC,aAAA;EACd;EAAAC,oBAAiB,YAAAA,CAAUC,OAAA;IACzBN,SAAA;MAIF,MAAM,CAAAM,OAAA,IAAS,CAAAL,SAAS;QAEtB,IAAAM,MAAA,GAAAJ,QAAiB,CAAAK,eAAa;UAAAC,iBAAA;YAC9BC,eAAiB,EAAAH,MAAM,CAAAI,KAAA,CAAAD,eAAA;YACzBE,QAAA,EAAAL,MAAA,CAAAI,KAAA,CAAAC;UACA;QAIE,OAAOL,MAAA,CAAOI,KAAA,CAAAD,eAAc,WAAiB,EAAAH,MAAA,CAAAI,KAAA,CAAAC,QAAA;UAC/CC,MAAA,CAAAC,MAAA,CAAAP,MAAA,CAAAI,KAAA,EAAAF,iBAAA;QACE;MACN","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","canUseDOM","window","document","createElement","refCount","previousBodyStyle","useDisableBodyScroll","enabled","bodyEl","documentElement","scrollbarGutter","style","overflow","Object","assign"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AAE1B,IAAAC,SAAM,YAAAA,CAAA,EACJ;IAEF,OAAI,OAAWC,MACX,YAAAA,MAA0E,CAAAC,QAAA,MAAAD,MAAA,CAAAC,QAAA,CAAAC,aAAA;EAEvE;EAAAC,QAAM;EAAAC,iBAAwB;EAA2BC,oBAAA,YAAAA,CAAAC,OAAA;IAC9DR,SAAA,CAAU,YAAM;MACd,IAAI,EAAC,CAAAQ,OAAA,IAAY,CAAAP,SAAU;QACzB,IAAAQ,MAAA,GAAAN,QAAA,CAAAO,eAAA;QAIF,OAAM,EAAAL,QAAS,KAAS,MAAAC,iBAAA;UAExBK,eAAM,EAAAF,MAAa,CACjBG,KAAA,CAAAD,eAAoB;UAClBE,QAAA,EAAAJ,MAAiB,CAAAG,KAAO,CAAAC;QACxB,GAAAJ,MAAA,CAAUG,KAAA,CAAAD,eAAa,aAAAF,MAAA,CAAAG,KAAA,CAAAC,QAAA;UAEzB,EAAAR,QAAO,KAAM,KAAAC,iBAAkB,KAC/BQ,MAAO,CAAAC,MAAM,CAAAN,MAAA,CAAAG,KAAW,EAAAN,iBAGb,GAAAA,iBAAA;QACP;MAIN;IACF,GAAG,CACLE,OAAA,C","ignoreList":[]}
@@ -1,9 +1,33 @@
1
- var RemoveScroll = function(props) {
2
- return props.children;
3
- }, getAllowedScrollableNode = function() {
4
- };
5
- export {
6
- RemoveScroll,
7
- getAllowedScrollableNode
8
- };
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
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, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: !0
22
+ }), mod);
23
+ var RemoveScroll_native_exports = {};
24
+ __export(RemoveScroll_native_exports, {
25
+ RemoveScroll: () => RemoveScroll,
26
+ getAllowedScrollableNode: () => getAllowedScrollableNode
27
+ });
28
+ module.exports = __toCommonJS(RemoveScroll_native_exports);
29
+ var RemoveScroll = function (props) {
30
+ return props.children;
31
+ },
32
+ getAllowedScrollableNode = function () {};
9
33
  //# sourceMappingURL=RemoveScroll.native.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/RemoveScroll.native.tsx"],
4
- "mappings": "AAAO,IAAI,eAAe,SAAS,OAAO;AACtC,SAAO,MAAM;AACjB,GACW,2BAA2B,WAAW;AAAC;",
5
- "names": []
6
- }
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,2 +1,21 @@
1
- export * from "./RemoveScroll";
2
- //# sourceMappingURL=index.js.map
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
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, {
9
+ get: () => from[key],
10
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
11
+ });
12
+ return to;
13
+ },
14
+ __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
16
+ value: !0
17
+ }), mod);
18
+ var index_exports = {};
19
+ module.exports = __toCommonJS(index_exports);
20
+ __reExport(index_exports, require("./RemoveScroll.native.js"), module.exports);
21
+ //# sourceMappingURL=index.native.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","ignoreList":[]}
@@ -1,14 +1,16 @@
1
1
  import { useEffect } from "react";
2
- const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement, useDisableBodyScroll = (enabled) => {
2
+ const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement;
3
+ let refCount = 0, previousBodyStyle = null;
4
+ const useDisableBodyScroll = (enabled) => {
3
5
  useEffect(() => {
4
6
  if (!enabled || !canUseDOM())
5
7
  return;
6
- const bodyEl = document.documentElement, previousBodyStyle = {
8
+ const bodyEl = document.documentElement;
9
+ return ++refCount === 1 && (previousBodyStyle = {
7
10
  scrollbarGutter: bodyEl.style.scrollbarGutter,
8
11
  overflow: bodyEl.style.overflow
9
- };
10
- return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", () => {
11
- Object.assign(bodyEl.style, previousBodyStyle);
12
+ }, bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden"), () => {
13
+ --refCount === 0 && previousBodyStyle && (Object.assign(bodyEl.style, previousBodyStyle), previousBodyStyle = null);
12
14
  };
13
15
  }, [enabled]);
14
16
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useDisableScroll.ts"],
4
- "mappings": "AAAA,SAAS,iBAAiB;AAE1B,MAAM,YAAY,MAChB,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS,eAE7D,uBAAuB,CAAC,YAA2B;AAC9D,YAAU,MAAM;AACd,QAAI,CAAC,WAAW,CAAC,UAAU;AACzB;AAIF,UAAM,SAAS,SAAS,iBAClB,oBAAoB;AAAA,MACxB,iBAAiB,OAAO,MAAM;AAAA,MAC9B,UAAU,OAAO,MAAM;AAAA,IACzB;AACA,kBAAO,MAAM,kBAAkB,UAC/B,OAAO,MAAM,WAAW,UAEjB,MAAM;AACX,aAAO,OAAO,OAAO,OAAO,iBAAiB;AAAA,IAC/C;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AACd;",
4
+ "mappings": "AAAA,SAAS,iBAAiB;AAE1B,MAAM,YAAY,MAChB,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS;AAE1E,IAAI,WAAW,GACX,oBAA0E;AAEvE,MAAM,uBAAuB,CAAC,YAA2B;AAC9D,YAAU,MAAM;AACd,QAAI,CAAC,WAAW,CAAC,UAAU;AACzB;AAIF,UAAM,SAAS,SAAS;AAExB,WAAI,EAAE,aAAa,MACjB,oBAAoB;AAAA,MAClB,iBAAiB,OAAO,MAAM;AAAA,MAC9B,UAAU,OAAO,MAAM;AAAA,IACzB,GACA,OAAO,MAAM,kBAAkB,UAC/B,OAAO,MAAM,WAAW,WAGnB,MAAM;AACX,MAAI,EAAE,aAAa,KAAK,sBACtB,OAAO,OAAO,OAAO,OAAO,iBAAiB,GAC7C,oBAAoB;AAAA,IAExB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AACd;",
5
5
  "names": []
6
6
  }
@@ -1,17 +1,18 @@
1
1
  import { useEffect } from "react";
2
- const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement,
3
- useDisableBodyScroll = enabled => {
4
- useEffect(() => {
5
- if (!enabled || !canUseDOM()) return;
6
- const bodyEl = document.documentElement,
7
- previousBodyStyle = {
8
- scrollbarGutter: bodyEl.style.scrollbarGutter,
9
- overflow: bodyEl.style.overflow
10
- };
11
- return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", () => {
12
- Object.assign(bodyEl.style, previousBodyStyle);
13
- };
14
- }, [enabled]);
15
- };
2
+ const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement;
3
+ let refCount = 0,
4
+ previousBodyStyle = null;
5
+ const useDisableBodyScroll = enabled => {
6
+ useEffect(() => {
7
+ if (!enabled || !canUseDOM()) return;
8
+ const bodyEl = document.documentElement;
9
+ return ++refCount === 1 && (previousBodyStyle = {
10
+ scrollbarGutter: bodyEl.style.scrollbarGutter,
11
+ overflow: bodyEl.style.overflow
12
+ }, bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden"), () => {
13
+ --refCount === 0 && previousBodyStyle && (Object.assign(bodyEl.style, previousBodyStyle), previousBodyStyle = null);
14
+ };
15
+ }, [enabled]);
16
+ };
16
17
  export { useDisableBodyScroll };
17
18
  //# sourceMappingURL=useDisableScroll.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","canUseDOM","window","document","createElement","useDisableBodyScroll","enabled","bodyEl","documentElement","previousBodyStyle","scrollbarGutter","style","overflow","Object","assign"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AAE1B,MAAMC,SAAA,GAAYA,CAAA,KAChB,OAAOC,MAAA,GAAW,OAAe,CAAC,CAACA,MAAA,CAAOC,QAAA,IAAY,CAAC,CAACD,MAAA,CAAOC,QAAA,CAASC,aAAA;EAE7DC,oBAAA,GAAwBC,OAAA,IAA2B;IAC9DN,SAAA,CAAU,MAAM;MACd,IAAI,CAACM,OAAA,IAAW,CAACL,SAAA,CAAU,GACzB;MAIF,MAAMM,MAAA,GAASJ,QAAA,CAASK,eAAA;QAClBC,iBAAA,GAAoB;UACxBC,eAAA,EAAiBH,MAAA,CAAOI,KAAA,CAAMD,eAAA;UAC9BE,QAAA,EAAUL,MAAA,CAAOI,KAAA,CAAMC;QACzB;MACA,OAAAL,MAAA,CAAOI,KAAA,CAAMD,eAAA,GAAkB,UAC/BH,MAAA,CAAOI,KAAA,CAAMC,QAAA,GAAW,UAEjB,MAAM;QACXC,MAAA,CAAOC,MAAA,CAAOP,MAAA,CAAOI,KAAA,EAAOF,iBAAiB;MAC/C;IACF,GAAG,CAACH,OAAO,CAAC;EACd","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","canUseDOM","window","document","createElement","refCount","previousBodyStyle","useDisableBodyScroll","enabled","bodyEl","documentElement","scrollbarGutter","style","overflow","Object","assign"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AAE1B,MAAMC,SAAA,GAAYA,CAAA,KAChB,OAAOC,MAAA,GAAW,OAAe,CAAC,CAACA,MAAA,CAAOC,QAAA,IAAY,CAAC,CAACD,MAAA,CAAOC,QAAA,CAASC,aAAA;AAE1E,IAAIC,QAAA,GAAW;EACXC,iBAAA,GAA0E;AAEvE,MAAMC,oBAAA,GAAwBC,OAAA,IAA2B;EAC9DR,SAAA,CAAU,MAAM;IACd,IAAI,CAACQ,OAAA,IAAW,CAACP,SAAA,CAAU,GACzB;IAIF,MAAMQ,MAAA,GAASN,QAAA,CAASO,eAAA;IAExB,OAAI,EAAEL,QAAA,KAAa,MACjBC,iBAAA,GAAoB;MAClBK,eAAA,EAAiBF,MAAA,CAAOG,KAAA,CAAMD,eAAA;MAC9BE,QAAA,EAAUJ,MAAA,CAAOG,KAAA,CAAMC;IACzB,GACAJ,MAAA,CAAOG,KAAA,CAAMD,eAAA,GAAkB,UAC/BF,MAAA,CAAOG,KAAA,CAAMC,QAAA,GAAW,WAGnB,MAAM;MACP,EAAER,QAAA,KAAa,KAAKC,iBAAA,KACtBQ,MAAA,CAAOC,MAAA,CAAON,MAAA,CAAOG,KAAA,EAAON,iBAAiB,GAC7CA,iBAAA,GAAoB;IAExB;EACF,GAAG,CAACE,OAAO,CAAC;AACd","ignoreList":[]}
@@ -1,22 +1,47 @@
1
- import { useEffect } from "react";
2
- var canUseDOM = function() {
3
- return typeof window < "u" && !!window.document && !!window.document.createElement;
4
- }, useDisableBodyScroll = function(enabled) {
5
- useEffect(function() {
6
- if (!(!enabled || !canUseDOM())) {
7
- var bodyEl = document.documentElement, previousBodyStyle = {
8
- scrollbarGutter: bodyEl.style.scrollbarGutter,
9
- overflow: bodyEl.style.overflow
10
- };
11
- return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", function() {
12
- Object.assign(bodyEl.style, previousBodyStyle);
13
- };
14
- }
15
- }, [
16
- enabled
17
- ]);
18
- };
19
- export {
20
- useDisableBodyScroll
21
- };
22
- //# sourceMappingURL=useDisableScroll.js.map
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
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, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: !0
22
+ }), mod);
23
+ var useDisableScroll_exports = {};
24
+ __export(useDisableScroll_exports, {
25
+ useDisableBodyScroll: () => useDisableBodyScroll
26
+ });
27
+ 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
+ previousBodyStyle = null,
34
+ useDisableBodyScroll = function (enabled) {
35
+ (0, import_react.useEffect)(function () {
36
+ if (!(!enabled || !canUseDOM())) {
37
+ var bodyEl = document.documentElement;
38
+ return ++refCount === 1 && (previousBodyStyle = {
39
+ scrollbarGutter: bodyEl.style.scrollbarGutter,
40
+ overflow: bodyEl.style.overflow
41
+ }, bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden"), function () {
42
+ --refCount === 0 && previousBodyStyle && (Object.assign(bodyEl.style, previousBodyStyle), previousBodyStyle = null);
43
+ };
44
+ }
45
+ }, [enabled]);
46
+ };
47
+ //# sourceMappingURL=useDisableScroll.native.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useDisableScroll.ts"],
4
- "mappings": "AAAA,SAAS,iBAAiB;AAC1B,IAAI,YAAY,WAAW;AACvB,SAAO,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS;AACnF,GACW,uBAAuB,SAAS,SAAS;AAChD,YAAU,WAAW;AACjB,QAAI,GAAC,WAAW,CAAC,UAAU,IAI3B;AAAA,UAAI,SAAS,SAAS,iBAClB,oBAAoB;AAAA,QACpB,iBAAiB,OAAO,MAAM;AAAA,QAC9B,UAAU,OAAO,MAAM;AAAA,MAC3B;AACA,oBAAO,MAAM,kBAAkB,UAC/B,OAAO,MAAM,WAAW,UACjB,WAAW;AACd,eAAO,OAAO,OAAO,OAAO,iBAAiB;AAAA,MACjD;AAAA;AAAA,EACJ,GAAG;AAAA,IACC;AAAA,EACJ,CAAC;AACL;",
5
- "names": []
6
- }
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"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AAET,IAAAA,SAAM,GAAAC,MAAY,CAAAC,cACT;AAET,IAAIC,gBACA,GAAAF,MAAA,CAAAG,wBAA0E;AAEvE,IAAAC,iBAAM,GAAAJ,MAAwB,CAAAK,mBAA2B;AAC9D,IAAAC,YAAU,GAAMN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AACd,IAAAC,QAAK,GAAAA,CAAAC,MAAY,EAAAC,GAAA,KAAU;IACzB,SAAAC,IAAA,IAAAD,GAAA,EAIFZ,SAAM,CAAAW,MAAS,EAAAE,IAAA,EAAS;MAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;MAAAE,UAAA;IAAA;EAExB;EAAAC,WAAM,GAAAA,CAAAC,EAAA,EAAAC,IAAa,EAAAC,MACjB,EAAAC,IAAA;IAAoB,IAClBF,IAAA,WAAAA,IAAiB,YAAa,WAAAA,IAAA,qBAC9B,IAAAG,GAAU,IAAAhB,iBAAa,CAAAa,IAAA,GACzB,CACAX,YAAO,CAAMe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAkB,KAAAF,MAC/B,IAAOnB,SAAM,CAAAiB,EAAA,EAAAI,GAAW;MAAAP,GAAA,EAAAA,CAAA,KAGnBI,IAAM,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;IACX,OAAME,EAAA;EAEgB;AAExB,IACFM,YAAY,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AACd,IAAAE,wBAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@tamagui/remove-scroll",
3
- "version": "1.135.3",
3
+ "version": "1.135.4-1761748186554",
4
+ "type": "module",
4
5
  "types": "./types/index.d.ts",
5
6
  "main": "dist/cjs",
6
7
  "module": "dist/esm",
@@ -32,7 +33,7 @@
32
33
  }
33
34
  },
34
35
  "devDependencies": {
35
- "@tamagui/build": "1.135.3",
36
+ "@tamagui/build": "1.135.4-1761748186554",
36
37
  "react": "*"
37
38
  },
38
39
  "publishConfig": {
@@ -3,6 +3,9 @@ import { useEffect } from 'react'
3
3
  const canUseDOM = () =>
4
4
  typeof window !== 'undefined' && !!window.document && !!window.document.createElement
5
5
 
6
+ let refCount = 0
7
+ let previousBodyStyle: { scrollbarGutter: string; overflow: string } | null = null
8
+
6
9
  export const useDisableBodyScroll = (enabled: boolean): void => {
7
10
  useEffect(() => {
8
11
  if (!enabled || !canUseDOM()) {
@@ -11,15 +14,21 @@ export const useDisableBodyScroll = (enabled: boolean): void => {
11
14
 
12
15
  // for 99% browsers this can replace all the events
13
16
  const bodyEl = document.documentElement
14
- const previousBodyStyle = {
15
- scrollbarGutter: bodyEl.style.scrollbarGutter,
16
- overflow: bodyEl.style.overflow,
17
+
18
+ if (++refCount === 1) {
19
+ previousBodyStyle = {
20
+ scrollbarGutter: bodyEl.style.scrollbarGutter,
21
+ overflow: bodyEl.style.overflow,
22
+ }
23
+ bodyEl.style.scrollbarGutter = 'stable'
24
+ bodyEl.style.overflow = 'hidden'
17
25
  }
18
- bodyEl.style.scrollbarGutter = 'stable'
19
- bodyEl.style.overflow = 'hidden'
20
26
 
21
27
  return () => {
22
- Object.assign(bodyEl.style, previousBodyStyle)
28
+ if (--refCount === 0 && previousBodyStyle) {
29
+ Object.assign(bodyEl.style, previousBodyStyle)
30
+ previousBodyStyle = null
31
+ }
23
32
  }
24
33
  }, [enabled])
25
34
  }
@@ -1,8 +1,6 @@
1
1
  {
2
- "mappings": "AAAA,cAAc,iBAAiB,OAAO;AAGtC,YAAY,oBAAoB;CAC9B;CACA,WAAW,MAAM;AAClB;AAED,OAAO,cAAM,eAAgBA,OAAO,sBAAoB",
3
- "names": [
4
- "props: RemoveScrollProps"
5
- ],
2
+ "mappings": "AAAA,cAAc,iBAAiB;AAG/B,YAAY,oBAAoB;CAC9B;CACA,WAAW,MAAM;;AAGnB,OAAO,cAAM,eAAgB,OAAO,sBAAoB",
3
+ "names": [],
6
4
  "sources": [
7
5
  "src/RemoveScroll.tsx"
8
6
  ],
@@ -1,8 +1,6 @@
1
1
  {
2
- "mappings": "AAAA,OAAO,cAAM,eAAgBA;AAC7B,OAAO,cAAM",
3
- "names": [
4
- "props: any"
5
- ],
2
+ "mappings": "AAAA,OAAO,cAAM,eAAgB;AAC7B,OAAO,cAAM",
3
+ "names": [],
6
4
  "sources": [
7
5
  "src/RemoveScroll.native.tsx"
8
6
  ],
@@ -1,13 +1,11 @@
1
1
  {
2
- "mappings": "AAKA,OAAO,cAAM,uBAAwBA",
3
- "names": [
4
- "enabled: boolean"
5
- ],
2
+ "mappings": "AAQA,OAAO,cAAM,uBAAwB",
3
+ "names": [],
6
4
  "sources": [
7
5
  "src/useDisableScroll.ts"
8
6
  ],
9
7
  "sourcesContent": [
10
- "import { useEffect } from 'react'\n\nconst canUseDOM = () =>\n typeof window !== 'undefined' && !!window.document && !!window.document.createElement\n\nexport const useDisableBodyScroll = (enabled: boolean): void => {\n useEffect(() => {\n if (!enabled || !canUseDOM()) {\n return\n }\n\n // for 99% browsers this can replace all the events\n const bodyEl = document.documentElement\n const previousBodyStyle = {\n scrollbarGutter: bodyEl.style.scrollbarGutter,\n overflow: bodyEl.style.overflow,\n }\n bodyEl.style.scrollbarGutter = 'stable'\n bodyEl.style.overflow = 'hidden'\n\n return () => {\n Object.assign(bodyEl.style, previousBodyStyle)\n }\n }, [enabled])\n}\n"
8
+ "import { useEffect } from 'react'\n\nconst canUseDOM = () =>\n typeof window !== 'undefined' && !!window.document && !!window.document.createElement\n\nlet refCount = 0\nlet previousBodyStyle: { scrollbarGutter: string; overflow: string } | null = null\n\nexport const useDisableBodyScroll = (enabled: boolean): void => {\n useEffect(() => {\n if (!enabled || !canUseDOM()) {\n return\n }\n\n // for 99% browsers this can replace all the events\n const bodyEl = document.documentElement\n\n if (++refCount === 1) {\n previousBodyStyle = {\n scrollbarGutter: bodyEl.style.scrollbarGutter,\n overflow: bodyEl.style.overflow,\n }\n bodyEl.style.scrollbarGutter = 'stable'\n bodyEl.style.overflow = 'hidden'\n }\n\n return () => {\n if (--refCount === 0 && previousBodyStyle) {\n Object.assign(bodyEl.style, previousBodyStyle)\n previousBodyStyle = null\n }\n }\n }, [enabled])\n}\n"
11
9
  ],
12
10
  "version": 3
13
11
  }