@rpcbase/ui 0.238.0 → 0.239.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 (299) hide show
  1. package/dist/components/AddressAutocompleteInput/index.d.ts.map +1 -1
  2. package/dist/helpers/useMapsLibrary.d.ts.map +1 -1
  3. package/dist/index121.js +10 -10
  4. package/dist/index123.js +2 -2
  5. package/dist/index124.js +3 -3
  6. package/dist/index151.js +4 -4
  7. package/dist/index156.js +1 -1
  8. package/dist/index157.js +1 -1
  9. package/dist/index164.js +1 -1
  10. package/dist/index165.js +6 -6
  11. package/dist/index167.js +1 -1
  12. package/dist/index169.js +1 -1
  13. package/dist/index172.js +3 -3
  14. package/dist/index175.js +1 -1
  15. package/dist/index176.js +4 -4
  16. package/dist/index182.js +1 -1
  17. package/dist/index184.js +12 -12
  18. package/dist/index185.js +1 -1
  19. package/dist/index187.js +5 -5
  20. package/dist/index189.js +6 -6
  21. package/dist/index190.js +5 -5
  22. package/dist/index193.js +3 -3
  23. package/dist/index194.js +5 -5
  24. package/dist/index22.js.map +1 -1
  25. package/dist/index237.js +14 -27
  26. package/dist/index237.js.map +1 -1
  27. package/dist/index238.js +7 -12
  28. package/dist/index238.js.map +1 -1
  29. package/dist/index239.js +9 -24
  30. package/dist/index239.js.map +1 -1
  31. package/dist/index240.js +10 -5
  32. package/dist/index240.js.map +1 -1
  33. package/dist/index241.js +20 -15
  34. package/dist/index241.js.map +1 -1
  35. package/dist/index242.js +10 -7
  36. package/dist/index242.js.map +1 -1
  37. package/dist/index243.js +9 -10
  38. package/dist/index243.js.map +1 -1
  39. package/dist/index244.js +9 -10
  40. package/dist/index244.js.map +1 -1
  41. package/dist/index245.js +4 -21
  42. package/dist/index245.js.map +1 -1
  43. package/dist/index246.js +5 -10
  44. package/dist/index246.js.map +1 -1
  45. package/dist/index247.js +16 -9
  46. package/dist/index247.js.map +1 -1
  47. package/dist/index248.js +8 -8
  48. package/dist/index248.js.map +1 -1
  49. package/dist/index249.js +18 -4
  50. package/dist/index249.js.map +1 -1
  51. package/dist/index250.js +15 -5
  52. package/dist/index250.js.map +1 -1
  53. package/dist/index251.js +12 -16
  54. package/dist/index251.js.map +1 -1
  55. package/dist/index252.js +29 -9
  56. package/dist/index252.js.map +1 -1
  57. package/dist/index253.js +12 -18
  58. package/dist/index253.js.map +1 -1
  59. package/dist/index254.js +25 -15
  60. package/dist/index254.js.map +1 -1
  61. package/dist/index255.js +5 -12
  62. package/dist/index255.js.map +1 -1
  63. package/dist/index256.js +14 -20
  64. package/dist/index256.js.map +1 -1
  65. package/dist/index257.js +146 -58
  66. package/dist/index257.js.map +1 -1
  67. package/dist/index258.js +30 -6
  68. package/dist/index258.js.map +1 -1
  69. package/dist/index259.js +9 -11
  70. package/dist/index259.js.map +1 -1
  71. package/dist/index260.js +44 -46
  72. package/dist/index260.js.map +1 -1
  73. package/dist/index261.js +12 -4
  74. package/dist/index261.js.map +1 -1
  75. package/dist/index262.js +43 -28
  76. package/dist/index262.js.map +1 -1
  77. package/dist/index263.js +93 -14
  78. package/dist/index263.js.map +1 -1
  79. package/dist/index264.js +86 -5
  80. package/dist/index264.js.map +1 -1
  81. package/dist/index265.js +105 -21
  82. package/dist/index265.js.map +1 -1
  83. package/dist/index266.js +51 -50
  84. package/dist/index266.js.map +1 -1
  85. package/dist/index267.js +11 -25
  86. package/dist/index267.js.map +1 -1
  87. package/dist/index268.js +37 -41
  88. package/dist/index268.js.map +1 -1
  89. package/dist/index269.js +8 -39
  90. package/dist/index269.js.map +1 -1
  91. package/dist/index270.js +117 -45
  92. package/dist/index270.js.map +1 -1
  93. package/dist/index271.js +17 -20
  94. package/dist/index271.js.map +1 -1
  95. package/dist/index272.js +14 -69
  96. package/dist/index272.js.map +1 -1
  97. package/dist/index273.js +3 -17
  98. package/dist/index273.js.map +1 -1
  99. package/dist/index274.js +36 -11
  100. package/dist/index274.js.map +1 -1
  101. package/dist/index275.js +20 -27
  102. package/dist/index275.js.map +1 -1
  103. package/dist/index276.js +9 -13
  104. package/dist/index276.js.map +1 -1
  105. package/dist/index277.js +8 -18
  106. package/dist/index277.js.map +1 -1
  107. package/dist/index278.js +20 -37
  108. package/dist/index278.js.map +1 -1
  109. package/dist/index279.js +59 -255
  110. package/dist/index279.js.map +1 -1
  111. package/dist/index280.js +6 -278
  112. package/dist/index280.js.map +1 -1
  113. package/dist/index281.js +10 -67
  114. package/dist/index281.js.map +1 -1
  115. package/dist/index282.js +47 -96
  116. package/dist/index282.js.map +1 -1
  117. package/dist/index283.js +4 -84
  118. package/dist/index283.js.map +1 -1
  119. package/dist/index284.js +29 -3
  120. package/dist/index284.js.map +1 -1
  121. package/dist/index285.js +15 -28
  122. package/dist/index285.js.map +1 -1
  123. package/dist/index286.js +5 -16
  124. package/dist/index286.js.map +1 -1
  125. package/dist/index287.js +22 -35
  126. package/dist/index287.js.map +1 -1
  127. package/dist/index288.js +51 -16
  128. package/dist/index288.js.map +1 -1
  129. package/dist/index289.js +25 -3
  130. package/dist/index289.js.map +1 -1
  131. package/dist/index290.js +41 -26
  132. package/dist/index290.js.map +1 -1
  133. package/dist/index291.js +38 -27
  134. package/dist/index291.js.map +1 -1
  135. package/dist/index292.js +45 -4
  136. package/dist/index292.js.map +1 -1
  137. package/dist/index293.js +20 -78
  138. package/dist/index293.js.map +1 -1
  139. package/dist/index294.js +65 -264
  140. package/dist/index294.js.map +1 -1
  141. package/dist/index295.js +17 -11
  142. package/dist/index295.js.map +1 -1
  143. package/dist/index296.js +11 -10
  144. package/dist/index296.js.map +1 -1
  145. package/dist/index297.js +26 -24
  146. package/dist/index297.js.map +1 -1
  147. package/dist/index298.js +13 -16
  148. package/dist/index298.js.map +1 -1
  149. package/dist/index299.js +15 -122
  150. package/dist/index299.js.map +1 -1
  151. package/dist/index3.js.map +1 -1
  152. package/dist/index300.js +36 -5
  153. package/dist/index300.js.map +1 -1
  154. package/dist/index301.js +260 -38
  155. package/dist/index301.js.map +1 -1
  156. package/dist/index302.js +275 -62
  157. package/dist/index302.js.map +1 -1
  158. package/dist/index303.js +68 -13
  159. package/dist/index303.js.map +1 -1
  160. package/dist/index304.js +99 -7
  161. package/dist/index304.js.map +1 -1
  162. package/dist/index305.js +83 -5
  163. package/dist/index305.js.map +1 -1
  164. package/dist/index306.js +3 -3
  165. package/dist/index306.js.map +1 -1
  166. package/dist/index307.js +29 -10
  167. package/dist/index307.js.map +1 -1
  168. package/dist/index308.js +15 -6
  169. package/dist/index308.js.map +1 -1
  170. package/dist/index309.js +34 -133
  171. package/dist/index309.js.map +1 -1
  172. package/dist/index310.js +15 -398
  173. package/dist/index310.js.map +1 -1
  174. package/dist/index311.js +3 -52
  175. package/dist/index311.js.map +1 -1
  176. package/dist/index312.js +26 -11
  177. package/dist/index312.js.map +1 -1
  178. package/dist/index313.js +27 -10
  179. package/dist/index313.js.map +1 -1
  180. package/dist/index314.js +4 -14
  181. package/dist/index314.js.map +1 -1
  182. package/dist/index315.js +75 -151
  183. package/dist/index315.js.map +1 -1
  184. package/dist/index316.js +267 -28
  185. package/dist/index316.js.map +1 -1
  186. package/dist/index317.js +11 -9
  187. package/dist/index317.js.map +1 -1
  188. package/dist/index318.js +11 -49
  189. package/dist/index318.js.map +1 -1
  190. package/dist/index319.js +25 -11
  191. package/dist/index319.js.map +1 -1
  192. package/dist/index320.js +15 -43
  193. package/dist/index320.js.map +1 -1
  194. package/dist/index321.js +119 -89
  195. package/dist/index321.js.map +1 -1
  196. package/dist/index322.js +5 -86
  197. package/dist/index322.js.map +1 -1
  198. package/dist/index323.js +39 -104
  199. package/dist/index323.js.map +1 -1
  200. package/dist/index324.js +60 -47
  201. package/dist/index324.js.map +1 -1
  202. package/dist/index325.js +13 -11
  203. package/dist/index325.js.map +1 -1
  204. package/dist/index326.js +7 -37
  205. package/dist/index326.js.map +1 -1
  206. package/dist/index327.js +5 -8
  207. package/dist/index327.js.map +1 -1
  208. package/dist/index328.js +3 -116
  209. package/dist/index328.js.map +1 -1
  210. package/dist/index329.js +10 -17
  211. package/dist/index329.js.map +1 -1
  212. package/dist/index330.js +7 -15
  213. package/dist/index330.js.map +1 -1
  214. package/dist/index331.js +133 -3
  215. package/dist/index331.js.map +1 -1
  216. package/dist/index332.js +398 -35
  217. package/dist/index332.js.map +1 -1
  218. package/dist/index333.js +52 -20
  219. package/dist/index333.js.map +1 -1
  220. package/dist/index334.js +11 -9
  221. package/dist/index334.js.map +1 -1
  222. package/dist/index335.js +11 -8
  223. package/dist/index335.js.map +1 -1
  224. package/dist/index336.js +3 -3
  225. package/dist/index339.js +1 -1
  226. package/dist/index346.js +2 -2
  227. package/dist/index347.js +5 -122
  228. package/dist/index347.js.map +1 -1
  229. package/dist/index348.js +121 -31
  230. package/dist/index348.js.map +1 -1
  231. package/dist/index349.js +31 -72
  232. package/dist/index349.js.map +1 -1
  233. package/dist/index350.js +70 -139
  234. package/dist/index350.js.map +1 -1
  235. package/dist/index351.js +116 -35
  236. package/dist/index351.js.map +1 -1
  237. package/dist/index352.js +56 -44
  238. package/dist/index352.js.map +1 -1
  239. package/dist/index353.js +49 -14
  240. package/dist/index353.js.map +1 -1
  241. package/dist/index354.js +15 -6
  242. package/dist/index354.js.map +1 -1
  243. package/dist/index362.js +19 -10
  244. package/dist/index362.js.map +1 -1
  245. package/dist/index363.js +4 -17
  246. package/dist/index363.js.map +1 -1
  247. package/dist/index365.js +12 -4
  248. package/dist/index365.js.map +1 -1
  249. package/dist/index366.js +15 -19
  250. package/dist/index366.js.map +1 -1
  251. package/dist/index367.js +19 -43
  252. package/dist/index367.js.map +1 -1
  253. package/dist/index368.js +40 -13
  254. package/dist/index368.js.map +1 -1
  255. package/dist/index369.js +17 -4
  256. package/dist/index369.js.map +1 -1
  257. package/dist/index370.js +4 -200
  258. package/dist/index370.js.map +1 -1
  259. package/dist/index371.js +197 -74
  260. package/dist/index371.js.map +1 -1
  261. package/dist/index372.js +77 -20
  262. package/dist/index372.js.map +1 -1
  263. package/dist/index374.js +3 -3
  264. package/dist/index375.js +1 -1
  265. package/dist/index376.js +3 -3
  266. package/dist/index378.js +2 -2
  267. package/dist/index380.js +1 -1
  268. package/dist/index381.js +2 -2
  269. package/dist/index384.js +2 -2
  270. package/dist/index386.js +1 -1
  271. package/dist/index407.js +1 -1
  272. package/dist/index44.js +1 -1
  273. package/dist/index45.js +2 -2
  274. package/dist/index49.js +28 -28
  275. package/dist/index50.js +21 -21
  276. package/dist/index51.js +1 -1
  277. package/dist/index52.js +8 -8
  278. package/dist/index53.js +2 -2
  279. package/dist/index55.js +17 -17
  280. package/dist/index56.js +4 -4
  281. package/dist/index57.js +3 -3
  282. package/dist/index58.js +7 -7
  283. package/dist/index59.js +4 -4
  284. package/dist/index60.js +12 -12
  285. package/dist/index61.js +2 -2
  286. package/dist/index62.js +2 -2
  287. package/dist/index70.js +1 -1
  288. package/dist/index71.js +1 -1
  289. package/dist/index74.js +6 -2
  290. package/dist/index74.js.map +1 -1
  291. package/dist/index75.js +8 -2
  292. package/dist/index75.js.map +1 -1
  293. package/dist/index76.js +5 -5
  294. package/dist/index76.js.map +1 -1
  295. package/dist/index77.js +2 -8
  296. package/dist/index77.js.map +1 -1
  297. package/dist/index78.js +2 -6
  298. package/dist/index78.js.map +1 -1
  299. package/package.json +1 -1
