@tamagui/remove-scroll 1.129.19 → 1.130.0

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 (35) hide show
  1. package/dist/cjs/RemoveScroll.cjs +11 -7
  2. package/dist/cjs/RemoveScroll.js +6 -4
  3. package/dist/cjs/RemoveScroll.js.map +2 -2
  4. package/dist/cjs/useDisableScroll.cjs +63 -0
  5. package/dist/cjs/useDisableScroll.js +46 -0
  6. package/dist/cjs/useDisableScroll.js.map +6 -0
  7. package/dist/cjs/useDisableScroll.native.js +81 -0
  8. package/dist/cjs/useDisableScroll.native.js.map +6 -0
  9. package/dist/esm/RemoveScroll.js +6 -5
  10. package/dist/esm/RemoveScroll.js.map +1 -1
  11. package/dist/esm/RemoveScroll.mjs +12 -7
  12. package/dist/esm/RemoveScroll.mjs.map +1 -1
  13. package/dist/esm/useDisableScroll.js +30 -0
  14. package/dist/esm/useDisableScroll.js.map +6 -0
  15. package/dist/esm/useDisableScroll.mjs +40 -0
  16. package/dist/esm/useDisableScroll.mjs.map +1 -0
  17. package/dist/esm/useDisableScroll.native.js +49 -0
  18. package/dist/esm/useDisableScroll.native.js.map +1 -0
  19. package/dist/jsx/RemoveScroll.js +6 -5
  20. package/dist/jsx/RemoveScroll.js.map +1 -1
  21. package/dist/jsx/RemoveScroll.mjs +12 -7
  22. package/dist/jsx/RemoveScroll.mjs.map +1 -1
  23. package/dist/jsx/useDisableScroll.js +30 -0
  24. package/dist/jsx/useDisableScroll.js.map +6 -0
  25. package/dist/jsx/useDisableScroll.mjs +40 -0
  26. package/dist/jsx/useDisableScroll.mjs.map +1 -0
  27. package/dist/jsx/useDisableScroll.native.js +61 -0
  28. package/dist/jsx/useDisableScroll.native.js.map +6 -0
  29. package/package.json +2 -5
  30. package/src/RemoveScroll.tsx +17 -8
  31. package/src/useDisableScroll.ts +75 -0
  32. package/types/RemoveScroll.d.ts +4 -7
  33. package/types/RemoveScroll.d.ts.map +1 -1
  34. package/types/useDisableScroll.d.ts +5 -0
  35. package/types/useDisableScroll.d.ts.map +1 -0
@@ -31,14 +31,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
31
31
  }), mod);
32
32
  var RemoveScroll_exports = {};
33
33
  __export(RemoveScroll_exports, {
34
- RemoveScroll: () => RemoveScroll,
35
- classNames: () => classNames
34
+ RemoveScroll: () => RemoveScroll
36
35
  });
37
36
  module.exports = __toCommonJS(RemoveScroll_exports);
38
37
  var import_react = __toESM(require("react")),
39
- import_react_remove_scroll = require("react-remove-scroll"),
40
38
  import_jsx_runtime = require("react/jsx-runtime");
41
- const RemoveScroll = import_react.default.memo(props => props.children ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_remove_scroll.RemoveScroll, {
42
- ...props
43
- }) : null),
44
- classNames = import_react_remove_scroll.RemoveScroll.classNames;
39
+ const RemoveScroll = import_react.default.memo(props => {
40
+ const root = (0, import_react.useRef)(null);
41
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
42
+ ref: root,
43
+ style: {
44
+ display: "contents"
45
+ },
46
+ children: props.children
47
+ });
48
+ });
@@ -22,10 +22,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
23
  var RemoveScroll_exports = {};
24
24
  __export(RemoveScroll_exports, {
25
- RemoveScroll: () => RemoveScroll,
26
- classNames: () => classNames
25
+ RemoveScroll: () => RemoveScroll
27
26
  });
28
27
  module.exports = __toCommonJS(RemoveScroll_exports);
29
- var import_react = __toESM(require("react")), import_react_remove_scroll = require("react-remove-scroll"), import_jsx_runtime = require("react/jsx-runtime");
30
- const RemoveScroll = import_react.default.memo((props) => props.children ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_remove_scroll.RemoveScroll, { ...props }) : null), classNames = import_react_remove_scroll.RemoveScroll.classNames;
28
+ var import_react = __toESM(require("react")), import_jsx_runtime = require("react/jsx-runtime");
29
+ const RemoveScroll = import_react.default.memo((props) => {
30
+ const root = (0, import_react.useRef)(null);
31
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { ref: root, style: { display: "contents" }, children: props.children });
32
+ });
31
33
  //# sourceMappingURL=RemoveScroll.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/RemoveScroll.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB,2BAElB,6BAAmC,gCAM1B;AAFF,MAAM,eAAe,aAAAA,QAAM,KAAK,CAAC,UACjC,MAAM,WACJ,4CAAC,2BAAAC,cAAA,EAAI,GAAG,OAAO,IADM,IAE7B,GAEY,aAAa,2BAAAA,aAAG;",
5
- "names": ["React", "RS"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA8B,2BAgB1B;AARG,MAAM,eAAe,aAAAA,QAAM,KAAK,CAAC,UAA6B;AACnE,QAAM,WAAO,qBAAoB,IAAI;AAMrC,SACE,4CAAC,UAAK,KAAK,MAAM,OAAO,EAAE,SAAS,WAAW,GAC3C,gBAAM,UACT;AAEJ,CAAC;",
5
+ "names": ["React"]
6
6
  }
