mainstack-design-system 1.14.1 → 1.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/MotionConfigContext-CY9MWLbl.cjs +2 -0
  2. package/dist/MotionConfigContext-SYEZVO_k.js +18 -0
  3. package/dist/assets/styles.css +1 -1
  4. package/dist/index.d.ts +30 -5
  5. package/dist/mainstack-design-system.cjs +1 -1
  6. package/dist/mainstack-design-system.js +333 -331
  7. package/dist/mainstack-design-system18.cjs +1 -1
  8. package/dist/mainstack-design-system18.js +1 -1
  9. package/dist/mainstack-design-system19.cjs +1 -1
  10. package/dist/mainstack-design-system19.js +1 -1
  11. package/dist/mainstack-design-system24.cjs +1 -1
  12. package/dist/mainstack-design-system24.js +1 -1
  13. package/dist/mainstack-design-system34.cjs +1 -1
  14. package/dist/mainstack-design-system34.js +1 -1
  15. package/dist/mainstack-design-system368.cjs +1 -1
  16. package/dist/mainstack-design-system368.js +13 -11
  17. package/dist/mainstack-design-system371.cjs +1 -1
  18. package/dist/mainstack-design-system371.js +2 -2
  19. package/dist/mainstack-design-system377.cjs +1 -1
  20. package/dist/mainstack-design-system377.js +2 -2
  21. package/dist/mainstack-design-system474.cjs +1 -1
  22. package/dist/mainstack-design-system474.js +40 -7
  23. package/dist/mainstack-design-system476.cjs +1 -1
  24. package/dist/mainstack-design-system476.js +46 -13
  25. package/dist/mainstack-design-system477.cjs +1 -1
  26. package/dist/mainstack-design-system477.js +59 -13
  27. package/dist/mainstack-design-system517.cjs +1 -1
  28. package/dist/mainstack-design-system517.js +2 -2
  29. package/dist/mainstack-design-system567.cjs +1 -1
  30. package/dist/mainstack-design-system567.js +1 -1
  31. package/dist/mainstack-design-system599.cjs +1 -1
  32. package/dist/mainstack-design-system599.js +8 -6
  33. package/dist/mainstack-design-system600.cjs +1 -1
  34. package/dist/mainstack-design-system600.js +12 -16
  35. package/dist/mainstack-design-system616.cjs +1 -1
  36. package/dist/mainstack-design-system616.js +2 -2
  37. package/dist/mainstack-design-system619.cjs +10 -5
  38. package/dist/mainstack-design-system619.js +158 -2143
  39. package/dist/mainstack-design-system620.cjs +5 -10
  40. package/dist/mainstack-design-system620.js +2143 -166
  41. package/dist/mainstack-design-system621.cjs +1 -41
  42. package/dist/mainstack-design-system621.js +387 -23677
  43. package/dist/mainstack-design-system622.cjs +41 -3
  44. package/dist/mainstack-design-system622.js +23491 -7196
  45. package/dist/mainstack-design-system623.cjs +3 -1
  46. package/dist/mainstack-design-system623.js +7193 -2605
  47. package/dist/mainstack-design-system624.cjs +2 -1
  48. package/dist/mainstack-design-system624.js +2195 -58
  49. package/dist/mainstack-design-system625.cjs +1 -1
  50. package/dist/mainstack-design-system625.js +61 -1
  51. package/dist/mainstack-design-system626.cjs +1 -1
  52. package/dist/mainstack-design-system626.js +1 -24
  53. package/dist/mainstack-design-system627.cjs +1 -1
  54. package/dist/mainstack-design-system627.js +22 -11
  55. package/dist/mainstack-design-system628.cjs +1 -0
  56. package/dist/mainstack-design-system628.js +13 -0
  57. package/dist/single-value-DEX77ciI.js +2561 -0
  58. package/dist/single-value-U71henX8.cjs +1 -0
  59. package/package.json +1 -1
