@ddict/bubble 1.3.1 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bubble.es.js CHANGED
@@ -1,5 +1,5 @@
1
- import { computed as R, ref as B, shallowRef as ct, watch as te, getCurrentScope as dt, onScopeDispose as ut, shallowReadonly as ee, unref as ge, createElementBlock as b, openBlock as p, createStaticVNode as Ae, createElementVNode as y, createVNode as Z, toDisplayString as ce, Fragment as ue, renderList as we, createCommentVNode as M, onUnmounted as $e, normalizeClass as A, createBlock as I, createTextVNode as ft, normalizeStyle as Xe, onMounted as qe, nextTick as _e } from "vue";
2
- const z = Math.min, $ = Math.max, pe = Math.round, Ce = Math.floor, U = (e) => ({
1
+ import { computed as _, ref as I, shallowRef as dt, watch as se, getCurrentScope as ut, onScopeDispose as ft, shallowReadonly as oe, unref as be, createElementBlock as C, openBlock as g, createStaticVNode as Be, createElementVNode as w, createVNode as N, toDisplayString as ue, Fragment as he, renderList as Le, createCommentVNode as R, normalizeClass as k, createTextVNode as fe, onUnmounted as Ie, createBlock as V, normalizeStyle as $e, onMounted as qe, nextTick as Ve } from "vue";
2
+ const X = Math.min, O = Math.max, we = Math.round, ve = Math.floor, Y = (e) => ({
3
3
  x: e,
4
4
  y: e
5
5
  }), mt = {
@@ -11,62 +11,62 @@ const z = Math.min, $ = Math.max, pe = Math.round, Ce = Math.floor, U = (e) => (
11
11
  start: "end",
12
12
  end: "start"
13
13
  };
14
- function De(e, t, n) {
15
- return $(e, z(t, n));
14
+ function Pe(e, t, n) {
15
+ return O(e, X(t, n));
16
16
  }
17
- function fe(e, t) {
17
+ function ge(e, t) {
18
18
  return typeof e == "function" ? e(t) : e;
19
19
  }
20
- function j(e) {
20
+ function G(e) {
21
21
  return e.split("-")[0];
22
22
  }
23
- function me(e) {
23
+ function pe(e) {
24
24
  return e.split("-")[1];
25
25
  }
26
- function Ye(e) {
26
+ function Je(e) {
27
27
  return e === "x" ? "y" : "x";
28
28
  }
29
- function Je(e) {
29
+ function Qe(e) {
30
30
  return e === "y" ? "height" : "width";
31
31
  }
32
- function X(e) {
33
- return ["top", "bottom"].includes(j(e)) ? "y" : "x";
32
+ function J(e) {
33
+ return ["top", "bottom"].includes(G(e)) ? "y" : "x";
34
34
  }
35
- function Qe(e) {
36
- return Ye(X(e));
35
+ function et(e) {
36
+ return Je(J(e));
37
37
  }
38
- function Ct(e, t, n) {
38
+ function gt(e, t, n) {
39
39
  n === void 0 && (n = !1);
40
- const i = me(e), o = Qe(e), s = Je(o);
41
- let l = o === "x" ? i === (n ? "end" : "start") ? "right" : "left" : i === "start" ? "bottom" : "top";
42
- return t.reference[s] > t.floating[s] && (l = ve(l)), [l, ve(l)];
40
+ const o = pe(e), i = et(e), l = Qe(i);
41
+ let s = i === "x" ? o === (n ? "end" : "start") ? "right" : "left" : o === "start" ? "bottom" : "top";
42
+ return t.reference[l] > t.floating[l] && (s = ye(s)), [s, ye(s)];
43
43
  }
44
- function gt(e) {
45
- const t = ve(e);
46
- return [Se(e), t, Se(t)];
44
+ function pt(e) {
45
+ const t = ye(e);
46
+ return [ke(e), t, ke(t)];
47
47
  }
48
- function Se(e) {
48
+ function ke(e) {
49
49
  return e.replace(/start|end/g, (t) => ht[t]);
50
50
  }
51
- function pt(e, t, n) {
52
- const i = ["left", "right"], o = ["right", "left"], s = ["top", "bottom"], l = ["bottom", "top"];
51
+ function Ct(e, t, n) {
52
+ const o = ["left", "right"], i = ["right", "left"], l = ["top", "bottom"], s = ["bottom", "top"];
53
53
  switch (e) {
54
54
  case "top":
55
55
  case "bottom":
56
- return n ? t ? o : i : t ? i : o;
56
+ return n ? t ? i : o : t ? o : i;
57
57
  case "left":
58
58
  case "right":
59
- return t ? s : l;
59
+ return t ? l : s;
60
60
  default:
61
61
  return [];
62
62
  }
63
63
  }
64
- function vt(e, t, n, i) {
65
- const o = me(e);
66
- let s = pt(j(e), n === "start", i);
67
- return o && (s = s.map((l) => l + "-" + o), t && (s = s.concat(s.map(Se)))), s;
64
+ function vt(e, t, n, o) {
65
+ const i = pe(e);
66
+ let l = Ct(G(e), n === "start", o);
67
+ return i && (l = l.map((s) => s + "-" + i), t && (l = l.concat(l.map(ke)))), l;
68
68
  }
69
- function ve(e) {
69
+ function ye(e) {
70
70
  return e.replace(/left|right|bottom|top/g, (t) => mt[t]);
71
71
  }
72
72
  function bt(e) {
@@ -86,251 +86,251 @@ function wt(e) {
86
86
  left: e
87
87
  };
88
88
  }
89
- function be(e) {
89
+ function xe(e) {
90
90
  const {
91
91
  x: t,
92
92
  y: n,
93
- width: i,
94
- height: o
93
+ width: o,
94
+ height: i
95
95
  } = e;
96
96
  return {
97
- width: i,
98
- height: o,
97
+ width: o,
98
+ height: i,
99
99
  top: n,
100
100
  left: t,
101
- right: t + i,
102
- bottom: n + o,
101
+ right: t + o,
102
+ bottom: n + i,
103
103
  x: t,
104
104
  y: n
105
105
  };
106
106
  }
107
- function Ve(e, t, n) {
107
+ function Ne(e, t, n) {
108
108
  let {
109
- reference: i,
110
- floating: o
109
+ reference: o,
110
+ floating: i
111
111
  } = e;
112
- const s = X(t), l = Qe(t), a = Je(l), r = j(t), c = s === "y", d = i.x + i.width / 2 - o.width / 2, u = i.y + i.height / 2 - o.height / 2, g = i[a] / 2 - o[a] / 2;
113
- let f;
112
+ const l = J(t), s = et(t), a = Qe(s), r = G(t), c = l === "y", d = o.x + o.width / 2 - i.width / 2, u = o.y + o.height / 2 - i.height / 2, h = o[a] / 2 - i[a] / 2;
113
+ let m;
114
114
  switch (r) {
115
115
  case "top":
116
- f = {
116
+ m = {
117
117
  x: d,
118
- y: i.y - o.height
118
+ y: o.y - i.height
119
119
  };
120
120
  break;
121
121
  case "bottom":
122
- f = {
122
+ m = {
123
123
  x: d,
124
- y: i.y + i.height
124
+ y: o.y + o.height
125
125
  };
126
126
  break;
127
127
  case "right":
128
- f = {
129
- x: i.x + i.width,
128
+ m = {
129
+ x: o.x + o.width,
130
130
  y: u
131
131
  };
132
132
  break;
133
133
  case "left":
134
- f = {
135
- x: i.x - o.width,
134
+ m = {
135
+ x: o.x - i.width,
136
136
  y: u
137
137
  };
138
138
  break;
139
139
  default:
140
- f = {
141
- x: i.x,
142
- y: i.y
140
+ m = {
141
+ x: o.x,
142
+ y: o.y
143
143
  };
144
144
  }
145
- switch (me(t)) {
145
+ switch (pe(t)) {
146
146
  case "start":
147
- f[l] -= g * (n && c ? -1 : 1);
147
+ m[s] -= h * (n && c ? -1 : 1);
148
148
  break;
149
149
  case "end":
150
- f[l] += g * (n && c ? -1 : 1);
150
+ m[s] += h * (n && c ? -1 : 1);
151
151
  break;
152
152
  }
153
- return f;
153
+ return m;
154
154
  }
155
- const xt = async (e, t, n) => {
155
+ const yt = async (e, t, n) => {
156
156
  const {
157
- placement: i = "bottom",
158
- strategy: o = "absolute",
159
- middleware: s = [],
160
- platform: l
161
- } = n, a = s.filter(Boolean), r = await (l.isRTL == null ? void 0 : l.isRTL(t));
162
- let c = await l.getElementRects({
157
+ placement: o = "bottom",
158
+ strategy: i = "absolute",
159
+ middleware: l = [],
160
+ platform: s
161
+ } = n, a = l.filter(Boolean), r = await (s.isRTL == null ? void 0 : s.isRTL(t));
162
+ let c = await s.getElementRects({
163
163
  reference: e,
164
164
  floating: t,
165
- strategy: o
165
+ strategy: i
166
166
  }), {
167
167
  x: d,
168
168
  y: u
169
- } = Ve(c, i, r), g = i, f = {}, h = 0;
169
+ } = Ne(c, o, r), h = o, m = {}, f = 0;
170
170
  for (let v = 0; v < a.length; v++) {
171
171
  const {
172
- name: w,
173
- fn: x
172
+ name: x,
173
+ fn: y
174
174
  } = a[v], {
175
- x: m,
176
- y: C,
177
- data: L,
178
- reset: T
179
- } = await x({
175
+ x: L,
176
+ y: S,
177
+ data: E,
178
+ reset: A
179
+ } = await y({
180
180
  x: d,
181
181
  y: u,
182
- initialPlacement: i,
183
- placement: g,
184
- strategy: o,
185
- middlewareData: f,
182
+ initialPlacement: o,
183
+ placement: h,
184
+ strategy: i,
185
+ middlewareData: m,
186
186
  rects: c,
187
- platform: l,
187
+ platform: s,
188
188
  elements: {
189
189
  reference: e,
190
190
  floating: t
191
191
  }
192
192
  });
193
- d = m ?? d, u = C ?? u, f = {
194
- ...f,
195
- [w]: {
196
- ...f[w],
197
- ...L
193
+ d = L ?? d, u = S ?? u, m = {
194
+ ...m,
195
+ [x]: {
196
+ ...m[x],
197
+ ...E
198
198
  }
199
- }, T && h <= 50 && (h++, typeof T == "object" && (T.placement && (g = T.placement), T.rects && (c = T.rects === !0 ? await l.getElementRects({
199
+ }, A && f <= 50 && (f++, typeof A == "object" && (A.placement && (h = A.placement), A.rects && (c = A.rects === !0 ? await s.getElementRects({
200
200
  reference: e,
201
201
  floating: t,
202
- strategy: o
203
- }) : T.rects), {
202
+ strategy: i
203
+ }) : A.rects), {
204
204
  x: d,
205
205
  y: u
206
- } = Ve(c, g, r)), v = -1);
206
+ } = Ne(c, h, r)), v = -1);
207
207
  }
208
208
  return {
209
209
  x: d,
210
210
  y: u,
211
- placement: g,
212
- strategy: o,
213
- middlewareData: f
211
+ placement: h,
212
+ strategy: i,
213
+ middlewareData: m
214
214
  };
215
215
  };
216
- async function Ee(e, t) {
216
+ async function Me(e, t) {
217
217
  var n;
218
218
  t === void 0 && (t = {});
219
219
  const {
220
- x: i,
221
- y: o,
222
- platform: s,
223
- rects: l,
220
+ x: o,
221
+ y: i,
222
+ platform: l,
223
+ rects: s,
224
224
  elements: a,
225
225
  strategy: r
226
226
  } = e, {
227
227
  boundary: c = "clippingAncestors",
228
228
  rootBoundary: d = "viewport",
229
229
  elementContext: u = "floating",
230
- altBoundary: g = !1,
231
- padding: f = 0
232
- } = fe(t, e), h = wt(f), w = a[g ? u === "floating" ? "reference" : "floating" : u], x = be(await s.getClippingRect({
233
- element: (n = await (s.isElement == null ? void 0 : s.isElement(w))) == null || n ? w : w.contextElement || await (s.getDocumentElement == null ? void 0 : s.getDocumentElement(a.floating)),
230
+ altBoundary: h = !1,
231
+ padding: m = 0
232
+ } = ge(t, e), f = wt(m), x = a[h ? u === "floating" ? "reference" : "floating" : u], y = xe(await l.getClippingRect({
233
+ element: (n = await (l.isElement == null ? void 0 : l.isElement(x))) == null || n ? x : x.contextElement || await (l.getDocumentElement == null ? void 0 : l.getDocumentElement(a.floating)),
234
234
  boundary: c,
235
235
  rootBoundary: d,
236
236
  strategy: r
237
- })), m = u === "floating" ? {
238
- x: i,
239
- y: o,
240
- width: l.floating.width,
241
- height: l.floating.height
242
- } : l.reference, C = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(a.floating)), L = await (s.isElement == null ? void 0 : s.isElement(C)) ? await (s.getScale == null ? void 0 : s.getScale(C)) || {
237
+ })), L = u === "floating" ? {
238
+ x: o,
239
+ y: i,
240
+ width: s.floating.width,
241
+ height: s.floating.height
242
+ } : s.reference, S = await (l.getOffsetParent == null ? void 0 : l.getOffsetParent(a.floating)), E = await (l.isElement == null ? void 0 : l.isElement(S)) ? await (l.getScale == null ? void 0 : l.getScale(S)) || {
243
243
  x: 1,
244
244
  y: 1
245
245
  } : {
246
246
  x: 1,
247
247
  y: 1
248
- }, T = be(s.convertOffsetParentRelativeRectToViewportRelativeRect ? await s.convertOffsetParentRelativeRectToViewportRelativeRect({
248
+ }, A = xe(l.convertOffsetParentRelativeRectToViewportRelativeRect ? await l.convertOffsetParentRelativeRectToViewportRelativeRect({
249
249
  elements: a,
250
- rect: m,
251
- offsetParent: C,
250
+ rect: L,
251
+ offsetParent: S,
252
252
  strategy: r
253
- }) : m);
253
+ }) : L);
254
254
  return {
255
- top: (x.top - T.top + h.top) / L.y,
256
- bottom: (T.bottom - x.bottom + h.bottom) / L.y,
257
- left: (x.left - T.left + h.left) / L.x,
258
- right: (T.right - x.right + h.right) / L.x
255
+ top: (y.top - A.top + f.top) / E.y,
256
+ bottom: (A.bottom - y.bottom + f.bottom) / E.y,
257
+ left: (y.left - A.left + f.left) / E.x,
258
+ right: (A.right - y.right + f.right) / E.x
259
259
  };
260
260
  }
261
- const yt = function(e) {
261
+ const xt = function(e) {
262
262
  return e === void 0 && (e = {}), {
263
263
  name: "flip",
264
264
  options: e,
265
265
  async fn(t) {
266
- var n, i;
266
+ var n, o;
267
267
  const {
268
- placement: o,
269
- middlewareData: s,
270
- rects: l,
268
+ placement: i,
269
+ middlewareData: l,
270
+ rects: s,
271
271
  initialPlacement: a,
272
272
  platform: r,
273
273
  elements: c
274
274
  } = t, {
275
275
  mainAxis: d = !0,
276
276
  crossAxis: u = !0,
277
- fallbackPlacements: g,
278
- fallbackStrategy: f = "bestFit",
279
- fallbackAxisSideDirection: h = "none",
277
+ fallbackPlacements: h,
278
+ fallbackStrategy: m = "bestFit",
279
+ fallbackAxisSideDirection: f = "none",
280
280
  flipAlignment: v = !0,
281
- ...w
282
- } = fe(e, t);
283
- if ((n = s.arrow) != null && n.alignmentOffset)
281
+ ...x
282
+ } = ge(e, t);
283
+ if ((n = l.arrow) != null && n.alignmentOffset)
284
284
  return {};
285
- const x = j(o), m = X(a), C = j(a) === a, L = await (r.isRTL == null ? void 0 : r.isRTL(c.floating)), T = g || (C || !v ? [ve(a)] : gt(a)), k = h !== "none";
286
- !g && k && T.push(...vt(a, v, h, L));
287
- const S = [a, ...T], V = await Ee(t, w), O = [];
288
- let P = ((i = s.flip) == null ? void 0 : i.overflows) || [];
289
- if (d && O.push(V[x]), u) {
290
- const G = Ct(o, l, L);
291
- O.push(V[G[0]], V[G[1]]);
285
+ const y = G(i), L = J(a), S = G(a) === a, E = await (r.isRTL == null ? void 0 : r.isRTL(c.floating)), A = h || (S || !v ? [ye(a)] : pt(a)), B = f !== "none";
286
+ !h && B && A.push(...vt(a, v, f, E));
287
+ const T = [a, ...A], F = await Me(t, x), M = [];
288
+ let W = ((o = l.flip) == null ? void 0 : o.overflows) || [];
289
+ if (d && M.push(F[y]), u) {
290
+ const P = gt(i, s, E);
291
+ M.push(F[P[0]], F[P[1]]);
292
292
  }
293
- if (P = [...P, {
294
- placement: o,
295
- overflows: O
296
- }], !O.every((G) => G <= 0)) {
297
- var oe, Me;
298
- const G = (((oe = s.flip) == null ? void 0 : oe.index) || 0) + 1, Oe = S[G];
299
- if (Oe)
293
+ if (W = [...W, {
294
+ placement: i,
295
+ overflows: M
296
+ }], !M.every((P) => P <= 0)) {
297
+ var b, p;
298
+ const P = (((b = l.flip) == null ? void 0 : b.index) || 0) + 1, _e = T[P];
299
+ if (_e)
300
300
  return {
301
301
  data: {
302
- index: G,
303
- overflows: P
302
+ index: P,
303
+ overflows: W
304
304
  },
305
305
  reset: {
306
- placement: Oe
306
+ placement: _e
307
307
  }
308
308
  };
309
- let se = (Me = P.filter((Q) => Q.overflows[0] <= 0).sort((Q, H) => Q.overflows[1] - H.overflows[1])[0]) == null ? void 0 : Me.placement;
310
- if (!se)
311
- switch (f) {
309
+ let ae = (p = W.filter((ne) => ne.overflows[0] <= 0).sort((ne, j) => ne.overflows[1] - j.overflows[1])[0]) == null ? void 0 : p.placement;
310
+ if (!ae)
311
+ switch (m) {
312
312
  case "bestFit": {
313
- var Fe;
314
- const Q = (Fe = P.filter((H) => {
315
- if (k) {
316
- const W = X(H.placement);
317
- return W === m || // Create a bias to the `y` side axis due to horizontal
313
+ var $;
314
+ const ne = ($ = W.filter((j) => {
315
+ if (B) {
316
+ const K = J(j.placement);
317
+ return K === L || // Create a bias to the `y` side axis due to horizontal
318
318
  // reading directions favoring greater width.
319
- W === "y";
319
+ K === "y";
320
320
  }
321
321
  return !0;
322
- }).map((H) => [H.placement, H.overflows.filter((W) => W > 0).reduce((W, at) => W + at, 0)]).sort((H, W) => H[1] - W[1])[0]) == null ? void 0 : Fe[0];
323
- Q && (se = Q);
322
+ }).map((j) => [j.placement, j.overflows.filter((K) => K > 0).reduce((K, ct) => K + ct, 0)]).sort((j, K) => j[1] - K[1])[0]) == null ? void 0 : $[0];
323
+ ne && (ae = ne);
324
324
  break;
325
325
  }
326
326
  case "initialPlacement":
327
- se = a;
327
+ ae = a;
328
328
  break;
329
329
  }
330
- if (o !== se)
330
+ if (i !== ae)
331
331
  return {
332
332
  reset: {
333
- placement: se
333
+ placement: ae
334
334
  }
335
335
  };
336
336
  }
@@ -341,13 +341,13 @@ const yt = function(e) {
341
341
  async function Lt(e, t) {
342
342
  const {
343
343
  placement: n,
344
- platform: i,
345
- elements: o
346
- } = e, s = await (i.isRTL == null ? void 0 : i.isRTL(o.floating)), l = j(n), a = me(n), r = X(n) === "y", c = ["left", "top"].includes(l) ? -1 : 1, d = s && r ? -1 : 1, u = fe(t, e);
344
+ platform: o,
345
+ elements: i
346
+ } = e, l = await (o.isRTL == null ? void 0 : o.isRTL(i.floating)), s = G(n), a = pe(n), r = J(n) === "y", c = ["left", "top"].includes(s) ? -1 : 1, d = l && r ? -1 : 1, u = ge(t, e);
347
347
  let {
348
- mainAxis: g,
349
- crossAxis: f,
350
- alignmentAxis: h
348
+ mainAxis: h,
349
+ crossAxis: m,
350
+ alignmentAxis: f
351
351
  } = typeof u == "number" ? {
352
352
  mainAxis: u,
353
353
  crossAxis: 0,
@@ -358,84 +358,84 @@ async function Lt(e, t) {
358
358
  alignmentAxis: null,
359
359
  ...u
360
360
  };
361
- return a && typeof h == "number" && (f = a === "end" ? h * -1 : h), r ? {
362
- x: f * d,
363
- y: g * c
361
+ return a && typeof f == "number" && (m = a === "end" ? f * -1 : f), r ? {
362
+ x: m * d,
363
+ y: h * c
364
364
  } : {
365
- x: g * c,
366
- y: f * d
365
+ x: h * c,
366
+ y: m * d
367
367
  };
368
368
  }
369
- const Tt = function(e) {
369
+ const St = function(e) {
370
370
  return e === void 0 && (e = 0), {
371
371
  name: "offset",
372
372
  options: e,
373
373
  async fn(t) {
374
- var n, i;
374
+ var n, o;
375
375
  const {
376
- x: o,
377
- y: s,
378
- placement: l,
376
+ x: i,
377
+ y: l,
378
+ placement: s,
379
379
  middlewareData: a
380
380
  } = t, r = await Lt(t, e);
381
- return l === ((n = a.offset) == null ? void 0 : n.placement) && (i = a.arrow) != null && i.alignmentOffset ? {} : {
382
- x: o + r.x,
383
- y: s + r.y,
381
+ return s === ((n = a.offset) == null ? void 0 : n.placement) && (o = a.arrow) != null && o.alignmentOffset ? {} : {
382
+ x: i + r.x,
383
+ y: l + r.y,
384
384
  data: {
385
385
  ...r,
386
- placement: l
386
+ placement: s
387
387
  }
388
388
  };
389
389
  }
390
390
  };
391
- }, St = function(e) {
391
+ }, Tt = function(e) {
392
392
  return e === void 0 && (e = {}), {
393
393
  name: "shift",
394
394
  options: e,
395
395
  async fn(t) {
396
396
  const {
397
397
  x: n,
398
- y: i,
399
- placement: o
398
+ y: o,
399
+ placement: i
400
400
  } = t, {
401
- mainAxis: s = !0,
402
- crossAxis: l = !1,
401
+ mainAxis: l = !0,
402
+ crossAxis: s = !1,
403
403
  limiter: a = {
404
- fn: (w) => {
404
+ fn: (x) => {
405
405
  let {
406
- x,
407
- y: m
408
- } = w;
406
+ x: y,
407
+ y: L
408
+ } = x;
409
409
  return {
410
- x,
411
- y: m
410
+ x: y,
411
+ y: L
412
412
  };
413
413
  }
414
414
  },
415
415
  ...r
416
- } = fe(e, t), c = {
416
+ } = ge(e, t), c = {
417
417
  x: n,
418
- y: i
419
- }, d = await Ee(t, r), u = X(j(o)), g = Ye(u);
420
- let f = c[g], h = c[u];
421
- if (s) {
422
- const w = g === "y" ? "top" : "left", x = g === "y" ? "bottom" : "right", m = f + d[w], C = f - d[x];
423
- f = De(m, f, C);
424
- }
418
+ y: o
419
+ }, d = await Me(t, r), u = J(G(i)), h = Je(u);
420
+ let m = c[h], f = c[u];
425
421
  if (l) {
426
- const w = u === "y" ? "top" : "left", x = u === "y" ? "bottom" : "right", m = h + d[w], C = h - d[x];
427
- h = De(m, h, C);
422
+ const x = h === "y" ? "top" : "left", y = h === "y" ? "bottom" : "right", L = m + d[x], S = m - d[y];
423
+ m = Pe(L, m, S);
424
+ }
425
+ if (s) {
426
+ const x = u === "y" ? "top" : "left", y = u === "y" ? "bottom" : "right", L = f + d[x], S = f - d[y];
427
+ f = Pe(L, f, S);
428
428
  }
429
429
  const v = a.fn({
430
430
  ...t,
431
- [g]: f,
432
- [u]: h
431
+ [h]: m,
432
+ [u]: f
433
433
  });
434
434
  return {
435
435
  ...v,
436
436
  data: {
437
437
  x: v.x - n,
438
- y: v.y - i
438
+ y: v.y - o
439
439
  }
440
440
  };
441
441
  }
@@ -447,32 +447,32 @@ const Tt = function(e) {
447
447
  async fn(t) {
448
448
  const {
449
449
  placement: n,
450
- rects: i,
451
- platform: o,
452
- elements: s
450
+ rects: o,
451
+ platform: i,
452
+ elements: l
453
453
  } = t, {
454
- apply: l = () => {
454
+ apply: s = () => {
455
455
  },
456
456
  ...a
457
- } = fe(e, t), r = await Ee(t, a), c = j(n), d = me(n), u = X(n) === "y", {
458
- width: g,
459
- height: f
460
- } = i.floating;
461
- let h, v;
462
- c === "top" || c === "bottom" ? (h = c, v = d === (await (o.isRTL == null ? void 0 : o.isRTL(s.floating)) ? "start" : "end") ? "left" : "right") : (v = c, h = d === "end" ? "top" : "bottom");
463
- const w = f - r.top - r.bottom, x = g - r.left - r.right, m = z(f - r[h], w), C = z(g - r[v], x), L = !t.middlewareData.shift;
464
- let T = m, k = C;
465
- if (u ? k = d || L ? z(C, x) : x : T = d || L ? z(m, w) : w, L && !d) {
466
- const V = $(r.left, 0), O = $(r.right, 0), P = $(r.top, 0), oe = $(r.bottom, 0);
467
- u ? k = g - 2 * (V !== 0 || O !== 0 ? V + O : $(r.left, r.right)) : T = f - 2 * (P !== 0 || oe !== 0 ? P + oe : $(r.top, r.bottom));
457
+ } = ge(e, t), r = await Me(t, a), c = G(n), d = pe(n), u = J(n) === "y", {
458
+ width: h,
459
+ height: m
460
+ } = o.floating;
461
+ let f, v;
462
+ c === "top" || c === "bottom" ? (f = c, v = d === (await (i.isRTL == null ? void 0 : i.isRTL(l.floating)) ? "start" : "end") ? "left" : "right") : (v = c, f = d === "end" ? "top" : "bottom");
463
+ const x = m - r.top - r.bottom, y = h - r.left - r.right, L = X(m - r[f], x), S = X(h - r[v], y), E = !t.middlewareData.shift;
464
+ let A = L, B = S;
465
+ if (u ? B = d || E ? X(S, y) : y : A = d || E ? X(L, x) : x, E && !d) {
466
+ const F = O(r.left, 0), M = O(r.right, 0), W = O(r.top, 0), b = O(r.bottom, 0);
467
+ u ? B = h - 2 * (F !== 0 || M !== 0 ? F + M : O(r.left, r.right)) : A = m - 2 * (W !== 0 || b !== 0 ? W + b : O(r.top, r.bottom));
468
468
  }
469
- await l({
469
+ await s({
470
470
  ...t,
471
- availableWidth: k,
472
- availableHeight: T
471
+ availableWidth: B,
472
+ availableHeight: A
473
473
  });
474
- const S = await o.getDimensions(s.floating);
475
- return g !== S.width || f !== S.height ? {
474
+ const T = await i.getDimensions(l.floating);
475
+ return h !== T.width || m !== T.height ? {
476
476
  reset: {
477
477
  rects: !0
478
478
  }
@@ -480,42 +480,42 @@ const Tt = function(e) {
480
480
  }
481
481
  };
482
482
  };
483
- function Y(e) {
484
- return ke(e) ? (e.nodeName || "").toLowerCase() : "#document";
483
+ function ee(e) {
484
+ return Re(e) ? (e.nodeName || "").toLowerCase() : "#document";
485
485
  }
486
- function E(e) {
486
+ function D(e) {
487
487
  var t;
488
488
  return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
489
489
  }
490
- function N(e) {
490
+ function Z(e) {
491
491
  var t;
492
- return (t = (ke(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement;
492
+ return (t = (Re(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement;
493
493
  }
494
- function ke(e) {
495
- return e instanceof Node || e instanceof E(e).Node;
494
+ function Re(e) {
495
+ return e instanceof Node || e instanceof D(e).Node;
496
496
  }
497
- function _(e) {
498
- return e instanceof Element || e instanceof E(e).Element;
497
+ function z(e) {
498
+ return e instanceof Element || e instanceof D(e).Element;
499
499
  }
500
- function D(e) {
501
- return e instanceof HTMLElement || e instanceof E(e).HTMLElement;
500
+ function U(e) {
501
+ return e instanceof HTMLElement || e instanceof D(e).HTMLElement;
502
502
  }
503
- function Ne(e) {
504
- return typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof E(e).ShadowRoot;
503
+ function He(e) {
504
+ return typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof D(e).ShadowRoot;
505
505
  }
506
- function he(e) {
506
+ function Ce(e) {
507
507
  const {
508
508
  overflow: t,
509
509
  overflowX: n,
510
- overflowY: i,
511
- display: o
512
- } = F(e);
513
- return /auto|scroll|overlay|hidden|clip/.test(t + i + n) && !["inline", "contents"].includes(o);
510
+ overflowY: o,
511
+ display: i
512
+ } = H(e);
513
+ return /auto|scroll|overlay|hidden|clip/.test(t + o + n) && !["inline", "contents"].includes(i);
514
514
  }
515
- function $t(e) {
516
- return ["table", "td", "th"].includes(Y(e));
515
+ function Et(e) {
516
+ return ["table", "td", "th"].includes(ee(e));
517
517
  }
518
- function xe(e) {
518
+ function Se(e) {
519
519
  return [":popover-open", ":modal"].some((t) => {
520
520
  try {
521
521
  return e.matches(t);
@@ -524,32 +524,32 @@ function xe(e) {
524
524
  }
525
525
  });
526
526
  }
527
- function Re(e) {
528
- const t = Ie(), n = F(e);
529
- return n.transform !== "none" || n.perspective !== "none" || (n.containerType ? n.containerType !== "normal" : !1) || !t && (n.backdropFilter ? n.backdropFilter !== "none" : !1) || !t && (n.filter ? n.filter !== "none" : !1) || ["transform", "perspective", "filter"].some((i) => (n.willChange || "").includes(i)) || ["paint", "layout", "strict", "content"].some((i) => (n.contain || "").includes(i));
527
+ function Fe(e) {
528
+ const t = Oe(), n = H(e);
529
+ return n.transform !== "none" || n.perspective !== "none" || (n.containerType ? n.containerType !== "normal" : !1) || !t && (n.backdropFilter ? n.backdropFilter !== "none" : !1) || !t && (n.filter ? n.filter !== "none" : !1) || ["transform", "perspective", "filter"].some((o) => (n.willChange || "").includes(o)) || ["paint", "layout", "strict", "content"].some((o) => (n.contain || "").includes(o));
530
530
  }
531
- function Et(e) {
532
- let t = K(e);
533
- for (; D(t) && !ie(t); ) {
534
- if (xe(t))
531
+ function $t(e) {
532
+ let t = q(e);
533
+ for (; U(t) && !re(t); ) {
534
+ if (Se(t))
535
535
  return null;
536
- if (Re(t))
536
+ if (Fe(t))
537
537
  return t;
538
- t = K(t);
538
+ t = q(t);
539
539
  }
540
540
  return null;
541
541
  }
542
- function Ie() {
542
+ function Oe() {
543
543
  return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
544
544
  }
545
- function ie(e) {
546
- return ["html", "body", "#document"].includes(Y(e));
545
+ function re(e) {
546
+ return ["html", "body", "#document"].includes(ee(e));
547
547
  }
548
- function F(e) {
549
- return E(e).getComputedStyle(e);
548
+ function H(e) {
549
+ return D(e).getComputedStyle(e);
550
550
  }
551
- function ye(e) {
552
- return _(e) ? {
551
+ function Te(e) {
552
+ return z(e) ? {
553
553
  scrollLeft: e.scrollLeft,
554
554
  scrollTop: e.scrollTop
555
555
  } : {
@@ -557,83 +557,83 @@ function ye(e) {
557
557
  scrollTop: e.scrollY
558
558
  };
559
559
  }
560
- function K(e) {
561
- if (Y(e) === "html")
560
+ function q(e) {
561
+ if (ee(e) === "html")
562
562
  return e;
563
563
  const t = (
564
564
  // Step into the shadow DOM of the parent of a slotted node.
565
565
  e.assignedSlot || // DOM Element detected.
566
566
  e.parentNode || // ShadowRoot detected.
567
- Ne(e) && e.host || // Fallback.
568
- N(e)
567
+ He(e) && e.host || // Fallback.
568
+ Z(e)
569
569
  );
570
- return Ne(t) ? t.host : t;
570
+ return He(t) ? t.host : t;
571
571
  }
572
- function et(e) {
573
- const t = K(e);
574
- return ie(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : D(t) && he(t) ? t : et(t);
572
+ function tt(e) {
573
+ const t = q(e);
574
+ return re(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : U(t) && Ce(t) ? t : tt(t);
575
575
  }
576
- function de(e, t, n) {
577
- var i;
576
+ function me(e, t, n) {
577
+ var o;
578
578
  t === void 0 && (t = []), n === void 0 && (n = !0);
579
- const o = et(e), s = o === ((i = e.ownerDocument) == null ? void 0 : i.body), l = E(o);
580
- return s ? t.concat(l, l.visualViewport || [], he(o) ? o : [], l.frameElement && n ? de(l.frameElement) : []) : t.concat(o, de(o, [], n));
579
+ const i = tt(e), l = i === ((o = e.ownerDocument) == null ? void 0 : o.body), s = D(i);
580
+ return l ? t.concat(s, s.visualViewport || [], Ce(i) ? i : [], s.frameElement && n ? me(s.frameElement) : []) : t.concat(i, me(i, [], n));
581
581
  }
582
- function tt(e) {
583
- const t = F(e);
584
- let n = parseFloat(t.width) || 0, i = parseFloat(t.height) || 0;
585
- const o = D(e), s = o ? e.offsetWidth : n, l = o ? e.offsetHeight : i, a = pe(n) !== s || pe(i) !== l;
586
- return a && (n = s, i = l), {
582
+ function nt(e) {
583
+ const t = H(e);
584
+ let n = parseFloat(t.width) || 0, o = parseFloat(t.height) || 0;
585
+ const i = U(e), l = i ? e.offsetWidth : n, s = i ? e.offsetHeight : o, a = we(n) !== l || we(o) !== s;
586
+ return a && (n = l, o = s), {
587
587
  width: n,
588
- height: i,
588
+ height: o,
589
589
  $: a
590
590
  };
591
591
  }
592
- function Be(e) {
593
- return _(e) ? e : e.contextElement;
592
+ function De(e) {
593
+ return z(e) ? e : e.contextElement;
594
594
  }
595
- function ne(e) {
596
- const t = Be(e);
597
- if (!D(t))
598
- return U(1);
595
+ function le(e) {
596
+ const t = De(e);
597
+ if (!U(t))
598
+ return Y(1);
599
599
  const n = t.getBoundingClientRect(), {
600
- width: i,
601
- height: o,
602
- $: s
603
- } = tt(t);
604
- let l = (s ? pe(n.width) : n.width) / i, a = (s ? pe(n.height) : n.height) / o;
605
- return (!l || !Number.isFinite(l)) && (l = 1), (!a || !Number.isFinite(a)) && (a = 1), {
606
- x: l,
600
+ width: o,
601
+ height: i,
602
+ $: l
603
+ } = nt(t);
604
+ let s = (l ? we(n.width) : n.width) / o, a = (l ? we(n.height) : n.height) / i;
605
+ return (!s || !Number.isFinite(s)) && (s = 1), (!a || !Number.isFinite(a)) && (a = 1), {
606
+ x: s,
607
607
  y: a
608
608
  };
609
609
  }
610
- const kt = /* @__PURE__ */ U(0);
611
- function nt(e) {
612
- const t = E(e);
613
- return !Ie() || !t.visualViewport ? kt : {
610
+ const kt = /* @__PURE__ */ Y(0);
611
+ function ot(e) {
612
+ const t = D(e);
613
+ return !Oe() || !t.visualViewport ? kt : {
614
614
  x: t.visualViewport.offsetLeft,
615
615
  y: t.visualViewport.offsetTop
616
616
  };
617
617
  }
618
- function Rt(e, t, n) {
619
- return t === void 0 && (t = !1), !n || t && n !== E(e) ? !1 : t;
618
+ function Bt(e, t, n) {
619
+ return t === void 0 && (t = !1), !n || t && n !== D(e) ? !1 : t;
620
620
  }
621
- function q(e, t, n, i) {
621
+ function Q(e, t, n, o) {
622
622
  t === void 0 && (t = !1), n === void 0 && (n = !1);
623
- const o = e.getBoundingClientRect(), s = Be(e);
624
- let l = U(1);
625
- t && (i ? _(i) && (l = ne(i)) : l = ne(e));
626
- const a = Rt(s, n, i) ? nt(s) : U(0);
627
- let r = (o.left + a.x) / l.x, c = (o.top + a.y) / l.y, d = o.width / l.x, u = o.height / l.y;
628
- if (s) {
629
- const g = E(s), f = i && _(i) ? E(i) : i;
630
- let h = g, v = h.frameElement;
631
- for (; v && i && f !== h; ) {
632
- const w = ne(v), x = v.getBoundingClientRect(), m = F(v), C = x.left + (v.clientLeft + parseFloat(m.paddingLeft)) * w.x, L = x.top + (v.clientTop + parseFloat(m.paddingTop)) * w.y;
633
- r *= w.x, c *= w.y, d *= w.x, u *= w.y, r += C, c += L, h = E(v), v = h.frameElement;
623
+ const i = e.getBoundingClientRect(), l = De(e);
624
+ let s = Y(1);
625
+ t && (o ? z(o) && (s = le(o)) : s = le(e));
626
+ const a = Bt(l, n, o) ? ot(l) : Y(0);
627
+ let r = (i.left + a.x) / s.x, c = (i.top + a.y) / s.y, d = i.width / s.x, u = i.height / s.y;
628
+ if (l) {
629
+ const h = D(l), m = o && z(o) ? D(o) : o;
630
+ let f = h, v = f.frameElement;
631
+ for (; v && o && m !== f; ) {
632
+ const x = le(v), y = v.getBoundingClientRect(), L = H(v), S = y.left + (v.clientLeft + parseFloat(L.paddingLeft)) * x.x, E = y.top + (v.clientTop + parseFloat(L.paddingTop)) * x.y;
633
+ r *= x.x, c *= x.y, d *= x.x, u *= x.y, r += S, c += E, f = D(v), v = f.frameElement;
634
634
  }
635
635
  }
636
- return be({
636
+ return xe({
637
637
  width: d,
638
638
  height: u,
639
639
  x: r,
@@ -644,20 +644,20 @@ function It(e) {
644
644
  let {
645
645
  elements: t,
646
646
  rect: n,
647
- offsetParent: i,
648
- strategy: o
647
+ offsetParent: o,
648
+ strategy: i
649
649
  } = e;
650
- const s = o === "fixed", l = N(i), a = t ? xe(t.floating) : !1;
651
- if (i === l || a && s)
650
+ const l = i === "fixed", s = Z(o), a = t ? Se(t.floating) : !1;
651
+ if (o === s || a && l)
652
652
  return n;
653
653
  let r = {
654
654
  scrollLeft: 0,
655
655
  scrollTop: 0
656
- }, c = U(1);
657
- const d = U(0), u = D(i);
658
- if ((u || !u && !s) && ((Y(i) !== "body" || he(l)) && (r = ye(i)), D(i))) {
659
- const g = q(i);
660
- c = ne(i), d.x = g.x + i.clientLeft, d.y = g.y + i.clientTop;
656
+ }, c = Y(1);
657
+ const d = Y(0), u = U(o);
658
+ if ((u || !u && !l) && ((ee(o) !== "body" || Ce(s)) && (r = Te(o)), U(o))) {
659
+ const h = Q(o);
660
+ c = le(o), d.x = h.x + o.clientLeft, d.y = h.y + o.clientTop;
661
661
  }
662
662
  return {
663
663
  width: n.width * c.x,
@@ -666,93 +666,93 @@ function It(e) {
666
666
  y: n.y * c.y - r.scrollTop * c.y + d.y
667
667
  };
668
668
  }
669
- function Bt(e) {
669
+ function Mt(e) {
670
670
  return Array.from(e.getClientRects());
671
671
  }
672
672
  function it(e) {
673
- return q(N(e)).left + ye(e).scrollLeft;
673
+ return Q(Z(e)).left + Te(e).scrollLeft;
674
674
  }
675
- function Mt(e) {
676
- const t = N(e), n = ye(e), i = e.ownerDocument.body, o = $(t.scrollWidth, t.clientWidth, i.scrollWidth, i.clientWidth), s = $(t.scrollHeight, t.clientHeight, i.scrollHeight, i.clientHeight);
677
- let l = -n.scrollLeft + it(e);
675
+ function Rt(e) {
676
+ const t = Z(e), n = Te(e), o = e.ownerDocument.body, i = O(t.scrollWidth, t.clientWidth, o.scrollWidth, o.clientWidth), l = O(t.scrollHeight, t.clientHeight, o.scrollHeight, o.clientHeight);
677
+ let s = -n.scrollLeft + it(e);
678
678
  const a = -n.scrollTop;
679
- return F(i).direction === "rtl" && (l += $(t.clientWidth, i.clientWidth) - o), {
680
- width: o,
681
- height: s,
682
- x: l,
679
+ return H(o).direction === "rtl" && (s += O(t.clientWidth, o.clientWidth) - i), {
680
+ width: i,
681
+ height: l,
682
+ x: s,
683
683
  y: a
684
684
  };
685
685
  }
686
686
  function Ft(e, t) {
687
- const n = E(e), i = N(e), o = n.visualViewport;
688
- let s = i.clientWidth, l = i.clientHeight, a = 0, r = 0;
689
- if (o) {
690
- s = o.width, l = o.height;
691
- const c = Ie();
692
- (!c || c && t === "fixed") && (a = o.offsetLeft, r = o.offsetTop);
687
+ const n = D(e), o = Z(e), i = n.visualViewport;
688
+ let l = o.clientWidth, s = o.clientHeight, a = 0, r = 0;
689
+ if (i) {
690
+ l = i.width, s = i.height;
691
+ const c = Oe();
692
+ (!c || c && t === "fixed") && (a = i.offsetLeft, r = i.offsetTop);
693
693
  }
694
694
  return {
695
- width: s,
696
- height: l,
695
+ width: l,
696
+ height: s,
697
697
  x: a,
698
698
  y: r
699
699
  };
700
700
  }
701
701
  function Ot(e, t) {
702
- const n = q(e, !0, t === "fixed"), i = n.top + e.clientTop, o = n.left + e.clientLeft, s = D(e) ? ne(e) : U(1), l = e.clientWidth * s.x, a = e.clientHeight * s.y, r = o * s.x, c = i * s.y;
702
+ const n = Q(e, !0, t === "fixed"), o = n.top + e.clientTop, i = n.left + e.clientLeft, l = U(e) ? le(e) : Y(1), s = e.clientWidth * l.x, a = e.clientHeight * l.y, r = i * l.x, c = o * l.y;
703
703
  return {
704
- width: l,
704
+ width: s,
705
705
  height: a,
706
706
  x: r,
707
707
  y: c
708
708
  };
709
709
  }
710
- function Pe(e, t, n) {
711
- let i;
710
+ function We(e, t, n) {
711
+ let o;
712
712
  if (t === "viewport")
713
- i = Ft(e, n);
713
+ o = Ft(e, n);
714
714
  else if (t === "document")
715
- i = Mt(N(e));
716
- else if (_(t))
717
- i = Ot(t, n);
715
+ o = Rt(Z(e));
716
+ else if (z(t))
717
+ o = Ot(t, n);
718
718
  else {
719
- const o = nt(e);
720
- i = {
719
+ const i = ot(e);
720
+ o = {
721
721
  ...t,
722
- x: t.x - o.x,
723
- y: t.y - o.y
722
+ x: t.x - i.x,
723
+ y: t.y - i.y
724
724
  };
725
725
  }
726
- return be(i);
726
+ return xe(o);
727
727
  }
728
- function ot(e, t) {
729
- const n = K(e);
730
- return n === t || !_(n) || ie(n) ? !1 : F(n).position === "fixed" || ot(n, t);
728
+ function st(e, t) {
729
+ const n = q(e);
730
+ return n === t || !z(n) || re(n) ? !1 : H(n).position === "fixed" || st(n, t);
731
731
  }
732
- function _t(e, t) {
732
+ function Dt(e, t) {
733
733
  const n = t.get(e);
734
734
  if (n)
735
735
  return n;
736
- let i = de(e, [], !1).filter((a) => _(a) && Y(a) !== "body"), o = null;
737
- const s = F(e).position === "fixed";
738
- let l = s ? K(e) : e;
739
- for (; _(l) && !ie(l); ) {
740
- const a = F(l), r = Re(l);
741
- !r && a.position === "fixed" && (o = null), (s ? !r && !o : !r && a.position === "static" && !!o && ["absolute", "fixed"].includes(o.position) || he(l) && !r && ot(e, l)) ? i = i.filter((d) => d !== l) : o = a, l = K(l);
736
+ let o = me(e, [], !1).filter((a) => z(a) && ee(a) !== "body"), i = null;
737
+ const l = H(e).position === "fixed";
738
+ let s = l ? q(e) : e;
739
+ for (; z(s) && !re(s); ) {
740
+ const a = H(s), r = Fe(s);
741
+ !r && a.position === "fixed" && (i = null), (l ? !r && !i : !r && a.position === "static" && !!i && ["absolute", "fixed"].includes(i.position) || Ce(s) && !r && st(e, s)) ? o = o.filter((d) => d !== s) : i = a, s = q(s);
742
742
  }
743
- return t.set(e, i), i;
743
+ return t.set(e, o), o;
744
744
  }
745
- function Dt(e) {
745
+ function _t(e) {
746
746
  let {
747
747
  element: t,
748
748
  boundary: n,
749
- rootBoundary: i,
750
- strategy: o
749
+ rootBoundary: o,
750
+ strategy: i
751
751
  } = e;
752
- const l = [...n === "clippingAncestors" ? xe(t) ? [] : _t(t, this._c) : [].concat(n), i], a = l[0], r = l.reduce((c, d) => {
753
- const u = Pe(t, d, o);
754
- return c.top = $(u.top, c.top), c.right = z(u.right, c.right), c.bottom = z(u.bottom, c.bottom), c.left = $(u.left, c.left), c;
755
- }, Pe(t, a, o));
752
+ const s = [...n === "clippingAncestors" ? Se(t) ? [] : Dt(t, this._c) : [].concat(n), o], a = s[0], r = s.reduce((c, d) => {
753
+ const u = We(t, d, i);
754
+ return c.top = O(u.top, c.top), c.right = X(u.right, c.right), c.bottom = X(u.bottom, c.bottom), c.left = O(u.left, c.left), c;
755
+ }, We(t, a, i));
756
756
  return {
757
757
  width: r.right - r.left,
758
758
  height: r.bottom - r.top,
@@ -764,280 +764,280 @@ function Vt(e) {
764
764
  const {
765
765
  width: t,
766
766
  height: n
767
- } = tt(e);
767
+ } = nt(e);
768
768
  return {
769
769
  width: t,
770
770
  height: n
771
771
  };
772
772
  }
773
- function Nt(e, t, n) {
774
- const i = D(t), o = N(t), s = n === "fixed", l = q(e, !0, s, t);
773
+ function Pt(e, t, n) {
774
+ const o = U(t), i = Z(t), l = n === "fixed", s = Q(e, !0, l, t);
775
775
  let a = {
776
776
  scrollLeft: 0,
777
777
  scrollTop: 0
778
778
  };
779
- const r = U(0);
780
- if (i || !i && !s)
781
- if ((Y(t) !== "body" || he(o)) && (a = ye(t)), i) {
782
- const u = q(t, !0, s, t);
779
+ const r = Y(0);
780
+ if (o || !o && !l)
781
+ if ((ee(t) !== "body" || Ce(i)) && (a = Te(t)), o) {
782
+ const u = Q(t, !0, l, t);
783
783
  r.x = u.x + t.clientLeft, r.y = u.y + t.clientTop;
784
- } else o && (r.x = it(o));
785
- const c = l.left + a.scrollLeft - r.x, d = l.top + a.scrollTop - r.y;
784
+ } else i && (r.x = it(i));
785
+ const c = s.left + a.scrollLeft - r.x, d = s.top + a.scrollTop - r.y;
786
786
  return {
787
787
  x: c,
788
788
  y: d,
789
- width: l.width,
790
- height: l.height
789
+ width: s.width,
790
+ height: s.height
791
791
  };
792
792
  }
793
- function Le(e) {
794
- return F(e).position === "static";
793
+ function Ae(e) {
794
+ return H(e).position === "static";
795
795
  }
796
- function He(e, t) {
797
- return !D(e) || F(e).position === "fixed" ? null : t ? t(e) : e.offsetParent;
796
+ function ze(e, t) {
797
+ return !U(e) || H(e).position === "fixed" ? null : t ? t(e) : e.offsetParent;
798
798
  }
799
- function st(e, t) {
800
- const n = E(e);
801
- if (xe(e))
799
+ function lt(e, t) {
800
+ const n = D(e);
801
+ if (Se(e))
802
802
  return n;
803
- if (!D(e)) {
804
- let o = K(e);
805
- for (; o && !ie(o); ) {
806
- if (_(o) && !Le(o))
807
- return o;
808
- o = K(o);
803
+ if (!U(e)) {
804
+ let i = q(e);
805
+ for (; i && !re(i); ) {
806
+ if (z(i) && !Ae(i))
807
+ return i;
808
+ i = q(i);
809
809
  }
810
810
  return n;
811
811
  }
812
- let i = He(e, t);
813
- for (; i && $t(i) && Le(i); )
814
- i = He(i, t);
815
- return i && ie(i) && Le(i) && !Re(i) ? n : i || Et(e) || n;
812
+ let o = ze(e, t);
813
+ for (; o && Et(o) && Ae(o); )
814
+ o = ze(o, t);
815
+ return o && re(o) && Ae(o) && !Fe(o) ? n : o || $t(e) || n;
816
816
  }
817
- const Pt = async function(e) {
818
- const t = this.getOffsetParent || st, n = this.getDimensions, i = await n(e.floating);
817
+ const Nt = async function(e) {
818
+ const t = this.getOffsetParent || lt, n = this.getDimensions, o = await n(e.floating);
819
819
  return {
820
- reference: Nt(e.reference, await t(e.floating), e.strategy),
820
+ reference: Pt(e.reference, await t(e.floating), e.strategy),
821
821
  floating: {
822
822
  x: 0,
823
823
  y: 0,
824
- width: i.width,
825
- height: i.height
824
+ width: o.width,
825
+ height: o.height
826
826
  }
827
827
  };
828
828
  };
829
829
  function Ht(e) {
830
- return F(e).direction === "rtl";
830
+ return H(e).direction === "rtl";
831
831
  }
832
832
  const Wt = {
833
833
  convertOffsetParentRelativeRectToViewportRelativeRect: It,
834
- getDocumentElement: N,
835
- getClippingRect: Dt,
836
- getOffsetParent: st,
837
- getElementRects: Pt,
838
- getClientRects: Bt,
834
+ getDocumentElement: Z,
835
+ getClippingRect: _t,
836
+ getOffsetParent: lt,
837
+ getElementRects: Nt,
838
+ getClientRects: Mt,
839
839
  getDimensions: Vt,
840
- getScale: ne,
841
- isElement: _,
840
+ getScale: le,
841
+ isElement: z,
842
842
  isRTL: Ht
843
843
  };
844
844
  function zt(e, t) {
845
- let n = null, i;
846
- const o = N(e);
847
- function s() {
845
+ let n = null, o;
846
+ const i = Z(e);
847
+ function l() {
848
848
  var a;
849
- clearTimeout(i), (a = n) == null || a.disconnect(), n = null;
849
+ clearTimeout(o), (a = n) == null || a.disconnect(), n = null;
850
850
  }
851
- function l(a, r) {
852
- a === void 0 && (a = !1), r === void 0 && (r = 1), s();
851
+ function s(a, r) {
852
+ a === void 0 && (a = !1), r === void 0 && (r = 1), l();
853
853
  const {
854
854
  left: c,
855
855
  top: d,
856
856
  width: u,
857
- height: g
857
+ height: h
858
858
  } = e.getBoundingClientRect();
859
- if (a || t(), !u || !g)
859
+ if (a || t(), !u || !h)
860
860
  return;
861
- const f = Ce(d), h = Ce(o.clientWidth - (c + u)), v = Ce(o.clientHeight - (d + g)), w = Ce(c), m = {
862
- rootMargin: -f + "px " + -h + "px " + -v + "px " + -w + "px",
863
- threshold: $(0, z(1, r)) || 1
861
+ const m = ve(d), f = ve(i.clientWidth - (c + u)), v = ve(i.clientHeight - (d + h)), x = ve(c), L = {
862
+ rootMargin: -m + "px " + -f + "px " + -v + "px " + -x + "px",
863
+ threshold: O(0, X(1, r)) || 1
864
864
  };
865
- let C = !0;
866
- function L(T) {
867
- const k = T[0].intersectionRatio;
868
- if (k !== r) {
869
- if (!C)
870
- return l();
871
- k ? l(!1, k) : i = setTimeout(() => {
872
- l(!1, 1e-7);
865
+ let S = !0;
866
+ function E(A) {
867
+ const B = A[0].intersectionRatio;
868
+ if (B !== r) {
869
+ if (!S)
870
+ return s();
871
+ B ? s(!1, B) : o = setTimeout(() => {
872
+ s(!1, 1e-7);
873
873
  }, 1e3);
874
874
  }
875
- C = !1;
875
+ S = !1;
876
876
  }
877
877
  try {
878
- n = new IntersectionObserver(L, {
879
- ...m,
878
+ n = new IntersectionObserver(E, {
879
+ ...L,
880
880
  // Handle <iframe>s
881
- root: o.ownerDocument
881
+ root: i.ownerDocument
882
882
  });
883
883
  } catch {
884
- n = new IntersectionObserver(L, m);
884
+ n = new IntersectionObserver(E, L);
885
885
  }
886
886
  n.observe(e);
887
887
  }
888
- return l(!0), s;
888
+ return s(!0), l;
889
889
  }
890
- function Zt(e, t, n, i) {
891
- i === void 0 && (i = {});
890
+ function Ut(e, t, n, o) {
891
+ o === void 0 && (o = {});
892
892
  const {
893
- ancestorScroll: o = !0,
894
- ancestorResize: s = !0,
895
- elementResize: l = typeof ResizeObserver == "function",
893
+ ancestorScroll: i = !0,
894
+ ancestorResize: l = !0,
895
+ elementResize: s = typeof ResizeObserver == "function",
896
896
  layoutShift: a = typeof IntersectionObserver == "function",
897
897
  animationFrame: r = !1
898
- } = i, c = Be(e), d = o || s ? [...c ? de(c) : [], ...de(t)] : [];
899
- d.forEach((x) => {
900
- o && x.addEventListener("scroll", n, {
898
+ } = o, c = De(e), d = i || l ? [...c ? me(c) : [], ...me(t)] : [];
899
+ d.forEach((y) => {
900
+ i && y.addEventListener("scroll", n, {
901
901
  passive: !0
902
- }), s && x.addEventListener("resize", n);
902
+ }), l && y.addEventListener("resize", n);
903
903
  });
904
904
  const u = c && a ? zt(c, n) : null;
905
- let g = -1, f = null;
906
- l && (f = new ResizeObserver((x) => {
907
- let [m] = x;
908
- m && m.target === c && f && (f.unobserve(t), cancelAnimationFrame(g), g = requestAnimationFrame(() => {
909
- var C;
910
- (C = f) == null || C.observe(t);
905
+ let h = -1, m = null;
906
+ s && (m = new ResizeObserver((y) => {
907
+ let [L] = y;
908
+ L && L.target === c && m && (m.unobserve(t), cancelAnimationFrame(h), h = requestAnimationFrame(() => {
909
+ var S;
910
+ (S = m) == null || S.observe(t);
911
911
  })), n();
912
- }), c && !r && f.observe(c), f.observe(t));
913
- let h, v = r ? q(e) : null;
914
- r && w();
915
- function w() {
916
- const x = q(e);
917
- v && (x.x !== v.x || x.y !== v.y || x.width !== v.width || x.height !== v.height) && n(), v = x, h = requestAnimationFrame(w);
912
+ }), c && !r && m.observe(c), m.observe(t));
913
+ let f, v = r ? Q(e) : null;
914
+ r && x();
915
+ function x() {
916
+ const y = Q(e);
917
+ v && (y.x !== v.x || y.y !== v.y || y.width !== v.width || y.height !== v.height) && n(), v = y, f = requestAnimationFrame(x);
918
918
  }
919
919
  return n(), () => {
920
- var x;
921
- d.forEach((m) => {
922
- o && m.removeEventListener("scroll", n), s && m.removeEventListener("resize", n);
923
- }), u == null || u(), (x = f) == null || x.disconnect(), f = null, r && cancelAnimationFrame(h);
920
+ var y;
921
+ d.forEach((L) => {
922
+ i && L.removeEventListener("scroll", n), l && L.removeEventListener("resize", n);
923
+ }), u == null || u(), (y = m) == null || y.disconnect(), m = null, r && cancelAnimationFrame(f);
924
924
  };
925
925
  }
926
- const Ut = Tt, jt = St, Kt = yt, Gt = At, Xt = (e, t, n) => {
927
- const i = /* @__PURE__ */ new Map(), o = {
926
+ const Zt = St, jt = Tt, Kt = xt, Xt = At, Yt = (e, t, n) => {
927
+ const o = /* @__PURE__ */ new Map(), i = {
928
928
  platform: Wt,
929
929
  ...n
930
- }, s = {
931
- ...o.platform,
932
- _c: i
930
+ }, l = {
931
+ ...i.platform,
932
+ _c: o
933
933
  };
934
- return xt(e, t, {
935
- ...o,
936
- platform: s
934
+ return yt(e, t, {
935
+ ...i,
936
+ platform: l
937
937
  });
938
938
  };
939
- function qt(e) {
939
+ function Gt(e) {
940
940
  return e != null && typeof e == "object" && "$el" in e;
941
941
  }
942
- function We(e) {
943
- if (qt(e)) {
942
+ function Ue(e) {
943
+ if (Gt(e)) {
944
944
  const t = e.$el;
945
- return ke(t) && Y(t) === "#comment" ? null : t;
945
+ return Re(t) && ee(t) === "#comment" ? null : t;
946
946
  }
947
947
  return e;
948
948
  }
949
- function le(e) {
950
- return typeof e == "function" ? e() : ge(e);
949
+ function ce(e) {
950
+ return typeof e == "function" ? e() : be(e);
951
951
  }
952
- function lt(e) {
952
+ function rt(e) {
953
953
  return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
954
954
  }
955
- function ze(e, t) {
956
- const n = lt(e);
955
+ function Ze(e, t) {
956
+ const n = rt(e);
957
957
  return Math.round(t * n) / n;
958
958
  }
959
- function Yt(e, t, n) {
959
+ function qt(e, t, n) {
960
960
  n === void 0 && (n = {});
961
- const i = n.whileElementsMounted, o = R(() => {
962
- var S;
963
- return (S = le(n.open)) != null ? S : !0;
964
- }), s = R(() => le(n.middleware)), l = R(() => {
965
- var S;
966
- return (S = le(n.placement)) != null ? S : "bottom";
967
- }), a = R(() => {
968
- var S;
969
- return (S = le(n.strategy)) != null ? S : "absolute";
970
- }), r = R(() => {
971
- var S;
972
- return (S = le(n.transform)) != null ? S : !0;
973
- }), c = R(() => We(e.value)), d = R(() => We(t.value)), u = B(0), g = B(0), f = B(a.value), h = B(l.value), v = ct({}), w = B(!1), x = R(() => {
974
- const S = {
975
- position: f.value,
961
+ const o = n.whileElementsMounted, i = _(() => {
962
+ var T;
963
+ return (T = ce(n.open)) != null ? T : !0;
964
+ }), l = _(() => ce(n.middleware)), s = _(() => {
965
+ var T;
966
+ return (T = ce(n.placement)) != null ? T : "bottom";
967
+ }), a = _(() => {
968
+ var T;
969
+ return (T = ce(n.strategy)) != null ? T : "absolute";
970
+ }), r = _(() => {
971
+ var T;
972
+ return (T = ce(n.transform)) != null ? T : !0;
973
+ }), c = _(() => Ue(e.value)), d = _(() => Ue(t.value)), u = I(0), h = I(0), m = I(a.value), f = I(s.value), v = dt({}), x = I(!1), y = _(() => {
974
+ const T = {
975
+ position: m.value,
976
976
  left: "0",
977
977
  top: "0"
978
978
  };
979
979
  if (!d.value)
980
- return S;
981
- const V = ze(d.value, u.value), O = ze(d.value, g.value);
980
+ return T;
981
+ const F = Ze(d.value, u.value), M = Ze(d.value, h.value);
982
982
  return r.value ? {
983
- ...S,
984
- transform: "translate(" + V + "px, " + O + "px)",
985
- ...lt(d.value) >= 1.5 && {
983
+ ...T,
984
+ transform: "translate(" + F + "px, " + M + "px)",
985
+ ...rt(d.value) >= 1.5 && {
986
986
  willChange: "transform"
987
987
  }
988
988
  } : {
989
- position: f.value,
990
- left: V + "px",
991
- top: O + "px"
989
+ position: m.value,
990
+ left: F + "px",
991
+ top: M + "px"
992
992
  };
993
993
  });
994
- let m;
995
- function C() {
996
- c.value == null || d.value == null || Xt(c.value, d.value, {
997
- middleware: s.value,
998
- placement: l.value,
994
+ let L;
995
+ function S() {
996
+ c.value == null || d.value == null || Yt(c.value, d.value, {
997
+ middleware: l.value,
998
+ placement: s.value,
999
999
  strategy: a.value
1000
- }).then((S) => {
1001
- u.value = S.x, g.value = S.y, f.value = S.strategy, h.value = S.placement, v.value = S.middlewareData, w.value = !0;
1000
+ }).then((T) => {
1001
+ u.value = T.x, h.value = T.y, m.value = T.strategy, f.value = T.placement, v.value = T.middlewareData, x.value = !0;
1002
1002
  });
1003
1003
  }
1004
- function L() {
1005
- typeof m == "function" && (m(), m = void 0);
1004
+ function E() {
1005
+ typeof L == "function" && (L(), L = void 0);
1006
1006
  }
1007
- function T() {
1008
- if (L(), i === void 0) {
1009
- C();
1007
+ function A() {
1008
+ if (E(), o === void 0) {
1009
+ S();
1010
1010
  return;
1011
1011
  }
1012
1012
  if (c.value != null && d.value != null) {
1013
- m = i(c.value, d.value, C);
1013
+ L = o(c.value, d.value, S);
1014
1014
  return;
1015
1015
  }
1016
1016
  }
1017
- function k() {
1018
- o.value || (w.value = !1);
1017
+ function B() {
1018
+ i.value || (x.value = !1);
1019
1019
  }
1020
- return te([s, l, a], C, {
1020
+ return se([l, s, a], S, {
1021
1021
  flush: "sync"
1022
- }), te([c, d], T, {
1022
+ }), se([c, d], A, {
1023
1023
  flush: "sync"
1024
- }), te(o, k, {
1024
+ }), se(i, B, {
1025
1025
  flush: "sync"
1026
- }), dt() && ut(L), {
1027
- x: ee(u),
1028
- y: ee(g),
1029
- strategy: ee(f),
1030
- placement: ee(h),
1031
- middlewareData: ee(v),
1032
- isPositioned: ee(w),
1033
- floatingStyles: x,
1034
- update: C
1026
+ }), ut() && ft(E), {
1027
+ x: oe(u),
1028
+ y: oe(h),
1029
+ strategy: oe(m),
1030
+ placement: oe(f),
1031
+ middlewareData: oe(v),
1032
+ isPositioned: oe(x),
1033
+ floatingStyles: y,
1034
+ update: S
1035
1035
  };
1036
1036
  }
1037
- const Jt = "data:image/svg+xml,%3csvg%20width='1324'%20height='1326'%20viewBox='0%200%201324%201326'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='141'%20y='78'%20width='1042'%20height='1170'%20fill='white'/%3e%3cpath%20d='M184.533%201.99984C135.867%207.19984%2089.8666%2029.8665%2056.4%2065.1998C29.6%2093.4665%2012.5333%20126.266%203.73329%20166.4L0.666626%20180V663.333V1146.67L3.73329%201160.27C12.5333%201200.4%2029.6%201233.2%2056.4%201261.47C90.4%201297.33%20135.333%201319.33%20185.6%201324.67C203.333%201326.53%201122.53%201326.4%201139.73%201324.53C1188.53%201319.33%201229.07%201299.73%201264.13%201264.8C1294.27%201234.67%201311.47%201202.67%201320.8%201159.33C1323.2%201148.4%201323.33%201130%201323.33%20663.333C1323.33%20196.667%201323.2%20178.266%201320.8%20167.333C1311.47%20124%201294.27%2091.9998%201264.13%2061.8664C1229.07%2026.9331%201188.53%207.33314%201139.73%202.13314C1124.67%200.399809%20200%200.399842%20184.533%201.99984ZM732.933%20151.466C746.8%20152.933%20763.333%20157.6%20774%20163.067C800.267%20176.267%20822.4%20200.4%20833.2%20227.333C841.867%20249.333%20841.467%20233.467%20841.067%20502C840.533%20777.6%20841.733%20750.267%20829.2%20776.133C822.133%20790.933%20810.667%20806.533%20800.267%20815.2C795.2%20819.6%20793.2%20822.267%20792%20827.067C786.133%20848.267%20768.667%20885.867%20755.2%20906.133C724.533%20952%20681.2%20986.133%20624%201009.33C615.6%201012.8%20608.4%201015.87%20608.133%201016.13C607.867%201016.27%20614.533%201023.33%20622.933%201031.6C633.467%201042.13%20639.333%201049.07%20642.133%201054.4C646.933%201063.87%20645.467%201064%20672.667%201050.8C724.933%201025.47%20762.933%20994.8%20794.933%20952C811.467%20929.867%20829.867%20895.333%20839.333%20868.267C841.333%20862.667%20843.467%20858%20844.133%20858C844.667%20858%20845.6%20859.333%20846.133%20860.933C848.267%20868.133%20863.333%20900.8%20870.133%20913.2C898%20963.867%20931.6%201001.2%20975.333%201030.27C989.867%201040%201017.2%201054.4%201031.6%201059.73L1037.2%201061.87L1041.33%201054.67C1048.4%201042.4%201056.67%201032.27%201067.87%201022.4L1078.67%201012.8L1071.6%201010.27C1067.87%201008.8%201060.53%201006%201055.6%201004.13C1040.93%20998.533%201013.73%20984%201000%20974.267C985.733%20964.133%20960.8%20940.667%20948.933%20926.267C935.067%20909.333%20921.467%20887.467%20910%20864C900.133%20844%20887.2%20812.133%20884.667%20801.6L883.733%20798H971.867H1060V769.333V740.667H963.333H866.533L867.333%20736.267C868.4%20729.867%20870.4%20693.067%20871.467%20662.933C872.267%20639.067%20872.533%20636.4%20874.8%20635.2C878.667%20633.2%20881.333%20626.667%20882.267%20617.333L883.067%20608.667H872.133C864.133%20608.667%20861.067%20608.133%20860.533%20606.8C860%20605.467%20881.2%20466%20886.133%20438.267L886.933%20433.867L977.867%20434.4C1066.67%20434.8%201068.93%20434.8%201079.87%20437.733C1124.8%20449.6%201158.67%20482.533%201172.93%20528L1176.67%20540V808V1076L1172.93%201087.73C1158.53%201133.6%201126.13%201164.93%201078.93%201178.4L1068.67%201181.33L812.667%201181.73C638.8%201182%20552.667%201181.73%20544.4%201180.67C488.667%201174.4%20443.2%201132.13%20432.533%201076.93C431.067%201068.93%20430.667%201046.4%20430.667%20956.667V846.133L340.4%20845.6C252.8%20845.2%20249.6%20845.067%20239.067%20842.267C196.533%20831.067%20164.533%20800.133%20151.067%20757.333L147.333%20745.333V499.333V253.333L150.4%20242C159.067%20209.067%20180.4%20181.866%20210.667%20164.933C221.2%20159.066%20240.4%20152.933%20252.667%20151.6C268.533%20149.733%20716.933%20149.6%20732.933%20151.466Z'%20fill='%233B5695'/%3e%3cpath%20d='M256.533%20213.333C232.933%20218.533%20214.133%20237.067%20209.333%20259.733C208.4%20264.533%20208%20337.2%20208.267%20502L208.667%20737.333L211.733%20744.933C218.533%20761.733%20231.733%20774.533%20248.667%20780.933L256.667%20784L490%20784.4C749.2%20784.8%20734.4%20785.333%20750.133%20776C764.267%20767.6%20775.467%20752.4%20778.667%20737.067C779.6%20732.8%20780%20652.133%20779.733%20494L779.333%20257.333L775.067%20248.267C767.2%20231.6%20756.933%20222%20740.133%20215.467L731.333%20212L498%20211.733C306.8%20211.6%20263.2%20211.867%20256.533%20213.333ZM492%20281.2C546.267%20290.267%20590.267%20311.2%20622.533%20343.333C653.867%20374.667%20671.867%20409.867%20680.267%20456.667C684.133%20478.533%20684.133%20516.267%20680.133%20538.533C665.467%20621.067%20606.933%20684.4%20524%20707.467C490%20716.933%20488.4%20716.933%20392.4%20717.6L305.333%20718.133V498V277.867L391.733%20278.4C465.733%20278.8%20480%20279.2%20492%20281.2Z'%20fill='%233B5695'/%3e%3cpath%20d='M384%20462.933V576.133L345.067%20611.467C306.533%20646.267%20306.133%20646.667%20310.667%20647.067C313.2%20647.333%20348.933%20647.333%20390%20646.933C472.667%20646.267%20477.6%20645.867%20503.6%20637.333C527.6%20629.333%20543.333%20620%20560.267%20603.6C590.133%20574.667%20604.4%20536.267%20602.267%20489.733C600.533%20450.267%20588.267%20420%20564%20395.333C546.8%20377.867%20531.6%20368.4%20506.267%20360C482.933%20352.133%20474.533%20351.2%20427.067%20350.4L384%20349.733V462.933Z'%20fill='%233B5695'/%3e%3c/svg%3e", J = (e, t) => {
1037
+ const Jt = "data:image/svg+xml,%3csvg%20width='1324'%20height='1326'%20viewBox='0%200%201324%201326'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='141'%20y='78'%20width='1042'%20height='1170'%20fill='white'/%3e%3cpath%20d='M184.533%201.99984C135.867%207.19984%2089.8666%2029.8665%2056.4%2065.1998C29.6%2093.4665%2012.5333%20126.266%203.73329%20166.4L0.666626%20180V663.333V1146.67L3.73329%201160.27C12.5333%201200.4%2029.6%201233.2%2056.4%201261.47C90.4%201297.33%20135.333%201319.33%20185.6%201324.67C203.333%201326.53%201122.53%201326.4%201139.73%201324.53C1188.53%201319.33%201229.07%201299.73%201264.13%201264.8C1294.27%201234.67%201311.47%201202.67%201320.8%201159.33C1323.2%201148.4%201323.33%201130%201323.33%20663.333C1323.33%20196.667%201323.2%20178.266%201320.8%20167.333C1311.47%20124%201294.27%2091.9998%201264.13%2061.8664C1229.07%2026.9331%201188.53%207.33314%201139.73%202.13314C1124.67%200.399809%20200%200.399842%20184.533%201.99984ZM732.933%20151.466C746.8%20152.933%20763.333%20157.6%20774%20163.067C800.267%20176.267%20822.4%20200.4%20833.2%20227.333C841.867%20249.333%20841.467%20233.467%20841.067%20502C840.533%20777.6%20841.733%20750.267%20829.2%20776.133C822.133%20790.933%20810.667%20806.533%20800.267%20815.2C795.2%20819.6%20793.2%20822.267%20792%20827.067C786.133%20848.267%20768.667%20885.867%20755.2%20906.133C724.533%20952%20681.2%20986.133%20624%201009.33C615.6%201012.8%20608.4%201015.87%20608.133%201016.13C607.867%201016.27%20614.533%201023.33%20622.933%201031.6C633.467%201042.13%20639.333%201049.07%20642.133%201054.4C646.933%201063.87%20645.467%201064%20672.667%201050.8C724.933%201025.47%20762.933%20994.8%20794.933%20952C811.467%20929.867%20829.867%20895.333%20839.333%20868.267C841.333%20862.667%20843.467%20858%20844.133%20858C844.667%20858%20845.6%20859.333%20846.133%20860.933C848.267%20868.133%20863.333%20900.8%20870.133%20913.2C898%20963.867%20931.6%201001.2%20975.333%201030.27C989.867%201040%201017.2%201054.4%201031.6%201059.73L1037.2%201061.87L1041.33%201054.67C1048.4%201042.4%201056.67%201032.27%201067.87%201022.4L1078.67%201012.8L1071.6%201010.27C1067.87%201008.8%201060.53%201006%201055.6%201004.13C1040.93%20998.533%201013.73%20984%201000%20974.267C985.733%20964.133%20960.8%20940.667%20948.933%20926.267C935.067%20909.333%20921.467%20887.467%20910%20864C900.133%20844%20887.2%20812.133%20884.667%20801.6L883.733%20798H971.867H1060V769.333V740.667H963.333H866.533L867.333%20736.267C868.4%20729.867%20870.4%20693.067%20871.467%20662.933C872.267%20639.067%20872.533%20636.4%20874.8%20635.2C878.667%20633.2%20881.333%20626.667%20882.267%20617.333L883.067%20608.667H872.133C864.133%20608.667%20861.067%20608.133%20860.533%20606.8C860%20605.467%20881.2%20466%20886.133%20438.267L886.933%20433.867L977.867%20434.4C1066.67%20434.8%201068.93%20434.8%201079.87%20437.733C1124.8%20449.6%201158.67%20482.533%201172.93%20528L1176.67%20540V808V1076L1172.93%201087.73C1158.53%201133.6%201126.13%201164.93%201078.93%201178.4L1068.67%201181.33L812.667%201181.73C638.8%201182%20552.667%201181.73%20544.4%201180.67C488.667%201174.4%20443.2%201132.13%20432.533%201076.93C431.067%201068.93%20430.667%201046.4%20430.667%20956.667V846.133L340.4%20845.6C252.8%20845.2%20249.6%20845.067%20239.067%20842.267C196.533%20831.067%20164.533%20800.133%20151.067%20757.333L147.333%20745.333V499.333V253.333L150.4%20242C159.067%20209.067%20180.4%20181.866%20210.667%20164.933C221.2%20159.066%20240.4%20152.933%20252.667%20151.6C268.533%20149.733%20716.933%20149.6%20732.933%20151.466Z'%20fill='%233B5695'/%3e%3cpath%20d='M256.533%20213.333C232.933%20218.533%20214.133%20237.067%20209.333%20259.733C208.4%20264.533%20208%20337.2%20208.267%20502L208.667%20737.333L211.733%20744.933C218.533%20761.733%20231.733%20774.533%20248.667%20780.933L256.667%20784L490%20784.4C749.2%20784.8%20734.4%20785.333%20750.133%20776C764.267%20767.6%20775.467%20752.4%20778.667%20737.067C779.6%20732.8%20780%20652.133%20779.733%20494L779.333%20257.333L775.067%20248.267C767.2%20231.6%20756.933%20222%20740.133%20215.467L731.333%20212L498%20211.733C306.8%20211.6%20263.2%20211.867%20256.533%20213.333ZM492%20281.2C546.267%20290.267%20590.267%20311.2%20622.533%20343.333C653.867%20374.667%20671.867%20409.867%20680.267%20456.667C684.133%20478.533%20684.133%20516.267%20680.133%20538.533C665.467%20621.067%20606.933%20684.4%20524%20707.467C490%20716.933%20488.4%20716.933%20392.4%20717.6L305.333%20718.133V498V277.867L391.733%20278.4C465.733%20278.8%20480%20279.2%20492%20281.2Z'%20fill='%233B5695'/%3e%3cpath%20d='M384%20462.933V576.133L345.067%20611.467C306.533%20646.267%20306.133%20646.667%20310.667%20647.067C313.2%20647.333%20348.933%20647.333%20390%20646.933C472.667%20646.267%20477.6%20645.867%20503.6%20637.333C527.6%20629.333%20543.333%20620%20560.267%20603.6C590.133%20574.667%20604.4%20536.267%20602.267%20489.733C600.533%20450.267%20588.267%20420%20564%20395.333C546.8%20377.867%20531.6%20368.4%20506.267%20360C482.933%20352.133%20474.533%20351.2%20427.067%20350.4L384%20349.733V462.933Z'%20fill='%233B5695'/%3e%3c/svg%3e", te = (e, t) => {
1038
1038
  const n = e.__vccOpts || e;
1039
- for (const [i, o] of t)
1040
- n[i] = o;
1039
+ for (const [o, i] of t)
1040
+ n[o] = i;
1041
1041
  return n;
1042
1042
  }, Qt = {
1043
1043
  name: "Logo"
@@ -1046,38 +1046,38 @@ const Jt = "data:image/svg+xml,%3csvg%20width='1324'%20height='1326'%20viewBox='
1046
1046
  alt: "DDict Logo",
1047
1047
  class: "w-6 h-6 cursor-pointer"
1048
1048
  };
1049
- function tn(e, t, n, i, o, s) {
1050
- return p(), b("img", en);
1049
+ function tn(e, t, n, o, i, l) {
1050
+ return g(), C("img", en);
1051
1051
  }
1052
- const nn = /* @__PURE__ */ J(Qt, [["render", tn]]), on = {}, sn = {
1052
+ const nn = /* @__PURE__ */ te(Qt, [["render", tn]]), on = {}, sn = {
1053
1053
  class: "w-12 h-12 text-primary",
1054
1054
  xmlns: "http://www.w3.org/2000/svg",
1055
1055
  viewBox: "0 0 24 24"
1056
- }, ln = /* @__PURE__ */ Ae('<circle cx="18" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".67" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".33" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="6" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin="0" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle>', 3), rn = [
1056
+ }, ln = /* @__PURE__ */ Be('<circle cx="18" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".67" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".33" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="6" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin="0" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle>', 3), rn = [
1057
1057
  ln
1058
1058
  ];
1059
1059
  function an(e, t) {
1060
- return p(), b("svg", sn, rn);
1060
+ return g(), C("svg", sn, rn);
1061
1061
  }
1062
- const cn = /* @__PURE__ */ J(on, [["render", an]]), dn = { class: "rounded-lg bg-base-100 px-4 py-2 border border-base-300 shadow-lg" }, un = { class: "flex justify-center" }, fn = {
1062
+ const cn = /* @__PURE__ */ te(on, [["render", an]]), dn = { class: "rounded-lg bg-base-100 px-4 py-2 border border-base-300 shadow-lg" }, un = { class: "flex justify-center" }, fn = {
1063
1063
  __name: "Loading",
1064
1064
  setup(e) {
1065
- return (t, n) => (p(), b("div", dn, [
1066
- y("div", un, [
1067
- Z(cn)
1065
+ return (t, n) => (g(), C("div", dn, [
1066
+ w("div", un, [
1067
+ N(cn)
1068
1068
  ])
1069
1069
  ]));
1070
1070
  }
1071
1071
  }, mn = {
1072
1072
  name: "Phonetic",
1073
1073
  props: ["phonetic"]
1074
- }, hn = { class: "p-0 m-0" }, Cn = { class: "text-xs font-md text-base-content/60" };
1075
- function gn(e, t, n, i, o, s) {
1076
- return p(), b("p", hn, [
1077
- y("span", Cn, "/" + ce(n.phonetic) + "/", 1)
1074
+ }, hn = { class: "p-0 m-0" }, gn = { class: "text-xs font-md text-base-content/60" };
1075
+ function pn(e, t, n, o, i, l) {
1076
+ return g(), C("p", hn, [
1077
+ w("span", gn, "/" + ue(n.phonetic) + "/", 1)
1078
1078
  ]);
1079
1079
  }
1080
- const pn = /* @__PURE__ */ J(mn, [["render", gn]]), vn = { class: "flex flex-col gap-2" }, bn = {
1080
+ const Cn = /* @__PURE__ */ te(mn, [["render", pn]]), vn = { class: "flex flex-col gap-2" }, bn = {
1081
1081
  __name: "Sentences",
1082
1082
  props: {
1083
1083
  sentences: {
@@ -1086,68 +1086,147 @@ const pn = /* @__PURE__ */ J(mn, [["render", gn]]), vn = { class: "flex flex-col
1086
1086
  }
1087
1087
  },
1088
1088
  setup(e) {
1089
- const t = e, n = R(() => t.sentences.split(`
1089
+ const t = e, n = _(() => t.sentences.split(`
1090
1090
  `));
1091
- return (i, o) => (p(), b("div", vn, [
1092
- (p(!0), b(ue, null, we(n.value, (s, l) => (p(), b("p", {
1093
- key: l,
1091
+ return (o, i) => (g(), C("div", vn, [
1092
+ (g(!0), C(he, null, Le(n.value, (l, s) => (g(), C("p", {
1093
+ key: s,
1094
1094
  class: "text-base text-base-content leading-tight p-0 mr-2"
1095
- }, ce(s), 1))), 128))
1095
+ }, ue(l), 1))), 128))
1096
1096
  ]));
1097
1097
  }
1098
- }, wn = { class: "capitalize text-base italic font-normal text-base-content/60" }, xn = { class: "text-base leading-6 text-base-content" }, yn = {
1098
+ }, wn = /* @__PURE__ */ w("p", { class: "text-sm font-medium text-primary text-center" }, [
1099
+ /* @__PURE__ */ fe(" 🤔 Don't understand? "),
1100
+ /* @__PURE__ */ w("span", { class: "text-secondary font-semibold" }, "Try AI"),
1101
+ /* @__PURE__ */ fe(" ✨ ")
1102
+ ], -1), yn = [
1103
+ wn
1104
+ ], xn = {
1105
+ __name: "AIPromptButton",
1106
+ props: {
1107
+ show: {
1108
+ type: Boolean,
1109
+ default: !1
1110
+ },
1111
+ isLoading: {
1112
+ type: Boolean,
1113
+ default: !1
1114
+ }
1115
+ },
1116
+ emits: ["click"],
1117
+ setup(e) {
1118
+ return (t, n) => e.show ? (g(), C("div", {
1119
+ key: 0,
1120
+ class: k([
1121
+ "mt-2 p-2 bg-gradient-to-r rounded-lg border transition-all duration-200",
1122
+ e.isLoading ? "from-primary/5 to-secondary/5 border-primary/10 cursor-not-allowed opacity-75" : "from-primary/10 to-secondary/10 border-primary/20 cursor-pointer hover:from-primary/20 hover:to-secondary/20 hover:border-primary/30"
1123
+ ]),
1124
+ onClick: n[0] || (n[0] = (o) => !e.isLoading && t.$emit("click"))
1125
+ }, yn, 2)) : R("", !0);
1126
+ }
1127
+ }, Ln = /* @__PURE__ */ w("p", { class: "text-sm font-medium text-accent text-center" }, "💡 Need Summary? ✨", -1), Sn = [
1128
+ Ln
1129
+ ], Tn = {
1130
+ __name: "AIExplainPromptButton",
1131
+ props: {
1132
+ show: {
1133
+ type: Boolean,
1134
+ default: !1
1135
+ },
1136
+ isLoading: {
1137
+ type: Boolean,
1138
+ default: !1
1139
+ }
1140
+ },
1141
+ emits: ["click"],
1142
+ setup(e) {
1143
+ return (t, n) => e.show ? (g(), C("div", {
1144
+ key: 0,
1145
+ class: k([
1146
+ "mt-2 p-2 bg-gradient-to-r rounded-lg border transition-all duration-200",
1147
+ e.isLoading ? "from-accent/5 to-info/5 border-accent/10 cursor-not-allowed opacity-75" : "from-accent/10 to-info/10 border-accent/20 cursor-pointer hover:from-accent/20 hover:to-info/20 hover:border-accent/30"
1148
+ ]),
1149
+ onClick: n[0] || (n[0] = (o) => !e.isLoading && t.$emit("click"))
1150
+ }, Sn, 2)) : R("", !0);
1151
+ }
1152
+ }, An = /* @__PURE__ */ w("p", { class: "text-sm font-medium text-success text-center" }, [
1153
+ /* @__PURE__ */ fe(" 📚 Learn this? "),
1154
+ /* @__PURE__ */ w("span", { class: "text-warning font-semibold" }, "Study now"),
1155
+ /* @__PURE__ */ fe(" 🎯 ")
1156
+ ], -1), En = [
1157
+ An
1158
+ ], $n = {
1159
+ __name: "LearnPromptButton",
1160
+ props: {
1161
+ show: {
1162
+ type: Boolean,
1163
+ default: !1
1164
+ }
1165
+ },
1166
+ emits: ["click"],
1167
+ setup(e) {
1168
+ return (t, n) => e.show ? (g(), C("div", {
1169
+ key: 0,
1170
+ class: k([
1171
+ "mt-2 p-2 bg-gradient-to-r rounded-lg border transition-all duration-200",
1172
+ "from-success/10 to-warning/10 border-success/20 cursor-pointer hover:from-success/20 hover:to-warning/20 hover:border-success/30"
1173
+ ]),
1174
+ onClick: n[0] || (n[0] = (o) => t.$emit("click"))
1175
+ }, En)) : R("", !0);
1176
+ }
1177
+ }, kn = { class: "capitalize text-base italic font-normal text-base-content/60" }, Bn = { class: "text-base leading-6 text-base-content" }, In = {
1099
1178
  __name: "Dict",
1100
1179
  props: {
1101
1180
  dictionary: Array
1102
1181
  },
1103
1182
  setup(e) {
1104
- return (t, n) => (p(), b("div", null, [
1105
- (p(!0), b(ue, null, we(e.dictionary, (i, o) => (p(), b("div", {
1106
- key: o,
1183
+ return (t, n) => (g(), C("div", null, [
1184
+ (g(!0), C(he, null, Le(e.dictionary, (o, i) => (g(), C("div", {
1185
+ key: i,
1107
1186
  class: "mt-2"
1108
1187
  }, [
1109
- y("p", wn, ce(i.pos), 1),
1110
- y("span", xn, ce(i.terms.join(", ")), 1)
1188
+ w("p", kn, ue(o.pos), 1),
1189
+ w("span", Bn, ue(o.terms.join(", ")), 1)
1111
1190
  ]))), 128))
1112
1191
  ]));
1113
1192
  }
1114
- }, Ln = { class: "" }, Tn = /* @__PURE__ */ y("p", { class: "capitalize text-base italic font-normal text-base-content/60 mt-2" }, "AI Summary", -1), Sn = {
1193
+ }, Mn = { class: "" }, Rn = /* @__PURE__ */ w("p", { class: "capitalize text-base italic font-normal text-base-content/60 mt-2" }, "Summary", -1), Fn = {
1115
1194
  key: 0,
1116
1195
  class: "list-none list-outside mt-2"
1117
- }, An = ["innerHTML"], $n = {
1196
+ }, On = ["innerHTML"], Dn = {
1118
1197
  __name: "Explanation",
1119
1198
  props: {
1120
1199
  explanation: Object
1121
1200
  },
1122
1201
  setup(e) {
1123
1202
  return (t, n) => {
1124
- var i, o;
1125
- return p(), b("div", Ln, [
1126
- Tn,
1127
- (i = e.explanation) != null && i.result ? (p(), b("ul", Sn, [
1128
- (p(!0), b(ue, null, we(((o = e.explanation) == null ? void 0 : o.result.split(`
1129
- `)) || [], (s, l) => (p(), b("li", {
1130
- key: `${s}-${l}`,
1131
- innerHTML: s,
1203
+ var o, i;
1204
+ return g(), C("div", Mn, [
1205
+ Rn,
1206
+ (o = e.explanation) != null && o.result ? (g(), C("ul", Fn, [
1207
+ (g(!0), C(he, null, Le(((i = e.explanation) == null ? void 0 : i.result.split(`
1208
+ `)) || [], (l, s) => (g(), C("li", {
1209
+ key: `${l}-${s}`,
1210
+ innerHTML: l,
1132
1211
  class: "text-base text-base-content"
1133
- }, null, 8, An))), 128))
1134
- ])) : M("", !0)
1212
+ }, null, 8, On))), 128))
1213
+ ])) : R("", !0)
1135
1214
  ]);
1136
1215
  };
1137
1216
  }
1138
- }, En = ["disabled"], kn = /* @__PURE__ */ y("path", {
1217
+ }, _n = ["disabled"], Vn = /* @__PURE__ */ w("path", {
1139
1218
  d: "M2.33325 4.66667H3.51125C3.82693 4.6667 4.13239 4.55473 4.37325 4.35067L6.83392 2.26667C6.99592 2.12953 7.19374 2.04156 7.40407 2.01312C7.61441 1.98468 7.82849 2.01696 8.02109 2.10615C8.21369 2.19534 8.37678 2.33772 8.49114 2.51652C8.60551 2.69532 8.66638 2.90309 8.66659 3.11534V12.8847C8.66649 13.097 8.60565 13.305 8.49125 13.4839C8.37685 13.6628 8.21367 13.8053 8.02094 13.8945C7.82822 13.9837 7.614 14.0159 7.40356 13.9874C7.19312 13.9588 6.99523 13.8707 6.83325 13.7333L4.37325 11.6487C4.13229 11.4449 3.82685 11.3331 3.51125 11.3333H2.33325C2.06804 11.3333 1.81368 11.228 1.62615 11.0404C1.43861 10.8529 1.33325 10.5986 1.33325 10.3333V5.66667C1.33325 5.40145 1.43861 5.1471 1.62615 4.95956C1.81368 4.77203 2.06804 4.66667 2.33325 4.66667ZM11.1779 11.18C11.5969 10.763 11.9294 10.2674 12.1562 9.72156C12.3831 9.17572 12.4999 8.59044 12.4999 7.99934C12.4999 7.40823 12.3831 6.82295 12.1562 6.27711C11.9294 5.73127 11.5969 5.23564 11.1779 4.81867C11.1317 4.77098 11.0765 4.73297 11.0155 4.70686C10.9544 4.68075 10.8888 4.66705 10.8224 4.66657C10.756 4.66609 10.6902 4.67883 10.6288 4.70406C10.5674 4.72929 10.5116 4.76649 10.4647 4.8135C10.4179 4.86051 10.3808 4.91639 10.3558 4.97787C10.3307 5.03935 10.3181 5.10521 10.3188 5.17159C10.3195 5.23798 10.3334 5.30357 10.3597 5.36453C10.3859 5.42549 10.4241 5.48061 10.4719 5.52667C10.7977 5.85079 11.0562 6.23609 11.2326 6.66043C11.409 7.08477 11.4998 7.53979 11.4998 7.99934C11.4998 8.45888 11.409 8.9139 11.2326 9.33824C11.0562 9.76258 10.7977 10.1479 10.4719 10.472C10.4241 10.5181 10.3859 10.5732 10.3597 10.6341C10.3334 10.6951 10.3195 10.7607 10.3188 10.8271C10.3181 10.8935 10.3307 10.9593 10.3558 11.0208C10.3808 11.0823 10.4179 11.1382 10.4647 11.1852C10.5116 11.2322 10.5674 11.2694 10.6288 11.2946C10.6902 11.3198 10.756 11.3326 10.8224 11.3321C10.8888 11.3316 10.9544 11.3179 11.0155 11.2918C11.0765 11.2657 11.1317 11.2277 11.1779 11.18ZM12.7113 13.2127C12.6123 13.2126 12.5157 13.1832 12.4335 13.1281C12.3513 13.0731 12.2873 12.9949 12.2495 12.9035C12.2118 12.8121 12.202 12.7115 12.2214 12.6146C12.2408 12.5176 12.2886 12.4285 12.3586 12.3587C12.9317 11.7866 13.3865 11.1071 13.6967 10.359C14.0069 9.61101 14.1666 8.80915 14.1666 7.99934C14.1666 7.18952 14.0069 6.38766 13.6967 5.63963C13.3865 4.8916 12.9317 4.2121 12.3586 3.64C12.3122 3.59351 12.2754 3.53834 12.2503 3.47764C12.2252 3.41693 12.2124 3.35188 12.2124 3.2862C12.2125 3.22052 12.2255 3.15549 12.2507 3.09483C12.2759 3.03417 12.3128 2.97907 12.3593 2.93267C12.4057 2.88627 12.4609 2.84948 12.5216 2.8244C12.5823 2.79932 12.6474 2.78645 12.7131 2.78651C12.7787 2.78657 12.8438 2.79957 12.9044 2.82476C12.9651 2.84995 13.0202 2.88685 13.0666 2.93334C13.7327 3.59825 14.2612 4.38801 14.6218 5.25741C14.9824 6.12681 15.168 7.05879 15.168 8C15.168 8.94122 14.9824 9.87319 14.6218 10.7426C14.2612 11.612 13.7327 12.4018 13.0666 13.0667C13.02 13.1134 12.9646 13.1504 12.9036 13.1756C12.8426 13.2007 12.7772 13.2129 12.7113 13.2127Z",
1140
1219
  fill: "currentColor"
1141
- }, null, -1), Rn = [
1142
- kn
1143
- ], In = ["disabled"], Bn = /* @__PURE__ */ y("path", {
1220
+ }, null, -1), Pn = [
1221
+ Vn
1222
+ ], Nn = ["disabled"], Hn = /* @__PURE__ */ w("path", {
1144
1223
  "fill-rule": "evenodd",
1145
1224
  d: "M4.5 7.5a3 3 0 0 1 3-3h9a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3h-9a3 3 0 0 1-3-3v-9Z",
1146
1225
  "clip-rule": "evenodd",
1147
1226
  fill: "currentColor"
1148
- }, null, -1), Mn = [
1149
- Bn
1150
- ], Fn = {
1227
+ }, null, -1), Wn = [
1228
+ Hn
1229
+ ], zn = {
1151
1230
  __name: "Player",
1152
1231
  props: {
1153
1232
  tts: {
@@ -1161,34 +1240,34 @@ const pn = /* @__PURE__ */ J(mn, [["render", gn]]), vn = { class: "flex flex-col
1161
1240
  },
1162
1241
  emits: ["loadTTS"],
1163
1242
  setup(e, { emit: t }) {
1164
- const n = e, i = t, o = R(() => n.tts), s = B(!1), l = new Audio(), a = new (window.AudioContext || window.webkitAudioContext)();
1243
+ const n = e, o = t, i = _(() => n.tts), l = I(!1), s = new Audio(), a = new (window.AudioContext || window.webkitAudioContext)();
1165
1244
  let r = null;
1166
- te(
1167
- o,
1245
+ se(
1246
+ i,
1168
1247
  () => {
1169
- if (!o.value) {
1170
- s.value = !1;
1248
+ if (!i.value) {
1249
+ l.value = !1;
1171
1250
  return;
1172
1251
  }
1173
1252
  d();
1174
1253
  },
1175
1254
  { immediate: !0 }
1176
- ), $e(() => {
1177
- g(), l.src = "", a.close();
1255
+ ), Ie(() => {
1256
+ h(), s.src = "", a.close();
1178
1257
  });
1179
1258
  function c() {
1180
- if (o.value) {
1259
+ if (i.value) {
1181
1260
  d();
1182
1261
  return;
1183
1262
  }
1184
- s.value = !0, i("loadTTS");
1263
+ l.value = !0, o("loadTTS");
1185
1264
  }
1186
1265
  async function d() {
1187
- if (o.value) {
1188
- s.value = !0;
1266
+ if (i.value) {
1267
+ l.value = !0;
1189
1268
  try {
1190
- l.src = o.value, l.playbackRate = 0.7, await l.play(), l.onended = () => {
1191
- s.value = !1;
1269
+ s.src = i.value, s.playbackRate = 0.7, await s.play(), s.onended = () => {
1270
+ l.value = !1;
1192
1271
  };
1193
1272
  } catch {
1194
1273
  await u();
@@ -1197,122 +1276,122 @@ const pn = /* @__PURE__ */ J(mn, [["render", gn]]), vn = { class: "flex flex-col
1197
1276
  }
1198
1277
  async function u() {
1199
1278
  try {
1200
- const h = await (await fetch(o.value)).arrayBuffer(), v = await a.decodeAudioData(h);
1279
+ const f = await (await fetch(i.value)).arrayBuffer(), v = await a.decodeAudioData(f);
1201
1280
  r = a.createBufferSource(), r.buffer = v, r.playbackRate.value = 0.7, r.connect(a.destination), r.start(), r.onended = () => {
1202
- s.value = !1, r = null;
1281
+ l.value = !1, r = null;
1203
1282
  };
1204
1283
  } catch {
1205
- s.value = !1;
1284
+ l.value = !1;
1206
1285
  }
1207
1286
  }
1208
- function g() {
1209
- r && (r.stop(), r.disconnect(), r = null), l.pause(), l.currentTime = 0, s.value = !1;
1287
+ function h() {
1288
+ r && (r.stop(), r.disconnect(), r = null), s.pause(), s.currentTime = 0, l.value = !1;
1210
1289
  }
1211
- return (f, h) => s.value ? (p(), b("button", {
1290
+ return (m, f) => l.value ? (g(), C("button", {
1212
1291
  key: 1,
1213
- class: A(["btn btn-xs btn-circle", [
1292
+ class: k(["btn btn-xs btn-circle", [
1214
1293
  { "btn-ghost": !e.disabled },
1215
1294
  { "!bg-transparent !border-none !shadow-none !ring-0": e.disabled }
1216
1295
  ]]),
1217
1296
  disabled: e.disabled,
1218
- onClick: g
1297
+ onClick: h
1219
1298
  }, [
1220
- (p(), b("svg", {
1221
- class: A(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1299
+ (g(), C("svg", {
1300
+ class: k(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1222
1301
  viewBox: "0 0 24 24",
1223
1302
  fill: "none",
1224
1303
  xmlns: "http://www.w3.org/2000/svg"
1225
- }, Mn, 2))
1226
- ], 10, In)) : (p(), b("button", {
1304
+ }, Wn, 2))
1305
+ ], 10, Nn)) : (g(), C("button", {
1227
1306
  key: 0,
1228
- class: A(["btn btn-xs btn-circle", [
1307
+ class: k(["btn btn-xs btn-circle", [
1229
1308
  { "btn-ghost": !e.disabled },
1230
1309
  { "!bg-transparent !border-none !shadow-none !ring-0": e.disabled }
1231
1310
  ]]),
1232
1311
  disabled: e.disabled,
1233
1312
  onClick: c
1234
1313
  }, [
1235
- (p(), b("svg", {
1236
- class: A(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1314
+ (g(), C("svg", {
1315
+ class: k(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1237
1316
  viewBox: "0 0 16 16",
1238
1317
  fill: "none",
1239
1318
  xmlns: "http://www.w3.org/2000/svg"
1240
- }, Rn, 2))
1241
- ], 10, En));
1319
+ }, Pn, 2))
1320
+ ], 10, _n));
1242
1321
  }
1243
- }, On = {
1322
+ }, Un = {
1244
1323
  class: "bg-base-100 tooltip tooltip-top before:!bottom-[100%] before:!bg-base-100 before:!border before:!border-solid before:!border-base-300 before:!shadow-lg before:!rounded-md before:!text-base-content after:!border-transparent",
1245
1324
  "data-tip": "Favorite"
1246
- }, _n = ["disabled"], Dn = /* @__PURE__ */ y("path", {
1325
+ }, Zn = ["disabled"], jn = /* @__PURE__ */ w("path", {
1247
1326
  d: "M14.9491 5.89315C14.8278 5.53128 14.5111 5.27252 14.1226 5.21783L10.5264 4.7114L8.91813 1.55315C8.74435 1.21195 8.39257 1 7.99998 1C7.60739 1 7.25557 1.21195 7.08183 1.55315L5.47358 4.7114L1.8774 5.21783C1.48888 5.27252 1.17219 5.53128 1.05086 5.89315C0.929554 6.25501 1.02881 6.64477 1.30993 6.91038L3.91217 9.36871L3.29786 12.8399C3.2315 13.215 3.38755 13.5868 3.7052 13.8105C3.88128 13.9344 4.08938 14 4.30704 14C4.47232 14 4.63705 13.9606 4.78341 13.886L7.99995 12.2471L11.2165 13.886C11.3628 13.9606 11.5276 14 11.6929 14C11.9106 14 12.1187 13.9345 12.2948 13.8105C12.6124 13.5868 12.7685 13.215 12.7021 12.84L12.0878 9.36871L14.6901 6.91035C14.9712 6.64477 15.0704 6.25498 14.9491 5.89315ZM14.0266 6.25082L11.2455 8.87813C11.1335 8.98392 11.0824 9.13637 11.1089 9.28575L11.7654 12.9956C11.7701 13.0226 11.759 13.0493 11.7362 13.0653C11.7202 13.0766 11.7038 13.079 11.6929 13.079C11.6809 13.079 11.6694 13.0762 11.6587 13.0708L8.22108 11.3192C8.15189 11.284 8.07593 11.2663 7.99998 11.2663C7.92402 11.2663 7.84807 11.284 7.77882 11.3193L4.34118 13.0708C4.33052 13.0763 4.31904 13.079 4.30701 13.079C4.29611 13.079 4.27969 13.0767 4.26373 13.0654C4.24092 13.0494 4.22975 13.0226 4.2345 12.9957L4.89104 9.28584C4.91747 9.13646 4.86637 8.98401 4.75439 8.87822L1.97327 6.25091C1.95308 6.23184 1.94595 6.20383 1.95466 6.17786C1.9634 6.15185 1.98612 6.13326 2.01405 6.12933L5.85743 5.58807C6.0122 5.56626 6.14599 5.47208 6.21521 5.33616L7.93404 1.9608C7.94653 1.9363 7.97178 1.92107 7.99998 1.92107C8.02818 1.92107 8.05343 1.9363 8.06591 1.9608L9.78468 5.33607C9.85391 5.47199 9.9877 5.5662 10.1425 5.58799L13.9859 6.12924C14.0138 6.1332 14.0365 6.15176 14.0452 6.17777C14.0539 6.20374 14.0468 6.23175 14.0266 6.25082Z",
1248
1327
  fill: "currentColor"
1249
- }, null, -1), Vn = [
1250
- Dn
1251
- ], Nn = /* @__PURE__ */ y("path", {
1328
+ }, null, -1), Kn = [
1329
+ jn
1330
+ ], Xn = /* @__PURE__ */ w("path", {
1252
1331
  d: "M7.47207 1.31905C7.57125 1.12371 7.77589 1 8.00001 1C8.22413 1 8.42877 1.12367 8.52795 1.31905L10.3721 4.95175L14.4959 5.53427C14.7177 5.5656 14.9019 5.7166 14.9712 5.9238C15.0404 6.13101 14.9827 6.35843 14.8222 6.51049L11.8382 9.33816L12.5427 13.3309C12.5806 13.5456 12.4897 13.7626 12.3084 13.8906C12.1272 14.0187 11.8868 14.0356 11.6884 13.9342L8.00004 12.0491L4.31158 13.9343C4.11323 14.0356 3.87286 14.0187 3.69157 13.8907C3.51028 13.7627 3.4195 13.5457 3.45736 13.3309L4.1618 9.33819L1.17781 6.51052C1.01735 6.35846 0.959571 6.13101 1.02884 5.92383C1.09807 5.71663 1.28232 5.56563 1.50409 5.53431L5.62787 4.95178L7.47207 1.31905Z",
1253
1332
  fill: "currentColor"
1254
- }, null, -1), Pn = [
1255
- Nn
1256
- ], Hn = {
1333
+ }, null, -1), Yn = [
1334
+ Xn
1335
+ ], Gn = {
1257
1336
  __name: "Favorite",
1258
1337
  props: {
1259
1338
  isFilled: Boolean,
1260
1339
  disabled: Boolean
1261
1340
  },
1262
1341
  setup(e) {
1263
- return (t, n) => (p(), b("div", On, [
1264
- y("button", {
1265
- class: A(["btn btn-xs btn-circle", [
1342
+ return (t, n) => (g(), C("div", Un, [
1343
+ w("button", {
1344
+ class: k(["btn btn-xs btn-circle", [
1266
1345
  { "btn-ghost": !e.disabled },
1267
1346
  { "!bg-transparent !border-none !shadow-none !ring-0": e.disabled }
1268
1347
  ]]),
1269
1348
  disabled: e.disabled
1270
1349
  }, [
1271
- e.isFilled ? (p(), b("svg", {
1350
+ e.isFilled ? (g(), C("svg", {
1272
1351
  key: 1,
1273
- class: A(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1352
+ class: k(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1274
1353
  viewBox: "0 0 16 16",
1275
1354
  fill: "none",
1276
1355
  xmlns: "http://www.w3.org/2000/svg"
1277
- }, Pn, 2)) : (p(), b("svg", {
1356
+ }, Yn, 2)) : (g(), C("svg", {
1278
1357
  key: 0,
1279
- class: A(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1358
+ class: k(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1280
1359
  viewBox: "0 0 16 16",
1281
1360
  fill: "none",
1282
1361
  xmlns: "http://www.w3.org/2000/svg"
1283
- }, Vn, 2))
1284
- ], 10, _n)
1362
+ }, Kn, 2))
1363
+ ], 10, Zn)
1285
1364
  ]));
1286
1365
  }
1287
- }, Wn = {}, zn = {
1366
+ }, qn = {}, Jn = {
1288
1367
  class: "w-6 h-6 text-primary",
1289
1368
  xmlns: "http://www.w3.org/2000/svg",
1290
1369
  viewBox: "0 0 24 24"
1291
- }, Zn = /* @__PURE__ */ Ae('<circle cx="18" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".67" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".33" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="6" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin="0" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle>', 3), Un = [
1292
- Zn
1370
+ }, Qn = /* @__PURE__ */ Be('<circle cx="18" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".67" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="12" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin=".33" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle><circle cx="6" cy="12" r="0" fill="currentColor"><animate attributeName="r" begin="0" calcMode="spline" dur="1.5s" keySplines="0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8" repeatCount="indefinite" values="0;2;0;0"></animate></circle>', 3), eo = [
1371
+ Qn
1293
1372
  ];
1294
- function jn(e, t) {
1295
- return p(), b("svg", zn, Un);
1373
+ function to(e, t) {
1374
+ return g(), C("svg", Jn, eo);
1296
1375
  }
1297
- const rt = /* @__PURE__ */ J(Wn, [["render", jn]]), Kn = {
1376
+ const at = /* @__PURE__ */ te(qn, [["render", to]]), no = {
1298
1377
  class: "bg-base-100 tooltip tooltip-top before:!bottom-[100%] before:!bg-base-100 before:!border before:!border-solid before:!border-base-300 before:!shadow-lg before:!rounded-md before:!text-base-content after:!border-transparent",
1299
1378
  "data-tip": "AI Translate"
1300
- }, Gn = ["disabled"], Xn = /* @__PURE__ */ y("path", {
1379
+ }, oo = ["disabled"], io = /* @__PURE__ */ w("path", {
1301
1380
  d: "M6.8544 3.20309C5.39975 2.89815 4.26277 1.76117 3.95787 0.30649C3.92042 0.12792 3.76292 0 3.58041 0C3.3979 0 3.2404 0.12792 3.20297 0.30652C2.89805 1.76117 1.76107 2.89812 0.306418 3.20302C0.127818 3.24045 -0.00012207 3.39798 -0.00012207 3.58046C-0.00012207 3.76295 0.127798 3.92047 0.306418 3.9579C1.76105 4.26285 2.89798 5.3998 3.2029 6.85448C3.24033 7.03307 3.39783 7.16102 3.58034 7.16102C3.76282 7.16102 3.92035 7.0331 3.95778 6.85448C4.26272 5.39983 5.39973 4.26287 6.85438 3.95799C7.03297 3.92056 7.16092 3.76306 7.16092 3.58056C7.1609 3.39805 7.03297 3.24052 6.8544 3.20309ZM3.58036 5.60938C3.14292 4.73132 2.42956 4.01792 1.55151 3.58049C2.42958 3.14305 3.14297 2.42968 3.58041 1.55161C4.01785 2.4297 4.73122 3.14307 5.60926 3.58053C4.73119 4.01797 4.0178 4.73132 3.58036 5.60938Z",
1302
1381
  fill: "currentColor"
1303
- }, null, -1), qn = /* @__PURE__ */ y("path", {
1382
+ }, null, -1), so = /* @__PURE__ */ w("path", {
1304
1383
  d: "M6.21683 9.574C5.53147 9.4303 4.99578 8.8947 4.85209 8.2093C4.81466 8.0307 4.65716 7.90271 4.47465 7.90271C4.29217 7.90271 4.13464 8.0306 4.09721 8.2092C3.95352 8.8946 3.4178 9.4303 2.73244 9.574C2.55385 9.6114 2.4259 9.7689 2.4259 9.9514C2.4259 10.1339 2.55383 10.2914 2.73244 10.3288C3.41778 10.4725 3.95349 11.0082 4.09716 11.6936C4.13459 11.8722 4.2921 12.0002 4.4746 12.0002C4.65709 12.0002 4.81461 11.8723 4.85204 11.6936C4.99574 11.0082 5.53145 10.4725 6.21683 10.3289C6.39543 10.2914 6.52337 10.1339 6.52337 9.9514C6.52337 9.7689 6.39545 9.6114 6.21683 9.574ZM4.47463 10.6408C4.29163 10.3688 4.05725 10.1345 3.78526 9.9515C4.0573 9.7684 4.29163 9.5341 4.47463 9.2621C4.65765 9.5341 4.892 9.7685 5.164 9.9515C4.892 10.1345 4.65763 10.3688 4.47463 10.6408Z",
1305
1384
  fill: "currentColor"
1306
- }, null, -1), Yn = /* @__PURE__ */ y("path", {
1385
+ }, null, -1), lo = /* @__PURE__ */ w("path", {
1307
1386
  d: "M11.4271 6.00324C10.5007 5.80904 9.7766 5.08496 9.5825 4.15859C9.545 3.98 9.3875 3.85205 9.205 3.85205C9.0225 3.85205 8.865 3.97995 8.8276 4.15857C8.6334 5.08496 7.90932 5.80902 6.98293 6.0032C6.80434 6.04063 6.67639 6.19815 6.67639 6.38064C6.67639 6.56312 6.80431 6.72062 6.98293 6.75807C7.9093 6.95228 8.6334 7.67633 8.8275 8.6027C8.865 8.7813 9.0225 8.9093 9.205 8.9093C9.3875 8.9093 9.545 8.7814 9.5824 8.6027C9.7766 7.67633 10.5007 6.95228 11.4271 6.75812C11.6057 6.72067 11.7336 6.56317 11.7336 6.38068C11.7336 6.1982 11.6057 6.04067 11.4271 6.00324ZM9.205 7.47681C8.9365 7.02634 8.5593 6.64914 8.1089 6.38066C8.5593 6.11218 8.9365 5.73502 9.205 5.28453C9.4735 5.73502 9.8507 6.11221 10.3012 6.38068C9.8507 6.64916 9.4735 7.02636 9.205 7.47681Z",
1308
1387
  fill: "currentColor"
1309
- }, null, -1), Jn = [
1310
- Xn,
1311
- qn,
1312
- Yn
1313
- ], Qn = /* @__PURE__ */ Ae('<path d="M6.8544 3.20309C5.39975 2.89815 4.26277 1.76117 3.95787 0.30649C3.92042 0.12792 3.76292 0 3.58041 0C3.3979 0 3.2404 0.12792 3.20297 0.30652C2.89805 1.76117 1.76107 2.89812 0.306418 3.20302C0.127818 3.24045 -0.00012207 3.39798 -0.00012207 3.58046C-0.00012207 3.76295 0.127798 3.92047 0.306418 3.9579C1.76105 4.26285 2.89798 5.3998 3.2029 6.85448C3.24033 7.03307 3.39783 7.16102 3.58034 7.16102C3.76282 7.16102 3.92035 7.0331 3.95778 6.85448C4.26272 5.39983 5.39973 4.26287 6.85438 3.95799C7.03297 3.92056 7.16092 3.76306 7.16092 3.58056C7.1609 3.39805 7.03297 3.24052 6.8544 3.20309ZM3.58036 5.60938C3.14292 4.73132 2.42956 4.01792 1.55151 3.58049C2.42958 3.14305 3.14297 2.42968 3.58041 1.55161C4.01785 2.4297 4.73122 3.14307 5.60926 3.58053C4.73119 4.01797 4.0178 4.73132 3.58036 5.60938Z" fill="currentColor"></path><path d="M6.21683 9.574C5.53147 9.4303 4.99578 8.8947 4.85209 8.2093C4.81466 8.0307 4.65716 7.90271 4.47465 7.90271C4.29217 7.90271 4.13464 8.0306 4.09721 8.2092C3.95352 8.8946 3.4178 9.4303 2.73244 9.574C2.55385 9.6114 2.4259 9.7689 2.4259 9.9514C2.4259 10.1339 2.55383 10.2914 2.73244 10.3288C3.41778 10.4725 3.95349 11.0082 4.09716 11.6936C4.13459 11.8722 4.2921 12.0002 4.4746 12.0002C4.65709 12.0002 4.81461 11.8723 4.85204 11.6936C4.99574 11.0082 5.53145 10.4725 6.21683 10.3289C6.39543 10.2914 6.52337 10.1339 6.52337 9.9514C6.52337 9.7689 6.39545 9.6114 6.21683 9.574ZM4.47463 10.6408C4.29163 10.3688 4.05725 10.1345 3.78526 9.9515C4.0573 9.7684 4.29163 9.5341 4.47463 9.2621C4.65765 9.5341 4.892 9.7685 5.164 9.9515C4.892 10.1345 4.65763 10.3688 4.47463 10.6408Z" fill="currentColor"></path><path d="M11.4271 6.00324C10.5007 5.80904 9.7766 5.08496 9.5825 4.15859C9.545 3.98 9.3875 3.85205 9.205 3.85205C9.0225 3.85205 8.865 3.97995 8.8276 4.15857C8.6334 5.08496 7.90932 5.80902 6.98293 6.0032C6.80434 6.04063 6.67639 6.19815 6.67639 6.38064C6.67639 6.56312 6.80431 6.72062 6.98293 6.75807C7.9093 6.95228 8.6334 7.67633 8.8275 8.6027C8.865 8.7813 9.0225 8.9093 9.205 8.9093C9.3875 8.9093 9.545 8.7814 9.5824 8.6027C9.7766 7.67633 10.5007 6.95228 11.4271 6.75812C11.6057 6.72067 11.7336 6.56317 11.7336 6.38068C11.7336 6.1982 11.6057 6.04067 11.4271 6.00324ZM9.205 7.47681C8.9365 7.02634 8.5593 6.64914 8.1089 6.38066C8.5593 6.11218 8.9365 5.73502 9.205 5.28453C9.4735 5.73502 9.8507 6.11221 10.3012 6.38068C9.8507 6.64916 9.4735 7.02636 9.205 7.47681Z" fill="currentColor"></path><circle cx="3.5" cy="3.5" r="1.5" fill="currentColor"></circle><ellipse cx="4.5" cy="10" rx="0.5" ry="1" fill="currentColor"></ellipse><circle cx="9" cy="6" r="1" fill="currentColor"></circle>', 6), e1 = [
1314
- Qn
1315
- ], t1 = {
1388
+ }, null, -1), ro = [
1389
+ io,
1390
+ so,
1391
+ lo
1392
+ ], ao = /* @__PURE__ */ Be('<path d="M6.8544 3.20309C5.39975 2.89815 4.26277 1.76117 3.95787 0.30649C3.92042 0.12792 3.76292 0 3.58041 0C3.3979 0 3.2404 0.12792 3.20297 0.30652C2.89805 1.76117 1.76107 2.89812 0.306418 3.20302C0.127818 3.24045 -0.00012207 3.39798 -0.00012207 3.58046C-0.00012207 3.76295 0.127798 3.92047 0.306418 3.9579C1.76105 4.26285 2.89798 5.3998 3.2029 6.85448C3.24033 7.03307 3.39783 7.16102 3.58034 7.16102C3.76282 7.16102 3.92035 7.0331 3.95778 6.85448C4.26272 5.39983 5.39973 4.26287 6.85438 3.95799C7.03297 3.92056 7.16092 3.76306 7.16092 3.58056C7.1609 3.39805 7.03297 3.24052 6.8544 3.20309ZM3.58036 5.60938C3.14292 4.73132 2.42956 4.01792 1.55151 3.58049C2.42958 3.14305 3.14297 2.42968 3.58041 1.55161C4.01785 2.4297 4.73122 3.14307 5.60926 3.58053C4.73119 4.01797 4.0178 4.73132 3.58036 5.60938Z" fill="currentColor"></path><path d="M6.21683 9.574C5.53147 9.4303 4.99578 8.8947 4.85209 8.2093C4.81466 8.0307 4.65716 7.90271 4.47465 7.90271C4.29217 7.90271 4.13464 8.0306 4.09721 8.2092C3.95352 8.8946 3.4178 9.4303 2.73244 9.574C2.55385 9.6114 2.4259 9.7689 2.4259 9.9514C2.4259 10.1339 2.55383 10.2914 2.73244 10.3288C3.41778 10.4725 3.95349 11.0082 4.09716 11.6936C4.13459 11.8722 4.2921 12.0002 4.4746 12.0002C4.65709 12.0002 4.81461 11.8723 4.85204 11.6936C4.99574 11.0082 5.53145 10.4725 6.21683 10.3289C6.39543 10.2914 6.52337 10.1339 6.52337 9.9514C6.52337 9.7689 6.39545 9.6114 6.21683 9.574ZM4.47463 10.6408C4.29163 10.3688 4.05725 10.1345 3.78526 9.9515C4.0573 9.7684 4.29163 9.5341 4.47463 9.2621C4.65765 9.5341 4.892 9.7685 5.164 9.9515C4.892 10.1345 4.65763 10.3688 4.47463 10.6408Z" fill="currentColor"></path><path d="M11.4271 6.00324C10.5007 5.80904 9.7766 5.08496 9.5825 4.15859C9.545 3.98 9.3875 3.85205 9.205 3.85205C9.0225 3.85205 8.865 3.97995 8.8276 4.15857C8.6334 5.08496 7.90932 5.80902 6.98293 6.0032C6.80434 6.04063 6.67639 6.19815 6.67639 6.38064C6.67639 6.56312 6.80431 6.72062 6.98293 6.75807C7.9093 6.95228 8.6334 7.67633 8.8275 8.6027C8.865 8.7813 9.0225 8.9093 9.205 8.9093C9.3875 8.9093 9.545 8.7814 9.5824 8.6027C9.7766 7.67633 10.5007 6.95228 11.4271 6.75812C11.6057 6.72067 11.7336 6.56317 11.7336 6.38068C11.7336 6.1982 11.6057 6.04067 11.4271 6.00324ZM9.205 7.47681C8.9365 7.02634 8.5593 6.64914 8.1089 6.38066C8.5593 6.11218 8.9365 5.73502 9.205 5.28453C9.4735 5.73502 9.8507 6.11221 10.3012 6.38068C9.8507 6.64916 9.4735 7.02636 9.205 7.47681Z" fill="currentColor"></path><circle cx="3.5" cy="3.5" r="1.5" fill="currentColor"></circle><ellipse cx="4.5" cy="10" rx="0.5" ry="1" fill="currentColor"></ellipse><circle cx="9" cy="6" r="1" fill="currentColor"></circle>', 6), co = [
1393
+ ao
1394
+ ], uo = {
1316
1395
  __name: "AITranslateBtn",
1317
1396
  props: {
1318
1397
  isLoading: Boolean,
@@ -1320,58 +1399,58 @@ const rt = /* @__PURE__ */ J(Wn, [["render", jn]]), Kn = {
1320
1399
  isFilled: Boolean
1321
1400
  },
1322
1401
  setup(e) {
1323
- return (t, n) => (p(), b("div", Kn, [
1324
- e.isLoading ? (p(), I(rt, {
1402
+ return (t, n) => (g(), C("div", no, [
1403
+ e.isLoading ? (g(), V(at, {
1325
1404
  key: 0,
1326
1405
  class: "inset-0 flex items-center justify-center"
1327
- })) : (p(), b("button", {
1406
+ })) : (g(), C("button", {
1328
1407
  key: 1,
1329
- class: A(["btn btn-xs btn-circle", [
1408
+ class: k(["btn btn-xs btn-circle", [
1330
1409
  { "btn-ghost": !e.disabled },
1331
1410
  { "!bg-transparent !border-none !shadow-none !ring-0": e.disabled }
1332
1411
  ]]),
1333
1412
  disabled: e.disabled
1334
1413
  }, [
1335
- e.isFilled ? (p(), b("svg", {
1414
+ e.isFilled ? (g(), C("svg", {
1336
1415
  key: 1,
1337
- class: A(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1416
+ class: k(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1338
1417
  viewBox: "0 0 12 12",
1339
1418
  fill: "none",
1340
1419
  xmlns: "http://www.w3.org/2000/svg"
1341
- }, e1, 2)) : (p(), b("svg", {
1420
+ }, co, 2)) : (g(), C("svg", {
1342
1421
  key: 0,
1343
- class: A(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1422
+ class: k(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1344
1423
  viewBox: "0 0 12 12",
1345
1424
  fill: "none",
1346
1425
  xmlns: "http://www.w3.org/2000/svg"
1347
- }, Jn, 2))
1348
- ], 10, Gn))
1426
+ }, ro, 2))
1427
+ ], 10, oo))
1349
1428
  ]));
1350
1429
  }
1351
- }, n1 = {
1430
+ }, fo = {
1352
1431
  class: "bg-base-100 tooltip tooltip-top before:!bottom-[100%] before:!bg-base-100 before:!border before:!border-solid before:!border-base-300 before:!shadow-lg before:!rounded-md before:!text-base-content after:!border-transparent",
1353
1432
  "data-tip": "AI Summarize"
1354
- }, i1 = ["disabled"], o1 = /* @__PURE__ */ y("path", {
1433
+ }, mo = ["disabled"], ho = /* @__PURE__ */ w("path", {
1355
1434
  stroke: "currentColor",
1356
1435
  "stroke-linecap": "round",
1357
1436
  "stroke-linejoin": "round",
1358
1437
  "stroke-width": "2",
1359
1438
  d: "M21 12h1m-3.5-6.5 1-1M12 3V2M5.5 5.5l-1-1M3 12H2m8 10h4m3-10a5 5 0 1 0-7 4.584V19h4v-2.416A5.001 5.001 0 0 0 17 12z"
1360
- }, null, -1), s1 = [
1361
- o1
1362
- ], l1 = /* @__PURE__ */ y("path", {
1439
+ }, null, -1), go = [
1440
+ ho
1441
+ ], po = /* @__PURE__ */ w("path", {
1363
1442
  fill: "currentColor",
1364
1443
  d: "M12 7a5 5 0 0 0-2 9.584V19h4v-2.416A5.001 5.001 0 0 0 12 7z"
1365
- }, null, -1), r1 = /* @__PURE__ */ y("path", {
1444
+ }, null, -1), Co = /* @__PURE__ */ w("path", {
1366
1445
  stroke: "currentColor",
1367
1446
  "stroke-linecap": "round",
1368
1447
  "stroke-linejoin": "round",
1369
1448
  "stroke-width": "2",
1370
1449
  d: "M21 12h1m-3.5-6.5 1-1M12 3V2M5.5 5.5l-1-1M3 12H2m8 10h4m3-10a5 5 0 1 0-7 4.584V19h4v-2.416A5.001 5.001 0 0 0 17 12z"
1371
- }, null, -1), a1 = [
1372
- l1,
1373
- r1
1374
- ], c1 = {
1450
+ }, null, -1), vo = [
1451
+ po,
1452
+ Co
1453
+ ], bo = {
1375
1454
  __name: "AIExplainBtn",
1376
1455
  props: {
1377
1456
  isLoading: Boolean,
@@ -1379,76 +1458,76 @@ const rt = /* @__PURE__ */ J(Wn, [["render", jn]]), Kn = {
1379
1458
  isFilled: Boolean
1380
1459
  },
1381
1460
  setup(e) {
1382
- return (t, n) => (p(), b("div", n1, [
1383
- e.isLoading ? (p(), I(rt, { key: 0 })) : (p(), b("button", {
1461
+ return (t, n) => (g(), C("div", fo, [
1462
+ e.isLoading ? (g(), V(at, { key: 0 })) : (g(), C("button", {
1384
1463
  key: 1,
1385
- class: A(["btn btn-xs btn-circle", [
1464
+ class: k(["btn btn-xs btn-circle", [
1386
1465
  { "btn-ghost": !e.disabled },
1387
1466
  { "!bg-transparent !border-none !shadow-none !ring-0": e.disabled }
1388
1467
  ]]),
1389
1468
  disabled: e.disabled
1390
1469
  }, [
1391
- e.isFilled ? (p(), b("svg", {
1470
+ e.isFilled ? (g(), C("svg", {
1392
1471
  key: 1,
1393
- class: A(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1472
+ class: k(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1394
1473
  viewBox: "0 0 24 24",
1395
1474
  fill: "none",
1396
1475
  xmlns: "http://www.w3.org/2000/svg"
1397
- }, a1, 2)) : (p(), b("svg", {
1476
+ }, vo, 2)) : (g(), C("svg", {
1398
1477
  key: 0,
1399
- class: A(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1478
+ class: k(["w-4 h-4 text-primary", [{ "opacity-100": !e.disabled }, { "opacity-50 transform": e.disabled }]]),
1400
1479
  viewBox: "0 0 24 24",
1401
1480
  fill: "none",
1402
1481
  xmlns: "http://www.w3.org/2000/svg"
1403
- }, s1, 2))
1404
- ], 10, i1))
1482
+ }, go, 2))
1483
+ ], 10, mo))
1405
1484
  ]));
1406
1485
  }
1407
- }, d1 = {}, u1 = { class: "btn btn-xs btn-ghost btn-circle" }, f1 = /* @__PURE__ */ y("svg", {
1486
+ }, wo = {}, yo = { class: "btn btn-xs btn-ghost btn-circle" }, xo = /* @__PURE__ */ w("svg", {
1408
1487
  class: "w-4 h-4 text-primary",
1409
1488
  viewBox: "0 0 24 24",
1410
1489
  fill: "none",
1411
1490
  xmlns: "http://www.w3.org/2000/svg"
1412
1491
  }, [
1413
- /* @__PURE__ */ y("path", {
1492
+ /* @__PURE__ */ w("path", {
1414
1493
  d: "M9.12596 1.63869C9.46935 1.54364 9.83221 1.70329 9.99413 2.02068C10.3672 2.75191 11.1261 3.25 12 3.25C12.8739 3.25 13.6328 2.75191 14.0059 2.02068C14.1678 1.70329 14.5307 1.54364 14.874 1.63869C16.5585 2.10497 18.0759 2.9704 19.3184 4.12574C19.5611 4.35137 19.6269 4.70948 19.4804 5.00666C19.3331 5.30535 19.25 5.6419 19.25 6C19.25 7.24263 20.2574 8.25 21.5 8.25L21.5314 8.24977C21.8629 8.24504 22.1583 8.45859 22.2576 8.77495C22.5777 9.79397 22.75 10.8776 22.75 12C22.75 12.7408 22.6749 13.4649 22.5318 14.1648C22.4548 14.5411 22.1059 14.7985 21.7237 14.7609C21.6504 14.7537 21.5758 14.75 21.5 14.75C20.2574 14.75 19.25 15.7574 19.25 17C19.25 17.5531 19.4486 18.0579 19.7793 18.4498C20.027 18.7434 20.0128 19.1767 19.7465 19.4535C18.4777 20.7719 16.8745 21.7678 15.0721 22.3044C14.6807 22.4209 14.2681 22.2029 14.1437 21.814C13.8535 20.906 13.0024 20.25 12 20.25C10.9976 20.25 10.1465 20.906 9.85629 21.814C9.73195 22.2029 9.31927 22.4209 8.92789 22.3044C7.12545 21.7678 5.52229 20.7719 4.25353 19.4535C3.98716 19.1767 3.97299 18.7434 4.22072 18.4498C4.55139 18.0579 4.75 17.5531 4.75 17C4.75 15.7574 3.74264 14.75 2.5 14.75C2.42423 14.75 2.34963 14.7537 2.27634 14.7609C1.89406 14.7985 1.54519 14.5411 1.46821 14.1648C1.32505 13.4649 1.25 12.7408 1.25 12C1.25 10.8776 1.42227 9.79398 1.74236 8.77494C1.84173 8.45859 2.13705 8.24504 2.4686 8.24977L2.5 8.25C3.74264 8.25 4.75 7.24263 4.75 6C4.75 5.6419 4.66689 5.30535 4.51962 5.00666C4.3731 4.70948 4.43894 4.35137 4.68159 4.12574C5.92411 2.9704 7.44153 2.10497 9.12596 1.63869ZM6.08277 4.88991C6.19152 5.24123 6.25 5.61424 6.25 6C6.25 7.88945 4.85261 9.45253 3.03493 9.71213C2.84898 10.4432 2.75 11.2096 2.75 12C2.75 12.4294 2.77921 12.8516 2.83567 13.2648C4.74948 13.4346 6.25 15.0421 6.25 17C6.25 17.6669 6.0754 18.2941 5.76971 18.8372C6.62645 19.6184 7.63002 20.2404 8.73362 20.657C9.37706 19.5189 10.598 18.75 12 18.75C13.402 18.75 14.6229 19.5189 15.2664 20.657C16.37 20.2404 17.3735 19.6184 18.2303 18.8372C17.9246 18.2941 17.75 17.6669 17.75 17C17.75 15.0421 19.2505 13.4346 21.1643 13.2648C21.2208 12.8516 21.25 12.4294 21.25 12C21.25 11.2096 21.151 10.4432 20.9651 9.71213C19.1474 9.45252 17.75 7.88945 17.75 6C17.75 5.61424 17.8085 5.24123 17.9172 4.88991C17.0618 4.1771 16.0762 3.61614 15.0018 3.24775C14.3184 4.15897 13.2287 4.75 12 4.75C10.7713 4.75 9.68158 4.15897 8.99819 3.24775C7.92382 3.61614 6.93823 4.1771 6.08277 4.88991Z",
1415
1494
  fill: "currentColor"
1416
1495
  }),
1417
- /* @__PURE__ */ y("path", {
1496
+ /* @__PURE__ */ w("path", {
1418
1497
  d: "M7.75 12C7.75 9.65278 9.65279 7.75 12 7.75C14.3472 7.75 16.25 9.65278 16.25 12C16.25 14.3472 14.3472 16.25 12 16.25C9.65279 16.25 7.75 14.3472 7.75 12ZM12 9.25C10.4812 9.25 9.25 10.4812 9.25 12C9.25 13.5188 10.4812 14.75 12 14.75C13.5188 14.75 14.75 13.5188 14.75 12C14.75 10.4812 13.5188 9.25 12 9.25Z",
1419
1498
  fill: "currentColor"
1420
1499
  })
1421
- ], -1), m1 = [
1422
- f1
1500
+ ], -1), Lo = [
1501
+ xo
1423
1502
  ];
1424
- function h1(e, t) {
1425
- return p(), b("button", u1, m1);
1503
+ function So(e, t) {
1504
+ return g(), C("button", yo, Lo);
1426
1505
  }
1427
- const C1 = /* @__PURE__ */ J(d1, [["render", h1]]), g1 = {}, p1 = { class: "btn btn-xs btn-circle btn-ghost" }, v1 = /* @__PURE__ */ y("svg", {
1506
+ const To = /* @__PURE__ */ te(wo, [["render", So]]), Ao = {}, Eo = { class: "btn btn-xs btn-circle btn-ghost" }, $o = /* @__PURE__ */ w("svg", {
1428
1507
  class: "w-4 h-4 text-primary",
1429
1508
  viewBox: "0 0 16 16",
1430
1509
  fill: "none",
1431
1510
  xmlns: "http://www.w3.org/2000/svg"
1432
1511
  }, [
1433
- /* @__PURE__ */ y("path", {
1512
+ /* @__PURE__ */ w("path", {
1434
1513
  "fill-rule": "evenodd",
1435
1514
  "clip-rule": "evenodd",
1436
1515
  d: "M3.19102 3.19102C3.44571 2.93633 3.85864 2.93633 4.11333 3.19102L12.809 11.8867C13.0637 12.1414 13.0637 12.5543 12.809 12.809C12.5543 13.0637 12.1414 13.0637 11.8867 12.809L3.19102 4.11333C2.93633 3.85864 2.93633 3.44571 3.19102 3.19102Z",
1437
1516
  fill: "currentColor"
1438
1517
  }),
1439
- /* @__PURE__ */ y("path", {
1518
+ /* @__PURE__ */ w("path", {
1440
1519
  "fill-rule": "evenodd",
1441
1520
  "clip-rule": "evenodd",
1442
1521
  d: "M12.809 3.19102C13.0637 3.44571 13.0637 3.85864 12.809 4.11333L4.11333 12.809C3.85864 13.0637 3.44571 13.0637 3.19102 12.809C2.93633 12.5543 2.93633 12.1414 3.19102 11.8867L11.8867 3.19102C12.1414 2.93633 12.5543 2.93633 12.809 3.19102Z",
1443
1522
  fill: "currentColor"
1444
1523
  })
1445
- ], -1), b1 = [
1446
- v1
1524
+ ], -1), ko = [
1525
+ $o
1447
1526
  ];
1448
- function w1(e, t) {
1449
- return p(), b("button", p1, b1);
1527
+ function Bo(e, t) {
1528
+ return g(), C("button", Eo, ko);
1450
1529
  }
1451
- const x1 = /* @__PURE__ */ J(g1, [["render", w1]]), y1 = {
1530
+ const Io = /* @__PURE__ */ te(Ao, [["render", Bo]]), Mo = {
1452
1531
  name: "ThemeSelector",
1453
1532
  props: {
1454
1533
  currentTheme: {
@@ -1477,56 +1556,63 @@ const x1 = /* @__PURE__ */ J(g1, [["render", w1]]), y1 = {
1477
1556
  methods: {
1478
1557
  handleThemeChange(e) {
1479
1558
  this.$emit("themeChange", e);
1559
+ },
1560
+ handleLabelClick(e) {
1561
+ e.stopPropagation(), this.$nextTick(() => {
1562
+ const t = this.$el.querySelector('[role="button"]');
1563
+ t && t.blur();
1564
+ });
1480
1565
  }
1481
1566
  }
1482
- }, L1 = { class: "dropdown dropdown-end z-50" }, T1 = /* @__PURE__ */ y("div", {
1567
+ }, Ro = { class: "dropdown dropdown-end z-50" }, Fo = /* @__PURE__ */ w("div", {
1483
1568
  tabindex: "0",
1484
1569
  role: "button",
1485
1570
  class: "btn btn-ghost btn-circle btn-xs"
1486
1571
  }, [
1487
- /* @__PURE__ */ y("svg", {
1572
+ /* @__PURE__ */ w("svg", {
1488
1573
  class: "w-4 h-4 text-primary",
1489
1574
  fill: "currentColor",
1490
1575
  viewBox: "0 0 20 20"
1491
1576
  }, [
1492
- /* @__PURE__ */ y("path", { d: "M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z" })
1577
+ /* @__PURE__ */ w("path", { d: "M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z" })
1493
1578
  ])
1494
- ], -1), S1 = {
1579
+ ], -1), Oo = {
1495
1580
  tabindex: "0",
1496
1581
  class: "dropdown-content menu p-2 shadow bg-base-100 rounded-box w-52 max-h-96 overflow-y-auto z-50 border border-base-300"
1497
- }, A1 = ["id", "value", "checked", "onChange"], $1 = ["for"], E1 = { class: "flex items-center gap-2" };
1498
- function k1(e, t, n, i, o, s) {
1499
- return p(), b("div", L1, [
1500
- T1,
1501
- y("ul", S1, [
1502
- (p(!0), b(ue, null, we(o.availableThemes, (l) => (p(), b("li", {
1503
- key: l.value
1582
+ }, Do = ["id", "value", "checked", "onChange"], _o = ["for"], Vo = { class: "flex items-center gap-2" };
1583
+ function Po(e, t, n, o, i, l) {
1584
+ return g(), C("div", Ro, [
1585
+ Fo,
1586
+ w("ul", Oo, [
1587
+ (g(!0), C(he, null, Le(i.availableThemes, (s) => (g(), C("li", {
1588
+ key: s.value
1504
1589
  }, [
1505
- y("input", {
1590
+ w("input", {
1506
1591
  type: "radio",
1507
- id: `theme-${l.value}`,
1508
- value: l.value,
1509
- checked: n.currentTheme === l.value,
1510
- onChange: (a) => s.handleThemeChange(l.value),
1592
+ id: `theme-${s.value}`,
1593
+ value: s.value,
1594
+ checked: n.currentTheme === s.value,
1595
+ onChange: (a) => l.handleThemeChange(s.value),
1511
1596
  class: "theme-controller sr-only"
1512
- }, null, 40, A1),
1513
- y("label", {
1514
- for: `theme-${l.value}`,
1515
- class: A(["cursor-pointer rounded-lg px-2 py-1 hover:bg-base-200", { "bg-primary text-primary-content": n.currentTheme === l.value }])
1597
+ }, null, 40, Do),
1598
+ w("label", {
1599
+ for: `theme-${s.value}`,
1600
+ class: k(["cursor-pointer rounded-lg px-2 py-1 hover:bg-base-200", { "bg-primary text-primary-content": n.currentTheme === s.value }]),
1601
+ onClick: t[0] || (t[0] = (...a) => l.handleLabelClick && l.handleLabelClick(...a))
1516
1602
  }, [
1517
- y("span", E1, [
1518
- y("span", {
1603
+ w("span", Vo, [
1604
+ w("span", {
1519
1605
  class: "w-3 h-3 rounded-full",
1520
- style: Xe({ backgroundColor: l.color })
1606
+ style: $e({ backgroundColor: s.color })
1521
1607
  }, null, 4),
1522
- ft(" " + ce(l.name), 1)
1608
+ fe(" " + ue(s.name), 1)
1523
1609
  ])
1524
- ], 10, $1)
1610
+ ], 10, _o)
1525
1611
  ]))), 128))
1526
1612
  ])
1527
1613
  ]);
1528
1614
  }
1529
- const R1 = /* @__PURE__ */ J(y1, [["render", k1]]), I1 = { class: "flex flex-col" }, B1 = { class: "flex p-2 pt-2 pb-1 flex-row justify-between" }, M1 = { class: "flex justify-start items-center" }, F1 = { class: "flex items-center gap-1" }, O1 = /* @__PURE__ */ y("div", { class: "w-5" }, null, -1), _1 = { class: "flex justify-end items-center" }, Ze = {
1615
+ const No = /* @__PURE__ */ te(Mo, [["render", Po]]), Ho = { class: "flex flex-col" }, Wo = { class: "flex justify-start items-center" }, zo = { class: "flex items-center gap-1" }, Uo = /* @__PURE__ */ w("div", { class: "w-5" }, null, -1), Zo = { class: "flex justify-end items-center" }, je = {
1530
1616
  __name: "Header",
1531
1617
  props: {
1532
1618
  tts: String,
@@ -1555,72 +1641,81 @@ const R1 = /* @__PURE__ */ J(y1, [["render", k1]]), I1 = { class: "flex flex-col
1555
1641
  "loadTTS",
1556
1642
  "aiTranslate",
1557
1643
  "aiExplain",
1558
- "themeChange"
1644
+ "themeChange",
1645
+ "dragStart"
1559
1646
  ],
1560
1647
  setup(e, { emit: t }) {
1561
- const n = e, i = t;
1562
- return (o, s) => (p(), b("div", I1, [
1563
- y("div", B1, [
1564
- y("div", M1, [
1565
- e.isServiceUnavailable ? M("", !0) : (p(), I(Fn, {
1648
+ const n = e, o = t, i = (s) => {
1649
+ s.target.closest('button, input, select, textarea, [role="button"]') || (o("dragStart", { type: "mouse", event: s }), s.preventDefault());
1650
+ }, l = (s) => {
1651
+ s.target.closest('button, input, select, textarea, [role="button"]') || (o("dragStart", { type: "touch", event: s }), s.preventDefault());
1652
+ };
1653
+ return (s, a) => (g(), C("div", Ho, [
1654
+ w("div", {
1655
+ class: "flex p-2 pt-2 pb-1 flex-row justify-between cursor-grab active:cursor-grabbing",
1656
+ onMousedown: i,
1657
+ onTouchstart: l
1658
+ }, [
1659
+ w("div", Wo, [
1660
+ e.isServiceUnavailable ? R("", !0) : (g(), V(zn, {
1566
1661
  key: 0,
1567
1662
  disabled: e.isAITranslationLoading || e.isAIExplainLoading,
1568
1663
  tts: n.tts,
1569
- onLoadTTS: s[0] || (s[0] = (l) => o.$emit("loadTTS"))
1664
+ onLoadTTS: a[0] || (a[0] = (r) => s.$emit("loadTTS"))
1570
1665
  }, null, 8, ["disabled", "tts"]))
1571
1666
  ]),
1572
- y("div", F1, [
1573
- O1,
1574
- !e.isServiceUnavailable && e.isAITranslateVisible ? (p(), I(t1, {
1667
+ w("div", zo, [
1668
+ Uo,
1669
+ !e.isServiceUnavailable && e.isAITranslateVisible ? (g(), V(uo, {
1575
1670
  key: 0,
1576
1671
  isLoading: e.isAITranslationLoading,
1577
1672
  isFilled: e.isAITranslate,
1578
- onClick: s[1] || (s[1] = (l) => i("aiTranslate"))
1579
- }, null, 8, ["isLoading", "isFilled"])) : M("", !0),
1580
- !e.isServiceUnavailable && e.isAIExplainVisible ? (p(), I(c1, {
1673
+ onClick: a[1] || (a[1] = (r) => o("aiTranslate"))
1674
+ }, null, 8, ["isLoading", "isFilled"])) : R("", !0),
1675
+ !e.isServiceUnavailable && e.isAIExplainVisible ? (g(), V(bo, {
1581
1676
  key: 1,
1582
1677
  isLoading: e.isAIExplainLoading,
1583
1678
  isFilled: e.isAIExplain,
1584
- onClick: s[2] || (s[2] = (l) => i("aiExplain"))
1585
- }, null, 8, ["isLoading", "isFilled"])) : M("", !0),
1586
- !e.isServiceUnavailable && n.isFavoriteFeatureEnabled ? (p(), I(Hn, {
1679
+ onClick: a[2] || (a[2] = (r) => o("aiExplain"))
1680
+ }, null, 8, ["isLoading", "isFilled"])) : R("", !0),
1681
+ !e.isServiceUnavailable && n.isFavoriteFeatureEnabled ? (g(), V(Gn, {
1587
1682
  key: 2,
1588
1683
  isFilled: n.isFavorite,
1589
- onClick: s[3] || (s[3] = (l) => i("favorite")),
1684
+ onClick: a[3] || (a[3] = (r) => o("favorite")),
1590
1685
  disabled: e.isAITranslationLoading || e.isAIExplainLoading
1591
- }, null, 8, ["isFilled", "disabled"])) : M("", !0)
1686
+ }, null, 8, ["isFilled", "disabled"])) : R("", !0)
1592
1687
  ]),
1593
- y("div", _1, [
1594
- e.showThemeSelector ? (p(), I(R1, {
1688
+ w("div", Zo, [
1689
+ e.showThemeSelector ? (g(), V(No, {
1595
1690
  key: 0,
1596
1691
  "current-theme": e.theme,
1597
- onThemeChange: s[4] || (s[4] = (l) => i("themeChange", l))
1598
- }, null, 8, ["current-theme"])) : M("", !0),
1599
- Z(C1, {
1600
- onClick: s[5] || (s[5] = (l) => i("setting"))
1692
+ onThemeChange: a[4] || (a[4] = (r) => o("themeChange", r))
1693
+ }, null, 8, ["current-theme"])) : R("", !0),
1694
+ N(To, {
1695
+ onClick: a[5] || (a[5] = (r) => o("setting"))
1601
1696
  }),
1602
- Z(x1, {
1603
- onClick: s[6] || (s[6] = (l) => i("close"))
1697
+ N(Io, {
1698
+ onClick: a[6] || (a[6] = (r) => o("close"))
1604
1699
  })
1605
1700
  ])
1606
- ])
1701
+ ], 32)
1607
1702
  ]));
1608
1703
  }
1609
- }, ae = {
1704
+ }, de = {
1610
1705
  LOGO: "LOGO",
1611
1706
  LOADING: "LOADING",
1612
1707
  DATA: "DATA",
1613
1708
  ERROR: "ERROR",
1614
1709
  HIDDEN: "HIDDEN"
1615
- }, Ue = 500, D1 = ["ar", "fa", "iw", "yi", "ur", "pa"], V1 = {
1710
+ }, Ke = 500, jo = ["ar", "fa", "iw", "yi", "ur", "pa"], Ko = {
1616
1711
  key: 0,
1617
1712
  class: "flex justify-center"
1618
- }, N1 = {
1713
+ }, Xo = {
1619
1714
  key: 1,
1620
1715
  class: "flex justify-center"
1621
- }, P1 = {
1622
- class: /* @__PURE__ */ A(["bg-base-100 rounded-md relative z-10"])
1623
- }, H1 = { class: "p-3 border-t border-base-300" }, W1 = {
1716
+ }, Yo = {
1717
+ class: /* @__PURE__ */ k(["bg-base-100 rounded-md relative z-10"])
1718
+ }, Go = { class: "p-3 border-t border-base-300" }, qo = {
1624
1719
  name: "Bubble",
1625
1720
  props: [
1626
1721
  "translation",
@@ -1643,7 +1738,9 @@ const R1 = /* @__PURE__ */ J(y1, [["render", k1]]), I1 = { class: "flex flex-col
1643
1738
  "loadTTS",
1644
1739
  "aiTranslate",
1645
1740
  "aiExplain",
1646
- "themeChange"
1741
+ "learn",
1742
+ "themeChange",
1743
+ "dragStart"
1647
1744
  ],
1648
1745
  data() {
1649
1746
  return {
@@ -1654,20 +1751,42 @@ const R1 = /* @__PURE__ */ J(y1, [["render", k1]]), I1 = { class: "flex flex-col
1654
1751
  isAIExplainLoading: !1
1655
1752
  };
1656
1753
  },
1754
+ computed: {
1755
+ showAIPrompt() {
1756
+ var e, t, n;
1757
+ return !this.isAITranslate && !this.isServiceUnavailable && ((t = (e = this.data) == null ? void 0 : e.dictionary) == null ? void 0 : t.length) === 0 && !!((n = this.data) != null && n.result);
1758
+ },
1759
+ showAIExplainPrompt() {
1760
+ var e, t, n, o, i;
1761
+ return !this.isAIExplain && !this.isServiceUnavailable && ((t = (e = this.data) == null ? void 0 : e.dictionary) == null ? void 0 : t.length) === 0 && !!((n = this.data) != null && n.result) && ((i = (o = this.data) == null ? void 0 : o.text) == null ? void 0 : i.length) >= this.aiExplainMinLength;
1762
+ },
1763
+ showLearnPrompt() {
1764
+ var e;
1765
+ return this.isFavorite && !this.isServiceUnavailable && !!((e = this.data) != null && e.result);
1766
+ }
1767
+ },
1657
1768
  methods: {
1658
1769
  handleAITranslate() {
1659
1770
  this.isAITranslationLoading = !0, this.$emit("aiTranslate");
1660
1771
  },
1661
1772
  handleAIExplain() {
1662
1773
  this.isAIExplainLoading = !0, this.$emit("aiExplain");
1774
+ },
1775
+ handleLearn() {
1776
+ var e, t, n;
1777
+ this.$emit("learn", {
1778
+ word: (e = this.data) == null ? void 0 : e.text,
1779
+ translation: (t = this.data) == null ? void 0 : t.result,
1780
+ dictionary: (n = this.data) == null ? void 0 : n.dictionary
1781
+ });
1663
1782
  }
1664
1783
  },
1665
1784
  watch: {
1666
1785
  translation: {
1667
1786
  handler() {
1668
- var e, t, n, i;
1787
+ var e, t, n, o;
1669
1788
  try {
1670
- this.data = this.translation, this.isLongSentence = !((t = (e = this.data) == null ? void 0 : e.phonetic) != null && t.src || ((i = (n = this.data) == null ? void 0 : n.dictionary) == null ? void 0 : i.length) > 0), this.isServiceUnavailable = !1;
1789
+ this.data = this.translation, this.isLongSentence = !((t = (e = this.data) == null ? void 0 : e.phonetic) != null && t.src || ((o = (n = this.data) == null ? void 0 : n.dictionary) == null ? void 0 : o.length) > 0), this.isServiceUnavailable = !1;
1671
1790
  } catch {
1672
1791
  this.isServiceUnavailable = !0;
1673
1792
  } finally {
@@ -1683,22 +1802,22 @@ const R1 = /* @__PURE__ */ J(y1, [["render", k1]]), I1 = { class: "flex flex-col
1683
1802
  immediate: !0
1684
1803
  },
1685
1804
  status() {
1686
- this.status === ae.ERROR && (this.isServiceUnavailable = !0);
1805
+ this.status === de.ERROR && (this.isServiceUnavailable = !0);
1687
1806
  }
1688
1807
  }
1689
- }, z1 = /* @__PURE__ */ Object.assign(W1, {
1808
+ }, Jo = /* @__PURE__ */ Object.assign(qo, {
1690
1809
  setup(e) {
1691
1810
  return (t, n) => {
1692
- var i, o, s, l, a, r, c, d, u, g, f;
1693
- return e.status === ge(ae).LOGO ? (p(), b("div", V1, [
1694
- Z(nn, {
1695
- onClick: n[0] || (n[0] = (h) => t.$emit("logo"))
1811
+ var o, i, l, s, a, r, c, d, u, h, m;
1812
+ return e.status === be(de).LOGO ? (g(), C("div", Ko, [
1813
+ N(nn, {
1814
+ onClick: n[0] || (n[0] = (f) => t.$emit("logo"))
1696
1815
  })
1697
- ])) : e.status === ge(ae).LOADING ? (p(), b("div", N1, [
1698
- Z(fn)
1699
- ])) : e.status !== ge(ae).HIDDEN ? (p(), b("div", {
1816
+ ])) : e.status === be(de).LOADING ? (g(), C("div", Xo, [
1817
+ N(fn)
1818
+ ])) : e.status !== be(de).HIDDEN ? (g(), C("div", {
1700
1819
  key: 2,
1701
- class: A([
1820
+ class: k([
1702
1821
  "wrapper rounded-lg text-base-content text-sm shadow-lg relative bg-[length:300%_300%] bg-[position:0%_50%]",
1703
1822
  {
1704
1823
  "p-0.5 bg-gradient-to-br from-primary via-secondary via-accent to-info animate-moveGradient": e.isAITranslate || e.isAIExplain,
@@ -1706,70 +1825,85 @@ const R1 = /* @__PURE__ */ J(y1, [["render", k1]]), I1 = { class: "flex flex-col
1706
1825
  }
1707
1826
  ])
1708
1827
  }, [
1709
- y("div", P1, [
1710
- t.isServiceUnavailable ? (p(), I(Ze, {
1828
+ w("div", Yo, [
1829
+ t.isServiceUnavailable ? (g(), V(je, {
1711
1830
  key: 0,
1712
1831
  isServiceUnavailable: t.isServiceUnavailable,
1713
1832
  isLongSentence: !1,
1714
1833
  theme: e.theme,
1715
1834
  showThemeSelector: e.showThemeSelector,
1716
- onFavorite: n[1] || (n[1] = (h) => t.$emit("favorite")),
1717
- onSetting: n[2] || (n[2] = (h) => t.$emit("settings")),
1718
- onClose: n[3] || (n[3] = (h) => t.$emit("close")),
1719
- onLoadTTS: n[4] || (n[4] = (h) => t.$emit("loadTTS")),
1720
- onThemeChange: n[5] || (n[5] = (h) => t.$emit("themeChange", h))
1721
- }, null, 8, ["isServiceUnavailable", "theme", "showThemeSelector"])) : (p(), I(Ze, {
1835
+ onFavorite: n[1] || (n[1] = (f) => t.$emit("favorite")),
1836
+ onSetting: n[2] || (n[2] = (f) => t.$emit("settings")),
1837
+ onClose: n[3] || (n[3] = (f) => t.$emit("close")),
1838
+ onLoadTTS: n[4] || (n[4] = (f) => t.$emit("loadTTS")),
1839
+ onThemeChange: n[5] || (n[5] = (f) => t.$emit("themeChange", f))
1840
+ }, null, 8, ["isServiceUnavailable", "theme", "showThemeSelector"])) : (g(), V(je, {
1722
1841
  key: 1,
1723
1842
  tts: e.tts,
1724
1843
  isFavorite: e.isFavorite,
1725
1844
  isAITranslate: e.isAITranslate,
1726
- isAITranslateVisible: ((o = (i = t.data) == null ? void 0 : i.dictionary) == null ? void 0 : o.length) === 0,
1845
+ isAITranslateVisible: ((i = (o = t.data) == null ? void 0 : o.dictionary) == null ? void 0 : i.length) === 0,
1727
1846
  isAIExplain: e.isAIExplain,
1728
- isAIExplainVisible: ((l = (s = t.data) == null ? void 0 : s.text) == null ? void 0 : l.length) >= e.aiExplainMinLength,
1847
+ isAIExplainVisible: ((s = (l = t.data) == null ? void 0 : l.text) == null ? void 0 : s.length) >= e.aiExplainMinLength,
1729
1848
  isAITranslationLoading: t.isAITranslationLoading,
1730
1849
  isAIExplainLoading: t.isAIExplainLoading,
1731
1850
  isFavoriteFeatureEnabled: e.isFavoriteFeatureEnabled,
1732
1851
  isLongSentence: t.isLongSentence,
1733
1852
  theme: e.theme,
1734
1853
  showThemeSelector: e.showThemeSelector,
1735
- onFavorite: n[6] || (n[6] = (h) => t.$emit("favorite")),
1736
- onSetting: n[7] || (n[7] = (h) => t.$emit("settings")),
1737
- onClose: n[8] || (n[8] = (h) => t.$emit("close")),
1738
- onLoadTTS: n[9] || (n[9] = (h) => t.$emit("loadTTS")),
1854
+ onFavorite: n[6] || (n[6] = (f) => t.$emit("favorite")),
1855
+ onSetting: n[7] || (n[7] = (f) => t.$emit("settings")),
1856
+ onClose: n[8] || (n[8] = (f) => t.$emit("close")),
1857
+ onLoadTTS: n[9] || (n[9] = (f) => t.$emit("loadTTS")),
1739
1858
  onAiTranslate: t.handleAITranslate,
1740
1859
  onAiExplain: t.handleAIExplain,
1741
- onThemeChange: n[10] || (n[10] = (h) => t.$emit("themeChange", h))
1860
+ onThemeChange: n[10] || (n[10] = (f) => t.$emit("themeChange", f)),
1861
+ onDragStart: n[11] || (n[11] = (f) => t.$emit("dragStart", f))
1742
1862
  }, null, 8, ["tts", "isFavorite", "isAITranslate", "isAITranslateVisible", "isAIExplain", "isAIExplainVisible", "isAITranslationLoading", "isAIExplainLoading", "isFavoriteFeatureEnabled", "isLongSentence", "theme", "showThemeSelector", "onAiTranslate", "onAiExplain"])),
1743
- y("div", H1, [
1744
- (r = (a = t.data) == null ? void 0 : a.phonetic) != null && r.src ? (p(), I(pn, {
1863
+ w("div", Go, [
1864
+ (r = (a = t.data) == null ? void 0 : a.phonetic) != null && r.src ? (g(), V(Cn, {
1745
1865
  key: 0,
1746
1866
  phonetic: (d = (c = t.data) == null ? void 0 : c.phonetic) == null ? void 0 : d.src
1747
- }, null, 8, ["phonetic"])) : M("", !0),
1748
- Z(bn, {
1867
+ }, null, 8, ["phonetic"])) : R("", !0),
1868
+ N(bn, {
1749
1869
  sentences: t.isServiceUnavailable ? "Service Unavailable" : (u = t.data) == null ? void 0 : u.result
1750
- }, null, 8, ["sentences"])
1870
+ }, null, 8, ["sentences"]),
1871
+ N(xn, {
1872
+ show: t.showAIPrompt,
1873
+ isLoading: t.isAITranslationLoading,
1874
+ onClick: t.handleAITranslate
1875
+ }, null, 8, ["show", "isLoading", "onClick"]),
1876
+ N(Tn, {
1877
+ show: t.showAIExplainPrompt,
1878
+ isLoading: t.isAIExplainLoading,
1879
+ onClick: t.handleAIExplain
1880
+ }, null, 8, ["show", "isLoading", "onClick"]),
1881
+ N($n, {
1882
+ show: t.showLearnPrompt,
1883
+ onClick: t.handleLearn
1884
+ }, null, 8, ["show", "onClick"])
1751
1885
  ]),
1752
- !t.isServiceUnavailable && ((f = (g = t.data) == null ? void 0 : g.dictionary) == null ? void 0 : f.length) > 0 ? (p(), I(yn, {
1886
+ !t.isServiceUnavailable && ((m = (h = t.data) == null ? void 0 : h.dictionary) == null ? void 0 : m.length) > 0 ? (g(), V(In, {
1753
1887
  key: 2,
1754
1888
  class: "p-3 pt-0 border-t border-base-300",
1755
1889
  dictionary: t.data.dictionary
1756
- }, null, 8, ["dictionary"])) : M("", !0),
1757
- !t.isServiceUnavailable && e.isAIExplain && e.explanation ? (p(), I($n, {
1890
+ }, null, 8, ["dictionary"])) : R("", !0),
1891
+ !t.isServiceUnavailable && e.isAIExplain && e.explanation ? (g(), V(Dn, {
1758
1892
  key: 3,
1759
1893
  class: "p-3 pt-0 border-t border-base-300",
1760
1894
  explanation: e.explanation
1761
- }, null, 8, ["explanation"])) : M("", !0)
1895
+ }, null, 8, ["explanation"])) : R("", !0)
1762
1896
  ])
1763
- ], 2)) : M("", !0);
1897
+ ], 2)) : R("", !0);
1764
1898
  };
1765
1899
  }
1766
1900
  });
1767
- function Z1(e) {
1901
+ function Qo(e) {
1768
1902
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
1769
1903
  }
1770
- var Te = { exports: {} }, je;
1771
- function U1() {
1772
- return je || (je = 1, function(e) {
1904
+ var Ee = { exports: {} }, Xe;
1905
+ function ei() {
1906
+ return Xe || (Xe = 1, function(e) {
1773
1907
  (function() {
1774
1908
  var t = [
1775
1909
  "direction",
@@ -1808,8 +1942,8 @@ function U1() {
1808
1942
  "wordSpacing",
1809
1943
  "tabSize",
1810
1944
  "MozTabSize"
1811
- ], n = typeof window < "u", i = n && window.mozInnerScreenX != null;
1812
- function o(s, l, a) {
1945
+ ], n = typeof window < "u", o = n && window.mozInnerScreenX != null;
1946
+ function i(l, s, a) {
1813
1947
  if (!n)
1814
1948
  throw new Error("textarea-caret-position#getCaretCoordinates should only be called in a browser");
1815
1949
  var r = a && a.debug || !1;
@@ -1819,51 +1953,51 @@ function U1() {
1819
1953
  }
1820
1954
  var d = document.createElement("div");
1821
1955
  d.id = "input-textarea-caret-position-mirror-div", document.body.appendChild(d);
1822
- var u = d.style, g = window.getComputedStyle ? window.getComputedStyle(s) : s.currentStyle, f = s.nodeName === "INPUT";
1823
- u.whiteSpace = "pre-wrap", f || (u.wordWrap = "break-word"), u.position = "absolute", r || (u.visibility = "hidden"), t.forEach(function(w) {
1824
- f && w === "lineHeight" ? u.lineHeight = g.height : u[w] = g[w];
1825
- }), i ? s.scrollHeight > parseInt(g.height) && (u.overflowY = "scroll") : u.overflow = "hidden", d.textContent = s.value.substring(0, l), f && (d.textContent = d.textContent.replace(/\s/g, " "));
1826
- var h = document.createElement("span");
1827
- h.textContent = s.value.substring(l) || ".", d.appendChild(h);
1956
+ var u = d.style, h = window.getComputedStyle ? window.getComputedStyle(l) : l.currentStyle, m = l.nodeName === "INPUT";
1957
+ u.whiteSpace = "pre-wrap", m || (u.wordWrap = "break-word"), u.position = "absolute", r || (u.visibility = "hidden"), t.forEach(function(x) {
1958
+ m && x === "lineHeight" ? u.lineHeight = h.height : u[x] = h[x];
1959
+ }), o ? l.scrollHeight > parseInt(h.height) && (u.overflowY = "scroll") : u.overflow = "hidden", d.textContent = l.value.substring(0, s), m && (d.textContent = d.textContent.replace(/\s/g, " "));
1960
+ var f = document.createElement("span");
1961
+ f.textContent = l.value.substring(s) || ".", d.appendChild(f);
1828
1962
  var v = {
1829
- top: h.offsetTop + parseInt(g.borderTopWidth),
1830
- left: h.offsetLeft + parseInt(g.borderLeftWidth),
1831
- height: parseInt(g.lineHeight)
1963
+ top: f.offsetTop + parseInt(h.borderTopWidth),
1964
+ left: f.offsetLeft + parseInt(h.borderLeftWidth),
1965
+ height: parseInt(h.lineHeight)
1832
1966
  };
1833
- return r ? h.style.backgroundColor = "#aaa" : document.body.removeChild(d), v;
1967
+ return r ? f.style.backgroundColor = "#aaa" : document.body.removeChild(d), v;
1834
1968
  }
1835
- e.exports = o;
1969
+ e.exports = i;
1836
1970
  })();
1837
- }(Te)), Te.exports;
1971
+ }(Ee)), Ee.exports;
1838
1972
  }
1839
- var j1 = U1();
1840
- const Ke = /* @__PURE__ */ Z1(j1);
1841
- function re(e) {
1973
+ var ti = ei();
1974
+ const Ye = /* @__PURE__ */ Qo(ti);
1975
+ function ie(e) {
1842
1976
  const t = window.getSelection();
1843
1977
  let n = t + "";
1844
1978
  if (n = n.trim(), e && e.type === "password" || !n.length && (!(e && e.selectionEnd) || (n = e.value.substring(e.selectionStart, e.selectionEnd), n = n.trim(), !n.length)))
1845
1979
  return !1;
1846
- let o = t.getRangeAt(0).getBoundingClientRect(), { top: s, bottom: l, left: a, width: r, height: c } = o;
1847
- if (!l && !a) {
1980
+ let i = t.getRangeAt(0).getBoundingClientRect(), { top: l, bottom: s, left: a, width: r, height: c } = i;
1981
+ if (!s && !a) {
1848
1982
  if (!e.selectionEnd)
1849
1983
  return !1;
1850
- let d = Ke(e, e.selectionStart), u = Ke(e, e.selectionEnd);
1851
- o = e.getBoundingClientRect(), a = o.left + d.left, r = u.left - d.left, d.top != u.top && (a = o.left, r = o.width), s = o.top + d.top, l = o.top + u.top + 20;
1984
+ let d = Ye(e, e.selectionStart), u = Ye(e, e.selectionEnd);
1985
+ i = e.getBoundingClientRect(), a = i.left + d.left, r = u.left - d.left, d.top != u.top && (a = i.left, r = i.width), l = i.top + d.top, s = i.top + u.top + 20;
1852
1986
  }
1853
- return c === 0 && (c = l - s), {
1987
+ return c === 0 && (c = s - l), {
1854
1988
  text: n,
1855
1989
  // position
1856
1990
  x: a,
1857
- y: s,
1858
- top: s,
1859
- bottom: l,
1991
+ y: l,
1992
+ top: l,
1993
+ bottom: s,
1860
1994
  left: a,
1861
1995
  right: a + r,
1862
1996
  width: r,
1863
1997
  height: c
1864
1998
  };
1865
1999
  }
1866
- function K1() {
2000
+ function ni() {
1867
2001
  const e = document.getElementsByTagName("ddict-div");
1868
2002
  for (let t of e)
1869
2003
  if (!t.parentNode.matches('wrapper[dir="rtl"]')) {
@@ -1871,7 +2005,7 @@ function K1() {
1871
2005
  n.setAttribute("dir", "rtl"), t.parentNode.insertBefore(n, t), n.appendChild(t);
1872
2006
  }
1873
2007
  }
1874
- function G1() {
2008
+ function oi() {
1875
2009
  const e = document.querySelectorAll('wrapper[dir="rtl"]');
1876
2010
  for (let t of e) {
1877
2011
  const n = t.querySelector("ddict-div");
@@ -1879,46 +2013,46 @@ function G1() {
1879
2013
  }
1880
2014
  }
1881
2015
  const Ge = {
1882
- supportRTL: K1,
1883
- removeRTL: G1
1884
- }, X1 = {
2016
+ supportRTL: ni,
2017
+ removeRTL: oi
2018
+ }, ii = {
1885
2019
  __name: "HotKeysListener",
1886
2020
  props: {
1887
2021
  textSelected: String
1888
2022
  },
1889
2023
  emits: ["toggleKey", "close"],
1890
2024
  setup(e, { emit: t }) {
1891
- const n = e, i = t, o = () => {
2025
+ const n = e, o = t, i = () => {
1892
2026
  setTimeout(() => {
1893
2027
  n.textSelected && a("DoubleClick");
1894
2028
  }, 50);
1895
- }, s = (r) => {
1896
- (r.altKey && r.key.toLowerCase() === "w" || r.key === "∑") && n.textSelected && (a("Alt+W"), r.preventDefault()), r.key === "Escape" && (a("Escape"), r.preventDefault());
1897
2029
  }, l = (r) => {
2030
+ (r.altKey && r.key.toLowerCase() === "w" || r.key === "∑") && n.textSelected && (a("Alt+W"), r.preventDefault()), r.key === "Escape" && (a("Escape"), r.preventDefault());
2031
+ }, s = (r) => {
1898
2032
  r.key === "Shift" && n.textSelected && a("Shift");
1899
2033
  }, a = (r) => {
1900
2034
  switch (r) {
1901
2035
  case "DoubleClick":
1902
- i("toggleKey", "DoubleClick");
2036
+ o("toggleKey", "DoubleClick");
1903
2037
  break;
1904
2038
  case "Shift":
1905
- i("toggleKey", "Shift");
2039
+ o("toggleKey", "Shift");
1906
2040
  break;
1907
2041
  case "Alt+W":
1908
- i("toggleKey", "Alt+W");
2042
+ o("toggleKey", "Alt+W");
1909
2043
  break;
1910
2044
  case "Escape":
1911
- i("close");
2045
+ o("close");
1912
2046
  break;
1913
2047
  }
1914
2048
  };
1915
2049
  return qe(() => {
1916
- window.addEventListener("dblclick", o), window.addEventListener("keydown", s), window.addEventListener("keyup", l);
1917
- }), $e(() => {
1918
- window.removeEventListener("dblclick", o), window.removeEventListener("keydown", s), window.removeEventListener("keyup", l);
1919
- }), (r, c) => (p(), b("div"));
2050
+ window.addEventListener("dblclick", i), window.addEventListener("keydown", l), window.addEventListener("keyup", s);
2051
+ }), Ie(() => {
2052
+ window.removeEventListener("dblclick", i), window.removeEventListener("keydown", l), window.removeEventListener("keyup", s);
2053
+ }), (r, c) => (g(), C("div"));
1920
2054
  }
1921
- }, q1 = ["data-theme"], J1 = {
2055
+ }, si = ["data-theme"], ri = {
1922
2056
  __name: "BubbleWrapper",
1923
2057
  props: {
1924
2058
  translation: Object,
@@ -1955,129 +2089,183 @@ const Ge = {
1955
2089
  "loadTTS",
1956
2090
  "aiTranslate",
1957
2091
  "aiExplain",
2092
+ "learn",
1958
2093
  "themeChange"
1959
2094
  ],
1960
2095
  setup(e, { emit: t }) {
1961
- const n = e, i = t, o = B(null), s = B(null), l = B(!1), a = B(""), r = B(n.theme), c = R(() => typeof window > "u" || !s.value || !a.value ? null : {
1962
- getBoundingClientRect: () => re(s.value),
1963
- getClientRects: () => re(s.value)
1964
- }), { floatingStyles: d, update: u } = Yt(c, o, {
2096
+ const n = e, o = t, i = I(null), l = I(null), s = I(!1), a = I(""), r = I(n.theme), c = I(!1), d = I({ x: 0, y: 0 }), u = I(null), h = I(!1), m = _(() => typeof window > "u" || !l.value || !a.value ? null : {
2097
+ getBoundingClientRect: () => ie(l.value),
2098
+ getClientRects: () => ie(l.value)
2099
+ }), { floatingStyles: f, update: v } = qt(m, i, {
1965
2100
  placement: "bottom",
1966
2101
  middleware: [
1967
- Ut(4),
2102
+ Zt(4),
1968
2103
  Kt(),
1969
2104
  jt(),
1970
- Gt({
1971
- apply({ rects: m, elements: C }) {
1972
- let L = m.reference.width > 250 ? m.reference.width / n.scale : 250;
1973
- L > Ue && (L = Ue), Object.assign(C.floating.style, {
1974
- maxWidth: L + "px",
2105
+ Xt({
2106
+ apply({ rects: b, elements: p }) {
2107
+ let $ = b.reference.width > 250 ? b.reference.width / n.scale : 250;
2108
+ $ > Ke && ($ = Ke), Object.assign(p.floating.style, {
2109
+ maxWidth: $ + "px",
1975
2110
  zIndex: 9999
1976
2111
  });
1977
2112
  }
1978
2113
  })
1979
2114
  ],
1980
- whileElementsMounted(m, C, L) {
1981
- return Zt(m, C, L, {
2115
+ whileElementsMounted(b, p, $) {
2116
+ return Ut(b, p, $, {
1982
2117
  ancestorScroll: !0
1983
2118
  });
1984
2119
  }
1985
- }), g = R(() => {
1986
- const m = d.value;
1987
- if (n.scale === 1) return m;
1988
- const C = m.transform || "";
1989
- return {
1990
- ...m,
1991
- transform: `${C} scale(${n.scale})`
1992
- };
2120
+ }), x = _(() => {
2121
+ let b = f.value;
2122
+ if (u.value)
2123
+ b = {
2124
+ ...b,
2125
+ position: "fixed",
2126
+ left: `${u.value.x}px`,
2127
+ top: `${u.value.y}px`,
2128
+ transform: "none"
2129
+ };
2130
+ else if (h.value && l.value && a.value) {
2131
+ const p = ie(l.value);
2132
+ p && (b = {
2133
+ ...b,
2134
+ position: "fixed",
2135
+ left: `${p.x}px`,
2136
+ top: `${p.y + p.height + 4}px`,
2137
+ transform: "none"
2138
+ });
2139
+ }
2140
+ return b;
1993
2141
  });
1994
2142
  qe(() => {
1995
- document.addEventListener("keyup", (m) => {
1996
- if (!re(m.target)) {
1997
- a.value = "", v();
2143
+ document.addEventListener("keyup", (b) => {
2144
+ if (!ie(b.target)) {
2145
+ a.value = "", S();
1998
2146
  return;
1999
2147
  }
2000
- }), document.documentElement.onclick = (m) => {
2001
- const C = re(m.target);
2002
- if (!C) {
2003
- a.value = "", v();
2148
+ }), document.documentElement.onclick = (b) => {
2149
+ const p = ie(b.target);
2150
+ if (!p) {
2151
+ a.value = "", S();
2004
2152
  return;
2005
2153
  }
2006
- f(C, m);
2007
- }, document.documentElement.ontouchend = (m) => {
2008
- const C = re(m.target);
2009
- if (!C) {
2010
- a.value = "", v();
2154
+ y(p, b);
2155
+ }, document.documentElement.ontouchend = (b) => {
2156
+ const p = ie(b.target);
2157
+ if (!p) {
2158
+ a.value = "", S();
2011
2159
  return;
2012
2160
  }
2013
- f(C, m);
2161
+ y(p, b);
2014
2162
  };
2015
- }), $e(() => {
2016
- document.documentElement.onclick = null, document.documentElement.ontouchend = null;
2163
+ }), Ie(() => {
2164
+ document.documentElement.onclick = null, document.documentElement.ontouchend = null, document.removeEventListener("mousemove", B), document.removeEventListener("mouseup", F), document.removeEventListener("touchmove", T), document.removeEventListener("touchend", M);
2017
2165
  });
2018
- const f = (m, C) => {
2019
- n.status !== ae.LOGO && i("close"), s.value = C.target, a.value = m.text, l.value = !0, _e(u);
2020
- }, h = (m) => {
2021
- m.stopPropagation();
2022
- }, v = async () => {
2023
- l.value = !1, i("close");
2024
- }, w = (m) => {
2025
- r.value = m, i("themeChange", m);
2026
- }, x = () => {
2027
- var C;
2028
- const m = (C = n == null ? void 0 : n.translation) == null ? void 0 : C.target;
2029
- D1.includes(m) ? Ge.supportRTL() : Ge.removeRTL();
2166
+ const y = (b, p) => {
2167
+ n.status !== de.LOGO && o("close"), s.value && !h.value && (h.value = !0), l.value = p.target, a.value = b.text, s.value = !0, Ve(v);
2168
+ }, L = (b) => {
2169
+ b.stopPropagation();
2170
+ }, S = async () => {
2171
+ s.value = !1, u.value = null, h.value = !1, o("close");
2172
+ }, E = (b) => {
2173
+ r.value = b, o("themeChange", b);
2174
+ }, A = ({ type: b, event: p }) => {
2175
+ c.value = !0;
2176
+ const $ = i.value.getBoundingClientRect();
2177
+ if (b === "mouse")
2178
+ d.value = {
2179
+ x: p.clientX - $.left,
2180
+ y: p.clientY - $.top
2181
+ }, document.addEventListener("mousemove", B), document.addEventListener("mouseup", F);
2182
+ else if (b === "touch") {
2183
+ const P = p.touches[0];
2184
+ d.value = {
2185
+ x: P.clientX - $.left,
2186
+ y: P.clientY - $.top
2187
+ }, document.addEventListener("touchmove", T), document.addEventListener("touchend", M);
2188
+ }
2189
+ }, B = (b) => {
2190
+ c.value && (u.value = {
2191
+ x: b.clientX - d.value.x,
2192
+ y: b.clientY - d.value.y
2193
+ });
2194
+ }, T = (b) => {
2195
+ if (!c.value) return;
2196
+ const p = b.touches[0];
2197
+ u.value = {
2198
+ x: p.clientX - d.value.x,
2199
+ y: p.clientY - d.value.y
2200
+ };
2201
+ }, F = () => {
2202
+ c.value = !1, document.removeEventListener("mousemove", B), document.removeEventListener("mouseup", F);
2203
+ }, M = () => {
2204
+ c.value = !1, document.removeEventListener("touchmove", T), document.removeEventListener("touchend", M);
2205
+ }, W = () => {
2206
+ var p;
2207
+ const b = (p = n == null ? void 0 : n.translation) == null ? void 0 : p.target;
2208
+ jo.includes(b) ? Ge.supportRTL() : Ge.removeRTL();
2030
2209
  };
2031
- return te(
2210
+ return se(
2032
2211
  () => n.status,
2033
2212
  () => {
2034
- l.value && _e(u), x();
2213
+ s.value && Ve(v), W();
2035
2214
  }
2036
- ), te(
2215
+ ), se(
2037
2216
  () => n.theme,
2038
- (m) => {
2039
- r.value = m;
2217
+ (b) => {
2218
+ r.value = b;
2040
2219
  }
2041
- ), (m, C) => (p(), b(ue, null, [
2042
- l.value ? (p(), b("div", {
2220
+ ), (b, p) => (g(), C(he, null, [
2221
+ s.value ? (g(), C("div", {
2043
2222
  key: 0,
2044
2223
  ref_key: "floatingEl",
2045
- ref: o,
2046
- class: "rounded-lg",
2047
- style: Xe(g.value),
2048
- "data-theme": r.value,
2049
- onClick: h
2224
+ ref: i,
2225
+ style: $e(x.value),
2226
+ onClick: L
2050
2227
  }, [
2051
- Z(z1, {
2052
- translation: n.translation,
2053
- explanation: n.explanation,
2054
- tts: n.tts,
2055
- status: n.status,
2056
- isFavorite: n.isFavorite,
2057
- isFavoriteFeatureEnabled: n.isFavoriteFeatureEnabled,
2058
- isAITranslate: n.isAITranslate,
2059
- isAIExplain: n.isAIExplain,
2060
- aiExplainMinLength: n.aiExplainMinLength,
2061
- theme: r.value,
2062
- showThemeSelector: n.showThemeSelector,
2063
- onLogo: C[0] || (C[0] = (L) => i("logo")),
2064
- onFavorite: C[1] || (C[1] = (L) => i("favorite")),
2065
- onSettings: C[2] || (C[2] = (L) => i("settings")),
2066
- onClose: v,
2067
- onLoadTTS: C[3] || (C[3] = (L) => i("loadTTS")),
2068
- onAiTranslate: C[4] || (C[4] = (L) => i("aiTranslate")),
2069
- onAiExplain: C[5] || (C[5] = (L) => i("aiExplain")),
2070
- onThemeChange: w
2071
- }, null, 8, ["translation", "explanation", "tts", "status", "isFavorite", "isFavoriteFeatureEnabled", "isAITranslate", "isAIExplain", "aiExplainMinLength", "theme", "showThemeSelector"])
2072
- ], 12, q1)) : M("", !0),
2073
- Z(X1, {
2228
+ w("div", {
2229
+ class: "rounded-lg",
2230
+ style: $e({
2231
+ transform: n.scale !== 1 ? `scale(${n.scale})` : "none",
2232
+ transformOrigin: "top left"
2233
+ }),
2234
+ "data-theme": r.value
2235
+ }, [
2236
+ N(Jo, {
2237
+ translation: n.translation,
2238
+ explanation: n.explanation,
2239
+ tts: n.tts,
2240
+ status: n.status,
2241
+ isFavorite: n.isFavorite,
2242
+ isFavoriteFeatureEnabled: n.isFavoriteFeatureEnabled,
2243
+ isAITranslate: n.isAITranslate,
2244
+ isAIExplain: n.isAIExplain,
2245
+ aiExplainMinLength: n.aiExplainMinLength,
2246
+ theme: r.value,
2247
+ showThemeSelector: n.showThemeSelector,
2248
+ onLogo: p[0] || (p[0] = ($) => o("logo")),
2249
+ onFavorite: p[1] || (p[1] = ($) => o("favorite")),
2250
+ onSettings: p[2] || (p[2] = ($) => o("settings")),
2251
+ onClose: S,
2252
+ onLoadTTS: p[3] || (p[3] = ($) => o("loadTTS")),
2253
+ onAiTranslate: p[4] || (p[4] = ($) => o("aiTranslate")),
2254
+ onAiExplain: p[5] || (p[5] = ($) => o("aiExplain")),
2255
+ onLearn: p[6] || (p[6] = ($) => o("learn", $)),
2256
+ onThemeChange: E,
2257
+ onDragStart: A
2258
+ }, null, 8, ["translation", "explanation", "tts", "status", "isFavorite", "isFavoriteFeatureEnabled", "isAITranslate", "isAIExplain", "aiExplainMinLength", "theme", "showThemeSelector"])
2259
+ ], 12, si)
2260
+ ], 4)) : R("", !0),
2261
+ N(ii, {
2074
2262
  textSelected: a.value,
2075
- onToggleKey: C[6] || (C[6] = (L) => i("toggleKey", L)),
2076
- onClose: v
2263
+ onToggleKey: p[7] || (p[7] = ($) => o("toggleKey", $)),
2264
+ onClose: S
2077
2265
  }, null, 8, ["textSelected"])
2078
2266
  ], 64));
2079
2267
  }
2080
2268
  };
2081
2269
  export {
2082
- J1 as default
2270
+ ri as default
2083
2271
  };