@@ -0,0 +1,63 @@
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) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var useDisableScroll_exports = {};
22
+ __export(useDisableScroll_exports, {
23
+ useDisableScrollOutsideOf: () => useDisableScrollOutsideOf
24
+ });
25
+ module.exports = __toCommonJS(useDisableScroll_exports);
26
+ var import_react = require("react");
27
+ const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement,
28
+ preventDefault = e => {
29
+ e.preventDefault && e.preventDefault();
30
+ },
31
+ useDisableScrollOutsideOf = (nodeRef, options = {}) => {
32
+ const {
33
+ enabled,
34
+ keyboardKeys = [32, 33, 34, 35, 36, 37, 38, 39, 40]
35
+ } = options;
36
+ (0, import_react.useEffect)(() => {
37
+ if (!enabled || !canUseDOM()) return;
38
+ const node = nodeRef.current;
39
+ if (!node) return;
40
+ const scrollEl = document.scrollingElement;
41
+ if (!scrollEl || !(scrollEl instanceof HTMLElement)) return;
42
+ const previously = scrollEl.style.pointerEvents;
43
+ scrollEl.style.pointerEvents = "none";
44
+ const lockToScrollPos = [scrollEl.scrollLeft, scrollEl.scrollTop],
45
+ handleScroll = e => {
46
+ scrollEl && (e.preventDefault(), scrollEl.scrollTo(lockToScrollPos[0], lockToScrollPos[1]));
47
+ },
48
+ handleEvent = e => {
49
+ e.target instanceof Node && (e.target === node || node.contains(e.target)) || "keyCode" in e && !keyboardKeys.includes(e.keyCode) || preventDefault(e);
50
+ };
51
+ return document.addEventListener("scroll", handleScroll, {
52
+ passive: !1
53
+ }), document.addEventListener("wheel", handleEvent, {
54
+ passive: !1
55
+ }), document.addEventListener("touchmove", handleEvent, {
56
+ passive: !1
57
+ }), document.addEventListener("keydown", handleEvent, {
58
+ passive: !1
59
+ }), () => {
60
+ scrollEl.style.pointerEvents = previously, document.removeEventListener("scroll", handleScroll), document.removeEventListener("wheel", handleEvent), document.removeEventListener("touchmove", handleEvent), document.removeEventListener("keydown", handleEvent);
61
+ };
62
+ }, [enabled, nodeRef, keyboardKeys]);
63
+ };
@@ -0,0 +1,46 @@
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
+ useDisableScrollOutsideOf: () => useDisableScrollOutsideOf
18
+ });
19
+ module.exports = __toCommonJS(useDisableScroll_exports);
20
+ var import_react = require("react");
21
+ const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement, preventDefault = (e) => {
22
+ e.preventDefault && e.preventDefault();
23
+ }, useDisableScrollOutsideOf = (nodeRef, options = {}) => {
24
+ const { enabled, keyboardKeys = [32, 33, 34, 35, 36, 37, 38, 39, 40] } = options;
25
+ (0, import_react.useEffect)(() => {
26
+ if (!enabled || !canUseDOM())
27
+ return;
28
+ const node = nodeRef.current;
29
+ if (!node)
30
+ return;
31
+ const scrollEl = document.scrollingElement;
32
+ if (!scrollEl || !(scrollEl instanceof HTMLElement))
33
+ return;
34
+ const previously = scrollEl.style.pointerEvents;
35
+ scrollEl.style.pointerEvents = "none";
36
+ const lockToScrollPos = [scrollEl.scrollLeft, scrollEl.scrollTop], handleScroll = (e) => {
37
+ scrollEl && (e.preventDefault(), scrollEl.scrollTo(lockToScrollPos[0], lockToScrollPos[1]));
38
+ }, handleEvent = (e) => {
39
+ e.target instanceof Node && (e.target === node || node.contains(e.target)) || "keyCode" in e && !keyboardKeys.includes(e.keyCode) || preventDefault(e);
40
+ };
41
+ return document.addEventListener("scroll", handleScroll, { passive: !1 }), document.addEventListener("wheel", handleEvent, { passive: !1 }), document.addEventListener("touchmove", handleEvent, { passive: !1 }), document.addEventListener("keydown", handleEvent, { passive: !1 }), () => {
42
+ scrollEl.style.pointerEvents = previously, document.removeEventListener("scroll", handleScroll), document.removeEventListener("wheel", handleEvent), document.removeEventListener("touchmove", handleEvent), document.removeEventListener("keydown", handleEvent);
43
+ };
44
+ }, [enabled, nodeRef, keyboardKeys]);
45
+ };
46
+ //# sourceMappingURL=useDisableScroll.js.map
@@ -0,0 +1,6 @@
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,eAEpE,iBAAiB,CAAC,MAA+C;AACrE,EAAI,EAAE,kBACJ,EAAE,eAAe;AAErB,GAEa,4BAA4B,CACvC,SACA,UAKI,CAAC,MACF;AACH,QAAM,EAAE,SAAS,eAAe,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI;AAEzE,8BAAU,MAAM;AACd,QAAI,CAAC,WAAW,CAAC,UAAU;AACzB;AAGF,UAAM,OAAO,QAAQ;AACrB,QAAI,CAAC;AACH;AAGF,UAAM,WAAW,SAAS;AAC1B,QAAI,CAAC,YAAY,EAAE,oBAAoB;AACrC;AAGF,UAAM,aAAa,SAAS,MAAM;AAClC,aAAS,MAAM,gBAAgB;AAE/B,UAAM,kBAAkB,CAAC,SAAS,YAAY,SAAS,SAAS,GAE1D,eAAe,CAAC,MAAa;AACjC,MAAI,aACF,EAAE,eAAe,GACjB,SAAS,SAAS,gBAAgB,CAAC,GAAG,gBAAgB,CAAC,CAAC;AAAA,IAE5D,GAEM,cAAc,CAAC,MAA+C;AAClE,MAAI,EAAE,kBAAkB,SAAS,EAAE,WAAW,QAAQ,KAAK,SAAS,EAAE,MAAM,MAIxE,aAAa,KAAK,CAAC,aAAa,SAAS,EAAE,OAAO,KAItD,eAAe,CAAC;AAAA,IAClB;AAEA,oBAAS,iBAAiB,UAAU,cAAc,EAAE,SAAS,GAAM,CAAC,GACpE,SAAS,iBAAiB,SAAS,aAAa,EAAE,SAAS,GAAM,CAAC,GAClE,SAAS,iBAAiB,aAAa,aAAa,EAAE,SAAS,GAAM,CAAC,GACtE,SAAS,iBAAiB,WAAW,aAAa,EAAE,SAAS,GAAM,CAAC,GAE7D,MAAM;AACX,eAAS,MAAM,gBAAgB,YAC/B,SAAS,oBAAoB,UAAU,YAAY,GACnD,SAAS,oBAAoB,SAAS,WAAW,GACjD,SAAS,oBAAoB,aAAa,WAAW,GACrD,SAAS,oBAAoB,WAAW,WAAW;AAAA,IACrD;AAAA,EACF,GAAG,CAAC,SAAS,SAAS,YAAY,CAAC;AACrC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ 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);
16
+ var useDisableScroll_exports = {};
17
+ __export(useDisableScroll_exports, {
18
+ useDisableScrollOutsideOf: () => useDisableScrollOutsideOf
19
+ });
20
+ module.exports = __toCommonJS(useDisableScroll_exports);
21
+ var import_react = require("react"), canUseDOM = function() {
22
+ return typeof window < "u" && !!window.document && !!window.document.createElement;
23
+ }, preventDefault = function(e) {
24
+ e.preventDefault && e.preventDefault();
25
+ }, useDisableScrollOutsideOf = function(nodeRef) {
26
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : (
27
+ // space: 32, page up: 33, page down: 34, end: 35, home: 36
28
+ // left: 37, up: 38, right: 39, down: 40
29
+ {}
30
+ ), { enabled, keyboardKeys = [
31
+ 32,
32
+ 33,
33
+ 34,
34
+ 35,
35
+ 36,
36
+ 37,
37
+ 38,
38
+ 39,
39
+ 40
40
+ ] } = options;
41
+ (0, import_react.useEffect)(function() {
42
+ if (!(!enabled || !canUseDOM())) {
43
+ var node = nodeRef.current;
44
+ if (node) {
45
+ var scrollEl = document.scrollingElement;
46
+ if (!(!scrollEl || !(scrollEl instanceof HTMLElement))) {
47
+ var previously = scrollEl.style.pointerEvents;
48
+ scrollEl.style.pointerEvents = "none";
49
+ var lockToScrollPos = [
50
+ scrollEl.scrollLeft,
51
+ scrollEl.scrollTop
52
+ ], handleScroll = function(e) {
53
+ scrollEl && (e.preventDefault(), scrollEl.scrollTo(lockToScrollPos[0], lockToScrollPos[1]));
54
+ }, handleEvent = function(e) {
55
+ e.target instanceof Node && (e.target === node || node.contains(e.target)) || "keyCode" in e && !keyboardKeys.includes(e.keyCode) || preventDefault(e);
56
+ };
57
+ return document.addEventListener("scroll", handleScroll, {
58
+ passive: !1
59
+ }), document.addEventListener("wheel", handleEvent, {
60
+ passive: !1
61
+ }), document.addEventListener("touchmove", handleEvent, {
62
+ passive: !1
63
+ }), document.addEventListener("keydown", handleEvent, {
64
+ passive: !1
65
+ }), function() {
66
+ scrollEl.style.pointerEvents = previously, document.removeEventListener("scroll", handleScroll), document.removeEventListener("wheel", handleEvent), document.removeEventListener("touchmove", handleEvent), document.removeEventListener("keydown", handleEvent);
67
+ };
68
+ }
69
+ }
70
+ }
71
+ }, [
72
+ enabled,
73
+ nodeRef,
74
+ keyboardKeys
75
+ ]);
76
+ };
77
+ // Annotate the CommonJS export names for ESM import in node:
78
+ 0 && (module.exports = {
79
+ useDisableScrollOutsideOf
80
+ });
81
+ //# sourceMappingURL=useDisableScroll.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/useDisableScroll.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;mBAAkC,kBAE5BA,YAAY,WAAA;SAChB,OAAOC,SAAW,OAAe,CAAC,CAACA,OAAOC,YAAY,CAAC,CAACD,OAAOC,SAASC;GAEpEC,iBAAiB,SAACC,GAAAA;AACtB,EAAIA,EAAED,kBACJC,EAAED,eAAc;AAEpB,GAEaE,4BAA4B,SACvCC,SAAAA;MACAC,UAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA;;;IAKI,CAAC;KAEC,EAAEC,SAASC,eAAe;IAAC;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAG,IAAKF;AAEzEG,8BAAU,WAAA;AACR,QAAI,GAACF,WAAW,CAACT,UAAAA,IAIjB;UAAMY,OAAOL,QAAQM;AACrB,UAAKD,MAIL;YAAME,WAAWZ,SAASa;AAC1B,YAAI,GAACD,YAAY,EAAEA,oBAAoBE,eAIvC;cAAMC,aAAaH,SAASI,MAAMC;AAClCL,mBAASI,MAAMC,gBAAgB;AAE/B,cAAMC,kBAAkB;YAACN,SAASO;YAAYP,SAASQ;aAEjDC,eAAe,SAAClB,GAAAA;AACpB,YAAIS,aACFT,EAAED,eAAc,GAChBU,SAASU,SAASJ,gBAAgB,CAAA,GAAIA,gBAAgB,CAAA,CAAE;UAE5D,GAEMK,cAAc,SAACpB,GAAAA;AACnB,YAAIA,EAAEqB,kBAAkBC,SAAStB,EAAEqB,WAAWd,QAAQA,KAAKgB,SAASvB,EAAEqB,MAAM,MAIxE,aAAarB,KAAK,CAACK,aAAamB,SAASxB,EAAEyB,OAAO,KAItD1B,eAAeC,CAAAA;UACjB;AAEAH,0BAAS6B,iBAAiB,UAAUR,cAAc;YAAES,SAAS;UAAM,CAAA,GACnE9B,SAAS6B,iBAAiB,SAASN,aAAa;YAAEO,SAAS;UAAM,CAAA,GACjE9B,SAAS6B,iBAAiB,aAAaN,aAAa;YAAEO,SAAS;UAAM,CAAA,GACrE9B,SAAS6B,iBAAiB,WAAWN,aAAa;YAAEO,SAAS;UAAM,CAAA,GAE5D,WAAA;AACLlB,qBAASI,MAAMC,gBAAgBF,YAC/Bf,SAAS+B,oBAAoB,UAAUV,YAAAA,GACvCrB,SAAS+B,oBAAoB,SAASR,WAAAA,GACtCvB,SAAS+B,oBAAoB,aAAaR,WAAAA,GAC1CvB,SAAS+B,oBAAoB,WAAWR,WAAAA;UAC1C;;;;EACF,GAAG;IAAChB;IAASF;IAASG;GAAa;AACrC;",
5
+ "names": ["canUseDOM", "window", "document", "createElement", "preventDefault", "e", "useDisableScrollOutsideOf", "nodeRef", "options", "enabled", "keyboardKeys", "useEffect", "node", "current", "scrollEl", "scrollingElement", "HTMLElement", "previously", "style", "pointerEvents", "lockToScrollPos", "scrollLeft", "scrollTop", "handleScroll", "scrollTo", "handleEvent", "target", "Node", "contains", "includes", "keyCode", "addEventListener", "passive", "removeEventListener"]
6
+ }
@@ -1,9 +1,10 @@
1
- import React from "react";
2
- import { RemoveScroll as RS } from "react-remove-scroll";
1
+ import React, { useRef } from "react";
3
2
  import { jsx } from "react/jsx-runtime";
