@rpcbase/ui 0.239.0 → 0.241.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/dist/components/I18nField/index.d.ts +2 -1
  2. package/dist/components/I18nField/index.d.ts.map +1 -1
  3. package/dist/index11.js +373 -335
  4. package/dist/index11.js.map +1 -1
  5. package/dist/index151.js +4 -4
  6. package/dist/index156.js +1 -1
  7. package/dist/index157.js +1 -1
  8. package/dist/index164.js +1 -1
  9. package/dist/index165.js +6 -6
  10. package/dist/index167.js +1 -1
  11. package/dist/index169.js +1 -1
  12. package/dist/index172.js +3 -3
  13. package/dist/index175.js +1 -1
  14. package/dist/index176.js +4 -4
  15. package/dist/index182.js +1 -1
  16. package/dist/index184.js +12 -12
  17. package/dist/index187.js +5 -5
  18. package/dist/index189.js +3 -3
  19. package/dist/index190.js +1 -1
  20. package/dist/index193.js +3 -3
  21. package/dist/index194.js +5 -5
  22. package/dist/index256.js +20 -14
  23. package/dist/index256.js.map +1 -1
  24. package/dist/index257.js +58 -146
  25. package/dist/index257.js.map +1 -1
  26. package/dist/index258.js +6 -30
  27. package/dist/index258.js.map +1 -1
  28. package/dist/index259.js +11 -9
  29. package/dist/index259.js.map +1 -1
  30. package/dist/index260.js +46 -44
  31. package/dist/index260.js.map +1 -1
  32. package/dist/index261.js +4 -12
  33. package/dist/index261.js.map +1 -1
  34. package/dist/index262.js +28 -43
  35. package/dist/index262.js.map +1 -1
  36. package/dist/index263.js +14 -93
  37. package/dist/index263.js.map +1 -1
  38. package/dist/index264.js +5 -86
  39. package/dist/index264.js.map +1 -1
  40. package/dist/index265.js +21 -105
  41. package/dist/index265.js.map +1 -1
  42. package/dist/index266.js +50 -51
  43. package/dist/index266.js.map +1 -1
  44. package/dist/index267.js +25 -11
  45. package/dist/index267.js.map +1 -1
  46. package/dist/index268.js +41 -37
  47. package/dist/index268.js.map +1 -1
  48. package/dist/index269.js +39 -8
  49. package/dist/index269.js.map +1 -1
  50. package/dist/index270.js +45 -117
  51. package/dist/index270.js.map +1 -1
  52. package/dist/index271.js +20 -17
  53. package/dist/index271.js.map +1 -1
  54. package/dist/index272.js +69 -14
  55. package/dist/index272.js.map +1 -1
  56. package/dist/index273.js +17 -3
  57. package/dist/index273.js.map +1 -1
  58. package/dist/index274.js +11 -36
  59. package/dist/index274.js.map +1 -1
  60. package/dist/index275.js +27 -20
  61. package/dist/index275.js.map +1 -1
  62. package/dist/index276.js +13 -9
  63. package/dist/index276.js.map +1 -1
  64. package/dist/index277.js +18 -8
  65. package/dist/index277.js.map +1 -1
  66. package/dist/index278.js +37 -20
  67. package/dist/index278.js.map +1 -1
  68. package/dist/index279.js +255 -59
  69. package/dist/index279.js.map +1 -1
  70. package/dist/index280.js +278 -6
  71. package/dist/index280.js.map +1 -1
  72. package/dist/index281.js +67 -10
  73. package/dist/index281.js.map +1 -1
  74. package/dist/index282.js +96 -47
  75. package/dist/index282.js.map +1 -1
  76. package/dist/index283.js +84 -4
  77. package/dist/index283.js.map +1 -1
  78. package/dist/index284.js +3 -29
  79. package/dist/index284.js.map +1 -1
  80. package/dist/index285.js +28 -15
  81. package/dist/index285.js.map +1 -1
  82. package/dist/index286.js +16 -5
  83. package/dist/index286.js.map +1 -1
  84. package/dist/index287.js +35 -22
  85. package/dist/index287.js.map +1 -1
  86. package/dist/index288.js +16 -51
  87. package/dist/index288.js.map +1 -1
  88. package/dist/index289.js +3 -25
  89. package/dist/index289.js.map +1 -1
  90. package/dist/index290.js +26 -41
  91. package/dist/index290.js.map +1 -1
  92. package/dist/index291.js +27 -38
  93. package/dist/index291.js.map +1 -1
  94. package/dist/index292.js +4 -45
  95. package/dist/index292.js.map +1 -1
  96. package/dist/index293.js +78 -20
  97. package/dist/index293.js.map +1 -1
  98. package/dist/index294.js +264 -65
  99. package/dist/index294.js.map +1 -1
  100. package/dist/index295.js +11 -17
  101. package/dist/index295.js.map +1 -1
  102. package/dist/index296.js +10 -11
  103. package/dist/index296.js.map +1 -1
  104. package/dist/index297.js +24 -26
  105. package/dist/index297.js.map +1 -1
  106. package/dist/index298.js +16 -13
  107. package/dist/index298.js.map +1 -1
  108. package/dist/index299.js +122 -15
  109. package/dist/index299.js.map +1 -1
  110. package/dist/index300.js +5 -36
  111. package/dist/index300.js.map +1 -1
  112. package/dist/index301.js +38 -260
  113. package/dist/index301.js.map +1 -1
  114. package/dist/index302.js +62 -275
  115. package/dist/index302.js.map +1 -1
  116. package/dist/index303.js +13 -68
  117. package/dist/index303.js.map +1 -1
  118. package/dist/index304.js +7 -99
  119. package/dist/index304.js.map +1 -1
  120. package/dist/index305.js +5 -83
  121. package/dist/index305.js.map +1 -1
  122. package/dist/index306.js +3 -3
  123. package/dist/index306.js.map +1 -1
  124. package/dist/index307.js +10 -29
  125. package/dist/index307.js.map +1 -1
  126. package/dist/index308.js +6 -15
  127. package/dist/index308.js.map +1 -1
  128. package/dist/index309.js +133 -34
  129. package/dist/index309.js.map +1 -1
  130. package/dist/index310.js +398 -15
  131. package/dist/index310.js.map +1 -1
  132. package/dist/index311.js +52 -3
  133. package/dist/index311.js.map +1 -1
  134. package/dist/index312.js +11 -26
  135. package/dist/index312.js.map +1 -1
  136. package/dist/index313.js +10 -27
  137. package/dist/index313.js.map +1 -1
  138. package/dist/index314.js +14 -4
  139. package/dist/index314.js.map +1 -1
  140. package/dist/index315.js +151 -75
  141. package/dist/index315.js.map +1 -1
  142. package/dist/index316.js +28 -267
  143. package/dist/index316.js.map +1 -1
  144. package/dist/index317.js +9 -11
  145. package/dist/index317.js.map +1 -1
  146. package/dist/index318.js +49 -11
  147. package/dist/index318.js.map +1 -1
  148. package/dist/index319.js +11 -25
  149. package/dist/index319.js.map +1 -1
  150. package/dist/index320.js +43 -15
  151. package/dist/index320.js.map +1 -1
  152. package/dist/index321.js +89 -119
  153. package/dist/index321.js.map +1 -1
  154. package/dist/index322.js +86 -5
  155. package/dist/index322.js.map +1 -1
  156. package/dist/index323.js +104 -39
  157. package/dist/index323.js.map +1 -1
  158. package/dist/index324.js +47 -60
  159. package/dist/index324.js.map +1 -1
  160. package/dist/index325.js +11 -13
  161. package/dist/index325.js.map +1 -1
  162. package/dist/index326.js +37 -7
  163. package/dist/index326.js.map +1 -1
  164. package/dist/index327.js +8 -5
  165. package/dist/index327.js.map +1 -1
  166. package/dist/index328.js +3 -3
  167. package/dist/index328.js.map +1 -1
  168. package/dist/index329.js +9 -10
  169. package/dist/index329.js.map +1 -1
  170. package/dist/index330.js +116 -7
  171. package/dist/index330.js.map +1 -1
  172. package/dist/index331.js +17 -133
  173. package/dist/index331.js.map +1 -1
  174. package/dist/index332.js +14 -398
  175. package/dist/index332.js.map +1 -1
  176. package/dist/index333.js +35 -51
  177. package/dist/index333.js.map +1 -1
  178. package/dist/index334.js +20 -11
  179. package/dist/index334.js.map +1 -1
  180. package/dist/index335.js +8 -11
  181. package/dist/index335.js.map +1 -1
  182. package/dist/index336.js +3 -3
  183. package/dist/index346.js +2 -2
  184. package/dist/index348.js +8 -8
  185. package/dist/index349.js +3 -3
  186. package/dist/index350.js +2 -2
  187. package/dist/index351.js +5 -5
  188. package/dist/index353.js +1 -1
  189. package/dist/index362.js +10 -19
  190. package/dist/index362.js.map +1 -1
  191. package/dist/index363.js +17 -4
  192. package/dist/index363.js.map +1 -1
  193. package/dist/index364.js +4 -6
  194. package/dist/index364.js.map +1 -1
  195. package/dist/index365.js +5 -11
  196. package/dist/index365.js.map +1 -1
  197. package/dist/index366.js +19 -15
  198. package/dist/index366.js.map +1 -1
  199. package/dist/index367.js +43 -19
  200. package/dist/index367.js.map +1 -1
  201. package/dist/index368.js +13 -40
  202. package/dist/index368.js.map +1 -1
  203. package/dist/index369.js +4 -17
  204. package/dist/index369.js.map +1 -1
  205. package/dist/index370.js +200 -4
  206. package/dist/index370.js.map +1 -1
  207. package/dist/index371.js +74 -197
  208. package/dist/index371.js.map +1 -1
  209. package/dist/index372.js +20 -77
  210. package/dist/index372.js.map +1 -1
  211. package/dist/index374.js +3 -3
  212. package/dist/index375.js +1 -1
  213. package/dist/index376.js +3 -3
  214. package/dist/index378.js +2 -2
  215. package/dist/index380.js +1 -1
  216. package/dist/index381.js +2 -2
  217. package/dist/index407.js +1 -1
  218. package/dist/index411.js +1 -1
  219. package/dist/index413.js +1 -1
  220. package/dist/index414.js +2 -2
  221. package/dist/index417.js +1 -1
  222. package/dist/index418.js +1 -1
  223. package/dist/index421.js +1 -1
  224. package/dist/index422.js +1 -1
  225. package/dist/index423.js +2 -16
  226. package/dist/index423.js.map +1 -1
  227. package/dist/index424.js +2 -29
  228. package/dist/index424.js.map +1 -1
  229. package/dist/index425.js +2 -13
  230. package/dist/index425.js.map +1 -1
  231. package/dist/index426.js +2 -7
  232. package/dist/index426.js.map +1 -1
  233. package/dist/index427.js +16 -2
  234. package/dist/index427.js.map +1 -1
  235. package/dist/index428.js +29 -2
  236. package/dist/index428.js.map +1 -1
  237. package/dist/index429.js +13 -2
  238. package/dist/index429.js.map +1 -1
  239. package/dist/index430.js +7 -2
  240. package/dist/index430.js.map +1 -1
  241. package/dist/index44.js +1 -1
  242. package/dist/index45.js +2 -2
  243. package/dist/index49.js +28 -28
  244. package/dist/index50.js +21 -21
  245. package/dist/index51.js +1 -1
  246. package/dist/index52.js +8 -8
  247. package/dist/index53.js +2 -2
  248. package/dist/index55.js +17 -17
  249. package/dist/index56.js +4 -4
  250. package/dist/index57.js +3 -3
  251. package/dist/index58.js +7 -7
  252. package/dist/index59.js +4 -4
  253. package/dist/index60.js +12 -12
  254. package/dist/index61.js +2 -2
  255. package/dist/index62.js +2 -2
  256. package/dist/index70.js +1 -1
  257. package/dist/index71.js +1 -1
  258. package/dist/index74.js +2 -6
  259. package/dist/index74.js.map +1 -1
  260. package/dist/index75.js +2 -8
  261. package/dist/index75.js.map +1 -1
  262. package/dist/index76.js +5 -5
  263. package/dist/index76.js.map +1 -1
  264. package/dist/index77.js +8 -2
  265. package/dist/index77.js.map +1 -1
  266. package/dist/index78.js +6 -2
  267. package/dist/index78.js.map +1 -1
  268. package/package.json +1 -1
