@zenuml/core 3.23.25 → 3.23.27

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.
@@ -0,0 +1,1822 @@
1
+ import { b as P, u as H, r as E, s as _e, w as k, g as lt, d as at, e as Q, F as ze, m as pe, t as Ee, f as Ve, n as ct, p as ft, h as ut, i as dt, j as ne, U as mt, k as he, T as pt, l as ht, S as gt, q as vt, v as wt, x as yt, y as xt, P as bt, o as Pe, z as Ct, A as At, a as ge, c as Ot, B as Tt, C as St, D as Rt, E as Et, G as Pt, H as Lt } from "./core.6db5c9c5.js";
2
+ const Ie = ["top", "right", "bottom", "left"], Le = ["start", "end"], Fe = /* @__PURE__ */ Ie.reduce((e, t) => e.concat(t, t + "-" + Le[0], t + "-" + Le[1]), []), Z = Math.min, q = Math.max, ae = Math.round, le = Math.floor, X = (e) => ({
3
+ x: e,
4
+ y: e
5
+ }), Ft = {
6
+ left: "right",
7
+ right: "left",
8
+ bottom: "top",
9
+ top: "bottom"
10
+ }, Bt = {
11
+ start: "end",
12
+ end: "start"
13
+ };
14
+ function ye(e, t, n) {
15
+ return q(e, Z(t, n));
16
+ }
17
+ function K(e, t) {
18
+ return typeof e == "function" ? e(t) : e;
19
+ }
20
+ function I(e) {
21
+ return e.split("-")[0];
22
+ }
23
+ function W(e) {
24
+ return e.split("-")[1];
25
+ }
26
+ function Ue(e) {
27
+ return e === "x" ? "y" : "x";
28
+ }
29
+ function be(e) {
30
+ return e === "y" ? "height" : "width";
31
+ }
32
+ function de(e) {
33
+ return ["top", "bottom"].includes(I(e)) ? "y" : "x";
34
+ }
35
+ function Ce(e) {
36
+ return Ue(de(e));
37
+ }
38
+ function Xe(e, t, n) {
39
+ n === void 0 && (n = !1);
40
+ const i = W(e), o = Ce(e), r = be(o);
41
+ let s = o === "x" ? i === (n ? "end" : "start") ? "right" : "left" : i === "start" ? "bottom" : "top";
42
+ return t.reference[r] > t.floating[r] && (s = fe(s)), [s, fe(s)];
43
+ }
44
+ function Dt(e) {
45
+ const t = fe(e);
46
+ return [ce(e), t, ce(t)];
47
+ }
48
+ function ce(e) {
49
+ return e.replace(/start|end/g, (t) => Bt[t]);
50
+ }
51
+ function Nt(e, t, n) {
52
+ const i = ["left", "right"], o = ["right", "left"], r = ["top", "bottom"], s = ["bottom", "top"];
53
+ switch (e) {
54
+ case "top":
55
+ case "bottom":
56
+ return n ? t ? o : i : t ? i : o;
57
+ case "left":
58
+ case "right":
59
+ return t ? r : s;
60
+ default:
61
+ return [];
62
+ }
63
+ }
64
+ function $t(e, t, n, i) {
65
+ const o = W(e);
66
+ let r = Nt(I(e), n === "start", i);
67
+ return o && (r = r.map((s) => s + "-" + o), t && (r = r.concat(r.map(ce)))), r;
68
+ }
69
+ function fe(e) {
70
+ return e.replace(/left|right|bottom|top/g, (t) => Ft[t]);
71
+ }
72
+ function kt(e) {
73
+ return {
74
+ top: 0,
75
+ right: 0,
76
+ bottom: 0,
77
+ left: 0,
78
+ ...e
79
+ };
80
+ }
81
+ function Ye(e) {
82
+ return typeof e != "number" ? kt(e) : {
83
+ top: e,
84
+ right: e,
85
+ bottom: e,
86
+ left: e
87
+ };
88
+ }
89
+ function ue(e) {
90
+ const {
91
+ x: t,
92
+ y: n,
93
+ width: i,
94
+ height: o
95
+ } = e;
96
+ return {
97
+ width: i,
98
+ height: o,
99
+ top: n,
100
+ left: t,
101
+ right: t + i,
102
+ bottom: n + o,
103
+ x: t,
104
+ y: n
105
+ };
106
+ }
107
+ function Be(e, t, n) {
108
+ let {
109
+ reference: i,
110
+ floating: o
111
+ } = e;
112
+ const r = de(t), s = Ce(t), l = be(s), f = I(t), c = r === "y", u = i.x + i.width / 2 - o.width / 2, d = i.y + i.height / 2 - o.height / 2, g = i[l] / 2 - o[l] / 2;
113
+ let m;
114
+ switch (f) {
115
+ case "top":
116
+ m = {
117
+ x: u,
118
+ y: i.y - o.height
119
+ };
120
+ break;
121
+ case "bottom":
122
+ m = {
123
+ x: u,
124
+ y: i.y + i.height
125
+ };
126
+ break;
127
+ case "right":
128
+ m = {
129
+ x: i.x + i.width,
130
+ y: d
131
+ };
132
+ break;
133
+ case "left":
134
+ m = {
135
+ x: i.x - o.width,
136
+ y: d
137
+ };
138
+ break;
139
+ default:
140
+ m = {
141
+ x: i.x,
142
+ y: i.y
143
+ };
144
+ }
145
+ switch (W(t)) {
146
+ case "start":
147
+ m[s] -= g * (n && c ? -1 : 1);
148
+ break;
149
+ case "end":
150
+ m[s] += g * (n && c ? -1 : 1);
151
+ break;
152
+ }
153
+ return m;
154
+ }
155
+ const Mt = async (e, t, n) => {
156
+ const {
157
+ placement: i = "bottom",
158
+ strategy: o = "absolute",
159
+ middleware: r = [],
160
+ platform: s
161
+ } = n, l = r.filter(Boolean), f = await (s.isRTL == null ? void 0 : s.isRTL(t));
162
+ let c = await s.getElementRects({
163
+ reference: e,
164
+ floating: t,
165
+ strategy: o
166
+ }), {
167
+ x: u,
168
+ y: d
169
+ } = Be(c, i, f), g = i, m = {}, a = 0;
170
+ for (let h = 0; h < l.length; h++) {
171
+ const {
172
+ name: v,
173
+ fn: w
174
+ } = l[h], {
175
+ x: y,
176
+ y: b,
177
+ data: C,
178
+ reset: A
179
+ } = await w({
180
+ x: u,
181
+ y: d,
182
+ initialPlacement: i,
183
+ placement: g,
184
+ strategy: o,
185
+ middlewareData: m,
186
+ rects: c,
187
+ platform: s,
188
+ elements: {
189
+ reference: e,
190
+ floating: t
191
+ }
192
+ });
193
+ u = y != null ? y : u, d = b != null ? b : d, m = {
194
+ ...m,
195
+ [v]: {
196
+ ...m[v],
197
+ ...C
198
+ }
199
+ }, A && a <= 50 && (a++, typeof A == "object" && (A.placement && (g = A.placement), A.rects && (c = A.rects === !0 ? await s.getElementRects({
200
+ reference: e,
201
+ floating: t,
202
+ strategy: o
203
+ }) : A.rects), {
204
+ x: u,
205
+ y: d
206
+ } = Be(c, g, f)), h = -1);
207
+ }
208
+ return {
209
+ x: u,
210
+ y: d,
211
+ placement: g,
212
+ strategy: o,
213
+ middlewareData: m
214
+ };
215
+ };
216
+ async function oe(e, t) {
217
+ var n;
218
+ t === void 0 && (t = {});
219
+ const {
220
+ x: i,
221
+ y: o,
222
+ platform: r,
223
+ rects: s,
224
+ elements: l,
225
+ strategy: f
226
+ } = e, {
227
+ boundary: c = "clippingAncestors",
228
+ rootBoundary: u = "viewport",
229
+ elementContext: d = "floating",
230
+ altBoundary: g = !1,
231
+ padding: m = 0
232
+ } = K(t, e), a = Ye(m), v = l[g ? d === "floating" ? "reference" : "floating" : d], w = ue(await r.getClippingRect({
233
+ element: (n = await (r.isElement == null ? void 0 : r.isElement(v))) == null || n ? v : v.contextElement || await (r.getDocumentElement == null ? void 0 : r.getDocumentElement(l.floating)),
234
+ boundary: c,
235
+ rootBoundary: u,
236
+ strategy: f
237
+ })), y = d === "floating" ? {
238
+ x: i,
239
+ y: o,
240
+ width: s.floating.width,
241
+ height: s.floating.height
242
+ } : s.reference, b = await (r.getOffsetParent == null ? void 0 : r.getOffsetParent(l.floating)), C = await (r.isElement == null ? void 0 : r.isElement(b)) ? await (r.getScale == null ? void 0 : r.getScale(b)) || {
243
+ x: 1,
244
+ y: 1
245
+ } : {
246
+ x: 1,
247
+ y: 1
248
+ }, A = ue(r.convertOffsetParentRelativeRectToViewportRelativeRect ? await r.convertOffsetParentRelativeRectToViewportRelativeRect({
249
+ elements: l,
250
+ rect: y,
251
+ offsetParent: b,
252
+ strategy: f
253
+ }) : y);
254
+ return {
255
+ top: (w.top - A.top + a.top) / C.y,
256
+ bottom: (A.bottom - w.bottom + a.bottom) / C.y,
257
+ left: (w.left - A.left + a.left) / C.x,
258
+ right: (A.right - w.right + a.right) / C.x
259
+ };
260
+ }
261
+ const jt = (e) => ({
262
+ name: "arrow",
263
+ options: e,
264
+ async fn(t) {
265
+ const {
266
+ x: n,
267
+ y: i,
268
+ placement: o,
269
+ rects: r,
270
+ platform: s,
271
+ elements: l,
272
+ middlewareData: f
273
+ } = t, {
274
+ element: c,
275
+ padding: u = 0
276
+ } = K(e, t) || {};
277
+ if (c == null)
278
+ return {};
279
+ const d = Ye(u), g = {
280
+ x: n,
281
+ y: i
282
+ }, m = Ce(o), a = be(m), h = await s.getDimensions(c), v = m === "y", w = v ? "top" : "left", y = v ? "bottom" : "right", b = v ? "clientHeight" : "clientWidth", C = r.reference[a] + r.reference[m] - g[m] - r.floating[a], A = g[m] - r.reference[m], O = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(c));
283
+ let p = O ? O[b] : 0;
284
+ (!p || !await (s.isElement == null ? void 0 : s.isElement(O))) && (p = l.floating[b] || r.floating[a]);
285
+ const T = C / 2 - A / 2, L = p / 2 - h[a] / 2 - 1, R = Z(d[w], L), B = Z(d[y], L), S = R, D = p - h[a] - B, F = p / 2 - h[a] / 2 + T, $ = ye(S, F, D), j = !f.arrow && W(o) != null && F !== $ && r.reference[a] / 2 - (F < S ? R : B) - h[a] / 2 < 0, V = j ? F < S ? F - S : F - D : 0;
286
+ return {
287
+ [m]: g[m] + V,
288
+ data: {
289
+ [m]: $,
290
+ centerOffset: F - $ - V,
291
+ ...j && {
292
+ alignmentOffset: V
293
+ }
294
+ },
295
+ reset: j
296
+ };
297
+ }
298
+ });
299
+ function Ht(e, t, n) {
300
+ return (e ? [...n.filter((o) => W(o) === e), ...n.filter((o) => W(o) !== e)] : n.filter((o) => I(o) === o)).filter((o) => e ? W(o) === e || (t ? ce(o) !== o : !1) : !0);
301
+ }
302
+ const Wt = function(e) {
303
+ return e === void 0 && (e = {}), {
304
+ name: "autoPlacement",
305
+ options: e,
306
+ async fn(t) {
307
+ var n, i, o;
308
+ const {
309
+ rects: r,
310
+ middlewareData: s,
311
+ placement: l,
312
+ platform: f,
313
+ elements: c
314
+ } = t, {
315
+ crossAxis: u = !1,
316
+ alignment: d,
317
+ allowedPlacements: g = Fe,
318
+ autoAlignment: m = !0,
319
+ ...a
320
+ } = K(e, t), h = d !== void 0 || g === Fe ? Ht(d || null, m, g) : g, v = await oe(t, a), w = ((n = s.autoPlacement) == null ? void 0 : n.index) || 0, y = h[w];
321
+ if (y == null)
322
+ return {};
323
+ const b = Xe(y, r, await (f.isRTL == null ? void 0 : f.isRTL(c.floating)));
324
+ if (l !== y)
325
+ return {
326
+ reset: {
327
+ placement: h[0]
328
+ }
329
+ };
330
+ const C = [v[I(y)], v[b[0]], v[b[1]]], A = [...((i = s.autoPlacement) == null ? void 0 : i.overflows) || [], {
331
+ placement: y,
332
+ overflows: C
333
+ }], O = h[w + 1];
334
+ if (O)
335
+ return {
336
+ data: {
337
+ index: w + 1,
338
+ overflows: A
339
+ },
340
+ reset: {
341
+ placement: O
342
+ }
343
+ };
344
+ const p = A.map((R) => {
345
+ const B = W(R.placement);
346
+ return [R.placement, B && u ? R.overflows.slice(0, 2).reduce((S, D) => S + D, 0) : R.overflows[0], R.overflows];
347
+ }).sort((R, B) => R[1] - B[1]), L = ((o = p.filter((R) => R[2].slice(
348
+ 0,
349
+ W(R[0]) ? 2 : 3
350
+ ).every((B) => B <= 0))[0]) == null ? void 0 : o[0]) || p[0][0];
351
+ return L !== l ? {
352
+ data: {
353
+ index: w + 1,
354
+ overflows: A
355
+ },
356
+ reset: {
357
+ placement: L
358
+ }
359
+ } : {};
360
+ }
361
+ };
362
+ }, _t = function(e) {
363
+ return e === void 0 && (e = {}), {
364
+ name: "flip",
365
+ options: e,
366
+ async fn(t) {
367
+ var n, i;
368
+ const {
369
+ placement: o,
370
+ middlewareData: r,
371
+ rects: s,
372
+ initialPlacement: l,
373
+ platform: f,
374
+ elements: c
375
+ } = t, {
376
+ mainAxis: u = !0,
377
+ crossAxis: d = !0,
378
+ fallbackPlacements: g,
379
+ fallbackStrategy: m = "bestFit",
380
+ fallbackAxisSideDirection: a = "none",
381
+ flipAlignment: h = !0,
382
+ ...v
383
+ } = K(e, t);
384
+ if ((n = r.arrow) != null && n.alignmentOffset)
385
+ return {};
386
+ const w = I(o), y = I(l) === l, b = await (f.isRTL == null ? void 0 : f.isRTL(c.floating)), C = g || (y || !h ? [fe(l)] : Dt(l));
387
+ !g && a !== "none" && C.push(...$t(l, h, a, b));
388
+ const A = [l, ...C], O = await oe(t, v), p = [];
389
+ let T = ((i = r.flip) == null ? void 0 : i.overflows) || [];
390
+ if (u && p.push(O[w]), d) {
391
+ const S = Xe(o, s, b);
392
+ p.push(O[S[0]], O[S[1]]);
393
+ }
394
+ if (T = [...T, {
395
+ placement: o,
396
+ overflows: p
397
+ }], !p.every((S) => S <= 0)) {
398
+ var L, R;
399
+ const S = (((L = r.flip) == null ? void 0 : L.index) || 0) + 1, D = A[S];
400
+ if (D)
401
+ return {
402
+ data: {
403
+ index: S,
404
+ overflows: T
405
+ },
406
+ reset: {
407
+ placement: D
408
+ }
409
+ };
410
+ let F = (R = T.filter(($) => $.overflows[0] <= 0).sort(($, j) => $.overflows[1] - j.overflows[1])[0]) == null ? void 0 : R.placement;
411
+ if (!F)
412
+ switch (m) {
413
+ case "bestFit": {
414
+ var B;
415
+ const $ = (B = T.map((j) => [j.placement, j.overflows.filter((V) => V > 0).reduce((V, st) => V + st, 0)]).sort((j, V) => j[1] - V[1])[0]) == null ? void 0 : B[0];
416
+ $ && (F = $);
417
+ break;
418
+ }
419
+ case "initialPlacement":
420
+ F = l;
421
+ break;
422
+ }
423
+ if (o !== F)
424
+ return {
425
+ reset: {
426
+ placement: F
427
+ }
428
+ };
429
+ }
430
+ return {};
431
+ }
432
+ };
433
+ };
434
+ function De(e, t) {
435
+ return {
436
+ top: e.top - t.height,
437
+ right: e.right - t.width,
438
+ bottom: e.bottom - t.height,
439
+ left: e.left - t.width
440
+ };
441
+ }
442
+ function Ne(e) {
443
+ return Ie.some((t) => e[t] >= 0);
444
+ }
445
+ const zt = function(e) {
446
+ return e === void 0 && (e = {}), {
447
+ name: "hide",
448
+ options: e,
449
+ async fn(t) {
450
+ const {
451
+ rects: n
452
+ } = t, {
453
+ strategy: i = "referenceHidden",
454
+ ...o
455
+ } = K(e, t);
456
+ switch (i) {
457
+ case "referenceHidden": {
458
+ const r = await oe(t, {
459
+ ...o,
460
+ elementContext: "reference"
461
+ }), s = De(r, n.reference);
462
+ return {
463
+ data: {
464
+ referenceHiddenOffsets: s,
465
+ referenceHidden: Ne(s)
466
+ }
467
+ };
468
+ }
469
+ case "escaped": {
470
+ const r = await oe(t, {
471
+ ...o,
472
+ altBoundary: !0
473
+ }), s = De(r, n.floating);
474
+ return {
475
+ data: {
476
+ escapedOffsets: s,
477
+ escaped: Ne(s)
478
+ }
479
+ };
480
+ }
481
+ default:
482
+ return {};
483
+ }
484
+ }
485
+ };
486
+ };
487
+ async function Vt(e, t) {
488
+ const {
489
+ placement: n,
490
+ platform: i,
491
+ elements: o
492
+ } = e, r = await (i.isRTL == null ? void 0 : i.isRTL(o.floating)), s = I(n), l = W(n), f = de(n) === "y", c = ["left", "top"].includes(s) ? -1 : 1, u = r && f ? -1 : 1, d = K(t, e);
493
+ let {
494
+ mainAxis: g,
495
+ crossAxis: m,
496
+ alignmentAxis: a
497
+ } = typeof d == "number" ? {
498
+ mainAxis: d,
499
+ crossAxis: 0,
500
+ alignmentAxis: null
501
+ } : {
502
+ mainAxis: 0,
503
+ crossAxis: 0,
504
+ alignmentAxis: null,
505
+ ...d
506
+ };
507
+ return l && typeof a == "number" && (m = l === "end" ? a * -1 : a), f ? {
508
+ x: m * u,
509
+ y: g * c
510
+ } : {
511
+ x: g * c,
512
+ y: m * u
513
+ };
514
+ }
515
+ const It = function(e) {
516
+ return e === void 0 && (e = 0), {
517
+ name: "offset",
518
+ options: e,
519
+ async fn(t) {
520
+ var n, i;
521
+ const {
522
+ x: o,
523
+ y: r,
524
+ placement: s,
525
+ middlewareData: l
526
+ } = t, f = await Vt(t, e);
527
+ return s === ((n = l.offset) == null ? void 0 : n.placement) && (i = l.arrow) != null && i.alignmentOffset ? {} : {
528
+ x: o + f.x,
529
+ y: r + f.y,
530
+ data: {
531
+ ...f,
532
+ placement: s
533
+ }
534
+ };
535
+ }
536
+ };
537
+ }, Ut = function(e) {
538
+ return e === void 0 && (e = {}), {
539
+ name: "shift",
540
+ options: e,
541
+ async fn(t) {
542
+ const {
543
+ x: n,
544
+ y: i,
545
+ placement: o
546
+ } = t, {
547
+ mainAxis: r = !0,
548
+ crossAxis: s = !1,
549
+ limiter: l = {
550
+ fn: (v) => {
551
+ let {
552
+ x: w,
553
+ y
554
+ } = v;
555
+ return {
556
+ x: w,
557
+ y
558
+ };
559
+ }
560
+ },
561
+ ...f
562
+ } = K(e, t), c = {
563
+ x: n,
564
+ y: i
565
+ }, u = await oe(t, f), d = de(I(o)), g = Ue(d);
566
+ let m = c[g], a = c[d];
567
+ if (r) {
568
+ const v = g === "y" ? "top" : "left", w = g === "y" ? "bottom" : "right", y = m + u[v], b = m - u[w];
569
+ m = ye(y, m, b);
570
+ }
571
+ if (s) {
572
+ const v = d === "y" ? "top" : "left", w = d === "y" ? "bottom" : "right", y = a + u[v], b = a - u[w];
573
+ a = ye(y, a, b);
574
+ }
575
+ const h = l.fn({
576
+ ...t,
577
+ [g]: m,
578
+ [d]: a
579
+ });
580
+ return {
581
+ ...h,
582
+ data: {
583
+ x: h.x - n,
584
+ y: h.y - i
585
+ }
586
+ };
587
+ }
588
+ };
589
+ };
590
+ function te(e) {
591
+ return qe(e) ? (e.nodeName || "").toLowerCase() : "#document";
592
+ }
593
+ function N(e) {
594
+ var t;
595
+ return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
596
+ }
597
+ function U(e) {
598
+ var t;
599
+ return (t = (qe(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement;
600
+ }
601
+ function qe(e) {
602
+ return e instanceof Node || e instanceof N(e).Node;
603
+ }
604
+ function _(e) {
605
+ return e instanceof Element || e instanceof N(e).Element;
606
+ }
607
+ function z(e) {
608
+ return e instanceof HTMLElement || e instanceof N(e).HTMLElement;
609
+ }
610
+ function $e(e) {
611
+ return typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof N(e).ShadowRoot;
612
+ }
613
+ function se(e) {
614
+ const {
615
+ overflow: t,
616
+ overflowX: n,
617
+ overflowY: i,
618
+ display: o
619
+ } = M(e);
620
+ return /auto|scroll|overlay|hidden|clip/.test(t + i + n) && !["inline", "contents"].includes(o);
621
+ }
622
+ function Xt(e) {
623
+ return ["table", "td", "th"].includes(te(e));
624
+ }
625
+ function Ae(e) {
626
+ const t = Oe(), n = M(e);
627
+ return n.transform !== "none" || n.perspective !== "none" || (n.containerType ? n.containerType !== "normal" : !1) || !t && (n.backdropFilter ? n.backdropFilter !== "none" : !1) || !t && (n.filter ? n.filter !== "none" : !1) || ["transform", "perspective", "filter"].some((i) => (n.willChange || "").includes(i)) || ["paint", "layout", "strict", "content"].some((i) => (n.contain || "").includes(i));
628
+ }
629
+ function Yt(e) {
630
+ let t = Y(e);
631
+ for (; z(t) && !ee(t); ) {
632
+ if (Ae(t))
633
+ return t;
634
+ t = Y(t);
635
+ }
636
+ return null;
637
+ }
638
+ function Oe() {
639
+ return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
640
+ }
641
+ function ee(e) {
642
+ return ["html", "body", "#document"].includes(te(e));
643
+ }
644
+ function M(e) {
645
+ return N(e).getComputedStyle(e);
646
+ }
647
+ function me(e) {
648
+ return _(e) ? {
649
+ scrollLeft: e.scrollLeft,
650
+ scrollTop: e.scrollTop
651
+ } : {
652
+ scrollLeft: e.pageXOffset,
653
+ scrollTop: e.pageYOffset
654
+ };
655
+ }
656
+ function Y(e) {
657
+ if (te(e) === "html")
658
+ return e;
659
+ const t = e.assignedSlot || e.parentNode || $e(e) && e.host || U(e);
660
+ return $e(t) ? t.host : t;
661
+ }
662
+ function Ge(e) {
663
+ const t = Y(e);
664
+ return ee(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : z(t) && se(t) ? t : Ge(t);
665
+ }
666
+ function ie(e, t, n) {
667
+ var i;
668
+ t === void 0 && (t = []), n === void 0 && (n = !0);
669
+ const o = Ge(e), r = o === ((i = e.ownerDocument) == null ? void 0 : i.body), s = N(o);
670
+ return r ? t.concat(s, s.visualViewport || [], se(o) ? o : [], s.frameElement && n ? ie(s.frameElement) : []) : t.concat(o, ie(o, [], n));
671
+ }
672
+ function Ke(e) {
673
+ const t = M(e);
674
+ let n = parseFloat(t.width) || 0, i = parseFloat(t.height) || 0;
675
+ const o = z(e), r = o ? e.offsetWidth : n, s = o ? e.offsetHeight : i, l = ae(n) !== r || ae(i) !== s;
676
+ return l && (n = r, i = s), {
677
+ width: n,
678
+ height: i,
679
+ $: l
680
+ };
681
+ }
682
+ function Te(e) {
683
+ return _(e) ? e : e.contextElement;
684
+ }
685
+ function J(e) {
686
+ const t = Te(e);
687
+ if (!z(t))
688
+ return X(1);
689
+ const n = t.getBoundingClientRect(), {
690
+ width: i,
691
+ height: o,
692
+ $: r
693
+ } = Ke(t);
694
+ let s = (r ? ae(n.width) : n.width) / i, l = (r ? ae(n.height) : n.height) / o;
695
+ return (!s || !Number.isFinite(s)) && (s = 1), (!l || !Number.isFinite(l)) && (l = 1), {
696
+ x: s,
697
+ y: l
698
+ };
699
+ }
700
+ const qt = /* @__PURE__ */ X(0);
701
+ function Qe(e) {
702
+ const t = N(e);
703
+ return !Oe() || !t.visualViewport ? qt : {
704
+ x: t.visualViewport.offsetLeft,
705
+ y: t.visualViewport.offsetTop
706
+ };
707
+ }
708
+ function Gt(e, t, n) {
709
+ return t === void 0 && (t = !1), !n || t && n !== N(e) ? !1 : t;
710
+ }
711
+ function G(e, t, n, i) {
712
+ t === void 0 && (t = !1), n === void 0 && (n = !1);
713
+ const o = e.getBoundingClientRect(), r = Te(e);
714
+ let s = X(1);
715
+ t && (i ? _(i) && (s = J(i)) : s = J(e));
716
+ const l = Gt(r, n, i) ? Qe(r) : X(0);
717
+ let f = (o.left + l.x) / s.x, c = (o.top + l.y) / s.y, u = o.width / s.x, d = o.height / s.y;
718
+ if (r) {
719
+ const g = N(r), m = i && _(i) ? N(i) : i;
720
+ let a = g, h = a.frameElement;
721
+ for (; h && i && m !== a; ) {
722
+ const v = J(h), w = h.getBoundingClientRect(), y = M(h), b = w.left + (h.clientLeft + parseFloat(y.paddingLeft)) * v.x, C = w.top + (h.clientTop + parseFloat(y.paddingTop)) * v.y;
723
+ f *= v.x, c *= v.y, u *= v.x, d *= v.y, f += b, c += C, a = N(h), h = a.frameElement;
724
+ }
725
+ }
726
+ return ue({
727
+ width: u,
728
+ height: d,
729
+ x: f,
730
+ y: c
731
+ });
732
+ }
733
+ const Kt = [":popover-open", ":modal"];
734
+ function Se(e) {
735
+ return Kt.some((t) => {
736
+ try {
737
+ return e.matches(t);
738
+ } catch {
739
+ return !1;
740
+ }
741
+ });
742
+ }
743
+ function Qt(e) {
744
+ let {
745
+ elements: t,
746
+ rect: n,
747
+ offsetParent: i,
748
+ strategy: o
749
+ } = e;
750
+ const r = o === "fixed", s = U(i), l = t ? Se(t.floating) : !1;
751
+ if (i === s || l && r)
752
+ return n;
753
+ let f = {
754
+ scrollLeft: 0,
755
+ scrollTop: 0
756
+ }, c = X(1);
757
+ const u = X(0), d = z(i);
758
+ if ((d || !d && !r) && ((te(i) !== "body" || se(s)) && (f = me(i)), z(i))) {
759
+ const g = G(i);
760
+ c = J(i), u.x = g.x + i.clientLeft, u.y = g.y + i.clientTop;
761
+ }
762
+ return {
763
+ width: n.width * c.x,
764
+ height: n.height * c.y,
765
+ x: n.x * c.x - f.scrollLeft * c.x + u.x,
766
+ y: n.y * c.y - f.scrollTop * c.y + u.y
767
+ };
768
+ }
769
+ function Jt(e) {
770
+ return Array.from(e.getClientRects());
771
+ }
772
+ function Je(e) {
773
+ return G(U(e)).left + me(e).scrollLeft;
774
+ }
775
+ function Zt(e) {
776
+ const t = U(e), n = me(e), i = e.ownerDocument.body, o = q(t.scrollWidth, t.clientWidth, i.scrollWidth, i.clientWidth), r = q(t.scrollHeight, t.clientHeight, i.scrollHeight, i.clientHeight);
777
+ let s = -n.scrollLeft + Je(e);
778
+ const l = -n.scrollTop;
779
+ return M(i).direction === "rtl" && (s += q(t.clientWidth, i.clientWidth) - o), {
780
+ width: o,
781
+ height: r,
782
+ x: s,
783
+ y: l
784
+ };
785
+ }
786
+ function en(e, t) {
787
+ const n = N(e), i = U(e), o = n.visualViewport;
788
+ let r = i.clientWidth, s = i.clientHeight, l = 0, f = 0;
789
+ if (o) {
790
+ r = o.width, s = o.height;
791
+ const c = Oe();
792
+ (!c || c && t === "fixed") && (l = o.offsetLeft, f = o.offsetTop);
793
+ }
794
+ return {
795
+ width: r,
796
+ height: s,
797
+ x: l,
798
+ y: f
799
+ };
800
+ }
801
+ function tn(e, t) {
802
+ const n = G(e, !0, t === "fixed"), i = n.top + e.clientTop, o = n.left + e.clientLeft, r = z(e) ? J(e) : X(1), s = e.clientWidth * r.x, l = e.clientHeight * r.y, f = o * r.x, c = i * r.y;
803
+ return {
804
+ width: s,
805
+ height: l,
806
+ x: f,
807
+ y: c
808
+ };
809
+ }
810
+ function ke(e, t, n) {
811
+ let i;
812
+ if (t === "viewport")
813
+ i = en(e, n);
814
+ else if (t === "document")
815
+ i = Zt(U(e));
816
+ else if (_(t))
817
+ i = tn(t, n);
818
+ else {
819
+ const o = Qe(e);
820
+ i = {
821
+ ...t,
822
+ x: t.x - o.x,
823
+ y: t.y - o.y
824
+ };
825
+ }
826
+ return ue(i);
827
+ }
828
+ function Ze(e, t) {
829
+ const n = Y(e);
830
+ return n === t || !_(n) || ee(n) ? !1 : M(n).position === "fixed" || Ze(n, t);
831
+ }
832
+ function nn(e, t) {
833
+ const n = t.get(e);
834
+ if (n)
835
+ return n;
836
+ let i = ie(e, [], !1).filter((l) => _(l) && te(l) !== "body"), o = null;
837
+ const r = M(e).position === "fixed";
838
+ let s = r ? Y(e) : e;
839
+ for (; _(s) && !ee(s); ) {
840
+ const l = M(s), f = Ae(s);
841
+ !f && l.position === "fixed" && (o = null), (r ? !f && !o : !f && l.position === "static" && !!o && ["absolute", "fixed"].includes(o.position) || se(s) && !f && Ze(e, s)) ? i = i.filter((u) => u !== s) : o = l, s = Y(s);
842
+ }
843
+ return t.set(e, i), i;
844
+ }
845
+ function on(e) {
846
+ let {
847
+ element: t,
848
+ boundary: n,
849
+ rootBoundary: i,
850
+ strategy: o
851
+ } = e;
852
+ const s = [...n === "clippingAncestors" ? Se(t) ? [] : nn(t, this._c) : [].concat(n), i], l = s[0], f = s.reduce((c, u) => {
853
+ const d = ke(t, u, o);
854
+ return c.top = q(d.top, c.top), c.right = Z(d.right, c.right), c.bottom = Z(d.bottom, c.bottom), c.left = q(d.left, c.left), c;
855
+ }, ke(t, l, o));
856
+ return {
857
+ width: f.right - f.left,
858
+ height: f.bottom - f.top,
859
+ x: f.left,
860
+ y: f.top
861
+ };
862
+ }
863
+ function rn(e) {
864
+ const {
865
+ width: t,
866
+ height: n
867
+ } = Ke(e);
868
+ return {
869
+ width: t,
870
+ height: n
871
+ };
872
+ }
873
+ function sn(e, t, n) {
874
+ const i = z(t), o = U(t), r = n === "fixed", s = G(e, !0, r, t);
875
+ let l = {
876
+ scrollLeft: 0,
877
+ scrollTop: 0
878
+ };
879
+ const f = X(0);
880
+ if (i || !i && !r)
881
+ if ((te(t) !== "body" || se(o)) && (l = me(t)), i) {
882
+ const d = G(t, !0, r, t);
883
+ f.x = d.x + t.clientLeft, f.y = d.y + t.clientTop;
884
+ } else
885
+ o && (f.x = Je(o));
886
+ const c = s.left + l.scrollLeft - f.x, u = s.top + l.scrollTop - f.y;
887
+ return {
888
+ x: c,
889
+ y: u,
890
+ width: s.width,
891
+ height: s.height
892
+ };
893
+ }
894
+ function ve(e) {
895
+ return M(e).position === "static";
896
+ }
897
+ function Me(e, t) {
898
+ return !z(e) || M(e).position === "fixed" ? null : t ? t(e) : e.offsetParent;
899
+ }
900
+ function et(e, t) {
901
+ const n = N(e);
902
+ if (Se(e))
903
+ return n;
904
+ if (!z(e)) {
905
+ let o = Y(e);
906
+ for (; o && !ee(o); ) {
907
+ if (_(o) && !ve(o))
908
+ return o;
909
+ o = Y(o);
910
+ }
911
+ return n;
912
+ }
913
+ let i = Me(e, t);
914
+ for (; i && Xt(i) && ve(i); )
915
+ i = Me(i, t);
916
+ return i && ee(i) && ve(i) && !Ae(i) ? n : i || Yt(e) || n;
917
+ }
918
+ const ln = async function(e) {
919
+ const t = this.getOffsetParent || et, n = this.getDimensions, i = await n(e.floating);
920
+ return {
921
+ reference: sn(e.reference, await t(e.floating), e.strategy),
922
+ floating: {
923
+ x: 0,
924
+ y: 0,
925
+ width: i.width,
926
+ height: i.height
927
+ }
928
+ };
929
+ };
930
+ function an(e) {
931
+ return M(e).direction === "rtl";
932
+ }
933
+ const cn = {
934
+ convertOffsetParentRelativeRectToViewportRelativeRect: Qt,
935
+ getDocumentElement: U,
936
+ getClippingRect: on,
937
+ getOffsetParent: et,
938
+ getElementRects: ln,
939
+ getClientRects: Jt,
940
+ getDimensions: rn,
941
+ getScale: J,
942
+ isElement: _,
943
+ isRTL: an
944
+ };
945
+ function fn(e, t) {
946
+ let n = null, i;
947
+ const o = U(e);
948
+ function r() {
949
+ var l;
950
+ clearTimeout(i), (l = n) == null || l.disconnect(), n = null;
951
+ }
952
+ function s(l, f) {
953
+ l === void 0 && (l = !1), f === void 0 && (f = 1), r();
954
+ const {
955
+ left: c,
956
+ top: u,
957
+ width: d,
958
+ height: g
959
+ } = e.getBoundingClientRect();
960
+ if (l || t(), !d || !g)
961
+ return;
962
+ const m = le(u), a = le(o.clientWidth - (c + d)), h = le(o.clientHeight - (u + g)), v = le(c), y = {
963
+ rootMargin: -m + "px " + -a + "px " + -h + "px " + -v + "px",
964
+ threshold: q(0, Z(1, f)) || 1
965
+ };
966
+ let b = !0;
967
+ function C(A) {
968
+ const O = A[0].intersectionRatio;
969
+ if (O !== f) {
970
+ if (!b)
971
+ return s();
972
+ O ? s(!1, O) : i = setTimeout(() => {
973
+ s(!1, 1e-7);
974
+ }, 1e3);
975
+ }
976
+ b = !1;
977
+ }
978
+ try {
979
+ n = new IntersectionObserver(C, {
980
+ ...y,
981
+ root: o.ownerDocument
982
+ });
983
+ } catch {
984
+ n = new IntersectionObserver(C, y);
985
+ }
986
+ n.observe(e);
987
+ }
988
+ return s(!0), r;
989
+ }
990
+ function un(e, t, n, i) {
991
+ i === void 0 && (i = {});
992
+ const {
993
+ ancestorScroll: o = !0,
994
+ ancestorResize: r = !0,
995
+ elementResize: s = typeof ResizeObserver == "function",
996
+ layoutShift: l = typeof IntersectionObserver == "function",
997
+ animationFrame: f = !1
998
+ } = i, c = Te(e), u = o || r ? [...c ? ie(c) : [], ...ie(t)] : [];
999
+ u.forEach((w) => {
1000
+ o && w.addEventListener("scroll", n, {
1001
+ passive: !0
1002
+ }), r && w.addEventListener("resize", n);
1003
+ });
1004
+ const d = c && l ? fn(c, n) : null;
1005
+ let g = -1, m = null;
1006
+ s && (m = new ResizeObserver((w) => {
1007
+ let [y] = w;
1008
+ y && y.target === c && m && (m.unobserve(t), cancelAnimationFrame(g), g = requestAnimationFrame(() => {
1009
+ var b;
1010
+ (b = m) == null || b.observe(t);
1011
+ })), n();
1012
+ }), c && !f && m.observe(c), m.observe(t));
1013
+ let a, h = f ? G(e) : null;
1014
+ f && v();
1015
+ function v() {
1016
+ const w = G(e);
1017
+ h && (w.x !== h.x || w.y !== h.y || w.width !== h.width || w.height !== h.height) && n(), h = w, a = requestAnimationFrame(v);
1018
+ }
1019
+ return n(), () => {
1020
+ var w;
1021
+ u.forEach((y) => {
1022
+ o && y.removeEventListener("scroll", n), r && y.removeEventListener("resize", n);
1023
+ }), d == null || d(), (w = m) == null || w.disconnect(), m = null, f && cancelAnimationFrame(a);
1024
+ };
1025
+ }
1026
+ const dn = It, mn = Wt, pn = Ut, hn = _t, gn = zt, vn = jt, wn = (e, t, n) => {
1027
+ const i = /* @__PURE__ */ new Map(), o = {
1028
+ platform: cn,
1029
+ ...n
1030
+ }, r = {
1031
+ ...o.platform,
1032
+ _c: i
1033
+ };
1034
+ return Mt(e, t, {
1035
+ ...o,
1036
+ platform: r
1037
+ });
1038
+ };
1039
+ function yn(e) {
1040
+ return tt(e) ? (e.nodeName || "").toLowerCase() : "#document";
1041
+ }
1042
+ function xn(e) {
1043
+ var t;
1044
+ return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
1045
+ }
1046
+ function tt(e) {
1047
+ return e instanceof Node || e instanceof xn(e).Node;
1048
+ }
1049
+ function bn(e) {
1050
+ return e != null && typeof e == "object" && "$el" in e;
1051
+ }
1052
+ function xe(e) {
1053
+ if (bn(e)) {
1054
+ const t = e.$el;
1055
+ return tt(t) && yn(t) === "#comment" ? null : t;
1056
+ }
1057
+ return e;
1058
+ }
1059
+ function Cn(e) {
1060
+ return {
1061
+ name: "arrow",
1062
+ options: e,
1063
+ fn(t) {
1064
+ const n = xe(H(e.element));
1065
+ return n == null ? {} : vn({
1066
+ element: n,
1067
+ padding: e.padding
1068
+ }).fn(t);
1069
+ }
1070
+ };
1071
+ }
1072
+ function nt(e) {
1073
+ return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
1074
+ }
1075
+ function je(e, t) {
1076
+ const n = nt(e);
1077
+ return Math.round(t * n) / n;
1078
+ }
1079
+ function An(e, t, n) {
1080
+ n === void 0 && (n = {});
1081
+ const i = n.whileElementsMounted, o = P(() => {
1082
+ var p;
1083
+ return (p = H(n.open)) != null ? p : !0;
1084
+ }), r = P(() => H(n.middleware)), s = P(() => {
1085
+ var p;
1086
+ return (p = H(n.placement)) != null ? p : "bottom";
1087
+ }), l = P(() => {
1088
+ var p;
1089
+ return (p = H(n.strategy)) != null ? p : "absolute";
1090
+ }), f = P(() => {
1091
+ var p;
1092
+ return (p = H(n.transform)) != null ? p : !0;
1093
+ }), c = P(() => xe(e.value)), u = P(() => xe(t.value)), d = E(0), g = E(0), m = E(l.value), a = E(s.value), h = _e({}), v = E(!1), w = P(() => {
1094
+ const p = {
1095
+ position: m.value,
1096
+ left: "0",
1097
+ top: "0"
1098
+ };
1099
+ if (!u.value)
1100
+ return p;
1101
+ const T = je(u.value, d.value), L = je(u.value, g.value);
1102
+ return f.value ? {
1103
+ ...p,
1104
+ transform: "translate(" + T + "px, " + L + "px)",
1105
+ ...nt(u.value) >= 1.5 && {
1106
+ willChange: "transform"
1107
+ }
1108
+ } : {
1109
+ position: m.value,
1110
+ left: T + "px",
1111
+ top: L + "px"
1112
+ };
1113
+ });
1114
+ let y;
1115
+ function b() {
1116
+ c.value == null || u.value == null || wn(c.value, u.value, {
1117
+ middleware: r.value,
1118
+ placement: s.value,
1119
+ strategy: l.value
1120
+ }).then((p) => {
1121
+ d.value = p.x, g.value = p.y, m.value = p.strategy, a.value = p.placement, h.value = p.middlewareData, v.value = !0;
1122
+ });
1123
+ }
1124
+ function C() {
1125
+ typeof y == "function" && (y(), y = void 0);
1126
+ }
1127
+ function A() {
1128
+ if (C(), i === void 0) {
1129
+ b();
1130
+ return;
1131
+ }
1132
+ if (c.value != null && u.value != null) {
1133
+ y = i(c.value, u.value, b);
1134
+ return;
1135
+ }
1136
+ }
1137
+ function O() {
1138
+ o.value || (v.value = !1);
1139
+ }
1140
+ return k([r, s, l], b, {
1141
+ flush: "sync"
1142
+ }), k([c, u], A, {
1143
+ flush: "sync"
1144
+ }), k(o, O, {
1145
+ flush: "sync"
1146
+ }), lt() && at(C), {
1147
+ x: Q(d),
1148
+ y: Q(g),
1149
+ strategy: Q(m),
1150
+ placement: Q(a),
1151
+ middlewareData: Q(h),
1152
+ isPositioned: Q(v),
1153
+ floatingStyles: w,
1154
+ update: b
1155
+ };
1156
+ }
1157
+ var On = Object.defineProperty, Tn = (e, t, n) => t in e ? On(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Sn = (e, t, n) => (Tn(e, typeof t != "symbol" ? t + "" : t, n), n);
1158
+ function re(e) {
1159
+ return e == null || e.value == null ? null : e.value instanceof Node ? e.value : "$el" in e.value && e.value.$el ? re(E(e.value.$el)) : "getBoundingClientRect" in e.value ? e.value : null;
1160
+ }
1161
+ function ot(e) {
1162
+ return e.reduce((t, n) => n.type === ze ? t.concat(ot(n.children)) : t.concat(n), []);
1163
+ }
1164
+ function Rn(e) {
1165
+ return e == null ? !1 : typeof e.type == "string" || typeof e.type == "object" || typeof e.type == "function";
1166
+ }
1167
+ function He(e) {
1168
+ return e = H(e), e && (e == null ? void 0 : e.nodeType) !== Node.COMMENT_NODE;
1169
+ }
1170
+ class En {
1171
+ constructor() {
1172
+ Sn(this, "current", this.detect());
1173
+ }
1174
+ set(t) {
1175
+ this.current !== t && (this.current = t);
1176
+ }
1177
+ reset() {
1178
+ this.set(this.detect());
1179
+ }
1180
+ get isServer() {
1181
+ return this.current === "server";
1182
+ }
1183
+ get isClient() {
1184
+ return this.current === "client";
1185
+ }
1186
+ detect() {
1187
+ return typeof window > "u" || typeof document > "u" ? "server" : "client";
1188
+ }
1189
+ }
1190
+ const Re = new En();
1191
+ function Pn(e) {
1192
+ if (Re.isServer)
1193
+ return null;
1194
+ if (e instanceof Node)
1195
+ return e.ownerDocument;
1196
+ if (Object.prototype.hasOwnProperty.call(e, "value")) {
1197
+ const t = re(e);
1198
+ if (t)
1199
+ return t.ownerDocument;
1200
+ }
1201
+ return document;
1202
+ }
1203
+ function Ln(e, t) {
1204
+ !t.vueTransition && (t.transitionName || t.transitionType) && console.warn(`[headlessui-float]: <${e} /> pass "transition-name" or "transition-type" prop, must be set "vue-transition" prop.`);
1205
+ }
1206
+ function Fn(e, t, n, i, o) {
1207
+ k([
1208
+ () => o.offset,
1209
+ () => o.flip,
1210
+ () => o.shift,
1211
+ () => o.autoPlacement,
1212
+ () => o.arrow,
1213
+ () => o.hide,
1214
+ () => o.middleware
1215
+ ], () => {
1216
+ const r = [];
1217
+ (typeof o.offset == "number" || typeof o.offset == "object" || typeof o.offset == "function") && r.push(dn(o.offset)), (o.flip === !0 || typeof o.flip == "number" || typeof o.flip == "object") && r.push(hn({
1218
+ padding: typeof o.flip == "number" ? o.flip : void 0,
1219
+ ...typeof o.flip == "object" ? o.flip : {}
1220
+ })), (o.shift === !0 || typeof o.shift == "number" || typeof o.shift == "object") && r.push(pn({
1221
+ padding: typeof o.shift == "number" ? o.shift : void 0,
1222
+ ...typeof o.shift == "object" ? o.shift : {}
1223
+ })), (o.autoPlacement === !0 || typeof o.autoPlacement == "object") && r.push(mn(
1224
+ typeof o.autoPlacement == "object" ? o.autoPlacement : void 0
1225
+ )), r.push(...typeof o.middleware == "function" ? o.middleware({
1226
+ referenceEl: t,
1227
+ floatingEl: n
1228
+ }) : o.middleware || []), (o.arrow === !0 || typeof o.arrow == "number") && r.push(Cn({
1229
+ element: i,
1230
+ padding: o.arrow === !0 ? 0 : o.arrow
1231
+ })), (o.hide === !0 || typeof o.hide == "object" || Array.isArray(o.hide)) && (Array.isArray(o.hide) ? o.hide : [o.hide]).forEach((s) => {
1232
+ r.push(gn(
1233
+ typeof s == "object" ? s : void 0
1234
+ ));
1235
+ }), e.value = r;
1236
+ }, { immediate: !0 });
1237
+ }
1238
+ function Bn(e, t, n) {
1239
+ let i = () => {
1240
+ };
1241
+ Ve(() => {
1242
+ if (e && Re.isClient && typeof ResizeObserver < "u" && t.value && t.value instanceof Element) {
1243
+ const o = new ResizeObserver(([r]) => {
1244
+ n.value = r.borderBoxSize.reduce((s, { inlineSize: l }) => s + l, 0);
1245
+ });
1246
+ o.observe(t.value), i = () => {
1247
+ o.disconnect(), n.value = null;
1248
+ };
1249
+ }
1250
+ }), ut(() => {
1251
+ i();
1252
+ });
1253
+ }
1254
+ const Dn = (e) => {
1255
+ switch (e) {
1256
+ case "top":
1257
+ return "origin-bottom";
1258
+ case "bottom":
1259
+ return "origin-top";
1260
+ case "left":
1261
+ return "origin-right";
1262
+ case "right":
1263
+ return "origin-left";
1264
+ case "top-start":
1265
+ case "right-end":
1266
+ return "origin-bottom-left";
1267
+ case "top-end":
1268
+ case "left-end":
1269
+ return "origin-bottom-right";
1270
+ case "right-start":
1271
+ case "bottom-start":
1272
+ return "origin-top-left";
1273
+ case "left-start":
1274
+ case "bottom-end":
1275
+ return "origin-top-right";
1276
+ default:
1277
+ return "origin-center";
1278
+ }
1279
+ };
1280
+ function Nn(e, t) {
1281
+ const n = P(() => {
1282
+ if (typeof e.originClass == "function")
1283
+ return e.originClass(t.value);
1284
+ if (typeof e.originClass == "string")
1285
+ return e.originClass;
1286
+ if (e.tailwindcssOriginClass)
1287
+ return Dn(t.value);
1288
+ }), i = P(
1289
+ () => e.enter || n.value ? `${e.enter || ""} ${n.value || ""}` : void 0
1290
+ ), o = P(
1291
+ () => e.leave || n.value ? `${e.leave || ""} ${n.value || ""}` : void 0
1292
+ );
1293
+ return { originClassRef: n, enterActiveClassRef: i, leaveActiveClassRef: o };
1294
+ }
1295
+ function it(e, t, ...n) {
1296
+ if (e in t) {
1297
+ const o = t[e];
1298
+ return typeof o == "function" ? o(...n) : o;
1299
+ }
1300
+ const i = new Error(
1301
+ `Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(
1302
+ t
1303
+ ).map((o) => `"${o}"`).join(", ")}.`
1304
+ );
1305
+ throw Error.captureStackTrace && Error.captureStackTrace(i, it), i;
1306
+ }
1307
+ const We = [
1308
+ "[contentEditable=true]",
1309
+ "[tabindex]",
1310
+ "a[href]",
1311
+ "area[href]",
1312
+ "button:not([disabled])",
1313
+ "iframe",
1314
+ "input:not([disabled])",
1315
+ "select:not([disabled])",
1316
+ "textarea:not([disabled])"
1317
+ ].map(
1318
+ (e) => `${e}:not([tabindex='-1'])`
1319
+ ).join(",");
1320
+ var rt = /* @__PURE__ */ ((e) => (e[e.Strict = 0] = "Strict", e[e.Loose = 1] = "Loose", e))(rt || {});
1321
+ function $n(e, t = 0) {
1322
+ var n;
1323
+ return e === ((n = Pn(e)) == null ? void 0 : n.body) ? !1 : it(t, {
1324
+ 0() {
1325
+ return e.matches(We);
1326
+ },
1327
+ 1() {
1328
+ let i = e;
1329
+ for (; i !== null; ) {
1330
+ if (i.matches(We))
1331
+ return !0;
1332
+ i = i.parentElement;
1333
+ }
1334
+ return !1;
1335
+ }
1336
+ });
1337
+ }
1338
+ function we(e, t, n) {
1339
+ Re.isServer || dt((i) => {
1340
+ document.addEventListener(e, t, n), i(() => document.removeEventListener(e, t, n));
1341
+ });
1342
+ }
1343
+ function kn(e, t, n = P(() => !0)) {
1344
+ function i(r, s) {
1345
+ if (!n.value || r.defaultPrevented)
1346
+ return;
1347
+ const l = s(r);
1348
+ if (l === null || !l.getRootNode().contains(l))
1349
+ return;
1350
+ const f = function c(u) {
1351
+ return typeof u == "function" ? c(u()) : Array.isArray(u) || u instanceof Set ? u : [u];
1352
+ }(e);
1353
+ for (const c of f) {
1354
+ if (c === null)
1355
+ continue;
1356
+ const u = c instanceof HTMLElement ? c : re(c);
1357
+ if (u != null && u.contains(l) || r.composed && r.composedPath().includes(u))
1358
+ return;
1359
+ }
1360
+ return !$n(l, rt.Loose) && l.tabIndex !== -1 && r.preventDefault(), t(r, l);
1361
+ }
1362
+ const o = E(null);
1363
+ we("mousedown", (r) => {
1364
+ var s, l;
1365
+ n.value && (o.value = ((l = (s = r.composedPath) == null ? void 0 : s.call(r)) == null ? void 0 : l[0]) || r.target);
1366
+ }, !0), we(
1367
+ "click",
1368
+ (r) => {
1369
+ o.value && (i(r, () => o.value), o.value = null);
1370
+ },
1371
+ !0
1372
+ ), we("blur", (r) => i(
1373
+ r,
1374
+ () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null
1375
+ ), !0);
1376
+ }
1377
+ const Mn = Symbol("ArrowContext"), x = {
1378
+ as: {
1379
+ type: [String, Function],
1380
+ default: "template"
1381
+ },
1382
+ floatingAs: {
1383
+ type: [String, Function],
1384
+ default: "div"
1385
+ },
1386
+ show: {
1387
+ type: Boolean,
1388
+ default: null
1389
+ },
1390
+ placement: {
1391
+ type: String,
1392
+ default: "bottom-start"
1393
+ },
1394
+ strategy: {
1395
+ type: String,
1396
+ default: "absolute"
1397
+ },
1398
+ offset: [Number, Function, Object],
1399
+ shift: {
1400
+ type: [Boolean, Number, Object],
1401
+ default: !1
1402
+ },
1403
+ flip: {
1404
+ type: [Boolean, Number, Object],
1405
+ default: !1
1406
+ },
1407
+ arrow: {
1408
+ type: [Boolean, Number],
1409
+ default: !1
1410
+ },
1411
+ autoPlacement: {
1412
+ type: [Boolean, Object],
1413
+ default: !1
1414
+ },
1415
+ hide: {
1416
+ type: [Boolean, Object, Array],
1417
+ default: !1
1418
+ },
1419
+ referenceHiddenClass: String,
1420
+ escapedClass: String,
1421
+ autoUpdate: {
1422
+ type: [Boolean, Object],
1423
+ default: !0
1424
+ },
1425
+ zIndex: {
1426
+ type: [Number, String],
1427
+ default: 9999
1428
+ },
1429
+ vueTransition: {
1430
+ type: Boolean,
1431
+ default: !1
1432
+ },
1433
+ transitionName: String,
1434
+ transitionType: String,
1435
+ enter: String,
1436
+ enterFrom: String,
1437
+ enterTo: String,
1438
+ leave: String,
1439
+ leaveFrom: String,
1440
+ leaveTo: String,
1441
+ originClass: [String, Function],
1442
+ tailwindcssOriginClass: {
1443
+ type: Boolean,
1444
+ default: !1
1445
+ },
1446
+ portal: {
1447
+ type: Boolean,
1448
+ default: !1
1449
+ },
1450
+ transform: {
1451
+ type: Boolean,
1452
+ default: !1
1453
+ },
1454
+ adaptiveWidth: {
1455
+ type: [Boolean, Object],
1456
+ default: !1
1457
+ },
1458
+ composable: {
1459
+ type: Boolean,
1460
+ default: !1
1461
+ },
1462
+ dialog: {
1463
+ type: Boolean,
1464
+ default: !1
1465
+ },
1466
+ middleware: {
1467
+ type: [Array, Function],
1468
+ default: () => []
1469
+ }
1470
+ };
1471
+ function jn(e, t, n, i) {
1472
+ const { floatingRef: o, props: r, mounted: s, show: l, referenceHidden: f, escaped: c, placement: u, floatingStyles: d, referenceElWidth: g, updateFloating: m } = i, a = pe(
1473
+ { ...r, as: r.floatingAs },
1474
+ t
1475
+ ), { enterActiveClassRef: h, leaveActiveClassRef: v } = Nn(a, u), w = {
1476
+ show: s.value ? a.show : !1,
1477
+ enter: h.value,
1478
+ enterFrom: a.enterFrom,
1479
+ enterTo: a.enterTo,
1480
+ leave: v.value,
1481
+ leaveFrom: a.leaveFrom,
1482
+ leaveTo: a.leaveTo,
1483
+ onBeforeEnter() {
1484
+ l.value = !0;
1485
+ },
1486
+ onAfterLeave() {
1487
+ l.value = !1;
1488
+ }
1489
+ }, y = {
1490
+ name: a.transitionName,
1491
+ type: a.transitionType,
1492
+ appear: !0,
1493
+ ...a.transitionName ? {} : {
1494
+ enterActiveClass: h.value,
1495
+ enterFromClass: a.enterFrom,
1496
+ enterToClass: a.enterTo,
1497
+ leaveActiveClass: v.value,
1498
+ leaveFromClass: a.leaveFrom,
1499
+ leaveToClass: a.leaveTo
1500
+ },
1501
+ onBeforeEnter() {
1502
+ l.value = !0;
1503
+ },
1504
+ onAfterLeave() {
1505
+ l.value = !1;
1506
+ }
1507
+ }, b = {
1508
+ class: [
1509
+ f.value ? a.referenceHiddenClass : void 0,
1510
+ c.value ? a.escapedClass : void 0
1511
+ ].filter((p) => !!p).join(" "),
1512
+ style: {
1513
+ ...d.value,
1514
+ zIndex: a.zIndex
1515
+ }
1516
+ };
1517
+ if (a.adaptiveWidth && typeof g.value == "number") {
1518
+ const p = {
1519
+ attribute: "width",
1520
+ ...typeof a.adaptiveWidth == "object" ? a.adaptiveWidth : {}
1521
+ };
1522
+ b.style[p.attribute] = `${g.value}px`;
1523
+ }
1524
+ function C(p) {
1525
+ return a.portal ? s.value ? ne(mt, () => p) : he() : p;
1526
+ }
1527
+ function A(p) {
1528
+ const T = pe(
1529
+ b,
1530
+ n,
1531
+ a.dialog ? {} : { ref: o }
1532
+ );
1533
+ return a.as === "template" ? p : typeof a.as == "string" ? ne(a.as, T, p) : ne(a.as, T, () => p);
1534
+ }
1535
+ function O() {
1536
+ function p() {
1537
+ var T;
1538
+ const L = a.as === "template" ? pe(
1539
+ b,
1540
+ n,
1541
+ a.dialog ? {} : { ref: o }
1542
+ ) : null, R = vt(e, L);
1543
+ return ((T = e.props) == null ? void 0 : T.unmount) === !1 ? (m(), R) : a.vueTransition && a.show === !1 ? he() : R;
1544
+ }
1545
+ return s.value ? a.vueTransition ? ne(pt, {
1546
+ ...a.dialog ? { ref: o } : {},
1547
+ ...y
1548
+ }, p) : ne(a.transitionChild ? ht : gt, {
1549
+ key: `placement-${u.value}`,
1550
+ ...a.dialog ? { ref: o } : {},
1551
+ as: "template",
1552
+ ...w
1553
+ }, p) : he();
1554
+ }
1555
+ return C(
1556
+ A(
1557
+ O()
1558
+ )
1559
+ );
1560
+ }
1561
+ function Hn(e, t, n, i, o) {
1562
+ const r = E(!1), s = Ee(i, "placement"), l = Ee(i, "strategy"), f = _e({}), c = E(void 0), u = E(void 0), d = E(null), g = E(void 0), m = E(void 0), a = P(() => re(t)), h = P(() => re(n)), v = P(
1563
+ () => He(a) && He(h)
1564
+ ), { placement: w, middlewareData: y, isPositioned: b, floatingStyles: C, update: A } = An(a, h, {
1565
+ placement: s,
1566
+ strategy: l,
1567
+ middleware: f,
1568
+ transform: i.dialog ? !1 : i.transform,
1569
+ whileElementsMounted: i.dialog ? () => () => {
1570
+ } : void 0
1571
+ }), O = E(null);
1572
+ Ve(() => {
1573
+ r.value = !0;
1574
+ }), k(e, (S, D) => {
1575
+ S && !D ? o("show") : !S && D && o("hide");
1576
+ }, { immediate: !0 });
1577
+ function p() {
1578
+ v.value && (A(), o("update"));
1579
+ }
1580
+ k([s, l, f], p, { flush: "sync" }), Fn(
1581
+ f,
1582
+ a,
1583
+ h,
1584
+ d,
1585
+ i
1586
+ ), k([y, () => i.hide, b], () => {
1587
+ var S, D;
1588
+ (i.hide === !0 || typeof i.hide == "object" || Array.isArray(i.hide)) && (c.value = ((S = y.value.hide) == null ? void 0 : S.referenceHidden) || !b.value, u.value = (D = y.value.hide) == null ? void 0 : D.escaped);
1589
+ }), k(y, () => {
1590
+ const S = y.value.arrow;
1591
+ g.value = S == null ? void 0 : S.x, m.value = S == null ? void 0 : S.y;
1592
+ }), Bn(!!i.adaptiveWidth, a, O), k([e, v], async (S, D, F) => {
1593
+ if (await ct(), e.value && v.value && i.autoUpdate) {
1594
+ const $ = un(
1595
+ a.value,
1596
+ h.value,
1597
+ p,
1598
+ typeof i.autoUpdate == "object" ? i.autoUpdate : void 0
1599
+ );
1600
+ F($);
1601
+ }
1602
+ }, { flush: "post", immediate: !0 });
1603
+ const T = E(!0);
1604
+ k(a, () => {
1605
+ !(a.value instanceof Element) && v.value && T.value && (T.value = !1, window.requestAnimationFrame(() => {
1606
+ T.value = !0, p();
1607
+ }));
1608
+ }, { flush: "sync" });
1609
+ const L = {
1610
+ referenceRef: t,
1611
+ placement: w
1612
+ }, R = {
1613
+ floatingRef: n,
1614
+ props: i,
1615
+ mounted: r,
1616
+ show: e,
1617
+ referenceHidden: c,
1618
+ escaped: u,
1619
+ placement: w,
1620
+ floatingStyles: C,
1621
+ referenceElWidth: O,
1622
+ updateFloating: p
1623
+ }, B = {
1624
+ ref: d,
1625
+ placement: w,
1626
+ x: g,
1627
+ y: m
1628
+ };
1629
+ return ft(Mn, B), { referenceApi: L, floatingApi: R, arrowApi: B, placement: w, referenceEl: a, floatingEl: h, middlewareData: y, update: p };
1630
+ }
1631
+ ({
1632
+ ...x.as
1633
+ });
1634
+ const Wn = {
1635
+ as: x.as,
1636
+ show: x.show,
1637
+ placement: x.placement,
1638
+ strategy: x.strategy,
1639
+ offset: x.offset,
1640
+ shift: x.shift,
1641
+ flip: x.flip,
1642
+ arrow: x.arrow,
1643
+ autoPlacement: x.autoPlacement,
1644
+ autoUpdate: x.autoUpdate,
1645
+ zIndex: x.zIndex,
1646
+ vueTransition: x.vueTransition,
1647
+ transitionName: x.transitionName,
1648
+ transitionType: x.transitionType,
1649
+ enter: x.enter,
1650
+ enterFrom: x.enterFrom,
1651
+ enterTo: x.enterTo,
1652
+ leave: x.leave,
1653
+ leaveFrom: x.leaveFrom,
1654
+ leaveTo: x.leaveTo,
1655
+ originClass: x.originClass,
1656
+ tailwindcssOriginClass: x.tailwindcssOriginClass,
1657
+ portal: x.portal,
1658
+ transform: x.transform,
1659
+ middleware: x.middleware
1660
+ }, _n = {
1661
+ name: "FloatVirtual",
1662
+ inheritAttrs: !1,
1663
+ props: Wn,
1664
+ emits: ["initial", "show", "hide", "update"],
1665
+ setup(e, { emit: t, slots: n, attrs: i }) {
1666
+ var u;
1667
+ Ln("FloatVirtual", e);
1668
+ const o = E((u = e.show) != null ? u : !1), r = E({
1669
+ getBoundingClientRect() {
1670
+ return {
1671
+ x: 0,
1672
+ y: 0,
1673
+ top: 0,
1674
+ left: 0,
1675
+ bottom: 0,
1676
+ right: 0,
1677
+ width: 0,
1678
+ height: 0
1679
+ };
1680
+ }
1681
+ }), s = E(null), {
1682
+ floatingApi: l,
1683
+ placement: f
1684
+ } = Hn(o, r, s, e, t);
1685
+ k(() => e.show, () => {
1686
+ var d;
1687
+ o.value = (d = e.show) != null ? d : !1;
1688
+ });
1689
+ function c() {
1690
+ o.value = !1;
1691
+ }
1692
+ return t("initial", {
1693
+ show: o,
1694
+ placement: f,
1695
+ reference: r,
1696
+ floating: s
1697
+ }), () => {
1698
+ if (!n.default)
1699
+ return;
1700
+ const d = {
1701
+ placement: f.value,
1702
+ close: c
1703
+ }, [g] = ot(n.default(d)).filter(Rn);
1704
+ return jn(
1705
+ g,
1706
+ {
1707
+ as: e.as,
1708
+ show: o.value
1709
+ },
1710
+ i,
1711
+ l
1712
+ );
1713
+ };
1714
+ }
1715
+ };
1716
+ x.as, x.placement, x.strategy, x.offset, x.shift, {
1717
+ ...x.flip
1718
+ }, x.arrow, x.autoPlacement, x.autoUpdate, x.zIndex, x.vueTransition, x.transitionName, x.transitionType, x.enter, x.enterFrom, x.enterTo, x.leave, x.leaveFrom, x.leaveTo, x.originClass, x.tailwindcssOriginClass, x.transform, x.middleware;
1719
+ const zn = { class: "flex bg-white shadow-md z-10 rounded-md p-1" }, Vn = ["onClick"], Un = /* @__PURE__ */ wt({
1720
+ __name: "StylePanel",
1721
+ setup(e) {
1722
+ const t = E({ value: null }), n = yt(), i = P(
1723
+ () => n.getters.onContentChange || (() => {
1724
+ })
1725
+ ), o = P(
1726
+ () => xt(n.getters.diagramElement) + bt
1727
+ ), r = P(() => n.getters.code), s = (d) => {
1728
+ n.dispatch("updateCode", { code: d }), i.value(d);
1729
+ }, l = E([]);
1730
+ let f;
1731
+ const c = ({ show: d, reference: g, floating: m }) => {
1732
+ let a, h, v, w, y, b;
1733
+ n.commit("onMessageClick", (C, A) => {
1734
+ var O;
1735
+ if (a = C.value.start.start, h = Et(r.value, a), v = Pt(r.value, a), w = ((O = r.value.slice(h).match(/^\s*/)) == null ? void 0 : O[0]) || "", y = v.trim().startsWith("//"), y) {
1736
+ const p = v.trimStart().slice(2).trimStart(), T = p.indexOf("["), L = p.indexOf("]");
1737
+ b = Boolean(T === 0 && L), b ? l.value = p.slice(T + 1, L).split(",").map((R) => R.trim()) : l.value = [];
1738
+ }
1739
+ g.value = {
1740
+ getBoundingClientRect: () => A.getBoundingClientRect()
1741
+ }, t.value = C, d.value = !0;
1742
+ }), kn(
1743
+ m,
1744
+ () => {
1745
+ d.value = !1, l.value = [];
1746
+ },
1747
+ P(() => d.value)
1748
+ ), f = (C) => {
1749
+ var A;
1750
+ if (d.value = !1, !!t.value.value)
1751
+ if (y) {
1752
+ let O = "";
1753
+ if (b) {
1754
+ let p;
1755
+ l.value.includes(C) ? p = l.value.filter((T) => T !== C) : p = [...l.value, C], O = `${w}// [${p.filter(Boolean).join(", ")}] ${v.slice(v.indexOf("]") + 1).trimStart()}`;
1756
+ } else
1757
+ O = `${w}// [${C}] ${v.slice((((A = v.match(/\/\/*/)) == null ? void 0 : A.index) || -2) + 2).trimStart()}`;
1758
+ O.endsWith(`
1759
+ `) || (O += `
1760
+ `), s(
1761
+ r.value.slice(0, Lt(r.value, a)) + O + r.value.slice(h)
1762
+ );
1763
+ } else
1764
+ s(
1765
+ r.value.slice(0, h) + `${w}// [${C}]
1766
+ ` + r.value.slice(h)
1767
+ );
1768
+ };
1769
+ }, u = [
1770
+ {
1771
+ name: "bold",
1772
+ content: "B",
1773
+ class: "font-bold"
1774
+ },
1775
+ {
1776
+ name: "italic",
1777
+ content: "I",
1778
+ class: "italic"
1779
+ },
1780
+ {
1781
+ name: "underline",
1782
+ content: "U",
1783
+ class: "underline"
1784
+ },
1785
+ {
1786
+ name: "strikethrough",
1787
+ content: "S",
1788
+ class: "line-through"
1789
+ }
1790
+ ];
1791
+ return (d, g) => (Pe(), Ct(H(_n), {
1792
+ key: "tool",
1793
+ onInitial: c,
1794
+ placement: "top",
1795
+ offset: 5,
1796
+ flip: { padding: H(o) },
1797
+ shift: "",
1798
+ zIndex: "30"
1799
+ }, {
1800
+ default: At(() => [
1801
+ ge("div", zn, [
1802
+ (Pe(), Ot(ze, null, Tt(u, (m) => ge("div", {
1803
+ onClick: () => H(f)(m.class),
1804
+ key: m.name
1805
+ }, [
1806
+ ge("div", {
1807
+ class: St(["w-6 mx-1 py-1 rounded-md text-black text-center cursor-pointer hover:bg-gray-200", [
1808
+ m.class,
1809
+ { "bg-gray-100": l.value.includes(m.class) }
1810
+ ]])
1811
+ }, Rt(m.content), 3)
1812
+ ], 8, Vn)), 64))
1813
+ ])
1814
+ ], void 0, !0),
1815
+ _: 1
1816
+ }, 8, ["flip"]));
1817
+ }
1818
+ });
1819
+ export {
1820
+ Un as default
1821
+ };
1822
+ //# sourceMappingURL=StylePanel.b4adcc0f.js.map