4
- const RemoveScroll = React.memo((props) => props.children ? /* @__PURE__ */ jsx(RS, { ...props }) : null), classNames = RS.classNames;
3
+ const RemoveScroll = React.memo((props) => {
4
+ const root = useRef(null);
5
+ return /* @__PURE__ */ jsx("span", { ref: root, style: { display: "contents" }, children: props.children });
6
+ });
5
7
  export {
6
- RemoveScroll,
7
- classNames
8
+ RemoveScroll
8
9
  };
9
10
  //# sourceMappingURL=RemoveScroll.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/RemoveScroll.tsx"],
4
- "mappings": "AAAA,OAAO,WAAW;AAElB,SAAS,gBAAgB,UAAU;AAM1B;AAFF,MAAM,eAAe,MAAM,KAAK,CAAC,UACjC,MAAM,WACJ,oBAAC,MAAI,GAAG,OAAO,IADM,IAE7B,GAEY,aAAa,GAAG;",
4
+ "mappings": "AAAA,OAAO,SAAS,cAAc;AAgB1B;AARG,MAAM,eAAe,MAAM,KAAK,CAAC,UAA6B;AACnE,QAAM,OAAO,OAAoB,IAAI;AAMrC,SACE,oBAAC,UAAK,KAAK,MAAM,OAAO,EAAE,SAAS,WAAW,GAC3C,gBAAM,UACT;AAEJ,CAAC;",
5
5
  "names": []
6
6
  }
@@ -1,9 +1,14 @@
1
- import React from "react";
2
- import { RemoveScroll as RS } from "react-remove-scroll";
1
+ import React, { useRef } from "react";
3
2
  import { jsx } from "react/jsx-runtime";
4
- const RemoveScroll = React.memo(props => props.children ? /* @__PURE__ */jsx(RS, {
5
- ...props
6
- }) : null),
7
- classNames = RS.classNames;
8
- export { RemoveScroll, classNames };
3
+ const RemoveScroll = React.memo(props => {
4
+ const root = useRef(null);
5
+ return /* @__PURE__ */jsx("span", {
6
+ ref: root,
7
+ style: {
8
+ display: "contents"
9
+ },
10
+ children: props.children
11
+ });
12
+ });
13
+ export { RemoveScroll };
9
14
  //# sourceMappingURL=RemoveScroll.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","RemoveScroll","RS","jsx","memo","props","children","classNames"],"sources":["../../src/RemoveScroll.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAElB,SAASC,YAAA,IAAgBC,EAAA,QAAU;AAM1B,SAAAC,GAAA;AAFF,MAAMF,YAAA,GAAeD,KAAA,CAAMI,IAAA,CAAMC,KAAA,IACjCA,KAAA,CAAMC,QAAA,GACJ,eAAAH,GAAA,CAACD,EAAA;IAAI,GAAGG;EAAA,CAAO,IADM,IAE7B;EAEYE,UAAA,GAAaL,EAAA,CAAGK,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["React","useRef","jsx","RemoveScroll","memo","props","root","ref","style","display","children"],"sources":["../../src/RemoveScroll.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,IAASC,MAAA,QAAc;AAgB1B,SAAAC,GAAA;AARG,MAAMC,YAAA,GAAeH,KAAA,CAAMI,IAAA,CAAMC,KAAA,IAA6B;EACnE,MAAMC,IAAA,GAAOL,MAAA,CAAoB,IAAI;EAMrC,OACE,eAAAC,GAAA,CAAC;IAAKK,GAAA,EAAKD,IAAA;IAAME,KAAA,EAAO;MAAEC,OAAA,EAAS;IAAW;IAC3CC,QAAA,EAAAL,KAAA,CAAMK;EAAA,CACT;AAEJ,CAAC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import { useEffect } from "react";