package/dist/index294.js CHANGED
@@ -1,74 +1,273 @@
1
- import * as c from "react";
2
- import { serializeValue as a } from "./index365.js";
3
- import { j as i } from "./index30.js";
4
- function s(r) {
5
- return r != null && r.length > 0 && typeof r[0] == "object" && r[0] != null && "items" in r[0];
1
+ import * as d from "react";
2
+ import { getSide as B, getSideAxis as Me, getAlignment as He } from "./index299.js";
3
+ import { ownerDocument as De } from "./index284.js";
4
+ import { useIsoLayoutEffect as Q } from "./index261.js";
5
+ import { useValueAsRef as z } from "./index263.js";
6
+ import { useStableCallback as Je } from "./index262.js";
7
+ import { useDirection as Ke } from "./index308.js";
8
+ import { arrow as Ne } from "./index367.js";
9
+ import { hide as Qe } from "./index368.js";
10
+ import { DEFAULT_SIDES as Ze } from "./index369.js";
11
+ import { flip as et, size as tt, offset as nt, shift as ot, limitShift as it } from "./index370.js";
12
+ import { useFloating as rt } from "./index371.js";
13
+ import { autoUpdate as ke } from "./index310.js";
14
+ import { getWindow as st } from "./index309.js";
15
+ function Le(a, u, h) {
16
+ const n = a === "inline-start" || a === "inline-end";
17
+ return {
18
+ top: "top",
19
+ right: n ? h ? "inline-start" : "inline-end" : "right",
20
+ bottom: "bottom",
21
+ left: n ? h ? "inline-end" : "inline-start" : "left"
22
+ }[u];
6
23
  }
7
- function A(r) {
8
- if (!Array.isArray(r))
9
- return r != null && "null" in r;
10
- const n = r;
11
- if (s(n)) {
12
- for (const l of n)
13
- for (const u of l.items)
14
- if (u && u.value == null && u.label != null)
15
- return !0;
16
- return !1;
17
- }
18
- for (const l of n)
19
- if (l && l.value == null && l.label != null)
20
- return !0;
21
- return !1;
22
- }
23
- function b(r, n) {
24
- if (n && r != null)
25
- return n(r) ?? "";
26
- if (r && typeof r == "object") {
27
- if ("label" in r && r.label != null)
28
- return String(r.label);
29
- if ("value" in r)
30
- return String(r.value);
31
- }
32
- return a(r);
33
- }
34
- function h(r, n) {
35
- return n && r != null ? n(r) ?? "" : r && typeof r == "object" && "value" in r && "label" in r ? a(r.value) : a(r);
24
+ function Ce(a, u, h) {
25
+ const {
26
+ rects: n,
27
+ placement: c
28
+ } = a;
29
+ return {
30
+ side: Le(u, B(c), h),
31
+ align: He(c) || "center",
32
+ anchor: {
33
+ width: n.reference.width,
34
+ height: n.reference.height
35
+ },
36
+ positioner: {
37
+ width: n.floating.width,
38
+ height: n.floating.height
39
+ }
40
+ };
36
41
  }
37
- function p(r, n, l) {
38
- function u() {
39
- return b(r, l);
40
- }
41
- if (l && r != null)
42
- return l(r);
43
- if (r && typeof r == "object" && "label" in r && r.label != null)
44
- return r.label;
45
- if (n && !Array.isArray(n))
46
- return n[r] ?? u();
47
- if (Array.isArray(n)) {
48
- const e = n, t = s(e) ? e.flatMap((f) => f.items) : e;
49
- if (r == null || typeof r != "object") {
50
- const f = t.find((o) => o.value === r);
51
- return f && f.label != null ? f.label : u();
42
+ function St(a) {
43
+ const {
44
+ // Public parameters
45
+ anchor: u,
46
+ positionMethod: h = "absolute",
47
+ side: n = "bottom",
48
+ sideOffset: c = 0,
49
+ align: R = "center",
50
+ alignOffset: V = 0,
51
+ collisionBoundary: Z,
52
+ collisionPadding: Te = 5,
53
+ sticky: W = !1,
54
+ arrowPadding: ee = 5,
55
+ disableAnchorTracking: I = !1,
56
+ // Private parameters
57
+ keepMounted: M = !1,
58
+ floatingRootContext: D,
59
+ mounted: o,
60
+ collisionAvoidance: U,
61
+ shiftCrossAxis: S = !1,
62
+ nodeId: ze,
63
+ adaptiveOrigin: Y,
64
+ lazyFlip: te = !1,
65
+ externalTree: Be
66
+ } = a, [ne, oe] = d.useState(null);
67
+ !o && ne !== null && oe(null);
68
+ const P = U.side || "flip", O = U.align || "flip", Ve = U.fallbackAxisSide || "end", ie = typeof u == "function" ? u : void 0, We = Je(ie), re = ie ? We : u, k = z(u), Ie = z(o), x = Ke() === "rtl", se = ne || {
69
+ top: "top",
70
+ right: "right",
71
+ bottom: "bottom",
72
+ left: "left",
73
+ "inline-end": x ? "left" : "right",
74
+ "inline-start": x ? "right" : "left"
75
+ }[n], Ue = R === "center" ? se : `${se}-${R}`;
76
+ let t = Te;
77
+ const p = 1, ce = n === "bottom" ? p : 0, le = n === "top" ? p : 0, ae = n === "right" ? p : 0, fe = n === "left" ? p : 0;
78
+ typeof t == "number" ? t = {
79
+ top: t + ce,
80
+ right: t + fe,
81
+ bottom: t + le,
82
+ left: t + ae
83
+ } : t && (t = {
84
+ top: (t.top || 0) + ce,
85
+ right: (t.right || 0) + fe,
86
+ bottom: (t.bottom || 0) + le,
87
+ left: (t.left || 0) + ae
88
+ });
89
+ const C = {
90
+ boundary: Z === "clipping-ancestors" ? "clippingAncestors" : Z,
91
+ padding: t
92
+ }, m = d.useRef(null), X = z(c), j = z(V), F = [nt((e) => {
93
+ const i = Ce(e, n, x), l = typeof X.current == "function" ? X.current(i) : X.current, r = typeof j.current == "function" ? j.current(i) : j.current;
94
+ return {
95
+ mainAxis: l,
96
+ crossAxis: r,
97
+ alignmentAxis: r
98
+ };
99
+ }, [typeof c != "function" ? c : 0, typeof V != "function" ? V : 0, x, n])], de = O === "none" && P !== "shift", ue = !de && (W || S || P === "shift"), pe = P === "none" ? null : et({
100
+ ...C,
101
+ // Ensure the popup flips if it's been limited by its --available-height and it resizes.
102
+ // Since the size() padding is smaller than the flip() padding, flip() will take precedence.
103
+ padding: {
104
+ top: t.top + p,
105
+ right: t.right + p,
106
+ bottom: t.bottom + p,
107
+ left: t.left + p
108
+ },
109
+ mainAxis: !S && P === "flip",
110
+ crossAxis: O === "flip" ? "alignment" : !1,
111
+ fallbackAxisSideDirection: Ve
112
+ }), he = de ? null : ot((e) => {
113
+ const i = De(e.elements.floating).documentElement;
114
+ return {
115
+ ...C,
116
+ // Use the Layout Viewport to avoid shifting around when pinch-zooming
117
+ // for context menus.
118
+ rootBoundary: S ? {
119
+ x: 0,
120
+ y: 0,
121
+ width: i.clientWidth,
122
+ height: i.clientHeight
123
+ } : void 0,
124
+ mainAxis: O !== "none",
125
+ crossAxis: ue,
126
+ limiter: W || S ? void 0 : it((l) => {
127
+ if (!m.current)
128
+ return {};
129
+ const {
130
+ width: r,
131
+ height: f
132
+ } = m.current.getBoundingClientRect(), s = Me(B(l.placement)), y = s === "y" ? r : f, A = s === "y" ? t.left + t.right : t.top + t.bottom;
133
+ return {
134
+ offset: y / 2 + A / 2
135
+ };
136
+ })
137
+ };
138
+ }, [C, W, S, t, O]);
139
+ P === "shift" || O === "shift" || R === "center" ? F.push(he, pe) : F.push(pe, he), F.push(tt({
140
+ ...C,
141
+ apply({
142
+ elements: {
143
+ floating: e
144
+ },
145
+ availableWidth: i,
146
+ availableHeight: l,
147
+ rects: r
148
+ }) {
149
+ if (!Ie.current)
150
+ return;
151
+ const f = e.style;
152
+ f.setProperty("--available-width", `${i}px`), f.setProperty("--available-height", `${l}px`);
153
+ const s = st(e).devicePixelRatio || 1, {
154
+ x: y,
155
+ y: A,
156
+ width: T,
157
+ height: G
158
+ } = r.reference, J = (Math.round((y + T) * s) - Math.round(y * s)) / s, K = (Math.round((A + G) * s) - Math.round(A * s)) / s;
159
+ f.setProperty("--anchor-width", `${J}px`), f.setProperty("--anchor-height", `${K}px`);
52
160
  }
53
- if ("value" in r) {
54
- const f = t.find((o) => o && o.value === r.value);
55
- if (f && f.label != null)
56
- return f.label;
161
+ }), Ne(() => ({
162
+ // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,
163
+ // we'll create a fake element.
164
+ element: m.current || De(m.current).createElement("div"),
165
+ padding: ee,
166
+ offsetParent: "floating"
167
+ }), [ee]), {
168
+ name: "transformOrigin",
169
+ fn(e) {
170
+ const {
171
+ elements: i,
172
+ middlewareData: l,
173
+ placement: r,
174
+ rects: f,
175
+ y: s
176
+ } = e, y = B(r), A = Me(y), T = m.current, G = l.arrow?.x || 0, J = l.arrow?.y || 0, K = T?.clientWidth || 0, Ye = T?.clientHeight || 0, N = G + K / 2, Ee = J + Ye / 2, Xe = Math.abs(l.shift?.y || 0), je = f.reference.height / 2, E = typeof c == "function" ? c(Ce(e, n, x)) : c, _e = Xe > E, qe = {
177
+ top: `${N}px calc(100% + ${E}px)`,
178
+ bottom: `${N}px ${-E}px`,
179
+ left: `calc(100% + ${E}px) ${Ee}px`,
180
+ right: `${-E}px ${Ee}px`
181
+ }[y], Ge = `${N}px ${f.reference.y + je - s}px`;
182
+ return i.floating.style.setProperty("--transform-origin", ue && A === "y" && _e ? Ge : qe), {};
57
183
  }
58
- }
59
- return u();
184
+ }, Qe, Y), Q(() => {
185
+ !o && D && D.update({
186
+ referenceElement: null,
187
+ floatingElement: null,
188
+ domReferenceElement: null,
189
+ positionReference: null
190
+ });
191
+ }, [o, D]);
192
+ const _ = d.useMemo(() => ({
193
+ elementResize: !I && typeof ResizeObserver < "u",
194
+ layoutShift: !I && typeof IntersectionObserver < "u"
195
+ }), [I]), {
196
+ refs: b,
197
+ elements: v,
198
+ x: me,
199
+ y: ge,
200
+ middlewareData: w,
201
+ update: H,
202
+ placement: ye,
203
+ context: xe,
204
+ isPositioned: g,
205
+ floatingStyles: be
206
+ } = rt({
207
+ rootContext: D,
208
+ open: M ? o : void 0,
209
+ placement: Ue,
210
+ middleware: F,
211
+ strategy: h,
212
+ whileElementsMounted: M ? void 0 : (...e) => ke(...e, _),
213
+ nodeId: ze,
214
+ externalTree: Be
215
+ }), {
216
+ sideX: we,
217
+ sideY: Ae
218
+ } = w.adaptiveOrigin || Ze, q = g ? h : "fixed", Re = d.useMemo(() => {
219
+ const e = Y ? {
220
+ position: q,
221
+ [we]: me,
222
+ [Ae]: ge
223
+ } : {
224
+ position: q,
225
+ ...be
226
+ };
227
+ return g || (e.opacity = 0), e;
228
+ }, [Y, q, we, me, Ae, ge, be, g]), L = d.useRef(null);
229
+ Q(() => {
230
+ if (!o)
231
+ return;
232
+ const e = k.current, i = typeof e == "function" ? e() : e, r = (Fe(i) ? i.current : i) || null || null;
233
+ r !== L.current && (b.setPositionReference(r), L.current = r);
234
+ }, [o, b, re, k]), d.useEffect(() => {
235
+ if (!o)
236
+ return;
237
+ const e = k.current;
238
+ typeof e != "function" && Fe(e) && e.current !== L.current && (b.setPositionReference(e.current), L.current = e.current);
239
+ }, [o, b, re, k]), d.useEffect(() => {
240
+ if (M && o && v.domReference && v.floating)
241
+ return ke(v.domReference, v.floating, H, _);
242
+ }, [M, o, v, H, _]);
243
+ const $ = B(ye), Se = Le(n, $, x), Pe = He(ye) || "center", Oe = !!w.hide?.referenceHidden;
244
+ Q(() => {
245
+ te && o && g && oe($);
246
+ }, [te, o, g, $]);
247
+ const ve = d.useMemo(() => ({
248
+ position: "absolute",
249
+ top: w.arrow?.y,
250
+ left: w.arrow?.x
251
+ }), [w.arrow]), $e = w.arrow?.centerOffset !== 0;
252
+ return d.useMemo(() => ({
253
+ positionerStyles: Re,
254
+ arrowStyles: ve,
255
+ arrowRef: m,
256
+ arrowUncentered: $e,
257
+ side: Se,
258
+ align: Pe,
259
+ physicalSide: $,
260
+ anchorHidden: Oe,
261
+ refs: b,
262
+ context: xe,
263
+ isPositioned: g,
264
+ update: H
265
+ }), [Re, ve, m, $e, Se, Pe, $, Oe, b, xe, g, H]);
60
266
  }
61
- function d(r, n, l) {
62
- return r.reduce((u, e, t) => (t > 0 && u.push(", "), u.push(/* @__PURE__ */ i.jsx(c.Fragment, {
63
- children: p(e, n, l)
64
- }, t)), u), []);
267
+ function Fe(a) {
268
+ return a != null && "current" in a;
65
269
  }
66
270
  export {
67
- A as hasNullItemLabel,
68
- s as isGroupedItems,
69
- d as resolveMultipleLabels,
70
- p as resolveSelectedLabel,
71
- b as stringifyAsLabel,
72
- h as stringifyAsValue
271
+ St as useAnchorPositioning
73
272
  };
74
273
  //# sourceMappingURL=index294.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index294.js","sources":["../../../node_modules/@base-ui/react/esm/internals/resolveValueLabel.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { serializeValue } from \"./serializeValue.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isGroupedItems(items) {\n return items != null && items.length > 0 && typeof items[0] === 'object' && items[0] != null && 'items' in items[0];\n}\n\n/**\n * Checks if the items array contains an item with a null value that has a non-null label.\n */\nexport function hasNullItemLabel(items) {\n if (!Array.isArray(items)) {\n return items != null && 'null' in items;\n }\n const arrayItems = items;\n if (isGroupedItems(arrayItems)) {\n for (const group of arrayItems) {\n for (const item of group.items) {\n if (item && item.value == null && item.label != null) {\n return true;\n }\n }\n }\n return false;\n }\n for (const item of arrayItems) {\n if (item && item.value == null && item.label != null) {\n return true;\n }\n }\n return false;\n}\nexport function stringifyAsLabel(item, itemToStringLabel) {\n if (itemToStringLabel && item != null) {\n return itemToStringLabel(item) ?? '';\n }\n if (item && typeof item === 'object') {\n if ('label' in item && item.label != null) {\n return String(item.label);\n }\n if ('value' in item) {\n return String(item.value);\n }\n }\n return serializeValue(item);\n}\nexport function stringifyAsValue(item, itemToStringValue) {\n if (itemToStringValue && item != null) {\n return itemToStringValue(item) ?? '';\n }\n if (item && typeof item === 'object' && 'value' in item && 'label' in item) {\n return serializeValue(item.value);\n }\n return serializeValue(item);\n}\nexport function resolveSelectedLabel(value, items, itemToStringLabel) {\n function fallback() {\n return stringifyAsLabel(value, itemToStringLabel);\n }\n if (itemToStringLabel && value != null) {\n return itemToStringLabel(value);\n }\n\n // Custom object with explicit label takes precedence\n if (value && typeof value === 'object' && 'label' in value && value.label != null) {\n return value.label;\n }\n\n // Items provided as plain record map\n if (items && !Array.isArray(items)) {\n return items[value] ?? fallback();\n }\n\n // Items provided as array (flat or grouped)\n if (Array.isArray(items)) {\n const arrayItems = items;\n const flatItems = isGroupedItems(arrayItems) ? arrayItems.flatMap(group => group.items) : arrayItems;\n if (value == null || typeof value !== 'object') {\n const match = flatItems.find(item => item.value === value);\n if (match && match.label != null) {\n return match.label;\n }\n return fallback();\n }\n\n // Object without explicit label: try matching by its `value` property\n if ('value' in value) {\n const match = flatItems.find(item => item && item.value === value.value);\n if (match && match.label != null) {\n return match.label;\n }\n }\n }\n return fallback();\n}\nexport function resolveMultipleLabels(values, items, itemToStringLabel) {\n return values.reduce((acc, value, index) => {\n if (index > 0) {\n acc.push(', ');\n }\n acc.push(/*#__PURE__*/_jsx(React.Fragment, {\n children: resolveSelectedLabel(value, items, itemToStringLabel)\n }, index));\n return acc;\n }, []);\n}"],"names":["isGroupedItems","items","hasNullItemLabel","arrayItems","group","item","stringifyAsLabel","itemToStringLabel","serializeValue","stringifyAsValue","itemToStringValue","resolveSelectedLabel","value","fallback","flatItems","match","resolveMultipleLabels","values","acc","index","_jsx","React"],"mappings":";;;AAKO,SAASA,EAAeC,GAAO;AACpC,SAAOA,KAAS,QAAQA,EAAM,SAAS,KAAK,OAAOA,EAAM,CAAC,KAAM,YAAYA,EAAM,CAAC,KAAK,QAAQ,WAAWA,EAAM,CAAC;AACpH;AAKO,SAASC,EAAiBD,GAAO;AACtC,MAAI,CAAC,MAAM,QAAQA,CAAK;AACtB,WAAOA,KAAS,QAAQ,UAAUA;AAEpC,QAAME,IAAaF;AACnB,MAAID,EAAeG,CAAU,GAAG;AAC9B,eAAWC,KAASD;AAClB,iBAAWE,KAAQD,EAAM;AACvB,YAAIC,KAAQA,EAAK,SAAS,QAAQA,EAAK,SAAS;AAC9C,iBAAO;AAIb,WAAO;AAAA,EACT;AACA,aAAWA,KAAQF;AACjB,QAAIE,KAAQA,EAAK,SAAS,QAAQA,EAAK,SAAS;AAC9C,aAAO;AAGX,SAAO;AACT;AACO,SAASC,EAAiBD,GAAME,GAAmB;AACxD,MAAIA,KAAqBF,KAAQ;AAC/B,WAAOE,EAAkBF,CAAI,KAAK;AAEpC,MAAIA,KAAQ,OAAOA,KAAS,UAAU;AACpC,QAAI,WAAWA,KAAQA,EAAK,SAAS;AACnC,aAAO,OAAOA,EAAK,KAAK;AAE1B,QAAI,WAAWA;AACb,aAAO,OAAOA,EAAK,KAAK;AAAA,EAE5B;AACA,SAAOG,EAAeH,CAAI;AAC5B;AACO,SAASI,EAAiBJ,GAAMK,GAAmB;AACxD,SAAIA,KAAqBL,KAAQ,OACxBK,EAAkBL,CAAI,KAAK,KAEhCA,KAAQ,OAAOA,KAAS,YAAY,WAAWA,KAAQ,WAAWA,IAC7DG,EAAeH,EAAK,KAAK,IAE3BG,EAAeH,CAAI;AAC5B;AACO,SAASM,EAAqBC,GAAOX,GAAOM,GAAmB;AACpE,WAASM,IAAW;AAClB,WAAOP,EAAiBM,GAAOL,CAAiB;AAAA,EAClD;AACA,MAAIA,KAAqBK,KAAS;AAChC,WAAOL,EAAkBK,CAAK;AAIhC,MAAIA,KAAS,OAAOA,KAAU,YAAY,WAAWA,KAASA,EAAM,SAAS;AAC3E,WAAOA,EAAM;AAIf,MAAIX,KAAS,CAAC,MAAM,QAAQA,CAAK;AAC/B,WAAOA,EAAMW,CAAK,KAAKC,EAAQ;AAIjC,MAAI,MAAM,QAAQZ,CAAK,GAAG;AACxB,UAAME,IAAaF,GACba,IAAYd,EAAeG,CAAU,IAAIA,EAAW,QAAQ,CAAAC,MAASA,EAAM,KAAK,IAAID;AAC1F,QAAIS,KAAS,QAAQ,OAAOA,KAAU,UAAU;AAC9C,YAAMG,IAAQD,EAAU,KAAK,CAAAT,MAAQA,EAAK,UAAUO,CAAK;AACzD,aAAIG,KAASA,EAAM,SAAS,OACnBA,EAAM,QAERF,EAAQ;AAAA,IACjB;AAGA,QAAI,WAAWD,GAAO;AACpB,YAAMG,IAAQD,EAAU,KAAK,CAAAT,MAAQA,KAAQA,EAAK,UAAUO,EAAM,KAAK;AACvE,UAAIG,KAASA,EAAM,SAAS;AAC1B,eAAOA,EAAM;AAAA,IAEjB;AAAA,EACF;AACA,SAAOF,EAAQ;AACjB;AACO,SAASG,EAAsBC,GAAQhB,GAAOM,GAAmB;AACtE,SAAOU,EAAO,OAAO,CAACC,GAAKN,GAAOO,OAC5BA,IAAQ,KACVD,EAAI,KAAK,IAAI,GAEfA,EAAI,KAAkBE,gBAAAA,MAAKC,EAAM,UAAU;AAAA,IACzC,UAAUV,EAAqBC,GAAOX,GAAOM,CAAiB;AAAA,EACpE,GAAOY,CAAK,CAAC,GACFD,IACN,CAAA,CAAE;AACP;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index294.js","sources":["../../../node_modules/@base-ui/react/esm/utils/useAnchorPositioning.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getSide, getAlignment, getSideAxis } from '@floating-ui/utils';\nimport { ownerDocument, ownerWindow } from '@base-ui/utils/owner';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { autoUpdate, flip, limitShift, offset, shift, useFloating, size } from \"../floating-ui-react/index.js\";\nimport { useDirection } from \"../internals/direction-context/DirectionContext.js\";\nimport { arrow } from \"../floating-ui-react/middleware/arrow.js\";\nimport { hide } from \"./hideMiddleware.js\";\nimport { DEFAULT_SIDES } from \"./adaptiveOriginMiddleware.js\";\nfunction getLogicalSide(sideParam, renderedSide, isRtl) {\n const isLogicalSideParam = sideParam === 'inline-start' || sideParam === 'inline-end';\n const logicalRight = isRtl ? 'inline-start' : 'inline-end';\n const logicalLeft = isRtl ? 'inline-end' : 'inline-start';\n return {\n top: 'top',\n right: isLogicalSideParam ? logicalRight : 'right',\n bottom: 'bottom',\n left: isLogicalSideParam ? logicalLeft : 'left'\n }[renderedSide];\n}\nfunction getOffsetData(state, sideParam, isRtl) {\n const {\n rects,\n placement\n } = state;\n const data = {\n side: getLogicalSide(sideParam, getSide(placement), isRtl),\n align: getAlignment(placement) || 'center',\n anchor: {\n width: rects.reference.width,\n height: rects.reference.height\n },\n positioner: {\n width: rects.floating.width,\n height: rects.floating.height\n }\n };\n return data;\n}\n/**\n * Provides standardized anchor positioning behavior for floating elements. Wraps Floating UI's\n * `useFloating` hook.\n */\nexport function useAnchorPositioning(params) {\n const {\n // Public parameters\n anchor,\n positionMethod = 'absolute',\n side: sideParam = 'bottom',\n sideOffset = 0,\n align = 'center',\n alignOffset = 0,\n collisionBoundary,\n collisionPadding: collisionPaddingParam = 5,\n sticky = false,\n arrowPadding = 5,\n disableAnchorTracking = false,\n // Private parameters\n keepMounted = false,\n floatingRootContext,\n mounted,\n collisionAvoidance,\n shiftCrossAxis = false,\n nodeId,\n adaptiveOrigin,\n lazyFlip = false,\n externalTree\n } = params;\n const [mountSide, setMountSide] = React.useState(null);\n if (!mounted && mountSide !== null) {\n setMountSide(null);\n }\n const collisionAvoidanceSide = collisionAvoidance.side || 'flip';\n const collisionAvoidanceAlign = collisionAvoidance.align || 'flip';\n const collisionAvoidanceFallbackAxisSide = collisionAvoidance.fallbackAxisSide || 'end';\n const anchorFn = typeof anchor === 'function' ? anchor : undefined;\n const anchorFnCallback = useStableCallback(anchorFn);\n const anchorDep = anchorFn ? anchorFnCallback : anchor;\n const anchorValueRef = useValueAsRef(anchor);\n const mountedRef = useValueAsRef(mounted);\n const direction = useDirection();\n const isRtl = direction === 'rtl';\n const side = mountSide || {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n 'inline-end': isRtl ? 'left' : 'right',\n 'inline-start': isRtl ? 'right' : 'left'\n }[sideParam];\n const placement = align === 'center' ? side : `${side}-${align}`;\n let collisionPadding = collisionPaddingParam;\n\n // Create a bias to the preferred side.\n // On iOS, when the mobile software keyboard opens, the input is exactly centered\n // in the viewport, but this can cause it to flip to the top undesirably.\n const bias = 1;\n const biasTop = sideParam === 'bottom' ? bias : 0;\n const biasBottom = sideParam === 'top' ? bias : 0;\n const biasLeft = sideParam === 'right' ? bias : 0;\n const biasRight = sideParam === 'left' ? bias : 0;\n if (typeof collisionPadding === 'number') {\n collisionPadding = {\n top: collisionPadding + biasTop,\n right: collisionPadding + biasRight,\n bottom: collisionPadding + biasBottom,\n left: collisionPadding + biasLeft\n };\n } else if (collisionPadding) {\n collisionPadding = {\n top: (collisionPadding.top || 0) + biasTop,\n right: (collisionPadding.right || 0) + biasRight,\n bottom: (collisionPadding.bottom || 0) + biasBottom,\n left: (collisionPadding.left || 0) + biasLeft\n };\n }\n const commonCollisionProps = {\n boundary: collisionBoundary === 'clipping-ancestors' ? 'clippingAncestors' : collisionBoundary,\n padding: collisionPadding\n };\n\n // Using a ref assumes that the arrow element is always present in the DOM for the lifetime of the\n // popup. If this assumption ends up being false, we can switch to state to manage the arrow's\n // presence.\n const arrowRef = React.useRef(null);\n\n // Keep these reactive if they're not functions\n const sideOffsetRef = useValueAsRef(sideOffset);\n const alignOffsetRef = useValueAsRef(alignOffset);\n const sideOffsetDep = typeof sideOffset !== 'function' ? sideOffset : 0;\n const alignOffsetDep = typeof alignOffset !== 'function' ? alignOffset : 0;\n const middleware = [offset(state => {\n const data = getOffsetData(state, sideParam, isRtl);\n const sideAxis = typeof sideOffsetRef.current === 'function' ? sideOffsetRef.current(data) : sideOffsetRef.current;\n const alignAxis = typeof alignOffsetRef.current === 'function' ? alignOffsetRef.current(data) : alignOffsetRef.current;\n return {\n mainAxis: sideAxis,\n crossAxis: alignAxis,\n alignmentAxis: alignAxis\n };\n }, [sideOffsetDep, alignOffsetDep, isRtl, sideParam])];\n const shiftDisabled = collisionAvoidanceAlign === 'none' && collisionAvoidanceSide !== 'shift';\n const crossAxisShiftEnabled = !shiftDisabled && (sticky || shiftCrossAxis || collisionAvoidanceSide === 'shift');\n const flipMiddleware = collisionAvoidanceSide === 'none' ? null : flip({\n ...commonCollisionProps,\n // Ensure the popup flips if it's been limited by its --available-height and it resizes.\n // Since the size() padding is smaller than the flip() padding, flip() will take precedence.\n padding: {\n top: collisionPadding.top + bias,\n right: collisionPadding.right + bias,\n bottom: collisionPadding.bottom + bias,\n left: collisionPadding.left + bias\n },\n mainAxis: !shiftCrossAxis && collisionAvoidanceSide === 'flip',\n crossAxis: collisionAvoidanceAlign === 'flip' ? 'alignment' : false,\n fallbackAxisSideDirection: collisionAvoidanceFallbackAxisSide\n });\n const shiftMiddleware = shiftDisabled ? null : shift(data => {\n const html = ownerDocument(data.elements.floating).documentElement;\n return {\n ...commonCollisionProps,\n // Use the Layout Viewport to avoid shifting around when pinch-zooming\n // for context menus.\n rootBoundary: shiftCrossAxis ? {\n x: 0,\n y: 0,\n width: html.clientWidth,\n height: html.clientHeight\n } : undefined,\n mainAxis: collisionAvoidanceAlign !== 'none',\n crossAxis: crossAxisShiftEnabled,\n limiter: sticky || shiftCrossAxis ? undefined : limitShift(limitData => {\n if (!arrowRef.current) {\n return {};\n }\n const {\n width,\n height\n } = arrowRef.current.getBoundingClientRect();\n const sideAxis = getSideAxis(getSide(limitData.placement));\n const arrowSize = sideAxis === 'y' ? width : height;\n const offsetAmount = sideAxis === 'y' ? collisionPadding.left + collisionPadding.right : collisionPadding.top + collisionPadding.bottom;\n return {\n offset: arrowSize / 2 + offsetAmount / 2\n };\n })\n };\n }, [commonCollisionProps, sticky, shiftCrossAxis, collisionPadding, collisionAvoidanceAlign]);\n\n // https://floating-ui.com/docs/flip#combining-with-shift\n if (collisionAvoidanceSide === 'shift' || collisionAvoidanceAlign === 'shift' || align === 'center') {\n middleware.push(shiftMiddleware, flipMiddleware);\n } else {\n middleware.push(flipMiddleware, shiftMiddleware);\n }\n middleware.push(size({\n ...commonCollisionProps,\n apply({\n elements: {\n floating\n },\n availableWidth,\n availableHeight,\n rects\n }) {\n if (!mountedRef.current) {\n return;\n }\n const floatingStyle = floating.style;\n floatingStyle.setProperty('--available-width', `${availableWidth}px`);\n floatingStyle.setProperty('--available-height', `${availableHeight}px`);\n\n // Snap anchor dimensions to device pixels to ensure the popup's visual width matches the anchor's one.\n const dpr = ownerWindow(floating).devicePixelRatio || 1;\n const {\n x,\n y,\n width,\n height\n } = rects.reference;\n const anchorWidth = (Math.round((x + width) * dpr) - Math.round(x * dpr)) / dpr;\n const anchorHeight = (Math.round((y + height) * dpr) - Math.round(y * dpr)) / dpr;\n floatingStyle.setProperty('--anchor-width', `${anchorWidth}px`);\n floatingStyle.setProperty('--anchor-height', `${anchorHeight}px`);\n }\n }), arrow(() => ({\n // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,\n // we'll create a fake element.\n element: arrowRef.current || ownerDocument(arrowRef.current).createElement('div'),\n padding: arrowPadding,\n offsetParent: 'floating'\n }), [arrowPadding]), {\n name: 'transformOrigin',\n fn(state) {\n const {\n elements,\n middlewareData,\n placement: renderedPlacement,\n rects,\n y\n } = state;\n const currentRenderedSide = getSide(renderedPlacement);\n const currentRenderedAxis = getSideAxis(currentRenderedSide);\n const arrowEl = arrowRef.current;\n const arrowX = middlewareData.arrow?.x || 0;\n const arrowY = middlewareData.arrow?.y || 0;\n const arrowWidth = arrowEl?.clientWidth || 0;\n const arrowHeight = arrowEl?.clientHeight || 0;\n const transformX = arrowX + arrowWidth / 2;\n const transformY = arrowY + arrowHeight / 2;\n const shiftY = Math.abs(middlewareData.shift?.y || 0);\n const halfAnchorHeight = rects.reference.height / 2;\n const sideOffsetValue = typeof sideOffset === 'function' ? sideOffset(getOffsetData(state, sideParam, isRtl)) : sideOffset;\n const isOverlappingAnchor = shiftY > sideOffsetValue;\n const adjacentTransformOrigin = {\n top: `${transformX}px calc(100% + ${sideOffsetValue}px)`,\n bottom: `${transformX}px ${-sideOffsetValue}px`,\n left: `calc(100% + ${sideOffsetValue}px) ${transformY}px`,\n right: `${-sideOffsetValue}px ${transformY}px`\n }[currentRenderedSide];\n const overlapTransformOrigin = `${transformX}px ${rects.reference.y + halfAnchorHeight - y}px`;\n elements.floating.style.setProperty('--transform-origin', crossAxisShiftEnabled && currentRenderedAxis === 'y' && isOverlappingAnchor ? overlapTransformOrigin : adjacentTransformOrigin);\n return {};\n }\n }, hide, adaptiveOrigin);\n useIsoLayoutEffect(() => {\n // Ensure positioning doesn't run initially for `keepMounted` elements that\n // aren't initially open.\n if (!mounted && floatingRootContext) {\n floatingRootContext.update({\n referenceElement: null,\n floatingElement: null,\n domReferenceElement: null,\n positionReference: null\n });\n }\n }, [mounted, floatingRootContext]);\n const autoUpdateOptions = React.useMemo(() => ({\n elementResize: !disableAnchorTracking && typeof ResizeObserver !== 'undefined',\n layoutShift: !disableAnchorTracking && typeof IntersectionObserver !== 'undefined'\n }), [disableAnchorTracking]);\n const {\n refs,\n elements,\n x,\n y,\n middlewareData,\n update,\n placement: renderedPlacement,\n context,\n isPositioned,\n floatingStyles: originalFloatingStyles\n } = useFloating({\n rootContext: floatingRootContext,\n open: keepMounted ? mounted : undefined,\n placement,\n middleware,\n strategy: positionMethod,\n whileElementsMounted: keepMounted ? undefined : (...args) => autoUpdate(...args, autoUpdateOptions),\n nodeId,\n externalTree\n });\n const {\n sideX,\n sideY\n } = middlewareData.adaptiveOrigin || DEFAULT_SIDES;\n\n // Default to `fixed` when not positioned to prevent `autoFocus` scroll jumps.\n // This ensures the popup is inside the viewport initially before it gets positioned.\n const resolvedPosition = isPositioned ? positionMethod : 'fixed';\n const floatingStyles = React.useMemo(() => {\n const base = adaptiveOrigin ? {\n position: resolvedPosition,\n [sideX]: x,\n [sideY]: y\n } : {\n position: resolvedPosition,\n ...originalFloatingStyles\n };\n if (!isPositioned) {\n base.opacity = 0;\n }\n return base;\n }, [adaptiveOrigin, resolvedPosition, sideX, x, sideY, y, originalFloatingStyles, isPositioned]);\n const registeredPositionReferenceRef = React.useRef(null);\n useIsoLayoutEffect(() => {\n if (!mounted) {\n return;\n }\n const anchorValue = anchorValueRef.current;\n const resolvedAnchor = typeof anchorValue === 'function' ? anchorValue() : anchorValue;\n const unwrappedElement = (isRef(resolvedAnchor) ? resolvedAnchor.current : resolvedAnchor) || null;\n const finalAnchor = unwrappedElement || null;\n if (finalAnchor !== registeredPositionReferenceRef.current) {\n refs.setPositionReference(finalAnchor);\n registeredPositionReferenceRef.current = finalAnchor;\n }\n }, [mounted, refs, anchorDep, anchorValueRef]);\n React.useEffect(() => {\n if (!mounted) {\n return;\n }\n const anchorValue = anchorValueRef.current;\n\n // Refs from parent components are set after useLayoutEffect runs and are available in useEffect.\n // Therefore, if the anchor is a ref, we need to update the position reference in useEffect.\n if (typeof anchorValue === 'function') {\n return;\n }\n if (isRef(anchorValue) && anchorValue.current !== registeredPositionReferenceRef.current) {\n refs.setPositionReference(anchorValue.current);\n registeredPositionReferenceRef.current = anchorValue.current;\n }\n }, [mounted, refs, anchorDep, anchorValueRef]);\n React.useEffect(() => {\n if (keepMounted && mounted && elements.domReference && elements.floating) {\n return autoUpdate(elements.domReference, elements.floating, update, autoUpdateOptions);\n }\n return undefined;\n }, [keepMounted, mounted, elements, update, autoUpdateOptions]);\n const renderedSide = getSide(renderedPlacement);\n const logicalRenderedSide = getLogicalSide(sideParam, renderedSide, isRtl);\n const renderedAlign = getAlignment(renderedPlacement) || 'center';\n const anchorHidden = Boolean(middlewareData.hide?.referenceHidden);\n\n /**\n * Locks the flip (makes it \"sticky\") so it doesn't prefer a given placement\n * and flips back lazily, not eagerly. Ideal for filtered lists that change\n * the size of the popup dynamically to avoid unwanted flipping when typing.\n */\n useIsoLayoutEffect(() => {\n if (lazyFlip && mounted && isPositioned) {\n setMountSide(renderedSide);\n }\n }, [lazyFlip, mounted, isPositioned, renderedSide]);\n const arrowStyles = React.useMemo(() => ({\n position: 'absolute',\n top: middlewareData.arrow?.y,\n left: middlewareData.arrow?.x\n }), [middlewareData.arrow]);\n const arrowUncentered = middlewareData.arrow?.centerOffset !== 0;\n return React.useMemo(() => ({\n positionerStyles: floatingStyles,\n arrowStyles,\n arrowRef,\n arrowUncentered,\n side: logicalRenderedSide,\n align: renderedAlign,\n physicalSide: renderedSide,\n anchorHidden,\n refs,\n context,\n isPositioned,\n update\n }), [floatingStyles, arrowStyles, arrowRef, arrowUncentered, logicalRenderedSide, renderedAlign, renderedSide, anchorHidden, refs, context, isPositioned, update]);\n}\nfunction isRef(param) {\n return param != null && 'current' in param;\n}"],"names":["getLogicalSide","sideParam","renderedSide","isRtl","isLogicalSideParam","getOffsetData","state","rects","placement","getSide","getAlignment","useAnchorPositioning","params","anchor","positionMethod","sideOffset","align","alignOffset","collisionBoundary","collisionPaddingParam","sticky","arrowPadding","disableAnchorTracking","keepMounted","floatingRootContext","mounted","collisionAvoidance","shiftCrossAxis","nodeId","adaptiveOrigin","lazyFlip","externalTree","mountSide","setMountSide","React","collisionAvoidanceSide","collisionAvoidanceAlign","collisionAvoidanceFallbackAxisSide","anchorFn","anchorFnCallback","useStableCallback","anchorDep","anchorValueRef","useValueAsRef","mountedRef","useDirection","side","collisionPadding","bias","biasTop","biasBottom","biasLeft","biasRight","commonCollisionProps","arrowRef","sideOffsetRef","alignOffsetRef","middleware","offset","data","sideAxis","alignAxis","shiftDisabled","crossAxisShiftEnabled","flipMiddleware","flip","shiftMiddleware","shift","html","ownerDocument","limitShift","limitData","width","height","getSideAxis","arrowSize","offsetAmount","size","floating","availableWidth","availableHeight","floatingStyle","dpr","ownerWindow","x","y","anchorWidth","anchorHeight","arrow","elements","middlewareData","renderedPlacement","currentRenderedSide","currentRenderedAxis","arrowEl","arrowX","arrowY","arrowWidth","arrowHeight","transformX","transformY","shiftY","halfAnchorHeight","sideOffsetValue","isOverlappingAnchor","adjacentTransformOrigin","overlapTransformOrigin","hide","useIsoLayoutEffect","autoUpdateOptions","refs","update","context","isPositioned","originalFloatingStyles","useFloating","args","autoUpdate","sideX","sideY","DEFAULT_SIDES","resolvedPosition","floatingStyles","base","registeredPositionReferenceRef","anchorValue","resolvedAnchor","finalAnchor","isRef","logicalRenderedSide","renderedAlign","anchorHidden","arrowStyles","arrowUncentered","param"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index295.js CHANGED
@@ -1,21 +1,15 @@
1
- const i = (n, r) => Object.is(n, r);
2
- function u(n, r, t) {
3
- return n == null || r == null ? Object.is(n, r) : t(n, r);
4
- }
5
- function e(n, r, t) {
6
- return !n || n.length === 0 ? !1 : n.some((f) => f === void 0 ? !1 : u(r, f, t));
7
- }
8
- function o(n, r, t) {
9
- return !n || n.length === 0 ? -1 : n.findIndex((f) => f === void 0 ? !1 : u(f, r, t));
10
- }
11
- function I(n, r, t) {
12
- return n.filter((f) => !u(r, f, t));
1
+ import n from "./index191.js";
2
+ import * as t from "react";
3
+ const o = /* @__PURE__ */ t.createContext(void 0);
4
+ process.env.NODE_ENV !== "production" && (o.displayName = "SelectPositionerContext");
5
+ function i() {
6
+ const e = t.useContext(o);
7
+ if (!e)
8
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: SelectPositionerContext is missing. SelectPositioner parts must be placed within <Select.Positioner>." : n(59));
9
+ return e;
13
10
  }
14
11
  export {
15
- u as compareItemEquality,
16
- i as defaultItemEquality,
17
- o as findItemIndex,
18
- I as removeItem,
19
- e as selectedValueIncludes
12
+ o as SelectPositionerContext,
13
+ i as useSelectPositionerContext
20
14
  };
21
15
  //# sourceMappingURL=index295.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index295.js","sources":["../../../node_modules/@base-ui/react/esm/internals/itemEquality.js"],"sourcesContent":["export const defaultItemEquality = (itemValue, selectedValue) => Object.is(itemValue, selectedValue);\nexport function compareItemEquality(itemValue, selectedValue, comparer) {\n if (itemValue == null || selectedValue == null) {\n return Object.is(itemValue, selectedValue);\n }\n return comparer(itemValue, selectedValue);\n}\nexport function selectedValueIncludes(selectedValues, itemValue, comparer) {\n if (!selectedValues || selectedValues.length === 0) {\n return false;\n }\n return selectedValues.some(selectedValue => {\n if (selectedValue === undefined) {\n return false;\n }\n return compareItemEquality(itemValue, selectedValue, comparer);\n });\n}\nexport function findItemIndex(itemValues, selectedValue, comparer) {\n if (!itemValues || itemValues.length === 0) {\n return -1;\n }\n return itemValues.findIndex(itemValue => {\n if (itemValue === undefined) {\n return false;\n }\n return compareItemEquality(itemValue, selectedValue, comparer);\n });\n}\nexport function removeItem(selectedValues, itemValue, comparer) {\n return selectedValues.filter(selectedValue => !compareItemEquality(itemValue, selectedValue, comparer));\n}"],"names":["defaultItemEquality","itemValue","selectedValue","compareItemEquality","comparer","selectedValueIncludes","selectedValues","findItemIndex","itemValues","removeItem"],"mappings":"AAAY,MAACA,IAAsB,CAACC,GAAWC,MAAkB,OAAO,GAAGD,GAAWC,CAAa;AAC5F,SAASC,EAAoBF,GAAWC,GAAeE,GAAU;AACtE,SAAIH,KAAa,QAAQC,KAAiB,OACjC,OAAO,GAAGD,GAAWC,CAAa,IAEpCE,EAASH,GAAWC,CAAa;AAC1C;AACO,SAASG,EAAsBC,GAAgBL,GAAWG,GAAU;AACzE,SAAI,CAACE,KAAkBA,EAAe,WAAW,IACxC,KAEFA,EAAe,KAAK,CAAAJ,MACrBA,MAAkB,SACb,KAEFC,EAAoBF,GAAWC,GAAeE,CAAQ,CAC9D;AACH;AACO,SAASG,EAAcC,GAAYN,GAAeE,GAAU;AACjE,SAAI,CAACI,KAAcA,EAAW,WAAW,IAChC,KAEFA,EAAW,UAAU,CAAAP,MACtBA,MAAc,SACT,KAEFE,EAAoBF,GAAWC,GAAeE,CAAQ,CAC9D;AACH;AACO,SAASK,EAAWH,GAAgBL,GAAWG,GAAU;AAC9D,SAAOE,EAAe,OAAO,CAAAJ,MAAiB,CAACC,EAAoBF,GAAWC,GAAeE,CAAQ,CAAC;AACxG;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index295.js","sources":["../../../node_modules/@base-ui/react/esm/select/positioner/SelectPositionerContext.js"],"sourcesContent":["'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const SelectPositionerContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") SelectPositionerContext.displayName = \"SelectPositionerContext\";\nexport function useSelectPositionerContext() {\n const context = React.useContext(SelectPositionerContext);\n if (!context) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: SelectPositionerContext is missing. SelectPositioner parts must be placed within <Select.Positioner>.' : _formatErrorMessage(59));\n }\n return context;\n}"],"names":["SelectPositionerContext","React","useSelectPositionerContext","context","_formatErrorMessage"],"mappings":";;AAIY,MAACA,IAAuC,gBAAAC,EAAM,cAAc,MAAS;AAC7E,QAAQ,IAAI,aAAa,iBAAcD,EAAwB,cAAc;AAC1E,SAASE,IAA6B;AAC3C,QAAMC,IAAUF,EAAM,WAAWD,CAAuB;AACxD,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,mHAAmHC,EAAoB,EAAE,CAAC;AAEpM,SAAOD;AACT;","x_google_ignoreList":[0]}
package/dist/index296.js CHANGED
@@ -1,15 +1,14 @@
1
- import * as c from "react";
2
- import { useIsoLayoutEffect as o } from "./index283.js";
3
- import { useStableCallback as f } from "./index284.js";
4
- function u(r, n) {
5
- const t = c.useRef(r), e = f(n);
6
- o(() => {
7
- t.current !== r && e(t.current);
8
- }, [r, e]), o(() => {
9
- t.current = r;
10
- }, [r]);
1
+ function e(o, t) {
2
+ o && Object.assign(o.style, t);
11
3
  }
4
+ const i = {
5
+ position: "relative",
6
+ maxHeight: "100%",
7
+ overflowX: "hidden",
8
+ overflowY: "auto"
9
+ };
12
10
  export {
13
- u as useValueChanged
11
+ i as LIST_FUNCTIONAL_STYLES,
12
+ e as clearStyles
14
13
  };
15
14
  //# sourceMappingURL=index296.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index296.js","sources":["../../../node_modules/@base-ui/react/esm/internals/useValueChanged.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nexport function useValueChanged(value, onChange) {\n const valueRef = React.useRef(value);\n const onChangeCallback = useStableCallback(onChange);\n useIsoLayoutEffect(() => {\n if (valueRef.current === value) {\n return;\n }\n onChangeCallback(valueRef.current);\n }, [value, onChangeCallback]);\n useIsoLayoutEffect(() => {\n valueRef.current = value;\n }, [value]);\n}"],"names":["useValueChanged","value","onChange","valueRef","React","onChangeCallback","useStableCallback","useIsoLayoutEffect"],"mappings":";;;AAKO,SAASA,EAAgBC,GAAOC,GAAU;AAC/C,QAAMC,IAAWC,EAAM,OAAOH,CAAK,GAC7BI,IAAmBC,EAAkBJ,CAAQ;AACnD,EAAAK,EAAmB,MAAM;AACvB,IAAIJ,EAAS,YAAYF,KAGzBI,EAAiBF,EAAS,OAAO;AAAA,EACnC,GAAG,CAACF,GAAOI,CAAgB,CAAC,GAC5BE,EAAmB,MAAM;AACvB,IAAAJ,EAAS,UAAUF;AAAA,EACrB,GAAG,CAACA,CAAK,CAAC;AACZ;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index296.js","sources":["../../../node_modules/@base-ui/react/esm/select/popup/utils.js"],"sourcesContent":["export function clearStyles(element, originalStyles) {\n if (element) {\n Object.assign(element.style, originalStyles);\n }\n}\nexport const LIST_FUNCTIONAL_STYLES = {\n position: 'relative',\n maxHeight: '100%',\n overflowX: 'hidden',\n overflowY: 'auto'\n};"],"names":["clearStyles","element","originalStyles","LIST_FUNCTIONAL_STYLES"],"mappings":"AAAO,SAASA,EAAYC,GAASC,GAAgB;AACnD,EAAID,KACF,OAAO,OAAOA,EAAQ,OAAOC,CAAc;AAE/C;AACY,MAACC,IAAyB;AAAA,EACpC,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AACb;","x_google_ignoreList":[0]}
package/dist/index297.js CHANGED
@@ -1,31 +1,29 @@
1
- import * as l from "react";
2
- import { useStableCallback as c } from "./index284.js";
3
- import { useEnhancedClickHandler as u } from "./index366.js";
4
- import { isIOS as m } from "./index323.js";
5
- import { useValueChanged as p } from "./index296.js";
6
- function C(e) {
7
- const [o, t] = l.useState(null), s = c((i, a) => {
8
- e || t(a || // On iOS Safari, the hitslop around touch targets means tapping outside an element's
9
- // bounds does not fire `pointerdown` but does fire `mousedown`. The `interactionType`
10
- // will be "" in that case.
11
- (m ? "touch" : ""));
1
+ import { popupStateMapping as f } from "./index173.js";
2
+ import { useRenderElement as m } from "./index172.js";
3
+ import { getDisabledMountTransitionStyles as u } from "./index305.js";
4
+ function M(e, o, {
5
+ styles: n,
6
+ transitionStatus: r,
7
+ props: i,
8
+ refs: p,
9
+ hidden: s,
10
+ inert: a = !1
11
+ }) {
12
+ const t = {
13
+ ...n
14
+ };
15
+ return a && (t.pointerEvents = "none"), m("div", e, {
16
+ state: o,
17
+ ref: p,
18
+ props: [{
19
+ role: "presentation",
20
+ hidden: s,
21
+ style: t
22
+ }, u(r), i],
23
+ stateAttributesMapping: f
12
24
  });
13
- p(e, (i) => {
14
- i && !e && t(null);
15
- });
16
- const {
17
- onClick: r,
18
- onPointerDown: n
19
- } = u(s);
20
- return l.useMemo(() => ({
21
- openMethod: o,
22
- triggerProps: {
23
- onClick: r,
24
- onPointerDown: n
25
- }
26
- }), [o, r, n]);
27
25
  }
28
26
  export {
29
- C as useOpenInteractionType
27
+ M as usePositioner
30
28
  };
31
29
  //# sourceMappingURL=index297.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index297.js","sources":["../../../node_modules/@base-ui/react/esm/utils/useOpenInteractionType.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useEnhancedClickHandler } from '@base-ui/utils/useEnhancedClickHandler';\nimport { isIOS } from '@base-ui/utils/detectBrowser';\nimport { useValueChanged } from \"../internals/useValueChanged.js\";\n\n/**\n * Determines the interaction type (keyboard, mouse, touch, etc.) that opened the component.\n *\n * @param open The open state of the component.\n */\nexport function useOpenInteractionType(open) {\n const [openMethod, setOpenMethod] = React.useState(null);\n const handleTriggerClick = useStableCallback((_, interactionType) => {\n if (!open) {\n setOpenMethod(interactionType || (\n // On iOS Safari, the hitslop around touch targets means tapping outside an element's\n // bounds does not fire `pointerdown` but does fire `mousedown`. The `interactionType`\n // will be \"\" in that case.\n isIOS ? 'touch' : ''));\n }\n });\n useValueChanged(open, previousOpen => {\n if (previousOpen && !open) {\n setOpenMethod(null);\n }\n });\n const {\n onClick,\n onPointerDown\n } = useEnhancedClickHandler(handleTriggerClick);\n return React.useMemo(() => ({\n openMethod,\n triggerProps: {\n onClick,\n onPointerDown\n }\n }), [openMethod, onClick, onPointerDown]);\n}"],"names":["useOpenInteractionType","open","openMethod","setOpenMethod","React","handleTriggerClick","useStableCallback","_","interactionType","isIOS","useValueChanged","previousOpen","onClick","onPointerDown","useEnhancedClickHandler"],"mappings":";;;;;AAaO,SAASA,EAAuBC,GAAM;AAC3C,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAM,SAAS,IAAI,GACjDC,IAAqBC,EAAkB,CAACC,GAAGC,MAAoB;AACnE,IAAKP,KACHE,EAAcK;AAAA;AAAA;AAAA,KAIdC,IAAQ,UAAU,GAAG;AAAA,EAEzB,CAAC;AACD,EAAAC,EAAgBT,GAAM,CAAAU,MAAgB;AACpC,IAAIA,KAAgB,CAACV,KACnBE,EAAc,IAAI;AAAA,EAEtB,CAAC;AACD,QAAM;AAAA,IACJ,SAAAS;AAAA,IACA,eAAAC;AAAA,EACJ,IAAMC,EAAwBT,CAAkB;AAC9C,SAAOD,EAAM,QAAQ,OAAO;AAAA,IAC1B,YAAAF;AAAA,IACA,cAAc;AAAA,MACZ,SAAAU;AAAA,MACA,eAAAC;AAAA,IACN;AAAA,EACA,IAAM,CAACX,GAAYU,GAASC,CAAa,CAAC;AAC1C;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index297.js","sources":["../../../node_modules/@base-ui/react/esm/utils/usePositioner.js"],"sourcesContent":["'use client';\n\nimport { popupStateMapping } from \"./popupStateMapping.js\";\nimport { useRenderElement } from \"../internals/useRenderElement.js\";\nimport { getDisabledMountTransitionStyles } from \"./getDisabledMountTransitionStyles.js\";\n/**\n * Renders the shared outer Positioner element used by popup components.\n * Applies the common role, hidden state, transition styles, state attributes, and optional inert styling.\n */\nexport function usePositioner(componentProps, state, {\n styles,\n transitionStatus,\n props,\n refs,\n hidden,\n inert = false\n}) {\n const style = {\n ...styles\n };\n if (inert) {\n style.pointerEvents = 'none';\n }\n return useRenderElement('div', componentProps, {\n state,\n ref: refs,\n props: [{\n role: 'presentation',\n hidden,\n style\n }, getDisabledMountTransitionStyles(transitionStatus), props],\n stateAttributesMapping: popupStateMapping\n });\n}"],"names":["usePositioner","componentProps","state","styles","transitionStatus","props","refs","hidden","inert","style","useRenderElement","getDisabledMountTransitionStyles","popupStateMapping"],"mappings":";;;AASO,SAASA,EAAcC,GAAgBC,GAAO;AAAA,EACnD,QAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,OAAAC,IAAQ;AACV,GAAG;AACD,QAAMC,IAAQ;AAAA,IACZ,GAAGN;AAAA,EACP;AACE,SAAIK,MACFC,EAAM,gBAAgB,SAEjBC,EAAiB,OAAOT,GAAgB;AAAA,IAC7C,OAAAC;AAAA,IACA,KAAKI;AAAA,IACL,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,MACN,QAAAC;AAAA,MACA,OAAAE;AAAA,IACN,GAAOE,EAAiCP,CAAgB,GAAGC,CAAK;AAAA,IAC5D,wBAAwBO;AAAA,EAC5B,CAAG;AACH;","x_google_ignoreList":[0]}
package/dist/index298.js CHANGED
@@ -1,17 +1,20 @@
1
- import { clamp as s } from "./index328.js";
2
- const f = 1;
3
- function a(n, t) {
4
- return Math.max(0, n - t);
5
- }
6
- function u(n, t) {
7
- if (t <= 0)
8
- return 0;
9
- const r = s(n, 0, t), e = r, c = t - r, o = e <= f, i = c <= f;
10
- return o && i ? e <= c ? 0 : t : o ? 0 : i ? t : r;
1
+ import * as e from "react";
2
+ import { ownerDocument as m } from "./index284.js";
3
+ import { useScrollLock as p } from "./index348.js";
4
+ import { useIsoLayoutEffect as h } from "./index261.js";
5
+ const S = 20;
6
+ function L(t, c, o, l) {
7
+ const [s, r] = e.useState(!1);
8
+ h(() => {
9
+ if (!t || !c || o == null) {
10
+ r(!1);
11
+ return;
12
+ }
13
+ const u = m(o).documentElement.clientWidth, f = o.offsetWidth;
14
+ r(u > 0 && f > 0 && f >= u - S);
15
+ }, [t, c, o]), p(t && (!c || s), l);
11
16
  }
12
17
  export {
13
- f as SCROLL_EDGE_TOLERANCE_PX,
14
- a as getMaxScrollOffset,
15
- u as normalizeScrollOffset
18
+ L as useAnchoredPopupScrollLock
16
19
  };
17
20
  //# sourceMappingURL=index298.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index298.js","sources":["../../../node_modules/@base-ui/react/esm/utils/scrollEdges.js"],"sourcesContent":["import { clamp } from \"../internals/clamp.js\";\nexport const SCROLL_EDGE_TOLERANCE_PX = 1;\nexport function getMaxScrollOffset(scrollSize, clientSize) {\n return Math.max(0, scrollSize - clientSize);\n}\nexport function normalizeScrollOffset(value, max) {\n if (max <= 0) {\n return 0;\n }\n const clamped = clamp(value, 0, max);\n const startDistance = clamped;\n const endDistance = max - clamped;\n const withinStartTolerance = startDistance <= SCROLL_EDGE_TOLERANCE_PX;\n const withinEndTolerance = endDistance <= SCROLL_EDGE_TOLERANCE_PX;\n if (withinStartTolerance && withinEndTolerance) {\n return startDistance <= endDistance ? 0 : max;\n }\n if (withinStartTolerance) {\n return 0;\n }\n if (withinEndTolerance) {\n return max;\n }\n return clamped;\n}"],"names":["SCROLL_EDGE_TOLERANCE_PX","getMaxScrollOffset","scrollSize","clientSize","normalizeScrollOffset","value","max","clamped","clamp","startDistance","endDistance","withinStartTolerance","withinEndTolerance"],"mappings":";AACY,MAACA,IAA2B;AACjC,SAASC,EAAmBC,GAAYC,GAAY;AACzD,SAAO,KAAK,IAAI,GAAGD,IAAaC,CAAU;AAC5C;AACO,SAASC,EAAsBC,GAAOC,GAAK;AAChD,MAAIA,KAAO;AACT,WAAO;AAET,QAAMC,IAAUC,EAAMH,GAAO,GAAGC,CAAG,GAC7BG,IAAgBF,GAChBG,IAAcJ,IAAMC,GACpBI,IAAuBF,KAAiBT,GACxCY,IAAqBF,KAAeV;AAC1C,SAAIW,KAAwBC,IACnBH,KAAiBC,IAAc,IAAIJ,IAExCK,IACK,IAELC,IACKN,IAEFC;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index298.js","sources":["../../../node_modules/@base-ui/react/esm/utils/useAnchoredPopupScrollLock.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useScrollLock } from '@base-ui/utils/useScrollLock';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\n\n// Touch-opened popups normally avoid scroll locking so users can still swipe outside to dismiss.\n// This hook re-enables scroll lock only when the popup is effectively full-width.\n// Treat popups with up to 20px of total horizontal gutter as full-width so common ~10px side\n// padding still locks scroll, since that leaves too little outside space for a reliable swipe.\nconst VIEWPORT_WIDTH_TOLERANCE_PX = 20;\n\n/**\n * Manages scroll lock for anchored popups. For non-touch opens, scroll lock is applied when\n * enabled. For touch opens, scroll lock is applied only when the positioner width is effectively\n * viewport-sized.\n */\nexport function useAnchoredPopupScrollLock(enabled, touchOpen, positionerElement, referenceElement) {\n const [touchOpenShouldLockScroll, setTouchOpenShouldLockScroll] = React.useState(false);\n useIsoLayoutEffect(() => {\n if (!enabled || !touchOpen || positionerElement == null) {\n setTouchOpenShouldLockScroll(false);\n return;\n }\n const viewportWidth = ownerDocument(positionerElement).documentElement.clientWidth;\n const popupWidth = positionerElement.offsetWidth;\n setTouchOpenShouldLockScroll(viewportWidth > 0 && popupWidth > 0 && popupWidth >= viewportWidth - VIEWPORT_WIDTH_TOLERANCE_PX);\n }, [enabled, touchOpen, positionerElement]);\n useScrollLock(enabled && (!touchOpen || touchOpenShouldLockScroll), referenceElement);\n}"],"names":["VIEWPORT_WIDTH_TOLERANCE_PX","useAnchoredPopupScrollLock","enabled","touchOpen","positionerElement","referenceElement","touchOpenShouldLockScroll","setTouchOpenShouldLockScroll","React","useIsoLayoutEffect","viewportWidth","ownerDocument","popupWidth","useScrollLock"],"mappings":";;;;AAWA,MAAMA,IAA8B;AAO7B,SAASC,EAA2BC,GAASC,GAAWC,GAAmBC,GAAkB;AAClG,QAAM,CAACC,GAA2BC,CAA4B,IAAIC,EAAM,SAAS,EAAK;AACtF,EAAAC,EAAmB,MAAM;AACvB,QAAI,CAACP,KAAW,CAACC,KAAaC,KAAqB,MAAM;AACvD,MAAAG,EAA6B,EAAK;AAClC;AAAA,IACF;AACA,UAAMG,IAAgBC,EAAcP,CAAiB,EAAE,gBAAgB,aACjEQ,IAAaR,EAAkB;AACrC,IAAAG,EAA6BG,IAAgB,KAAKE,IAAa,KAAKA,KAAcF,IAAgBV,CAA2B;AAAA,EAC/H,GAAG,CAACE,GAASC,GAAWC,CAAiB,CAAC,GAC1CS,EAAcX,MAAY,CAACC,KAAaG,IAA4BD,CAAgB;AACtF;","x_google_ignoreList":[0]}