@@ -0,0 +1,2561 @@
1
+ import { a as Fn, i as Pn } from "./use-presence-Dept-wE7.js";
2
+ function En(e, t) {
3
+ e.indexOf(t) === -1 && e.push(t);
4
+ }
5
+ function Rn(e, t) {
6
+ const n = e.indexOf(t);
7
+ n > -1 && e.splice(n, 1);
8
+ }
9
+ const _ = (e, t, n) => n > t ? t : n < e ? e : n;
10
+ function Te(e, t) {
11
+ return t ? `${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}` : e;
12
+ }
13
+ let ne = () => {
14
+ }, W = () => {
15
+ };
16
+ process.env.NODE_ENV !== "production" && (ne = (e, t, n) => {
17
+ !e && typeof console < "u" && console.warn(Te(t, n));
18
+ }, W = (e, t, n) => {
19
+ if (!e)
20
+ throw new Error(Te(t, n));
21
+ });
22
+ const k = {}, Pt = (e) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e), Et = (e) => /^0[^.\s]+$/u.test(e);
23
+ // @__NO_SIDE_EFFECTS__
24
+ function Ie(e) {
25
+ let t;
26
+ return () => (t === void 0 && (t = e()), t);
27
+ }
28
+ const G = /* @__NO_SIDE_EFFECTS__ */ (e) => e, On = (e, t) => (n) => t(e(n)), Ke = (...e) => e.reduce(On), Rt = /* @__NO_SIDE_EFFECTS__ */ (e, t, n) => {
29
+ const s = t - e;
30
+ return s === 0 ? 1 : (n - e) / s;
31
+ };
32
+ class Ot {
33
+ constructor() {
34
+ this.subscriptions = [];
35
+ }
36
+ add(t) {
37
+ return En(this.subscriptions, t), () => Rn(this.subscriptions, t);
38
+ }
39
+ notify(t, n, s) {
40
+ const i = this.subscriptions.length;
41
+ if (i)
42
+ if (i === 1)
43
+ this.subscriptions[0](t, n, s);
44
+ else
45
+ for (let r = 0; r < i; r++) {
46
+ const a = this.subscriptions[r];
47
+ a && a(t, n, s);
48
+ }
49
+ }
50
+ getSize() {
51
+ return this.subscriptions.length;
52
+ }
53
+ clear() {
54
+ this.subscriptions.length = 0;
55
+ }
56
+ }
57
+ const R = /* @__NO_SIDE_EFFECTS__ */ (e) => e * 1e3, E = /* @__NO_SIDE_EFFECTS__ */ (e) => e / 1e3;
58
+ function kt(e, t) {
59
+ return t ? e * (1e3 / t) : 0;
60
+ }
61
+ const Qe = /* @__PURE__ */ new Set();
62
+ function Nt(e, t, n) {
63
+ e || Qe.has(t) || (console.warn(Te(t, n)), Qe.add(t));
64
+ }
65
+ const Bt = (e, t, n) => (((1 - 3 * n + 3 * t) * e + (3 * n - 6 * t)) * e + 3 * t) * e, kn = 1e-7, Nn = 12;
66
+ function Bn(e, t, n, s, i) {
67
+ let r, a, o = 0;
68
+ do
69
+ a = t + (n - t) / 2, r = Bt(a, s, i) - e, r > 0 ? n = a : t = a;
70
+ while (Math.abs(r) > kn && ++o < Nn);
71
+ return a;
72
+ }
73
+ function se(e, t, n, s) {
74
+ if (e === t && n === s)
75
+ return G;
76
+ const i = (r) => Bn(r, 0, 1, e, n);
77
+ return (r) => r === 0 || r === 1 ? r : Bt(i(r), t, s);
78
+ }
79
+ const It = (e) => (t) => t <= 0.5 ? e(2 * t) / 2 : (2 - e(2 * (1 - t))) / 2, Kt = (e) => (t) => 1 - e(1 - t), $t = /* @__PURE__ */ se(0.33, 1.53, 0.69, 0.99), $e = /* @__PURE__ */ Kt($t), Lt = /* @__PURE__ */ It($e), _t = (e) => (e *= 2) < 1 ? 0.5 * $e(e) : 0.5 * (2 - Math.pow(2, -10 * (e - 1))), Le = (e) => 1 - Math.sin(Math.acos(e)), In = Kt(Le), Wt = It(Le), Kn = /* @__PURE__ */ se(0.42, 0, 1, 1), $n = /* @__PURE__ */ se(0, 0, 0.58, 1), jt = /* @__PURE__ */ se(0.42, 0, 0.58, 1), Ln = (e) => Array.isArray(e) && typeof e[0] != "number", Ut = (e) => Array.isArray(e) && typeof e[0] == "number", et = {
80
+ linear: G,
81
+ easeIn: Kn,
82
+ easeInOut: jt,
83
+ easeOut: $n,
84
+ circIn: Le,
85
+ circInOut: Wt,
86
+ circOut: In,
87
+ backIn: $e,
88
+ backInOut: Lt,
89
+ backOut: $t,
90
+ anticipate: _t
91
+ }, _n = (e) => typeof e == "string", tt = (e) => {
92
+ if (Ut(e)) {
93
+ W(e.length === 4, "Cubic bezier arrays must contain four numerical values.", "cubic-bezier-length");
94
+ const [t, n, s, i] = e;
95
+ return se(t, n, s, i);
96
+ } else if (_n(e))
97
+ return W(et[e] !== void 0, `Invalid easing type '${e}'`, "invalid-easing-type"), et[e];
98
+ return e;
99
+ }, ae = [
100
+ "setup",
101
+ // Compute
102
+ "read",
103
+ // Read
104
+ "resolveKeyframes",
105
+ // Write/Read/Write/Read
106
+ "preUpdate",
107
+ // Compute
108
+ "update",
109
+ // Compute
110
+ "preRender",
111
+ // Compute
112
+ "render",
113
+ // Write
114
+ "postRender"
115
+ // Compute
116
+ ];
117
+ function Wn(e, t) {
118
+ let n = /* @__PURE__ */ new Set(), s = /* @__PURE__ */ new Set(), i = !1, r = !1;
119
+ const a = /* @__PURE__ */ new WeakSet();
120
+ let o = {
121
+ delta: 0,
122
+ timestamp: 0,
123
+ isProcessing: !1
124
+ };
125
+ function u(l) {
126
+ a.has(l) && (c.schedule(l), e()), l(o);
127
+ }
128
+ const c = {
129
+ /**
130
+ * Schedule a process to run on the next frame.
131
+ */
132
+ schedule: (l, f = !1, h = !1) => {
133
+ const T = h && i ? n : s;
134
+ return f && a.add(l), T.has(l) || T.add(l), l;
135
+ },
136
+ /**
137
+ * Cancel the provided callback from running on the next frame.
138
+ */
139
+ cancel: (l) => {
140
+ s.delete(l), a.delete(l);
141
+ },
142
+ /**
143
+ * Execute all schedule callbacks.
144
+ */
145
+ process: (l) => {
146
+ if (o = l, i) {
147
+ r = !0;
148
+ return;
149
+ }
150
+ i = !0, [n, s] = [s, n], n.forEach(u), n.clear(), i = !1, r && (r = !1, c.process(l));
151
+ }
152
+ };
153
+ return c;
154
+ }
155
+ const jn = 40;
156
+ function Yt(e, t) {
157
+ let n = !1, s = !0;
158
+ const i = {
159
+ delta: 0,
160
+ timestamp: 0,
161
+ isProcessing: !1
162
+ }, r = () => n = !0, a = ae.reduce((v, M) => (v[M] = Wn(r), v), {}), { setup: o, read: u, resolveKeyframes: c, preUpdate: l, update: f, preRender: h, render: g, postRender: T } = a, y = () => {
163
+ const v = k.useManualTiming ? i.timestamp : performance.now();
164
+ n = !1, k.useManualTiming || (i.delta = s ? 1e3 / 60 : Math.max(Math.min(v - i.timestamp, jn), 1)), i.timestamp = v, i.isProcessing = !0, o.process(i), u.process(i), c.process(i), l.process(i), f.process(i), h.process(i), g.process(i), T.process(i), i.isProcessing = !1, n && t && (s = !1, e(y));
165
+ }, V = () => {
166
+ n = !0, s = !0, i.isProcessing || e(y);
167
+ };
168
+ return { schedule: ae.reduce((v, M) => {
169
+ const p = a[M];
170
+ return v[M] = (w, A = !1, m = !1) => (n || V(), p.schedule(w, A, m)), v;
171
+ }, {}), cancel: (v) => {
172
+ for (let M = 0; M < ae.length; M++)
173
+ a[ae[M]].cancel(v);
174
+ }, state: i, steps: a };
175
+ }
176
+ const { schedule: N, cancel: be, state: ue, steps: Tr } = /* @__PURE__ */ Yt(typeof requestAnimationFrame < "u" ? requestAnimationFrame : G, !0);
177
+ let le;
178
+ function Un() {
179
+ le = void 0;
180
+ }
181
+ const F = {
182
+ now: () => (le === void 0 && F.set(ue.isProcessing || k.useManualTiming ? ue.timestamp : performance.now()), le),
183
+ set: (e) => {
184
+ le = e, queueMicrotask(Un);
185
+ }
186
+ }, Gt = (e) => (t) => typeof t == "string" && t.startsWith(e), _e = /* @__PURE__ */ Gt("--"), Yn = /* @__PURE__ */ Gt("var(--"), We = (e) => Yn(e) ? Gn.test(e.split("/*")[0].trim()) : !1, Gn = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu, X = {
187
+ test: (e) => typeof e == "number",
188
+ parse: parseFloat,
189
+ transform: (e) => e
190
+ }, Q = {
191
+ ...X,
192
+ transform: (e) => _(0, 1, e)
193
+ }, oe = {
194
+ ...X,
195
+ default: 1
196
+ }, J = (e) => Math.round(e * 1e5) / 1e5, je = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
197
+ function Xn(e) {
198
+ return e == null;
199
+ }
200
+ const zn = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu, Ue = (e, t) => (n) => !!(typeof n == "string" && zn.test(n) && n.startsWith(e) || t && !Xn(n) && Object.prototype.hasOwnProperty.call(n, t)), Xt = (e, t, n) => (s) => {
201
+ if (typeof s != "string")
202
+ return s;
203
+ const [i, r, a, o] = s.match(je);
204
+ return {
205
+ [e]: parseFloat(i),
206
+ [t]: parseFloat(r),
207
+ [n]: parseFloat(a),
208
+ alpha: o !== void 0 ? parseFloat(o) : 1
209
+ };
210
+ }, qn = (e) => _(0, 255, e), de = {
211
+ ...X,
212
+ transform: (e) => Math.round(qn(e))
213
+ }, I = {
214
+ test: /* @__PURE__ */ Ue("rgb", "red"),
215
+ parse: /* @__PURE__ */ Xt("red", "green", "blue"),
216
+ transform: ({ red: e, green: t, blue: n, alpha: s = 1 }) => "rgba(" + de.transform(e) + ", " + de.transform(t) + ", " + de.transform(n) + ", " + J(Q.transform(s)) + ")"
217
+ };
218
+ function Hn(e) {
219
+ let t = "", n = "", s = "", i = "";
220
+ return e.length > 5 ? (t = e.substring(1, 3), n = e.substring(3, 5), s = e.substring(5, 7), i = e.substring(7, 9)) : (t = e.substring(1, 2), n = e.substring(2, 3), s = e.substring(3, 4), i = e.substring(4, 5), t += t, n += n, s += s, i += i), {
221
+ red: parseInt(t, 16),
222
+ green: parseInt(n, 16),
223
+ blue: parseInt(s, 16),
224
+ alpha: i ? parseInt(i, 16) / 255 : 1
225
+ };
226
+ }
227
+ const ve = {
228
+ test: /* @__PURE__ */ Ue("#"),
229
+ parse: Hn,
230
+ transform: I.transform
231
+ }, ie = /* @__NO_SIDE_EFFECTS__ */ (e) => ({
232
+ test: (t) => typeof t == "string" && t.endsWith(e) && t.split(" ").length === 1,
233
+ parse: parseFloat,
234
+ transform: (t) => `${t}${e}`
235
+ }), B = /* @__PURE__ */ ie("deg"), Y = /* @__PURE__ */ ie("%"), d = /* @__PURE__ */ ie("px"), Zn = /* @__PURE__ */ ie("vh"), Jn = /* @__PURE__ */ ie("vw"), nt = {
236
+ ...Y,
237
+ parse: (e) => Y.parse(e) / 100,
238
+ transform: (e) => Y.transform(e * 100)
239
+ }, j = {
240
+ test: /* @__PURE__ */ Ue("hsl", "hue"),
241
+ parse: /* @__PURE__ */ Xt("hue", "saturation", "lightness"),
242
+ transform: ({ hue: e, saturation: t, lightness: n, alpha: s = 1 }) => "hsla(" + Math.round(e) + ", " + Y.transform(J(t)) + ", " + Y.transform(J(n)) + ", " + J(Q.transform(s)) + ")"
243
+ }, S = {
244
+ test: (e) => I.test(e) || ve.test(e) || j.test(e),
245
+ parse: (e) => I.test(e) ? I.parse(e) : j.test(e) ? j.parse(e) : ve.parse(e),
246
+ transform: (e) => typeof e == "string" ? e : e.hasOwnProperty("red") ? I.transform(e) : j.transform(e),
247
+ getAnimatableNone: (e) => {
248
+ const t = S.parse(e);
249
+ return t.alpha = 0, S.transform(t);
250
+ }
251
+ }, Qn = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
252
+ function es(e) {
253
+ return isNaN(e) && typeof e == "string" && (e.match(je)?.length || 0) + (e.match(Qn)?.length || 0) > 0;
254
+ }
255
+ const zt = "number", qt = "color", ts = "var", ns = "var(", st = "${}", ss = /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;
256
+ function ee(e) {
257
+ const t = e.toString(), n = [], s = {
258
+ color: [],
259
+ number: [],
260
+ var: []
261
+ }, i = [];
262
+ let r = 0;
263
+ const o = t.replace(ss, (u) => (S.test(u) ? (s.color.push(r), i.push(qt), n.push(S.parse(u))) : u.startsWith(ns) ? (s.var.push(r), i.push(ts), n.push(u)) : (s.number.push(r), i.push(zt), n.push(parseFloat(u))), ++r, st)).split(st);
264
+ return { values: n, split: o, indexes: s, types: i };
265
+ }
266
+ function Ht(e) {
267
+ return ee(e).values;
268
+ }
269
+ function Zt(e) {
270
+ const { split: t, types: n } = ee(e), s = t.length;
271
+ return (i) => {
272
+ let r = "";
273
+ for (let a = 0; a < s; a++)
274
+ if (r += t[a], i[a] !== void 0) {
275
+ const o = n[a];
276
+ o === zt ? r += J(i[a]) : o === qt ? r += S.transform(i[a]) : r += i[a];
277
+ }
278
+ return r;
279
+ };
280
+ }
281
+ const is = (e) => typeof e == "number" ? 0 : S.test(e) ? S.getAnimatableNone(e) : e;
282
+ function rs(e) {
283
+ const t = Ht(e);
284
+ return Zt(e)(t.map(is));
285
+ }
286
+ const z = {
287
+ test: es,
288
+ parse: Ht,
289
+ createTransformer: Zt,
290
+ getAnimatableNone: rs
291
+ };
292
+ function pe(e, t, n) {
293
+ 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;
294
+ }
295
+ function as({ hue: e, saturation: t, lightness: n, alpha: s }) {
296
+ e /= 360, t /= 100, n /= 100;
297
+ let i = 0, r = 0, a = 0;
298
+ if (!t)
299
+ i = r = a = n;
300
+ else {
301
+ const o = n < 0.5 ? n * (1 + t) : n + t - n * t, u = 2 * n - o;
302
+ i = pe(u, o, e + 1 / 3), r = pe(u, o, e), a = pe(u, o, e - 1 / 3);
303
+ }
304
+ return {
305
+ red: Math.round(i * 255),
306
+ green: Math.round(r * 255),
307
+ blue: Math.round(a * 255),
308
+ alpha: s
309
+ };
310
+ }
311
+ function ce(e, t) {
312
+ return (n) => n > 0 ? t : e;
313
+ }
314
+ const re = (e, t, n) => e + (t - e) * n, me = (e, t, n) => {
315
+ const s = e * e, i = n * (t * t - s) + s;
316
+ return i < 0 ? 0 : Math.sqrt(i);
317
+ }, os = [ve, I, j], ls = (e) => os.find((t) => t.test(e));
318
+ function it(e) {
319
+ const t = ls(e);
320
+ if (ne(!!t, `'${e}' is not an animatable color. Use the equivalent color code instead.`, "color-not-animatable"), !t)
321
+ return !1;
322
+ let n = t.parse(e);
323
+ return t === j && (n = as(n)), n;
324
+ }
325
+ const rt = (e, t) => {
326
+ const n = it(e), s = it(t);
327
+ if (!n || !s)
328
+ return ce(e, t);
329
+ const i = { ...n };
330
+ return (r) => (i.red = me(n.red, s.red, r), i.green = me(n.green, s.green, r), i.blue = me(n.blue, s.blue, r), i.alpha = re(n.alpha, s.alpha, r), I.transform(i));
331
+ }, Ve = /* @__PURE__ */ new Set(["none", "hidden"]);
332
+ function us(e, t) {
333
+ return Ve.has(e) ? (n) => n <= 0 ? e : t : (n) => n >= 1 ? t : e;
334
+ }
335
+ function cs(e, t) {
336
+ return (n) => re(e, t, n);
337
+ }
338
+ function Ye(e) {
339
+ return typeof e == "number" ? cs : typeof e == "string" ? We(e) ? ce : S.test(e) ? rt : ds : Array.isArray(e) ? Jt : typeof e == "object" ? S.test(e) ? rt : fs : ce;
340
+ }
341
+ function Jt(e, t) {
342
+ const n = [...e], s = n.length, i = e.map((r, a) => Ye(r)(r, t[a]));
343
+ return (r) => {
344
+ for (let a = 0; a < s; a++)
345
+ n[a] = i[a](r);
346
+ return n;
347
+ };
348
+ }
349
+ function fs(e, t) {
350
+ const n = { ...e, ...t }, s = {};
351
+ for (const i in n)
352
+ e[i] !== void 0 && t[i] !== void 0 && (s[i] = Ye(e[i])(e[i], t[i]));
353
+ return (i) => {
354
+ for (const r in s)
355
+ n[r] = s[r](i);
356
+ return n;
357
+ };
358
+ }
359
+ function hs(e, t) {
360
+ const n = [], s = { color: 0, var: 0, number: 0 };
361
+ for (let i = 0; i < t.values.length; i++) {
362
+ const r = t.types[i], a = e.indexes[r][s[r]], o = e.values[a] ?? 0;
363
+ n[i] = o, s[r]++;
364
+ }
365
+ return n;
366
+ }
367
+ const ds = (e, t) => {
368
+ const n = z.createTransformer(t), s = ee(e), i = ee(t);
369
+ return s.indexes.var.length === i.indexes.var.length && s.indexes.color.length === i.indexes.color.length && s.indexes.number.length >= i.indexes.number.length ? Ve.has(e) && !i.values.length || Ve.has(t) && !s.values.length ? us(e, t) : Ke(Jt(hs(s, i), i.values), n) : (ne(!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"), ce(e, t));
370
+ };
371
+ function Qt(e, t, n) {
372
+ return typeof e == "number" && typeof t == "number" && typeof n == "number" ? re(e, t, n) : Ye(e)(e, t);
373
+ }
374
+ const ps = (e) => {
375
+ const t = ({ timestamp: n }) => e(n);
376
+ return {
377
+ start: (n = !0) => N.update(t, n),
378
+ stop: () => be(t),
379
+ /**
380
+ * If we're processing this frame we can use the
381
+ * framelocked timestamp to keep things in sync.
382
+ */
383
+ now: () => ue.isProcessing ? ue.timestamp : F.now()
384
+ };
385
+ }, en = (e, t, n = 10) => {
386
+ let s = "";
387
+ const i = Math.max(Math.round(t / n), 2);
388
+ for (let r = 0; r < i; r++)
389
+ s += Math.round(e(r / (i - 1)) * 1e4) / 1e4 + ", ";
390
+ return `linear(${s.substring(0, s.length - 2)})`;
391
+ }, fe = 2e4;
392
+ function Ge(e) {
393
+ let t = 0;
394
+ const n = 50;
395
+ let s = e.next(t);
396
+ for (; !s.done && t < fe; )
397
+ t += n, s = e.next(t);
398
+ return t >= fe ? 1 / 0 : t;
399
+ }
400
+ function ms(e, t = 100, n) {
401
+ const s = n({ ...e, keyframes: [0, t] }), i = Math.min(Ge(s), fe);
402
+ return {
403
+ type: "keyframes",
404
+ ease: (r) => s.next(i * r).value / t,
405
+ duration: /* @__PURE__ */ E(i)
406
+ };
407
+ }
408
+ const gs = 5;
409
+ function tn(e, t, n) {
410
+ const s = Math.max(t - gs, 0);
411
+ return kt(n - e(s), t - s);
412
+ }
413
+ const b = {
414
+ // Default spring physics
415
+ stiffness: 100,
416
+ damping: 10,
417
+ mass: 1,
418
+ velocity: 0,
419
+ // Default duration/bounce-based options
420
+ duration: 800,
421
+ // in ms
422
+ bounce: 0.3,
423
+ visualDuration: 0.3,
424
+ // in seconds
425
+ // Rest thresholds
426
+ restSpeed: {
427
+ granular: 0.01,
428
+ default: 2
429
+ },
430
+ restDelta: {
431
+ granular: 5e-3,
432
+ default: 0.5
433
+ },
434
+ // Limits
435
+ minDuration: 0.01,
436
+ // in seconds
437
+ maxDuration: 10,
438
+ // in seconds
439
+ minDamping: 0.05,
440
+ maxDamping: 1
441
+ }, ge = 1e-3;
442
+ function ys({ duration: e = b.duration, bounce: t = b.bounce, velocity: n = b.velocity, mass: s = b.mass }) {
443
+ let i, r;
444
+ ne(e <= /* @__PURE__ */ R(b.maxDuration), "Spring duration must be 10 seconds or less", "spring-duration-limit");
445
+ let a = 1 - t;
446
+ a = _(b.minDamping, b.maxDamping, a), e = _(b.minDuration, b.maxDuration, /* @__PURE__ */ E(e)), a < 1 ? (i = (c) => {
447
+ const l = c * a, f = l * e, h = l - n, g = xe(c, a), T = Math.exp(-f);
448
+ return ge - h / g * T;
449
+ }, r = (c) => {
450
+ const f = c * a * e, h = f * n + n, g = Math.pow(a, 2) * Math.pow(c, 2) * e, T = Math.exp(-f), y = xe(Math.pow(c, 2), a);
451
+ return (-i(c) + ge > 0 ? -1 : 1) * ((h - g) * T) / y;
452
+ }) : (i = (c) => {
453
+ const l = Math.exp(-c * e), f = (c - n) * e + 1;
454
+ return -ge + l * f;
455
+ }, r = (c) => {
456
+ const l = Math.exp(-c * e), f = (n - c) * (e * e);
457
+ return l * f;
458
+ });
459
+ const o = 5 / e, u = bs(i, r, o);
460
+ if (e = /* @__PURE__ */ R(e), isNaN(u))
461
+ return {
462
+ stiffness: b.stiffness,
463
+ damping: b.damping,
464
+ duration: e
465
+ };
466
+ {
467
+ const c = Math.pow(u, 2) * s;
468
+ return {
469
+ stiffness: c,
470
+ damping: a * 2 * Math.sqrt(s * c),
471
+ duration: e
472
+ };
473
+ }
474
+ }
475
+ const Ts = 12;
476
+ function bs(e, t, n) {
477
+ let s = n;
478
+ for (let i = 1; i < Ts; i++)
479
+ s = s - e(s) / t(s);
480
+ return s;
481
+ }
482
+ function xe(e, t) {
483
+ return e * Math.sqrt(1 - t * t);
484
+ }
485
+ const vs = ["duration", "bounce"], Vs = ["stiffness", "damping", "mass"];
486
+ function at(e, t) {
487
+ return t.some((n) => e[n] !== void 0);
488
+ }
489
+ function xs(e) {
490
+ let t = {
491
+ velocity: b.velocity,
492
+ stiffness: b.stiffness,
493
+ damping: b.damping,
494
+ mass: b.mass,
495
+ isResolvedFromDuration: !1,
496
+ ...e
497
+ };
498
+ if (!at(e, Vs) && at(e, vs))
499
+ if (e.visualDuration) {
500
+ const n = e.visualDuration, s = 2 * Math.PI / (n * 1.2), i = s * s, r = 2 * _(0.05, 1, 1 - (e.bounce || 0)) * Math.sqrt(i);
501
+ t = {
502
+ ...t,
503
+ mass: b.mass,
504
+ stiffness: i,
505
+ damping: r
506
+ };
507
+ } else {
508
+ const n = ys(e);
509
+ t = {
510
+ ...t,
511
+ ...n,
512
+ mass: b.mass
513
+ }, t.isResolvedFromDuration = !0;
514
+ }
515
+ return t;
516
+ }
517
+ function he(e = b.visualDuration, t = b.bounce) {
518
+ const n = typeof e != "object" ? {
519
+ visualDuration: e,
520
+ keyframes: [0, 1],
521
+ bounce: t
522
+ } : e;
523
+ let { restSpeed: s, restDelta: i } = n;
524
+ const r = n.keyframes[0], a = n.keyframes[n.keyframes.length - 1], o = { done: !1, value: r }, { stiffness: u, damping: c, mass: l, duration: f, velocity: h, isResolvedFromDuration: g } = xs({
525
+ ...n,
526
+ velocity: -/* @__PURE__ */ E(n.velocity || 0)
527
+ }), T = h || 0, y = c / (2 * Math.sqrt(u * l)), V = a - r, x = /* @__PURE__ */ E(Math.sqrt(u / l)), D = Math.abs(V) < 5;
528
+ s || (s = D ? b.restSpeed.granular : b.restSpeed.default), i || (i = D ? b.restDelta.granular : b.restDelta.default);
529
+ let v;
530
+ if (y < 1) {
531
+ const p = xe(x, y);
532
+ v = (w) => {
533
+ const A = Math.exp(-y * x * w);
534
+ return a - A * ((T + y * x * V) / p * Math.sin(p * w) + V * Math.cos(p * w));
535
+ };
536
+ } else if (y === 1)
537
+ v = (p) => a - Math.exp(-x * p) * (V + (T + x * V) * p);
538
+ else {
539
+ const p = x * Math.sqrt(y * y - 1);
540
+ v = (w) => {
541
+ const A = Math.exp(-y * x * w), m = Math.min(p * w, 300);
542
+ return a - A * ((T + y * x * V) * Math.sinh(m) + p * V * Math.cosh(m)) / p;
543
+ };
544
+ }
545
+ const M = {
546
+ calculatedDuration: g && f || null,
547
+ next: (p) => {
548
+ const w = v(p);
549
+ if (g)
550
+ o.done = p >= f;
551
+ else {
552
+ let A = p === 0 ? T : 0;
553
+ y < 1 && (A = p === 0 ? /* @__PURE__ */ R(T) : tn(v, p, w));
554
+ const m = Math.abs(A) <= s, P = Math.abs(a - w) <= i;
555
+ o.done = m && P;
556
+ }
557
+ return o.value = o.done ? a : w, o;
558
+ },
559
+ toString: () => {
560
+ const p = Math.min(Ge(M), fe), w = en((A) => M.next(p * A).value, p, 30);
561
+ return p + "ms " + w;
562
+ },
563
+ toTransition: () => {
564
+ }
565
+ };
566
+ return M;
567
+ }
568
+ he.applyToOptions = (e) => {
569
+ const t = ms(e, 100, he);
570
+ return e.ease = t.ease, e.duration = /* @__PURE__ */ R(t.duration), e.type = "keyframes", e;
571
+ };
572
+ function we({ keyframes: e, velocity: t = 0, power: n = 0.8, timeConstant: s = 325, bounceDamping: i = 10, bounceStiffness: r = 500, modifyTarget: a, min: o, max: u, restDelta: c = 0.5, restSpeed: l }) {
573
+ const f = e[0], h = {
574
+ done: !1,
575
+ value: f
576
+ }, g = (m) => o !== void 0 && m < o || u !== void 0 && m > u, T = (m) => o === void 0 ? u : u === void 0 || Math.abs(o - m) < Math.abs(u - m) ? o : u;
577
+ let y = n * t;
578
+ const V = f + y, x = a === void 0 ? V : a(V);
579
+ x !== V && (y = x - f);
580
+ const D = (m) => -y * Math.exp(-m / s), v = (m) => x + D(m), M = (m) => {
581
+ const P = D(m), O = v(m);
582
+ h.done = Math.abs(P) <= c, h.value = h.done ? x : O;
583
+ };
584
+ let p, w;
585
+ const A = (m) => {
586
+ g(h.value) && (p = m, w = he({
587
+ keyframes: [h.value, T(h.value)],
588
+ velocity: tn(v, m, h.value),
589
+ // TODO: This should be passing * 1000
590
+ damping: i,
591
+ stiffness: r,
592
+ restDelta: c,
593
+ restSpeed: l
594
+ }));
595
+ };
596
+ return A(0), {
597
+ calculatedDuration: null,
598
+ next: (m) => {
599
+ let P = !1;
600
+ return !w && p === void 0 && (P = !0, M(m), A(m)), p !== void 0 && m >= p ? w.next(m - p) : (!P && M(m), h);
601
+ }
602
+ };
603
+ }
604
+ function ws(e, t, n) {
605
+ const s = [], i = n || k.mix || Qt, r = e.length - 1;
606
+ for (let a = 0; a < r; a++) {
607
+ let o = i(e[a], e[a + 1]);
608
+ if (t) {
609
+ const u = Array.isArray(t) ? t[a] || G : t;
610
+ o = Ke(u, o);
611
+ }
612
+ s.push(o);
613
+ }
614
+ return s;
615
+ }
616
+ function Ss(e, t, { clamp: n = !0, ease: s, mixer: i } = {}) {
617
+ const r = e.length;
618
+ if (W(r === t.length, "Both input and output ranges must be the same length", "range-length"), r === 1)
619
+ return () => t[0];
620
+ if (r === 2 && t[0] === t[1])
621
+ return () => t[1];
622
+ const a = e[0] === e[1];
623
+ e[0] > e[r - 1] && (e = [...e].reverse(), t = [...t].reverse());
624
+ const o = ws(t, s, i), u = o.length, c = (l) => {
625
+ if (a && l < e[0])
626
+ return t[0];
627
+ let f = 0;
628
+ if (u > 1)
629
+ for (; f < e.length - 2 && !(l < e[f + 1]); f++)
630
+ ;
631
+ const h = /* @__PURE__ */ Rt(e[f], e[f + 1], l);
632
+ return o[f](h);
633
+ };
634
+ return n ? (l) => c(_(e[0], e[r - 1], l)) : c;
635
+ }
636
+ function Ms(e, t) {
637
+ const n = e[e.length - 1];
638
+ for (let s = 1; s <= t; s++) {
639
+ const i = /* @__PURE__ */ Rt(0, t, s);
640
+ e.push(re(n, 1, i));
641
+ }
642
+ }
643
+ function As(e) {
644
+ const t = [0];
645
+ return Ms(t, e.length - 1), t;
646
+ }
647
+ function Cs(e, t) {
648
+ return e.map((n) => n * t);
649
+ }
650
+ function Ds(e, t) {
651
+ return e.map(() => t || jt).splice(0, e.length - 1);
652
+ }
653
+ function U({ duration: e = 300, keyframes: t, times: n, ease: s = "easeInOut" }) {
654
+ const i = Ln(s) ? s.map(tt) : tt(s), r = {
655
+ done: !1,
656
+ value: t[0]
657
+ }, a = Cs(
658
+ // Only use the provided offsets if they're the correct length
659
+ // TODO Maybe we should warn here if there's a length mismatch
660
+ n && n.length === t.length ? n : As(t),
661
+ e
662
+ ), o = Ss(a, t, {
663
+ ease: Array.isArray(i) ? i : Ds(t, i)
664
+ });
665
+ return {
666
+ calculatedDuration: e,
667
+ next: (u) => (r.value = o(u), r.done = u >= e, r)
668
+ };
669
+ }
670
+ const Fs = (e) => e !== null;
671
+ function Xe(e, { repeat: t, repeatType: n = "loop" }, s, i = 1) {
672
+ const r = e.filter(Fs), o = i < 0 || t && n !== "loop" && t % 2 === 1 ? 0 : r.length - 1;
673
+ return !o || s === void 0 ? r[o] : s;
674
+ }
675
+ const Ps = {
676
+ decay: we,
677
+ inertia: we,
678
+ tween: U,
679
+ keyframes: U,
680
+ spring: he
681
+ };
682
+ function nn(e) {
683
+ typeof e.type == "string" && (e.type = Ps[e.type]);
684
+ }
685
+ class ze {
686
+ constructor() {
687
+ this.updateFinished();
688
+ }
689
+ get finished() {
690
+ return this._finished;
691
+ }
692
+ updateFinished() {
693
+ this._finished = new Promise((t) => {
694
+ this.resolve = t;
695
+ });
696
+ }
697
+ notifyFinished() {
698
+ this.resolve();
699
+ }
700
+ /**
701
+ * Allows the animation to be awaited.
702
+ *
703
+ * @deprecated Use `finished` instead.
704
+ */
705
+ then(t, n) {
706
+ return this.finished.then(t, n);
707
+ }
708
+ }
709
+ const Es = (e) => e / 100;
710
+ class qe extends ze {
711
+ constructor(t) {
712
+ super(), this.state = "idle", this.startTime = null, this.isStopped = !1, this.currentTime = 0, this.holdTime = null, this.playbackSpeed = 1, this.stop = () => {
713
+ const { motionValue: n } = this.options;
714
+ n && n.updatedAt !== F.now() && this.tick(F.now()), this.isStopped = !0, this.state !== "idle" && (this.teardown(), this.options.onStop?.());
715
+ }, this.options = t, this.initAnimation(), this.play(), t.autoplay === !1 && this.pause();
716
+ }
717
+ initAnimation() {
718
+ const { options: t } = this;
719
+ nn(t);
720
+ const { type: n = U, repeat: s = 0, repeatDelay: i = 0, repeatType: r, velocity: a = 0 } = t;
721
+ let { keyframes: o } = t;
722
+ const u = n || U;
723
+ process.env.NODE_ENV !== "production" && u !== U && W(o.length <= 2, `Only two keyframes currently supported with spring and inertia animations. Trying to animate ${o}`, "spring-two-frames"), u !== U && typeof o[0] != "number" && (this.mixKeyframes = Ke(Es, Qt(o[0], o[1])), o = [0, 100]);
724
+ const c = u({ ...t, keyframes: o });
725
+ r === "mirror" && (this.mirroredGenerator = u({
726
+ ...t,
727
+ keyframes: [...o].reverse(),
728
+ velocity: -a
729
+ })), c.calculatedDuration === null && (c.calculatedDuration = Ge(c));
730
+ const { calculatedDuration: l } = c;
731
+ this.calculatedDuration = l, this.resolvedDuration = l + i, this.totalDuration = this.resolvedDuration * (s + 1) - i, this.generator = c;
732
+ }
733
+ updateTime(t) {
734
+ const n = Math.round(t - this.startTime) * this.playbackSpeed;
735
+ this.holdTime !== null ? this.currentTime = this.holdTime : this.currentTime = n;
736
+ }
737
+ tick(t, n = !1) {
738
+ const { generator: s, totalDuration: i, mixKeyframes: r, mirroredGenerator: a, resolvedDuration: o, calculatedDuration: u } = this;
739
+ if (this.startTime === null)
740
+ return s.next(0);
741
+ const { delay: c = 0, keyframes: l, repeat: f, repeatType: h, repeatDelay: g, type: T, onUpdate: y, finalKeyframe: V } = this.options;
742
+ this.speed > 0 ? this.startTime = Math.min(this.startTime, t) : this.speed < 0 && (this.startTime = Math.min(t - i / this.speed, this.startTime)), n ? this.currentTime = t : this.updateTime(t);
743
+ const x = this.currentTime - c * (this.playbackSpeed >= 0 ? 1 : -1), D = this.playbackSpeed >= 0 ? x < 0 : x > i;
744
+ this.currentTime = Math.max(x, 0), this.state === "finished" && this.holdTime === null && (this.currentTime = i);
745
+ let v = this.currentTime, M = s;
746
+ if (f) {
747
+ const m = Math.min(this.currentTime, i) / o;
748
+ let P = Math.floor(m), O = m % 1;
749
+ !O && m >= 1 && (O = 1), O === 1 && P--, P = Math.min(P, f + 1), !!(P % 2) && (h === "reverse" ? (O = 1 - O, g && (O -= g / o)) : h === "mirror" && (M = a)), v = _(0, 1, O) * o;
750
+ }
751
+ const p = D ? { done: !1, value: l[0] } : M.next(v);
752
+ r && (p.value = r(p.value));
753
+ let { done: w } = p;
754
+ !D && u !== null && (w = this.playbackSpeed >= 0 ? this.currentTime >= i : this.currentTime <= 0);
755
+ const A = this.holdTime === null && (this.state === "finished" || this.state === "running" && w);
756
+ return A && T !== we && (p.value = Xe(l, this.options, V, this.speed)), y && y(p.value), A && this.finish(), p;
757
+ }
758
+ /**
759
+ * Allows the returned animation to be awaited or promise-chained. Currently
760
+ * resolves when the animation finishes at all but in a future update could/should
761
+ * reject if its cancels.
762
+ */
763
+ then(t, n) {
764
+ return this.finished.then(t, n);
765
+ }
766
+ get duration() {
767
+ return /* @__PURE__ */ E(this.calculatedDuration);
768
+ }
769
+ get iterationDuration() {
770
+ const { delay: t = 0 } = this.options || {};
771
+ return this.duration + /* @__PURE__ */ E(t);
772
+ }
773
+ get time() {
774
+ return /* @__PURE__ */ E(this.currentTime);
775
+ }
776
+ set time(t) {
777
+ t = /* @__PURE__ */ R(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?.start(!1);
778
+ }
779
+ get speed() {
780
+ return this.playbackSpeed;
781
+ }
782
+ set speed(t) {
783
+ this.updateTime(F.now());
784
+ const n = this.playbackSpeed !== t;
785
+ this.playbackSpeed = t, n && (this.time = /* @__PURE__ */ E(this.currentTime));
786
+ }
787
+ play() {
788
+ if (this.isStopped)
789
+ return;
790
+ const { driver: t = ps, startTime: n } = this.options;
791
+ this.driver || (this.driver = t((i) => this.tick(i))), this.options.onPlay?.();
792
+ const s = this.driver.now();
793
+ this.state === "finished" ? (this.updateFinished(), this.startTime = s) : this.holdTime !== null ? this.startTime = s - this.holdTime : this.startTime || (this.startTime = n ?? s), this.state === "finished" && this.speed < 0 && (this.startTime += this.calculatedDuration), this.holdTime = null, this.state = "running", this.driver.start();
794
+ }
795
+ pause() {
796
+ this.state = "paused", this.updateTime(F.now()), this.holdTime = this.currentTime;
797
+ }
798
+ complete() {
799
+ this.state !== "running" && this.play(), this.state = "finished", this.holdTime = null;
800
+ }
801
+ finish() {
802
+ this.notifyFinished(), this.teardown(), this.state = "finished", this.options.onComplete?.();
803
+ }
804
+ cancel() {
805
+ this.holdTime = null, this.startTime = 0, this.tick(0), this.teardown(), this.options.onCancel?.();
806
+ }
807
+ teardown() {
808
+ this.state = "idle", this.stopDriver(), this.startTime = this.holdTime = null;
809
+ }
810
+ stopDriver() {
811
+ this.driver && (this.driver.stop(), this.driver = void 0);
812
+ }
813
+ sample(t) {
814
+ return this.startTime = 0, this.tick(t, !0);
815
+ }
816
+ attachTimeline(t) {
817
+ return this.options.allowFlatten && (this.options.type = "keyframes", this.options.ease = "linear", this.initAnimation()), this.driver?.stop(), t.observe(this);
818
+ }
819
+ }
820
+ function Rs(e) {
821
+ for (let t = 1; t < e.length; t++)
822
+ e[t] ?? (e[t] = e[t - 1]);
823
+ }
824
+ const K = (e) => e * 180 / Math.PI, Se = (e) => {
825
+ const t = K(Math.atan2(e[1], e[0]));
826
+ return Me(t);
827
+ }, Os = {
828
+ x: 4,
829
+ y: 5,
830
+ translateX: 4,
831
+ translateY: 5,
832
+ scaleX: 0,
833
+ scaleY: 3,
834
+ scale: (e) => (Math.abs(e[0]) + Math.abs(e[3])) / 2,
835
+ rotate: Se,
836
+ rotateZ: Se,
837
+ skewX: (e) => K(Math.atan(e[1])),
838
+ skewY: (e) => K(Math.atan(e[2])),
839
+ skew: (e) => (Math.abs(e[1]) + Math.abs(e[2])) / 2
840
+ }, Me = (e) => (e = e % 360, e < 0 && (e += 360), e), ot = Se, lt = (e) => Math.sqrt(e[0] * e[0] + e[1] * e[1]), ut = (e) => Math.sqrt(e[4] * e[4] + e[5] * e[5]), ks = {
841
+ x: 12,
842
+ y: 13,
843
+ z: 14,
844
+ translateX: 12,
845
+ translateY: 13,
846
+ translateZ: 14,
847
+ scaleX: lt,
848
+ scaleY: ut,
849
+ scale: (e) => (lt(e) + ut(e)) / 2,
850
+ rotateX: (e) => Me(K(Math.atan2(e[6], e[5]))),
851
+ rotateY: (e) => Me(K(Math.atan2(-e[2], e[0]))),
852
+ rotateZ: ot,
853
+ rotate: ot,
854
+ skewX: (e) => K(Math.atan(e[4])),
855
+ skewY: (e) => K(Math.atan(e[1])),
856
+ skew: (e) => (Math.abs(e[1]) + Math.abs(e[4])) / 2
857
+ };
858
+ function Ae(e) {
859
+ return e.includes("scale") ? 1 : 0;
860
+ }
861
+ function Ce(e, t) {
862
+ if (!e || e === "none")
863
+ return Ae(t);
864
+ const n = e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);
865
+ let s, i;
866
+ if (n)
867
+ s = ks, i = n;
868
+ else {
869
+ const o = e.match(/^matrix\(([-\d.e\s,]+)\)$/u);
870
+ s = Os, i = o;
871
+ }
872
+ if (!i)
873
+ return Ae(t);
874
+ const r = s[t], a = i[1].split(",").map(Bs);
875
+ return typeof r == "function" ? r(a) : a[r];
876
+ }
877
+ const Ns = (e, t) => {
878
+ const { transform: n = "none" } = getComputedStyle(e);
879
+ return Ce(n, t);
880
+ };
881
+ function Bs(e) {
882
+ return parseFloat(e.trim());
883
+ }
884
+ const q = [
885
+ "transformPerspective",
886
+ "x",
887
+ "y",
888
+ "z",
889
+ "translateX",
890
+ "translateY",
891
+ "translateZ",
892
+ "scale",
893
+ "scaleX",
894
+ "scaleY",
895
+ "rotate",
896
+ "rotateX",
897
+ "rotateY",
898
+ "rotateZ",
899
+ "skew",
900
+ "skewX",
901
+ "skewY"
902
+ ], H = new Set(q), ct = (e) => e === X || e === d, Is = /* @__PURE__ */ new Set(["x", "y", "z"]), Ks = q.filter((e) => !Is.has(e));
903
+ function $s(e) {
904
+ const t = [];
905
+ return Ks.forEach((n) => {
906
+ const s = e.getValue(n);
907
+ s !== void 0 && (t.push([n, s.get()]), s.set(n.startsWith("scale") ? 1 : 0));
908
+ }), t;
909
+ }
910
+ const $ = {
911
+ // Dimensions
912
+ width: ({ x: e }, { paddingLeft: t = "0", paddingRight: n = "0" }) => e.max - e.min - parseFloat(t) - parseFloat(n),
913
+ height: ({ y: e }, { paddingTop: t = "0", paddingBottom: n = "0" }) => e.max - e.min - parseFloat(t) - parseFloat(n),
914
+ top: (e, { top: t }) => parseFloat(t),
915
+ left: (e, { left: t }) => parseFloat(t),
916
+ bottom: ({ y: e }, { top: t }) => parseFloat(t) + (e.max - e.min),
917
+ right: ({ x: e }, { left: t }) => parseFloat(t) + (e.max - e.min),
918
+ // Transform
919
+ x: (e, { transform: t }) => Ce(t, "x"),
920
+ y: (e, { transform: t }) => Ce(t, "y")
921
+ };
922
+ $.translateX = $.x;
923
+ $.translateY = $.y;
924
+ const L = /* @__PURE__ */ new Set();
925
+ let De = !1, Fe = !1, Pe = !1;
926
+ function sn() {
927
+ if (Fe) {
928
+ const e = Array.from(L).filter((s) => s.needsMeasurement), t = new Set(e.map((s) => s.element)), n = /* @__PURE__ */ new Map();
929
+ t.forEach((s) => {
930
+ const i = $s(s);
931
+ i.length && (n.set(s, i), s.render());
932
+ }), e.forEach((s) => s.measureInitialState()), t.forEach((s) => {
933
+ s.render();
934
+ const i = n.get(s);
935
+ i && i.forEach(([r, a]) => {
936
+ s.getValue(r)?.set(a);
937
+ });
938
+ }), e.forEach((s) => s.measureEndState()), e.forEach((s) => {
939
+ s.suspendedScrollY !== void 0 && window.scrollTo(0, s.suspendedScrollY);
940
+ });
941
+ }
942
+ Fe = !1, De = !1, L.forEach((e) => e.complete(Pe)), L.clear();
943
+ }
944
+ function rn() {
945
+ L.forEach((e) => {
946
+ e.readKeyframes(), e.needsMeasurement && (Fe = !0);
947
+ });
948
+ }
949
+ function Ls() {
950
+ Pe = !0, rn(), sn(), Pe = !1;
951
+ }
952
+ class He {
953
+ constructor(t, n, s, i, r, a = !1) {
954
+ this.state = "pending", this.isAsync = !1, this.needsMeasurement = !1, this.unresolvedKeyframes = [...t], this.onComplete = n, this.name = s, this.motionValue = i, this.element = r, this.isAsync = a;
955
+ }
956
+ scheduleResolve() {
957
+ this.state = "scheduled", this.isAsync ? (L.add(this), De || (De = !0, N.read(rn), N.resolveKeyframes(sn))) : (this.readKeyframes(), this.complete());
958
+ }
959
+ readKeyframes() {
960
+ const { unresolvedKeyframes: t, name: n, element: s, motionValue: i } = this;
961
+ if (t[0] === null) {
962
+ const r = i?.get(), a = t[t.length - 1];
963
+ if (r !== void 0)
964
+ t[0] = r;
965
+ else if (s && n) {
966
+ const o = s.readValue(n, a);
967
+ o != null && (t[0] = o);
968
+ }
969
+ t[0] === void 0 && (t[0] = a), i && r === void 0 && i.set(t[0]);
970
+ }
971
+ Rs(t);
972
+ }
973
+ setFinalKeyframe() {
974
+ }
975
+ measureInitialState() {
976
+ }
977
+ renderEndStyles() {
978
+ }
979
+ measureEndState() {
980
+ }
981
+ complete(t = !1) {
982
+ this.state = "complete", this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, t), L.delete(this);
983
+ }
984
+ cancel() {
985
+ this.state === "scheduled" && (L.delete(this), this.state = "pending");
986
+ }
987
+ resume() {
988
+ this.state === "pending" && this.scheduleResolve();
989
+ }
990
+ }
991
+ const _s = (e) => e.startsWith("--");
992
+ function Ws(e, t, n) {
993
+ _s(t) ? e.style.setProperty(t, n) : e.style[t] = n;
994
+ }
995
+ const js = /* @__PURE__ */ Ie(() => window.ScrollTimeline !== void 0), Us = {};
996
+ function Ys(e, t) {
997
+ const n = /* @__PURE__ */ Ie(e);
998
+ return () => Us[t] ?? n();
999
+ }
1000
+ const an = /* @__PURE__ */ Ys(() => {
1001
+ try {
1002
+ document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
1003
+ } catch {
1004
+ return !1;
1005
+ }
1006
+ return !0;
1007
+ }, "linearEasing"), Z = ([e, t, n, s]) => `cubic-bezier(${e}, ${t}, ${n}, ${s})`, ft = {
1008
+ linear: "linear",
1009
+ ease: "ease",
1010
+ easeIn: "ease-in",
1011
+ easeOut: "ease-out",
1012
+ easeInOut: "ease-in-out",
1013
+ circIn: /* @__PURE__ */ Z([0, 0.65, 0.55, 1]),
1014
+ circOut: /* @__PURE__ */ Z([0.55, 0, 1, 0.45]),
1015
+ backIn: /* @__PURE__ */ Z([0.31, 0.01, 0.66, -0.59]),
1016
+ backOut: /* @__PURE__ */ Z([0.33, 1.53, 0.69, 0.99])
1017
+ };
1018
+ function on(e, t) {
1019
+ if (e)
1020
+ return typeof e == "function" ? an() ? en(e, t) : "ease-out" : Ut(e) ? Z(e) : Array.isArray(e) ? e.map((n) => on(n, t) || ft.easeOut) : ft[e];
1021
+ }
1022
+ function Gs(e, t, n, { delay: s = 0, duration: i = 300, repeat: r = 0, repeatType: a = "loop", ease: o = "easeOut", times: u } = {}, c = void 0) {
1023
+ const l = {
1024
+ [t]: n
1025
+ };
1026
+ u && (l.offset = u);
1027
+ const f = on(o, i);
1028
+ Array.isArray(f) && (l.easing = f);
1029
+ const h = {
1030
+ delay: s,
1031
+ duration: i,
1032
+ easing: Array.isArray(f) ? "linear" : f,
1033
+ fill: "both",
1034
+ iterations: r + 1,
1035
+ direction: a === "reverse" ? "alternate" : "normal"
1036
+ };
1037
+ return c && (h.pseudoElement = c), e.animate(l, h);
1038
+ }
1039
+ function ln(e) {
1040
+ return typeof e == "function" && "applyToOptions" in e;
1041
+ }
1042
+ function Xs({ type: e, ...t }) {
1043
+ return ln(e) && an() ? e.applyToOptions(t) : (t.duration ?? (t.duration = 300), t.ease ?? (t.ease = "easeOut"), t);
1044
+ }
1045
+ class zs extends ze {
1046
+ constructor(t) {
1047
+ if (super(), this.finishedTime = null, this.isStopped = !1, !t)
1048
+ return;
1049
+ const { element: n, name: s, keyframes: i, pseudoElement: r, allowFlatten: a = !1, finalKeyframe: o, onComplete: u } = t;
1050
+ this.isPseudoElement = !!r, this.allowFlatten = a, this.options = t, W(typeof t.type != "string", `Mini animate() doesn't support "type" as a string.`, "mini-spring");
1051
+ const c = Xs(t);
1052
+ this.animation = Gs(n, s, i, c, r), c.autoplay === !1 && this.animation.pause(), this.animation.onfinish = () => {
1053
+ if (this.finishedTime = this.time, !r) {
1054
+ const l = Xe(i, this.options, o, this.speed);
1055
+ this.updateMotionValue ? this.updateMotionValue(l) : Ws(n, s, l), this.animation.cancel();
1056
+ }
1057
+ u?.(), this.notifyFinished();
1058
+ };
1059
+ }
1060
+ play() {
1061
+ this.isStopped || (this.animation.play(), this.state === "finished" && this.updateFinished());
1062
+ }
1063
+ pause() {
1064
+ this.animation.pause();
1065
+ }
1066
+ complete() {
1067
+ this.animation.finish?.();
1068
+ }
1069
+ cancel() {
1070
+ try {
1071
+ this.animation.cancel();
1072
+ } catch {
1073
+ }
1074
+ }
1075
+ stop() {
1076
+ if (this.isStopped)
1077
+ return;
1078
+ this.isStopped = !0;
1079
+ const { state: t } = this;
1080
+ t === "idle" || t === "finished" || (this.updateMotionValue ? this.updateMotionValue() : this.commitStyles(), this.isPseudoElement || this.cancel());
1081
+ }
1082
+ /**
1083
+ * WAAPI doesn't natively have any interruption capabilities.
1084
+ *
1085
+ * In this method, we commit styles back to the DOM before cancelling
1086
+ * the animation.
1087
+ *
1088
+ * This is designed to be overridden by NativeAnimationExtended, which
1089
+ * will create a renderless JS animation and sample it twice to calculate
1090
+ * its current value, "previous" value, and therefore allow
1091
+ * Motion to also correctly calculate velocity for any subsequent animation
1092
+ * while deferring the commit until the next animation frame.
1093
+ */
1094
+ commitStyles() {
1095
+ this.isPseudoElement || this.animation.commitStyles?.();
1096
+ }
1097
+ get duration() {
1098
+ const t = this.animation.effect?.getComputedTiming?.().duration || 0;
1099
+ return /* @__PURE__ */ E(Number(t));
1100
+ }
1101
+ get iterationDuration() {
1102
+ const { delay: t = 0 } = this.options || {};
1103
+ return this.duration + /* @__PURE__ */ E(t);
1104
+ }
1105
+ get time() {
1106
+ return /* @__PURE__ */ E(Number(this.animation.currentTime) || 0);
1107
+ }
1108
+ set time(t) {
1109
+ this.finishedTime = null, this.animation.currentTime = /* @__PURE__ */ R(t);
1110
+ }
1111
+ /**
1112
+ * The playback speed of the animation.
1113
+ * 1 = normal speed, 2 = double speed, 0.5 = half speed.
1114
+ */
1115
+ get speed() {
1116
+ return this.animation.playbackRate;
1117
+ }
1118
+ set speed(t) {
1119
+ t < 0 && (this.finishedTime = null), this.animation.playbackRate = t;
1120
+ }
1121
+ get state() {
1122
+ return this.finishedTime !== null ? "finished" : this.animation.playState;
1123
+ }
1124
+ get startTime() {
1125
+ return Number(this.animation.startTime);
1126
+ }
1127
+ set startTime(t) {
1128
+ this.animation.startTime = t;
1129
+ }
1130
+ /**
1131
+ * Attaches a timeline to the animation, for instance the `ScrollTimeline`.
1132
+ */
1133
+ attachTimeline({ timeline: t, observe: n }) {
1134
+ return this.allowFlatten && this.animation.effect?.updateTiming({ easing: "linear" }), this.animation.onfinish = null, t && js() ? (this.animation.timeline = t, G) : n(this);
1135
+ }
1136
+ }
1137
+ const un = {
1138
+ anticipate: _t,
1139
+ backInOut: Lt,
1140
+ circInOut: Wt
1141
+ };
1142
+ function qs(e) {
1143
+ return e in un;
1144
+ }
1145
+ function Hs(e) {
1146
+ typeof e.ease == "string" && qs(e.ease) && (e.ease = un[e.ease]);
1147
+ }
1148
+ const ht = 10;
1149
+ class Zs extends zs {
1150
+ constructor(t) {
1151
+ Hs(t), nn(t), super(t), t.startTime && (this.startTime = t.startTime), this.options = t;
1152
+ }
1153
+ /**
1154
+ * WAAPI doesn't natively have any interruption capabilities.
1155
+ *
1156
+ * Rather than read commited styles back out of the DOM, we can
1157
+ * create a renderless JS animation and sample it twice to calculate
1158
+ * its current value, "previous" value, and therefore allow
1159
+ * Motion to calculate velocity for any subsequent animation.
1160
+ */
1161
+ updateMotionValue(t) {
1162
+ const { motionValue: n, onUpdate: s, onComplete: i, element: r, ...a } = this.options;
1163
+ if (!n)
1164
+ return;
1165
+ if (t !== void 0) {
1166
+ n.set(t);
1167
+ return;
1168
+ }
1169
+ const o = new qe({
1170
+ ...a,
1171
+ autoplay: !1
1172
+ }), u = /* @__PURE__ */ R(this.finishedTime ?? this.time);
1173
+ n.setWithVelocity(o.sample(u - ht).value, o.sample(u).value, ht), o.stop();
1174
+ }
1175
+ }
1176
+ const dt = (e, t) => t === "zIndex" ? !1 : !!(typeof e == "number" || Array.isArray(e) || typeof e == "string" && // It's animatable if we have a string
1177
+ (z.test(e) || e === "0") && // And it contains numbers and/or colors
1178
+ !e.startsWith("url("));
1179
+ function Js(e) {
1180
+ const t = e[0];
1181
+ if (e.length === 1)
1182
+ return !0;
1183
+ for (let n = 0; n < e.length; n++)
1184
+ if (e[n] !== t)
1185
+ return !0;
1186
+ }
1187
+ function Qs(e, t, n, s) {
1188
+ const i = e[0];
1189
+ if (i === null)
1190
+ return !1;
1191
+ if (t === "display" || t === "visibility")
1192
+ return !0;
1193
+ const r = e[e.length - 1], a = dt(i, t), o = dt(r, t);
1194
+ return ne(a === o, `You are trying to animate ${t} from "${i}" to "${r}". "${a ? r : i}" is not an animatable value.`, "value-not-animatable"), !a || !o ? !1 : Js(e) || (n === "spring" || ln(n)) && s;
1195
+ }
1196
+ function Ee(e) {
1197
+ e.duration = 0, e.type = "keyframes";
1198
+ }
1199
+ const ei = /* @__PURE__ */ new Set([
1200
+ "opacity",
1201
+ "clipPath",
1202
+ "filter",
1203
+ "transform"
1204
+ // TODO: Could be re-enabled now we have support for linear() easing
1205
+ // "background-color"
1206
+ ]), ti = /* @__PURE__ */ Ie(() => Object.hasOwnProperty.call(Element.prototype, "animate"));
1207
+ function ni(e) {
1208
+ const { motionValue: t, name: n, repeatDelay: s, repeatType: i, damping: r, type: a } = e;
1209
+ if (!(t?.owner?.current instanceof HTMLElement))
1210
+ return !1;
1211
+ const { onUpdate: u, transformTemplate: c } = t.owner.getProps();
1212
+ return ti() && n && ei.has(n) && (n !== "transform" || !c) && /**
1213
+ * If we're outputting values to onUpdate then we can't use WAAPI as there's
1214
+ * no way to read the value from WAAPI every frame.
1215
+ */
1216
+ !u && !s && i !== "mirror" && r !== 0 && a !== "inertia";
1217
+ }
1218
+ const si = 40;
1219
+ class ii extends ze {
1220
+ constructor({ autoplay: t = !0, delay: n = 0, type: s = "keyframes", repeat: i = 0, repeatDelay: r = 0, repeatType: a = "loop", keyframes: o, name: u, motionValue: c, element: l, ...f }) {
1221
+ super(), this.stop = () => {
1222
+ this._animation && (this._animation.stop(), this.stopTimeline?.()), this.keyframeResolver?.cancel();
1223
+ }, this.createdAt = F.now();
1224
+ const h = {
1225
+ autoplay: t,
1226
+ delay: n,
1227
+ type: s,
1228
+ repeat: i,
1229
+ repeatDelay: r,
1230
+ repeatType: a,
1231
+ name: u,
1232
+ motionValue: c,
1233
+ element: l,
1234
+ ...f
1235
+ }, g = l?.KeyframeResolver || He;
1236
+ this.keyframeResolver = new g(o, (T, y, V) => this.onKeyframesResolved(T, y, h, !V), u, c, l), this.keyframeResolver?.scheduleResolve();
1237
+ }
1238
+ onKeyframesResolved(t, n, s, i) {
1239
+ this.keyframeResolver = void 0;
1240
+ const { name: r, type: a, velocity: o, delay: u, isHandoff: c, onUpdate: l } = s;
1241
+ this.resolvedAt = F.now(), Qs(t, r, a, o) || ((k.instantAnimations || !u) && l?.(Xe(t, s, n)), t[0] = t[t.length - 1], Ee(s), s.repeat = 0);
1242
+ const h = {
1243
+ startTime: i ? this.resolvedAt ? this.resolvedAt - this.createdAt > si ? this.resolvedAt : this.createdAt : this.createdAt : void 0,
1244
+ finalKeyframe: n,
1245
+ ...s,
1246
+ keyframes: t
1247
+ }, g = !c && ni(h) ? new Zs({
1248
+ ...h,
1249
+ element: h.motionValue.owner.current
1250
+ }) : new qe(h);
1251
+ g.finished.then(() => this.notifyFinished()).catch(G), this.pendingTimeline && (this.stopTimeline = g.attachTimeline(this.pendingTimeline), this.pendingTimeline = void 0), this._animation = g;
1252
+ }
1253
+ get finished() {
1254
+ return this._animation ? this.animation.finished : this._finished;
1255
+ }
1256
+ then(t, n) {
1257
+ return this.finished.finally(t).then(() => {
1258
+ });
1259
+ }
1260
+ get animation() {
1261
+ return this._animation || (this.keyframeResolver?.resume(), Ls()), this._animation;
1262
+ }
1263
+ get duration() {
1264
+ return this.animation.duration;
1265
+ }
1266
+ get iterationDuration() {
1267
+ return this.animation.iterationDuration;
1268
+ }
1269
+ get time() {
1270
+ return this.animation.time;
1271
+ }
1272
+ set time(t) {
1273
+ this.animation.time = t;
1274
+ }
1275
+ get speed() {
1276
+ return this.animation.speed;
1277
+ }
1278
+ get state() {
1279
+ return this.animation.state;
1280
+ }
1281
+ set speed(t) {
1282
+ this.animation.speed = t;
1283
+ }
1284
+ get startTime() {
1285
+ return this.animation.startTime;
1286
+ }
1287
+ attachTimeline(t) {
1288
+ return this._animation ? this.stopTimeline = this.animation.attachTimeline(t) : this.pendingTimeline = t, () => this.stop();
1289
+ }
1290
+ play() {
1291
+ this.animation.play();
1292
+ }
1293
+ pause() {
1294
+ this.animation.pause();
1295
+ }
1296
+ complete() {
1297
+ this.animation.complete();
1298
+ }
1299
+ cancel() {
1300
+ this._animation && this.animation.cancel(), this.keyframeResolver?.cancel();
1301
+ }
1302
+ }
1303
+ const ri = (
1304
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
1305
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
1306
+ );
1307
+ function ai(e) {
1308
+ const t = ri.exec(e);
1309
+ if (!t)
1310
+ return [,];
1311
+ const [, n, s, i] = t;
1312
+ return [`--${n ?? s}`, i];
1313
+ }
1314
+ const oi = 4;
1315
+ function cn(e, t, n = 1) {
1316
+ W(n <= oi, `Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
1317
+ const [s, i] = ai(e);
1318
+ if (!s)
1319
+ return;
1320
+ const r = window.getComputedStyle(t).getPropertyValue(s);
1321
+ if (r) {
1322
+ const a = r.trim();
1323
+ return Pt(a) ? parseFloat(a) : a;
1324
+ }
1325
+ return We(i) ? cn(i, t, n + 1) : i;
1326
+ }
1327
+ function fn(e, t) {
1328
+ return e?.[t] ?? e?.default ?? e;
1329
+ }
1330
+ const hn = /* @__PURE__ */ new Set([
1331
+ "width",
1332
+ "height",
1333
+ "top",
1334
+ "left",
1335
+ "right",
1336
+ "bottom",
1337
+ ...q
1338
+ ]), li = {
1339
+ test: (e) => e === "auto",
1340
+ parse: (e) => e
1341
+ }, dn = (e) => (t) => t.test(e), pn = [X, d, Y, B, Jn, Zn, li], pt = (e) => pn.find(dn(e));
1342
+ function ui(e) {
1343
+ return typeof e == "number" ? e === 0 : e !== null ? e === "none" || e === "0" || Et(e) : !0;
1344
+ }
1345
+ const ci = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
1346
+ function fi(e) {
1347
+ const [t, n] = e.slice(0, -1).split("(");
1348
+ if (t === "drop-shadow")
1349
+ return e;
1350
+ const [s] = n.match(je) || [];
1351
+ if (!s)
1352
+ return e;
1353
+ const i = n.replace(s, "");
1354
+ let r = ci.has(t) ? 1 : 0;
1355
+ return s !== n && (r *= 100), t + "(" + r + i + ")";
1356
+ }
1357
+ const hi = /\b([a-z-]*)\(.*?\)/gu, Re = {
1358
+ ...z,
1359
+ getAnimatableNone: (e) => {
1360
+ const t = e.match(hi);
1361
+ return t ? t.map(fi).join(" ") : e;
1362
+ }
1363
+ }, mt = {
1364
+ ...X,
1365
+ transform: Math.round
1366
+ }, di = {
1367
+ rotate: B,
1368
+ rotateX: B,
1369
+ rotateY: B,
1370
+ rotateZ: B,
1371
+ scale: oe,
1372
+ scaleX: oe,
1373
+ scaleY: oe,
1374
+ scaleZ: oe,
1375
+ skew: B,
1376
+ skewX: B,
1377
+ skewY: B,
1378
+ distance: d,
1379
+ translateX: d,
1380
+ translateY: d,
1381
+ translateZ: d,
1382
+ x: d,
1383
+ y: d,
1384
+ z: d,
1385
+ perspective: d,
1386
+ transformPerspective: d,
1387
+ opacity: Q,
1388
+ originX: nt,
1389
+ originY: nt,
1390
+ originZ: d
1391
+ }, Ze = {
1392
+ // Border props
1393
+ borderWidth: d,
1394
+ borderTopWidth: d,
1395
+ borderRightWidth: d,
1396
+ borderBottomWidth: d,
1397
+ borderLeftWidth: d,
1398
+ borderRadius: d,
1399
+ radius: d,
1400
+ borderTopLeftRadius: d,
1401
+ borderTopRightRadius: d,
1402
+ borderBottomRightRadius: d,
1403
+ borderBottomLeftRadius: d,
1404
+ // Positioning props
1405
+ width: d,
1406
+ maxWidth: d,
1407
+ height: d,
1408
+ maxHeight: d,
1409
+ top: d,
1410
+ right: d,
1411
+ bottom: d,
1412
+ left: d,
1413
+ // Spacing props
1414
+ padding: d,
1415
+ paddingTop: d,
1416
+ paddingRight: d,
1417
+ paddingBottom: d,
1418
+ paddingLeft: d,
1419
+ margin: d,
1420
+ marginTop: d,
1421
+ marginRight: d,
1422
+ marginBottom: d,
1423
+ marginLeft: d,
1424
+ // Misc
1425
+ backgroundPositionX: d,
1426
+ backgroundPositionY: d,
1427
+ ...di,
1428
+ zIndex: mt,
1429
+ // SVG
1430
+ fillOpacity: Q,
1431
+ strokeOpacity: Q,
1432
+ numOctaves: mt
1433
+ }, pi = {
1434
+ ...Ze,
1435
+ // Color props
1436
+ color: S,
1437
+ backgroundColor: S,
1438
+ outlineColor: S,
1439
+ fill: S,
1440
+ stroke: S,
1441
+ // Border props
1442
+ borderColor: S,
1443
+ borderTopColor: S,
1444
+ borderRightColor: S,
1445
+ borderBottomColor: S,
1446
+ borderLeftColor: S,
1447
+ filter: Re,
1448
+ WebkitFilter: Re
1449
+ }, mn = (e) => pi[e];
1450
+ function gn(e, t) {
1451
+ let n = mn(e);
1452
+ return n !== Re && (n = z), n.getAnimatableNone ? n.getAnimatableNone(t) : void 0;
1453
+ }
1454
+ const mi = /* @__PURE__ */ new Set(["auto", "none", "0"]);
1455
+ function gi(e, t, n) {
1456
+ let s = 0, i;
1457
+ for (; s < e.length && !i; ) {
1458
+ const r = e[s];
1459
+ typeof r == "string" && !mi.has(r) && ee(r).values.length && (i = e[s]), s++;
1460
+ }
1461
+ if (i && n)
1462
+ for (const r of t)
1463
+ e[r] = gn(n, i);
1464
+ }
1465
+ class yi extends He {
1466
+ constructor(t, n, s, i, r) {
1467
+ super(t, n, s, i, r, !0);
1468
+ }
1469
+ readKeyframes() {
1470
+ const { unresolvedKeyframes: t, element: n, name: s } = this;
1471
+ if (!n || !n.current)
1472
+ return;
1473
+ super.readKeyframes();
1474
+ for (let u = 0; u < t.length; u++) {
1475
+ let c = t[u];
1476
+ if (typeof c == "string" && (c = c.trim(), We(c))) {
1477
+ const l = cn(c, n.current);
1478
+ l !== void 0 && (t[u] = l), u === t.length - 1 && (this.finalKeyframe = c);
1479
+ }
1480
+ }
1481
+ if (this.resolveNoneKeyframes(), !hn.has(s) || t.length !== 2)
1482
+ return;
1483
+ const [i, r] = t, a = pt(i), o = pt(r);
1484
+ if (a !== o)
1485
+ if (ct(a) && ct(o))
1486
+ for (let u = 0; u < t.length; u++) {
1487
+ const c = t[u];
1488
+ typeof c == "string" && (t[u] = parseFloat(c));
1489
+ }
1490
+ else $[s] && (this.needsMeasurement = !0);
1491
+ }
1492
+ resolveNoneKeyframes() {
1493
+ const { unresolvedKeyframes: t, name: n } = this, s = [];
1494
+ for (let i = 0; i < t.length; i++)
1495
+ (t[i] === null || ui(t[i])) && s.push(i);
1496
+ s.length && gi(t, s, n);
1497
+ }
1498
+ measureInitialState() {
1499
+ const { element: t, unresolvedKeyframes: n, name: s } = this;
1500
+ if (!t || !t.current)
1501
+ return;
1502
+ s === "height" && (this.suspendedScrollY = window.pageYOffset), this.measuredOrigin = $[s](t.measureViewportBox(), window.getComputedStyle(t.current)), n[0] = this.measuredOrigin;
1503
+ const i = n[n.length - 1];
1504
+ i !== void 0 && t.getValue(s, i).jump(i, !1);
1505
+ }
1506
+ measureEndState() {
1507
+ const { element: t, name: n, unresolvedKeyframes: s } = this;
1508
+ if (!t || !t.current)
1509
+ return;
1510
+ const i = t.getValue(n);
1511
+ i && i.jump(this.measuredOrigin, !1);
1512
+ const r = s.length - 1, a = s[r];
1513
+ s[r] = $[n](t.measureViewportBox(), window.getComputedStyle(t.current)), a !== null && this.finalKeyframe === void 0 && (this.finalKeyframe = a), this.removedTransforms?.length && this.removedTransforms.forEach(([o, u]) => {
1514
+ t.getValue(o).set(u);
1515
+ }), this.resolveNoneKeyframes();
1516
+ }
1517
+ }
1518
+ function br(e, t, n) {
1519
+ if (e instanceof EventTarget)
1520
+ return [e];
1521
+ if (typeof e == "string") {
1522
+ let s = document;
1523
+ t && (s = t.current);
1524
+ const i = n?.[e] ?? s.querySelectorAll(e);
1525
+ return i ? Array.from(i) : [];
1526
+ }
1527
+ return Array.from(e);
1528
+ }
1529
+ const yn = (e, t) => t && typeof e == "number" ? t.transform(e) : e, gt = 30, Ti = (e) => !isNaN(parseFloat(e));
1530
+ class bi {
1531
+ /**
1532
+ * @param init - The initiating value
1533
+ * @param config - Optional configuration options
1534
+ *
1535
+ * - `transformer`: A function to transform incoming values with.
1536
+ */
1537
+ constructor(t, n = {}) {
1538
+ this.canTrackVelocity = null, this.events = {}, this.updateAndNotify = (s) => {
1539
+ const i = F.now();
1540
+ if (this.updatedAt !== i && this.setPrevFrameValue(), this.prev = this.current, this.setCurrent(s), this.current !== this.prev && (this.events.change?.notify(this.current), this.dependents))
1541
+ for (const r of this.dependents)
1542
+ r.dirty();
1543
+ }, this.hasAnimated = !1, this.setCurrent(t), this.owner = n.owner;
1544
+ }
1545
+ setCurrent(t) {
1546
+ this.current = t, this.updatedAt = F.now(), this.canTrackVelocity === null && t !== void 0 && (this.canTrackVelocity = Ti(this.current));
1547
+ }
1548
+ setPrevFrameValue(t = this.current) {
1549
+ this.prevFrameValue = t, this.prevUpdatedAt = this.updatedAt;
1550
+ }
1551
+ /**
1552
+ * Adds a function that will be notified when the `MotionValue` is updated.
1553
+ *
1554
+ * It returns a function that, when called, will cancel the subscription.
1555
+ *
1556
+ * When calling `onChange` inside a React component, it should be wrapped with the
1557
+ * `useEffect` hook. As it returns an unsubscribe function, this should be returned
1558
+ * from the `useEffect` function to ensure you don't add duplicate subscribers..
1559
+ *
1560
+ * ```jsx
1561
+ * export const MyComponent = () => {
1562
+ * const x = useMotionValue(0)
1563
+ * const y = useMotionValue(0)
1564
+ * const opacity = useMotionValue(1)
1565
+ *
1566
+ * useEffect(() => {
1567
+ * function updateOpacity() {
1568
+ * const maxXY = Math.max(x.get(), y.get())
1569
+ * const newOpacity = transform(maxXY, [0, 100], [1, 0])
1570
+ * opacity.set(newOpacity)
1571
+ * }
1572
+ *
1573
+ * const unsubscribeX = x.on("change", updateOpacity)
1574
+ * const unsubscribeY = y.on("change", updateOpacity)
1575
+ *
1576
+ * return () => {
1577
+ * unsubscribeX()
1578
+ * unsubscribeY()
1579
+ * }
1580
+ * }, [])
1581
+ *
1582
+ * return <motion.div style={{ x }} />
1583
+ * }
1584
+ * ```
1585
+ *
1586
+ * @param subscriber - A function that receives the latest value.
1587
+ * @returns A function that, when called, will cancel this subscription.
1588
+ *
1589
+ * @deprecated
1590
+ */
1591
+ onChange(t) {
1592
+ return process.env.NODE_ENV !== "production" && Nt(!1, 'value.onChange(callback) is deprecated. Switch to value.on("change", callback).'), this.on("change", t);
1593
+ }
1594
+ on(t, n) {
1595
+ this.events[t] || (this.events[t] = new Ot());
1596
+ const s = this.events[t].add(n);
1597
+ return t === "change" ? () => {
1598
+ s(), N.read(() => {
1599
+ this.events.change.getSize() || this.stop();
1600
+ });
1601
+ } : s;
1602
+ }
1603
+ clearListeners() {
1604
+ for (const t in this.events)
1605
+ this.events[t].clear();
1606
+ }
1607
+ /**
1608
+ * Attaches a passive effect to the `MotionValue`.
1609
+ */
1610
+ attach(t, n) {
1611
+ this.passiveEffect = t, this.stopPassiveEffect = n;
1612
+ }
1613
+ /**
1614
+ * Sets the state of the `MotionValue`.
1615
+ *
1616
+ * @remarks
1617
+ *
1618
+ * ```jsx
1619
+ * const x = useMotionValue(0)
1620
+ * x.set(10)
1621
+ * ```
1622
+ *
1623
+ * @param latest - Latest value to set.
1624
+ * @param render - Whether to notify render subscribers. Defaults to `true`
1625
+ *
1626
+ * @public
1627
+ */
1628
+ set(t) {
1629
+ this.passiveEffect ? this.passiveEffect(t, this.updateAndNotify) : this.updateAndNotify(t);
1630
+ }
1631
+ setWithVelocity(t, n, s) {
1632
+ this.set(n), this.prev = void 0, this.prevFrameValue = t, this.prevUpdatedAt = this.updatedAt - s;
1633
+ }
1634
+ /**
1635
+ * Set the state of the `MotionValue`, stopping any active animations,
1636
+ * effects, and resets velocity to `0`.
1637
+ */
1638
+ jump(t, n = !0) {
1639
+ this.updateAndNotify(t), this.prev = t, this.prevUpdatedAt = this.prevFrameValue = void 0, n && this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
1640
+ }
1641
+ dirty() {
1642
+ this.events.change?.notify(this.current);
1643
+ }
1644
+ addDependent(t) {
1645
+ this.dependents || (this.dependents = /* @__PURE__ */ new Set()), this.dependents.add(t);
1646
+ }
1647
+ removeDependent(t) {
1648
+ this.dependents && this.dependents.delete(t);
1649
+ }
1650
+ /**
1651
+ * Returns the latest state of `MotionValue`
1652
+ *
1653
+ * @returns - The latest state of `MotionValue`
1654
+ *
1655
+ * @public
1656
+ */
1657
+ get() {
1658
+ return this.current;
1659
+ }
1660
+ /**
1661
+ * @public
1662
+ */
1663
+ getPrevious() {
1664
+ return this.prev;
1665
+ }
1666
+ /**
1667
+ * Returns the latest velocity of `MotionValue`
1668
+ *
1669
+ * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.
1670
+ *
1671
+ * @public
1672
+ */
1673
+ getVelocity() {
1674
+ const t = F.now();
1675
+ if (!this.canTrackVelocity || this.prevFrameValue === void 0 || t - this.updatedAt > gt)
1676
+ return 0;
1677
+ const n = Math.min(this.updatedAt - this.prevUpdatedAt, gt);
1678
+ return kt(parseFloat(this.current) - parseFloat(this.prevFrameValue), n);
1679
+ }
1680
+ /**
1681
+ * Registers a new animation to control this `MotionValue`. Only one
1682
+ * animation can drive a `MotionValue` at one time.
1683
+ *
1684
+ * ```jsx
1685
+ * value.start()
1686
+ * ```
1687
+ *
1688
+ * @param animation - A function that starts the provided animation
1689
+ */
1690
+ start(t) {
1691
+ return this.stop(), new Promise((n) => {
1692
+ this.hasAnimated = !0, this.animation = t(n), this.events.animationStart && this.events.animationStart.notify();
1693
+ }).then(() => {
1694
+ this.events.animationComplete && this.events.animationComplete.notify(), this.clearAnimation();
1695
+ });
1696
+ }
1697
+ /**
1698
+ * Stop the currently active animation.
1699
+ *
1700
+ * @public
1701
+ */
1702
+ stop() {
1703
+ this.animation && (this.animation.stop(), this.events.animationCancel && this.events.animationCancel.notify()), this.clearAnimation();
1704
+ }
1705
+ /**
1706
+ * Returns `true` if this value is currently animating.
1707
+ *
1708
+ * @public
1709
+ */
1710
+ isAnimating() {
1711
+ return !!this.animation;
1712
+ }
1713
+ clearAnimation() {
1714
+ delete this.animation;
1715
+ }
1716
+ /**
1717
+ * Destroy and clean up subscribers to this `MotionValue`.
1718
+ *
1719
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
1720
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
1721
+ * created a `MotionValue` via the `motionValue` function.
1722
+ *
1723
+ * @public
1724
+ */
1725
+ destroy() {
1726
+ this.dependents?.clear(), this.events.destroy?.notify(), this.clearListeners(), this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
1727
+ }
1728
+ }
1729
+ function te(e, t) {
1730
+ return new bi(e, t);
1731
+ }
1732
+ const { schedule: vi } = /* @__PURE__ */ Yt(queueMicrotask, !1);
1733
+ function Vi(e) {
1734
+ return Fn(e) && "ownerSVGElement" in e;
1735
+ }
1736
+ function vr(e) {
1737
+ return Vi(e) && e.tagName === "svg";
1738
+ }
1739
+ const C = (e) => !!(e && e.getVelocity), xi = [...pn, S, z], wi = (e) => xi.find(dn(e)), yt = {
1740
+ animation: [
1741
+ "animate",
1742
+ "variants",
1743
+ "whileHover",
1744
+ "whileTap",
1745
+ "exit",
1746
+ "whileInView",
1747
+ "whileFocus",
1748
+ "whileDrag"
1749
+ ],
1750
+ exit: ["exit"],
1751
+ drag: ["drag", "dragControls"],
1752
+ focus: ["whileFocus"],
1753
+ hover: ["whileHover", "onHoverStart", "onHoverEnd"],
1754
+ tap: ["whileTap", "onTap", "onTapStart", "onTapCancel"],
1755
+ pan: ["onPan", "onPanStart", "onPanSessionStart", "onPanEnd"],
1756
+ inView: ["whileInView", "onViewportEnter", "onViewportLeave"],
1757
+ layout: ["layout", "layoutId"]
1758
+ }, Oe = {};
1759
+ for (const e in yt)
1760
+ Oe[e] = {
1761
+ isEnabled: (t) => yt[e].some((n) => !!t[n])
1762
+ };
1763
+ function Si(e) {
1764
+ return e !== null && typeof e == "object" && typeof e.start == "function";
1765
+ }
1766
+ function Mi(e) {
1767
+ return typeof e == "string" || Array.isArray(e);
1768
+ }
1769
+ const Ai = [
1770
+ "animate",
1771
+ "whileInView",
1772
+ "whileFocus",
1773
+ "whileHover",
1774
+ "whileTap",
1775
+ "whileDrag",
1776
+ "exit"
1777
+ ], Ci = ["initial", ...Ai];
1778
+ function Tn(e) {
1779
+ return Si(e.animate) || Ci.some((t) => Mi(e[t]));
1780
+ }
1781
+ function Di(e) {
1782
+ return !!(Tn(e) || e.variants);
1783
+ }
1784
+ const ke = {};
1785
+ function Vr(e) {
1786
+ for (const t in e)
1787
+ ke[t] = e[t], _e(t) && (ke[t].isCSSVariable = !0);
1788
+ }
1789
+ function Fi(e, { layout: t, layoutId: n }) {
1790
+ return H.has(e) || e.startsWith("origin") || (t || n !== void 0) && (!!ke[e] || e === "opacity");
1791
+ }
1792
+ const Pi = {
1793
+ x: "translateX",
1794
+ y: "translateY",
1795
+ z: "translateZ",
1796
+ transformPerspective: "perspective"
1797
+ }, Ei = q.length;
1798
+ function Ri(e, t, n) {
1799
+ let s = "", i = !0;
1800
+ for (let r = 0; r < Ei; r++) {
1801
+ const a = q[r], o = e[a];
1802
+ if (o === void 0)
1803
+ continue;
1804
+ let u = !0;
1805
+ if (typeof o == "number" ? u = o === (a.startsWith("scale") ? 1 : 0) : u = parseFloat(o) === 0, !u || n) {
1806
+ const c = yn(o, Ze[a]);
1807
+ if (!u) {
1808
+ i = !1;
1809
+ const l = Pi[a] || a;
1810
+ s += `${l}(${c}) `;
1811
+ }
1812
+ n && (t[a] = c);
1813
+ }
1814
+ }
1815
+ return s = s.trim(), n ? s = n(t, i ? "" : s) : i && (s = "none"), s;
1816
+ }
1817
+ function bn(e, t, n) {
1818
+ const { style: s, vars: i, transformOrigin: r } = e;
1819
+ let a = !1, o = !1;
1820
+ for (const u in t) {
1821
+ const c = t[u];
1822
+ if (H.has(u)) {
1823
+ a = !0;
1824
+ continue;
1825
+ } else if (_e(u)) {
1826
+ i[u] = c;
1827
+ continue;
1828
+ } else {
1829
+ const l = yn(c, Ze[u]);
1830
+ u.startsWith("origin") ? (o = !0, r[u] = l) : s[u] = l;
1831
+ }
1832
+ }
1833
+ if (t.transform || (a || n ? s.transform = Ri(t, e.transform, n) : s.transform && (s.transform = "none")), o) {
1834
+ const { originX: u = "50%", originY: c = "50%", originZ: l = 0 } = r;
1835
+ s.transformOrigin = `${u} ${c} ${l}`;
1836
+ }
1837
+ }
1838
+ const Oi = {
1839
+ offset: "stroke-dashoffset",
1840
+ array: "stroke-dasharray"
1841
+ }, ki = {
1842
+ offset: "strokeDashoffset",
1843
+ array: "strokeDasharray"
1844
+ };
1845
+ function Ni(e, t, n = 1, s = 0, i = !0) {
1846
+ e.pathLength = 1;
1847
+ const r = i ? Oi : ki;
1848
+ e[r.offset] = d.transform(-s);
1849
+ const a = d.transform(t), o = d.transform(n);
1850
+ e[r.array] = `${a} ${o}`;
1851
+ }
1852
+ function Bi(e, {
1853
+ attrX: t,
1854
+ attrY: n,
1855
+ attrScale: s,
1856
+ pathLength: i,
1857
+ pathSpacing: r = 1,
1858
+ pathOffset: a = 0,
1859
+ // This is object creation, which we try to avoid per-frame.
1860
+ ...o
1861
+ }, u, c, l) {
1862
+ if (bn(e, o, c), u) {
1863
+ e.style.viewBox && (e.attrs.viewBox = e.style.viewBox);
1864
+ return;
1865
+ }
1866
+ e.attrs = e.style, e.style = {};
1867
+ const { attrs: f, style: h } = e;
1868
+ f.transform && (h.transform = f.transform, delete f.transform), (h.transform || f.transformOrigin) && (h.transformOrigin = f.transformOrigin ?? "50% 50%", delete f.transformOrigin), h.transform && (h.transformBox = l?.transformBox ?? "fill-box", delete f.transformBox), t !== void 0 && (f.x = t), n !== void 0 && (f.y = n), s !== void 0 && (f.scale = s), i !== void 0 && Ni(f, i, r, a, !1);
1869
+ }
1870
+ const Ii = (e) => typeof e == "string" && e.toLowerCase() === "svg";
1871
+ function Tt(e) {
1872
+ const t = [{}, {}];
1873
+ return e?.values.forEach((n, s) => {
1874
+ t[0][s] = n.get(), t[1][s] = n.getVelocity();
1875
+ }), t;
1876
+ }
1877
+ function vn(e, t, n, s) {
1878
+ if (typeof t == "function") {
1879
+ const [i, r] = Tt(s);
1880
+ t = t(n !== void 0 ? n : e.custom, i, r);
1881
+ }
1882
+ if (typeof t == "string" && (t = e.variants && e.variants[t]), typeof t == "function") {
1883
+ const [i, r] = Tt(s);
1884
+ t = t(n !== void 0 ? n : e.custom, i, r);
1885
+ }
1886
+ return t;
1887
+ }
1888
+ function Vn(e, t, n) {
1889
+ const { style: s } = e, i = {};
1890
+ for (const r in s)
1891
+ (C(s[r]) || t.style && C(t.style[r]) || Fi(r, e) || n?.getValue(r)?.liveStyle !== void 0) && (i[r] = s[r]);
1892
+ return i;
1893
+ }
1894
+ function Ki(e, t, n) {
1895
+ const s = Vn(e, t, n);
1896
+ for (const i in e)
1897
+ if (C(e[i]) || C(t[i])) {
1898
+ const r = q.indexOf(i) !== -1 ? "attr" + i.charAt(0).toUpperCase() + i.substring(1) : i;
1899
+ s[r] = e[i];
1900
+ }
1901
+ return s;
1902
+ }
1903
+ const Je = (e) => e.replace(/([a-z])([A-Z])/gu, "$1-$2").toLowerCase(), $i = "framerAppearId", Li = "data-" + Je($i);
1904
+ function _i({ top: e, left: t, right: n, bottom: s }) {
1905
+ return {
1906
+ x: { min: t, max: n },
1907
+ y: { min: e, max: s }
1908
+ };
1909
+ }
1910
+ function xr({ x: e, y: t }) {
1911
+ return { top: t.min, right: e.max, bottom: t.max, left: e.min };
1912
+ }
1913
+ function Wi(e, t) {
1914
+ if (!t)
1915
+ return e;
1916
+ const n = t({ x: e.left, y: e.top }), s = t({ x: e.right, y: e.bottom });
1917
+ return {
1918
+ top: n.y,
1919
+ left: n.x,
1920
+ bottom: s.y,
1921
+ right: s.x
1922
+ };
1923
+ }
1924
+ function ye(e) {
1925
+ return e === void 0 || e === 1;
1926
+ }
1927
+ function ji({ scale: e, scaleX: t, scaleY: n }) {
1928
+ return !ye(e) || !ye(t) || !ye(n);
1929
+ }
1930
+ function Ui(e) {
1931
+ return ji(e) || Yi(e) || e.z || e.rotate || e.rotateX || e.rotateY || e.skewX || e.skewY;
1932
+ }
1933
+ function Yi(e) {
1934
+ return bt(e.x) || bt(e.y);
1935
+ }
1936
+ function bt(e) {
1937
+ return e && e !== "0%";
1938
+ }
1939
+ function vt(e, t, n) {
1940
+ const s = e - n, i = t * s;
1941
+ return n + i;
1942
+ }
1943
+ function Vt(e, t, n, s, i) {
1944
+ return i !== void 0 && (e = vt(e, i, s)), vt(e, n, s) + t;
1945
+ }
1946
+ function Ne(e, t = 0, n = 1, s, i) {
1947
+ e.min = Vt(e.min, t, n, s, i), e.max = Vt(e.max, t, n, s, i);
1948
+ }
1949
+ function Gi(e, { x: t, y: n }) {
1950
+ Ne(e.x, t.translate, t.scale, t.originPoint), Ne(e.y, n.translate, n.scale, n.originPoint);
1951
+ }
1952
+ const xt = 0.999999999999, wt = 1.0000000000001;
1953
+ function wr(e, t, n, s = !1) {
1954
+ const i = n.length;
1955
+ if (!i)
1956
+ return;
1957
+ t.x = t.y = 1;
1958
+ let r, a;
1959
+ for (let o = 0; o < i; o++) {
1960
+ r = n[o], a = r.projectionDelta;
1961
+ const { visualElement: u } = r.options;
1962
+ u && u.props.style && u.props.style.display === "contents" || (s && r.options.layoutScroll && r.scroll && r !== r.root && At(e, {
1963
+ x: -r.scroll.offset.x,
1964
+ y: -r.scroll.offset.y
1965
+ }), a && (t.x *= a.x.scale, t.y *= a.y.scale, Gi(e, a)), s && Ui(r.latestValues) && At(e, r.latestValues));
1966
+ }
1967
+ t.x < wt && t.x > xt && (t.x = 1), t.y < wt && t.y > xt && (t.y = 1);
1968
+ }
1969
+ function St(e, t) {
1970
+ e.min = e.min + t, e.max = e.max + t;
1971
+ }
1972
+ function Mt(e, t, n, s, i = 0.5) {
1973
+ const r = re(e.min, e.max, i);
1974
+ Ne(e, t, n, r, s);
1975
+ }
1976
+ function At(e, t) {
1977
+ Mt(e.x, t.x, t.scaleX, t.scale, t.originX), Mt(e.y, t.y, t.scaleY, t.scale, t.originY);
1978
+ }
1979
+ function xn(e, t) {
1980
+ return _i(Wi(e.getBoundingClientRect(), t));
1981
+ }
1982
+ function Sr(e, t, n) {
1983
+ const s = xn(e, n), { scroll: i } = t;
1984
+ return i && (St(s.x, i.offset.x), St(s.y, i.offset.y)), s;
1985
+ }
1986
+ const Ct = () => ({
1987
+ translate: 0,
1988
+ scale: 1,
1989
+ origin: 0,
1990
+ originPoint: 0
1991
+ }), Mr = () => ({
1992
+ x: Ct(),
1993
+ y: Ct()
1994
+ }), Dt = () => ({ min: 0, max: 0 }), wn = () => ({
1995
+ x: Dt(),
1996
+ y: Dt()
1997
+ }), Be = { current: null }, Sn = { current: !1 };
1998
+ function Xi() {
1999
+ if (Sn.current = !0, !!Pn)
2000
+ if (window.matchMedia) {
2001
+ const e = window.matchMedia("(prefers-reduced-motion)"), t = () => Be.current = e.matches;
2002
+ e.addEventListener("change", t), t();
2003
+ } else
2004
+ Be.current = !1;
2005
+ }
2006
+ const zi = /* @__PURE__ */ new WeakMap();
2007
+ function qi(e, t, n) {
2008
+ for (const s in t) {
2009
+ const i = t[s], r = n[s];
2010
+ if (C(i))
2011
+ e.addValue(s, i);
2012
+ else if (C(r))
2013
+ e.addValue(s, te(i, { owner: e }));
2014
+ else if (r !== i)
2015
+ if (e.hasValue(s)) {
2016
+ const a = e.getValue(s);
2017
+ a.liveStyle === !0 ? a.jump(i) : a.hasAnimated || a.set(i);
2018
+ } else {
2019
+ const a = e.getStaticValue(s);
2020
+ e.addValue(s, te(a !== void 0 ? a : i, { owner: e }));
2021
+ }
2022
+ }
2023
+ for (const s in n)
2024
+ t[s] === void 0 && e.removeValue(s);
2025
+ return t;
2026
+ }
2027
+ const Ft = [
2028
+ "AnimationStart",
2029
+ "AnimationComplete",
2030
+ "Update",
2031
+ "BeforeLayoutMeasure",
2032
+ "LayoutMeasure",
2033
+ "LayoutAnimationStart",
2034
+ "LayoutAnimationComplete"
2035
+ ];
2036
+ class Hi {
2037
+ /**
2038
+ * This method takes React props and returns found MotionValues. For example, HTML
2039
+ * MotionValues will be found within the style prop, whereas for Three.js within attribute arrays.
2040
+ *
2041
+ * This isn't an abstract method as it needs calling in the constructor, but it is
2042
+ * intended to be one.
2043
+ */
2044
+ scrapeMotionValuesFromProps(t, n, s) {
2045
+ return {};
2046
+ }
2047
+ constructor({ parent: t, props: n, presenceContext: s, reducedMotionConfig: i, blockInitialAnimation: r, visualState: a }, o = {}) {
2048
+ this.current = null, this.children = /* @__PURE__ */ new Set(), this.isVariantNode = !1, this.isControllingVariants = !1, this.shouldReduceMotion = null, this.values = /* @__PURE__ */ new Map(), this.KeyframeResolver = He, this.features = {}, this.valueSubscriptions = /* @__PURE__ */ new Map(), this.prevMotionValues = {}, this.events = {}, this.propEventSubscriptions = {}, this.notifyUpdate = () => this.notify("Update", this.latestValues), this.render = () => {
2049
+ this.current && (this.triggerBuild(), this.renderInstance(this.current, this.renderState, this.props.style, this.projection));
2050
+ }, this.renderScheduledAt = 0, this.scheduleRender = () => {
2051
+ const h = F.now();
2052
+ this.renderScheduledAt < h && (this.renderScheduledAt = h, N.render(this.render, !1, !0));
2053
+ };
2054
+ const { latestValues: u, renderState: c } = a;
2055
+ this.latestValues = u, this.baseTarget = { ...u }, this.initialValues = n.initial ? { ...u } : {}, this.renderState = c, this.parent = t, this.props = n, this.presenceContext = s, this.depth = t ? t.depth + 1 : 0, this.reducedMotionConfig = i, this.options = o, this.blockInitialAnimation = !!r, this.isControllingVariants = Tn(n), this.isVariantNode = Di(n), this.isVariantNode && (this.variantChildren = /* @__PURE__ */ new Set()), this.manuallyAnimateOnMount = !!(t && t.current);
2056
+ const { willChange: l, ...f } = this.scrapeMotionValuesFromProps(n, {}, this);
2057
+ for (const h in f) {
2058
+ const g = f[h];
2059
+ u[h] !== void 0 && C(g) && g.set(u[h]);
2060
+ }
2061
+ }
2062
+ mount(t) {
2063
+ this.current = t, zi.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, s) => this.bindToMotionValue(s, n)), Sn.current || Xi(), this.shouldReduceMotion = this.reducedMotionConfig === "never" ? !1 : this.reducedMotionConfig === "always" ? !0 : Be.current, process.env.NODE_ENV !== "production" && Nt(this.shouldReduceMotion !== !0, "You have Reduced Motion enabled on your device. Animations may not appear as expected.", "reduced-motion-disabled"), this.parent?.addChild(this), this.update(this.props, this.presenceContext);
2064
+ }
2065
+ unmount() {
2066
+ this.projection && this.projection.unmount(), be(this.notifyUpdate), be(this.render), this.valueSubscriptions.forEach((t) => t()), this.valueSubscriptions.clear(), this.removeFromVariantTree && this.removeFromVariantTree(), this.parent?.removeChild(this);
2067
+ for (const t in this.events)
2068
+ this.events[t].clear();
2069
+ for (const t in this.features) {
2070
+ const n = this.features[t];
2071
+ n && (n.unmount(), n.isMounted = !1);
2072
+ }
2073
+ this.current = null;
2074
+ }
2075
+ addChild(t) {
2076
+ this.children.add(t), this.enteringChildren ?? (this.enteringChildren = /* @__PURE__ */ new Set()), this.enteringChildren.add(t);
2077
+ }
2078
+ removeChild(t) {
2079
+ this.children.delete(t), this.enteringChildren && this.enteringChildren.delete(t);
2080
+ }
2081
+ bindToMotionValue(t, n) {
2082
+ this.valueSubscriptions.has(t) && this.valueSubscriptions.get(t)();
2083
+ const s = H.has(t);
2084
+ s && this.onBindTransform && this.onBindTransform();
2085
+ const i = n.on("change", (a) => {
2086
+ this.latestValues[t] = a, this.props.onUpdate && N.preRender(this.notifyUpdate), s && this.projection && (this.projection.isTransformDirty = !0), this.scheduleRender();
2087
+ });
2088
+ let r;
2089
+ window.MotionCheckAppearSync && (r = window.MotionCheckAppearSync(this, t, n)), this.valueSubscriptions.set(t, () => {
2090
+ i(), r && r(), n.owner && n.stop();
2091
+ });
2092
+ }
2093
+ sortNodePosition(t) {
2094
+ return !this.current || !this.sortInstanceNodePosition || this.type !== t.type ? 0 : this.sortInstanceNodePosition(this.current, t.current);
2095
+ }
2096
+ updateFeatures() {
2097
+ let t = "animation";
2098
+ for (t in Oe) {
2099
+ const n = Oe[t];
2100
+ if (!n)
2101
+ continue;
2102
+ const { isEnabled: s, Feature: i } = n;
2103
+ if (!this.features[t] && i && s(this.props) && (this.features[t] = new i(this)), this.features[t]) {
2104
+ const r = this.features[t];
2105
+ r.isMounted ? r.update() : (r.mount(), r.isMounted = !0);
2106
+ }
2107
+ }
2108
+ }
2109
+ triggerBuild() {
2110
+ this.build(this.renderState, this.latestValues, this.props);
2111
+ }
2112
+ /**
2113
+ * Measure the current viewport box with or without transforms.
2114
+ * Only measures axis-aligned boxes, rotate and skew must be manually
2115
+ * removed with a re-render to work.
2116
+ */
2117
+ measureViewportBox() {
2118
+ return this.current ? this.measureInstanceViewportBox(this.current, this.props) : wn();
2119
+ }
2120
+ getStaticValue(t) {
2121
+ return this.latestValues[t];
2122
+ }
2123
+ setStaticValue(t, n) {
2124
+ this.latestValues[t] = n;
2125
+ }
2126
+ /**
2127
+ * Update the provided props. Ensure any newly-added motion values are
2128
+ * added to our map, old ones removed, and listeners updated.
2129
+ */
2130
+ update(t, n) {
2131
+ (t.transformTemplate || this.props.transformTemplate) && this.scheduleRender(), this.prevProps = this.props, this.props = t, this.prevPresenceContext = this.presenceContext, this.presenceContext = n;
2132
+ for (let s = 0; s < Ft.length; s++) {
2133
+ const i = Ft[s];
2134
+ this.propEventSubscriptions[i] && (this.propEventSubscriptions[i](), delete this.propEventSubscriptions[i]);
2135
+ const r = "on" + i, a = t[r];
2136
+ a && (this.propEventSubscriptions[i] = this.on(i, a));
2137
+ }
2138
+ this.prevMotionValues = qi(this, this.scrapeMotionValuesFromProps(t, this.prevProps, this), this.prevMotionValues), this.handleChildMotionValue && this.handleChildMotionValue();
2139
+ }
2140
+ getProps() {
2141
+ return this.props;
2142
+ }
2143
+ /**
2144
+ * Returns the variant definition with a given name.
2145
+ */
2146
+ getVariant(t) {
2147
+ return this.props.variants ? this.props.variants[t] : void 0;
2148
+ }
2149
+ /**
2150
+ * Returns the defined default transition on this component.
2151
+ */
2152
+ getDefaultTransition() {
2153
+ return this.props.transition;
2154
+ }
2155
+ getTransformPagePoint() {
2156
+ return this.props.transformPagePoint;
2157
+ }
2158
+ getClosestVariantNode() {
2159
+ return this.isVariantNode ? this : this.parent ? this.parent.getClosestVariantNode() : void 0;
2160
+ }
2161
+ /**
2162
+ * Add a child visual element to our set of children.
2163
+ */
2164
+ addVariantChild(t) {
2165
+ const n = this.getClosestVariantNode();
2166
+ if (n)
2167
+ return n.variantChildren && n.variantChildren.add(t), () => n.variantChildren.delete(t);
2168
+ }
2169
+ /**
2170
+ * Add a motion value and bind it to this visual element.
2171
+ */
2172
+ addValue(t, n) {
2173
+ const s = this.values.get(t);
2174
+ n !== s && (s && this.removeValue(t), this.bindToMotionValue(t, n), this.values.set(t, n), this.latestValues[t] = n.get());
2175
+ }
2176
+ /**
2177
+ * Remove a motion value and unbind any active subscriptions.
2178
+ */
2179
+ removeValue(t) {
2180
+ this.values.delete(t);
2181
+ const n = this.valueSubscriptions.get(t);
2182
+ n && (n(), this.valueSubscriptions.delete(t)), delete this.latestValues[t], this.removeValueFromRenderState(t, this.renderState);
2183
+ }
2184
+ /**
2185
+ * Check whether we have a motion value for this key
2186
+ */
2187
+ hasValue(t) {
2188
+ return this.values.has(t);
2189
+ }
2190
+ getValue(t, n) {
2191
+ if (this.props.values && this.props.values[t])
2192
+ return this.props.values[t];
2193
+ let s = this.values.get(t);
2194
+ return s === void 0 && n !== void 0 && (s = te(n === null ? void 0 : n, { owner: this }), this.addValue(t, s)), s;
2195
+ }
2196
+ /**
2197
+ * If we're trying to animate to a previously unencountered value,
2198
+ * we need to check for it in our state and as a last resort read it
2199
+ * directly from the instance (which might have performance implications).
2200
+ */
2201
+ readValue(t, n) {
2202
+ let s = this.latestValues[t] !== void 0 || !this.current ? this.latestValues[t] : this.getBaseTargetFromProps(this.props, t) ?? this.readValueFromInstance(this.current, t, this.options);
2203
+ return s != null && (typeof s == "string" && (Pt(s) || Et(s)) ? s = parseFloat(s) : !wi(s) && z.test(n) && (s = gn(t, n)), this.setBaseTarget(t, C(s) ? s.get() : s)), C(s) ? s.get() : s;
2204
+ }
2205
+ /**
2206
+ * Set the base target to later animate back to. This is currently
2207
+ * only hydrated on creation and when we first read a value.
2208
+ */
2209
+ setBaseTarget(t, n) {
2210
+ this.baseTarget[t] = n;
2211
+ }
2212
+ /**
2213
+ * Find the base target for a value thats been removed from all animation
2214
+ * props.
2215
+ */
2216
+ getBaseTarget(t) {
2217
+ const { initial: n } = this.props;
2218
+ let s;
2219
+ if (typeof n == "string" || typeof n == "object") {
2220
+ const r = vn(this.props, n, this.presenceContext?.custom);
2221
+ r && (s = r[t]);
2222
+ }
2223
+ if (n && s !== void 0)
2224
+ return s;
2225
+ const i = this.getBaseTargetFromProps(this.props, t);
2226
+ return i !== void 0 && !C(i) ? i : this.initialValues[t] !== void 0 && s === void 0 ? void 0 : this.baseTarget[t];
2227
+ }
2228
+ on(t, n) {
2229
+ return this.events[t] || (this.events[t] = new Ot()), this.events[t].add(n);
2230
+ }
2231
+ notify(t, ...n) {
2232
+ this.events[t] && this.events[t].notify(...n);
2233
+ }
2234
+ scheduleRenderMicrotask() {
2235
+ vi.render(this.render);
2236
+ }
2237
+ }
2238
+ class Mn extends Hi {
2239
+ constructor() {
2240
+ super(...arguments), this.KeyframeResolver = yi;
2241
+ }
2242
+ sortInstanceNodePosition(t, n) {
2243
+ return t.compareDocumentPosition(n) & 2 ? 1 : -1;
2244
+ }
2245
+ getBaseTargetFromProps(t, n) {
2246
+ return t.style ? t.style[n] : void 0;
2247
+ }
2248
+ removeValueFromRenderState(t, { vars: n, style: s }) {
2249
+ delete n[t], delete s[t];
2250
+ }
2251
+ handleChildMotionValue() {
2252
+ this.childSubscription && (this.childSubscription(), delete this.childSubscription);
2253
+ const { children: t } = this.props;
2254
+ C(t) && (this.childSubscription = t.on("change", (n) => {
2255
+ this.current && (this.current.textContent = `${n}`);
2256
+ }));
2257
+ }
2258
+ }
2259
+ function An(e, { style: t, vars: n }, s, i) {
2260
+ const r = e.style;
2261
+ let a;
2262
+ for (a in t)
2263
+ r[a] = t[a];
2264
+ i?.applyProjectionStyles(r, s);
2265
+ for (a in n)
2266
+ r.setProperty(a, n[a]);
2267
+ }
2268
+ function Zi(e) {
2269
+ return window.getComputedStyle(e);
2270
+ }
2271
+ class Ar extends Mn {
2272
+ constructor() {
2273
+ super(...arguments), this.type = "html", this.renderInstance = An;
2274
+ }
2275
+ readValueFromInstance(t, n) {
2276
+ if (H.has(n))
2277
+ return this.projection?.isProjecting ? Ae(n) : Ns(t, n);
2278
+ {
2279
+ const s = Zi(t), i = (_e(n) ? s.getPropertyValue(n) : s[n]) || 0;
2280
+ return typeof i == "string" ? i.trim() : i;
2281
+ }
2282
+ }
2283
+ measureInstanceViewportBox(t, { transformPagePoint: n }) {
2284
+ return xn(t, n);
2285
+ }
2286
+ build(t, n, s) {
2287
+ bn(t, n, s.transformTemplate);
2288
+ }
2289
+ scrapeMotionValuesFromProps(t, n, s) {
2290
+ return Vn(t, n, s);
2291
+ }
2292
+ }
2293
+ const Cn = /* @__PURE__ */ new Set([
2294
+ "baseFrequency",
2295
+ "diffuseConstant",
2296
+ "kernelMatrix",
2297
+ "kernelUnitLength",
2298
+ "keySplines",
2299
+ "keyTimes",
2300
+ "limitingConeAngle",
2301
+ "markerHeight",
2302
+ "markerWidth",
2303
+ "numOctaves",
2304
+ "targetX",
2305
+ "targetY",
2306
+ "surfaceScale",
2307
+ "specularConstant",
2308
+ "specularExponent",
2309
+ "stdDeviation",
2310
+ "tableValues",
2311
+ "viewBox",
2312
+ "gradientTransform",
2313
+ "pathLength",
2314
+ "startOffset",
2315
+ "textLength",
2316
+ "lengthAdjust"
2317
+ ]);
2318
+ function Ji(e, t, n, s) {
2319
+ An(e, t, void 0, s);
2320
+ for (const i in t.attrs)
2321
+ e.setAttribute(Cn.has(i) ? i : Je(i), t.attrs[i]);
2322
+ }
2323
+ class Cr extends Mn {
2324
+ constructor() {
2325
+ super(...arguments), this.type = "svg", this.isSVGTag = !1, this.measureInstanceViewportBox = wn;
2326
+ }
2327
+ getBaseTargetFromProps(t, n) {
2328
+ return t[n];
2329
+ }
2330
+ readValueFromInstance(t, n) {
2331
+ if (H.has(n)) {
2332
+ const s = mn(n);
2333
+ return s && s.default || 0;
2334
+ }
2335
+ return n = Cn.has(n) ? n : Je(n), t.getAttribute(n);
2336
+ }
2337
+ scrapeMotionValuesFromProps(t, n, s) {
2338
+ return Ki(t, n, s);
2339
+ }
2340
+ build(t, n, s) {
2341
+ Bi(t, n, this.isSVGTag, s.transformTemplate, s.style);
2342
+ }
2343
+ renderInstance(t, n, s, i) {
2344
+ Ji(t, n, s, i);
2345
+ }
2346
+ mount(t) {
2347
+ this.isSVGTag = Ii(t.tagName), super.mount(t);
2348
+ }
2349
+ }
2350
+ function Qi(e, t, n) {
2351
+ const s = e.getProps();
2352
+ return vn(s, t, n !== void 0 ? n : s.custom, e);
2353
+ }
2354
+ const er = (e) => Array.isArray(e);
2355
+ function tr(e, t, n) {
2356
+ e.hasValue(t) ? e.getValue(t).set(n) : e.addValue(t, te(n));
2357
+ }
2358
+ function nr(e) {
2359
+ return er(e) ? e[e.length - 1] || 0 : e;
2360
+ }
2361
+ function sr(e, t) {
2362
+ const n = Qi(e, t);
2363
+ let { transitionEnd: s = {}, transition: i = {}, ...r } = n || {};
2364
+ r = { ...r, ...s };
2365
+ for (const a in r) {
2366
+ const o = nr(r[a]);
2367
+ tr(e, a, o);
2368
+ }
2369
+ }
2370
+ function ir(e) {
2371
+ return !!(C(e) && e.add);
2372
+ }
2373
+ function rr(e, t) {
2374
+ const n = e.getValue("willChange");
2375
+ if (ir(n))
2376
+ return n.add(t);
2377
+ if (!n && k.WillChange) {
2378
+ const s = new k.WillChange("auto");
2379
+ e.addValue("willChange", s), s.add(t);
2380
+ }
2381
+ }
2382
+ function ar(e) {
2383
+ return e.props[Li];
2384
+ }
2385
+ const or = (e) => e !== null;
2386
+ function lr(e, { repeat: t, repeatType: n = "loop" }, s) {
2387
+ const i = e.filter(or), r = t && n !== "loop" && t % 2 === 1 ? 0 : i.length - 1;
2388
+ return i[r];
2389
+ }
2390
+ const ur = {
2391
+ type: "spring",
2392
+ stiffness: 500,
2393
+ damping: 25,
2394
+ restSpeed: 10
2395
+ }, cr = (e) => ({
2396
+ type: "spring",
2397
+ stiffness: 550,
2398
+ damping: e === 0 ? 2 * Math.sqrt(550) : 30,
2399
+ restSpeed: 10
2400
+ }), fr = {
2401
+ type: "keyframes",
2402
+ duration: 0.8
2403
+ }, hr = {
2404
+ type: "keyframes",
2405
+ ease: [0.25, 0.1, 0.35, 1],
2406
+ duration: 0.3
2407
+ }, dr = (e, { keyframes: t }) => t.length > 2 ? fr : H.has(e) ? e.startsWith("scale") ? cr(t[1]) : ur : hr;
2408
+ function pr({ when: e, delay: t, delayChildren: n, staggerChildren: s, staggerDirection: i, repeat: r, repeatType: a, repeatDelay: o, from: u, elapsed: c, ...l }) {
2409
+ return !!Object.keys(l).length;
2410
+ }
2411
+ const Dn = (e, t, n, s = {}, i, r) => (a) => {
2412
+ const o = fn(s, e) || {}, u = o.delay || s.delay || 0;
2413
+ let { elapsed: c = 0 } = s;
2414
+ c = c - /* @__PURE__ */ R(u);
2415
+ const l = {
2416
+ keyframes: Array.isArray(n) ? n : [null, n],
2417
+ ease: "easeOut",
2418
+ velocity: t.getVelocity(),
2419
+ ...o,
2420
+ delay: -c,
2421
+ onUpdate: (h) => {
2422
+ t.set(h), o.onUpdate && o.onUpdate(h);
2423
+ },
2424
+ onComplete: () => {
2425
+ a(), o.onComplete && o.onComplete();
2426
+ },
2427
+ name: e,
2428
+ motionValue: t,
2429
+ element: r ? void 0 : i
2430
+ };
2431
+ pr(o) || Object.assign(l, dr(e, l)), l.duration && (l.duration = /* @__PURE__ */ R(l.duration)), l.repeatDelay && (l.repeatDelay = /* @__PURE__ */ R(l.repeatDelay)), l.from !== void 0 && (l.keyframes[0] = l.from);
2432
+ let f = !1;
2433
+ if ((l.type === !1 || l.duration === 0 && !l.repeatDelay) && (Ee(l), l.delay === 0 && (f = !0)), (k.instantAnimations || k.skipAnimations) && (f = !0, Ee(l), l.delay = 0), l.allowFlatten = !o.type && !o.ease, f && !r && t.get() !== void 0) {
2434
+ const h = lr(l.keyframes, o);
2435
+ if (h !== void 0) {
2436
+ N.update(() => {
2437
+ l.onUpdate(h), l.onComplete();
2438
+ });
2439
+ return;
2440
+ }
2441
+ }
2442
+ return o.isSync ? new qe(l) : new ii(l);
2443
+ };
2444
+ function mr({ protectedKeys: e, needsAnimating: t }, n) {
2445
+ const s = e.hasOwnProperty(n) && t[n] !== !0;
2446
+ return t[n] = !1, s;
2447
+ }
2448
+ function Dr(e, t, { delay: n = 0, transitionOverride: s, type: i } = {}) {
2449
+ let { transition: r = e.getDefaultTransition(), transitionEnd: a, ...o } = t;
2450
+ s && (r = s);
2451
+ const u = [], c = i && e.animationState && e.animationState.getState()[i];
2452
+ for (const l in o) {
2453
+ const f = e.getValue(l, e.latestValues[l] ?? null), h = o[l];
2454
+ if (h === void 0 || c && mr(c, l))
2455
+ continue;
2456
+ const g = {
2457
+ delay: n,
2458
+ ...fn(r || {}, l)
2459
+ }, T = f.get();
2460
+ if (T !== void 0 && !f.isAnimating && !Array.isArray(h) && h === T && !g.velocity)
2461
+ continue;
2462
+ let y = !1;
2463
+ if (window.MotionHandoffAnimation) {
2464
+ const x = ar(e);
2465
+ if (x) {
2466
+ const D = window.MotionHandoffAnimation(x, l, N);
2467
+ D !== null && (g.startTime = D, y = !0);
2468
+ }
2469
+ }
2470
+ rr(e, l), f.start(Dn(l, f, h, e.shouldReduceMotion && hn.has(l) ? { type: !1 } : g, e, y));
2471
+ const V = f.animation;
2472
+ V && u.push(V);
2473
+ }
2474
+ return a && Promise.all(u).then(() => {
2475
+ N.update(() => {
2476
+ a && sr(e, a);
2477
+ });
2478
+ }), u;
2479
+ }
2480
+ function Fr(e, t, n) {
2481
+ const s = C(e) ? e : te(e);
2482
+ return s.start(Dn("", s, t, n)), s.animation;
2483
+ }
2484
+ export {
2485
+ G as $,
2486
+ Di as A,
2487
+ Si as B,
2488
+ vn as C,
2489
+ Vn as D,
2490
+ Ki as E,
2491
+ Li as F,
2492
+ ne as G,
2493
+ Ar as H,
2494
+ Nt as I,
2495
+ Qi as J,
2496
+ Ci as K,
2497
+ er as L,
2498
+ Ai as M,
2499
+ ue as N,
2500
+ N as O,
2501
+ Ke as P,
2502
+ be as Q,
2503
+ E as R,
2504
+ Cr as S,
2505
+ _ as T,
2506
+ Sr as U,
2507
+ Hi as V,
2508
+ xr as W,
2509
+ _i as X,
2510
+ rr as Y,
2511
+ Dn as Z,
2512
+ Y as _,
2513
+ Rn as a,
2514
+ d as a0,
2515
+ z as a1,
2516
+ Vr as a2,
2517
+ vi as a3,
2518
+ En as a4,
2519
+ F as a5,
2520
+ In as a6,
2521
+ vt as a7,
2522
+ Ot as a8,
2523
+ fn as a9,
2524
+ Tr as aa,
2525
+ Ui as ab,
2526
+ St as ac,
2527
+ At as ad,
2528
+ ji as ae,
2529
+ Gi as af,
2530
+ Yi as ag,
2531
+ wr as ah,
2532
+ Mr as ai,
2533
+ te as aj,
2534
+ ke as ak,
2535
+ ar as al,
2536
+ C as b,
2537
+ ms as c,
2538
+ As as d,
2539
+ ln as e,
2540
+ Ms as f,
2541
+ W as g,
2542
+ wn as h,
2543
+ Ln as i,
2544
+ Vi as j,
2545
+ vr as k,
2546
+ Fr as l,
2547
+ re as m,
2548
+ Dr as n,
2549
+ he as o,
2550
+ Rt as p,
2551
+ Oe as q,
2552
+ br as r,
2553
+ R as s,
2554
+ Tn as t,
2555
+ Mi as u,
2556
+ zi as v,
2557
+ Fi as w,
2558
+ bn as x,
2559
+ Bi as y,
2560
+ Ii as z
2561
+ };