@tencentcloud/chat-uikit-react 3.0.3 → 3.4.2

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 (113) hide show
  1. package/.eslintrc.cjs +5 -4
  2. package/CHANGELOG.md +9 -0
  3. package/dist/components/Chat/Chat.d.ts +1 -1
  4. package/dist/components/Chat/Chat.js +18 -23
  5. package/dist/components/ChatHeader/AudioCallPicker/AudioCallPicker.d.ts +30 -0
  6. package/dist/components/ChatHeader/AudioCallPicker/AudioCallPicker.js +135 -0
  7. package/dist/components/ChatHeader/AudioCallPicker/index.d.ts +1 -0
  8. package/dist/components/ChatHeader/AudioCallPicker/index.js +4 -0
  9. package/dist/components/ChatHeader/ChatHeader.d.ts +6 -0
  10. package/dist/components/ChatHeader/ChatHeader.js +43 -41
  11. package/dist/components/ChatHeader/ChatHeaderUI/ChatHeaderUI.d.ts +12 -7
  12. package/dist/components/ChatHeader/ChatHeaderUI/ChatHeaderUI.js +47 -65
  13. package/dist/components/ChatHeader/VideoCallPicker/VideoCallPicker.d.ts +30 -0
  14. package/dist/components/ChatHeader/VideoCallPicker/VideoCallPicker.js +135 -0
  15. package/dist/components/ChatHeader/VideoCallPicker/index.d.ts +1 -0
  16. package/dist/components/ChatHeader/VideoCallPicker/index.js +4 -0
  17. package/dist/components/ChatHeader/index.d.ts +2 -1
  18. package/dist/components/ChatHeader/index.js +4 -2
  19. package/dist/components/Checkbox/index.js +1 -1
  20. package/dist/components/Modal/Modal.js +1 -1
  21. package/dist/components/Model/index.js +1 -1
  22. package/dist/components/Plugins/index.js +1 -1
  23. package/dist/components/Popup/index.js +1 -1
  24. package/dist/components/PopupNew/Popup.js +1 -1
  25. package/dist/components/Profile/Profile.js +20 -22
  26. package/dist/components/Profile/ProfileDefault.d.ts +3 -2
  27. package/dist/components/Profile/ProfileDefault.js +55 -56
  28. package/dist/components/Profile/hooks/useMyProfile.d.ts +2 -3
  29. package/dist/components/Profile/hooks/useMyProfile.js +1 -1
  30. package/dist/components/Profile/myProfile/MyProfile.d.ts +1 -1
  31. package/dist/components/Profile/myProfile/MyProfile.js +12 -16
  32. package/dist/components/index.js +27 -25
  33. package/dist/context/ChatContext.d.ts +1 -1
  34. package/dist/context/ChatContext.js +11 -16
  35. package/dist/context/ContactContext.d.ts +1 -1
  36. package/dist/external_modules/mui-BhvHeL5-.js +2253 -0
  37. package/dist/hooks/index.d.ts +2 -2
  38. package/dist/hooks/index.js +2 -2
  39. package/dist/{states/ChatHeaderState.d.ts → hooks/useChatHeader.d.ts} +6 -6
  40. package/dist/hooks/useChatHeader.js +41 -0
  41. package/dist/index-UBuvRM8r-DTXQB6zV.js +34000 -0
  42. package/dist/index.d.ts +3 -1
  43. package/dist/index.js +93 -4133
  44. package/dist/server/mainServer.js +2 -2
  45. package/dist/states/UIManagerState.d.ts +5 -5
  46. package/dist/states/UIManagerState.js +2 -2
  47. package/dist/states/index.d.ts +0 -1
  48. package/dist/states/index.js +2 -4
  49. package/dist/styles/AudioCallPicker.css +1 -0
  50. package/dist/styles/ChatHeaderUI.css +1 -1
  51. package/dist/styles/VideoCallPicker.css +1 -0
  52. package/dist/styles/index-UBuvRM8r.css +1 -0
  53. package/dist/styles/index.css +1 -1
  54. package/dist/styles/index2.css +1 -1
  55. package/dist/styles/index3.css +1 -1
  56. package/dist/styles/index4.css +1 -1
  57. package/dist/styles/index5.css +1 -1
  58. package/dist/types/message.d.ts +1 -1
  59. package/dist/types/user.d.ts +4 -4
  60. package/package.json +12 -20
  61. package/src/components/ChatHeader/AudioCallPicker/AudioCallPicker.module.scss +57 -0
  62. package/src/components/ChatHeader/AudioCallPicker/AudioCallPicker.tsx +234 -0
  63. package/src/components/ChatHeader/AudioCallPicker/index.ts +1 -0
  64. package/src/components/ChatHeader/ChatHeader.tsx +15 -3
  65. package/src/components/ChatHeader/ChatHeaderUI/ChatHeaderUI.tsx +29 -36
  66. package/src/components/ChatHeader/VideoCallPicker/VideoCallPicker.module.scss +57 -0
  67. package/src/components/ChatHeader/VideoCallPicker/VideoCallPicker.tsx +233 -0
  68. package/src/components/ChatHeader/VideoCallPicker/index.ts +1 -0
  69. package/src/components/ChatHeader/index.ts +2 -1
  70. package/src/components/Profile/Profile.tsx +7 -6
  71. package/src/components/Profile/ProfileDefault.tsx +8 -8
  72. package/src/components/Profile/hooks/useMyProfile.tsx +2 -3
  73. package/src/components/Profile/myProfile/MyProfile.tsx +1 -1
  74. package/src/context/ChatContext.tsx +1 -1
  75. package/src/context/ContactContext.tsx +1 -1
  76. package/src/hooks/index.ts +2 -2
  77. package/src/{states/ChatHeaderState.ts → hooks/useChatHeader.ts} +15 -17
  78. package/src/index.ts +3 -5
  79. package/src/server/mainServer.ts +2 -2
  80. package/src/states/UIManagerState.ts +9 -9
  81. package/src/states/index.ts +0 -2
  82. package/src/styles/index.scss +0 -1
  83. package/src/types/message.ts +1 -1
  84. package/src/types/user.ts +4 -4
  85. package/vite.config.ts +4 -25
  86. package/dist/ChatSetting-LYkP2NWu.js +0 -29890
  87. package/dist/assets/fonts/iconfont.ttf +0 -0
  88. package/dist/assets/fonts/iconfont.woff +0 -0
  89. package/dist/assets/fonts/iconfont.woff2 +0 -0
  90. package/dist/components/ChatHeader/ChatHeaderActions/ChatHeaderActions.d.ts +0 -11
  91. package/dist/components/ChatHeader/ChatHeaderActions/ChatHeaderActions.js +0 -79
  92. package/dist/components/ChatHeader/ChatHeaderActions/index.d.ts +0 -1
  93. package/dist/components/ChatHeader/ChatHeaderActions/index.js +0 -4
  94. package/dist/components/IconFont/Icon.d.ts +0 -21
  95. package/dist/components/IconFont/Icon.js +0 -47
  96. package/dist/components/IconFont/index.d.ts +0 -2
  97. package/dist/components/IconFont/index.js +0 -4
  98. package/dist/external_modules/lodash-vwDjcXxQ.js +0 -0
  99. package/dist/external_modules/mui-BcA3SBHM.js +0 -2473
  100. package/dist/states/ChatHeaderState.js +0 -46
  101. package/dist/styles/ChatHeaderActions.css +0 -1
  102. package/dist/styles/ChatSetting.css +0 -1
  103. package/dist/styles/Icon2.css +0 -1
  104. package/src/assets/fonts/iconfont.ttf +0 -0
  105. package/src/assets/fonts/iconfont.woff +0 -0
  106. package/src/assets/fonts/iconfont.woff2 +0 -0
  107. package/src/components/ChatHeader/ChatHeaderActions/ChatHeaderActions.module.scss +0 -44
  108. package/src/components/ChatHeader/ChatHeaderActions/ChatHeaderActions.tsx +0 -105
  109. package/src/components/ChatHeader/ChatHeaderActions/index.ts +0 -1
  110. package/src/components/IconFont/Icon.module.scss +0 -42
  111. package/src/components/IconFont/Icon.tsx +0 -68
  112. package/src/components/IconFont/index.ts +0 -3
  113. package/src/styles/fonts/icon-font.scss +0 -18