package/dist/index294.js CHANGED
@@ -1,273 +1,74 @@
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];
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];
23
6
  }
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
- };
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);
41
36
  }
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`);
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();
160
52
  }
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), {};
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;
183
57
  }
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]);
58
+ }
59
+ return u();
266
60
  }
267
- function Fe(a) {
268
- return a != null && "current" in a;
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), []);
269
65
  }
270
66
  export {
271
- St as useAnchorPositioning
67
+ A as hasNullItemLabel,
68
+ s as isGroupedItems,
69
+ d as resolveMultipleLabels,
70
+ p as resolveSelectedLabel,
71
+ b as stringifyAsLabel,
72
+ h as stringifyAsValue
272
73
  };
273
74
  //# sourceMappingURL=index294.js.map
@@ -1 +1 @@
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]}
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]}
package/dist/index295.js CHANGED
@@ -1,15 +1,21 @@
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;
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));
10
13
  }
11
14
  export {
12
- o as SelectPositionerContext,
13
- i as useSelectPositionerContext
15
+ u as compareItemEquality,
16
+ i as defaultItemEquality,
17
+ o as findItemIndex,
18
+ I as removeItem,
19
+ e as selectedValueIncludes
14
20
  };
15
21
  //# sourceMappingURL=index295.js.map
@@ -1 +1 @@
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]}
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]}
package/dist/index296.js CHANGED
@@ -1,14 +1,15 @@
1
- function e(o, t) {
2
- o && Object.assign(o.style, t);
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]);
3
11
  }
4
- const i = {
5
- position: "relative",
6
- maxHeight: "100%",
7
- overflowX: "hidden",
8
- overflowY: "auto"
9
- };
10
12
  export {
11
- i as LIST_FUNCTIONAL_STYLES,
12
- e as clearStyles
13
+ u as useValueChanged
13
14
  };
14
15
  //# sourceMappingURL=index296.js.map
@@ -1 +1 @@
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]}
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]}
package/dist/index297.js CHANGED
@@ -1,29 +1,31 @@
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
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" : ""));
24
12
  });
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]);
25
27
  }
26
28
  export {
27
- M as usePositioner
29
+ C as useOpenInteractionType
28
30
  };
29
31
  //# sourceMappingURL=index297.js.map
@@ -1 +1 @@
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]}
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]}
package/dist/index298.js CHANGED
@@ -1,20 +1,17 @@
1
- import * as e from "react";
2
- import { ownerDocument as m } from "./index284.js";
3
- import { useScrollLock as p } from "./index347.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);
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;
16
11
  }
17
12
  export {
18
- L as useAnchoredPopupScrollLock
13
+ f as SCROLL_EDGE_TOLERANCE_PX,
14
+ a as getMaxScrollOffset,
15
+ u as normalizeScrollOffset
19
16
  };
20
17
  //# sourceMappingURL=index298.js.map
@@ -1 +1 @@
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]}
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]}