@zerops/web-components 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3998 @@
1
+ var bn = (e) => {
2
+ throw TypeError(e);
3
+ };
4
+ var ge = (e, t, n) => t.has(e) || bn("Cannot " + n);
5
+ var P = (e, t, n) => (ge(e, t, "read from private field"), n ? n.call(e) : t.get(e)), N = (e, t, n) => t.has(e) ? bn("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, n), I = (e, t, n, i) => (ge(e, t, "write to private field"), i ? i.call(e, n) : t.set(e, n), n), rt = (e, t, n) => (ge(e, t, "access private method"), n);
6
+ import { a7 as le, l as Q, B as ue, aM as qt, b8 as qe, r as kt, n as Ut, F as de, ar as fe, as as he, at as y, aY as qn, a_ as Un, av as w, aw as ut, aZ as Gn, b0 as Yn, aT as pe, a2 as k, az as A, aW as ne, aX as ie, aQ as ye, al as Jt, bq as ds, br as fs } from "./chunks/app-CrO8M3t-.js";
7
+ function hs(e, t) {
8
+ e.indexOf(t) === -1 && e.push(t);
9
+ }
10
+ function Ue(e, t) {
11
+ const n = e.indexOf(t);
12
+ n > -1 && e.splice(n, 1);
13
+ }
14
+ const it = (e, t, n) => n > t ? t : n < e ? e : n;
15
+ function _e(e, t) {
16
+ return t ? `${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}` : e;
17
+ }
18
+ let Gt = () => {
19
+ }, J = () => {
20
+ };
21
+ typeof process < "u" && process.env?.NODE_ENV !== "production" && (Gt = (e, t, n) => {
22
+ !e && typeof console < "u" && console.warn(_e(t, n));
23
+ }, J = (e, t, n) => {
24
+ if (!e)
25
+ throw new Error(_e(t, n));
26
+ });
27
+ const st = {}, Hn = (e) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);
28
+ function ps(e) {
29
+ return typeof e == "object" && e !== null;
30
+ }
31
+ const Zn = (e) => /^0[^.\s]+$/u.test(e);
32
+ // @__NO_SIDE_EFFECTS__
33
+ function Qn(e) {
34
+ let t;
35
+ return () => (t === void 0 && (t = e()), t);
36
+ }
37
+ const Dt = /* @__NO_SIDE_EFFECTS__ */ (e) => e, ms = (e, t) => (n) => t(e(n)), Ge = (...e) => e.reduce(ms), Ye = /* @__NO_SIDE_EFFECTS__ */ (e, t, n) => {
38
+ const i = t - e;
39
+ return i === 0 ? 1 : (n - e) / i;
40
+ };
41
+ class Jn {
42
+ constructor() {
43
+ this.subscriptions = [];
44
+ }
45
+ add(t) {
46
+ return hs(this.subscriptions, t), () => Ue(this.subscriptions, t);
47
+ }
48
+ notify(t, n, i) {
49
+ const s = this.subscriptions.length;
50
+ if (s)
51
+ if (s === 1)
52
+ this.subscriptions[0](t, n, i);
53
+ else
54
+ for (let a = 0; a < s; a++) {
55
+ const r = this.subscriptions[a];
56
+ r && r(t, n, i);
57
+ }
58
+ }
59
+ getSize() {
60
+ return this.subscriptions.length;
61
+ }
62
+ clear() {
63
+ this.subscriptions.length = 0;
64
+ }
65
+ }
66
+ const K = /* @__NO_SIDE_EFFECTS__ */ (e) => e * 1e3, z = /* @__NO_SIDE_EFFECTS__ */ (e) => e / 1e3;
67
+ function ti(e, t) {
68
+ return t ? e * (1e3 / t) : 0;
69
+ }
70
+ const xn = /* @__PURE__ */ new Set();
71
+ function ei(e, t, n) {
72
+ e || xn.has(t) || (console.warn(_e(t, n)), xn.add(t));
73
+ }
74
+ const gs = (e, t, n) => {
75
+ const i = t - e;
76
+ return ((n - e) % i + i) % i + e;
77
+ }, ni = (e, t, n) => (((1 - 3 * n + 3 * t) * e + (3 * n - 6 * t)) * e + 3 * t) * e, ys = 1e-7, bs = 12;
78
+ function xs(e, t, n, i, s) {
79
+ let a, r, o = 0;
80
+ do
81
+ r = t + (n - t) / 2, a = ni(r, i, s) - e, a > 0 ? n = r : t = r;
82
+ while (Math.abs(a) > ys && ++o < bs);
83
+ return r;
84
+ }
85
+ function Yt(e, t, n, i) {
86
+ if (e === t && n === i)
87
+ return Dt;
88
+ const s = (a) => xs(a, 0, 1, e, n);
89
+ return (a) => a === 0 || a === 1 ? a : ni(s(a), t, i);
90
+ }
91
+ const ii = (e) => (t) => t <= 0.5 ? e(2 * t) / 2 : (2 - e(2 * (1 - t))) / 2, si = (e) => (t) => 1 - e(1 - t), ai = /* @__PURE__ */ Yt(0.33, 1.53, 0.69, 0.99), He = /* @__PURE__ */ si(ai), ri = /* @__PURE__ */ ii(He), oi = (e) => e >= 1 ? 1 : (e *= 2) < 1 ? 0.5 * He(e) : 0.5 * (2 - Math.pow(2, -10 * (e - 1))), Ze = (e) => 1 - Math.sin(Math.acos(e)), vs = si(Ze), ci = ii(Ze), ws = /* @__PURE__ */ Yt(0.42, 0, 1, 1), Ms = /* @__PURE__ */ Yt(0, 0, 0.58, 1), li = /* @__PURE__ */ Yt(0.42, 0, 0.58, 1), ui = (e) => Array.isArray(e) && typeof e[0] != "number";
92
+ function di(e, t) {
93
+ return ui(e) ? e[gs(0, e.length, t)] : e;
94
+ }
95
+ const fi = (e) => Array.isArray(e) && typeof e[0] == "number", vn = {
96
+ linear: Dt,
97
+ easeIn: ws,
98
+ easeInOut: li,
99
+ easeOut: Ms,
100
+ circIn: Ze,
101
+ circInOut: ci,
102
+ circOut: vs,
103
+ backIn: He,
104
+ backInOut: ri,
105
+ backOut: ai,
106
+ anticipate: oi
107
+ }, _s = (e) => typeof e == "string", wn = (e) => {
108
+ if (fi(e)) {
109
+ J(e.length === 4, "Cubic bezier arrays must contain four numerical values.", "cubic-bezier-length");
110
+ const [t, n, i, s] = e;
111
+ return Yt(t, n, i, s);
112
+ } else if (_s(e))
113
+ return J(vn[e] !== void 0, `Invalid easing type '${e}'`, "invalid-easing-type"), vn[e];
114
+ return e;
115
+ }, te = [
116
+ "setup",
117
+ // Compute
118
+ "read",
119
+ // Read
120
+ "resolveKeyframes",
121
+ // Write/Read/Write/Read
122
+ "preUpdate",
123
+ // Compute
124
+ "update",
125
+ // Compute
126
+ "preRender",
127
+ // Compute
128
+ "render",
129
+ // Write
130
+ "postRender"
131
+ // Compute
132
+ ];
133
+ function Ts(e, t) {
134
+ let n = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), s = !1, a = !1;
135
+ const r = /* @__PURE__ */ new WeakSet();
136
+ let o = {
137
+ delta: 0,
138
+ timestamp: 0,
139
+ isProcessing: !1
140
+ };
141
+ function l(c) {
142
+ r.has(c) && (d.schedule(c), e()), c(o);
143
+ }
144
+ const d = {
145
+ /**
146
+ * Schedule a process to run on the next frame.
147
+ */
148
+ schedule: (c, u = !1, f = !1) => {
149
+ const m = f && s ? n : i;
150
+ return u && r.add(c), m.add(c), c;
151
+ },
152
+ /**
153
+ * Cancel the provided callback from running on the next frame.
154
+ */
155
+ cancel: (c) => {
156
+ i.delete(c), r.delete(c);
157
+ },
158
+ /**
159
+ * Execute all schedule callbacks.
160
+ */
161
+ process: (c) => {
162
+ if (o = c, s) {
163
+ a = !0;
164
+ return;
165
+ }
166
+ s = !0;
167
+ const u = n;
168
+ n = i, i = u, n.forEach(l), n.clear(), s = !1, a && (a = !1, d.process(c));
169
+ }
170
+ };
171
+ return d;
172
+ }
173
+ const Cs = 40;
174
+ function hi(e, t) {
175
+ let n = !1, i = !0;
176
+ const s = {
177
+ delta: 0,
178
+ timestamp: 0,
179
+ isProcessing: !1
180
+ }, a = () => n = !0, r = te.reduce((C, T) => (C[T] = Ts(a), C), {}), { setup: o, read: l, resolveKeyframes: d, preUpdate: c, update: u, preRender: f, render: h, postRender: m } = r, g = () => {
181
+ const C = st.useManualTiming, T = C ? s.timestamp : performance.now();
182
+ n = !1, C || (s.delta = i ? 1e3 / 60 : Math.max(Math.min(T - s.timestamp, Cs), 1)), s.timestamp = T, s.isProcessing = !0, o.process(s), l.process(s), d.process(s), c.process(s), u.process(s), f.process(s), h.process(s), m.process(s), s.isProcessing = !1, n && t && (i = !1, e(g));
183
+ }, b = () => {
184
+ n = !0, i = !0, s.isProcessing || e(g);
185
+ };
186
+ return { schedule: te.reduce((C, T) => {
187
+ const M = r[T];
188
+ return C[T] = (D, R = !1, _ = !1) => (n || b(), M.schedule(D, R, _)), C;
189
+ }, {}), cancel: (C) => {
190
+ for (let T = 0; T < te.length; T++)
191
+ r[te[T]].cancel(C);
192
+ }, state: s, steps: r };
193
+ }
194
+ const { schedule: G, cancel: Te, state: ae } = /* @__PURE__ */ hi(typeof requestAnimationFrame < "u" ? requestAnimationFrame : Dt, !0);
195
+ let se;
196
+ function Ss() {
197
+ se = void 0;
198
+ }
199
+ const X = {
200
+ now: () => (se === void 0 && X.set(ae.isProcessing || st.useManualTiming ? ae.timestamp : performance.now()), se),
201
+ set: (e) => {
202
+ se = e, queueMicrotask(Ss);
203
+ }
204
+ }, pi = (e) => (t) => typeof t == "string" && t.startsWith(e), mi = /* @__PURE__ */ pi("--"), As = /* @__PURE__ */ pi("var(--"), Qe = (e) => As(e) ? Vs.test(e.split("/*")[0].trim()) : !1, Vs = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;
205
+ function Mn(e) {
206
+ return typeof e != "string" ? !1 : e.split("/*")[0].includes("var(--");
207
+ }
208
+ const Ft = {
209
+ test: (e) => typeof e == "number",
210
+ parse: parseFloat,
211
+ transform: (e) => e
212
+ }, Lt = {
213
+ ...Ft,
214
+ transform: (e) => it(0, 1, e)
215
+ }, ee = {
216
+ ...Ft,
217
+ default: 1
218
+ }, zt = (e) => Math.round(e * 1e5) / 1e5, Je = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
219
+ function Ps(e) {
220
+ return e == null;
221
+ }
222
+ const Os = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu, tn = (e, t) => (n) => !!(typeof n == "string" && Os.test(n) && n.startsWith(e) || t && !Ps(n) && Object.prototype.hasOwnProperty.call(n, t)), gi = (e, t, n) => (i) => {
223
+ if (typeof i != "string")
224
+ return i;
225
+ const [s, a, r, o] = i.match(Je);
226
+ return {
227
+ [e]: parseFloat(s),
228
+ [t]: parseFloat(a),
229
+ [n]: parseFloat(r),
230
+ alpha: o !== void 0 ? parseFloat(o) : 1
231
+ };
232
+ }, ks = (e) => it(0, 255, e), be = {
233
+ ...Ft,
234
+ transform: (e) => Math.round(ks(e))
235
+ }, ot = {
236
+ test: /* @__PURE__ */ tn("rgb", "red"),
237
+ parse: /* @__PURE__ */ gi("red", "green", "blue"),
238
+ transform: ({ red: e, green: t, blue: n, alpha: i = 1 }) => "rgba(" + be.transform(e) + ", " + be.transform(t) + ", " + be.transform(n) + ", " + zt(Lt.transform(i)) + ")"
239
+ };
240
+ function Ds(e) {
241
+ let t = "", n = "", i = "", s = "";
242
+ return e.length > 5 ? (t = e.substring(1, 3), n = e.substring(3, 5), i = e.substring(5, 7), s = e.substring(7, 9)) : (t = e.substring(1, 2), n = e.substring(2, 3), i = e.substring(3, 4), s = e.substring(4, 5), t += t, n += n, i += i, s += s), {
243
+ red: parseInt(t, 16),
244
+ green: parseInt(n, 16),
245
+ blue: parseInt(i, 16),
246
+ alpha: s ? parseInt(s, 16) / 255 : 1
247
+ };
248
+ }
249
+ const Ce = {
250
+ test: /* @__PURE__ */ tn("#"),
251
+ parse: Ds,
252
+ transform: ot.transform
253
+ }, Ht = /* @__NO_SIDE_EFFECTS__ */ (e) => ({
254
+ test: (t) => typeof t == "string" && t.endsWith(e) && t.split(" ").length === 1,
255
+ parse: parseFloat,
256
+ transform: (t) => `${t}${e}`
257
+ }), et = /* @__PURE__ */ Ht("deg"), xt = /* @__PURE__ */ Ht("%"), p = /* @__PURE__ */ Ht("px"), Fs = /* @__PURE__ */ Ht("vh"), Es = /* @__PURE__ */ Ht("vw"), _n = {
258
+ ...xt,
259
+ parse: (e) => xt.parse(e) / 100,
260
+ transform: (e) => xt.transform(e * 100)
261
+ }, dt = {
262
+ test: /* @__PURE__ */ tn("hsl", "hue"),
263
+ parse: /* @__PURE__ */ gi("hue", "saturation", "lightness"),
264
+ transform: ({ hue: e, saturation: t, lightness: n, alpha: i = 1 }) => "hsla(" + Math.round(e) + ", " + xt.transform(zt(t)) + ", " + xt.transform(zt(n)) + ", " + zt(Lt.transform(i)) + ")"
265
+ }, E = {
266
+ test: (e) => ot.test(e) || Ce.test(e) || dt.test(e),
267
+ parse: (e) => ot.test(e) ? ot.parse(e) : dt.test(e) ? dt.parse(e) : Ce.parse(e),
268
+ transform: (e) => typeof e == "string" ? e : e.hasOwnProperty("red") ? ot.transform(e) : dt.transform(e),
269
+ getAnimatableNone: (e) => {
270
+ const t = E.parse(e);
271
+ return t.alpha = 0, E.transform(t);
272
+ }
273
+ }, Rs = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
274
+ function Is(e) {
275
+ return isNaN(e) && typeof e == "string" && (e.match(Je)?.length || 0) + (e.match(Rs)?.length || 0) > 0;
276
+ }
277
+ const yi = "number", bi = "color", Bs = "var", Ns = "var(", Tn = "${}", Xs = /var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;
278
+ function St(e) {
279
+ const t = e.toString(), n = [], i = {
280
+ color: [],
281
+ number: [],
282
+ var: []
283
+ }, s = [];
284
+ let a = 0;
285
+ const o = t.replace(Xs, (l) => (E.test(l) ? (i.color.push(a), s.push(bi), n.push(E.parse(l))) : l.startsWith(Ns) ? (i.var.push(a), s.push(Bs), n.push(l)) : (i.number.push(a), s.push(yi), n.push(parseFloat(l))), ++a, Tn)).split(Tn);
286
+ return { values: n, split: o, indexes: i, types: s };
287
+ }
288
+ function Ks(e) {
289
+ return St(e).values;
290
+ }
291
+ function xi({ split: e, types: t }) {
292
+ const n = e.length;
293
+ return (i) => {
294
+ let s = "";
295
+ for (let a = 0; a < n; a++)
296
+ if (s += e[a], i[a] !== void 0) {
297
+ const r = t[a];
298
+ r === yi ? s += zt(i[a]) : r === bi ? s += E.transform(i[a]) : s += i[a];
299
+ }
300
+ return s;
301
+ };
302
+ }
303
+ function $s(e) {
304
+ return xi(St(e));
305
+ }
306
+ const zs = (e) => typeof e == "number" ? 0 : E.test(e) ? E.getAnimatableNone(e) : e, Ls = (e, t) => typeof e == "number" ? t?.trim().endsWith("/") ? e : 0 : zs(e);
307
+ function Ws(e) {
308
+ const t = St(e);
309
+ return xi(t)(t.values.map((i, s) => Ls(i, t.split[s])));
310
+ }
311
+ const L = {
312
+ test: Is,
313
+ parse: Ks,
314
+ createTransformer: $s,
315
+ getAnimatableNone: Ws
316
+ };
317
+ function xe(e, t, n) {
318
+ return n < 0 && (n += 1), n > 1 && (n -= 1), n < 1 / 6 ? e + (t - e) * 6 * n : n < 1 / 2 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e;
319
+ }
320
+ function js({ hue: e, saturation: t, lightness: n, alpha: i }) {
321
+ e /= 360, t /= 100, n /= 100;
322
+ let s = 0, a = 0, r = 0;
323
+ if (!t)
324
+ s = a = r = n;
325
+ else {
326
+ const o = n < 0.5 ? n * (1 + t) : n + t - n * t, l = 2 * n - o;
327
+ s = xe(l, o, e + 1 / 3), a = xe(l, o, e), r = xe(l, o, e - 1 / 3);
328
+ }
329
+ return {
330
+ red: Math.round(s * 255),
331
+ green: Math.round(a * 255),
332
+ blue: Math.round(r * 255),
333
+ alpha: i
334
+ };
335
+ }
336
+ function re(e, t) {
337
+ return (n) => n > 0 ? t : e;
338
+ }
339
+ const Et = (e, t, n) => e + (t - e) * n, ve = (e, t, n) => {
340
+ const i = e * e, s = n * (t * t - i) + i;
341
+ return s < 0 ? 0 : Math.sqrt(s);
342
+ }, qs = [Ce, ot, dt], Us = (e) => qs.find((t) => t.test(e));
343
+ function Cn(e) {
344
+ const t = Us(e);
345
+ if (Gt(!!t, `'${e}' is not an animatable color. Use the equivalent color code instead.`, "color-not-animatable"), !t)
346
+ return !1;
347
+ let n = t.parse(e);
348
+ return t === dt && (n = js(n)), n;
349
+ }
350
+ const Sn = (e, t) => {
351
+ const n = Cn(e), i = Cn(t);
352
+ if (!n || !i)
353
+ return re(e, t);
354
+ const s = { ...n };
355
+ return (a) => (s.red = ve(n.red, i.red, a), s.green = ve(n.green, i.green, a), s.blue = ve(n.blue, i.blue, a), s.alpha = Et(n.alpha, i.alpha, a), ot.transform(s));
356
+ }, Se = /* @__PURE__ */ new Set(["none", "hidden"]);
357
+ function Gs(e, t) {
358
+ return Se.has(e) ? (n) => n <= 0 ? e : t : (n) => n >= 1 ? t : e;
359
+ }
360
+ function Ys(e, t) {
361
+ return (n) => Et(e, t, n);
362
+ }
363
+ function en(e) {
364
+ return typeof e == "number" ? Ys : typeof e == "string" ? Qe(e) ? re : E.test(e) ? Sn : Qs : Array.isArray(e) ? vi : typeof e == "object" ? E.test(e) ? Sn : Hs : re;
365
+ }
366
+ function vi(e, t) {
367
+ const n = [...e], i = n.length, s = e.map((a, r) => en(a)(a, t[r]));
368
+ return (a) => {
369
+ for (let r = 0; r < i; r++)
370
+ n[r] = s[r](a);
371
+ return n;
372
+ };
373
+ }
374
+ function Hs(e, t) {
375
+ const n = { ...e, ...t }, i = {};
376
+ for (const s in n)
377
+ e[s] !== void 0 && t[s] !== void 0 && (i[s] = en(e[s])(e[s], t[s]));
378
+ return (s) => {
379
+ for (const a in i)
380
+ n[a] = i[a](s);
381
+ return n;
382
+ };
383
+ }
384
+ function Zs(e, t) {
385
+ const n = [], i = { color: 0, var: 0, number: 0 };
386
+ for (let s = 0; s < t.values.length; s++) {
387
+ const a = t.types[s], r = e.indexes[a][i[a]], o = e.values[r] ?? 0;
388
+ n[s] = o, i[a]++;
389
+ }
390
+ return n;
391
+ }
392
+ const Qs = (e, t) => {
393
+ const n = L.createTransformer(t), i = St(e), s = St(t);
394
+ return i.indexes.var.length === s.indexes.var.length && i.indexes.color.length === s.indexes.color.length && i.indexes.number.length >= s.indexes.number.length ? Se.has(e) && !s.values.length || Se.has(t) && !i.values.length ? Gs(e, t) : Ge(vi(Zs(i, s), s.values), n) : (Gt(!0, `Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`, "complex-values-different"), re(e, t));
395
+ };
396
+ function wi(e, t, n) {
397
+ return typeof e == "number" && typeof t == "number" && typeof n == "number" ? Et(e, t, n) : en(e)(e, t);
398
+ }
399
+ const Js = (e) => {
400
+ const t = ({ timestamp: n }) => e(n);
401
+ return {
402
+ start: (n = !0) => G.update(t, n),
403
+ stop: () => Te(t),
404
+ /**
405
+ * If we're processing this frame we can use the
406
+ * framelocked timestamp to keep things in sync.
407
+ */
408
+ now: () => ae.isProcessing ? ae.timestamp : X.now()
409
+ };
410
+ }, Mi = (e, t, n = 10) => {
411
+ let i = "";
412
+ const s = Math.max(Math.round(t / n), 2);
413
+ for (let a = 0; a < s; a++)
414
+ i += Math.round(e(a / (s - 1)) * 1e4) / 1e4 + ", ";
415
+ return `linear(${i.substring(0, i.length - 2)})`;
416
+ }, oe = 2e4;
417
+ function nn(e) {
418
+ let t = 0;
419
+ const n = 50;
420
+ let i = e.next(t);
421
+ for (; !i.done && t < oe; )
422
+ t += n, i = e.next(t);
423
+ return t >= oe ? 1 / 0 : t;
424
+ }
425
+ function _i(e, t = 100, n) {
426
+ const i = n({ ...e, keyframes: [0, t] }), s = Math.min(nn(i), oe);
427
+ return {
428
+ type: "keyframes",
429
+ ease: (a) => i.next(s * a).value / t,
430
+ duration: /* @__PURE__ */ z(s)
431
+ };
432
+ }
433
+ const F = {
434
+ // Default spring physics
435
+ stiffness: 100,
436
+ damping: 10,
437
+ mass: 1,
438
+ velocity: 0,
439
+ // Default duration/bounce-based options
440
+ duration: 800,
441
+ // in ms
442
+ bounce: 0.3,
443
+ visualDuration: 0.3,
444
+ // in seconds
445
+ // Rest thresholds
446
+ restSpeed: {
447
+ granular: 0.01,
448
+ default: 2
449
+ },
450
+ restDelta: {
451
+ granular: 5e-3,
452
+ default: 0.5
453
+ },
454
+ // Limits
455
+ minDuration: 0.01,
456
+ // in seconds
457
+ maxDuration: 10,
458
+ // in seconds
459
+ minDamping: 0.05,
460
+ maxDamping: 1
461
+ };
462
+ function Ae(e, t) {
463
+ return e * Math.sqrt(1 - t * t);
464
+ }
465
+ const ta = 12;
466
+ function ea(e, t, n) {
467
+ let i = n;
468
+ for (let s = 1; s < ta; s++)
469
+ i = i - e(i) / t(i);
470
+ return i;
471
+ }
472
+ const we = 1e-3;
473
+ function na({ duration: e = F.duration, bounce: t = F.bounce, velocity: n = F.velocity, mass: i = F.mass }) {
474
+ let s, a;
475
+ Gt(e <= /* @__PURE__ */ K(F.maxDuration), "Spring duration must be 10 seconds or less", "spring-duration-limit");
476
+ let r = 1 - t;
477
+ r = it(F.minDamping, F.maxDamping, r), e = it(F.minDuration, F.maxDuration, /* @__PURE__ */ z(e)), r < 1 ? (s = (d) => {
478
+ const c = d * r, u = c * e, f = c - n, h = Ae(d, r), m = Math.exp(-u);
479
+ return we - f / h * m;
480
+ }, a = (d) => {
481
+ const u = d * r * e, f = u * n + n, h = Math.pow(r, 2) * Math.pow(d, 2) * e, m = Math.exp(-u), g = Ae(Math.pow(d, 2), r);
482
+ return (-s(d) + we > 0 ? -1 : 1) * ((f - h) * m) / g;
483
+ }) : (s = (d) => {
484
+ const c = Math.exp(-d * e), u = (d - n) * e + 1;
485
+ return -we + c * u;
486
+ }, a = (d) => {
487
+ const c = Math.exp(-d * e), u = (n - d) * (e * e);
488
+ return c * u;
489
+ });
490
+ const o = 5 / e, l = ea(s, a, o);
491
+ if (e = /* @__PURE__ */ K(e), isNaN(l))
492
+ return {
493
+ stiffness: F.stiffness,
494
+ damping: F.damping,
495
+ duration: e
496
+ };
497
+ {
498
+ const d = Math.pow(l, 2) * i;
499
+ return {
500
+ stiffness: d,
501
+ damping: r * 2 * Math.sqrt(i * d),
502
+ duration: e
503
+ };
504
+ }
505
+ }
506
+ const ia = ["duration", "bounce"], sa = ["stiffness", "damping", "mass"];
507
+ function An(e, t) {
508
+ return t.some((n) => e[n] !== void 0);
509
+ }
510
+ function aa(e) {
511
+ let t = {
512
+ velocity: F.velocity,
513
+ stiffness: F.stiffness,
514
+ damping: F.damping,
515
+ mass: F.mass,
516
+ isResolvedFromDuration: !1,
517
+ ...e
518
+ };
519
+ if (!An(e, sa) && An(e, ia))
520
+ if (t.velocity = 0, e.visualDuration) {
521
+ const n = e.visualDuration, i = 2 * Math.PI / (n * 1.2), s = i * i, a = 2 * it(0.05, 1, 1 - (e.bounce || 0)) * Math.sqrt(s);
522
+ t = {
523
+ ...t,
524
+ mass: F.mass,
525
+ stiffness: s,
526
+ damping: a
527
+ };
528
+ } else {
529
+ const n = na({ ...e, velocity: 0 });
530
+ t = {
531
+ ...t,
532
+ ...n,
533
+ mass: F.mass
534
+ }, t.isResolvedFromDuration = !0;
535
+ }
536
+ return t;
537
+ }
538
+ function Wt(e = F.visualDuration, t = F.bounce) {
539
+ const n = typeof e != "object" ? {
540
+ visualDuration: e,
541
+ keyframes: [0, 1],
542
+ bounce: t
543
+ } : e;
544
+ let { restSpeed: i, restDelta: s } = n;
545
+ const a = n.keyframes[0], r = n.keyframes[n.keyframes.length - 1], o = { done: !1, value: a }, { stiffness: l, damping: d, mass: c, duration: u, velocity: f, isResolvedFromDuration: h } = aa({
546
+ ...n,
547
+ velocity: -/* @__PURE__ */ z(n.velocity || 0)
548
+ }), m = f || 0, g = d / (2 * Math.sqrt(l * c)), b = r - a, v = /* @__PURE__ */ z(Math.sqrt(l / c)), O = Math.abs(b) < 5;
549
+ i || (i = O ? F.restSpeed.granular : F.restSpeed.default), s || (s = O ? F.restDelta.granular : F.restDelta.default);
550
+ let C, T, M, D, R, _;
551
+ if (g < 1)
552
+ M = Ae(v, g), D = (m + g * v * b) / M, C = (x) => {
553
+ const V = Math.exp(-g * v * x);
554
+ return r - V * (D * Math.sin(M * x) + b * Math.cos(M * x));
555
+ }, R = g * v * D + b * M, _ = g * v * b - D * M, T = (x) => Math.exp(-g * v * x) * (R * Math.sin(M * x) + _ * Math.cos(M * x));
556
+ else if (g === 1) {
557
+ C = (V) => r - Math.exp(-v * V) * (b + (m + v * b) * V);
558
+ const x = m + v * b;
559
+ T = (V) => Math.exp(-v * V) * (v * x * V - m);
560
+ } else {
561
+ const x = v * Math.sqrt(g * g - 1);
562
+ C = (Y) => {
563
+ const at = Math.exp(-g * v * Y), H = Math.min(x * Y, 300);
564
+ return r - at * ((m + g * v * b) * Math.sinh(H) + x * b * Math.cosh(H)) / x;
565
+ };
566
+ const V = (m + g * v * b) / x, $ = g * v * V - b * x, W = g * v * b - V * x;
567
+ T = (Y) => {
568
+ const at = Math.exp(-g * v * Y), H = Math.min(x * Y, 300);
569
+ return at * ($ * Math.sinh(H) + W * Math.cosh(H));
570
+ };
571
+ }
572
+ const S = {
573
+ calculatedDuration: h && u || null,
574
+ velocity: (x) => /* @__PURE__ */ K(T(x)),
575
+ next: (x) => {
576
+ if (!h && g < 1) {
577
+ const $ = Math.exp(-g * v * x), W = Math.sin(M * x), Y = Math.cos(M * x), at = r - $ * (D * W + b * Y), H = /* @__PURE__ */ K($ * (R * W + _ * Y));
578
+ return o.done = Math.abs(H) <= i && Math.abs(r - at) <= s, o.value = o.done ? r : at, o;
579
+ }
580
+ const V = C(x);
581
+ if (h)
582
+ o.done = x >= u;
583
+ else {
584
+ const $ = /* @__PURE__ */ K(T(x));
585
+ o.done = Math.abs($) <= i && Math.abs(r - V) <= s;
586
+ }
587
+ return o.value = o.done ? r : V, o;
588
+ },
589
+ toString: () => {
590
+ const x = Math.min(nn(S), oe), V = Mi(($) => S.next(x * $).value, x, 30);
591
+ return x + "ms " + V;
592
+ },
593
+ toTransition: () => {
594
+ }
595
+ };
596
+ return S;
597
+ }
598
+ Wt.applyToOptions = (e) => {
599
+ const t = _i(e, 100, Wt);
600
+ return e.ease = t.ease, e.duration = /* @__PURE__ */ K(t.duration), e.type = "keyframes", e;
601
+ };
602
+ const ra = 5;
603
+ function Ti(e, t, n) {
604
+ const i = Math.max(t - ra, 0);
605
+ return ti(n - e(i), t - i);
606
+ }
607
+ function Ve({ keyframes: e, velocity: t = 0, power: n = 0.8, timeConstant: i = 325, bounceDamping: s = 10, bounceStiffness: a = 500, modifyTarget: r, min: o, max: l, restDelta: d = 0.5, restSpeed: c }) {
608
+ const u = e[0], f = {
609
+ done: !1,
610
+ value: u
611
+ }, h = (_) => o !== void 0 && _ < o || l !== void 0 && _ > l, m = (_) => o === void 0 ? l : l === void 0 || Math.abs(o - _) < Math.abs(l - _) ? o : l;
612
+ let g = n * t;
613
+ const b = u + g, v = r === void 0 ? b : r(b);
614
+ v !== b && (g = v - u);
615
+ const O = (_) => -g * Math.exp(-_ / i), C = (_) => v + O(_), T = (_) => {
616
+ const S = O(_), x = C(_);
617
+ f.done = Math.abs(S) <= d, f.value = f.done ? v : x;
618
+ };
619
+ let M, D;
620
+ const R = (_) => {
621
+ h(f.value) && (M = _, D = Wt({
622
+ keyframes: [f.value, m(f.value)],
623
+ velocity: Ti(C, _, f.value),
624
+ // TODO: This should be passing * 1000
625
+ damping: s,
626
+ stiffness: a,
627
+ restDelta: d,
628
+ restSpeed: c
629
+ }));
630
+ };
631
+ return R(0), {
632
+ calculatedDuration: null,
633
+ next: (_) => {
634
+ let S = !1;
635
+ return !D && M === void 0 && (S = !0, T(_), R(_)), M !== void 0 && _ >= M ? D.next(_ - M) : (!S && T(_), f);
636
+ }
637
+ };
638
+ }
639
+ function oa(e, t, n) {
640
+ const i = [], s = n || st.mix || wi, a = e.length - 1;
641
+ for (let r = 0; r < a; r++) {
642
+ let o = s(e[r], e[r + 1]);
643
+ if (t) {
644
+ const l = Array.isArray(t) ? t[r] || Dt : t;
645
+ o = Ge(l, o);
646
+ }
647
+ i.push(o);
648
+ }
649
+ return i;
650
+ }
651
+ function ca(e, t, { clamp: n = !0, ease: i, mixer: s } = {}) {
652
+ const a = e.length;
653
+ if (J(a === t.length, "Both input and output ranges must be the same length", "range-length"), a === 1)
654
+ return () => t[0];
655
+ if (a === 2 && t[0] === t[1])
656
+ return () => t[1];
657
+ const r = e[0] === e[1];
658
+ e[0] > e[a - 1] && (e = [...e].reverse(), t = [...t].reverse());
659
+ const o = oa(t, i, s), l = o.length, d = (c) => {
660
+ if (r && c < e[0])
661
+ return t[0];
662
+ let u = 0;
663
+ if (l > 1)
664
+ for (; u < e.length - 2 && !(c < e[u + 1]); u++)
665
+ ;
666
+ const f = /* @__PURE__ */ Ye(e[u], e[u + 1], c);
667
+ return o[u](f);
668
+ };
669
+ return n ? (c) => d(it(e[0], e[a - 1], c)) : d;
670
+ }
671
+ function Ci(e, t) {
672
+ const n = e[e.length - 1];
673
+ for (let i = 1; i <= t; i++) {
674
+ const s = /* @__PURE__ */ Ye(0, t, i);
675
+ e.push(Et(n, 1, s));
676
+ }
677
+ }
678
+ function Si(e) {
679
+ const t = [0];
680
+ return Ci(t, e.length - 1), t;
681
+ }
682
+ function la(e, t) {
683
+ return e.map((n) => n * t);
684
+ }
685
+ function ua(e, t) {
686
+ return e.map(() => t || li).splice(0, e.length - 1);
687
+ }
688
+ function ft({ duration: e = 300, keyframes: t, times: n, ease: i = "easeInOut" }) {
689
+ const s = ui(i) ? i.map(wn) : wn(i), a = {
690
+ done: !1,
691
+ value: t[0]
692
+ }, r = la(
693
+ // Only use the provided offsets if they're the correct length
694
+ // TODO Maybe we should warn here if there's a length mismatch
695
+ n && n.length === t.length ? n : Si(t),
696
+ e
697
+ ), o = ca(r, t, {
698
+ ease: Array.isArray(s) ? s : ua(t, s)
699
+ });
700
+ return {
701
+ calculatedDuration: e,
702
+ next: (l) => (a.value = o(l), a.done = l >= e, a)
703
+ };
704
+ }
705
+ const da = (e) => e !== null;
706
+ function me(e, { repeat: t, repeatType: n = "loop" }, i, s = 1) {
707
+ const a = e.filter(da), o = s < 0 || t && n !== "loop" && t % 2 === 1 ? 0 : a.length - 1;
708
+ return !o || i === void 0 ? a[o] : i;
709
+ }
710
+ const fa = {
711
+ decay: Ve,
712
+ inertia: Ve,
713
+ tween: ft,
714
+ keyframes: ft,
715
+ spring: Wt
716
+ };
717
+ function Ai(e) {
718
+ typeof e.type == "string" && (e.type = fa[e.type]);
719
+ }
720
+ class sn {
721
+ constructor() {
722
+ this.updateFinished();
723
+ }
724
+ get finished() {
725
+ return this._finished;
726
+ }
727
+ updateFinished() {
728
+ this._finished = new Promise((t) => {
729
+ this.resolve = t;
730
+ });
731
+ }
732
+ notifyFinished() {
733
+ this.resolve();
734
+ }
735
+ /**
736
+ * Allows the animation to be awaited.
737
+ *
738
+ * @deprecated Use `finished` instead.
739
+ */
740
+ then(t, n) {
741
+ return this.finished.then(t, n);
742
+ }
743
+ }
744
+ const ha = (e) => e / 100;
745
+ class ce extends sn {
746
+ constructor(t) {
747
+ super(), this.state = "idle", this.startTime = null, this.isStopped = !1, this.currentTime = 0, this.holdTime = null, this.playbackSpeed = 1, this.delayState = {
748
+ done: !1,
749
+ value: void 0
750
+ }, this.stop = () => {
751
+ const { motionValue: n } = this.options;
752
+ n && n.updatedAt !== X.now() && this.tick(X.now()), this.isStopped = !0, this.state !== "idle" && (this.teardown(), this.options.onStop?.());
753
+ }, this.options = t, this.initAnimation(), this.play(), t.autoplay === !1 && this.pause();
754
+ }
755
+ initAnimation() {
756
+ const { options: t } = this;
757
+ Ai(t);
758
+ const { type: n = ft, repeat: i = 0, repeatDelay: s = 0, repeatType: a, velocity: r = 0 } = t;
759
+ let { keyframes: o } = t;
760
+ const l = n || ft;
761
+ process.env.NODE_ENV !== "production" && l !== ft && J(o.length <= 2, `Only two keyframes currently supported with spring and inertia animations. Trying to animate ${o}`, "spring-two-frames"), l !== ft && typeof o[0] != "number" && (this.mixKeyframes = Ge(ha, wi(o[0], o[1])), o = [0, 100]);
762
+ const d = l({ ...t, keyframes: o });
763
+ a === "mirror" && (this.mirroredGenerator = l({
764
+ ...t,
765
+ keyframes: [...o].reverse(),
766
+ velocity: -r
767
+ })), d.calculatedDuration === null && (d.calculatedDuration = nn(d));
768
+ const { calculatedDuration: c } = d;
769
+ this.calculatedDuration = c, this.resolvedDuration = c + s, this.totalDuration = this.resolvedDuration * (i + 1) - s, this.generator = d;
770
+ }
771
+ updateTime(t) {
772
+ const n = Math.round(t - this.startTime) * this.playbackSpeed;
773
+ this.holdTime !== null ? this.currentTime = this.holdTime : this.currentTime = n;
774
+ }
775
+ tick(t, n = !1) {
776
+ const { generator: i, totalDuration: s, mixKeyframes: a, mirroredGenerator: r, resolvedDuration: o, calculatedDuration: l } = this;
777
+ if (this.startTime === null)
778
+ return i.next(0);
779
+ const { delay: d = 0, keyframes: c, repeat: u, repeatType: f, repeatDelay: h, type: m, onUpdate: g, finalKeyframe: b } = this.options;
780
+ this.speed > 0 ? this.startTime = Math.min(this.startTime, t) : this.speed < 0 && (this.startTime = Math.min(t - s / this.speed, this.startTime)), n ? this.currentTime = t : this.updateTime(t);
781
+ const v = this.currentTime - d * (this.playbackSpeed >= 0 ? 1 : -1), O = this.playbackSpeed >= 0 ? v < 0 : v > s;
782
+ this.currentTime = Math.max(v, 0), this.state === "finished" && this.holdTime === null && (this.currentTime = s);
783
+ let C = this.currentTime, T = i;
784
+ if (u) {
785
+ const _ = Math.min(this.currentTime, s) / o;
786
+ let S = Math.floor(_), x = _ % 1;
787
+ !x && _ >= 1 && (x = 1), x === 1 && S--, S = Math.min(S, u + 1), S % 2 && (f === "reverse" ? (x = 1 - x, h && (x -= h / o)) : f === "mirror" && (T = r)), C = it(0, 1, x) * o;
788
+ }
789
+ let M;
790
+ O ? (this.delayState.value = c[0], M = this.delayState) : M = T.next(C), a && !O && (M.value = a(M.value));
791
+ let { done: D } = M;
792
+ !O && l !== null && (D = this.playbackSpeed >= 0 ? this.currentTime >= s : this.currentTime <= 0);
793
+ const R = this.holdTime === null && (this.state === "finished" || this.state === "running" && D);
794
+ return R && m !== Ve && (M.value = me(c, this.options, b, this.speed)), g && g(M.value), R && this.finish(), M;
795
+ }
796
+ /**
797
+ * Allows the returned animation to be awaited or promise-chained. Currently
798
+ * resolves when the animation finishes at all but in a future update could/should
799
+ * reject if its cancels.
800
+ */
801
+ then(t, n) {
802
+ return this.finished.then(t, n);
803
+ }
804
+ get duration() {
805
+ return /* @__PURE__ */ z(this.calculatedDuration);
806
+ }
807
+ get iterationDuration() {
808
+ const { delay: t = 0 } = this.options || {};
809
+ return this.duration + /* @__PURE__ */ z(t);
810
+ }
811
+ get time() {
812
+ return /* @__PURE__ */ z(this.currentTime);
813
+ }
814
+ set time(t) {
815
+ t = /* @__PURE__ */ K(t), this.currentTime = t, this.startTime === null || this.holdTime !== null || this.playbackSpeed === 0 ? this.holdTime = t : this.driver && (this.startTime = this.driver.now() - t / this.playbackSpeed), this.driver ? this.driver.start(!1) : (this.startTime = 0, this.state = "paused", this.holdTime = t, this.tick(t));
816
+ }
817
+ /**
818
+ * Returns the generator's velocity at the current time in units/second.
819
+ * Uses the analytical derivative when available (springs), avoiding
820
+ * the MotionValue's frame-dependent velocity estimation.
821
+ */
822
+ getGeneratorVelocity() {
823
+ const t = this.currentTime;
824
+ if (t <= 0)
825
+ return this.options.velocity || 0;
826
+ if (this.generator.velocity)
827
+ return this.generator.velocity(t);
828
+ const n = this.generator.next(t).value;
829
+ return Ti((i) => this.generator.next(i).value, t, n);
830
+ }
831
+ get speed() {
832
+ return this.playbackSpeed;
833
+ }
834
+ set speed(t) {
835
+ const n = this.playbackSpeed !== t;
836
+ n && this.driver && this.updateTime(X.now()), this.playbackSpeed = t, n && this.driver && (this.time = /* @__PURE__ */ z(this.currentTime));
837
+ }
838
+ play() {
839
+ if (this.isStopped)
840
+ return;
841
+ const { driver: t = Js, startTime: n } = this.options;
842
+ this.driver || (this.driver = t((s) => this.tick(s))), this.options.onPlay?.();
843
+ const i = this.driver.now();
844
+ this.state === "finished" ? (this.updateFinished(), this.startTime = i) : this.holdTime !== null ? this.startTime = i - this.holdTime : this.startTime || (this.startTime = n ?? i), this.state === "finished" && this.speed < 0 && (this.startTime += this.calculatedDuration), this.holdTime = null, this.state = "running", this.driver.start();
845
+ }
846
+ pause() {
847
+ this.state = "paused", this.updateTime(X.now()), this.holdTime = this.currentTime;
848
+ }
849
+ complete() {
850
+ this.state !== "running" && this.play(), this.state = "finished", this.holdTime = null;
851
+ }
852
+ finish() {
853
+ this.notifyFinished(), this.teardown(), this.state = "finished", this.options.onComplete?.();
854
+ }
855
+ cancel() {
856
+ this.holdTime = null, this.startTime = 0, this.tick(0), this.teardown(), this.options.onCancel?.();
857
+ }
858
+ teardown() {
859
+ this.state = "idle", this.stopDriver(), this.startTime = this.holdTime = null;
860
+ }
861
+ stopDriver() {
862
+ this.driver && (this.driver.stop(), this.driver = void 0);
863
+ }
864
+ sample(t) {
865
+ return this.startTime = 0, this.tick(t, !0);
866
+ }
867
+ attachTimeline(t) {
868
+ return this.options.allowFlatten && (this.options.type = "keyframes", this.options.ease = "linear", this.initAnimation()), this.driver?.stop(), t.observe(this);
869
+ }
870
+ }
871
+ function pa(e) {
872
+ for (let t = 1; t < e.length; t++)
873
+ e[t] ?? (e[t] = e[t - 1]);
874
+ }
875
+ const ct = (e) => e * 180 / Math.PI, Pe = (e) => {
876
+ const t = ct(Math.atan2(e[1], e[0]));
877
+ return Oe(t);
878
+ }, ma = {
879
+ x: 4,
880
+ y: 5,
881
+ translateX: 4,
882
+ translateY: 5,
883
+ scaleX: 0,
884
+ scaleY: 3,
885
+ scale: (e) => (Math.abs(e[0]) + Math.abs(e[3])) / 2,
886
+ rotate: Pe,
887
+ rotateZ: Pe,
888
+ skewX: (e) => ct(Math.atan(e[1])),
889
+ skewY: (e) => ct(Math.atan(e[2])),
890
+ skew: (e) => (Math.abs(e[1]) + Math.abs(e[2])) / 2
891
+ }, Oe = (e) => (e = e % 360, e < 0 && (e += 360), e), Vn = Pe, Pn = (e) => Math.sqrt(e[0] * e[0] + e[1] * e[1]), On = (e) => Math.sqrt(e[4] * e[4] + e[5] * e[5]), ga = {
892
+ x: 12,
893
+ y: 13,
894
+ z: 14,
895
+ translateX: 12,
896
+ translateY: 13,
897
+ translateZ: 14,
898
+ scaleX: Pn,
899
+ scaleY: On,
900
+ scale: (e) => (Pn(e) + On(e)) / 2,
901
+ rotateX: (e) => Oe(ct(Math.atan2(e[6], e[5]))),
902
+ rotateY: (e) => Oe(ct(Math.atan2(-e[2], e[0]))),
903
+ rotateZ: Vn,
904
+ rotate: Vn,
905
+ skewX: (e) => ct(Math.atan(e[4])),
906
+ skewY: (e) => ct(Math.atan(e[1])),
907
+ skew: (e) => (Math.abs(e[1]) + Math.abs(e[4])) / 2
908
+ };
909
+ function ke(e) {
910
+ return e.includes("scale") ? 1 : 0;
911
+ }
912
+ function De(e, t) {
913
+ if (!e || e === "none")
914
+ return ke(t);
915
+ const n = e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);
916
+ let i, s;
917
+ if (n)
918
+ i = ga, s = n;
919
+ else {
920
+ const o = e.match(/^matrix\(([-\d.e\s,]+)\)$/u);
921
+ i = ma, s = o;
922
+ }
923
+ if (!s)
924
+ return ke(t);
925
+ const a = i[t], r = s[1].split(",").map(ba);
926
+ return typeof a == "function" ? a(r) : r[a];
927
+ }
928
+ const ya = (e, t) => {
929
+ const { transform: n = "none" } = getComputedStyle(e);
930
+ return De(n, t);
931
+ };
932
+ function ba(e) {
933
+ return parseFloat(e.trim());
934
+ }
935
+ const Rt = [
936
+ "transformPerspective",
937
+ "x",
938
+ "y",
939
+ "z",
940
+ "translateX",
941
+ "translateY",
942
+ "translateZ",
943
+ "scale",
944
+ "scaleX",
945
+ "scaleY",
946
+ "rotate",
947
+ "rotateX",
948
+ "rotateY",
949
+ "rotateZ",
950
+ "skew",
951
+ "skewX",
952
+ "skewY"
953
+ ], It = new Set(Rt), kn = (e) => e === Ft || e === p, xa = /* @__PURE__ */ new Set(["x", "y", "z"]), va = Rt.filter((e) => !xa.has(e));
954
+ function wa(e) {
955
+ const t = [];
956
+ return va.forEach((n) => {
957
+ const i = e.getValue(n);
958
+ i !== void 0 && (t.push([n, i.get()]), i.set(n.startsWith("scale") ? 1 : 0));
959
+ }), t;
960
+ }
961
+ const nt = {
962
+ // Dimensions
963
+ width: ({ x: e }, { paddingLeft: t = "0", paddingRight: n = "0", boxSizing: i }) => {
964
+ const s = e.max - e.min;
965
+ return i === "border-box" ? s : s - parseFloat(t) - parseFloat(n);
966
+ },
967
+ height: ({ y: e }, { paddingTop: t = "0", paddingBottom: n = "0", boxSizing: i }) => {
968
+ const s = e.max - e.min;
969
+ return i === "border-box" ? s : s - parseFloat(t) - parseFloat(n);
970
+ },
971
+ top: (e, { top: t }) => parseFloat(t),
972
+ left: (e, { left: t }) => parseFloat(t),
973
+ bottom: ({ y: e }, { top: t }) => parseFloat(t) + (e.max - e.min),
974
+ right: ({ x: e }, { left: t }) => parseFloat(t) + (e.max - e.min),
975
+ // Transform
976
+ x: (e, { transform: t }) => De(t, "x"),
977
+ y: (e, { transform: t }) => De(t, "y")
978
+ };
979
+ nt.translateX = nt.x;
980
+ nt.translateY = nt.y;
981
+ const lt = /* @__PURE__ */ new Set();
982
+ let Fe = !1, Ee = !1, Re = !1;
983
+ function Vi() {
984
+ if (Ee) {
985
+ const e = Array.from(lt).filter((i) => i.needsMeasurement), t = new Set(e.map((i) => i.element)), n = /* @__PURE__ */ new Map();
986
+ t.forEach((i) => {
987
+ const s = wa(i);
988
+ s.length && (n.set(i, s), i.render());
989
+ }), e.forEach((i) => i.measureInitialState()), t.forEach((i) => {
990
+ i.render();
991
+ const s = n.get(i);
992
+ s && s.forEach(([a, r]) => {
993
+ i.getValue(a)?.set(r);
994
+ });
995
+ }), e.forEach((i) => i.measureEndState()), e.forEach((i) => {
996
+ i.suspendedScrollY !== void 0 && window.scrollTo(0, i.suspendedScrollY);
997
+ });
998
+ }
999
+ Ee = !1, Fe = !1, lt.forEach((e) => e.complete(Re)), lt.clear();
1000
+ }
1001
+ function Pi() {
1002
+ lt.forEach((e) => {
1003
+ e.readKeyframes(), e.needsMeasurement && (Ee = !0);
1004
+ });
1005
+ }
1006
+ function Ma() {
1007
+ Re = !0, Pi(), Vi(), Re = !1;
1008
+ }
1009
+ class an {
1010
+ constructor(t, n, i, s, a, r = !1) {
1011
+ this.state = "pending", this.isAsync = !1, this.needsMeasurement = !1, this.unresolvedKeyframes = [...t], this.onComplete = n, this.name = i, this.motionValue = s, this.element = a, this.isAsync = r;
1012
+ }
1013
+ scheduleResolve() {
1014
+ this.state = "scheduled", this.isAsync ? (lt.add(this), Fe || (Fe = !0, G.read(Pi), G.resolveKeyframes(Vi))) : (this.readKeyframes(), this.complete());
1015
+ }
1016
+ readKeyframes() {
1017
+ const { unresolvedKeyframes: t, name: n, element: i, motionValue: s } = this;
1018
+ if (t[0] === null) {
1019
+ const a = s?.get(), r = t[t.length - 1];
1020
+ if (a !== void 0)
1021
+ t[0] = a;
1022
+ else if (i && n) {
1023
+ const o = i.readValue(n, r);
1024
+ o != null && (t[0] = o);
1025
+ }
1026
+ t[0] === void 0 && (t[0] = r), s && a === void 0 && s.set(t[0]);
1027
+ }
1028
+ pa(t);
1029
+ }
1030
+ setFinalKeyframe() {
1031
+ }
1032
+ measureInitialState() {
1033
+ }
1034
+ renderEndStyles() {
1035
+ }
1036
+ measureEndState() {
1037
+ }
1038
+ complete(t = !1) {
1039
+ this.state = "complete", this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, t), lt.delete(this);
1040
+ }
1041
+ cancel() {
1042
+ this.state === "scheduled" && (lt.delete(this), this.state = "pending");
1043
+ }
1044
+ resume() {
1045
+ this.state === "pending" && this.scheduleResolve();
1046
+ }
1047
+ }
1048
+ const _a = (e) => e.startsWith("--");
1049
+ function Oi(e, t, n) {
1050
+ _a(t) ? e.style.setProperty(t, n) : e.style[t] = n;
1051
+ }
1052
+ const Ta = {};
1053
+ function ki(e, t) {
1054
+ const n = /* @__PURE__ */ Qn(e);
1055
+ return () => Ta[t] ?? n();
1056
+ }
1057
+ const Ca = /* @__PURE__ */ ki(() => window.ScrollTimeline !== void 0, "scrollTimeline"), Di = /* @__PURE__ */ ki(() => {
1058
+ try {
1059
+ document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
1060
+ } catch {
1061
+ return !1;
1062
+ }
1063
+ return !0;
1064
+ }, "linearEasing"), $t = ([e, t, n, i]) => `cubic-bezier(${e}, ${t}, ${n}, ${i})`, Dn = {
1065
+ linear: "linear",
1066
+ ease: "ease",
1067
+ easeIn: "ease-in",
1068
+ easeOut: "ease-out",
1069
+ easeInOut: "ease-in-out",
1070
+ circIn: /* @__PURE__ */ $t([0, 0.65, 0.55, 1]),
1071
+ circOut: /* @__PURE__ */ $t([0.55, 0, 1, 0.45]),
1072
+ backIn: /* @__PURE__ */ $t([0.31, 0.01, 0.66, -0.59]),
1073
+ backOut: /* @__PURE__ */ $t([0.33, 1.53, 0.69, 0.99])
1074
+ };
1075
+ function Fi(e, t) {
1076
+ if (e)
1077
+ return typeof e == "function" ? Di() ? Mi(e, t) : "ease-out" : fi(e) ? $t(e) : Array.isArray(e) ? e.map((n) => Fi(n, t) || Dn.easeOut) : Dn[e];
1078
+ }
1079
+ function Sa(e, t, n, { delay: i = 0, duration: s = 300, repeat: a = 0, repeatType: r = "loop", ease: o = "easeOut", times: l } = {}, d = void 0) {
1080
+ const c = {
1081
+ [t]: n
1082
+ };
1083
+ l && (c.offset = l);
1084
+ const u = Fi(o, s);
1085
+ Array.isArray(u) && (c.easing = u);
1086
+ const f = {
1087
+ delay: i,
1088
+ duration: s,
1089
+ easing: Array.isArray(u) ? "linear" : u,
1090
+ fill: "both",
1091
+ iterations: a + 1,
1092
+ direction: r === "reverse" ? "alternate" : "normal"
1093
+ };
1094
+ return d && (f.pseudoElement = d), e.animate(c, f);
1095
+ }
1096
+ function rn(e) {
1097
+ return typeof e == "function" && "applyToOptions" in e;
1098
+ }
1099
+ function Aa({ type: e, ...t }) {
1100
+ return rn(e) && Di() ? e.applyToOptions(t) : (t.duration ?? (t.duration = 300), t.ease ?? (t.ease = "easeOut"), t);
1101
+ }
1102
+ class Ei extends sn {
1103
+ constructor(t) {
1104
+ if (super(), this.finishedTime = null, this.isStopped = !1, this.manualStartTime = null, !t)
1105
+ return;
1106
+ const { element: n, name: i, keyframes: s, pseudoElement: a, allowFlatten: r = !1, finalKeyframe: o, onComplete: l } = t;
1107
+ this.isPseudoElement = !!a, this.allowFlatten = r, this.options = t, J(typeof t.type != "string", `Mini animate() doesn't support "type" as a string.`, "mini-spring");
1108
+ const d = Aa(t);
1109
+ this.animation = Sa(n, i, s, d, a), d.autoplay === !1 && this.animation.pause(), this.animation.onfinish = () => {
1110
+ if (this.finishedTime = this.time, !a) {
1111
+ const c = me(s, this.options, o, this.speed);
1112
+ this.updateMotionValue && this.updateMotionValue(c), Oi(n, i, c), this.animation.cancel();
1113
+ }
1114
+ l?.(), this.notifyFinished();
1115
+ };
1116
+ }
1117
+ play() {
1118
+ this.isStopped || (this.manualStartTime = null, this.animation.play(), this.state === "finished" && this.updateFinished());
1119
+ }
1120
+ pause() {
1121
+ this.animation.pause();
1122
+ }
1123
+ complete() {
1124
+ this.animation.finish?.();
1125
+ }
1126
+ cancel() {
1127
+ try {
1128
+ this.animation.cancel();
1129
+ } catch {
1130
+ }
1131
+ }
1132
+ stop() {
1133
+ if (this.isStopped)
1134
+ return;
1135
+ this.isStopped = !0;
1136
+ const { state: t } = this;
1137
+ t === "idle" || t === "finished" || (this.updateMotionValue ? this.updateMotionValue() : this.commitStyles(), this.isPseudoElement || this.cancel());
1138
+ }
1139
+ /**
1140
+ * WAAPI doesn't natively have any interruption capabilities.
1141
+ *
1142
+ * In this method, we commit styles back to the DOM before cancelling
1143
+ * the animation.
1144
+ *
1145
+ * This is designed to be overridden by NativeAnimationExtended, which
1146
+ * will create a renderless JS animation and sample it twice to calculate
1147
+ * its current value, "previous" value, and therefore allow
1148
+ * Motion to also correctly calculate velocity for any subsequent animation
1149
+ * while deferring the commit until the next animation frame.
1150
+ */
1151
+ commitStyles() {
1152
+ const t = this.options?.element;
1153
+ !this.isPseudoElement && t?.isConnected && this.animation.commitStyles?.();
1154
+ }
1155
+ get duration() {
1156
+ const t = this.animation.effect?.getComputedTiming?.().duration || 0;
1157
+ return /* @__PURE__ */ z(Number(t));
1158
+ }
1159
+ get iterationDuration() {
1160
+ const { delay: t = 0 } = this.options || {};
1161
+ return this.duration + /* @__PURE__ */ z(t);
1162
+ }
1163
+ get time() {
1164
+ return /* @__PURE__ */ z(Number(this.animation.currentTime) || 0);
1165
+ }
1166
+ set time(t) {
1167
+ const n = this.finishedTime !== null;
1168
+ this.manualStartTime = null, this.finishedTime = null, this.animation.currentTime = /* @__PURE__ */ K(t), n && this.animation.pause();
1169
+ }
1170
+ /**
1171
+ * The playback speed of the animation.
1172
+ * 1 = normal speed, 2 = double speed, 0.5 = half speed.
1173
+ */
1174
+ get speed() {
1175
+ return this.animation.playbackRate;
1176
+ }
1177
+ set speed(t) {
1178
+ t < 0 && (this.finishedTime = null), this.animation.playbackRate = t;
1179
+ }
1180
+ get state() {
1181
+ return this.finishedTime !== null ? "finished" : this.animation.playState;
1182
+ }
1183
+ get startTime() {
1184
+ return this.manualStartTime ?? Number(this.animation.startTime);
1185
+ }
1186
+ set startTime(t) {
1187
+ this.manualStartTime = this.animation.startTime = t;
1188
+ }
1189
+ /**
1190
+ * Attaches a timeline to the animation, for instance the `ScrollTimeline`.
1191
+ */
1192
+ attachTimeline({ timeline: t, rangeStart: n, rangeEnd: i, observe: s }) {
1193
+ return this.allowFlatten && this.animation.effect?.updateTiming({ easing: "linear" }), this.animation.onfinish = null, t && Ca() ? (this.animation.timeline = t, n && (this.animation.rangeStart = n), i && (this.animation.rangeEnd = i), Dt) : s(this);
1194
+ }
1195
+ }
1196
+ const Ri = {
1197
+ anticipate: oi,
1198
+ backInOut: ri,
1199
+ circInOut: ci
1200
+ };
1201
+ function Va(e) {
1202
+ return e in Ri;
1203
+ }
1204
+ function Pa(e) {
1205
+ typeof e.ease == "string" && Va(e.ease) && (e.ease = Ri[e.ease]);
1206
+ }
1207
+ const Me = 10;
1208
+ class Oa extends Ei {
1209
+ constructor(t) {
1210
+ Pa(t), Ai(t), super(t), t.startTime !== void 0 && t.autoplay !== !1 && (this.startTime = t.startTime), this.options = t;
1211
+ }
1212
+ /**
1213
+ * WAAPI doesn't natively have any interruption capabilities.
1214
+ *
1215
+ * Rather than read committed styles back out of the DOM, we can
1216
+ * create a renderless JS animation and sample it twice to calculate
1217
+ * its current value, "previous" value, and therefore allow
1218
+ * Motion to calculate velocity for any subsequent animation.
1219
+ */
1220
+ updateMotionValue(t) {
1221
+ const { motionValue: n, onUpdate: i, onComplete: s, element: a, ...r } = this.options;
1222
+ if (!n)
1223
+ return;
1224
+ if (t !== void 0) {
1225
+ n.set(t);
1226
+ return;
1227
+ }
1228
+ const o = new ce({
1229
+ ...r,
1230
+ autoplay: !1
1231
+ }), l = Math.max(Me, X.now() - this.startTime), d = it(0, Me, l - Me), c = o.sample(l).value, { name: u } = this.options;
1232
+ a && u && Oi(a, u, c), n.setWithVelocity(o.sample(Math.max(0, l - d)).value, c, d), o.stop();
1233
+ }
1234
+ }
1235
+ const Fn = (e, t) => t === "zIndex" ? !1 : !!(typeof e == "number" || Array.isArray(e) || typeof e == "string" && // It's animatable if we have a string
1236
+ (L.test(e) || e === "0") && // And it contains numbers and/or colors
1237
+ !e.startsWith("url("));
1238
+ function ka(e) {
1239
+ const t = e[0];
1240
+ if (e.length === 1)
1241
+ return !0;
1242
+ for (let n = 0; n < e.length; n++)
1243
+ if (e[n] !== t)
1244
+ return !0;
1245
+ }
1246
+ function Da(e, t, n, i) {
1247
+ const s = e[0];
1248
+ if (s === null)
1249
+ return !1;
1250
+ if (t === "display" || t === "visibility")
1251
+ return !0;
1252
+ const a = e[e.length - 1], r = Fn(s, t), o = Fn(a, t);
1253
+ return Gt(r === o, `You are trying to animate ${t} from "${s}" to "${a}". "${r ? a : s}" is not an animatable value.`, "value-not-animatable"), !r || !o ? !1 : ka(e) || (n === "spring" || rn(n)) && i;
1254
+ }
1255
+ function Ie(e) {
1256
+ e.duration = 0, e.type = "keyframes";
1257
+ }
1258
+ const Ii = /* @__PURE__ */ new Set([
1259
+ "opacity",
1260
+ "clipPath",
1261
+ "filter",
1262
+ "transform"
1263
+ // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
1264
+ // or until we implement support for linear() easing.
1265
+ // "background-color"
1266
+ ]), Fa = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
1267
+ function Ea(e) {
1268
+ for (let t = 0; t < e.length; t++)
1269
+ if (typeof e[t] == "string" && Fa.test(e[t]))
1270
+ return !0;
1271
+ return !1;
1272
+ }
1273
+ const Ra = /* @__PURE__ */ new Set([
1274
+ "color",
1275
+ "backgroundColor",
1276
+ "outlineColor",
1277
+ "fill",
1278
+ "stroke",
1279
+ "borderColor",
1280
+ "borderTopColor",
1281
+ "borderRightColor",
1282
+ "borderBottomColor",
1283
+ "borderLeftColor"
1284
+ ]), Ia = /* @__PURE__ */ Qn(() => Object.hasOwnProperty.call(Element.prototype, "animate"));
1285
+ function Ba(e) {
1286
+ const { motionValue: t, name: n, repeatDelay: i, repeatType: s, damping: a, type: r, keyframes: o } = e;
1287
+ if (!(t?.owner?.current instanceof HTMLElement))
1288
+ return !1;
1289
+ const { onUpdate: d, transformTemplate: c } = t.owner.getProps();
1290
+ return Ia() && n && /**
1291
+ * Force WAAPI for color properties with browser-only color formats
1292
+ * (oklch, oklab, lab, lch, etc.) that the JS animation path can't parse.
1293
+ */
1294
+ (Ii.has(n) || Ra.has(n) && Ea(o)) && (n !== "transform" || !c) && /**
1295
+ * If we're outputting values to onUpdate then we can't use WAAPI as there's
1296
+ * no way to read the value from WAAPI every frame.
1297
+ */
1298
+ !d && !i && s !== "mirror" && a !== 0 && r !== "inertia";
1299
+ }
1300
+ const Na = 40;
1301
+ class Xa extends sn {
1302
+ constructor({ autoplay: t = !0, delay: n = 0, type: i = "keyframes", repeat: s = 0, repeatDelay: a = 0, repeatType: r = "loop", keyframes: o, name: l, motionValue: d, element: c, ...u }) {
1303
+ super(), this.stop = () => {
1304
+ this._animation && (this._animation.stop(), this.stopTimeline?.()), this.keyframeResolver?.cancel();
1305
+ }, this.createdAt = X.now();
1306
+ const f = {
1307
+ autoplay: t,
1308
+ delay: n,
1309
+ type: i,
1310
+ repeat: s,
1311
+ repeatDelay: a,
1312
+ repeatType: r,
1313
+ name: l,
1314
+ motionValue: d,
1315
+ element: c,
1316
+ ...u
1317
+ }, h = c?.KeyframeResolver || an;
1318
+ this.keyframeResolver = new h(o, (m, g, b) => this.onKeyframesResolved(m, g, f, !b), l, d, c), this.keyframeResolver?.scheduleResolve();
1319
+ }
1320
+ onKeyframesResolved(t, n, i, s) {
1321
+ this.keyframeResolver = void 0;
1322
+ const { name: a, type: r, velocity: o, delay: l, isHandoff: d, onUpdate: c } = i;
1323
+ this.resolvedAt = X.now();
1324
+ let u = !0;
1325
+ Da(t, a, r, o) || (u = !1, (st.instantAnimations || !l) && c?.(me(t, i, n)), t[0] = t[t.length - 1], Ie(i), i.repeat = 0);
1326
+ const h = {
1327
+ startTime: s ? this.resolvedAt ? this.resolvedAt - this.createdAt > Na ? this.resolvedAt : this.createdAt : this.createdAt : void 0,
1328
+ finalKeyframe: n,
1329
+ ...i,
1330
+ keyframes: t
1331
+ }, m = u && !d && Ba(h), g = h.motionValue?.owner?.current;
1332
+ let b;
1333
+ if (m)
1334
+ try {
1335
+ b = new Oa({
1336
+ ...h,
1337
+ element: g
1338
+ });
1339
+ } catch {
1340
+ b = new ce(h);
1341
+ }
1342
+ else
1343
+ b = new ce(h);
1344
+ b.finished.then(() => {
1345
+ this.notifyFinished();
1346
+ }).catch(Dt), this.pendingTimeline && (this.stopTimeline = b.attachTimeline(this.pendingTimeline), this.pendingTimeline = void 0), this._animation = b;
1347
+ }
1348
+ get finished() {
1349
+ return this._animation ? this.animation.finished : this._finished;
1350
+ }
1351
+ then(t, n) {
1352
+ return this.finished.finally(t).then(() => {
1353
+ });
1354
+ }
1355
+ get animation() {
1356
+ return this._animation || (this.keyframeResolver?.resume(), Ma()), this._animation;
1357
+ }
1358
+ get duration() {
1359
+ return this.animation.duration;
1360
+ }
1361
+ get iterationDuration() {
1362
+ return this.animation.iterationDuration;
1363
+ }
1364
+ get time() {
1365
+ return this.animation.time;
1366
+ }
1367
+ set time(t) {
1368
+ this.animation.time = t;
1369
+ }
1370
+ get speed() {
1371
+ return this.animation.speed;
1372
+ }
1373
+ get state() {
1374
+ return this.animation.state;
1375
+ }
1376
+ set speed(t) {
1377
+ this.animation.speed = t;
1378
+ }
1379
+ get startTime() {
1380
+ return this.animation.startTime;
1381
+ }
1382
+ attachTimeline(t) {
1383
+ return this._animation ? this.stopTimeline = this.animation.attachTimeline(t) : this.pendingTimeline = t, () => this.stop();
1384
+ }
1385
+ play() {
1386
+ this.animation.play();
1387
+ }
1388
+ pause() {
1389
+ this.animation.pause();
1390
+ }
1391
+ complete() {
1392
+ this.animation.complete();
1393
+ }
1394
+ cancel() {
1395
+ this._animation && this.animation.cancel(), this.keyframeResolver?.cancel();
1396
+ }
1397
+ }
1398
+ class Ka {
1399
+ constructor(t) {
1400
+ this.stop = () => this.runAll("stop"), this.animations = t.filter(Boolean);
1401
+ }
1402
+ get finished() {
1403
+ return Promise.all(this.animations.map((t) => t.finished));
1404
+ }
1405
+ /**
1406
+ * TODO: Filter out cancelled or stopped animations before returning
1407
+ */
1408
+ getAll(t) {
1409
+ return this.animations[0][t];
1410
+ }
1411
+ setAll(t, n) {
1412
+ for (let i = 0; i < this.animations.length; i++)
1413
+ this.animations[i][t] = n;
1414
+ }
1415
+ attachTimeline(t) {
1416
+ const n = this.animations.map((i) => i.attachTimeline(t));
1417
+ return () => {
1418
+ n.forEach((i, s) => {
1419
+ i && i(), this.animations[s].stop();
1420
+ });
1421
+ };
1422
+ }
1423
+ get time() {
1424
+ return this.getAll("time");
1425
+ }
1426
+ set time(t) {
1427
+ this.setAll("time", t);
1428
+ }
1429
+ get speed() {
1430
+ return this.getAll("speed");
1431
+ }
1432
+ set speed(t) {
1433
+ this.setAll("speed", t);
1434
+ }
1435
+ get state() {
1436
+ return this.getAll("state");
1437
+ }
1438
+ get startTime() {
1439
+ return this.getAll("startTime");
1440
+ }
1441
+ get duration() {
1442
+ return En(this.animations, "duration");
1443
+ }
1444
+ get iterationDuration() {
1445
+ return En(this.animations, "iterationDuration");
1446
+ }
1447
+ runAll(t) {
1448
+ this.animations.forEach((n) => n[t]());
1449
+ }
1450
+ play() {
1451
+ this.runAll("play");
1452
+ }
1453
+ pause() {
1454
+ this.runAll("pause");
1455
+ }
1456
+ cancel() {
1457
+ this.runAll("cancel");
1458
+ }
1459
+ complete() {
1460
+ this.runAll("complete");
1461
+ }
1462
+ }
1463
+ function En(e, t) {
1464
+ let n = 0;
1465
+ for (let i = 0; i < e.length; i++) {
1466
+ const s = e[i][t];
1467
+ s !== null && s > n && (n = s);
1468
+ }
1469
+ return n;
1470
+ }
1471
+ class $a extends Ka {
1472
+ then(t, n) {
1473
+ return this.finished.finally(t).then(() => {
1474
+ });
1475
+ }
1476
+ }
1477
+ const za = (
1478
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
1479
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
1480
+ );
1481
+ function La(e) {
1482
+ const t = za.exec(e);
1483
+ if (!t)
1484
+ return [,];
1485
+ const [, n, i, s] = t;
1486
+ return [`--${n ?? i}`, s];
1487
+ }
1488
+ const Wa = 4;
1489
+ function Bi(e, t, n = 1) {
1490
+ J(n <= Wa, `Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
1491
+ const [i, s] = La(e);
1492
+ if (!i)
1493
+ return;
1494
+ const a = window.getComputedStyle(t).getPropertyValue(i);
1495
+ if (a) {
1496
+ const r = a.trim();
1497
+ return Hn(r) ? parseFloat(r) : r;
1498
+ }
1499
+ return Qe(s) ? Bi(s, t, n + 1) : s;
1500
+ }
1501
+ const ja = {
1502
+ type: "spring",
1503
+ stiffness: 500,
1504
+ damping: 25,
1505
+ restSpeed: 10
1506
+ }, qa = (e) => ({
1507
+ type: "spring",
1508
+ stiffness: 550,
1509
+ damping: e === 0 ? 2 * Math.sqrt(550) : 30,
1510
+ restSpeed: 10
1511
+ }), Ua = {
1512
+ type: "keyframes",
1513
+ duration: 0.8
1514
+ }, Ga = {
1515
+ type: "keyframes",
1516
+ ease: [0.25, 0.1, 0.35, 1],
1517
+ duration: 0.3
1518
+ }, Ya = (e, { keyframes: t }) => t.length > 2 ? Ua : It.has(e) ? e.startsWith("scale") ? qa(t[1]) : ja : Ga;
1519
+ function Ni(e, t) {
1520
+ if (e?.inherit && t) {
1521
+ const { inherit: n, ...i } = e;
1522
+ return { ...t, ...i };
1523
+ }
1524
+ return e;
1525
+ }
1526
+ function Xi(e, t) {
1527
+ const n = e?.[t] ?? e?.default ?? e;
1528
+ return n !== e ? Ni(n, e) : n;
1529
+ }
1530
+ const Ha = /* @__PURE__ */ new Set([
1531
+ "when",
1532
+ "delay",
1533
+ "delayChildren",
1534
+ "staggerChildren",
1535
+ "staggerDirection",
1536
+ "repeat",
1537
+ "repeatType",
1538
+ "repeatDelay",
1539
+ "from",
1540
+ "elapsed"
1541
+ ]);
1542
+ function Za(e) {
1543
+ for (const t in e)
1544
+ if (!Ha.has(t))
1545
+ return !0;
1546
+ return !1;
1547
+ }
1548
+ const Ki = (e, t, n, i = {}, s, a) => (r) => {
1549
+ const o = Xi(i, e) || {}, l = o.delay || i.delay || 0;
1550
+ let { elapsed: d = 0 } = i;
1551
+ d = d - /* @__PURE__ */ K(l);
1552
+ const c = {
1553
+ keyframes: Array.isArray(n) ? n : [null, n],
1554
+ ease: "easeOut",
1555
+ velocity: t.getVelocity(),
1556
+ ...o,
1557
+ delay: -d,
1558
+ onUpdate: (f) => {
1559
+ t.set(f), o.onUpdate && o.onUpdate(f);
1560
+ },
1561
+ onComplete: () => {
1562
+ r(), o.onComplete && o.onComplete();
1563
+ },
1564
+ name: e,
1565
+ motionValue: t,
1566
+ element: a ? void 0 : s
1567
+ };
1568
+ Za(o) || Object.assign(c, Ya(e, c)), c.duration && (c.duration = /* @__PURE__ */ K(c.duration)), c.repeatDelay && (c.repeatDelay = /* @__PURE__ */ K(c.repeatDelay)), c.from !== void 0 && (c.keyframes[0] = c.from);
1569
+ let u = !1;
1570
+ if ((c.type === !1 || c.duration === 0 && !c.repeatDelay) && (Ie(c), c.delay === 0 && (u = !0)), (st.instantAnimations || st.skipAnimations || s?.shouldSkipAnimations) && (u = !0, Ie(c), c.delay = 0), c.allowFlatten = !o.type && !o.ease, u && !a && t.get() !== void 0) {
1571
+ const f = me(c.keyframes, o);
1572
+ if (f !== void 0) {
1573
+ G.update(() => {
1574
+ c.onUpdate(f), c.onComplete();
1575
+ });
1576
+ return;
1577
+ }
1578
+ }
1579
+ return o.isSync ? new ce(c) : new Xa(c);
1580
+ };
1581
+ function Rn(e) {
1582
+ const t = [{}, {}];
1583
+ return e?.values.forEach((n, i) => {
1584
+ t[0][i] = n.get(), t[1][i] = n.getVelocity();
1585
+ }), t;
1586
+ }
1587
+ function $i(e, t, n, i) {
1588
+ if (typeof t == "function") {
1589
+ const [s, a] = Rn(i);
1590
+ t = t(n !== void 0 ? n : e.custom, s, a);
1591
+ }
1592
+ if (typeof t == "string" && (t = e.variants && e.variants[t]), typeof t == "function") {
1593
+ const [s, a] = Rn(i);
1594
+ t = t(n !== void 0 ? n : e.custom, s, a);
1595
+ }
1596
+ return t;
1597
+ }
1598
+ function Qa(e, t, n) {
1599
+ const i = e.getProps();
1600
+ return $i(i, t, i.custom, e);
1601
+ }
1602
+ const zi = /* @__PURE__ */ new Set([
1603
+ "width",
1604
+ "height",
1605
+ "top",
1606
+ "left",
1607
+ "right",
1608
+ "bottom",
1609
+ ...Rt
1610
+ ]), In = 30, Ja = (e) => !isNaN(parseFloat(e));
1611
+ class tr {
1612
+ /**
1613
+ * @param init - The initiating value
1614
+ * @param config - Optional configuration options
1615
+ *
1616
+ * - `transformer`: A function to transform incoming values with.
1617
+ */
1618
+ constructor(t, n = {}) {
1619
+ this.canTrackVelocity = null, this.events = {}, this.updateAndNotify = (i) => {
1620
+ const s = X.now();
1621
+ if (this.updatedAt !== s && this.setPrevFrameValue(), this.prev = this.current, this.setCurrent(i), this.current !== this.prev && (this.events.change?.notify(this.current), this.dependents))
1622
+ for (const a of this.dependents)
1623
+ a.dirty();
1624
+ }, this.hasAnimated = !1, this.setCurrent(t), this.owner = n.owner;
1625
+ }
1626
+ setCurrent(t) {
1627
+ this.current = t, this.updatedAt = X.now(), this.canTrackVelocity === null && t !== void 0 && (this.canTrackVelocity = Ja(this.current));
1628
+ }
1629
+ setPrevFrameValue(t = this.current) {
1630
+ this.prevFrameValue = t, this.prevUpdatedAt = this.updatedAt;
1631
+ }
1632
+ /**
1633
+ * Adds a function that will be notified when the `MotionValue` is updated.
1634
+ *
1635
+ * It returns a function that, when called, will cancel the subscription.
1636
+ *
1637
+ * When calling `onChange` inside a React component, it should be wrapped with the
1638
+ * `useEffect` hook. As it returns an unsubscribe function, this should be returned
1639
+ * from the `useEffect` function to ensure you don't add duplicate subscribers..
1640
+ *
1641
+ * ```jsx
1642
+ * export const MyComponent = () => {
1643
+ * const x = useMotionValue(0)
1644
+ * const y = useMotionValue(0)
1645
+ * const opacity = useMotionValue(1)
1646
+ *
1647
+ * useEffect(() => {
1648
+ * function updateOpacity() {
1649
+ * const maxXY = Math.max(x.get(), y.get())
1650
+ * const newOpacity = transform(maxXY, [0, 100], [1, 0])
1651
+ * opacity.set(newOpacity)
1652
+ * }
1653
+ *
1654
+ * const unsubscribeX = x.on("change", updateOpacity)
1655
+ * const unsubscribeY = y.on("change", updateOpacity)
1656
+ *
1657
+ * return () => {
1658
+ * unsubscribeX()
1659
+ * unsubscribeY()
1660
+ * }
1661
+ * }, [])
1662
+ *
1663
+ * return <motion.div style={{ x }} />
1664
+ * }
1665
+ * ```
1666
+ *
1667
+ * @param subscriber - A function that receives the latest value.
1668
+ * @returns A function that, when called, will cancel this subscription.
1669
+ *
1670
+ * @deprecated
1671
+ */
1672
+ onChange(t) {
1673
+ return process.env.NODE_ENV !== "production" && ei(!1, 'value.onChange(callback) is deprecated. Switch to value.on("change", callback).'), this.on("change", t);
1674
+ }
1675
+ on(t, n) {
1676
+ this.events[t] || (this.events[t] = new Jn());
1677
+ const i = this.events[t].add(n);
1678
+ return t === "change" ? () => {
1679
+ i(), G.read(() => {
1680
+ this.events.change.getSize() || this.stop();
1681
+ });
1682
+ } : i;
1683
+ }
1684
+ clearListeners() {
1685
+ for (const t in this.events)
1686
+ this.events[t].clear();
1687
+ }
1688
+ /**
1689
+ * Attaches a passive effect to the `MotionValue`.
1690
+ */
1691
+ attach(t, n) {
1692
+ this.passiveEffect = t, this.stopPassiveEffect = n;
1693
+ }
1694
+ /**
1695
+ * Sets the state of the `MotionValue`.
1696
+ *
1697
+ * @remarks
1698
+ *
1699
+ * ```jsx
1700
+ * const x = useMotionValue(0)
1701
+ * x.set(10)
1702
+ * ```
1703
+ *
1704
+ * @param latest - Latest value to set.
1705
+ * @param render - Whether to notify render subscribers. Defaults to `true`
1706
+ *
1707
+ * @public
1708
+ */
1709
+ set(t) {
1710
+ this.passiveEffect ? this.passiveEffect(t, this.updateAndNotify) : this.updateAndNotify(t);
1711
+ }
1712
+ setWithVelocity(t, n, i) {
1713
+ this.set(n), this.prev = void 0, this.prevFrameValue = t, this.prevUpdatedAt = this.updatedAt - i;
1714
+ }
1715
+ /**
1716
+ * Set the state of the `MotionValue`, stopping any active animations,
1717
+ * effects, and resets velocity to `0`.
1718
+ */
1719
+ jump(t, n = !0) {
1720
+ this.updateAndNotify(t), this.prev = t, this.prevUpdatedAt = this.prevFrameValue = void 0, n && this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
1721
+ }
1722
+ dirty() {
1723
+ this.events.change?.notify(this.current);
1724
+ }
1725
+ addDependent(t) {
1726
+ this.dependents || (this.dependents = /* @__PURE__ */ new Set()), this.dependents.add(t);
1727
+ }
1728
+ removeDependent(t) {
1729
+ this.dependents && this.dependents.delete(t);
1730
+ }
1731
+ /**
1732
+ * Returns the latest state of `MotionValue`
1733
+ *
1734
+ * @returns - The latest state of `MotionValue`
1735
+ *
1736
+ * @public
1737
+ */
1738
+ get() {
1739
+ return this.current;
1740
+ }
1741
+ /**
1742
+ * @public
1743
+ */
1744
+ getPrevious() {
1745
+ return this.prev;
1746
+ }
1747
+ /**
1748
+ * Returns the latest velocity of `MotionValue`
1749
+ *
1750
+ * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.
1751
+ *
1752
+ * @public
1753
+ */
1754
+ getVelocity() {
1755
+ const t = X.now();
1756
+ if (!this.canTrackVelocity || this.prevFrameValue === void 0 || t - this.updatedAt > In)
1757
+ return 0;
1758
+ const n = Math.min(this.updatedAt - this.prevUpdatedAt, In);
1759
+ return ti(parseFloat(this.current) - parseFloat(this.prevFrameValue), n);
1760
+ }
1761
+ /**
1762
+ * Registers a new animation to control this `MotionValue`. Only one
1763
+ * animation can drive a `MotionValue` at one time.
1764
+ *
1765
+ * ```jsx
1766
+ * value.start()
1767
+ * ```
1768
+ *
1769
+ * @param animation - A function that starts the provided animation
1770
+ */
1771
+ start(t) {
1772
+ return this.stop(), new Promise((n) => {
1773
+ this.hasAnimated = !0, this.animation = t(n), this.events.animationStart && this.events.animationStart.notify();
1774
+ }).then(() => {
1775
+ this.events.animationComplete && this.events.animationComplete.notify(), this.clearAnimation();
1776
+ });
1777
+ }
1778
+ /**
1779
+ * Stop the currently active animation.
1780
+ *
1781
+ * @public
1782
+ */
1783
+ stop() {
1784
+ this.animation && (this.animation.stop(), this.events.animationCancel && this.events.animationCancel.notify()), this.clearAnimation();
1785
+ }
1786
+ /**
1787
+ * Returns `true` if this value is currently animating.
1788
+ *
1789
+ * @public
1790
+ */
1791
+ isAnimating() {
1792
+ return !!this.animation;
1793
+ }
1794
+ clearAnimation() {
1795
+ delete this.animation;
1796
+ }
1797
+ /**
1798
+ * Destroy and clean up subscribers to this `MotionValue`.
1799
+ *
1800
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
1801
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
1802
+ * created a `MotionValue` via the `motionValue` function.
1803
+ *
1804
+ * @public
1805
+ */
1806
+ destroy() {
1807
+ this.dependents?.clear(), this.events.destroy?.notify(), this.clearListeners(), this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
1808
+ }
1809
+ }
1810
+ function At(e, t) {
1811
+ return new tr(e, t);
1812
+ }
1813
+ const er = (e) => Array.isArray(e);
1814
+ function nr(e, t, n) {
1815
+ e.hasValue(t) ? e.getValue(t).set(n) : e.addValue(t, At(n));
1816
+ }
1817
+ function ir(e) {
1818
+ return er(e) ? e[e.length - 1] || 0 : e;
1819
+ }
1820
+ function sr(e, t) {
1821
+ const n = Qa(e, t);
1822
+ let { transitionEnd: i = {}, transition: s = {}, ...a } = n || {};
1823
+ a = { ...a, ...i };
1824
+ for (const r in a) {
1825
+ const o = ir(a[r]);
1826
+ nr(e, r, o);
1827
+ }
1828
+ }
1829
+ const B = (e) => !!(e && e.getVelocity);
1830
+ function ar(e) {
1831
+ return !!(B(e) && e.add);
1832
+ }
1833
+ function rr(e, t) {
1834
+ const n = e.getValue("willChange");
1835
+ if (ar(n))
1836
+ return n.add(t);
1837
+ if (!n && st.WillChange) {
1838
+ const i = new st.WillChange("auto");
1839
+ e.addValue("willChange", i), i.add(t);
1840
+ }
1841
+ }
1842
+ function on(e) {
1843
+ return e.replace(/([A-Z])/g, (t) => `-${t.toLowerCase()}`);
1844
+ }
1845
+ const or = "framerAppearId", cr = "data-" + on(or);
1846
+ function lr(e) {
1847
+ return e.props[cr];
1848
+ }
1849
+ function ur({ protectedKeys: e, needsAnimating: t }, n) {
1850
+ const i = e.hasOwnProperty(n) && t[n] !== !0;
1851
+ return t[n] = !1, i;
1852
+ }
1853
+ function dr(e, t, { delay: n = 0, transitionOverride: i, type: s } = {}) {
1854
+ let { transition: a, transitionEnd: r, ...o } = t;
1855
+ const l = e.getDefaultTransition();
1856
+ a = a ? Ni(a, l) : l;
1857
+ const d = a?.reduceMotion;
1858
+ i && (a = i);
1859
+ const c = [], u = s && e.animationState && e.animationState.getState()[s];
1860
+ for (const f in o) {
1861
+ const h = e.getValue(f, e.latestValues[f] ?? null), m = o[f];
1862
+ if (m === void 0 || u && ur(u, f))
1863
+ continue;
1864
+ const g = {
1865
+ delay: n,
1866
+ ...Xi(a || {}, f)
1867
+ }, b = h.get();
1868
+ if (b !== void 0 && !h.isAnimating() && !Array.isArray(m) && m === b && !g.velocity) {
1869
+ G.update(() => h.set(m));
1870
+ continue;
1871
+ }
1872
+ let v = !1;
1873
+ if (window.MotionHandoffAnimation) {
1874
+ const T = lr(e);
1875
+ if (T) {
1876
+ const M = window.MotionHandoffAnimation(T, f, G);
1877
+ M !== null && (g.startTime = M, v = !0);
1878
+ }
1879
+ }
1880
+ rr(e, f);
1881
+ const O = d ?? e.shouldReduceMotion;
1882
+ h.start(Ki(f, h, m, O && zi.has(f) ? { type: !1 } : g, e, v));
1883
+ const C = h.animation;
1884
+ C && c.push(C);
1885
+ }
1886
+ if (r) {
1887
+ const f = () => G.update(() => {
1888
+ r && sr(e, r);
1889
+ });
1890
+ c.length ? Promise.all(c).then(f) : f();
1891
+ }
1892
+ return c;
1893
+ }
1894
+ const fr = {
1895
+ test: (e) => e === "auto",
1896
+ parse: (e) => e
1897
+ }, Li = (e) => (t) => t.test(e), Wi = [Ft, p, xt, et, Es, Fs, fr], Bn = (e) => Wi.find(Li(e));
1898
+ function hr(e) {
1899
+ return typeof e == "number" ? e === 0 : e !== null ? e === "none" || e === "0" || Zn(e) : !0;
1900
+ }
1901
+ const pr = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
1902
+ function mr(e) {
1903
+ const [t, n] = e.slice(0, -1).split("(");
1904
+ if (t === "drop-shadow")
1905
+ return e;
1906
+ const [i] = n.match(Je) || [];
1907
+ if (!i)
1908
+ return e;
1909
+ const s = n.replace(i, "");
1910
+ let a = pr.has(t) ? 1 : 0;
1911
+ return i !== n && (a *= 100), t + "(" + a + s + ")";
1912
+ }
1913
+ const gr = /\b([a-z-]*)\(.*?\)/gu, Be = {
1914
+ ...L,
1915
+ getAnimatableNone: (e) => {
1916
+ const t = e.match(gr);
1917
+ return t ? t.map(mr).join(" ") : e;
1918
+ }
1919
+ }, Ne = {
1920
+ ...L,
1921
+ getAnimatableNone: (e) => {
1922
+ const t = L.parse(e);
1923
+ return L.createTransformer(e)(t.map((i) => typeof i == "number" ? 0 : typeof i == "object" ? { ...i, alpha: 1 } : i));
1924
+ }
1925
+ }, Nn = {
1926
+ ...Ft,
1927
+ transform: Math.round
1928
+ }, yr = {
1929
+ rotate: et,
1930
+ rotateX: et,
1931
+ rotateY: et,
1932
+ rotateZ: et,
1933
+ scale: ee,
1934
+ scaleX: ee,
1935
+ scaleY: ee,
1936
+ scaleZ: ee,
1937
+ skew: et,
1938
+ skewX: et,
1939
+ skewY: et,
1940
+ distance: p,
1941
+ translateX: p,
1942
+ translateY: p,
1943
+ translateZ: p,
1944
+ x: p,
1945
+ y: p,
1946
+ z: p,
1947
+ perspective: p,
1948
+ transformPerspective: p,
1949
+ opacity: Lt,
1950
+ originX: _n,
1951
+ originY: _n,
1952
+ originZ: p
1953
+ }, cn = {
1954
+ // Border props
1955
+ borderWidth: p,
1956
+ borderTopWidth: p,
1957
+ borderRightWidth: p,
1958
+ borderBottomWidth: p,
1959
+ borderLeftWidth: p,
1960
+ borderRadius: p,
1961
+ borderTopLeftRadius: p,
1962
+ borderTopRightRadius: p,
1963
+ borderBottomRightRadius: p,
1964
+ borderBottomLeftRadius: p,
1965
+ // Positioning props
1966
+ width: p,
1967
+ maxWidth: p,
1968
+ height: p,
1969
+ maxHeight: p,
1970
+ top: p,
1971
+ right: p,
1972
+ bottom: p,
1973
+ left: p,
1974
+ inset: p,
1975
+ insetBlock: p,
1976
+ insetBlockStart: p,
1977
+ insetBlockEnd: p,
1978
+ insetInline: p,
1979
+ insetInlineStart: p,
1980
+ insetInlineEnd: p,
1981
+ // Spacing props
1982
+ padding: p,
1983
+ paddingTop: p,
1984
+ paddingRight: p,
1985
+ paddingBottom: p,
1986
+ paddingLeft: p,
1987
+ paddingBlock: p,
1988
+ paddingBlockStart: p,
1989
+ paddingBlockEnd: p,
1990
+ paddingInline: p,
1991
+ paddingInlineStart: p,
1992
+ paddingInlineEnd: p,
1993
+ margin: p,
1994
+ marginTop: p,
1995
+ marginRight: p,
1996
+ marginBottom: p,
1997
+ marginLeft: p,
1998
+ marginBlock: p,
1999
+ marginBlockStart: p,
2000
+ marginBlockEnd: p,
2001
+ marginInline: p,
2002
+ marginInlineStart: p,
2003
+ marginInlineEnd: p,
2004
+ // Typography
2005
+ fontSize: p,
2006
+ // Misc
2007
+ backgroundPositionX: p,
2008
+ backgroundPositionY: p,
2009
+ ...yr,
2010
+ zIndex: Nn,
2011
+ // SVG
2012
+ fillOpacity: Lt,
2013
+ strokeOpacity: Lt,
2014
+ numOctaves: Nn
2015
+ }, br = {
2016
+ ...cn,
2017
+ // Color props
2018
+ color: E,
2019
+ backgroundColor: E,
2020
+ outlineColor: E,
2021
+ fill: E,
2022
+ stroke: E,
2023
+ // Border props
2024
+ borderColor: E,
2025
+ borderTopColor: E,
2026
+ borderRightColor: E,
2027
+ borderBottomColor: E,
2028
+ borderLeftColor: E,
2029
+ filter: Be,
2030
+ WebkitFilter: Be,
2031
+ mask: Ne,
2032
+ WebkitMask: Ne
2033
+ }, ji = (e) => br[e], xr = /* @__PURE__ */ new Set([Be, Ne]);
2034
+ function qi(e, t) {
2035
+ let n = ji(e);
2036
+ return xr.has(n) || (n = L), n.getAnimatableNone ? n.getAnimatableNone(t) : void 0;
2037
+ }
2038
+ const vr = /* @__PURE__ */ new Set(["auto", "none", "0"]);
2039
+ function wr(e, t, n) {
2040
+ let i = 0, s;
2041
+ for (; i < e.length && !s; ) {
2042
+ const a = e[i];
2043
+ typeof a == "string" && !vr.has(a) && St(a).values.length && (s = e[i]), i++;
2044
+ }
2045
+ if (s && n)
2046
+ for (const a of t)
2047
+ e[a] = qi(n, s);
2048
+ }
2049
+ class Mr extends an {
2050
+ constructor(t, n, i, s, a) {
2051
+ super(t, n, i, s, a, !0);
2052
+ }
2053
+ readKeyframes() {
2054
+ const { unresolvedKeyframes: t, element: n, name: i } = this;
2055
+ if (!n || !n.current)
2056
+ return;
2057
+ super.readKeyframes();
2058
+ for (let c = 0; c < t.length; c++) {
2059
+ let u = t[c];
2060
+ if (typeof u == "string" && (u = u.trim(), Qe(u))) {
2061
+ const f = Bi(u, n.current);
2062
+ f !== void 0 && (t[c] = f), c === t.length - 1 && (this.finalKeyframe = u);
2063
+ }
2064
+ }
2065
+ if (this.resolveNoneKeyframes(), !zi.has(i) || t.length !== 2)
2066
+ return;
2067
+ const [s, a] = t, r = Bn(s), o = Bn(a), l = Mn(s), d = Mn(a);
2068
+ if (l !== d && nt[i]) {
2069
+ this.needsMeasurement = !0;
2070
+ return;
2071
+ }
2072
+ if (r !== o)
2073
+ if (kn(r) && kn(o))
2074
+ for (let c = 0; c < t.length; c++) {
2075
+ const u = t[c];
2076
+ typeof u == "string" && (t[c] = parseFloat(u));
2077
+ }
2078
+ else nt[i] && (this.needsMeasurement = !0);
2079
+ }
2080
+ resolveNoneKeyframes() {
2081
+ const { unresolvedKeyframes: t, name: n } = this, i = [];
2082
+ for (let s = 0; s < t.length; s++)
2083
+ (t[s] === null || hr(t[s])) && i.push(s);
2084
+ i.length && wr(t, i, n);
2085
+ }
2086
+ measureInitialState() {
2087
+ const { element: t, unresolvedKeyframes: n, name: i } = this;
2088
+ if (!t || !t.current)
2089
+ return;
2090
+ i === "height" && (this.suspendedScrollY = window.pageYOffset), this.measuredOrigin = nt[i](t.measureViewportBox(), window.getComputedStyle(t.current)), n[0] = this.measuredOrigin;
2091
+ const s = n[n.length - 1];
2092
+ s !== void 0 && t.getValue(i, s).jump(s, !1);
2093
+ }
2094
+ measureEndState() {
2095
+ const { element: t, name: n, unresolvedKeyframes: i } = this;
2096
+ if (!t || !t.current)
2097
+ return;
2098
+ const s = t.getValue(n);
2099
+ s && s.jump(this.measuredOrigin, !1);
2100
+ const a = i.length - 1, r = i[a];
2101
+ i[a] = nt[n](t.measureViewportBox(), window.getComputedStyle(t.current)), r !== null && this.finalKeyframe === void 0 && (this.finalKeyframe = r), this.removedTransforms?.length && this.removedTransforms.forEach(([o, l]) => {
2102
+ t.getValue(o).set(l);
2103
+ }), this.resolveNoneKeyframes();
2104
+ }
2105
+ }
2106
+ function _r(e, t, n) {
2107
+ if (e == null)
2108
+ return [];
2109
+ if (e instanceof EventTarget)
2110
+ return [e];
2111
+ if (typeof e == "string") {
2112
+ let i = document;
2113
+ t && (i = t.current);
2114
+ const s = n?.[e] ?? i.querySelectorAll(e);
2115
+ return s ? Array.from(s) : [];
2116
+ }
2117
+ return Array.from(e).filter((i) => i != null);
2118
+ }
2119
+ const Ui = (e, t) => t && typeof e == "number" ? t.transform(e) : e, { schedule: Tr } = /* @__PURE__ */ hi(queueMicrotask, !1);
2120
+ function Gi(e) {
2121
+ return ps(e) && "ownerSVGElement" in e;
2122
+ }
2123
+ function Cr(e) {
2124
+ return Gi(e) && e.tagName === "svg";
2125
+ }
2126
+ const Sr = [...Wi, E, L], Ar = (e) => Sr.find(Li(e)), Xn = () => ({ min: 0, max: 0 }), ln = () => ({
2127
+ x: Xn(),
2128
+ y: Xn()
2129
+ }), jt = /* @__PURE__ */ new WeakMap();
2130
+ function Vr(e) {
2131
+ return e !== null && typeof e == "object" && typeof e.start == "function";
2132
+ }
2133
+ function Pr(e) {
2134
+ return typeof e == "string" || Array.isArray(e);
2135
+ }
2136
+ const Or = [
2137
+ "animate",
2138
+ "whileInView",
2139
+ "whileFocus",
2140
+ "whileHover",
2141
+ "whileTap",
2142
+ "whileDrag",
2143
+ "exit"
2144
+ ], kr = ["initial", ...Or];
2145
+ function Yi(e) {
2146
+ return Vr(e.animate) || kr.some((t) => Pr(e[t]));
2147
+ }
2148
+ function Dr(e) {
2149
+ return !!(Yi(e) || e.variants);
2150
+ }
2151
+ function Fr(e, t, n) {
2152
+ for (const i in t) {
2153
+ const s = t[i], a = n[i];
2154
+ if (B(s))
2155
+ e.addValue(i, s);
2156
+ else if (B(a))
2157
+ e.addValue(i, At(s, { owner: e }));
2158
+ else if (a !== s)
2159
+ if (e.hasValue(i)) {
2160
+ const r = e.getValue(i);
2161
+ r.liveStyle === !0 ? r.jump(s) : r.hasAnimated || r.set(s);
2162
+ } else {
2163
+ const r = e.getStaticValue(i);
2164
+ e.addValue(i, At(r !== void 0 ? r : s, { owner: e }));
2165
+ }
2166
+ }
2167
+ for (const i in n)
2168
+ t[i] === void 0 && e.removeValue(i);
2169
+ return t;
2170
+ }
2171
+ const Xe = { current: null }, Hi = { current: !1 }, Er = typeof window < "u";
2172
+ function Rr() {
2173
+ if (Hi.current = !0, !!Er)
2174
+ if (window.matchMedia) {
2175
+ const e = window.matchMedia("(prefers-reduced-motion)"), t = () => Xe.current = e.matches;
2176
+ e.addEventListener("change", t), t();
2177
+ } else
2178
+ Xe.current = !1;
2179
+ }
2180
+ const Kn = [
2181
+ "AnimationStart",
2182
+ "AnimationComplete",
2183
+ "Update",
2184
+ "BeforeLayoutMeasure",
2185
+ "LayoutMeasure",
2186
+ "LayoutAnimationStart",
2187
+ "LayoutAnimationComplete"
2188
+ ];
2189
+ let $n = {};
2190
+ class Zi {
2191
+ /**
2192
+ * This method takes React props and returns found MotionValues. For example, HTML
2193
+ * MotionValues will be found within the style prop, whereas for Three.js within attribute arrays.
2194
+ *
2195
+ * This isn't an abstract method as it needs calling in the constructor, but it is
2196
+ * intended to be one.
2197
+ */
2198
+ scrapeMotionValuesFromProps(t, n, i) {
2199
+ return {};
2200
+ }
2201
+ constructor({ parent: t, props: n, presenceContext: i, reducedMotionConfig: s, skipAnimations: a, blockInitialAnimation: r, visualState: o }, l = {}) {
2202
+ this.current = null, this.children = /* @__PURE__ */ new Set(), this.isVariantNode = !1, this.isControllingVariants = !1, this.shouldReduceMotion = null, this.shouldSkipAnimations = !1, this.values = /* @__PURE__ */ new Map(), this.KeyframeResolver = an, this.features = {}, this.valueSubscriptions = /* @__PURE__ */ new Map(), this.prevMotionValues = {}, this.hasBeenMounted = !1, this.events = {}, this.propEventSubscriptions = {}, this.notifyUpdate = () => this.notify("Update", this.latestValues), this.render = () => {
2203
+ this.current && (this.triggerBuild(), this.renderInstance(this.current, this.renderState, this.props.style, this.projection));
2204
+ }, this.renderScheduledAt = 0, this.scheduleRender = () => {
2205
+ const h = X.now();
2206
+ this.renderScheduledAt < h && (this.renderScheduledAt = h, G.render(this.render, !1, !0));
2207
+ };
2208
+ const { latestValues: d, renderState: c } = o;
2209
+ this.latestValues = d, this.baseTarget = { ...d }, this.initialValues = n.initial ? { ...d } : {}, this.renderState = c, this.parent = t, this.props = n, this.presenceContext = i, this.depth = t ? t.depth + 1 : 0, this.reducedMotionConfig = s, this.skipAnimationsConfig = a, this.options = l, this.blockInitialAnimation = !!r, this.isControllingVariants = Yi(n), this.isVariantNode = Dr(n), this.isVariantNode && (this.variantChildren = /* @__PURE__ */ new Set()), this.manuallyAnimateOnMount = !!(t && t.current);
2210
+ const { willChange: u, ...f } = this.scrapeMotionValuesFromProps(n, {}, this);
2211
+ for (const h in f) {
2212
+ const m = f[h];
2213
+ d[h] !== void 0 && B(m) && m.set(d[h]);
2214
+ }
2215
+ }
2216
+ mount(t) {
2217
+ if (this.hasBeenMounted)
2218
+ for (const n in this.initialValues)
2219
+ this.values.get(n)?.jump(this.initialValues[n]), this.latestValues[n] = this.initialValues[n];
2220
+ this.current = t, jt.set(t, this), this.projection && !this.projection.instance && this.projection.mount(t), this.parent && this.isVariantNode && !this.isControllingVariants && (this.removeFromVariantTree = this.parent.addVariantChild(this)), this.values.forEach((n, i) => this.bindToMotionValue(i, n)), this.reducedMotionConfig === "never" ? this.shouldReduceMotion = !1 : this.reducedMotionConfig === "always" ? this.shouldReduceMotion = !0 : (Hi.current || Rr(), this.shouldReduceMotion = Xe.current), process.env.NODE_ENV !== "production" && ei(this.shouldReduceMotion !== !0, "You have Reduced Motion enabled on your device. Animations may not appear as expected.", "reduced-motion-disabled"), this.shouldSkipAnimations = this.skipAnimationsConfig ?? !1, this.parent?.addChild(this), this.update(this.props, this.presenceContext), this.hasBeenMounted = !0;
2221
+ }
2222
+ unmount() {
2223
+ this.projection && this.projection.unmount(), Te(this.notifyUpdate), Te(this.render), this.valueSubscriptions.forEach((t) => t()), this.valueSubscriptions.clear(), this.removeFromVariantTree && this.removeFromVariantTree(), this.parent?.removeChild(this);
2224
+ for (const t in this.events)
2225
+ this.events[t].clear();
2226
+ for (const t in this.features) {
2227
+ const n = this.features[t];
2228
+ n && (n.unmount(), n.isMounted = !1);
2229
+ }
2230
+ this.current = null;
2231
+ }
2232
+ addChild(t) {
2233
+ this.children.add(t), this.enteringChildren ?? (this.enteringChildren = /* @__PURE__ */ new Set()), this.enteringChildren.add(t);
2234
+ }
2235
+ removeChild(t) {
2236
+ this.children.delete(t), this.enteringChildren && this.enteringChildren.delete(t);
2237
+ }
2238
+ bindToMotionValue(t, n) {
2239
+ if (this.valueSubscriptions.has(t) && this.valueSubscriptions.get(t)(), n.accelerate && Ii.has(t) && this.current instanceof HTMLElement) {
2240
+ const { factory: r, keyframes: o, times: l, ease: d, duration: c } = n.accelerate, u = new Ei({
2241
+ element: this.current,
2242
+ name: t,
2243
+ keyframes: o,
2244
+ times: l,
2245
+ ease: d,
2246
+ duration: /* @__PURE__ */ K(c)
2247
+ }), f = r(u);
2248
+ this.valueSubscriptions.set(t, () => {
2249
+ f(), u.cancel();
2250
+ });
2251
+ return;
2252
+ }
2253
+ const i = It.has(t);
2254
+ i && this.onBindTransform && this.onBindTransform();
2255
+ const s = n.on("change", (r) => {
2256
+ this.latestValues[t] = r, this.props.onUpdate && G.preRender(this.notifyUpdate), i && this.projection && (this.projection.isTransformDirty = !0), this.scheduleRender();
2257
+ });
2258
+ let a;
2259
+ typeof window < "u" && window.MotionCheckAppearSync && (a = window.MotionCheckAppearSync(this, t, n)), this.valueSubscriptions.set(t, () => {
2260
+ s(), a && a(), n.owner && n.stop();
2261
+ });
2262
+ }
2263
+ sortNodePosition(t) {
2264
+ return !this.current || !this.sortInstanceNodePosition || this.type !== t.type ? 0 : this.sortInstanceNodePosition(this.current, t.current);
2265
+ }
2266
+ updateFeatures() {
2267
+ let t = "animation";
2268
+ for (t in $n) {
2269
+ const n = $n[t];
2270
+ if (!n)
2271
+ continue;
2272
+ const { isEnabled: i, Feature: s } = n;
2273
+ if (!this.features[t] && s && i(this.props) && (this.features[t] = new s(this)), this.features[t]) {
2274
+ const a = this.features[t];
2275
+ a.isMounted ? a.update() : (a.mount(), a.isMounted = !0);
2276
+ }
2277
+ }
2278
+ }
2279
+ triggerBuild() {
2280
+ this.build(this.renderState, this.latestValues, this.props);
2281
+ }
2282
+ /**
2283
+ * Measure the current viewport box with or without transforms.
2284
+ * Only measures axis-aligned boxes, rotate and skew must be manually
2285
+ * removed with a re-render to work.
2286
+ */
2287
+ measureViewportBox() {
2288
+ return this.current ? this.measureInstanceViewportBox(this.current, this.props) : ln();
2289
+ }
2290
+ getStaticValue(t) {
2291
+ return this.latestValues[t];
2292
+ }
2293
+ setStaticValue(t, n) {
2294
+ this.latestValues[t] = n;
2295
+ }
2296
+ /**
2297
+ * Update the provided props. Ensure any newly-added motion values are
2298
+ * added to our map, old ones removed, and listeners updated.
2299
+ */
2300
+ update(t, n) {
2301
+ (t.transformTemplate || this.props.transformTemplate) && this.scheduleRender(), this.prevProps = this.props, this.props = t, this.prevPresenceContext = this.presenceContext, this.presenceContext = n;
2302
+ for (let i = 0; i < Kn.length; i++) {
2303
+ const s = Kn[i];
2304
+ this.propEventSubscriptions[s] && (this.propEventSubscriptions[s](), delete this.propEventSubscriptions[s]);
2305
+ const a = "on" + s, r = t[a];
2306
+ r && (this.propEventSubscriptions[s] = this.on(s, r));
2307
+ }
2308
+ this.prevMotionValues = Fr(this, this.scrapeMotionValuesFromProps(t, this.prevProps || {}, this), this.prevMotionValues), this.handleChildMotionValue && this.handleChildMotionValue();
2309
+ }
2310
+ getProps() {
2311
+ return this.props;
2312
+ }
2313
+ /**
2314
+ * Returns the variant definition with a given name.
2315
+ */
2316
+ getVariant(t) {
2317
+ return this.props.variants ? this.props.variants[t] : void 0;
2318
+ }
2319
+ /**
2320
+ * Returns the defined default transition on this component.
2321
+ */
2322
+ getDefaultTransition() {
2323
+ return this.props.transition;
2324
+ }
2325
+ getTransformPagePoint() {
2326
+ return this.props.transformPagePoint;
2327
+ }
2328
+ getClosestVariantNode() {
2329
+ return this.isVariantNode ? this : this.parent ? this.parent.getClosestVariantNode() : void 0;
2330
+ }
2331
+ /**
2332
+ * Add a child visual element to our set of children.
2333
+ */
2334
+ addVariantChild(t) {
2335
+ const n = this.getClosestVariantNode();
2336
+ if (n)
2337
+ return n.variantChildren && n.variantChildren.add(t), () => n.variantChildren.delete(t);
2338
+ }
2339
+ /**
2340
+ * Add a motion value and bind it to this visual element.
2341
+ */
2342
+ addValue(t, n) {
2343
+ const i = this.values.get(t);
2344
+ n !== i && (i && this.removeValue(t), this.bindToMotionValue(t, n), this.values.set(t, n), this.latestValues[t] = n.get());
2345
+ }
2346
+ /**
2347
+ * Remove a motion value and unbind any active subscriptions.
2348
+ */
2349
+ removeValue(t) {
2350
+ this.values.delete(t);
2351
+ const n = this.valueSubscriptions.get(t);
2352
+ n && (n(), this.valueSubscriptions.delete(t)), delete this.latestValues[t], this.removeValueFromRenderState(t, this.renderState);
2353
+ }
2354
+ /**
2355
+ * Check whether we have a motion value for this key
2356
+ */
2357
+ hasValue(t) {
2358
+ return this.values.has(t);
2359
+ }
2360
+ getValue(t, n) {
2361
+ if (this.props.values && this.props.values[t])
2362
+ return this.props.values[t];
2363
+ let i = this.values.get(t);
2364
+ return i === void 0 && n !== void 0 && (i = At(n === null ? void 0 : n, { owner: this }), this.addValue(t, i)), i;
2365
+ }
2366
+ /**
2367
+ * If we're trying to animate to a previously unencountered value,
2368
+ * we need to check for it in our state and as a last resort read it
2369
+ * directly from the instance (which might have performance implications).
2370
+ */
2371
+ readValue(t, n) {
2372
+ let i = this.latestValues[t] !== void 0 || !this.current ? this.latestValues[t] : this.getBaseTargetFromProps(this.props, t) ?? this.readValueFromInstance(this.current, t, this.options);
2373
+ return i != null && (typeof i == "string" && (Hn(i) || Zn(i)) ? i = parseFloat(i) : !Ar(i) && L.test(n) && (i = qi(t, n)), this.setBaseTarget(t, B(i) ? i.get() : i)), B(i) ? i.get() : i;
2374
+ }
2375
+ /**
2376
+ * Set the base target to later animate back to. This is currently
2377
+ * only hydrated on creation and when we first read a value.
2378
+ */
2379
+ setBaseTarget(t, n) {
2380
+ this.baseTarget[t] = n;
2381
+ }
2382
+ /**
2383
+ * Find the base target for a value thats been removed from all animation
2384
+ * props.
2385
+ */
2386
+ getBaseTarget(t) {
2387
+ const { initial: n } = this.props;
2388
+ let i;
2389
+ if (typeof n == "string" || typeof n == "object") {
2390
+ const a = $i(this.props, n, this.presenceContext?.custom);
2391
+ a && (i = a[t]);
2392
+ }
2393
+ if (n && i !== void 0)
2394
+ return i;
2395
+ const s = this.getBaseTargetFromProps(this.props, t);
2396
+ return s !== void 0 && !B(s) ? s : this.initialValues[t] !== void 0 && i === void 0 ? void 0 : this.baseTarget[t];
2397
+ }
2398
+ on(t, n) {
2399
+ return this.events[t] || (this.events[t] = new Jn()), this.events[t].add(n);
2400
+ }
2401
+ notify(t, ...n) {
2402
+ this.events[t] && this.events[t].notify(...n);
2403
+ }
2404
+ scheduleRenderMicrotask() {
2405
+ Tr.render(this.render);
2406
+ }
2407
+ }
2408
+ class Qi extends Zi {
2409
+ constructor() {
2410
+ super(...arguments), this.KeyframeResolver = Mr;
2411
+ }
2412
+ sortInstanceNodePosition(t, n) {
2413
+ return t.compareDocumentPosition(n) & 2 ? 1 : -1;
2414
+ }
2415
+ getBaseTargetFromProps(t, n) {
2416
+ const i = t.style;
2417
+ return i ? i[n] : void 0;
2418
+ }
2419
+ removeValueFromRenderState(t, { vars: n, style: i }) {
2420
+ delete n[t], delete i[t];
2421
+ }
2422
+ handleChildMotionValue() {
2423
+ this.childSubscription && (this.childSubscription(), delete this.childSubscription);
2424
+ const { children: t } = this.props;
2425
+ B(t) && (this.childSubscription = t.on("change", (n) => {
2426
+ this.current && (this.current.textContent = `${n}`);
2427
+ }));
2428
+ }
2429
+ }
2430
+ function Ir({ top: e, left: t, right: n, bottom: i }) {
2431
+ return {
2432
+ x: { min: t, max: n },
2433
+ y: { min: e, max: i }
2434
+ };
2435
+ }
2436
+ function Br(e, t) {
2437
+ if (!t)
2438
+ return e;
2439
+ const n = t({ x: e.left, y: e.top }), i = t({ x: e.right, y: e.bottom });
2440
+ return {
2441
+ top: n.y,
2442
+ left: n.x,
2443
+ bottom: i.y,
2444
+ right: i.x
2445
+ };
2446
+ }
2447
+ function Nr(e, t) {
2448
+ return Ir(Br(e.getBoundingClientRect(), t));
2449
+ }
2450
+ const Xr = {
2451
+ x: "translateX",
2452
+ y: "translateY",
2453
+ z: "translateZ",
2454
+ transformPerspective: "perspective"
2455
+ }, Kr = Rt.length;
2456
+ function $r(e, t, n) {
2457
+ let i = "", s = !0;
2458
+ for (let a = 0; a < Kr; a++) {
2459
+ const r = Rt[a], o = e[r];
2460
+ if (o === void 0)
2461
+ continue;
2462
+ let l = !0;
2463
+ if (typeof o == "number")
2464
+ l = o === (r.startsWith("scale") ? 1 : 0);
2465
+ else {
2466
+ const d = parseFloat(o);
2467
+ l = r.startsWith("scale") ? d === 1 : d === 0;
2468
+ }
2469
+ if (!l || n) {
2470
+ const d = Ui(o, cn[r]);
2471
+ if (!l) {
2472
+ s = !1;
2473
+ const c = Xr[r] || r;
2474
+ i += `${c}(${d}) `;
2475
+ }
2476
+ n && (t[r] = d);
2477
+ }
2478
+ }
2479
+ return i = i.trim(), n ? i = n(t, s ? "" : i) : s && (i = "none"), i;
2480
+ }
2481
+ function Ji(e, t, n) {
2482
+ const { style: i, vars: s, transformOrigin: a } = e;
2483
+ let r = !1, o = !1;
2484
+ for (const l in t) {
2485
+ const d = t[l];
2486
+ if (It.has(l)) {
2487
+ r = !0;
2488
+ continue;
2489
+ } else if (mi(l)) {
2490
+ s[l] = d;
2491
+ continue;
2492
+ } else {
2493
+ const c = Ui(d, cn[l]);
2494
+ l.startsWith("origin") ? (o = !0, a[l] = c) : i[l] = c;
2495
+ }
2496
+ }
2497
+ if (t.transform || (r || n ? i.transform = $r(t, e.transform, n) : i.transform && (i.transform = "none")), o) {
2498
+ const { originX: l = "50%", originY: d = "50%", originZ: c = 0 } = a;
2499
+ i.transformOrigin = `${l} ${d} ${c}`;
2500
+ }
2501
+ }
2502
+ function ts(e, { style: t, vars: n }, i, s) {
2503
+ const a = e.style;
2504
+ let r;
2505
+ for (r in t)
2506
+ a[r] = t[r];
2507
+ s?.applyProjectionStyles(a, i);
2508
+ for (r in n)
2509
+ a.setProperty(r, n[r]);
2510
+ }
2511
+ function zn(e, t) {
2512
+ return t.max === t.min ? 0 : e / (t.max - t.min) * 100;
2513
+ }
2514
+ const Kt = {
2515
+ correct: (e, t) => {
2516
+ if (!t.target)
2517
+ return e;
2518
+ if (typeof e == "string")
2519
+ if (p.test(e))
2520
+ e = parseFloat(e);
2521
+ else
2522
+ return e;
2523
+ const n = zn(e, t.target.x), i = zn(e, t.target.y);
2524
+ return `${n}% ${i}%`;
2525
+ }
2526
+ }, zr = {
2527
+ correct: (e, { treeScale: t, projectionDelta: n }) => {
2528
+ const i = e, s = L.parse(e);
2529
+ if (s.length > 5)
2530
+ return i;
2531
+ const a = L.createTransformer(e), r = typeof s[0] != "number" ? 1 : 0, o = n.x.scale * t.x, l = n.y.scale * t.y;
2532
+ s[0 + r] /= o, s[1 + r] /= l;
2533
+ const d = Et(o, l, 0.5);
2534
+ return typeof s[2 + r] == "number" && (s[2 + r] /= d), typeof s[3 + r] == "number" && (s[3 + r] /= d), a(s);
2535
+ }
2536
+ }, Lr = {
2537
+ borderRadius: {
2538
+ ...Kt,
2539
+ applyTo: [
2540
+ "borderTopLeftRadius",
2541
+ "borderTopRightRadius",
2542
+ "borderBottomLeftRadius",
2543
+ "borderBottomRightRadius"
2544
+ ]
2545
+ },
2546
+ borderTopLeftRadius: Kt,
2547
+ borderTopRightRadius: Kt,
2548
+ borderBottomLeftRadius: Kt,
2549
+ borderBottomRightRadius: Kt,
2550
+ boxShadow: zr
2551
+ };
2552
+ function Wr(e, { layout: t, layoutId: n }) {
2553
+ return It.has(e) || e.startsWith("origin") || (t || n !== void 0) && (!!Lr[e] || e === "opacity");
2554
+ }
2555
+ function es(e, t, n) {
2556
+ const i = e.style, s = t?.style, a = {};
2557
+ if (!i)
2558
+ return a;
2559
+ for (const r in i)
2560
+ (B(i[r]) || s && B(s[r]) || Wr(r, e) || n?.getValue(r)?.liveStyle !== void 0) && (a[r] = i[r]);
2561
+ return a;
2562
+ }
2563
+ function jr(e) {
2564
+ return window.getComputedStyle(e);
2565
+ }
2566
+ class qr extends Qi {
2567
+ constructor() {
2568
+ super(...arguments), this.type = "html", this.renderInstance = ts;
2569
+ }
2570
+ readValueFromInstance(t, n) {
2571
+ if (It.has(n))
2572
+ return this.projection?.isProjecting ? ke(n) : ya(t, n);
2573
+ {
2574
+ const i = jr(t), s = (mi(n) ? i.getPropertyValue(n) : i[n]) || 0;
2575
+ return typeof s == "string" ? s.trim() : s;
2576
+ }
2577
+ }
2578
+ measureInstanceViewportBox(t, { transformPagePoint: n }) {
2579
+ return Nr(t, n);
2580
+ }
2581
+ build(t, n, i) {
2582
+ Ji(t, n, i.transformTemplate);
2583
+ }
2584
+ scrapeMotionValuesFromProps(t, n, i) {
2585
+ return es(t, n, i);
2586
+ }
2587
+ }
2588
+ function Ur(e, t) {
2589
+ return e in t;
2590
+ }
2591
+ class Gr extends Zi {
2592
+ constructor() {
2593
+ super(...arguments), this.type = "object";
2594
+ }
2595
+ readValueFromInstance(t, n) {
2596
+ if (Ur(n, t)) {
2597
+ const i = t[n];
2598
+ if (typeof i == "string" || typeof i == "number")
2599
+ return i;
2600
+ }
2601
+ }
2602
+ getBaseTargetFromProps() {
2603
+ }
2604
+ removeValueFromRenderState(t, n) {
2605
+ delete n.output[t];
2606
+ }
2607
+ measureInstanceViewportBox() {
2608
+ return ln();
2609
+ }
2610
+ build(t, n) {
2611
+ Object.assign(t.output, n);
2612
+ }
2613
+ renderInstance(t, { output: n }) {
2614
+ Object.assign(t, n);
2615
+ }
2616
+ sortInstanceNodePosition() {
2617
+ return 0;
2618
+ }
2619
+ }
2620
+ const Yr = {
2621
+ offset: "stroke-dashoffset",
2622
+ array: "stroke-dasharray"
2623
+ }, Hr = {
2624
+ offset: "strokeDashoffset",
2625
+ array: "strokeDasharray"
2626
+ };
2627
+ function Zr(e, t, n = 1, i = 0, s = !0) {
2628
+ e.pathLength = 1;
2629
+ const a = s ? Yr : Hr;
2630
+ e[a.offset] = `${-i}`, e[a.array] = `${t} ${n}`;
2631
+ }
2632
+ const Qr = [
2633
+ "offsetDistance",
2634
+ "offsetPath",
2635
+ "offsetRotate",
2636
+ "offsetAnchor"
2637
+ ];
2638
+ function Jr(e, {
2639
+ attrX: t,
2640
+ attrY: n,
2641
+ attrScale: i,
2642
+ pathLength: s,
2643
+ pathSpacing: a = 1,
2644
+ pathOffset: r = 0,
2645
+ // This is object creation, which we try to avoid per-frame.
2646
+ ...o
2647
+ }, l, d, c) {
2648
+ if (Ji(e, o, d), l) {
2649
+ e.style.viewBox && (e.attrs.viewBox = e.style.viewBox);
2650
+ return;
2651
+ }
2652
+ e.attrs = e.style, e.style = {};
2653
+ const { attrs: u, style: f } = e;
2654
+ u.transform && (f.transform = u.transform, delete u.transform), (f.transform || u.transformOrigin) && (f.transformOrigin = u.transformOrigin ?? "50% 50%", delete u.transformOrigin), f.transform && (f.transformBox = c?.transformBox ?? "fill-box", delete u.transformBox);
2655
+ for (const h of Qr)
2656
+ u[h] !== void 0 && (f[h] = u[h], delete u[h]);
2657
+ t !== void 0 && (u.x = t), n !== void 0 && (u.y = n), i !== void 0 && (u.scale = i), s !== void 0 && Zr(u, s, a, r, !1);
2658
+ }
2659
+ const ns = /* @__PURE__ */ new Set([
2660
+ "baseFrequency",
2661
+ "diffuseConstant",
2662
+ "kernelMatrix",
2663
+ "kernelUnitLength",
2664
+ "keySplines",
2665
+ "keyTimes",
2666
+ "limitingConeAngle",
2667
+ "markerHeight",
2668
+ "markerWidth",
2669
+ "numOctaves",
2670
+ "targetX",
2671
+ "targetY",
2672
+ "surfaceScale",
2673
+ "specularConstant",
2674
+ "specularExponent",
2675
+ "stdDeviation",
2676
+ "tableValues",
2677
+ "viewBox",
2678
+ "gradientTransform",
2679
+ "pathLength",
2680
+ "startOffset",
2681
+ "textLength",
2682
+ "lengthAdjust"
2683
+ ]), to = (e) => typeof e == "string" && e.toLowerCase() === "svg";
2684
+ function eo(e, t, n, i) {
2685
+ ts(e, t, void 0, i);
2686
+ for (const s in t.attrs)
2687
+ e.setAttribute(ns.has(s) ? s : on(s), t.attrs[s]);
2688
+ }
2689
+ function no(e, t, n) {
2690
+ const i = es(e, t, n);
2691
+ for (const s in e)
2692
+ if (B(e[s]) || B(t[s])) {
2693
+ const a = Rt.indexOf(s) !== -1 ? "attr" + s.charAt(0).toUpperCase() + s.substring(1) : s;
2694
+ i[a] = e[s];
2695
+ }
2696
+ return i;
2697
+ }
2698
+ class io extends Qi {
2699
+ constructor() {
2700
+ super(...arguments), this.type = "svg", this.isSVGTag = !1, this.measureInstanceViewportBox = ln;
2701
+ }
2702
+ getBaseTargetFromProps(t, n) {
2703
+ return t[n];
2704
+ }
2705
+ readValueFromInstance(t, n) {
2706
+ if (It.has(n)) {
2707
+ const i = ji(n);
2708
+ return i && i.default || 0;
2709
+ }
2710
+ return n = ns.has(n) ? n : on(n), t.getAttribute(n);
2711
+ }
2712
+ scrapeMotionValuesFromProps(t, n, i) {
2713
+ return no(t, n, i);
2714
+ }
2715
+ build(t, n, i) {
2716
+ Jr(t, n, this.isSVGTag, i.transformTemplate, i.style);
2717
+ }
2718
+ renderInstance(t, n, i, s) {
2719
+ eo(t, n, i, s);
2720
+ }
2721
+ mount(t) {
2722
+ this.isSVGTag = to(t.tagName), super.mount(t);
2723
+ }
2724
+ }
2725
+ function so(e, t, n) {
2726
+ const i = B(e) ? e : At(e);
2727
+ return i.start(Ki("", i, t, n)), i.animation;
2728
+ }
2729
+ function un(e) {
2730
+ return typeof e == "object" && !Array.isArray(e);
2731
+ }
2732
+ function is(e, t, n, i) {
2733
+ return e == null ? [] : typeof e == "string" && un(t) ? _r(e, n, i) : e instanceof NodeList ? Array.from(e) : Array.isArray(e) ? e.filter((s) => s != null) : [e];
2734
+ }
2735
+ function ao(e, t, n) {
2736
+ return e * (t + 1);
2737
+ }
2738
+ function Ln(e, t, n, i) {
2739
+ return typeof t == "number" ? t : t.startsWith("-") || t.startsWith("+") ? Math.max(0, e + parseFloat(t)) : t === "<" ? n : t.startsWith("<") ? Math.max(0, n + parseFloat(t.slice(1))) : i.get(t) ?? e;
2740
+ }
2741
+ function ro(e, t, n) {
2742
+ for (let i = 0; i < e.length; i++) {
2743
+ const s = e[i];
2744
+ s.at > t && s.at < n && (Ue(e, s), i--);
2745
+ }
2746
+ }
2747
+ function oo(e, t, n, i, s, a) {
2748
+ ro(e, s, a);
2749
+ for (let r = 0; r < t.length; r++)
2750
+ e.push({
2751
+ value: t[r],
2752
+ at: Et(s, a, i[r]),
2753
+ easing: di(n, r)
2754
+ });
2755
+ }
2756
+ function co(e, t) {
2757
+ for (let n = 0; n < e.length; n++)
2758
+ e[n] = e[n] / (t + 1);
2759
+ }
2760
+ function lo(e, t) {
2761
+ return e.at === t.at ? e.value === null ? 1 : t.value === null ? -1 : 0 : e.at - t.at;
2762
+ }
2763
+ const uo = "easeInOut", fo = 20;
2764
+ function ho(e, { defaultTransition: t = {}, ...n } = {}, i, s) {
2765
+ const a = t.duration || 0.3, r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), l = {}, d = /* @__PURE__ */ new Map();
2766
+ let c = 0, u = 0, f = 0;
2767
+ for (let h = 0; h < e.length; h++) {
2768
+ const m = e[h];
2769
+ if (typeof m == "string") {
2770
+ d.set(m, u);
2771
+ continue;
2772
+ } else if (!Array.isArray(m)) {
2773
+ d.set(m.name, Ln(u, m.at, c, d));
2774
+ continue;
2775
+ }
2776
+ let [g, b, v = {}] = m;
2777
+ v.at !== void 0 && (u = Ln(u, v.at, c, d));
2778
+ let O = 0;
2779
+ const C = (T, M, D, R = 0, _ = 0) => {
2780
+ const S = po(T), { delay: x = 0, times: V = Si(S), type: $ = t.type || "keyframes", repeat: W, repeatType: Y, repeatDelay: at = 0, ...H } = M;
2781
+ let { ease: tt = t.ease || "easeOut", duration: Z } = M;
2782
+ const fn = typeof x == "function" ? x(R, _) : x, hn = S.length, pn = rn($) ? $ : s?.[$ || "keyframes"];
2783
+ if (hn <= 2 && pn) {
2784
+ let Bt = 100;
2785
+ if (hn === 2 && yo(S)) {
2786
+ const Nt = S[1] - S[0];
2787
+ Bt = Math.abs(Nt);
2788
+ }
2789
+ const Zt = {
2790
+ ...t,
2791
+ ...H
2792
+ };
2793
+ Z !== void 0 && (Zt.duration = /* @__PURE__ */ K(Z));
2794
+ const Qt = _i(Zt, Bt, pn);
2795
+ tt = Qt.ease, Z = Qt.duration;
2796
+ }
2797
+ Z ?? (Z = a);
2798
+ const mn = u + fn;
2799
+ V.length === 1 && V[0] === 0 && (V[1] = 1);
2800
+ const gn = V.length - S.length;
2801
+ if (gn > 0 && Ci(V, gn), S.length === 1 && S.unshift(null), W) {
2802
+ J(W < fo, "Repeat count too high, must be less than 20", "repeat-count-high"), Z = ao(Z, W);
2803
+ const Bt = [...S], Zt = [...V];
2804
+ tt = Array.isArray(tt) ? [...tt] : [tt];
2805
+ const Qt = [...tt];
2806
+ for (let Nt = 0; Nt < W; Nt++) {
2807
+ S.push(...Bt);
2808
+ for (let Xt = 0; Xt < Bt.length; Xt++)
2809
+ V.push(Zt[Xt] + (Nt + 1)), tt.push(Xt === 0 ? "linear" : di(Qt, Xt - 1));
2810
+ }
2811
+ co(V, W);
2812
+ }
2813
+ const yn = mn + Z;
2814
+ oo(D, S, tt, V, mn, yn), O = Math.max(fn + Z, O), f = Math.max(yn, f);
2815
+ };
2816
+ if (B(g)) {
2817
+ const T = Wn(g, o);
2818
+ C(b, v, jn("default", T));
2819
+ } else {
2820
+ const T = is(g, b, i, l), M = T.length;
2821
+ for (let D = 0; D < M; D++) {
2822
+ b = b, v = v;
2823
+ const R = T[D], _ = Wn(R, o);
2824
+ for (const S in b)
2825
+ C(b[S], mo(v, S), jn(S, _), D, M);
2826
+ }
2827
+ }
2828
+ c = u, u += O;
2829
+ }
2830
+ return o.forEach((h, m) => {
2831
+ for (const g in h) {
2832
+ const b = h[g];
2833
+ b.sort(lo);
2834
+ const v = [], O = [], C = [];
2835
+ for (let R = 0; R < b.length; R++) {
2836
+ const { at: _, value: S, easing: x } = b[R];
2837
+ v.push(S), O.push(/* @__PURE__ */ Ye(0, f, _)), C.push(x || "easeOut");
2838
+ }
2839
+ O[0] !== 0 && (O.unshift(0), v.unshift(v[0]), C.unshift(uo)), O[O.length - 1] !== 1 && (O.push(1), v.push(null)), r.has(m) || r.set(m, {
2840
+ keyframes: {},
2841
+ transition: {}
2842
+ });
2843
+ const T = r.get(m);
2844
+ T.keyframes[g] = v;
2845
+ const { type: M, ...D } = t;
2846
+ T.transition[g] = {
2847
+ ...D,
2848
+ duration: f,
2849
+ ease: C,
2850
+ times: O,
2851
+ ...n
2852
+ };
2853
+ }
2854
+ }), r;
2855
+ }
2856
+ function Wn(e, t) {
2857
+ return !t.has(e) && t.set(e, {}), t.get(e);
2858
+ }
2859
+ function jn(e, t) {
2860
+ return t[e] || (t[e] = []), t[e];
2861
+ }
2862
+ function po(e) {
2863
+ return Array.isArray(e) ? e : [e];
2864
+ }
2865
+ function mo(e, t) {
2866
+ return e && e[t] ? {
2867
+ ...e,
2868
+ ...e[t]
2869
+ } : { ...e };
2870
+ }
2871
+ const go = (e) => typeof e == "number", yo = (e) => e.every(go);
2872
+ function bo(e) {
2873
+ const t = {
2874
+ presenceContext: null,
2875
+ props: {},
2876
+ visualState: {
2877
+ renderState: {
2878
+ transform: {},
2879
+ transformOrigin: {},
2880
+ style: {},
2881
+ vars: {},
2882
+ attrs: {}
2883
+ },
2884
+ latestValues: {}
2885
+ }
2886
+ }, n = Gi(e) && !Cr(e) ? new io(t) : new qr(t);
2887
+ n.mount(e), jt.set(e, n);
2888
+ }
2889
+ function xo(e) {
2890
+ const t = {
2891
+ presenceContext: null,
2892
+ props: {},
2893
+ visualState: {
2894
+ renderState: {
2895
+ output: {}
2896
+ },
2897
+ latestValues: {}
2898
+ }
2899
+ }, n = new Gr(t);
2900
+ n.mount(e), jt.set(e, n);
2901
+ }
2902
+ function vo(e, t) {
2903
+ return B(e) || typeof e == "number" || typeof e == "string" && !un(t);
2904
+ }
2905
+ function ss(e, t, n, i) {
2906
+ const s = [];
2907
+ if (vo(e, t))
2908
+ s.push(so(e, un(t) && t.default || t, n && (n.default || n)));
2909
+ else {
2910
+ if (e == null)
2911
+ return s;
2912
+ const a = is(e, t, i), r = a.length;
2913
+ J(!!r, "No valid elements provided.", "no-valid-elements");
2914
+ for (let o = 0; o < r; o++) {
2915
+ const l = a[o], d = l instanceof Element ? bo : xo;
2916
+ jt.has(l) || d(l);
2917
+ const c = jt.get(l), u = { ...n };
2918
+ "delay" in u && typeof u.delay == "function" && (u.delay = u.delay(o, r)), s.push(...dr(c, { ...t, transition: u }, {}));
2919
+ }
2920
+ }
2921
+ return s;
2922
+ }
2923
+ function wo(e, t, n) {
2924
+ const i = [], s = e.map((r) => {
2925
+ if (Array.isArray(r) && typeof r[0] == "function") {
2926
+ const o = r[0], l = At(0);
2927
+ return l.on("change", o), r.length === 1 ? [l, [0, 1]] : r.length === 2 ? [l, [0, 1], r[1]] : [l, r[1], r[2]];
2928
+ }
2929
+ return r;
2930
+ });
2931
+ return ho(s, t, n, { spring: Wt }).forEach(({ keyframes: r, transition: o }, l) => {
2932
+ i.push(...ss(l, r, o));
2933
+ }), i;
2934
+ }
2935
+ function Mo(e) {
2936
+ return Array.isArray(e) && e.some(Array.isArray);
2937
+ }
2938
+ function _o(e = {}) {
2939
+ const { scope: t, reduceMotion: n } = e;
2940
+ function i(s, a, r) {
2941
+ let o = [], l;
2942
+ if (Mo(s)) {
2943
+ const { onComplete: c, ...u } = a || {};
2944
+ typeof c == "function" && (l = c), o = wo(s, n !== void 0 ? { reduceMotion: n, ...u } : u, t);
2945
+ } else {
2946
+ const { onComplete: c, ...u } = r || {};
2947
+ typeof c == "function" && (l = c), o = ss(s, a, n !== void 0 ? { reduceMotion: n, ...u } : u, t);
2948
+ }
2949
+ const d = new $a(o);
2950
+ return l && d.finished.then(l), t && (t.animations.push(d), d.finished.then(() => {
2951
+ Ue(t.animations, d);
2952
+ })), d;
2953
+ }
2954
+ return i;
2955
+ }
2956
+ const dn = _o(), To = () => [0, 1, 2];
2957
+ function Co(e, t) {
2958
+ e & 1 && (y(0, "div", 1)(1, "div", 2), k(2, "span", 3)(3, "span", 4)(4, "span", 5), w(), y(5, "div", 6)(6, "mat-icon"), A(7, "check"), w()()());
2959
+ }
2960
+ var vt, wt, j, Vt, as, rs;
2961
+ const ht = class ht {
2962
+ constructor() {
2963
+ N(this, Vt);
2964
+ N(this, vt);
2965
+ N(this, wt);
2966
+ N(this, j);
2967
+ this.active = le(!0), I(this, vt, Q(Ut)), I(this, wt, ue(!1)), I(this, j, null);
2968
+ const t = Q(de);
2969
+ qt(() => {
2970
+ rt(this, Vt, as).call(this), P(this, wt).set(!0);
2971
+ }), t.onDestroy(() => P(this, j)?.cancel()), qe(() => {
2972
+ const n = this.active();
2973
+ P(this, wt).call(this) && (n && !P(this, j) ? I(this, j, rt(this, Vt, rs).call(this)) : !n && P(this, j) && (P(this, j).cancel(), I(this, j, null)));
2974
+ });
2975
+ }
2976
+ };
2977
+ vt = new WeakMap(), wt = new WeakMap(), j = new WeakMap(), Vt = new WeakSet(), as = function() {
2978
+ P(this, vt).nativeElement.querySelectorAll(".card").forEach((t) => {
2979
+ const n = t;
2980
+ n.style.setProperty("--_d1", `-${(Math.random() * 30).toFixed(1)}s`), n.style.setProperty("--_d2", `-${(Math.random() * 30).toFixed(1)}s`), n.style.setProperty("--_d3", `-${(Math.random() * 30).toFixed(1)}s`);
2981
+ });
2982
+ }, rs = function() {
2983
+ const n = P(this, vt).nativeElement.querySelectorAll(".card"), i = Array.from(n).map((f) => ({
2984
+ card: f,
2985
+ bars: f.querySelector(".bars"),
2986
+ chk: f.querySelector(".chk mat-icon")
2987
+ }));
2988
+ for (const f of i)
2989
+ f.chk.style.transform = "scale(0)", f.chk.style.opacity = "0";
2990
+ const s = [0, 0, 0.58, 1], a = [0.42, 0, 1, 1], r = [
2991
+ { i: 1, s: 0.033 },
2992
+ { i: 0, s: 0.283 },
2993
+ { i: 2, s: 0.55 }
2994
+ ], o = [];
2995
+ for (const { i: f } of r) {
2996
+ const h = i[f];
2997
+ o.push([h.card, { scale: [1, 1], backgroundColor: ["#FDFDFD", "#FDFDFD"] }, { duration: 1e-3, at: 0 }], [h.bars, { scale: [1, 1], opacity: [1, 1] }, { duration: 1e-3, at: 0 }], [h.chk, { scale: [0, 0], opacity: [0, 0] }, { duration: 1e-3, at: 0 }]);
2998
+ }
2999
+ for (const { i: f, s: h } of r) {
3000
+ const m = i[f], g = h + 0.55;
3001
+ o.push([m.card, { scale: [1, 0.872] }, { duration: 0.133, at: h, ease: [0.3, 0, 0.7, 1] }]), o.push([m.card, { backgroundColor: ["#FDFDFD", "#08EB9D"] }, { duration: 0.083, at: h, ease: "linear" }]), o.push([m.bars, { scale: [1, 0], opacity: [1, 0] }, { duration: 0.05, at: h + 0.033, ease: a }]), o.push([m.card, { scale: [0.872, 0.894] }, { duration: 0.083, at: h + 0.167, ease: s }]), o.push([m.chk, { scale: [0, 1], opacity: [0, 1] }, { duration: 0.133, at: h + 0.133, ease: s }]), o.push([m.chk, { scale: [1, 0], opacity: [1, 0] }, { duration: 0.133, at: g, ease: a }]), o.push([m.card, { backgroundColor: ["#08EB9D", "#FDFDFD"] }, { duration: 0.133, at: g, ease: "linear" }]), o.push([m.card, { scale: [0.894, 1] }, { duration: 0.167, at: g, ease: s }]), o.push([m.bars, { scale: [0, 1], opacity: [0, 1] }, { duration: 0.083, at: g + 0.033, ease: s }]);
3002
+ }
3003
+ o.push([i[0].card, { opacity: [1, 1] }, { duration: 1e-3, at: 1.5 - 1e-3 }]);
3004
+ let l = null, d, c = !0;
3005
+ const u = () => {
3006
+ c && (l = dn(o, { duration: 1.5 }), l.finished.then(() => {
3007
+ c && (d = setTimeout(u, (2 + Math.random() * 2) * 1e3));
3008
+ }));
3009
+ };
3010
+ return d = setTimeout(u, (0.5 + Math.random() * 1) * 1e3), {
3011
+ cancel() {
3012
+ c = !1, clearTimeout(d), l?.cancel();
3013
+ }
3014
+ };
3015
+ }, ht.ɵfac = function(n) {
3016
+ return new (n || ht)();
3017
+ }, ht.ɵcmp = /* @__PURE__ */ kt({ type: ht, selectors: [["zw-mgmt-health-anim"]], hostVars: 2, hostBindings: function(n, i) {
3018
+ n & 2 && pe("__host--paused", !i.active());
3019
+ }, inputs: { active: [1, "active"] }, decls: 3, vars: 1, consts: [[1, "pill"], [1, "card"], [1, "bars"], [1, "bar", "bar--b"], [1, "bar", "bar--t"], [1, "bar", "bar--p"], [1, "chk"]], template: function(n, i) {
3020
+ n & 1 && (y(0, "div", 0), qn(1, Co, 8, 0, "div", 1, Un), w()), n & 2 && (ut(), Gn(Yn(0, To)));
3021
+ }, dependencies: [fe, he], styles: [`[_nghost-%COMP%] { display: block; }
3022
+
3023
+ .pill[_ngcontent-%COMP%] {
3024
+ display: inline-flex;
3025
+ align-items: center;
3026
+ padding: 5px;
3027
+ gap: 6px;
3028
+ background: #E8E7E7;
3029
+ border-radius: 11px;
3030
+ }
3031
+
3032
+ .card[_ngcontent-%COMP%] {
3033
+ width: 30px;
3034
+ height: 30px;
3035
+ border-radius: 6px;
3036
+ background: #FDFDFD;
3037
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.10);
3038
+ flex-shrink: 0;
3039
+ position: relative;
3040
+ overflow: hidden;
3041
+ }
3042
+
3043
+ .bars[_ngcontent-%COMP%] {
3044
+ position: absolute;
3045
+ inset: 0;
3046
+ display: flex;
3047
+ flex-direction: column;
3048
+ align-items: center;
3049
+ justify-content: center;
3050
+ gap: 3px;
3051
+ }
3052
+
3053
+ .bar[_ngcontent-%COMP%] {
3054
+ display: block;
3055
+ width: 20px;
3056
+ height: 3px;
3057
+ border-radius: 2px;
3058
+ position: relative;
3059
+ background: rgba(216, 215, 215, 0.4);
3060
+ overflow: hidden;
3061
+ }
3062
+
3063
+ .bar[_ngcontent-%COMP%]::after {
3064
+ content: '';
3065
+ position: absolute;
3066
+ top: 0;
3067
+ left: 0;
3068
+ width: 100%;
3069
+ height: 100%;
3070
+ border-radius: 2px;
3071
+ opacity: 0.7;
3072
+ transform-origin: left center;
3073
+ will-change: transform;
3074
+ animation-timing-function: ease-in-out;
3075
+ animation-iteration-count: infinite;
3076
+ animation-fill-mode: both;
3077
+ }
3078
+
3079
+ .bar--b[_ngcontent-%COMP%]::after {
3080
+ background: #82AEE8;
3081
+ animation-name: _ngcontent-%COMP%_drift-cpu;
3082
+ animation-duration: 16s;
3083
+ animation-delay: var(--_d1, 0s);
3084
+ }
3085
+
3086
+ .bar--t[_ngcontent-%COMP%]::after {
3087
+ background: #7FABA5;
3088
+ animation-name: _ngcontent-%COMP%_drift-ram;
3089
+ animation-duration: 23s;
3090
+ animation-delay: var(--_d2, 0s);
3091
+ }
3092
+
3093
+ .bar--p[_ngcontent-%COMP%]::after {
3094
+ background: #C6758A;
3095
+ animation-name: _ngcontent-%COMP%_drift-disk;
3096
+ animation-duration: 29s;
3097
+ animation-delay: var(--_d3, 0s);
3098
+ }
3099
+
3100
+ @keyframes _ngcontent-%COMP%_drift-cpu {
3101
+ 0% { transform: scaleX(0.40); }
3102
+ 8% { transform: scaleX(0.42); }
3103
+ 18% { transform: scaleX(0.68); }
3104
+ 24% { transform: scaleX(0.75); }
3105
+ 32% { transform: scaleX(0.52); }
3106
+ 45% { transform: scaleX(0.44); }
3107
+ 60% { transform: scaleX(0.48); }
3108
+ 72% { transform: scaleX(0.58); }
3109
+ 85% { transform: scaleX(0.43); }
3110
+ 100% { transform: scaleX(0.40); }
3111
+ }
3112
+
3113
+ @keyframes _ngcontent-%COMP%_drift-ram {
3114
+ 0% { transform: scaleX(0.58); }
3115
+ 20% { transform: scaleX(0.62); }
3116
+ 40% { transform: scaleX(0.56); }
3117
+ 60% { transform: scaleX(0.60); }
3118
+ 80% { transform: scaleX(0.64); }
3119
+ 100% { transform: scaleX(0.58); }
3120
+ }
3121
+
3122
+ @keyframes _ngcontent-%COMP%_drift-disk {
3123
+ 0% { transform: scaleX(0.38); }
3124
+ 25% { transform: scaleX(0.42); }
3125
+ 50% { transform: scaleX(0.36); }
3126
+ 75% { transform: scaleX(0.40); }
3127
+ 100% { transform: scaleX(0.38); }
3128
+ }
3129
+
3130
+ .__host--paused[_nghost-%COMP%] .bar[_ngcontent-%COMP%]::after {
3131
+ animation-play-state: paused;
3132
+ }
3133
+
3134
+ @media (prefers-reduced-motion: reduce) {
3135
+ .bar[_ngcontent-%COMP%]::after {
3136
+ animation: none;
3137
+ transform: scaleX(0.5);
3138
+ }
3139
+ }
3140
+
3141
+ .chk[_ngcontent-%COMP%] {
3142
+ position: absolute;
3143
+ inset: 0;
3144
+ background: transparent;
3145
+ display: flex;
3146
+ align-items: center;
3147
+ justify-content: center;
3148
+ color: #fff;
3149
+ }
3150
+
3151
+ .chk[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%] {
3152
+ font-size: 20px;
3153
+ width: 20px;
3154
+ height: 20px;
3155
+ line-height: 20px;
3156
+ }`], changeDetection: 0 });
3157
+ let Ke = ht;
3158
+ var Mt, _t, q, Pt, os, cs;
3159
+ const pt = class pt {
3160
+ constructor() {
3161
+ N(this, Pt);
3162
+ N(this, Mt);
3163
+ N(this, _t);
3164
+ N(this, q);
3165
+ this.active = le(!0), I(this, Mt, Q(Ut)), I(this, _t, ue(!1)), I(this, q, null);
3166
+ const t = Q(de);
3167
+ qt(() => {
3168
+ rt(this, Pt, os).call(this), P(this, _t).set(!0);
3169
+ }), t.onDestroy(() => P(this, q)?.cancel()), qe(() => {
3170
+ const n = this.active();
3171
+ P(this, _t).call(this) && (n && !P(this, q) ? I(this, q, rt(this, Pt, cs).call(this)) : !n && P(this, q) && (P(this, q).cancel(), I(this, q, null)));
3172
+ });
3173
+ }
3174
+ };
3175
+ Mt = new WeakMap(), _t = new WeakMap(), q = new WeakMap(), Pt = new WeakSet(), os = function() {
3176
+ P(this, Mt).nativeElement.querySelectorAll(".card").forEach((t) => {
3177
+ const n = t;
3178
+ n.style.setProperty("--_d1", `-${(Math.random() * 30).toFixed(1)}s`), n.style.setProperty("--_d2", `-${(Math.random() * 30).toFixed(1)}s`), n.style.setProperty("--_d3", `-${(Math.random() * 30).toFixed(1)}s`);
3179
+ });
3180
+ }, cs = function() {
3181
+ const i = P(this, Mt).nativeElement, s = i.querySelector(".fo-p1"), a = i.querySelector(".fo-p1-bars"), r = i.querySelector(".fo-warn"), o = i.querySelector(".fo-del"), l = i.querySelector(".fo-extra"), d = i.querySelector(".fo-extra-bars"), c = [
3182
+ // === Resets at t=0 ===
3183
+ [s, { x: [0, 0], opacity: [1, 1] }, { duration: 1e-3, at: 0 }],
3184
+ [a, { scale: [1, 1], opacity: [1, 1] }, { duration: 1e-3, at: 0 }],
3185
+ [r, { opacity: [0, 0], scale: [0, 0], x: [0, 0] }, { duration: 1e-3, at: 0 }],
3186
+ [o, { opacity: [0, 0], scale: [0, 0], x: [0, 0] }, { duration: 1e-3, at: 0 }],
3187
+ [l, { scale: [0, 0], opacity: [0, 0] }, { duration: 1e-3, at: 0 }],
3188
+ [d, { scale: [0, 0], opacity: [0, 0] }, { duration: 1e-3, at: 0 }],
3189
+ // === Phase 1: Alert formation ===
3190
+ [s, { backgroundColor: ["#FDFDFD", "#FC6465"] }, { duration: 0.1, at: 0.017, ease: "linear" }],
3191
+ [a, { scale: [1, 0], opacity: [1, 0] }, { duration: 0.1, at: 0.017, ease: "linear" }],
3192
+ [s, { scale: [1, 0.883] }, { duration: 0.15, at: 0.017, ease: [0, 0.7, 0.35, 1] }],
3193
+ [r, { opacity: [0, 1], scale: [0, 1] }, { duration: 0.117, at: 0.15, ease: [0, 0, 0.3, 1] }],
3194
+ [s, { scale: [0.883, 1.011] }, { duration: 0.7, at: 0.2, ease: [0.15, 0.25, 0.85, 0.85] }],
3195
+ // === Phase 2: Slide left + new card pop-in ===
3196
+ [s, { x: [0, -41] }, { duration: 0.183, at: 1, ease: [0.42, 0, 0.58, 1] }],
3197
+ [r, { x: [0, -41] }, { duration: 0.183, at: 1, ease: [0.42, 0, 0.58, 1] }],
3198
+ [o, { x: [0, -41] }, { duration: 0.183, at: 1, ease: [0.42, 0, 0.58, 1] }],
3199
+ [l, { opacity: [0, 1] }, { duration: 0.017, at: 1.133, ease: "linear" }],
3200
+ [l, { scale: [0, 1.117] }, { duration: 0.15, at: 1.133, ease: [0, 0, 0.35, 1] }],
3201
+ [l, { borderRadius: ["15px", "6px"] }, { duration: 0.1, at: 1.133, ease: [0, 0, 0.3, 1] }],
3202
+ [d, { scale: [0, 1], opacity: [0, 1] }, { duration: 0.05, at: 1.2, ease: [0, 0, 0.3, 1] }],
3203
+ [l, { scale: [1.117, 0.979] }, { duration: 0.234, at: 1.283, ease: [0.35, 0, 0.65, 1] }],
3204
+ [l, { scale: [0.979, 1] }, { duration: 0.116, at: 1.517, ease: [0, 0, 0.3, 1] }],
3205
+ // === Phase 3: Warning → Trash morph ===
3206
+ [s, { scale: [1.011, 0.872] }, { duration: 0.167, at: 2.033, ease: [0.4, 0, 0.8, 1] }],
3207
+ [r, { scale: [1, 0], opacity: [1, 0] }, { duration: 0.083, at: 2.1, ease: [0.4, 0, 1, 1] }],
3208
+ [o, { scale: [0, 1], opacity: [0, 1] }, { duration: 0.067, at: 2.183, ease: [0, 0, 0.3, 1] }],
3209
+ [s, { backgroundColor: ["#FC6465", "#D4D4D4"] }, { duration: 0.167, at: 2.167, ease: "ease-out" }],
3210
+ [s, { scale: [0.872, 1] }, { duration: 0.733, at: 2.217, ease: [0.22, 1, 0.36, 1] }],
3211
+ // === Phase 4: Portal closing ===
3212
+ [s, { scale: [1, 0], borderRadius: ["6px", "15px"] }, { duration: 0.284, at: 3.033, ease: "linear" }],
3213
+ [o, { clipPath: ["inset(0px round 6px)", "inset(15px round 15px)"] }, { duration: 0.284, at: 3.033, ease: "linear" }],
3214
+ [s, { opacity: [1, 0] }, { duration: 0.184, at: 3.133, ease: "linear" }],
3215
+ [o, { opacity: [1, 0] }, { duration: 0.184, at: 3.133, ease: "linear" }]
3216
+ ];
3217
+ let u = null, f, h = !0;
3218
+ const m = () => {
3219
+ h && (u = dn(c, { duration: 3.33 }), u.finished.then(() => {
3220
+ h && (f = setTimeout(m, (2 + Math.random() * 2) * 1e3));
3221
+ }));
3222
+ };
3223
+ return f = setTimeout(m, (0.5 + Math.random() * 1) * 1e3), {
3224
+ cancel() {
3225
+ h = !1, clearTimeout(f), u?.cancel();
3226
+ }
3227
+ };
3228
+ }, pt.ɵfac = function(n) {
3229
+ return new (n || pt)();
3230
+ }, pt.ɵcmp = /* @__PURE__ */ kt({ type: pt, selectors: [["zw-mgmt-failover-anim"]], hostVars: 2, hostBindings: function(n, i) {
3231
+ n & 2 && pe("__host--paused", !i.active());
3232
+ }, inputs: { active: [1, "active"] }, decls: 27, vars: 0, consts: [[1, "pill"], [1, "card", "fo-p1"], [1, "bars", "fo-p1-bars"], [1, "bar", "bar--b"], [1, "bar", "bar--t"], [1, "bar", "bar--p"], [1, "card"], [1, "bars"], [1, "fo-warn"], [1, "fo-del"], [1, "card", "fo-extra"], [1, "bars", "fo-extra-bars"]], template: function(n, i) {
3233
+ n & 1 && (y(0, "div", 0)(1, "div", 1)(2, "div", 2), k(3, "span", 3)(4, "span", 4)(5, "span", 5), w()(), y(6, "div", 6)(7, "div", 7), k(8, "span", 3)(9, "span", 4)(10, "span", 5), w()(), y(11, "div", 6)(12, "div", 7), k(13, "span", 3)(14, "span", 4)(15, "span", 5), w()(), y(16, "div", 8)(17, "mat-icon"), A(18, "warning_amber"), w()(), y(19, "div", 9)(20, "mat-icon"), A(21, "delete"), w()(), y(22, "div", 10)(23, "div", 11), k(24, "span", 3)(25, "span", 4)(26, "span", 5), w()()());
3234
+ }, dependencies: [fe, he], styles: [`[_nghost-%COMP%] { display: block; }
3235
+
3236
+ .pill[_ngcontent-%COMP%] {
3237
+ display: inline-flex;
3238
+ align-items: center;
3239
+ padding: 5px;
3240
+ gap: 6px;
3241
+ background: #E8E7E7;
3242
+ border-radius: 11px;
3243
+ position: relative;
3244
+ overflow: visible;
3245
+ }
3246
+
3247
+ .card[_ngcontent-%COMP%] {
3248
+ width: 30px;
3249
+ height: 30px;
3250
+ border-radius: 6px;
3251
+ background: #FDFDFD;
3252
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.10);
3253
+ flex-shrink: 0;
3254
+ position: relative;
3255
+ overflow: hidden;
3256
+ }
3257
+
3258
+ .bars[_ngcontent-%COMP%] {
3259
+ position: absolute;
3260
+ inset: 0;
3261
+ display: flex;
3262
+ flex-direction: column;
3263
+ align-items: center;
3264
+ justify-content: center;
3265
+ gap: 3px;
3266
+ }
3267
+
3268
+ .bar[_ngcontent-%COMP%] {
3269
+ display: block;
3270
+ width: 20px;
3271
+ height: 3px;
3272
+ border-radius: 2px;
3273
+ position: relative;
3274
+ background: rgba(216, 215, 215, 0.4);
3275
+ overflow: hidden;
3276
+ }
3277
+
3278
+ .bar[_ngcontent-%COMP%]::after {
3279
+ content: '';
3280
+ position: absolute;
3281
+ top: 0;
3282
+ left: 0;
3283
+ width: 100%;
3284
+ height: 100%;
3285
+ border-radius: 2px;
3286
+ opacity: 0.7;
3287
+ transform-origin: left center;
3288
+ will-change: transform;
3289
+ animation-timing-function: ease-in-out;
3290
+ animation-iteration-count: infinite;
3291
+ animation-fill-mode: both;
3292
+ }
3293
+
3294
+ .bar--b[_ngcontent-%COMP%]::after {
3295
+ background: #82AEE8;
3296
+ animation-name: _ngcontent-%COMP%_drift-cpu;
3297
+ animation-duration: 16s;
3298
+ animation-delay: var(--_d1, 0s);
3299
+ }
3300
+
3301
+ .bar--t[_ngcontent-%COMP%]::after {
3302
+ background: #7FABA5;
3303
+ animation-name: _ngcontent-%COMP%_drift-ram;
3304
+ animation-duration: 23s;
3305
+ animation-delay: var(--_d2, 0s);
3306
+ }
3307
+
3308
+ .bar--p[_ngcontent-%COMP%]::after {
3309
+ background: #C6758A;
3310
+ animation-name: _ngcontent-%COMP%_drift-disk;
3311
+ animation-duration: 29s;
3312
+ animation-delay: var(--_d3, 0s);
3313
+ }
3314
+
3315
+ @keyframes _ngcontent-%COMP%_drift-cpu {
3316
+ 0% { transform: scaleX(0.40); }
3317
+ 8% { transform: scaleX(0.42); }
3318
+ 18% { transform: scaleX(0.68); }
3319
+ 24% { transform: scaleX(0.75); }
3320
+ 32% { transform: scaleX(0.52); }
3321
+ 45% { transform: scaleX(0.44); }
3322
+ 60% { transform: scaleX(0.48); }
3323
+ 72% { transform: scaleX(0.58); }
3324
+ 85% { transform: scaleX(0.43); }
3325
+ 100% { transform: scaleX(0.40); }
3326
+ }
3327
+
3328
+ @keyframes _ngcontent-%COMP%_drift-ram {
3329
+ 0% { transform: scaleX(0.58); }
3330
+ 20% { transform: scaleX(0.62); }
3331
+ 40% { transform: scaleX(0.56); }
3332
+ 60% { transform: scaleX(0.60); }
3333
+ 80% { transform: scaleX(0.64); }
3334
+ 100% { transform: scaleX(0.58); }
3335
+ }
3336
+
3337
+ @keyframes _ngcontent-%COMP%_drift-disk {
3338
+ 0% { transform: scaleX(0.38); }
3339
+ 25% { transform: scaleX(0.42); }
3340
+ 50% { transform: scaleX(0.36); }
3341
+ 75% { transform: scaleX(0.40); }
3342
+ 100% { transform: scaleX(0.38); }
3343
+ }
3344
+
3345
+ .__host--paused[_nghost-%COMP%] .bar[_ngcontent-%COMP%]::after {
3346
+ animation-play-state: paused;
3347
+ }
3348
+
3349
+ @media (prefers-reduced-motion: reduce) {
3350
+ .bar[_ngcontent-%COMP%]::after {
3351
+ animation: none;
3352
+ transform: scaleX(0.5);
3353
+ }
3354
+ }
3355
+
3356
+ .fo-p1[_ngcontent-%COMP%] { z-index: 1; }
3357
+
3358
+ .fo-warn[_ngcontent-%COMP%], .fo-del[_ngcontent-%COMP%] {
3359
+ position: absolute;
3360
+ left: 5px;
3361
+ top: 5px;
3362
+ width: 30px;
3363
+ height: 30px;
3364
+ z-index: 2;
3365
+ display: flex;
3366
+ align-items: center;
3367
+ justify-content: center;
3368
+ opacity: 0;
3369
+ }
3370
+
3371
+ .fo-warn[_ngcontent-%COMP%] { color: #fff; }
3372
+
3373
+ .fo-warn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%] {
3374
+ font-size: 18px;
3375
+ width: 18px;
3376
+ height: 18px;
3377
+ line-height: 18px;
3378
+ }
3379
+
3380
+ .fo-del[_ngcontent-%COMP%] { color: #3C5F58; }
3381
+
3382
+ .fo-del[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%] {
3383
+ font-size: 16px;
3384
+ width: 16px;
3385
+ height: 16px;
3386
+ line-height: 16px;
3387
+ }
3388
+
3389
+ .fo-extra[_ngcontent-%COMP%] {
3390
+ position: absolute;
3391
+ top: 5px;
3392
+ left: 5px;
3393
+ border-radius: 15px;
3394
+ }
3395
+
3396
+ .fo-extra-bars[_ngcontent-%COMP%] {
3397
+ opacity: 0;
3398
+ transform: scale(0);
3399
+ }`], changeDetection: 0 });
3400
+ let $e = pt;
3401
+ var Tt, Ct, U, Ot, ls, us;
3402
+ const mt = class mt {
3403
+ constructor() {
3404
+ N(this, Ot);
3405
+ N(this, Tt);
3406
+ N(this, Ct);
3407
+ N(this, U);
3408
+ this.active = le(!0), I(this, Tt, Q(Ut)), I(this, Ct, ue(!1)), I(this, U, null);
3409
+ const t = Q(de);
3410
+ qt(() => {
3411
+ rt(this, Ot, ls).call(this), P(this, Ct).set(!0);
3412
+ }), t.onDestroy(() => P(this, U)?.cancel()), qe(() => {
3413
+ const n = this.active();
3414
+ P(this, Ct).call(this) && (n && !P(this, U) ? I(this, U, rt(this, Ot, us).call(this)) : !n && P(this, U) && (P(this, U).cancel(), I(this, U, null)));
3415
+ });
3416
+ }
3417
+ };
3418
+ Tt = new WeakMap(), Ct = new WeakMap(), U = new WeakMap(), Ot = new WeakSet(), ls = function() {
3419
+ P(this, Tt).nativeElement.querySelectorAll(".card").forEach((t) => {
3420
+ const n = t;
3421
+ n.style.setProperty("--_d1", `-${(Math.random() * 30).toFixed(1)}s`), n.style.setProperty("--_d2", `-${(Math.random() * 30).toFixed(1)}s`), n.style.setProperty("--_d3", `-${(Math.random() * 30).toFixed(1)}s`);
3422
+ });
3423
+ }, us = function() {
3424
+ const n = P(this, Tt).nativeElement, i = n.querySelector(".bk-ghost"), s = n.querySelector(".bk-lock"), a = -42, r = 72, o = -42, l = 30, d = [0.42, 0, 0.58, 1], c = [
3425
+ [i, { opacity: [0, 0], scale: [1, 1] }, { duration: 1e-3, at: 0 }],
3426
+ [i, { left: ["0px", "0px"], width: ["30px", "30px"] }, { duration: 1e-3, at: 0 }],
3427
+ [i, { backgroundColor: ["#FDFDFD", "#FDFDFD"] }, { duration: 1e-3, at: 0 }],
3428
+ [i, { boxShadow: ["0 0 0 rgba(0,0,0,0)", "0 0 0 rgba(0,0,0,0)"] }, { duration: 1e-3, at: 0 }],
3429
+ [s, { opacity: [0, 0], scale: [0, 0], x: ["0px", "0px"] }, { duration: 1e-3, at: 0 }],
3430
+ [i, { opacity: [0, 1] }, { duration: 1e-3, at: 0.1 }],
3431
+ [
3432
+ i,
3433
+ { left: ["0px", `${a}px`], width: ["30px", `${r}px`] },
3434
+ { duration: 0.067, at: 0.1, ease: [0, 0, 0.58, 1] }
3435
+ ],
3436
+ [
3437
+ i,
3438
+ { width: [`${r}px`, `${l}px`] },
3439
+ { duration: 0.25, at: 0.167, ease: d }
3440
+ ],
3441
+ [
3442
+ i,
3443
+ { boxShadow: ["0 0 0 rgba(0,0,0,0)", "0 2px 8px rgba(0,0,0,0.10)"] },
3444
+ { duration: 0.05, at: 0.417 }
3445
+ ],
3446
+ [i, { backgroundColor: ["#FDFDFD", "#08EB9E"] }, { duration: 0.067, at: 0.533, ease: "linear" }],
3447
+ [i, { boxShadow: ["0 2px 8px rgba(0,0,0,0.10)", "0 1px 6px rgba(8,235,158,0.3)"] }, { duration: 0.1, at: 0.533 }],
3448
+ [s, { opacity: [0, 1] }, { duration: 0.017, at: 0.567 }],
3449
+ [s, { scale: [0, 0.35] }, { duration: 0.033, at: 0.567, ease: [0, 0, 0.58, 1] }],
3450
+ [s, { scale: [0.35, 1] }, { duration: 0.3, at: 0.6, ease: [0.1, 0, 0.58, 1] }],
3451
+ [i, { scale: [1, 0.97] }, { duration: 0.167, at: 0.533 }],
3452
+ [i, { scale: [0.97, 1.12] }, { duration: 0.217, at: 0.7, ease: [0, 0, 0.58, 1] }],
3453
+ [i, { left: [`${o}px`, `${o - 65}px`] }, { duration: 0.25, at: 1.883, ease: [0.25, 0, 1, 1] }],
3454
+ [i, { scale: [1.12, 0.82] }, { duration: 0.25, at: 1.883, ease: "linear" }],
3455
+ [s, { x: ["0px", "-5px"] }, { duration: 0.175, at: 1.883, ease: [0.2, 0, 0.58, 1] }],
3456
+ [s, { x: ["-5px", "-1px"] }, { duration: 0.075, at: 2.058, ease: [0, 0, 0.58, 1] }],
3457
+ [i, { left: [`${o - 65}px`, `${o - 76}px`] }, { duration: 0.083, at: 2.133, ease: "linear" }],
3458
+ [i, { scale: [0.82, 0.25] }, { duration: 0.083, at: 2.133, ease: "linear" }],
3459
+ [i, { opacity: [1, 0] }, { duration: 0.067, at: 2.133, ease: "linear" }],
3460
+ [i, { opacity: [0, 0] }, { duration: 1e-3, at: 2.333 - 1e-3 }]
3461
+ ];
3462
+ let u = null, f, h = !0;
3463
+ const m = () => {
3464
+ h && (u = dn(c, { duration: 2.333 }), u.finished.then(() => {
3465
+ h && (f = setTimeout(m, (2 + Math.random() * 2) * 1e3));
3466
+ }));
3467
+ };
3468
+ return f = setTimeout(m, (0.5 + Math.random() * 1) * 1e3), {
3469
+ cancel() {
3470
+ h = !1, clearTimeout(f), u?.cancel();
3471
+ }
3472
+ };
3473
+ }, mt.ɵfac = function(n) {
3474
+ return new (n || mt)();
3475
+ }, mt.ɵcmp = /* @__PURE__ */ kt({ type: mt, selectors: [["zw-mgmt-backup-anim"]], hostVars: 2, hostBindings: function(n, i) {
3476
+ n & 2 && pe("__host--paused", !i.active());
3477
+ }, inputs: { active: [1, "active"] }, decls: 19, vars: 0, consts: [[1, "pill"], [1, "card", "bk-first"], [1, "bars"], [1, "bar", "bar--b"], [1, "bar", "bar--t"], [1, "bar", "bar--p"], [1, "bk-ghost"], [1, "bk-lock"], [1, "card"]], template: function(n, i) {
3478
+ n & 1 && (y(0, "div", 0)(1, "div", 1)(2, "div", 2), k(3, "span", 3)(4, "span", 4)(5, "span", 5), w(), y(6, "div", 6)(7, "mat-icon", 7), A(8, "lock"), w()()(), y(9, "div", 8)(10, "div", 2), k(11, "span", 3)(12, "span", 4)(13, "span", 5), w()(), y(14, "div", 8)(15, "div", 2), k(16, "span", 3)(17, "span", 4)(18, "span", 5), w()()());
3479
+ }, dependencies: [fe, he], styles: [`[_nghost-%COMP%] { display: block; }
3480
+
3481
+ .pill[_ngcontent-%COMP%] {
3482
+ display: inline-flex;
3483
+ align-items: center;
3484
+ padding: 5px;
3485
+ gap: 6px;
3486
+ background: #E8E7E7;
3487
+ border-radius: 11px;
3488
+ overflow: visible;
3489
+ }
3490
+
3491
+ .card[_ngcontent-%COMP%] {
3492
+ width: 30px;
3493
+ height: 30px;
3494
+ border-radius: 6px;
3495
+ background: #FDFDFD;
3496
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.10);
3497
+ flex-shrink: 0;
3498
+ position: relative;
3499
+ overflow: hidden;
3500
+ z-index: 1;
3501
+ }
3502
+
3503
+ .bars[_ngcontent-%COMP%] {
3504
+ position: absolute;
3505
+ inset: 0;
3506
+ display: flex;
3507
+ flex-direction: column;
3508
+ align-items: center;
3509
+ justify-content: center;
3510
+ gap: 3px;
3511
+ }
3512
+
3513
+ .bar[_ngcontent-%COMP%] {
3514
+ display: block;
3515
+ width: 20px;
3516
+ height: 3px;
3517
+ border-radius: 2px;
3518
+ position: relative;
3519
+ background: rgba(216, 215, 215, 0.4);
3520
+ overflow: hidden;
3521
+ }
3522
+
3523
+ .bar[_ngcontent-%COMP%]::after {
3524
+ content: '';
3525
+ position: absolute;
3526
+ top: 0;
3527
+ left: 0;
3528
+ width: 100%;
3529
+ height: 100%;
3530
+ border-radius: 2px;
3531
+ opacity: 0.7;
3532
+ transform-origin: left center;
3533
+ will-change: transform;
3534
+ animation-timing-function: ease-in-out;
3535
+ animation-iteration-count: infinite;
3536
+ animation-fill-mode: both;
3537
+ }
3538
+
3539
+ .bar--b[_ngcontent-%COMP%]::after {
3540
+ background: #82AEE8;
3541
+ animation-name: _ngcontent-%COMP%_drift-cpu;
3542
+ animation-duration: 16s;
3543
+ animation-delay: var(--_d1, 0s);
3544
+ }
3545
+
3546
+ .bar--t[_ngcontent-%COMP%]::after {
3547
+ background: #7FABA5;
3548
+ animation-name: _ngcontent-%COMP%_drift-ram;
3549
+ animation-duration: 23s;
3550
+ animation-delay: var(--_d2, 0s);
3551
+ }
3552
+
3553
+ .bar--p[_ngcontent-%COMP%]::after {
3554
+ background: #C6758A;
3555
+ animation-name: _ngcontent-%COMP%_drift-disk;
3556
+ animation-duration: 29s;
3557
+ animation-delay: var(--_d3, 0s);
3558
+ }
3559
+
3560
+ @keyframes _ngcontent-%COMP%_drift-cpu {
3561
+ 0% { transform: scaleX(0.40); }
3562
+ 8% { transform: scaleX(0.42); }
3563
+ 18% { transform: scaleX(0.68); }
3564
+ 24% { transform: scaleX(0.75); }
3565
+ 32% { transform: scaleX(0.52); }
3566
+ 45% { transform: scaleX(0.44); }
3567
+ 60% { transform: scaleX(0.48); }
3568
+ 72% { transform: scaleX(0.58); }
3569
+ 85% { transform: scaleX(0.43); }
3570
+ 100% { transform: scaleX(0.40); }
3571
+ }
3572
+
3573
+ @keyframes _ngcontent-%COMP%_drift-ram {
3574
+ 0% { transform: scaleX(0.58); }
3575
+ 20% { transform: scaleX(0.62); }
3576
+ 40% { transform: scaleX(0.56); }
3577
+ 60% { transform: scaleX(0.60); }
3578
+ 80% { transform: scaleX(0.64); }
3579
+ 100% { transform: scaleX(0.58); }
3580
+ }
3581
+
3582
+ @keyframes _ngcontent-%COMP%_drift-disk {
3583
+ 0% { transform: scaleX(0.38); }
3584
+ 25% { transform: scaleX(0.42); }
3585
+ 50% { transform: scaleX(0.36); }
3586
+ 75% { transform: scaleX(0.40); }
3587
+ 100% { transform: scaleX(0.38); }
3588
+ }
3589
+
3590
+ .__host--paused[_nghost-%COMP%] .bar[_ngcontent-%COMP%]::after {
3591
+ animation-play-state: paused;
3592
+ }
3593
+
3594
+ @media (prefers-reduced-motion: reduce) {
3595
+ .bar[_ngcontent-%COMP%]::after {
3596
+ animation: none;
3597
+ transform: scaleX(0.5);
3598
+ }
3599
+ }
3600
+
3601
+ .bk-first[_ngcontent-%COMP%] {
3602
+ overflow: visible;
3603
+ }
3604
+
3605
+ .bk-first[_ngcontent-%COMP%] .bars[_ngcontent-%COMP%] { z-index: 2; }
3606
+
3607
+ .bk-ghost[_ngcontent-%COMP%] {
3608
+ position: absolute;
3609
+ top: 0;
3610
+ left: 0;
3611
+ width: 100%;
3612
+ height: 100%;
3613
+ background: #FDFDFD;
3614
+ border-radius: 6px;
3615
+ box-shadow: 0 0 0 rgba(0, 0, 0, 0);
3616
+ display: flex;
3617
+ align-items: center;
3618
+ justify-content: center;
3619
+ z-index: 1;
3620
+ opacity: 0;
3621
+ color: #fff;
3622
+ }
3623
+
3624
+ .bk-lock[_ngcontent-%COMP%] {
3625
+ opacity: 0;
3626
+ font-size: 16px;
3627
+ width: 16px;
3628
+ height: 16px;
3629
+ line-height: 16px;
3630
+ }`], changeDetection: 0 });
3631
+ let ze = mt;
3632
+ const So = () => [0, 1, 2];
3633
+ function Ao(e, t) {
3634
+ e & 1 && (ne(0, "div", 1)(1, "div", 2), ye(2, "div", 3), ie(), ne(3, "div", 4), ye(4, "div", 3), ie(), ne(5, "div", 5), ye(6, "div", 3), ie()());
3635
+ }
3636
+ const gt = class gt {
3637
+ constructor() {
3638
+ this.active = le(!0);
3639
+ const t = Q(Ut).nativeElement;
3640
+ qt(() => {
3641
+ t.querySelectorAll(".card").forEach((n) => {
3642
+ n.style.setProperty("--_sd", `-${(Math.random() * 4).toFixed(2)}s`);
3643
+ });
3644
+ });
3645
+ }
3646
+ };
3647
+ gt.ɵfac = function(n) {
3648
+ return new (n || gt)();
3649
+ }, gt.ɵcmp = /* @__PURE__ */ kt({ type: gt, selectors: [["zw-mgmt-scaling-anim"]], hostVars: 2, hostBindings: function(n, i) {
3650
+ n & 2 && pe("__host--paused", !i.active());
3651
+ }, inputs: { active: [1, "active"] }, decls: 3, vars: 1, consts: [[1, "pill"], [1, "card"], [1, "row", "row--b"], [1, "fill"], [1, "row", "row--t"], [1, "row", "row--p"]], template: function(n, i) {
3652
+ n & 1 && (ne(0, "div", 0), qn(1, Ao, 7, 0, "div", 1, Un), ie()), n & 2 && (ut(), Gn(Yn(0, So)));
3653
+ }, styles: [`[_nghost-%COMP%] { display: block; }
3654
+
3655
+ .pill[_ngcontent-%COMP%] {
3656
+ display: inline-flex;
3657
+ align-items: center;
3658
+ padding: 5px;
3659
+ gap: 6px;
3660
+ background: #E8E7E7;
3661
+ border-radius: 11px;
3662
+ }
3663
+
3664
+ .card[_ngcontent-%COMP%] {
3665
+ width: 30px;
3666
+ height: 30px;
3667
+ border-radius: 6px;
3668
+ background: #FDFDFD;
3669
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.10);
3670
+ flex-shrink: 0;
3671
+ display: flex;
3672
+ flex-direction: column;
3673
+ align-items: flex-start;
3674
+ justify-content: center;
3675
+ padding: 0 5px;
3676
+ gap: 3px;
3677
+ }
3678
+
3679
+ .row[_ngcontent-%COMP%] {
3680
+ width: 20px;
3681
+ height: 3px;
3682
+ border-radius: 2px;
3683
+ background: #EEEEEE;
3684
+ position: relative;
3685
+ overflow: hidden;
3686
+ }
3687
+
3688
+ .fill[_ngcontent-%COMP%] {
3689
+ position: absolute;
3690
+ left: 0;
3691
+ top: 0;
3692
+ height: 100%;
3693
+ border-radius: 2px;
3694
+ }
3695
+
3696
+ .row--b[_ngcontent-%COMP%] .fill[_ngcontent-%COMP%] {
3697
+ background: #82AEE3;
3698
+ animation: _ngcontent-%COMP%_sc-blue 4s linear infinite;
3699
+ animation-delay: var(--_sd, 0s);
3700
+ }
3701
+
3702
+ .row--t[_ngcontent-%COMP%] .fill[_ngcontent-%COMP%] {
3703
+ background: #80ACA4;
3704
+ animation: _ngcontent-%COMP%_sc-teal 4s linear infinite;
3705
+ animation-delay: var(--_sd, 0s);
3706
+ }
3707
+
3708
+ .row--p[_ngcontent-%COMP%] .fill[_ngcontent-%COMP%] {
3709
+ background: #C9768E;
3710
+ animation: _ngcontent-%COMP%_sc-red 4s linear infinite;
3711
+ animation-delay: var(--_sd, 0s);
3712
+ }
3713
+
3714
+ @keyframes _ngcontent-%COMP%_sc-blue {
3715
+ 0% { width: 20%; }
3716
+ 37.5% { width: 20%; }
3717
+ 40% { width: 39%; }
3718
+ 42.5% { width: 46%; }
3719
+ 50% { width: 46%; }
3720
+ 52.5% { width: 50%; }
3721
+ 55% { width: 61%; }
3722
+ 57.5% { width: 76%; }
3723
+ 60% { width: 80%; }
3724
+ 67.5% { width: 80%; }
3725
+ 70% { width: 83%; }
3726
+ 72.5% { width: 91%; }
3727
+ 75% { width: 94%; }
3728
+ 87.5% { width: 94%; }
3729
+ 90% { width: 89%; }
3730
+ 92.5% { width: 74%; }
3731
+ 95% { width: 40%; }
3732
+ 97.5% { width: 28%; }
3733
+ 100% { width: 20%; }
3734
+ }
3735
+
3736
+ @keyframes _ngcontent-%COMP%_sc-teal {
3737
+ 0% { width: 15%; }
3738
+ 37.5% { width: 15%; }
3739
+ 40% { width: 40%; }
3740
+ 42.5% { width: 47%; }
3741
+ 50% { width: 47%; }
3742
+ 52.5% { width: 51%; }
3743
+ 55% { width: 58%; }
3744
+ 57.5% { width: 62%; }
3745
+ 67.5% { width: 62%; }
3746
+ 70% { width: 66%; }
3747
+ 72.5% { width: 73%; }
3748
+ 75% { width: 86%; }
3749
+ 87.5% { width: 86%; }
3750
+ 90% { width: 73%; }
3751
+ 92.5% { width: 47%; }
3752
+ 95% { width: 22%; }
3753
+ 97.5% { width: 15%; }
3754
+ 100% { width: 15%; }
3755
+ }
3756
+
3757
+ @keyframes _ngcontent-%COMP%_sc-red {
3758
+ 0% { width: 20%; }
3759
+ 37.5% { width: 20%; }
3760
+ 40% { width: 28%; }
3761
+ 42.5% { width: 35%; }
3762
+ 45% { width: 39%; }
3763
+ 50% { width: 39%; }
3764
+ 52.5% { width: 43%; }
3765
+ 55% { width: 54%; }
3766
+ 57.5% { width: 61%; }
3767
+ 60% { width: 72%; }
3768
+ 67.5% { width: 72%; }
3769
+ 70% { width: 83%; }
3770
+ 72.5% { width: 91%; }
3771
+ 75% { width: 98%; }
3772
+ 87.5% { width: 98%; }
3773
+ 90% { width: 61%; }
3774
+ 92.5% { width: 28%; }
3775
+ 95% { width: 17%; }
3776
+ 100% { width: 20%; }
3777
+ }
3778
+
3779
+ .__host--paused[_nghost-%COMP%] .fill[_ngcontent-%COMP%] {
3780
+ animation-play-state: paused;
3781
+ }
3782
+
3783
+ @media (prefers-reduced-motion: reduce) {
3784
+ .fill[_ngcontent-%COMP%] { animation: none; width: 50%; }
3785
+ }`], changeDetection: 0 });
3786
+ let Le = gt;
3787
+ const yt = class yt {
3788
+ constructor() {
3789
+ this.isInView = ue(!1);
3790
+ const t = Q(Ut), n = Q(de);
3791
+ qt(() => {
3792
+ const i = new IntersectionObserver(([s]) => this.isInView.set(s.isIntersecting), { rootMargin: "200px 0px" });
3793
+ i.observe(t.nativeElement), n.onDestroy(() => i.disconnect());
3794
+ });
3795
+ }
3796
+ };
3797
+ yt.ɵfac = function(n) {
3798
+ return new (n || yt)();
3799
+ }, yt.ɵcmp = /* @__PURE__ */ kt({ type: yt, selectors: [["zw-managed-service-diagram"]], decls: 97, vars: 4, consts: [[1, "__outer"], [1, "__title"], [1, "__mgmt-grid"], [1, "__mgmt-row"], [1, "__mgmt-feature"], [1, "__feature-label"], [3, "active"], [1, "__categories"], [1, "__cat-row"], [1, "__cat-card"], [1, "__cat-title"], [1, "__cat-items"], [1, "__cat-item"], ["svgIcon", "postgresql", 1, "__svc-icon"], [1, "__svc-label"], ["svgIcon", "mariadb", 1, "__svc-icon"], ["svgIcon", "clickhouse", 1, "__svc-icon"], ["svgIcon", "elasticsearch", 1, "__svc-icon"], ["svgIcon", "meilisearch", 1, "__svc-icon"], ["svgIcon", "typesense", 1, "__svc-icon"], ["svgIcon", "kafka", 1, "__svc-icon"], ["svgIcon", "nats", 1, "__svc-icon"], ["svgIcon", "valkey", 1, "__svc-icon"], ["svgIcon", "keydb", 1, "__svc-icon"], ["svgIcon", "qdrant", 1, "__svc-icon"], [1, "__cat-items", "__cat-items--text-only"]], template: function(n, i) {
3800
+ n & 1 && (y(0, "div", 0)(1, "span", 1), A(2, "Zerops management"), w(), y(3, "div", 2)(4, "div", 3)(5, "div", 4)(6, "span", 5), A(7, "Health monitoring"), w(), k(8, "zw-mgmt-health-anim", 6), w(), y(9, "div", 4)(10, "span", 5), A(11, "Failover"), w(), k(12, "zw-mgmt-failover-anim", 6), w()(), y(13, "div", 3)(14, "div", 4)(15, "span", 5), A(16, "Backup"), w(), k(17, "zw-mgmt-backup-anim", 6), w(), y(18, "div", 4)(19, "span", 5), A(20, "Scaling"), w(), k(21, "zw-mgmt-scaling-anim", 6), w()()(), y(22, "div", 7)(23, "div", 8)(24, "div", 9)(25, "span", 10), A(26, "Databases"), w(), y(27, "div", 11)(28, "div", 12), k(29, "mat-icon", 13), y(30, "span", 14), A(31, "PostgreSQL"), w()(), y(32, "div", 12), k(33, "mat-icon", 15), y(34, "span", 14), A(35, "MariaDB"), w()(), y(36, "div", 12), k(37, "mat-icon", 16), y(38, "span", 14), A(39, "ClickHouse"), w()()()(), y(40, "div", 9)(41, "span", 10), A(42, "Search"), w(), y(43, "div", 11)(44, "div", 12), k(45, "mat-icon", 17), y(46, "span", 14), A(47, "Elasticsearch"), w()(), y(48, "div", 12), k(49, "mat-icon", 18), y(50, "span", 14), A(51, "Meilisearch"), w()(), y(52, "div", 12), k(53, "mat-icon", 19), y(54, "span", 14), A(55, "Typesense"), w()()()(), y(56, "div", 9)(57, "span", 10), A(58, "Queue"), w(), y(59, "div", 11)(60, "div", 12), k(61, "mat-icon", 20), y(62, "span", 14), A(63, "Kafka"), w()(), y(64, "div", 12), k(65, "mat-icon", 21), y(66, "span", 14), A(67, "NATS"), w()()()()(), y(68, "div", 8)(69, "div", 9)(70, "span", 10), A(71, "Cache"), w(), y(72, "div", 11)(73, "div", 12), k(74, "mat-icon", 22), y(75, "span", 14), A(76, "Valkey"), w()(), y(77, "div", 12), k(78, "mat-icon", 23), y(79, "span", 14), A(80, "KeyDB"), w()()()(), y(81, "div", 9)(82, "span", 10), A(83, "Vector"), w(), y(84, "div", 11)(85, "div", 12), k(86, "mat-icon", 24), y(87, "span", 14), A(88, "Qdrant"), w()()()(), y(89, "div", 9)(90, "span", 10), A(91, "Storage"), w(), y(92, "div", 25)(93, "span", 14), A(94, "S3-compatible object"), w(), y(95, "span", 14), A(96, "Shared POSIX"), w()()()()()()), n & 2 && (ut(8), Jt("active", i.isInView()), ut(4), Jt("active", i.isInView()), ut(5), Jt("active", i.isInView()), ut(4), Jt("active", i.isInView()));
3801
+ }, dependencies: [
3802
+ fe,
3803
+ he,
3804
+ Ke,
3805
+ $e,
3806
+ ze,
3807
+ Le
3808
+ ], styles: [`[_nghost-%COMP%] {
3809
+ display: block;
3810
+ contain: layout style;
3811
+ }
3812
+
3813
+ .__outer[_ngcontent-%COMP%] {
3814
+ display: flex;
3815
+ flex-direction: column;
3816
+ align-items: center;
3817
+ padding: 24px 8px 8px;
3818
+ gap: 48px;
3819
+ width: 536px;
3820
+ min-width: 536px;
3821
+ border: 1px solid #C6C5C5;
3822
+ border-radius: 24px;
3823
+ }
3824
+ @media (max-width: 599px) {
3825
+ .__outer[_ngcontent-%COMP%] {
3826
+ width: 100%;
3827
+ min-width: 0;
3828
+ gap: 32px;
3829
+ }
3830
+ }
3831
+
3832
+ .__title[_ngcontent-%COMP%] {
3833
+ font-family: var(--font-family-brand);
3834
+ font-weight: 600;
3835
+ font-size: 8px;
3836
+ line-height: 10px;
3837
+ text-align: center;
3838
+ letter-spacing: 0.12em;
3839
+ text-transform: uppercase;
3840
+ font-feature-settings: "tnum" on, "lnum" on;
3841
+ color: #254E4A;
3842
+ font-variation-settings: "CRSV" 0, "SHRP" 100, "slnt" 0;
3843
+ align-self: stretch;
3844
+ }
3845
+
3846
+ .__mgmt-grid[_ngcontent-%COMP%] {
3847
+ display: flex;
3848
+ flex-direction: column;
3849
+ gap: 48px;
3850
+ width: 100%;
3851
+ padding: 0 16px;
3852
+ }
3853
+ @media (max-width: 599px) {
3854
+ .__mgmt-grid[_ngcontent-%COMP%] {
3855
+ gap: 24px;
3856
+ padding: 0 8px;
3857
+ }
3858
+ }
3859
+
3860
+ .__mgmt-row[_ngcontent-%COMP%] {
3861
+ display: flex;
3862
+ gap: 16px;
3863
+ align-items: center;
3864
+ width: 100%;
3865
+ }
3866
+
3867
+ .__mgmt-feature[_ngcontent-%COMP%] {
3868
+ flex: 1;
3869
+ min-width: 0;
3870
+ display: flex;
3871
+ flex-direction: column;
3872
+ align-items: center;
3873
+ gap: 8px;
3874
+ border-radius: 16px;
3875
+ }
3876
+
3877
+ .__feature-label[_ngcontent-%COMP%] {
3878
+ font-family: "Roboto Mono", "JetBrains Mono", ui-monospace, monospace;
3879
+ font-weight: 400;
3880
+ font-size: 10px;
3881
+ line-height: 13px;
3882
+ text-align: center;
3883
+ letter-spacing: 0.02em;
3884
+ color: #254E4A;
3885
+ align-self: stretch;
3886
+ }
3887
+
3888
+ .__categories[_ngcontent-%COMP%] {
3889
+ display: flex;
3890
+ flex-direction: column;
3891
+ gap: 16px;
3892
+ padding: 8px;
3893
+ border-radius: 16px;
3894
+ width: 100%;
3895
+ }
3896
+ @media (max-width: 599px) {
3897
+ .__categories[_ngcontent-%COMP%] {
3898
+ flex-direction: row;
3899
+ flex-wrap: wrap;
3900
+ gap: 8px;
3901
+ padding: 4px;
3902
+ }
3903
+ }
3904
+
3905
+ .__cat-row[_ngcontent-%COMP%] {
3906
+ display: flex;
3907
+ flex-wrap: wrap;
3908
+ gap: 16px;
3909
+ width: 100%;
3910
+ }
3911
+ @media (max-width: 599px) {
3912
+ .__cat-row[_ngcontent-%COMP%] {
3913
+ display: contents;
3914
+ }
3915
+ }
3916
+
3917
+ .__cat-card[_ngcontent-%COMP%] {
3918
+ flex: 1;
3919
+ min-width: 0;
3920
+ display: flex;
3921
+ flex-direction: column;
3922
+ gap: 16px;
3923
+ padding: 16px;
3924
+ background: #E8E7E7;
3925
+ border-radius: 12px;
3926
+ min-height: 94px;
3927
+ }
3928
+ @media (max-width: 599px) {
3929
+ .__cat-card[_ngcontent-%COMP%] {
3930
+ flex: 0 0 calc(50% - 4px);
3931
+ min-width: calc(50% - 4px);
3932
+ gap: 10px;
3933
+ padding: 12px;
3934
+ min-height: 0;
3935
+ }
3936
+ }
3937
+
3938
+ .__cat-title[_ngcontent-%COMP%] {
3939
+ font-family: var(--font-family-brand);
3940
+ font-weight: 600;
3941
+ font-size: 8px;
3942
+ line-height: 10px;
3943
+ text-align: center;
3944
+ letter-spacing: 0.12em;
3945
+ text-transform: uppercase;
3946
+ font-feature-settings: "tnum" on, "lnum" on;
3947
+ color: #254E4A;
3948
+ font-variation-settings: "CRSV" 0, "SHRP" 100, "slnt" 0;
3949
+ align-self: stretch;
3950
+ }
3951
+
3952
+ .__cat-items[_ngcontent-%COMP%] {
3953
+ display: flex;
3954
+ flex-direction: column;
3955
+ gap: 8px;
3956
+ }
3957
+
3958
+ .__cat-items--text-only[_ngcontent-%COMP%] {
3959
+ gap: 4px;
3960
+ }
3961
+
3962
+ .__cat-item[_ngcontent-%COMP%] {
3963
+ display: flex;
3964
+ align-items: center;
3965
+ gap: 8px;
3966
+ white-space: nowrap;
3967
+ }
3968
+
3969
+ .__svc-icon[_ngcontent-%COMP%] {
3970
+ width: 16px !important;
3971
+ height: 16px !important;
3972
+ font-size: 16px !important;
3973
+ line-height: 16px !important;
3974
+ color: #254E4A;
3975
+ flex-shrink: 0;
3976
+ }
3977
+
3978
+ .__svc-label[_ngcontent-%COMP%] {
3979
+ font-family: "Roboto Mono", "JetBrains Mono", ui-monospace, monospace;
3980
+ font-weight: 400;
3981
+ font-size: 10px;
3982
+ line-height: 13px;
3983
+ letter-spacing: 0.02em;
3984
+ color: #254E4A;
3985
+ white-space: nowrap;
3986
+ }`], changeDetection: 0 });
3987
+ let We = yt;
3988
+ const bt = class bt {
3989
+ };
3990
+ bt.ɵfac = function(n) {
3991
+ return new (n || bt)();
3992
+ }, bt.ɵcmp = /* @__PURE__ */ kt({ type: bt, selectors: [["zwe-managed-service-diagram-element"]], decls: 2, vars: 0, consts: [[1, "zerops"]], template: function(n, i) {
3993
+ n & 1 && (y(0, "div", 0), k(1, "zw-managed-service-diagram"), w());
3994
+ }, dependencies: [We], styles: ["[_nghost-%COMP%] { display: block; }"], changeDetection: 0 });
3995
+ let je = bt;
3996
+ ds().then((e) => {
3997
+ customElements.get("zerops-managed-service-diagram") || customElements.define("zerops-managed-service-diagram", fs(je, { injector: e.injector }));
3998
+ });