2
+ const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement, preventDefault = (e) => {
3
+ e.preventDefault && e.preventDefault();
4
+ }, useDisableScrollOutsideOf = (nodeRef, options = {}) => {
5
+ const { enabled, keyboardKeys = [32, 33, 34, 35, 36, 37, 38, 39, 40] } = options;
6
+ useEffect(() => {
7
+ if (!enabled || !canUseDOM())
8
+ return;
9
+ const node = nodeRef.current;
10
+ if (!node)
11
+ return;
12
+ const scrollEl = document.scrollingElement;
13
+ if (!scrollEl || !(scrollEl instanceof HTMLElement))
14
+ return;
15
+ const previously = scrollEl.style.pointerEvents;
16
+ scrollEl.style.pointerEvents = "none";
17
+ const lockToScrollPos = [scrollEl.scrollLeft, scrollEl.scrollTop], handleScroll = (e) => {
18
+ scrollEl && (e.preventDefault(), scrollEl.scrollTo(lockToScrollPos[0], lockToScrollPos[1]));
19
+ }, handleEvent = (e) => {
20
+ e.target instanceof Node && (e.target === node || node.contains(e.target)) || "keyCode" in e && !keyboardKeys.includes(e.keyCode) || preventDefault(e);
21
+ };
22
+ return document.addEventListener("scroll", handleScroll, { passive: !1 }), document.addEventListener("wheel", handleEvent, { passive: !1 }), document.addEventListener("touchmove", handleEvent, { passive: !1 }), document.addEventListener("keydown", handleEvent, { passive: !1 }), () => {
23
+ scrollEl.style.pointerEvents = previously, document.removeEventListener("scroll", handleScroll), document.removeEventListener("wheel", handleEvent), document.removeEventListener("touchmove", handleEvent), document.removeEventListener("keydown", handleEvent);
24
+ };
25
+ }, [enabled, nodeRef, keyboardKeys]);
26
+ };
27
+ export {
28
+ useDisableScrollOutsideOf
29
+ };
30
+ //# sourceMappingURL=useDisableScroll.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/useDisableScroll.ts"],
4
+ "mappings": "AAAA,SAAS,iBAAyB;AAElC,MAAM,YAAY,MAChB,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS,eAEpE,iBAAiB,CAAC,MAA+C;AACrE,EAAI,EAAE,kBACJ,EAAE,eAAe;AAErB,GAEa,4BAA4B,CACvC,SACA,UAKI,CAAC,MACF;AACH,QAAM,EAAE,SAAS,eAAe,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI;AAEzE,YAAU,MAAM;AACd,QAAI,CAAC,WAAW,CAAC,UAAU;AACzB;AAGF,UAAM,OAAO,QAAQ;AACrB,QAAI,CAAC;AACH;AAGF,UAAM,WAAW,SAAS;AAC1B,QAAI,CAAC,YAAY,EAAE,oBAAoB;AACrC;AAGF,UAAM,aAAa,SAAS,MAAM;AAClC,aAAS,MAAM,gBAAgB;AAE/B,UAAM,kBAAkB,CAAC,SAAS,YAAY,SAAS,SAAS,GAE1D,eAAe,CAAC,MAAa;AACjC,MAAI,aACF,EAAE,eAAe,GACjB,SAAS,SAAS,gBAAgB,CAAC,GAAG,gBAAgB,CAAC,CAAC;AAAA,IAE5D,GAEM,cAAc,CAAC,MAA+C;AAClE,MAAI,EAAE,kBAAkB,SAAS,EAAE,WAAW,QAAQ,KAAK,SAAS,EAAE,MAAM,MAIxE,aAAa,KAAK,CAAC,aAAa,SAAS,EAAE,OAAO,KAItD,eAAe,CAAC;AAAA,IAClB;AAEA,oBAAS,iBAAiB,UAAU,cAAc,EAAE,SAAS,GAAM,CAAC,GACpE,SAAS,iBAAiB,SAAS,aAAa,EAAE,SAAS,GAAM,CAAC,GAClE,SAAS,iBAAiB,aAAa,aAAa,EAAE,SAAS,GAAM,CAAC,GACtE,SAAS,iBAAiB,WAAW,aAAa,EAAE,SAAS,GAAM,CAAC,GAE7D,MAAM;AACX,eAAS,MAAM,gBAAgB,YAC/B,SAAS,oBAAoB,UAAU,YAAY,GACnD,SAAS,oBAAoB,SAAS,WAAW,GACjD,SAAS,oBAAoB,aAAa,WAAW,GACrD,SAAS,oBAAoB,WAAW,WAAW;AAAA,IACrD;AAAA,EACF,GAAG,CAAC,SAAS,SAAS,YAAY,CAAC;AACrC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,40 @@
1
+ import { useEffect } from "react";
2
+ const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement,
3
+ preventDefault = e => {
4
+ e.preventDefault && e.preventDefault();
5
+ },
6
+ useDisableScrollOutsideOf = (nodeRef, options = {}) => {
7
+ const {
8
+ enabled,
9
+ keyboardKeys = [32, 33, 34, 35, 36, 37, 38, 39, 40]
10
+ } = options;
11
+ useEffect(() => {
12
+ if (!enabled || !canUseDOM()) return;
13
+ const node = nodeRef.current;
14
+ if (!node) return;
15
+ const scrollEl = document.scrollingElement;
16
+ if (!scrollEl || !(scrollEl instanceof HTMLElement)) return;
17
+ const previously = scrollEl.style.pointerEvents;
18
+ scrollEl.style.pointerEvents = "none";
19
+ const lockToScrollPos = [scrollEl.scrollLeft, scrollEl.scrollTop],
20
+ handleScroll = e => {
21
+ scrollEl && (e.preventDefault(), scrollEl.scrollTo(lockToScrollPos[0], lockToScrollPos[1]));
22
+ },
23
+ handleEvent = e => {
24
+ e.target instanceof Node && (e.target === node || node.contains(e.target)) || "keyCode" in e && !keyboardKeys.includes(e.keyCode) || preventDefault(e);
25
+ };
26
+ return document.addEventListener("scroll", handleScroll, {
27
+ passive: !1
28
+ }), document.addEventListener("wheel", handleEvent, {
29
+ passive: !1
30
+ }), document.addEventListener("touchmove", handleEvent, {
31
+ passive: !1
32
+ }), document.addEventListener("keydown", handleEvent, {
33
+ passive: !1
34
+ }), () => {
35
+ scrollEl.style.pointerEvents = previously, document.removeEventListener("scroll", handleScroll), document.removeEventListener("wheel", handleEvent), document.removeEventListener("touchmove", handleEvent), document.removeEventListener("keydown", handleEvent);
36
+ };
37
+ }, [enabled, nodeRef, keyboardKeys]);
38
+ };
39
+ export { useDisableScrollOutsideOf };
40
+ //# sourceMappingURL=useDisableScroll.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","canUseDOM","window","document","createElement","preventDefault","e","useDisableScrollOutsideOf","nodeRef","options","enabled","keyboardKeys","node","current","scrollEl","scrollingElement","HTMLElement","previously","style","pointerEvents","lockToScrollPos","scrollLeft","scrollTop","handleScroll","scrollTo","handleEvent","target","Node","contains","includes","keyCode","addEventListener","passive","removeEventListener"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAyB;AAElC,MAAMC,SAAA,GAAYA,CAAA,KAChB,OAAOC,MAAA,GAAW,OAAe,CAAC,CAACA,MAAA,CAAOC,QAAA,IAAY,CAAC,CAACD,MAAA,CAAOC,QAAA,CAASC,aAAA;EAEpEC,cAAA,GAAkBC,CAAA,IAA+C;IACjEA,CAAA,CAAED,cAAA,IACJC,CAAA,CAAED,cAAA,CAAe;EAErB;EAEaE,yBAAA,GAA4BA,CACvCC,OAAA,EACAC,OAAA,GAKI,CAAC,MACF;IACH,MAAM;MAAEC,OAAA;MAASC,YAAA,GAAe,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;IAAE,IAAIF,OAAA;IAEzET,SAAA,CAAU,MAAM;MACd,IAAI,CAACU,OAAA,IAAW,CAACT,SAAA,CAAU,GACzB;MAGF,MAAMW,IAAA,GAAOJ,OAAA,CAAQK,OAAA;MACrB,IAAI,CAACD,IAAA,EACH;MAGF,MAAME,QAAA,GAAWX,QAAA,CAASY,gBAAA;MAC1B,IAAI,CAACD,QAAA,IAAY,EAAEA,QAAA,YAAoBE,WAAA,GACrC;MAGF,MAAMC,UAAA,GAAaH,QAAA,CAASI,KAAA,CAAMC,aAAA;MAClCL,QAAA,CAASI,KAAA,CAAMC,aAAA,GAAgB;MAE/B,MAAMC,eAAA,GAAkB,CAACN,QAAA,CAASO,UAAA,EAAYP,QAAA,CAASQ,SAAS;QAE1DC,YAAA,GAAgBjB,CAAA,IAAa;UAC7BQ,QAAA,KACFR,CAAA,CAAED,cAAA,CAAe,GACjBS,QAAA,CAASU,QAAA,CAASJ,eAAA,CAAgB,CAAC,GAAGA,eAAA,CAAgB,CAAC,CAAC;QAE5D;QAEMK,WAAA,GAAenB,CAAA,IAA+C;UAC9DA,CAAA,CAAEoB,MAAA,YAAkBC,IAAA,KAASrB,CAAA,CAAEoB,MAAA,KAAWd,IAAA,IAAQA,IAAA,CAAKgB,QAAA,CAAStB,CAAA,CAAEoB,MAAM,MAIxE,aAAapB,CAAA,IAAK,CAACK,YAAA,CAAakB,QAAA,CAASvB,CAAA,CAAEwB,OAAO,KAItDzB,cAAA,CAAeC,CAAC;QAClB;MAEA,OAAAH,QAAA,CAAS4B,gBAAA,CAAiB,UAAUR,YAAA,EAAc;QAAES,OAAA,EAAS;MAAM,CAAC,GACpE7B,QAAA,CAAS4B,gBAAA,CAAiB,SAASN,WAAA,EAAa;QAAEO,OAAA,EAAS;MAAM,CAAC,GAClE7B,QAAA,CAAS4B,gBAAA,CAAiB,aAAaN,WAAA,EAAa;QAAEO,OAAA,EAAS;MAAM,CAAC,GACtE7B,QAAA,CAAS4B,gBAAA,CAAiB,WAAWN,WAAA,EAAa;QAAEO,OAAA,EAAS;MAAM,CAAC,GAE7D,MAAM;QACXlB,QAAA,CAASI,KAAA,CAAMC,aAAA,GAAgBF,UAAA,EAC/Bd,QAAA,CAAS8B,mBAAA,CAAoB,UAAUV,YAAY,GACnDpB,QAAA,CAAS8B,mBAAA,CAAoB,SAASR,WAAW,GACjDtB,QAAA,CAAS8B,mBAAA,CAAoB,aAAaR,WAAW,GACrDtB,QAAA,CAAS8B,mBAAA,CAAoB,WAAWR,WAAW;MACrD;IACF,GAAG,CAACf,OAAA,EAASF,OAAA,EAASG,YAAY,CAAC;EACrC","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ import { useEffect } from "react";
2
+ var canUseDOM = function () {
3
+ return typeof window < "u" && !!window.document && !!window.document.createElement;
4
+ },
5
+ preventDefault = function (e) {
6
+ e.preventDefault && e.preventDefault();
7
+ },
8
+ useDisableScrollOutsideOf = function (nodeRef) {
9
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] :
10
+ // space: 32, page up: 33, page down: 34, end: 35, home: 36
11
+ // left: 37, up: 38, right: 39, down: 40
12
+ {},
13
+ {
14
+ enabled,
15
+ keyboardKeys = [32, 33, 34, 35, 36, 37, 38, 39, 40]
16
+ } = options;
17
+ useEffect(function () {
18
+ if (!(!enabled || !canUseDOM())) {
19
+ var node = nodeRef.current;
20
+ if (node) {
21
+ var scrollEl = document.scrollingElement;
22
+ if (!(!scrollEl || !(scrollEl instanceof HTMLElement))) {
23
+ var previously = scrollEl.style.pointerEvents;
24
+ scrollEl.style.pointerEvents = "none";
25
+ var lockToScrollPos = [scrollEl.scrollLeft, scrollEl.scrollTop],
26
+ handleScroll = function (e) {
27
+ scrollEl && (e.preventDefault(), scrollEl.scrollTo(lockToScrollPos[0], lockToScrollPos[1]));
28
+ },
29
+ handleEvent = function (e) {
30
+ e.target instanceof Node && (e.target === node || node.contains(e.target)) || "keyCode" in e && !keyboardKeys.includes(e.keyCode) || preventDefault(e);
31
+ };
32
+ return document.addEventListener("scroll", handleScroll, {
33
+ passive: !1
34
+ }), document.addEventListener("wheel", handleEvent, {
35
+ passive: !1
36
+ }), document.addEventListener("touchmove", handleEvent, {
37
+ passive: !1
38
+ }), document.addEventListener("keydown", handleEvent, {
39
+ passive: !1
40
+ }), function () {
41
+ scrollEl.style.pointerEvents = previously, document.removeEventListener("scroll", handleScroll), document.removeEventListener("wheel", handleEvent), document.removeEventListener("touchmove", handleEvent), document.removeEventListener("keydown", handleEvent);
42
+ };
43
+ }
44
+ }
45
+ }
46
+ }, [enabled, nodeRef, keyboardKeys]);
47
+ };
48
+ export { useDisableScrollOutsideOf };
49
+ //# sourceMappingURL=useDisableScroll.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","canUseDOM","window","document","createElement","preventDefault","e","useDisableScrollOutsideOf","nodeRef","options","arguments","length","enabled","keyboardKeys","node","current","scrollEl","scrollingElement"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAyB;AAElC,IAAAC,SAAM,YAAAA,CAAA,EACJ;IAGI,OAAE,OAAAC,MACJ,GAAE,SAAAA,MAAe,CAAAC,QAAA,MAAAD,MAAA,CAAAC,QAAA,CAAAC,aAAA;EAErB;EAEaC,cAAA,YAAAA,CAAAC,CAAA,EACX;IAQAA,CAAA,CAAAD,cAAQ,IAASC,CAAA,CAAAD,cAAgB,CAAI;EAErC;EAAAE,yBAAgB,YAAAA,CAAAC,OAAA;IACd,IAAAC,OAAK,GAAAC,SAAY,CAAAC,MAAU,QAAAD,SAAA,iBAAAA,SAAA;MACzB;MAGF;MACA,EACE;MAAA;QAAAE,OAAA;QAAAC,YAAA,IAGF,IACA,IACE,IAGF,IACA,IAEA,IAGE,EAAI,EAIN,IAGE,EAAI;MASN,IAAAJ,OAAA;IAEAT,SAAA,aAAS;MAMP,OAAAY,OAAS,IAAM,CAAAX,SAAA,KAAgB;QAKjC,IAAAa,IAAA,GAAAN,OAAA,CAAAO,OAAA;QACE,IAAAD,IAAA,EAAS;UACf,IAAAE,QAAA,GAAAb,QAAA,CAAAc,gBAAA","ignoreList":[]}
@@ -1,9 +1,10 @@
1
- import React from "react";
2
- import { RemoveScroll as RS } from "react-remove-scroll";
1
+ import React, { useRef } from "react";
3
2
  import { jsx } from "react/jsx-runtime";
