@rpcbase/ui 0.235.0 → 0.237.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.
- package/dist/components/Notifications/NotificationsDrawer.d.ts.map +1 -1
- package/dist/components/Notifications/types.d.ts +11 -2
- package/dist/components/Notifications/types.d.ts.map +1 -1
- package/dist/index16.js +247 -175
- package/dist/index16.js.map +1 -1
- package/dist/index167.js +3 -3
- package/dist/index172.js +6 -6
- package/dist/index178.js +1 -1
- package/dist/index185.js +1 -1
- package/dist/index187.js +1 -1
- package/dist/index189.js +3 -3
- package/dist/index190.js +4 -4
- package/dist/index270.js +1 -1
- package/dist/index272.js +1 -1
- package/dist/index275.js +1 -1
- package/dist/index277.js +1 -1
- package/dist/index278.js +2 -2
- package/dist/index282.js +1 -1
- package/dist/index285.js +1 -1
- package/dist/index287.js +1 -1
- package/dist/index298.js +1 -1
- package/dist/index302.js +1 -1
- package/dist/index320.js +2 -2
- package/dist/index332.js +1 -1
- package/dist/index336.js +19 -8
- package/dist/index336.js.map +1 -1
- package/dist/index337.js +28 -11
- package/dist/index337.js.map +1 -1
- package/dist/index338.js +15 -7
- package/dist/index338.js.map +1 -1
- package/dist/index339.js +8 -13
- package/dist/index339.js.map +1 -1
- package/dist/index340.js +11 -3
- package/dist/index340.js.map +1 -1
- package/dist/index341.js +8 -3
- package/dist/index341.js.map +1 -1
- package/dist/index342.js +12 -16
- package/dist/index342.js.map +1 -1
- package/dist/index343.js +3 -19
- package/dist/index343.js.map +1 -1
- package/dist/index344.js +3 -28
- package/dist/index344.js.map +1 -1
- package/dist/index345.js +16 -15
- package/dist/index345.js.map +1 -1
- package/dist/index347.js +5 -122
- package/dist/index347.js.map +1 -1
- package/dist/index348.js +121 -31
- package/dist/index348.js.map +1 -1
- package/dist/index349.js +31 -72
- package/dist/index349.js.map +1 -1
- package/dist/index350.js +70 -139
- package/dist/index350.js.map +1 -1
- package/dist/index351.js +116 -35
- package/dist/index351.js.map +1 -1
- package/dist/index352.js +56 -44
- package/dist/index352.js.map +1 -1
- package/dist/index353.js +49 -14
- package/dist/index353.js.map +1 -1
- package/dist/index354.js +15 -6
- package/dist/index354.js.map +1 -1
- package/dist/index362.js +4 -12
- package/dist/index362.js.map +1 -1
- package/dist/index363.js +11 -16
- package/dist/index363.js.map +1 -1
- package/dist/index364.js +16 -5
- package/dist/index364.js.map +1 -1
- package/dist/index365.js +6 -4
- package/dist/index365.js.map +1 -1
- package/dist/index384.js +2 -2
- package/dist/index386.js +1 -1
- package/dist/index44.js +1 -1
- package/dist/index45.js +2 -2
- package/dist/index70.js +1 -1
- package/dist/index71.js +1 -1
- package/dist/index74.js +6 -2
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +8 -2
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +5 -5
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +2 -8
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +2 -6
- package/dist/index78.js.map +1 -1
- package/package.json +1 -1
package/dist/index340.js
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
function
|
|
2
|
-
|
|
1
|
+
function n(e, r) {
|
|
2
|
+
if (e && !r)
|
|
3
|
+
return e;
|
|
4
|
+
if (!e && r)
|
|
5
|
+
return r;
|
|
6
|
+
if (e || r)
|
|
7
|
+
return {
|
|
8
|
+
...e,
|
|
9
|
+
...r
|
|
10
|
+
};
|
|
3
11
|
}
|
|
4
12
|
export {
|
|
5
|
-
|
|
13
|
+
n as mergeObjects
|
|
6
14
|
};
|
|
7
15
|
//# sourceMappingURL=index340.js.map
|
package/dist/index340.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index340.js","sources":["../../../node_modules/@base-ui/
|
|
1
|
+
{"version":3,"file":"index340.js","sources":["../../../node_modules/@base-ui/utils/esm/mergeObjects.js"],"sourcesContent":["export function mergeObjects(a, b) {\n if (a && !b) {\n return a;\n }\n if (!a && b) {\n return b;\n }\n if (a || b) {\n return {\n ...a,\n ...b\n };\n }\n return undefined;\n}"],"names":["mergeObjects","a","b"],"mappings":"AAAO,SAASA,EAAaC,GAAGC,GAAG;AACjC,MAAID,KAAK,CAACC;AACR,WAAOD;AAET,MAAI,CAACA,KAAKC;AACR,WAAOA;AAET,MAAID,KAAKC;AACP,WAAO;AAAA,MACL,GAAGD;AAAA,MACH,GAAGC;AAAA,IACT;AAGA;","x_google_ignoreList":[0]}
|
package/dist/index341.js
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
let n;
|
|
2
|
+
process.env.NODE_ENV !== "production" && (n = /* @__PURE__ */ new Set());
|
|
3
|
+
function s(...o) {
|
|
4
|
+
if (process.env.NODE_ENV !== "production") {
|
|
5
|
+
const e = o.join(" ");
|
|
6
|
+
n.has(e) || (n.add(e), console.warn(`Base UI: ${e}`));
|
|
7
|
+
}
|
|
3
8
|
}
|
|
4
9
|
export {
|
|
5
|
-
|
|
10
|
+
s as warn
|
|
6
11
|
};
|
|
7
12
|
//# sourceMappingURL=index341.js.map
|
package/dist/index341.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index341.js","sources":["../../../node_modules/@base-ui/
|
|
1
|
+
{"version":3,"file":"index341.js","sources":["../../../node_modules/@base-ui/utils/esm/warn.js"],"sourcesContent":["let set;\nif (process.env.NODE_ENV !== 'production') {\n set = new Set();\n}\nexport function warn(...messages) {\n if (process.env.NODE_ENV !== 'production') {\n const messageKey = messages.join(' ');\n if (!set.has(messageKey)) {\n set.add(messageKey);\n console.warn(`Base UI: ${messageKey}`);\n }\n }\n}"],"names":["set","warn","messages","messageKey"],"mappings":"AAAA,IAAIA;AACA,QAAQ,IAAI,aAAa,iBAC3BA,IAAM,oBAAI,IAAG;AAER,SAASC,KAAQC,GAAU;AAChC,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,UAAMC,IAAaD,EAAS,KAAK,GAAG;AACpC,IAAKF,EAAI,IAAIG,CAAU,MACrBH,EAAI,IAAIG,CAAU,GAClB,QAAQ,KAAK,YAAYA,CAAU,EAAE;AAAA,EAEzC;AACF;","x_google_ignoreList":[0]}
|
package/dist/index342.js
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
function I(u, t) {
|
|
12
|
-
if (a !== void 0) {
|
|
13
|
-
const e = a();
|
|
14
|
-
return u ?? (t ? `${t}-${e}` : e);
|
|
1
|
+
function i(r, n) {
|
|
2
|
+
const o = {};
|
|
3
|
+
for (const t in r) {
|
|
4
|
+
const e = r[t];
|
|
5
|
+
if (n?.hasOwnProperty(t)) {
|
|
6
|
+
const s = n[t](e);
|
|
7
|
+
s != null && Object.assign(o, s);
|
|
8
|
+
continue;
|
|
9
|
+
}
|
|
10
|
+
e === !0 ? o[`data-${t.toLowerCase()}`] = "" : e && (o[`data-${t.toLowerCase()}`] = e.toString());
|
|
15
11
|
}
|
|
16
|
-
return
|
|
12
|
+
return o;
|
|
17
13
|
}
|
|
18
14
|
export {
|
|
19
|
-
|
|
15
|
+
i as getStateAttributesProps
|
|
20
16
|
};
|
|
21
17
|
//# sourceMappingURL=index342.js.map
|
package/dist/index342.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index342.js","sources":["../../../node_modules/@base-ui/
|
|
1
|
+
{"version":3,"file":"index342.js","sources":["../../../node_modules/@base-ui/react/esm/internals/getStateAttributesProps.js"],"sourcesContent":["export function getStateAttributesProps(state, customMapping) {\n const props = {};\n\n /* eslint-disable-next-line guard-for-in */\n for (const key in state) {\n const value = state[key];\n if (customMapping?.hasOwnProperty(key)) {\n const customProps = customMapping[key](value);\n if (customProps != null) {\n Object.assign(props, customProps);\n }\n continue;\n }\n if (value === true) {\n props[`data-${key.toLowerCase()}`] = '';\n } else if (value) {\n props[`data-${key.toLowerCase()}`] = value.toString();\n }\n }\n return props;\n}"],"names":["getStateAttributesProps","state","customMapping","props","key","value","customProps"],"mappings":"AAAO,SAASA,EAAwBC,GAAOC,GAAe;AAC5D,QAAMC,IAAQ,CAAA;AAGd,aAAWC,KAAOH,GAAO;AACvB,UAAMI,IAAQJ,EAAMG,CAAG;AACvB,QAAIF,GAAe,eAAeE,CAAG,GAAG;AACtC,YAAME,IAAcJ,EAAcE,CAAG,EAAEC,CAAK;AAC5C,MAAIC,KAAe,QACjB,OAAO,OAAOH,GAAOG,CAAW;AAElC;AAAA,IACF;AACA,IAAID,MAAU,KACZF,EAAM,QAAQC,EAAI,YAAW,CAAE,EAAE,IAAI,KAC5BC,MACTF,EAAM,QAAQC,EAAI,YAAW,CAAE,EAAE,IAAIC,EAAM,SAAQ;AAAA,EAEvD;AACA,SAAOF;AACT;","x_google_ignoreList":[0]}
|
package/dist/index343.js
CHANGED
|
@@ -1,23 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import C from "./index332.js";
|
|
4
|
-
import h from "./index314.js";
|
|
5
|
-
function P(i, r, l, N, n) {
|
|
6
|
-
var e = r || l ? b(r || l, n) : N;
|
|
7
|
-
if (i.indexOf(e) === 0) {
|
|
8
|
-
n = new c(n), n.selectNumberingPlan(r || l, e);
|
|
9
|
-
var o = i.slice(e.length), f = C(o, r, n), m = f.nationalNumber, u = C(i, r, n), t = u.nationalNumber;
|
|
10
|
-
if (!g(t, n.nationalNumberPattern()) && g(m, n.nationalNumberPattern()) || h(t, r, n) === "TOO_LONG")
|
|
11
|
-
return {
|
|
12
|
-
countryCallingCode: e,
|
|
13
|
-
number: o
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
return {
|
|
17
|
-
number: i
|
|
18
|
-
};
|
|
1
|
+
function t(n, o) {
|
|
2
|
+
return typeof n == "function" ? n(o) : n;
|
|
19
3
|
}
|
|
20
4
|
export {
|
|
21
|
-
|
|
5
|
+
t as resolveClassName
|
|
22
6
|
};
|
|
23
7
|
//# sourceMappingURL=index343.js.map
|
package/dist/index343.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index343.js","sources":["../../../node_modules
|
|
1
|
+
{"version":3,"file":"index343.js","sources":["../../../node_modules/@base-ui/react/esm/utils/resolveClassName.js"],"sourcesContent":["/**\n * If the provided className is a string, it will be returned as is.\n * Otherwise, the function will call the className function with the state as the first argument.\n *\n * @param className\n * @param state\n */\nexport function resolveClassName(className, state) {\n return typeof className === 'function' ? className(state) : className;\n}"],"names":["resolveClassName","className","state"],"mappings":"AAOO,SAASA,EAAiBC,GAAWC,GAAO;AACjD,SAAO,OAAOD,KAAc,aAAaA,EAAUC,CAAK,IAAID;AAC9D;","x_google_ignoreList":[0]}
|
package/dist/index344.js
CHANGED
|
@@ -1,32 +1,7 @@
|
|
|
1
|
-
function
|
|
2
|
-
|
|
3
|
-
var g = new RegExp("^(?:" + i.numberingPlan.nationalPrefixForParsing() + ")"), n = g.exec(l);
|
|
4
|
-
if (n) {
|
|
5
|
-
var r, P, v = n.length - 1, e = v > 0 && n[v];
|
|
6
|
-
if (i.nationalPrefixTransformRule() && e)
|
|
7
|
-
r = l.replace(g, i.nationalPrefixTransformRule()), v > 1 && (P = n[1]);
|
|
8
|
-
else {
|
|
9
|
-
var o = n[0];
|
|
10
|
-
r = l.slice(o.length), e && (P = n[1]);
|
|
11
|
-
}
|
|
12
|
-
var f;
|
|
13
|
-
if (e) {
|
|
14
|
-
var s = l.indexOf(n[1]), a = l.slice(0, s);
|
|
15
|
-
a === i.numberingPlan.nationalPrefix() && (f = i.numberingPlan.nationalPrefix());
|
|
16
|
-
} else
|
|
17
|
-
f = n[0];
|
|
18
|
-
return {
|
|
19
|
-
nationalNumber: r,
|
|
20
|
-
nationalPrefix: f,
|
|
21
|
-
carrierCode: P
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return {
|
|
26
|
-
nationalNumber: l
|
|
27
|
-
};
|
|
1
|
+
function e(n, o) {
|
|
2
|
+
return typeof n == "function" ? n(o) : n;
|
|
28
3
|
}
|
|
29
4
|
export {
|
|
30
|
-
|
|
5
|
+
e as resolveStyle
|
|
31
6
|
};
|
|
32
7
|
//# sourceMappingURL=index344.js.map
|
package/dist/index344.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index344.js","sources":["../../../node_modules
|
|
1
|
+
{"version":3,"file":"index344.js","sources":["../../../node_modules/@base-ui/react/esm/utils/resolveStyle.js"],"sourcesContent":["/**\n * If the provided style is an object, it will be returned as is.\n * Otherwise, the function will call the style function with the state as the first argument.\n *\n * @param style\n * @param state\n */\nexport function resolveStyle(style, state) {\n return typeof style === 'function' ? style(state) : style;\n}"],"names":["resolveStyle","style","state"],"mappings":"AAOO,SAASA,EAAaC,GAAOC,GAAO;AACzC,SAAO,OAAOD,KAAU,aAAaA,EAAMC,CAAK,IAAID;AACtD;","x_google_ignoreList":[0]}
|
package/dist/index345.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
function
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
1
|
+
import * as n from "react";
|
|
2
|
+
import { SafeReact as f } from "./index356.js";
|
|
3
|
+
let o = 0;
|
|
4
|
+
function l(u, t = "mui") {
|
|
5
|
+
const [e, s] = n.useState(u), c = u || e;
|
|
6
|
+
return n.useEffect(() => {
|
|
7
|
+
e == null && (o += 1, s(`${t}-${o}`));
|
|
8
|
+
}, [e, t]), c;
|
|
9
|
+
}
|
|
10
|
+
const a = f.useId;
|
|
11
|
+
function I(u, t) {
|
|
12
|
+
if (a !== void 0) {
|
|
13
|
+
const e = a();
|
|
14
|
+
return u ?? (t ? `${t}-${e}` : e);
|
|
15
15
|
}
|
|
16
|
+
return l(u, t);
|
|
16
17
|
}
|
|
17
18
|
export {
|
|
18
|
-
|
|
19
|
+
I as useId
|
|
19
20
|
};
|
|
20
21
|
//# sourceMappingURL=index345.js.map
|
package/dist/index345.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index345.js","sources":["../../../node_modules
|
|
1
|
+
{"version":3,"file":"index345.js","sources":["../../../node_modules/@base-ui/utils/esm/useId.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { SafeReact } from \"./safeReact.js\";\nlet globalId = 0;\n\n// TODO React 17: Remove `useGlobalId` once React 17 support is removed\nfunction useGlobalId(idOverride, prefix = 'mui') {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`${prefix}-${globalId}`);\n }\n }, [defaultId, prefix]);\n return id;\n}\nconst maybeReactUseId = SafeReact.useId;\n\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport function useId(idOverride, prefix) {\n // React.useId() is only available from React 17.0.0.\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? (prefix ? `${prefix}-${reactId}` : reactId);\n }\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride, prefix);\n}"],"names":["globalId","useGlobalId","idOverride","prefix","defaultId","setDefaultId","React","id","maybeReactUseId","SafeReact","useId","reactId"],"mappings":";;AAIA,IAAIA,IAAW;AAGf,SAASC,EAAYC,GAAYC,IAAS,OAAO;AAC/C,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAM,SAASJ,CAAU,GACrDK,IAAKL,KAAcE;AACzB,SAAAE,EAAM,UAAU,MAAM;AACpB,IAAIF,KAAa,SAKfJ,KAAY,GACZK,EAAa,GAAGF,CAAM,IAAIH,CAAQ,EAAE;AAAA,EAExC,GAAG,CAACI,GAAWD,CAAM,CAAC,GACfI;AACT;AACA,MAAMC,IAAkBC,EAAU;AAQ3B,SAASC,EAAMR,GAAYC,GAAQ;AAExC,MAAIK,MAAoB,QAAW;AACjC,UAAMG,IAAUH,EAAe;AAC/B,WAAON,MAAeC,IAAS,GAAGA,CAAM,IAAIQ,CAAO,KAAKA;AAAA,EAC1D;AAIA,SAAOV,EAAYC,GAAYC,CAAM;AACvC;","x_google_ignoreList":[0]}
|
package/dist/index347.js
CHANGED
|
@@ -1,126 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { useIsoLayoutEffect as z } from "./index261.js";
|
|
6
|
-
import { Timeout as k } from "./index285.js";
|
|
7
|
-
import { AnimationFrame as j } from "./index302.js";
|
|
8
|
-
import { NOOP as F } from "./index264.js";
|
|
9
|
-
let Y = {}, C = {}, O = "";
|
|
10
|
-
function R(s) {
|
|
11
|
-
if (typeof document > "u")
|
|
12
|
-
return !1;
|
|
13
|
-
const e = a(s);
|
|
14
|
-
return d(e).innerWidth - e.documentElement.clientWidth > 0;
|
|
15
|
-
}
|
|
16
|
-
function I(s) {
|
|
17
|
-
if (!(typeof CSS < "u" && CSS.supports && CSS.supports("scrollbar-gutter", "stable")) || typeof document > "u")
|
|
18
|
-
return !1;
|
|
19
|
-
const t = a(s), o = t.documentElement, l = t.body, r = m(o) ? o : l, i = r.style.overflowY, c = o.style.scrollbarGutter;
|
|
20
|
-
o.style.scrollbarGutter = "stable", r.style.overflowY = "scroll";
|
|
21
|
-
const u = r.offsetWidth;
|
|
22
|
-
r.style.overflowY = "hidden";
|
|
23
|
-
const f = r.offsetWidth;
|
|
24
|
-
return r.style.overflowY = i, o.style.scrollbarGutter = c, u === f;
|
|
25
|
-
}
|
|
26
|
-
function V(s) {
|
|
27
|
-
const e = a(s), t = e.documentElement, o = e.body, l = m(t) ? t : o, r = {
|
|
28
|
-
overflowY: l.style.overflowY,
|
|
29
|
-
overflowX: l.style.overflowX
|
|
30
|
-
};
|
|
31
|
-
return Object.assign(l.style, {
|
|
32
|
-
overflowY: "hidden",
|
|
33
|
-
overflowX: "hidden"
|
|
34
|
-
}), () => {
|
|
35
|
-
Object.assign(l.style, r);
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function q(s) {
|
|
39
|
-
const e = a(s), t = e.documentElement, o = e.body, l = d(t);
|
|
40
|
-
let r = 0, i = 0, c = !1;
|
|
41
|
-
const u = j.create();
|
|
42
|
-
if (H && (l.visualViewport?.scale ?? 1) !== 1)
|
|
43
|
-
return () => {
|
|
44
|
-
};
|
|
45
|
-
function f() {
|
|
46
|
-
const h = l.getComputedStyle(t), n = l.getComputedStyle(o), v = (h.scrollbarGutter || "").includes("both-edges") ? "stable both-edges" : "stable";
|
|
47
|
-
r = t.scrollTop, i = t.scrollLeft, Y = {
|
|
48
|
-
scrollbarGutter: t.style.scrollbarGutter,
|
|
49
|
-
overflowY: t.style.overflowY,
|
|
50
|
-
overflowX: t.style.overflowX
|
|
51
|
-
}, O = t.style.scrollBehavior, C = {
|
|
52
|
-
position: o.style.position,
|
|
53
|
-
height: o.style.height,
|
|
54
|
-
width: o.style.width,
|
|
55
|
-
boxSizing: o.style.boxSizing,
|
|
56
|
-
overflowY: o.style.overflowY,
|
|
57
|
-
overflowX: o.style.overflowX,
|
|
58
|
-
scrollBehavior: o.style.scrollBehavior
|
|
59
|
-
};
|
|
60
|
-
const G = t.scrollHeight > t.clientHeight, B = t.scrollWidth > t.clientWidth, W = h.overflowY === "scroll" || n.overflowY === "scroll", x = h.overflowX === "scroll" || n.overflowX === "scroll", b = Math.max(0, l.innerWidth - o.clientWidth), w = Math.max(0, l.innerHeight - o.clientHeight), p = parseFloat(n.marginTop) + parseFloat(n.marginBottom), g = parseFloat(n.marginLeft) + parseFloat(n.marginRight), S = m(t) ? t : o;
|
|
61
|
-
if (c = I(s), c) {
|
|
62
|
-
t.style.scrollbarGutter = v, S.style.overflowY = "hidden", S.style.overflowX = "hidden";
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
Object.assign(t.style, {
|
|
66
|
-
scrollbarGutter: v,
|
|
67
|
-
overflowY: "hidden",
|
|
68
|
-
overflowX: "hidden"
|
|
69
|
-
}), (G || W) && (t.style.overflowY = "scroll"), (B || x) && (t.style.overflowX = "scroll"), Object.assign(o.style, {
|
|
70
|
-
position: "relative",
|
|
71
|
-
height: p || w ? `calc(100dvh - ${p + w}px)` : "100dvh",
|
|
72
|
-
width: g || b ? `calc(100vw - ${g + b}px)` : "100vw",
|
|
73
|
-
boxSizing: "border-box",
|
|
74
|
-
overflow: "hidden",
|
|
75
|
-
scrollBehavior: "unset"
|
|
76
|
-
}), o.scrollTop = r, o.scrollLeft = i, t.setAttribute("data-base-ui-scroll-locked", ""), t.style.scrollBehavior = "unset";
|
|
77
|
-
}
|
|
78
|
-
function y() {
|
|
79
|
-
Object.assign(t.style, Y), Object.assign(o.style, C), c || (t.scrollTop = r, t.scrollLeft = i, t.removeAttribute("data-base-ui-scroll-locked"), t.style.scrollBehavior = O);
|
|
80
|
-
}
|
|
81
|
-
function L() {
|
|
82
|
-
y(), u.request(f);
|
|
83
|
-
}
|
|
84
|
-
f();
|
|
85
|
-
const X = T(l, "resize", L);
|
|
86
|
-
return () => {
|
|
87
|
-
u.cancel(), y(), typeof l.removeEventListener == "function" && X();
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
class A {
|
|
91
|
-
lockCount = 0;
|
|
92
|
-
restore = null;
|
|
93
|
-
timeoutLock = k.create();
|
|
94
|
-
timeoutUnlock = k.create();
|
|
95
|
-
acquire(e) {
|
|
96
|
-
return this.lockCount += 1, this.lockCount === 1 && this.restore === null && this.timeoutLock.start(0, () => this.lock(e)), this.release;
|
|
97
|
-
}
|
|
98
|
-
release = () => {
|
|
99
|
-
this.lockCount -= 1, this.lockCount === 0 && this.restore && this.timeoutUnlock.start(0, this.unlock);
|
|
100
|
-
};
|
|
101
|
-
unlock = () => {
|
|
102
|
-
this.lockCount === 0 && this.restore && (this.restore?.(), this.restore = null);
|
|
103
|
-
};
|
|
104
|
-
lock(e) {
|
|
105
|
-
if (this.lockCount === 0 || this.restore !== null)
|
|
106
|
-
return;
|
|
107
|
-
const o = a(e).documentElement, l = d(o).getComputedStyle(o).overflowY;
|
|
108
|
-
if (l === "hidden" || l === "clip") {
|
|
109
|
-
this.restore = F;
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
const r = E || !R(e);
|
|
113
|
-
this.restore = r ? V(e) : q(e);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
const K = new A();
|
|
117
|
-
function tt(s = !0, e = null) {
|
|
118
|
-
z(() => {
|
|
119
|
-
if (s)
|
|
120
|
-
return K.acquire(e);
|
|
121
|
-
}, [s, e]);
|
|
1
|
+
import * as t from "react";
|
|
2
|
+
const e = parseInt(t.version, 10);
|
|
3
|
+
function o(r) {
|
|
4
|
+
return e >= r;
|
|
122
5
|
}
|
|
123
6
|
export {
|
|
124
|
-
|
|
7
|
+
o as isReactVersionAtLeast
|
|
125
8
|
};
|
|
126
9
|
//# sourceMappingURL=index347.js.map
|
package/dist/index347.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index347.js","sources":["../../../node_modules/@base-ui/utils/esm/useScrollLock.js"],"sourcesContent":["'use client';\n\nimport { isOverflowElement } from '@floating-ui/utils/dom';\nimport { addEventListener } from \"./addEventListener.js\";\nimport { isIOS, isWebKit } from \"./detectBrowser.js\";\nimport { ownerDocument, ownerWindow } from \"./owner.js\";\nimport { useIsoLayoutEffect } from \"./useIsoLayoutEffect.js\";\nimport { Timeout } from \"./useTimeout.js\";\nimport { AnimationFrame } from \"./useAnimationFrame.js\";\nimport { NOOP } from \"./empty.js\";\nlet originalHtmlStyles = {};\nlet originalBodyStyles = {};\nlet originalHtmlScrollBehavior = '';\nfunction hasInsetScrollbars(referenceElement) {\n if (typeof document === 'undefined') {\n return false;\n }\n const doc = ownerDocument(referenceElement);\n const win = ownerWindow(doc);\n return win.innerWidth - doc.documentElement.clientWidth > 0;\n}\nfunction supportsStableScrollbarGutter(referenceElement) {\n const supported = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('scrollbar-gutter', 'stable');\n if (!supported || typeof document === 'undefined') {\n return false;\n }\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const body = doc.body;\n const scrollContainer = isOverflowElement(html) ? html : body;\n const originalScrollContainerOverflowY = scrollContainer.style.overflowY;\n const originalHtmlStyleGutter = html.style.scrollbarGutter;\n html.style.scrollbarGutter = 'stable';\n scrollContainer.style.overflowY = 'scroll';\n const before = scrollContainer.offsetWidth;\n scrollContainer.style.overflowY = 'hidden';\n const after = scrollContainer.offsetWidth;\n scrollContainer.style.overflowY = originalScrollContainerOverflowY;\n html.style.scrollbarGutter = originalHtmlStyleGutter;\n return before === after;\n}\nfunction preventScrollOverlayScrollbars(referenceElement) {\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const body = doc.body;\n\n // If an `overflow` style is present on <html>, we need to lock it, because a lock on <body>\n // won't have any effect.\n // But if <body> has an `overflow` style (like `overflow-x: hidden`), we need to lock it\n // instead, as sticky elements shift otherwise.\n const elementToLock = isOverflowElement(html) ? html : body;\n const originalElementToLockStyles = {\n overflowY: elementToLock.style.overflowY,\n overflowX: elementToLock.style.overflowX\n };\n Object.assign(elementToLock.style, {\n overflowY: 'hidden',\n overflowX: 'hidden'\n });\n return () => {\n Object.assign(elementToLock.style, originalElementToLockStyles);\n };\n}\nfunction preventScrollInsetScrollbars(referenceElement) {\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const body = doc.body;\n const win = ownerWindow(html);\n let scrollTop = 0;\n let scrollLeft = 0;\n let updateGutterOnly = false;\n const resizeFrame = AnimationFrame.create();\n\n // Pinch-zoom in Safari causes a shift. Just don't lock scroll if there's any pinch-zoom.\n if (isWebKit && (win.visualViewport?.scale ?? 1) !== 1) {\n return () => {};\n }\n function lockScroll() {\n /* DOM reads: */\n\n const htmlStyles = win.getComputedStyle(html);\n const bodyStyles = win.getComputedStyle(body);\n const htmlScrollbarGutterValue = htmlStyles.scrollbarGutter || '';\n const hasBothEdges = htmlScrollbarGutterValue.includes('both-edges');\n const scrollbarGutterValue = hasBothEdges ? 'stable both-edges' : 'stable';\n scrollTop = html.scrollTop;\n scrollLeft = html.scrollLeft;\n originalHtmlStyles = {\n scrollbarGutter: html.style.scrollbarGutter,\n overflowY: html.style.overflowY,\n overflowX: html.style.overflowX\n };\n originalHtmlScrollBehavior = html.style.scrollBehavior;\n originalBodyStyles = {\n position: body.style.position,\n height: body.style.height,\n width: body.style.width,\n boxSizing: body.style.boxSizing,\n overflowY: body.style.overflowY,\n overflowX: body.style.overflowX,\n scrollBehavior: body.style.scrollBehavior\n };\n const isScrollableY = html.scrollHeight > html.clientHeight;\n const isScrollableX = html.scrollWidth > html.clientWidth;\n const hasConstantOverflowY = htmlStyles.overflowY === 'scroll' || bodyStyles.overflowY === 'scroll';\n const hasConstantOverflowX = htmlStyles.overflowX === 'scroll' || bodyStyles.overflowX === 'scroll';\n\n // Values can be negative in Firefox\n const scrollbarWidth = Math.max(0, win.innerWidth - body.clientWidth);\n const scrollbarHeight = Math.max(0, win.innerHeight - body.clientHeight);\n\n // Avoid shift due to the default <body> margin. This does cause elements to be clipped\n // with whitespace. Warn if <body> has margins?\n const marginY = parseFloat(bodyStyles.marginTop) + parseFloat(bodyStyles.marginBottom);\n const marginX = parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight);\n const elementToLock = isOverflowElement(html) ? html : body;\n updateGutterOnly = supportsStableScrollbarGutter(referenceElement);\n\n /*\n * DOM writes:\n * Do not read the DOM past this point!\n */\n\n if (updateGutterOnly) {\n html.style.scrollbarGutter = scrollbarGutterValue;\n elementToLock.style.overflowY = 'hidden';\n elementToLock.style.overflowX = 'hidden';\n return;\n }\n Object.assign(html.style, {\n scrollbarGutter: scrollbarGutterValue,\n overflowY: 'hidden',\n overflowX: 'hidden'\n });\n if (isScrollableY || hasConstantOverflowY) {\n html.style.overflowY = 'scroll';\n }\n if (isScrollableX || hasConstantOverflowX) {\n html.style.overflowX = 'scroll';\n }\n Object.assign(body.style, {\n position: 'relative',\n height: marginY || scrollbarHeight ? `calc(100dvh - ${marginY + scrollbarHeight}px)` : '100dvh',\n width: marginX || scrollbarWidth ? `calc(100vw - ${marginX + scrollbarWidth}px)` : '100vw',\n boxSizing: 'border-box',\n overflow: 'hidden',\n scrollBehavior: 'unset'\n });\n body.scrollTop = scrollTop;\n body.scrollLeft = scrollLeft;\n html.setAttribute('data-base-ui-scroll-locked', '');\n html.style.scrollBehavior = 'unset';\n }\n function cleanup() {\n Object.assign(html.style, originalHtmlStyles);\n Object.assign(body.style, originalBodyStyles);\n if (!updateGutterOnly) {\n html.scrollTop = scrollTop;\n html.scrollLeft = scrollLeft;\n html.removeAttribute('data-base-ui-scroll-locked');\n html.style.scrollBehavior = originalHtmlScrollBehavior;\n }\n }\n function handleResize() {\n cleanup();\n resizeFrame.request(lockScroll);\n }\n lockScroll();\n const unsubscribeResize = addEventListener(win, 'resize', handleResize);\n return () => {\n resizeFrame.cancel();\n cleanup();\n // Sometimes this cleanup can run after test teardown because it is called\n // in a `setTimeout(fn, 0)`. Guard the returned cleanup to avoid calling\n // `removeEventListener` when it is no longer available in tests.\n if (typeof win.removeEventListener === 'function') {\n unsubscribeResize();\n }\n };\n}\nclass ScrollLocker {\n lockCount = 0;\n restore = null;\n timeoutLock = Timeout.create();\n timeoutUnlock = Timeout.create();\n acquire(referenceElement) {\n this.lockCount += 1;\n if (this.lockCount === 1 && this.restore === null) {\n this.timeoutLock.start(0, () => this.lock(referenceElement));\n }\n return this.release;\n }\n release = () => {\n this.lockCount -= 1;\n if (this.lockCount === 0 && this.restore) {\n this.timeoutUnlock.start(0, this.unlock);\n }\n };\n unlock = () => {\n if (this.lockCount === 0 && this.restore) {\n this.restore?.();\n this.restore = null;\n }\n };\n lock(referenceElement) {\n if (this.lockCount === 0 || this.restore !== null) {\n return;\n }\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const htmlOverflowY = ownerWindow(html).getComputedStyle(html).overflowY;\n\n // If the site author already hid overflow on <html>, respect it and bail out.\n if (htmlOverflowY === 'hidden' || htmlOverflowY === 'clip') {\n this.restore = NOOP;\n return;\n }\n const hasOverlayScrollbars = isIOS || !hasInsetScrollbars(referenceElement);\n\n // On iOS, scroll locking does not work if the navbar is collapsed. Due to numerous\n // side effects and bugs that arise on iOS, it must be researched extensively before\n // being enabled to ensure it doesn't cause the following issues:\n // - Textboxes must scroll into view when focused, nor cause a glitchy scroll animation.\n // - The navbar must not force itself into view and cause layout shift.\n // - Scroll containers must not flicker upon closing a popup when it has an exit animation.\n this.restore = hasOverlayScrollbars ? preventScrollOverlayScrollbars(referenceElement) : preventScrollInsetScrollbars(referenceElement);\n }\n}\nconst SCROLL_LOCKER = new ScrollLocker();\n\n/**\n * Locks the scroll of the document when enabled.\n *\n * @param enabled - Whether to enable the scroll lock.\n * @param referenceElement - Element to use as a reference for lock calculations.\n */\nexport function useScrollLock(enabled = true, referenceElement = null) {\n useIsoLayoutEffect(() => {\n if (!enabled) {\n return undefined;\n }\n return SCROLL_LOCKER.acquire(referenceElement);\n }, [enabled, referenceElement]);\n}"],"names":["originalHtmlStyles","originalBodyStyles","originalHtmlScrollBehavior","hasInsetScrollbars","referenceElement","doc","ownerDocument","ownerWindow","supportsStableScrollbarGutter","html","body","scrollContainer","isOverflowElement","originalScrollContainerOverflowY","originalHtmlStyleGutter","before","after","preventScrollOverlayScrollbars","elementToLock","originalElementToLockStyles","preventScrollInsetScrollbars","win","scrollTop","scrollLeft","updateGutterOnly","resizeFrame","AnimationFrame","isWebKit","lockScroll","htmlStyles","bodyStyles","scrollbarGutterValue","isScrollableY","isScrollableX","hasConstantOverflowY","hasConstantOverflowX","scrollbarWidth","scrollbarHeight","marginY","marginX","cleanup","handleResize","unsubscribeResize","addEventListener","ScrollLocker","Timeout","htmlOverflowY","NOOP","hasOverlayScrollbars","isIOS","SCROLL_LOCKER","useScrollLock","enabled","useIsoLayoutEffect"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index347.js","sources":["../../../node_modules/@base-ui/utils/esm/reactVersion.js"],"sourcesContent":["import * as React from 'react';\nconst majorVersion = parseInt(React.version, 10);\nexport function isReactVersionAtLeast(reactVersionToCheck) {\n return majorVersion >= reactVersionToCheck;\n}"],"names":["majorVersion","React","isReactVersionAtLeast","reactVersionToCheck"],"mappings":";AACA,MAAMA,IAAe,SAASC,EAAM,SAAS,EAAE;AACxC,SAASC,EAAsBC,GAAqB;AACzD,SAAOH,KAAgBG;AACzB;","x_google_ignoreList":[0]}
|
package/dist/index348.js
CHANGED
|
@@ -1,36 +1,126 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
1
|
+
import { getWindow as d, isOverflowElement as m } from "./index309.js";
|
|
2
|
+
import { addEventListener as T } from "./index300.js";
|
|
3
|
+
import { isIOS as E, isWebKit as H } from "./index301.js";
|
|
4
|
+
import { ownerDocument as a } from "./index284.js";
|
|
5
|
+
import { useIsoLayoutEffect as z } from "./index261.js";
|
|
6
|
+
import { Timeout as k } from "./index285.js";
|
|
7
|
+
import { AnimationFrame as j } from "./index302.js";
|
|
8
|
+
import { NOOP as F } from "./index264.js";
|
|
9
|
+
let Y = {}, C = {}, O = "";
|
|
10
|
+
function R(s) {
|
|
11
|
+
if (typeof document > "u")
|
|
12
|
+
return !1;
|
|
13
|
+
const e = a(s);
|
|
14
|
+
return d(e).innerWidth - e.documentElement.clientWidth > 0;
|
|
15
|
+
}
|
|
16
|
+
function I(s) {
|
|
17
|
+
if (!(typeof CSS < "u" && CSS.supports && CSS.supports("scrollbar-gutter", "stable")) || typeof document > "u")
|
|
18
|
+
return !1;
|
|
19
|
+
const t = a(s), o = t.documentElement, l = t.body, r = m(o) ? o : l, i = r.style.overflowY, c = o.style.scrollbarGutter;
|
|
20
|
+
o.style.scrollbarGutter = "stable", r.style.overflowY = "scroll";
|
|
21
|
+
const u = r.offsetWidth;
|
|
22
|
+
r.style.overflowY = "hidden";
|
|
23
|
+
const f = r.offsetWidth;
|
|
24
|
+
return r.style.overflowY = i, o.style.scrollbarGutter = c, u === f;
|
|
25
|
+
}
|
|
26
|
+
function V(s) {
|
|
27
|
+
const e = a(s), t = e.documentElement, o = e.body, l = m(t) ? t : o, r = {
|
|
28
|
+
overflowY: l.style.overflowY,
|
|
29
|
+
overflowX: l.style.overflowX
|
|
30
|
+
};
|
|
31
|
+
return Object.assign(l.style, {
|
|
32
|
+
overflowY: "hidden",
|
|
33
|
+
overflowX: "hidden"
|
|
34
|
+
}), () => {
|
|
35
|
+
Object.assign(l.style, r);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function q(s) {
|
|
39
|
+
const e = a(s), t = e.documentElement, o = e.body, l = d(t);
|
|
40
|
+
let r = 0, i = 0, c = !1;
|
|
41
|
+
const u = j.create();
|
|
42
|
+
if (H && (l.visualViewport?.scale ?? 1) !== 1)
|
|
43
|
+
return () => {
|
|
29
44
|
};
|
|
30
|
-
|
|
31
|
-
|
|
45
|
+
function f() {
|
|
46
|
+
const h = l.getComputedStyle(t), n = l.getComputedStyle(o), v = (h.scrollbarGutter || "").includes("both-edges") ? "stable both-edges" : "stable";
|
|
47
|
+
r = t.scrollTop, i = t.scrollLeft, Y = {
|
|
48
|
+
scrollbarGutter: t.style.scrollbarGutter,
|
|
49
|
+
overflowY: t.style.overflowY,
|
|
50
|
+
overflowX: t.style.overflowX
|
|
51
|
+
}, O = t.style.scrollBehavior, C = {
|
|
52
|
+
position: o.style.position,
|
|
53
|
+
height: o.style.height,
|
|
54
|
+
width: o.style.width,
|
|
55
|
+
boxSizing: o.style.boxSizing,
|
|
56
|
+
overflowY: o.style.overflowY,
|
|
57
|
+
overflowX: o.style.overflowX,
|
|
58
|
+
scrollBehavior: o.style.scrollBehavior
|
|
59
|
+
};
|
|
60
|
+
const G = t.scrollHeight > t.clientHeight, B = t.scrollWidth > t.clientWidth, W = h.overflowY === "scroll" || n.overflowY === "scroll", x = h.overflowX === "scroll" || n.overflowX === "scroll", b = Math.max(0, l.innerWidth - o.clientWidth), w = Math.max(0, l.innerHeight - o.clientHeight), p = parseFloat(n.marginTop) + parseFloat(n.marginBottom), g = parseFloat(n.marginLeft) + parseFloat(n.marginRight), S = m(t) ? t : o;
|
|
61
|
+
if (c = I(s), c) {
|
|
62
|
+
t.style.scrollbarGutter = v, S.style.overflowY = "hidden", S.style.overflowX = "hidden";
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
Object.assign(t.style, {
|
|
66
|
+
scrollbarGutter: v,
|
|
67
|
+
overflowY: "hidden",
|
|
68
|
+
overflowX: "hidden"
|
|
69
|
+
}), (G || W) && (t.style.overflowY = "scroll"), (B || x) && (t.style.overflowX = "scroll"), Object.assign(o.style, {
|
|
70
|
+
position: "relative",
|
|
71
|
+
height: p || w ? `calc(100dvh - ${p + w}px)` : "100dvh",
|
|
72
|
+
width: g || b ? `calc(100vw - ${g + b}px)` : "100vw",
|
|
73
|
+
boxSizing: "border-box",
|
|
74
|
+
overflow: "hidden",
|
|
75
|
+
scrollBehavior: "unset"
|
|
76
|
+
}), o.scrollTop = r, o.scrollLeft = i, t.setAttribute("data-base-ui-scroll-locked", ""), t.style.scrollBehavior = "unset";
|
|
77
|
+
}
|
|
78
|
+
function y() {
|
|
79
|
+
Object.assign(t.style, Y), Object.assign(o.style, C), c || (t.scrollTop = r, t.scrollLeft = i, t.removeAttribute("data-base-ui-scroll-locked"), t.style.scrollBehavior = O);
|
|
80
|
+
}
|
|
81
|
+
function L() {
|
|
82
|
+
y(), u.request(f);
|
|
83
|
+
}
|
|
84
|
+
f();
|
|
85
|
+
const X = T(l, "resize", L);
|
|
86
|
+
return () => {
|
|
87
|
+
u.cancel(), y(), typeof l.removeEventListener == "function" && X();
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
class A {
|
|
91
|
+
lockCount = 0;
|
|
92
|
+
restore = null;
|
|
93
|
+
timeoutLock = k.create();
|
|
94
|
+
timeoutUnlock = k.create();
|
|
95
|
+
acquire(e) {
|
|
96
|
+
return this.lockCount += 1, this.lockCount === 1 && this.restore === null && this.timeoutLock.start(0, () => this.lock(e)), this.release;
|
|
97
|
+
}
|
|
98
|
+
release = () => {
|
|
99
|
+
this.lockCount -= 1, this.lockCount === 0 && this.restore && this.timeoutUnlock.start(0, this.unlock);
|
|
100
|
+
};
|
|
101
|
+
unlock = () => {
|
|
102
|
+
this.lockCount === 0 && this.restore && (this.restore?.(), this.restore = null);
|
|
103
|
+
};
|
|
104
|
+
lock(e) {
|
|
105
|
+
if (this.lockCount === 0 || this.restore !== null)
|
|
106
|
+
return;
|
|
107
|
+
const o = a(e).documentElement, l = d(o).getComputedStyle(o).overflowY;
|
|
108
|
+
if (l === "hidden" || l === "clip") {
|
|
109
|
+
this.restore = F;
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const r = E || !R(e);
|
|
113
|
+
this.restore = r ? V(e) : q(e);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const K = new A();
|
|
117
|
+
function tt(s = !0, e = null) {
|
|
118
|
+
z(() => {
|
|
119
|
+
if (s)
|
|
120
|
+
return K.acquire(e);
|
|
121
|
+
}, [s, e]);
|
|
32
122
|
}
|
|
33
123
|
export {
|
|
34
|
-
|
|
124
|
+
tt as useScrollLock
|
|
35
125
|
};
|
|
36
126
|
//# sourceMappingURL=index348.js.map
|