@rpcbase/ui 0.234.0 → 0.235.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 (270) hide show
  1. package/dist/components/FilesUploadField/index.d.ts.map +1 -1
  2. package/dist/index151.js +4 -4
  3. package/dist/index156.js +1 -1
  4. package/dist/index157.js +1 -1
  5. package/dist/index164.js +1 -1
  6. package/dist/index165.js +6 -6
  7. package/dist/index167.js +4 -4
  8. package/dist/index169.js +1 -1
  9. package/dist/index172.js +9 -9
  10. package/dist/index175.js +1 -1
  11. package/dist/index176.js +4 -4
  12. package/dist/index178.js +1 -1
  13. package/dist/index182.js +1 -1
  14. package/dist/index184.js +12 -12
  15. package/dist/index187.js +6 -6
  16. package/dist/index189.js +3 -3
  17. package/dist/index190.js +1 -1
  18. package/dist/index193.js +3 -3
  19. package/dist/index194.js +5 -5
  20. package/dist/index256.js +20 -14
  21. package/dist/index256.js.map +1 -1
  22. package/dist/index257.js +58 -146
  23. package/dist/index257.js.map +1 -1
  24. package/dist/index258.js +6 -30
  25. package/dist/index258.js.map +1 -1
  26. package/dist/index259.js +11 -9
  27. package/dist/index259.js.map +1 -1
  28. package/dist/index260.js +46 -44
  29. package/dist/index260.js.map +1 -1
  30. package/dist/index261.js +4 -12
  31. package/dist/index261.js.map +1 -1
  32. package/dist/index262.js +28 -43
  33. package/dist/index262.js.map +1 -1
  34. package/dist/index263.js +14 -93
  35. package/dist/index263.js.map +1 -1
  36. package/dist/index264.js +5 -86
  37. package/dist/index264.js.map +1 -1
  38. package/dist/index265.js +21 -105
  39. package/dist/index265.js.map +1 -1
  40. package/dist/index266.js +50 -51
  41. package/dist/index266.js.map +1 -1
  42. package/dist/index267.js +25 -11
  43. package/dist/index267.js.map +1 -1
  44. package/dist/index268.js +41 -37
  45. package/dist/index268.js.map +1 -1
  46. package/dist/index269.js +39 -8
  47. package/dist/index269.js.map +1 -1
  48. package/dist/index270.js +45 -117
  49. package/dist/index270.js.map +1 -1
  50. package/dist/index271.js +20 -17
  51. package/dist/index271.js.map +1 -1
  52. package/dist/index272.js +69 -14
  53. package/dist/index272.js.map +1 -1
  54. package/dist/index273.js +17 -3
  55. package/dist/index273.js.map +1 -1
  56. package/dist/index274.js +11 -36
  57. package/dist/index274.js.map +1 -1
  58. package/dist/index275.js +27 -20
  59. package/dist/index275.js.map +1 -1
  60. package/dist/index276.js +13 -9
  61. package/dist/index276.js.map +1 -1
  62. package/dist/index277.js +18 -8
  63. package/dist/index277.js.map +1 -1
  64. package/dist/index278.js +35 -18
  65. package/dist/index278.js.map +1 -1
  66. package/dist/index279.js +260 -26
  67. package/dist/index279.js.map +1 -1
  68. package/dist/index280.js +277 -15
  69. package/dist/index280.js.map +1 -1
  70. package/dist/index281.js +69 -20
  71. package/dist/index281.js.map +1 -1
  72. package/dist/index282.js +92 -59
  73. package/dist/index282.js.map +1 -1
  74. package/dist/index283.js +83 -6
  75. package/dist/index283.js.map +1 -1
  76. package/dist/index284.js +3 -11
  77. package/dist/index284.js.map +1 -1
  78. package/dist/index285.js +27 -48
  79. package/dist/index285.js.map +1 -1
  80. package/dist/index286.js +17 -4
  81. package/dist/index286.js.map +1 -1
  82. package/dist/index287.js +35 -30
  83. package/dist/index287.js.map +1 -1
  84. package/dist/index288.js +15 -15
  85. package/dist/index288.js.map +1 -1
  86. package/dist/index289.js +3 -5
  87. package/dist/index289.js.map +1 -1
  88. package/dist/index290.js +25 -20
  89. package/dist/index290.js.map +1 -1
  90. package/dist/index291.js +26 -49
  91. package/dist/index291.js.map +1 -1
  92. package/dist/index292.js +4 -26
  93. package/dist/index292.js.map +1 -1
  94. package/dist/index293.js +76 -39
  95. package/dist/index293.js.map +1 -1
  96. package/dist/index294.js +265 -35
  97. package/dist/index294.js.map +1 -1
  98. package/dist/index295.js +12 -45
  99. package/dist/index295.js.map +1 -1
  100. package/dist/index296.js +10 -20
  101. package/dist/index296.js.map +1 -1
  102. package/dist/index297.js +25 -70
  103. package/dist/index297.js.map +1 -1
  104. package/dist/index298.js +16 -17
  105. package/dist/index298.js.map +1 -1
  106. package/dist/index299.js +125 -11
  107. package/dist/index299.js.map +1 -1
  108. package/dist/index300.js +5 -27
  109. package/dist/index300.js.map +1 -1
  110. package/dist/index301.js +39 -12
  111. package/dist/index301.js.map +1 -1
  112. package/dist/index302.js +63 -16
  113. package/dist/index302.js.map +1 -1
  114. package/dist/index303.js +13 -36
  115. package/dist/index303.js.map +1 -1
  116. package/dist/index304.js +7 -262
  117. package/dist/index304.js.map +1 -1
  118. package/dist/index305.js +5 -278
  119. package/dist/index305.js.map +1 -1
  120. package/dist/index306.js +3 -68
  121. package/dist/index306.js.map +1 -1
  122. package/dist/index307.js +10 -99
  123. package/dist/index307.js.map +1 -1
  124. package/dist/index308.js +7 -83
  125. package/dist/index308.js.map +1 -1
  126. package/dist/index309.js +133 -3
  127. package/dist/index309.js.map +1 -1
  128. package/dist/index310.js +399 -29
  129. package/dist/index310.js.map +1 -1
  130. package/dist/index311.js +52 -16
  131. package/dist/index311.js.map +1 -1
  132. package/dist/index312.js +12 -35
  133. package/dist/index312.js.map +1 -1
  134. package/dist/index313.js +11 -16
  135. package/dist/index313.js.map +1 -1
  136. package/dist/index314.js +13 -3
  137. package/dist/index314.js.map +1 -1
  138. package/dist/index315.js +150 -22
  139. package/dist/index315.js.map +1 -1
  140. package/dist/index316.js +27 -25
  141. package/dist/index316.js.map +1 -1
  142. package/dist/index317.js +10 -4
  143. package/dist/index317.js.map +1 -1
  144. package/dist/index318.js +44 -74
  145. package/dist/index318.js.map +1 -1
  146. package/dist/index319.js +10 -268
  147. package/dist/index319.js.map +1 -1
  148. package/dist/index320.js +44 -11
  149. package/dist/index320.js.map +1 -1
  150. package/dist/index321.js +95 -10
  151. package/dist/index321.js.map +1 -1
  152. package/dist/index322.js +86 -25
  153. package/dist/index322.js.map +1 -1
  154. package/dist/index323.js +104 -15
  155. package/dist/index323.js.map +1 -1
  156. package/dist/index324.js +50 -123
  157. package/dist/index324.js.map +1 -1
  158. package/dist/index325.js +11 -5
  159. package/dist/index325.js.map +1 -1
  160. package/dist/index326.js +34 -37
  161. package/dist/index326.js.map +1 -1
  162. package/dist/index327.js +8 -65
  163. package/dist/index327.js.map +1 -1
  164. package/dist/index328.js +116 -13
  165. package/dist/index328.js.map +1 -1
  166. package/dist/index329.js +17 -7
  167. package/dist/index329.js.map +1 -1
  168. package/dist/index330.js +15 -5
  169. package/dist/index330.js.map +1 -1
  170. package/dist/index331.js +3 -3
  171. package/dist/index331.js.map +1 -1
  172. package/dist/index332.js +36 -10
  173. package/dist/index332.js.map +1 -1
  174. package/dist/index333.js +20 -7
  175. package/dist/index333.js.map +1 -1
  176. package/dist/index334.js +9 -133
  177. package/dist/index334.js.map +1 -1
  178. package/dist/index335.js +7 -398
  179. package/dist/index335.js.map +1 -1
  180. package/dist/index336.js +8 -52
  181. package/dist/index336.js.map +1 -1
  182. package/dist/index337.js +11 -11
  183. package/dist/index337.js.map +1 -1
  184. package/dist/index338.js +8 -11
  185. package/dist/index338.js.map +1 -1
  186. package/dist/index339.js +13 -8
  187. package/dist/index339.js.map +1 -1
  188. package/dist/index340.js +3 -11
  189. package/dist/index340.js.map +1 -1
  190. package/dist/index341.js +3 -8
  191. package/dist/index341.js.map +1 -1
  192. package/dist/index342.js +16 -12
  193. package/dist/index342.js.map +1 -1
  194. package/dist/index343.js +19 -3
  195. package/dist/index343.js.map +1 -1
  196. package/dist/index344.js +28 -3
  197. package/dist/index344.js.map +1 -1
  198. package/dist/index345.js +15 -16
  199. package/dist/index345.js.map +1 -1
  200. package/dist/index346.js +2 -2
  201. package/dist/index347.js +8 -8
  202. package/dist/index348.js +4 -4
  203. package/dist/index349.js +3 -3
  204. package/dist/index350.js +5 -5
  205. package/dist/index352.js +1 -1
  206. package/dist/index362.js +10 -19
  207. package/dist/index362.js.map +1 -1
  208. package/dist/index363.js +17 -4
  209. package/dist/index363.js.map +1 -1
  210. package/dist/index364.js +5 -11
  211. package/dist/index364.js.map +1 -1
  212. package/dist/index365.js +4 -17
  213. package/dist/index365.js.map +1 -1
  214. package/dist/index366.js +20 -5
  215. package/dist/index366.js.map +1 -1
  216. package/dist/index367.js +43 -19
  217. package/dist/index367.js.map +1 -1
  218. package/dist/index368.js +13 -40
  219. package/dist/index368.js.map +1 -1
  220. package/dist/index369.js +4 -17
  221. package/dist/index369.js.map +1 -1
  222. package/dist/index370.js +200 -4
  223. package/dist/index370.js.map +1 -1
  224. package/dist/index371.js +74 -197
  225. package/dist/index371.js.map +1 -1
  226. package/dist/index372.js +20 -77
  227. package/dist/index372.js.map +1 -1
  228. package/dist/index374.js +3 -3
  229. package/dist/index375.js +1 -1
  230. package/dist/index376.js +3 -3
  231. package/dist/index378.js +2 -2
  232. package/dist/index380.js +1 -1
  233. package/dist/index381.js +2 -2
  234. package/dist/index407.js +1 -1
  235. package/dist/index417.js +1 -1
  236. package/dist/index418.js +1 -1
  237. package/dist/index421.js +1 -1
  238. package/dist/index422.js +1 -1
  239. package/dist/index427.js +2 -2
  240. package/dist/index429.js +2 -2
  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/dist/index8.js +533 -698
  269. package/dist/index8.js.map +1 -1
  270. package/package.json +1 -1