4
- const RemoveScroll = React.memo((props) => props.children ? /* @__PURE__ */ jsx(RS, { ...props }) : null), classNames = RS.classNames;
3
+ const RemoveScroll = React.memo((props) => {
4
+ const root = useRef(null);
5
+ return /* @__PURE__ */ jsx("span", { ref: root, style: { display: "contents" }, children: props.children });
6
+ });
5
7
  export {
6
- RemoveScroll,
7
- classNames
8
+ RemoveScroll
8
9
  };
9
10
  //# sourceMappingURL=RemoveScroll.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/RemoveScroll.tsx"],
4
- "mappings": "AAAA,OAAO,WAAW;AAElB,SAAS,gBAAgB,UAAU;AAM1B;AAFF,MAAM,eAAe,MAAM,KAAK,CAAC,UACjC,MAAM,WACJ,oBAAC,MAAI,GAAG,OAAO,IADM,IAE7B,GAEY,aAAa,GAAG;",
4
+ "mappings": "AAAA,OAAO,SAAS,cAAc;AAgB1B;AARG,MAAM,eAAe,MAAM,KAAK,CAAC,UAA6B;AACnE,QAAM,OAAO,OAAoB,IAAI;AAMrC,SACE,oBAAC,UAAK,KAAK,MAAM,OAAO,EAAE,SAAS,WAAW,GAC3C,gBAAM,UACT;AAEJ,CAAC;",
5
5
  "names": []
6
6
  }
@@ -1,9 +1,14 @@
1
- import React from "react";
2
- import { RemoveScroll as RS } from "react-remove-scroll";
1
+ import React, { useRef } from "react";
3
2
  import { jsx } from "react/jsx-runtime";
4
- const RemoveScroll = React.memo(props => props.children ? /* @__PURE__ */jsx(RS, {
5
- ...props
6
- }) : null),
7
- classNames = RS.classNames;
8
- export { RemoveScroll, classNames };
3
+ const RemoveScroll = React.memo(props => {
4
+ const root = useRef(null);
5
+ return /* @__PURE__ */jsx("span", {
6
+ ref: root,
7
+ style: {
8
+ display: "contents"
9
+ },
10
+ children: props.children
11
+ });
12
+ });
13
+ export { RemoveScroll };
9
14
  //# sourceMappingURL=RemoveScroll.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","RemoveScroll","RS","jsx","memo","props","children","classNames"],"sources":["../../src/RemoveScroll.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAElB,SAASC,YAAA,IAAgBC,EAAA,QAAU;AAM1B,SAAAC,GAAA;AAFF,MAAMF,YAAA,GAAeD,KAAA,CAAMI,IAAA,CAAMC,KAAA,IACjCA,KAAA,CAAMC,QAAA,GACJ,eAAAH,GAAA,CAACD,EAAA;IAAI,GAAGG;EAAA,CAAO,IADM,IAE7B;EAEYE,UAAA,GAAaL,EAAA,CAAGK,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["React","useRef","jsx","RemoveScroll","memo","props","root","ref","style","display","children"],"sources":["../../src/RemoveScroll.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,IAASC,MAAA,QAAc;AAgB1B,SAAAC,GAAA;AARG,MAAMC,YAAA,GAAeH,KAAA,CAAMI,IAAA,CAAMC,KAAA,IAA6B;EACnE,MAAMC,IAAA,GAAOL,MAAA,CAAoB,IAAI;EAMrC,OACE,eAAAC,GAAA,CAAC;IAAKK,GAAA,EAAKD,IAAA;IAAME,KAAA,EAAO;MAAEC,OAAA,EAAS;IAAW;IAC3CC,QAAA,EAAAL,KAAA,CAAMK;EAAA,CACT;AAEJ,CAAC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import { useEffect } from "react";
