@ssgoi/react 0.0.5 → 0.0.7

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.
package/dist/index.js CHANGED
@@ -1,42 +1,43 @@
1
+ import { r as Lt } from "./utils-DR41YsAh-mLT5vDuI.js";
1
2
  import { jsx as mt } from "react/jsx-runtime";
2
- import { createContext as Lt, useContext as qt, useMemo as Bt } from "react";
3
- import { g as _t } from "./utils-DR41YsAh.js";
4
- function ht(t, e) {
3
+ import { createContext as Bt, useContext as Wt, useMemo as Gt } from "react";
4
+ var Ht = Object.defineProperty, zt = (t, e, n) => e in t ? Ht(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, j = (t, e, n) => zt(t, typeof e != "symbol" ? e + "" : e, n);
5
+ function dt(t, e) {
5
6
  var n = {};
6
7
  for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && e.indexOf(r) < 0 && (n[r] = t[r]);
7
8
  if (t != null && typeof Object.getOwnPropertySymbols == "function")
8
- for (var s = 0, r = Object.getOwnPropertySymbols(t); s < r.length; s++)
9
- e.indexOf(r[s]) < 0 && Object.prototype.propertyIsEnumerable.call(t, r[s]) && (n[r[s]] = t[r[s]]);
9
+ for (var o = 0, r = Object.getOwnPropertySymbols(t); o < r.length; o++)
10
+ e.indexOf(r[o]) < 0 && Object.prototype.propertyIsEnumerable.call(t, r[o]) && (n[r[o]] = t[r[o]]);
10
11
  return n;
11
12
  }
12
- var X = function() {
13
- }, V = function() {
13
+ var _ = function() {
14
+ }, E = function() {
14
15
  };
15
- process.env.NODE_ENV !== "production" && (X = function(t, e) {
16
+ process.env.NODE_ENV !== "production" && (_ = function(t, e) {
16
17
  !t && typeof console < "u" && console.warn(e);
17
- }, V = function(t, e) {
18
+ }, E = function(t, e) {
18
19
  if (!t)
19
20
  throw new Error(e);
20
21
  });
21
- const W = (t, e, n) => Math.min(Math.max(n, t), e), q = 1e-3, Wt = 0.01, ot = 10, Gt = 0.05, Ht = 1;
22
- function Kt({ duration: t = 800, bounce: e = 0.25, velocity: n = 0, mass: r = 1 }) {
23
- let s, i;
24
- X(t <= ot * 1e3, "Spring duration must be 10 seconds or less");
25
- let o = 1 - e;
26
- o = W(Gt, Ht, o), t = W(Wt, ot, t / 1e3), o < 1 ? (s = (a) => {
27
- const p = a * o, m = p * t, u = p - n, f = G(a, o), h = Math.exp(-m);
28
- return q - u / f * h;
29
- }, i = (a) => {
30
- const m = a * o * t, u = m * n + n, f = Math.pow(o, 2) * Math.pow(a, 2) * t, h = Math.exp(-m), x = G(Math.pow(a, 2), o);
31
- return (-s(a) + q > 0 ? -1 : 1) * ((u - f) * h) / x;
32
- }) : (s = (a) => {
33
- const p = Math.exp(-a * t), m = (a - n) * t + 1;
34
- return -q + p * m;
35
- }, i = (a) => {
36
- const p = Math.exp(-a * t), m = (n - a) * (t * t);
37
- return p * m;
22
+ const H = (t, e, n) => Math.min(Math.max(n, t), e), B = 1e-3, Jt = 0.01, at = 10, Kt = 0.05, Qt = 1;
23
+ function Xt({ duration: t = 800, bounce: e = 0.25, velocity: n = 0, mass: r = 1 }) {
24
+ let o, a;
25
+ _(t <= at * 1e3, "Spring duration must be 10 seconds or less");
26
+ let s = 1 - e;
27
+ s = H(Kt, Qt, s), t = H(Jt, at, t / 1e3), s < 1 ? (o = (u) => {
28
+ const h = u * s, m = h * t, i = h - n, l = z(u, s), p = Math.exp(-m);
29
+ return B - i / l * p;
30
+ }, a = (u) => {
31
+ const h = u * s * t, m = h * n + n, i = Math.pow(s, 2) * Math.pow(u, 2) * t, l = Math.exp(-h), p = z(Math.pow(u, 2), s);
32
+ return (-o(u) + B > 0 ? -1 : 1) * ((m - i) * l) / p;
33
+ }) : (o = (u) => {
34
+ const h = Math.exp(-u * t), m = (u - n) * t + 1;
35
+ return -B + h * m;
36
+ }, a = (u) => {
37
+ const h = Math.exp(-u * t), m = (n - u) * (t * t);
38
+ return h * m;
38
39
  });
39
- const l = 5 / t, c = Zt(s, i, l);
40
+ const f = 5 / t, c = Zt(o, a, f);
40
41
  if (t = t * 1e3, isNaN(c))
41
42
  return {
42
43
  stiffness: 100,
@@ -44,425 +45,444 @@ function Kt({ duration: t = 800, bounce: e = 0.25, velocity: n = 0, mass: r = 1
44
45
  duration: t
45
46
  };
46
47
  {
47
- const a = Math.pow(c, 2) * r;
48
+ const u = Math.pow(c, 2) * r;
48
49
  return {
49
- stiffness: a,
50
- damping: o * 2 * Math.sqrt(r * a),
50
+ stiffness: u,
51
+ damping: s * 2 * Math.sqrt(r * u),
51
52
  duration: t
52
53
  };
53
54
  }
54
55
  }
55
- const zt = 12;
56
+ const Yt = 12;
56
57
  function Zt(t, e, n) {
57
58
  let r = n;
58
- for (let s = 1; s < zt; s++)
59
+ for (let o = 1; o < Yt; o++)
59
60
  r = r - t(r) / e(r);
60
61
  return r;
61
62
  }
62
- function G(t, e) {
63
+ function z(t, e) {
63
64
  return t * Math.sqrt(1 - e * e);
64
65
  }
65
- const Jt = ["duration", "bounce"], Qt = ["stiffness", "damping", "mass"];
66
+ const _t = ["duration", "bounce"], te = ["stiffness", "damping", "mass"];
66
67
  function it(t, e) {
67
68
  return e.some((n) => t[n] !== void 0);
68
69
  }
69
- function Xt(t) {
70
+ function ee(t) {
70
71
  let e = Object.assign({ velocity: 0, stiffness: 100, damping: 10, mass: 1, isResolvedFromDuration: !1 }, t);
71
- if (!it(t, Qt) && it(t, Jt)) {
72
- const n = Kt(t);
72
+ if (!it(t, te) && it(t, _t)) {
73
+ const n = Xt(t);
73
74
  e = Object.assign(Object.assign(Object.assign({}, e), n), { velocity: 0, mass: 1 }), e.isResolvedFromDuration = !0;
74
75
  }
75
76
  return e;
76
77
  }
77
- function Y(t) {
78
- var { from: e = 0, to: n = 1, restSpeed: r = 2, restDelta: s } = t, i = ht(t, ["from", "to", "restSpeed", "restDelta"]);
79
- const o = { done: !1, value: e };
80
- let { stiffness: l, damping: c, mass: a, velocity: p, duration: m, isResolvedFromDuration: u } = Xt(i), f = at, h = at;
81
- function x() {
82
- const y = p ? -(p / 1e3) : 0, S = n - e, b = c / (2 * Math.sqrt(l * a)), g = Math.sqrt(l / a) / 1e3;
83
- if (s === void 0 && (s = Math.min(Math.abs(n - e) / 100, 0.4)), b < 1) {
84
- const d = G(g, b);
85
- f = (M) => {
86
- const w = Math.exp(-b * g * M);
87
- return n - w * ((y + b * g * S) / d * Math.sin(d * M) + S * Math.cos(d * M));
88
- }, h = (M) => {
89
- const w = Math.exp(-b * g * M);
90
- return b * g * w * (Math.sin(d * M) * (y + b * g * S) / d + S * Math.cos(d * M)) - w * (Math.cos(d * M) * (y + b * g * S) - d * S * Math.sin(d * M));
78
+ function tt(t) {
79
+ var { from: e = 0, to: n = 1, restSpeed: r = 2, restDelta: o } = t, a = dt(t, ["from", "to", "restSpeed", "restDelta"]);
80
+ const s = { done: !1, value: e };
81
+ let { stiffness: f, damping: c, mass: u, velocity: h, duration: m, isResolvedFromDuration: i } = ee(a), l = lt, p = lt;
82
+ function y() {
83
+ const b = h ? -(h / 1e3) : 0, d = n - e, g = c / (2 * Math.sqrt(f * u)), w = Math.sqrt(f / u) / 1e3;
84
+ if (o === void 0 && (o = Math.min(Math.abs(n - e) / 100, 0.4)), g < 1) {
85
+ const v = z(w, g);
86
+ l = (M) => {
87
+ const x = Math.exp(-g * w * M);
88
+ return n - x * ((b + g * w * d) / v * Math.sin(v * M) + d * Math.cos(v * M));
89
+ }, p = (M) => {
90
+ const x = Math.exp(-g * w * M);
91
+ return g * w * x * (Math.sin(v * M) * (b + g * w * d) / v + d * Math.cos(v * M)) - x * (Math.cos(v * M) * (b + g * w * d) - v * d * Math.sin(v * M));
91
92
  };
92
- } else if (b === 1)
93
- f = (d) => n - Math.exp(-g * d) * (S + (y + g * S) * d);
93
+ } else if (g === 1)
94
+ l = (v) => n - Math.exp(-w * v) * (d + (b + w * d) * v);
94
95
  else {
95
- const d = g * Math.sqrt(b * b - 1);
96
- f = (M) => {
97
- const w = Math.exp(-b * g * M), O = Math.min(d * M, 300);
98
- return n - w * ((y + b * g * S) * Math.sinh(O) + d * S * Math.cosh(O)) / d;
96
+ const v = w * Math.sqrt(g * g - 1);
97
+ l = (M) => {
98
+ const x = Math.exp(-g * w * M), A = Math.min(v * M, 300);
99
+ return n - x * ((b + g * w * d) * Math.sinh(A) + v * d * Math.cosh(A)) / v;
99
100
  };
100
101
  }
101
102
  }
102
- return x(), {
103
- next: (y) => {
104
- const S = f(y);
105
- if (u)
106
- o.done = y >= m;
103
+ return y(), {
104
+ next: (b) => {
105
+ const d = l(b);
106
+ if (i)
107
+ s.done = b >= m;
107
108
  else {
108
- const b = h(y) * 1e3, g = Math.abs(b) <= r, d = Math.abs(n - S) <= s;
109
- o.done = g && d;
109
+ const g = p(b) * 1e3, w = Math.abs(g) <= r, v = Math.abs(n - d) <= o;
110
+ s.done = w && v;
110
111
  }
111
- return o.value = o.done ? n : S, o;
112
+ return s.value = s.done ? n : d, s;
112
113
  },
113
114
  flipTarget: () => {
114
- p = -p, [e, n] = [n, e], x();
115
+ h = -h, [e, n] = [n, e], y();
115
116
  }
116
117
  };
117
118
  }
118
- Y.needsInterpolation = (t, e) => typeof t == "string" || typeof e == "string";
119
- const at = (t) => 0, dt = (t, e, n) => {
119
+ tt.needsInterpolation = (t, e) => typeof t == "string" || typeof e == "string";
120
+ const lt = (t) => 0, gt = (t, e, n) => {
120
121
  const r = e - t;
121
122
  return r === 0 ? 1 : (n - t) / r;
122
- }, tt = (t, e, n) => -n * t + n * e + t, gt = (t, e) => (n) => Math.max(Math.min(n, e), t), A = (t) => t % 1 ? Number(t.toFixed(5)) : t, N = /(-)?([\d]*\.?[\d])+/g, H = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi, Yt = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;
123
- function j(t) {
123
+ }, et = (t, e, n) => -n * t + n * e + t, vt = (t, e) => (n) => Math.max(Math.min(n, e), t), R = (t) => t % 1 ? Number(t.toFixed(5)) : t, D = /(-)?([\d]*\.?[\d])+/g, J = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi, ne = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;
124
+ function T(t) {
124
125
  return typeof t == "string";
125
126
  }
126
- const k = {
127
+ const U = {
127
128
  test: (t) => typeof t == "number",
128
129
  parse: parseFloat,
129
130
  transform: (t) => t
130
- }, yt = Object.assign(Object.assign({}, k), { transform: gt(0, 1) });
131
- Object.assign(Object.assign({}, k), { default: 1 });
132
- const te = (t) => ({
133
- test: (e) => j(e) && e.endsWith(t) && e.split(" ").length === 1,
131
+ }, yt = Object.assign(Object.assign({}, U), { transform: vt(0, 1) });
132
+ Object.assign(Object.assign({}, U), { default: 1 });
133
+ const re = (t) => ({
134
+ test: (e) => T(e) && e.endsWith(t) && e.split(" ").length === 1,
134
135
  parse: parseFloat,
135
136
  transform: (e) => `${e}${t}`
136
- }), R = te("%");
137
- Object.assign(Object.assign({}, R), { parse: (t) => R.parse(t) / 100, transform: (t) => R.transform(t * 100) });
138
- const et = (t, e) => (n) => !!(j(n) && Yt.test(n) && n.startsWith(t) || e && Object.prototype.hasOwnProperty.call(n, e)), bt = (t, e, n) => (r) => {
139
- if (!j(r))
137
+ }), V = re("%");
138
+ Object.assign(Object.assign({}, V), { parse: (t) => V.parse(t) / 100, transform: (t) => V.transform(t * 100) });
139
+ const nt = (t, e) => (n) => !!(T(n) && ne.test(n) && n.startsWith(t) || e && Object.prototype.hasOwnProperty.call(n, e)), bt = (t, e, n) => (r) => {
140
+ if (!T(r))
140
141
  return r;
141
- const [s, i, o, l] = r.match(N);
142
+ const [o, a, s, f] = r.match(D);
142
143
  return {
143
- [t]: parseFloat(s),
144
- [e]: parseFloat(i),
145
- [n]: parseFloat(o),
146
- alpha: l !== void 0 ? parseFloat(l) : 1
144
+ [t]: parseFloat(o),
145
+ [e]: parseFloat(a),
146
+ [n]: parseFloat(s),
147
+ alpha: f !== void 0 ? parseFloat(f) : 1
147
148
  };
148
- }, C = {
149
- test: et("hsl", "hue"),
149
+ }, S = {
150
+ test: nt("hsl", "hue"),
150
151
  parse: bt("hue", "saturation", "lightness"),
151
- transform: ({ hue: t, saturation: e, lightness: n, alpha: r = 1 }) => "hsla(" + Math.round(t) + ", " + R.transform(A(e)) + ", " + R.transform(A(n)) + ", " + A(yt.transform(r)) + ")"
152
- }, ee = gt(0, 255), B = Object.assign(Object.assign({}, k), { transform: (t) => Math.round(ee(t)) }), v = {
153
- test: et("rgb", "red"),
152
+ transform: ({ hue: t, saturation: e, lightness: n, alpha: r = 1 }) => "hsla(" + Math.round(t) + ", " + V.transform(R(e)) + ", " + V.transform(R(n)) + ", " + R(yt.transform(r)) + ")"
153
+ }, oe = vt(0, 255), W = Object.assign(Object.assign({}, U), { transform: (t) => Math.round(oe(t)) }), O = {
154
+ test: nt("rgb", "red"),
154
155
  parse: bt("red", "green", "blue"),
155
- transform: ({ red: t, green: e, blue: n, alpha: r = 1 }) => "rgba(" + B.transform(t) + ", " + B.transform(e) + ", " + B.transform(n) + ", " + A(yt.transform(r)) + ")"
156
+ transform: ({ red: t, green: e, blue: n, alpha: r = 1 }) => "rgba(" + W.transform(t) + ", " + W.transform(e) + ", " + W.transform(n) + ", " + R(yt.transform(r)) + ")"
156
157
  };
157
- function ne(t) {
158
- let e = "", n = "", r = "", s = "";
159
- return t.length > 5 ? (e = t.substr(1, 2), n = t.substr(3, 2), r = t.substr(5, 2), s = t.substr(7, 2)) : (e = t.substr(1, 1), n = t.substr(2, 1), r = t.substr(3, 1), s = t.substr(4, 1), e += e, n += n, r += r, s += s), {
158
+ function se(t) {
159
+ let e = "", n = "", r = "", o = "";
160
+ return t.length > 5 ? (e = t.substr(1, 2), n = t.substr(3, 2), r = t.substr(5, 2), o = t.substr(7, 2)) : (e = t.substr(1, 1), n = t.substr(2, 1), r = t.substr(3, 1), o = t.substr(4, 1), e += e, n += n, r += r, o += o), {
160
161
  red: parseInt(e, 16),
161
162
  green: parseInt(n, 16),
162
163
  blue: parseInt(r, 16),
163
- alpha: s ? parseInt(s, 16) / 255 : 1
164
+ alpha: o ? parseInt(o, 16) / 255 : 1
164
165
  };
165
166
  }
166
167
  const K = {
167
- test: et("#"),
168
- parse: ne,
169
- transform: v.transform
170
- }, U = {
171
- test: (t) => v.test(t) || K.test(t) || C.test(t),
172
- parse: (t) => v.test(t) ? v.parse(t) : C.test(t) ? C.parse(t) : K.parse(t),
173
- transform: (t) => j(t) ? t : t.hasOwnProperty("red") ? v.transform(t) : C.transform(t)
174
- }, xt = "${c}", St = "${n}";
175
- function re(t) {
176
- var e, n, r, s;
177
- return isNaN(t) && j(t) && ((n = (e = t.match(N)) === null || e === void 0 ? void 0 : e.length) !== null && n !== void 0 ? n : 0) + ((s = (r = t.match(H)) === null || r === void 0 ? void 0 : r.length) !== null && s !== void 0 ? s : 0) > 0;
178
- }
179
- function Mt(t) {
168
+ test: nt("#"),
169
+ parse: se,
170
+ transform: O.transform
171
+ }, $ = {
172
+ test: (t) => O.test(t) || K.test(t) || S.test(t),
173
+ parse: (t) => O.test(t) ? O.parse(t) : S.test(t) ? S.parse(t) : K.parse(t),
174
+ transform: (t) => T(t) ? t : t.hasOwnProperty("red") ? O.transform(t) : S.transform(t)
175
+ }, wt = "${c}", Mt = "${n}";
176
+ function ae(t) {
177
+ var e, n, r, o;
178
+ return isNaN(t) && T(t) && ((n = (e = t.match(D)) === null || e === void 0 ? void 0 : e.length) !== null && n !== void 0 ? n : 0) + ((o = (r = t.match(J)) === null || r === void 0 ? void 0 : r.length) !== null && o !== void 0 ? o : 0) > 0;
179
+ }
180
+ function xt(t) {
180
181
  typeof t == "number" && (t = `${t}`);
181
182
  const e = [];
182
183
  let n = 0;
183
- const r = t.match(H);
184
- r && (n = r.length, t = t.replace(H, xt), e.push(...r.map(U.parse)));
185
- const s = t.match(N);
186
- return s && (t = t.replace(N, St), e.push(...s.map(k.parse))), { values: e, numColors: n, tokenised: t };
187
- }
188
- function wt(t) {
189
- return Mt(t).values;
190
- }
191
- function vt(t) {
192
- const { values: e, numColors: n, tokenised: r } = Mt(t), s = e.length;
193
- return (i) => {
194
- let o = r;
195
- for (let l = 0; l < s; l++)
196
- o = o.replace(l < n ? xt : St, l < n ? U.transform(i[l]) : A(i[l]));
197
- return o;
184
+ const r = t.match(J);
185
+ r && (n = r.length, t = t.replace(J, wt), e.push(...r.map($.parse)));
186
+ const o = t.match(D);
187
+ return o && (t = t.replace(D, Mt), e.push(...o.map(U.parse))), { values: e, numColors: n, tokenised: t };
188
+ }
189
+ function Ot(t) {
190
+ return xt(t).values;
191
+ }
192
+ function St(t) {
193
+ const { values: e, numColors: n, tokenised: r } = xt(t), o = e.length;
194
+ return (a) => {
195
+ let s = r;
196
+ for (let f = 0; f < o; f++)
197
+ s = s.replace(f < n ? wt : Mt, f < n ? $.transform(a[f]) : R(a[f]));
198
+ return s;
198
199
  };
199
200
  }
200
- const se = (t) => typeof t == "number" ? 0 : t;
201
- function oe(t) {
202
- const e = wt(t);
203
- return vt(t)(e.map(se));
201
+ const ie = (t) => typeof t == "number" ? 0 : t;
202
+ function le(t) {
203
+ const e = Ot(t);
204
+ return St(t)(e.map(ie));
204
205
  }
205
- const Ct = { test: re, parse: wt, createTransformer: vt, getAnimatableNone: oe };
206
- function _(t, e, n) {
206
+ const At = { test: ae, parse: Ot, createTransformer: St, getAnimatableNone: le };
207
+ function G(t, e, n) {
207
208
  return n < 0 && (n += 1), n > 1 && (n -= 1), n < 1 / 6 ? t + (e - t) * 6 * n : n < 1 / 2 ? e : n < 2 / 3 ? t + (e - t) * (2 / 3 - n) * 6 : t;
208
209
  }
209
- function lt({ hue: t, saturation: e, lightness: n, alpha: r }) {
210
+ function ut({ hue: t, saturation: e, lightness: n, alpha: r }) {
210
211
  t /= 360, e /= 100, n /= 100;
211
- let s = 0, i = 0, o = 0;
212
+ let o = 0, a = 0, s = 0;
212
213
  if (!e)
213
- s = i = o = n;
214
+ o = a = s = n;
214
215
  else {
215
- const l = n < 0.5 ? n * (1 + e) : n + e - n * e, c = 2 * n - l;
216
- s = _(c, l, t + 1 / 3), i = _(c, l, t), o = _(c, l, t - 1 / 3);
216
+ const f = n < 0.5 ? n * (1 + e) : n + e - n * e, c = 2 * n - f;
217
+ o = G(c, f, t + 1 / 3), a = G(c, f, t), s = G(c, f, t - 1 / 3);
217
218
  }
218
219
  return {
219
- red: Math.round(s * 255),
220
- green: Math.round(i * 255),
221
- blue: Math.round(o * 255),
220
+ red: Math.round(o * 255),
221
+ green: Math.round(a * 255),
222
+ blue: Math.round(s * 255),
222
223
  alpha: r
223
224
  };
224
225
  }
225
- const ie = (t, e, n) => {
226
- const r = t * t, s = e * e;
227
- return Math.sqrt(Math.max(0, n * (s - r) + r));
228
- }, ae = [K, v, C], ct = (t) => ae.find((e) => e.test(t)), ut = (t) => `'${t}' is not an animatable color. Use the equivalent color code instead.`, Ot = (t, e) => {
226
+ const ue = (t, e, n) => {
227
+ const r = t * t, o = e * e;
228
+ return Math.sqrt(Math.max(0, n * (o - r) + r));
229
+ }, ce = [K, O, S], ct = (t) => ce.find((e) => e.test(t)), ft = (t) => `'${t}' is not an animatable color. Use the equivalent color code instead.`, jt = (t, e) => {
229
230
  let n = ct(t), r = ct(e);
230
- V(!!n, ut(t)), V(!!r, ut(e));
231
- let s = n.parse(t), i = r.parse(e);
232
- n === C && (s = lt(s), n = v), r === C && (i = lt(i), r = v);
233
- const o = Object.assign({}, s);
234
- return (l) => {
235
- for (const c in o)
236
- c !== "alpha" && (o[c] = ie(s[c], i[c], l));
237
- return o.alpha = tt(s.alpha, i.alpha, l), n.transform(o);
231
+ E(!!n, ft(t)), E(!!r, ft(e));
232
+ let o = n.parse(t), a = r.parse(e);
233
+ n === S && (o = ut(o), n = O), r === S && (a = ut(a), r = O);
234
+ const s = Object.assign({}, o);
235
+ return (f) => {
236
+ for (const c in s)
237
+ c !== "alpha" && (s[c] = ue(o[c], a[c], f));
238
+ return s.alpha = et(o.alpha, a.alpha, f), n.transform(s);
238
239
  };
239
- }, le = (t) => typeof t == "number", ce = (t, e) => (n) => e(t(n)), Tt = (...t) => t.reduce(ce);
240
- function At(t, e) {
241
- return le(t) ? (n) => tt(t, e, n) : U.test(t) ? Ot(t, e) : Et(t, e);
242
- }
243
- const Rt = (t, e) => {
244
- const n = [...t], r = n.length, s = t.map((i, o) => At(i, e[o]));
245
- return (i) => {
246
- for (let o = 0; o < r; o++)
247
- n[o] = s[o](i);
240
+ }, fe = (t) => typeof t == "number", pe = (t, e) => (n) => e(t(n)), Ct = (...t) => t.reduce(pe);
241
+ function Rt(t, e) {
242
+ return fe(t) ? (n) => et(t, e, n) : $.test(t) ? jt(t, e) : Pt(t, e);
243
+ }
244
+ const Vt = (t, e) => {
245
+ const n = [...t], r = n.length, o = t.map((a, s) => Rt(a, e[s]));
246
+ return (a) => {
247
+ for (let s = 0; s < r; s++)
248
+ n[s] = o[s](a);
248
249
  return n;
249
250
  };
250
- }, ue = (t, e) => {
251
+ }, he = (t, e) => {
251
252
  const n = Object.assign(Object.assign({}, t), e), r = {};
252
- for (const s in n)
253
- t[s] !== void 0 && e[s] !== void 0 && (r[s] = At(t[s], e[s]));
254
- return (s) => {
255
- for (const i in r)
256
- n[i] = r[i](s);
253
+ for (const o in n)
254
+ t[o] !== void 0 && e[o] !== void 0 && (r[o] = Rt(t[o], e[o]));
255
+ return (o) => {
256
+ for (const a in r)
257
+ n[a] = r[a](o);
257
258
  return n;
258
259
  };
259
260
  };
260
- function ft(t) {
261
- const e = Ct.parse(t), n = e.length;
262
- let r = 0, s = 0, i = 0;
263
- for (let o = 0; o < n; o++)
264
- r || typeof e[o] == "number" ? r++ : e[o].hue !== void 0 ? i++ : s++;
265
- return { parsed: e, numNumbers: r, numRGB: s, numHSL: i };
266
- }
267
- const Et = (t, e) => {
268
- const n = Ct.createTransformer(e), r = ft(t), s = ft(e);
269
- return r.numHSL === s.numHSL && r.numRGB === s.numRGB && r.numNumbers >= s.numNumbers ? Tt(Rt(r.parsed, s.parsed), n) : (X(!0, `Complex values '${t}' and '${e}' 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.`), (o) => `${o > 0 ? e : t}`);
270
- }, fe = (t, e) => (n) => tt(t, e, n);
271
- function pe(t) {
261
+ function pt(t) {
262
+ const e = At.parse(t), n = e.length;
263
+ let r = 0, o = 0, a = 0;
264
+ for (let s = 0; s < n; s++)
265
+ r || typeof e[s] == "number" ? r++ : e[s].hue !== void 0 ? a++ : o++;
266
+ return { parsed: e, numNumbers: r, numRGB: o, numHSL: a };
267
+ }
268
+ const Pt = (t, e) => {
269
+ const n = At.createTransformer(e), r = pt(t), o = pt(e);
270
+ return r.numHSL === o.numHSL && r.numRGB === o.numRGB && r.numNumbers >= o.numNumbers ? Ct(Vt(r.parsed, o.parsed), n) : (_(!0, `Complex values '${t}' and '${e}' 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.`), (a) => `${a > 0 ? e : t}`);
271
+ }, me = (t, e) => (n) => et(t, e, n);
272
+ function de(t) {
272
273
  if (typeof t == "number")
273
- return fe;
274
+ return me;
274
275
  if (typeof t == "string")
275
- return U.test(t) ? Ot : Et;
276
+ return $.test(t) ? jt : Pt;
276
277
  if (Array.isArray(t))
277
- return Rt;
278
+ return Vt;
278
279
  if (typeof t == "object")
279
- return ue;
280
+ return he;
280
281
  }
281
- function me(t, e, n) {
282
- const r = [], s = n || pe(t[0]), i = t.length - 1;
283
- for (let o = 0; o < i; o++) {
284
- let l = s(t[o], t[o + 1]);
282
+ function ge(t, e, n) {
283
+ const r = [], o = n || de(t[0]), a = t.length - 1;
284
+ for (let s = 0; s < a; s++) {
285
+ let f = o(t[s], t[s + 1]);
285
286
  if (e) {
286
- const c = Array.isArray(e) ? e[o] : e;
287
- l = Tt(c, l);
287
+ const c = Array.isArray(e) ? e[s] : e;
288
+ f = Ct(c, f);
288
289
  }
289
- r.push(l);
290
+ r.push(f);
290
291
  }
291
292
  return r;
292
293
  }
293
- function he([t, e], [n]) {
294
- return (r) => n(dt(t, e, r));
294
+ function ve([t, e], [n]) {
295
+ return (r) => n(gt(t, e, r));
295
296
  }
296
- function de(t, e) {
297
+ function ye(t, e) {
297
298
  const n = t.length, r = n - 1;
298
- return (s) => {
299
- let i = 0, o = !1;
300
- if (s <= t[0] ? o = !0 : s >= t[r] && (i = r - 1, o = !0), !o) {
299
+ return (o) => {
300
+ let a = 0, s = !1;
301
+ if (o <= t[0] ? s = !0 : o >= t[r] && (a = r - 1, s = !0), !s) {
301
302
  let c = 1;
302
- for (; c < n && !(t[c] > s || c === r); c++)
303
+ for (; c < n && !(t[c] > o || c === r); c++)
303
304
  ;
304
- i = c - 1;
305
+ a = c - 1;
305
306
  }
306
- const l = dt(t[i], t[i + 1], s);
307
- return e[i](l);
307
+ const f = gt(t[a], t[a + 1], o);
308
+ return e[a](f);
308
309
  };
309
310
  }
310
- function Vt(t, e, { clamp: n = !0, ease: r, mixer: s } = {}) {
311
- const i = t.length;
312
- V(i === e.length, "Both input and output ranges must be the same length"), V(!r || !Array.isArray(r) || r.length === i - 1, "Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values."), t[0] > t[i - 1] && (t = [].concat(t), e = [].concat(e), t.reverse(), e.reverse());
313
- const o = me(e, r, s), l = i === 2 ? he(t, o) : de(t, o);
314
- return n ? (c) => l(W(t[0], t[i - 1], c)) : l;
311
+ function Et(t, e, { clamp: n = !0, ease: r, mixer: o } = {}) {
312
+ const a = t.length;
313
+ E(a === e.length, "Both input and output ranges must be the same length"), E(!r || !Array.isArray(r) || r.length === a - 1, "Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values."), t[0] > t[a - 1] && (t = [].concat(t), e = [].concat(e), t.reverse(), e.reverse());
314
+ const s = ge(e, r, o), f = a === 2 ? ve(t, s) : ye(t, s);
315
+ return n ? (c) => f(H(t[0], t[a - 1], c)) : f;
315
316
  }
316
- const ge = (t) => (e) => e <= 0.5 ? t(2 * e) / 2 : (2 - t(2 * (1 - e))) / 2, ye = (t) => (e) => Math.pow(e, t), be = ye(2), xe = ge(be);
317
- function Se(t, e) {
317
+ const be = (t) => (e) => e <= 0.5 ? t(2 * e) / 2 : (2 - t(2 * (1 - e))) / 2, we = (t) => (e) => Math.pow(e, t), Me = we(2), xe = be(Me);
318
+ function Oe(t, e) {
318
319
  return t.map(() => e || xe).splice(0, t.length - 1);
319
320
  }
320
- function Me(t) {
321
+ function Se(t) {
321
322
  const e = t.length;
322
323
  return t.map((n, r) => r !== 0 ? r / (e - 1) : 0);
323
324
  }
324
- function we(t, e) {
325
+ function Ae(t, e) {
325
326
  return t.map((n) => n * e);
326
327
  }
327
- function P({ from: t = 0, to: e = 1, ease: n, offset: r, duration: s = 300 }) {
328
- const i = { done: !1, value: t }, o = Array.isArray(e) ? e : [t, e], l = we(r && r.length === o.length ? r : Me(o), s);
328
+ function N({ from: t = 0, to: e = 1, ease: n, offset: r, duration: o = 300 }) {
329
+ const a = { done: !1, value: t }, s = Array.isArray(e) ? e : [t, e], f = Ae(r && r.length === s.length ? r : Se(s), o);
329
330
  function c() {
330
- return Vt(l, o, {
331
- ease: Array.isArray(n) ? n : Se(o, n)
331
+ return Et(f, s, {
332
+ ease: Array.isArray(n) ? n : Oe(s, n)
332
333
  });
333
334
  }
334
- let a = c();
335
+ let u = c();
335
336
  return {
336
- next: (p) => (i.value = a(p), i.done = p >= s, i),
337
+ next: (h) => (a.value = u(h), a.done = h >= o, a),
337
338
  flipTarget: () => {
338
- o.reverse(), a = c();
339
+ s.reverse(), u = c();
339
340
  }
340
341
  };
341
342
  }
342
- function ve({ velocity: t = 0, from: e = 0, power: n = 0.8, timeConstant: r = 350, restDelta: s = 0.5, modifyTarget: i }) {
343
- const o = { done: !1, value: e };
344
- let l = n * t;
345
- const c = e + l, a = i === void 0 ? c : i(c);
346
- return a !== c && (l = a - e), {
347
- next: (p) => {
348
- const m = -l * Math.exp(-p / r);
349
- return o.done = !(m > s || m < -s), o.value = o.done ? a : a + m, o;
343
+ function je({ velocity: t = 0, from: e = 0, power: n = 0.8, timeConstant: r = 350, restDelta: o = 0.5, modifyTarget: a }) {
344
+ const s = { done: !1, value: e };
345
+ let f = n * t;
346
+ const c = e + f, u = a === void 0 ? c : a(c);
347
+ return u !== c && (f = u - e), {
348
+ next: (h) => {
349
+ const m = -f * Math.exp(-h / r);
350
+ return s.done = !(m > o || m < -o), s.value = s.done ? u : u + m, s;
350
351
  },
351
352
  flipTarget: () => {
352
353
  }
353
354
  };
354
355
  }
355
- const pt = { keyframes: P, spring: Y, decay: ve };
356
+ const ht = { keyframes: N, spring: tt, decay: je };
356
357
  function Ce(t) {
357
358
  if (Array.isArray(t.to))
358
- return P;
359
- if (pt[t.type])
360
- return pt[t.type];
359
+ return N;
360
+ if (ht[t.type])
361
+ return ht[t.type];
361
362
  const e = new Set(Object.keys(t));
362
- return e.has("ease") || e.has("duration") && !e.has("dampingRatio") ? P : e.has("dampingRatio") || e.has("stiffness") || e.has("mass") || e.has("damping") || e.has("restSpeed") || e.has("restDelta") ? Y : P;
363
- }
364
- const It = 1 / 60 * 1e3, Oe = typeof performance < "u" ? () => performance.now() : () => Date.now(), jt = typeof window < "u" ? (t) => window.requestAnimationFrame(t) : (t) => setTimeout(() => t(Oe()), It);
365
- function Te(t) {
366
- let e = [], n = [], r = 0, s = !1, i = !1;
367
- const o = /* @__PURE__ */ new WeakSet(), l = {
368
- schedule: (c, a = !1, p = !1) => {
369
- const m = p && s, u = m ? e : n;
370
- return a && o.add(c), u.indexOf(c) === -1 && (u.push(c), m && s && (r = e.length)), c;
363
+ return e.has("ease") || e.has("duration") && !e.has("dampingRatio") ? N : e.has("dampingRatio") || e.has("stiffness") || e.has("mass") || e.has("damping") || e.has("restSpeed") || e.has("restDelta") ? tt : N;
364
+ }
365
+ const kt = 1 / 60 * 1e3, Re = typeof performance < "u" ? () => performance.now() : () => Date.now(), Tt = typeof window < "u" ? (t) => window.requestAnimationFrame(t) : (t) => setTimeout(() => t(Re()), kt);
366
+ function Ve(t) {
367
+ let e = [], n = [], r = 0, o = !1, a = !1;
368
+ const s = /* @__PURE__ */ new WeakSet(), f = {
369
+ schedule: (c, u = !1, h = !1) => {
370
+ const m = h && o, i = m ? e : n;
371
+ return u && s.add(c), i.indexOf(c) === -1 && (i.push(c), m && o && (r = e.length)), c;
371
372
  },
372
373
  cancel: (c) => {
373
- const a = n.indexOf(c);
374
- a !== -1 && n.splice(a, 1), o.delete(c);
374
+ const u = n.indexOf(c);
375
+ u !== -1 && n.splice(u, 1), s.delete(c);
375
376
  },
376
377
  process: (c) => {
377
- if (s) {
378
- i = !0;
378
+ if (o) {
379
+ a = !0;
379
380
  return;
380
381
  }
381
- if (s = !0, [e, n] = [n, e], n.length = 0, r = e.length, r)
382
- for (let a = 0; a < r; a++) {
383
- const p = e[a];
384
- p(c), o.has(p) && (l.schedule(p), t());
382
+ if (o = !0, [e, n] = [n, e], n.length = 0, r = e.length, r)
383
+ for (let u = 0; u < r; u++) {
384
+ const h = e[u];
385
+ h(c), s.has(h) && (f.schedule(h), t());
385
386
  }
386
- s = !1, i && (i = !1, l.process(c));
387
+ o = !1, a && (a = !1, f.process(c));
387
388
  }
388
389
  };
389
- return l;
390
+ return f;
390
391
  }
391
- const Ae = 40;
392
- let z = !0, I = !1, Z = !1;
393
- const E = {
392
+ const Pe = 40;
393
+ let Q = !0, k = !1, X = !1;
394
+ const P = {
394
395
  delta: 0,
395
396
  timestamp: 0
396
- }, F = [
397
+ }, I = [
397
398
  "read",
398
399
  "update",
399
400
  "preRender",
400
401
  "render",
401
402
  "postRender"
402
- ], $ = F.reduce((t, e) => (t[e] = Te(() => I = !0), t), {}), Re = F.reduce((t, e) => {
403
- const n = $[e];
404
- return t[e] = (r, s = !1, i = !1) => (I || Ie(), n.schedule(r, s, i)), t;
405
- }, {}), Ee = F.reduce((t, e) => (t[e] = $[e].cancel, t), {});
406
- F.reduce((t, e) => (t[e] = () => $[e].process(E), t), {});
407
- const Ve = (t) => $[t].process(E), Ft = (t) => {
408
- I = !1, E.delta = z ? It : Math.max(Math.min(t - E.timestamp, Ae), 1), E.timestamp = t, Z = !0, F.forEach(Ve), Z = !1, I && (z = !1, jt(Ft));
403
+ ], q = I.reduce((t, e) => (t[e] = Ve(() => k = !0), t), {}), Ee = I.reduce((t, e) => {
404
+ const n = q[e];
405
+ return t[e] = (r, o = !1, a = !1) => (k || Ie(), n.schedule(r, o, a)), t;
406
+ }, {}), ke = I.reduce((t, e) => (t[e] = q[e].cancel, t), {});
407
+ I.reduce((t, e) => (t[e] = () => q[e].process(P), t), {});
408
+ const Te = (t) => q[t].process(P), It = (t) => {
409
+ k = !1, P.delta = Q ? kt : Math.max(Math.min(t - P.timestamp, Pe), 1), P.timestamp = t, X = !0, I.forEach(Te), X = !1, k && (Q = !1, Tt(It));
409
410
  }, Ie = () => {
410
- I = !0, z = !0, Z || jt(Ft);
411
+ k = !0, Q = !0, X || Tt(It);
411
412
  };
412
- function Dt(t, e, n = 0) {
413
+ function Ft(t, e, n = 0) {
413
414
  return t - e - n;
414
415
  }
415
- function je(t, e, n = 0, r = !0) {
416
- return r ? Dt(e + -t, e, n) : e - (t - e) + n;
416
+ function Fe(t, e, n = 0, r = !0) {
417
+ return r ? Ft(e + -t, e, n) : e - (t - e) + n;
417
418
  }
418
- function Fe(t, e, n, r) {
419
+ function Ne(t, e, n, r) {
419
420
  return r ? t >= e + n : t <= -n;
420
421
  }
421
422
  const De = (t) => {
422
423
  const e = ({ delta: n }) => t(n);
423
424
  return {
424
- start: () => Re.update(e, !0),
425
- stop: () => Ee.update(e)
425
+ start: () => Ee.update(e, !0),
426
+ stop: () => ke.update(e)
426
427
  };
427
428
  };
428
- function Pe(t) {
429
- var e, n, { from: r, autoplay: s = !0, driver: i = De, elapsed: o = 0, repeat: l = 0, repeatType: c = "loop", repeatDelay: a = 0, onPlay: p, onStop: m, onComplete: u, onRepeat: f, onUpdate: h } = t, x = ht(t, ["from", "autoplay", "driver", "elapsed", "repeat", "repeatType", "repeatDelay", "onPlay", "onStop", "onComplete", "onRepeat", "onUpdate"]);
430
- let { to: y } = x, S, b = 0, g = x.duration, d, M = !1, w = !0, O;
431
- const nt = Ce(x);
432
- !((n = (e = nt).needsInterpolation) === null || n === void 0) && n.call(e, r, y) && (O = Vt([0, 100], [r, y], {
429
+ function Ue(t) {
430
+ var e, n, { from: r, autoplay: o = !0, driver: a = De, elapsed: s = 0, repeat: f = 0, repeatType: c = "loop", repeatDelay: u = 0, onPlay: h, onStop: m, onComplete: i, onRepeat: l, onUpdate: p } = t, y = dt(t, ["from", "autoplay", "driver", "elapsed", "repeat", "repeatType", "repeatDelay", "onPlay", "onStop", "onComplete", "onRepeat", "onUpdate"]);
431
+ let { to: b } = y, d, g = 0, w = y.duration, v, M = !1, x = !0, A;
432
+ const rt = Ce(y);
433
+ !((n = (e = rt).needsInterpolation) === null || n === void 0) && n.call(e, r, b) && (A = Et([0, 100], [r, b], {
433
434
  clamp: !1
434
- }), r = 0, y = 100);
435
- const rt = nt(Object.assign(Object.assign({}, x), { from: r, to: y }));
436
- function Nt() {
437
- b++, c === "reverse" ? (w = b % 2 === 0, o = je(o, g, a, w)) : (o = Dt(o, g, a), c === "mirror" && rt.flipTarget()), M = !1, f && f();
435
+ }), r = 0, b = 100);
436
+ const ot = rt(Object.assign(Object.assign({}, y), { from: r, to: b }));
437
+ function Dt() {
438
+ g++, c === "reverse" ? (x = g % 2 === 0, s = Fe(s, w, u, x)) : (s = Ft(s, w, u), c === "mirror" && ot.flipTarget()), M = !1, l && l();
438
439
  }
439
- function kt() {
440
- S.stop(), u && u();
440
+ function Ut() {
441
+ d.stop(), i && i();
441
442
  }
442
- function Ut(L) {
443
- if (w || (L = -L), o += L, !M) {
444
- const st = rt.next(Math.max(0, o));
445
- d = st.value, O && (d = O(d)), M = w ? st.done : o <= 0;
443
+ function $t(L) {
444
+ if (x || (L = -L), s += L, !M) {
445
+ const st = ot.next(Math.max(0, s));
446
+ v = st.value, A && (v = A(v)), M = x ? st.done : s <= 0;
446
447
  }
447
- h?.(d), M && (b === 0 && (g ?? (g = o)), b < l ? Fe(o, g, a, w) && Nt() : kt());
448
+ p?.(v), M && (g === 0 && (w ?? (w = s)), g < f ? Ne(s, w, u, x) && Dt() : Ut());
448
449
  }
449
- function $t() {
450
- p?.(), S = i(Ut), S.start();
450
+ function qt() {
451
+ h?.(), d = a($t), d.start();
451
452
  }
452
- return s && $t(), {
453
+ return o && qt(), {
453
454
  stop: () => {
454
- m?.(), S.stop();
455
+ m?.(), d.stop();
455
456
  }
456
457
  };
457
458
  }
458
- class T {
459
- options;
460
- currentValue;
461
- velocity = 0;
462
- isAnimating = !1;
463
- controls = null;
459
+ class C {
464
460
  constructor(e) {
465
- this.options = {
461
+ j(this, "options"), j(this, "currentValue"), j(this, "velocity", 0), j(this, "isAnimating", !1), j(this, "controls", null), j(this, "animate", (n = !1) => {
462
+ !this.isAnimating && this.options.onStart && this.options.onStart(), this.isAnimating = !0;
463
+ const r = n ? this.options.from : this.options.to;
464
+ let o = this.currentValue, a = performance.now();
465
+ this.controls = Ue({
466
+ from: this.currentValue,
467
+ to: r,
468
+ velocity: this.velocity * 1e3,
469
+ // Convert to px/s
470
+ stiffness: this.options.spring.stiffness,
471
+ damping: this.options.spring.damping,
472
+ mass: 1,
473
+ onUpdate: (s) => {
474
+ const f = performance.now(), c = (f - a) / 1e3;
475
+ if (c > 0) {
476
+ const u = (s - o) / c;
477
+ this.velocity = u / 1e3, o = s, a = f;
478
+ }
479
+ this.currentValue = s, this.options.onUpdate(s);
480
+ },
481
+ onComplete: () => {
482
+ this.currentValue = r, this.isAnimating = !1, this.controls = null, this.velocity = 0, this.options.onComplete();
483
+ }
484
+ });
485
+ }), this.options = {
466
486
  from: e.from ?? 0,
467
487
  to: e.to ?? 1,
468
488
  spring: e.spring ?? { stiffness: 100, damping: 10 },
@@ -473,31 +493,6 @@ class T {
473
493
  onStart: e.onStart
474
494
  }, this.currentValue = this.options.from;
475
495
  }
476
- animate = (e = !1) => {
477
- !this.isAnimating && this.options.onStart && this.options.onStart(), this.isAnimating = !0;
478
- const n = e ? this.options.from : this.options.to;
479
- let r = this.currentValue, s = performance.now();
480
- this.controls = Pe({
481
- from: this.currentValue,
482
- to: n,
483
- velocity: this.velocity * 1e3,
484
- // Convert to px/s
485
- stiffness: this.options.spring.stiffness,
486
- damping: this.options.spring.damping,
487
- mass: 1,
488
- onUpdate: (i) => {
489
- const o = performance.now(), l = (o - s) / 1e3;
490
- if (l > 0) {
491
- const c = (i - r) / l;
492
- this.velocity = c / 1e3, r = i, s = o;
493
- }
494
- this.currentValue = i, this.options.onUpdate(i);
495
- },
496
- onComplete: () => {
497
- this.currentValue = n, this.isAnimating = !1, this.controls = null, this.velocity = 0, this.options.onComplete();
498
- }
499
- });
500
- };
501
496
  // Animation control methods
502
497
  forward() {
503
498
  this.stop(), this.animate(!1);
@@ -547,196 +542,205 @@ class T {
547
542
  }
548
543
  // Static factory method
549
544
  static fromState(e, n) {
550
- const r = new T(n);
545
+ const r = new C(n);
551
546
  return r.setValue(e.position), r.setVelocity(e.velocity), r;
552
547
  }
553
548
  }
554
- function Ne(t, e) {
555
- let n = null, r = null, s = null, i = null, o = !1;
556
- const l = async (a) => {
557
- if (n && n.getIsAnimating() && !o) {
558
- const p = n.getCurrentState();
559
- n.stop(), r && (r.remove(), r = null), o = !0;
560
- const m = t();
561
- if (!m.out) return;
562
- const u = await Promise.resolve(m.out(a));
563
- n = T.fromState(p, {
549
+ function $e(t, e) {
550
+ let n = null, r = null, o = null, a = null, s = !1;
551
+ const f = async (u) => {
552
+ var h;
553
+ if (n && n.getIsAnimating() && !s) {
554
+ const m = n.getCurrentState();
555
+ n.stop(), r && (r.remove(), r = null), s = !0;
556
+ const i = t();
557
+ if (!i.out) return;
558
+ const l = await Promise.resolve(i.out(u));
559
+ n = C.fromState(m, {
564
560
  from: 1,
565
561
  to: 0,
566
- spring: u.spring,
567
- onStart: u.onStart,
568
- onUpdate: (f) => {
569
- u.tick?.(f);
562
+ spring: l.spring,
563
+ onStart: l.onStart,
564
+ onUpdate: (p) => {
565
+ var y;
566
+ (y = l.tick) == null || y.call(l, p);
570
567
  },
571
568
  onComplete: () => {
572
- n = null, o = !1, u.onEnd?.();
569
+ var p;
570
+ n = null, s = !1, (p = l.onEnd) == null || p.call(l);
573
571
  }
574
572
  }), n.backward();
575
573
  return;
576
574
  }
577
575
  if (!n || !n.getIsAnimating()) {
578
- o = !0;
579
- const p = t();
580
- if (!p.in) return;
581
- const m = await Promise.resolve(p.in(a));
582
- m.prepare?.(a), n = new T({
576
+ s = !0;
577
+ const m = t();
578
+ if (!m.in) return;
579
+ const i = await Promise.resolve(m.in(u));
580
+ (h = i.prepare) == null || h.call(i, u), n = new C({
583
581
  from: 0,
584
582
  to: 1,
585
- spring: m.spring,
586
- onStart: m.onStart,
587
- onUpdate: (u) => {
588
- m.tick?.(u);
583
+ spring: i.spring,
584
+ onStart: i.onStart,
585
+ onUpdate: (l) => {
586
+ var p;
587
+ (p = i.tick) == null || p.call(i, l);
589
588
  },
590
589
  onComplete: () => {
591
- n = null, o = !1, m.onEnd?.();
590
+ var l;
591
+ n = null, s = !1, (l = i.onEnd) == null || l.call(i);
592
592
  }
593
593
  }), n.forward();
594
594
  }
595
595
  };
596
- function c(a) {
597
- const p = () => {
598
- !s || !r || (i && s.contains(i) ? s.insertBefore(r, i) : s.appendChild(r));
596
+ function c(u) {
597
+ const h = () => {
598
+ !o || !r || (a && o.contains(a) ? o.insertBefore(r, a) : o.appendChild(r));
599
599
  }, m = () => {
600
- r && (r.remove(), r = null), n = null, o = !1, e?.onCleanupEnd?.();
601
- }, u = t();
602
- if (r = a.cloneNode(!0), n && n.getIsAnimating() && o) {
603
- const f = n.getCurrentState();
604
- if (n.stop(), o = !1, !u.in) {
600
+ var l;
601
+ r && (r.remove(), r = null), n = null, s = !1, (l = e?.onCleanupEnd) == null || l.call(e);
602
+ }, i = t();
603
+ if (r = u.cloneNode(!0), n && n.getIsAnimating() && s) {
604
+ const l = n.getCurrentState();
605
+ if (n.stop(), s = !1, !i.in) {
605
606
  r = null, m();
606
607
  return;
607
608
  }
608
- Promise.resolve(u.in(r)).then(async (h) => {
609
- const x = r && await u.out?.(r);
610
- x?.prepare && r && x.prepare(r), p(), n = T.fromState(f, {
609
+ Promise.resolve(i.in(r)).then(async (p) => {
610
+ var y;
611
+ const b = r && await ((y = i.out) == null ? void 0 : y.call(i, r));
612
+ b != null && b.prepare && r && b.prepare(r), h(), n = C.fromState(l, {
611
613
  from: 0,
612
614
  to: 1,
613
- spring: h.spring,
614
- onStart: h.onStart,
615
- onUpdate: (y) => {
616
- h.tick?.(y);
615
+ spring: p.spring,
616
+ onStart: p.onStart,
617
+ onUpdate: (d) => {
618
+ var g;
619
+ (g = p.tick) == null || g.call(p, d);
617
620
  },
618
621
  onComplete: () => {
619
- h.onEnd?.(), m();
622
+ var d;
623
+ (d = p.onEnd) == null || d.call(p), m();
620
624
  }
621
625
  }), n.backward();
622
626
  });
623
627
  return;
624
628
  }
625
- if (!n || !n.getIsAnimating() || !o) {
626
- if (o = !1, !u.out) {
629
+ if (!n || !n.getIsAnimating() || !s) {
630
+ if (s = !1, !i.out) {
627
631
  r = null, m();
628
632
  return;
629
633
  }
630
- Promise.resolve(u.out(r)).then((f) => {
631
- r && f.prepare?.(r), p(), n = new T({
634
+ Promise.resolve(i.out(r)).then((l) => {
635
+ var p;
636
+ r && ((p = l.prepare) == null || p.call(l, r)), h(), n = new C({
632
637
  from: 1,
633
638
  to: 0,
634
- spring: f.spring,
635
- onStart: f.onStart,
636
- onUpdate: (h) => {
637
- f.tick?.(h);
639
+ spring: l.spring,
640
+ onStart: l.onStart,
641
+ onUpdate: (y) => {
642
+ var b;
643
+ (b = l.tick) == null || b.call(l, y);
638
644
  },
639
645
  onComplete: () => {
640
- f.onEnd?.(), m();
646
+ var y;
647
+ (y = l.onEnd) == null || y.call(l), m();
641
648
  }
642
649
  }), n.forward();
643
650
  });
644
651
  }
645
652
  }
646
- return (a) => a ? (s = a.parentElement, i = a.nextElementSibling, t().in && l(a), () => {
647
- c(a);
653
+ return (u) => u ? (o = u.parentElement, a = u.nextElementSibling, t().in && f(u), () => {
654
+ c(u);
648
655
  }) : void 0;
649
656
  }
650
- const J = /* @__PURE__ */ new Map(), Q = /* @__PURE__ */ new Map();
651
- function ke(t, e) {
652
- J.set(t, e);
653
- let n = Q.get(t);
654
- return n || (n = Ne(
655
- () => {
656
- const r = J.get(t);
657
- return r || (console.warn(`Transition "${String(t)}" not found`), {});
658
- },
657
+ const Y = /* @__PURE__ */ new Map(), Z = /* @__PURE__ */ new Map();
658
+ function qe(t, e) {
659
+ Y.set(t, e);
660
+ let n = Z.get(t);
661
+ return n || (n = $e(
662
+ () => Y.get(t) || (console.warn(`Transition "${String(t)}" not found`), {}),
659
663
  {
660
- onCleanupEnd: () => Ue(t)
664
+ onCleanupEnd: () => Le(t)
661
665
  }
662
- ), Q.set(t, n), n);
666
+ ), Z.set(t, n), n);
663
667
  }
664
- function Ue(t) {
665
- J.delete(t), Q.delete(t);
668
+ function Le(t) {
669
+ Y.delete(t), Z.delete(t);
666
670
  }
667
- function $e(t) {
668
- return ke(t.key, {
671
+ function Be(t) {
672
+ return qe(t.key, {
669
673
  in: t.in,
670
674
  out: t.out
671
675
  });
672
676
  }
673
- function Le(t) {
677
+ function We(t) {
674
678
  let e = null;
675
679
  const n = [...t.transitions], r = [];
676
- for (const u of t.transitions)
677
- u.symmetric && (n.some(
678
- (h) => h.from === u.to && h.to === u.from
680
+ for (const i of t.transitions)
681
+ i.symmetric && (n.some(
682
+ (l) => l.from === i.to && l.to === i.from
679
683
  ) || r.push({
680
- from: u.to,
681
- to: u.from,
682
- transition: u.transition
684
+ from: i.to,
685
+ to: i.from,
686
+ transition: i.transition
683
687
  // Don't add symmetric flag to the reverse to avoid infinite loop
684
688
  }));
685
689
  n.push(...r);
686
- let s = null;
687
- const i = /* @__PURE__ */ new Map();
688
690
  let o = null;
689
- const l = () => {
690
- s && o && i.set(o, {
691
- x: s.scrollLeft,
692
- y: s.scrollTop
691
+ const a = /* @__PURE__ */ new Map();
692
+ let s = null;
693
+ const f = () => {
694
+ o && s && a.set(s, {
695
+ x: o.scrollLeft,
696
+ y: o.scrollTop
693
697
  });
694
- }, c = (u, f) => {
695
- s || (s = _t(u), s.addEventListener("scroll", l, {
698
+ }, c = (i, l) => {
699
+ o || (o = Lt(i), o.addEventListener("scroll", f, {
696
700
  passive: !0
697
- })), o = f;
698
- }, a = () => {
699
- const u = e?.from, f = e?.to, h = u && i.has(u) ? i.get(u) : { x: 0, y: 0 }, x = f && i.has(f) ? i.get(f) : { x: 0, y: 0 };
701
+ })), s = l;
702
+ }, u = () => {
703
+ const i = e?.from, l = e?.to, p = i && a.has(i) ? a.get(i) : { x: 0, y: 0 }, y = l && a.has(l) ? a.get(l) : { x: 0, y: 0 };
700
704
  return {
701
- x: -x.x + h.x,
702
- y: -x.y + h.y
705
+ x: -y.x + p.x,
706
+ y: -y.y + p.y
703
707
  };
704
708
  };
705
- function p() {
706
- if (e?.from && e?.to) {
707
- const f = qe(
709
+ function h() {
710
+ if (e != null && e.from && e != null && e.to) {
711
+ const i = Ge(
708
712
  e.from,
709
713
  e.to,
710
714
  n
711
- ) || t.defaultTransition, x = { scrollOffset: a() };
712
- f && (f.out && e.outResolve && e.outResolve(
713
- (y) => f.out(y, x)
714
- ), f.in && e.inResolve && e.inResolve(
715
- (y) => f.in(y, x)
715
+ ) || t.defaultTransition, l = { scrollOffset: u() };
716
+ i && (i.out && e.outResolve && e.outResolve(
717
+ (p) => i.out(p, l)
718
+ ), i.in && e.inResolve && e.inResolve(
719
+ (p) => i.in(p, l)
716
720
  )), e = null;
717
721
  }
718
722
  }
719
- const m = async (u, f) => f === "in" && (!e || !e.from) ? () => ({}) : (e || (e = {}), f === "out" ? (e.from = u, new Promise((h) => {
720
- e.outResolve = h, p();
721
- })) : (e.to = u, new Promise((h) => {
722
- e.inResolve = h, p();
723
+ const m = async (i, l) => l === "in" && (!e || !e.from) ? () => ({}) : (e || (e = {}), l === "out" ? (e.from = i, new Promise((p) => {
724
+ e.outResolve = p, h();
725
+ })) : (e.to = i, new Promise((p) => {
726
+ e.inResolve = p, h();
723
727
  })));
724
- return (u) => ({
725
- key: u,
726
- in: async (f) => (c(f, u), (await m(u, "in"))(f)),
727
- out: async (f) => (await m(u, "out"))(f)
728
+ return (i) => ({
729
+ key: i,
730
+ in: async (l) => (c(l, i), (await m(i, "in"))(l)),
731
+ out: async (l) => (await m(i, "out"))(l)
728
732
  });
729
733
  }
730
- function qe(t, e, n) {
734
+ function Ge(t, e, n) {
731
735
  for (const r of n)
732
- if (D(t, r.from) && D(e, r.to))
736
+ if (F(t, r.from) && F(e, r.to))
733
737
  return r.transition;
734
738
  for (const r of n)
735
- if ((r.from === "*" || D(t, r.from)) && (r.to === "*" || D(e, r.to)))
739
+ if ((r.from === "*" || F(t, r.from)) && (r.to === "*" || F(e, r.to)))
736
740
  return r.transition;
737
741
  return null;
738
742
  }
739
- function D(t, e) {
743
+ function F(t, e) {
740
744
  if (e === "*")
741
745
  return !0;
742
746
  if (e.endsWith("/*")) {
@@ -745,26 +749,26 @@ function D(t, e) {
745
749
  }
746
750
  return t === e;
747
751
  }
748
- const Be = $e, Pt = Lt(null), _e = Pt.Provider, We = () => {
749
- const t = qt(Pt);
752
+ const He = Be, Nt = Bt(null), ze = Nt.Provider, Je = () => {
753
+ const t = Wt(Nt);
750
754
  if (!t)
751
755
  throw new Error("useSsgoi must be used within SsgoiProvider");
752
756
  return t;
753
- }, ze = ({ config: t, children: e }) => {
754
- const n = Bt(
755
- () => Le(t),
757
+ }, Ye = ({ config: t, children: e }) => {
758
+ const n = Gt(
759
+ () => We(t),
756
760
  [t]
757
761
  );
758
- return /* @__PURE__ */ mt(_e, { value: n, children: e });
762
+ return /* @__PURE__ */ mt(ze, { value: n, children: e });
759
763
  }, Ze = ({
760
764
  children: t,
761
765
  id: e
762
766
  }) => {
763
- const n = We();
764
- return /* @__PURE__ */ mt("div", { ref: Be(n(e)), "data-ssgoi-transition": e, children: t });
767
+ const n = Je();
768
+ return /* @__PURE__ */ mt("div", { ref: He(n(e)), "data-ssgoi-transition": e, children: t });
765
769
  };
766
770
  export {
767
- ze as Ssgoi,
771
+ Ye as Ssgoi,
768
772
  Ze as SsgoiTransition,
769
- Be as transition
773
+ He as transition
770
774
  };