@tamagui/remove-scroll 1.130.2 → 1.130.3
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.
- package/dist/cjs/RemoveScroll.cjs +6 -30
- package/dist/cjs/RemoveScroll.js +4 -17
- package/dist/cjs/RemoveScroll.js.map +2 -2
- package/dist/cjs/RemoveScroll.native.js +5 -2
- package/dist/cjs/RemoveScroll.native.js.map +2 -2
- package/dist/cjs/useDisableScroll.cjs +9 -32
- package/dist/cjs/useDisableScroll.js +8 -20
- package/dist/cjs/useDisableScroll.js.map +1 -1
- package/dist/cjs/useDisableScroll.native.js +11 -50
- package/dist/cjs/useDisableScroll.native.js.map +2 -2
- package/dist/esm/RemoveScroll.js +2 -9
- package/dist/esm/RemoveScroll.js.map +1 -1
- package/dist/esm/RemoveScroll.mjs +2 -15
- package/dist/esm/RemoveScroll.mjs.map +1 -1
- package/dist/esm/RemoveScroll.native.js +4 -3
- package/dist/esm/RemoveScroll.native.js.map +1 -1
- package/dist/esm/useDisableScroll.js +8 -20
- package/dist/esm/useDisableScroll.js.map +1 -1
- package/dist/esm/useDisableScroll.mjs +9 -32
- package/dist/esm/useDisableScroll.mjs.map +1 -1
- package/dist/esm/useDisableScroll.native.js +11 -40
- package/dist/esm/useDisableScroll.native.js.map +1 -1
- package/dist/jsx/RemoveScroll.js +2 -9
- package/dist/jsx/RemoveScroll.js.map +1 -1
- package/dist/jsx/RemoveScroll.mjs +2 -15
- package/dist/jsx/RemoveScroll.mjs.map +1 -1
- package/dist/jsx/RemoveScroll.native.js +3 -1
- package/dist/jsx/RemoveScroll.native.js.map +2 -2
- package/dist/jsx/useDisableScroll.js +8 -20
- package/dist/jsx/useDisableScroll.js.map +1 -1
- package/dist/jsx/useDisableScroll.mjs +9 -32
- package/dist/jsx/useDisableScroll.mjs.map +1 -1
- package/dist/jsx/useDisableScroll.native.js +10 -49
- package/dist/jsx/useDisableScroll.native.js.map +2 -2
- package/package.json +2 -2
- package/src/RemoveScroll.native.tsx +2 -1
- package/src/RemoveScroll.tsx +6 -14
- package/src/useDisableScroll.ts +11 -61
- package/types/RemoveScroll.d.ts +5 -4
- package/types/RemoveScroll.d.ts.map +13 -1
- package/types/RemoveScroll.native.d.ts +2 -0
- package/types/RemoveScroll.native.d.ts.map +13 -1
- package/types/index.d.ts +2 -1
- package/types/index.d.ts.map +11 -1
- package/types/useDisableScroll.d.ts +2 -4
- package/types/useDisableScroll.d.ts.map +13 -1
- package/dist/cjs/disableScroll.cjs +0 -83
- package/dist/cjs/disableScroll.js +0 -68
- package/dist/cjs/disableScroll.js.map +0 -6
- package/dist/cjs/disableScroll.native.js +0 -134
- package/dist/cjs/disableScroll.native.js.map +0 -6
- package/dist/esm/disableScroll.js +0 -52
- package/dist/esm/disableScroll.js.map +0 -6
- package/dist/esm/disableScroll.mjs +0 -60
- package/dist/esm/disableScroll.mjs.map +0 -1
- package/dist/esm/disableScroll.native.js +0 -89
- package/dist/esm/disableScroll.native.js.map +0 -1
- package/dist/jsx/disableScroll.js +0 -52
- package/dist/jsx/disableScroll.js.map +0 -6
- package/dist/jsx/disableScroll.mjs +0 -60
- package/dist/jsx/disableScroll.mjs.map +0 -1
- package/dist/jsx/disableScroll.native.js +0 -113
- package/dist/jsx/disableScroll.native.js.map +0 -6
- package/types/disableScroll.d.ts.map +0 -1
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var
|
|
6
|
-
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __export = (target, all) => {
|
|
8
6
|
for (var name in all) __defProp(target, name, {
|
|
9
7
|
get: all[name],
|
|
@@ -17,35 +15,13 @@ var __export = (target, all) => {
|
|
|
17
15
|
});
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
26
|
-
value: mod,
|
|
27
|
-
enumerable: !0
|
|
28
|
-
}) : target, mod)),
|
|
29
|
-
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
30
|
-
value: !0
|
|
31
|
-
}), mod);
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
32
21
|
var RemoveScroll_exports = {};
|
|
33
22
|
__export(RemoveScroll_exports, {
|
|
34
23
|
RemoveScroll: () => RemoveScroll
|
|
35
24
|
});
|
|
36
25
|
module.exports = __toCommonJS(RemoveScroll_exports);
|
|
37
|
-
var
|
|
38
|
-
|
|
39
|
-
import_jsx_runtime = require("react/jsx-runtime");
|
|
40
|
-
const RemoveScroll = import_react.default.memo(props => {
|
|
41
|
-
const root = (0, import_react.useRef)(null);
|
|
42
|
-
return (0, import_useDisableScroll.useDisableScrollOutsideOf)(root, {
|
|
43
|
-
enabled: !!props.enabled
|
|
44
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)("span", {
|
|
45
|
-
ref: root,
|
|
46
|
-
style: {
|
|
47
|
-
display: "contents"
|
|
48
|
-
},
|
|
49
|
-
children: props.children
|
|
50
|
-
});
|
|
51
|
-
});
|
|
26
|
+
var import_useDisableScroll = require("./useDisableScroll.cjs");
|
|
27
|
+
const RemoveScroll = props => ((0, import_useDisableScroll.useDisableBodyScroll)(!!props.enabled), props.children);
|
package/dist/cjs/RemoveScroll.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
5
|
var __export = (target, all) => {
|
|
7
6
|
for (var name in all)
|
|
8
7
|
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
@@ -12,24 +11,12 @@ var __export = (target, all) => {
|
|
|
12
11
|
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
12
|
return to;
|
|
14
13
|
};
|
|
15
|
-
var
|
|
16
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
-
mod
|
|
22
|
-
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
15
|
var RemoveScroll_exports = {};
|
|
24
16
|
__export(RemoveScroll_exports, {
|
|
25
17
|
RemoveScroll: () => RemoveScroll
|
|
26
18
|
});
|
|
27
19
|
module.exports = __toCommonJS(RemoveScroll_exports);
|
|
28
|
-
var
|
|
29
|
-
const RemoveScroll =
|
|
30
|
-
const root = (0, import_react.useRef)(null);
|
|
31
|
-
return (0, import_useDisableScroll.useDisableScrollOutsideOf)(root, {
|
|
32
|
-
enabled: !!props.enabled
|
|
33
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { ref: root, style: { display: "contents" }, children: props.children });
|
|
34
|
-
});
|
|
20
|
+
var import_useDisableScroll = require("./useDisableScroll");
|
|
21
|
+
const RemoveScroll = (props) => ((0, import_useDisableScroll.useDisableBodyScroll)(!!props.enabled), props.children);
|
|
35
22
|
//# sourceMappingURL=RemoveScroll.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/RemoveScroll.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": [
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,8BAAqC;AAO9B,MAAM,eAAe,CAAC,eAC3B,8CAAqB,EAAQ,MAAM,OAAQ,GAEpC,MAAM;",
|
|
5
|
+
"names": []
|
|
6
6
|
}
|
|
@@ -15,14 +15,17 @@ var __export = (target, all) => {
|
|
|
15
15
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
16
16
|
var RemoveScroll_native_exports = {};
|
|
17
17
|
__export(RemoveScroll_native_exports, {
|
|
18
|
-
RemoveScroll: () => RemoveScroll
|
|
18
|
+
RemoveScroll: () => RemoveScroll,
|
|
19
|
+
getAllowedScrollableNode: () => getAllowedScrollableNode
|
|
19
20
|
});
|
|
20
21
|
module.exports = __toCommonJS(RemoveScroll_native_exports);
|
|
21
22
|
var RemoveScroll = function(props) {
|
|
22
23
|
return props.children;
|
|
24
|
+
}, getAllowedScrollableNode = function() {
|
|
23
25
|
};
|
|
24
26
|
// Annotate the CommonJS export names for ESM import in node:
|
|
25
27
|
0 && (module.exports = {
|
|
26
|
-
RemoveScroll
|
|
28
|
+
RemoveScroll,
|
|
29
|
+
getAllowedScrollableNode
|
|
27
30
|
});
|
|
28
31
|
//# sourceMappingURL=RemoveScroll.native.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/RemoveScroll.native.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA
|
|
5
|
-
"names": ["RemoveScroll", "props", "children"]
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;AAAO,IAAMA,eAAe,SAACC,OAAAA;SAAoBA,MAAMC;GAC1CC,2BAA2B,WAAA;AAAY;",
|
|
5
|
+
"names": ["RemoveScroll", "props", "children", "getAllowedScrollableNode"]
|
|
6
6
|
}
|
|
@@ -20,44 +20,21 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
20
20
|
}), mod);
|
|
21
21
|
var useDisableScroll_exports = {};
|
|
22
22
|
__export(useDisableScroll_exports, {
|
|
23
|
-
|
|
23
|
+
useDisableBodyScroll: () => useDisableBodyScroll
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(useDisableScroll_exports);
|
|
26
26
|
var import_react = require("react");
|
|
27
27
|
const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement,
|
|
28
|
-
|
|
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;
|
|
28
|
+
useDisableBodyScroll = enabled => {
|
|
36
29
|
(0, import_react.useEffect)(() => {
|
|
37
30
|
if (!enabled || !canUseDOM()) return;
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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);
|
|
31
|
+
const bodyEl = document.documentElement,
|
|
32
|
+
previousBodyStyle = {
|
|
33
|
+
scrollbarGutter: bodyEl.style.scrollbarGutter,
|
|
34
|
+
overflow: bodyEl.style.overflow
|
|
50
35
|
};
|
|
51
|
-
return
|
|
52
|
-
|
|
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);
|
|
36
|
+
return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", () => {
|
|
37
|
+
Object.assign(bodyEl.style, previousBodyStyle);
|
|
61
38
|
};
|
|
62
|
-
}, [enabled
|
|
39
|
+
}, [enabled]);
|
|
63
40
|
};
|
|
@@ -14,33 +14,21 @@ var __export = (target, all) => {
|
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
15
|
var useDisableScroll_exports = {};
|
|
16
16
|
__export(useDisableScroll_exports, {
|
|
17
|
-
|
|
17
|
+
useDisableBodyScroll: () => useDisableBodyScroll
|
|
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,
|
|
22
|
-
e.preventDefault && e.preventDefault();
|
|
23
|
-
}, useDisableScrollOutsideOf = (nodeRef, options = {}) => {
|
|
24
|
-
const { enabled, keyboardKeys = [32, 33, 34, 35, 36, 37, 38, 39, 40] } = options;
|
|
21
|
+
const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement, useDisableBodyScroll = (enabled) => {
|
|
25
22
|
(0, import_react.useEffect)(() => {
|
|
26
23
|
if (!enabled || !canUseDOM())
|
|
27
24
|
return;
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
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);
|
|
25
|
+
const bodyEl = document.documentElement, previousBodyStyle = {
|
|
26
|
+
scrollbarGutter: bodyEl.style.scrollbarGutter,
|
|
27
|
+
overflow: bodyEl.style.overflow
|
|
40
28
|
};
|
|
41
|
-
return
|
|
42
|
-
|
|
29
|
+
return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", () => {
|
|
30
|
+
Object.assign(bodyEl.style, previousBodyStyle);
|
|
43
31
|
};
|
|
44
|
-
}, [enabled
|
|
32
|
+
}, [enabled]);
|
|
45
33
|
};
|
|
46
34
|
//# sourceMappingURL=useDisableScroll.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useDisableScroll.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
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;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -15,67 +15,28 @@ var __export = (target, all) => {
|
|
|
15
15
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
16
16
|
var useDisableScroll_exports = {};
|
|
17
17
|
__export(useDisableScroll_exports, {
|
|
18
|
-
|
|
18
|
+
useDisableBodyScroll: () => useDisableBodyScroll
|
|
19
19
|
});
|
|
20
20
|
module.exports = __toCommonJS(useDisableScroll_exports);
|
|
21
21
|
var import_react = require("react"), canUseDOM = function() {
|
|
22
22
|
return typeof window < "u" && !!window.document && !!window.document.createElement;
|
|
23
|
-
},
|
|
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;
|
|
23
|
+
}, useDisableBodyScroll = function(enabled) {
|
|
41
24
|
(0, import_react.useEffect)(function() {
|
|
42
25
|
if (!(!enabled || !canUseDOM())) {
|
|
43
|
-
var
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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
|
-
}
|
|
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
|
+
};
|
|
70
33
|
}
|
|
71
34
|
}, [
|
|
72
|
-
enabled
|
|
73
|
-
nodeRef,
|
|
74
|
-
keyboardKeys
|
|
35
|
+
enabled
|
|
75
36
|
]);
|
|
76
37
|
};
|
|
77
38
|
// Annotate the CommonJS export names for ESM import in node:
|
|
78
39
|
0 && (module.exports = {
|
|
79
|
-
|
|
40
|
+
useDisableBodyScroll
|
|
80
41
|
});
|
|
81
42
|
//# sourceMappingURL=useDisableScroll.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useDisableScroll.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;;;;;
|
|
5
|
-
"names": ["canUseDOM", "window", "document", "createElement", "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;;;;;mBAA0B,kBAEpBA,YAAY,WAAA;SAChB,OAAOC,SAAW,OAAe,CAAC,CAACA,OAAOC,YAAY,CAAC,CAACD,OAAOC,SAASC;GAE7DC,uBAAuB,SAACC,SAAAA;AACnCC,8BAAU,WAAA;AACR,QAAI,GAACD,WAAW,CAACL,UAAAA,IAKjB;UAAMO,SAASL,SAASM,iBAClBC,oBAAoB;QACxBC,iBAAiBH,OAAOI,MAAMD;QAC9BE,UAAUL,OAAOI,MAAMC;MACzB;AACAL,oBAAOI,MAAMD,kBAAkB,UAC/BH,OAAOI,MAAMC,WAAW,UAEjB,WAAA;AACLC,eAAOC,OAAOP,OAAOI,OAAOF,iBAAAA;MAC9B;;EACF,GAAG;IAACJ;GAAQ;AACd;",
|
|
5
|
+
"names": ["canUseDOM", "window", "document", "createElement", "useDisableBodyScroll", "enabled", "useEffect", "bodyEl", "documentElement", "previousBodyStyle", "scrollbarGutter", "style", "overflow", "Object", "assign"]
|
|
6
6
|
}
|
package/dist/esm/RemoveScroll.js
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
const RemoveScroll = React.memo((props) => {
|
|
5
|
-
const root = useRef(null);
|
|
6
|
-
return useDisableScrollOutsideOf(root, {
|
|
7
|
-
enabled: !!props.enabled
|
|
8
|
-
}), /* @__PURE__ */ jsx("span", { ref: root, style: { display: "contents" }, children: props.children });
|
|
9
|
-
});
|
|
1
|
+
import { useDisableBodyScroll } from "./useDisableScroll";
|
|
2
|
+
const RemoveScroll = (props) => (useDisableBodyScroll(!!props.enabled), props.children);
|
|
10
3
|
export {
|
|
11
4
|
RemoveScroll
|
|
12
5
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/RemoveScroll.tsx"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "AACA,SAAS,4BAA4B;AAO9B,MAAM,eAAe,CAAC,WAC3B,qBAAqB,EAAQ,MAAM,OAAQ,GAEpC,MAAM;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
const RemoveScroll = React.memo(props => {
|
|
5
|
-
const root = useRef(null);
|
|
6
|
-
return useDisableScrollOutsideOf(root, {
|
|
7
|
-
enabled: !!props.enabled
|
|
8
|
-
}), /* @__PURE__ */jsx("span", {
|
|
9
|
-
ref: root,
|
|
10
|
-
style: {
|
|
11
|
-
display: "contents"
|
|
12
|
-
},
|
|
13
|
-
children: props.children
|
|
14
|
-
});
|
|
15
|
-
});
|
|
1
|
+
import { useDisableBodyScroll } from "./useDisableScroll.mjs";
|
|
2
|
+
const RemoveScroll = props => (useDisableBodyScroll(!!props.enabled), props.children);
|
|
16
3
|
export { RemoveScroll };
|
|
17
4
|
//# sourceMappingURL=RemoveScroll.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useDisableBodyScroll","RemoveScroll","props","enabled","children"],"sources":["../../src/RemoveScroll.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,oBAAA,QAA4B;AAO9B,MAAMC,YAAA,GAAgBC,KAAA,KAC3BF,oBAAA,CAAqB,EAAQE,KAAA,CAAMC,OAAQ,GAEpCD,KAAA,CAAME,QAAA","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
var RemoveScroll = function (props) {
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
|
|
2
|
+
return props.children;
|
|
3
|
+
},
|
|
4
|
+
getAllowedScrollableNode = function () {};
|
|
5
|
+
export { RemoveScroll, getAllowedScrollableNode };
|
|
5
6
|
//# sourceMappingURL=RemoveScroll.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RemoveScroll","props","children"],"sources":["../../src/RemoveScroll.native.tsx"],"sourcesContent":[null],"mappings":"AAAO,IAAMA,YAAA,GAAe,SAAAA,CAACC,KAAA;
|
|
1
|
+
{"version":3,"names":["RemoveScroll","props","children","getAllowedScrollableNode"],"sources":["../../src/RemoveScroll.native.tsx"],"sourcesContent":[null],"mappings":"AAAO,IAAMA,YAAA,GAAe,SAAAA,CAACC,KAAA;WAAoBA,KAAA,CAAMC,QAAA;;EAC1CC,wBAAA,GAA2B,SAAAA,CAAA,GAAY","ignoreList":[]}
|
|
@@ -1,30 +1,18 @@
|
|
|
1
1
|
import { useEffect } from "react";
|
|
2
|
-
const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement,
|
|
3
|
-
e.preventDefault && e.preventDefault();
|
|
4
|
-
}, useDisableScrollOutsideOf = (nodeRef, options = {}) => {
|
|
5
|
-
const { enabled, keyboardKeys = [32, 33, 34, 35, 36, 37, 38, 39, 40] } = options;
|
|
2
|
+
const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement, useDisableBodyScroll = (enabled) => {
|
|
6
3
|
useEffect(() => {
|
|
7
4
|
if (!enabled || !canUseDOM())
|
|
8
5
|
return;
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
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);
|
|
6
|
+
const bodyEl = document.documentElement, previousBodyStyle = {
|
|
7
|
+
scrollbarGutter: bodyEl.style.scrollbarGutter,
|
|
8
|
+
overflow: bodyEl.style.overflow
|
|
21
9
|
};
|
|
22
|
-
return
|
|
23
|
-
|
|
10
|
+
return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", () => {
|
|
11
|
+
Object.assign(bodyEl.style, previousBodyStyle);
|
|
24
12
|
};
|
|
25
|
-
}, [enabled
|
|
13
|
+
}, [enabled]);
|
|
26
14
|
};
|
|
27
15
|
export {
|
|
28
|
-
|
|
16
|
+
useDisableBodyScroll
|
|
29
17
|
};
|
|
30
18
|
//# sourceMappingURL=useDisableScroll.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useDisableScroll.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,
|
|
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;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,40 +1,17 @@
|
|
|
1
1
|
import { useEffect } from "react";
|
|
2
2
|
const canUseDOM = () => typeof window < "u" && !!window.document && !!window.document.createElement,
|
|
3
|
-
|
|
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;
|
|
3
|
+
useDisableBodyScroll = enabled => {
|
|
11
4
|
useEffect(() => {
|
|
12
5
|
if (!enabled || !canUseDOM()) return;
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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);
|
|
6
|
+
const bodyEl = document.documentElement,
|
|
7
|
+
previousBodyStyle = {
|
|
8
|
+
scrollbarGutter: bodyEl.style.scrollbarGutter,
|
|
9
|
+
overflow: bodyEl.style.overflow
|
|
25
10
|
};
|
|
26
|
-
return
|
|
27
|
-
|
|
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);
|
|
11
|
+
return bodyEl.style.scrollbarGutter = "stable", bodyEl.style.overflow = "hidden", () => {
|
|
12
|
+
Object.assign(bodyEl.style, previousBodyStyle);
|
|
36
13
|
};
|
|
37
|
-
}, [enabled
|
|
14
|
+
}, [enabled]);
|
|
38
15
|
};
|
|
39
|
-
export {
|
|
16
|
+
export { useDisableBodyScroll };
|
|
40
17
|
//# sourceMappingURL=useDisableScroll.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","canUseDOM","window","document","createElement","
|
|
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":[]}
|
|
@@ -2,48 +2,19 @@ import { useEffect } from "react";
|
|
|
2
2
|
var canUseDOM = function () {
|
|
3
3
|
return typeof window < "u" && !!window.document && !!window.document.createElement;
|
|
4
4
|
},
|
|
5
|
-
|
|
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;
|
|
5
|
+
useDisableBodyScroll = function (enabled) {
|
|
17
6
|
useEffect(function () {
|
|
18
7
|
if (!(!enabled || !canUseDOM())) {
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
}
|
|
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);
|
|
15
|
+
};
|
|
45
16
|
}
|
|
46
|
-
}, [enabled
|
|
17
|
+
}, [enabled]);
|
|
47
18
|
};
|
|
48
|
-
export {
|
|
19
|
+
export { useDisableBodyScroll };
|
|
49
20
|
//# sourceMappingURL=useDisableScroll.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","canUseDOM","window","document","createElement","
|
|
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":[]}
|
package/dist/jsx/RemoveScroll.js
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
const RemoveScroll = React.memo((props) => {
|
|
5
|
-
const root = useRef(null);
|
|
6
|
-
return useDisableScrollOutsideOf(root, {
|
|
7
|
-
enabled: !!props.enabled
|
|
8
|
-
}), /* @__PURE__ */ jsx("span", { ref: root, style: { display: "contents" }, children: props.children });
|
|
9
|
-
});
|
|
1
|
+
import { useDisableBodyScroll } from "./useDisableScroll";
|
|
2
|
+
const RemoveScroll = (props) => (useDisableBodyScroll(!!props.enabled), props.children);
|
|
10
3
|
export {
|
|
11
4
|
RemoveScroll
|
|
12
5
|
};
|