2
+ const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement, preventDefault = (e) => {
3
+ e.preventDefault && e.preventDefault();
4
+ }, useDisableScrollOutsideOf = (nodeRef, options = {}) => {
5
+ const { enabled, keyboardKeys = [32, 33, 34, 35, 36, 37, 38, 39, 40] } = options;
6
+ useEffect(() => {
7
+ if (!enabled || !canUseDOM())
8
+ return;
9
+ const node = nodeRef.current;
10
+ if (!node)
11
+ return;
12
+ const scrollEl = document.scrollingElement;
13
+ if (!scrollEl || !(scrollEl instanceof HTMLElement))
14
+ return;
15
+ const previously = scrollEl.style.pointerEvents;
16
+ scrollEl.style.pointerEvents = "none";
17
+ const lockToScrollPos = [scrollEl.scrollLeft, scrollEl.scrollTop], handleScroll = (e) => {
18
+ scrollEl && (e.preventDefault(), scrollEl.scrollTo(lockToScrollPos[0], lockToScrollPos[1]));
19
+ }, handleEvent = (e) => {
20
+ e.target instanceof Node && (e.target === node || node.contains(e.target)) || "keyCode" in e && !keyboardKeys.includes(e.keyCode) || preventDefault(e);
21
+ };
22
+ return document.addEventListener("scroll", handleScroll, { passive: !1 }), document.addEventListener("wheel", handleEvent, { passive: !1 }), document.addEventListener("touchmove", handleEvent, { passive: !1 }), document.addEventListener("keydown", handleEvent, { passive: !1 }), () => {
23
+ scrollEl.style.pointerEvents = previously, document.removeEventListener("scroll", handleScroll), document.removeEventListener("wheel", handleEvent), document.removeEventListener("touchmove", handleEvent), document.removeEventListener("keydown", handleEvent);
24
+ };
25
+ }, [enabled, nodeRef, keyboardKeys]);
26
+ };
27
+ export {
28
+ useDisableScrollOutsideOf
29
+ };
30
+ //# sourceMappingURL=useDisableScroll.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/useDisableScroll.ts"],
4
+ "mappings": "AAAA,SAAS,iBAAyB;AAElC,MAAM,YAAY,MAChB,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,SAAS,eAEpE,iBAAiB,CAAC,MAA+C;AACrE,EAAI,EAAE,kBACJ,EAAE,eAAe;AAErB,GAEa,4BAA4B,CACvC,SACA,UAKI,CAAC,MACF;AACH,QAAM,EAAE,SAAS,eAAe,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI;AAEzE,YAAU,MAAM;AACd,QAAI,CAAC,WAAW,CAAC,UAAU;AACzB;AAGF,UAAM,OAAO,QAAQ;AACrB,QAAI,CAAC;AACH;AAGF,UAAM,WAAW,SAAS;AAC1B,QAAI,CAAC,YAAY,EAAE,oBAAoB;AACrC;AAGF,UAAM,aAAa,SAAS,MAAM;AAClC,aAAS,MAAM,gBAAgB;AAE/B,UAAM,kBAAkB,CAAC,SAAS,YAAY,SAAS,SAAS,GAE1D,eAAe,CAAC,MAAa;AACjC,MAAI,aACF,EAAE,eAAe,GACjB,SAAS,SAAS,gBAAgB,CAAC,GAAG,gBAAgB,CAAC,CAAC;AAAA,IAE5D,GAEM,cAAc,CAAC,MAA+C;AAClE,MAAI,EAAE,kBAAkB,SAAS,EAAE,WAAW,QAAQ,KAAK,SAAS,EAAE,MAAM,MAIxE,aAAa,KAAK,CAAC,aAAa,SAAS,EAAE,OAAO,KAItD,eAAe,CAAC;AAAA,IAClB;AAEA,oBAAS,iBAAiB,UAAU,cAAc,EAAE,SAAS,GAAM,CAAC,GACpE,SAAS,iBAAiB,SAAS,aAAa,EAAE,SAAS,GAAM,CAAC,GAClE,SAAS,iBAAiB,aAAa,aAAa,EAAE,SAAS,GAAM,CAAC,GACtE,SAAS,iBAAiB,WAAW,aAAa,EAAE,SAAS,GAAM,CAAC,GAE7D,MAAM;AACX,eAAS,MAAM,gBAAgB,YAC/B,SAAS,oBAAoB,UAAU,YAAY,GACnD,SAAS,oBAAoB,SAAS,WAAW,GACjD,SAAS,oBAAoB,aAAa,WAAW,GACrD,SAAS,oBAAoB,WAAW,WAAW;AAAA,IACrD;AAAA,EACF,GAAG,CAAC,SAAS,SAAS,YAAY,CAAC;AACrC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,40 @@
1
+ import { useEffect } from "react";
2
+ const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement,
3
+ preventDefault = e => {
4
+ e.preventDefault && e.preventDefault();
5
+ },
6
+ useDisableScrollOutsideOf = (nodeRef, options = {}) => {
7
+ const {
8
+ enabled,
9
+ keyboardKeys = [32, 33, 34, 35, 36, 37, 38, 39, 40]
10
+ } = options;
11
+ useEffect(() => {
12
+ if (!enabled || !canUseDOM()) return;
13
+ const node = nodeRef.current;
14
+ if (!node) return;
15
+ const scrollEl = document.scrollingElement;
16
+ if (!scrollEl || !(scrollEl instanceof HTMLElement)) return;
17
+ const previously = scrollEl.style.pointerEvents;
18
+ scrollEl.style.pointerEvents = "none";
19
+ const lockToScrollPos = [scrollEl.scrollLeft, scrollEl.scrollTop],
20
+ handleScroll = e => {
21
+ scrollEl && (e.preventDefault(), scrollEl.scrollTo(lockToScrollPos[0], lockToScrollPos[1]));
22
+ },
23
+ handleEvent = e => {
24
+ e.target instanceof Node && (e.target === node || node.contains(e.target)) || "keyCode" in e && !keyboardKeys.includes(e.keyCode) || preventDefault(e);
25
+ };
26
+ return document.addEventListener("scroll", handleScroll, {
27
+ passive: !1
28
+ }), document.addEventListener("wheel", handleEvent, {
29
+ passive: !1
30
+ }), document.addEventListener("touchmove", handleEvent, {
31
+ passive: !1
32
+ }), document.addEventListener("keydown", handleEvent, {
33
+ passive: !1
34
+ }), () => {
35
+ scrollEl.style.pointerEvents = previously, document.removeEventListener("scroll", handleScroll), document.removeEventListener("wheel", handleEvent), document.removeEventListener("touchmove", handleEvent), document.removeEventListener("keydown", handleEvent);
36
+ };
37
+ }, [enabled, nodeRef, keyboardKeys]);
38
+ };
39
+ export { useDisableScrollOutsideOf };
40
+ //# sourceMappingURL=useDisableScroll.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","canUseDOM","window","document","createElement","preventDefault","e","useDisableScrollOutsideOf","nodeRef","options","enabled","keyboardKeys","node","current","scrollEl","scrollingElement","HTMLElement","previously","style","pointerEvents","lockToScrollPos","scrollLeft","scrollTop","handleScroll","scrollTo","handleEvent","target","Node","contains","includes","keyCode","addEventListener","passive","removeEventListener"],"sources":["../../src/useDisableScroll.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAyB;AAElC,MAAMC,SAAA,GAAYA,CAAA,KAChB,OAAOC,MAAA,GAAW,OAAe,CAAC,CAACA,MAAA,CAAOC,QAAA,IAAY,CAAC,CAACD,MAAA,CAAOC,QAAA,CAASC,aAAA;EAEpEC,cAAA,GAAkBC,CAAA,IAA+C;IACjEA,CAAA,CAAED,cAAA,IACJC,CAAA,CAAED,cAAA,CAAe;EAErB;EAEaE,yBAAA,GAA4BA,CACvCC,OAAA,EACAC,OAAA,GAKI,CAAC,MACF;IACH,MAAM;MAAEC,OAAA;MAASC,YAAA,GAAe,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;IAAE,IAAIF,OAAA;IAEzET,SAAA,CAAU,MAAM;MACd,IAAI,CAACU,OAAA,IAAW,CAACT,SAAA,CAAU,GACzB;MAGF,MAAMW,IAAA,GAAOJ,OAAA,CAAQK,OAAA;MACrB,IAAI,CAACD,IAAA,EACH;MAGF,MAAME,QAAA,GAAWX,QAAA,CAASY,gBAAA;MAC1B,IAAI,CAACD,QAAA,IAAY,EAAEA,QAAA,YAAoBE,WAAA,GACrC;MAGF,MAAMC,UAAA,GAAaH,QAAA,CAASI,KAAA,CAAMC,aAAA;MAClCL,QAAA,CAASI,KAAA,CAAMC,aAAA,GAAgB;MAE/B,MAAMC,eAAA,GAAkB,CAACN,QAAA,CAASO,UAAA,EAAYP,QAAA,CAASQ,SAAS;QAE1DC,YAAA,GAAgBjB,CAAA,IAAa;UAC7BQ,QAAA,KACFR,CAAA,CAAED,cAAA,CAAe,GACjBS,QAAA,CAASU,QAAA,CAASJ,eAAA,CAAgB,CAAC,GAAGA,eAAA,CAAgB,CAAC,CAAC;QAE5D;QAEMK,WAAA,GAAenB,CAAA,IAA+C;UAC9DA,CAAA,CAAEoB,MAAA,YAAkBC,IAAA,KAASrB,CAAA,CAAEoB,MAAA,KAAWd,IAAA,IAAQA,IAAA,CAAKgB,QAAA,CAAStB,CAAA,CAAEoB,MAAM,MAIxE,aAAapB,CAAA,IAAK,CAACK,YAAA,CAAakB,QAAA,CAASvB,CAAA,CAAEwB,OAAO,KAItDzB,cAAA,CAAeC,CAAC;QAClB;MAEA,OAAAH,QAAA,CAAS4B,gBAAA,CAAiB,UAAUR,YAAA,EAAc;QAAES,OAAA,EAAS;MAAM,CAAC,GACpE7B,QAAA,CAAS4B,gBAAA,CAAiB,SAASN,WAAA,EAAa;QAAEO,OAAA,EAAS;MAAM,CAAC,GAClE7B,QAAA,CAAS4B,gBAAA,CAAiB,aAAaN,WAAA,EAAa;QAAEO,OAAA,EAAS;MAAM,CAAC,GACtE7B,QAAA,CAAS4B,gBAAA,CAAiB,WAAWN,WAAA,EAAa;QAAEO,OAAA,EAAS;MAAM,CAAC,GAE7D,MAAM;QACXlB,QAAA,CAASI,KAAA,CAAMC,aAAA,GAAgBF,UAAA,EAC/Bd,QAAA,CAAS8B,mBAAA,CAAoB,UAAUV,YAAY,GACnDpB,QAAA,CAAS8B,mBAAA,CAAoB,SAASR,WAAW,GACjDtB,QAAA,CAAS8B,mBAAA,CAAoB,aAAaR,WAAW,GACrDtB,QAAA,CAAS8B,mBAAA,CAAoB,WAAWR,WAAW;MACrD;IACF,GAAG,CAACf,OAAA,EAASF,OAAA,EAASG,YAAY,CAAC;EACrC","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ import { useEffect } from "react";
2
+ var canUseDOM = function() {
3
+ return typeof window < "u" && !!window.document && !!window.document.createElement;
4
+ }, preventDefault = function(e) {
5
+ e.preventDefault && e.preventDefault();
6
+ }, useDisableScrollOutsideOf = function(nodeRef) {
7
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : (
8
+ // space: 32, page up: 33, page down: 34, end: 35, home: 36
9
+ // left: 37, up: 38, right: 39, down: 40
10
+ {}
11
+ ), { enabled, keyboardKeys = [
12
+ 32,
13
+ 33,
14
+ 34,
15
+ 35,
16
+ 36,
17
+ 37,
18
+ 38,
19
+ 39,
20
+ 40
21
+ ] } = options;
22
+ useEffect(function() {
23
+ if (!(!enabled || !canUseDOM())) {
24
+ var node = nodeRef.current;
25
+ if (node) {
26
+ var scrollEl = document.scrollingElement;
27
+ if (!(!scrollEl || !(scrollEl instanceof HTMLElement))) {
28
+ var previously = scrollEl.style.pointerEvents;
29
+ scrollEl.style.pointerEvents = "none";
30
+ var lockToScrollPos = [
31
+ scrollEl.scrollLeft,
32
+ scrollEl.scrollTop
33
+ ], handleScroll = function(e) {
34
+ scrollEl && (e.preventDefault(), scrollEl.scrollTo(lockToScrollPos[0], lockToScrollPos[1]));
35
+ }, handleEvent = function(e) {
36
+ e.target instanceof Node && (e.target === node || node.contains(e.target)) || "keyCode" in e && !keyboardKeys.includes(e.keyCode) || preventDefault(e);
37
+ };
38
+ return document.addEventListener("scroll", handleScroll, {
39
+ passive: !1
40
+ }), document.addEventListener("wheel", handleEvent, {
41
+ passive: !1
42
+ }), document.addEventListener("touchmove", handleEvent, {
43
+ passive: !1
44
+ }), document.addEventListener("keydown", handleEvent, {
45
+ passive: !1
46
+ }), function() {
47
+ scrollEl.style.pointerEvents = previously, document.removeEventListener("scroll", handleScroll), document.removeEventListener("wheel", handleEvent), document.removeEventListener("touchmove", handleEvent), document.removeEventListener("keydown", handleEvent);
48
+ };
49
+ }
50
+ }
51
+ }
52
+ }, [
53
+ enabled,
54
+ nodeRef,
55
+ keyboardKeys
56
+ ]);
57
+ };
58
+ export {
59
+ useDisableScrollOutsideOf
60
+ };
61
+ //# sourceMappingURL=useDisableScroll.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/useDisableScroll.ts"],
4
+ "mappings": "AAAA,SAASA,iBAAyB;AAElC,IAAMC,YAAY,WAAA;SAChB,OAAOC,SAAW,OAAe,CAAC,CAACA,OAAOC,YAAY,CAAC,CAACD,OAAOC,SAASC;GAEpEC,iBAAiB,SAACC,GAAAA;AACtB,EAAIA,EAAED,kBACJC,EAAED,eAAc;AAEpB,GAEaE,4BAA4B,SACvCC,SAAAA;MACAC,UAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA;;;IAKI,CAAC;KAEC,EAAEC,SAASC,eAAe;IAAC;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAG,IAAKF;AAEzET,YAAU,WAAA;AACR,QAAI,GAACU,WAAW,CAACT,UAAAA,IAIjB;UAAMW,OAAOJ,QAAQK;AACrB,UAAKD,MAIL;YAAME,WAAWX,SAASY;AAC1B,YAAI,GAACD,YAAY,EAAEA,oBAAoBE,eAIvC;cAAMC,aAAaH,SAASI,MAAMC;AAClCL,mBAASI,MAAMC,gBAAgB;AAE/B,cAAMC,kBAAkB;YAACN,SAASO;YAAYP,SAASQ;aAEjDC,eAAe,SAACjB,GAAAA;AACpB,YAAIQ,aACFR,EAAED,eAAc,GAChBS,SAASU,SAASJ,gBAAgB,CAAA,GAAIA,gBAAgB,CAAA,CAAE;UAE5D,GAEMK,cAAc,SAACnB,GAAAA;AACnB,YAAIA,EAAEoB,kBAAkBC,SAASrB,EAAEoB,WAAWd,QAAQA,KAAKgB,SAAStB,EAAEoB,MAAM,MAIxE,aAAapB,KAAK,CAACK,aAAakB,SAASvB,EAAEwB,OAAO,KAItDzB,eAAeC,CAAAA;UACjB;AAEAH,0BAAS4B,iBAAiB,UAAUR,cAAc;YAAES,SAAS;UAAM,CAAA,GACnE7B,SAAS4B,iBAAiB,SAASN,aAAa;YAAEO,SAAS;UAAM,CAAA,GACjE7B,SAAS4B,iBAAiB,aAAaN,aAAa;YAAEO,SAAS;UAAM,CAAA,GACrE7B,SAAS4B,iBAAiB,WAAWN,aAAa;YAAEO,SAAS;UAAM,CAAA,GAE5D,WAAA;AACLlB,qBAASI,MAAMC,gBAAgBF,YAC/Bd,SAAS8B,oBAAoB,UAAUV,YAAAA,GACvCpB,SAAS8B,oBAAoB,SAASR,WAAAA,GACtCtB,SAAS8B,oBAAoB,aAAaR,WAAAA,GAC1CtB,SAAS8B,oBAAoB,WAAWR,WAAAA;UAC1C;;;;EACF,GAAG;IAACf;IAASF;IAASG;GAAa;AACrC;",
5
+ "names": ["useEffect", "canUseDOM", "window", "document", "createElement", "preventDefault", "e", "useDisableScrollOutsideOf", "nodeRef", "options", "enabled", "keyboardKeys", "node", "current", "scrollEl", "scrollingElement", "HTMLElement", "previously", "style", "pointerEvents", "lockToScrollPos", "scrollLeft", "scrollTop", "handleScroll", "scrollTo", "handleEvent", "target", "Node", "contains", "includes", "keyCode", "addEventListener", "passive", "removeEventListener"]
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/remove-scroll",
3
- "version": "1.129.19",
3
+ "version": "1.130.0",
4
4
  "types": "./types/index.d.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -31,11 +31,8 @@