@@ -0,0 +1,2253 @@
1
+ import * as m from "react";
2
+ import { useLayoutEffect as kt } from "react";
3
+ import { P as p } from "./react-vendors-3raCpd-g.js";
4
+ import * as et from "react-dom";
5
+ import { jsx as K, jsxs as tt } from "react/jsx-runtime";
6
+ const ue = Math.min, Y = Math.max, fe = Math.round, le = Math.floor, H = (e) => ({
7
+ x: e,
8
+ y: e
9
+ }), Mt = {
10
+ left: "right",
11
+ right: "left",
12
+ bottom: "top",
13
+ top: "bottom"
14
+ }, Lt = {
15
+ start: "end",
16
+ end: "start"
17
+ };
18
+ function Ie(e, t, o) {
19
+ return Y(e, ue(t, o));
20
+ }
21
+ function xe(e, t) {
22
+ return typeof e == "function" ? e(t) : e;
23
+ }
24
+ function G(e) {
25
+ return e.split("-")[0];
26
+ }
27
+ function we(e) {
28
+ return e.split("-")[1];
29
+ }
30
+ function nt(e) {
31
+ return e === "x" ? "y" : "x";
32
+ }
33
+ function ot(e) {
34
+ return e === "y" ? "height" : "width";
35
+ }
36
+ const Dt = /* @__PURE__ */ new Set(["top", "bottom"]);
37
+ function z(e) {
38
+ return Dt.has(G(e)) ? "y" : "x";
39
+ }
40
+ function rt(e) {
41
+ return nt(z(e));
42
+ }
43
+ function Ft(e, t, o) {
44
+ o === void 0 && (o = !1);
45
+ const n = we(e), r = rt(e), i = ot(r);
46
+ let s = r === "x" ? n === (o ? "end" : "start") ? "right" : "left" : n === "start" ? "bottom" : "top";
47
+ return t.reference[i] > t.floating[i] && (s = de(s)), [s, de(s)];
48
+ }
49
+ function It(e) {
50
+ const t = de(e);
51
+ return [Ae(e), t, Ae(t)];
52
+ }
53
+ function Ae(e) {
54
+ return e.replace(/start|end/g, (t) => Lt[t]);
55
+ }
56
+ const Ve = ["left", "right"], $e = ["right", "left"], Vt = ["top", "bottom"], $t = ["bottom", "top"];
57
+ function Bt(e, t, o) {
58
+ switch (e) {
59
+ case "top":
60
+ case "bottom":
61
+ return o ? t ? $e : Ve : t ? Ve : $e;
62
+ case "left":
63
+ case "right":
64
+ return t ? Vt : $t;
65
+ default:
66
+ return [];
67
+ }
68
+ }
69
+ function _t(e, t, o, n) {
70
+ const r = we(e);
71
+ let i = Bt(G(e), o === "start", n);
72
+ return r && (i = i.map((s) => s + "-" + r), t && (i = i.concat(i.map(Ae)))), i;
73
+ }
74
+ function de(e) {
75
+ return e.replace(/left|right|bottom|top/g, (t) => Mt[t]);
76
+ }
77
+ function Wt(e) {
78
+ return {
79
+ top: 0,
80
+ right: 0,
81
+ bottom: 0,
82
+ left: 0,
83
+ ...e
84
+ };
85
+ }
86
+ function Ht(e) {
87
+ return typeof e != "number" ? Wt(e) : {
88
+ top: e,
89
+ right: e,
90
+ bottom: e,
91
+ left: e
92
+ };
93
+ }
94
+ function pe(e) {
95
+ const {
96
+ x: t,
97
+ y: o,
98
+ width: n,
99
+ height: r
100
+ } = e;
101
+ return {
102
+ width: n,
103
+ height: r,
104
+ top: o,
105
+ left: t,
106
+ right: t + n,
107
+ bottom: o + r,
108
+ x: t,
109
+ y: o
110
+ };
111
+ }
112
+ function Be(e, t, o) {
113
+ let {
114
+ reference: n,
115
+ floating: r
116
+ } = e;
117
+ const i = z(t), s = rt(t), c = ot(s), l = G(t), a = i === "y", u = n.x + n.width / 2 - r.width / 2, f = n.y + n.height / 2 - r.height / 2, g = n[c] / 2 - r[c] / 2;
118
+ let d;
119
+ switch (l) {
120
+ case "top":
121
+ d = {
122
+ x: u,
123
+ y: n.y - r.height
124
+ };
125
+ break;
126
+ case "bottom":
127
+ d = {
128
+ x: u,
129
+ y: n.y + n.height
130
+ };
131
+ break;
132
+ case "right":
133
+ d = {
134
+ x: n.x + n.width,
135
+ y: f
136
+ };
137
+ break;
138
+ case "left":
139
+ d = {
140
+ x: n.x - r.width,
141
+ y: f
142
+ };
143
+ break;
144
+ default:
145
+ d = {
146
+ x: n.x,
147
+ y: n.y
148
+ };
149
+ }
150
+ switch (we(t)) {
151
+ case "start":
152
+ d[s] -= g * (o && a ? -1 : 1);
153
+ break;
154
+ case "end":
155
+ d[s] += g * (o && a ? -1 : 1);
156
+ break;
157
+ }
158
+ return d;
159
+ }
160
+ const jt = async (e, t, o) => {
161
+ const {
162
+ placement: n = "bottom",
163
+ strategy: r = "absolute",
164
+ middleware: i = [],
165
+ platform: s
166
+ } = o, c = i.filter(Boolean), l = await (s.isRTL == null ? void 0 : s.isRTL(t));
167
+ let a = await s.getElementRects({
168
+ reference: e,
169
+ floating: t,
170
+ strategy: r
171
+ }), {
172
+ x: u,
173
+ y: f
174
+ } = Be(a, n, l), g = n, d = {}, h = 0;
175
+ for (let x = 0; x < c.length; x++) {
176
+ const {
177
+ name: R,
178
+ fn: b
179
+ } = c[x], {
180
+ x: v,
181
+ y,
182
+ data: T,
183
+ reset: w
184
+ } = await b({
185
+ x: u,
186
+ y: f,
187
+ initialPlacement: n,
188
+ placement: g,
189
+ strategy: r,
190
+ middlewareData: d,
191
+ rects: a,
192
+ platform: s,
193
+ elements: {
194
+ reference: e,
195
+ floating: t
196
+ }
197
+ });
198
+ u = v ?? u, f = y ?? f, d = {
199
+ ...d,
200
+ [R]: {
201
+ ...d[R],
202
+ ...T
203
+ }
204
+ }, w && h <= 50 && (h++, typeof w == "object" && (w.placement && (g = w.placement), w.rects && (a = w.rects === !0 ? await s.getElementRects({
205
+ reference: e,
206
+ floating: t,
207
+ strategy: r
208
+ }) : w.rects), {
209
+ x: u,
210
+ y: f
211
+ } = Be(a, g, l)), x = -1);
212
+ }
213
+ return {
214
+ x: u,
215
+ y: f,
216
+ placement: g,
217
+ strategy: r,
218
+ middlewareData: d
219
+ };
220
+ };
221
+ async function it(e, t) {
222
+ var o;
223
+ t === void 0 && (t = {});
224
+ const {
225
+ x: n,
226
+ y: r,
227
+ platform: i,
228
+ rects: s,
229
+ elements: c,
230
+ strategy: l
231
+ } = e, {
232
+ boundary: a = "clippingAncestors",
233
+ rootBoundary: u = "viewport",
234
+ elementContext: f = "floating",
235
+ altBoundary: g = !1,
236
+ padding: d = 0
237
+ } = xe(t, e), h = Ht(d), R = c[g ? f === "floating" ? "reference" : "floating" : f], b = pe(await i.getClippingRect({
238
+ element: (o = await (i.isElement == null ? void 0 : i.isElement(R))) == null || o ? R : R.contextElement || await (i.getDocumentElement == null ? void 0 : i.getDocumentElement(c.floating)),
239
+ boundary: a,
240
+ rootBoundary: u,
241
+ strategy: l
242
+ })), v = f === "floating" ? {
243
+ x: n,
244
+ y: r,
245
+ width: s.floating.width,
246
+ height: s.floating.height
247
+ } : s.reference, y = await (i.getOffsetParent == null ? void 0 : i.getOffsetParent(c.floating)), T = await (i.isElement == null ? void 0 : i.isElement(y)) ? await (i.getScale == null ? void 0 : i.getScale(y)) || {
248
+ x: 1,
249
+ y: 1
250
+ } : {
251
+ x: 1,
252
+ y: 1
253
+ }, w = pe(i.convertOffsetParentRelativeRectToViewportRelativeRect ? await i.convertOffsetParentRelativeRectToViewportRelativeRect({
254
+ elements: c,
255
+ rect: v,
256
+ offsetParent: y,
257
+ strategy: l
258
+ }) : v);
259
+ return {
260
+ top: (b.top - w.top + h.top) / T.y,
261
+ bottom: (w.bottom - b.bottom + h.bottom) / T.y,
262
+ left: (b.left - w.left + h.left) / T.x,
263
+ right: (w.right - b.right + h.right) / T.x
264
+ };
265
+ }
266
+ const Ut = function(e) {
267
+ return e === void 0 && (e = {}), {
268
+ name: "flip",
269
+ options: e,
270
+ async fn(t) {
271
+ var o, n;
272
+ const {
273
+ placement: r,
274
+ middlewareData: i,
275
+ rects: s,
276
+ initialPlacement: c,
277
+ platform: l,
278
+ elements: a
279
+ } = t, {
280
+ mainAxis: u = !0,
281
+ crossAxis: f = !0,
282
+ fallbackPlacements: g,
283
+ fallbackStrategy: d = "bestFit",
284
+ fallbackAxisSideDirection: h = "none",
285
+ flipAlignment: x = !0,
286
+ ...R
287
+ } = xe(e, t);
288
+ if ((o = i.arrow) != null && o.alignmentOffset)
289
+ return {};
290
+ const b = G(r), v = z(c), y = G(c) === c, T = await (l.isRTL == null ? void 0 : l.isRTL(a.floating)), w = g || (y || !x ? [de(c)] : It(c)), P = h !== "none";
291
+ !g && P && w.push(..._t(c, x, h, T));
292
+ const S = [c, ...w], A = await it(t, R), L = [];
293
+ let N = ((n = i.flip) == null ? void 0 : n.overflows) || [];
294
+ if (u && L.push(A[b]), f) {
295
+ const M = Ft(r, s, T);
296
+ L.push(A[M[0]], A[M[1]]);
297
+ }
298
+ if (N = [...N, {
299
+ placement: r,
300
+ overflows: L
301
+ }], !L.every((M) => M <= 0)) {
302
+ var D, I;
303
+ const M = (((D = i.flip) == null ? void 0 : D.index) || 0) + 1, $ = S[M];
304
+ if ($ && (!(f === "alignment" ? v !== z($) : !1) || // We leave the current main axis only if every placement on that axis
305
+ // overflows the main axis.
306
+ N.every((E) => z(E.placement) === v ? E.overflows[0] > 0 : !0)))
307
+ return {
308
+ data: {
309
+ index: M,
310
+ overflows: N
311
+ },
312
+ reset: {
313
+ placement: $
314
+ }
315
+ };
316
+ let C = (I = N.filter((O) => O.overflows[0] <= 0).sort((O, E) => O.overflows[1] - E.overflows[1])[0]) == null ? void 0 : I.placement;
317
+ if (!C)
318
+ switch (d) {
319
+ case "bestFit": {
320
+ var k;
321
+ const O = (k = N.filter((E) => {
322
+ if (P) {
323
+ const F = z(E.placement);
324
+ return F === v || // Create a bias to the `y` side axis due to horizontal
325
+ // reading directions favoring greater width.
326
+ F === "y";
327
+ }
328
+ return !0;
329
+ }).map((E) => [E.placement, E.overflows.filter((F) => F > 0).reduce((F, B) => F + B, 0)]).sort((E, F) => E[1] - F[1])[0]) == null ? void 0 : k[0];
330
+ O && (C = O);
331
+ break;
332
+ }
333
+ case "initialPlacement":
334
+ C = c;
335
+ break;
336
+ }
337
+ if (r !== C)
338
+ return {
339
+ reset: {
340
+ placement: C
341
+ }
342
+ };
343
+ }
344
+ return {};
345
+ }
346
+ };
347
+ }, Kt = /* @__PURE__ */ new Set(["left", "top"]);
348
+ async function zt(e, t) {
349
+ const {
350
+ placement: o,
351
+ platform: n,
352
+ elements: r
353
+ } = e, i = await (n.isRTL == null ? void 0 : n.isRTL(r.floating)), s = G(o), c = we(o), l = z(o) === "y", a = Kt.has(s) ? -1 : 1, u = i && l ? -1 : 1, f = xe(t, e);
354
+ let {
355
+ mainAxis: g,
356
+ crossAxis: d,
357
+ alignmentAxis: h
358
+ } = typeof f == "number" ? {
359
+ mainAxis: f,
360
+ crossAxis: 0,
361
+ alignmentAxis: null
362
+ } : {
363
+ mainAxis: f.mainAxis || 0,
364
+ crossAxis: f.crossAxis || 0,
365
+ alignmentAxis: f.alignmentAxis
366
+ };
367
+ return c && typeof h == "number" && (d = c === "end" ? h * -1 : h), l ? {
368
+ x: d * u,
369
+ y: g * a
370
+ } : {
371
+ x: g * a,
372
+ y: d * u
373
+ };
374
+ }
375
+ const qt = function(e) {
376
+ return e === void 0 && (e = 0), {
377
+ name: "offset",
378
+ options: e,
379
+ async fn(t) {
380
+ var o, n;
381
+ const {
382
+ x: r,
383
+ y: i,
384
+ placement: s,
385
+ middlewareData: c
386
+ } = t, l = await zt(t, e);
387
+ return s === ((o = c.offset) == null ? void 0 : o.placement) && (n = c.arrow) != null && n.alignmentOffset ? {} : {
388
+ x: r + l.x,
389
+ y: i + l.y,
390
+ data: {
391
+ ...l,
392
+ placement: s
393
+ }
394
+ };
395
+ }
396
+ };
397
+ }, Xt = function(e) {
398
+ return e === void 0 && (e = {}), {
399
+ name: "shift",
400
+ options: e,
401
+ async fn(t) {
402
+ const {
403
+ x: o,
404
+ y: n,
405
+ placement: r
406
+ } = t, {
407
+ mainAxis: i = !0,
408
+ crossAxis: s = !1,
409
+ limiter: c = {
410
+ fn: (R) => {
411
+ let {
412
+ x: b,
413
+ y: v
414
+ } = R;
415
+ return {
416
+ x: b,
417
+ y: v
418
+ };
419
+ }
420
+ },
421
+ ...l
422
+ } = xe(e, t), a = {
423
+ x: o,
424
+ y: n
425
+ }, u = await it(t, l), f = z(G(r)), g = nt(f);
426
+ let d = a[g], h = a[f];
427
+ if (i) {
428
+ const R = g === "y" ? "top" : "left", b = g === "y" ? "bottom" : "right", v = d + u[R], y = d - u[b];
429
+ d = Ie(v, d, y);
430
+ }
431
+ if (s) {
432
+ const R = f === "y" ? "top" : "left", b = f === "y" ? "bottom" : "right", v = h + u[R], y = h - u[b];
433
+ h = Ie(v, h, y);
434
+ }
435
+ const x = c.fn({
436
+ ...t,
437
+ [g]: d,
438
+ [f]: h
439
+ });
440
+ return {
441
+ ...x,
442
+ data: {
443
+ x: x.x - o,
444
+ y: x.y - n,
445
+ enabled: {
446
+ [g]: i,
447
+ [f]: s
448
+ }
449
+ }
450
+ };
451
+ }
452
+ };
453
+ };
454
+ function Ee() {
455
+ return typeof window < "u";
456
+ }
457
+ function te(e) {
458
+ return st(e) ? (e.nodeName || "").toLowerCase() : "#document";
459
+ }
460
+ function V(e) {
461
+ var t;
462
+ return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
463
+ }
464
+ function U(e) {
465
+ var t;
466
+ return (t = (st(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement;
467
+ }
468
+ function st(e) {
469
+ return Ee() ? e instanceof Node || e instanceof V(e).Node : !1;
470
+ }
471
+ function _(e) {
472
+ return Ee() ? e instanceof Element || e instanceof V(e).Element : !1;
473
+ }
474
+ function j(e) {
475
+ return Ee() ? e instanceof HTMLElement || e instanceof V(e).HTMLElement : !1;
476
+ }
477
+ function _e(e) {
478
+ return !Ee() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof V(e).ShadowRoot;
479
+ }
480
+ const Yt = /* @__PURE__ */ new Set(["inline", "contents"]);
481
+ function ie(e) {
482
+ const {
483
+ overflow: t,
484
+ overflowX: o,
485
+ overflowY: n,
486
+ display: r
487
+ } = W(e);
488
+ return /auto|scroll|overlay|hidden|clip/.test(t + n + o) && !Yt.has(r);
489
+ }
490
+ const Gt = /* @__PURE__ */ new Set(["table", "td", "th"]);
491
+ function Zt(e) {
492
+ return Gt.has(te(e));
493
+ }
494
+ const Jt = [":popover-open", ":modal"];
495
+ function ve(e) {
496
+ return Jt.some((t) => {
497
+ try {
498
+ return e.matches(t);
499
+ } catch {
500
+ return !1;
501
+ }
502
+ });
503
+ }
504
+ const Qt = ["transform", "translate", "scale", "rotate", "perspective"], en = ["transform", "translate", "scale", "rotate", "perspective", "filter"], tn = ["paint", "layout", "strict", "content"];
505
+ function ke(e) {
506
+ const t = Me(), o = _(e) ? W(e) : e;
507
+ return Qt.some((n) => o[n] ? o[n] !== "none" : !1) || (o.containerType ? o.containerType !== "normal" : !1) || !t && (o.backdropFilter ? o.backdropFilter !== "none" : !1) || !t && (o.filter ? o.filter !== "none" : !1) || en.some((n) => (o.willChange || "").includes(n)) || tn.some((n) => (o.contain || "").includes(n));
508
+ }
509
+ function nn(e) {
510
+ let t = q(e);
511
+ for (; j(t) && !ee(t); ) {
512
+ if (ke(t))
513
+ return t;
514
+ if (ve(t))
515
+ return null;
516
+ t = q(t);
517
+ }
518
+ return null;
519
+ }
520
+ function Me() {
521
+ return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
522
+ }
523
+ const on = /* @__PURE__ */ new Set(["html", "body", "#document"]);
524
+ function ee(e) {
525
+ return on.has(te(e));
526
+ }
527
+ function W(e) {
528
+ return V(e).getComputedStyle(e);
529
+ }
530
+ function Re(e) {
531
+ return _(e) ? {
532
+ scrollLeft: e.scrollLeft,
533
+ scrollTop: e.scrollTop
534
+ } : {
535
+ scrollLeft: e.scrollX,
536
+ scrollTop: e.scrollY
537
+ };
538
+ }
539
+ function q(e) {
540
+ if (te(e) === "html")
541
+ return e;
542
+ const t = (
543
+ // Step into the shadow DOM of the parent of a slotted node.
544
+ e.assignedSlot || // DOM Element detected.
545
+ e.parentNode || // ShadowRoot detected.
546
+ _e(e) && e.host || // Fallback.
547
+ U(e)
548
+ );
549
+ return _e(t) ? t.host : t;
550
+ }
551
+ function ct(e) {
552
+ const t = q(e);
553
+ return ee(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : j(t) && ie(t) ? t : ct(t);
554
+ }
555
+ function oe(e, t, o) {
556
+ var n;
557
+ t === void 0 && (t = []), o === void 0 && (o = !0);
558
+ const r = ct(e), i = r === ((n = e.ownerDocument) == null ? void 0 : n.body), s = V(r);
559
+ if (i) {
560
+ const c = Ne(s);
561
+ return t.concat(s, s.visualViewport || [], ie(r) ? r : [], c && o ? oe(c) : []);
562
+ }
563
+ return t.concat(r, oe(r, [], o));
564
+ }
565
+ function Ne(e) {
566
+ return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null;
567
+ }
568
+ function lt(e) {
569
+ const t = W(e);
570
+ let o = parseFloat(t.width) || 0, n = parseFloat(t.height) || 0;
571
+ const r = j(e), i = r ? e.offsetWidth : o, s = r ? e.offsetHeight : n, c = fe(o) !== i || fe(n) !== s;
572
+ return c && (o = i, n = s), {
573
+ width: o,
574
+ height: n,
575
+ $: c
576
+ };
577
+ }
578
+ function Le(e) {
579
+ return _(e) ? e : e.contextElement;
580
+ }
581
+ function Q(e) {
582
+ const t = Le(e);
583
+ if (!j(t))
584
+ return H(1);
585
+ const o = t.getBoundingClientRect(), {
586
+ width: n,
587
+ height: r,
588
+ $: i
589
+ } = lt(t);
590
+ let s = (i ? fe(o.width) : o.width) / n, c = (i ? fe(o.height) : o.height) / r;
591
+ return (!s || !Number.isFinite(s)) && (s = 1), (!c || !Number.isFinite(c)) && (c = 1), {
592
+ x: s,
593
+ y: c
594
+ };
595
+ }
596
+ const rn = /* @__PURE__ */ H(0);
597
+ function at(e) {
598
+ const t = V(e);
599
+ return !Me() || !t.visualViewport ? rn : {
600
+ x: t.visualViewport.offsetLeft,
601
+ y: t.visualViewport.offsetTop
602
+ };
603
+ }
604
+ function sn(e, t, o) {
605
+ return t === void 0 && (t = !1), !o || t && o !== V(e) ? !1 : t;
606
+ }
607
+ function Z(e, t, o, n) {
608
+ t === void 0 && (t = !1), o === void 0 && (o = !1);
609
+ const r = e.getBoundingClientRect(), i = Le(e);
610
+ let s = H(1);
611
+ t && (n ? _(n) && (s = Q(n)) : s = Q(e));
612
+ const c = sn(i, o, n) ? at(i) : H(0);
613
+ let l = (r.left + c.x) / s.x, a = (r.top + c.y) / s.y, u = r.width / s.x, f = r.height / s.y;
614
+ if (i) {
615
+ const g = V(i), d = n && _(n) ? V(n) : n;
616
+ let h = g, x = Ne(h);
617
+ for (; x && n && d !== h; ) {
618
+ const R = Q(x), b = x.getBoundingClientRect(), v = W(x), y = b.left + (x.clientLeft + parseFloat(v.paddingLeft)) * R.x, T = b.top + (x.clientTop + parseFloat(v.paddingTop)) * R.y;
619
+ l *= R.x, a *= R.y, u *= R.x, f *= R.y, l += y, a += T, h = V(x), x = Ne(h);
620
+ }
621
+ }
622
+ return pe({
623
+ width: u,
624
+ height: f,
625
+ x: l,
626
+ y: a
627
+ });
628
+ }
629
+ function Te(e, t) {
630
+ const o = Re(e).scrollLeft;
631
+ return t ? t.left + o : Z(U(e)).left + o;
632
+ }
633
+ function ut(e, t) {
634
+ const o = e.getBoundingClientRect(), n = o.left + t.scrollLeft - Te(e, o), r = o.top + t.scrollTop;
635
+ return {
636
+ x: n,
637
+ y: r
638
+ };
639
+ }
640
+ function cn(e) {
641
+ let {
642
+ elements: t,
643
+ rect: o,
644
+ offsetParent: n,
645
+ strategy: r
646
+ } = e;
647
+ const i = r === "fixed", s = U(n), c = t ? ve(t.floating) : !1;
648
+ if (n === s || c && i)
649
+ return o;
650
+ let l = {
651
+ scrollLeft: 0,
652
+ scrollTop: 0
653
+ }, a = H(1);
654
+ const u = H(0), f = j(n);
655
+ if ((f || !f && !i) && ((te(n) !== "body" || ie(s)) && (l = Re(n)), j(n))) {
656
+ const d = Z(n);
657
+ a = Q(n), u.x = d.x + n.clientLeft, u.y = d.y + n.clientTop;
658
+ }
659
+ const g = s && !f && !i ? ut(s, l) : H(0);
660
+ return {
661
+ width: o.width * a.x,
662
+ height: o.height * a.y,
663
+ x: o.x * a.x - l.scrollLeft * a.x + u.x + g.x,
664
+ y: o.y * a.y - l.scrollTop * a.y + u.y + g.y
665
+ };
666
+ }
667
+ function ln(e) {
668
+ return Array.from(e.getClientRects());
669
+ }
670
+ function an(e) {
671
+ const t = U(e), o = Re(e), n = e.ownerDocument.body, r = Y(t.scrollWidth, t.clientWidth, n.scrollWidth, n.clientWidth), i = Y(t.scrollHeight, t.clientHeight, n.scrollHeight, n.clientHeight);
672
+ let s = -o.scrollLeft + Te(e);
673
+ const c = -o.scrollTop;
674
+ return W(n).direction === "rtl" && (s += Y(t.clientWidth, n.clientWidth) - r), {
675
+ width: r,
676
+ height: i,
677
+ x: s,
678
+ y: c
679
+ };
680
+ }
681
+ const We = 25;
682
+ function un(e, t) {
683
+ const o = V(e), n = U(e), r = o.visualViewport;
684
+ let i = n.clientWidth, s = n.clientHeight, c = 0, l = 0;
685
+ if (r) {
686
+ i = r.width, s = r.height;
687
+ const u = Me();
688
+ (!u || u && t === "fixed") && (c = r.offsetLeft, l = r.offsetTop);
689
+ }
690
+ const a = Te(n);
691
+ if (a <= 0) {
692
+ const u = n.ownerDocument, f = u.body, g = getComputedStyle(f), d = u.compatMode === "CSS1Compat" && parseFloat(g.marginLeft) + parseFloat(g.marginRight) || 0, h = Math.abs(n.clientWidth - f.clientWidth - d);
693
+ h <= We && (i -= h);
694
+ } else a <= We && (i += a);
695
+ return {
696
+ width: i,
697
+ height: s,
698
+ x: c,
699
+ y: l
700
+ };
701
+ }
702
+ const fn = /* @__PURE__ */ new Set(["absolute", "fixed"]);
703
+ function dn(e, t) {
704
+ const o = Z(e, !0, t === "fixed"), n = o.top + e.clientTop, r = o.left + e.clientLeft, i = j(e) ? Q(e) : H(1), s = e.clientWidth * i.x, c = e.clientHeight * i.y, l = r * i.x, a = n * i.y;
705
+ return {
706
+ width: s,
707
+ height: c,
708
+ x: l,
709
+ y: a
710
+ };
711
+ }
712
+ function He(e, t, o) {
713
+ let n;
714
+ if (t === "viewport")
715
+ n = un(e, o);
716
+ else if (t === "document")
717
+ n = an(U(e));
718
+ else if (_(t))
719
+ n = dn(t, o);
720
+ else {
721
+ const r = at(e);
722
+ n = {
723
+ x: t.x - r.x,
724
+ y: t.y - r.y,
725
+ width: t.width,
726
+ height: t.height
727
+ };
728
+ }
729
+ return pe(n);
730
+ }
731
+ function ft(e, t) {
732
+ const o = q(e);
733
+ return o === t || !_(o) || ee(o) ? !1 : W(o).position === "fixed" || ft(o, t);
734
+ }
735
+ function pn(e, t) {
736
+ const o = t.get(e);
737
+ if (o)
738
+ return o;
739
+ let n = oe(e, [], !1).filter((c) => _(c) && te(c) !== "body"), r = null;
740
+ const i = W(e).position === "fixed";
741
+ let s = i ? q(e) : e;
742
+ for (; _(s) && !ee(s); ) {
743
+ const c = W(s), l = ke(s);
744
+ !l && c.position === "fixed" && (r = null), (i ? !l && !r : !l && c.position === "static" && !!r && fn.has(r.position) || ie(s) && !l && ft(e, s)) ? n = n.filter((u) => u !== s) : r = c, s = q(s);
745
+ }
746
+ return t.set(e, n), n;
747
+ }
748
+ function mn(e) {
749
+ let {
750
+ element: t,
751
+ boundary: o,
752
+ rootBoundary: n,
753
+ strategy: r
754
+ } = e;
755
+ const s = [...o === "clippingAncestors" ? ve(t) ? [] : pn(t, this._c) : [].concat(o), n], c = s[0], l = s.reduce((a, u) => {
756
+ const f = He(t, u, r);
757
+ return a.top = Y(f.top, a.top), a.right = ue(f.right, a.right), a.bottom = ue(f.bottom, a.bottom), a.left = Y(f.left, a.left), a;
758
+ }, He(t, c, r));
759
+ return {
760
+ width: l.right - l.left,
761
+ height: l.bottom - l.top,
762
+ x: l.left,
763
+ y: l.top
764
+ };
765
+ }
766
+ function hn(e) {
767
+ const {
768
+ width: t,
769
+ height: o
770
+ } = lt(e);
771
+ return {
772
+ width: t,
773
+ height: o
774
+ };
775
+ }
776
+ function gn(e, t, o) {
777
+ const n = j(t), r = U(t), i = o === "fixed", s = Z(e, !0, i, t);
778
+ let c = {
779
+ scrollLeft: 0,
780
+ scrollTop: 0
781
+ };
782
+ const l = H(0);
783
+ function a() {
784
+ l.x = Te(r);
785
+ }
786
+ if (n || !n && !i)
787
+ if ((te(t) !== "body" || ie(r)) && (c = Re(t)), n) {
788
+ const d = Z(t, !0, i, t);
789
+ l.x = d.x + t.clientLeft, l.y = d.y + t.clientTop;
790
+ } else r && a();
791
+ i && !n && r && a();
792
+ const u = r && !n && !i ? ut(r, c) : H(0), f = s.left + c.scrollLeft - l.x - u.x, g = s.top + c.scrollTop - l.y - u.y;
793
+ return {
794
+ x: f,
795
+ y: g,
796
+ width: s.width,
797
+ height: s.height
798
+ };
799
+ }
800
+ function Ce(e) {
801
+ return W(e).position === "static";
802
+ }
803
+ function je(e, t) {
804
+ if (!j(e) || W(e).position === "fixed")
805
+ return null;
806
+ if (t)
807
+ return t(e);
808
+ let o = e.offsetParent;
809
+ return U(e) === o && (o = o.ownerDocument.body), o;
810
+ }
811
+ function dt(e, t) {
812
+ const o = V(e);
813
+ if (ve(e))
814
+ return o;
815
+ if (!j(e)) {
816
+ let r = q(e);
817
+ for (; r && !ee(r); ) {
818
+ if (_(r) && !Ce(r))
819
+ return r;
820
+ r = q(r);
821
+ }
822
+ return o;
823
+ }
824
+ let n = je(e, t);
825
+ for (; n && Zt(n) && Ce(n); )
826
+ n = je(n, t);
827
+ return n && ee(n) && Ce(n) && !ke(n) ? o : n || nn(e) || o;
828
+ }
829
+ const yn = async function(e) {
830
+ const t = this.getOffsetParent || dt, o = this.getDimensions, n = await o(e.floating);
831
+ return {
832
+ reference: gn(e.reference, await t(e.floating), e.strategy),
833
+ floating: {
834
+ x: 0,
835
+ y: 0,
836
+ width: n.width,
837
+ height: n.height
838
+ }
839
+ };
840
+ };
841
+ function bn(e) {
842
+ return W(e).direction === "rtl";
843
+ }
844
+ const xn = {
845
+ convertOffsetParentRelativeRectToViewportRelativeRect: cn,
846
+ getDocumentElement: U,
847
+ getClippingRect: mn,
848
+ getOffsetParent: dt,
849
+ getElementRects: yn,
850
+ getClientRects: ln,
851
+ getDimensions: hn,
852
+ getScale: Q,
853
+ isElement: _,
854
+ isRTL: bn
855
+ };
856
+ function pt(e, t) {
857
+ return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
858
+ }
859
+ function wn(e, t) {
860
+ let o = null, n;
861
+ const r = U(e);
862
+ function i() {
863
+ var c;
864
+ clearTimeout(n), (c = o) == null || c.disconnect(), o = null;
865
+ }
866
+ function s(c, l) {
867
+ c === void 0 && (c = !1), l === void 0 && (l = 1), i();
868
+ const a = e.getBoundingClientRect(), {
869
+ left: u,
870
+ top: f,
871
+ width: g,
872
+ height: d
873
+ } = a;
874
+ if (c || t(), !g || !d)
875
+ return;
876
+ const h = le(f), x = le(r.clientWidth - (u + g)), R = le(r.clientHeight - (f + d)), b = le(u), y = {
877
+ rootMargin: -h + "px " + -x + "px " + -R + "px " + -b + "px",
878
+ threshold: Y(0, ue(1, l)) || 1
879
+ };
880
+ let T = !0;
881
+ function w(P) {
882
+ const S = P[0].intersectionRatio;
883
+ if (S !== l) {
884
+ if (!T)
885
+ return s();
886
+ S ? s(!1, S) : n = setTimeout(() => {
887
+ s(!1, 1e-7);
888
+ }, 1e3);
889
+ }
890
+ S === 1 && !pt(a, e.getBoundingClientRect()) && s(), T = !1;
891
+ }
892
+ try {
893
+ o = new IntersectionObserver(w, {
894
+ ...y,
895
+ // Handle <iframe>s
896
+ root: r.ownerDocument
897
+ });
898
+ } catch {
899
+ o = new IntersectionObserver(w, y);
900
+ }
901
+ o.observe(e);
902
+ }
903
+ return s(!0), i;
904
+ }
905
+ function Ue(e, t, o, n) {
906
+ n === void 0 && (n = {});
907
+ const {
908
+ ancestorScroll: r = !0,
909
+ ancestorResize: i = !0,
910
+ elementResize: s = typeof ResizeObserver == "function",
911
+ layoutShift: c = typeof IntersectionObserver == "function",
912
+ animationFrame: l = !1
913
+ } = n, a = Le(e), u = r || i ? [...a ? oe(a) : [], ...oe(t)] : [];
914
+ u.forEach((b) => {
915
+ r && b.addEventListener("scroll", o, {
916
+ passive: !0
917
+ }), i && b.addEventListener("resize", o);
918
+ });
919
+ const f = a && c ? wn(a, o) : null;
920
+ let g = -1, d = null;
921
+ s && (d = new ResizeObserver((b) => {
922
+ let [v] = b;
923
+ v && v.target === a && d && (d.unobserve(t), cancelAnimationFrame(g), g = requestAnimationFrame(() => {
924
+ var y;
925
+ (y = d) == null || y.observe(t);
926
+ })), o();
927
+ }), a && !l && d.observe(a), d.observe(t));
928
+ let h, x = l ? Z(e) : null;
929
+ l && R();
930
+ function R() {
931
+ const b = Z(e);
932
+ x && !pt(x, b) && o(), x = b, h = requestAnimationFrame(R);
933
+ }
934
+ return o(), () => {
935
+ var b;
936
+ u.forEach((v) => {
937
+ r && v.removeEventListener("scroll", o), i && v.removeEventListener("resize", o);
938
+ }), f == null || f(), (b = d) == null || b.disconnect(), d = null, l && cancelAnimationFrame(h);
939
+ };
940
+ }
941
+ const En = qt, vn = Xt, Rn = Ut, Tn = (e, t, o) => {
942
+ const n = /* @__PURE__ */ new Map(), r = {
943
+ platform: xn,
944
+ ...o
945
+ }, i = {
946
+ ...r.platform,
947
+ _c: n
948
+ };
949
+ return jt(e, t, {
950
+ ...r,
951
+ platform: i
952
+ });
953
+ };
954
+ var Cn = typeof document < "u", On = function() {
955
+ }, ae = Cn ? kt : On;
956
+ function me(e, t) {
957
+ if (e === t)
958
+ return !0;
959
+ if (typeof e != typeof t)
960
+ return !1;
961
+ if (typeof e == "function" && e.toString() === t.toString())
962
+ return !0;
963
+ let o, n, r;
964
+ if (e && t && typeof e == "object") {
965
+ if (Array.isArray(e)) {
966
+ if (o = e.length, o !== t.length) return !1;
967
+ for (n = o; n-- !== 0; )
968
+ if (!me(e[n], t[n]))
969
+ return !1;
970
+ return !0;
971
+ }
972
+ if (r = Object.keys(e), o = r.length, o !== Object.keys(t).length)
973
+ return !1;
974
+ for (n = o; n-- !== 0; )
975
+ if (!{}.hasOwnProperty.call(t, r[n]))
976
+ return !1;
977
+ for (n = o; n-- !== 0; ) {
978
+ const i = r[n];
979
+ if (!(i === "_owner" && e.$$typeof) && !me(e[i], t[i]))
980
+ return !1;
981
+ }
982
+ return !0;
983
+ }
984
+ return e !== e && t !== t;
985
+ }
986
+ function mt(e) {
987
+ return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
988
+ }
989
+ function Ke(e, t) {
990
+ const o = mt(e);
991
+ return Math.round(t * o) / o;
992
+ }
993
+ function Oe(e) {
994
+ const t = m.useRef(e);
995
+ return ae(() => {
996
+ t.current = e;
997
+ }), t;
998
+ }
999
+ function Sn(e) {
1000
+ e === void 0 && (e = {});
1001
+ const {
1002
+ placement: t = "bottom",
1003
+ strategy: o = "absolute",
1004
+ middleware: n = [],
1005
+ platform: r,
1006
+ elements: {
1007
+ reference: i,
1008
+ floating: s
1009
+ } = {},
1010
+ transform: c = !0,
1011
+ whileElementsMounted: l,
1012
+ open: a
1013
+ } = e, [u, f] = m.useState({
1014
+ x: 0,
1015
+ y: 0,
1016
+ strategy: o,
1017
+ placement: t,
1018
+ middlewareData: {},
1019
+ isPositioned: !1
1020
+ }), [g, d] = m.useState(n);
1021
+ me(g, n) || d(n);
1022
+ const [h, x] = m.useState(null), [R, b] = m.useState(null), v = m.useCallback((E) => {
1023
+ E !== P.current && (P.current = E, x(E));
1024
+ }, []), y = m.useCallback((E) => {
1025
+ E !== S.current && (S.current = E, b(E));
1026
+ }, []), T = i || h, w = s || R, P = m.useRef(null), S = m.useRef(null), A = m.useRef(u), L = l != null, N = Oe(l), D = Oe(r), I = Oe(a), k = m.useCallback(() => {
1027
+ if (!P.current || !S.current)
1028
+ return;
1029
+ const E = {
1030
+ placement: t,
1031
+ strategy: o,
1032
+ middleware: g
1033
+ };
1034
+ D.current && (E.platform = D.current), Tn(P.current, S.current, E).then((F) => {
1035
+ const B = {
1036
+ ...F,
1037
+ // The floating element's position may be recomputed while it's closed
1038
+ // but still mounted (such as when transitioning out). To ensure
1039
+ // `isPositioned` will be `false` initially on the next open, avoid
1040
+ // setting it to `true` when `open === false` (must be specified).
1041
+ isPositioned: I.current !== !1
1042
+ };
1043
+ M.current && !me(A.current, B) && (A.current = B, et.flushSync(() => {
1044
+ f(B);
1045
+ }));
1046
+ });
1047
+ }, [g, t, o, D, I]);
1048
+ ae(() => {
1049
+ a === !1 && A.current.isPositioned && (A.current.isPositioned = !1, f((E) => ({
1050
+ ...E,
1051
+ isPositioned: !1
1052
+ })));
1053
+ }, [a]);
1054
+ const M = m.useRef(!1);
1055
+ ae(() => (M.current = !0, () => {
1056
+ M.current = !1;
1057
+ }), []), ae(() => {
1058
+ if (T && (P.current = T), w && (S.current = w), T && w) {
1059
+ if (N.current)
1060
+ return N.current(T, w, k);
1061
+ k();
1062
+ }
1063
+ }, [T, w, k, N, L]);
1064
+ const $ = m.useMemo(() => ({
1065
+ reference: P,
1066
+ floating: S,
1067
+ setReference: v,
1068
+ setFloating: y
1069
+ }), [v, y]), C = m.useMemo(() => ({
1070
+ reference: T,
1071
+ floating: w
1072
+ }), [T, w]), O = m.useMemo(() => {
1073
+ const E = {
1074
+ position: o,
1075
+ left: 0,
1076
+ top: 0
1077
+ };
1078
+ if (!C.floating)
1079
+ return E;
1080
+ const F = Ke(C.floating, u.x), B = Ke(C.floating, u.y);
1081
+ return c ? {
1082
+ ...E,
1083
+ transform: "translate(" + F + "px, " + B + "px)",
1084
+ ...mt(C.floating) >= 1.5 && {
1085
+ willChange: "transform"
1086
+ }
1087
+ } : {
1088
+ position: o,
1089
+ left: F,
1090
+ top: B
1091
+ };
1092
+ }, [o, c, C.floating, u.x, u.y]);
1093
+ return m.useMemo(() => ({
1094
+ ...u,
1095
+ update: k,
1096
+ refs: $,
1097
+ elements: C,
1098
+ floatingStyles: O
1099
+ }), [u, k, $, C, O]);
1100
+ }
1101
+ const ze = (e, t) => ({
1102
+ ...En(e),
1103
+ options: [e, t]
1104
+ }), An = (e, t) => ({
1105
+ ...vn(e),
1106
+ options: [e, t]
1107
+ }), Nn = (e, t) => ({
1108
+ ...Rn(e),
1109
+ options: [e, t]
1110
+ });
1111
+ function ht(e, t) {
1112
+ return process.env.NODE_ENV === "production" ? () => null : function(...n) {
1113
+ return e(...n) || t(...n);
1114
+ };
1115
+ }
1116
+ function Pn(e) {
1117
+ const {
1118
+ prototype: t = {}
1119
+ } = e;
1120
+ return !!t.isReactComponent;
1121
+ }
1122
+ function gt(e, t, o, n, r) {
1123
+ const i = e[t], s = r || t;
1124
+ if (i == null || // When server-side rendering React doesn't warn either.
1125
+ // This is not an accurate check for SSR.
1126
+ // This is only in place for Emotion compat.
1127
+ // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.
1128
+ typeof window > "u")
1129
+ return null;
1130
+ let c;
1131
+ const l = i.type;
1132
+ return typeof l == "function" && !Pn(l) && (c = "Did you accidentally use a plain function component for an element instead?"), c !== void 0 ? new Error(`Invalid ${n} \`${s}\` supplied to \`${o}\`. Expected an element that can hold a ref. ${c} For more information see https://mui.com/r/caveat-with-refs-guide`) : null;
1133
+ }
1134
+ const De = ht(p.element, gt);
1135
+ De.isRequired = ht(p.element.isRequired, gt);
1136
+ const kn = "exact-prop: ​";
1137
+ function yt(e) {
1138
+ return process.env.NODE_ENV === "production" ? e : {
1139
+ ...e,
1140
+ [kn]: (t) => {
1141
+ const o = Object.keys(t).filter((n) => !e.hasOwnProperty(n));
1142
+ return o.length > 0 ? new Error(`The following props are not supported: ${o.map((n) => `\`${n}\``).join(", ")}. Please remove them.`) : null;
1143
+ }
1144
+ };
1145
+ }
1146
+ function he(e, t, o, n, r) {
1147
+ if (process.env.NODE_ENV === "production")
1148
+ return null;
1149
+ const i = e[t], s = r || t;
1150
+ return i == null ? null : i && i.nodeType !== 1 ? new Error(`Invalid ${n} \`${s}\` supplied to \`${o}\`. Expected an HTMLElement.`) : null;
1151
+ }
1152
+ function qe(...e) {
1153
+ return e.reduce((t, o) => o == null ? t : function(...r) {
1154
+ t.apply(this, r), o.apply(this, r);
1155
+ }, () => {
1156
+ });
1157
+ }
1158
+ function J(e) {
1159
+ return e && e.ownerDocument || document;
1160
+ }
1161
+ function ge(e) {
1162
+ return J(e).defaultView || window;
1163
+ }
1164
+ function Xe(e, t) {
1165
+ typeof e == "function" ? e(t) : e && (e.current = t);
1166
+ }
1167
+ const ye = typeof window < "u" ? m.useLayoutEffect : m.useEffect;
1168
+ function Ye(e) {
1169
+ const t = m.useRef(e);
1170
+ return ye(() => {
1171
+ t.current = e;
1172
+ }), m.useRef((...o) => (
1173
+ // @ts-expect-error hide `this`
1174
+ (0, t.current)(...o)
1175
+ )).current;
1176
+ }
1177
+ function se(...e) {
1178
+ const t = m.useRef(void 0), o = m.useCallback((n) => {
1179
+ const r = e.map((i) => {
1180
+ if (i == null)
1181
+ return null;
1182
+ if (typeof i == "function") {
1183
+ const s = i, c = s(n);
1184
+ return typeof c == "function" ? c : () => {
1185
+ s(null);
1186
+ };
1187
+ }
1188
+ return i.current = n, () => {
1189
+ i.current = null;
1190
+ };
1191
+ });
1192
+ return () => {
1193
+ r.forEach((i) => i == null ? void 0 : i());
1194
+ };
1195
+ }, e);
1196
+ return m.useMemo(() => e.every((n) => n == null) ? null : (n) => {
1197
+ t.current && (t.current(), t.current = void 0), n != null && (t.current = o(n));
1198
+ }, e);
1199
+ }
1200
+ function Mn(e = window) {
1201
+ const t = e.document.documentElement.clientWidth;
1202
+ return e.innerWidth - t;
1203
+ }
1204
+ function bt(e, t, o = void 0) {
1205
+ const n = {};
1206
+ for (const r in e) {
1207
+ const i = e[r];
1208
+ let s = "", c = !0;
1209
+ for (let l = 0; l < i.length; l += 1) {
1210
+ const a = i[l];
1211
+ a && (s += (c === !0 ? "" : " ") + t(a), c = !1, o && o[a] && (s += " " + o[a]));
1212
+ }
1213
+ n[r] = s;
1214
+ }
1215
+ return n;
1216
+ }
1217
+ const Ln = {
1218
+ active: "active",
1219
+ checked: "checked",
1220
+ completed: "completed",
1221
+ disabled: "disabled",
1222
+ error: "error",
1223
+ expanded: "expanded",
1224
+ focused: "focused",
1225
+ focusVisible: "focusVisible",
1226
+ open: "open",
1227
+ readOnly: "readOnly",
1228
+ required: "required",
1229
+ selected: "selected"
1230
+ };
1231
+ function Dn(e) {
1232
+ return typeof e == "string";
1233
+ }
1234
+ function Fn(e, t, o) {
1235
+ return e === void 0 || Dn(e) ? t : {
1236
+ ...t,
1237
+ ownerState: {
1238
+ ...t.ownerState,
1239
+ ...o
1240
+ }
1241
+ };
1242
+ }
1243
+ function xt(e) {
1244
+ var t, o, n = "";
1245
+ if (typeof e == "string" || typeof e == "number") n += e;
1246
+ else if (typeof e == "object") if (Array.isArray(e)) {
1247
+ var r = e.length;
1248
+ for (t = 0; t < r; t++) e[t] && (o = xt(e[t])) && (n && (n += " "), n += o);
1249
+ } else for (o in e) e[o] && (n && (n += " "), n += o);
1250
+ return n;
1251
+ }
1252
+ function Ge() {
1253
+ for (var e, t, o = 0, n = "", r = arguments.length; o < r; o++) (e = arguments[o]) && (t = xt(e)) && (n && (n += " "), n += t);
1254
+ return n;
1255
+ }
1256
+ function wt(e, t = []) {
1257
+ if (e === void 0)
1258
+ return {};
1259
+ const o = {};
1260
+ return Object.keys(e).filter((n) => n.match(/^on[A-Z]/) && typeof e[n] == "function" && !t.includes(n)).forEach((n) => {
1261
+ o[n] = e[n];
1262
+ }), o;
1263
+ }
1264
+ function Ze(e) {
1265
+ if (e === void 0)
1266
+ return {};
1267
+ const t = {};
1268
+ return Object.keys(e).filter((o) => !(o.match(/^on[A-Z]/) && typeof e[o] == "function")).forEach((o) => {
1269
+ t[o] = e[o];
1270
+ }), t;
1271
+ }
1272
+ function In(e) {
1273
+ const {
1274
+ getSlotProps: t,
1275
+ additionalProps: o,
1276
+ externalSlotProps: n,
1277
+ externalForwardedProps: r,
1278
+ className: i
1279
+ } = e;
1280
+ if (!t) {
1281
+ const d = Ge(o == null ? void 0 : o.className, i, r == null ? void 0 : r.className, n == null ? void 0 : n.className), h = {
1282
+ ...o == null ? void 0 : o.style,
1283
+ ...r == null ? void 0 : r.style,
1284
+ ...n == null ? void 0 : n.style
1285
+ }, x = {
1286
+ ...o,
1287
+ ...r,
1288
+ ...n
1289
+ };
1290
+ return d.length > 0 && (x.className = d), Object.keys(h).length > 0 && (x.style = h), {
1291
+ props: x,
1292
+ internalRef: void 0
1293
+ };
1294
+ }
1295
+ const s = wt({
1296
+ ...r,
1297
+ ...n
1298
+ }), c = Ze(n), l = Ze(r), a = t(s), u = Ge(a == null ? void 0 : a.className, o == null ? void 0 : o.className, i, r == null ? void 0 : r.className, n == null ? void 0 : n.className), f = {
1299
+ ...a == null ? void 0 : a.style,
1300
+ ...o == null ? void 0 : o.style,
1301
+ ...r == null ? void 0 : r.style,
1302
+ ...n == null ? void 0 : n.style
1303
+ }, g = {
1304
+ ...a,
1305
+ ...o,
1306
+ ...l,
1307
+ ...c
1308
+ };
1309
+ return u.length > 0 && (g.className = u), Object.keys(f).length > 0 && (g.style = f), {
1310
+ props: g,
1311
+ internalRef: a.ref
1312
+ };
1313
+ }
1314
+ function Vn(e, t, o) {
1315
+ return typeof e == "function" ? e(t, o) : e;
1316
+ }
1317
+ function Pe(e) {
1318
+ var f;
1319
+ const {
1320
+ elementType: t,
1321
+ externalSlotProps: o,
1322
+ ownerState: n,
1323
+ skipResolvingSlotProps: r = !1,
1324
+ ...i
1325
+ } = e, s = r ? {} : Vn(o, n), {
1326
+ props: c,
1327
+ internalRef: l
1328
+ } = In({
1329
+ ...i,
1330
+ externalSlotProps: s
1331
+ }), a = se(l, s == null ? void 0 : s.ref, (f = e.additionalProps) == null ? void 0 : f.ref);
1332
+ return Fn(t, {
1333
+ ...c,
1334
+ ref: a
1335
+ }, n);
1336
+ }
1337
+ function Et(e) {
1338
+ var t;
1339
+ return parseInt(m.version, 10) >= 19 ? ((t = e == null ? void 0 : e.props) == null ? void 0 : t.ref) || null : (e == null ? void 0 : e.ref) || null;
1340
+ }
1341
+ function $n(e) {
1342
+ return typeof e == "function" ? e() : e;
1343
+ }
1344
+ const re = /* @__PURE__ */ m.forwardRef(function(t, o) {
1345
+ const {
1346
+ children: n,
1347
+ container: r,
1348
+ disablePortal: i = !1
1349
+ } = t, [s, c] = m.useState(null), l = se(/* @__PURE__ */ m.isValidElement(n) ? Et(n) : null, o);
1350
+ if (ye(() => {
1351
+ i || c($n(r) || document.body);
1352
+ }, [r, i]), ye(() => {
1353
+ if (s && !i)
1354
+ return Xe(o, s), () => {
1355
+ Xe(o, null);
1356
+ };
1357
+ }, [o, s, i]), i) {
1358
+ if (/* @__PURE__ */ m.isValidElement(n)) {
1359
+ const a = {
1360
+ ref: l
1361
+ };
1362
+ return /* @__PURE__ */ m.cloneElement(n, a);
1363
+ }
1364
+ return n;
1365
+ }
1366
+ return s && /* @__PURE__ */ et.createPortal(n, s);
1367
+ });
1368
+ process.env.NODE_ENV !== "production" && (re.propTypes = {
1369
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1370
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1371
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
1372
+ // └─────────────────────────────────────────────────────────────────────┘
1373
+ /**
1374
+ * The children to render into the `container`.
1375
+ */
1376
+ children: p.node,
1377
+ /**
1378
+ * An HTML element or function that returns one.
1379
+ * The `container` will have the portal children appended to it.
1380
+ *
1381
+ * You can also provide a callback, which is called in a React layout effect.
1382
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
1383
+ *
1384
+ * By default, it uses the body of the top-level document object,
1385
+ * so it's simply `document.body` most of the time.
1386
+ */
1387
+ container: p.oneOfType([he, p.func]),
1388
+ /**
1389
+ * The `children` will be under the DOM hierarchy of the parent component.
1390
+ * @default false
1391
+ */
1392
+ disablePortal: p.bool
1393
+ });
1394
+ process.env.NODE_ENV !== "production" && (re.propTypes = yt(re.propTypes));
1395
+ const Bn = {
1396
+ disableDefaultClasses: !1
1397
+ }, vt = /* @__PURE__ */ m.createContext(Bn);
1398
+ process.env.NODE_ENV !== "production" && (vt.displayName = "ClassNameConfiguratorContext");
1399
+ function Rt(e) {
1400
+ const {
1401
+ disableDefaultClasses: t
1402
+ } = m.useContext(vt);
1403
+ return (o) => t ? "" : e(o);
1404
+ }
1405
+ const Tt = "base";
1406
+ function _n(e) {
1407
+ return `${Tt}--${e}`;
1408
+ }
1409
+ function Wn(e, t) {
1410
+ return `${Tt}-${e}-${t}`;
1411
+ }
1412
+ function Fe(e, t) {
1413
+ const o = Ln[t];
1414
+ return o ? _n(o) : Wn(e, t);
1415
+ }
1416
+ function Ct(e, t) {
1417
+ const o = {};
1418
+ return t.forEach((n) => {
1419
+ o[n] = Fe(e, n);
1420
+ }), o;
1421
+ }
1422
+ const Ot = "Popup";
1423
+ function Hn(e) {
1424
+ return Fe(Ot, e);
1425
+ }
1426
+ Ct(Ot, ["root", "open"]);
1427
+ const St = /* @__PURE__ */ m.createContext(null);
1428
+ process.env.NODE_ENV !== "production" && (St.displayName = "TransitionContext");
1429
+ function jn(e) {
1430
+ const [t, o] = m.useState(!0), n = m.useRef(!1), r = m.useRef(0), [i, s] = m.useState(!1), c = m.useRef(e);
1431
+ m.useEffect(() => {
1432
+ !e && // checking registeredTransitions.current instead of hasTransition to avoid this effect re-firing whenever hasTransition changes
1433
+ r.current > 0 && // prevents waiting for a pending transition right after mounting
1434
+ c.current !== e && (n.current = !0, o(!1)), c.current = e;
1435
+ }, [e]);
1436
+ const l = m.useCallback(() => {
1437
+ n.current = !1, o(!0);
1438
+ }, []), a = m.useCallback(() => (r.current += 1, s(!0), () => {
1439
+ r.current -= 1, r.current === 0 && s(!1);
1440
+ }), []);
1441
+ let u;
1442
+ return i ? e ? u = !1 : u = !n.current && t : u = !e, {
1443
+ contextValue: m.useMemo(() => ({
1444
+ requestedEnter: e,
1445
+ onExited: l,
1446
+ registerTransition: a,
1447
+ hasExited: u
1448
+ }), [l, e, a, u]),
1449
+ hasExited: u
1450
+ };
1451
+ }
1452
+ const At = /* @__PURE__ */ m.createContext(null);
1453
+ process.env.NODE_ENV !== "production" && (At.displayName = "PopupContext");
1454
+ function Un(e) {
1455
+ const {
1456
+ open: t
1457
+ } = e;
1458
+ return bt({
1459
+ root: ["root", t && "open"]
1460
+ }, Rt(Hn));
1461
+ }
1462
+ function Kn(e) {
1463
+ return typeof e == "function" ? e() : e;
1464
+ }
1465
+ const zn = /* @__PURE__ */ m.forwardRef(function(t, o) {
1466
+ const {
1467
+ anchor: n,
1468
+ children: r,
1469
+ container: i,
1470
+ disablePortal: s = !1,
1471
+ keepMounted: c = !1,
1472
+ middleware: l,
1473
+ offset: a = 0,
1474
+ open: u = !1,
1475
+ placement: f = "bottom",
1476
+ slotProps: g = {},
1477
+ slots: d = {},
1478
+ strategy: h = "absolute",
1479
+ ...x
1480
+ } = t, {
1481
+ refs: R,
1482
+ elements: b,
1483
+ floatingStyles: v,
1484
+ update: y,
1485
+ placement: T
1486
+ } = Sn({
1487
+ elements: {
1488
+ reference: Kn(n)
1489
+ },
1490
+ open: u,
1491
+ middleware: l ?? [ze(a ?? 0), Nn(), An()],
1492
+ placement: f,
1493
+ strategy: h,
1494
+ whileElementsMounted: c ? void 0 : Ue
1495
+ }), w = se(R.setFloating, o);
1496
+ ye(() => {
1497
+ if (c && u && b.reference && b.floating)
1498
+ return Ue(b.reference, b.floating, y);
1499
+ }, [c, u, b, y]);
1500
+ const P = {
1501
+ ...t,
1502
+ disablePortal: s,
1503
+ keepMounted: c,
1504
+ offset: ze,
1505
+ open: u,
1506
+ placement: f,
1507
+ finalPlacement: T,
1508
+ strategy: h
1509
+ }, {
1510
+ contextValue: S,
1511
+ hasExited: A
1512
+ } = jn(u), L = c && A ? "hidden" : void 0, N = Un(P), D = (d == null ? void 0 : d.root) ?? "div", I = Pe({
1513
+ elementType: D,
1514
+ externalSlotProps: g.root,
1515
+ externalForwardedProps: x,
1516
+ ownerState: P,
1517
+ className: N.root,
1518
+ additionalProps: {
1519
+ ref: w,
1520
+ role: "tooltip",
1521
+ style: {
1522
+ ...v,
1523
+ visibility: L
1524
+ }
1525
+ }
1526
+ }), k = m.useMemo(() => ({
1527
+ placement: T
1528
+ }), [T]);
1529
+ return c || !A ? /* @__PURE__ */ K(re, {
1530
+ disablePortal: s,
1531
+ container: i,
1532
+ children: /* @__PURE__ */ K(At.Provider, {
1533
+ value: k,
1534
+ children: /* @__PURE__ */ K(St.Provider, {
1535
+ value: S,
1536
+ children: /* @__PURE__ */ K(D, {
1537
+ ...I,
1538
+ children: r
1539
+ })
1540
+ })
1541
+ })
1542
+ }) : null;
1543
+ });
1544
+ process.env.NODE_ENV !== "production" && (zn.propTypes = {
1545
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1546
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1547
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
1548
+ // └─────────────────────────────────────────────────────────────────────┘
1549
+ /**
1550
+ * An HTML element, [virtual element](https://floating-ui.com/docs/virtual-elements),
1551
+ * or a function that returns either.
1552
+ * It's used to set the position of the popup.
1553
+ */
1554
+ anchor: p.oneOfType([he, p.object, p.func]),
1555
+ /**
1556
+ * @ignore
1557
+ */
1558
+ children: p.oneOfType([p.node, p.func]),
1559
+ /**
1560
+ * An HTML element or function that returns one. The container will have the portal children appended to it.
1561
+ * By default, it uses the body of the top-level document object, so it's `document.body` in these cases.
1562
+ */
1563
+ container: p.oneOfType([he, p.func]),
1564
+ /**
1565
+ * If `true`, the popup will be rendered where it is defined, without the use of portals.
1566
+ * @default false
1567
+ */
1568
+ disablePortal: p.bool,
1569
+ /**
1570
+ * If `true`, the popup will exist in the DOM even if it's closed.
1571
+ * Its visibility will be controlled by the `visibility` CSS property.
1572
+ *
1573
+ * Otherwise, a closed popup will be removed from the DOM.
1574
+ *
1575
+ * @default false
1576
+ */
1577
+ keepMounted: p.bool,
1578
+ /**
1579
+ * Collection of Floating UI middleware to use when positioning the popup.
1580
+ * If not provided, the [`offset`](https://floating-ui.com/docs/offset)
1581
+ * and [`flip`](https://floating-ui.com/docs/flip) functions will be used.
1582
+ *
1583
+ * @see https://floating-ui.com/docs/computePosition#middleware
1584
+ */
1585
+ middleware: p.arrayOf(p.oneOfType([p.oneOf([!1]), p.shape({
1586
+ fn: p.func.isRequired,
1587
+ name: p.string.isRequired,
1588
+ options: p.any
1589
+ })])),
1590
+ /**
1591
+ * Distance between a popup and the trigger element.
1592
+ * This prop is ignored when custom `middleware` is provided.
1593
+ *
1594
+ * @default 0
1595
+ * @see https://floating-ui.com/docs/offset
1596
+ */
1597
+ offset: p.oneOfType([p.func, p.number, p.shape({
1598
+ alignmentAxis: p.number,
1599
+ crossAxis: p.number,
1600
+ mainAxis: p.number
1601
+ })]),
1602
+ /**
1603
+ * If `true`, the popup is visible.
1604
+ *
1605
+ * @default false
1606
+ */
1607
+ open: p.bool,
1608
+ /**
1609
+ * Determines where to place the popup relative to the trigger element.
1610
+ *
1611
+ * @default 'bottom'
1612
+ * @see https://floating-ui.com/docs/computePosition#placement
1613
+ */
1614
+ placement: p.oneOf(["bottom-end", "bottom-start", "bottom", "left-end", "left-start", "left", "right-end", "right-start", "right", "top-end", "top-start", "top"]),
1615
+ /**
1616
+ * The props used for each slot inside the Popup.
1617
+ *
1618
+ * @default {}
1619
+ */
1620
+ slotProps: p.shape({
1621
+ root: p.oneOfType([p.func, p.object])
1622
+ }),
1623
+ /**
1624
+ * The components used for each slot inside the Popup.
1625
+ * Either a string to use a HTML element or a component.
1626
+ *
1627
+ * @default {}
1628
+ */
1629
+ slots: p.shape({
1630
+ root: p.elementType
1631
+ }),
1632
+ /**
1633
+ * The type of CSS position property to use (absolute or fixed).
1634
+ *
1635
+ * @default 'absolute'
1636
+ * @see https://floating-ui.com/docs/computePosition#strategy
1637
+ */
1638
+ strategy: p.oneOf(["absolute", "fixed"])
1639
+ });
1640
+ function qn(e) {
1641
+ const t = J(e);
1642
+ return t.body === e ? ge(e).innerWidth > t.documentElement.clientWidth : e.scrollHeight > e.clientHeight;
1643
+ }
1644
+ function ne(e, t) {
1645
+ t ? e.setAttribute("aria-hidden", "true") : e.removeAttribute("aria-hidden");
1646
+ }
1647
+ function Je(e) {
1648
+ return parseInt(ge(e).getComputedStyle(e).paddingRight, 10) || 0;
1649
+ }
1650
+ function Xn(e) {
1651
+ const o = ["TEMPLATE", "SCRIPT", "STYLE", "LINK", "MAP", "META", "NOSCRIPT", "PICTURE", "COL", "COLGROUP", "PARAM", "SLOT", "SOURCE", "TRACK"].includes(e.tagName), n = e.tagName === "INPUT" && e.getAttribute("type") === "hidden";
1652
+ return o || n;
1653
+ }
1654
+ function Qe(e, t, o, n, r) {
1655
+ const i = [t, o, ...n];
1656
+ [].forEach.call(e.children, (s) => {
1657
+ const c = !i.includes(s), l = !Xn(s);
1658
+ c && l && ne(s, r);
1659
+ });
1660
+ }
1661
+ function Se(e, t) {
1662
+ let o = -1;
1663
+ return e.some((n, r) => t(n) ? (o = r, !0) : !1), o;
1664
+ }
1665
+ function Yn(e, t) {
1666
+ const o = [], n = e.container;
1667
+ if (!t.disableScrollLock) {
1668
+ if (qn(n)) {
1669
+ const s = Mn(ge(n));
1670
+ o.push({
1671
+ value: n.style.paddingRight,
1672
+ property: "padding-right",
1673
+ el: n
1674
+ }), n.style.paddingRight = `${Je(n) + s}px`;
1675
+ const c = J(n).querySelectorAll(".mui-fixed");
1676
+ [].forEach.call(c, (l) => {
1677
+ o.push({
1678
+ value: l.style.paddingRight,
1679
+ property: "padding-right",
1680
+ el: l
1681
+ }), l.style.paddingRight = `${Je(l) + s}px`;
1682
+ });
1683
+ }
1684
+ let i;
1685
+ if (n.parentNode instanceof DocumentFragment)
1686
+ i = J(n).body;
1687
+ else {
1688
+ const s = n.parentElement, c = ge(n);
1689
+ i = (s == null ? void 0 : s.nodeName) === "HTML" && c.getComputedStyle(s).overflowY === "scroll" ? s : n;
1690
+ }
1691
+ o.push({
1692
+ value: i.style.overflow,
1693
+ property: "overflow",
1694
+ el: i
1695
+ }, {
1696
+ value: i.style.overflowX,
1697
+ property: "overflow-x",
1698
+ el: i
1699
+ }, {
1700
+ value: i.style.overflowY,
1701
+ property: "overflow-y",
1702
+ el: i
1703
+ }), i.style.overflow = "hidden";
1704
+ }
1705
+ return () => {
1706
+ o.forEach(({
1707
+ value: i,
1708
+ el: s,
1709
+ property: c
1710
+ }) => {
1711
+ i ? s.style.setProperty(c, i) : s.style.removeProperty(c);
1712
+ });
1713
+ };
1714
+ }
1715
+ function Gn(e) {
1716
+ const t = [];
1717
+ return [].forEach.call(e.children, (o) => {
1718
+ o.getAttribute("aria-hidden") === "true" && t.push(o);
1719
+ }), t;
1720
+ }
1721
+ class Zn {
1722
+ constructor() {
1723
+ this.modals = [], this.containers = [];
1724
+ }
1725
+ add(t, o) {
1726
+ let n = this.modals.indexOf(t);
1727
+ if (n !== -1)
1728
+ return n;
1729
+ n = this.modals.length, this.modals.push(t), t.modalRef && ne(t.modalRef, !1);
1730
+ const r = Gn(o);
1731
+ Qe(o, t.mount, t.modalRef, r, !0);
1732
+ const i = Se(this.containers, (s) => s.container === o);
1733
+ return i !== -1 ? (this.containers[i].modals.push(t), n) : (this.containers.push({
1734
+ modals: [t],
1735
+ container: o,
1736
+ restore: null,
1737
+ hiddenSiblings: r
1738
+ }), n);
1739
+ }
1740
+ mount(t, o) {
1741
+ const n = Se(this.containers, (i) => i.modals.includes(t)), r = this.containers[n];
1742
+ r.restore || (r.restore = Yn(r, o));
1743
+ }
1744
+ remove(t, o = !0) {
1745
+ const n = this.modals.indexOf(t);
1746
+ if (n === -1)
1747
+ return n;
1748
+ const r = Se(this.containers, (s) => s.modals.includes(t)), i = this.containers[r];
1749
+ if (i.modals.splice(i.modals.indexOf(t), 1), this.modals.splice(n, 1), i.modals.length === 0)
1750
+ i.restore && i.restore(), t.modalRef && ne(t.modalRef, o), Qe(i.container, t.mount, t.modalRef, i.hiddenSiblings, !1), this.containers.splice(r, 1);
1751
+ else {
1752
+ const s = i.modals[i.modals.length - 1];
1753
+ s.modalRef && ne(s.modalRef, !1);
1754
+ }
1755
+ return n;
1756
+ }
1757
+ isTopModal(t) {
1758
+ return this.modals.length > 0 && this.modals[this.modals.length - 1] === t;
1759
+ }
1760
+ }
1761
+ function Jn(e) {
1762
+ return typeof e == "function" ? e() : e;
1763
+ }
1764
+ function Qn(e) {
1765
+ return e ? e.props.hasOwnProperty("in") : !1;
1766
+ }
1767
+ const eo = new Zn();
1768
+ function to(e) {
1769
+ const {
1770
+ container: t,
1771
+ disableEscapeKeyDown: o = !1,
1772
+ disableScrollLock: n = !1,
1773
+ // @ts-ignore internal logic - Base UI supports the manager as a prop too
1774
+ manager: r = eo,
1775
+ closeAfterTransition: i = !1,
1776
+ onTransitionEnter: s,
1777
+ onTransitionExited: c,
1778
+ children: l,
1779
+ onClose: a,
1780
+ open: u,
1781
+ rootRef: f
1782
+ } = e, g = m.useRef({}), d = m.useRef(null), h = m.useRef(null), x = se(h, f), [R, b] = m.useState(!u), v = Qn(l);
1783
+ let y = !0;
1784
+ (e["aria-hidden"] === "false" || e["aria-hidden"] === !1) && (y = !1);
1785
+ const T = () => J(d.current), w = () => (g.current.modalRef = h.current, g.current.mount = d.current, g.current), P = () => {
1786
+ r.mount(w(), {
1787
+ disableScrollLock: n
1788
+ }), h.current && (h.current.scrollTop = 0);
1789
+ }, S = Ye(() => {
1790
+ const C = Jn(t) || T().body;
1791
+ r.add(w(), C), h.current && P();
1792
+ }), A = m.useCallback(() => r.isTopModal(w()), [r]), L = Ye((C) => {
1793
+ d.current = C, C && (u && A() ? P() : h.current && ne(h.current, y));
1794
+ }), N = m.useCallback(() => {
1795
+ r.remove(w(), y);
1796
+ }, [y, r]);
1797
+ m.useEffect(() => () => {
1798
+ N();
1799
+ }, [N]), m.useEffect(() => {
1800
+ u ? S() : (!v || !i) && N();
1801
+ }, [u, N, v, i, S]);
1802
+ const D = (C) => (O) => {
1803
+ var E;
1804
+ (E = C.onKeyDown) == null || E.call(C, O), !(O.key !== "Escape" || O.which === 229 || // Wait until IME is settled.
1805
+ !A()) && (o || (O.stopPropagation(), a && a(O, "escapeKeyDown")));
1806
+ }, I = (C) => (O) => {
1807
+ var E;
1808
+ (E = C.onClick) == null || E.call(C, O), O.target === O.currentTarget && a && a(O, "backdropClick");
1809
+ };
1810
+ return {
1811
+ getRootProps: (C = {}) => {
1812
+ const O = wt(e);
1813
+ delete O.onTransitionEnter, delete O.onTransitionExited;
1814
+ const E = {
1815
+ ...O,
1816
+ ...C
1817
+ };
1818
+ return {
1819
+ /*
1820
+ * Marking an element with the role presentation indicates to assistive technology
1821
+ * that this element should be ignored; it exists to support the web application and
1822
+ * is not meant for humans to interact with directly.
1823
+ * https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-static-element-interactions.md
1824
+ */
1825
+ role: "presentation",
1826
+ ...E,
1827
+ onKeyDown: D(E),
1828
+ ref: x
1829
+ };
1830
+ },
1831
+ getBackdropProps: (C = {}) => {
1832
+ const O = C;
1833
+ return {
1834
+ "aria-hidden": !0,
1835
+ ...O,
1836
+ onClick: I(O),
1837
+ open: u
1838
+ };
1839
+ },
1840
+ getTransitionProps: () => {
1841
+ const C = () => {
1842
+ b(!1), s && s();
1843
+ }, O = () => {
1844
+ b(!0), c && c(), i && N();
1845
+ };
1846
+ return {
1847
+ onEnter: qe(C, l == null ? void 0 : l.props.onEnter),
1848
+ onExited: qe(O, l == null ? void 0 : l.props.onExited)
1849
+ };
1850
+ },
1851
+ rootRef: x,
1852
+ portalRef: L,
1853
+ isTopModal: A,
1854
+ exited: R,
1855
+ hasTransition: v
1856
+ };
1857
+ }
1858
+ const no = ["input", "select", "textarea", "a[href]", "button", "[tabindex]", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])'].join(",");
1859
+ function oo(e) {
1860
+ const t = parseInt(e.getAttribute("tabindex") || "", 10);
1861
+ return Number.isNaN(t) ? e.contentEditable === "true" || (e.nodeName === "AUDIO" || e.nodeName === "VIDEO" || e.nodeName === "DETAILS") && e.getAttribute("tabindex") === null ? 0 : e.tabIndex : t;
1862
+ }
1863
+ function ro(e) {
1864
+ if (e.tagName !== "INPUT" || e.type !== "radio" || !e.name)
1865
+ return !1;
1866
+ const t = (n) => e.ownerDocument.querySelector(`input[type="radio"]${n}`);
1867
+ let o = t(`[name="${e.name}"]:checked`);
1868
+ return o || (o = t(`[name="${e.name}"]`)), o !== e;
1869
+ }
1870
+ function io(e) {
1871
+ return !(e.disabled || e.tagName === "INPUT" && e.type === "hidden" || ro(e));
1872
+ }
1873
+ function so(e) {
1874
+ const t = [], o = [];
1875
+ return Array.from(e.querySelectorAll(no)).forEach((n, r) => {
1876
+ const i = oo(n);
1877
+ i === -1 || !io(n) || (i === 0 ? t.push(n) : o.push({
1878
+ documentOrder: r,
1879
+ tabIndex: i,
1880
+ node: n
1881
+ }));
1882
+ }), o.sort((n, r) => n.tabIndex === r.tabIndex ? n.documentOrder - r.documentOrder : n.tabIndex - r.tabIndex).map((n) => n.node).concat(t);
1883
+ }
1884
+ function co() {
1885
+ return !0;
1886
+ }
1887
+ function be(e) {
1888
+ const {
1889
+ children: t,
1890
+ disableAutoFocus: o = !1,
1891
+ disableEnforceFocus: n = !1,
1892
+ disableRestoreFocus: r = !1,
1893
+ getTabbable: i = so,
1894
+ isEnabled: s = co,
1895
+ open: c
1896
+ } = e, l = m.useRef(!1), a = m.useRef(null), u = m.useRef(null), f = m.useRef(null), g = m.useRef(null), d = m.useRef(!1), h = m.useRef(null), x = se(Et(t), h), R = m.useRef(null);
1897
+ m.useEffect(() => {
1898
+ !c || !h.current || (d.current = !o);
1899
+ }, [o, c]), m.useEffect(() => {
1900
+ if (!c || !h.current)
1901
+ return;
1902
+ const y = J(h.current);
1903
+ return h.current.contains(y.activeElement) || (h.current.hasAttribute("tabIndex") || (process.env.NODE_ENV !== "production" && console.error(["MUI: The modal content node does not accept focus.", 'For the benefit of assistive technologies, the tabIndex of the node is being set to "-1".'].join(`
1904
+ `)), h.current.setAttribute("tabIndex", "-1")), d.current && h.current.focus()), () => {
1905
+ r || (f.current && f.current.focus && (l.current = !0, f.current.focus()), f.current = null);
1906
+ };
1907
+ }, [c]), m.useEffect(() => {
1908
+ if (!c || !h.current)
1909
+ return;
1910
+ const y = J(h.current), T = (S) => {
1911
+ R.current = S, !(n || !s() || S.key !== "Tab") && y.activeElement === h.current && S.shiftKey && (l.current = !0, u.current && u.current.focus());
1912
+ }, w = () => {
1913
+ var L, N;
1914
+ const S = h.current;
1915
+ if (S === null)
1916
+ return;
1917
+ if (!y.hasFocus() || !s() || l.current) {
1918
+ l.current = !1;
1919
+ return;
1920
+ }
1921
+ if (S.contains(y.activeElement) || n && y.activeElement !== a.current && y.activeElement !== u.current)
1922
+ return;
1923
+ if (y.activeElement !== g.current)
1924
+ g.current = null;
1925
+ else if (g.current !== null)
1926
+ return;
1927
+ if (!d.current)
1928
+ return;
1929
+ let A = [];
1930
+ if ((y.activeElement === a.current || y.activeElement === u.current) && (A = i(h.current)), A.length > 0) {
1931
+ const D = !!((L = R.current) != null && L.shiftKey && ((N = R.current) == null ? void 0 : N.key) === "Tab"), I = A[0], k = A[A.length - 1];
1932
+ typeof I != "string" && typeof k != "string" && (D ? k.focus() : I.focus());
1933
+ } else
1934
+ S.focus();
1935
+ };
1936
+ y.addEventListener("focusin", w), y.addEventListener("keydown", T, !0);
1937
+ const P = setInterval(() => {
1938
+ y.activeElement && y.activeElement.tagName === "BODY" && w();
1939
+ }, 50);
1940
+ return () => {
1941
+ clearInterval(P), y.removeEventListener("focusin", w), y.removeEventListener("keydown", T, !0);
1942
+ };
1943
+ }, [o, n, r, s, c, i]);
1944
+ const b = (y) => {
1945
+ f.current === null && (f.current = y.relatedTarget), d.current = !0, g.current = y.target;
1946
+ const T = t.props.onFocus;
1947
+ T && T(y);
1948
+ }, v = (y) => {
1949
+ f.current === null && (f.current = y.relatedTarget), d.current = !0;
1950
+ };
1951
+ return /* @__PURE__ */ tt(m.Fragment, {
1952
+ children: [/* @__PURE__ */ K("div", {
1953
+ tabIndex: c ? 0 : -1,
1954
+ onFocus: v,
1955
+ ref: a,
1956
+ "data-testid": "sentinelStart"
1957
+ }), /* @__PURE__ */ m.cloneElement(t, {
1958
+ ref: x,
1959
+ onFocus: b
1960
+ }), /* @__PURE__ */ K("div", {
1961
+ tabIndex: c ? 0 : -1,
1962
+ onFocus: v,
1963
+ ref: u,
1964
+ "data-testid": "sentinelEnd"
1965
+ })]
1966
+ });
1967
+ }
1968
+ process.env.NODE_ENV !== "production" && (be.propTypes = {
1969
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1970
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1971
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
1972
+ // └─────────────────────────────────────────────────────────────────────┘
1973
+ /**
1974
+ * A single child content element.
1975
+ */
1976
+ children: De,
1977
+ /**
1978
+ * If `true`, the focus trap will not automatically shift focus to itself when it opens, and
1979
+ * replace it to the last focused element when it closes.
1980
+ * This also works correctly with any focus trap children that have the `disableAutoFocus` prop.
1981
+ *
1982
+ * Generally this should never be set to `true` as it makes the focus trap less
1983
+ * accessible to assistive technologies, like screen readers.
1984
+ * @default false
1985
+ */
1986
+ disableAutoFocus: p.bool,
1987
+ /**
1988
+ * If `true`, the focus trap will not prevent focus from leaving the focus trap while open.
1989
+ *
1990
+ * Generally this should never be set to `true` as it makes the focus trap less
1991
+ * accessible to assistive technologies, like screen readers.
1992
+ * @default false
1993
+ */
1994
+ disableEnforceFocus: p.bool,
1995
+ /**
1996
+ * If `true`, the focus trap will not restore focus to previously focused element once
1997
+ * focus trap is hidden or unmounted.
1998
+ * @default false
1999
+ */
2000
+ disableRestoreFocus: p.bool,
2001
+ /**
2002
+ * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.
2003
+ * For instance, you can provide the "tabbable" npm dependency.
2004
+ * @param {HTMLElement} root
2005
+ */
2006
+ getTabbable: p.func,
2007
+ /**
2008
+ * This prop extends the `open` prop.
2009
+ * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.
2010
+ * This prop should be memoized.
2011
+ * It can be used to support multiple focus trap mounted at the same time.
2012
+ * @default function defaultIsEnabled(): boolean {
2013
+ * return true;
2014
+ * }
2015
+ */
2016
+ isEnabled: p.func,
2017
+ /**
2018
+ * If `true`, focus is locked.
2019
+ */
2020
+ open: p.bool.isRequired
2021
+ });
2022
+ process.env.NODE_ENV !== "production" && (be.propTypes = yt(be.propTypes));
2023
+ const Nt = "Modal";
2024
+ function lo(e) {
2025
+ return Fe(Nt, e);
2026
+ }
2027
+ Ct(Nt, ["root", "hidden", "backdrop"]);
2028
+ const ao = (e) => {
2029
+ const {
2030
+ open: t,
2031
+ exited: o
2032
+ } = e;
2033
+ return bt({
2034
+ root: ["root", !t && o && "hidden"],
2035
+ backdrop: ["backdrop"]
2036
+ }, Rt(lo));
2037
+ }, uo = /* @__PURE__ */ m.forwardRef(function(t, o) {
2038
+ const {
2039
+ children: n,
2040
+ closeAfterTransition: r = !1,
2041
+ container: i,
2042
+ disableAutoFocus: s = !1,
2043
+ disableEnforceFocus: c = !1,
2044
+ disableEscapeKeyDown: l = !1,
2045
+ disablePortal: a = !1,
2046
+ disableRestoreFocus: u = !1,
2047
+ disableScrollLock: f = !1,
2048
+ hideBackdrop: g = !1,
2049
+ keepMounted: d = !1,
2050
+ onBackdropClick: h,
2051
+ onClose: x,
2052
+ onKeyDown: R,
2053
+ open: b,
2054
+ onTransitionEnter: v,
2055
+ onTransitionExited: y,
2056
+ slotProps: T = {},
2057
+ slots: w = {},
2058
+ ...P
2059
+ } = t, S = {
2060
+ ...t,
2061
+ closeAfterTransition: r,
2062
+ disableAutoFocus: s,
2063
+ disableEnforceFocus: c,
2064
+ disableEscapeKeyDown: l,
2065
+ disablePortal: a,
2066
+ disableRestoreFocus: u,
2067
+ disableScrollLock: f,
2068
+ hideBackdrop: g,
2069
+ keepMounted: d
2070
+ }, {
2071
+ getRootProps: A,
2072
+ getBackdropProps: L,
2073
+ getTransitionProps: N,
2074
+ portalRef: D,
2075
+ isTopModal: I,
2076
+ exited: k,
2077
+ hasTransition: M
2078
+ } = to({
2079
+ ...S,
2080
+ rootRef: o
2081
+ }), $ = {
2082
+ ...S,
2083
+ exited: k,
2084
+ hasTransition: M
2085
+ }, C = ao($), O = {};
2086
+ if (n.props.tabIndex === void 0 && (O.tabIndex = "-1"), M) {
2087
+ const {
2088
+ onEnter: X,
2089
+ onExited: ce
2090
+ } = N();
2091
+ O.onEnter = X, O.onExited = ce;
2092
+ }
2093
+ const E = w.root ?? "div", F = Pe({
2094
+ elementType: E,
2095
+ externalSlotProps: T.root,
2096
+ externalForwardedProps: P,
2097
+ getSlotProps: A,
2098
+ className: C.root,
2099
+ ownerState: $
2100
+ }), B = w.backdrop, Pt = Pe({
2101
+ elementType: B,
2102
+ externalSlotProps: T.backdrop,
2103
+ getSlotProps: (X) => L({
2104
+ ...X,
2105
+ onClick: (ce) => {
2106
+ h && h(ce), X != null && X.onClick && X.onClick(ce);
2107
+ }
2108
+ }),
2109
+ className: C.backdrop,
2110
+ ownerState: $
2111
+ });
2112
+ return !d && !b && (!M || k) ? null : /* @__PURE__ */ K(re, {
2113
+ ref: D,
2114
+ container: i,
2115
+ disablePortal: a,
2116
+ children: /* @__PURE__ */ tt(E, {
2117
+ ...F,
2118
+ children: [!g && B ? /* @__PURE__ */ K(B, {
2119
+ ...Pt
2120
+ }) : null, /* @__PURE__ */ K(be, {
2121
+ disableEnforceFocus: c,
2122
+ disableAutoFocus: s,
2123
+ disableRestoreFocus: u,
2124
+ isEnabled: I,
2125
+ open: b,
2126
+ children: /* @__PURE__ */ m.cloneElement(n, O)
2127
+ })]
2128
+ })
2129
+ });
2130
+ });
2131
+ process.env.NODE_ENV !== "production" && (uo.propTypes = {
2132
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
2133
+ // │ These PropTypes are generated from the TypeScript type definitions. │
2134
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
2135
+ // └─────────────────────────────────────────────────────────────────────┘
2136
+ /**
2137
+ * A single child content element.
2138
+ */
2139
+ children: De.isRequired,
2140
+ /**
2141
+ * When set to true the Modal waits until a nested Transition is completed before closing.
2142
+ * @default false
2143
+ */
2144
+ closeAfterTransition: p.bool,
2145
+ /**
2146
+ * An HTML element or function that returns one.
2147
+ * The `container` will have the portal children appended to it.
2148
+ *
2149
+ * You can also provide a callback, which is called in a React layout effect.
2150
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
2151
+ *
2152
+ * By default, it uses the body of the top-level document object,
2153
+ * so it's simply `document.body` most of the time.
2154
+ */
2155
+ container: p.oneOfType([he, p.func]),
2156
+ /**
2157
+ * If `true`, the modal will not automatically shift focus to itself when it opens, and
2158
+ * replace it to the last focused element when it closes.
2159
+ * This also works correctly with any modal children that have the `disableAutoFocus` prop.
2160
+ *
2161
+ * Generally this should never be set to `true` as it makes the modal less
2162
+ * accessible to assistive technologies, like screen readers.
2163
+ * @default false
2164
+ */
2165
+ disableAutoFocus: p.bool,
2166
+ /**
2167
+ * If `true`, the modal will not prevent focus from leaving the modal while open.
2168
+ *
2169
+ * Generally this should never be set to `true` as it makes the modal less
2170
+ * accessible to assistive technologies, like screen readers.
2171
+ * @default false
2172
+ */
2173
+ disableEnforceFocus: p.bool,
2174
+ /**
2175
+ * If `true`, hitting escape will not fire the `onClose` callback.
2176
+ * @default false
2177
+ */
2178
+ disableEscapeKeyDown: p.bool,
2179
+ /**
2180
+ * The `children` will be under the DOM hierarchy of the parent component.
2181
+ * @default false
2182
+ */
2183
+ disablePortal: p.bool,
2184
+ /**
2185
+ * If `true`, the modal will not restore focus to previously focused element once
2186
+ * modal is hidden or unmounted.
2187
+ * @default false
2188
+ */
2189
+ disableRestoreFocus: p.bool,
2190
+ /**
2191
+ * Disable the scroll lock behavior.
2192
+ * @default false
2193
+ */
2194
+ disableScrollLock: p.bool,
2195
+ /**
2196
+ * If `true`, the backdrop is not rendered.
2197
+ * @default false
2198
+ */
2199
+ hideBackdrop: p.bool,
2200
+ /**
2201
+ * Always keep the children in the DOM.
2202
+ * This prop can be useful in SEO situation or
2203
+ * when you want to maximize the responsiveness of the Modal.
2204
+ * @default false
2205
+ */
2206
+ keepMounted: p.bool,
2207
+ /**
2208
+ * Callback fired when the backdrop is clicked.
2209
+ * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.
2210
+ */
2211
+ onBackdropClick: p.func,
2212
+ /**
2213
+ * Callback fired when the component requests to be closed.
2214
+ * The `reason` parameter can optionally be used to control the response to `onClose`.
2215
+ *
2216
+ * @param {object} event The event source of the callback.
2217
+ * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
2218
+ */
2219
+ onClose: p.func,
2220
+ /**
2221
+ * A function called when a transition enters.
2222
+ */
2223
+ onTransitionEnter: p.func,
2224
+ /**
2225
+ * A function called when a transition has exited.
2226
+ */
2227
+ onTransitionExited: p.func,
2228
+ /**
2229
+ * If `true`, the component is shown.
2230
+ */
2231
+ open: p.bool.isRequired,
2232
+ /**
2233
+ * The props used for each slot inside the Modal.
2234
+ * @default {}
2235
+ */
2236
+ slotProps: p.shape({
2237
+ backdrop: p.oneOfType([p.func, p.object]),
2238
+ root: p.oneOfType([p.func, p.object])
2239
+ }),
2240
+ /**
2241
+ * The components used for each slot inside the Modal.
2242
+ * Either a string to use a HTML element or a component.
2243
+ * @default {}
2244
+ */
2245
+ slots: p.shape({
2246
+ backdrop: p.elementType,
2247
+ root: p.elementType
2248
+ })
2249
+ });
2250
+ export {
2251
+ uo as M,
2252
+ zn as P
2253
+ };