@ssgoi/core 6.7.0-beta.1 → 7.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +29 -9
  2. package/dist/animation/animation.d.ts +2 -2
  3. package/dist/animation/frame-scheduler.d.ts +36 -0
  4. package/dist/animation/frame-scheduler.d.ts.map +1 -0
  5. package/dist/animation/multi-animation.d.ts +3 -2
  6. package/dist/animation/multi-animation.d.ts.map +1 -1
  7. package/dist/animation/web-animation.d.ts +16 -4
  8. package/dist/animation/web-animation.d.ts.map +1 -1
  9. package/dist/index.cjs +15 -15
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1282 -1125
  13. package/dist/internal.cjs +1 -1
  14. package/dist/internal.d.ts +1 -1
  15. package/dist/internal.d.ts.map +1 -1
  16. package/dist/internal.js +502 -422
  17. package/dist/multi-animation-6124HEke.cjs +1 -0
  18. package/dist/multi-animation-ZFZBDBGr.js +439 -0
  19. package/dist/ssgoi-transition/create-ssgoi-transition-context.d.ts.map +1 -1
  20. package/dist/ssgoi-transition/navigation-direction.d.ts +13 -0
  21. package/dist/ssgoi-transition/navigation-direction.d.ts.map +1 -0
  22. package/dist/ssgoi-transition/path-pattern.d.ts +15 -0
  23. package/dist/ssgoi-transition/path-pattern.d.ts.map +1 -0
  24. package/dist/ssgoi-transition/resolve-transition-rule.d.ts +16 -0
  25. package/dist/ssgoi-transition/resolve-transition-rule.d.ts.map +1 -0
  26. package/dist/transitions/axis/index.d.ts +5 -7
  27. package/dist/transitions/axis/index.d.ts.map +1 -1
  28. package/dist/transitions/axis/types.d.ts +0 -1
  29. package/dist/transitions/axis/types.d.ts.map +1 -1
  30. package/dist/transitions/blind/index.d.ts +2 -3
  31. package/dist/transitions/blind/index.d.ts.map +1 -1
  32. package/dist/transitions/drill/index.d.ts +6 -7
  33. package/dist/transitions/drill/index.d.ts.map +1 -1
  34. package/dist/transitions/drill/provider/crossfade.d.ts.map +1 -1
  35. package/dist/transitions/drill/provider/parallax.d.ts.map +1 -1
  36. package/dist/transitions/drill/transition.d.ts.map +1 -1
  37. package/dist/transitions/drill/types.d.ts +0 -1
  38. package/dist/transitions/drill/types.d.ts.map +1 -1
  39. package/dist/transitions/fade/index.d.ts +3 -5
  40. package/dist/transitions/fade/index.d.ts.map +1 -1
  41. package/dist/transitions/film/index.d.ts +3 -5
  42. package/dist/transitions/film/index.d.ts.map +1 -1
  43. package/dist/transitions/hero/fit.d.ts +5 -0
  44. package/dist/transitions/hero/fit.d.ts.map +1 -0
  45. package/dist/transitions/hero/index.d.ts +3 -5
  46. package/dist/transitions/hero/index.d.ts.map +1 -1
  47. package/dist/transitions/hero/transition.d.ts +12 -1
  48. package/dist/transitions/hero/transition.d.ts.map +1 -1
  49. package/dist/transitions/hero/types.d.ts +2 -1
  50. package/dist/transitions/hero/types.d.ts.map +1 -1
  51. package/dist/transitions/jaemin/index.d.ts +3 -5
  52. package/dist/transitions/jaemin/index.d.ts.map +1 -1
  53. package/dist/transitions/media-geometry.d.ts +55 -0
  54. package/dist/transitions/media-geometry.d.ts.map +1 -0
  55. package/dist/transitions/rotate/index.d.ts +3 -5
  56. package/dist/transitions/rotate/index.d.ts.map +1 -1
  57. package/dist/transitions/scroll/index.d.ts +4 -5
  58. package/dist/transitions/scroll/index.d.ts.map +1 -1
  59. package/dist/transitions/scroll/transition.d.ts +1 -1
  60. package/dist/transitions/scroll/transition.d.ts.map +1 -1
  61. package/dist/transitions/sheet/index.d.ts +6 -7
  62. package/dist/transitions/sheet/index.d.ts.map +1 -1
  63. package/dist/transitions/sheet/provider/static.d.ts.map +1 -1
  64. package/dist/transitions/sheet/transition.d.ts.map +1 -1
  65. package/dist/transitions/sheet/types.d.ts +0 -1
  66. package/dist/transitions/sheet/types.d.ts.map +1 -1
  67. package/dist/transitions/slide/index.d.ts +3 -5
  68. package/dist/transitions/slide/index.d.ts.map +1 -1
  69. package/dist/transitions/slide/transition.d.ts +0 -1
  70. package/dist/transitions/slide/transition.d.ts.map +1 -1
  71. package/dist/transitions/strip/index.d.ts +3 -5
  72. package/dist/transitions/strip/index.d.ts.map +1 -1
  73. package/dist/transitions/utils.d.ts +3 -21
  74. package/dist/transitions/utils.d.ts.map +1 -1
  75. package/dist/transitions/zoom/index.d.ts +3 -4
  76. package/dist/transitions/zoom/index.d.ts.map +1 -1
  77. package/dist/transitions/zoom/provider/blur.d.ts.map +1 -1
  78. package/dist/transitions/zoom/transition.d.ts +6 -1
  79. package/dist/transitions/zoom/transition.d.ts.map +1 -1
  80. package/dist/transitions/zoom/types.d.ts +5 -0
  81. package/dist/transitions/zoom/types.d.ts.map +1 -1
  82. package/dist/transitions/zoom/zoom-element.d.ts +2 -2
  83. package/dist/transitions/zoom/zoom-element.d.ts.map +1 -1
  84. package/dist/types/index.d.ts +56 -9
  85. package/dist/types/index.d.ts.map +1 -1
  86. package/dist/utils/wait-paint.d.ts +8 -7
  87. package/dist/utils/wait-paint.d.ts.map +1 -1
  88. package/package.json +13 -14
  89. package/dist/multi-animation-1FueEz2Q.js +0 -367
  90. package/dist/multi-animation-qtH1IKNG.cjs +0 -1
  91. package/dist/ssgoi-transition/find-matching-transition.d.ts +0 -30
  92. package/dist/ssgoi-transition/find-matching-transition.d.ts.map +0 -1
  93. package/dist/ssgoi-transition/process-symmetric-transitions.d.ts +0 -7
  94. package/dist/ssgoi-transition/process-symmetric-transitions.d.ts.map +0 -1
package/dist/internal.js CHANGED
@@ -1,31 +1,31 @@
1
1
  var Nt = Object.defineProperty;