31
31
  "default": "./dist/cjs/index.native.js"
32
32
  }
33
33
  },
34
- "dependencies": {
35
- "react-remove-scroll": "^2.6.0"
36
- },
37
34
  "devDependencies": {
38
- "@tamagui/build": "1.129.19",
35
+ "@tamagui/build": "1.130.0",
39
36
  "react": "*"
40
37
  },
41
38
  "publishConfig": {
@@ -1,12 +1,21 @@
1
- import React from 'react'
2
- import type { ComponentProps } from 'react'
3
- import { RemoveScroll as RS } from 'react-remove-scroll'
1
+ import React, { useRef } from 'react'
2
+ import { useDisableScrollOutsideOf } from './useDisableScroll'
4
3
 
5
- export type RemoveScrollProps = ComponentProps<typeof RS>
4
+ export type RemoveScrollProps = {
5
+ enabled?: boolean
6
+ children?: React.ReactNode
7
+ }
6
8
 
7
9
  export const RemoveScroll = React.memo((props: RemoveScrollProps) => {
8
- if (!props.children) return null
9
- return <RS {...props} />
10
- })
10
+ const root = useRef<HTMLElement>(null)
11
+
12
+ // useDisableScrollOutsideOf(root, {
13
+ // enabled: Boolean(props.enabled),
14
+ // })
11
15
 
12
- export const classNames = RS.classNames
16
+ return (
17
+ <span ref={root} style={{ display: 'contents' }}>
18
+ {props.children}
19
+ </span>
20
+ )
21
+ })
@@ -0,0 +1,75 @@
1
+ import { useEffect, useRef } from 'react'
2
+
3
+ const canUseDOM = () =>
4
+ typeof window !== 'undefined' && !!window.document && !!window.document.createElement
5
+
6
+ const preventDefault = (e: WheelEvent | TouchEvent | KeyboardEvent) => {
7
+ if (e.preventDefault) {
8
+ e.preventDefault()
9
+ }
10
+ }
11
+
12
+ export const useDisableScrollOutsideOf = (
13
+ nodeRef: React.RefObject<HTMLElement | null>,
14
+ options: {
15
+ enabled?: boolean
16
+ // space: 32, page up: 33, page down: 34, end: 35, home: 36
17
+ // left: 37, up: 38, right: 39, down: 40
18
+ keyboardKeys?: number[]
19
+ } = {}
20
+ ) => {
21
+ const { enabled, keyboardKeys = [32, 33, 34, 35, 36, 37, 38, 39, 40] } = options
22
+
23
+ useEffect(() => {
24
+ if (!enabled || !canUseDOM()) {
25
+ return
26
+ }
27
+
28
+ const node = nodeRef.current
29
+ if (!node) {
30
+ return
31
+ }
32
+
33
+ const scrollEl = document.scrollingElement
34
+ if (!scrollEl || !(scrollEl instanceof HTMLElement)) {
35
+ return
36
+ }
37
+
38
+ const previously = scrollEl.style.pointerEvents
39
+ scrollEl.style.pointerEvents = 'none'
40
+
41
+ const lockToScrollPos = [scrollEl.scrollLeft, scrollEl.scrollTop]
42
+
43
+ const handleScroll = (e: Event) => {
44
+ if (scrollEl) {
45
+ e.preventDefault()
46
+ scrollEl.scrollTo(lockToScrollPos[0], lockToScrollPos[1])
47
+ }
48
+ }
49
+
50
+ const handleEvent = (e: WheelEvent | TouchEvent | KeyboardEvent) => {
51
+ if (e.target instanceof Node && (e.target === node || node.contains(e.target))) {
52
+ return
53
+ }
54
+
55
+ if ('keyCode' in e && !keyboardKeys.includes(e.keyCode)) {
56
+ return
57
+ }
58
+
59
+ preventDefault(e)
60
+ }
61
+
62
+ document.addEventListener('scroll', handleScroll, { passive: false })
63
+ document.addEventListener('wheel', handleEvent, { passive: false })
64
+ document.addEventListener('touchmove', handleEvent, { passive: false })
65
+ document.addEventListener('keydown', handleEvent, { passive: false })
66
+
67
+ return () => {
68
+ scrollEl.style.pointerEvents = previously
69
+ document.removeEventListener('scroll', handleScroll)
70
+ document.removeEventListener('wheel', handleEvent)
71
+ document.removeEventListener('touchmove', handleEvent)
72
+ document.removeEventListener('keydown', handleEvent)
73
+ }
74
+ }, [enabled, nodeRef, keyboardKeys])
75
+ }
@@ -1,10 +1,7 @@
1
1
  import React from 'react';
