@wyxos/vibe 1.6.23 → 1.6.25

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/lib/index.js CHANGED
@@ -1,23 +1,23 @@
1
- import { nextTick as q, ref as z, computed as Q, defineComponent as Je, onMounted as Ke, onUnmounted as Qe, watch as te, createElementBlock as R, openBlock as O, createCommentVNode as ee, createElementVNode as V, normalizeStyle as ge, renderSlot as _, normalizeClass as re, withModifiers as Ce, toDisplayString as He, unref as U, Fragment as je, renderList as Ve, createVNode as ke, withCtx as fe, mergeProps as de, TransitionGroup as wt } from "vue";
2
- let Le = null;
3
- function xt() {
4
- if (Le != null) return Le;
1
+ import { nextTick as q, ref as B, computed as Z, defineComponent as et, onMounted as tt, onUnmounted as at, watch as te, createElementBlock as R, openBlock as O, createCommentVNode as ae, createElementVNode as V, normalizeStyle as ge, renderSlot as X, normalizeClass as re, withModifiers as Ye, toDisplayString as Be, unref as U, Fragment as Ue, renderList as _e, createVNode as He, withCtx as fe, mergeProps as de, TransitionGroup as Tt } from "vue";
2
+ let $e = null;
3
+ function It() {
4
+ if ($e != null) return $e;
5
5
  const e = document.createElement("div");
6
6
  e.style.visibility = "hidden", e.style.overflow = "scroll", e.style.msOverflowStyle = "scrollbar", e.style.width = "100px", e.style.height = "100px", document.body.appendChild(e);
7
7
  const l = document.createElement("div");
8
8
  l.style.width = "100%", e.appendChild(l);
9
9
  const r = e.offsetWidth - l.offsetWidth;
10
- return document.body.removeChild(e), Le = r, r;
10
+ return document.body.removeChild(e), $e = r, r;
11
11
  }
12
- function qe(e, l, r, n = {}) {
12
+ function Xe(e, l, r, t = {}) {
13
13
  const {
14
14
  gutterX: y = 0,
15
- gutterY: h = 0,
16
- header: m = 0,
15
+ gutterY: g = 0,
16
+ header: h = 0,
17
17
  footer: i = 0,
18
18
  paddingLeft: w = 0,
19
19
  paddingRight: b = 0,
20
- sizes: a = {
20
+ sizes: n = {
21
21
  base: 1,
22
22
  sm: 2,
23
23
  md: 3,
@@ -26,63 +26,63 @@ function qe(e, l, r, n = {}) {
26
26
  "2xl": 6
27
27
  },
28
28
  placement: p = "masonry"
29
- } = n;
30
- let x = 0, M = 0;
29
+ } = t;
30
+ let x = 0, T = 0;
31
31
  try {
32
32
  if (l && l.nodeType === 1 && typeof window < "u" && window.getComputedStyle) {
33
33
  const L = window.getComputedStyle(l);
34
- x = parseFloat(L.paddingLeft) || 0, M = parseFloat(L.paddingRight) || 0;
34
+ x = parseFloat(L.paddingLeft) || 0, T = parseFloat(L.paddingRight) || 0;
35
35
  }
36
36
  } catch {
37
37
  }
38
- const s = (w || 0) + x, g = (b || 0) + M, t = l.offsetWidth - l.clientWidth, d = t > 0 ? t + 2 : xt() + 2, v = l.offsetWidth - d - s - g, T = y * (r - 1), S = Math.floor((v - T) / r), E = e.map((L) => {
38
+ const s = (w || 0) + x, m = (b || 0) + T, a = l.offsetWidth - l.clientWidth, d = a > 0 ? a + 2 : It() + 2, v = l.offsetWidth - d - s - m, M = y * (r - 1), P = Math.floor((v - M) / r), I = e.map((L) => {
39
39
  const k = L.width, W = L.height;
40
- return Math.round(S * W / k) + i + m;
40
+ return Math.round(P * W / k) + i + h;
41
41
  });
42
42
  if (p === "sequential-balanced") {
43
- const L = E.length;
43
+ const L = I.length;
44
44
  if (L === 0) return [];
45
- const k = (B, Y, G) => B + (Y > 0 ? h : 0) + G;
46
- let W = Math.max(...E), o = E.reduce((B, Y) => B + Y, 0) + h * Math.max(0, L - 1);
47
- const u = (B) => {
48
- let Y = 1, G = 0, ne = 0;
49
- for (let J = 0; J < L; J++) {
50
- const ie = E[J], Z = k(G, ne, ie);
51
- if (Z <= B)
52
- G = Z, ne++;
53
- else if (Y++, G = ie, ne = 1, ie > B || Y > r) return !1;
45
+ const k = (D, Y, J) => D + (Y > 0 ? g : 0) + J;
46
+ let W = Math.max(...I), o = I.reduce((D, Y) => D + Y, 0) + g * Math.max(0, L - 1);
47
+ const u = (D) => {
48
+ let Y = 1, J = 0, ne = 0;
49
+ for (let K = 0; K < L; K++) {
50
+ const ie = I[K], ee = k(J, ne, ie);
51
+ if (ee <= D)
52
+ J = ee, ne++;
53
+ else if (Y++, J = ie, ne = 1, ie > D || Y > r) return !1;
54
54
  }
55
55
  return Y <= r;
56
56
  };
57
57
  for (; W < o; ) {
58
- const B = Math.floor((W + o) / 2);
59
- u(B) ? o = B : W = B + 1;
58
+ const D = Math.floor((W + o) / 2);
59
+ u(D) ? o = D : W = D + 1;
60
60
  }
61
- const I = o, $ = new Array(r).fill(0);
62
- let C = r - 1, F = 0, D = 0;
63
- for (let B = L - 1; B >= 0; B--) {
64
- const Y = E[B], G = B < C;
65
- !(k(F, D, Y) <= I) || G ? ($[C] = B + 1, C--, F = Y, D = 1) : (F = k(F, D, Y), D++);
61
+ const E = o, $ = new Array(r).fill(0);
62
+ let C = r - 1, A = 0, N = 0;
63
+ for (let D = L - 1; D >= 0; D--) {
64
+ const Y = I[D], J = D < C;
65
+ !(k(A, N, Y) <= E) || J ? ($[C] = D + 1, C--, A = Y, N = 1) : (A = k(A, N, Y), N++);
66
66
  }
67
67
  $[0] = 0;
68
- const j = [], X = new Array(r).fill(0);
69
- for (let B = 0; B < r; B++) {
70
- const Y = $[B], G = B + 1 < r ? $[B + 1] : L, ne = B * (S + y);
71
- for (let J = Y; J < G; J++) {
72
- const Z = {
73
- ...e[J],
74
- columnWidth: S,
68
+ const j = [], G = new Array(r).fill(0);
69
+ for (let D = 0; D < r; D++) {
70
+ const Y = $[D], J = D + 1 < r ? $[D + 1] : L, ne = D * (P + y);
71
+ for (let K = Y; K < J; K++) {
72
+ const ee = {
73
+ ...e[K],
74
+ columnWidth: P,
75
75
  imageHeight: 0,
76
76
  columnHeight: 0,
77
77
  left: 0,
78
78
  top: 0
79
79
  };
80
- Z.imageHeight = E[J] - (i + m), Z.columnHeight = E[J], Z.left = ne, Z.top = X[B], X[B] += Z.columnHeight + (J + 1 < G ? h : 0), j.push(Z);
80
+ ee.imageHeight = I[K] - (i + h), ee.columnHeight = I[K], ee.left = ne, ee.top = G[D], G[D] += ee.columnHeight + (K + 1 < J ? g : 0), j.push(ee);
81
81
  }
82
82
  }
83
83
  return j;
84
84
  }
85
- const f = new Array(r).fill(0), P = [];
85
+ const f = new Array(r).fill(0), H = [];
86
86
  for (let L = 0; L < e.length; L++) {
87
87
  const k = e[L], W = {
88
88
  ...k,
@@ -91,129 +91,129 @@ function qe(e, l, r, n = {}) {
91
91
  columnHeight: 0,
92
92
  left: 0,
93
93
  top: 0
94
- }, o = f.indexOf(Math.min(...f)), u = k.width, I = k.height;
95
- W.columnWidth = S, W.left = o * (S + y), W.imageHeight = Math.round(S * I / u), W.columnHeight = W.imageHeight + i + m, W.top = f[o], f[o] += W.columnHeight + h, P.push(W);
94
+ }, o = f.indexOf(Math.min(...f)), u = k.width, E = k.height;
95
+ W.columnWidth = P, W.left = o * (P + y), W.imageHeight = Math.round(P * E / u), W.columnHeight = W.imageHeight + i + h, W.top = f[o], f[o] += W.columnHeight + g, H.push(W);
96
96
  }
97
- return P;
97
+ return H;
98
98
  }
99
- var bt = typeof global == "object" && global && global.Object === Object && global, Mt = typeof self == "object" && self && self.Object === Object && self, Ze = bt || Mt || Function("return this")(), we = Ze.Symbol, et = Object.prototype, Tt = et.hasOwnProperty, Et = et.toString, me = we ? we.toStringTag : void 0;
100
- function It(e) {
101
- var l = Tt.call(e, me), r = e[me];
99
+ var Et = typeof global == "object" && global && global.Object === Object && global, kt = typeof self == "object" && self && self.Object === Object && self, nt = Et || kt || Function("return this")(), xe = nt.Symbol, lt = Object.prototype, Pt = lt.hasOwnProperty, Lt = lt.toString, he = xe ? xe.toStringTag : void 0;
100
+ function St(e) {
101
+ var l = Pt.call(e, he), r = e[he];
102
102
  try {
103
- e[me] = void 0;
104
- var n = !0;
103
+ e[he] = void 0;
104
+ var t = !0;
105
105
  } catch {
106
106
  }
107
- var y = Et.call(e);
108
- return n && (l ? e[me] = r : delete e[me]), y;
107
+ var y = Lt.call(e);
108
+ return t && (l ? e[he] = r : delete e[he]), y;
109
109
  }
110
- var kt = Object.prototype, Lt = kt.toString;
111
- function St(e) {
112
- return Lt.call(e);
110
+ var Ht = Object.prototype, $t = Ht.toString;
111
+ function Nt(e) {
112
+ return $t.call(e);
113
113
  }
114
- var Ht = "[object Null]", Pt = "[object Undefined]", Ye = we ? we.toStringTag : void 0;
115
- function $t(e) {
116
- return e == null ? e === void 0 ? Pt : Ht : Ye && Ye in Object(e) ? It(e) : St(e);
114
+ var Bt = "[object Null]", Dt = "[object Undefined]", Ge = xe ? xe.toStringTag : void 0;
115
+ function zt(e) {
116
+ return e == null ? e === void 0 ? Dt : Bt : Ge && Ge in Object(e) ? St(e) : Nt(e);
117
117
  }
118
- function Dt(e) {
118
+ function Ft(e) {
119
119
  return e != null && typeof e == "object";
120
120
  }
121
- var zt = "[object Symbol]";
122
- function Bt(e) {
123
- return typeof e == "symbol" || Dt(e) && $t(e) == zt;
121
+ var At = "[object Symbol]";
122
+ function Wt(e) {
123
+ return typeof e == "symbol" || Ft(e) && zt(e) == At;
124
124
  }
125
- var Nt = /\s/;
126
- function Ft(e) {
127
- for (var l = e.length; l-- && Nt.test(e.charAt(l)); )
125
+ var Rt = /\s/;
126
+ function Ot(e) {
127
+ for (var l = e.length; l-- && Rt.test(e.charAt(l)); )
128
128
  ;
129
129
  return l;
130
130
  }
131
- var At = /^\s+/;
132
- function Wt(e) {
133
- return e && e.slice(0, Ft(e) + 1).replace(At, "");
131
+ var Ct = /^\s+/;
132
+ function jt(e) {
133
+ return e && e.slice(0, Ot(e) + 1).replace(Ct, "");
134
134
  }
135
- function Pe(e) {
135
+ function De(e) {
136
136
  var l = typeof e;
137
137
  return e != null && (l == "object" || l == "function");
138
138
  }
139
- var Ue = NaN, Rt = /^[-+]0x[0-9a-f]+$/i, Ot = /^0b[01]+$/i, Ct = /^0o[0-7]+$/i, jt = parseInt;
140
- function _e(e) {
139
+ var Je = NaN, Vt = /^[-+]0x[0-9a-f]+$/i, qt = /^0b[01]+$/i, Yt = /^0o[0-7]+$/i, Ut = parseInt;
140
+ function Ke(e) {
141
141
  if (typeof e == "number")
142
142
  return e;
143
- if (Bt(e))
144
- return Ue;
145
- if (Pe(e)) {
143
+ if (Wt(e))
144
+ return Je;
145
+ if (De(e)) {
146
146
  var l = typeof e.valueOf == "function" ? e.valueOf() : e;
147
- e = Pe(l) ? l + "" : l;
147
+ e = De(l) ? l + "" : l;
148
148
  }
149
149
  if (typeof e != "string")
150
150
  return e === 0 ? e : +e;
151
- e = Wt(e);
152
- var r = Ot.test(e);
153
- return r || Ct.test(e) ? jt(e.slice(2), r ? 2 : 8) : Rt.test(e) ? Ue : +e;
151
+ e = jt(e);
152
+ var r = qt.test(e);
153
+ return r || Yt.test(e) ? Ut(e.slice(2), r ? 2 : 8) : Vt.test(e) ? Je : +e;
154
154
  }
155
- var Se = function() {
156
- return Ze.Date.now();
157
- }, Vt = "Expected a function", qt = Math.max, Yt = Math.min;
158
- function Xe(e, l, r) {
159
- var n, y, h, m, i, w, b = 0, a = !1, p = !1, x = !0;
155
+ var Ne = function() {
156
+ return nt.Date.now();
157
+ }, _t = "Expected a function", Xt = Math.max, Gt = Math.min;
158
+ function Qe(e, l, r) {
159
+ var t, y, g, h, i, w, b = 0, n = !1, p = !1, x = !0;
160
160
  if (typeof e != "function")
161
- throw new TypeError(Vt);
162
- l = _e(l) || 0, Pe(r) && (a = !!r.leading, p = "maxWait" in r, h = p ? qt(_e(r.maxWait) || 0, l) : h, x = "trailing" in r ? !!r.trailing : x);
163
- function M(f) {
164
- var P = n, L = y;
165
- return n = y = void 0, b = f, m = e.apply(L, P), m;
161
+ throw new TypeError(_t);
162
+ l = Ke(l) || 0, De(r) && (n = !!r.leading, p = "maxWait" in r, g = p ? Xt(Ke(r.maxWait) || 0, l) : g, x = "trailing" in r ? !!r.trailing : x);
163
+ function T(f) {
164
+ var H = t, L = y;
165
+ return t = y = void 0, b = f, h = e.apply(L, H), h;
166
166
  }
167
167
  function s(f) {
168
- return b = f, i = setTimeout(d, l), a ? M(f) : m;
168
+ return b = f, i = setTimeout(d, l), n ? T(f) : h;
169
169
  }
170
- function g(f) {
171
- var P = f - w, L = f - b, k = l - P;
172
- return p ? Yt(k, h - L) : k;
170
+ function m(f) {
171
+ var H = f - w, L = f - b, k = l - H;
172
+ return p ? Gt(k, g - L) : k;
173
173
  }
174
- function t(f) {
175
- var P = f - w, L = f - b;
176
- return w === void 0 || P >= l || P < 0 || p && L >= h;
174
+ function a(f) {
175
+ var H = f - w, L = f - b;
176
+ return w === void 0 || H >= l || H < 0 || p && L >= g;
177
177
  }
178
178
  function d() {
179
- var f = Se();
180
- if (t(f))
179
+ var f = Ne();
180
+ if (a(f))
181
181
  return v(f);
182
- i = setTimeout(d, g(f));
182
+ i = setTimeout(d, m(f));
183
183
  }
184
184
  function v(f) {
185
- return i = void 0, x && n ? M(f) : (n = y = void 0, m);
185
+ return i = void 0, x && t ? T(f) : (t = y = void 0, h);
186
186
  }
187
- function T() {
188
- i !== void 0 && clearTimeout(i), b = 0, n = w = y = i = void 0;
187
+ function M() {
188
+ i !== void 0 && clearTimeout(i), b = 0, t = w = y = i = void 0;
189
189
  }
190
- function S() {
191
- return i === void 0 ? m : v(Se());
190
+ function P() {
191
+ return i === void 0 ? h : v(Ne());
192
192
  }
193
- function E() {
194
- var f = Se(), P = t(f);
195
- if (n = arguments, y = this, w = f, P) {
193
+ function I() {
194
+ var f = Ne(), H = a(f);
195
+ if (t = arguments, y = this, w = f, H) {
196
196
  if (i === void 0)
197
197
  return s(w);
198
198
  if (p)
199
- return clearTimeout(i), i = setTimeout(d, l), M(w);
199
+ return clearTimeout(i), i = setTimeout(d, l), T(w);
200
200
  }
201
- return i === void 0 && (i = setTimeout(d, l)), m;
201
+ return i === void 0 && (i = setTimeout(d, l)), h;
202
202
  }
203
- return E.cancel = T, E.flush = S, E;
203
+ return I.cancel = M, I.flush = P, I;
204
204
  }
205
205
  function ue(e, l) {
206
- const r = l ?? (typeof window < "u" ? window.innerWidth : 1024), n = e.sizes;
207
- return r >= 1536 && n["2xl"] ? n["2xl"] : r >= 1280 && n.xl ? n.xl : r >= 1024 && n.lg ? n.lg : r >= 768 && n.md ? n.md : r >= 640 && n.sm ? n.sm : n.base;
206
+ const r = l ?? (typeof window < "u" ? window.innerWidth : 1024), t = e.sizes;
207
+ return r >= 1536 && t["2xl"] ? t["2xl"] : r >= 1280 && t.xl ? t.xl : r >= 1024 && t.lg ? t.lg : r >= 768 && t.md ? t.md : r >= 640 && t.sm ? t.sm : t.base;
208
208
  }
209
- function Ut(e) {
209
+ function Jt(e) {
210
210
  const l = e ?? (typeof window < "u" ? window.innerWidth : 1024);
211
211
  return l >= 1536 ? "2xl" : l >= 1280 ? "xl" : l >= 1024 ? "lg" : l >= 768 ? "md" : l >= 640 ? "sm" : "base";
212
212
  }
213
- function _t(e) {
214
- return e.reduce((r, n) => Math.max(r, n.top + n.columnHeight), 0) + 500;
213
+ function Kt(e) {
214
+ return e.reduce((r, t) => Math.max(r, t.top + t.columnHeight), 0) + 500;
215
215
  }
216
- function Xt(e) {
216
+ function Qt(e) {
217
217
  return {
218
218
  transform: `translate3d(${e.left}px, ${e.top}px, 0)`,
219
219
  top: "0px",
@@ -222,138 +222,138 @@ function Xt(e) {
222
222
  height: `${e.columnHeight}px`
223
223
  };
224
224
  }
225
- function Gt(e, l = 0) {
225
+ function Zt(e, l = 0) {
226
226
  return {
227
- style: Xt(e),
227
+ style: Qt(e),
228
228
  "data-top": e.top,
229
229
  "data-left": e.left,
230
230
  "data-id": `${e.page}-${e.id}`,
231
231
  "data-index": l
232
232
  };
233
233
  }
234
- function $e(e, l) {
234
+ function be(e, l) {
235
235
  if (!e.length || l <= 0)
236
236
  return new Array(Math.max(1, l)).fill(0);
237
- const n = Array.from(new Set(e.map((m) => m.left))).sort((m, i) => m - i).slice(0, l), y = /* @__PURE__ */ new Map();
238
- for (let m = 0; m < n.length; m++) y.set(n[m], m);
239
- const h = new Array(n.length).fill(0);
240
- for (const m of e) {
241
- const i = y.get(m.left);
242
- i != null && (h[i] = Math.max(h[i], m.top + m.columnHeight));
237
+ const t = Array.from(new Set(e.map((h) => h.left))).sort((h, i) => h - i).slice(0, l), y = /* @__PURE__ */ new Map();
238
+ for (let h = 0; h < t.length; h++) y.set(t[h], h);
239
+ const g = new Array(t.length).fill(0);
240
+ for (const h of e) {
241
+ const i = y.get(h.left);
242
+ i != null && (g[i] = Math.max(g[i], h.top + h.columnHeight));
243
243
  }
244
- for (; h.length < l; ) h.push(0);
245
- return h;
244
+ for (; g.length < l; ) g.push(0);
245
+ return g;
246
246
  }
247
- function Jt(e, l) {
248
- let r = 0, n = 0;
247
+ function ea(e, l) {
248
+ let r = 0, t = 0;
249
249
  const y = 1e3;
250
- function h(a, p) {
250
+ function g(n, p) {
251
251
  var s;
252
252
  const x = (s = e.container) == null ? void 0 : s.value;
253
253
  if (x) {
254
- const g = x.scrollTop, t = x.clientHeight;
255
- r = g - y, n = g + t + y;
254
+ const m = x.scrollTop, a = x.clientHeight;
255
+ r = m - y, t = m + a + y;
256
256
  }
257
- return a + p >= r && a <= n;
257
+ return n + p >= r && n <= t;
258
258
  }
259
- function m(a, p) {
259
+ function h(n, p) {
260
260
  var v;
261
- const x = parseInt(a.dataset.left || "0", 10), M = parseInt(a.dataset.top || "0", 10), s = parseInt(a.dataset.index || "0", 10), g = a.offsetHeight || parseInt(getComputedStyle(a).height || "200", 10) || 200;
261
+ const x = parseInt(n.dataset.left || "0", 10), T = parseInt(n.dataset.top || "0", 10), s = parseInt(n.dataset.index || "0", 10), m = n.offsetHeight || parseInt(getComputedStyle(n).height || "200", 10) || 200;
262
262
  if ((v = l == null ? void 0 : l.virtualizing) != null && v.value) {
263
- a.style.transition = "none", a.style.opacity = "1", a.style.transform = `translate3d(${x}px, ${M}px, 0) scale(1)`, a.style.removeProperty("--masonry-opacity-delay"), requestAnimationFrame(() => {
264
- a.style.transition = "", p();
263
+ n.style.transition = "none", n.style.opacity = "1", n.style.transform = `translate3d(${x}px, ${T}px, 0) scale(1)`, n.style.removeProperty("--masonry-opacity-delay"), requestAnimationFrame(() => {
264
+ n.style.transition = "", p();
265
265
  });
266
266
  return;
267
267
  }
268
- if (!h(M, g)) {
269
- a.style.opacity = "1", a.style.transform = `translate3d(${x}px, ${M}px, 0) scale(1)`, a.style.transition = "none", p();
268
+ if (!g(T, m)) {
269
+ n.style.opacity = "1", n.style.transform = `translate3d(${x}px, ${T}px, 0) scale(1)`, n.style.transition = "none", p();
270
270
  return;
271
271
  }
272
- const t = Math.min(s * 20, 160), d = a.style.getPropertyValue("--masonry-opacity-delay");
273
- a.style.setProperty("--masonry-opacity-delay", `${t}ms`), requestAnimationFrame(() => {
274
- a.style.opacity = "1", a.style.transform = `translate3d(${x}px, ${M}px, 0) scale(1)`;
275
- const T = () => {
276
- d ? a.style.setProperty("--masonry-opacity-delay", d) : a.style.removeProperty("--masonry-opacity-delay"), a.removeEventListener("transitionend", T), p();
272
+ const a = Math.min(s * 20, 160), d = n.style.getPropertyValue("--masonry-opacity-delay");
273
+ n.style.setProperty("--masonry-opacity-delay", `${a}ms`), requestAnimationFrame(() => {
274
+ n.style.opacity = "1", n.style.transform = `translate3d(${x}px, ${T}px, 0) scale(1)`;
275
+ const M = () => {
276
+ d ? n.style.setProperty("--masonry-opacity-delay", d) : n.style.removeProperty("--masonry-opacity-delay"), n.removeEventListener("transitionend", M), p();
277
277
  };
278
- a.addEventListener("transitionend", T);
278
+ n.addEventListener("transitionend", M);
279
279
  });
280
280
  }
281
- function i(a) {
282
- var M;
283
- const p = parseInt(a.dataset.left || "0", 10), x = parseInt(a.dataset.top || "0", 10);
284
- if ((M = l == null ? void 0 : l.virtualizing) != null && M.value) {
285
- a.style.transition = "none", a.style.opacity = "1", a.style.transform = `translate3d(${p}px, ${x}px, 0) scale(1)`, a.style.removeProperty("--masonry-opacity-delay");
281
+ function i(n) {
282
+ var T;
283
+ const p = parseInt(n.dataset.left || "0", 10), x = parseInt(n.dataset.top || "0", 10);
284
+ if ((T = l == null ? void 0 : l.virtualizing) != null && T.value) {
285
+ n.style.transition = "none", n.style.opacity = "1", n.style.transform = `translate3d(${p}px, ${x}px, 0) scale(1)`, n.style.removeProperty("--masonry-opacity-delay");
286
286
  return;
287
287
  }
288
- a.style.opacity = "0", a.style.transform = `translate3d(${p}px, ${x + 10}px, 0) scale(0.985)`;
288
+ n.style.opacity = "0", n.style.transform = `translate3d(${p}px, ${x + 10}px, 0) scale(0.985)`;
289
289
  }
290
- function w(a) {
290
+ function w(n) {
291
291
  var s;
292
- const p = parseInt(a.dataset.left || "0", 10), x = parseInt(a.dataset.top || "0", 10), M = a.offsetHeight || parseInt(getComputedStyle(a).height || "200", 10) || 200;
292
+ const p = parseInt(n.dataset.left || "0", 10), x = parseInt(n.dataset.top || "0", 10), T = n.offsetHeight || parseInt(getComputedStyle(n).height || "200", 10) || 200;
293
293
  if (!((s = l == null ? void 0 : l.virtualizing) != null && s.value)) {
294
- if (!h(x, M)) {
295
- a.style.transition = "none";
294
+ if (!g(x, T)) {
295
+ n.style.transition = "none";
296
296
  return;
297
297
  }
298
- a.style.transition = "none", a.style.opacity = "1", a.style.transform = `translate3d(${p}px, ${x}px, 0) scale(1)`, a.style.removeProperty("--masonry-opacity-delay"), requestAnimationFrame(() => {
299
- a.style.transition = "";
298
+ n.style.transition = "none", n.style.opacity = "1", n.style.transform = `translate3d(${p}px, ${x}px, 0) scale(1)`, n.style.removeProperty("--masonry-opacity-delay"), requestAnimationFrame(() => {
299
+ n.style.transition = "";
300
300
  });
301
301
  }
302
302
  }
303
- function b(a, p) {
304
- var E;
305
- const x = parseInt(a.dataset.left || "0", 10), M = parseInt(a.dataset.top || "0", 10), s = a.offsetHeight || parseInt(getComputedStyle(a).height || "200", 10) || 200;
306
- if ((E = l == null ? void 0 : l.virtualizing) != null && E.value) {
303
+ function b(n, p) {
304
+ var I;
305
+ const x = parseInt(n.dataset.left || "0", 10), T = parseInt(n.dataset.top || "0", 10), s = n.offsetHeight || parseInt(getComputedStyle(n).height || "200", 10) || 200;
306
+ if ((I = l == null ? void 0 : l.virtualizing) != null && I.value) {
307
307
  p();
308
308
  return;
309
309
  }
310
- if (!h(M, s)) {
311
- a.style.transition = "none", a.style.opacity = "0", p();
310
+ if (!g(T, s)) {
311
+ n.style.transition = "none", n.style.opacity = "0", p();
312
312
  return;
313
313
  }
314
- const g = typeof (l == null ? void 0 : l.leaveDurationMs) == "number" ? l.leaveDurationMs : NaN;
315
- let t = Number.isFinite(g) && g > 0 ? g : NaN;
316
- if (!Number.isFinite(t)) {
317
- const P = getComputedStyle(a).getPropertyValue("--masonry-leave-duration") || "", L = parseFloat(P);
318
- t = Number.isFinite(L) && L > 0 ? L : 200;
314
+ const m = typeof (l == null ? void 0 : l.leaveDurationMs) == "number" ? l.leaveDurationMs : NaN;
315
+ let a = Number.isFinite(m) && m > 0 ? m : NaN;
316
+ if (!Number.isFinite(a)) {
317
+ const H = getComputedStyle(n).getPropertyValue("--masonry-leave-duration") || "", L = parseFloat(H);
318
+ a = Number.isFinite(L) && L > 0 ? L : 200;
319
319
  }
320
- const d = a.style.transitionDuration, v = () => {
321
- a.removeEventListener("transitionend", T), clearTimeout(S), a.style.transitionDuration = d || "";
322
- }, T = (f) => {
323
- (!f || f.target === a) && (v(), p());
324
- }, S = setTimeout(() => {
320
+ const d = n.style.transitionDuration, v = () => {
321
+ n.removeEventListener("transitionend", M), clearTimeout(P), n.style.transitionDuration = d || "";
322
+ }, M = (f) => {
323
+ (!f || f.target === n) && (v(), p());
324
+ }, P = setTimeout(() => {
325
325
  v(), p();
326
- }, t + 100);
326
+ }, a + 100);
327
327
  requestAnimationFrame(() => {
328
- a.style.transitionDuration = `${t}ms`, a.style.opacity = "0", a.style.transform = `translate3d(${x}px, ${M + 10}px, 0) scale(0.985)`, a.addEventListener("transitionend", T);
328
+ n.style.transitionDuration = `${a}ms`, n.style.opacity = "0", n.style.transform = `translate3d(${x}px, ${T + 10}px, 0) scale(0.985)`, n.addEventListener("transitionend", M);
329
329
  });
330
330
  }
331
331
  return {
332
- onEnter: m,
332
+ onEnter: h,
333
333
  onBeforeEnter: i,
334
334
  onBeforeLeave: w,
335
335
  onLeave: b
336
336
  };
337
337
  }
338
- function Kt({
338
+ function ta({
339
339
  container: e,
340
340
  masonry: l,
341
341
  columns: r,
342
- containerHeight: n,
342
+ containerHeight: t,
343
343
  isLoading: y,
344
- pageSize: h,
345
- refreshLayout: m,
344
+ pageSize: g,
345
+ refreshLayout: h,
346
346
  setItemsRaw: i,
347
347
  loadNext: w,
348
348
  loadThresholdPx: b
349
349
  }) {
350
- let a = 0;
351
- async function p(x) {
350
+ let n = 0;
351
+ async function p(x, T = !1) {
352
352
  if (!e.value) return;
353
- const M = x ?? $e(l.value, r.value), s = M.length ? Math.max(...M) : 0, g = e.value.scrollTop + e.value.clientHeight, t = e.value.scrollTop > a + 1;
354
- a = e.value.scrollTop;
355
- const d = typeof b == "number" ? b : 200, v = d >= 0 ? Math.max(0, s - d) : Math.max(0, s + d);
356
- if (g >= v && t && !y.value) {
353
+ const s = x ?? be(l.value, r.value), m = s.length ? Math.max(...s) : 0, a = e.value.scrollTop + e.value.clientHeight, d = e.value.scrollTop > n + 1;
354
+ n = e.value.scrollTop;
355
+ const v = typeof b == "number" ? b : 200, M = v >= 0 ? Math.max(0, m - v) : Math.max(0, m + v);
356
+ if (a >= M && (d || T) && !y.value) {
357
357
  await w(), await q();
358
358
  return;
359
359
  }
@@ -362,21 +362,21 @@ function Kt({
362
362
  handleScroll: p
363
363
  };
364
364
  }
365
- function Qt(e) {
366
- const { useSwipeMode: l, masonry: r, isLoading: n, loadNext: y, loadPage: h, paginationHistory: m } = e, i = z(0), w = z(0), b = z(!1), a = z(0), p = z(0), x = z(null), M = Q(() => {
365
+ function aa(e) {
366
+ const { useSwipeMode: l, masonry: r, isLoading: t, loadNext: y, loadPage: g, paginationHistory: h } = e, i = B(0), w = B(0), b = B(!1), n = B(0), p = B(0), x = B(null), T = Z(() => {
367
367
  if (!l.value || r.value.length === 0) return null;
368
368
  const o = Math.max(0, Math.min(i.value, r.value.length - 1));
369
369
  return r.value[o] || null;
370
- }), s = Q(() => {
371
- if (!l.value || !M.value) return null;
370
+ }), s = Z(() => {
371
+ if (!l.value || !T.value) return null;
372
372
  const o = i.value + 1;
373
373
  return o >= r.value.length ? null : r.value[o] || null;
374
- }), g = Q(() => {
375
- if (!l.value || !M.value) return null;
374
+ }), m = Z(() => {
375
+ if (!l.value || !T.value) return null;
376
376
  const o = i.value - 1;
377
377
  return o < 0 ? null : r.value[o] || null;
378
378
  });
379
- function t() {
379
+ function a() {
380
380
  if (!x.value) return;
381
381
  const o = x.value.clientHeight;
382
382
  w.value = -i.value * o;
@@ -386,41 +386,41 @@ function Qt(e) {
386
386
  y();
387
387
  return;
388
388
  }
389
- i.value++, t(), i.value >= r.value.length - 5 && y();
389
+ i.value++, a(), i.value >= r.value.length - 5 && y();
390
390
  }
391
391
  function v() {
392
- g.value && (i.value--, t());
392
+ m.value && (i.value--, a());
393
393
  }
394
- function T(o) {
395
- l.value && (b.value = !0, a.value = o.touches[0].clientY, p.value = w.value, o.preventDefault());
394
+ function M(o) {
395
+ l.value && (b.value = !0, n.value = o.touches[0].clientY, p.value = w.value, o.preventDefault());
396
396
  }
397
- function S(o) {
397
+ function P(o) {
398
398
  if (!l.value || !b.value) return;
399
- const u = o.touches[0].clientY - a.value;
399
+ const u = o.touches[0].clientY - n.value;
400
400
  w.value = p.value + u, o.preventDefault();
401
401
  }
402
- function E(o) {
402
+ function I(o) {
403
403
  if (!l.value || !b.value) return;
404
404
  b.value = !1;
405
405
  const u = w.value - p.value;
406
- Math.abs(u) > 100 ? u > 0 && g.value ? v() : u < 0 && s.value ? d() : t() : t(), o.preventDefault();
406
+ Math.abs(u) > 100 ? u > 0 && m.value ? v() : u < 0 && s.value ? d() : a() : a(), o.preventDefault();
407
407
  }
408
408
  function f(o) {
409
- l.value && (b.value = !0, a.value = o.clientY, p.value = w.value, o.preventDefault());
409
+ l.value && (b.value = !0, n.value = o.clientY, p.value = w.value, o.preventDefault());
410
410
  }
411
- function P(o) {
411
+ function H(o) {
412
412
  if (!l.value || !b.value) return;
413
- const u = o.clientY - a.value;
413
+ const u = o.clientY - n.value;
414
414
  w.value = p.value + u, o.preventDefault();
415
415
  }
416
416
  function L(o) {
417
417
  if (!l.value || !b.value) return;
418
418
  b.value = !1;
419
419
  const u = w.value - p.value;
420
- Math.abs(u) > 100 ? u > 0 && g.value ? v() : u < 0 && s.value ? d() : t() : t(), o.preventDefault();
420
+ Math.abs(u) > 100 ? u > 0 && m.value ? v() : u < 0 && s.value ? d() : a() : a(), o.preventDefault();
421
421
  }
422
422
  function k() {
423
- !l.value && i.value > 0 && (i.value = 0, w.value = 0), l.value && r.value.length === 0 && !n.value && h(m.value[0]), l.value && t();
423
+ !l.value && i.value > 0 && (i.value = 0, w.value = 0), l.value && r.value.length === 0 && !t.value && g(h.value[0]), l.value && a();
424
424
  }
425
425
  function W() {
426
426
  i.value = 0, w.value = 0, b.value = !1;
@@ -432,382 +432,382 @@ function Qt(e) {
432
432
  isDragging: b,
433
433
  swipeContainer: x,
434
434
  // Computed
435
- currentItem: M,
435
+ currentItem: T,
436
436
  nextItem: s,
437
- previousItem: g,
437
+ previousItem: m,
438
438
  // Functions
439
- handleTouchStart: T,
440
- handleTouchMove: S,
441
- handleTouchEnd: E,
439
+ handleTouchStart: M,
440
+ handleTouchMove: P,
441
+ handleTouchEnd: I,
442
442
  handleMouseDown: f,
443
- handleMouseMove: P,
443
+ handleMouseMove: H,
444
444
  handleMouseUp: L,
445
445
  goToNextItem: d,
446
446
  goToPreviousItem: v,
447
- snapToCurrentItem: t,
447
+ snapToCurrentItem: a,
448
448
  handleWindowResize: k,
449
449
  reset: W
450
450
  };
451
451
  }
452
- function he(e) {
452
+ function me(e) {
453
453
  return e instanceof Error ? e : new Error(String(e));
454
454
  }
455
- function Zt(e) {
455
+ function na(e) {
456
456
  const {
457
457
  getNextPage: l,
458
458
  masonry: r,
459
- isLoading: n,
459
+ isLoading: t,
460
460
  hasReachedEnd: y,
461
- loadError: h,
462
- currentPage: m,
461
+ loadError: g,
462
+ currentPage: h,
463
463
  paginationHistory: i,
464
464
  refreshLayout: w,
465
465
  retryMaxAttempts: b,
466
- retryInitialDelayMs: a,
466
+ retryInitialDelayMs: n,
467
467
  retryBackoffStepMs: p,
468
468
  backfillEnabled: x,
469
- backfillDelayMs: M,
469
+ backfillDelayMs: T,
470
470
  backfillMaxCalls: s,
471
- pageSize: g,
472
- autoRefreshOnEmpty: t,
471
+ pageSize: m,
472
+ autoRefreshOnEmpty: a,
473
473
  emits: d
474
- } = e, v = z(!1);
475
- let T = !1;
476
- function S(u, I) {
474
+ } = e, v = B(!1);
475
+ let M = !1;
476
+ function P(u, E) {
477
477
  return new Promise(($) => {
478
- const C = Math.max(0, u | 0), F = Date.now();
479
- I(C, C);
480
- const D = setInterval(() => {
478
+ const C = Math.max(0, u | 0), A = Date.now();
479
+ E(C, C);
480
+ const N = setInterval(() => {
481
481
  if (v.value) {
482
- clearInterval(D), $();
482
+ clearInterval(N), $();
483
483
  return;
484
484
  }
485
- const j = Date.now() - F, X = Math.max(0, C - j);
486
- I(X, C), X <= 0 && (clearInterval(D), $());
485
+ const j = Date.now() - A, G = Math.max(0, C - j);
486
+ E(G, C), G <= 0 && (clearInterval(N), $());
487
487
  }, 100);
488
488
  });
489
489
  }
490
- async function E(u) {
491
- let I = 0;
490
+ async function I(u) {
491
+ let E = 0;
492
492
  const $ = b;
493
- let C = a;
493
+ let C = n;
494
494
  for (; ; )
495
495
  try {
496
- const F = await u();
497
- return I > 0 && d("retry:stop", { attempt: I, success: !0 }), F;
498
- } catch (F) {
499
- if (I++, I > $)
500
- throw d("retry:stop", { attempt: I - 1, success: !1 }), F;
501
- d("retry:start", { attempt: I, max: $, totalMs: C }), await S(C, (D, j) => {
502
- d("retry:tick", { attempt: I, remainingMs: D, totalMs: j });
496
+ const A = await u();
497
+ return E > 0 && d("retry:stop", { attempt: E, success: !0 }), A;
498
+ } catch (A) {
499
+ if (E++, E > $)
500
+ throw d("retry:stop", { attempt: E - 1, success: !1 }), A;
501
+ d("retry:start", { attempt: E, max: $, totalMs: C }), await P(C, (N, j) => {
502
+ d("retry:tick", { attempt: E, remainingMs: N, totalMs: j });
503
503
  }), C += p;
504
504
  }
505
505
  }
506
506
  async function f(u) {
507
507
  try {
508
- const I = await E(() => l(u));
509
- return w([...r.value, ...I.items]), I;
510
- } catch (I) {
511
- throw I;
508
+ const E = await I(() => l(u));
509
+ return w([...r.value, ...E.items]), E;
510
+ } catch (E) {
511
+ throw E;
512
512
  }
513
513
  }
514
- async function P(u, I = !1) {
515
- if (!I && !x || T || v.value || y.value) return;
516
- const $ = (u || 0) + (g || 0);
517
- if (!g || g <= 0) return;
514
+ async function H(u, E = !1) {
515
+ if (!E && !x || M || v.value || y.value) return;
516
+ const $ = (u || 0) + (m || 0);
517
+ if (!m || m <= 0) return;
518
518
  if (i.value[i.value.length - 1] == null) {
519
519
  y.value = !0;
520
520
  return;
521
521
  }
522
522
  if (!(r.value.length >= $)) {
523
- T = !0, n.value = !0;
523
+ M = !0, t.value = !0;
524
524
  try {
525
- let F = 0;
526
- for (d("backfill:start", { target: $, fetched: r.value.length, calls: F }); r.value.length < $ && F < s && i.value[i.value.length - 1] != null && !v.value && !y.value && T && (await S(M, (j, X) => {
525
+ let A = 0;
526
+ for (d("backfill:start", { target: $, fetched: r.value.length, calls: A }); r.value.length < $ && A < s && i.value[i.value.length - 1] != null && !v.value && !y.value && M && (await P(T, (j, G) => {
527
527
  d("backfill:tick", {
528
528
  fetched: r.value.length,
529
529
  target: $,
530
- calls: F,
530
+ calls: A,
531
531
  remainingMs: j,
532
- totalMs: X
532
+ totalMs: G
533
533
  });
534
- }), !(v.value || !T)); ) {
535
- const D = i.value[i.value.length - 1];
536
- if (D == null) {
534
+ }), !(v.value || !M)); ) {
535
+ const N = i.value[i.value.length - 1];
536
+ if (N == null) {
537
537
  y.value = !0;
538
538
  break;
539
539
  }
540
540
  try {
541
- if (v.value || !T) break;
542
- const j = await f(D);
543
- if (v.value || !T) break;
544
- h.value = null, i.value.push(j.nextPage), j.nextPage == null && (y.value = !0);
541
+ if (v.value || !M) break;
542
+ const j = await f(N);
543
+ if (v.value || !M) break;
544
+ g.value = null, i.value.push(j.nextPage), j.nextPage == null && (y.value = !0);
545
545
  } catch (j) {
546
- if (v.value || !T) break;
547
- h.value = he(j);
546
+ if (v.value || !M) break;
547
+ g.value = me(j);
548
548
  }
549
- F++;
549
+ A++;
550
550
  }
551
- d("backfill:stop", { fetched: r.value.length, calls: F });
551
+ d("backfill:stop", { fetched: r.value.length, calls: A });
552
552
  } finally {
553
- T = !1, n.value = !1;
553
+ M = !1, t.value = !1;
554
554
  }
555
555
  }
556
556
  }
557
557
  async function L(u) {
558
- if (!n.value) {
559
- v.value = !1, n.value = !0, y.value = !1, h.value = null;
558
+ if (!t.value) {
559
+ v.value = !1, t.value = !0, y.value = !1, g.value = null;
560
560
  try {
561
- const I = r.value.length;
561
+ const E = r.value.length;
562
562
  if (v.value) return;
563
563
  const $ = await f(u);
564
- return v.value ? void 0 : (h.value = null, m.value = u, i.value.push($.nextPage), $.nextPage == null && (y.value = !0), await P(I), $);
565
- } catch (I) {
566
- throw h.value = he(I), I;
564
+ return v.value ? void 0 : (g.value = null, h.value = u, i.value.push($.nextPage), $.nextPage == null && (y.value = !0), await H(E), $);
565
+ } catch (E) {
566
+ throw g.value = me(E), E;
567
567
  } finally {
568
- n.value = !1;
568
+ t.value = !1;
569
569
  }
570
570
  }
571
571
  }
572
572
  async function k() {
573
- if (!n.value && !y.value) {
574
- v.value = !1, n.value = !0, h.value = null;
573
+ if (!t.value && !y.value) {
574
+ v.value = !1, t.value = !0, g.value = null;
575
575
  try {
576
576
  const u = r.value.length;
577
577
  if (v.value) return;
578
- const I = i.value[i.value.length - 1];
579
- if (I == null) {
580
- y.value = !0, n.value = !1;
578
+ const E = i.value[i.value.length - 1];
579
+ if (E == null) {
580
+ y.value = !0, t.value = !1;
581
581
  return;
582
582
  }
583
- const $ = await f(I);
584
- return v.value ? void 0 : (h.value = null, m.value = I, i.value.push($.nextPage), $.nextPage == null && (y.value = !0), await P(u), $);
583
+ const $ = await f(E);
584
+ return v.value ? void 0 : (g.value = null, h.value = E, i.value.push($.nextPage), $.nextPage == null && (y.value = !0), await H(u), $);
585
585
  } catch (u) {
586
- throw h.value = he(u), u;
586
+ throw g.value = me(u), u;
587
587
  } finally {
588
- n.value = !1;
588
+ t.value = !1;
589
589
  }
590
590
  }
591
591
  }
592
592
  async function W() {
593
- if (!n.value) {
594
- v.value = !1, n.value = !0;
593
+ if (!t.value) {
594
+ v.value = !1, t.value = !0;
595
595
  try {
596
- const u = m.value;
596
+ const u = h.value;
597
597
  if (u == null) {
598
- console.warn("[Masonry] No current page to refresh - currentPage:", m.value, "paginationHistory:", i.value);
598
+ console.warn("[Masonry] No current page to refresh - currentPage:", h.value, "paginationHistory:", i.value);
599
599
  return;
600
600
  }
601
- r.value = [], y.value = !1, h.value = null, i.value = [u];
602
- const I = await f(u);
601
+ r.value = [], y.value = !1, g.value = null, i.value = [u];
602
+ const E = await f(u);
603
603
  if (v.value) return;
604
- h.value = null, m.value = u, i.value.push(I.nextPage), I.nextPage == null && (y.value = !0);
604
+ g.value = null, h.value = u, i.value.push(E.nextPage), E.nextPage == null && (y.value = !0);
605
605
  const $ = r.value.length;
606
- return await P($), I;
606
+ return await H($), E;
607
607
  } catch (u) {
608
- throw h.value = he(u), u;
608
+ throw g.value = me(u), u;
609
609
  } finally {
610
- n.value = !1;
610
+ t.value = !1;
611
611
  }
612
612
  }
613
613
  }
614
614
  function o() {
615
- const u = T;
616
- v.value = !0, n.value = !1, T = !1, u && d("backfill:stop", { fetched: r.value.length, calls: 0, cancelled: !0 });
615
+ const u = M;
616
+ v.value = !0, t.value = !1, M = !1, u && d("backfill:stop", { fetched: r.value.length, calls: 0, cancelled: !0 });
617
617
  }
618
618
  return {
619
619
  loadPage: L,
620
620
  loadNext: k,
621
621
  refreshCurrentPage: W,
622
622
  cancelLoad: o,
623
- maybeBackfillToTarget: P,
623
+ maybeBackfillToTarget: H,
624
624
  getContent: f
625
625
  };
626
626
  }
627
- function ea(e) {
627
+ function la(e) {
628
628
  const {
629
629
  masonry: l,
630
630
  useSwipeMode: r,
631
- refreshLayout: n,
631
+ refreshLayout: t,
632
632
  refreshCurrentPage: y,
633
- loadNext: h,
634
- maybeBackfillToTarget: m,
633
+ loadNext: g,
634
+ maybeBackfillToTarget: h,
635
635
  autoRefreshOnEmpty: i,
636
636
  paginationHistory: w
637
637
  } = e;
638
638
  async function b(s) {
639
- const g = l.value.filter((t) => t.id !== s.id);
640
- if (l.value = g, await q(), g.length === 0 && w.value.length > 0) {
639
+ const m = l.value.filter((a) => a.id !== s.id);
640
+ if (l.value = m, await q(), m.length === 0 && w.value.length > 0) {
641
641
  if (i)
642
642
  await y();
643
643
  else
644
644
  try {
645
- await h(), await m(0, !0);
645
+ await g(), await h(0, !0);
646
646
  } catch {
647
647
  }
648
648
  return;
649
649
  }
650
- await new Promise((t) => requestAnimationFrame(() => t())), requestAnimationFrame(() => {
651
- n(g);
650
+ await new Promise((a) => requestAnimationFrame(() => a())), requestAnimationFrame(() => {
651
+ t(m);
652
652
  });
653
653
  }
654
- async function a(s) {
654
+ async function n(s) {
655
655
  if (!s || s.length === 0) return;
656
- const g = new Set(s.map((d) => d.id)), t = l.value.filter((d) => !g.has(d.id));
657
- if (l.value = t, await q(), t.length === 0 && w.value.length > 0) {
656
+ const m = new Set(s.map((d) => d.id)), a = l.value.filter((d) => !m.has(d.id));
657
+ if (l.value = a, await q(), a.length === 0 && w.value.length > 0) {
658
658
  if (i)
659
659
  await y();
660
660
  else
661
661
  try {
662
- await h(), await m(0, !0);
662
+ await g(), await h(0, !0);
663
663
  } catch {
664
664
  }
665
665
  return;
666
666
  }
667
667
  await new Promise((d) => requestAnimationFrame(() => d())), requestAnimationFrame(() => {
668
- n(t);
668
+ t(a);
669
669
  });
670
670
  }
671
- async function p(s, g) {
671
+ async function p(s, m) {
672
672
  if (!s) return;
673
- const t = l.value;
674
- if (t.findIndex((S) => S.id === s.id) !== -1) return;
675
- const v = [...t], T = Math.min(g, v.length);
676
- v.splice(T, 0, s), l.value = v, await q(), r.value || (await new Promise((S) => requestAnimationFrame(() => S())), requestAnimationFrame(() => {
677
- n(v);
673
+ const a = l.value;
674
+ if (a.findIndex((P) => P.id === s.id) !== -1) return;
675
+ const v = [...a], M = Math.min(m, v.length);
676
+ v.splice(M, 0, s), l.value = v, await q(), r.value || (await new Promise((P) => requestAnimationFrame(() => P())), requestAnimationFrame(() => {
677
+ t(v);
678
678
  }));
679
679
  }
680
- async function x(s, g) {
680
+ async function x(s, m) {
681
681
  var L;
682
682
  if (!s || s.length === 0) return;
683
- if (!g || g.length !== s.length) {
683
+ if (!m || m.length !== s.length) {
684
684
  console.warn("[Masonry] restoreMany: items and indices arrays must have the same length");
685
685
  return;
686
686
  }
687
- const t = l.value, d = new Set(t.map((k) => k.id)), v = [];
687
+ const a = l.value, d = new Set(a.map((k) => k.id)), v = [];
688
688
  for (let k = 0; k < s.length; k++)
689
- d.has((L = s[k]) == null ? void 0 : L.id) || v.push({ item: s[k], index: g[k] });
689
+ d.has((L = s[k]) == null ? void 0 : L.id) || v.push({ item: s[k], index: m[k] });
690
690
  if (v.length === 0) return;
691
- const T = /* @__PURE__ */ new Map();
691
+ const M = /* @__PURE__ */ new Map();
692
692
  for (const { item: k, index: W } of v)
693
- T.set(W, k);
694
- const S = v.length > 0 ? Math.max(...v.map(({ index: k }) => k)) : -1, E = Math.max(t.length - 1, S), f = [];
695
- let P = 0;
696
- for (let k = 0; k <= E; k++)
697
- T.has(k) ? f.push(T.get(k)) : P < t.length && (f.push(t[P]), P++);
698
- for (; P < t.length; )
699
- f.push(t[P]), P++;
693
+ M.set(W, k);
694
+ const P = v.length > 0 ? Math.max(...v.map(({ index: k }) => k)) : -1, I = Math.max(a.length - 1, P), f = [];
695
+ let H = 0;
696
+ for (let k = 0; k <= I; k++)
697
+ M.has(k) ? f.push(M.get(k)) : H < a.length && (f.push(a[H]), H++);
698
+ for (; H < a.length; )
699
+ f.push(a[H]), H++;
700
700
  l.value = f, await q(), r.value || (await new Promise((k) => requestAnimationFrame(() => k())), requestAnimationFrame(() => {
701
- n(f);
701
+ t(f);
702
702
  }));
703
703
  }
704
- async function M() {
704
+ async function T() {
705
705
  l.value = [];
706
706
  }
707
707
  return {
708
708
  remove: b,
709
- removeMany: a,
709
+ removeMany: n,
710
710
  restore: p,
711
711
  restoreMany: x,
712
- removeAll: M
712
+ removeAll: T
713
713
  };
714
714
  }
715
- function ta(e) {
715
+ function oa(e) {
716
716
  const {
717
717
  masonry: l,
718
718
  useSwipeMode: r,
719
- container: n,
719
+ container: t,
720
720
  columns: y,
721
- containerWidth: h,
722
- masonryContentHeight: m,
721
+ containerWidth: g,
722
+ masonryContentHeight: h,
723
723
  layout: i,
724
724
  fixedDimensions: w,
725
725
  checkItemDimensions: b
726
726
  } = e;
727
- let a = [];
728
- function p(g) {
729
- const t = _t(g);
727
+ let n = [];
728
+ function p(m) {
729
+ const a = Kt(m);
730
730
  let d = 0;
731
- if (n.value) {
732
- const { scrollTop: v, clientHeight: T } = n.value;
733
- d = v + T + 100;
731
+ if (t.value) {
732
+ const { scrollTop: v, clientHeight: M } = t.value;
733
+ d = v + M + 100;
734
734
  }
735
- m.value = Math.max(t, d);
735
+ h.value = Math.max(a, d);
736
736
  }
737
- function x(g) {
738
- var T, S;
737
+ function x(m) {
738
+ var M, P;
739
739
  if (r.value) {
740
- l.value = g;
740
+ l.value = m;
741
741
  return;
742
742
  }
743
- if (!n.value) return;
744
- if (b(g, "refreshLayout"), g.length > 1e3 && a.length > g.length && a.length - g.length < 100) {
745
- let E = !0;
746
- for (let f = 0; f < g.length; f++)
747
- if (((T = g[f]) == null ? void 0 : T.id) !== ((S = a[f]) == null ? void 0 : S.id)) {
748
- E = !1;
743
+ if (!t.value) return;
744
+ if (b(m, "refreshLayout"), m.length > 1e3 && n.length > m.length && n.length - m.length < 100) {
745
+ let I = !0;
746
+ for (let f = 0; f < m.length; f++)
747
+ if (((M = m[f]) == null ? void 0 : M.id) !== ((P = n[f]) == null ? void 0 : P.id)) {
748
+ I = !1;
749
749
  break;
750
750
  }
751
- if (E) {
752
- const f = g.map((P, L) => ({
753
- ...a[L],
751
+ if (I) {
752
+ const f = m.map((H, L) => ({
753
+ ...n[L],
754
754
  originalIndex: L
755
755
  }));
756
- p(f), l.value = f, a = f;
756
+ p(f), l.value = f, n = f;
757
757
  return;
758
758
  }
759
759
  }
760
- const d = g.map((E, f) => ({
761
- ...E,
760
+ const d = m.map((I, f) => ({
761
+ ...I,
762
762
  originalIndex: f
763
- })), v = n.value;
763
+ })), v = t.value;
764
764
  if (w.value && w.value.width !== void 0) {
765
- const E = v.style.width, f = v.style.boxSizing;
765
+ const I = v.style.width, f = v.style.boxSizing;
766
766
  v.style.boxSizing = "border-box", v.style.width = `${w.value.width}px`, v.offsetWidth;
767
- const P = qe(d, v, y.value, i.value);
768
- v.style.width = E, v.style.boxSizing = f, p(P), l.value = P, a = P;
767
+ const H = Xe(d, v, y.value, i.value);
768
+ v.style.width = I, v.style.boxSizing = f, p(H), l.value = H, n = H;
769
769
  } else {
770
- const E = qe(d, v, y.value, i.value);
771
- p(E), l.value = E, a = E;
770
+ const I = Xe(d, v, y.value, i.value);
771
+ p(I), l.value = I, n = I;
772
772
  }
773
773
  }
774
- function M(g, t) {
775
- w.value = g, g && (g.width !== void 0 && (h.value = g.width), !r.value && n.value && l.value.length > 0 && q(() => {
776
- y.value = ue(i.value, h.value), x(l.value), t && t();
774
+ function T(m, a) {
775
+ w.value = m, m && (m.width !== void 0 && (g.value = m.width), !r.value && t.value && l.value.length > 0 && q(() => {
776
+ y.value = ue(i.value, g.value), x(l.value), a && a();
777
777
  }));
778
778
  }
779
779
  function s() {
780
- y.value = ue(i.value, h.value), x(l.value);
780
+ y.value = ue(i.value, g.value), x(l.value);
781
781
  }
782
782
  return {
783
783
  refreshLayout: x,
784
- setFixedDimensions: M,
784
+ setFixedDimensions: T,
785
785
  onResize: s,
786
786
  calculateHeight: p
787
787
  };
788
788
  }
789
- function aa(e) {
789
+ function ra(e) {
790
790
  const {
791
791
  masonry: l,
792
792
  container: r,
793
- columns: n,
793
+ columns: t,
794
794
  virtualBufferPx: y,
795
- loadThresholdPx: h
796
- } = e, m = z(e.handleScroll), i = z(0), w = z(0), b = y, a = z(!1), p = z({
795
+ loadThresholdPx: g
796
+ } = e, h = B(e.handleScroll), i = B(0), w = B(0), b = y, n = B(!1), p = B({
797
797
  distanceToTrigger: 0,
798
798
  isNearTrigger: !1
799
- }), x = Q(() => {
800
- const t = i.value - b, d = i.value + w.value + b, v = l.value;
801
- return !v || v.length === 0 ? [] : v.filter((S) => {
802
- if (typeof S.top != "number" || typeof S.columnHeight != "number")
799
+ }), x = Z(() => {
800
+ const a = i.value - b, d = i.value + w.value + b, v = l.value;
801
+ return !v || v.length === 0 ? [] : v.filter((P) => {
802
+ if (typeof P.top != "number" || typeof P.columnHeight != "number")
803
803
  return !0;
804
- const E = S.top;
805
- return S.top + S.columnHeight >= t && E <= d;
804
+ const I = P.top;
805
+ return P.top + P.columnHeight >= a && I <= d;
806
806
  });
807
807
  });
808
- function M(t) {
808
+ function T(a) {
809
809
  if (!r.value) return;
810
- const { scrollTop: d, clientHeight: v } = r.value, T = d + v, S = t ?? $e(l.value, n.value), E = S.length ? Math.max(...S) : 0, f = typeof h == "number" ? h : 200, P = f >= 0 ? Math.max(0, E - f) : Math.max(0, E + f), L = Math.max(0, P - T), k = L <= 100;
810
+ const { scrollTop: d, clientHeight: v } = r.value, M = d + v, P = a ?? be(l.value, t.value), I = P.length ? Math.max(...P) : 0, f = typeof g == "number" ? g : 200, H = f >= 0 ? Math.max(0, I - f) : Math.max(0, I + f), L = Math.max(0, H - M), k = L <= 100;
811
811
  p.value = {
812
812
  distanceToTrigger: Math.round(L),
813
813
  isNearTrigger: k
@@ -815,15 +815,15 @@ function aa(e) {
815
815
  }
816
816
  async function s() {
817
817
  if (r.value) {
818
- const d = r.value.scrollTop, v = r.value.clientHeight || window.innerHeight, T = v > 0 ? v : window.innerHeight;
819
- i.value = d, w.value = T;
818
+ const d = r.value.scrollTop, v = r.value.clientHeight || window.innerHeight, M = v > 0 ? v : window.innerHeight;
819
+ i.value = d, w.value = M;
820
820
  }
821
- a.value = !0, await q(), await new Promise((d) => requestAnimationFrame(() => d())), a.value = !1;
822
- const t = $e(l.value, n.value);
823
- m.value(t), M(t);
821
+ n.value = !0, await q(), await new Promise((d) => requestAnimationFrame(() => d())), n.value = !1;
822
+ const a = be(l.value, t.value);
823
+ h.value(a), T(a);
824
824
  }
825
- function g() {
826
- i.value = 0, w.value = 0, a.value = !1, p.value = {
825
+ function m() {
826
+ i.value = 0, w.value = 0, n.value = !1, p.value = {
827
827
  distanceToTrigger: 0,
828
828
  isNearTrigger: !1
829
829
  };
@@ -831,38 +831,38 @@ function aa(e) {
831
831
  return {
832
832
  viewportTop: i,
833
833
  viewportHeight: w,
834
- virtualizing: a,
834
+ virtualizing: n,
835
835
  scrollProgress: p,
836
836
  visibleMasonry: x,
837
- updateScrollProgress: M,
837
+ updateScrollProgress: T,
838
838
  updateViewport: s,
839
- reset: g,
840
- handleScroll: m
839
+ reset: m,
840
+ handleScroll: h
841
841
  };
842
842
  }
843
- function na(e) {
844
- const { masonry: l } = e, r = z(/* @__PURE__ */ new Set());
845
- function n(m) {
846
- return typeof m == "number" && m > 0 && Number.isFinite(m);
843
+ function ia(e) {
844
+ const { masonry: l } = e, r = B(/* @__PURE__ */ new Set());
845
+ function t(h) {
846
+ return typeof h == "number" && h > 0 && Number.isFinite(h);
847
847
  }
848
- function y(m, i) {
848
+ function y(h, i) {
849
849
  try {
850
- if (!Array.isArray(m) || m.length === 0) return;
851
- const w = m.filter((a) => !n(a == null ? void 0 : a.width) || !n(a == null ? void 0 : a.height));
850
+ if (!Array.isArray(h) || h.length === 0) return;
851
+ const w = h.filter((n) => !t(n == null ? void 0 : n.width) || !t(n == null ? void 0 : n.height));
852
852
  if (w.length === 0) return;
853
853
  const b = [];
854
- for (const a of w) {
855
- const p = (a == null ? void 0 : a.id) ?? `idx:${l.value.indexOf(a)}`;
854
+ for (const n of w) {
855
+ const p = (n == null ? void 0 : n.id) ?? `idx:${l.value.indexOf(n)}`;
856
856
  r.value.has(p) || (r.value.add(p), b.push(p));
857
857
  }
858
858
  if (b.length > 0) {
859
- const a = b.slice(0, 10);
859
+ const n = b.slice(0, 10);
860
860
  console.warn(
861
861
  "[Masonry] Items missing width/height detected:",
862
862
  {
863
863
  context: i,
864
864
  count: b.length,
865
- sampleIds: a,
865
+ sampleIds: n,
866
866
  hint: "Ensure each item has positive width and height. Consider providing fallbacks (e.g., 512x512) at the data layer."
867
867
  }
868
868
  );
@@ -870,28 +870,28 @@ function na(e) {
870
870
  } catch {
871
871
  }
872
872
  }
873
- function h() {
873
+ function g() {
874
874
  r.value.clear();
875
875
  }
876
876
  return {
877
877
  checkItemDimensions: y,
878
878
  invalidDimensionIds: r,
879
- reset: h
879
+ reset: g
880
880
  };
881
881
  }
882
- const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full rounded-xl overflow-hidden shadow-sm transition-all duration-300 bg-white relative" }, ra = {
882
+ const sa = { class: "flex-1 relative min-h-0" }, ua = { class: "w-full h-full rounded-xl overflow-hidden shadow-sm transition-all duration-300 bg-white relative" }, ca = {
883
883
  key: 0,
884
884
  class: "absolute inset-0 flex flex-col items-center justify-center bg-slate-100 text-slate-400 text-sm p-4 text-center"
885
- }, ia = {
885
+ }, va = {
886
886
  key: 1,
887
887
  class: "relative w-full h-full"
888
- }, sa = ["src"], ua = ["src", "autoplay", "controls"], ca = { class: "w-12 h-12 rounded-full bg-white/80 backdrop-blur-sm flex items-center justify-center shadow-sm" }, va = {
888
+ }, fa = ["src"], da = ["src", "autoplay", "controls"], ha = { class: "w-12 h-12 rounded-full bg-white/80 backdrop-blur-sm flex items-center justify-center shadow-sm" }, ma = {
889
889
  key: 3,
890
890
  class: "absolute bottom-2 left-1/2 transform -translate-x-1/2 flex items-center justify-center z-10"
891
- }, fa = {
891
+ }, ga = {
892
892
  key: 4,
893
893
  class: "absolute inset-0 flex flex-col items-center justify-center bg-slate-50 text-slate-400 text-sm p-4 text-center"
894
- }, xe = /* @__PURE__ */ Je({
894
+ }, Me = /* @__PURE__ */ et({
895
895
  __name: "MasonryItem",
896
896
  props: {
897
897
  item: {},
@@ -905,108 +905,108 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
905
905
  },
906
906
  emits: ["preload:success", "preload:error", "mouse-enter", "mouse-leave"],
907
907
  setup(e, { emit: l }) {
908
- const r = e, n = l, y = z(!1), h = z(!1), m = z(null), i = z(!1), w = z(!1), b = z(null), a = z(!1), p = z(!1), x = z(!1), M = z(null), s = z(null);
909
- let g = null;
910
- const t = Q(() => {
908
+ const r = e, t = l, y = B(!1), g = B(!1), h = B(null), i = B(!1), w = B(!1), b = B(null), n = B(!1), p = B(!1), x = B(!1), T = B(null), s = B(null);
909
+ let m = null;
910
+ const a = Z(() => {
911
911
  var o;
912
912
  return r.type ?? ((o = r.item) == null ? void 0 : o.type) ?? "image";
913
- }), d = Q(() => {
913
+ }), d = Z(() => {
914
914
  var o;
915
915
  return r.notFound ?? ((o = r.item) == null ? void 0 : o.notFound) ?? !1;
916
- }), v = Q(() => !!r.inSwipeMode);
917
- function T(o) {
918
- n("mouse-enter", { item: r.item, type: o });
916
+ }), v = Z(() => !!r.inSwipeMode);
917
+ function M(o) {
918
+ t("mouse-enter", { item: r.item, type: o });
919
919
  }
920
- function S(o) {
921
- n("mouse-leave", { item: r.item, type: o });
920
+ function P(o) {
921
+ t("mouse-leave", { item: r.item, type: o });
922
922
  }
923
- function E(o) {
923
+ function I(o) {
924
924
  if (v.value) return;
925
925
  const u = o.target;
926
926
  u && (u.paused ? u.play() : u.pause());
927
927
  }
928
928
  function f(o) {
929
929
  const u = o.target;
930
- u && (v.value || u.play(), T("video"));
930
+ u && (v.value || u.play(), M("video"));
931
931
  }
932
- function P(o) {
932
+ function H(o) {
933
933
  const u = o.target;
934
- u && (v.value || u.pause(), S("video"));
934
+ u && (v.value || u.pause(), P("video"));
935
935
  }
936
936
  function L(o) {
937
- return new Promise((u, I) => {
937
+ return new Promise((u, E) => {
938
938
  if (!o) {
939
- const D = new Error("No image source provided");
940
- n("preload:error", { item: r.item, type: "image", src: o, error: D }), I(D);
939
+ const N = new Error("No image source provided");
940
+ t("preload:error", { item: r.item, type: "image", src: o, error: N }), E(N);
941
941
  return;
942
942
  }
943
- const $ = new Image(), C = Date.now(), F = 300;
943
+ const $ = new Image(), C = Date.now(), A = 300;
944
944
  $.onload = () => {
945
- const D = Date.now() - C, j = Math.max(0, F - D);
945
+ const N = Date.now() - C, j = Math.max(0, A - N);
946
946
  setTimeout(async () => {
947
- y.value = !0, h.value = !1, p.value = !1, await q(), await new Promise((X) => setTimeout(X, 100)), x.value = !0, n("preload:success", { item: r.item, type: "image", src: o }), u();
947
+ y.value = !0, g.value = !1, p.value = !1, await q(), await new Promise((G) => setTimeout(G, 100)), x.value = !0, t("preload:success", { item: r.item, type: "image", src: o }), u();
948
948
  }, j);
949
949
  }, $.onerror = () => {
950
- h.value = !0, y.value = !1, p.value = !1;
951
- const D = new Error("Failed to load image");
952
- n("preload:error", { item: r.item, type: "image", src: o, error: D }), I(D);
950
+ g.value = !0, y.value = !1, p.value = !1;
951
+ const N = new Error("Failed to load image");
952
+ t("preload:error", { item: r.item, type: "image", src: o, error: N }), E(N);
953
953
  }, $.src = o;
954
954
  });
955
955
  }
956
956
  function k(o) {
957
- return new Promise((u, I) => {
957
+ return new Promise((u, E) => {
958
958
  if (!o) {
959
- const D = new Error("No video source provided");
960
- n("preload:error", { item: r.item, type: "video", src: o, error: D }), I(D);
959
+ const N = new Error("No video source provided");
960
+ t("preload:error", { item: r.item, type: "video", src: o, error: N }), E(N);
961
961
  return;
962
962
  }
963
- const $ = document.createElement("video"), C = Date.now(), F = 300;
963
+ const $ = document.createElement("video"), C = Date.now(), A = 300;
964
964
  $.preload = "metadata", $.muted = !0, $.onloadedmetadata = () => {
965
- const D = Date.now() - C, j = Math.max(0, F - D);
965
+ const N = Date.now() - C, j = Math.max(0, A - N);
966
966
  setTimeout(async () => {
967
- i.value = !0, w.value = !1, p.value = !1, await q(), await new Promise((X) => setTimeout(X, 100)), x.value = !0, n("preload:success", { item: r.item, type: "video", src: o }), u();
967
+ i.value = !0, w.value = !1, p.value = !1, await q(), await new Promise((G) => setTimeout(G, 100)), x.value = !0, t("preload:success", { item: r.item, type: "video", src: o }), u();
968
968
  }, j);
969
969
  }, $.onerror = () => {
970
970
  w.value = !0, i.value = !1, p.value = !1;
971
- const D = new Error("Failed to load video");
972
- n("preload:error", { item: r.item, type: "video", src: o, error: D }), I(D);
971
+ const N = new Error("Failed to load video");
972
+ t("preload:error", { item: r.item, type: "video", src: o, error: N }), E(N);
973
973
  }, $.src = o;
974
974
  });
975
975
  }
976
976
  async function W() {
977
977
  var u;
978
- if (!a.value || p.value || d.value || t.value === "video" && i.value || t.value === "image" && y.value)
978
+ if (!n.value || p.value || d.value || a.value === "video" && i.value || a.value === "image" && y.value)
979
979
  return;
980
980
  const o = (u = r.item) == null ? void 0 : u.src;
981
981
  if (o)
982
- if (p.value = !0, x.value = !1, t.value === "video") {
982
+ if (p.value = !0, x.value = !1, a.value === "video") {
983
983
  b.value = o, i.value = !1, w.value = !1;
984
984
  try {
985
985
  await k(o);
986
986
  } catch {
987
987
  }
988
988
  } else {
989
- m.value = o, y.value = !1, h.value = !1;
989
+ h.value = o, y.value = !1, g.value = !1;
990
990
  try {
991
991
  await L(o);
992
992
  } catch {
993
993
  }
994
994
  }
995
995
  }
996
- return Ke(() => {
997
- M.value && (g = new IntersectionObserver(
996
+ return tt(() => {
997
+ T.value && (m = new IntersectionObserver(
998
998
  (o) => {
999
999
  o.forEach((u) => {
1000
- u.isIntersecting && u.intersectionRatio >= 1 ? a.value || (a.value = !0, W()) : u.isIntersecting;
1000
+ u.isIntersecting && u.intersectionRatio >= 1 ? n.value || (n.value = !0, W()) : u.isIntersecting;
1001
1001
  });
1002
1002
  },
1003
1003
  {
1004
1004
  // Only trigger when item is 100% visible (full height in view)
1005
1005
  threshold: [1]
1006
1006
  }
1007
- ), g.observe(M.value));
1008
- }), Qe(() => {
1009
- g && (g.disconnect(), g = null);
1007
+ ), m.observe(T.value));
1008
+ }), at(() => {
1009
+ m && (m.disconnect(), m = null);
1010
1010
  }), te(
1011
1011
  () => {
1012
1012
  var o;
@@ -1014,15 +1014,15 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1014
1014
  },
1015
1015
  async (o) => {
1016
1016
  if (!(!o || d.value)) {
1017
- if (t.value === "video") {
1018
- if (o !== b.value && (i.value = !1, w.value = !1, b.value = o, a.value)) {
1017
+ if (a.value === "video") {
1018
+ if (o !== b.value && (i.value = !1, w.value = !1, b.value = o, n.value)) {
1019
1019
  p.value = !0;
1020
1020
  try {
1021
1021
  await k(o);
1022
1022
  } catch {
1023
1023
  }
1024
1024
  }
1025
- } else if (o !== m.value && (y.value = !1, h.value = !1, m.value = o, a.value)) {
1025
+ } else if (o !== h.value && (y.value = !1, g.value = !1, h.value = o, n.value)) {
1026
1026
  p.value = !0;
1027
1027
  try {
1028
1028
  await L(o);
@@ -1038,7 +1038,7 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1038
1038
  }
1039
1039
  ), (o, u) => (O(), R("div", {
1040
1040
  ref_key: "containerRef",
1041
- ref: M,
1041
+ ref: T,
1042
1042
  class: "relative w-full h-full flex flex-col"
1043
1043
  }, [
1044
1044
  o.headerHeight > 0 ? (O(), R("div", {
@@ -1046,42 +1046,42 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1046
1046
  class: "relative z-10",
1047
1047
  style: ge({ height: `${o.headerHeight}px` })
1048
1048
  }, [
1049
- _(o.$slots, "header", {
1049
+ X(o.$slots, "header", {
1050
1050
  item: o.item,
1051
1051
  remove: o.remove,
1052
1052
  imageLoaded: y.value,
1053
- imageError: h.value,
1053
+ imageError: g.value,
1054
1054
  videoLoaded: i.value,
1055
1055
  videoError: w.value,
1056
1056
  showNotFound: d.value,
1057
1057
  isLoading: p.value,
1058
- mediaType: t.value
1058
+ mediaType: a.value
1059
1059
  })
1060
- ], 4)) : ee("", !0),
1061
- V("div", la, [
1062
- _(o.$slots, "default", {
1060
+ ], 4)) : ae("", !0),
1061
+ V("div", sa, [
1062
+ X(o.$slots, "default", {
1063
1063
  item: o.item,
1064
1064
  remove: o.remove,
1065
1065
  imageLoaded: y.value,
1066
- imageError: h.value,
1066
+ imageError: g.value,
1067
1067
  videoLoaded: i.value,
1068
1068
  videoError: w.value,
1069
1069
  showNotFound: d.value,
1070
1070
  isLoading: p.value,
1071
- mediaType: t.value,
1072
- imageSrc: m.value,
1071
+ mediaType: a.value,
1072
+ imageSrc: h.value,
1073
1073
  videoSrc: b.value,
1074
1074
  showMedia: x.value
1075
1075
  }, () => [
1076
- V("div", oa, [
1077
- d.value ? (O(), R("div", ra, u[3] || (u[3] = [
1076
+ V("div", ua, [
1077
+ d.value ? (O(), R("div", ca, u[3] || (u[3] = [
1078
1078
  V("i", { class: "fas fa-search text-3xl mb-3 opacity-50" }, null, -1),
1079
1079
  V("span", { class: "font-medium" }, "Not Found", -1),
1080
1080
  V("span", { class: "text-xs mt-1 opacity-75" }, "This item could not be located", -1)
1081
- ]))) : (O(), R("div", ia, [
1082
- t.value === "image" && m.value ? (O(), R("img", {
1081
+ ]))) : (O(), R("div", va, [
1082
+ a.value === "image" && h.value ? (O(), R("img", {
1083
1083
  key: 0,
1084
- src: m.value,
1084
+ src: h.value,
1085
1085
  class: re([
1086
1086
  "w-full h-full object-cover transition-opacity duration-700 ease-in-out",
1087
1087
  y.value && x.value ? "opacity-100" : "opacity-0"
@@ -1090,10 +1090,10 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1090
1090
  loading: "lazy",
1091
1091
  decoding: "async",
1092
1092
  alt: "",
1093
- onMouseenter: u[0] || (u[0] = (I) => T("image")),
1094
- onMouseleave: u[1] || (u[1] = (I) => S("image"))
1095
- }, null, 42, sa)) : ee("", !0),
1096
- t.value === "video" && b.value ? (O(), R("video", {
1093
+ onMouseenter: u[0] || (u[0] = (E) => M("image")),
1094
+ onMouseleave: u[1] || (u[1] = (E) => P("image"))
1095
+ }, null, 42, fa)) : ae("", !0),
1096
+ a.value === "video" && b.value ? (O(), R("video", {
1097
1097
  key: 1,
1098
1098
  ref_key: "videoEl",
1099
1099
  ref: s,
@@ -1108,38 +1108,38 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1108
1108
  playsinline: "",
1109
1109
  autoplay: v.value && r.isActive,
1110
1110
  controls: v.value,
1111
- onClick: Ce(E, ["stop"]),
1112
- onTouchend: Ce(E, ["stop", "prevent"]),
1111
+ onClick: Ye(I, ["stop"]),
1112
+ onTouchend: Ye(I, ["stop", "prevent"]),
1113
1113
  onMouseenter: f,
1114
- onMouseleave: P,
1115
- onError: u[2] || (u[2] = (I) => w.value = !0)
1116
- }, null, 42, ua)) : ee("", !0),
1117
- !y.value && !i.value && !h.value && !w.value ? (O(), R("div", {
1114
+ onMouseleave: H,
1115
+ onError: u[2] || (u[2] = (E) => w.value = !0)
1116
+ }, null, 42, da)) : ae("", !0),
1117
+ !y.value && !i.value && !g.value && !w.value ? (O(), R("div", {
1118
1118
  key: 2,
1119
1119
  class: re([
1120
1120
  "absolute inset-0 bg-slate-100 flex items-center justify-center transition-opacity duration-500",
1121
1121
  x.value ? "opacity-0 pointer-events-none" : "opacity-100"
1122
1122
  ])
1123
1123
  }, [
1124
- V("div", ca, [
1125
- _(o.$slots, "placeholder-icon", { mediaType: t.value }, () => [
1124
+ V("div", ha, [
1125
+ X(o.$slots, "placeholder-icon", { mediaType: a.value }, () => [
1126
1126
  V("i", {
1127
- class: re(t.value === "video" ? "fas fa-video text-xl text-slate-400" : "fas fa-image text-xl text-slate-400")
1127
+ class: re(a.value === "video" ? "fas fa-video text-xl text-slate-400" : "fas fa-image text-xl text-slate-400")
1128
1128
  }, null, 2)
1129
1129
  ])
1130
1130
  ])
1131
- ], 2)) : ee("", !0),
1132
- p.value ? (O(), R("div", va, u[4] || (u[4] = [
1131
+ ], 2)) : ae("", !0),
1132
+ p.value ? (O(), R("div", ma, u[4] || (u[4] = [
1133
1133
  V("div", { class: "bg-white/90 backdrop-blur-sm rounded-full px-3 py-1.5 shadow-sm" }, [
1134
1134
  V("div", { class: "animate-spin rounded-full h-4 w-4 border-b-2 border-blue-500" })
1135
1135
  ], -1)
1136
- ]))) : ee("", !0),
1137
- t.value === "image" && h.value || t.value === "video" && w.value ? (O(), R("div", fa, [
1136
+ ]))) : ae("", !0),
1137
+ a.value === "image" && g.value || a.value === "video" && w.value ? (O(), R("div", ga, [
1138
1138
  V("i", {
1139
- class: re(t.value === "video" ? "fas fa-video text-2xl mb-2 opacity-50" : "fas fa-image text-2xl mb-2 opacity-50")
1139
+ class: re(a.value === "video" ? "fas fa-video text-2xl mb-2 opacity-50" : "fas fa-image text-2xl mb-2 opacity-50")
1140
1140
  }, null, 2),
1141
- V("span", null, "Failed to load " + He(t.value), 1)
1142
- ])) : ee("", !0)
1141
+ V("span", null, "Failed to load " + Be(a.value), 1)
1142
+ ])) : ae("", !0)
1143
1143
  ]))
1144
1144
  ])
1145
1145
  ])
@@ -1149,33 +1149,33 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1149
1149
  class: "relative z-10",
1150
1150
  style: ge({ height: `${o.footerHeight}px` })
1151
1151
  }, [
1152
- _(o.$slots, "footer", {
1152
+ X(o.$slots, "footer", {
1153
1153
  item: o.item,
1154
1154
  remove: o.remove,
1155
1155
  imageLoaded: y.value,
1156
- imageError: h.value,
1156
+ imageError: g.value,
1157
1157
  videoLoaded: i.value,
1158
1158
  videoError: w.value,
1159
1159
  showNotFound: d.value,
1160
1160
  isLoading: p.value,
1161
- mediaType: t.value
1161
+ mediaType: a.value
1162
1162
  })
1163
- ], 4)) : ee("", !0)
1163
+ ], 4)) : ae("", !0)
1164
1164
  ], 512));
1165
1165
  }
1166
- }), da = { class: "w-full h-full flex items-center justify-center p-4" }, ma = { class: "w-full h-full max-w-full max-h-full relative" }, ha = {
1166
+ }), pa = { class: "w-full h-full flex items-center justify-center p-4" }, ya = { class: "w-full h-full max-w-full max-h-full relative" }, wa = {
1167
1167
  key: 0,
1168
1168
  class: "w-full py-8 text-center"
1169
- }, ga = {
1169
+ }, xa = {
1170
1170
  key: 1,
1171
1171
  class: "w-full py-8 text-center"
1172
- }, pa = { class: "text-red-500 dark:text-red-400" }, ya = {
1172
+ }, ba = { class: "text-red-500 dark:text-red-400" }, Ma = {
1173
1173
  key: 0,
1174
1174
  class: "w-full py-8 text-center"
1175
- }, wa = {
1175
+ }, Ta = {
1176
1176
  key: 1,
1177
1177
  class: "w-full py-8 text-center"
1178
- }, xa = { class: "text-red-500 dark:text-red-400" }, ba = /* @__PURE__ */ Je({
1178
+ }, Ia = { class: "text-red-500 dark:text-red-400" }, Ea = /* @__PURE__ */ et({
1179
1179
  __name: "Masonry",
1180
1180
  props: {
1181
1181
  getNextPage: {
@@ -1204,6 +1204,15 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1204
1204
  type: Boolean,
1205
1205
  default: !1
1206
1206
  },
1207
+ // Initial pagination state when skipInitialLoad is true and items are provided
1208
+ initialPage: {
1209
+ type: [Number, String],
1210
+ default: null
1211
+ },
1212
+ initialNextPage: {
1213
+ type: [Number, String],
1214
+ default: null
1215
+ },
1207
1216
  pageSize: {
1208
1217
  type: Number,
1209
1218
  default: 40
@@ -1294,7 +1303,7 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1294
1303
  "item:mouse-leave"
1295
1304
  ],
1296
1305
  setup(e, { expose: l, emit: r }) {
1297
- const n = e, y = {
1306
+ const t = e, y = {
1298
1307
  sizes: { base: 1, sm: 2, md: 3, lg: 4, xl: 5, "2xl": 6 },
1299
1308
  gutterX: 10,
1300
1309
  gutterY: 10,
@@ -1303,18 +1312,18 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1303
1312
  paddingLeft: 0,
1304
1313
  paddingRight: 0,
1305
1314
  placement: "masonry"
1306
- }, h = Q(() => {
1315
+ }, g = Z(() => {
1307
1316
  var c;
1308
1317
  return {
1309
1318
  ...y,
1310
- ...n.layout,
1319
+ ...t.layout,
1311
1320
  sizes: {
1312
1321
  ...y.sizes,
1313
- ...((c = n.layout) == null ? void 0 : c.sizes) || {}
1322
+ ...((c = t.layout) == null ? void 0 : c.sizes) || {}
1314
1323
  }
1315
1324
  };
1316
- }), m = z(null), i = z(typeof window < "u" ? window.innerWidth : 1024), w = z(typeof window < "u" ? window.innerHeight : 768), b = z(null);
1317
- let a = null;
1325
+ }), h = B(null), i = B(typeof window < "u" ? window.innerWidth : 1024), w = B(typeof window < "u" ? window.innerHeight : 768), b = B(null);
1326
+ let n = null;
1318
1327
  function p(c) {
1319
1328
  return {
1320
1329
  sm: 640,
@@ -1324,232 +1333,249 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1324
1333
  "2xl": 1536
1325
1334
  }[c] || 768;
1326
1335
  }
1327
- const x = Q(() => {
1328
- if (n.layoutMode === "masonry") return !1;
1329
- if (n.layoutMode === "swipe") return !0;
1330
- const c = typeof n.mobileBreakpoint == "string" ? p(n.mobileBreakpoint) : n.mobileBreakpoint;
1336
+ const x = Z(() => {
1337
+ if (t.layoutMode === "masonry") return !1;
1338
+ if (t.layoutMode === "swipe") return !0;
1339
+ const c = typeof t.mobileBreakpoint == "string" ? p(t.mobileBreakpoint) : t.mobileBreakpoint;
1331
1340
  return i.value < c;
1332
- }), M = r, s = Q({
1333
- get: () => n.items,
1334
- set: (c) => M("update:items", c)
1335
- }), g = z(7), t = z(null), d = z([]), v = z(null), T = z(!1), S = z(0), E = z(!1), f = z(null), P = Q(() => Ut(i.value)), L = na({
1341
+ }), T = r, s = Z({
1342
+ get: () => t.items,
1343
+ set: (c) => T("update:items", c)
1344
+ }), m = B(7), a = B(null), d = B([]), v = B(null), M = B(!1), P = B(0), I = B(!1), f = B(null), H = Z(() => Jt(i.value)), L = ia({
1336
1345
  masonry: s
1337
- }), { checkItemDimensions: k, reset: W } = L, o = ta({
1346
+ }), { checkItemDimensions: k, reset: W } = L, o = oa({
1338
1347
  masonry: s,
1339
1348
  useSwipeMode: x,
1340
- container: t,
1341
- columns: g,
1349
+ container: a,
1350
+ columns: m,
1342
1351
  containerWidth: i,
1343
- masonryContentHeight: S,
1344
- layout: h,
1352
+ masonryContentHeight: P,
1353
+ layout: g,
1345
1354
  fixedDimensions: b,
1346
1355
  checkItemDimensions: k
1347
- }), { refreshLayout: u, setFixedDimensions: I, onResize: $ } = o, C = aa({
1356
+ }), { refreshLayout: u, setFixedDimensions: E, onResize: $ } = o, C = ra({
1348
1357
  masonry: s,
1349
- container: t,
1350
- columns: g,
1351
- virtualBufferPx: n.virtualBufferPx,
1352
- loadThresholdPx: n.loadThresholdPx,
1358
+ container: a,
1359
+ columns: m,
1360
+ virtualBufferPx: t.virtualBufferPx,
1361
+ loadThresholdPx: t.loadThresholdPx,
1353
1362
  handleScroll: () => {
1354
1363
  }
1355
1364
  // Will be set after pagination is initialized
1356
- }), { viewportTop: F, viewportHeight: D, virtualizing: j, visibleMasonry: X, updateScrollProgress: B, updateViewport: Y, reset: G } = C, { onEnter: ne, onBeforeEnter: J, onBeforeLeave: ie, onLeave: Z } = Jt(
1357
- { container: t },
1358
- { leaveDurationMs: n.leaveDurationMs, virtualizing: j }
1359
- ), tt = ne, at = J, nt = ie, lt = Z, ot = Zt({
1360
- getNextPage: n.getNextPage,
1365
+ }), { viewportTop: A, viewportHeight: N, virtualizing: j, visibleMasonry: G, updateScrollProgress: D, updateViewport: Y, reset: J } = C, { onEnter: ne, onBeforeEnter: K, onBeforeLeave: ie, onLeave: ee } = ea(
1366
+ { container: a },
1367
+ { leaveDurationMs: t.leaveDurationMs, virtualizing: j }
1368
+ ), ot = ne, rt = K, it = ie, st = ee, ut = na({
1369
+ getNextPage: t.getNextPage,
1361
1370
  masonry: s,
1362
- isLoading: T,
1363
- hasReachedEnd: E,
1371
+ isLoading: M,
1372
+ hasReachedEnd: I,
1364
1373
  loadError: f,
1365
1374
  currentPage: v,
1366
1375
  paginationHistory: d,
1367
1376
  refreshLayout: u,
1368
- retryMaxAttempts: n.retryMaxAttempts,
1369
- retryInitialDelayMs: n.retryInitialDelayMs,
1370
- retryBackoffStepMs: n.retryBackoffStepMs,
1371
- backfillEnabled: n.backfillEnabled,
1372
- backfillDelayMs: n.backfillDelayMs,
1373
- backfillMaxCalls: n.backfillMaxCalls,
1374
- pageSize: n.pageSize,
1375
- autoRefreshOnEmpty: n.autoRefreshOnEmpty,
1376
- emits: M
1377
- }), { loadPage: be, loadNext: pe, refreshCurrentPage: De, cancelLoad: Me, maybeBackfillToTarget: rt } = ot, K = Qt({
1377
+ retryMaxAttempts: t.retryMaxAttempts,
1378
+ retryInitialDelayMs: t.retryInitialDelayMs,
1379
+ retryBackoffStepMs: t.retryBackoffStepMs,
1380
+ backfillEnabled: t.backfillEnabled,
1381
+ backfillDelayMs: t.backfillDelayMs,
1382
+ backfillMaxCalls: t.backfillMaxCalls,
1383
+ pageSize: t.pageSize,
1384
+ autoRefreshOnEmpty: t.autoRefreshOnEmpty,
1385
+ emits: T
1386
+ }), { loadPage: Te, loadNext: pe, refreshCurrentPage: ze, cancelLoad: Ie, maybeBackfillToTarget: ct } = ut, Q = aa({
1378
1387
  useSwipeMode: x,
1379
1388
  masonry: s,
1380
- isLoading: T,
1389
+ isLoading: M,
1381
1390
  loadNext: pe,
1382
- loadPage: be,
1391
+ loadPage: Te,
1383
1392
  paginationHistory: d
1384
- }), { handleScroll: it } = Kt({
1385
- container: t,
1393
+ }), { handleScroll: Fe } = ta({
1394
+ container: a,
1386
1395
  masonry: s,
1387
- columns: g,
1388
- containerHeight: S,
1389
- isLoading: T,
1390
- pageSize: n.pageSize,
1396
+ columns: m,
1397
+ containerHeight: P,
1398
+ isLoading: M,
1399
+ pageSize: t.pageSize,
1391
1400
  refreshLayout: u,
1392
1401
  setItemsRaw: (c) => {
1393
1402
  s.value = c;
1394
1403
  },
1395
1404
  loadNext: pe,
1396
- loadThresholdPx: n.loadThresholdPx
1405
+ loadThresholdPx: t.loadThresholdPx
1397
1406
  });
1398
- C.handleScroll.value = it;
1399
- const st = ea({
1407
+ C.handleScroll.value = Fe;
1408
+ const vt = la({
1400
1409
  masonry: s,
1401
1410
  useSwipeMode: x,
1402
1411
  refreshLayout: u,
1403
- refreshCurrentPage: De,
1412
+ refreshCurrentPage: ze,
1404
1413
  loadNext: pe,
1405
- maybeBackfillToTarget: rt,
1406
- autoRefreshOnEmpty: n.autoRefreshOnEmpty,
1414
+ maybeBackfillToTarget: ct,
1415
+ autoRefreshOnEmpty: t.autoRefreshOnEmpty,
1407
1416
  paginationHistory: d
1408
- }), { remove: ce, removeMany: ut, restore: ct, restoreMany: vt, removeAll: ft } = st;
1409
- function dt(c) {
1410
- I(c, B), !c && m.value && (i.value = m.value.clientWidth, w.value = m.value.clientHeight);
1417
+ }), { remove: ce, removeMany: ft, restore: dt, restoreMany: ht, removeAll: mt } = vt;
1418
+ function gt(c) {
1419
+ E(c, D), !c && h.value && (i.value = h.value.clientWidth, w.value = h.value.clientHeight);
1411
1420
  }
1412
1421
  l({
1413
- isLoading: T,
1422
+ isLoading: M,
1414
1423
  refreshLayout: u,
1415
1424
  // Container dimensions (wrapper element)
1416
1425
  containerWidth: i,
1417
1426
  containerHeight: w,
1418
1427
  // Masonry content height (for backward compatibility, old containerHeight)
1419
- contentHeight: S,
1428
+ contentHeight: P,
1420
1429
  // Current page
1421
1430
  currentPage: v,
1422
1431
  // End of list tracking
1423
- hasReachedEnd: E,
1432
+ hasReachedEnd: I,
1424
1433
  // Load error tracking
1425
1434
  loadError: f,
1426
1435
  // Set fixed dimensions (overrides ResizeObserver)
1427
- setFixedDimensions: dt,
1436
+ setFixedDimensions: gt,
1428
1437
  remove: ce,
1429
- removeMany: ut,
1430
- removeAll: ft,
1431
- restore: ct,
1432
- restoreMany: vt,
1438
+ removeMany: ft,
1439
+ removeAll: mt,
1440
+ restore: dt,
1441
+ restoreMany: ht,
1433
1442
  loadNext: pe,
1434
- loadPage: be,
1435
- refreshCurrentPage: De,
1436
- reset: pt,
1437
- destroy: yt,
1438
- init: Re,
1439
- restoreItems: Oe,
1443
+ loadPage: Te,
1444
+ refreshCurrentPage: ze,
1445
+ reset: xt,
1446
+ destroy: bt,
1447
+ init: Ve,
1448
+ restoreItems: Le,
1440
1449
  paginationHistory: d,
1441
- cancelLoad: Me,
1442
- scrollToTop: mt,
1443
- scrollTo: ht,
1444
- totalItems: Q(() => s.value.length),
1445
- currentBreakpoint: P
1450
+ cancelLoad: Ie,
1451
+ scrollToTop: pt,
1452
+ scrollTo: yt,
1453
+ totalItems: Z(() => s.value.length),
1454
+ currentBreakpoint: H
1446
1455
  });
1447
- const se = K.currentSwipeIndex, ve = K.swipeOffset, ye = K.isDragging, le = K.swipeContainer, ze = K.handleTouchStart, Be = K.handleTouchMove, Ne = K.handleTouchEnd, Fe = K.handleMouseDown, Te = K.handleMouseMove, Ee = K.handleMouseUp, Ie = K.snapToCurrentItem;
1448
- function mt(c) {
1449
- t.value && t.value.scrollTo({
1456
+ const se = Q.currentSwipeIndex, ve = Q.swipeOffset, ye = Q.isDragging, le = Q.swipeContainer, Ae = Q.handleTouchStart, We = Q.handleTouchMove, Re = Q.handleTouchEnd, Oe = Q.handleMouseDown, Ee = Q.handleMouseMove, ke = Q.handleMouseUp, Pe = Q.snapToCurrentItem;
1457
+ function pt(c) {
1458
+ a.value && a.value.scrollTo({
1450
1459
  top: 0,
1451
1460
  behavior: (c == null ? void 0 : c.behavior) ?? "smooth",
1452
1461
  ...c
1453
1462
  });
1454
1463
  }
1455
- function ht(c) {
1456
- t.value && (t.value.scrollTo({
1457
- top: c.top ?? t.value.scrollTop,
1458
- left: c.left ?? t.value.scrollLeft,
1464
+ function yt(c) {
1465
+ a.value && (a.value.scrollTo({
1466
+ top: c.top ?? a.value.scrollTop,
1467
+ left: c.left ?? a.value.scrollLeft,
1459
1468
  behavior: c.behavior ?? "auto"
1460
- }), t.value && (F.value = t.value.scrollTop, D.value = t.value.clientHeight || window.innerHeight));
1469
+ }), a.value && (A.value = a.value.scrollTop, N.value = a.value.clientHeight || window.innerHeight));
1461
1470
  }
1462
- function gt() {
1463
- $(), t.value && (F.value = t.value.scrollTop, D.value = t.value.clientHeight);
1471
+ function wt() {
1472
+ $(), a.value && (A.value = a.value.scrollTop, N.value = a.value.clientHeight);
1464
1473
  }
1465
- function pt() {
1466
- Me(), t.value && t.value.scrollTo({
1474
+ function xt() {
1475
+ Ie(), a.value && a.value.scrollTo({
1467
1476
  top: 0,
1468
1477
  behavior: "smooth"
1469
- }), s.value = [], w.value = 0, v.value = n.loadAtPage, d.value = [n.loadAtPage], E.value = !1, f.value = null, G();
1478
+ }), s.value = [], w.value = 0, v.value = t.loadAtPage, d.value = [t.loadAtPage], I.value = !1, f.value = null, J(), we = !1;
1470
1479
  }
1471
- function yt() {
1472
- Me(), s.value = [], S.value = 0, v.value = null, d.value = [], E.value = !1, f.value = null, T.value = !1, se.value = 0, ve.value = 0, ye.value = !1, G(), W(), t.value && t.value.scrollTo({
1480
+ function bt() {
1481
+ Ie(), s.value = [], P.value = 0, v.value = null, d.value = [], I.value = !1, f.value = null, M.value = !1, se.value = 0, ve.value = 0, ye.value = !1, J(), W(), a.value && a.value.scrollTo({
1473
1482
  top: 0,
1474
1483
  behavior: "auto"
1475
1484
  // Instant scroll for destroy
1476
1485
  });
1477
1486
  }
1478
- const oe = Xe(async () => {
1487
+ const oe = Qe(async () => {
1479
1488
  x.value || await Y();
1480
- }, 200), Ae = Xe(gt, 200);
1481
- function We() {
1482
- K.handleWindowResize();
1489
+ }, 200), Ce = Qe(wt, 200);
1490
+ function je() {
1491
+ Q.handleWindowResize();
1483
1492
  }
1484
- function Re(c, H, N) {
1485
- v.value = H, d.value = [H], d.value.push(N), E.value = N == null, k(c, "init"), x.value ? (s.value = [...s.value, ...c], se.value === 0 && s.value.length > 0 && (ve.value = 0)) : (u([...s.value, ...c]), t.value && (F.value = t.value.scrollTop, D.value = t.value.clientHeight || window.innerHeight), q(() => {
1486
- t.value && (F.value = t.value.scrollTop, D.value = t.value.clientHeight || window.innerHeight, B());
1493
+ function Ve(c, S, z) {
1494
+ v.value = S, d.value = [S], d.value.push(z), I.value = z == null, k(c, "init"), x.value ? (s.value = [...s.value, ...c], se.value === 0 && s.value.length > 0 && (ve.value = 0)) : (u([...s.value, ...c]), a.value && (A.value = a.value.scrollTop, N.value = a.value.clientHeight || window.innerHeight), q(() => {
1495
+ a.value && (A.value = a.value.scrollTop, N.value = a.value.clientHeight || window.innerHeight, D());
1487
1496
  }));
1488
1497
  }
1489
- async function Oe(c, H, N) {
1490
- if (!n.skipInitialLoad) {
1491
- Re(c, H, N);
1498
+ async function Le(c, S, z) {
1499
+ if (!t.skipInitialLoad) {
1500
+ Ve(c, S, z);
1492
1501
  return;
1493
1502
  }
1494
- v.value = H, d.value = [H], N != null && d.value.push(N), E.value = N == null, f.value = null, k(c, "restoreItems"), x.value ? (s.value = c, se.value === 0 && s.value.length > 0 && (ve.value = 0)) : (u(c), t.value && (F.value = t.value.scrollTop, D.value = t.value.clientHeight || window.innerHeight), await q(), t.value && (F.value = t.value.scrollTop, D.value = t.value.clientHeight || window.innerHeight, B()));
1503
+ if (v.value = S, d.value = [S], z != null && d.value.push(z), I.value = z === null, f.value = null, k(c, "restoreItems"), x.value)
1504
+ s.value = c, se.value === 0 && s.value.length > 0 && (ve.value = 0);
1505
+ else if (u(c), a.value && (A.value = a.value.scrollTop, N.value = a.value.clientHeight || window.innerHeight), await q(), a.value) {
1506
+ A.value = a.value.scrollTop, N.value = a.value.clientHeight || window.innerHeight, D(), await q();
1507
+ const _ = be(s.value, m.value), F = _.length ? Math.max(..._) : 0, qe = a.value.scrollTop + a.value.clientHeight, Se = typeof t.loadThresholdPx == "number" ? t.loadThresholdPx : 200, Mt = Se >= 0 ? Math.max(0, F - Se) : Math.max(0, F + Se);
1508
+ qe >= Mt && !I.value && !M.value && d.value.length > 0 && d.value[d.value.length - 1] != null && await Fe(_, !0);
1509
+ }
1495
1510
  }
1496
- return te(
1497
- h,
1511
+ te(
1512
+ g,
1498
1513
  () => {
1499
- x.value || t.value && (g.value = ue(h.value, i.value), u(s.value));
1514
+ x.value || a.value && (m.value = ue(g.value, i.value), u(s.value));
1500
1515
  },
1501
1516
  { deep: !0 }
1502
- ), te(() => n.layoutMode, () => {
1503
- b.value && b.value.width !== void 0 ? i.value = b.value.width : m.value && (i.value = m.value.clientWidth);
1504
- }), te(t, (c) => {
1517
+ ), te(() => t.layoutMode, () => {
1518
+ b.value && b.value.width !== void 0 ? i.value = b.value.width : h.value && (i.value = h.value.clientWidth);
1519
+ }), te(a, (c) => {
1505
1520
  c && !x.value ? (c.removeEventListener("scroll", oe), c.addEventListener("scroll", oe, { passive: !0 })) : c && c.removeEventListener("scroll", oe);
1506
- }, { immediate: !0 }), te(x, (c, H) => {
1507
- H === void 0 && c === !1 || q(() => {
1508
- c ? (document.addEventListener("mousemove", Te), document.addEventListener("mouseup", Ee), t.value && t.value.removeEventListener("scroll", oe), se.value = 0, ve.value = 0, s.value.length > 0 && Ie()) : (document.removeEventListener("mousemove", Te), document.removeEventListener("mouseup", Ee), t.value && m.value && (b.value && b.value.width !== void 0 ? i.value = b.value.width : i.value = m.value.clientWidth, t.value.removeEventListener("scroll", oe), t.value.addEventListener("scroll", oe, { passive: !0 }), s.value.length > 0 && (g.value = ue(h.value, i.value), u(s.value), F.value = t.value.scrollTop, D.value = t.value.clientHeight, B())));
1521
+ }, { immediate: !0 });
1522
+ let we = !1;
1523
+ return te(
1524
+ () => [t.items, t.skipInitialLoad, t.initialPage, t.initialNextPage],
1525
+ ([c, S, z, _]) => {
1526
+ if (S && c && c.length > 0 && !we) {
1527
+ we = !0;
1528
+ const F = z ?? t.loadAtPage;
1529
+ Le(c, F, _ !== void 0 ? _ : void 0);
1530
+ }
1531
+ },
1532
+ { immediate: !1 }
1533
+ ), te(x, (c, S) => {
1534
+ S === void 0 && c === !1 || q(() => {
1535
+ c ? (document.addEventListener("mousemove", Ee), document.addEventListener("mouseup", ke), a.value && a.value.removeEventListener("scroll", oe), se.value = 0, ve.value = 0, s.value.length > 0 && Pe()) : (document.removeEventListener("mousemove", Ee), document.removeEventListener("mouseup", ke), a.value && h.value && (b.value && b.value.width !== void 0 ? i.value = b.value.width : i.value = h.value.clientWidth, a.value.removeEventListener("scroll", oe), a.value.addEventListener("scroll", oe, { passive: !0 }), s.value.length > 0 && (m.value = ue(g.value, i.value), u(s.value), A.value = a.value.scrollTop, N.value = a.value.clientHeight, D())));
1509
1536
  });
1510
1537
  }, { immediate: !0 }), te(le, (c) => {
1511
- c && (c.addEventListener("touchstart", ze, { passive: !1 }), c.addEventListener("touchmove", Be, { passive: !1 }), c.addEventListener("touchend", Ne), c.addEventListener("mousedown", Fe));
1512
- }), te(() => s.value.length, (c, H) => {
1513
- x.value && c > 0 && H === 0 && (se.value = 0, q(() => Ie()));
1514
- }), te(m, (c) => {
1515
- a && (a.disconnect(), a = null), c && typeof ResizeObserver < "u" ? (a = new ResizeObserver((H) => {
1538
+ c && (c.addEventListener("touchstart", Ae, { passive: !1 }), c.addEventListener("touchmove", We, { passive: !1 }), c.addEventListener("touchend", Re), c.addEventListener("mousedown", Oe));
1539
+ }), te(() => s.value.length, (c, S) => {
1540
+ x.value && c > 0 && S === 0 && (se.value = 0, q(() => Pe()));
1541
+ }), te(h, (c) => {
1542
+ n && (n.disconnect(), n = null), c && typeof ResizeObserver < "u" ? (n = new ResizeObserver((S) => {
1516
1543
  if (!b.value)
1517
- for (const N of H) {
1518
- const ae = N.contentRect.width, A = N.contentRect.height;
1519
- i.value !== ae && (i.value = ae), w.value !== A && (w.value = A);
1544
+ for (const z of S) {
1545
+ const _ = z.contentRect.width, F = z.contentRect.height;
1546
+ i.value !== _ && (i.value = _), w.value !== F && (w.value = F);
1520
1547
  }
1521
- }), a.observe(c), b.value || (i.value = c.clientWidth, w.value = c.clientHeight)) : c && (b.value || (i.value = c.clientWidth, w.value = c.clientHeight));
1522
- }, { immediate: !0 }), te(i, (c, H) => {
1523
- c !== H && c > 0 && !x.value && t.value && s.value.length > 0 && q(() => {
1524
- g.value = ue(h.value, c), u(s.value), B();
1548
+ }), n.observe(c), b.value || (i.value = c.clientWidth, w.value = c.clientHeight)) : c && (b.value || (i.value = c.clientWidth, w.value = c.clientHeight));
1549
+ }, { immediate: !0 }), te(i, (c, S) => {
1550
+ c !== S && c > 0 && !x.value && a.value && s.value.length > 0 && q(() => {
1551
+ m.value = ue(g.value, c), u(s.value), D();
1525
1552
  });
1526
- }), Ke(async () => {
1553
+ }), tt(async () => {
1527
1554
  try {
1528
- await q(), m.value && !a && (i.value = m.value.clientWidth, w.value = m.value.clientHeight), x.value || (g.value = ue(h.value, i.value), t.value && (F.value = t.value.scrollTop, D.value = t.value.clientHeight));
1529
- const c = n.loadAtPage;
1530
- if (d.value = [c], !n.skipInitialLoad)
1531
- await be(d.value[0]);
1532
- else if (n.items && n.items.length > 0) {
1533
- const H = n.items[0], N = n.items[n.items.length - 1], ae = (H == null ? void 0 : H.page) ?? c ?? 1, A = (N == null ? void 0 : N.next) ?? null;
1534
- await Oe(n.items, ae, A);
1535
- } else
1536
- v.value = c, d.value = [c];
1537
- x.value ? q(() => Ie()) : B();
1555
+ await q(), h.value && !n && (i.value = h.value.clientWidth, w.value = h.value.clientHeight), x.value || (m.value = ue(g.value, i.value), a.value && (A.value = a.value.scrollTop, N.value = a.value.clientHeight));
1556
+ const c = t.loadAtPage;
1557
+ if (d.value = [c], !t.skipInitialLoad)
1558
+ await Te(d.value[0]);
1559
+ else if (t.items && t.items.length > 0) {
1560
+ const S = t.initialPage !== null && t.initialPage !== void 0 ? t.initialPage : t.loadAtPage, z = t.initialNextPage !== void 0 ? t.initialNextPage : void 0;
1561
+ await Le(t.items, S, z), we = !0;
1562
+ }
1563
+ x.value ? q(() => Pe()) : D();
1538
1564
  } catch (c) {
1539
- f.value || (console.error("Error during component initialization:", c), f.value = he(c)), T.value = !1;
1565
+ f.value || (console.error("Error during component initialization:", c), f.value = me(c)), M.value = !1;
1540
1566
  }
1541
- window.addEventListener("resize", Ae), window.addEventListener("resize", We);
1542
- }), Qe(() => {
1567
+ window.addEventListener("resize", Ce), window.addEventListener("resize", je);
1568
+ }), at(() => {
1543
1569
  var c;
1544
- a && (a.disconnect(), a = null), (c = t.value) == null || c.removeEventListener("scroll", oe), window.removeEventListener("resize", Ae), window.removeEventListener("resize", We), le.value && (le.value.removeEventListener("touchstart", ze), le.value.removeEventListener("touchmove", Be), le.value.removeEventListener("touchend", Ne), le.value.removeEventListener("mousedown", Fe)), document.removeEventListener("mousemove", Te), document.removeEventListener("mouseup", Ee);
1545
- }), (c, H) => (O(), R("div", {
1570
+ n && (n.disconnect(), n = null), (c = a.value) == null || c.removeEventListener("scroll", oe), window.removeEventListener("resize", Ce), window.removeEventListener("resize", je), le.value && (le.value.removeEventListener("touchstart", Ae), le.value.removeEventListener("touchmove", We), le.value.removeEventListener("touchend", Re), le.value.removeEventListener("mousedown", Oe)), document.removeEventListener("mousemove", Ee), document.removeEventListener("mouseup", ke);
1571
+ }), (c, S) => (O(), R("div", {
1546
1572
  ref_key: "wrapper",
1547
- ref: m,
1573
+ ref: h,
1548
1574
  class: "w-full h-full flex flex-col relative"
1549
1575
  }, [
1550
1576
  x.value ? (O(), R("div", {
1551
1577
  key: 0,
1552
- class: re(["overflow-hidden w-full flex-1 swipe-container touch-none select-none", { "force-motion": n.forceMotion, "cursor-grab": !U(ye), "cursor-grabbing": U(ye) }]),
1578
+ class: re(["overflow-hidden w-full flex-1 swipe-container touch-none select-none", { "force-motion": t.forceMotion, "cursor-grab": !U(ye), "cursor-grabbing": U(ye) }]),
1553
1579
  ref_key: "swipeContainer",
1554
1580
  ref: le,
1555
1581
  style: { height: "100%", "max-height": "100%", position: "relative" }
@@ -1562,38 +1588,38 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1562
1588
  height: `${s.value.length * 100}%`
1563
1589
  })
1564
1590
  }, [
1565
- (O(!0), R(je, null, Ve(s.value, (N, ae) => (O(), R("div", {
1566
- key: `${N.page}-${N.id}`,
1591
+ (O(!0), R(Ue, null, _e(s.value, (z, _) => (O(), R("div", {
1592
+ key: `${z.page}-${z.id}`,
1567
1593
  class: "absolute top-0 left-0 w-full",
1568
1594
  style: ge({
1569
- top: `${ae * (100 / s.value.length)}%`,
1595
+ top: `${_ * (100 / s.value.length)}%`,
1570
1596
  height: `${100 / s.value.length}%`
1571
1597
  })
1572
1598
  }, [
1573
- V("div", da, [
1574
- V("div", ma, [
1575
- _(c.$slots, "default", {
1576
- item: N,
1599
+ V("div", pa, [
1600
+ V("div", ya, [
1601
+ X(c.$slots, "default", {
1602
+ item: z,
1577
1603
  remove: U(ce),
1578
- index: N.originalIndex ?? s.value.indexOf(N)
1604
+ index: z.originalIndex ?? s.value.indexOf(z)
1579
1605
  }, () => [
1580
- ke(xe, {
1581
- item: N,
1606
+ He(Me, {
1607
+ item: z,
1582
1608
  remove: U(ce),
1583
- "header-height": h.value.header,
1584
- "footer-height": h.value.footer,
1609
+ "header-height": g.value.header,
1610
+ "footer-height": g.value.footer,
1585
1611
  "in-swipe-mode": !0,
1586
- "is-active": ae === U(se),
1587
- "onPreload:success": H[0] || (H[0] = (A) => M("item:preload:success", A)),
1588
- "onPreload:error": H[1] || (H[1] = (A) => M("item:preload:error", A)),
1589
- onMouseEnter: H[2] || (H[2] = (A) => M("item:mouse-enter", A)),
1590
- onMouseLeave: H[3] || (H[3] = (A) => M("item:mouse-leave", A))
1612
+ "is-active": _ === U(se),
1613
+ "onPreload:success": S[0] || (S[0] = (F) => T("item:preload:success", F)),
1614
+ "onPreload:error": S[1] || (S[1] = (F) => T("item:preload:error", F)),
1615
+ onMouseEnter: S[2] || (S[2] = (F) => T("item:mouse-enter", F)),
1616
+ onMouseLeave: S[3] || (S[3] = (F) => T("item:mouse-leave", F))
1591
1617
  }, {
1592
- header: fe((A) => [
1593
- _(c.$slots, "item-header", de({ ref_for: !0 }, A), void 0, !0)
1618
+ header: fe((F) => [
1619
+ X(c.$slots, "item-header", de({ ref_for: !0 }, F), void 0, !0)
1594
1620
  ]),
1595
- footer: fe((A) => [
1596
- _(c.$slots, "item-footer", de({ ref_for: !0 }, A), void 0, !0)
1621
+ footer: fe((F) => [
1622
+ X(c.$slots, "item-footer", de({ ref_for: !0 }, F), void 0, !0)
1597
1623
  ]),
1598
1624
  _: 2
1599
1625
  }, 1032, ["item", "remove", "header-height", "footer-height", "is-active"])
@@ -1602,62 +1628,62 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1602
1628
  ])
1603
1629
  ], 4))), 128))
1604
1630
  ], 4),
1605
- E.value && s.value.length > 0 ? (O(), R("div", ha, [
1606
- _(c.$slots, "end-message", {}, () => [
1607
- H[8] || (H[8] = V("p", { class: "text-gray-500 dark:text-gray-400" }, "You've reached the end", -1))
1631
+ I.value && s.value.length > 0 ? (O(), R("div", wa, [
1632
+ X(c.$slots, "end-message", {}, () => [
1633
+ S[8] || (S[8] = V("p", { class: "text-gray-500 dark:text-gray-400" }, "You've reached the end", -1))
1608
1634
  ], !0)
1609
- ])) : ee("", !0),
1610
- f.value && s.value.length > 0 ? (O(), R("div", ga, [
1611
- _(c.$slots, "error-message", { error: f.value }, () => [
1612
- V("p", pa, "Failed to load content: " + He(f.value.message), 1)
1635
+ ])) : ae("", !0),
1636
+ f.value && s.value.length > 0 ? (O(), R("div", xa, [
1637
+ X(c.$slots, "error-message", { error: f.value }, () => [
1638
+ V("p", ba, "Failed to load content: " + Be(f.value.message), 1)
1613
1639
  ], !0)
1614
- ])) : ee("", !0)
1640
+ ])) : ae("", !0)
1615
1641
  ], 2)) : (O(), R("div", {
1616
1642
  key: 1,
1617
- class: re(["overflow-auto w-full flex-1 masonry-container", { "force-motion": n.forceMotion }]),
1643
+ class: re(["overflow-auto w-full flex-1 masonry-container", { "force-motion": t.forceMotion }]),
1618
1644
  ref_key: "container",
1619
- ref: t
1645
+ ref: a
1620
1646
  }, [
1621
1647
  V("div", {
1622
1648
  class: "relative",
1623
- style: ge({ height: `${S.value}px`, "--masonry-duration": `${e.transitionDurationMs}ms`, "--masonry-leave-duration": `${e.leaveDurationMs}ms`, "--masonry-ease": e.transitionEasing })
1649
+ style: ge({ height: `${P.value}px`, "--masonry-duration": `${e.transitionDurationMs}ms`, "--masonry-leave-duration": `${e.leaveDurationMs}ms`, "--masonry-ease": e.transitionEasing })
1624
1650
  }, [
1625
- ke(wt, {
1651
+ He(Tt, {
1626
1652
  name: "masonry",
1627
1653
  css: !1,
1628
- onEnter: U(tt),
1629
- onBeforeEnter: U(at),
1630
- onLeave: U(lt),
1631
- onBeforeLeave: U(nt)
1654
+ onEnter: U(ot),
1655
+ onBeforeEnter: U(rt),
1656
+ onLeave: U(st),
1657
+ onBeforeLeave: U(it)
1632
1658
  }, {
1633
1659
  default: fe(() => [
1634
- (O(!0), R(je, null, Ve(U(X), (N, ae) => (O(), R("div", de({
1635
- key: `${N.page}-${N.id}`,
1660
+ (O(!0), R(Ue, null, _e(U(G), (z, _) => (O(), R("div", de({
1661
+ key: `${z.page}-${z.id}`,
1636
1662
  class: "absolute masonry-item",
1637
1663
  ref_for: !0
1638
- }, U(Gt)(N, ae)), [
1639
- _(c.$slots, "default", {
1640
- item: N,
1664
+ }, U(Zt)(z, _)), [
1665
+ X(c.$slots, "default", {
1666
+ item: z,
1641
1667
  remove: U(ce),
1642
- index: N.originalIndex ?? s.value.indexOf(N)
1668
+ index: z.originalIndex ?? s.value.indexOf(z)
1643
1669
  }, () => [
1644
- ke(xe, {
1645
- item: N,
1670
+ He(Me, {
1671
+ item: z,
1646
1672
  remove: U(ce),
1647
- "header-height": h.value.header,
1648
- "footer-height": h.value.footer,
1673
+ "header-height": g.value.header,
1674
+ "footer-height": g.value.footer,
1649
1675
  "in-swipe-mode": !1,
1650
1676
  "is-active": !1,
1651
- "onPreload:success": H[4] || (H[4] = (A) => M("item:preload:success", A)),
1652
- "onPreload:error": H[5] || (H[5] = (A) => M("item:preload:error", A)),
1653
- onMouseEnter: H[6] || (H[6] = (A) => M("item:mouse-enter", A)),
1654
- onMouseLeave: H[7] || (H[7] = (A) => M("item:mouse-leave", A))
1677
+ "onPreload:success": S[4] || (S[4] = (F) => T("item:preload:success", F)),
1678
+ "onPreload:error": S[5] || (S[5] = (F) => T("item:preload:error", F)),
1679
+ onMouseEnter: S[6] || (S[6] = (F) => T("item:mouse-enter", F)),
1680
+ onMouseLeave: S[7] || (S[7] = (F) => T("item:mouse-leave", F))
1655
1681
  }, {
1656
- header: fe((A) => [
1657
- _(c.$slots, "item-header", de({ ref_for: !0 }, A), void 0, !0)
1682
+ header: fe((F) => [
1683
+ X(c.$slots, "item-header", de({ ref_for: !0 }, F), void 0, !0)
1658
1684
  ]),
1659
- footer: fe((A) => [
1660
- _(c.$slots, "item-footer", de({ ref_for: !0 }, A), void 0, !0)
1685
+ footer: fe((F) => [
1686
+ X(c.$slots, "item-footer", de({ ref_for: !0 }, F), void 0, !0)
1661
1687
  ]),
1662
1688
  _: 2
1663
1689
  }, 1032, ["item", "remove", "header-height", "footer-height"])
@@ -1667,31 +1693,31 @@ const la = { class: "flex-1 relative min-h-0" }, oa = { class: "w-full h-full ro
1667
1693
  _: 3
1668
1694
  }, 8, ["onEnter", "onBeforeEnter", "onLeave", "onBeforeLeave"])
1669
1695
  ], 4),
1670
- E.value && s.value.length > 0 ? (O(), R("div", ya, [
1671
- _(c.$slots, "end-message", {}, () => [
1672
- H[9] || (H[9] = V("p", { class: "text-gray-500 dark:text-gray-400" }, "You've reached the end", -1))
1696
+ I.value && s.value.length > 0 ? (O(), R("div", Ma, [
1697
+ X(c.$slots, "end-message", {}, () => [
1698
+ S[9] || (S[9] = V("p", { class: "text-gray-500 dark:text-gray-400" }, "You've reached the end", -1))
1673
1699
  ], !0)
1674
- ])) : ee("", !0),
1675
- f.value && s.value.length > 0 ? (O(), R("div", wa, [
1676
- _(c.$slots, "error-message", { error: f.value }, () => [
1677
- V("p", xa, "Failed to load content: " + He(f.value.message), 1)
1700
+ ])) : ae("", !0),
1701
+ f.value && s.value.length > 0 ? (O(), R("div", Ta, [
1702
+ X(c.$slots, "error-message", { error: f.value }, () => [
1703
+ V("p", Ia, "Failed to load content: " + Be(f.value.message), 1)
1678
1704
  ], !0)
1679
- ])) : ee("", !0)
1705
+ ])) : ae("", !0)
1680
1706
  ], 2))
1681
1707
  ], 512));
1682
1708
  }
1683
- }), Ma = (e, l) => {
1709
+ }), ka = (e, l) => {
1684
1710
  const r = e.__vccOpts || e;
1685
- for (const [n, y] of l)
1686
- r[n] = y;
1711
+ for (const [t, y] of l)
1712
+ r[t] = y;
1687
1713
  return r;
1688
- }, Ge = /* @__PURE__ */ Ma(ba, [["__scopeId", "data-v-9de56a55"]]), Ea = {
1714
+ }, Ze = /* @__PURE__ */ ka(Ea, [["__scopeId", "data-v-2c2a4c76"]]), Ha = {
1689
1715
  install(e) {
1690
- e.component("WyxosMasonry", Ge), e.component("WMasonry", Ge), e.component("WyxosMasonryItem", xe), e.component("WMasonryItem", xe);
1716
+ e.component("WyxosMasonry", Ze), e.component("WMasonry", Ze), e.component("WyxosMasonryItem", Me), e.component("WMasonryItem", Me);
1691
1717
  }
1692
1718
  };
1693
1719
  export {
1694
- Ge as Masonry,
1695
- xe as MasonryItem,
1696
- Ea as default
1720
+ Ze as Masonry,
1721
+ Me as MasonryItem,
1722
+ Ha as default
1697
1723
  };