@rpcbase/ui 0.245.0 → 0.246.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/index149.js +5 -14
- package/dist/index149.js.map +1 -1
- package/dist/index150.js +63 -63
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +2 -38
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +385 -13
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +261 -23
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +58 -109
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +47 -13
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +169 -4
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +110 -4
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +25 -5
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +8 -12
- package/dist/index159.js.map +1 -1
- package/dist/index160.js +4 -19
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +6 -11
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +4 -176
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +476 -268
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +189 -4
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +14 -28
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +105 -124
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +262 -63
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +6 -8
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +40 -15
- package/dist/index169.js.map +1 -1
- package/dist/index170.js +4 -30
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +14 -69
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +68 -5
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +35 -66
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +14 -2
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +22 -384
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +108 -258
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +13 -61
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +4 -46
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +4 -170
- package/dist/index179.js.map +1 -1
- package/dist/index180.js +5 -110
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +11 -24
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +20 -8
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +11 -5
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +176 -5
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +279 -4
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +4 -487
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +27 -189
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +126 -13
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +63 -107
- package/dist/index189.js.map +1 -1
- package/dist/index190.js +8 -262
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +16 -7
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +29 -39
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +69 -4
- package/dist/index193.js.map +1 -1
- package/dist/index254.js +20 -67
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +66 -8
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +6 -11
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +5 -8
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +11 -5
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +3 -13
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +50 -3
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +4 -4
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +27 -97
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +15 -16
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +5 -29
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +21 -51
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +53 -5
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +20 -5
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +39 -59
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +36 -63
- package/dist/index269.js.map +1 -1
- package/dist/index270.js +46 -134
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +19 -7
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +71 -5
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +18 -4
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +3 -11
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +11 -21
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +13 -16
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +17 -10
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +37 -8
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +237 -142
- package/dist/index279.js.map +1 -1
- package/dist/index28.js +1 -1
- package/dist/index280.js +249 -76
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +68 -61
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +100 -15
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +84 -20
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +3 -6
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +29 -11
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +16 -3
- package/dist/index286.js.map +1 -1
- package/dist/index287.js +34 -50
- package/dist/index287.js.map +1 -1
- package/dist/index288.js +16 -15
- package/dist/index288.js.map +1 -1
- package/dist/index289.js +3 -21
- package/dist/index289.js.map +1 -1
- package/dist/index29.js +1 -1
- package/dist/index290.js +26 -53
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +28 -20
- package/dist/index291.js.map +1 -1
- package/dist/index292.js +4 -42
- package/dist/index292.js.map +1 -1
- package/dist/index293.js +73 -34
- package/dist/index293.js.map +1 -1
- package/dist/index294.js +273 -46
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +11 -20
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +11 -71
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +25 -17
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +16 -3
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +124 -12
- package/dist/index299.js.map +1 -1
- package/dist/index300.js +5 -18
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +64 -35
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +14 -240
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +7 -252
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +5 -68
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +3 -83
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +10 -3
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +7 -29
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +133 -16
- package/dist/index308.js.map +1 -1
- package/dist/index309.js +397 -32
- package/dist/index309.js.map +1 -1
- package/dist/index310.js +5 -18
- package/dist/index310.js.map +1 -1
- package/dist/index311.js +52 -3
- package/dist/index311.js.map +1 -1
- package/dist/index312.js +11 -26
- package/dist/index312.js.map +1 -1
- package/dist/index313.js +25 -26
- package/dist/index313.js.map +1 -1
- package/dist/index314.js +12 -4
- package/dist/index314.js.map +1 -1
- package/dist/index315.js +151 -75
- package/dist/index315.js.map +1 -1
- package/dist/index316.js +30 -270
- package/dist/index316.js.map +1 -1
- package/dist/index317.js +11 -11
- package/dist/index317.js.map +1 -1
- package/dist/index318.js +50 -11
- package/dist/index318.js.map +1 -1
- package/dist/index319.js +8 -24
- package/dist/index319.js.map +1 -1
- package/dist/index320.js +11 -16
- package/dist/index320.js.map +1 -1
- package/dist/index321.js +42 -124
- package/dist/index321.js.map +1 -1
- package/dist/index322.js +97 -5
- package/dist/index322.js.map +1 -1
- package/dist/index323.js +82 -61
- package/dist/index323.js.map +1 -1
- package/dist/index324.js +104 -12
- package/dist/index324.js.map +1 -1
- package/dist/index325.js +52 -7
- package/dist/index325.js.map +1 -1
- package/dist/index326.js +11 -5
- package/dist/index326.js.map +1 -1
- package/dist/index327.js +4 -3
- package/dist/index327.js.map +1 -1
- package/dist/index328.js +37 -10
- package/dist/index328.js.map +1 -1
- package/dist/index329.js +8 -7
- package/dist/index329.js.map +1 -1
- package/dist/index33.js +2 -2
- package/dist/index330.js +121 -385
- package/dist/index330.js.map +1 -1
- package/dist/index331.js +18 -5
- package/dist/index331.js.map +1 -1
- package/dist/index332.js +14 -51
- package/dist/index332.js.map +1 -1
- package/dist/index333.js +3 -11
- package/dist/index333.js.map +1 -1
- package/dist/index334.js +34 -25
- package/dist/index334.js.map +1 -1
- package/dist/index335.js +20 -11
- package/dist/index335.js.map +1 -1
- package/dist/index336.js +9 -154
- package/dist/index336.js.map +1 -1
- package/dist/index337.js +8 -32
- package/dist/index337.js.map +1 -1
- package/dist/index338.js +24 -11
- package/dist/index338.js.map +1 -1
- package/dist/index339.js +25 -46
- package/dist/index339.js.map +1 -1
- package/dist/index34.js +5 -5
- package/dist/index340.js +16 -9
- package/dist/index340.js.map +1 -1
- package/dist/index341.js +8 -11
- package/dist/index341.js.map +1 -1
- package/dist/index342.js +11 -43
- package/dist/index342.js.map +1 -1
- package/dist/index343.js +7 -96
- package/dist/index343.js.map +1 -1
- package/dist/index344.js +11 -84
- package/dist/index344.js.map +1 -1
- package/dist/index345.js +3 -105
- package/dist/index345.js.map +1 -1
- package/dist/index346.js +3 -52
- package/dist/index346.js.map +1 -1
- package/dist/index347.js +16 -10
- package/dist/index347.js.map +1 -1
- package/dist/index348.js +51 -4
- package/dist/index348.js.map +1 -1
- package/dist/index349.js +5 -37
- package/dist/index349.js.map +1 -1
- package/dist/index35.js +11 -11
- package/dist/index350.js +61 -8
- package/dist/index350.js.map +1 -1
- package/dist/index351.js +61 -130
- package/dist/index351.js.map +1 -1
- package/dist/index352.js +8 -17
- package/dist/index352.js.map +1 -1
- package/dist/index353.js +5 -16
- package/dist/index353.js.map +1 -1
- package/dist/index354.js +11 -3
- package/dist/index354.js.map +1 -1
- package/dist/index355.js +19 -34
- package/dist/index355.js.map +1 -1
- package/dist/index356.js +16 -20
- package/dist/index356.js.map +1 -1
- package/dist/index357.js +8 -10
- package/dist/index357.js.map +1 -1
- package/dist/index358.js +144 -8
- package/dist/index358.js.map +1 -1
- package/dist/index359.js +77 -22
- package/dist/index359.js.map +1 -1
- package/dist/index36.js +3 -3
- package/dist/index360.js +61 -28
- package/dist/index360.js.map +1 -1
- package/dist/index361.js +15 -17
- package/dist/index361.js.map +1 -1
- package/dist/index365.js +11 -8
- package/dist/index365.js.map +1 -1
- package/dist/index366.js +4 -27
- package/dist/index366.js.map +1 -1
- package/dist/index367.js +5 -137
- package/dist/index367.js.map +1 -1
- package/dist/index368.js +3 -13
- package/dist/index368.js.map +1 -1
- package/dist/index369.js +20 -46
- package/dist/index369.js.map +1 -1
- package/dist/index37.js +4 -4
- package/dist/index370.js +45 -4
- package/dist/index370.js.map +1 -1
- package/dist/index371.js +17 -21
- package/dist/index371.js.map +1 -1
- package/dist/index372.js +4 -75
- package/dist/index372.js.map +1 -1
- package/dist/index373.js +200 -11
- package/dist/index373.js.map +1 -1
- package/dist/index374.js +73 -3
- package/dist/index374.js.map +1 -1
- package/dist/index375.js +122 -72
- package/dist/index375.js.map +1 -1
- package/dist/index376.js +4 -200
- package/dist/index376.js.map +1 -1
- package/dist/index377.js +20 -71
- package/dist/index377.js.map +1 -1
- package/dist/index378.js +8 -35
- package/dist/index378.js.map +1 -1
- package/dist/index379.js +27 -7
- package/dist/index379.js.map +1 -1
- package/dist/index38.js +5 -5
- package/dist/index380.js +136 -14
- package/dist/index380.js.map +1 -1
- package/dist/index381.js +10 -121
- package/dist/index381.js.map +1 -1
- package/dist/index382.js +47 -4
- package/dist/index382.js.map +1 -1
- package/dist/index383.js +3 -11
- package/dist/index383.js.map +1 -1
- package/dist/index384.js +21 -5
- package/dist/index384.js.map +1 -1
- package/dist/index385.js +76 -3
- package/dist/index385.js.map +1 -1
- package/dist/index386.js +12 -21
- package/dist/index386.js.map +1 -1
- package/dist/index387.js +4 -45
- package/dist/index387.js.map +1 -1
- package/dist/index388.js +70 -16
- package/dist/index388.js.map +1 -1
- package/dist/index389.js +36 -5
- package/dist/index389.js.map +1 -1
- package/dist/index39.js +3 -3
- package/dist/index390.js +7 -5
- package/dist/index390.js.map +1 -1
- package/dist/index391.js +15 -20
- package/dist/index391.js.map +1 -1
- package/dist/index40.js +10 -10
- package/dist/index409.js +3 -3
- package/dist/index409.js.map +1 -1
- package/dist/index410.js +3 -15
- package/dist/index410.js.map +1 -1
- package/dist/index411.js +3 -492
- package/dist/index411.js.map +1 -1
- package/dist/index412.js +15 -3
- package/dist/index412.js.map +1 -1
- package/dist/index413.js +492 -3
- package/dist/index413.js.map +1 -1
- package/dist/index417.js +1 -1
- package/dist/index419.js +1 -1
- package/dist/index420.js +2 -2
- package/dist/index421.js +7 -32
- package/dist/index421.js.map +1 -1
- package/dist/index422.js +2 -8
- package/dist/index422.js.map +1 -1
- package/dist/index423.js +44 -2
- package/dist/index423.js.map +1 -1
- package/dist/index424.js +52 -40
- package/dist/index424.js.map +1 -1
- package/dist/index425.js +7 -55
- package/dist/index425.js.map +1 -1
- package/dist/index426.js +2 -8
- package/dist/index426.js.map +1 -1
- package/dist/index427.js +55 -2
- package/dist/index427.js.map +1 -1
- package/dist/index428.js +53 -52
- package/dist/index428.js.map +1 -1
- package/dist/index429.js +32 -55
- package/dist/index429.js.map +1 -1
- package/dist/index430.js +2 -16
- package/dist/index430.js.map +1 -1
- package/dist/index431.js +2 -29
- package/dist/index431.js.map +1 -1
- package/dist/index432.js +2 -13
- package/dist/index432.js.map +1 -1
- package/dist/index433.js +2 -7
- package/dist/index433.js.map +1 -1
- package/dist/index434.js +16 -2
- package/dist/index434.js.map +1 -1
- package/dist/index435.js +29 -2
- package/dist/index435.js.map +1 -1
- package/dist/index436.js +13 -2
- package/dist/index436.js.map +1 -1
- package/dist/index437.js +7 -2
- package/dist/index437.js.map +1 -1
- package/dist/index47.js +2 -2
- package/dist/index48.js +36 -36
- package/dist/index49.js +29 -29
- package/dist/index50.js +2 -2
- package/dist/index51.js +12 -12
- package/dist/index52.js +4 -4
- package/dist/index53.js +1 -1
- package/dist/index54.js +21 -21
- package/dist/index55.js +5 -5
- package/dist/index56.js +5 -5
- package/dist/index57.js +8 -8
- package/dist/index58.js +5 -5
- package/dist/index59.js +17 -17
- package/dist/index60.js +5 -5
- package/dist/index61.js +3 -3
- package/dist/index64.js +5 -5
- package/dist/index64.js.map +1 -1
- package/dist/index66.js +10 -22
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +17 -232
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +5 -5
- package/dist/index68.js.map +1 -1
- package/dist/index70.js +22 -10
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +232 -17
- package/dist/index71.js.map +1 -1
- package/dist/index76.js +1 -1
- package/dist/index77.js +2 -2
- package/dist/index78.js +2 -2
- package/package.json +1 -1
package/dist/index373.js
CHANGED
|
@@ -1,15 +1,204 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "./
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { flip as H, size as I, computePosition as J, hide as K, offset as N, shift as Q, limitShift as T } from "./index309.js";
|
|
2
|
+
import { autoUpdate as ae, platform as me } from "./index309.js";
|
|
3
|
+
import * as r from "react";
|
|
4
|
+
import { useLayoutEffect as X } from "react";
|
|
5
|
+
import * as Y from "react-dom";
|
|
6
|
+
var Z = typeof document < "u", b = function() {
|
|
7
|
+
}, R = Z ? X : b;
|
|
8
|
+
function w(e, t) {
|
|
9
|
+
if (e === t)
|
|
10
|
+
return !0;
|
|
11
|
+
if (typeof e != typeof t)
|
|
12
|
+
return !1;
|
|
13
|
+
if (typeof e == "function" && e.toString() === t.toString())
|
|
14
|
+
return !0;
|
|
15
|
+
let n, f, c;
|
|
16
|
+
if (e && t && typeof e == "object") {
|
|
17
|
+
if (Array.isArray(e)) {
|
|
18
|
+
if (n = e.length, n !== t.length) return !1;
|
|
19
|
+
for (f = n; f-- !== 0; )
|
|
20
|
+
if (!w(e[f], t[f]))
|
|
21
|
+
return !1;
|
|
22
|
+
return !0;
|
|
23
|
+
}
|
|
24
|
+
if (c = Object.keys(e), n = c.length, n !== Object.keys(t).length)
|
|
25
|
+
return !1;
|
|
26
|
+
for (f = n; f-- !== 0; )
|
|
27
|
+
if (!{}.hasOwnProperty.call(t, c[f]))
|
|
28
|
+
return !1;
|
|
29
|
+
for (f = n; f-- !== 0; ) {
|
|
30
|
+
const p = c[f];
|
|
31
|
+
if (!(p === "_owner" && e.$$typeof) && !w(e[p], t[p]))
|
|
32
|
+
return !1;
|
|
33
|
+
}
|
|
34
|
+
return !0;
|
|
35
|
+
}
|
|
36
|
+
return e !== e && t !== t;
|
|
37
|
+
}
|
|
38
|
+
function L(e) {
|
|
39
|
+
return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
|
|
40
|
+
}
|
|
41
|
+
function z(e, t) {
|
|
42
|
+
const n = L(e);
|
|
43
|
+
return Math.round(t * n) / n;
|
|
44
|
+
}
|
|
45
|
+
function k(e) {
|
|
46
|
+
const t = r.useRef(e);
|
|
47
|
+
return R(() => {
|
|
48
|
+
t.current = e;
|
|
49
|
+
}), t;
|
|
50
|
+
}
|
|
51
|
+
function ne(e) {
|
|
52
|
+
e === void 0 && (e = {});
|
|
53
|
+
const {
|
|
54
|
+
placement: t = "bottom",
|
|
55
|
+
strategy: n = "absolute",
|
|
56
|
+
middleware: f = [],
|
|
57
|
+
platform: c,
|
|
58
|
+
elements: {
|
|
59
|
+
reference: p,
|
|
60
|
+
floating: A
|
|
61
|
+
} = {},
|
|
62
|
+
transform: D = !0,
|
|
63
|
+
whileElementsMounted: E,
|
|
64
|
+
open: x
|
|
65
|
+
} = e, [s, C] = r.useState({
|
|
66
|
+
x: 0,
|
|
67
|
+
y: 0,
|
|
68
|
+
strategy: n,
|
|
69
|
+
placement: t,
|
|
70
|
+
middlewareData: {},
|
|
71
|
+
isPositioned: !1
|
|
72
|
+
}), [M, q] = r.useState(f);
|
|
73
|
+
w(M, f) || q(f);
|
|
74
|
+
const [B, U] = r.useState(null), [V, W] = r.useState(null), _ = r.useCallback((o) => {
|
|
75
|
+
o !== a.current && (a.current = o, U(o));
|
|
76
|
+
}, []), v = r.useCallback((o) => {
|
|
77
|
+
o !== m.current && (m.current = o, W(o));
|
|
78
|
+
}, []), i = p || B, u = A || V, a = r.useRef(null), m = r.useRef(null), y = r.useRef(s), G = E != null, S = k(E), P = k(c), F = k(x), g = r.useCallback(() => {
|
|
79
|
+
if (!a.current || !m.current)
|
|
80
|
+
return;
|
|
81
|
+
const o = {
|
|
82
|
+
placement: t,
|
|
83
|
+
strategy: n,
|
|
84
|
+
middleware: M
|
|
85
|
+
};
|
|
86
|
+
P.current && (o.platform = P.current), J(a.current, m.current, o).then((h) => {
|
|
87
|
+
const d = {
|
|
88
|
+
...h,
|
|
89
|
+
// The floating element's position may be recomputed while it's closed
|
|
90
|
+
// but still mounted (such as when transitioning out). To ensure
|
|
91
|
+
// `isPositioned` will be `false` initially on the next open, avoid
|
|
92
|
+
// setting it to `true` when `open === false` (must be specified).
|
|
93
|
+
isPositioned: F.current !== !1
|
|
94
|
+
};
|
|
95
|
+
$.current && !w(y.current, d) && (y.current = d, Y.flushSync(() => {
|
|
96
|
+
C(d);
|
|
97
|
+
}));
|
|
98
|
+
});
|
|
99
|
+
}, [M, t, n, P, F]);
|
|
100
|
+
R(() => {
|
|
101
|
+
x === !1 && y.current.isPositioned && (y.current.isPositioned = !1, C((o) => ({
|
|
102
|
+
...o,
|
|
103
|
+
isPositioned: !1
|
|
104
|
+
})));
|
|
105
|
+
}, [x]);
|
|
106
|
+
const $ = r.useRef(!1);
|
|
107
|
+
R(() => ($.current = !0, () => {
|
|
108
|
+
$.current = !1;
|
|
109
|
+
}), []), R(() => {
|
|
110
|
+
if (i && (a.current = i), u && (m.current = u), i && u) {
|
|
111
|
+
if (S.current)
|
|
112
|
+
return S.current(i, u, g);
|
|
113
|
+
g();
|
|
114
|
+
}
|
|
115
|
+
}, [i, u, g, S, G]);
|
|
116
|
+
const O = r.useMemo(() => ({
|
|
117
|
+
reference: a,
|
|
118
|
+
floating: m,
|
|
119
|
+
setReference: _,
|
|
120
|
+
setFloating: v
|
|
121
|
+
}), [_, v]), l = r.useMemo(() => ({
|
|
122
|
+
reference: i,
|
|
123
|
+
floating: u
|
|
124
|
+
}), [i, u]), j = r.useMemo(() => {
|
|
125
|
+
const o = {
|
|
126
|
+
position: n,
|
|
127
|
+
left: 0,
|
|
128
|
+
top: 0
|
|
129
|
+
};
|
|
130
|
+
if (!l.floating)
|
|
131
|
+
return o;
|
|
132
|
+
const h = z(l.floating, s.x), d = z(l.floating, s.y);
|
|
133
|
+
return D ? {
|
|
134
|
+
...o,
|
|
135
|
+
transform: "translate(" + h + "px, " + d + "px)",
|
|
136
|
+
...L(l.floating) >= 1.5 && {
|
|
137
|
+
willChange: "transform"
|
|
138
|
+
}
|
|
139
|
+
} : {
|
|
140
|
+
position: n,
|
|
141
|
+
left: h,
|
|
142
|
+
top: d
|
|
143
|
+
};
|
|
144
|
+
}, [n, D, l.floating, s.x, s.y]);
|
|
145
|
+
return r.useMemo(() => ({
|
|
146
|
+
...s,
|
|
147
|
+
update: g,
|
|
148
|
+
refs: O,
|
|
149
|
+
elements: l,
|
|
150
|
+
floatingStyles: j
|
|
151
|
+
}), [s, g, O, l, j]);
|
|
152
|
+
}
|
|
153
|
+
const re = (e, t) => {
|
|
154
|
+
const n = N(e);
|
|
155
|
+
return {
|
|
156
|
+
name: n.name,
|
|
157
|
+
fn: n.fn,
|
|
158
|
+
options: [e, t]
|
|
159
|
+
};
|
|
160
|
+
}, oe = (e, t) => {
|
|
161
|
+
const n = Q(e);
|
|
162
|
+
return {
|
|
163
|
+
name: n.name,
|
|
164
|
+
fn: n.fn,
|
|
165
|
+
options: [e, t]
|
|
166
|
+
};
|
|
167
|
+
}, fe = (e, t) => ({
|
|
168
|
+
fn: T(e).fn,
|
|
169
|
+
options: [e, t]
|
|
170
|
+
}), se = (e, t) => {
|
|
171
|
+
const n = H(e);
|
|
172
|
+
return {
|
|
173
|
+
name: n.name,
|
|
174
|
+
fn: n.fn,
|
|
175
|
+
options: [e, t]
|
|
176
|
+
};
|
|
177
|
+
}, ie = (e, t) => {
|
|
178
|
+
const n = I(e);
|
|
179
|
+
return {
|
|
180
|
+
name: n.name,
|
|
181
|
+
fn: n.fn,
|
|
182
|
+
options: [e, t]
|
|
183
|
+
};
|
|
184
|
+
}, ue = (e, t) => {
|
|
185
|
+
const n = K(e);
|
|
186
|
+
return {
|
|
187
|
+
name: n.name,
|
|
188
|
+
fn: n.fn,
|
|
189
|
+
options: [e, t]
|
|
190
|
+
};
|
|
10
191
|
};
|
|
11
192
|
export {
|
|
12
|
-
|
|
13
|
-
|
|
193
|
+
ae as autoUpdate,
|
|
194
|
+
J as computePosition,
|
|
195
|
+
se as flip,
|
|
196
|
+
ue as hide,
|
|
197
|
+
fe as limitShift,
|
|
198
|
+
re as offset,
|
|
199
|
+
me as platform,
|
|
200
|
+
oe as shift,
|
|
201
|
+
ie as size,
|
|
202
|
+
ne as useFloating
|
|
14
203
|
};
|
|
15
204
|
//# sourceMappingURL=index373.js.map
|
package/dist/index373.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index373.js","sources":["../../../node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useId } from '@base-ui/utils/useId';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { FloatingTreeStore } from \"./FloatingTreeStore.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FloatingNodeContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") FloatingNodeContext.displayName = \"FloatingNodeContext\";\nconst FloatingTreeContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the parent node id for nested floating elements, if available.\n * Returns `null` for top-level floating elements.\n */\nif (process.env.NODE_ENV !== \"production\") FloatingTreeContext.displayName = \"FloatingTreeContext\";\nexport const useFloatingParentNodeId = () => React.useContext(FloatingNodeContext)?.id || null;\n\n/**\n * Returns the nearest floating tree context, if available.\n */\nexport const useFloatingTree = externalTree => {\n const contextTree = React.useContext(FloatingTreeContext);\n return externalTree ?? contextTree;\n};\n\n/**\n * Registers a node into the `FloatingTree`, returning its id.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nexport function useFloatingNodeId(externalTree) {\n const id = useId();\n const tree = useFloatingTree(externalTree);\n const parentId = useFloatingParentNodeId();\n useIsoLayoutEffect(() => {\n if (!id) {\n return undefined;\n }\n const node = {\n id,\n parentId\n };\n tree?.addNode(node);\n return () => {\n tree?.removeNode(node);\n };\n }, [tree, id, parentId]);\n return id;\n}\n/**\n * Provides parent node context for nested floating elements.\n * @see https://floating-ui.com/docs/FloatingTree\n * @internal\n */\nexport function FloatingNode(props) {\n const {\n children,\n id\n } = props;\n const parentId = useFloatingParentNodeId();\n return /*#__PURE__*/_jsx(FloatingNodeContext.Provider, {\n value: React.useMemo(() => ({\n id,\n parentId\n }), [id, parentId]),\n children: children\n });\n}\n/**\n * Provides context for nested floating elements when they are not children of\n * each other on the DOM.\n * This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:\n * - The `bubbles` option in the `useDismiss()` Hook\n * - Nested virtual list navigation\n * - Nested floating elements that each open on hover\n * - Custom communication between parent and child floating elements\n * @see https://floating-ui.com/docs/FloatingTree\n * @internal\n */\nexport function FloatingTree(props) {\n const {\n children,\n externalTree\n } = props;\n const tree = useRefWithInit(() => externalTree ?? new FloatingTreeStore()).current;\n return /*#__PURE__*/_jsx(FloatingTreeContext.Provider, {\n value: tree,\n children: children\n });\n}"],"names":["FloatingNodeContext","React","FloatingTreeContext","useFloatingParentNodeId","useFloatingTree","externalTree","contextTree"],"mappings":";;AAQA,MAAMA,IAAmC,gBAAAC,EAAM,cAAc,IAAI;AAC7D,QAAQ,IAAI,aAAa,iBAAcD,EAAoB,cAAc;AAC7E,MAAME,IAAmC,gBAAAD,EAAM,cAAc,IAAI;AAM7D,QAAQ,IAAI,aAAa,iBAAcC,EAAoB,cAAc;AACjE,MAACC,IAA0B,MAAMF,EAAM,WAAWD,CAAmB,GAAG,MAAM,MAK7EI,IAAkB,CAAAC,MAAgB;AAC7C,QAAMC,IAAcL,EAAM,WAAWC,CAAmB;AACxD,SAAOG,KAAgBC;AACzB;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index373.js","sources":["../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs"],"sourcesContent":["import { computePosition, arrow as arrow$2, autoPlacement as autoPlacement$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar isClient = typeof document !== 'undefined';\n\nvar noop = function noop() {};\nvar index = isClient ? useLayoutEffect : noop;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React.useState(null);\n const [_floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback(node => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback(node => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const openRef = useLatestRef(open);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...(getDPR(elements.floating) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === 'function' ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow$2({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return arrow$2({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => {\n const result = offset$1(options);\n return {\n name: result.name,\n fn: result.fn,\n options: [options, deps]\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => {\n const result = shift$1(options);\n return {\n name: result.name,\n fn: result.fn,\n options: [options, deps]\n };\n};\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => {\n const result = limitShift$1(options);\n return {\n fn: result.fn,\n options: [options, deps]\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => {\n const result = flip$1(options);\n return {\n name: result.name,\n fn: result.fn,\n options: [options, deps]\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => {\n const result = size$1(options);\n return {\n name: result.name,\n fn: result.fn,\n options: [options, deps]\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => {\n const result = autoPlacement$1(options);\n return {\n name: result.name,\n fn: result.fn,\n options: [options, deps]\n };\n};\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => {\n const result = hide$1(options);\n return {\n name: result.name,\n fn: result.fn,\n options: [options, deps]\n };\n};\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => {\n const result = inline$1(options);\n return {\n name: result.name,\n fn: result.fn,\n options: [options, deps]\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => {\n const result = arrow$1(options);\n return {\n name: result.name,\n fn: result.fn,\n options: [options, deps]\n };\n};\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n"],"names":["isClient","noop","index","useLayoutEffect","deepEqual","a","b","length","i","keys","key","getDPR","element","roundByDPR","value","dpr","useLatestRef","ref","React","useFloating","options","placement","strategy","middleware","platform","externalReference","externalFloating","transform","whileElementsMounted","open","data","setData","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","node","referenceRef","setFloating","floatingRef","referenceEl","floatingEl","dataRef","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","update","config","computePosition","fullData","isMountedRef","ReactDOM","refs","elements","floatingStyles","initialStyles","x","y","offset","deps","result","offset$1","shift","shift$1","limitShift","limitShift$1","flip","flip$1","size","size$1","hide","hide$1"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/index374.js
CHANGED
|
@@ -1,7 +1,77 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import * as o from "react";
|
|
2
|
+
import { useIsoLayoutEffect as I } from "./index261.js";
|
|
3
|
+
import { useFloating as O } from "./index373.js";
|
|
4
|
+
import { isElement as r } from "./index308.js";
|
|
5
|
+
import { useFloatingTree as T } from "./index386.js";
|
|
6
|
+
import { useFloatingRootContext as h } from "./index278.js";
|
|
7
|
+
function A(c = {}) {
|
|
8
|
+
const {
|
|
9
|
+
nodeId: m,
|
|
10
|
+
externalTree: b
|
|
11
|
+
} = c, k = h(c), t = c.rootContext || k, g = t.useState("referenceElement"), d = t.useState("floatingElement"), s = t.useState("domReferenceElement"), E = t.useState("open"), S = t.useState("floatingId"), [p, D] = o.useState(null), [l, x] = o.useState(void 0), [C, L] = o.useState(void 0), R = o.useRef(null), P = T(b), V = o.useMemo(() => ({
|
|
12
|
+
reference: g,
|
|
13
|
+
floating: d,
|
|
14
|
+
domReference: s
|
|
15
|
+
}), [g, d, s]), n = O({
|
|
16
|
+
...c,
|
|
17
|
+
elements: {
|
|
18
|
+
...V,
|
|
19
|
+
...p && {
|
|
20
|
+
reference: p
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}), v = r(l) ? l : null, B = C === void 0 ? t.state.floatingElement : C;
|
|
24
|
+
t.useSyncedValue("referenceElement", l ?? null), t.useSyncedValue("domReferenceElement", l === void 0 ? s : v), t.useSyncedValue("floatingElement", B);
|
|
25
|
+
const F = o.useCallback((e) => {
|
|
26
|
+
const i = r(e) ? {
|
|
27
|
+
getBoundingClientRect: () => e.getBoundingClientRect(),
|
|
28
|
+
getClientRects: () => e.getClientRects(),
|
|
29
|
+
contextElement: e
|
|
30
|
+
} : e;
|
|
31
|
+
D(i), n.refs.setReference(i);
|
|
32
|
+
}, [n.refs]), y = o.useCallback((e) => {
|
|
33
|
+
(r(e) || e === null) && (R.current = e, x(e)), (r(n.refs.reference.current) || n.refs.reference.current === null || // Don't allow setting virtual elements using the old technique back to
|
|
34
|
+
// `null` to support `positionReference` + an unstable `reference`
|
|
35
|
+
// callback ref.
|
|
36
|
+
e !== null && !r(e)) && n.refs.setReference(e);
|
|
37
|
+
}, [n.refs, x]), M = o.useCallback((e) => {
|
|
38
|
+
L(e), n.refs.setFloating(e);
|
|
39
|
+
}, [n.refs]), f = o.useMemo(() => ({
|
|
40
|
+
...n.refs,
|
|
41
|
+
setReference: y,
|
|
42
|
+
setFloating: M,
|
|
43
|
+
setPositionReference: F,
|
|
44
|
+
domReference: R
|
|
45
|
+
}), [n.refs, y, M, F]), a = o.useMemo(() => ({
|
|
46
|
+
...n.elements,
|
|
47
|
+
domReference: s
|
|
48
|
+
}), [n.elements, s]), u = o.useMemo(() => ({
|
|
49
|
+
...n,
|
|
50
|
+
dataRef: t.context.dataRef,
|
|
51
|
+
open: E,
|
|
52
|
+
onOpenChange: t.setOpen,
|
|
53
|
+
events: t.context.events,
|
|
54
|
+
floatingId: S,
|
|
55
|
+
refs: f,
|
|
56
|
+
elements: a,
|
|
57
|
+
nodeId: m,
|
|
58
|
+
rootStore: t
|
|
59
|
+
}), [n, f, a, m, t, E, S]);
|
|
60
|
+
return I(() => {
|
|
61
|
+
s && (R.current = s);
|
|
62
|
+
}, [s]), I(() => {
|
|
63
|
+
t.context.dataRef.current.floatingContext = u;
|
|
64
|
+
const e = P?.nodesRef.current.find((i) => i.id === m);
|
|
65
|
+
e && (e.context = u);
|
|
66
|
+
}), o.useMemo(() => ({
|
|
67
|
+
...n,
|
|
68
|
+
context: u,
|
|
69
|
+
refs: f,
|
|
70
|
+
elements: a,
|
|
71
|
+
rootStore: t
|
|
72
|
+
}), [n, f, a, u, t]);
|
|
3
73
|
}
|
|
4
74
|
export {
|
|
5
|
-
|
|
75
|
+
A as useFloating
|
|
6
76
|
};
|
|
7
77
|
//# sourceMappingURL=index374.js.map
|
package/dist/index374.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index374.js","sources":["../../../node_modules/@base-ui/react/
|
|
1
|
+
{"version":3,"file":"index374.js","sources":["../../../node_modules/@base-ui/react/floating-ui-react/hooks/useFloating.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useFloating as usePosition } from '@floating-ui/react-dom';\nimport { isElement } from '@floating-ui/utils/dom';\nimport { useFloatingTree } from \"../components/FloatingTree.mjs\";\nimport { useFloatingRootContext } from \"./useFloatingRootContext.mjs\";\n\n/**\n * Provides data to position a floating element and context to add interactions.\n * @see https://floating-ui.com/docs/useFloating\n */\nexport function useFloating(options = {}) {\n const {\n nodeId,\n externalTree\n } = options;\n const internalStore = useFloatingRootContext(options);\n const store = options.rootContext || internalStore;\n const referenceElement = store.useState('referenceElement');\n const floatingElement = store.useState('floatingElement');\n const domReferenceElement = store.useState('domReferenceElement');\n const open = store.useState('open');\n const floatingId = store.useState('floatingId');\n const [positionReference, setPositionReferenceRaw] = React.useState(null);\n const [localDomReference, setLocalDomReference] = React.useState(undefined);\n const [localFloatingElement, setLocalFloatingElement] = React.useState(undefined);\n const domReferenceRef = React.useRef(null);\n const tree = useFloatingTree(externalTree);\n const storeElements = React.useMemo(() => ({\n reference: referenceElement,\n floating: floatingElement,\n domReference: domReferenceElement\n }), [referenceElement, floatingElement, domReferenceElement]);\n const position = usePosition({\n ...options,\n elements: {\n ...storeElements,\n ...(positionReference && {\n reference: positionReference\n })\n }\n });\n const localDomReferenceElement = isElement(localDomReference) ? localDomReference : null;\n const syncedFloatingElement = localFloatingElement === undefined ? store.state.floatingElement : localFloatingElement;\n store.useSyncedValue('referenceElement', localDomReference ?? null);\n store.useSyncedValue('domReferenceElement', localDomReference === undefined ? domReferenceElement : localDomReferenceElement);\n store.useSyncedValue('floatingElement', syncedFloatingElement);\n const setPositionReference = React.useCallback(node => {\n const computedPositionReference = isElement(node) ? {\n getBoundingClientRect: () => node.getBoundingClientRect(),\n getClientRects: () => node.getClientRects(),\n contextElement: node\n } : node;\n // Store the positionReference in state if the DOM reference is specified externally via the\n // `elements.reference` option. This ensures that it won't be overridden on future renders.\n setPositionReferenceRaw(computedPositionReference);\n position.refs.setReference(computedPositionReference);\n }, [position.refs]);\n const setReference = React.useCallback(node => {\n if (isElement(node) || node === null) {\n domReferenceRef.current = node;\n setLocalDomReference(node);\n }\n\n // Backwards-compatibility for passing a virtual element to `reference`\n // after it has set the DOM reference.\n if (isElement(position.refs.reference.current) || position.refs.reference.current === null ||\n // Don't allow setting virtual elements using the old technique back to\n // `null` to support `positionReference` + an unstable `reference`\n // callback ref.\n node !== null && !isElement(node)) {\n position.refs.setReference(node);\n }\n }, [position.refs, setLocalDomReference]);\n const setFloating = React.useCallback(node => {\n setLocalFloatingElement(node);\n position.refs.setFloating(node);\n }, [position.refs]);\n const refs = React.useMemo(() => ({\n ...position.refs,\n setReference,\n setFloating,\n setPositionReference,\n domReference: domReferenceRef\n }), [position.refs, setReference, setFloating, setPositionReference]);\n const elements = React.useMemo(() => ({\n ...position.elements,\n domReference: domReferenceElement\n }), [position.elements, domReferenceElement]);\n const context = React.useMemo(() => ({\n ...position,\n dataRef: store.context.dataRef,\n open,\n onOpenChange: store.setOpen,\n events: store.context.events,\n floatingId,\n refs,\n elements,\n nodeId,\n rootStore: store\n }), [position, refs, elements, nodeId, store, open, floatingId]);\n useIsoLayoutEffect(() => {\n if (domReferenceElement) {\n domReferenceRef.current = domReferenceElement;\n }\n }, [domReferenceElement]);\n useIsoLayoutEffect(() => {\n store.context.dataRef.current.floatingContext = context;\n const node = tree?.nodesRef.current.find(n => n.id === nodeId);\n if (node) {\n node.context = context;\n }\n });\n return React.useMemo(() => ({\n ...position,\n context,\n refs,\n elements,\n rootStore: store\n }), [position, refs, elements, context, store]);\n}"],"names":["useFloating","options","nodeId","externalTree","internalStore","useFloatingRootContext","store","referenceElement","floatingElement","domReferenceElement","open","floatingId","positionReference","setPositionReferenceRaw","React","localDomReference","setLocalDomReference","localFloatingElement","setLocalFloatingElement","domReferenceRef","tree","useFloatingTree","storeElements","position","usePosition","localDomReferenceElement","isElement","syncedFloatingElement","setPositionReference","node","computedPositionReference","setReference","setFloating","refs","elements","context","useIsoLayoutEffect","n"],"mappings":";;;;;;AAaO,SAASA,EAAYC,IAAU,IAAI;AACxC,QAAM;AAAA,IACJ,QAAAC;AAAA,IACA,cAAAC;AAAA,EACJ,IAAMF,GACEG,IAAgBC,EAAuBJ,CAAO,GAC9CK,IAAQL,EAAQ,eAAeG,GAC/BG,IAAmBD,EAAM,SAAS,kBAAkB,GACpDE,IAAkBF,EAAM,SAAS,iBAAiB,GAClDG,IAAsBH,EAAM,SAAS,qBAAqB,GAC1DI,IAAOJ,EAAM,SAAS,MAAM,GAC5BK,IAAaL,EAAM,SAAS,YAAY,GACxC,CAACM,GAAmBC,CAAuB,IAAIC,EAAM,SAAS,IAAI,GAClE,CAACC,GAAmBC,CAAoB,IAAIF,EAAM,SAAS,MAAS,GACpE,CAACG,GAAsBC,CAAuB,IAAIJ,EAAM,SAAS,MAAS,GAC1EK,IAAkBL,EAAM,OAAO,IAAI,GACnCM,IAAOC,EAAgBlB,CAAY,GACnCmB,IAAgBR,EAAM,QAAQ,OAAO;AAAA,IACzC,WAAWP;AAAA,IACX,UAAUC;AAAA,IACV,cAAcC;AAAA,EAClB,IAAM,CAACF,GAAkBC,GAAiBC,CAAmB,CAAC,GACtDc,IAAWC,EAAY;AAAA,IAC3B,GAAGvB;AAAA,IACH,UAAU;AAAA,MACR,GAAGqB;AAAA,MACH,GAAIV,KAAqB;AAAA,QACvB,WAAWA;AAAA,MACnB;AAAA,IACA;AAAA,EACA,CAAG,GACKa,IAA2BC,EAAUX,CAAiB,IAAIA,IAAoB,MAC9EY,IAAwBV,MAAyB,SAAYX,EAAM,MAAM,kBAAkBW;AACjG,EAAAX,EAAM,eAAe,oBAAoBS,KAAqB,IAAI,GAClET,EAAM,eAAe,uBAAuBS,MAAsB,SAAYN,IAAsBgB,CAAwB,GAC5HnB,EAAM,eAAe,mBAAmBqB,CAAqB;AAC7D,QAAMC,IAAuBd,EAAM,YAAY,CAAAe,MAAQ;AACrD,UAAMC,IAA4BJ,EAAUG,CAAI,IAAI;AAAA,MAClD,uBAAuB,MAAMA,EAAK,sBAAqB;AAAA,MACvD,gBAAgB,MAAMA,EAAK,eAAc;AAAA,MACzC,gBAAgBA;AAAA,IACtB,IAAQA;AAGJ,IAAAhB,EAAwBiB,CAAyB,GACjDP,EAAS,KAAK,aAAaO,CAAyB;AAAA,EACtD,GAAG,CAACP,EAAS,IAAI,CAAC,GACZQ,IAAejB,EAAM,YAAY,CAAAe,MAAQ;AAC7C,KAAIH,EAAUG,CAAI,KAAKA,MAAS,UAC9BV,EAAgB,UAAUU,GAC1Bb,EAAqBa,CAAI,KAKvBH,EAAUH,EAAS,KAAK,UAAU,OAAO,KAAKA,EAAS,KAAK,UAAU,YAAY;AAAA;AAAA;AAAA,IAItFM,MAAS,QAAQ,CAACH,EAAUG,CAAI,MAC9BN,EAAS,KAAK,aAAaM,CAAI;AAAA,EAEnC,GAAG,CAACN,EAAS,MAAMP,CAAoB,CAAC,GAClCgB,IAAclB,EAAM,YAAY,CAAAe,MAAQ;AAC5C,IAAAX,EAAwBW,CAAI,GAC5BN,EAAS,KAAK,YAAYM,CAAI;AAAA,EAChC,GAAG,CAACN,EAAS,IAAI,CAAC,GACZU,IAAOnB,EAAM,QAAQ,OAAO;AAAA,IAChC,GAAGS,EAAS;AAAA,IACZ,cAAAQ;AAAA,IACA,aAAAC;AAAA,IACA,sBAAAJ;AAAA,IACA,cAAcT;AAAA,EAClB,IAAM,CAACI,EAAS,MAAMQ,GAAcC,GAAaJ,CAAoB,CAAC,GAC9DM,IAAWpB,EAAM,QAAQ,OAAO;AAAA,IACpC,GAAGS,EAAS;AAAA,IACZ,cAAcd;AAAA,EAClB,IAAM,CAACc,EAAS,UAAUd,CAAmB,CAAC,GACtC0B,IAAUrB,EAAM,QAAQ,OAAO;AAAA,IACnC,GAAGS;AAAA,IACH,SAASjB,EAAM,QAAQ;AAAA,IACvB,MAAAI;AAAA,IACA,cAAcJ,EAAM;AAAA,IACpB,QAAQA,EAAM,QAAQ;AAAA,IACtB,YAAAK;AAAA,IACA,MAAAsB;AAAA,IACA,UAAAC;AAAA,IACA,QAAAhC;AAAA,IACA,WAAWI;AAAA,EACf,IAAM,CAACiB,GAAUU,GAAMC,GAAUhC,GAAQI,GAAOI,GAAMC,CAAU,CAAC;AAC/D,SAAAyB,EAAmB,MAAM;AACvB,IAAI3B,MACFU,EAAgB,UAAUV;AAAA,EAE9B,GAAG,CAACA,CAAmB,CAAC,GACxB2B,EAAmB,MAAM;AACvB,IAAA9B,EAAM,QAAQ,QAAQ,QAAQ,kBAAkB6B;AAChD,UAAMN,IAAOT,GAAM,SAAS,QAAQ,KAAK,CAAAiB,MAAKA,EAAE,OAAOnC,CAAM;AAC7D,IAAI2B,MACFA,EAAK,UAAUM;AAAA,EAEnB,CAAC,GACMrB,EAAM,QAAQ,OAAO;AAAA,IAC1B,GAAGS;AAAA,IACH,SAAAY;AAAA,IACA,MAAAF;AAAA,IACA,UAAAC;AAAA,IACA,WAAW5B;AAAA,EACf,IAAM,CAACiB,GAAUU,GAAMC,GAAUC,GAAS7B,CAAK,CAAC;AAChD;","x_google_ignoreList":[0]}
|
package/dist/index375.js
CHANGED
|
@@ -1,77 +1,127 @@
|
|
|
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
|
-
|
|
1
|
+
import { getWindow as d, isOverflowElement as m } from "./index308.js";
|
|
2
|
+
import { addEventListener as T } from "./index300.js";
|
|
3
|
+
import { ownerDocument as a } from "./index284.js";
|
|
4
|
+
import { useIsoLayoutEffect as E } from "./index261.js";
|
|
5
|
+
import { Timeout as k } from "./index285.js";
|
|
6
|
+
import { AnimationFrame as H } from "./index301.js";
|
|
7
|
+
import { NOOP as z } from "./index264.js";
|
|
8
|
+
import { ios as j } from "./index357.js";
|
|
9
|
+
import { webkit as F } from "./index310.js";
|
|
10
|
+
let Y = {}, C = {}, L = "";
|
|
11
|
+
function R(s) {
|
|
12
|
+
if (typeof document > "u")
|
|
13
|
+
return !1;
|
|
14
|
+
const e = a(s);
|
|
15
|
+
return d(e).innerWidth - e.documentElement.clientWidth > 0;
|
|
16
|
+
}
|
|
17
|
+
function V(s) {
|
|
18
|
+
if (!(typeof CSS < "u" && CSS.supports && CSS.supports("scrollbar-gutter", "stable")) || typeof document > "u")
|
|
19
|
+
return !1;
|
|
20
|
+
const t = a(s), o = t.documentElement, l = t.body, r = m(o) ? o : l, i = r.style.overflowY, c = o.style.scrollbarGutter;
|
|
21
|
+
o.style.scrollbarGutter = "stable", r.style.overflowY = "scroll";
|
|
22
|
+
const u = r.offsetWidth;
|
|
23
|
+
r.style.overflowY = "hidden";
|
|
24
|
+
const f = r.offsetWidth;
|
|
25
|
+
return r.style.overflowY = i, o.style.scrollbarGutter = c, u === f;
|
|
26
|
+
}
|
|
27
|
+
function q(s) {
|
|
28
|
+
const e = a(s), t = e.documentElement, o = e.body, l = m(t) ? t : o, r = {
|
|
29
|
+
overflowY: l.style.overflowY,
|
|
30
|
+
overflowX: l.style.overflowX
|
|
31
|
+
};
|
|
32
|
+
return Object.assign(l.style, {
|
|
33
|
+
overflowY: "hidden",
|
|
34
|
+
overflowX: "hidden"
|
|
35
|
+
}), () => {
|
|
36
|
+
Object.assign(l.style, r);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function A(s) {
|
|
40
|
+
const e = a(s), t = e.documentElement, o = e.body, l = d(t);
|
|
41
|
+
let r = 0, i = 0, c = !1;
|
|
42
|
+
const u = H.create();
|
|
43
|
+
if (F && (l.visualViewport?.scale ?? 1) !== 1)
|
|
44
|
+
return () => {
|
|
45
|
+
};
|
|
46
|
+
function f() {
|
|
47
|
+
const h = l.getComputedStyle(t), n = l.getComputedStyle(o), v = (h.scrollbarGutter || "").includes("both-edges") ? "stable both-edges" : "stable";
|
|
48
|
+
r = t.scrollTop, i = t.scrollLeft, Y = {
|
|
49
|
+
scrollbarGutter: t.style.scrollbarGutter,
|
|
50
|
+
overflowY: t.style.overflowY,
|
|
51
|
+
overflowX: t.style.overflowX
|
|
52
|
+
}, L = t.style.scrollBehavior, C = {
|
|
53
|
+
position: o.style.position,
|
|
54
|
+
height: o.style.height,
|
|
55
|
+
width: o.style.width,
|
|
56
|
+
boxSizing: o.style.boxSizing,
|
|
57
|
+
overflowY: o.style.overflowY,
|
|
58
|
+
overflowX: o.style.overflowX,
|
|
59
|
+
scrollBehavior: o.style.scrollBehavior
|
|
60
|
+
};
|
|
61
|
+
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;
|
|
62
|
+
if (c = V(s), c) {
|
|
63
|
+
t.style.scrollbarGutter = v, S.style.overflowY = "hidden", S.style.overflowX = "hidden";
|
|
64
|
+
return;
|
|
22
65
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
66
|
+
Object.assign(t.style, {
|
|
67
|
+
scrollbarGutter: v,
|
|
68
|
+
overflowY: "hidden",
|
|
69
|
+
overflowX: "hidden"
|
|
70
|
+
}), (G || W) && (t.style.overflowY = "scroll"), (B || x) && (t.style.overflowX = "scroll"), Object.assign(o.style, {
|
|
71
|
+
position: "relative",
|
|
72
|
+
height: p || w ? `calc(100dvh - ${p + w}px)` : "100dvh",
|
|
73
|
+
width: g || b ? `calc(100vw - ${g + b}px)` : "100vw",
|
|
74
|
+
boxSizing: "border-box",
|
|
75
|
+
overflow: "hidden",
|
|
76
|
+
scrollBehavior: "unset"
|
|
77
|
+
}), o.scrollTop = r, o.scrollLeft = i, t.setAttribute("data-base-ui-scroll-locked", ""), t.style.scrollBehavior = "unset";
|
|
78
|
+
}
|
|
79
|
+
function y() {
|
|
80
|
+
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 = L);
|
|
81
|
+
}
|
|
82
|
+
function O() {
|
|
83
|
+
y(), u.request(f);
|
|
84
|
+
}
|
|
85
|
+
f();
|
|
86
|
+
const X = T(l, "resize", O);
|
|
87
|
+
return () => {
|
|
88
|
+
u.cancel(), y(), typeof l.removeEventListener == "function" && X();
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
class I {
|
|
92
|
+
lockCount = 0;
|
|
93
|
+
restore = null;
|
|
94
|
+
timeoutLock = k.create();
|
|
95
|
+
timeoutUnlock = k.create();
|
|
96
|
+
acquire(e) {
|
|
97
|
+
return this.lockCount += 1, this.lockCount === 1 && this.restore === null && this.timeoutLock.start(0, () => this.lock(e)), this.release;
|
|
98
|
+
}
|
|
99
|
+
release = () => {
|
|
100
|
+
this.lockCount -= 1, this.lockCount === 0 && this.restore && this.timeoutUnlock.start(0, this.unlock);
|
|
101
|
+
};
|
|
102
|
+
unlock = () => {
|
|
103
|
+
this.lockCount === 0 && this.restore && (this.restore?.(), this.restore = null);
|
|
104
|
+
};
|
|
105
|
+
lock(e) {
|
|
106
|
+
if (this.lockCount === 0 || this.restore !== null)
|
|
107
|
+
return;
|
|
108
|
+
const o = a(e).documentElement, l = d(o).getComputedStyle(o).overflowY;
|
|
109
|
+
if (l === "hidden" || l === "clip") {
|
|
110
|
+
this.restore = z;
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const r = j || !R(e);
|
|
114
|
+
this.restore = r ? q(e) : A(e);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const M = new I();
|
|
118
|
+
function ot(s = !0, e = null) {
|
|
119
|
+
E(() => {
|
|
120
|
+
if (s)
|
|
121
|
+
return M.acquire(e);
|
|
122
|
+
}, [s, e]);
|
|
73
123
|
}
|
|
74
124
|
export {
|
|
75
|
-
|
|
125
|
+
ot as useScrollLock
|
|
76
126
|
};
|
|
77
127
|
//# sourceMappingURL=index375.js.map
|
package/dist/index375.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index375.js","sources":["../../../node_modules/@base-ui/react/floating-ui-react/hooks/useFloating.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useFloating as usePosition } from '@floating-ui/react-dom';\nimport { isElement } from '@floating-ui/utils/dom';\nimport { useFloatingTree } from \"../components/FloatingTree.mjs\";\nimport { useFloatingRootContext } from \"./useFloatingRootContext.mjs\";\n\n/**\n * Provides data to position a floating element and context to add interactions.\n * @see https://floating-ui.com/docs/useFloating\n */\nexport function useFloating(options = {}) {\n const {\n nodeId,\n externalTree\n } = options;\n const internalStore = useFloatingRootContext(options);\n const store = options.rootContext || internalStore;\n const referenceElement = store.useState('referenceElement');\n const floatingElement = store.useState('floatingElement');\n const domReferenceElement = store.useState('domReferenceElement');\n const open = store.useState('open');\n const floatingId = store.useState('floatingId');\n const [positionReference, setPositionReferenceRaw] = React.useState(null);\n const [localDomReference, setLocalDomReference] = React.useState(undefined);\n const [localFloatingElement, setLocalFloatingElement] = React.useState(undefined);\n const domReferenceRef = React.useRef(null);\n const tree = useFloatingTree(externalTree);\n const storeElements = React.useMemo(() => ({\n reference: referenceElement,\n floating: floatingElement,\n domReference: domReferenceElement\n }), [referenceElement, floatingElement, domReferenceElement]);\n const position = usePosition({\n ...options,\n elements: {\n ...storeElements,\n ...(positionReference && {\n reference: positionReference\n })\n }\n });\n const localDomReferenceElement = isElement(localDomReference) ? localDomReference : null;\n const syncedFloatingElement = localFloatingElement === undefined ? store.state.floatingElement : localFloatingElement;\n store.useSyncedValue('referenceElement', localDomReference ?? null);\n store.useSyncedValue('domReferenceElement', localDomReference === undefined ? domReferenceElement : localDomReferenceElement);\n store.useSyncedValue('floatingElement', syncedFloatingElement);\n const setPositionReference = React.useCallback(node => {\n const computedPositionReference = isElement(node) ? {\n getBoundingClientRect: () => node.getBoundingClientRect(),\n getClientRects: () => node.getClientRects(),\n contextElement: node\n } : node;\n // Store the positionReference in state if the DOM reference is specified externally via the\n // `elements.reference` option. This ensures that it won't be overridden on future renders.\n setPositionReferenceRaw(computedPositionReference);\n position.refs.setReference(computedPositionReference);\n }, [position.refs]);\n const setReference = React.useCallback(node => {\n if (isElement(node) || node === null) {\n domReferenceRef.current = node;\n setLocalDomReference(node);\n }\n\n // Backwards-compatibility for passing a virtual element to `reference`\n // after it has set the DOM reference.\n if (isElement(position.refs.reference.current) || position.refs.reference.current === null ||\n // Don't allow setting virtual elements using the old technique back to\n // `null` to support `positionReference` + an unstable `reference`\n // callback ref.\n node !== null && !isElement(node)) {\n position.refs.setReference(node);\n }\n }, [position.refs, setLocalDomReference]);\n const setFloating = React.useCallback(node => {\n setLocalFloatingElement(node);\n position.refs.setFloating(node);\n }, [position.refs]);\n const refs = React.useMemo(() => ({\n ...position.refs,\n setReference,\n setFloating,\n setPositionReference,\n domReference: domReferenceRef\n }), [position.refs, setReference, setFloating, setPositionReference]);\n const elements = React.useMemo(() => ({\n ...position.elements,\n domReference: domReferenceElement\n }), [position.elements, domReferenceElement]);\n const context = React.useMemo(() => ({\n ...position,\n dataRef: store.context.dataRef,\n open,\n onOpenChange: store.setOpen,\n events: store.context.events,\n floatingId,\n refs,\n elements,\n nodeId,\n rootStore: store\n }), [position, refs, elements, nodeId, store, open, floatingId]);\n useIsoLayoutEffect(() => {\n if (domReferenceElement) {\n domReferenceRef.current = domReferenceElement;\n }\n }, [domReferenceElement]);\n useIsoLayoutEffect(() => {\n store.context.dataRef.current.floatingContext = context;\n const node = tree?.nodesRef.current.find(n => n.id === nodeId);\n if (node) {\n node.context = context;\n }\n });\n return React.useMemo(() => ({\n ...position,\n context,\n refs,\n elements,\n rootStore: store\n }), [position, refs, elements, context, store]);\n}"],"names":["useFloating","options","nodeId","externalTree","internalStore","useFloatingRootContext","store","referenceElement","floatingElement","domReferenceElement","open","floatingId","positionReference","setPositionReferenceRaw","React","localDomReference","setLocalDomReference","localFloatingElement","setLocalFloatingElement","domReferenceRef","tree","useFloatingTree","storeElements","position","usePosition","localDomReferenceElement","isElement","syncedFloatingElement","setPositionReference","node","computedPositionReference","setReference","setFloating","refs","elements","context","useIsoLayoutEffect","n"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index375.js","sources":["../../../node_modules/@base-ui/utils/useScrollLock.mjs"],"sourcesContent":["'use client';\n\nimport { isOverflowElement } from '@floating-ui/utils/dom';\nimport { addEventListener } from \"./addEventListener.mjs\";\nimport { platform } from \"./platform/index.mjs\";\nimport { ownerDocument, ownerWindow } from \"./owner.mjs\";\nimport { useIsoLayoutEffect } from \"./useIsoLayoutEffect.mjs\";\nimport { Timeout } from \"./useTimeout.mjs\";\nimport { AnimationFrame } from \"./useAnimationFrame.mjs\";\nimport { NOOP } from \"./empty.mjs\";\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 (platform.engine.webkit && (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 = platform.os.ios || !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","platform.engine.webkit","lockScroll","htmlStyles","bodyStyles","scrollbarGutterValue","isScrollableY","isScrollableX","hasConstantOverflowY","hasConstantOverflowX","scrollbarWidth","scrollbarHeight","marginY","marginX","cleanup","handleResize","unsubscribeResize","addEventListener","ScrollLocker","Timeout","htmlOverflowY","NOOP","hasOverlayScrollbars","platform.os.ios","SCROLL_LOCKER","useScrollLock","enabled","useIsoLayoutEffect"],"mappings":"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","x_google_ignoreList":[0]}
|