2
- import type { ComponentProps } from 'react';
3
- import { RemoveScroll as RS } from 'react-remove-scroll';
4
- export type RemoveScrollProps = ComponentProps<typeof RS>;
5
- export declare const RemoveScroll: React.MemoExoticComponent<(props: RemoveScrollProps) => import("react/jsx-runtime").JSX.Element | null>;
6
- export declare const classNames: {
7
- fullWidth: string;
8
- zeroRight: string;
2
+ export type RemoveScrollProps = {
3
+ enabled?: boolean;
4
+ children?: React.ReactNode;
9
5
  };
6
+ export declare const RemoveScroll: React.MemoExoticComponent<(props: RemoveScrollProps) => import("react/jsx-runtime").JSX.Element>;
10
7
  //# sourceMappingURL=RemoveScroll.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveScroll.d.ts","sourceRoot":"","sources":["../src/RemoveScroll.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,YAAY,IAAI,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAExD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAA;AAEzD,eAAO,MAAM,YAAY,oCAAsB,iBAAiB,oDAG9D,CAAA;AAEF,eAAO,MAAM,UAAU;;;CAAgB,CAAA"}
1
+ {"version":3,"file":"RemoveScroll.d.ts","sourceRoot":"","sources":["../src/RemoveScroll.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;AAGrC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,YAAY,oCAAsB,iBAAiB,6CAY9D,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const useDisableScrollOutsideOf: (nodeRef: React.RefObject<HTMLElement | null>, options?: {
2
+ enabled?: boolean;
3
+ keyboardKeys?: number[];
4
+ }) => void;
5
+ //# sourceMappingURL=useDisableScroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDisableScroll.d.ts","sourceRoot":"","sources":["../src/useDisableScroll.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,yBAAyB,GACpC,SAAS,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAC5C,UAAS;IACP,OAAO,CAAC,EAAE,OAAO,CAAA;IAGjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB,SAwDP,CAAA"}