package/dist/index294.js CHANGED
@@ -1,43 +1,273 @@
1
- import * as a from "react";
2
- import { useIsoLayoutEffect as c } from "./index286.js";
3
- import { AnimationFrame as u } from "./index327.js";
4
- function g(t, s = !1, f = !1) {
5
- const [n, r] = a.useState(t && s ? "idle" : void 0), [i, d] = a.useState(t);
6
- return t && !i && (d(!0), r("starting")), !t && i && n !== "ending" && !f && r("ending"), !t && !i && n === "ending" && r(void 0), c(() => {
7
- if (!t && i && n !== "ending" && f) {
8
- const e = u.request(() => {
9
- r("ending");
10
- });
11
- return () => {
12
- u.cancel(e);
13
- };
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];
23
+ }
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
14
39
  }
15
- }, [t, i, n, f]), c(() => {
16
- if (!t || s)
17
- return;
18
- const e = u.request(() => {
19
- r(void 0);
20
- });
21
- return () => {
22
- u.cancel(e);
40
+ };
41
+ }
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
23
98
  };
24
- }, [s, t]), c(() => {
25
- if (!t || !s)
26
- return;
27
- t && i && n !== "idle" && r("starting");
28
- const e = u.request(() => {
29
- r("idle");
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`);
160
+ }
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), {};
183
+ }
184
+ }, Qe, Y), Q(() => {
185
+ !o && D && D.update({
186
+ referenceElement: null,
187
+ floatingElement: null,
188
+ domReferenceElement: null,
189
+ positionReference: null
30
190
  });
31
- return () => {
32
- u.cancel(e);
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
33
226
  };
34
- }, [s, t, i, n]), {
35
- mounted: i,
36
- setMounted: d,
37
- transitionStatus: n
38
- };
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]);
266
+ }
267
+ function Fe(a) {
268
+ return a != null && "current" in a;
39
269
  }
40
270
  export {
41
- g as useTransitionStatus
271
+ St as useAnchorPositioning
42
272
  };
43
273
  //# sourceMappingURL=index294.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index294.js","sources":["../../../node_modules/@base-ui/react/esm/internals/useTransitionStatus.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { AnimationFrame } from '@base-ui/utils/useAnimationFrame';\n/**\n * Provides a status string for CSS animations.\n * @param open - a boolean that determines if the element is open.\n * @param enableIdleState - a boolean that enables the `'idle'` state between `'starting'` and `'ending'`\n */\nexport function useTransitionStatus(open, enableIdleState = false, deferEndingState = false) {\n const [transitionStatus, setTransitionStatus] = React.useState(open && enableIdleState ? 'idle' : undefined);\n const [mounted, setMounted] = React.useState(open);\n if (open && !mounted) {\n setMounted(true);\n setTransitionStatus('starting');\n }\n if (!open && mounted && transitionStatus !== 'ending' && !deferEndingState) {\n setTransitionStatus('ending');\n }\n if (!open && !mounted && transitionStatus === 'ending') {\n setTransitionStatus(undefined);\n }\n useIsoLayoutEffect(() => {\n if (!open && mounted && transitionStatus !== 'ending' && deferEndingState) {\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('ending');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }\n return undefined;\n }, [open, mounted, transitionStatus, deferEndingState]);\n useIsoLayoutEffect(() => {\n if (!open || enableIdleState) {\n return undefined;\n }\n const frame = AnimationFrame.request(() => {\n // Avoid `flushSync` here due to Firefox.\n // See https://github.com/mui/base-ui/pull/3424\n setTransitionStatus(undefined);\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open]);\n useIsoLayoutEffect(() => {\n if (!open || !enableIdleState) {\n return undefined;\n }\n if (open && mounted && transitionStatus !== 'idle') {\n setTransitionStatus('starting');\n }\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('idle');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open, mounted, transitionStatus]);\n return {\n mounted,\n setMounted,\n transitionStatus\n };\n}"],"names":["useTransitionStatus","open","enableIdleState","deferEndingState","transitionStatus","setTransitionStatus","React","mounted","setMounted","useIsoLayoutEffect","frame","AnimationFrame"],"mappings":";;;AAUO,SAASA,EAAoBC,GAAMC,IAAkB,IAAOC,IAAmB,IAAO;AAC3F,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAM,SAASL,KAAQC,IAAkB,SAAS,MAAS,GACrG,CAACK,GAASC,CAAU,IAAIF,EAAM,SAASL,CAAI;AACjD,SAAIA,KAAQ,CAACM,MACXC,EAAW,EAAI,GACfH,EAAoB,UAAU,IAE5B,CAACJ,KAAQM,KAAWH,MAAqB,YAAY,CAACD,KACxDE,EAAoB,QAAQ,GAE1B,CAACJ,KAAQ,CAACM,KAAWH,MAAqB,YAC5CC,EAAoB,MAAS,GAE/BI,EAAmB,MAAM;AACvB,QAAI,CAACR,KAAQM,KAAWH,MAAqB,YAAYD,GAAkB;AACzE,YAAMO,IAAQC,EAAe,QAAQ,MAAM;AACzC,QAAAN,EAAoB,QAAQ;AAAA,MAC9B,CAAC;AACD,aAAO,MAAM;AACX,QAAAM,EAAe,OAAOD,CAAK;AAAA,MAC7B;AAAA,IACF;AAAA,EAEF,GAAG,CAACT,GAAMM,GAASH,GAAkBD,CAAgB,CAAC,GACtDM,EAAmB,MAAM;AACvB,QAAI,CAACR,KAAQC;AACX;AAEF,UAAMQ,IAAQC,EAAe,QAAQ,MAAM;AAGzC,MAAAN,EAAoB,MAAS;AAAA,IAC/B,CAAC;AACD,WAAO,MAAM;AACX,MAAAM,EAAe,OAAOD,CAAK;AAAA,IAC7B;AAAA,EACF,GAAG,CAACR,GAAiBD,CAAI,CAAC,GAC1BQ,EAAmB,MAAM;AACvB,QAAI,CAACR,KAAQ,CAACC;AACZ;AAEF,IAAID,KAAQM,KAAWH,MAAqB,UAC1CC,EAAoB,UAAU;AAEhC,UAAMK,IAAQC,EAAe,QAAQ,MAAM;AACzC,MAAAN,EAAoB,MAAM;AAAA,IAC5B,CAAC;AACD,WAAO,MAAM;AACX,MAAAM,EAAe,OAAOD,CAAK;AAAA,IAC7B;AAAA,EACF,GAAG,CAACR,GAAiBD,GAAMM,GAASH,CAAgB,CAAC,GAC9C;AAAA,IACL,SAAAG;AAAA,IACA,YAAAC;AAAA,IACA,kBAAAJ;AAAA,EACJ;AACA;","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,48 +1,15 @@
1
- import { compareItemEquality as s } from "./index298.js";
2
- import { hasNullItemLabel as u, stringifyAsValue as a } from "./index297.js";
3
- import { createSelector as r } from "./index353.js";
4
- const d = {
5
- id: r((e) => e.id),
6
- labelId: r((e) => e.labelId),
7
- modal: r((e) => e.modal),
8
- multiple: r((e) => e.multiple),
9
- items: r((e) => e.items),
10
- itemToStringLabel: r((e) => e.itemToStringLabel),
11
- itemToStringValue: r((e) => e.itemToStringValue),
12
- isItemEqualToValue: r((e) => e.isItemEqualToValue),
13
- value: r((e) => e.value),
14
- hasSelectedValue: r((e) => {
15
- const {
16
- value: l,
17
- multiple: t,
18
- itemToStringValue: o
19
- } = e;
20
- return l == null ? !1 : t && Array.isArray(l) ? l.length > 0 : a(l, o) !== "";
21
- }),
22
- hasNullItemLabel: r((e, l) => l ? u(e.items) : !1),
23
- open: r((e) => e.open),
24
- mounted: r((e) => e.mounted),
25
- forceMount: r((e) => e.forceMount),
26
- transitionStatus: r((e) => e.transitionStatus),
27
- openMethod: r((e) => e.openMethod),
28
- activeIndex: r((e) => e.activeIndex),
29
- selectedIndex: r((e) => e.selectedIndex),
30
- isActive: r((e, l) => e.activeIndex === l),
31
- isSelected: r((e, l, t) => {
32
- const o = e.isItemEqualToValue, i = e.value;
33
- return e.multiple ? Array.isArray(i) && i.some((n) => s(t, n, o)) : e.selectedIndex === l && e.selectedIndex !== null ? !0 : s(t, i, o);
34
- }),
35
- isSelectedByFocus: r((e, l) => e.selectedIndex === l),
36
- popupProps: r((e) => e.popupProps),
37
- triggerProps: r((e) => e.triggerProps),
38
- triggerElement: r((e) => e.triggerElement),
39
- positionerElement: r((e) => e.positionerElement),
40
- listElement: r((e) => e.listElement),
41
- scrollUpArrowVisible: r((e) => e.scrollUpArrowVisible),
42
- scrollDownArrowVisible: r((e) => e.scrollDownArrowVisible),
43
- hasScrollArrows: r((e) => e.hasScrollArrows)
44
- };
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;
10
+ }
45
11
  export {
46
- d as selectors
12
+ o as SelectPositionerContext,
13
+ i as useSelectPositionerContext
47
14
  };
48
15
  //# sourceMappingURL=index295.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index295.js","sources":["../../../node_modules/@base-ui/react/esm/select/store.js"],"sourcesContent":["import { createSelector } from '@base-ui/utils/store';\nimport { compareItemEquality } from \"../internals/itemEquality.js\";\nimport { hasNullItemLabel, stringifyAsValue } from \"../internals/resolveValueLabel.js\";\nexport const selectors = {\n id: createSelector(state => state.id),\n labelId: createSelector(state => state.labelId),\n modal: createSelector(state => state.modal),\n multiple: createSelector(state => state.multiple),\n items: createSelector(state => state.items),\n itemToStringLabel: createSelector(state => state.itemToStringLabel),\n itemToStringValue: createSelector(state => state.itemToStringValue),\n isItemEqualToValue: createSelector(state => state.isItemEqualToValue),\n value: createSelector(state => state.value),\n hasSelectedValue: createSelector(state => {\n const {\n value,\n multiple,\n itemToStringValue\n } = state;\n if (value == null) {\n return false;\n }\n if (multiple && Array.isArray(value)) {\n return value.length > 0;\n }\n return stringifyAsValue(value, itemToStringValue) !== '';\n }),\n hasNullItemLabel: createSelector((state, enabled) => {\n return enabled ? hasNullItemLabel(state.items) : false;\n }),\n open: createSelector(state => state.open),\n mounted: createSelector(state => state.mounted),\n forceMount: createSelector(state => state.forceMount),\n transitionStatus: createSelector(state => state.transitionStatus),\n openMethod: createSelector(state => state.openMethod),\n activeIndex: createSelector(state => state.activeIndex),\n selectedIndex: createSelector(state => state.selectedIndex),\n isActive: createSelector((state, index) => state.activeIndex === index),\n isSelected: createSelector((state, index, itemValue) => {\n const comparer = state.isItemEqualToValue;\n const storeValue = state.value;\n if (state.multiple) {\n return Array.isArray(storeValue) && storeValue.some(selectedItem => compareItemEquality(itemValue, selectedItem, comparer));\n }\n\n // `selectedIndex` is only updated after the items mount for the first time,\n // the value check avoids a re-render for the initially selected item.\n if (state.selectedIndex === index && state.selectedIndex !== null) {\n return true;\n }\n return compareItemEquality(itemValue, storeValue, comparer);\n }),\n isSelectedByFocus: createSelector((state, index) => {\n return state.selectedIndex === index;\n }),\n popupProps: createSelector(state => state.popupProps),\n triggerProps: createSelector(state => state.triggerProps),\n triggerElement: createSelector(state => state.triggerElement),\n positionerElement: createSelector(state => state.positionerElement),\n listElement: createSelector(state => state.listElement),\n scrollUpArrowVisible: createSelector(state => state.scrollUpArrowVisible),\n scrollDownArrowVisible: createSelector(state => state.scrollDownArrowVisible),\n hasScrollArrows: createSelector(state => state.hasScrollArrows)\n};"],"names":["selectors","createSelector","state","value","multiple","itemToStringValue","stringifyAsValue","enabled","hasNullItemLabel","index","itemValue","comparer","storeValue","selectedItem","compareItemEquality"],"mappings":";;;AAGY,MAACA,IAAY;AAAA,EACvB,IAAIC,EAAe,CAAAC,MAASA,EAAM,EAAE;AAAA,EACpC,SAASD,EAAe,CAAAC,MAASA,EAAM,OAAO;AAAA,EAC9C,OAAOD,EAAe,CAAAC,MAASA,EAAM,KAAK;AAAA,EAC1C,UAAUD,EAAe,CAAAC,MAASA,EAAM,QAAQ;AAAA,EAChD,OAAOD,EAAe,CAAAC,MAASA,EAAM,KAAK;AAAA,EAC1C,mBAAmBD,EAAe,CAAAC,MAASA,EAAM,iBAAiB;AAAA,EAClE,mBAAmBD,EAAe,CAAAC,MAASA,EAAM,iBAAiB;AAAA,EAClE,oBAAoBD,EAAe,CAAAC,MAASA,EAAM,kBAAkB;AAAA,EACpE,OAAOD,EAAe,CAAAC,MAASA,EAAM,KAAK;AAAA,EAC1C,kBAAkBD,EAAe,CAAAC,MAAS;AACxC,UAAM;AAAA,MACJ,OAAAC;AAAA,MACA,UAAAC;AAAA,MACA,mBAAAC;AAAA,IACN,IAAQH;AACJ,WAAIC,KAAS,OACJ,KAELC,KAAY,MAAM,QAAQD,CAAK,IAC1BA,EAAM,SAAS,IAEjBG,EAAiBH,GAAOE,CAAiB,MAAM;AAAA,EACxD,CAAC;AAAA,EACD,kBAAkBJ,EAAe,CAACC,GAAOK,MAChCA,IAAUC,EAAiBN,EAAM,KAAK,IAAI,EAClD;AAAA,EACD,MAAMD,EAAe,CAAAC,MAASA,EAAM,IAAI;AAAA,EACxC,SAASD,EAAe,CAAAC,MAASA,EAAM,OAAO;AAAA,EAC9C,YAAYD,EAAe,CAAAC,MAASA,EAAM,UAAU;AAAA,EACpD,kBAAkBD,EAAe,CAAAC,MAASA,EAAM,gBAAgB;AAAA,EAChE,YAAYD,EAAe,CAAAC,MAASA,EAAM,UAAU;AAAA,EACpD,aAAaD,EAAe,CAAAC,MAASA,EAAM,WAAW;AAAA,EACtD,eAAeD,EAAe,CAAAC,MAASA,EAAM,aAAa;AAAA,EAC1D,UAAUD,EAAe,CAACC,GAAOO,MAAUP,EAAM,gBAAgBO,CAAK;AAAA,EACtE,YAAYR,EAAe,CAACC,GAAOO,GAAOC,MAAc;AACtD,UAAMC,IAAWT,EAAM,oBACjBU,IAAaV,EAAM;AACzB,WAAIA,EAAM,WACD,MAAM,QAAQU,CAAU,KAAKA,EAAW,KAAK,CAAAC,MAAgBC,EAAoBJ,GAAWG,GAAcF,CAAQ,CAAC,IAKxHT,EAAM,kBAAkBO,KAASP,EAAM,kBAAkB,OACpD,KAEFY,EAAoBJ,GAAWE,GAAYD,CAAQ;AAAA,EAC5D,CAAC;AAAA,EACD,mBAAmBV,EAAe,CAACC,GAAOO,MACjCP,EAAM,kBAAkBO,CAChC;AAAA,EACD,YAAYR,EAAe,CAAAC,MAASA,EAAM,UAAU;AAAA,EACpD,cAAcD,EAAe,CAAAC,MAASA,EAAM,YAAY;AAAA,EACxD,gBAAgBD,EAAe,CAAAC,MAASA,EAAM,cAAc;AAAA,EAC5D,mBAAmBD,EAAe,CAAAC,MAASA,EAAM,iBAAiB;AAAA,EAClE,aAAaD,EAAe,CAAAC,MAASA,EAAM,WAAW;AAAA,EACtD,sBAAsBD,EAAe,CAAAC,MAASA,EAAM,oBAAoB;AAAA,EACxE,wBAAwBD,EAAe,CAAAC,MAASA,EAAM,sBAAsB;AAAA,EAC5E,iBAAiBD,EAAe,CAAAC,MAASA,EAAM,eAAe;AAChE;","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,24 +1,14 @@
1
- import * as e from "react";
2
- import { NOOP as r } from "./index289.js";
3
- const t = /* @__PURE__ */ e.createContext({
4
- formRef: {
5
- current: {
6
- fields: /* @__PURE__ */ new Map()
7
- }
8
- },
9
- errors: {},
10
- clearErrors: r,
11
- validationMode: "onSubmit",
12
- submitAttemptedRef: {
13
- current: !1
14
- }
15
- });
16
- process.env.NODE_ENV !== "production" && (t.displayName = "FormContext");
17
- function n() {
18
- return e.useContext(t);
1
+ function e(o, t) {
2
+ o && Object.assign(o.style, t);
19
3
  }
4
+ const i = {
5
+ position: "relative",
6
+ maxHeight: "100%",
7
+ overflowX: "hidden",
8
+ overflowY: "auto"
9
+ };
20
10
  export {
21
- t as FormContext,
22
- n as useFormContext
11
+ i as LIST_FUNCTIONAL_STYLES,
12
+ e as clearStyles
23
13
  };
24
14
  //# sourceMappingURL=index296.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index296.js","sources":["../../../node_modules/@base-ui/react/esm/internals/form-context/FormContext.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { NOOP } from \"../noop.js\";\nexport const FormContext = /*#__PURE__*/React.createContext({\n formRef: {\n current: {\n fields: new Map()\n }\n },\n errors: {},\n clearErrors: NOOP,\n validationMode: 'onSubmit',\n submitAttemptedRef: {\n current: false\n }\n});\nif (process.env.NODE_ENV !== \"production\") FormContext.displayName = \"FormContext\";\nexport function useFormContext() {\n return React.useContext(FormContext);\n}"],"names":["FormContext","React","NOOP","useFormContext"],"mappings":";;AAIY,MAACA,IAA2B,gBAAAC,EAAM,cAAc;AAAA,EAC1D,SAAS;AAAA,IACP,SAAS;AAAA,MACP,QAAQ,oBAAI,IAAG;AAAA,IACrB;AAAA,EACA;AAAA,EACE,QAAQ,CAAA;AAAA,EACR,aAAaC;AAAA,EACb,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,IAClB,SAAS;AAAA,EACb;AACA,CAAC;AACG,QAAQ,IAAI,aAAa,iBAAcF,EAAY,cAAc;AAC9D,SAASG,IAAiB;AAC/B,SAAOF,EAAM,WAAWD,CAAW;AACrC;","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,74 +1,29 @@
1
- import * as c from "react";
2
- import { serializeValue as a } from "./index364.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];
6
- }
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);
36
- }
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();
52
- }
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;
57
- }
58
- }
59
- return u();
60
- }
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), []);
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
24
+ });
65
25
  }
66
26
  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
27
+ M as usePositioner
73
28
  };
74
29
  //# sourceMappingURL=index297.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index297.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":"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]}