2
- var kt = (t, n, e) => n in t ? Nt(t, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[n] = e;
3
- var F = (t, n, e) => kt(t, typeof n != "symbol" ? n + "" : n, e);
4
- import { A as It } from "./multi-animation-1FueEz2Q.js";
5
- import { M as Ee, W as we } from "./multi-animation-1FueEz2Q.js";
6
- class Ht extends It {
2
+ var Ht = (t, n, e) => n in t ? Nt(t, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[n] = e;
3
+ var U = (t, n, e) => Ht(t, typeof n != "symbol" ? n + "" : n, e);
4
+ import { A as Wt } from "./multi-animation-ZFZBDBGr.js";
5
+ import { M as Pe, W as xe } from "./multi-animation-ZFZBDBGr.js";
6
+ class Ft extends Wt {
7
7
  constructor() {
8
8
  super(...arguments);
9
- F(this, "child", null);
10
- F(this, "_state", "idle");
11
- F(this, "_settled", !1);
12
- F(this, "listeners", /* @__PURE__ */ new Set());
9
+ U(this, "child", null);
10
+ U(this, "_state", "idle");
11
+ U(this, "_settled", !1);
12
+ U(this, "listeners", /* @__PURE__ */ new Set());
13
13
  }
14
14
  attach(e) {
15
- const s = this.child;
16
- if (this.child = e, this._settled = !1, s) {
17
- const l = s.getPose();
18
- s.complete(), e.matchInto(l);
15
+ const i = this.child;
16
+ if (this.child = e, this._settled = !1, i) {
17
+ const l = i.getPose();
18
+ i.complete(), e.matchInto(l);
19
19
  }
20
20
  e.playbackRate = this.playbackRate;
21
21
  const o = e.onComplete;
22
22
  e.onComplete = () => {
23
23
  o == null || o(), this.child === e && (this.child = null, this._state = "idle", this._settled = !0), this.notify();
24
24
  };
25
- const a = e.onUpdate;
25
+ const r = e.onUpdate;
26
26
  e.onUpdate = (l) => {
27
27
  var u;
28
- a == null || a(l), (u = this.onUpdate) == null || u.call(this, l), this.notify();
28
+ r == null || r(l), (u = this.onUpdate) == null || u.call(this, l), this.notify();
29
29
  }, this._state === "paused" ? e.pause() : this._state === "reversing" ? e.reverse() : (this._state = "playing", e.play()), this.notify();
30
30
  }
31
31
  play() {
@@ -63,8 +63,8 @@ class Ht extends It {
63
63
  return ((e = this.child) == null ? void 0 : e.progress) ?? 0;
64
64
  }
65
65
  findTimeForProgress(e) {
66
- var s;
67
- return ((s = this.child) == null ? void 0 : s.findTimeForProgress(e)) ?? null;
66
+ var i;
67
+ return ((i = this.child) == null ? void 0 : i.findTimeForProgress(e)) ?? null;
68
68
  }
69
69
  get playbackRate() {
70
70
  return super.playbackRate;
@@ -81,8 +81,8 @@ class Ht extends It {
81
81
  return ((e = this.child) == null ? void 0 : e.getTimeline()) ?? [];
82
82
  }
83
83
  matchInto(e) {
84
- var s;
85
- (s = this.child) == null || s.matchInto(e);
84
+ var i;
85
+ (i = this.child) == null || i.matchInto(e);
86
86
  }
87
87
  /** Currently attached child, or null when nothing is playing. */
88
88
  get activeChild() {
@@ -98,19 +98,19 @@ class Ht extends It {
98
98
  for (const e of this.listeners) e();
99
99
  }
100
100
  }
101
- const Wt = (t, n) => {
101
+ const Bt = (t, n) => {
102
102
  var e;
103
103
  t.style.position = "absolute", t.style.width = "100%", t.style.top = `${-1 * (((e = n == null ? void 0 : n.scrollOffset) == null ? void 0 : e.y) ?? 0)}px`, t.style.left = "0";
104
- }, gt = /* @__PURE__ */ new Set(["auto", "scroll", "overlay"]), zt = (t) => {
104
+ }, bt = /* @__PURE__ */ new Set(["auto", "scroll", "overlay"]), zt = (t) => {
105
105
  let n = t.parentElement;
106
106
  for (; n && n !== document.body; ) {
107
107
  const e = window.getComputedStyle(n);
108
- if (gt.has(e.overflowY) || gt.has(e.overflowX))
108
+ if (bt.has(e.overflowY) || bt.has(e.overflowX))
109
109
  return n;
110
110
  n = n.parentElement;
111
111
  }
112
112
  return document.documentElement;
113
- }, Bt = (t) => {
113
+ }, Kt = (t) => {
114
114
  let n = t.parentElement;
115
115
  for (; n && n !== document.body; ) {
116
116
  const e = window.getComputedStyle(n).position;
@@ -120,280 +120,355 @@ const Wt = (t, n) => {
120
120
  }
121
121
  return document.body;
122
122
  };
123
- function Ft(t) {
123
+ function Xt(t) {
124
124
  const n = Object.keys(t);
125
125
  return Promise.all(n.map((e) => t[e])).then((e) => {
126
- const s = {};
127
- return n.forEach((o, a) => {
128
- s[o] = e[a];
129
- }), s;
126
+ const i = {};
127
+ return n.forEach((o, r) => {
128
+ i[o] = e[r];
129
+ }), i;
130
130
  });
131
131
  }
132
- function Kt(t) {
133
- const n = t.filter((e) => e.symmetric).map((e) => ({
134
- from: e.to,
135
- to: e.from,
136
- transition: e.transition
137
- }));
138
- return [...t, ...n];
139
- }
140
- const Xt = 1e6, vt = 100, $t = 10;
141
- function Ut(t) {
142
- const n = t.trim(), e = n.indexOf("#"), s = n.indexOf("?"), o = [e, s].filter((a) => a >= 0).reduce((a, l) => Math.min(a, l), n.length);
132
+ const $t = 1e6, wt = 100, Ut = 10, qt = 1;
133
+ function Vt(t) {
134
+ const n = t.trim(), e = n.indexOf("#"), i = n.indexOf("?"), o = [e, i].filter((r) => r >= 0).reduce((r, l) => Math.min(r, l), n.length);
143
135
  return n.slice(0, o);
144
136
  }
145
- function at(t) {
146
- const n = Ut(t);
137
+ function G(t) {
138
+ const n = Vt(t);
147
139
  try {
148
140
  if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(n))
149
- return at(new URL(n).pathname);
141
+ return G(new URL(n).pathname);
150
142
  } catch {
151
143
  }
152
- const s = (n.startsWith("/") ? n : `/${n}`).replace(/\/+/g, "/");
153
- return (s.length > 1 ? s.replace(/\/+$/g, "") : s) || "/";
144
+ const i = (n.startsWith("/") ? n : `/${n}`).replace(/\/+/g, "/");
145
+ return (i.length > 1 ? i.replace(/\/+$/g, "") : i) || "/";
154
146
  }
155
- function qt(t) {
147
+ function Gt(t) {
156
148
  const n = t.trim();
157
- return n === "*" ? "*" : at(n);
149
+ return n === "*" ? "/**" : G(n);
158
150
  }
159
- function ot(t) {
151
+ function at(t) {
160
152
  return t === "/" ? [] : t.slice(1).split("/");
161
153
  }
162
- function Vt(t) {
154
+ function Yt(t) {
163
155
  return t.startsWith(":") || t.startsWith("[") && t.endsWith("]") || t.startsWith("{") && t.endsWith("}");
164
156
  }
165
- function rt(t, n) {
166
- const e = at(t), s = qt(n);
167
- if (s === "*")
168
- return { matched: !0, specificity: 0 };
169
- if (e === s)
157
+ function Mt(t, n) {
158
+ const e = G(t), i = Gt(n);
159
+ if (e === i)
170
160
  return {
171
161
  matched: !0,
172
- specificity: Xt + ot(s).length * vt
162
+ specificity: $t + at(i).length * wt,
163
+ pattern: n
173
164
  };
174
- const o = ot(e), a = ot(s);
165
+ const o = at(e), r = at(i);
175
166
  let l = 0;
176
- for (let u = 0; u < a.length; u++) {
177
- const g = a[u], b = o[u], _ = u === a.length - 1;
178
- if (g === void 0)
179
- return { matched: !1, specificity: 0 };
180
- if ((g === "*" || g === "**") && _)
167
+ for (let u = 0; u < r.length; u++) {
168
+ const y = r[u], f = o[u], w = u === r.length - 1;
169
+ if (y === "**")
181
170
  return {
182
- matched: g === "**" ? o.length >= u : o.length > u,
183
- specificity: l
171
+ matched: w && o.length >= u,
172
+ specificity: l,
173
+ pattern: n
184
174
  };
185
- if (b === void 0)
186
- return { matched: !1, specificity: 0 };
187
- if (g === "*" || Vt(g)) {
188
- l += $t;
175
+ if (f === void 0 || y === void 0)
176
+ return { matched: !1, specificity: 0, pattern: n };
177
+ if (y === "*") {
178
+ l += qt;
179
+ continue;
180
+ }
181
+ if (Yt(y)) {
182
+ l += Ut;
189
183
  continue;
190
184
  }
191
- if (g !== b)
192
- return { matched: !1, specificity: 0 };
193
- l += vt;
185
+ if (y !== f)
186
+ return { matched: !1, specificity: 0, pattern: n };
187
+ l += wt;
194
188
  }
195
189
  return {
196
- matched: o.length === a.length,
197
- specificity: l
190
+ matched: o.length === r.length,
191
+ specificity: l,
192
+ pattern: n
198
193
  };
199
194
  }
200
- function Gt(t, n) {
201
- return rt(t, n).matched;
202
- }
203
- function Yt(t, n, e) {
204
- let s;
195
+ function I(t, n) {
196
+ const e = typeof n == "string" ? [n] : n;
197
+ let i = null;
205
198
  for (const o of e) {
206
- const a = rt(t, o.from);
207
- if (!a.matched) continue;
208
- const l = rt(n, o.to);
209
- if (!l.matched) continue;
210
- const u = a.specificity + l.specificity;
211
- (!s || u > s.specificity) && (s = { transition: o.transition, specificity: u });
199
+ const r = Mt(t, o);
200
+ r.matched && (!i || r.specificity > i.specificity) && (i = r);
212
201
  }
213
- return (s == null ? void 0 : s.transition) ?? null;
202
+ return i;
214
203
  }
215
- const Zt = 768, Qt = 10, jt = 10;
216
- function Jt(t = {}) {
204
+ function Zt(t, n) {
205
+ return Mt(t, n).matched;
206
+ }
207
+ const Qt = 768, jt = 10, Jt = 10;
208
+ function te(t = {}) {
217
209
  const {
218
- preserveScroll: n = (f) => f,
219
- resolvePath: e = (f) => f
220
- } = t, s = typeof n == "function" ? n : () => n;
221
- let o = null, a = !1, l = !1;
210
+ preserveScroll: n = (h) => h,
211
+ resolvePath: e = (h) => h
212
+ } = t, i = typeof n == "function" ? n : () => n;
213
+ let o = null, r = !1, l = !1;
222
214
  const u = () => {
223
- const f = (o == null ? void 0 : o.clientWidth) ?? 0, d = f > 0 ? f : typeof window < "u" ? window.innerWidth : 0;
224
- return d > 0 && d < Zt;
225
- }, g = () => (l || (a = u(), l = !0), a), b = (f) => {
226
- var A;
227
- const d = e(f), y = s(g());
228
- if (y === !1)
229
- return { preserves: !1, shared: !1, storageKey: `path:${d}` };
230
- if (y === !0)
231
- return { preserves: !0, shared: !1, storageKey: `path:${d}` };
232
- const E = ((A = y.exclude) == null ? void 0 : A.some((C) => Gt(d, C))) ?? !1, P = !E && !!y.key;
215
+ const h = (o == null ? void 0 : o.clientWidth) ?? 0, m = h > 0 ? h : typeof window < "u" ? window.innerWidth : 0;
216
+ return m > 0 && m < Qt;
217
+ }, y = () => (l || (r = u(), l = !0), r), f = (h) => {
218
+ var _;
219
+ const m = e(h), b = i(y());
220
+ if (b === !1)
221
+ return { preserves: !1, shared: !1, storageKey: `path:${m}` };
222
+ if (b === !0)
223
+ return { preserves: !0, shared: !1, storageKey: `path:${m}` };
224
+ const S = ((_ = b.exclude) == null ? void 0 : _.some((F) => Zt(m, F))) ?? !1, E = !S && !!b.key;
233
225
  return {
234
- preserves: !E,
235
- shared: P,
236
- storageKey: P ? `shared:${y.key}` : `path:${d}`
226
+ preserves: !S,
227
+ shared: E,
228
+ storageKey: E ? `shared:${b.key}` : `path:${m}`
237
229
  };
238
- }, _ = (f) => b(f).preserves;
239
- let L = null;
240
- const w = /* @__PURE__ */ new Map();
241
- let O = null, k = !1, W = 0;
242
- const $ = () => {
243
- o && O && !k && w.set(b(O).storageKey, {
230
+ }, w = (h) => f(h).preserves;
231
+ let g = null;
232
+ const d = /* @__PURE__ */ new Map();
233
+ let x = null, C = !1, A = 0;
234
+ const k = () => {
235
+ o && x && !C && d.set(f(x).storageKey, {
244
236
  x: o.scrollLeft,
245
237
  y: o.scrollTop
246
238
  });
247
- }, z = (f) => {
239
+ }, X = (h) => {
248
240
  if (!o) return;
249
- const d = b(f);
250
- if (d.preserves && d.shared && !w.has(d.storageKey))
241
+ const m = f(h);
242
+ if (m.preserves && m.shared && !d.has(m.storageKey))
251
243
  return;
252
- const y = d.preserves && w.has(d.storageKey) ? w.get(d.storageKey) : { x: 0, y: 0 };
253
- let E = 0;
254
- const P = () => {
244
+ const b = m.preserves && d.has(m.storageKey) ? d.get(m.storageKey) : { x: 0, y: 0 };
245
+ let S = 0;
246
+ const E = () => {
255
247
  if (!o) return;
256
248
  o.scrollTo({
257
- top: y.y,
258
- left: y.x
259
- }), !(Math.abs(o.scrollTop - y.y) < 1 && Math.abs(o.scrollLeft - y.x) < 1) && E < Qt && (E++, requestAnimationFrame(P));
249
+ top: b.y,
250
+ left: b.x
251
+ }), !(Math.abs(o.scrollTop - b.y) < 1 && Math.abs(o.scrollLeft - b.x) < 1) && S < jt && (S++, requestAnimationFrame(E));
260
252
  };
261
- requestAnimationFrame(P);
253
+ requestAnimationFrame(E);
262
254
  };
263
255
  return {
264
- initializeContext: (f, d) => {
265
- k = !0;
266
- const y = ++W;
267
- L = f, o || (o = zt(f), a = u(), l = !0, typeof ResizeObserver < "u" && new ResizeObserver(() => {
268
- a = u();
269
- }).observe(o), (o === document.documentElement ? window : o).addEventListener("scroll", $, {
256
+ initializeContext: (h, m) => {
257
+ C = !0;
258
+ const b = ++A;
259
+ g = h, o || (o = zt(h), r = u(), l = !0, typeof ResizeObserver < "u" && new ResizeObserver(() => {
260
+ r = u();
261
+ }).observe(o), (o === document.documentElement ? window : o).addEventListener("scroll", k, {
270
262
  passive: !0
271
- })), O = d, z(d);
272
- let E = 0;
273
- const P = () => {
274
- y === W && (E++, E >= jt ? k = !1 : requestAnimationFrame(P));
263
+ })), x = m, X(m);
264
+ let S = 0;
265
+ const E = () => {
266
+ b === A && (S++, S >= Jt ? C = !1 : requestAnimationFrame(E));
275
267
  };
276
- requestAnimationFrame(P);
268
+ requestAnimationFrame(E);
277
269
  },
278
- calculateScrollOffset: (f, d) => {
279
- const y = f ? b(f).storageKey : null, E = y && w.has(y) ? w.get(y) : { x: 0, y: 0 }, P = d ? b(d) : null, A = P != null && P.preserves ? P.storageKey : null, C = A && w.has(A) ? w.get(A) : { x: 0, y: 0 };
270
+ calculateScrollOffset: (h, m) => {
271
+ const b = h ? f(h).storageKey : null, S = b && d.has(b) ? d.get(b) : { x: 0, y: 0 }, E = m ? f(m) : null, _ = E != null && E.preserves ? E.storageKey : null, F = _ && d.has(_) ? d.get(_) : { x: 0, y: 0 };
280
272
  return {
281
- x: -C.x + E.x,
282
- y: -C.y + E.y
273
+ x: -F.x + S.x,
274
+ y: -F.y + S.y
283
275
  };
284
276
  },
285
- evictScrollPosition: (f) => {
286
- w.delete(b(f).storageKey);
277
+ evictScrollPosition: (h) => {
278
+ d.delete(f(h).storageKey);
287
279
  },
288
- shouldPreserve: _,
280
+ shouldPreserve: w,
289
281
  getScrollContainer: () => o,
290
- getPositionedParentElement: () => L ? Bt(L) : document.body,
291
- getScrollPosition: (f) => {
292
- const d = f ? b(f).storageKey : null;
293
- return d && w.has(d) ? w.get(d) : { x: 0, y: 0 };
282
+ getPositionedParentElement: () => g ? Kt(g) : document.body,
283
+ getScrollPosition: (h) => {
284
+ const m = h ? f(h).storageKey : null;
285
+ return m && d.has(m) ? d.get(m) : { x: 0, y: 0 };
294
286
  },
295
287
  // Same measurement that drives `preserveScroll`'s `isMobile`, exposed so a
296
288
  // functional `transitions` config can branch on it too.
297
- getIsMobile: g
289
+ getIsMobile: y
298
290
  };
299
291
  }
300
- const bt = 30, St = 8, Et = 1.2, wt = 30, te = 600;
301
- function ee() {
302
- let t = null, n = !1, e = !1, s = null, o = null, a = !1;
303
- const l = (h, v) => {
304
- for (let S = 0; S < h.length; S++) {
305
- const m = h.item(S);
306
- if (m && m.identifier === v) return m;
292
+ const St = 30, Et = 8, Tt = 1.2, Pt = 30, ee = 600;
293
+ function ne() {
294
+ let t = null, n = !1, e = !1, i = null, o = null, r = !1;
295
+ const l = (p, T) => {
296
+ for (let P = 0; P < p.length; P++) {
297
+ const O = p.item(P);
298
+ if (O && O.identifier === T) return O;
307
299
  }
308
300
  return null;
309
301
  }, u = () => {
310
- s !== null && (clearTimeout(s), s = null);
311
- }, g = () => {
302
+ i !== null && (clearTimeout(i), i = null);
303
+ }, y = () => {
312
304
  o !== null && (clearTimeout(o), o = null);
313
- }, b = () => {
314
- n = !0, e = !0, u(), g(), s = setTimeout(() => {
315
- n = !1, e = !1, s = null;
316
- }, te);
317
- }, _ = (h) => {
318
- if (h.touches.length !== 1) {
305
+ }, f = () => {
306
+ n = !0, e = !0, u(), y(), i = setTimeout(() => {
307
+ n = !1, e = !1, i = null;
308
+ }, ee);
309
+ }, w = (p) => {
310
+ if (p.touches.length !== 1) {
319
311
  t = null;
320
312
  return;
321
313
  }
322
- const v = h.touches.item(0);
323
- if (!v) {
314
+ const T = p.touches.item(0);
315
+ if (!T) {
324
316
  t = null;
325
317
  return;
326
318
  }
327
- const S = window.innerWidth, m = v.clientX <= bt, T = v.clientX >= S - bt;
328
- if (!m && !T) {
319
+ const P = window.innerWidth, O = T.clientX <= St, R = T.clientX >= P - St;
320
+ if (!O && !R) {
329
321
  t = null;
330
322
  return;
331
323
  }
332
324
  t = {
333
- identifier: v.identifier,
334
- startX: v.clientX,
335
- startY: v.clientY,
336
- fromLeftEdge: m,
325
+ identifier: T.identifier,
326
+ startX: T.clientX,
327
+ startY: T.clientY,
328
+ fromLeftEdge: O,
337
329
  moved: !1
338
330
  };
339
- }, L = (h) => {
331
+ }, g = (p) => {
340
332
  if (!t) return;
341
- if (h.touches.length !== 1) {
333
+ if (p.touches.length !== 1) {
342
334
  t = null;
343
335
  return;
344
336
  }
345
- const v = l(h.touches, t.identifier);
346
- if (!v) {
337
+ const T = l(p.touches, t.identifier);
338
+ if (!T) {
347
339
  t = null;
348
340
  return;
349
341
  }
350
- const S = v.clientX - t.startX, m = v.clientY - t.startY, T = Math.abs(S), I = Math.abs(m);
351
- if (I > St && I > T * Et) {
342
+ const P = T.clientX - t.startX, O = T.clientY - t.startY, R = Math.abs(P), L = Math.abs(O);
343
+ if (L > Et && L > R * Tt) {
352
344
  t = null;
353
345
  return;
354
346
  }
355
- const f = t.fromLeftEdge ? S > 0 : S < 0;
356
- T > St && T > I * Et && f && (t.moved = !0);
357
- }, w = (h) => {
347
+ const h = t.fromLeftEdge ? P > 0 : P < 0;
348
+ R > Et && R > L * Tt && h && (t.moved = !0);
349
+ }, d = (p) => {
358
350
  if (!t) return;
359
- const v = l(h.changedTouches, t.identifier);
360
- if (!v) {
351
+ const T = l(p.changedTouches, t.identifier);
352
+ if (!T) {
361
353
  t = null;
362
354
  return;
363
355
  }
364
- const S = v.clientX - t.startX, m = t.fromLeftEdge ? S > 0 : S < 0;
365
- if (t.moved && m && Math.abs(S) >= wt) {
366
- b(), t = null;
356
+ const P = T.clientX - t.startX, O = t.fromLeftEdge ? P > 0 : P < 0;
357
+ if (t.moved && O && Math.abs(P) >= Pt) {
358
+ f(), t = null;
367
359
  return;
368
360
  }
369
- t.moved && Math.abs(S) >= wt && b(), t = null;
370
- }, O = () => {
371
- t && (t.moved && b(), t = null);
361
+ t.moved && Math.abs(P) >= Pt && f(), t = null;
362
+ }, x = () => {
363
+ t && (t.moved && f(), t = null);
372
364
  };
373
365
  return { initialize: () => {
374
- if (typeof window > "u" || a) return;
375
- a = !0;
376
- const h = { passive: !0, capture: !0 };
377
- window.addEventListener("touchstart", _, h), window.addEventListener("touchmove", L, h), window.addEventListener("touchend", w, h), window.addEventListener("touchcancel", O, h);
366
+ if (typeof window > "u" || r) return;
367
+ r = !0;
368
+ const p = { passive: !0, capture: !0 };
369
+ window.addEventListener("touchstart", w, p), window.addEventListener("touchmove", g, p), window.addEventListener("touchend", d, p), window.addEventListener("touchcancel", x, p);
378
370
  }, destroy: () => {
379
- if (typeof window > "u" || !a) return;
380
- a = !1;
381
- const h = { capture: !0 };
382
- window.removeEventListener("touchstart", _, h), window.removeEventListener("touchmove", L, h), window.removeEventListener("touchend", w, h), window.removeEventListener("touchcancel", O, h), u(), g(), t = null, n = !1, e = !1;
371
+ if (typeof window > "u" || !r) return;
372
+ r = !1;
373
+ const p = { capture: !0 };
374
+ window.removeEventListener("touchstart", w, p), window.removeEventListener("touchmove", g, p), window.removeEventListener("touchend", d, p), window.removeEventListener("touchcancel", x, p), u(), y(), t = null, n = !1, e = !1;
383
375
  }, isSwipeBack: () => {
384
- const h = n || e;
385
- return h && u(), h;
376
+ const p = n || e;
377
+ return p && u(), p;
386
378
  }, onPageEnter: () => {
387
- n = !1, u(), g(), o = setTimeout(() => {
379
+ n = !1, u(), y(), o = setTimeout(() => {
388
380
  e = !1, o = null;
389
381
  }, 0);
390
382
  } };
391
383
  }
392
- function ne() {
384
+ function ie(t, n) {
385
+ return n ? t.priority !== n.priority ? t.priority > n.priority : t.specificity !== n.specificity ? t.specificity > n.specificity : t.ruleIndex < n.ruleIndex : !0;
386
+ }
387
+ function se(t, n, e, i) {
388
+ let o = null;
389
+ return e.forEach((r, l) => {
390
+ const u = r.priority ?? 0;
391
+ let y = null;
392
+ if (r.on !== void 0) {
393
+ const f = r.except !== void 0 && I(t, r.except) !== null, w = r.except !== void 0 && I(n, r.except) !== null, g = f ? null : I(t, r.on), d = w ? null : I(n, r.on);
394
+ if (g || d) {
395
+ const x = !g && d ? "forward" : g && !d ? "backward" : i;
396
+ y = {
397
+ transition: r.transition,
398
+ direction: x,
399
+ ruleIndex: l,
400
+ priority: u,
401
+ specificity: Math.max(
402
+ (g == null ? void 0 : g.specificity) ?? 0,
403
+ (d == null ? void 0 : d.specificity) ?? 0
404
+ ),
405
+ reason: !g && d ? "on-enter" : g && !d ? "on-leave" : "on-history"
406
+ };
407
+ }
408
+ } else if (r.ordered !== void 0) {
409
+ let f = -1, w = -1, g = -1, d = -1;
410
+ r.ordered.forEach((x, C) => {
411
+ const A = I(t, x);
412
+ A && A.specificity > g && (f = C, g = A.specificity);
413
+ const k = I(n, x);
414
+ k && k.specificity > d && (w = C, d = k.specificity);
415
+ }), f >= 0 && w >= 0 && f !== w && (y = {
416
+ transition: r.transition,
417
+ direction: f < w ? "forward" : "backward",
418
+ ruleIndex: l,
419
+ priority: u,
420
+ specificity: g + d,
421
+ reason: "ordered"
422
+ });
423
+ } else {
424
+ const f = I(t, r.from), w = I(n, r.to), g = r.bidirectional === !1 ? null : I(t, r.to), d = r.bidirectional === !1 ? null : I(n, r.from), x = f && w, C = g && d;
425
+ if (x || C) {
426
+ const A = x ? f.specificity + w.specificity : -1, k = C ? g.specificity + d.specificity : -1, X = x && C && A === k ? i : A >= k ? "forward" : "backward";
427
+ y = {
428
+ transition: r.transition,
429
+ direction: X,
430
+ ruleIndex: l,
431
+ priority: u,
432
+ specificity: Math.max(A, k),
433
+ reason: "pair"
434
+ };
435
+ }
436
+ }
437
+ y && ie(y, o) && (o = y);
438
+ }), o;
439
+ }
440
+ function oe() {
441
+ const t = [];
442
+ let n = !1;
443
+ const e = () => {
444
+ n = !0;
445
+ };
446
+ return typeof window < "u" && window.addEventListener("popstate", e), {
447
+ resolve(i, o) {
448
+ const r = G(i), l = G(o);
449
+ if (t.length === 0)
450
+ t.push(r);
451
+ else if (t[t.length - 1] !== r) {
452
+ const f = t.lastIndexOf(r);
453
+ f >= 0 ? t.splice(f + 1) : t.push(r);
454
+ }
455
+ const u = t[t.length - 2], y = n || u === l ? "backward" : "forward";
456
+ if (n = !1, y === "backward") {
457
+ const f = t.lastIndexOf(l);
458
+ f >= 0 ? t.splice(f + 1) : t.push(l);
459
+ } else t[t.length - 1] !== l && t.push(l);
460
+ return y;
461
+ },
462
+ dispose() {
463
+ typeof window < "u" && window.removeEventListener("popstate", e);
464
+ }
465
+ };
466
+ }
467
+ function re() {
393
468
  let t = null;
394
469
  function n() {
395
- var s, o;
396
- t && ((s = t.outResolve) == null || s.call(t, null), (o = t.inResolve) == null || o.call(t, null), t = null);
470
+ var i, o;
471
+ t && ((i = t.outResolve) == null || i.call(t, null), (o = t.inResolve) == null || o.call(t, null), t = null);
397
472
  }
398
473
  function e() {
399
474
  if (t != null && t.from && (t != null && t.to) && (t != null && t.outResolve) && (t != null && t.inResolve)) {
@@ -401,341 +476,346 @@ function ne() {
401
476
  n();
402
477
  return;
403
478
  }
404
- const s = { from: t.from, to: t.to };
405
- t.outResolve(s), t.inResolve(s), t = null;
479
+ const i = { from: t.from, to: t.to };
480
+ t.outResolve(i), t.inResolve(i), t = null;
406
481
  }
407
482
  }
408
483
  return {
409
- trigger(s, o) {
484
+ trigger(i, o) {
410
485
  var l;
411
- o === "out" && (t == null ? void 0 : t.to) === s && !t.from && ((l = t.inResolve) == null || l.call(t, null), t = {}), t && (o === "out" && t.from && t.from !== s || o === "in" && t.to && t.to !== s) && n(), t || (t = {}), o === "out" ? t.from = s : t.to = s;
486
+ o === "out" && (t == null ? void 0 : t.to) === i && !t.from && ((l = t.inResolve) == null || l.call(t, null), t = {}), t && (o === "out" && t.from && t.from !== i || o === "in" && t.to && t.to !== i) && n(), t || (t = {}), o === "out" ? t.from = i : t.to = i;
412
487
  },
413
- get(s) {
488
+ get(i) {
414
489
  return new Promise((o) => {
415
- t || (t = {}), s === "out" ? t.outResolve = o : t.inResolve = o, e();
490
+ t || (t = {}), i === "out" ? t.outResolve = o : t.inResolve = o, e();
416
491
  });
417
492
  }
418
493
  };
419
494
  }
420
- const X = /* @__PURE__ */ new Map();
421
- let Y = null, Tt = !1;
422
- function Mt(t, n) {
423
- if (t instanceof HTMLElement && X.has(t) && !t.isConnected) {
424
- const e = X.get(t);
425
- X.delete(t), queueMicrotask(() => e(n));
495
+ const V = /* @__PURE__ */ new Map();
496
+ let J = null, xt = !1;
497
+ function Ct(t, n) {
498
+ if (t instanceof HTMLElement && V.has(t) && !t.isConnected) {
499
+ const e = V.get(t);
500
+ V.delete(t), queueMicrotask(() => e(n));
426
501
  }
427
502
  for (const e of Array.from(t.childNodes))
428
- Mt(e, n);
503
+ Ct(e, n);
429
504
  }
430
- function se() {
431
- if (Tt || typeof document > "u") return;
432
- Tt = !0, Y = new MutationObserver((n) => {
505
+ function ce() {
506
+ if (xt || typeof document > "u") return;
507
+ xt = !0, J = new MutationObserver((n) => {
433
508
  for (const e of n) {
434
- const s = {
509
+ const i = {
435
510
  parent: e.target,
436
511
  nextSibling: e.nextSibling
437
512
  };
438
513
  for (const o of Array.from(e.removedNodes))
439
- Mt(o, s);
514
+ Ct(o, i);
440
515
  }
441
516
  });
442
517
  const t = () => {
443
- Y == null || Y.observe(document.body, { childList: !0, subtree: !0 });
518
+ J == null || J.observe(document.body, { childList: !0, subtree: !0 });
444
519
  };
445
520
  document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
446
521
  }
447
- function ie(t, n) {
448
- return se(), X.set(t, n), () => {
449
- X.delete(t);
522
+ function le(t, n) {
523
+ return ce(), V.set(t, n), () => {
524
+ V.delete(t);
450
525
  };
451
526
  }
452
- const ct = /* @__PURE__ */ new WeakMap();
453
- let Z = null;
454
- const Q = "none !important";
455
- function K(t) {
527
+ const ut = /* @__PURE__ */ new WeakMap();
528
+ let tt = null;
529
+ const et = "none !important";
530
+ function q(t) {
456
531
  const n = t.style.getPropertyValue("display");
457
532
  return t.style.getPropertyPriority("display") ? `${n} !important` : n;
458
533
  }
459
- function oe() {
460
- return Z || (Z = new MutationObserver((t) => {
534
+ function ae() {
535
+ return tt || (tt = new MutationObserver((t) => {
461
536
  for (const n of t) {
462
- const e = n.target, s = ct.get(e);
463
- if (!s) continue;
464
- const o = K(e);
465
- o !== s.accounted && (s.accounted = o, o === Q ? (s.reactHidden = !0, s.onHide()) : o !== "none" && s.reactHidden && (s.reactHidden = !1, s.onShow()));
537
+ const e = n.target, i = ut.get(e);
538
+ if (!i) continue;
539
+ const o = q(e);
540
+ o !== i.accounted && (i.accounted = o, o === et ? (i.reactHidden = !0, i.onHide()) : o !== "none" && i.reactHidden && (i.reactHidden = !1, i.onShow()));
466
541
  }
467
- }), Z);
542
+ }), tt);
468
543
  }
469
- function re(t, n) {
470
- const e = K(t), s = {
544
+ function ue(t, n) {
545
+ const e = q(t), i = {
471
546
  accounted: e,
472
- reactHidden: e === Q,
547
+ reactHidden: e === et,
473
548
  onHide: n.onHide,
474
549
  onShow: n.onShow
475
550
  };
476
- return ct.set(t, s), oe().observe(t, {
551
+ return ut.set(t, i), ae().observe(t, {
477
552
  attributes: !0,
478
553
  attributeFilter: ["style"]
479
554
  }), {
480
555
  get isHidden() {
481
- return K(t) === Q;
556
+ return q(t) === et;
482
557
  },
483
- setDisplay(o, a = !1) {
558
+ setDisplay(o, r = !1) {
484
559
  o === null ? t.style.removeProperty("display") : t.style.setProperty(
485
560
  "display",
486
561
  o,
487
- a ? "important" : ""
488
- ), s.accounted = K(t);
562
+ r ? "important" : ""
563
+ ), i.accounted = q(t);
489
564
  },
490
565
  sync() {
491
- s.accounted = K(t), s.reactHidden = s.accounted === Q;
566
+ i.accounted = q(t), i.reactHidden = i.accounted === et;
492
567
  },
493
568
  stop() {
494
- ct.delete(t);
569
+ ut.delete(t);
495
570
  }
496
571
  };
497
572
  }
498
- function ce(t) {
499
- return Array.isArray(t);
500
- }
501
- function Rt(t) {
502
- const n = [];
503
- for (const e of t)
504
- ce(e) ? n.push(...Rt(e)) : n.push(e);
505
- return n;
506
- }
507
- function ge(t, n = {}) {
573
+ function we(t, n = {}) {
508
574
  const {
509
575
  transitions: e = [],
510
- middleware: s = (i, r) => ({ from: i, to: r }),
511
- preserveScroll: o = (i) => i
512
- } = t, a = n.host ?? new Ht(), l = ne(), u = typeof e == "function" ? e : () => e, g = ee();
513
- g.initialize();
514
- const b = /* @__PURE__ */ new Map(), _ = (i) => {
515
- let r = b.get(i);
516
- return r === void 0 && (r = s(i, i).from, b.set(i, r)), r;
576
+ middleware: i = (s, c) => ({ from: s, to: c }),
577
+ preserveScroll: o = (s) => s
578
+ } = t, r = n.host ?? new Ft(), l = re(), u = oe(), y = typeof e == "function" ? e : () => e, f = ne();
579
+ f.initialize();
580
+ const w = /* @__PURE__ */ new Map(), g = (s) => {
581
+ let c = w.get(s);
582
+ return c === void 0 && (c = i(s, s).from, w.set(s, c)), c;
517
583
  }, {
518
- initializeContext: L,
519
- calculateScrollOffset: w,
520
- evictScrollPosition: O,
521
- shouldPreserve: k,
522
- getScrollContainer: W,
523
- getPositionedParentElement: $,
524
- getScrollPosition: z,
525
- getIsMobile: h
526
- } = Jt({ preserveScroll: o, resolvePath: _ }), v = /* @__PURE__ */ new Map(), S = () => {
527
- const i = h();
528
- let r = v.get(i);
529
- return r || (r = Kt(
530
- Rt(u({ isMobile: i }))
531
- ), v.set(i, r)), r;
584
+ initializeContext: d,
585
+ calculateScrollOffset: x,
586
+ evictScrollPosition: C,
587
+ shouldPreserve: A,
588
+ getScrollContainer: k,
589
+ getPositionedParentElement: X,
590
+ getScrollPosition: p,
591
+ getIsMobile: T
592
+ } = te({ preserveScroll: o, resolvePath: g }), P = /* @__PURE__ */ new Map(), O = () => {
593
+ const s = T();
594
+ let c = P.get(s);
595
+ return c || (c = y({ isMobile: s }), P.set(s, c)), c;
532
596
  };
533
- let m = null, T = null;
534
- const I = /* @__PURE__ */ new WeakMap(), f = (i) => {
535
- I.set(i, {
536
- parent: i.parentNode,
537
- nextSibling: i.nextSibling
597
+ let R = null, L = null;
598
+ const h = /* @__PURE__ */ new WeakMap(), m = (s) => {
599
+ h.set(s, {
600
+ parent: s.parentNode,
601
+ nextSibling: s.nextSibling
538
602
  });
539
- }, d = (i) => {
540
- const r = I.get(i);
541
- return r || {
542
- parent: i.parentNode,
543
- nextSibling: i.nextSibling
603
+ }, b = (s) => {
604
+ const c = h.get(s);
605
+ return c || {
606
+ parent: s.parentNode,
607
+ nextSibling: s.nextSibling
544
608
  };
545
- }, y = /* @__PURE__ */ new WeakMap(), E = /* @__PURE__ */ new WeakMap();
546
- let P = 0;
547
- const A = (i) => {
548
- const r = typeof getComputedStyle < "u" ? getComputedStyle(i).display : "";
549
- return r && r !== "none" ? r : "block";
550
- }, C = (i, r) => {
551
- r.visibleDisplay = i.style.getPropertyValue("display"), r.computedDisplay = A(i);
552
- }, ut = (i, r) => {
553
- if (E.get(i) !== r) return;
554
- E.delete(i);
555
- const c = y.get(i);
556
- c && (c.savedCss !== null && (i.style.cssText = c.savedCss, c.savedCss = null), c.intent === "hidden" ? c.vis.setDisplay("none", !0) : c.visibleDisplay ? (c.vis.setDisplay(c.visibleDisplay, !1), C(i, c)) : (c.vis.setDisplay(null), C(i, c)));
557
- }, Ct = (i, r, c, p, M) => {
558
- const R = p.element, D = M.element, N = (p.mode ?? "unmount") === "hidden", { parent: q, nextSibling: J } = p.parent ? { parent: p.parent, nextSibling: p.nextSibling } : d(R), V = w(r, c), tt = {
559
- scrollOffset: V,
560
- from: { scroll: z(r) },
561
- to: { scroll: z(c) },
609
+ }, S = /* @__PURE__ */ new WeakMap(), E = /* @__PURE__ */ new WeakMap();
610
+ let _ = 0;
611
+ const F = (s) => {
612
+ const c = typeof getComputedStyle < "u" ? getComputedStyle(s).display : "";
613
+ return c && c !== "none" ? c : "block";
614
+ }, Y = (s, c) => {
615
+ c.visibleDisplay = s.style.getPropertyValue("display"), c.computedDisplay = F(s);
616
+ }, dt = (s, c) => {
617
+ if (E.get(s) !== c) return;
618
+ E.delete(s);
619
+ const a = S.get(s);
620
+ a && (a.savedCss !== null && (s.style.cssText = a.savedCss, a.savedCss = null), a.intent === "hidden" ? a.vis.setDisplay("none", !0) : a.visibleDisplay ? (a.vis.setDisplay(a.visibleDisplay, !1), Y(s, a)) : (a.vis.setDisplay(null), Y(s, a)));
621
+ }, Lt = (s, c, a, v, M, H) => {
622
+ const B = M.element, N = H.element, W = (M.mode ?? "unmount") === "hidden", { parent: z, nextSibling: it } = M.parent ? { parent: M.parent, nextSibling: M.nextSibling } : b(B), Q = x(a, v), st = {
623
+ direction: c,
624
+ scrollOffset: Q,
625
+ from: { scroll: p(a) },
626
+ to: { scroll: p(v) },
562
627
  get scrollingElement() {
563
- return W() || document.documentElement;
628
+ return k() || document.documentElement;
564
629
  },
565
630
  get positionedParent() {
566
- return $();
631
+ return X();
567
632
  }
568
633
  };
569
- let x;
570
- if (N) {
571
- x = R, x.style.top = `${-1 * ((V == null ? void 0 : V.y) ?? 0)}px`;
572
- const H = y.get(D);
573
- H && H.savedCss === null && (H.savedCss = D.style.cssText);
634
+ let D;
635
+ if (W) {
636
+ D = B, D.style.top = `${-1 * ((Q == null ? void 0 : Q.y) ?? 0)}px`;
637
+ const K = S.get(N);
638
+ K && K.savedCss === null && (K.savedCss = N.style.cssText);
574
639
  } else
575
- x = R, Wt(x, tt);
576
- k(r) || O(r);
577
- const G = N ? ++P : 0;
578
- N && (E.set(D, G), E.set(R, G));
579
- const pt = Promise.resolve(x), yt = Promise.resolve(D), mt = [], _t = {
580
- from: pt,
581
- to: yt,
582
- context: tt,
583
- createElement: ((H, et = "div") => {
584
- const B = document.createElement(et);
585
- return B.setAttribute("data-ssgoi-id", H), mt.push(B), B;
640
+ D = B, Bt(D, st);
641
+ A(a) || C(a);
642
+ const j = W ? ++_ : 0;
643
+ W && (E.set(N, j), E.set(B, j));
644
+ const mt = Promise.resolve(D), gt = Promise.resolve(N), vt = [], Dt = {
645
+ from: mt,
646
+ to: gt,
647
+ context: st,
648
+ createElement: ((K, ot = "div") => {
649
+ const $ = document.createElement(ot);
650
+ return $.setAttribute("data-ssgoi-id", K), vt.push($), $;
586
651
  })
587
- }, Dt = Promise.resolve(
588
- i.prepare ? i.prepare(_t) : {}
652
+ }, It = Promise.resolve(
653
+ s.prepare ? s.prepare(Dt) : {}
589
654
  );
590
- Ft({
591
- from: pt,
592
- to: yt,
593
- extras: Dt
594
- }).then(({ from: H, to: et, extras: B }) => {
595
- !N && q && (J && q.contains(J) ? q.insertBefore(x, J) : q.appendChild(x));
596
- const nt = i.animation({
597
- from: H,
598
- to: et,
599
- context: tt,
600
- ...B
601
- }), st = nt.onComplete;
602
- nt.onComplete = () => {
603
- st == null || st(), N ? (ut(R, G), ut(D, G)) : x.parentNode && x.parentNode.removeChild(x);
604
- for (const it of mt)
605
- it.parentNode && it.parentNode.removeChild(it);
606
- }, a.attach(nt);
655
+ Xt({
656
+ from: mt,
657
+ to: gt,
658
+ extras: It
659
+ }).then(({ from: K, to: ot, extras: $ }) => {
660
+ !W && z && (it && z.contains(it) ? z.insertBefore(D, it) : z.appendChild(D));
661
+ const rt = s.animation({
662
+ from: K,
663
+ to: ot,
664
+ context: st,
665
+ ...$
666
+ }), ct = rt.onComplete;
667
+ rt.onComplete = () => {
668
+ ct == null || ct(), W ? (dt(B, j), dt(N, j)) : D.parentNode && D.parentNode.removeChild(D);
669
+ for (const lt of vt)
670
+ lt.parentNode && lt.parentNode.removeChild(lt);
671
+ }, r.attach(rt);
607
672
  });
608
- }, U = (i, r) => {
609
- const c = g.isSwipeBack();
610
- l.trigger(i, r), l.get(r).then((p) => {
611
- if (r === "in" && g.onPageEnter(), !p) return;
612
- if (c) {
613
- r === "out" && p.from && !k(p.from) && O(p.from), m = null, T = null;
673
+ }, Z = (s, c) => {
674
+ const a = f.isSwipeBack();
675
+ l.trigger(s, c), l.get(c).then((v) => {
676
+ if (c === "in" && f.onPageEnter(), !v) return;
677
+ if (a && c === "in") {
678
+ const z = i(v.from, v.to);
679
+ u.resolve(z.from, z.to);
680
+ }
681
+ if (a) {
682
+ c === "out" && v.from && !A(v.from) && C(v.from), R = null, L = null;
614
683
  return;
615
684
  }
616
- if (r !== "in") return;
617
- const { from: M, to: R } = s(
618
- p.from,
619
- p.to
620
- ), D = Yt(
685
+ if (c !== "in") return;
686
+ const { from: M, to: H } = i(
687
+ v.from,
688
+ v.to
689
+ ), B = u.resolve(
690
+ M,
691
+ H
692
+ ), N = se(
621
693
  M,
622
- R,
623
- S()
624
- ), j = m, N = T;
625
- m = null, T = null, !(!D || !j || !N) && Ct(D, p.from, p.to, j, N);
694
+ H,
695
+ O(),
696
+ B
697
+ ), nt = R, W = L;
698
+ R = null, L = null, !(!N || !nt || !W) && Lt(
699
+ N.transition,
700
+ N.direction,
701
+ v.from,
702
+ v.to,
703
+ nt,
704
+ W
705
+ );
626
706
  });
627
- }, xt = (i, r) => {
628
- const c = y.get(i);
629
- if (!c) return;
630
- const p = c.intent === "hidden";
631
- if (c.intent = "hidden", c.savedCss === null && (c.savedCss = i.style.cssText), c.vis.setDisplay(c.computedDisplay || "block", !0), i.style.position = "absolute", i.style.width = "100%", i.style.left = "0", p) return;
632
- const M = d(i);
633
- m = {
634
- element: i,
707
+ }, Ot = (s, c) => {
708
+ const a = S.get(s);
709
+ if (!a) return;
710
+ const v = a.intent === "hidden";
711
+ if (a.intent = "hidden", a.savedCss === null && (a.savedCss = s.style.cssText), a.vis.setDisplay(a.computedDisplay || "block", !0), s.style.position = "absolute", s.style.width = "100%", s.style.left = "0", v) return;
712
+ const M = b(s);
713
+ R = {
714
+ element: s,
635
715
  parent: M.parent,
636
716
  nextSibling: M.nextSibling,
637
717
  mode: "hidden"
638
718
  };
639
- const R = i.getAttribute("data-ssgoi-transition") ?? r;
640
- U(R, "out");
641
- }, Lt = (i, r) => {
642
- const c = y.get(i);
643
- if (!c || c.intent === "visible") return;
644
- c.intent = "visible", C(i, c), c.savedCss !== null && (i.style.cssText = c.savedCss, c.visibleDisplay ? c.vis.setDisplay(c.visibleDisplay, !1) : c.vis.setDisplay(null)), L(i, r), T = {
645
- element: i,
646
- parent: i.parentElement,
647
- nextSibling: i.nextElementSibling
719
+ const H = s.getAttribute("data-ssgoi-transition") ?? c;
720
+ Z(H, "out");
721
+ }, kt = (s, c) => {
722
+ const a = S.get(s);
723
+ if (!a || a.intent === "visible") return;
724
+ a.intent = "visible", Y(s, a), a.savedCss !== null && (s.style.cssText = a.savedCss, a.visibleDisplay ? a.vis.setDisplay(a.visibleDisplay, !1) : a.vis.setDisplay(null)), d(s, c), L = {
725
+ element: s,
726
+ parent: s.parentElement,
727
+ nextSibling: s.nextElementSibling
648
728
  };
649
- const p = i.getAttribute("data-ssgoi-transition") ?? r;
650
- U(p, "in");
651
- }, Ot = (i, r, c) => {
652
- const p = y.get(i);
653
- if (p && (p.vis.stop(), y.delete(i), E.delete(i), p.intent === "hidden")) {
654
- (m == null ? void 0 : m.element) === i && (m = null), (T == null ? void 0 : T.element) === i && (T = null);
729
+ const v = s.getAttribute("data-ssgoi-transition") ?? c;
730
+ Z(v, "in");
731
+ }, _t = (s, c, a) => {
732
+ const v = S.get(s);
733
+ if (v && (v.vis.stop(), S.delete(s), E.delete(s), v.intent === "hidden")) {
734
+ (R == null ? void 0 : R.element) === s && (R = null), (L == null ? void 0 : L.element) === s && (L = null);
655
735
  return;
656
736
  }
657
- const M = c ?? d(i);
658
- m = {
659
- element: i,
737
+ const M = a ?? b(s);
738
+ R = {
739
+ element: s,
660
740
  parent: M.parent,
661
741
  nextSibling: M.nextSibling,
662
742
  mode: "unmount"
663
743
  };
664
- const R = i.getAttribute("data-ssgoi-transition") ?? r;
665
- U(R, "out");
666
- }, dt = /* @__PURE__ */ new WeakSet(), ft = (i, r) => {
667
- if (dt.has(r)) return;
668
- dt.add(r), f(r);
669
- const c = re(r, {
670
- onHide: () => xt(r, i),
671
- onShow: () => Lt(r, i)
672
- }), p = {
673
- vis: c,
744
+ const H = s.getAttribute("data-ssgoi-transition") ?? c;
745
+ Z(H, "out");
746
+ }, ht = /* @__PURE__ */ new WeakSet(), pt = (s, c) => {
747
+ if (ht.has(c)) return;
748
+ ht.add(c), m(c);
749
+ const a = ue(c, {
750
+ onHide: () => Ot(c, s),
751
+ onShow: () => kt(c, s)
752
+ }), v = {
753
+ vis: a,
674
754
  savedCss: null,
675
- intent: c.isHidden ? "hidden" : "visible",
755
+ intent: a.isHidden ? "hidden" : "visible",
676
756
  visibleDisplay: "",
677
757
  computedDisplay: "block"
678
758
  };
679
- y.set(r, p), c.isHidden || (C(r, p), L(r, i), T = {
680
- element: r,
681
- parent: r.parentElement,
682
- nextSibling: r.nextElementSibling
683
- }, U(i, "in")), ie(r, (M) => Ot(r, i, M));
684
- }, ht = /* @__PURE__ */ new Map();
685
- return { register: ft, refFor: (i) => {
686
- let r = ht.get(i);
687
- return r || (r = (c) => {
688
- c && ft(i, c);
689
- }, ht.set(i, r)), r;
759
+ S.set(c, v), a.isHidden || (Y(c, v), d(c, s), L = {
760
+ element: c,
761
+ parent: c.parentElement,
762
+ nextSibling: c.nextElementSibling
763
+ }, Z(s, "in")), le(c, (M) => _t(c, s, M));
764
+ }, yt = /* @__PURE__ */ new Map();
765
+ return { register: pt, refFor: (s) => {
766
+ let c = yt.get(s);
767
+ return c || (c = (a) => {
768
+ a && pt(s, a);
769
+ }, yt.set(s, c)), c;
690
770
  } };
691
771
  }
692
- const At = "data-ssgoi-root", le = `[${At}]`, lt = "data-ssgoi-transition", Pt = `[${lt}]`, ae = "[data-ssgoi-clone]";
693
- function ue() {
772
+ const At = "data-ssgoi-root", fe = `[${At}]`, ft = "data-ssgoi-transition", Rt = `[${ft}]`, de = "[data-ssgoi-clone]";
773
+ function he() {
694
774
  return typeof MutationObserver < "u" && typeof HTMLElement < "u" && typeof Node < "u";
695
775
  }
696
- function de(t) {
776
+ function pe(t) {
697
777
  return t.nodeType === Node.ELEMENT_NODE;
698
778
  }
699
- function fe(t) {
779
+ function ye(t) {
700
780
  return t instanceof HTMLElement;
701
781
  }
702
- function ve(t, n) {
703
- if (!ue()) return () => {
782
+ function Se(t, n) {
783
+ if (!he()) return () => {
704
784
  };
705
785
  t.setAttribute(At, "");
706
- const e = (l) => l.closest(le) === t, s = (l) => {
707
- if (!fe(l) || !e(l) || l.closest(ae))
786
+ const e = (l) => l.closest(fe) === t, i = (l) => {
787
+ if (!ye(l) || !e(l) || l.closest(de))
708
788
  return;
709
- const u = l.getAttribute(lt);
789
+ const u = l.getAttribute(ft);
710
790
  u !== null && n.register(u, l);
711
791
  }, o = (l) => {
712
- if (de(l)) {
713
- l.matches(Pt) && s(l);
714
- for (const u of l.querySelectorAll(Pt))
715
- s(u);
792
+ if (pe(l)) {
793
+ l.matches(Rt) && i(l);
794
+ for (const u of l.querySelectorAll(Rt))
795
+ i(u);
716
796
  }
717
- }, a = new MutationObserver((l) => {
797
+ }, r = new MutationObserver((l) => {
718
798
  for (const u of l) {
719
799
  if (u.type === "attributes") {
720
- s(u.target);
800
+ i(u.target);
721
801
  continue;
722
802
  }
723
- for (const g of u.addedNodes)
724
- o(g);
803
+ for (const y of u.addedNodes)
804
+ o(y);
725
805
  }
726
806
  });
727
- return a.observe(t, {
807
+ return r.observe(t, {
728
808
  childList: !0,
729
809
  subtree: !0,
730
810
  attributes: !0,
731
- attributeFilter: [lt]
732
- }), o(t), () => a.disconnect();
811
+ attributeFilter: [ft]
812
+ }), o(t), () => r.disconnect();
733
813
  }
734
814
  export {
735
- It as Animation,
736
- Ht as HostAnimation,
737
- Ee as MultiAnimation,
738
- we as WebAnimation,
739
- ge as createSggoiTransitionContext,
740
- ve as observeSsgoiTransitions
815
+ Wt as Animation,
816
+ Ft as HostAnimation,
817
+ Pe as MultiAnimation,
818
+ xe as WebAnimation,
819
+ we as createSggoiTransitionContext,
820
+ Se as observeSsgoiTransitions
741
821
  };