gentiq 0.7.26 → 0.7.28

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.
@@ -1,27 +1,27 @@
1
- import { jsx as l, Fragment as J, jsxs as w } from "react/jsx-runtime";
2
- import * as an from "react";
3
- import { useState as $, useCallback as ne, useMemo as wt, useEffect as Q, Children as ln, useRef as je, memo as ue, createContext as de, useContext as Oe } from "react";
4
- import { useTranslation as M, initReactI18next as sn } from "react-i18next";
5
- import { ArrowDownIcon as cn, ChevronDownIcon as ae, BookIcon as un, XIcon as pe, CheckIcon as Fe, ArrowUpIcon as dn, Loader2Icon as pn, SquareIcon as hn, FileIcon as xt, PaperclipIcon as gn, MessageCircle as mn, RefreshCcwIcon as fn, ThumbsUpIcon as bn, ThumbsDownIcon as kn, CopyIcon as _t, BrainIcon as yn, WrenchIcon as vn, ImagePlusIcon as wn, CodeIcon as xn, DownloadIcon as ce, GlobeIcon as _n, XCircleIcon as St, CheckCircleIcon as Sn, ClockIcon as En, CircleIcon as Nn, ChevronUpIcon as Tn } from "lucide-react";
6
- import { Slot as Et } from "@radix-ui/react-slot";
7
- import { cva as Le } from "class-variance-authority";
8
- import { StickToBottom as Nt, useStickToBottomContext as Cn } from "use-stick-to-bottom";
9
- import * as De from "@radix-ui/react-collapsible";
1
+ import { jsx as i, Fragment as J, jsxs as w } from "react/jsx-runtime";
2
+ import * as Ce from "react";
3
+ import { useState as B, useCallback as oe, useMemo as St, useEffect as Q, Children as cn, useRef as Ge, memo as de, createContext as pe, useContext as Le } from "react";
4
+ import { useTranslation as M, initReactI18next as un } from "react-i18next";
5
+ import { ArrowDownIcon as dn, ChevronDownIcon as ie, BookIcon as pn, XIcon as he, CheckIcon as De, ArrowUpIcon as hn, Loader2Icon as gn, SquareIcon as mn, FileIcon as Et, PaperclipIcon as fn, MessageCircle as bn, RefreshCcwIcon as yn, ThumbsUpIcon as kn, ThumbsDownIcon as vn, CopyIcon as Nt, BrainIcon as wn, WrenchIcon as xn, ImagePlusIcon as _n, CodeIcon as Sn, DownloadIcon as ue, GlobeIcon as En, XCircleIcon as Tt, CheckCircleIcon as Nn, ClockIcon as Tn, CircleIcon as Cn, ChevronUpIcon as An } from "lucide-react";
6
+ import { Slot as Ct } from "@radix-ui/react-slot";
7
+ import { cva as Pe } from "class-variance-authority";
8
+ import { StickToBottom as At, useStickToBottomContext as In } from "use-stick-to-bottom";
9
+ import * as Me from "@radix-ui/react-collapsible";
10
10
  import * as K from "@radix-ui/react-tooltip";
11
- import { toast as An } from "sonner";
11
+ import { toast as Rn } from "sonner";
12
12
  import "@radix-ui/react-scroll-area";
13
- import { Streamdown as In } from "streamdown";
14
- import qe from "katex";
15
- import { useControllableState as Ge } from "@radix-ui/react-use-controllable-state";
16
- import * as U from "@radix-ui/react-dialog";
17
- import { PrismLight as z } from "react-syntax-highlighter";
18
- import Rn from "i18next";
13
+ import { Streamdown as On } from "streamdown";
14
+ import Ve from "katex";
15
+ import { useControllableState as We } from "@radix-ui/react-use-controllable-state";
16
+ import * as H from "@radix-ui/react-dialog";
17
+ import { PrismLight as $ } from "react-syntax-highlighter";
18
+ import Fn from "i18next";
19
19
  import * as L from "@radix-ui/react-select";
20
- import * as oe from "@radix-ui/react-dropdown-menu";
21
- import * as Ve from "@radix-ui/react-checkbox";
22
- import { clsx as On } from "clsx";
23
- import { twMerge as Fn } from "tailwind-merge";
24
- class Ln extends Error {
20
+ import * as re from "@radix-ui/react-dropdown-menu";
21
+ import * as Ye from "@radix-ui/react-checkbox";
22
+ import { clsx as Ln } from "clsx";
23
+ import { twMerge as Dn } from "tailwind-merge";
24
+ class Xe extends Error {
25
25
  code;
26
26
  status;
27
27
  details;
@@ -29,8 +29,11 @@ class Ln extends Error {
29
29
  super(t.error.message), this.name = "GentiqError", this.code = t.error.code, this.status = n, this.details = t.error.details;
30
30
  }
31
31
  }
32
- function fl(e, t) {
33
- const n = typeof e == "string" ? e : e.code, o = `errors.${n}`, r = t(o);
32
+ function yi(e, t) {
33
+ const n = typeof e == "string" ? e : e.code;
34
+ if (typeof n != "string")
35
+ return e?.message || String(e);
36
+ const o = `errors:${n}`, r = t(o);
34
37
  return r === o ? typeof e != "string" && e.message ? e.message : n.replace(/_/g, " ").replace(/\b\w/g, (a) => a.toUpperCase()) : r;
35
38
  }
36
39
  let N = {
@@ -42,7 +45,7 @@ let N = {
42
45
  cacheNamespace: "gentiq"
43
46
  }
44
47
  };
45
- const Dn = {
48
+ const Pn = {
46
49
  getToken: () => localStorage.getItem("token"),
47
50
  setToken: (e) => localStorage.setItem("token", e),
48
51
  clearToken: () => {
@@ -53,7 +56,7 @@ const Dn = {
53
56
  return e ? { Authorization: `Bearer ${e}` } : {};
54
57
  }
55
58
  };
56
- let O = Dn;
59
+ let F = Pn;
57
60
  const S = {
58
61
  init: (e) => {
59
62
  if (N = {
@@ -63,7 +66,7 @@ const S = {
63
66
  app: e.app ? { ...N.app, ...e.app } : N.app
64
67
  }, e.api?.authAdapter) {
65
68
  const t = e.api.authAdapter;
66
- O = {
69
+ F = {
67
70
  ...t,
68
71
  getHeaders: t.getHeaders || (() => {
69
72
  const n = t.getToken();
@@ -73,14 +76,14 @@ const S = {
73
76
  }
74
77
  },
75
78
  getConfig: () => N,
76
- getToken: () => O.getToken(),
79
+ getToken: () => F.getToken(),
77
80
  setToken: (e) => {
78
- O.setToken(e);
81
+ F.setToken(e);
79
82
  },
80
83
  clearToken: () => {
81
- O.clearToken();
84
+ F.clearToken();
82
85
  },
83
- getHeaders: () => O.getHeaders(),
86
+ getHeaders: () => F.getHeaders(),
84
87
  getEndpoint: (e, t, ...n) => {
85
88
  const o = N.api?.endpoints?.[e];
86
89
  return o ? typeof o == "function" ? o(...n) : o : typeof t == "function" ? t(...n) : t;
@@ -88,10 +91,16 @@ const S = {
88
91
  handleResponse: async (e, t = "Request failed") => {
89
92
  if (!e.ok) {
90
93
  const n = await e.json().catch(() => ({}));
91
- if (n.error && (n.error.code || n.error.message))
92
- throw new Ln(n, e.status);
93
- const o = n.error || n.message || t, r = new Error(o);
94
- throw r.status = e.status, r;
94
+ if (n.error && (typeof n.error.code == "string" || typeof n.error.message == "string"))
95
+ throw new Xe(n, e.status);
96
+ let o = t, r = "error", a = null;
97
+ throw typeof n.detail == "string" ? o = n.detail : typeof n.message == "string" ? o = n.message : typeof n.error == "string" ? o = n.error : Array.isArray(n.detail) ? (o = "Validation failed", a = n.detail, r = "validation_error") : n.error && typeof n.error.message == "string" && (o = n.error.message), new Xe({
98
+ error: {
99
+ code: r,
100
+ message: o,
101
+ details: a
102
+ }
103
+ }, e.status);
95
104
  }
96
105
  return e.json();
97
106
  },
@@ -104,17 +113,17 @@ const S = {
104
113
  return r.token && S.setToken(r.token), r;
105
114
  },
106
115
  register: async (e, t, n, o, r) => {
107
- const a = S.getEndpoint("register", "/public/auth/register"), i = await fetch(`${N.api?.basePath}${a}`, {
116
+ const a = S.getEndpoint("register", "/public/auth/register"), l = await fetch(`${N.api?.basePath}${a}`, {
108
117
  method: "POST",
109
118
  headers: { "Content-Type": "application/json" },
110
119
  body: JSON.stringify({ phone: e, password: t, name: n, surname: o, metadata: r })
111
- }), c = await S.handleResponse(i, "Registration failed");
120
+ }), c = await S.handleResponse(l, "Registration failed");
112
121
  return c.token && S.setToken(c.token), c;
113
122
  },
114
123
  getBalance: async () => {
115
124
  const e = S.getEndpoint("balance", "/users/balance"), t = await fetch(`${N.api?.basePath}${e}`, {
116
125
  headers: {
117
- ...O.getHeaders()
126
+ ...F.getHeaders()
118
127
  }
119
128
  });
120
129
  return S.handleResponse(t, "Failed to fetch balance");
@@ -122,7 +131,7 @@ const S = {
122
131
  getHistory: async (e = 0, t = 50) => {
123
132
  const n = S.getEndpoint("threads", "/chat/threads"), o = await fetch(`${N.api?.basePath}${n}?skip=${e}&limit=${t}`, {
124
133
  headers: {
125
- ...O.getHeaders()
134
+ ...F.getHeaders()
126
135
  }
127
136
  });
128
137
  return S.handleResponse(o, "Failed to fetch chat history");
@@ -131,7 +140,7 @@ const S = {
131
140
  if (!S.getToken()) throw new Error("No token found");
132
141
  const n = S.getEndpoint("threadMessages", (r) => `/chat/threads/${r.replace(/^\//, "")}`, e), o = await fetch(`${N.api?.basePath}${n}`, {
133
142
  headers: {
134
- ...O.getHeaders()
143
+ ...F.getHeaders()
135
144
  }
136
145
  });
137
146
  return S.handleResponse(o, "Failed to fetch thread messages");
@@ -141,7 +150,7 @@ const S = {
141
150
  const n = S.getEndpoint("deleteThread", (r) => `/chat/threads/${r.replace(/^\//, "")}`, e), o = await fetch(`${N.api?.basePath}${n}`, {
142
151
  method: "DELETE",
143
152
  headers: {
144
- ...O.getHeaders()
153
+ ...F.getHeaders()
145
154
  }
146
155
  });
147
156
  return S.handleResponse(o, "Failed to delete thread");
@@ -152,7 +161,7 @@ const S = {
152
161
  method: "PATCH",
153
162
  headers: {
154
163
  "Content-Type": "application/json",
155
- ...O.getHeaders()
164
+ ...F.getHeaders()
156
165
  },
157
166
  body: JSON.stringify({ title: t })
158
167
  });
@@ -167,7 +176,7 @@ const S = {
167
176
  if (N.api?.attachmentResolver)
168
177
  return N.api.attachmentResolver(e);
169
178
  const t = S.getEndpoint("attachments", (r) => `/chat/attachments/${r}`, e), n = await fetch(`${N.api?.basePath}${t}`, {
170
- headers: { ...O.getHeaders() }
179
+ headers: { ...F.getHeaders() }
171
180
  });
172
181
  if (!n.ok) return S.handleResponse(n, "Failed to fetch attachment");
173
182
  const o = await n.blob();
@@ -192,7 +201,7 @@ const S = {
192
201
  method: "POST",
193
202
  headers: {
194
203
  "Content-Type": "application/json",
195
- ...O.getHeaders()
204
+ ...F.getHeaders()
196
205
  },
197
206
  body: JSON.stringify({
198
207
  thread_id: e.replace(/^\//, ""),
@@ -205,7 +214,7 @@ const S = {
205
214
  getMe: async () => {
206
215
  const e = S.getEndpoint("me", "/users/me"), t = await fetch(`${N.api?.basePath}${e}`, {
207
216
  headers: {
208
- ...O.getHeaders()
217
+ ...F.getHeaders()
209
218
  }
210
219
  });
211
220
  return S.handleResponse(t, "Failed to fetch user profile");
@@ -215,7 +224,7 @@ const S = {
215
224
  method: "PATCH",
216
225
  headers: {
217
226
  "Content-Type": "application/json",
218
- ...O.getHeaders()
227
+ ...F.getHeaders()
219
228
  },
220
229
  body: JSON.stringify(e)
221
230
  });
@@ -227,7 +236,7 @@ const S = {
227
236
  method: "PATCH",
228
237
  headers: {
229
238
  "Content-Type": "application/json",
230
- ...O.getHeaders()
239
+ ...F.getHeaders()
231
240
  },
232
241
  body: JSON.stringify({ pinned: t })
233
242
  });
@@ -238,7 +247,7 @@ const S = {
238
247
  const n = S.getEndpoint("shareThread", (r) => `/chat/threads/${r.replace(/^\//, "")}/share`, e), o = await fetch(`${N.api?.basePath}${n}`, {
239
248
  method: "POST",
240
249
  headers: {
241
- ...O.getHeaders()
250
+ ...F.getHeaders()
242
251
  }
243
252
  });
244
253
  return S.handleResponse(o, "Failed to share thread");
@@ -256,15 +265,15 @@ const S = {
256
265
  return S.handleResponse(e, "Failed to fetch app configuration");
257
266
  }
258
267
  };
259
- function Pn(e, t) {
260
- const [n, o] = $(
268
+ function Mn(e, t) {
269
+ const [n, o] = B(
261
270
  e.metadata?.feedback
262
- ), r = ne((i) => {
263
- navigator.clipboard.writeText(i).catch((c) => {
271
+ ), r = oe((l) => {
272
+ navigator.clipboard.writeText(l).catch((c) => {
264
273
  console.error("Error copying text:", c);
265
274
  });
266
- }, []), a = ne(async (i) => {
267
- const c = n === i ? void 0 : i;
275
+ }, []), a = oe(async (l) => {
276
+ const c = n === l ? void 0 : l;
268
277
  o(c);
269
278
  try {
270
279
  const s = e.parts.find((h) => h.type === "data-message-id"), p = s ? s.data[0].message_id : e.id;
@@ -279,10 +288,10 @@ function Pn(e, t) {
279
288
  copy: r
280
289
  };
281
290
  }
282
- const Mn = /* @__PURE__ */ new Set(["ar", "fa", "he", "ur", "yi", "ku", "ckb", "ps", "sd", "ug", "arc", "syc"]);
283
- function zn() {
284
- const { i18n: e } = M(["translation"]), { app: t } = W(), n = wt(() => {
285
- const i = S.getConfig(), c = t || i.app;
291
+ const zn = /* @__PURE__ */ new Set(["ar", "fa", "he", "ur", "yi", "ku", "ckb", "ps", "sd", "ug", "arc", "syc"]);
292
+ function $n() {
293
+ const { i18n: e } = M(["translation"]), { app: t } = W(), n = St(() => {
294
+ const l = S.getConfig(), c = t || l.app;
286
295
  return {
287
296
  name: c?.name || "Gentiq App",
288
297
  // Use i18n.language as the primary source for the UI state.
@@ -290,11 +299,11 @@ function zn() {
290
299
  language: e.language || c?.language || "en",
291
300
  showToolDetails: c?.showToolDetails ?? !0
292
301
  };
293
- }, [e.language, t]), o = (n.language ?? "").split("-")[0].toLowerCase(), r = Mn.has(o), a = t?.language;
302
+ }, [e.language, t]), o = (n.language ?? "").split("-")[0].toLowerCase(), r = zn.has(o), a = t?.language;
294
303
  return Q(() => {
295
304
  if (typeof window > "u") return;
296
- const i = localStorage.getItem("gentiq-last-default-lang");
297
- a && a !== i && (e.changeLanguage(a), localStorage.setItem("gentiq-last-default-lang", a)), document.documentElement.dir = r ? "rtl" : "ltr", document.documentElement.lang = e.language;
305
+ const l = localStorage.getItem("gentiq-last-default-lang");
306
+ a && a !== l && (e.changeLanguage(a), localStorage.setItem("gentiq-last-default-lang", a)), document.documentElement.dir = r ? "rtl" : "ltr", document.documentElement.lang = e.language;
298
307
  }, [r, e, e.language, a]), {
299
308
  appName: n.name || "Gentiq",
300
309
  language: n.language || e.language,
@@ -305,55 +314,55 @@ function zn() {
305
314
  error: null
306
315
  };
307
316
  }
308
- function $n(e) {
317
+ function Un(e) {
309
318
  const {
310
319
  part: t,
311
320
  message: n,
312
321
  status: o,
313
322
  regen: r,
314
323
  index: a,
315
- lastMessage: i,
324
+ lastMessage: l,
316
325
  conversationId: c,
317
326
  isFinished: s,
318
327
  renderMessagePart: p,
319
328
  chat: h,
320
329
  readonly: f
321
- } = e, { showToolDetails: b } = zn(), { TextPart: m, ReasoningPart: k, ToolPart: d, FilePart: v, toolComponents: x, threadActions: g } = W(), { feedback: E, handleFeedback: C, copy: F } = Pn(n, c);
330
+ } = e, { showToolDetails: b } = $n(), { TextPart: m, ReasoningPart: y, ToolPart: d, FilePart: v, toolComponents: x, threadActions: g } = W(), { feedback: R, handleFeedback: E, copy: I } = Mn(n, c);
322
331
  if (p) {
323
- const R = p(t, n);
324
- if (R !== void 0)
325
- return /* @__PURE__ */ l(J, { children: R });
332
+ const O = p(t, n);
333
+ if (O !== void 0)
334
+ return /* @__PURE__ */ i(J, { children: O });
326
335
  }
327
336
  if (["data-progress-update", "data-message-id", "data-chat-finished", "data-title"].includes(t.type)) return null;
328
- const j = n.parts.filter(
329
- (R) => !["data-progress-update", "data-message-id", "data-chat-finished", "data-title"].includes(R.type)
330
- ), me = t === j[j.length - 1];
331
- return t.type === "text" ? /* @__PURE__ */ l(
337
+ const z = n.parts.filter(
338
+ (O) => !["data-progress-update", "data-message-id", "data-chat-finished", "data-title"].includes(O.type)
339
+ ), ne = t === z[z.length - 1];
340
+ return t.type === "text" ? /* @__PURE__ */ i(
332
341
  m,
333
342
  {
334
343
  part: t,
335
344
  message: n,
336
345
  status: o,
337
346
  isFinished: !!s,
338
- lastMessage: i,
339
- isLastVisiblePart: me,
347
+ lastMessage: l,
348
+ isLastVisiblePart: ne,
340
349
  regen: r,
341
- feedback: E,
342
- handleFeedback: C,
343
- copyHost: F,
350
+ feedback: R,
351
+ handleFeedback: E,
352
+ copyHost: I,
344
353
  feedbackEnabled: f ? !1 : g?.feedback ?? !1,
345
354
  retryEnabled: f ? !1 : g?.retry ?? !1
346
355
  }
347
- ) : t.type === "reasoning" ? /* @__PURE__ */ l(
348
- k,
356
+ ) : t.type === "reasoning" ? /* @__PURE__ */ i(
357
+ y,
349
358
  {
350
359
  part: t,
351
360
  status: o,
352
361
  index: a,
353
362
  partsCount: n.parts.length,
354
- lastMessage: i
363
+ lastMessage: l
355
364
  }
356
- ) : t.type.startsWith("tool-") || "toolCallId" in t ? /* @__PURE__ */ l(
365
+ ) : t.type.startsWith("tool-") || "toolCallId" in t ? /* @__PURE__ */ i(
357
366
  d,
358
367
  {
359
368
  part: t,
@@ -362,7 +371,7 @@ function $n(e) {
362
371
  toolComponents: x,
363
372
  showToolCalls: !!b
364
373
  }
365
- ) : t.type === "file" ? /* @__PURE__ */ l(
374
+ ) : t.type === "file" ? /* @__PURE__ */ i(
366
375
  v,
367
376
  {
368
377
  part: t,
@@ -370,23 +379,23 @@ function $n(e) {
370
379
  }
371
380
  ) : null;
372
381
  }
373
- function y(...e) {
374
- return Fn(On(e));
382
+ function k(...e) {
383
+ return Dn(Ln(e));
375
384
  }
376
- function bl(e, t) {
385
+ function ki(e, t) {
377
386
  if (t === "/") return e;
378
387
  const n = e.endsWith("/") ? e.slice(0, -1) : e, o = t.startsWith("/") ? t : "/" + t;
379
388
  return n + o;
380
389
  }
381
- const fe = ({ className: e, ...t }) => /* @__PURE__ */ l(
390
+ const fe = ({ className: e, ...t }) => /* @__PURE__ */ i(
382
391
  "div",
383
392
  {
384
- className: y(
393
+ className: k(
385
394
  "flex items-center gap-1.5 px-1 py-3",
386
395
  e
387
396
  ),
388
397
  ...t,
389
- children: [0, 1, 2].map((n) => /* @__PURE__ */ l(
398
+ children: [0, 1, 2].map((n) => /* @__PURE__ */ i(
390
399
  "span",
391
400
  {
392
401
  className: "size-2 rounded-full bg-primary/70",
@@ -398,18 +407,18 @@ const fe = ({ className: e, ...t }) => /* @__PURE__ */ l(
398
407
  n
399
408
  ))
400
409
  }
401
- ), Un = /[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/;
402
- function he(e, t = "ltr") {
410
+ ), Bn = /[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/;
411
+ function ge(e, t = "ltr") {
403
412
  if (!e) return t;
404
413
  for (const n of e) {
405
- if (Un.test(n))
414
+ if (Bn.test(n))
406
415
  return "rtl";
407
416
  if (/[A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8]/.test(n))
408
417
  return "ltr";
409
418
  }
410
419
  return "ltr";
411
420
  }
412
- const Bn = Le(
421
+ const Hn = Pe(
413
422
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
414
423
  {
415
424
  variants: {
@@ -441,32 +450,32 @@ function ee({
441
450
  asChild: o = !1,
442
451
  ...r
443
452
  }) {
444
- return /* @__PURE__ */ l(o ? Et : "button", { "data-slot": "button", className: y(Bn({ variant: t, size: n, className: e })), ...r });
453
+ return /* @__PURE__ */ i(o ? Ct : "button", { "data-slot": "button", className: k(Hn({ variant: t, size: n, className: e })), ...r });
445
454
  }
446
- const Hn = ({ className: e, ...t }) => /* @__PURE__ */ l(
447
- Nt,
455
+ const qn = ({ className: e, ...t }) => /* @__PURE__ */ i(
456
+ At,
448
457
  {
449
- className: y("relative flex-1 overflow-hidden", e),
458
+ className: k("relative flex-1 overflow-hidden", e),
450
459
  initial: "smooth",
451
460
  resize: "smooth",
452
461
  role: "log",
453
462
  ...t
454
463
  }
455
- ), jn = ({ className: e, ...t }) => /* @__PURE__ */ l(
456
- Nt.Content,
464
+ ), jn = ({ className: e, ...t }) => /* @__PURE__ */ i(
465
+ At.Content,
457
466
  {
458
- className: y("p-4 pb-6 stick-to-bottom", e),
467
+ className: k("p-4 pb-6 stick-to-bottom", e),
459
468
  scrollClassName: "custom-scrollbar",
460
469
  ...t
461
470
  }
462
- ), qn = ({ className: e, ...t }) => {
463
- const { isAtBottom: n, scrollToBottom: o } = Cn(), r = ne(() => {
471
+ ), Gn = ({ className: e, ...t }) => {
472
+ const { isAtBottom: n, scrollToBottom: o } = In(), r = oe(() => {
464
473
  o();
465
474
  }, [o]);
466
- return n ? null : /* @__PURE__ */ l(
475
+ return n ? null : /* @__PURE__ */ i(
467
476
  "button",
468
477
  {
469
- className: y(
478
+ className: k(
470
479
  "absolute bottom-32 left-1/2 -translate-x-1/2 z-10",
471
480
  "flex items-center gap-1.5 px-4 py-2 rounded-full text-sm font-medium",
472
481
  "glass border border-border/50 shadow-lg shadow-black/10",
@@ -479,74 +488,74 @@ const Hn = ({ className: e, ...t }) => /* @__PURE__ */ l(
479
488
  onClick: r,
480
489
  type: "button",
481
490
  ...t,
482
- children: /* @__PURE__ */ l(cn, { className: "size-3.5" })
491
+ children: /* @__PURE__ */ i(dn, { className: "size-3.5" })
483
492
  }
484
493
  );
485
494
  };
486
- function Pe({ ...e }) {
487
- return /* @__PURE__ */ l(De.Root, { "data-slot": "collapsible", ...e });
495
+ function ze({ ...e }) {
496
+ return /* @__PURE__ */ i(Me.Root, { "data-slot": "collapsible", ...e });
488
497
  }
489
- function Me({ ...e }) {
490
- return /* @__PURE__ */ l(De.CollapsibleTrigger, { "data-slot": "collapsible-trigger", ...e });
498
+ function $e({ ...e }) {
499
+ return /* @__PURE__ */ i(Me.CollapsibleTrigger, { "data-slot": "collapsible-trigger", ...e });
491
500
  }
492
- function ze({ ...e }) {
493
- return /* @__PURE__ */ l(De.CollapsibleContent, { "data-slot": "collapsible-content", ...e });
501
+ function Ue({ ...e }) {
502
+ return /* @__PURE__ */ i(Me.CollapsibleContent, { "data-slot": "collapsible-content", ...e });
494
503
  }
495
- const Gn = ({ className: e, ...t }) => /* @__PURE__ */ l(Pe, { className: y("not-prose mb-4 text-primary text-xs", e), ...t }), Vn = ({ className: e, count: t, children: n, ...o }) => {
504
+ const Vn = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not-prose mb-4 text-primary text-xs", e), ...t }), Wn = ({ className: e, count: t, children: n, ...o }) => {
496
505
  const { t: r } = M(["chat"]);
497
- return /* @__PURE__ */ l(Me, { className: y("flex items-center gap-2", e), ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
498
- /* @__PURE__ */ l("p", { className: "font-medium", children: r("used_sources", { count: t }) }),
499
- /* @__PURE__ */ l(ae, { className: "h-4 w-4" })
506
+ return /* @__PURE__ */ i($e, { className: k("flex items-center gap-2", e), ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
507
+ /* @__PURE__ */ i("p", { className: "font-medium", children: r("used_sources", { count: t }) }),
508
+ /* @__PURE__ */ i(ie, { className: "h-4 w-4" })
500
509
  ] }) });
501
- }, Wn = ({ className: e, ...t }) => /* @__PURE__ */ l(
502
- ze,
510
+ }, Yn = ({ className: e, ...t }) => /* @__PURE__ */ i(
511
+ Ue,
503
512
  {
504
- className: y(
513
+ className: k(
505
514
  "mt-3 flex w-fit flex-col gap-2",
506
515
  "data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",
507
516
  e
508
517
  ),
509
518
  ...t
510
519
  }
511
- ), Yn = ({ href: e, title: t, children: n, ...o }) => /* @__PURE__ */ l("a", { className: "flex items-center gap-2", href: e, rel: "noreferrer", target: "_blank", ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
512
- /* @__PURE__ */ l(un, { className: "h-4 w-4" }),
513
- /* @__PURE__ */ l("span", { className: "block font-medium", children: t })
514
- ] }) }), Xn = ({ latestProgress: e, parts: t }) => {
520
+ ), Xn = ({ href: e, title: t, children: n, ...o }) => /* @__PURE__ */ i("a", { className: "flex items-center gap-2", href: e, rel: "noreferrer", target: "_blank", ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
521
+ /* @__PURE__ */ i(pn, { className: "h-4 w-4" }),
522
+ /* @__PURE__ */ i("span", { className: "block font-medium", children: t })
523
+ ] }) }), Kn = ({ latestProgress: e, parts: t }) => {
515
524
  const n = e.data[0].status, o = e.data[0].message, r = t.lastIndexOf(e);
516
525
  if (!!(t.slice(r + 1).some(
517
526
  (f) => f.type === "text" && (f.text || "").trim().length > 0 || f.type === "tool-invocation" || f.type === "tool-call"
518
527
  ) && n !== "running")) return null;
519
- const s = n === "running", p = n === "error", h = he(o);
520
- return /* @__PURE__ */ l("div", { className: y(
528
+ const s = n === "running", p = n === "error", h = ge(o);
529
+ return /* @__PURE__ */ i("div", { className: k(
521
530
  "flex w-full py-3 mx-auto max-w-4xl px-4 md:px-0 animate-in-bubble",
522
531
  h === "rtl" ? "justify-end" : "justify-start"
523
- ), children: /* @__PURE__ */ w("div", { className: y("flex items-center gap-3 text-sm text-muted-foreground", h === "rtl" && "flex-row-reverse"), dir: h, children: [
524
- s ? /* @__PURE__ */ l("div", { className: "size-4 animate-spin rounded-full border-2 border-primary border-r-transparent shrink-0" }) : p ? /* @__PURE__ */ l(pe, { className: "size-4 text-destructive shrink-0" }) : /* @__PURE__ */ l(Fe, { className: "size-4 text-green-500 shrink-0" }),
525
- /* @__PURE__ */ l("span", { className: y("font-medium", s && "animate-pulse"), children: o })
532
+ ), children: /* @__PURE__ */ w("div", { className: k("flex items-center gap-3 text-sm text-muted-foreground", h === "rtl" && "flex-row-reverse"), dir: h, children: [
533
+ s ? /* @__PURE__ */ i("div", { className: "size-4 animate-spin rounded-full border-2 border-primary border-r-transparent shrink-0" }) : p ? /* @__PURE__ */ i(he, { className: "size-4 text-destructive shrink-0" }) : /* @__PURE__ */ i(De, { className: "size-4 text-green-500 shrink-0" }),
534
+ /* @__PURE__ */ i("span", { className: k("font-medium", s && "animate-pulse"), children: o })
526
535
  ] }) });
527
536
  };
528
- function Kn({
537
+ function Zn({
529
538
  messages: e,
530
539
  status: t,
531
540
  isLoadingHistory: n,
532
541
  error: o,
533
542
  conversationId: r,
534
543
  regen: a,
535
- onSuggestionClick: i,
544
+ onSuggestionClick: l,
536
545
  chat: c,
537
546
  className: s,
538
547
  readonly: p
539
548
  }) {
540
- const { i18n: h, t: f } = M(["chat", "translation"]), b = h.language === "fa", { WelcomeScreen: m } = W(), k = e[e.length - 1], d = k?.role === "assistant" && (t === "ready" || k.parts.some((v) => v.type === "data-chat-finished"));
541
- return /* @__PURE__ */ w(Hn, { className: y("min-h-0 flex-1", s), children: [
549
+ const { i18n: h, t: f } = M(["chat", "translation"]), b = h.language === "fa", { WelcomeScreen: m } = W(), y = e[e.length - 1], d = y?.role === "assistant" && (t === "ready" || y.parts.some((v) => v.type === "data-chat-finished"));
550
+ return /* @__PURE__ */ w(qn, { className: k("min-h-0 flex-1", s), children: [
542
551
  /* @__PURE__ */ w(jn, { className: "max-w-4xl mx-auto w-full px-4 md:px-0 pb-32", dir: "ltr", children: [
543
- e.length === 0 && !n ? /* @__PURE__ */ l(m, { onSuggestionClick: i }) : e.map((v) => /* @__PURE__ */ w("div", { children: [
544
- v.role === "assistant" && v.parts.filter((x) => x.type === "source-url").length > 0 && /* @__PURE__ */ w(Gn, { children: [
545
- /* @__PURE__ */ l(Vn, { count: v.parts.filter((x) => x.type === "source-url").length }),
546
- v.parts.filter((x) => x.type === "source-url").map((x, g) => /* @__PURE__ */ l(Wn, { children: /* @__PURE__ */ l(Yn, { href: x.url, title: x.url }, `${v.id}-${g}`) }, `${v.id}-${g}`))
552
+ e.length === 0 && !n ? /* @__PURE__ */ i(m, { onSuggestionClick: l }) : e.map((v) => /* @__PURE__ */ w("div", { children: [
553
+ v.role === "assistant" && v.parts.filter((x) => x.type === "source-url").length > 0 && /* @__PURE__ */ w(Vn, { children: [
554
+ /* @__PURE__ */ i(Wn, { count: v.parts.filter((x) => x.type === "source-url").length }),
555
+ v.parts.filter((x) => x.type === "source-url").map((x, g) => /* @__PURE__ */ i(Yn, { children: /* @__PURE__ */ i(Xn, { href: x.url, title: x.url }, `${v.id}-${g}`) }, `${v.id}-${g}`))
547
556
  ] }),
548
- v.parts.map((x, g) => /* @__PURE__ */ l(
549
- $n,
557
+ v.parts.map((x, g) => /* @__PURE__ */ i(
558
+ Un,
550
559
  {
551
560
  part: x,
552
561
  message: v,
@@ -563,40 +572,40 @@ function Kn({
563
572
  ))
564
573
  ] }, v.id)),
565
574
  (() => {
566
- if (!k || k.role !== "assistant") return null;
567
- const v = k.parts.filter((g) => g.type === "data-progress-update");
575
+ if (!y || y.role !== "assistant") return null;
576
+ const v = y.parts.filter((g) => g.type === "data-progress-update");
568
577
  if (v.length === 0) return null;
569
578
  const x = v[v.length - 1];
570
- return x ? /* @__PURE__ */ l(Xn, { latestProgress: x, parts: k.parts }) : null;
579
+ return x ? /* @__PURE__ */ i(Kn, { latestProgress: x, parts: y.parts }) : null;
571
580
  })(),
572
- (n || t === "submitted") && /* @__PURE__ */ l("div", { className: "animate-in-bubble", children: /* @__PURE__ */ l(fe, {}) }),
581
+ (n || t === "submitted") && /* @__PURE__ */ i("div", { className: "animate-in-bubble", children: /* @__PURE__ */ i(fe, {}) }),
573
582
  t === "streaming" && (() => {
574
583
  const v = e[e.length - 1];
575
- return !v || v.role === "user" ? /* @__PURE__ */ l(fe, {}) : v.parts?.some(
584
+ return !v || v.role === "user" ? /* @__PURE__ */ i(fe, {}) : v.parts?.some(
576
585
  (g) => g.type === "text" && g.text?.trim().length > 0 || g.type === "reasoning" || g.type === "tool-invocation" || g.type === "tool-call"
577
- ) ? null : /* @__PURE__ */ l(fe, {});
586
+ ) ? null : /* @__PURE__ */ i(fe, {});
578
587
  })(),
579
- t === "error" && o && /* @__PURE__ */ l("div", { className: "mx-auto max-w-4xl w-full px-4 my-3 animate-in-bubble", children: /* @__PURE__ */ w("div", { className: y(
588
+ t === "error" && o && /* @__PURE__ */ i("div", { className: "mx-auto max-w-4xl w-full px-4 my-3 animate-in-bubble", children: /* @__PURE__ */ w("div", { className: k(
580
589
  "flex w-full items-start gap-3 px-4 py-3.5 rounded-xl bg-destructive/8 border border-destructive/15",
581
590
  b ? "border-r-2 border-r-destructive/60" : "border-l-2 border-l-destructive/60"
582
591
  ), dir: b ? "rtl" : "ltr", children: [
583
- /* @__PURE__ */ l("div", { className: "size-1.5 rounded-full bg-destructive mt-2 shrink-0" }),
584
- /* @__PURE__ */ w("div", { className: y("text-sm text-destructive/90 leading-relaxed flex-1", b ? "text-right" : "text-left"), children: [
585
- /* @__PURE__ */ l("span", { className: "font-semibold", children: f("error") }),
592
+ /* @__PURE__ */ i("div", { className: "size-1.5 rounded-full bg-destructive mt-2 shrink-0" }),
593
+ /* @__PURE__ */ w("div", { className: k("text-sm text-destructive/90 leading-relaxed flex-1", b ? "text-right" : "text-left"), children: [
594
+ /* @__PURE__ */ i("span", { className: "font-semibold", children: f("error") }),
586
595
  " ",
587
596
  o.message
588
597
  ] })
589
598
  ] }) })
590
599
  ] }),
591
- /* @__PURE__ */ l(qn, {})
600
+ /* @__PURE__ */ i(Gn, {})
592
601
  ] });
593
602
  }
594
- function Zn({ className: e, ...t }) {
595
- return /* @__PURE__ */ l(
603
+ function Jn({ className: e, ...t }) {
604
+ return /* @__PURE__ */ i(
596
605
  "textarea",
597
606
  {
598
607
  "data-slot": "textarea",
599
- className: y(
608
+ className: k(
600
609
  "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
601
610
  e
602
611
  ),
@@ -604,10 +613,10 @@ function Zn({ className: e, ...t }) {
604
613
  }
605
614
  );
606
615
  }
607
- const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg-transparent w-full", children: /* @__PURE__ */ l(
616
+ const Qn = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg-transparent w-full", children: /* @__PURE__ */ i(
608
617
  "form",
609
618
  {
610
- className: y(
619
+ className: k(
611
620
  "w-full flex items-end gap-2 overflow-hidden",
612
621
  "rounded-lg bg-surface glow-primary",
613
622
  "px-3 py-2",
@@ -619,7 +628,7 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
619
628
  ),
620
629
  ...t
621
630
  }
622
- ) }), Qn = ({
631
+ ) }), eo = ({
623
632
  onChange: e,
624
633
  className: t,
625
634
  placeholder: n = "What would you like to know?",
@@ -633,12 +642,12 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
633
642
  const s = c.currentTarget.form;
634
643
  s && s.requestSubmit();
635
644
  }
636
- }, { i18n: a } = M(["chat"]), i = he(o.value, a.dir());
637
- return /* @__PURE__ */ l(
638
- Zn,
645
+ }, { i18n: a } = M(["chat"]), l = ge(o.value, a.dir());
646
+ return /* @__PURE__ */ i(
647
+ Jn,
639
648
  {
640
- dir: i,
641
- className: y(
649
+ dir: l,
650
+ className: k(
642
651
  "flex-1 resize-none rounded-none border-none shadow-none outline-none ring-0",
643
652
  "px-2 py-2.5",
644
653
  "field-sizing-content max-h-[6lh] bg-transparent dark:bg-transparent",
@@ -656,12 +665,12 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
656
665
  ...o
657
666
  }
658
667
  );
659
- }, eo = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: y("flex shrink-0 items-center gap-1.5 pb-1", e), ...t }), to = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: y("flex items-center gap-0.5", e), ...t }), no = ({ variant: e = "ghost", className: t, size: n, ...o }) => {
660
- const r = n ?? ln.count(o.children) > 1 ? "default" : "icon";
661
- return /* @__PURE__ */ l(
668
+ }, to = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: k("flex shrink-0 items-center gap-1.5 pb-1", e), ...t }), no = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: k("flex items-center gap-0.5", e), ...t }), oo = ({ variant: e = "ghost", className: t, size: n, ...o }) => {
669
+ const r = n ?? cn.count(o.children) > 1 ? "default" : "icon";
670
+ return /* @__PURE__ */ i(
662
671
  ee,
663
672
  {
664
- className: y(
673
+ className: k(
665
674
  "shrink-0 gap-1.5 rounded-xl",
666
675
  "text-muted-foreground hover:text-foreground",
667
676
  "hover:bg-accent/60 transition-all duration-200",
@@ -675,7 +684,7 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
675
684
  ...o
676
685
  }
677
686
  );
678
- }, oo = ({
687
+ }, ro = ({
679
688
  className: e,
680
689
  variant: t = "default",
681
690
  size: n = "icon",
@@ -683,11 +692,11 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
683
692
  children: r,
684
693
  ...a
685
694
  }) => {
686
- let i = /* @__PURE__ */ l(dn, { className: "size-4" });
687
- return o === "submitted" ? i = /* @__PURE__ */ l(pn, { className: "size-4 animate-spin" }) : o === "streaming" ? i = /* @__PURE__ */ l(hn, { className: "size-3.5 fill-current" }) : o === "error" && (i = /* @__PURE__ */ l(pe, { className: "size-4" })), /* @__PURE__ */ l(
695
+ let l = /* @__PURE__ */ i(hn, { className: "size-4" });
696
+ return o === "submitted" ? l = /* @__PURE__ */ i(gn, { className: "size-4 animate-spin" }) : o === "streaming" ? l = /* @__PURE__ */ i(mn, { className: "size-3.5 fill-current" }) : o === "error" && (l = /* @__PURE__ */ i(he, { className: "size-4" })), /* @__PURE__ */ i(
688
697
  ee,
689
698
  {
690
- className: y(
699
+ className: k(
691
700
  "shrink-0 rounded-lg size-9",
692
701
  "bg-gradient-to-br from-primary to-primary/80",
693
702
  "text-primary-foreground",
@@ -705,109 +714,121 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
705
714
  type: o === "streaming" ? "button" : "submit",
706
715
  variant: t,
707
716
  ...a,
708
- children: r ?? i
717
+ children: r ?? l
709
718
  }
710
719
  );
711
720
  };
712
- function Tt({ delayDuration: e = 400, ...t }) {
713
- return /* @__PURE__ */ l(K.Provider, { "data-slot": "tooltip-provider", delayDuration: e, ...t });
721
+ function It({ delayDuration: e = 400, ...t }) {
722
+ return /* @__PURE__ */ i(K.Provider, { "data-slot": "tooltip-provider", delayDuration: e, ...t });
714
723
  }
715
- function Ct({ ...e }) {
716
- return /* @__PURE__ */ l(Tt, { children: /* @__PURE__ */ l(K.Root, { "data-slot": "tooltip", ...e }) });
724
+ function Rt({ ...e }) {
725
+ return /* @__PURE__ */ i(It, { children: /* @__PURE__ */ i(K.Root, { "data-slot": "tooltip", ...e }) });
717
726
  }
718
- function At({ ...e }) {
719
- return /* @__PURE__ */ l(K.Trigger, { "data-slot": "tooltip-trigger", ...e });
727
+ function Ot({ ...e }) {
728
+ return /* @__PURE__ */ i(K.Trigger, { "data-slot": "tooltip-trigger", ...e });
720
729
  }
721
- function It({
730
+ function Ft({
722
731
  className: e,
723
732
  sideOffset: t = 0,
724
733
  children: n,
725
734
  ...o
726
735
  }) {
727
- return /* @__PURE__ */ l(K.Portal, { children: /* @__PURE__ */ w(
736
+ return /* @__PURE__ */ i(K.Portal, { children: /* @__PURE__ */ w(
728
737
  K.Content,
729
738
  {
730
739
  "data-slot": "tooltip-content",
731
740
  sideOffset: t,
732
- className: y(
741
+ className: k(
733
742
  "bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-sm text-balance",
734
743
  e
735
744
  ),
736
745
  ...o,
737
746
  children: [
738
747
  n,
739
- /* @__PURE__ */ l(K.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
748
+ /* @__PURE__ */ i(K.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
740
749
  ]
741
750
  }
742
751
  ) });
743
752
  }
744
- function ro({
753
+ const be = 768;
754
+ function ao() {
755
+ const [e, t] = Ce.useState(void 0);
756
+ return Ce.useEffect(() => {
757
+ const n = window.matchMedia(`(max-width: ${be - 1}px)`), o = () => {
758
+ t(window.innerWidth < be);
759
+ };
760
+ return n.addEventListener("change", o), t(window.innerWidth < be), () => {
761
+ n.removeEventListener("change", o);
762
+ };
763
+ }, []), !!e;
764
+ }
765
+ function io({
745
766
  onSend: e,
746
767
  status: t,
747
768
  isLastMessageFinished: n,
748
769
  stop: o,
749
770
  isErrorVisible: r,
750
771
  conversationId: a,
751
- className: i
772
+ className: l
752
773
  }) {
753
- const { t: c } = M(["chat", "translation"]), { composer: s } = W(), [p, h] = $(""), [f, b] = $([]), m = je(null), k = je(null);
774
+ const { t: c } = M(["chat", "translation"]), { composer: s } = W(), [p, h] = B(""), [f, b] = B([]), m = ao(), y = Ge(null), d = Ge(null);
754
775
  Q(() => {
755
- a === "/" && m.current && m.current.focus();
756
- }, [a]);
757
- const d = ne((E) => {
776
+ !m && a === "/" && y.current && y.current.focus();
777
+ }, [a, m]);
778
+ const v = oe((E) => {
758
779
  if (E.target.files) {
759
- const C = Array.from(E.target.files), F = s?.attachments?.maxSize;
760
- if (F && C.filter((j) => j.size > F).length > 0) {
761
- An.error(c("file_too_large", { size: F }));
780
+ const I = Array.from(E.target.files), U = s?.attachments?.maxSize;
781
+ if (U && I.filter((ne) => ne.size > U).length > 0) {
782
+ Rn.error(c("file_too_large", { size: U }));
762
783
  return;
763
784
  }
764
- b((H) => [...H, ...C]);
785
+ b((z) => [...z, ...I]);
765
786
  }
766
787
  E.target.value = "";
767
- }, [s, c]), v = ne((E) => {
768
- b((C) => C.filter((F, H) => H !== E));
769
- }, []), x = t === "streaming" && !n, g = (E) => {
770
- if (E.preventDefault(), !x && (p.trim() || f.length > 0)) {
771
- const C = new DataTransfer();
772
- f.forEach((F) => C.items.add(F)), e(p, C.files), h(""), b([]);
788
+ }, [s, c]), x = oe((E) => {
789
+ b((I) => I.filter((U, z) => z !== E));
790
+ }, []), g = t === "streaming" && !n, R = (E) => {
791
+ if (E.preventDefault(), !g && (p.trim() || f.length > 0)) {
792
+ const I = new DataTransfer();
793
+ f.forEach((U) => I.items.add(U)), e(p, I.files), h(""), b([]);
773
794
  }
774
795
  };
775
- return /* @__PURE__ */ l("div", { className: y("shrink-0 px-4 pb-5 pt-2 md:px-6 md:pb-6 w-full", i), children: /* @__PURE__ */ l("div", { className: "max-w-4xl mx-auto w-full", children: /* @__PURE__ */ w(Jn, { onSubmit: g, children: [
776
- /* @__PURE__ */ l(
796
+ return /* @__PURE__ */ i("div", { className: k("shrink-0 px-4 pb-5 pt-2 md:px-6 md:pb-6 w-full", l), children: /* @__PURE__ */ i("div", { className: "max-w-4xl mx-auto w-full", children: /* @__PURE__ */ w(Qn, { onSubmit: R, children: [
797
+ /* @__PURE__ */ i(
777
798
  "input",
778
799
  {
779
800
  type: "file",
780
- ref: k,
781
- onChange: d,
801
+ ref: d,
802
+ onChange: v,
782
803
  multiple: !0,
783
804
  accept: s?.attachments?.types?.join(",") || "image/*,text/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx",
784
805
  className: "hidden"
785
806
  }
786
807
  ),
787
808
  /* @__PURE__ */ w("div", { className: "flex flex-col flex-1 gap-2", children: [
788
- f.length > 0 && /* @__PURE__ */ l("div", { className: "flex flex-wrap gap-2 px-2 pt-2", children: f.map((E, C) => /* @__PURE__ */ w("div", { className: "group relative flex items-center gap-2 rounded-xl glass-surface px-2.5 py-1.5 text-sm shadow-sm", children: [
789
- E.type.startsWith("image/") ? /* @__PURE__ */ l("img", { src: URL.createObjectURL(E), alt: E.name, className: "size-7 rounded-lg object-cover ring-1 ring-border/50" }) : /* @__PURE__ */ l(xt, { className: "size-3.5 text-muted-foreground shrink-0" }),
790
- /* @__PURE__ */ l("span", { className: "max-w-[120px] truncate text-xs font-medium text-foreground/80", children: E.name }),
791
- /* @__PURE__ */ l("button", { type: "button", onClick: () => v(C), className: "ml-0.5 flex items-center justify-center size-4 rounded-full hover:bg-destructive/15 text-muted-foreground/60 hover:text-destructive transition-all duration-150", children: /* @__PURE__ */ l(pe, { className: "size-2.5" }) })
792
- ] }, `${E.name}-${C}`)) }),
793
- /* @__PURE__ */ l(
794
- Qn,
809
+ f.length > 0 && /* @__PURE__ */ i("div", { className: "flex flex-wrap gap-2 px-2 pt-2", children: f.map((E, I) => /* @__PURE__ */ w("div", { className: "group relative flex items-center gap-2 rounded-xl glass-surface px-2.5 py-1.5 text-sm shadow-sm", children: [
810
+ E.type.startsWith("image/") ? /* @__PURE__ */ i("img", { src: URL.createObjectURL(E), alt: E.name, className: "size-7 rounded-lg object-cover ring-1 ring-border/50" }) : /* @__PURE__ */ i(Et, { className: "size-3.5 text-muted-foreground shrink-0" }),
811
+ /* @__PURE__ */ i("span", { className: "max-w-[120px] truncate text-xs font-medium text-foreground/80", children: E.name }),
812
+ /* @__PURE__ */ i("button", { type: "button", onClick: () => x(I), className: "ml-0.5 flex items-center justify-center size-4 rounded-full hover:bg-destructive/15 text-muted-foreground/60 hover:text-destructive transition-all duration-150", children: /* @__PURE__ */ i(he, { className: "size-2.5" }) })
813
+ ] }, `${E.name}-${I}`)) }),
814
+ /* @__PURE__ */ i(
815
+ eo,
795
816
  {
796
- ref: m,
817
+ ref: y,
797
818
  onChange: (E) => h(E.target.value),
798
819
  value: p,
799
- autoFocus: !0,
820
+ autoFocus: !m,
800
821
  placeholder: s?.placeholder ? c(s.placeholder) : c("input_placeholder")
801
822
  }
802
823
  )
803
824
  ] }),
804
- /* @__PURE__ */ w(eo, { children: [
805
- /* @__PURE__ */ l(to, { children: (s?.attachments?.enabled ?? !1) && /* @__PURE__ */ w(Ct, { children: [
806
- /* @__PURE__ */ l(At, { asChild: !0, children: /* @__PURE__ */ l(no, { variant: "ghost", onClick: () => k.current?.click(), disabled: x, children: /* @__PURE__ */ l(gn, { className: "size-4" }) }) }),
807
- /* @__PURE__ */ l(It, { children: c("attach_file") })
825
+ /* @__PURE__ */ w(to, { children: [
826
+ /* @__PURE__ */ i(no, { children: (s?.attachments?.enabled ?? !1) && /* @__PURE__ */ w(Rt, { children: [
827
+ /* @__PURE__ */ i(Ot, { asChild: !0, children: /* @__PURE__ */ i(oo, { variant: "ghost", onClick: () => d.current?.click(), disabled: g, children: /* @__PURE__ */ i(fn, { className: "size-4" }) }) }),
828
+ /* @__PURE__ */ i(Ft, { children: c("attach_file") })
808
829
  ] }) }),
809
- /* @__PURE__ */ l(
810
- oo,
830
+ /* @__PURE__ */ i(
831
+ ro,
811
832
  {
812
833
  disabled: t !== "streaming" && !p && f.length === 0,
813
834
  status: r ? "error" : t === "error" ? void 0 : n ? "ready" : t,
@@ -817,32 +838,32 @@ function ro({
817
838
  ] })
818
839
  ] }) }) });
819
840
  }
820
- const ao = ({
841
+ const lo = ({
821
842
  suggestion: e,
822
843
  onClick: t,
823
844
  className: n,
824
845
  variant: o = "outline",
825
846
  size: r = "sm",
826
847
  children: a,
827
- ...i
848
+ ...l
828
849
  }) => {
829
850
  const c = () => {
830
851
  t?.(e);
831
852
  };
832
- return /* @__PURE__ */ l(
853
+ return /* @__PURE__ */ i(
833
854
  ee,
834
855
  {
835
- className: y("cursor-pointer rounded-full px-4", n),
856
+ className: k("cursor-pointer rounded-full px-4", n),
836
857
  onClick: c,
837
858
  size: r,
838
859
  type: "button",
839
860
  variant: o,
840
- ...i,
861
+ ...l,
841
862
  children: a ?? e
842
863
  }
843
864
  );
844
- }, lo = ({ onSuggestionClick: e, icons: t }) => {
845
- const { t: n, i18n: o } = M(["chat", "translation"]), { welcome: r } = W(), a = r?.prompts ?? [], i = a.map((h) => {
865
+ }, so = ({ onSuggestionClick: e, icons: t }) => {
866
+ const { t: n, i18n: o } = M(["chat", "translation"]), { welcome: r } = W(), a = r?.prompts ?? [], l = a.map((h) => {
846
867
  const f = typeof h == "string" ? h : h.text;
847
868
  return n(f);
848
869
  }).filter((h) => h !== null && h !== ""), c = o.dir() === "rtl", s = r?.greeting ? n(r.greeting) ?? r.greeting : n("welcome.title"), p = r?.subtitle ? n(r.subtitle) : null;
@@ -853,27 +874,27 @@ const ao = ({
853
874
  className: "flex flex-col items-center justify-center min-h-[60vh] text-center px-6 animate-in fade-in duration-700 ease-out",
854
875
  children: [
855
876
  r?.icon && /* @__PURE__ */ w("div", { className: "mb-8 relative flex items-center justify-center", children: [
856
- /* @__PURE__ */ l("div", { className: "absolute size-24 rounded-full bg-primary/5 blur-[40px] animate-pulse" }),
857
- /* @__PURE__ */ l("div", { className: "relative size-12 md:size-16 rounded-xl bg-gradient-to-br from-surface to-secondary flex items-center justify-center border border-border/10 dark:border-border/5 shadow-xl shadow-black/10", children: typeof r.icon == "function" ? /* @__PURE__ */ l(r.icon, { className: "size-6 md:size-8 text-primary opacity-80" }) : r.icon })
877
+ /* @__PURE__ */ i("div", { className: "absolute size-24 rounded-full bg-primary/5 blur-[40px] animate-pulse" }),
878
+ /* @__PURE__ */ i("div", { className: "relative size-12 md:size-16 rounded-xl bg-gradient-to-br from-surface to-secondary flex items-center justify-center border border-border/10 dark:border-border/5 shadow-xl shadow-black/10", children: typeof r.icon == "function" ? /* @__PURE__ */ i(r.icon, { className: "size-6 md:size-8 text-primary opacity-80" }) : r.icon })
858
879
  ] }),
859
880
  (s || p) && /* @__PURE__ */ w("div", { className: "space-y-3 mb-12 max-w-xl mx-auto", children: [
860
- s && /* @__PURE__ */ l("h1", { className: "text-2xl md:text-3xl font-black tracking-tight leading-tight text-foreground", children: s }),
861
- p && /* @__PURE__ */ l("p", { className: "text-muted-foreground text-base md:text-lg font-medium max-w-md mx-auto leading-relaxed opacity-85 dark:opacity-70", children: p })
881
+ s && /* @__PURE__ */ i("h1", { className: "text-2xl md:text-3xl font-black tracking-tight leading-tight text-foreground", children: s }),
882
+ p && /* @__PURE__ */ i("p", { className: "text-muted-foreground text-base md:text-lg font-medium max-w-md mx-auto leading-relaxed opacity-85 dark:opacity-70", children: p })
862
883
  ] }),
863
- i.length > 0 && /* @__PURE__ */ l("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-3 w-full max-w-xl", children: i.map((h, f) => {
864
- const b = a[f], m = typeof b != "string" ? b.icon : null, k = t && t[f % t.length] ? t[f % t.length] : mn, d = m || k;
865
- return /* @__PURE__ */ l(
884
+ l.length > 0 && /* @__PURE__ */ i("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-3 w-full max-w-xl", children: l.map((h, f) => {
885
+ const b = a[f], m = typeof b != "string" ? b.icon : null, y = t && t[f % t.length] ? t[f % t.length] : bn, d = m || y;
886
+ return /* @__PURE__ */ i(
866
887
  "div",
867
888
  {
868
889
  className: "animate-in fade-in slide-in-from-bottom-3 duration-700 fill-mode-both",
869
890
  style: { animationDelay: `${f * 80}ms` },
870
891
  children: /* @__PURE__ */ w(
871
- ao,
892
+ lo,
872
893
  {
873
894
  onClick: () => e(h),
874
895
  suggestion: h,
875
896
  variant: "ghost",
876
- className: y(
897
+ className: k(
877
898
  "h-full py-4 px-5 justify-start text-start items-center whitespace-normal w-full",
878
899
  "group rounded-xl relative overflow-hidden",
879
900
  "bg-secondary/45 border border-border/12 dark:bg-secondary/20 dark:border-border/5",
@@ -882,10 +903,10 @@ const ao = ({
882
903
  ),
883
904
  children: [
884
905
  /* @__PURE__ */ w("div", { className: "flex items-center gap-3 w-full text-start", children: [
885
- /* @__PURE__ */ l("div", { className: "size-8 rounded-lg bg-secondary/35 dark:bg-background/40 flex items-center justify-center shrink-0 border border-border/10 dark:border-border/5 group-hover:bg-primary group-hover:text-primary-foreground transition-colors duration-300", children: /* @__PURE__ */ l(d, { className: "size-4" }) }),
886
- /* @__PURE__ */ l("div", { className: "flex flex-col gap-0.5 overflow-hidden", children: /* @__PURE__ */ l("span", { className: "text-sm md:text-base font-semibold text-foreground/80 group-hover:text-foreground transition-colors", children: h.length > 60 ? h.substring(0, 60) + "..." : h }) })
906
+ /* @__PURE__ */ i("div", { className: "size-8 rounded-lg bg-secondary/35 dark:bg-background/40 flex items-center justify-center shrink-0 border border-border/10 dark:border-border/5 group-hover:bg-primary group-hover:text-primary-foreground transition-colors duration-300", children: /* @__PURE__ */ i(d, { className: "size-4" }) }),
907
+ /* @__PURE__ */ i("div", { className: "flex flex-col gap-0.5 overflow-hidden", children: /* @__PURE__ */ i("span", { className: "text-sm md:text-base font-semibold text-foreground/80 group-hover:text-foreground transition-colors", children: h.length > 60 ? h.substring(0, 60) + "..." : h }) })
887
908
  ] }),
888
- /* @__PURE__ */ l("div", { className: y(
909
+ /* @__PURE__ */ i("div", { className: k(
889
910
  "absolute bottom-0 left-0 w-full h-[1.5px] bg-primary scale-x-0 group-hover:scale-x-100 transition-transform duration-500",
890
911
  c ? "origin-right" : "origin-left"
891
912
  ) })
@@ -899,20 +920,20 @@ const ao = ({
899
920
  ]
900
921
  }
901
922
  );
902
- }, Rt = ({ className: e, from: t, ...n }) => /* @__PURE__ */ l(
923
+ }, Lt = ({ className: e, from: t, ...n }) => /* @__PURE__ */ i(
903
924
  "div",
904
925
  {
905
- className: y(
926
+ className: k(
906
927
  "group flex w-full items-end gap-3",
907
928
  t === "user" ? "is-user justify-end" : "is-assistant",
908
929
  e
909
930
  ),
910
931
  ...n
911
932
  }
912
- ), Ot = ({ children: e, className: t, isPlain: n, ...o }) => /* @__PURE__ */ l(
933
+ ), Dt = ({ children: e, className: t, isPlain: n, ...o }) => /* @__PURE__ */ i(
913
934
  "div",
914
935
  {
915
- className: y(
936
+ className: k(
916
937
  "flex flex-col gap-2 overflow-hidden text-[1.0625rem]",
917
938
  // User bubble: gradient pill with glow shadow
918
939
  !n && [
@@ -933,10 +954,10 @@ const ao = ({
933
954
  ...o,
934
955
  children: e
935
956
  }
936
- ), io = ({ className: e, children: t, ...n }) => /* @__PURE__ */ l(
957
+ ), co = ({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
937
958
  "div",
938
959
  {
939
- className: y(
960
+ className: k(
940
961
  "flex items-center gap-0.5",
941
962
  "opacity-100",
942
963
  "transition-opacity duration-200",
@@ -945,19 +966,19 @@ const ao = ({
945
966
  ...n,
946
967
  children: t
947
968
  }
948
- ), ie = ({
969
+ ), se = ({
949
970
  tooltip: e,
950
971
  children: t,
951
972
  label: n,
952
973
  className: o,
953
974
  variant: r = "ghost",
954
975
  size: a = "sm",
955
- ...i
976
+ ...l
956
977
  }) => {
957
978
  const c = /* @__PURE__ */ w(
958
979
  ee,
959
980
  {
960
- className: y(
981
+ className: k(
961
982
  "size-7 p-1 rounded-lg",
962
983
  "text-muted-foreground/60 hover:text-foreground",
963
984
  "hover:bg-accent/70",
@@ -968,16 +989,16 @@ const ao = ({
968
989
  size: a,
969
990
  type: "button",
970
991
  variant: r,
971
- ...i,
992
+ ...l,
972
993
  children: [
973
994
  t,
974
- /* @__PURE__ */ l("span", { className: "sr-only", children: n ?? e })
995
+ /* @__PURE__ */ i("span", { className: "sr-only", children: n ?? e })
975
996
  ]
976
997
  }
977
998
  );
978
- return e ? /* @__PURE__ */ l(Tt, { children: /* @__PURE__ */ w(Ct, { children: [
979
- /* @__PURE__ */ l(At, { asChild: !0, children: c }),
980
- /* @__PURE__ */ l(It, { children: /* @__PURE__ */ l("p", { children: e }) })
999
+ return e ? /* @__PURE__ */ i(It, { children: /* @__PURE__ */ w(Rt, { children: [
1000
+ /* @__PURE__ */ i(Ot, { asChild: !0, children: c }),
1001
+ /* @__PURE__ */ i(Ft, { children: /* @__PURE__ */ i("p", { children: e }) })
981
1002
  ] }) }) : c;
982
1003
  };
983
1004
  class le {
@@ -998,13 +1019,13 @@ class le {
998
1019
  le.prototype.normal = {};
999
1020
  le.prototype.property = {};
1000
1021
  le.prototype.space = void 0;
1001
- function Ft(e, t) {
1022
+ function Pt(e, t) {
1002
1023
  const n = {}, o = {};
1003
1024
  for (const r of e)
1004
1025
  Object.assign(n, r.property), Object.assign(o, r.normal);
1005
1026
  return new le(n, o, t);
1006
1027
  }
1007
- function re(e) {
1028
+ function ae(e) {
1008
1029
  return e.toLowerCase();
1009
1030
  }
1010
1031
  class D {
@@ -1032,25 +1053,25 @@ D.prototype.overloadedBoolean = !1;
1032
1053
  D.prototype.property = "";
1033
1054
  D.prototype.spaceSeparated = !1;
1034
1055
  D.prototype.space = void 0;
1035
- let so = 0;
1036
- const _ = G(), I = G(), Te = G(), u = G(), T = G(), Z = G(), P = G();
1056
+ let uo = 0;
1057
+ const _ = G(), A = G(), Ae = G(), u = G(), T = G(), Z = G(), P = G();
1037
1058
  function G() {
1038
- return 2 ** ++so;
1059
+ return 2 ** ++uo;
1039
1060
  }
1040
- const Ce = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1061
+ const Ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1041
1062
  __proto__: null,
1042
1063
  boolean: _,
1043
- booleanish: I,
1064
+ booleanish: A,
1044
1065
  commaOrSpaceSeparated: P,
1045
1066
  commaSeparated: Z,
1046
1067
  number: u,
1047
- overloadedBoolean: Te,
1068
+ overloadedBoolean: Ae,
1048
1069
  spaceSeparated: T
1049
- }, Symbol.toStringTag, { value: "Module" })), be = (
1070
+ }, Symbol.toStringTag, { value: "Module" })), ye = (
1050
1071
  /** @type {ReadonlyArray<keyof typeof types>} */
1051
- Object.keys(Ce)
1072
+ Object.keys(Ie)
1052
1073
  );
1053
- class $e extends D {
1074
+ class Be extends D {
1054
1075
  /**
1055
1076
  * @constructor
1056
1077
  * @param {string} property
@@ -1066,37 +1087,37 @@ class $e extends D {
1066
1087
  */
1067
1088
  constructor(t, n, o, r) {
1068
1089
  let a = -1;
1069
- if (super(t, n), We(this, "space", r), typeof o == "number")
1070
- for (; ++a < be.length; ) {
1071
- const i = be[a];
1072
- We(this, be[a], (o & Ce[i]) === Ce[i]);
1090
+ if (super(t, n), Ke(this, "space", r), typeof o == "number")
1091
+ for (; ++a < ye.length; ) {
1092
+ const l = ye[a];
1093
+ Ke(this, ye[a], (o & Ie[l]) === Ie[l]);
1073
1094
  }
1074
1095
  }
1075
1096
  }
1076
- $e.prototype.defined = !0;
1077
- function We(e, t, n) {
1097
+ Be.prototype.defined = !0;
1098
+ function Ke(e, t, n) {
1078
1099
  n && (e[t] = n);
1079
1100
  }
1080
1101
  function te(e) {
1081
1102
  const t = {}, n = {};
1082
1103
  for (const [o, r] of Object.entries(e.properties)) {
1083
- const a = new $e(
1104
+ const a = new Be(
1084
1105
  o,
1085
1106
  e.transform(e.attributes || {}, o),
1086
1107
  r,
1087
1108
  e.space
1088
1109
  );
1089
- e.mustUseProperty && e.mustUseProperty.includes(o) && (a.mustUseProperty = !0), t[o] = a, n[re(o)] = o, n[re(a.attribute)] = o;
1110
+ e.mustUseProperty && e.mustUseProperty.includes(o) && (a.mustUseProperty = !0), t[o] = a, n[ae(o)] = o, n[ae(a.attribute)] = o;
1090
1111
  }
1091
1112
  return new le(t, n, e.space);
1092
1113
  }
1093
- const Lt = te({
1114
+ const Mt = te({
1094
1115
  properties: {
1095
1116
  ariaActiveDescendant: null,
1096
- ariaAtomic: I,
1117
+ ariaAtomic: A,
1097
1118
  ariaAutoComplete: null,
1098
- ariaBusy: I,
1099
- ariaChecked: I,
1119
+ ariaBusy: A,
1120
+ ariaChecked: A,
1100
1121
  ariaColCount: u,
1101
1122
  ariaColIndex: u,
1102
1123
  ariaColSpan: u,
@@ -1104,36 +1125,36 @@ const Lt = te({
1104
1125
  ariaCurrent: null,
1105
1126
  ariaDescribedBy: T,
1106
1127
  ariaDetails: null,
1107
- ariaDisabled: I,
1128
+ ariaDisabled: A,
1108
1129
  ariaDropEffect: T,
1109
1130
  ariaErrorMessage: null,
1110
- ariaExpanded: I,
1131
+ ariaExpanded: A,
1111
1132
  ariaFlowTo: T,
1112
- ariaGrabbed: I,
1133
+ ariaGrabbed: A,
1113
1134
  ariaHasPopup: null,
1114
- ariaHidden: I,
1135
+ ariaHidden: A,
1115
1136
  ariaInvalid: null,
1116
1137
  ariaKeyShortcuts: null,
1117
1138
  ariaLabel: null,
1118
1139
  ariaLabelledBy: T,
1119
1140
  ariaLevel: u,
1120
1141
  ariaLive: null,
1121
- ariaModal: I,
1122
- ariaMultiLine: I,
1123
- ariaMultiSelectable: I,
1142
+ ariaModal: A,
1143
+ ariaMultiLine: A,
1144
+ ariaMultiSelectable: A,
1124
1145
  ariaOrientation: null,
1125
1146
  ariaOwns: T,
1126
1147
  ariaPlaceholder: null,
1127
1148
  ariaPosInSet: u,
1128
- ariaPressed: I,
1129
- ariaReadOnly: I,
1149
+ ariaPressed: A,
1150
+ ariaReadOnly: A,
1130
1151
  ariaRelevant: null,
1131
- ariaRequired: I,
1152
+ ariaRequired: A,
1132
1153
  ariaRoleDescription: T,
1133
1154
  ariaRowCount: u,
1134
1155
  ariaRowIndex: u,
1135
1156
  ariaRowSpan: u,
1136
- ariaSelected: I,
1157
+ ariaSelected: A,
1137
1158
  ariaSetSize: u,
1138
1159
  ariaSort: null,
1139
1160
  ariaValueMax: u,
@@ -1146,13 +1167,13 @@ const Lt = te({
1146
1167
  return t === "role" ? t : "aria-" + t.slice(4).toLowerCase();
1147
1168
  }
1148
1169
  });
1149
- function Dt(e, t) {
1170
+ function zt(e, t) {
1150
1171
  return t in e ? e[t] : t;
1151
1172
  }
1152
- function Pt(e, t) {
1153
- return Dt(e, t.toLowerCase());
1173
+ function $t(e, t) {
1174
+ return zt(e, t.toLowerCase());
1154
1175
  }
1155
- const co = te({
1176
+ const po = te({
1156
1177
  attributes: {
1157
1178
  acceptcharset: "accept-charset",
1158
1179
  classname: "class",
@@ -1187,7 +1208,7 @@ const co = te({
1187
1208
  cols: u,
1188
1209
  colSpan: null,
1189
1210
  content: null,
1190
- contentEditable: I,
1211
+ contentEditable: A,
1191
1212
  controls: _,
1192
1213
  controlsList: T,
1193
1214
  coords: u | Z,
@@ -1200,8 +1221,8 @@ const co = te({
1200
1221
  dir: null,
1201
1222
  dirName: null,
1202
1223
  disabled: _,
1203
- download: Te,
1204
- draggable: I,
1224
+ download: Ae,
1225
+ draggable: A,
1205
1226
  encType: null,
1206
1227
  enterKeyHint: null,
1207
1228
  fetchPriority: null,
@@ -1213,7 +1234,7 @@ const co = te({
1213
1234
  formTarget: null,
1214
1235
  headers: T,
1215
1236
  height: u,
1216
- hidden: Te,
1237
+ hidden: Ae,
1217
1238
  high: u,
1218
1239
  href: null,
1219
1240
  hrefLang: null,
@@ -1372,7 +1393,7 @@ const co = te({
1372
1393
  sizes: null,
1373
1394
  slot: null,
1374
1395
  span: u,
1375
- spellCheck: I,
1396
+ spellCheck: A,
1376
1397
  src: null,
1377
1398
  srcDoc: null,
1378
1399
  srcLang: null,
@@ -1387,7 +1408,7 @@ const co = te({
1387
1408
  type: null,
1388
1409
  typeMustMatch: _,
1389
1410
  useMap: null,
1390
- value: I,
1411
+ value: A,
1391
1412
  width: u,
1392
1413
  wrap: null,
1393
1414
  writingSuggestions: null,
@@ -1479,7 +1500,7 @@ const co = te({
1479
1500
  // `<table>`
1480
1501
  scheme: null,
1481
1502
  // `<meta>`
1482
- scrolling: I,
1503
+ scrolling: A,
1483
1504
  // `<frame>`. Use overflow in the child context
1484
1505
  standby: null,
1485
1506
  // `<object>`
@@ -1512,8 +1533,8 @@ const co = te({
1512
1533
  unselectable: null
1513
1534
  },
1514
1535
  space: "html",
1515
- transform: Pt
1516
- }), uo = te({
1536
+ transform: $t
1537
+ }), ho = te({
1517
1538
  attributes: {
1518
1539
  accentHeight: "accent-height",
1519
1540
  alignmentBaseline: "alignment-baseline",
@@ -2071,8 +2092,8 @@ const co = te({
2071
2092
  zoomAndPan: null
2072
2093
  },
2073
2094
  space: "svg",
2074
- transform: Dt
2075
- }), Mt = te({
2095
+ transform: zt
2096
+ }), Ut = te({
2076
2097
  properties: {
2077
2098
  xLinkActuate: null,
2078
2099
  xLinkArcRole: null,
@@ -2086,103 +2107,103 @@ const co = te({
2086
2107
  transform(e, t) {
2087
2108
  return "xlink:" + t.slice(5).toLowerCase();
2088
2109
  }
2089
- }), zt = te({
2110
+ }), Bt = te({
2090
2111
  attributes: { xmlnsxlink: "xmlns:xlink" },
2091
2112
  properties: { xmlnsXLink: null, xmlns: null },
2092
2113
  space: "xmlns",
2093
- transform: Pt
2094
- }), $t = te({
2114
+ transform: $t
2115
+ }), Ht = te({
2095
2116
  properties: { xmlBase: null, xmlLang: null, xmlSpace: null },
2096
2117
  space: "xml",
2097
2118
  transform(e, t) {
2098
2119
  return "xml:" + t.slice(3).toLowerCase();
2099
2120
  }
2100
- }), po = /[A-Z]/g, Ye = /-[a-z]/g, ho = /^data[-\w.:]+$/i;
2101
- function go(e, t) {
2102
- const n = re(t);
2121
+ }), go = /[A-Z]/g, Ze = /-[a-z]/g, mo = /^data[-\w.:]+$/i;
2122
+ function fo(e, t) {
2123
+ const n = ae(t);
2103
2124
  let o = t, r = D;
2104
2125
  if (n in e.normal)
2105
2126
  return e.property[e.normal[n]];
2106
- if (n.length > 4 && n.slice(0, 4) === "data" && ho.test(t)) {
2127
+ if (n.length > 4 && n.slice(0, 4) === "data" && mo.test(t)) {
2107
2128
  if (t.charAt(4) === "-") {
2108
- const a = t.slice(5).replace(Ye, fo);
2129
+ const a = t.slice(5).replace(Ze, yo);
2109
2130
  o = "data" + a.charAt(0).toUpperCase() + a.slice(1);
2110
2131
  } else {
2111
2132
  const a = t.slice(4);
2112
- if (!Ye.test(a)) {
2113
- let i = a.replace(po, mo);
2114
- i.charAt(0) !== "-" && (i = "-" + i), t = "data" + i;
2133
+ if (!Ze.test(a)) {
2134
+ let l = a.replace(go, bo);
2135
+ l.charAt(0) !== "-" && (l = "-" + l), t = "data" + l;
2115
2136
  }
2116
2137
  }
2117
- r = $e;
2138
+ r = Be;
2118
2139
  }
2119
2140
  return new r(o, t);
2120
2141
  }
2121
- function mo(e) {
2142
+ function bo(e) {
2122
2143
  return "-" + e.toLowerCase();
2123
2144
  }
2124
- function fo(e) {
2145
+ function yo(e) {
2125
2146
  return e.charAt(1).toUpperCase();
2126
2147
  }
2127
- const bo = Ft([Lt, co, Mt, zt, $t], "html"), ko = Ft([Lt, uo, Mt, zt, $t], "svg");
2128
- function Xe(e) {
2148
+ const ko = Pt([Mt, po, Ut, Bt, Ht], "html"), vo = Pt([Mt, ho, Ut, Bt, Ht], "svg");
2149
+ function Je(e) {
2129
2150
  const t = [], n = String(e || "");
2130
2151
  let o = n.indexOf(","), r = 0, a = !1;
2131
2152
  for (; !a; ) {
2132
2153
  o === -1 && (o = n.length, a = !0);
2133
- const i = n.slice(r, o).trim();
2134
- (i || !a) && t.push(i), r = o + 1, o = n.indexOf(",", r);
2154
+ const l = n.slice(r, o).trim();
2155
+ (l || !a) && t.push(l), r = o + 1, o = n.indexOf(",", r);
2135
2156
  }
2136
2157
  return t;
2137
2158
  }
2138
- const Ke = /[#.]/g;
2139
- function yo(e, t) {
2159
+ const Qe = /[#.]/g;
2160
+ function wo(e, t) {
2140
2161
  const n = e || "", o = {};
2141
- let r = 0, a, i;
2162
+ let r = 0, a, l;
2142
2163
  for (; r < n.length; ) {
2143
- Ke.lastIndex = r;
2144
- const c = Ke.exec(n), s = n.slice(r, c ? c.index : n.length);
2145
- s && (a ? a === "#" ? o.id = s : Array.isArray(o.className) ? o.className.push(s) : o.className = [s] : i = s, r += s.length), c && (a = c[0], r++);
2164
+ Qe.lastIndex = r;
2165
+ const c = Qe.exec(n), s = n.slice(r, c ? c.index : n.length);
2166
+ s && (a ? a === "#" ? o.id = s : Array.isArray(o.className) ? o.className.push(s) : o.className = [s] : l = s, r += s.length), c && (a = c[0], r++);
2146
2167
  }
2147
2168
  return {
2148
2169
  type: "element",
2149
2170
  // @ts-expect-error: tag name is parsed.
2150
- tagName: i || t || "div",
2171
+ tagName: l || t || "div",
2151
2172
  properties: o,
2152
2173
  children: []
2153
2174
  };
2154
2175
  }
2155
- function Ze(e) {
2176
+ function et(e) {
2156
2177
  const t = String(e || "").trim();
2157
2178
  return t ? t.split(/[ \t\n\r\f]+/g) : [];
2158
2179
  }
2159
- function Ut(e, t, n) {
2160
- const o = n ? _o(n) : void 0;
2161
- function r(a, i, ...c) {
2180
+ function qt(e, t, n) {
2181
+ const o = n ? Eo(n) : void 0;
2182
+ function r(a, l, ...c) {
2162
2183
  let s;
2163
2184
  if (a == null) {
2164
2185
  s = { type: "root", children: [] };
2165
2186
  const p = (
2166
2187
  /** @type {Child} */
2167
- i
2188
+ l
2168
2189
  );
2169
2190
  c.unshift(p);
2170
2191
  } else {
2171
- s = yo(a, t);
2192
+ s = wo(a, t);
2172
2193
  const p = s.tagName.toLowerCase(), h = o ? o.get(p) : void 0;
2173
- if (s.tagName = h || p, vo(i))
2174
- c.unshift(i);
2194
+ if (s.tagName = h || p, xo(l))
2195
+ c.unshift(l);
2175
2196
  else
2176
- for (const [f, b] of Object.entries(i))
2177
- wo(e, s.properties, f, b);
2197
+ for (const [f, b] of Object.entries(l))
2198
+ _o(e, s.properties, f, b);
2178
2199
  }
2179
2200
  for (const p of c)
2180
- Ae(s.children, p);
2201
+ Re(s.children, p);
2181
2202
  return s.type === "element" && s.tagName === "template" && (s.content = { type: "root", children: s.children }, s.children = []), s;
2182
2203
  }
2183
2204
  return r;
2184
2205
  }
2185
- function vo(e) {
2206
+ function xo(e) {
2186
2207
  if (e === null || typeof e != "object" || Array.isArray(e))
2187
2208
  return !0;
2188
2209
  if (typeof e.type != "string") return !1;
@@ -2198,29 +2219,29 @@ function vo(e) {
2198
2219
  /** @type {ReadonlyArray<unknown>} */
2199
2220
  r
2200
2221
  );
2201
- for (const i of a)
2202
- if (typeof i != "number" && typeof i != "string")
2222
+ for (const l of a)
2223
+ if (typeof l != "number" && typeof l != "string")
2203
2224
  return !0;
2204
2225
  }
2205
2226
  }
2206
2227
  return !!("children" in e && Array.isArray(e.children));
2207
2228
  }
2208
- function wo(e, t, n, o) {
2209
- const r = go(e, n);
2229
+ function _o(e, t, n, o) {
2230
+ const r = fo(e, n);
2210
2231
  let a;
2211
2232
  if (o != null) {
2212
2233
  if (typeof o == "number") {
2213
2234
  if (Number.isNaN(o)) return;
2214
2235
  a = o;
2215
- } else typeof o == "boolean" ? a = o : typeof o == "string" ? r.spaceSeparated ? a = Ze(o) : r.commaSeparated ? a = Xe(o) : r.commaOrSpaceSeparated ? a = Ze(Xe(o).join(" ")) : a = Je(r, r.property, o) : Array.isArray(o) ? a = [...o] : a = r.property === "style" ? xo(o) : String(o);
2236
+ } else typeof o == "boolean" ? a = o : typeof o == "string" ? r.spaceSeparated ? a = et(o) : r.commaSeparated ? a = Je(o) : r.commaOrSpaceSeparated ? a = et(Je(o).join(" ")) : a = tt(r, r.property, o) : Array.isArray(o) ? a = [...o] : a = r.property === "style" ? So(o) : String(o);
2216
2237
  if (Array.isArray(a)) {
2217
- const i = [];
2238
+ const l = [];
2218
2239
  for (const c of a)
2219
- i.push(
2240
+ l.push(
2220
2241
  /** @type {number | string} */
2221
- Je(r, r.property, c)
2242
+ tt(r, r.property, c)
2222
2243
  );
2223
- a = i;
2244
+ a = l;
2224
2245
  }
2225
2246
  r.property === "className" && Array.isArray(t.className) && (a = t.className.concat(
2226
2247
  /** @type {Array<number | string> | number | string} */
@@ -2228,39 +2249,39 @@ function wo(e, t, n, o) {
2228
2249
  )), t[r.property] = a;
2229
2250
  }
2230
2251
  }
2231
- function Ae(e, t) {
2252
+ function Re(e, t) {
2232
2253
  if (t != null) if (typeof t == "number" || typeof t == "string")
2233
2254
  e.push({ type: "text", value: String(t) });
2234
2255
  else if (Array.isArray(t))
2235
2256
  for (const n of t)
2236
- Ae(e, n);
2257
+ Re(e, n);
2237
2258
  else if (typeof t == "object" && "type" in t)
2238
- t.type === "root" ? Ae(e, t.children) : e.push(t);
2259
+ t.type === "root" ? Re(e, t.children) : e.push(t);
2239
2260
  else
2240
2261
  throw new Error("Expected node, nodes, or string, got `" + t + "`");
2241
2262
  }
2242
- function Je(e, t, n) {
2263
+ function tt(e, t, n) {
2243
2264
  if (typeof n == "string") {
2244
2265
  if (e.number && n && !Number.isNaN(Number(n)))
2245
2266
  return Number(n);
2246
- if ((e.boolean || e.overloadedBoolean) && (n === "" || re(n) === re(t)))
2267
+ if ((e.boolean || e.overloadedBoolean) && (n === "" || ae(n) === ae(t)))
2247
2268
  return !0;
2248
2269
  }
2249
2270
  return n;
2250
2271
  }
2251
- function xo(e) {
2272
+ function So(e) {
2252
2273
  const t = [];
2253
2274
  for (const [n, o] of Object.entries(e))
2254
2275
  t.push([n, o].join(": "));
2255
2276
  return t.join("; ");
2256
2277
  }
2257
- function _o(e) {
2278
+ function Eo(e) {
2258
2279
  const t = /* @__PURE__ */ new Map();
2259
2280
  for (const n of e)
2260
2281
  t.set(n.toLowerCase(), n);
2261
2282
  return t;
2262
2283
  }
2263
- const So = [
2284
+ const No = [
2264
2285
  "altGlyph",
2265
2286
  "altGlyphDef",
2266
2287
  "altGlyphItem",
@@ -2300,28 +2321,28 @@ const So = [
2300
2321
  "solidColor",
2301
2322
  "textArea",
2302
2323
  "textPath"
2303
- ], Eo = Ut(bo, "div"), No = Ut(ko, "g", So), ke = {
2324
+ ], To = qt(ko, "div"), Co = qt(vo, "g", No), ke = {
2304
2325
  html: "http://www.w3.org/1999/xhtml",
2305
2326
  svg: "http://www.w3.org/2000/svg"
2306
2327
  };
2307
- function To(e, t) {
2308
- return Bt(e, {}) || { type: "root", children: [] };
2328
+ function Ao(e, t) {
2329
+ return jt(e, {}) || { type: "root", children: [] };
2309
2330
  }
2310
- function Bt(e, t) {
2311
- const n = Co(e, t);
2331
+ function jt(e, t) {
2332
+ const n = Io(e, t);
2312
2333
  return n && t.afterTransform && t.afterTransform(e, n), n;
2313
2334
  }
2314
- function Co(e, t) {
2335
+ function Io(e, t) {
2315
2336
  switch (e.nodeType) {
2316
2337
  case 1:
2317
- return Oo(
2338
+ return Lo(
2318
2339
  /** @type {Element} */
2319
2340
  e,
2320
2341
  t
2321
2342
  );
2322
2343
  // Ignore: Attr (2).
2323
2344
  case 3:
2324
- return Io(
2345
+ return Oo(
2325
2346
  /** @type {Text} */
2326
2347
  e
2327
2348
  );
@@ -2330,20 +2351,20 @@ function Co(e, t) {
2330
2351
  // Removed: Entity (6)
2331
2352
  // Ignore: Processing instruction (7).
2332
2353
  case 8:
2333
- return Ro(
2354
+ return Fo(
2334
2355
  /** @type {Comment} */
2335
2356
  e
2336
2357
  );
2337
2358
  case 9:
2338
- return Qe(
2359
+ return nt(
2339
2360
  /** @type {Document} */
2340
2361
  e,
2341
2362
  t
2342
2363
  );
2343
2364
  case 10:
2344
- return Ao();
2365
+ return Ro();
2345
2366
  case 11:
2346
- return Qe(
2367
+ return nt(
2347
2368
  /** @type {DocumentFragment} */
2348
2369
  e,
2349
2370
  t
@@ -2352,50 +2373,50 @@ function Co(e, t) {
2352
2373
  return;
2353
2374
  }
2354
2375
  }
2355
- function Qe(e, t) {
2356
- return { type: "root", children: Ht(e, t) };
2376
+ function nt(e, t) {
2377
+ return { type: "root", children: Gt(e, t) };
2357
2378
  }
2358
- function Ao() {
2379
+ function Ro() {
2359
2380
  return { type: "doctype" };
2360
2381
  }
2361
- function Io(e) {
2382
+ function Oo(e) {
2362
2383
  return { type: "text", value: e.nodeValue || "" };
2363
2384
  }
2364
- function Ro(e) {
2385
+ function Fo(e) {
2365
2386
  return { type: "comment", value: e.nodeValue || "" };
2366
2387
  }
2367
- function Oo(e, t) {
2368
- const n = e.namespaceURI, o = n === ke.svg ? No : Eo, r = n === ke.html ? e.tagName.toLowerCase() : e.tagName, a = (
2388
+ function Lo(e, t) {
2389
+ const n = e.namespaceURI, o = n === ke.svg ? Co : To, r = n === ke.html ? e.tagName.toLowerCase() : e.tagName, a = (
2369
2390
  // @ts-expect-error: DOM types are wrong, content can exist.
2370
2391
  n === ke.html && r === "template" ? e.content : e
2371
- ), i = e.getAttributeNames(), c = {};
2392
+ ), l = e.getAttributeNames(), c = {};
2372
2393
  let s = -1;
2373
- for (; ++s < i.length; )
2374
- c[i[s]] = e.getAttribute(i[s]) || "";
2375
- return o(r, c, Ht(a, t));
2394
+ for (; ++s < l.length; )
2395
+ c[l[s]] = e.getAttribute(l[s]) || "";
2396
+ return o(r, c, Gt(a, t));
2376
2397
  }
2377
- function Ht(e, t) {
2398
+ function Gt(e, t) {
2378
2399
  const n = e.childNodes, o = [];
2379
2400
  let r = -1;
2380
2401
  for (; ++r < n.length; ) {
2381
- const a = Bt(n[r], t);
2402
+ const a = jt(n[r], t);
2382
2403
  a !== void 0 && o.push(a);
2383
2404
  }
2384
2405
  return o;
2385
2406
  }
2386
2407
  new DOMParser();
2387
- function Fo(e, t) {
2388
- const n = Lo(e);
2408
+ function Do(e, t) {
2409
+ const n = Po(e);
2389
2410
  return (
2390
2411
  /** @type {Root} */
2391
- To(n)
2412
+ Ao(n)
2392
2413
  );
2393
2414
  }
2394
- function Lo(e) {
2415
+ function Po(e) {
2395
2416
  const t = document.createElement("template");
2396
2417
  return t.innerHTML = e, t.content;
2397
2418
  }
2398
- const Ue = (
2419
+ const He = (
2399
2420
  // Note: overloads in JSDoc can’t yet use different `@template`s.
2400
2421
  /**
2401
2422
  * @type {(
@@ -2412,29 +2433,29 @@ const Ue = (
2412
2433
  */
2413
2434
  (function(e) {
2414
2435
  if (e == null)
2415
- return zo;
2436
+ return Uo;
2416
2437
  if (typeof e == "function")
2417
- return ge(e);
2438
+ return me(e);
2418
2439
  if (typeof e == "object")
2419
- return Array.isArray(e) ? Do(e) : (
2440
+ return Array.isArray(e) ? Mo(e) : (
2420
2441
  // Cast because `ReadonlyArray` goes into the above but `isArray`
2421
2442
  // narrows to `Array`.
2422
- Po(
2443
+ zo(
2423
2444
  /** @type {Props} */
2424
2445
  e
2425
2446
  )
2426
2447
  );
2427
2448
  if (typeof e == "string")
2428
- return Mo(e);
2449
+ return $o(e);
2429
2450
  throw new Error("Expected function, string, or object as test");
2430
2451
  })
2431
2452
  );
2432
- function Do(e) {
2453
+ function Mo(e) {
2433
2454
  const t = [];
2434
2455
  let n = -1;
2435
2456
  for (; ++n < e.length; )
2436
- t[n] = Ue(e[n]);
2437
- return ge(o);
2457
+ t[n] = He(e[n]);
2458
+ return me(o);
2438
2459
  function o(...r) {
2439
2460
  let a = -1;
2440
2461
  for (; ++a < t.length; )
@@ -2442,12 +2463,12 @@ function Do(e) {
2442
2463
  return !1;
2443
2464
  }
2444
2465
  }
2445
- function Po(e) {
2466
+ function zo(e) {
2446
2467
  const t = (
2447
2468
  /** @type {Record<string, unknown>} */
2448
2469
  e
2449
2470
  );
2450
- return ge(n);
2471
+ return me(n);
2451
2472
  function n(o) {
2452
2473
  const r = (
2453
2474
  /** @type {Record<string, unknown>} */
@@ -2460,16 +2481,16 @@ function Po(e) {
2460
2481
  return !0;
2461
2482
  }
2462
2483
  }
2463
- function Mo(e) {
2464
- return ge(t);
2484
+ function $o(e) {
2485
+ return me(t);
2465
2486
  function t(n) {
2466
2487
  return n && n.type === e;
2467
2488
  }
2468
2489
  }
2469
- function ge(e) {
2490
+ function me(e) {
2470
2491
  return t;
2471
2492
  function t(n, o, r) {
2472
- return !!($o(n) && e.call(
2493
+ return !!(Bo(n) && e.call(
2473
2494
  this,
2474
2495
  n,
2475
2496
  typeof o == "number" ? o : void 0,
@@ -2477,13 +2498,13 @@ function ge(e) {
2477
2498
  ));
2478
2499
  }
2479
2500
  }
2480
- function zo() {
2501
+ function Uo() {
2481
2502
  return !0;
2482
2503
  }
2483
- function $o(e) {
2504
+ function Bo(e) {
2484
2505
  return e !== null && typeof e == "object" && "type" in e;
2485
2506
  }
2486
- const et = (
2507
+ const ot = (
2487
2508
  // Note: overloads like this are needed to support optional generics.
2488
2509
  /**
2489
2510
  * @type {(
@@ -2498,7 +2519,7 @@ const et = (
2498
2519
  * @returns {UnistNode | undefined}
2499
2520
  */
2500
2521
  (function(e, t, n) {
2501
- const o = Ue(n);
2522
+ const o = He(n);
2502
2523
  if (!e || !e.type || !e.children)
2503
2524
  throw new Error("Expected parent node");
2504
2525
  if (typeof t == "number") {
@@ -2526,22 +2547,22 @@ const et = (
2526
2547
  */
2527
2548
  (function(e) {
2528
2549
  if (e == null)
2529
- return Ho;
2550
+ return jo;
2530
2551
  if (typeof e == "string")
2531
- return Bo(e);
2552
+ return qo(e);
2532
2553
  if (typeof e == "object")
2533
- return Uo(e);
2554
+ return Ho(e);
2534
2555
  if (typeof e == "function")
2535
- return Be(e);
2556
+ return qe(e);
2536
2557
  throw new Error("Expected function, string, or array as `test`");
2537
2558
  })
2538
2559
  );
2539
- function Uo(e) {
2560
+ function Ho(e) {
2540
2561
  const t = [];
2541
2562
  let n = -1;
2542
2563
  for (; ++n < e.length; )
2543
2564
  t[n] = V(e[n]);
2544
- return Be(o);
2565
+ return qe(o);
2545
2566
  function o(...r) {
2546
2567
  let a = -1;
2547
2568
  for (; ++a < t.length; )
@@ -2549,16 +2570,16 @@ function Uo(e) {
2549
2570
  return !1;
2550
2571
  }
2551
2572
  }
2552
- function Bo(e) {
2553
- return Be(t);
2573
+ function qo(e) {
2574
+ return qe(t);
2554
2575
  function t(n) {
2555
2576
  return n.tagName === e;
2556
2577
  }
2557
2578
  }
2558
- function Be(e) {
2579
+ function qe(e) {
2559
2580
  return t;
2560
2581
  function t(n, o, r) {
2561
- return !!(jo(n) && e.call(
2582
+ return !!(Go(n) && e.call(
2562
2583
  this,
2563
2584
  n,
2564
2585
  typeof o == "number" ? o : void 0,
@@ -2566,13 +2587,13 @@ function Be(e) {
2566
2587
  ));
2567
2588
  }
2568
2589
  }
2569
- function Ho(e) {
2590
+ function jo(e) {
2570
2591
  return !!(e && typeof e == "object" && "type" in e && e.type === "element" && "tagName" in e && typeof e.tagName == "string");
2571
2592
  }
2572
- function jo(e) {
2593
+ function Go(e) {
2573
2594
  return e !== null && typeof e == "object" && "type" in e && "tagName" in e;
2574
2595
  }
2575
- const tt = /\n/g, nt = /[\t ]+/g, Ie = V("br"), ot = V(Zo), qo = V("p"), rt = V("tr"), Go = V([
2596
+ const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(Qo), Vo = V("p"), lt = V("tr"), Wo = V([
2576
2597
  // List from: <https://html.spec.whatwg.org/multipage/rendering.html#hidden-elements>
2577
2598
  "datalist",
2578
2599
  "head",
@@ -2586,10 +2607,10 @@ const tt = /\n/g, nt = /[\t ]+/g, Ie = V("br"), ot = V(Zo), qo = V("p"), rt = V(
2586
2607
  "template",
2587
2608
  "title",
2588
2609
  // Hidden attribute.
2589
- Ko,
2610
+ Jo,
2590
2611
  // From: <https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3>
2591
- Jo
2592
- ]), jt = V([
2612
+ er
2613
+ ]), Vt = V([
2593
2614
  "address",
2594
2615
  // Flow content
2595
2616
  "article",
@@ -2671,71 +2692,71 @@ const tt = /\n/g, nt = /[\t ]+/g, Ie = V("br"), ot = V(Zo), qo = V("p"), rt = V(
2671
2692
  "xmp"
2672
2693
  // Flow content (legacy)
2673
2694
  ]);
2674
- function Vo(e, t) {
2675
- const n = t || {}, o = "children" in e ? e.children : [], r = jt(e), a = Vt(e, {
2695
+ function Yo(e, t) {
2696
+ const n = t || {}, o = "children" in e ? e.children : [], r = Vt(e), a = Xt(e, {
2676
2697
  whitespace: n.whitespace || "normal"
2677
- }), i = [];
2678
- (e.type === "text" || e.type === "comment") && i.push(
2679
- ...Gt(e, {
2698
+ }), l = [];
2699
+ (e.type === "text" || e.type === "comment") && l.push(
2700
+ ...Yt(e, {
2680
2701
  breakBefore: !0,
2681
2702
  breakAfter: !0
2682
2703
  })
2683
2704
  );
2684
2705
  let c = -1;
2685
2706
  for (; ++c < o.length; )
2686
- i.push(
2687
- ...qt(
2707
+ l.push(
2708
+ ...Wt(
2688
2709
  o[c],
2689
2710
  // @ts-expect-error: `tree` is a parent if we’re here.
2690
2711
  e,
2691
2712
  {
2692
2713
  whitespace: a,
2693
2714
  breakBefore: c ? void 0 : r,
2694
- breakAfter: c < o.length - 1 ? Ie(o[c + 1]) : r
2715
+ breakAfter: c < o.length - 1 ? Oe(o[c + 1]) : r
2695
2716
  }
2696
2717
  )
2697
2718
  );
2698
2719
  const s = [];
2699
2720
  let p;
2700
- for (c = -1; ++c < i.length; ) {
2701
- const h = i[c];
2721
+ for (c = -1; ++c < l.length; ) {
2722
+ const h = l[c];
2702
2723
  typeof h == "number" ? p !== void 0 && h > p && (p = h) : h && (p !== void 0 && p > -1 && s.push(`
2703
2724
  `.repeat(p) || " "), p = -1, s.push(h));
2704
2725
  }
2705
2726
  return s.join("");
2706
2727
  }
2707
- function qt(e, t, n) {
2708
- return e.type === "element" ? Wo(e, t, n) : e.type === "text" ? n.whitespace === "normal" ? Gt(e, n) : Yo(e) : [];
2728
+ function Wt(e, t, n) {
2729
+ return e.type === "element" ? Xo(e, t, n) : e.type === "text" ? n.whitespace === "normal" ? Yt(e, n) : Ko(e) : [];
2709
2730
  }
2710
- function Wo(e, t, n) {
2711
- const o = Vt(e, n), r = e.children || [];
2712
- let a = -1, i = [];
2713
- if (Go(e))
2714
- return i;
2731
+ function Xo(e, t, n) {
2732
+ const o = Xt(e, n), r = e.children || [];
2733
+ let a = -1, l = [];
2734
+ if (Wo(e))
2735
+ return l;
2715
2736
  let c, s;
2716
- for (Ie(e) || rt(e) && // @ts-expect-error: something up with types of parents.
2717
- et(t, e, rt) ? s = `
2718
- ` : qo(e) ? (c = 2, s = 2) : jt(e) && (c = 1, s = 1); ++a < r.length; )
2719
- i = i.concat(
2720
- qt(r[a], e, {
2737
+ for (Oe(e) || lt(e) && // @ts-expect-error: something up with types of parents.
2738
+ ot(t, e, lt) ? s = `
2739
+ ` : Vo(e) ? (c = 2, s = 2) : Vt(e) && (c = 1, s = 1); ++a < r.length; )
2740
+ l = l.concat(
2741
+ Wt(r[a], e, {
2721
2742
  whitespace: o,
2722
2743
  breakBefore: a ? void 0 : c,
2723
- breakAfter: a < r.length - 1 ? Ie(r[a + 1]) : s
2744
+ breakAfter: a < r.length - 1 ? Oe(r[a + 1]) : s
2724
2745
  })
2725
2746
  );
2726
- return ot(e) && // @ts-expect-error: something up with types of parents.
2727
- et(t, e, ot) && i.push(" "), c && i.unshift(c), s && i.push(s), i;
2747
+ return it(e) && // @ts-expect-error: something up with types of parents.
2748
+ ot(t, e, it) && l.push(" "), c && l.unshift(c), s && l.push(s), l;
2728
2749
  }
2729
- function Gt(e, t) {
2750
+ function Yt(e, t) {
2730
2751
  const n = String(e.value), o = [], r = [];
2731
2752
  let a = 0;
2732
2753
  for (; a <= n.length; ) {
2733
- tt.lastIndex = a;
2734
- const s = tt.exec(n), p = s && "index" in s ? s.index : n.length;
2754
+ rt.lastIndex = a;
2755
+ const s = rt.exec(n), p = s && "index" in s ? s.index : n.length;
2735
2756
  o.push(
2736
2757
  // Any sequence of collapsible spaces and tabs immediately preceding or
2737
2758
  // following a segment break is removed.
2738
- Xo(
2759
+ Zo(
2739
2760
  // […] ignoring bidi formatting characters (characters with the
2740
2761
  // Bidi_Control property [UAX9]: ALM, LTR, RTL, LRE-RLO, LRI-PDI) as if
2741
2762
  // they were not there.
@@ -2745,25 +2766,25 @@ function Gt(e, t) {
2745
2766
  )
2746
2767
  ), a = p + 1;
2747
2768
  }
2748
- let i = -1, c;
2749
- for (; ++i < o.length; )
2750
- o[i].charCodeAt(o[i].length - 1) === 8203 || i < o.length - 1 && o[i + 1].charCodeAt(0) === 8203 ? (r.push(o[i]), c = void 0) : o[i] ? (typeof c == "number" && r.push(c), r.push(o[i]), c = 0) : (i === 0 || i === o.length - 1) && r.push(0);
2769
+ let l = -1, c;
2770
+ for (; ++l < o.length; )
2771
+ o[l].charCodeAt(o[l].length - 1) === 8203 || l < o.length - 1 && o[l + 1].charCodeAt(0) === 8203 ? (r.push(o[l]), c = void 0) : o[l] ? (typeof c == "number" && r.push(c), r.push(o[l]), c = 0) : (l === 0 || l === o.length - 1) && r.push(0);
2751
2772
  return r;
2752
2773
  }
2753
- function Yo(e) {
2774
+ function Ko(e) {
2754
2775
  return [String(e.value)];
2755
2776
  }
2756
- function Xo(e, t, n) {
2777
+ function Zo(e, t, n) {
2757
2778
  const o = [];
2758
2779
  let r = 0, a;
2759
2780
  for (; r < e.length; ) {
2760
- nt.lastIndex = r;
2761
- const i = nt.exec(e);
2762
- a = i ? i.index : e.length, !r && !a && i && !t && o.push(""), r !== a && o.push(e.slice(r, a)), r = i ? a + i[0].length : a;
2781
+ at.lastIndex = r;
2782
+ const l = at.exec(e);
2783
+ a = l ? l.index : e.length, !r && !a && l && !t && o.push(""), r !== a && o.push(e.slice(r, a)), r = l ? a + l[0].length : a;
2763
2784
  }
2764
2785
  return r !== a && !n && o.push(""), o.join(" ");
2765
2786
  }
2766
- function Vt(e, t) {
2787
+ function Xt(e, t) {
2767
2788
  if (e.type === "element") {
2768
2789
  const n = e.properties || {};
2769
2790
  switch (e.tagName) {
@@ -2784,20 +2805,20 @@ function Vt(e, t) {
2784
2805
  }
2785
2806
  return t.whitespace;
2786
2807
  }
2787
- function Ko(e) {
2808
+ function Jo(e) {
2788
2809
  return !!(e.properties || {}).hidden;
2789
2810
  }
2790
- function Zo(e) {
2811
+ function Qo(e) {
2791
2812
  return e.tagName === "td" || e.tagName === "th";
2792
2813
  }
2793
- function Jo(e) {
2814
+ function er(e) {
2794
2815
  return e.tagName === "dialog" && !(e.properties || {}).open;
2795
2816
  }
2796
- const Wt = [], Qo = !0, at = !1, Yt = "skip";
2797
- function er(e, t, n, o) {
2817
+ const Kt = [], tr = !0, st = !1, Zt = "skip";
2818
+ function nr(e, t, n, o) {
2798
2819
  let r;
2799
2820
  r = t;
2800
- const a = Ue(r), i = 1;
2821
+ const a = He(r), l = 1;
2801
2822
  c(e, void 0, [])();
2802
2823
  function c(s, p, h) {
2803
2824
  const f = (
@@ -2818,44 +2839,44 @@ function er(e, t, n, o) {
2818
2839
  }
2819
2840
  return b;
2820
2841
  function b() {
2821
- let m = Wt, k, d, v;
2822
- if (a(s, p, h[h.length - 1] || void 0) && (m = tr(n(s, h)), m[0] === at))
2842
+ let m = Kt, y, d, v;
2843
+ if (a(s, p, h[h.length - 1] || void 0) && (m = or(n(s, h)), m[0] === st))
2823
2844
  return m;
2824
2845
  if ("children" in s && s.children) {
2825
2846
  const x = (
2826
2847
  /** @type {UnistParent} */
2827
2848
  s
2828
2849
  );
2829
- if (x.children && m[0] !== Yt)
2830
- for (d = -1 + i, v = h.concat(x); d > -1 && d < x.children.length; ) {
2850
+ if (x.children && m[0] !== Zt)
2851
+ for (d = -1 + l, v = h.concat(x); d > -1 && d < x.children.length; ) {
2831
2852
  const g = x.children[d];
2832
- if (k = c(g, d, v)(), k[0] === at)
2833
- return k;
2834
- d = typeof k[1] == "number" ? k[1] : d + i;
2853
+ if (y = c(g, d, v)(), y[0] === st)
2854
+ return y;
2855
+ d = typeof y[1] == "number" ? y[1] : d + l;
2835
2856
  }
2836
2857
  }
2837
2858
  return m;
2838
2859
  }
2839
2860
  }
2840
2861
  }
2841
- function tr(e) {
2842
- return Array.isArray(e) ? e : typeof e == "number" ? [Qo, e] : e == null ? Wt : [e];
2862
+ function or(e) {
2863
+ return Array.isArray(e) ? e : typeof e == "number" ? [tr, e] : e == null ? Kt : [e];
2843
2864
  }
2844
- const nr = {}, or = [];
2845
- function rr(e) {
2846
- const t = e || nr;
2865
+ const rr = {}, ar = [];
2866
+ function ir(e) {
2867
+ const t = e || rr;
2847
2868
  return function(n, o) {
2848
- er(n, "element", function(r, a) {
2849
- const i = Array.isArray(r.properties.className) ? r.properties.className : or, c = i.includes("language-math"), s = i.includes("math-display"), p = i.includes("math-inline");
2869
+ nr(n, "element", function(r, a) {
2870
+ const l = Array.isArray(r.properties.className) ? r.properties.className : ar, c = l.includes("language-math"), s = l.includes("math-display"), p = l.includes("math-inline");
2850
2871
  let h = s;
2851
2872
  if (!c && !s && !p)
2852
2873
  return;
2853
2874
  let f = a[a.length - 1], b = r;
2854
2875
  if (r.tagName === "code" && c && f && f.type === "element" && f.tagName === "pre" && (b = f, f = a[a.length - 2], h = !0), !f) return;
2855
- const m = Vo(b, { whitespace: "pre" });
2856
- let k;
2876
+ const m = Yo(b, { whitespace: "pre" });
2877
+ let y;
2857
2878
  try {
2858
- k = qe.renderToString(m, {
2879
+ y = Ve.renderToString(m, {
2859
2880
  ...t,
2860
2881
  displayMode: h,
2861
2882
  throwOnError: !0
@@ -2873,14 +2894,14 @@ function rr(e) {
2873
2894
  source: "rehype-katex"
2874
2895
  });
2875
2896
  try {
2876
- k = qe.renderToString(m, {
2897
+ y = Ve.renderToString(m, {
2877
2898
  ...t,
2878
2899
  displayMode: h,
2879
2900
  strict: "ignore",
2880
2901
  throwOnError: !1
2881
2902
  });
2882
2903
  } catch {
2883
- k = [
2904
+ y = [
2884
2905
  {
2885
2906
  type: "element",
2886
2907
  tagName: "span",
@@ -2894,21 +2915,21 @@ function rr(e) {
2894
2915
  ];
2895
2916
  }
2896
2917
  }
2897
- typeof k == "string" && (k = /** @type {Array<ElementContent>} */
2898
- Fo(k).children);
2918
+ typeof y == "string" && (y = /** @type {Array<ElementContent>} */
2919
+ Do(y).children);
2899
2920
  const d = f.children.indexOf(b);
2900
- return f.children.splice(d, 1, ...k), Yt;
2921
+ return f.children.splice(d, 1, ...y), Zt;
2901
2922
  });
2902
2923
  };
2903
2924
  }
2904
- function ar(e, t) {
2925
+ function lr(e, t) {
2905
2926
  const n = String(e);
2906
- let o = n.indexOf(t), r = o, a = 0, i = 0;
2927
+ let o = n.indexOf(t), r = o, a = 0, l = 0;
2907
2928
  for (; o !== -1; )
2908
- o === r ? ++a > i && (i = a) : a = 1, r = o + t.length, o = n.indexOf(t, r);
2909
- return i;
2929
+ o === r ? ++a > l && (l = a) : a = 1, r = o + t.length, o = n.indexOf(t, r);
2930
+ return l;
2910
2931
  }
2911
- function lr() {
2932
+ function sr() {
2912
2933
  return {
2913
2934
  enter: {
2914
2935
  mathFlow: e,
@@ -2920,7 +2941,7 @@ function lr() {
2920
2941
  mathFlowFence: o,
2921
2942
  mathFlowFenceMeta: n,
2922
2943
  mathFlowValue: c,
2923
- mathText: i,
2944
+ mathText: l,
2924
2945
  mathTextData: c
2925
2946
  }
2926
2947
  };
@@ -2974,7 +2995,7 @@ function lr() {
2974
2995
  s
2975
2996
  ), this.buffer();
2976
2997
  }
2977
- function i(s) {
2998
+ function l(s) {
2978
2999
  const p = this.resume(), h = this.stack[this.stack.length - 1];
2979
3000
  h.type, this.exit(s), h.value = p, /** @type {Array<HastElementContent>} */
2980
3001
  // @ts-expect-error: we defined it in `enterMathFlow`.
@@ -2984,7 +3005,7 @@ function lr() {
2984
3005
  this.config.enter.data.call(this, s), this.config.exit.data.call(this, s);
2985
3006
  }
2986
3007
  }
2987
- function ir(e) {
3008
+ function cr(e) {
2988
3009
  let t = (e || {}).singleDollarTextMath;
2989
3010
  return t == null && (t = !0), o.peek = r, {
2990
3011
  unsafe: [
@@ -3001,11 +3022,11 @@ function ir(e) {
3001
3022
  ],
3002
3023
  handlers: { math: n, inlineMath: o }
3003
3024
  };
3004
- function n(a, i, c, s) {
3005
- const p = a.value || "", h = c.createTracker(s), f = "$".repeat(Math.max(ar(p, "$") + 1, 2)), b = c.enter("mathFlow");
3025
+ function n(a, l, c, s) {
3026
+ const p = a.value || "", h = c.createTracker(s), f = "$".repeat(Math.max(lr(p, "$") + 1, 2)), b = c.enter("mathFlow");
3006
3027
  let m = h.move(f);
3007
3028
  if (a.meta) {
3008
- const k = c.enter("mathFlowMeta");
3029
+ const y = c.enter("mathFlowMeta");
3009
3030
  m += h.move(
3010
3031
  c.safe(a.meta, {
3011
3032
  after: `
@@ -3014,13 +3035,13 @@ function ir(e) {
3014
3035
  encode: ["$"],
3015
3036
  ...h.current()
3016
3037
  })
3017
- ), k();
3038
+ ), y();
3018
3039
  }
3019
3040
  return m += h.move(`
3020
3041
  `), p && (m += h.move(p + `
3021
3042
  `)), m += h.move(f), b(), m;
3022
3043
  }
3023
- function o(a, i, c) {
3044
+ function o(a, l, c) {
3024
3045
  let s = a.value || "", p = 1;
3025
3046
  for (t || p++; new RegExp("(^|[^$])" + "\\$".repeat(p) + "([^$]|$)").test(s); )
3026
3047
  p++;
@@ -3034,10 +3055,10 @@ function ir(e) {
3034
3055
  const b = c.unsafe[f];
3035
3056
  if (!b.atBreak) continue;
3036
3057
  const m = c.compilePattern(b);
3037
- let k;
3038
- for (; k = m.exec(s); ) {
3039
- let d = k.index;
3040
- s.codePointAt(d) === 10 && s.codePointAt(d - 1) === 13 && d--, s = s.slice(0, d) + " " + s.slice(k.index + 1);
3058
+ let y;
3059
+ for (; y = m.exec(s); ) {
3060
+ let d = y.index;
3061
+ s.codePointAt(d) === 10 && s.codePointAt(d - 1) === 13 && d--, s = s.slice(0, d) + " " + s.slice(y.index + 1);
3041
3062
  }
3042
3063
  }
3043
3064
  return h + s + h;
@@ -3046,51 +3067,51 @@ function ir(e) {
3046
3067
  return "$";
3047
3068
  }
3048
3069
  }
3049
- function q(e) {
3070
+ function j(e) {
3050
3071
  return e !== null && e < -2;
3051
3072
  }
3052
- function lt(e) {
3073
+ function ct(e) {
3053
3074
  return e === -2 || e === -1 || e === 32;
3054
3075
  }
3055
- function se(e, t, n, o) {
3076
+ function ce(e, t, n, o) {
3056
3077
  const r = o ? o - 1 : Number.POSITIVE_INFINITY;
3057
3078
  let a = 0;
3058
- return i;
3059
- function i(s) {
3060
- return lt(s) ? (e.enter(n), c(s)) : t(s);
3079
+ return l;
3080
+ function l(s) {
3081
+ return ct(s) ? (e.enter(n), c(s)) : t(s);
3061
3082
  }
3062
3083
  function c(s) {
3063
- return lt(s) && a++ < r ? (e.consume(s), c) : (e.exit(n), t(s));
3084
+ return ct(s) && a++ < r ? (e.consume(s), c) : (e.exit(n), t(s));
3064
3085
  }
3065
3086
  }
3066
- const sr = {
3067
- tokenize: cr,
3087
+ const ur = {
3088
+ tokenize: dr,
3068
3089
  concrete: !0,
3069
3090
  name: "mathFlow"
3070
- }, it = {
3071
- tokenize: ur,
3091
+ }, ut = {
3092
+ tokenize: pr,
3072
3093
  partial: !0
3073
3094
  };
3074
- function cr(e, t, n) {
3095
+ function dr(e, t, n) {
3075
3096
  const o = this, r = o.events[o.events.length - 1], a = r && r[1].type === "linePrefix" ? r[2].sliceSerialize(r[1], !0).length : 0;
3076
- let i = 0;
3097
+ let l = 0;
3077
3098
  return c;
3078
3099
  function c(g) {
3079
3100
  return e.enter("mathFlow"), e.enter("mathFlowFence"), e.enter("mathFlowFenceSequence"), s(g);
3080
3101
  }
3081
3102
  function s(g) {
3082
- return g === 36 ? (e.consume(g), i++, s) : i < 2 ? n(g) : (e.exit("mathFlowFenceSequence"), se(e, p, "whitespace")(g));
3103
+ return g === 36 ? (e.consume(g), l++, s) : l < 2 ? n(g) : (e.exit("mathFlowFenceSequence"), ce(e, p, "whitespace")(g));
3083
3104
  }
3084
3105
  function p(g) {
3085
- return g === null || q(g) ? f(g) : (e.enter("mathFlowFenceMeta"), e.enter("chunkString", {
3106
+ return g === null || j(g) ? f(g) : (e.enter("mathFlowFenceMeta"), e.enter("chunkString", {
3086
3107
  contentType: "string"
3087
3108
  }), h(g));
3088
3109
  }
3089
3110
  function h(g) {
3090
- return g === null || q(g) ? (e.exit("chunkString"), e.exit("mathFlowFenceMeta"), f(g)) : g === 36 ? n(g) : (e.consume(g), h);
3111
+ return g === null || j(g) ? (e.exit("chunkString"), e.exit("mathFlowFenceMeta"), f(g)) : g === 36 ? n(g) : (e.consume(g), h);
3091
3112
  }
3092
3113
  function f(g) {
3093
- return e.exit("mathFlowFence"), o.interrupt ? t(g) : e.attempt(it, b, v)(g);
3114
+ return e.exit("mathFlowFence"), o.interrupt ? t(g) : e.attempt(ut, b, v)(g);
3094
3115
  }
3095
3116
  function b(g) {
3096
3117
  return e.attempt({
@@ -3099,70 +3120,70 @@ function cr(e, t, n) {
3099
3120
  }, v, m)(g);
3100
3121
  }
3101
3122
  function m(g) {
3102
- return (a ? se(e, k, "linePrefix", a + 1) : k)(g);
3123
+ return (a ? ce(e, y, "linePrefix", a + 1) : y)(g);
3103
3124
  }
3104
- function k(g) {
3105
- return g === null ? v(g) : q(g) ? e.attempt(it, b, v)(g) : (e.enter("mathFlowValue"), d(g));
3125
+ function y(g) {
3126
+ return g === null ? v(g) : j(g) ? e.attempt(ut, b, v)(g) : (e.enter("mathFlowValue"), d(g));
3106
3127
  }
3107
3128
  function d(g) {
3108
- return g === null || q(g) ? (e.exit("mathFlowValue"), k(g)) : (e.consume(g), d);
3129
+ return g === null || j(g) ? (e.exit("mathFlowValue"), y(g)) : (e.consume(g), d);
3109
3130
  }
3110
3131
  function v(g) {
3111
3132
  return e.exit("mathFlow"), t(g);
3112
3133
  }
3113
- function x(g, E, C) {
3114
- let F = 0;
3115
- return se(g, H, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
3116
- function H(R) {
3117
- return g.enter("mathFlowFence"), g.enter("mathFlowFenceSequence"), j(R);
3134
+ function x(g, R, E) {
3135
+ let I = 0;
3136
+ return ce(g, U, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
3137
+ function U(O) {
3138
+ return g.enter("mathFlowFence"), g.enter("mathFlowFenceSequence"), z(O);
3118
3139
  }
3119
- function j(R) {
3120
- return R === 36 ? (F++, g.consume(R), j) : F < i ? C(R) : (g.exit("mathFlowFenceSequence"), se(g, me, "whitespace")(R));
3140
+ function z(O) {
3141
+ return O === 36 ? (I++, g.consume(O), z) : I < l ? E(O) : (g.exit("mathFlowFenceSequence"), ce(g, ne, "whitespace")(O));
3121
3142
  }
3122
- function me(R) {
3123
- return R === null || q(R) ? (g.exit("mathFlowFence"), E(R)) : C(R);
3143
+ function ne(O) {
3144
+ return O === null || j(O) ? (g.exit("mathFlowFence"), R(O)) : E(O);
3124
3145
  }
3125
3146
  }
3126
3147
  }
3127
- function ur(e, t, n) {
3148
+ function pr(e, t, n) {
3128
3149
  const o = this;
3129
3150
  return r;
3130
- function r(i) {
3131
- return i === null ? t(i) : (e.enter("lineEnding"), e.consume(i), e.exit("lineEnding"), a);
3151
+ function r(l) {
3152
+ return l === null ? t(l) : (e.enter("lineEnding"), e.consume(l), e.exit("lineEnding"), a);
3132
3153
  }
3133
- function a(i) {
3134
- return o.parser.lazy[o.now().line] ? n(i) : t(i);
3154
+ function a(l) {
3155
+ return o.parser.lazy[o.now().line] ? n(l) : t(l);
3135
3156
  }
3136
3157
  }
3137
- function dr(e) {
3158
+ function hr(e) {
3138
3159
  let n = (e || {}).singleDollarTextMath;
3139
3160
  return n == null && (n = !0), {
3140
3161
  tokenize: o,
3141
- resolve: pr,
3142
- previous: hr,
3162
+ resolve: gr,
3163
+ previous: mr,
3143
3164
  name: "mathText"
3144
3165
  };
3145
- function o(r, a, i) {
3166
+ function o(r, a, l) {
3146
3167
  let c = 0, s, p;
3147
3168
  return h;
3148
3169
  function h(d) {
3149
3170
  return r.enter("mathText"), r.enter("mathTextSequence"), f(d);
3150
3171
  }
3151
3172
  function f(d) {
3152
- return d === 36 ? (r.consume(d), c++, f) : c < 2 && !n ? i(d) : (r.exit("mathTextSequence"), b(d));
3173
+ return d === 36 ? (r.consume(d), c++, f) : c < 2 && !n ? l(d) : (r.exit("mathTextSequence"), b(d));
3153
3174
  }
3154
3175
  function b(d) {
3155
- return d === null ? i(d) : d === 36 ? (p = r.enter("mathTextSequence"), s = 0, k(d)) : d === 32 ? (r.enter("space"), r.consume(d), r.exit("space"), b) : q(d) ? (r.enter("lineEnding"), r.consume(d), r.exit("lineEnding"), b) : (r.enter("mathTextData"), m(d));
3176
+ return d === null ? l(d) : d === 36 ? (p = r.enter("mathTextSequence"), s = 0, y(d)) : d === 32 ? (r.enter("space"), r.consume(d), r.exit("space"), b) : j(d) ? (r.enter("lineEnding"), r.consume(d), r.exit("lineEnding"), b) : (r.enter("mathTextData"), m(d));
3156
3177
  }
3157
3178
  function m(d) {
3158
- return d === null || d === 32 || d === 36 || q(d) ? (r.exit("mathTextData"), b(d)) : (r.consume(d), m);
3179
+ return d === null || d === 32 || d === 36 || j(d) ? (r.exit("mathTextData"), b(d)) : (r.consume(d), m);
3159
3180
  }
3160
- function k(d) {
3161
- return d === 36 ? (r.consume(d), s++, k) : s === c ? (r.exit("mathTextSequence"), r.exit("mathText"), a(d)) : (p.type = "mathTextData", m(d));
3181
+ function y(d) {
3182
+ return d === 36 ? (r.consume(d), s++, y) : s === c ? (r.exit("mathTextSequence"), r.exit("mathText"), a(d)) : (p.type = "mathTextData", m(d));
3162
3183
  }
3163
3184
  }
3164
3185
  }
3165
- function pr(e) {
3186
+ function gr(e) {
3166
3187
  let t = e.length - 4, n = 3, o, r;
3167
3188
  if ((e[n][1].type === "lineEnding" || e[n][1].type === "space") && (e[t][1].type === "lineEnding" || e[t][1].type === "space")) {
3168
3189
  for (o = n; ++o < t; )
@@ -3175,128 +3196,128 @@ function pr(e) {
3175
3196
  r === void 0 ? o !== t && e[o][1].type !== "lineEnding" && (r = o) : (o === t || e[o][1].type === "lineEnding") && (e[r][1].type = "mathTextData", o !== r + 2 && (e[r][1].end = e[o - 1][1].end, e.splice(r + 2, o - r - 2), t -= o - r - 2, o = r + 2), r = void 0);
3176
3197
  return e;
3177
3198
  }
3178
- function hr(e) {
3199
+ function mr(e) {
3179
3200
  return e !== 36 || this.events[this.events.length - 1][1].type === "characterEscape";
3180
3201
  }
3181
- function gr(e) {
3202
+ function fr(e) {
3182
3203
  return {
3183
3204
  flow: {
3184
- 36: sr
3205
+ 36: ur
3185
3206
  },
3186
3207
  text: {
3187
- 36: dr(e)
3208
+ 36: hr(e)
3188
3209
  }
3189
3210
  };
3190
3211
  }
3191
- const mr = {};
3192
- function fr(e) {
3212
+ const br = {};
3213
+ function yr(e) {
3193
3214
  const t = (
3194
3215
  /** @type {Processor} */
3195
3216
  this
3196
- ), n = e || mr, o = t.data(), r = o.micromarkExtensions || (o.micromarkExtensions = []), a = o.fromMarkdownExtensions || (o.fromMarkdownExtensions = []), i = o.toMarkdownExtensions || (o.toMarkdownExtensions = []);
3197
- r.push(gr(n)), a.push(lr()), i.push(ir(n));
3217
+ ), n = e || br, o = t.data(), r = o.micromarkExtensions || (o.micromarkExtensions = []), a = o.fromMarkdownExtensions || (o.fromMarkdownExtensions = []), l = o.toMarkdownExtensions || (o.toMarkdownExtensions = []);
3218
+ r.push(fr(n)), a.push(sr()), l.push(cr(n));
3198
3219
  }
3199
- function br(e = {}) {
3220
+ function kr(e = {}) {
3200
3221
  var t, n;
3201
- let o = [fr, { singleDollarTextMath: (t = e.singleDollarTextMath) != null ? t : !1 }], r = [rr, { errorColor: (n = e.errorColor) != null ? n : "var(--color-muted-foreground)" }];
3222
+ let o = [yr, { singleDollarTextMath: (t = e.singleDollarTextMath) != null ? t : !1 }], r = [ir, { errorColor: (n = e.errorColor) != null ? n : "var(--color-muted-foreground)" }];
3202
3223
  return { name: "katex", type: "math", remarkPlugin: o, rehypePlugin: r, getStyles() {
3203
3224
  return "katex/dist/katex.min.css";
3204
3225
  } };
3205
3226
  }
3206
- var st = br();
3207
- const He = ue(
3208
- ({ className: e, ...t }) => /* @__PURE__ */ l(
3209
- In,
3227
+ var dt = kr();
3228
+ const je = de(
3229
+ ({ className: e, ...t }) => /* @__PURE__ */ i(
3230
+ On,
3210
3231
  {
3211
- className: y("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 code-bg ", e),
3232
+ className: k("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 code-bg ", e),
3212
3233
  ...t,
3213
- remarkPlugins: [st.remarkPlugin, ...t.remarkPlugins || []],
3214
- rehypePlugins: [st.rehypePlugin, ...t.rehypePlugins || []]
3234
+ remarkPlugins: [dt.remarkPlugin, ...t.remarkPlugins || []],
3235
+ rehypePlugins: [dt.rehypePlugin, ...t.rehypePlugins || []]
3215
3236
  }
3216
3237
  ),
3217
3238
  (e, t) => e.children === t.children
3218
3239
  );
3219
- He.displayName = "Response";
3220
- function kr({
3240
+ je.displayName = "Response";
3241
+ function vr({
3221
3242
  part: e,
3222
3243
  message: t,
3223
3244
  status: n,
3224
3245
  isFinished: o,
3225
3246
  lastMessage: r,
3226
3247
  isLastVisiblePart: a,
3227
- regen: i,
3248
+ regen: l,
3228
3249
  feedback: c,
3229
3250
  handleFeedback: s,
3230
3251
  copyHost: p,
3231
3252
  feedbackEnabled: h,
3232
3253
  retryEnabled: f
3233
3254
  }) {
3234
- const { t: b } = M(["chat"]), { textComponents: m, remarkPlugins: k, rehypePlugins: d } = W(), v = he(e.text), x = !o && r && (n === "streaming" || n === "submitted"), g = i || (() => {
3255
+ const { t: b } = M(["chat"]), { textComponents: m, remarkPlugins: y, rehypePlugins: d } = W(), v = ge(e.text), x = !o && r && (n === "streaming" || n === "submitted"), g = l || (() => {
3235
3256
  });
3236
3257
  return /* @__PURE__ */ w("div", { className: "group py-2 first:pt-4 animate-in-bubble", children: [
3237
- /* @__PURE__ */ l(Rt, { from: t.role, children: /* @__PURE__ */ l(Ot, { dir: v, children: /* @__PURE__ */ l(
3238
- He,
3258
+ /* @__PURE__ */ i(Lt, { from: t.role, children: /* @__PURE__ */ i(Dt, { dir: v, children: /* @__PURE__ */ i(
3259
+ je,
3239
3260
  {
3240
3261
  components: m,
3241
- remarkPlugins: k,
3262
+ remarkPlugins: y,
3242
3263
  rehypePlugins: d,
3243
3264
  children: e.text
3244
3265
  }
3245
3266
  ) }) }),
3246
- a && !x && /* @__PURE__ */ w(io, { className: y("mt-1.5 ml-0.5", t.role === "user" && "justify-end"), children: [
3267
+ a && !x && /* @__PURE__ */ w(co, { className: k("mt-1.5 ml-0.5", t.role === "user" && "justify-end"), children: [
3247
3268
  t.role === "assistant" && /* @__PURE__ */ w(J, { children: [
3248
- r && f && /* @__PURE__ */ l(
3249
- ie,
3269
+ r && f && /* @__PURE__ */ i(
3270
+ se,
3250
3271
  {
3251
3272
  onClick: () => g(t.id),
3252
3273
  label: b("retry"),
3253
3274
  tooltip: b("retry"),
3254
- children: /* @__PURE__ */ l(fn, { className: "size-3" })
3275
+ children: /* @__PURE__ */ i(yn, { className: "size-3" })
3255
3276
  }
3256
3277
  ),
3257
3278
  h && /* @__PURE__ */ w(J, { children: [
3258
- /* @__PURE__ */ l(
3259
- ie,
3279
+ /* @__PURE__ */ i(
3280
+ se,
3260
3281
  {
3261
3282
  onClick: () => s("like"),
3262
3283
  label: b("like"),
3263
3284
  tooltip: b("like"),
3264
3285
  className: c === "like" ? "text-primary" : "",
3265
- children: /* @__PURE__ */ l(bn, { className: "size-3" })
3286
+ children: /* @__PURE__ */ i(kn, { className: "size-3" })
3266
3287
  }
3267
3288
  ),
3268
- /* @__PURE__ */ l(
3269
- ie,
3289
+ /* @__PURE__ */ i(
3290
+ se,
3270
3291
  {
3271
3292
  onClick: () => s("dislike"),
3272
3293
  label: b("dislike"),
3273
3294
  tooltip: b("dislike"),
3274
3295
  className: c === "dislike" ? "text-destructive" : "",
3275
- children: /* @__PURE__ */ l(kn, { className: "size-3" })
3296
+ children: /* @__PURE__ */ i(vn, { className: "size-3" })
3276
3297
  }
3277
3298
  )
3278
3299
  ] })
3279
3300
  ] }),
3280
- /* @__PURE__ */ l(
3281
- ie,
3301
+ /* @__PURE__ */ i(
3302
+ se,
3282
3303
  {
3283
3304
  onClick: () => {
3284
3305
  p(e.text);
3285
3306
  },
3286
3307
  label: b("copy"),
3287
3308
  tooltip: b("copy"),
3288
- children: /* @__PURE__ */ l(_t, { className: "size-3" })
3309
+ children: /* @__PURE__ */ i(Nt, { className: "size-3" })
3289
3310
  }
3290
3311
  )
3291
3312
  ] })
3292
3313
  ] });
3293
3314
  }
3294
- const Xt = de(null), yr = () => {
3295
- const e = Oe(Xt);
3315
+ const Jt = pe(null), wr = () => {
3316
+ const e = Le(Jt);
3296
3317
  if (!e)
3297
3318
  throw new Error("Reasoning components must be used within Reasoning");
3298
3319
  return e;
3299
- }, vr = 1e3, wr = 1e3, Kt = ue(
3320
+ }, xr = 1e3, _r = 1e3, Qt = de(
3300
3321
  ({
3301
3322
  className: e,
3302
3323
  isStreaming: t = !1,
@@ -3305,24 +3326,24 @@ const Xt = de(null), yr = () => {
3305
3326
  // eslint-disable-next-line @typescript-eslint/unbound-method
3306
3327
  onOpenChange: r,
3307
3328
  duration: a,
3308
- children: i,
3329
+ children: l,
3309
3330
  ...c
3310
3331
  }) => {
3311
- const [s, p] = Ge({
3332
+ const [s, p] = We({
3312
3333
  prop: n,
3313
3334
  defaultProp: o,
3314
3335
  onChange: r
3315
- }), [h, f] = Ge({
3336
+ }), [h, f] = We({
3316
3337
  prop: a,
3317
3338
  defaultProp: 0
3318
- }), [b, m] = $(!1), [k, d] = $(null);
3339
+ }), [b, m] = B(!1), [y, d] = B(null);
3319
3340
  Q(() => {
3320
- t ? k === null && d(Date.now()) : k !== null && (f(Math.ceil((Date.now() - k) / wr)), d(null));
3321
- }, [t, k, f]), Q(() => {
3341
+ t ? y === null && d(Date.now()) : y !== null && (f(Math.ceil((Date.now() - y) / _r)), d(null));
3342
+ }, [t, y, f]), Q(() => {
3322
3343
  if (o && !t && s && !b) {
3323
3344
  const x = setTimeout(() => {
3324
3345
  p(!1), m(!0);
3325
- }, vr);
3346
+ }, xr);
3326
3347
  return () => {
3327
3348
  clearTimeout(x);
3328
3349
  };
@@ -3331,70 +3352,70 @@ const Xt = de(null), yr = () => {
3331
3352
  const v = (x) => {
3332
3353
  p(x);
3333
3354
  };
3334
- return /* @__PURE__ */ l(Xt.Provider, { value: { isStreaming: t, isOpen: s, setIsOpen: p, duration: h }, children: /* @__PURE__ */ l(
3335
- Pe,
3355
+ return /* @__PURE__ */ i(Jt.Provider, { value: { isStreaming: t, isOpen: s, setIsOpen: p, duration: h }, children: /* @__PURE__ */ i(
3356
+ ze,
3336
3357
  {
3337
- className: y("not-prose mb-4", e),
3358
+ className: k("not-prose mb-4", e),
3338
3359
  onOpenChange: v,
3339
3360
  open: s,
3340
3361
  ...c,
3341
- children: i
3362
+ children: l
3342
3363
  }
3343
3364
  ) });
3344
3365
  }
3345
- ), Zt = ue(({ className: e, children: t, ...n }) => {
3346
- const { isStreaming: o, isOpen: r, duration: a } = yr();
3347
- return /* @__PURE__ */ l(Me, { className: y("flex items-center gap-2 text-muted-foreground text-sm", e), ...n, children: t ?? /* @__PURE__ */ w(J, { children: [
3348
- /* @__PURE__ */ l(yn, { className: "size-4" }),
3349
- o || a === 0 ? /* @__PURE__ */ l("p", { children: "Thinking..." }) : /* @__PURE__ */ w("p", { children: [
3366
+ ), en = de(({ className: e, children: t, ...n }) => {
3367
+ const { isStreaming: o, isOpen: r, duration: a } = wr();
3368
+ return /* @__PURE__ */ i($e, { className: k("flex items-center gap-2 text-muted-foreground text-sm", e), ...n, children: t ?? /* @__PURE__ */ w(J, { children: [
3369
+ /* @__PURE__ */ i(wn, { className: "size-4" }),
3370
+ o || a === 0 ? /* @__PURE__ */ i("p", { children: "Thinking..." }) : /* @__PURE__ */ w("p", { children: [
3350
3371
  "Thought for ",
3351
3372
  a,
3352
3373
  " ",
3353
3374
  a === 1 ? "second" : "seconds"
3354
3375
  ] }),
3355
- /* @__PURE__ */ l(
3356
- ae,
3376
+ /* @__PURE__ */ i(
3377
+ ie,
3357
3378
  {
3358
- className: y("size-4 text-muted-foreground transition-transform", r ? "rotate-180" : "rotate-0")
3379
+ className: k("size-4 text-muted-foreground transition-transform", r ? "rotate-180" : "rotate-0")
3359
3380
  }
3360
3381
  )
3361
3382
  ] }) });
3362
- }), Jt = ue(({ className: e, children: t, ...n }) => /* @__PURE__ */ l(
3363
- ze,
3383
+ }), tn = de(({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
3384
+ Ue,
3364
3385
  {
3365
- className: y(
3386
+ className: k(
3366
3387
  "mt-4 text-base",
3367
3388
  "data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",
3368
3389
  e
3369
3390
  ),
3370
3391
  ...n,
3371
- children: /* @__PURE__ */ l(He, { className: "grid gap-2", children: t })
3392
+ children: /* @__PURE__ */ i(je, { className: "grid gap-2", children: t })
3372
3393
  }
3373
3394
  ));
3374
- Kt.displayName = "Reasoning";
3375
- Zt.displayName = "ReasoningTrigger";
3376
- Jt.displayName = "ReasoningContent";
3377
- function xr({
3395
+ Qt.displayName = "Reasoning";
3396
+ en.displayName = "ReasoningTrigger";
3397
+ tn.displayName = "ReasoningContent";
3398
+ function Sr({
3378
3399
  part: e,
3379
3400
  status: t,
3380
3401
  index: n,
3381
3402
  partsCount: o,
3382
3403
  lastMessage: r
3383
3404
  }) {
3384
- const a = he(e.text);
3405
+ const a = ge(e.text);
3385
3406
  return /* @__PURE__ */ w(
3386
- Kt,
3407
+ Qt,
3387
3408
  {
3388
3409
  className: "w-full animate-in-bubble",
3389
3410
  isStreaming: t === "streaming" && n === o - 1 && r,
3390
3411
  children: [
3391
- /* @__PURE__ */ l(Zt, {}),
3392
- /* @__PURE__ */ l(Jt, { dir: a, children: e.text })
3412
+ /* @__PURE__ */ i(en, {}),
3413
+ /* @__PURE__ */ i(tn, { dir: a, children: e.text })
3393
3414
  ]
3394
3415
  }
3395
3416
  );
3396
3417
  }
3397
- const _r = Le(
3418
+ const Er = Pe(
3398
3419
  "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
3399
3420
  {
3400
3421
  variants: {
@@ -3410,32 +3431,32 @@ const _r = Le(
3410
3431
  }
3411
3432
  }
3412
3433
  );
3413
- function Sr({
3434
+ function Nr({
3414
3435
  className: e,
3415
3436
  variant: t,
3416
3437
  asChild: n = !1,
3417
3438
  ...o
3418
3439
  }) {
3419
- return /* @__PURE__ */ l(n ? Et : "span", { "data-slot": "badge", className: y(_r({ variant: t }), e), ...o });
3440
+ return /* @__PURE__ */ i(n ? Ct : "span", { "data-slot": "badge", className: k(Er({ variant: t }), e), ...o });
3420
3441
  }
3421
- function Er({ ...e }) {
3422
- return /* @__PURE__ */ l(U.Root, { "data-slot": "dialog", ...e });
3442
+ function Tr({ ...e }) {
3443
+ return /* @__PURE__ */ i(H.Root, { "data-slot": "dialog", ...e });
3423
3444
  }
3424
- function Nr({ ...e }) {
3425
- return /* @__PURE__ */ l(U.Trigger, { "data-slot": "dialog-trigger", ...e });
3445
+ function Cr({ ...e }) {
3446
+ return /* @__PURE__ */ i(H.Trigger, { "data-slot": "dialog-trigger", ...e });
3426
3447
  }
3427
- function Tr({ ...e }) {
3428
- return /* @__PURE__ */ l(U.Portal, { "data-slot": "dialog-portal", ...e });
3448
+ function Ar({ ...e }) {
3449
+ return /* @__PURE__ */ i(H.Portal, { "data-slot": "dialog-portal", ...e });
3429
3450
  }
3430
- function kl({ ...e }) {
3431
- return /* @__PURE__ */ l(U.Close, { "data-slot": "dialog-close", ...e });
3451
+ function vi({ ...e }) {
3452
+ return /* @__PURE__ */ i(H.Close, { "data-slot": "dialog-close", ...e });
3432
3453
  }
3433
- function Cr({ className: e, ...t }) {
3434
- return /* @__PURE__ */ l(
3435
- U.Overlay,
3454
+ function Ir({ className: e, ...t }) {
3455
+ return /* @__PURE__ */ i(
3456
+ H.Overlay,
3436
3457
  {
3437
3458
  "data-slot": "dialog-overlay",
3438
- className: y(
3459
+ className: k(
3439
3460
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
3440
3461
  e
3441
3462
  ),
@@ -3443,19 +3464,19 @@ function Cr({ className: e, ...t }) {
3443
3464
  }
3444
3465
  );
3445
3466
  }
3446
- function Ar({
3467
+ function Rr({
3447
3468
  className: e,
3448
3469
  children: t,
3449
3470
  showCloseButton: n = !0,
3450
3471
  ...o
3451
3472
  }) {
3452
- return /* @__PURE__ */ w(Tr, { "data-slot": "dialog-portal", children: [
3453
- /* @__PURE__ */ l(Cr, {}),
3473
+ return /* @__PURE__ */ w(Ar, { "data-slot": "dialog-portal", children: [
3474
+ /* @__PURE__ */ i(Ir, {}),
3454
3475
  /* @__PURE__ */ w(
3455
- U.Content,
3476
+ H.Content,
3456
3477
  {
3457
3478
  "data-slot": "dialog-content",
3458
- className: y(
3479
+ className: k(
3459
3480
  "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
3460
3481
  e
3461
3482
  ),
@@ -3463,13 +3484,13 @@ function Ar({
3463
3484
  children: [
3464
3485
  t,
3465
3486
  n && /* @__PURE__ */ w(
3466
- U.Close,
3487
+ H.Close,
3467
3488
  {
3468
3489
  "data-slot": "dialog-close",
3469
3490
  className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rtl:left-4 rtl:right-auto rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
3470
3491
  children: [
3471
- /* @__PURE__ */ l(pe, {}),
3472
- /* @__PURE__ */ l("span", { className: "sr-only", children: "Close" })
3492
+ /* @__PURE__ */ i(he, {}),
3493
+ /* @__PURE__ */ i("span", { className: "sr-only", children: "Close" })
3473
3494
  ]
3474
3495
  }
3475
3496
  )
@@ -3478,47 +3499,47 @@ function Ar({
3478
3499
  )
3479
3500
  ] });
3480
3501
  }
3481
- function Ir({ className: e, ...t }) {
3482
- return /* @__PURE__ */ l(
3502
+ function Or({ className: e, ...t }) {
3503
+ return /* @__PURE__ */ i(
3483
3504
  "div",
3484
3505
  {
3485
3506
  "data-slot": "dialog-header",
3486
- className: y("flex flex-col gap-2 text-center sm:text-start", e),
3507
+ className: k("flex flex-col gap-2 text-center sm:text-start", e),
3487
3508
  ...t
3488
3509
  }
3489
3510
  );
3490
3511
  }
3491
- function yl({ className: e, ...t }) {
3492
- return /* @__PURE__ */ l(
3512
+ function wi({ className: e, ...t }) {
3513
+ return /* @__PURE__ */ i(
3493
3514
  "div",
3494
3515
  {
3495
3516
  "data-slot": "dialog-footer",
3496
- className: y("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", e),
3517
+ className: k("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", e),
3497
3518
  ...t
3498
3519
  }
3499
3520
  );
3500
3521
  }
3501
- function Rr({ className: e, ...t }) {
3502
- return /* @__PURE__ */ l(
3503
- U.Title,
3522
+ function Fr({ className: e, ...t }) {
3523
+ return /* @__PURE__ */ i(
3524
+ H.Title,
3504
3525
  {
3505
3526
  "data-slot": "dialog-title",
3506
- className: y("text-xl leading-none font-semibold", e),
3527
+ className: k("text-xl leading-none font-semibold", e),
3507
3528
  ...t
3508
3529
  }
3509
3530
  );
3510
3531
  }
3511
- function vl({ className: e, ...t }) {
3512
- return /* @__PURE__ */ l(
3513
- U.Description,
3532
+ function xi({ className: e, ...t }) {
3533
+ return /* @__PURE__ */ i(
3534
+ H.Description,
3514
3535
  {
3515
3536
  "data-slot": "dialog-description",
3516
- className: y("text-muted-foreground text-base", e),
3537
+ className: k("text-muted-foreground text-base", e),
3517
3538
  ...t
3518
3539
  }
3519
3540
  );
3520
3541
  }
3521
- const Or = {
3542
+ const Lr = {
3522
3543
  'code[class*="language-"]': {
3523
3544
  background: "hsl(220, 13%, 18%)",
3524
3545
  color: "hsl(220, 14%, 71%)",
@@ -4018,7 +4039,7 @@ const Or = {
4018
4039
  ".prism-previewer-easing.prism-previewer-easing line": {
4019
4040
  stroke: "hsl(220, 14%, 71%)"
4020
4041
  }
4021
- }, Fr = {
4042
+ }, Dr = {
4022
4043
  'code[class*="language-"]': {
4023
4044
  background: "hsl(230, 1%, 98%)",
4024
4045
  color: "hsl(230, 8%, 24%)",
@@ -4507,13 +4528,13 @@ const Or = {
4507
4528
  stroke: "hsl(230, 8%, 24%)"
4508
4529
  }
4509
4530
  };
4510
- function B(e) {
4531
+ function q(e) {
4511
4532
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
4512
4533
  }
4513
- var ye, ct;
4514
- function Lr() {
4515
- if (ct) return ye;
4516
- ct = 1, ye = e, e.displayName = "python", e.aliases = ["py"];
4534
+ var ve, pt;
4535
+ function Pr() {
4536
+ if (pt) return ve;
4537
+ pt = 1, ve = e, e.displayName = "python", e.aliases = ["py"];
4517
4538
  function e(t) {
4518
4539
  t.languages.python = {
4519
4540
  comment: {
@@ -4577,14 +4598,14 @@ function Lr() {
4577
4598
  punctuation: /[{}[\];(),.:]/
4578
4599
  }, t.languages.python["string-interpolation"].inside.interpolation.inside.rest = t.languages.python, t.languages.py = t.languages.python;
4579
4600
  }
4580
- return ye;
4581
- }
4582
- var Dr = Lr();
4583
- const Pr = /* @__PURE__ */ B(Dr);
4584
- var ve, ut;
4585
- function Mr() {
4586
- if (ut) return ve;
4587
- ut = 1, ve = e, e.displayName = "javascript", e.aliases = ["js"];
4601
+ return ve;
4602
+ }
4603
+ var Mr = Pr();
4604
+ const zr = /* @__PURE__ */ q(Mr);
4605
+ var we, ht;
4606
+ function $r() {
4607
+ if (ht) return we;
4608
+ ht = 1, we = e, e.displayName = "javascript", e.aliases = ["js"];
4588
4609
  function e(t) {
4589
4610
  t.languages.javascript = t.languages.extend("clike", {
4590
4611
  "class-name": [
@@ -4709,14 +4730,14 @@ function Mr() {
4709
4730
  "javascript"
4710
4731
  )), t.languages.js = t.languages.javascript;
4711
4732
  }
4712
- return ve;
4733
+ return we;
4713
4734
  }
4714
- var zr = Mr();
4715
- const $r = /* @__PURE__ */ B(zr);
4716
- var we, dt;
4717
- function Ur() {
4718
- if (dt) return we;
4719
- dt = 1, we = e, e.displayName = "typescript", e.aliases = ["ts"];
4735
+ var Ur = $r();
4736
+ const Br = /* @__PURE__ */ q(Ur);
4737
+ var xe, gt;
4738
+ function Hr() {
4739
+ if (gt) return xe;
4740
+ gt = 1, xe = e, e.displayName = "typescript", e.aliases = ["ts"];
4720
4741
  function e(t) {
4721
4742
  (function(n) {
4722
4743
  n.languages.typescript = n.languages.extend("javascript", {
@@ -4764,14 +4785,14 @@ function Ur() {
4764
4785
  }), n.languages.ts = n.languages.typescript;
4765
4786
  })(t);
4766
4787
  }
4767
- return we;
4788
+ return xe;
4768
4789
  }
4769
- var Br = Ur();
4770
- const Hr = /* @__PURE__ */ B(Br);
4771
- var xe, pt;
4772
- function jr() {
4773
- if (pt) return xe;
4774
- pt = 1, xe = e, e.displayName = "json", e.aliases = ["webmanifest"];
4790
+ var qr = Hr();
4791
+ const jr = /* @__PURE__ */ q(qr);
4792
+ var _e, mt;
4793
+ function Gr() {
4794
+ if (mt) return _e;
4795
+ mt = 1, _e = e, e.displayName = "json", e.aliases = ["webmanifest"];
4775
4796
  function e(t) {
4776
4797
  t.languages.json = {
4777
4798
  property: {
@@ -4798,14 +4819,14 @@ function jr() {
4798
4819
  }
4799
4820
  }, t.languages.webmanifest = t.languages.json;
4800
4821
  }
4801
- return xe;
4822
+ return _e;
4802
4823
  }
4803
- var qr = jr();
4804
- const Gr = /* @__PURE__ */ B(qr);
4805
- var _e, ht;
4806
- function Vr() {
4807
- if (ht) return _e;
4808
- ht = 1, _e = e, e.displayName = "bash", e.aliases = ["shell"];
4824
+ var Vr = Gr();
4825
+ const Wr = /* @__PURE__ */ q(Vr);
4826
+ var Se, ft;
4827
+ function Yr() {
4828
+ if (ft) return Se;
4829
+ ft = 1, Se = e, e.displayName = "bash", e.aliases = ["shell"];
4809
4830
  function e(t) {
4810
4831
  (function(n) {
4811
4832
  var o = "\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b", r = {
@@ -5000,7 +5021,7 @@ function Vr() {
5000
5021
  lookbehind: !0
5001
5022
  }
5002
5023
  }, r.inside = n.languages.bash;
5003
- for (var i = [
5024
+ for (var l = [
5004
5025
  "comment",
5005
5026
  "function-name",
5006
5027
  "for-or-select",
@@ -5015,19 +5036,19 @@ function Vr() {
5015
5036
  "operator",
5016
5037
  "punctuation",
5017
5038
  "number"
5018
- ], c = a.variable[1].inside, s = 0; s < i.length; s++)
5019
- c[i[s]] = n.languages.bash[i[s]];
5039
+ ], c = a.variable[1].inside, s = 0; s < l.length; s++)
5040
+ c[l[s]] = n.languages.bash[l[s]];
5020
5041
  n.languages.shell = n.languages.bash;
5021
5042
  })(t);
5022
5043
  }
5023
- return _e;
5044
+ return Se;
5024
5045
  }
5025
- var Wr = Vr();
5026
- const Yr = /* @__PURE__ */ B(Wr);
5027
- var Se, gt;
5028
- function Xr() {
5029
- if (gt) return Se;
5030
- gt = 1, Se = e, e.displayName = "sql", e.aliases = [];
5046
+ var Xr = Yr();
5047
+ const Kr = /* @__PURE__ */ q(Xr);
5048
+ var Ee, bt;
5049
+ function Zr() {
5050
+ if (bt) return Ee;
5051
+ bt = 1, Ee = e, e.displayName = "sql", e.aliases = [];
5031
5052
  function e(t) {
5032
5053
  t.languages.sql = {
5033
5054
  comment: {
@@ -5063,17 +5084,17 @@ function Xr() {
5063
5084
  punctuation: /[;[\]()`,.]/
5064
5085
  };
5065
5086
  }
5066
- return Se;
5087
+ return Ee;
5067
5088
  }
5068
- var Kr = Xr();
5069
- const Zr = /* @__PURE__ */ B(Kr);
5070
- var Ee, mt;
5071
- function Jr() {
5072
- if (mt) return Ee;
5073
- mt = 1, Ee = e, e.displayName = "yaml", e.aliases = ["yml"];
5089
+ var Jr = Zr();
5090
+ const Qr = /* @__PURE__ */ q(Jr);
5091
+ var Ne, yt;
5092
+ function ea() {
5093
+ if (yt) return Ne;
5094
+ yt = 1, Ne = e, e.displayName = "yaml", e.aliases = ["yml"];
5074
5095
  function e(t) {
5075
5096
  (function(n) {
5076
- var o = /[*&][^\s[\]{},]+/, r = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/, a = "(?:" + r.source + "(?:[ ]+" + o.source + ")?|" + o.source + "(?:[ ]+" + r.source + ")?)", i = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(
5097
+ var o = /[*&][^\s[\]{},]+/, r = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/, a = "(?:" + r.source + "(?:[ ]+" + o.source + ")?|" + o.source + "(?:[ ]+" + r.source + ")?)", l = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(
5077
5098
  /<PLAIN>/g,
5078
5099
  function() {
5079
5100
  return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
@@ -5107,7 +5128,7 @@ function Jr() {
5107
5128
  /((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g, function() {
5108
5129
  return a;
5109
5130
  }).replace(/<<key>>/g, function() {
5110
- return "(?:" + i + "|" + c + ")";
5131
+ return "(?:" + l + "|" + c + ")";
5111
5132
  })
5112
5133
  ),
5113
5134
  lookbehind: !0,
@@ -5154,14 +5175,14 @@ function Jr() {
5154
5175
  }, n.languages.yml = n.languages.yaml;
5155
5176
  })(t);
5156
5177
  }
5157
- return Ee;
5178
+ return Ne;
5158
5179
  }
5159
- var Qr = Jr();
5160
- const ea = /* @__PURE__ */ B(Qr);
5161
- var Ne, ft;
5162
- function ta() {
5163
- if (ft) return Ne;
5164
- ft = 1, Ne = e, e.displayName = "markdown", e.aliases = ["md"];
5180
+ var ta = ea();
5181
+ const na = /* @__PURE__ */ q(ta);
5182
+ var Te, kt;
5183
+ function oa() {
5184
+ if (kt) return Te;
5185
+ kt = 1, Te = e, e.displayName = "markdown", e.aliases = ["md"];
5165
5186
  function e(t) {
5166
5187
  (function(n) {
5167
5188
  var o = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;
@@ -5170,7 +5191,7 @@ function ta() {
5170
5191
  return o;
5171
5192
  }), RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" + b + ")");
5172
5193
  }
5173
- var a = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source, i = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(
5194
+ var a = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source, l = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(
5174
5195
  /__/g,
5175
5196
  function() {
5176
5197
  return a;
@@ -5197,13 +5218,13 @@ function ta() {
5197
5218
  },
5198
5219
  table: {
5199
5220
  pattern: RegExp(
5200
- "^" + i + c + "(?:" + i + ")*",
5221
+ "^" + l + c + "(?:" + l + ")*",
5201
5222
  "m"
5202
5223
  ),
5203
5224
  inside: {
5204
5225
  "table-data-rows": {
5205
5226
  pattern: RegExp(
5206
- "^(" + i + c + ")(?:" + i + ")*$"
5227
+ "^(" + l + c + ")(?:" + l + ")*$"
5207
5228
  ),
5208
5229
  lookbehind: !0,
5209
5230
  inside: {
@@ -5215,14 +5236,14 @@ function ta() {
5215
5236
  }
5216
5237
  },
5217
5238
  "table-line": {
5218
- pattern: RegExp("^(" + i + ")" + c + "$"),
5239
+ pattern: RegExp("^(" + l + ")" + c + "$"),
5219
5240
  lookbehind: !0,
5220
5241
  inside: {
5221
5242
  punctuation: /\||:?-{3,}:?/
5222
5243
  }
5223
5244
  },
5224
5245
  "table-header-row": {
5225
- pattern: RegExp("^" + i + "$"),
5246
+ pattern: RegExp("^" + l + "$"),
5226
5247
  inside: {
5227
5248
  "table-header": {
5228
5249
  pattern: RegExp(a),
@@ -5418,28 +5439,28 @@ function ta() {
5418
5439
  }), n.hooks.add("after-tokenize", function(b) {
5419
5440
  if (b.language !== "markdown" && b.language !== "md")
5420
5441
  return;
5421
- function m(k) {
5422
- if (!(!k || typeof k == "string"))
5423
- for (var d = 0, v = k.length; d < v; d++) {
5424
- var x = k[d];
5442
+ function m(y) {
5443
+ if (!(!y || typeof y == "string"))
5444
+ for (var d = 0, v = y.length; d < v; d++) {
5445
+ var x = y[d];
5425
5446
  if (x.type !== "code") {
5426
5447
  m(x.content);
5427
5448
  continue;
5428
5449
  }
5429
- var g = x.content[1], E = x.content[3];
5430
- if (g && E && g.type === "code-language" && E.type === "code-block" && typeof g.content == "string") {
5431
- var C = g.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp");
5432
- C = (/[a-z][\w-]*/i.exec(C) || [""])[0].toLowerCase();
5433
- var F = "language-" + C;
5434
- E.alias ? typeof E.alias == "string" ? E.alias = [E.alias, F] : E.alias.push(F) : E.alias = [F];
5450
+ var g = x.content[1], R = x.content[3];
5451
+ if (g && R && g.type === "code-language" && R.type === "code-block" && typeof g.content == "string") {
5452
+ var E = g.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp");
5453
+ E = (/[a-z][\w-]*/i.exec(E) || [""])[0].toLowerCase();
5454
+ var I = "language-" + E;
5455
+ R.alias ? typeof R.alias == "string" ? R.alias = [R.alias, I] : R.alias.push(I) : R.alias = [I];
5435
5456
  }
5436
5457
  }
5437
5458
  }
5438
5459
  m(b.tokens);
5439
5460
  }), n.hooks.add("wrap", function(b) {
5440
5461
  if (b.type === "code-block") {
5441
- for (var m = "", k = 0, d = b.classes.length; k < d; k++) {
5442
- var v = b.classes[k], x = /language-(.+)/.exec(v);
5462
+ for (var m = "", y = 0, d = b.classes.length; y < d; y++) {
5463
+ var v = b.classes[y], x = /language-(.+)/.exec(v);
5443
5464
  if (x) {
5444
5465
  m = x[1];
5445
5466
  break;
@@ -5453,11 +5474,11 @@ function ta() {
5453
5474
  m
5454
5475
  );
5455
5476
  else if (m && m !== "none" && n.plugins.autoloader) {
5456
- var E = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(Math.random() * 1e16);
5457
- b.attributes.id = E, n.plugins.autoloader.loadLanguages(m, function() {
5458
- var C = document.getElementById(E);
5459
- C && (C.innerHTML = n.highlight(
5460
- C.textContent,
5477
+ var R = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(Math.random() * 1e16);
5478
+ b.attributes.id = R, n.plugins.autoloader.loadLanguages(m, function() {
5479
+ var E = document.getElementById(R);
5480
+ E && (E.innerHTML = n.highlight(
5481
+ E.textContent,
5461
5482
  n.languages[m],
5462
5483
  m
5463
5484
  ));
@@ -5473,49 +5494,49 @@ function ta() {
5473
5494
  }, h = String.fromCodePoint || String.fromCharCode;
5474
5495
  function f(b) {
5475
5496
  var m = b.replace(s, "");
5476
- return m = m.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(k, d) {
5497
+ return m = m.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(y, d) {
5477
5498
  if (d = d.toLowerCase(), d[0] === "#") {
5478
5499
  var v;
5479
5500
  return d[1] === "x" ? v = parseInt(d.slice(2), 16) : v = Number(d.slice(1)), h(v);
5480
5501
  } else {
5481
5502
  var x = p[d];
5482
- return x || k;
5503
+ return x || y;
5483
5504
  }
5484
5505
  }), m;
5485
5506
  }
5486
5507
  n.languages.md = n.languages.markdown;
5487
5508
  })(t);
5488
5509
  }
5489
- return Ne;
5490
- }
5491
- var na = ta();
5492
- const oa = /* @__PURE__ */ B(na);
5493
- z.registerLanguage("python", Pr);
5494
- z.registerLanguage("javascript", $r);
5495
- z.registerLanguage("typescript", Hr);
5496
- z.registerLanguage("json", Gr);
5497
- z.registerLanguage("bash", Yr);
5498
- z.registerLanguage("sql", Zr);
5499
- z.registerLanguage("yaml", ea);
5500
- z.registerLanguage("markdown", oa);
5501
- const ra = de({
5510
+ return Te;
5511
+ }
5512
+ var ra = oa();
5513
+ const aa = /* @__PURE__ */ q(ra);
5514
+ $.registerLanguage("python", zr);
5515
+ $.registerLanguage("javascript", Br);
5516
+ $.registerLanguage("typescript", jr);
5517
+ $.registerLanguage("json", Wr);
5518
+ $.registerLanguage("bash", Kr);
5519
+ $.registerLanguage("sql", Qr);
5520
+ $.registerLanguage("yaml", na);
5521
+ $.registerLanguage("markdown", aa);
5522
+ const ia = pe({
5502
5523
  code: ""
5503
- }), Re = ({
5524
+ }), Fe = ({
5504
5525
  code: e,
5505
5526
  language: t,
5506
5527
  showLineNumbers: n = !1,
5507
5528
  className: o,
5508
5529
  children: r,
5509
5530
  ...a
5510
- }) => /* @__PURE__ */ l(ra.Provider, { value: { code: e }, children: /* @__PURE__ */ l(
5531
+ }) => /* @__PURE__ */ i(ia.Provider, { value: { code: e }, children: /* @__PURE__ */ i(
5511
5532
  "div",
5512
5533
  {
5513
- className: y("relative w-full overflow-hidden rounded-md border bg-background text-foreground", o),
5534
+ className: k("relative w-full overflow-hidden rounded-md border bg-background text-foreground", o),
5514
5535
  dir: "ltr",
5515
5536
  ...a,
5516
5537
  children: /* @__PURE__ */ w("div", { className: "relative", children: [
5517
- /* @__PURE__ */ l(
5518
- z,
5538
+ /* @__PURE__ */ i(
5539
+ $,
5519
5540
  {
5520
5541
  className: "overflow-hidden dark:hidden",
5521
5542
  codeTagProps: {
@@ -5535,12 +5556,12 @@ const ra = de({
5535
5556
  minWidth: "2.5rem"
5536
5557
  },
5537
5558
  showLineNumbers: n,
5538
- style: Fr,
5559
+ style: Dr,
5539
5560
  children: e
5540
5561
  }
5541
5562
  ),
5542
- /* @__PURE__ */ l(
5543
- z,
5563
+ /* @__PURE__ */ i(
5564
+ $,
5544
5565
  {
5545
5566
  className: "hidden overflow-hidden dark:block",
5546
5567
  codeTagProps: {
@@ -5560,58 +5581,58 @@ const ra = de({
5560
5581
  minWidth: "2.5rem"
5561
5582
  },
5562
5583
  showLineNumbers: n,
5563
- style: Or,
5584
+ style: Lr,
5564
5585
  children: e
5565
5586
  }
5566
5587
  ),
5567
- r && /* @__PURE__ */ l("div", { className: "absolute top-2 right-2 flex items-center gap-2", children: r })
5588
+ r && /* @__PURE__ */ i("div", { className: "absolute top-2 right-2 flex items-center gap-2", children: r })
5568
5589
  ] })
5569
5590
  }
5570
5591
  ) });
5571
- function aa(e, t = "size-4") {
5592
+ function la(e, t = "size-4") {
5572
5593
  return {
5573
- web_search: /* @__PURE__ */ l(_n, { className: t }),
5574
- web_fetch: /* @__PURE__ */ l(ce, { className: t }),
5575
- code_execution: /* @__PURE__ */ l(xn, { className: t }),
5576
- image_generation: /* @__PURE__ */ l(wn, { className: t })
5577
- }[e] ?? /* @__PURE__ */ l(vn, { className: t });
5594
+ web_search: /* @__PURE__ */ i(En, { className: t }),
5595
+ web_fetch: /* @__PURE__ */ i(ue, { className: t }),
5596
+ code_execution: /* @__PURE__ */ i(Sn, { className: t }),
5597
+ image_generation: /* @__PURE__ */ i(_n, { className: t })
5598
+ }[e] ?? /* @__PURE__ */ i(xn, { className: t });
5578
5599
  }
5579
- const la = ({ className: e, ...t }) => /* @__PURE__ */ l(Pe, { className: y("not-prose mb-4 w-full rounded-md border", e), ...t }), ia = ({ status: e }) => {
5600
+ const sa = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not-prose mb-4 w-full rounded-md border", e), ...t }), ca = ({ status: e }) => {
5580
5601
  const { t } = M(["tools_ui"]), n = {
5581
5602
  "input-streaming": t("pending"),
5582
5603
  "input-available": t("running"),
5583
5604
  "output-available": t("completed"),
5584
5605
  "output-error": t("error")
5585
5606
  };
5586
- return /* @__PURE__ */ w(Sr, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [
5607
+ return /* @__PURE__ */ w(Nr, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [
5587
5608
  {
5588
- "input-streaming": /* @__PURE__ */ l(Nn, { className: "size-4" }),
5589
- "input-available": /* @__PURE__ */ l(En, { className: "size-4 animate-pulse" }),
5590
- "output-available": /* @__PURE__ */ l(Sn, { className: "size-4 text-green-600" }),
5591
- "output-error": /* @__PURE__ */ l(St, { className: "size-4 text-red-600" })
5609
+ "input-streaming": /* @__PURE__ */ i(Cn, { className: "size-4" }),
5610
+ "input-available": /* @__PURE__ */ i(Tn, { className: "size-4 animate-pulse" }),
5611
+ "output-available": /* @__PURE__ */ i(Nn, { className: "size-4 text-green-600" }),
5612
+ "output-error": /* @__PURE__ */ i(Tt, { className: "size-4 text-red-600" })
5592
5613
  }[e],
5593
5614
  n[e]
5594
5615
  ] });
5595
- }, sa = ({ className: e, type: t, state: n, toolName: o, ...r }) => {
5596
- const a = o || (t.startsWith("tool-") ? t.slice(5) : t), i = aa(a, "size-4 text-muted-foreground");
5597
- return /* @__PURE__ */ w(Me, { className: y("flex w-full items-center justify-between gap-4 p-3", e), ...r, children: [
5616
+ }, ua = ({ className: e, type: t, state: n, toolName: o, ...r }) => {
5617
+ const a = o || (t.startsWith("tool-") ? t.slice(5) : t), l = la(a, "size-4 text-muted-foreground");
5618
+ return /* @__PURE__ */ w($e, { className: k("flex w-full items-center justify-between gap-4 p-3", e), ...r, children: [
5598
5619
  /* @__PURE__ */ w("div", { className: "flex items-center gap-2", children: [
5599
- i,
5600
- /* @__PURE__ */ l("span", { className: "font-medium text-sm", children: a }),
5601
- /* @__PURE__ */ l(ia, { status: n })
5620
+ l,
5621
+ /* @__PURE__ */ i("span", { className: "font-medium text-sm", children: a }),
5622
+ /* @__PURE__ */ i(ca, { status: n })
5602
5623
  ] }),
5603
- /* @__PURE__ */ l(ae, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })
5624
+ /* @__PURE__ */ i(ie, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })
5604
5625
  ] });
5605
- }, ca = ({ className: e, ...t }) => /* @__PURE__ */ l(
5606
- ze,
5626
+ }, da = ({ className: e, ...t }) => /* @__PURE__ */ i(
5627
+ Ue,
5607
5628
  {
5608
- className: y(
5629
+ className: k(
5609
5630
  "data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",
5610
5631
  e
5611
5632
  ),
5612
5633
  ...t
5613
5634
  }
5614
- ), Qt = (e) => {
5635
+ ), nn = (e) => {
5615
5636
  if (typeof e == "string")
5616
5637
  try {
5617
5638
  return JSON.stringify(JSON.parse(e), null, 2);
@@ -5619,52 +5640,52 @@ const la = ({ className: e, ...t }) => /* @__PURE__ */ l(Pe, { className: y("not
5619
5640
  return e;
5620
5641
  }
5621
5642
  return JSON.stringify(e, null, 2);
5622
- }, ua = ({ className: e, input: t, ...n }) => {
5643
+ }, pa = ({ className: e, input: t, ...n }) => {
5623
5644
  const { t: o } = M(["tools_ui"]);
5624
- return /* @__PURE__ */ w("div", { className: y("space-y-2 overflow-hidden p-4", e), ...n, children: [
5625
- /* @__PURE__ */ l("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: o("parameters") }),
5626
- /* @__PURE__ */ l("div", { className: "rounded-md bg-muted/50", children: /* @__PURE__ */ l(Re, { code: Qt(t), language: "json" }) })
5645
+ return /* @__PURE__ */ w("div", { className: k("space-y-2 overflow-hidden p-4", e), ...n, children: [
5646
+ /* @__PURE__ */ i("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: o("parameters") }),
5647
+ /* @__PURE__ */ i("div", { className: "rounded-md bg-muted/50", children: /* @__PURE__ */ i(Fe, { code: nn(t), language: "json" }) })
5627
5648
  ] });
5628
- }, da = ({ className: e, output: t, errorText: n, ...o }) => {
5629
- const { t: r } = M(["tools_ui"]), [a, i] = $(!1);
5649
+ }, ha = ({ className: e, output: t, errorText: n, ...o }) => {
5650
+ const { t: r } = M(["tools_ui"]), [a, l] = B(!1);
5630
5651
  if (!(t || n))
5631
5652
  return null;
5632
5653
  const c = () => {
5633
5654
  n && navigator.clipboard.writeText(n).then(() => {
5634
- i(!0), setTimeout(() => i(!1), 2e3);
5655
+ l(!0), setTimeout(() => l(!1), 2e3);
5635
5656
  });
5636
5657
  }, s = () => {
5637
5658
  if (typeof t == "string")
5638
5659
  try {
5639
5660
  const p = JSON.parse(t);
5640
- return /* @__PURE__ */ l(Re, { code: JSON.stringify(p, null, 2), language: "json" });
5661
+ return /* @__PURE__ */ i(Fe, { code: JSON.stringify(p, null, 2), language: "json" });
5641
5662
  } catch {
5642
- return /* @__PURE__ */ l("div", { className: "p-4 text-sm whitespace-pre-wrap", dir: "ltr", children: t });
5663
+ return /* @__PURE__ */ i("div", { className: "p-4 text-sm whitespace-pre-wrap", dir: "ltr", children: t });
5643
5664
  }
5644
- return typeof t == "object" && t !== null && !("$$typeof" in t) ? /* @__PURE__ */ l(Re, { code: JSON.stringify(t, null, 2), language: "json" }) : t;
5665
+ return typeof t == "object" && t !== null && !("$$typeof" in t) ? /* @__PURE__ */ i(Fe, { code: JSON.stringify(t, null, 2), language: "json" }) : t;
5645
5666
  };
5646
- return /* @__PURE__ */ w("div", { className: y("space-y-2 p-4", e), ...o, children: [
5647
- /* @__PURE__ */ l("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: r(n ? "error" : "result") }),
5648
- n && /* @__PURE__ */ w(Er, { children: [
5649
- /* @__PURE__ */ l(Nr, { asChild: !0, children: /* @__PURE__ */ w(ee, { variant: "destructive", size: "sm", children: [
5650
- /* @__PURE__ */ l(St, { className: "mr-1.5 size-4" }),
5667
+ return /* @__PURE__ */ w("div", { className: k("space-y-2 p-4", e), ...o, children: [
5668
+ /* @__PURE__ */ i("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: r(n ? "error" : "result") }),
5669
+ n && /* @__PURE__ */ w(Tr, { children: [
5670
+ /* @__PURE__ */ i(Cr, { asChild: !0, children: /* @__PURE__ */ w(ee, { variant: "destructive", size: "sm", children: [
5671
+ /* @__PURE__ */ i(Tt, { className: "mr-1.5 size-4" }),
5651
5672
  r("view_error")
5652
5673
  ] }) }),
5653
- /* @__PURE__ */ w(Ar, { className: "max-w-2xl", children: [
5654
- /* @__PURE__ */ l(Ir, { children: /* @__PURE__ */ l(Rr, { className: "text-destructive", children: r("tool_error") }) }),
5674
+ /* @__PURE__ */ w(Rr, { className: "max-w-2xl", children: [
5675
+ /* @__PURE__ */ i(Or, { children: /* @__PURE__ */ i(Fr, { className: "text-destructive", children: r("tool_error") }) }),
5655
5676
  /* @__PURE__ */ w("div", { className: "space-y-4", children: [
5656
- /* @__PURE__ */ l("div", { className: "max-h-96 overflow-auto rounded-md bg-destructive/10 p-4 text-destructive text-sm", children: /* @__PURE__ */ l("pre", { className: "whitespace-pre-wrap break-words", children: Qt(n) }) }),
5677
+ /* @__PURE__ */ i("div", { className: "max-h-96 overflow-auto rounded-md bg-destructive/10 p-4 text-destructive text-sm", children: /* @__PURE__ */ i("pre", { className: "whitespace-pre-wrap break-words", children: nn(n) }) }),
5657
5678
  /* @__PURE__ */ w(ee, { variant: "outline", size: "sm", onClick: c, children: [
5658
- /* @__PURE__ */ l(_t, { className: "mr-1.5 size-4" }),
5679
+ /* @__PURE__ */ i(Nt, { className: "mr-1.5 size-4" }),
5659
5680
  r(a ? "copied" : "copy_error")
5660
5681
  ] })
5661
5682
  ] })
5662
5683
  ] })
5663
5684
  ] }),
5664
- t && !n && /* @__PURE__ */ l("div", { className: "overflow-x-auto rounded-md bg-muted/50 text-foreground text-xs [&_table]:w-full line-clamp-[20]", children: /* @__PURE__ */ l("div", { children: s() }) })
5685
+ t && !n && /* @__PURE__ */ i("div", { className: "overflow-x-auto rounded-md bg-muted/50 text-foreground text-xs [&_table]:w-full line-clamp-[20]", children: /* @__PURE__ */ i("div", { children: s() }) })
5665
5686
  ] });
5666
5687
  };
5667
- function pa({
5688
+ function ga({
5668
5689
  part: e,
5669
5690
  message: t,
5670
5691
  chat: n,
@@ -5672,43 +5693,43 @@ function pa({
5672
5693
  showToolCalls: r
5673
5694
  }) {
5674
5695
  const a = e;
5675
- let i = a.toolName;
5676
- if (!i && e.type.startsWith("tool-")) {
5696
+ let l = a.toolName;
5697
+ if (!l && e.type.startsWith("tool-")) {
5677
5698
  const c = e.type.slice(5);
5678
- c !== "invocation" && c !== "result" && (i = c);
5699
+ c !== "invocation" && c !== "result" && (l = c);
5679
5700
  }
5680
- if (!i && a.toolCallId && Array.isArray(t.parts))
5701
+ if (!l && a.toolCallId && Array.isArray(t.parts))
5681
5702
  try {
5682
5703
  const c = t.parts.find(
5683
5704
  (s) => s && typeof s == "object" && s.toolCallId === a.toolCallId && (s.toolName || s.type && s.type.startsWith("tool-"))
5684
5705
  );
5685
- c && (i = c.toolName || (c.type.startsWith("tool-") ? c.type.slice(5) : void 0));
5706
+ c && (l = c.toolName || (c.type.startsWith("tool-") ? c.type.slice(5) : void 0));
5686
5707
  } catch (c) {
5687
5708
  console.error("Error resolving toolName in ToolPart:", c);
5688
5709
  }
5689
- if (o && i && o[i]) {
5690
- const c = o[i];
5691
- return /* @__PURE__ */ l(c, { part: e, message: t, chat: n });
5710
+ if (o && l && o[l]) {
5711
+ const c = o[l];
5712
+ return /* @__PURE__ */ i(c, { part: e, message: t, chat: n });
5692
5713
  }
5693
- return r ? /* @__PURE__ */ w(la, { className: "animate-in-bubble", children: [
5694
- /* @__PURE__ */ l(sa, { type: e.type, state: a.state, toolName: i }),
5695
- /* @__PURE__ */ w(ca, { children: [
5696
- /* @__PURE__ */ l(ua, { input: a.input }),
5697
- (a.state === "output-available" || a.state === "output-error") && /* @__PURE__ */ l(da, { errorText: a.errorText, output: a.output })
5714
+ return r ? /* @__PURE__ */ w(sa, { className: "animate-in-bubble", children: [
5715
+ /* @__PURE__ */ i(ua, { type: e.type, state: a.state, toolName: l }),
5716
+ /* @__PURE__ */ w(da, { children: [
5717
+ /* @__PURE__ */ i(pa, { input: a.input }),
5718
+ (a.state === "output-available" || a.state === "output-error") && /* @__PURE__ */ i(ha, { errorText: a.errorText, output: a.output })
5698
5719
  ] })
5699
5720
  ] }) : null;
5700
5721
  }
5701
- function ha({
5722
+ function ma({
5702
5723
  part: e,
5703
5724
  message: t
5704
5725
  }) {
5705
- const { t: n } = M(["chat", "admin"]), o = e, r = (o.mediaType || o.media_type)?.startsWith("image/"), a = o.filename ?? "file", i = (c) => {
5726
+ const { t: n } = M(["chat", "admin"]), o = e, r = (o.mediaType || o.media_type)?.startsWith("image/"), a = o.filename ?? "file", l = (c) => {
5706
5727
  if (c.preventDefault(), !o.url) return;
5707
5728
  const s = document.createElement("a");
5708
5729
  s.href = o.url, s.download = a, document.body.appendChild(s), s.click(), document.body.removeChild(s);
5709
5730
  };
5710
- return /* @__PURE__ */ l("div", { className: "py-2 animate-in-bubble", children: /* @__PURE__ */ l(Rt, { from: t.role, children: /* @__PURE__ */ l(Ot, { isPlain: !0, children: r ? /* @__PURE__ */ w("div", { className: "group relative max-w-[280px] rounded-xl overflow-hidden border border-border/5 transition-all duration-300 hover:border-primary/30 hover:shadow-[0_0_20px_var(--glow)]", children: [
5711
- /* @__PURE__ */ l(
5731
+ return /* @__PURE__ */ i("div", { className: "py-2 animate-in-bubble", children: /* @__PURE__ */ i(Lt, { from: t.role, children: /* @__PURE__ */ i(Dt, { isPlain: !0, children: r ? /* @__PURE__ */ w("div", { className: "group relative max-w-[280px] rounded-xl overflow-hidden border border-border/5 transition-all duration-300 hover:border-primary/30 hover:shadow-[0_0_20px_var(--glow)]", children: [
5732
+ /* @__PURE__ */ i(
5712
5733
  "img",
5713
5734
  {
5714
5735
  src: o.url,
@@ -5717,50 +5738,50 @@ function ha({
5717
5738
  }
5718
5739
  ),
5719
5740
  /* @__PURE__ */ w("div", { className: "absolute inset-x-0 bottom-0 p-3 bg-gradient-to-t from-black/80 via-black/40 to-transparent opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-between", children: [
5720
- /* @__PURE__ */ l("span", { className: "text-[10px] text-white truncate max-w-[150px] font-medium drop-shadow-sm", children: a }),
5721
- /* @__PURE__ */ l(
5741
+ /* @__PURE__ */ i("span", { className: "text-[10px] text-white truncate max-w-[150px] font-medium drop-shadow-sm", children: a }),
5742
+ /* @__PURE__ */ i(
5722
5743
  "button",
5723
5744
  {
5724
- onClick: i,
5745
+ onClick: l,
5725
5746
  className: "p-1.5 bg-white/20 hover:bg-white/30 backdrop-blur-md rounded-full text-white transition-all hover:scale-110 active:scale-95",
5726
5747
  title: n("download", "Download"),
5727
- children: /* @__PURE__ */ l(ce, { className: "size-4" })
5748
+ children: /* @__PURE__ */ i(ue, { className: "size-4" })
5728
5749
  }
5729
5750
  )
5730
5751
  ] }),
5731
- /* @__PURE__ */ l("div", { className: "absolute top-2 right-2 md:hidden", children: /* @__PURE__ */ l(
5752
+ /* @__PURE__ */ i("div", { className: "absolute top-2 right-2 md:hidden", children: /* @__PURE__ */ i(
5732
5753
  "button",
5733
5754
  {
5734
- onClick: i,
5755
+ onClick: l,
5735
5756
  className: "p-1.5 bg-black/40 backdrop-blur-md rounded-full text-white",
5736
- children: /* @__PURE__ */ l(ce, { className: "size-4" })
5757
+ children: /* @__PURE__ */ i(ue, { className: "size-4" })
5737
5758
  }
5738
5759
  ) })
5739
- ] }) : /* @__PURE__ */ l("div", { className: "flex flex-col gap-1.5", children: /* @__PURE__ */ w("div", { className: "group inline-flex items-center gap-3 rounded-xl p-3 text-sm transition-all duration-300 bg-secondary/10 border border-border/5 hover:border-primary/30 hover:bg-secondary/20 hover:shadow-[0_0_15px_var(--glow)]", children: [
5740
- /* @__PURE__ */ l("div", { className: "p-2.5 rounded-lg bg-background/50 border border-border/10 group-hover:border-primary/20 group-hover:text-primary transition-colors", children: /* @__PURE__ */ l(xt, { className: "size-4 shrink-0" }) }),
5760
+ ] }) : /* @__PURE__ */ i("div", { className: "flex flex-col gap-1.5", children: /* @__PURE__ */ w("div", { className: "group inline-flex items-center gap-3 rounded-xl p-3 text-sm transition-all duration-300 bg-secondary/10 border border-border/5 hover:border-primary/30 hover:bg-secondary/20 hover:shadow-[0_0_15px_var(--glow)]", children: [
5761
+ /* @__PURE__ */ i("div", { className: "p-2.5 rounded-lg bg-background/50 border border-border/10 group-hover:border-primary/20 group-hover:text-primary transition-colors", children: /* @__PURE__ */ i(Et, { className: "size-4 shrink-0" }) }),
5741
5762
  /* @__PURE__ */ w("div", { className: "flex flex-col min-w-0 mr-4", children: [
5742
- /* @__PURE__ */ l("span", { className: "truncate max-w-[180px] font-semibold text-foreground/90 leading-none mb-1 group-hover:text-foreground transition-colors", children: a }),
5743
- (o.mediaType || o.media_type) && /* @__PURE__ */ l("span", { className: "text-[10px] text-muted-foreground uppercase font-bold tracking-widest opacity-60", children: (o.mediaType || o.media_type).split("/").pop() })
5763
+ /* @__PURE__ */ i("span", { className: "truncate max-w-[180px] font-semibold text-foreground/90 leading-none mb-1 group-hover:text-foreground transition-colors", children: a }),
5764
+ (o.mediaType || o.media_type) && /* @__PURE__ */ i("span", { className: "text-[10px] text-muted-foreground uppercase font-bold tracking-widest opacity-60", children: (o.mediaType || o.media_type).split("/").pop() })
5744
5765
  ] }),
5745
- /* @__PURE__ */ l(
5766
+ /* @__PURE__ */ i(
5746
5767
  "button",
5747
5768
  {
5748
- onClick: i,
5769
+ onClick: l,
5749
5770
  className: "ml-auto p-2 hover:bg-primary hover:text-primary-foreground rounded-lg text-muted-foreground transition-all active:scale-90",
5750
5771
  title: n("download", "Download"),
5751
- children: /* @__PURE__ */ l(ce, { className: "size-4" })
5772
+ children: /* @__PURE__ */ i(ue, { className: "size-4" })
5752
5773
  }
5753
5774
  )
5754
5775
  ] }) }) }) }) });
5755
5776
  }
5756
- const A = {
5757
- MessageList: Kn,
5758
- PromptInput: ro,
5759
- WelcomeScreen: lo,
5760
- TextPart: kr,
5761
- ReasoningPart: xr,
5762
- ToolPart: pa,
5763
- FilePart: ha,
5777
+ const C = {
5778
+ MessageList: Zn,
5779
+ PromptInput: io,
5780
+ WelcomeScreen: so,
5781
+ TextPart: vr,
5782
+ ReasoningPart: Sr,
5783
+ ToolPart: ga,
5784
+ FilePart: ma,
5764
5785
  toolComponents: void 0,
5765
5786
  textComponents: void 0,
5766
5787
  remarkPlugins: void 0,
@@ -5803,101 +5824,101 @@ const A = {
5803
5824
  account: { enabled: !0, fields: {} }
5804
5825
  }
5805
5826
  }
5806
- }, en = de(A);
5827
+ }, on = pe(C);
5807
5828
  function W() {
5808
- return Oe(en);
5829
+ return Le(on);
5809
5830
  }
5810
- function wl({
5831
+ function _i({
5811
5832
  components: e,
5812
5833
  history: t,
5813
5834
  welcome: n,
5814
5835
  threadActions: o,
5815
5836
  composer: r,
5816
5837
  theme: a,
5817
- disclaimer: i,
5838
+ disclaimer: l,
5818
5839
  app: c,
5819
5840
  i18n: s,
5820
5841
  settings: p,
5821
5842
  children: h
5822
5843
  }) {
5823
- const f = wt(
5844
+ const f = St(
5824
5845
  () => ({
5825
- ...A,
5846
+ ...C,
5826
5847
  ...e,
5827
5848
  // toolComponents is a plain merge (not nested-spread) — callers
5828
5849
  // provide the full map for all tool names they want to override.
5829
- toolComponents: e?.toolComponents ?? A.toolComponents,
5830
- history: t ? { ...A.history, ...t } : A.history,
5831
- welcome: n ? { ...A.welcome, ...n } : A.welcome,
5832
- threadActions: o ? { ...A.threadActions, ...o } : A.threadActions,
5850
+ toolComponents: e?.toolComponents ?? C.toolComponents,
5851
+ history: t ? { ...C.history, ...t } : C.history,
5852
+ welcome: n ? { ...C.welcome, ...n } : C.welcome,
5853
+ threadActions: o ? { ...C.threadActions, ...o } : C.threadActions,
5833
5854
  composer: r ? {
5834
- ...A.composer,
5855
+ ...C.composer,
5835
5856
  ...r,
5836
- attachments: r.attachments ? { ...A.composer?.attachments, ...r.attachments } : A.composer?.attachments
5837
- } : A.composer,
5838
- theme: a ?? A.theme,
5839
- disclaimer: i ?? A.disclaimer,
5840
- app: c ? { ...A.app, ...c } : A.app,
5841
- i18n: s ?? A.i18n,
5857
+ attachments: r.attachments ? { ...C.composer?.attachments, ...r.attachments } : C.composer?.attachments
5858
+ } : C.composer,
5859
+ theme: a ?? C.theme,
5860
+ disclaimer: l ?? C.disclaimer,
5861
+ app: c ? { ...C.app, ...c } : C.app,
5862
+ i18n: s ?? C.i18n,
5842
5863
  settings: p ? {
5843
- ...A.settings,
5864
+ ...C.settings,
5844
5865
  sections: {
5845
- ...A.settings?.sections,
5866
+ ...C.settings?.sections,
5846
5867
  ...p.sections
5847
5868
  }
5848
- } : A.settings
5869
+ } : C.settings
5849
5870
  }),
5850
- [e, t, n, o, r, a, i, c, s, p]
5871
+ [e, t, n, o, r, a, l, c, s, p]
5851
5872
  );
5852
- return /* @__PURE__ */ l(en.Provider, { value: f, children: h });
5873
+ return /* @__PURE__ */ i(on.Provider, { value: f, children: h });
5853
5874
  }
5854
- const ga = {
5875
+ const fa = {
5855
5876
  theme: "system",
5856
5877
  setTheme: () => null,
5857
5878
  accent: void 0,
5858
5879
  setAccent: () => null,
5859
5880
  radius: void 0,
5860
5881
  setRadius: () => null
5861
- }, tn = de(ga);
5862
- function xl({
5882
+ }, rn = pe(fa);
5883
+ function Si({
5863
5884
  children: e,
5864
5885
  defaultTheme: t = "system",
5865
5886
  storageKey: n = "chatbot-theme",
5866
5887
  ...o
5867
5888
  }) {
5868
- const [r, a] = $(
5889
+ const [r, a] = B(
5869
5890
  () => window.localStorage.getItem(n) ?? t
5870
- ), [i, c] = $(
5891
+ ), [l, c] = B(
5871
5892
  () => window.localStorage.getItem(n + "-accent") || void 0
5872
- ), [s, p] = $(
5893
+ ), [s, p] = B(
5873
5894
  () => window.localStorage.getItem(n + "-radius") || "1.25rem"
5874
5895
  ), { theme: h } = W(), { i18n: f } = M(["theme"]);
5875
5896
  Q(() => {
5876
5897
  const m = window.document.documentElement;
5877
5898
  if (m.classList.remove("light", "dark"), r === "system") {
5878
- const k = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
5879
- m.classList.add(k);
5899
+ const y = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
5900
+ m.classList.add(y);
5880
5901
  return;
5881
5902
  }
5882
5903
  m.classList.add(r);
5883
5904
  }, [r]), Q(() => {
5884
- const m = window.document.documentElement, k = f.language?.split("-")[0] || f.language;
5905
+ const m = window.document.documentElement, y = f.language?.split("-")[0] || f.language;
5885
5906
  let d = h?.typography?.fontFamily;
5886
- if (typeof d == "object" && d !== null && (d = d[f.language] || d[k] || d.en || Object.values(d)[0]), d) {
5907
+ if (typeof d == "object" && d !== null && (d = d[f.language] || d[y] || d.en || Object.values(d)[0]), d) {
5887
5908
  const g = d.includes(" ") && !d.startsWith("'") && !d.startsWith('"') ? `"${d}"` : d;
5888
5909
  m.style.setProperty("--gentiq-font-family", g), m.style.fontFamily = g, window.document.body && (window.document.body.style.fontFamily = g);
5889
5910
  }
5890
5911
  const v = s || (typeof h?.radius == "number" ? `${h.radius}px` : h?.radius);
5891
5912
  v !== void 0 && m.style.setProperty("--radius", v);
5892
- const x = i || h?.accent;
5913
+ const x = l || h?.accent;
5893
5914
  x !== void 0 && m.style.setProperty("--gentiq-primary", x), window.document.documentElement.dir = f.dir();
5894
- }, [h, f, f.language, i, s]);
5915
+ }, [h, f, f.language, l, s]);
5895
5916
  const b = {
5896
5917
  theme: r,
5897
5918
  setTheme: (m) => {
5898
5919
  window.localStorage.setItem(n, m), a(m);
5899
5920
  },
5900
- accent: i,
5921
+ accent: l,
5901
5922
  setAccent: (m) => {
5902
5923
  m ? window.localStorage.setItem(n + "-accent", m) : window.localStorage.removeItem(n + "-accent"), c(m);
5903
5924
  },
@@ -5906,39 +5927,39 @@ function xl({
5906
5927
  m ? window.localStorage.setItem(n + "-radius", m) : window.localStorage.removeItem(n + "-radius"), p(m);
5907
5928
  }
5908
5929
  };
5909
- return /* @__PURE__ */ l(tn.Provider, { ...o, value: b, children: e });
5930
+ return /* @__PURE__ */ i(rn.Provider, { ...o, value: b, children: e });
5910
5931
  }
5911
- const _l = () => Oe(tn), {
5912
- slice: ma,
5913
- forEach: fa
5932
+ const Ei = () => Le(rn), {
5933
+ slice: ba,
5934
+ forEach: ya
5914
5935
  } = [];
5915
- function ba(e) {
5916
- return fa.call(ma.call(arguments, 1), (t) => {
5936
+ function ka(e) {
5937
+ return ya.call(ba.call(arguments, 1), (t) => {
5917
5938
  if (t)
5918
5939
  for (const n in t)
5919
5940
  e[n] === void 0 && (e[n] = t[n]);
5920
5941
  }), e;
5921
5942
  }
5922
- function ka(e) {
5943
+ function va(e) {
5923
5944
  return typeof e != "string" ? !1 : [/<\s*script.*?>/i, /<\s*\/\s*script\s*>/i, /<\s*img.*?on\w+\s*=/i, /<\s*\w+\s*on\w+\s*=.*?>/i, /javascript\s*:/i, /vbscript\s*:/i, /expression\s*\(/i, /eval\s*\(/i, /alert\s*\(/i, /document\.cookie/i, /document\.write\s*\(/i, /window\.location/i, /innerHTML/i].some((n) => n.test(e));
5924
5945
  }
5925
- const bt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, ya = function(e, t) {
5946
+ const vt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, wa = function(e, t) {
5926
5947
  const o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {
5927
5948
  path: "/"
5928
5949
  }, r = encodeURIComponent(t);
5929
5950
  let a = `${e}=${r}`;
5930
5951
  if (o.maxAge > 0) {
5931
- const i = o.maxAge - 0;
5932
- if (Number.isNaN(i)) throw new Error("maxAge should be a Number");
5933
- a += `; Max-Age=${Math.floor(i)}`;
5952
+ const l = o.maxAge - 0;
5953
+ if (Number.isNaN(l)) throw new Error("maxAge should be a Number");
5954
+ a += `; Max-Age=${Math.floor(l)}`;
5934
5955
  }
5935
5956
  if (o.domain) {
5936
- if (!bt.test(o.domain))
5957
+ if (!vt.test(o.domain))
5937
5958
  throw new TypeError("option domain is invalid");
5938
5959
  a += `; Domain=${o.domain}`;
5939
5960
  }
5940
5961
  if (o.path) {
5941
- if (!bt.test(o.path))
5962
+ if (!vt.test(o.path))
5942
5963
  throw new TypeError("option path is invalid");
5943
5964
  a += `; Path=${o.path}`;
5944
5965
  }
@@ -5965,13 +5986,13 @@ const bt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, ya = function(e, t) {
5965
5986
  throw new TypeError("option sameSite is invalid");
5966
5987
  }
5967
5988
  return o.partitioned && (a += "; Partitioned"), a;
5968
- }, kt = {
5989
+ }, wt = {
5969
5990
  create(e, t, n, o) {
5970
5991
  let r = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : {
5971
5992
  path: "/",
5972
5993
  sameSite: "strict"
5973
5994
  };
5974
- n && (r.expires = /* @__PURE__ */ new Date(), r.expires.setTime(r.expires.getTime() + n * 60 * 1e3)), o && (r.domain = o), document.cookie = ya(e, t, r);
5995
+ n && (r.expires = /* @__PURE__ */ new Date(), r.expires.setTime(r.expires.getTime() + n * 60 * 1e3)), o && (r.domain = o), document.cookie = wa(e, t, r);
5975
5996
  },
5976
5997
  read(e) {
5977
5998
  const t = `${e}=`, n = document.cookie.split(";");
@@ -5986,7 +6007,7 @@ const bt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, ya = function(e, t) {
5986
6007
  this.create(e, "", -1, t);
5987
6008
  }
5988
6009
  };
5989
- var va = {
6010
+ var xa = {
5990
6011
  name: "cookie",
5991
6012
  // Deconstruct the options object and extract the lookupCookie property
5992
6013
  lookup(e) {
@@ -5994,7 +6015,7 @@ var va = {
5994
6015
  lookupCookie: t
5995
6016
  } = e;
5996
6017
  if (t && typeof document < "u")
5997
- return kt.read(t) || void 0;
6018
+ return wt.read(t) || void 0;
5998
6019
  },
5999
6020
  // Deconstruct the options object and extract the lookupCookie, cookieMinutes, cookieDomain, and cookieOptions properties
6000
6021
  cacheUserLanguage(e, t) {
@@ -6004,9 +6025,9 @@ var va = {
6004
6025
  cookieDomain: r,
6005
6026
  cookieOptions: a
6006
6027
  } = t;
6007
- n && typeof document < "u" && kt.create(n, e, o, r, a);
6028
+ n && typeof document < "u" && wt.create(n, e, o, r, a);
6008
6029
  }
6009
- }, wa = {
6030
+ }, _a = {
6010
6031
  name: "querystring",
6011
6032
  // Deconstruct the options object and extract the lookupQuerystring property
6012
6033
  lookup(e) {
@@ -6019,14 +6040,14 @@ var va = {
6019
6040
  } = window.location;
6020
6041
  !window.location.search && window.location.hash?.indexOf("?") > -1 && (o = window.location.hash.substring(window.location.hash.indexOf("?")));
6021
6042
  const a = o.substring(1).split("&");
6022
- for (let i = 0; i < a.length; i++) {
6023
- const c = a[i].indexOf("=");
6024
- c > 0 && a[i].substring(0, c) === t && (n = a[i].substring(c + 1));
6043
+ for (let l = 0; l < a.length; l++) {
6044
+ const c = a[l].indexOf("=");
6045
+ c > 0 && a[l].substring(0, c) === t && (n = a[l].substring(c + 1));
6025
6046
  }
6026
6047
  }
6027
6048
  return n;
6028
6049
  }
6029
- }, xa = {
6050
+ }, Sa = {
6030
6051
  name: "hash",
6031
6052
  // Deconstruct the options object and extract the lookupHash property and the lookupFromHashIndex property
6032
6053
  lookup(e) {
@@ -6041,16 +6062,16 @@ var va = {
6041
6062
  if (r && r.length > 2) {
6042
6063
  const a = r.substring(1);
6043
6064
  if (t) {
6044
- const i = a.split("&");
6045
- for (let c = 0; c < i.length; c++) {
6046
- const s = i[c].indexOf("=");
6047
- s > 0 && i[c].substring(0, s) === t && (o = i[c].substring(s + 1));
6065
+ const l = a.split("&");
6066
+ for (let c = 0; c < l.length; c++) {
6067
+ const s = l[c].indexOf("=");
6068
+ s > 0 && l[c].substring(0, s) === t && (o = l[c].substring(s + 1));
6048
6069
  }
6049
6070
  }
6050
6071
  if (o) return o;
6051
6072
  if (!o && n > -1) {
6052
- const i = r.match(/\/([a-zA-Z-]*)/g);
6053
- return Array.isArray(i) ? i[typeof n == "number" ? n : 0]?.replace("/", "") : void 0;
6073
+ const l = r.match(/\/([a-zA-Z-]*)/g);
6074
+ return Array.isArray(l) ? l[typeof n == "number" ? n : 0]?.replace("/", "") : void 0;
6054
6075
  }
6055
6076
  }
6056
6077
  }
@@ -6058,7 +6079,7 @@ var va = {
6058
6079
  }
6059
6080
  };
6060
6081
  let Y = null;
6061
- const yt = () => {
6082
+ const xt = () => {
6062
6083
  if (Y !== null) return Y;
6063
6084
  try {
6064
6085
  if (Y = typeof window < "u" && window.localStorage !== null, !Y)
@@ -6070,14 +6091,14 @@ const yt = () => {
6070
6091
  }
6071
6092
  return Y;
6072
6093
  };
6073
- var _a = {
6094
+ var Ea = {
6074
6095
  name: "localStorage",
6075
6096
  // Deconstruct the options object and extract the lookupLocalStorage property
6076
6097
  lookup(e) {
6077
6098
  let {
6078
6099
  lookupLocalStorage: t
6079
6100
  } = e;
6080
- if (t && yt())
6101
+ if (t && xt())
6081
6102
  return window.localStorage.getItem(t) || void 0;
6082
6103
  },
6083
6104
  // Deconstruct the options object and extract the lookupLocalStorage property
@@ -6085,11 +6106,11 @@ var _a = {
6085
6106
  let {
6086
6107
  lookupLocalStorage: n
6087
6108
  } = t;
6088
- n && yt() && window.localStorage.setItem(n, e);
6109
+ n && xt() && window.localStorage.setItem(n, e);
6089
6110
  }
6090
6111
  };
6091
6112
  let X = null;
6092
- const vt = () => {
6113
+ const _t = () => {
6093
6114
  if (X !== null) return X;
6094
6115
  try {
6095
6116
  if (X = typeof window < "u" && window.sessionStorage !== null, !X)
@@ -6101,22 +6122,22 @@ const vt = () => {
6101
6122
  }
6102
6123
  return X;
6103
6124
  };
6104
- var Sa = {
6125
+ var Na = {
6105
6126
  name: "sessionStorage",
6106
6127
  lookup(e) {
6107
6128
  let {
6108
6129
  lookupSessionStorage: t
6109
6130
  } = e;
6110
- if (t && vt())
6131
+ if (t && _t())
6111
6132
  return window.sessionStorage.getItem(t) || void 0;
6112
6133
  },
6113
6134
  cacheUserLanguage(e, t) {
6114
6135
  let {
6115
6136
  lookupSessionStorage: n
6116
6137
  } = t;
6117
- n && vt() && window.sessionStorage.setItem(n, e);
6138
+ n && _t() && window.sessionStorage.setItem(n, e);
6118
6139
  }
6119
- }, Ea = {
6140
+ }, Ta = {
6120
6141
  name: "navigator",
6121
6142
  lookup(e) {
6122
6143
  const t = [];
@@ -6133,7 +6154,7 @@ var Sa = {
6133
6154
  }
6134
6155
  return t.length > 0 ? t : void 0;
6135
6156
  }
6136
- }, Na = {
6157
+ }, Ca = {
6137
6158
  name: "htmlTag",
6138
6159
  // Deconstruct the options object and extract the htmlTag property
6139
6160
  lookup(e) {
@@ -6143,7 +6164,7 @@ var Sa = {
6143
6164
  const o = t || (typeof document < "u" ? document.documentElement : null);
6144
6165
  return o && typeof o.getAttribute == "function" && (n = o.getAttribute("lang")), n;
6145
6166
  }
6146
- }, Ta = {
6167
+ }, Aa = {
6147
6168
  name: "path",
6148
6169
  // Deconstruct the options object and extract the lookupFromPathIndex property
6149
6170
  lookup(e) {
@@ -6154,7 +6175,7 @@ var Sa = {
6154
6175
  const n = window.location.pathname.match(/\/([a-zA-Z-]*)/g);
6155
6176
  return Array.isArray(n) ? n[typeof t == "number" ? t : 0]?.replace("/", "") : void 0;
6156
6177
  }
6157
- }, Ca = {
6178
+ }, Ia = {
6158
6179
  name: "subdomain",
6159
6180
  lookup(e) {
6160
6181
  let {
@@ -6165,15 +6186,15 @@ var Sa = {
6165
6186
  return o[n];
6166
6187
  }
6167
6188
  };
6168
- let nn = !1;
6189
+ let an = !1;
6169
6190
  try {
6170
- document.cookie, nn = !0;
6191
+ document.cookie, an = !0;
6171
6192
  } catch {
6172
6193
  }
6173
- const on = ["querystring", "cookie", "localStorage", "sessionStorage", "navigator", "htmlTag"];
6174
- nn || on.splice(1, 1);
6175
- const Aa = () => ({
6176
- order: on,
6194
+ const ln = ["querystring", "cookie", "localStorage", "sessionStorage", "navigator", "htmlTag"];
6195
+ an || ln.splice(1, 1);
6196
+ const Ra = () => ({
6197
+ order: ln,
6177
6198
  lookupQuerystring: "lng",
6178
6199
  lookupCookie: "i18next",
6179
6200
  lookupLocalStorage: "i18nextLng",
@@ -6185,7 +6206,7 @@ const Aa = () => ({
6185
6206
  // cookieDomain: 'myDomain'
6186
6207
  convertDetectedLanguage: (e) => e
6187
6208
  });
6188
- class rn {
6209
+ class sn {
6189
6210
  constructor(t) {
6190
6211
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
6191
6212
  this.type = "languageDetector", this.detectors = {}, this.init(t, n);
@@ -6194,7 +6215,7 @@ class rn {
6194
6215
  let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
6195
6216
  languageUtils: {}
6196
6217
  }, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
6197
- this.services = t, this.options = ba(n, this.options || {}, Aa()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = (r) => r.replace("-", "_")), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = o, this.addDetector(va), this.addDetector(wa), this.addDetector(_a), this.addDetector(Sa), this.addDetector(Ea), this.addDetector(Na), this.addDetector(Ta), this.addDetector(Ca), this.addDetector(xa);
6218
+ this.services = t, this.options = ka(n, this.options || {}, Ra()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = (r) => r.replace("-", "_")), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = o, this.addDetector(xa), this.addDetector(_a), this.addDetector(Ea), this.addDetector(Na), this.addDetector(Ta), this.addDetector(Ca), this.addDetector(Aa), this.addDetector(Ia), this.addDetector(Sa);
6198
6219
  }
6199
6220
  addDetector(t) {
6200
6221
  return this.detectors[t.name] = t, this;
@@ -6206,7 +6227,7 @@ class rn {
6206
6227
  let r = this.detectors[o].lookup(this.options);
6207
6228
  r && typeof r == "string" && (r = [r]), r && (n = n.concat(r));
6208
6229
  }
6209
- }), n = n.filter((o) => o != null && !ka(o)).map((o) => this.options.convertDetectedLanguage(o)), this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes ? n : n.length > 0 ? n[0] : null;
6230
+ }), n = n.filter((o) => o != null && !va(o)).map((o) => this.options.convertDetectedLanguage(o)), this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes ? n : n.length > 0 ? n[0] : null;
6210
6231
  }
6211
6232
  cacheUserLanguage(t) {
6212
6233
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.options.caches;
@@ -6215,31 +6236,31 @@ class rn {
6215
6236
  }));
6216
6237
  }
6217
6238
  }
6218
- rn.type = "languageDetector";
6219
- const Ia = { new_conversation: "New conversation", tooltip_new_conversation: "Start a new conversation", delete_conversation: "Delete", delete_confirm_title: "Delete conversation?", delete_confirm_description: "Are you sure you want to delete this chat? This action cannot be undone.", cancel: "Cancel", delete: "Delete", chat_deleted_success: "Chat deleted successfully", logout: "Logout", new_chat: "New Chat", rename_conversation: "Rename", rename_success: "Conversation renamed successfully", rename_failed: "Failed to rename conversation", search_conversations: "Search conversations...", save: "Save", no_conversations: "No conversations yet", loading_more: "Loading more...", pinned_success: "Conversation pinned", unpinned_success: "Conversation unpinned", pin_failed: "Failed to pin conversation", share_success: "Link copied", share_description: "The shareable link has been copied to your clipboard.", share_failed: "Failed to generate share link", pin_conversation: "Pin", unpin_conversation: "Unpin", share_conversation: "Share" }, Ra = { tools: "Tools", error: "Error:", input_placeholder: "Ask something...", insufficient_balance: "Insufficient balance. Please recharge your account to continue.", regenerate: "Regenerate", retry: "Retry", copy: "Copy", like: "Like", dislike: "Dislike", attach_file: "Attach file", remove_file: "Remove file", used_sources: "Used {{count}} sources", welcome: { title: "Hello! How can I help you today?", subtitle: "Ask me anything and I'll do my best to help.", suggestions: ["What can you help me with?", "Tell me something interesting", "Help me write an email", "Explain a concept to me"] }, disclaimer: "AI can make mistakes. Check important info." }, Oa = { pending: "Pending", running: "Running", completed: "Completed", error: "Error", parameters: "Parameters", result: "Result", view_error: "View Error", tool_error: "Tool Error", copied: "Copied!", copy_error: "Copy Error" }, Fa = { login_tab: "Login", signup_tab: "Sign Up", phone: "Phone", phone_placeholder: "Phone number", password: "Password", name: "Name", name_placeholder: "First Name", surname: "Surname", surname_placeholder: "Last Name", loading: "Loading...", logging_in: "Logging in...", signing_up: "Signing up...", select_placeholder: "Select an option", login_button: "Login", signup_button: "Sign Up" }, La = { toggle: "Change theme", light: "Switch to light theme", dark: "Switch to dark theme", system: "Switch to system theme" }, Da = { select_placeholder: "Select an option", loading: "Loading...", retry: "Retry", save: "Save", saving: "Saving...", cancel: "Cancel", delete: "Delete", edit: "Edit", search: "Search", search_placeholder: "Search...", no_data: "No data available", loading_more: "Loading more...", confirm_delete: "Are you sure you want to delete?", error_loading: "Error loading data", dashboard: { title: "Admin Panel", logout: "Logout", tabs: { analytics: "Analytics", chat_history: "Chats", users: "Users", admins: "Admins", settings: "Settings" } }, app_settings: { title: "System Settings", subtitle: "Manage global configuration for application appearance and behavior.", sections: { general: "Basic Information", chat: "Chat Experience" }, general: { app_name: "App Name", admin_title: "Admin Panel Title", language: "Default Language", language_help: "The language users see on their first visit (if not auto-detected)." }, chat: { welcome_greeting: "Welcome Greeting", welcome_subtitle: "Welcome Subtitle", disclaimer: "Disclaimer Text", show_tool_details: "Show technical tool details", show_tool_details_help: "Enable this to show professional technical details of AI tools to users.", show_settings: "Show settings icon for users", show_settings_help: "Show a settings gear icon in the chat interface for user customization.", composer_attachments: "Enable File Attachments", composer_attachments_help: "Allow users to upload and attach files to their messages.", thread_actions_feedback: "Enable Feedback Buttons", thread_actions_feedback_help: "Show like/dislike buttons on AI responses.", thread_actions_retry: "Enable Retry Button", thread_actions_retry_help: "Show a retry button to regenerate the last AI response.", history_enabled: "Enable Chat History Sidebar", history_enabled_help: "Show the sidebar containing previous conversations.", history_show_delete: "Allow Deleting Conversations", history_show_rename: "Allow Renaming Conversations", history_show_share: "Allow Sharing Conversations", history_show_pin: "Allow Pinning Conversations", sections_modes: "Settings Tab Modes", sections_modes_help: "Control visibility and interactability of settings tabs for users.", mode_editable: "Enable (Editable)", mode_faded: "Fade (Readonly)", mode_hidden: "Hide (Disable)", general_tab: "General Tab", profile_tab: "Profile Tab", account_tab: "Account Tab", inner_fields_modes: "Inner Fields Visibility", inner_fields_modes_help: "Configure visibility for individual fields within each tab." }, save_success: "Settings saved successfully", save_error: "Failed to save settings", save: "Save Changes", translations_management: "Translations Management", editor_tips: "All changes are saved automatically to local state. Don't forget to push 'Save Changes' to persist.", sync_from_code: "Sync from Code", reset_button: "Reset to Defaults", reset_confirm_title: "Reset Settings?", reset_confirm_description: "This will reset all fields to their original default values from the code. Current unsaved changes will be lost.", preview: "Preview", tips_label: "TIPS" }, analytics: { title: "Analytics & Statistics", days: "{{count}} Days", total_users: "Total Users", total_threads: "Total Threads", total_messages: "Total Messages", total_token_usage: "Total Token Usage", threads_chart: "Threads", messages_chart: "Messages", token_usage_chart: "Token Usage", active_users: "Active Users", conversations: "conversations", threads: "threads", feedback: "User Feedback", total_feedback: "Total Feedback", positive: "Positive", negative: "Negative", loading_analytics: "Loading analytics...", error_loading: "Error loading data" }, chat_history: { title: "Chat History Management", search_placeholder: "Search by name, phone, thread title, or ID...", search_button: "Search", threads_list: "Threads List", thread_count: "{{count}}", no_thread_title: "Untitled conversation", messages: "Messages", messages_for: "Messages for: {{title}}", select_thread: "Select a conversation to view", no_threads: "No conversations found", empty_thread: "This conversation is empty", loading_threads: "Loading...", loading_messages: "Loading messages...", user_label: "User", assistant_label: "AI Assistant", input_tokens: "Input: {{value}}", output_tokens: "Output: {{value}}", total_tokens: "Total: {{value}}", all_feedbacks: "All Conversations", liked_feedbacks: "Liked 👍", disliked_feedbacks: "Disliked 👎", any_feedback: "With Feedback", output_available: "Output Available", running: "Running...", unnamed_file: "Unnamed File", download_file: "Download File" }, users: { title: "User Management", user_count: "User count: {{count}}", add_user: "Add New User", edit_user: "Edit User", phone: "Phone Number", phone_placeholder: "09123456789", name: "Name", surname: "Surname", initial_tokens: "Initial Tokens (optional)", initial_requests: "Initial Requests (optional)", balance: "Balance", requests_label: "Requests", tokens_label: "Tokens", token_limit: "Token Limit", request_limit: "Request Limit", tokens_usage: "Tokens Usage", requests_usage: "Requests Usage", actions: "Actions", copy_token: "Copy Token (auto-refresh)", token_copied: "Token copied successfully", no_token: "No token found for this user", recharge: "Recharge Balance", update_balance: "Update Balance", update_balance_for: "Update Balance for", token_count: "Token Count", request_count: "Request Count", updating: "Updating...", no_users: "No users found.", confirm_delete_user: "Are you sure you want to delete this user?", tokens_exceed_limit: "Tokens cannot exceed the specified limit", requests_exceed_limit: "Requests cannot exceed the specified limit", metadata: "Metadata (JSON)", initial_balance: "Initial Balance", custom_fields: "Additional Fields", metadata_raw: "Metadata (Raw JSON)", advanced_usage: "Advanced usage", invalid_json: "Invalid JSON format" }, admins: { title: "Admin Management", admin_count: "Admin count: {{count}}", add_admin: "Add New Admin", edit_admin: "Edit Admin", username: "Username", name: "Name", password: "Password", password_edit: "New Password (leave empty to keep current)", permissions: "Permissions", perm_chat_history: "Chat History", perm_admin_management: "Admin Management", perm_user_management: "User Management", perm_analytics: "Analytics", perm_settings: "Settings", no_admins: "No admins found.", confirm_delete_admin: "Are you sure you want to delete this admin?" }, errors: { access_denied_title: "Access Denied", access_denied_message: "You don't have the necessary permissions to access this page. You can contact the administrator!", back_to_dashboard: "Back to Dashboard" }, login: { title: "Admin Panel", setup_title: "Initial Setup", setup_description: "No admin account exists yet. Set a password for the default admin user to get started.", set_password: "Set Password", set_password_placeholder: "Choose a strong password", confirm_password: "Confirm Password", confirm_password_placeholder: "Re-enter the password", passwords_mismatch: "Passwords do not match", password_too_short: "Password must be at least 4 characters", create_admin: "Create Admin & Login", setting_up: "Setting up...", username: "Username", username_placeholder: "Username", password: "Password", password_placeholder: "••••••••", submit: "Login", logging_in: "Logging in...", error: "Login failed", copyright: "© 2026 AI Chatbot Platform" } }, Pa = { title: "Settings", sections: { profile: "Profile", general: "General", account: "Account" }, profile: { title: "Profile Information", subtitle: "Update your personal details below.", name: "First Name", surname: "Last Name", phone: "Phone Number", password: "New Password", password_placeholder: "Leave empty to keep current", save: "Save Changes", saving: "Saving...", success: "Profile updated successfully", error: "Failed to update profile", select_placeholder: "Select an option" }, general: { title: "General Settings", subtitle: "Configure look and feel and language.", theme: "Theme", language: "Language", themes: { light: "Light", dark: "Dark", system: "System" }, accent: "Accent Color", radius: "Rounded Corners", radius_levels: { sharp: "Sharp", round: "Round" }, languages: { en: "English", fa: "Persian" } }, account: { title: "Account & Usage", subtitle: "Monitor your quotas and manage your session.", balance: "Current Balance", tokens: "Tokens", requests: "Requests", logout: "Logout", logout_confirm: "Are you sure you want to logout?", last_recharge: "Last balance update on" } }, Ma = { unauthorized: "Authentication required. Please login again.", invalid_credentials: "Invalid phone number or password.", phone_required: "Phone number is required.", password_required: "Password is required.", name_surname_required: "Name and surname are required.", phone_already_exists: "This phone number is already registered.", invalid_token: "Your session has expired. Please login again.", user_not_found: "User not found.", insufficient_balance: "Insufficient balance. Please recharge your account.", me_update_failed: "Failed to update profile information.", thread_not_found: "Conversation not found.", access_denied: "You do not have permission to perform this action.", feedback_save_failed: "Failed to save feedback.", thread_update_failed: "Failed to update conversation.", thread_delete_failed: "Failed to delete conversation.", attachment_not_found: "Attachment not found.", thread_share_failed: "Failed to share conversation.", admin_already_exists: "Admin with this username already exists.", admin_not_found: "Admin not found.", cannot_delete_self: "You cannot delete your own admin account.", admin_update_failed: "Failed to update admin information.", internal_error: "An internal server error occurred. Please try again later.", validation_error: "Invalid data provided. Please check your input.", not_found: "The requested resource was not found." }, za = {
6220
- sidebar: Ia,
6221
- chat: Ra,
6222
- tools_ui: Oa,
6223
- login: Fa,
6224
- theme: La,
6225
- admin: Da,
6226
- settings: Pa,
6227
- errors: Ma
6228
- }, $a = { new_conversation: "گفتگوی جدید", tooltip_new_conversation: "شروع یک گفتگوی جدید", delete_conversation: "حذف", delete_confirm_title: "حذف گفتگو؟", delete_confirm_description: "آیا از حذف این گفتگو اطمینان دارید؟ این عمل قابل بازگشت نیست.", cancel: "انصراف", delete: "حذف", chat_deleted_success: "گفتگو با موفقیت حذف شد", logout: "خروج", new_chat: "گفتگوی جدید", rename_conversation: "تغییر نام", rename_success: "نام گفتگو با موفقیت تغییر کرد", rename_failed: "خطا در تغییر نام گفتگو", search_conversations: "جستجوی گفتگوها...", save: "ذخیره", no_conversations: "هنوز گفتگویی ندارید", loading_more: "در حال بارگذاری...", pinned_success: "گفتگو پین شد", unpinned_success: "گفتگو از حالت پین خارج شد", pin_failed: "خطا در پین کردن گفتگو", share_success: "لینک کپی شد", share_description: "لینک اشتراک‌گذاری در حافظه موقت کپی شد.", share_failed: "خطا در ایجاد لینک اشتراک‌گذاری", pin_conversation: "پین", unpin_conversation: "برداشتن پین", share_conversation: "اشتراک‌گذاری" }, Ua = { tools: "ابزارها", error: "خطا:", input_placeholder: "سوالتو اینجا بپرس...", insufficient_balance: "موجودی حساب شما کافی نیست. لطفا برای ادامه، حساب خود را شارژ کنید.", regenerate: "تولید مجدد", retry: "تلاش مجدد", copy: "کپی", like: "پسندیدم", dislike: "نپسندیدم", attach_file: "پیوست فایل", remove_file: "حذف فایل", used_sources: "از {{count}} منبع استفاده شد", welcome: { title: "سلام! چطور می‌تونم کمکت کنم؟", subtitle: "هر سوالی داری بپرس، تمام تلاشمو می‌کنم کمکت کنم.", suggestions: ["چه کارهایی می‌تونی انجام بدی؟", "یه چیز جالب بهم بگو", "کمکم کن یه ایمیل بنویسم", "یه مفهوم رو برام توضیح بده"] }, disclaimer: "هوش مصنوعی ممکن است اشتباه کند. اطلاعات مهم را بررسی کنید." }, Ba = { pending: "در انتظار", running: "در حال اجرا", completed: "تکمیل شده", error: "خطا", parameters: "پارامترها", result: "نتیجه", view_error: "نمایش خطا", tool_error: "خطای ابزار", copied: "کپی شد!", copy_error: "کپی خطا" }, Ha = { login_tab: "ورود", signup_tab: "ثبت نام", phone: "شماره تلفن", phone_placeholder: "شماره تلفن", password: "رمز عبور", name: "نام", name_placeholder: "نام", surname: "نام خانوادگی", surname_placeholder: "نام خانوادگی", logging_in: "در حال ورود...", signing_up: "در حال ثبت نام...", select_placeholder: "انتخاب کنید", login_button: "ورود", signup_button: "ثبت نام" }, ja = { toggle: "تغییر تم", light: "تغییر به تم روشن", dark: "تغییر به تم تاریک", system: "تغییر به تم سیستم" }, qa = { select_placeholder: "انتخاب کنید", loading: "در حال بارگذاری...", retry: "تلاش مجدد", save: "ذخیره", saving: "در حال ذخیره...", cancel: "انصراف", delete: "حذف", edit: "ویرایش", search: "جستجو", search_placeholder: "جستجو...", no_data: "داده‌ای موجود نیست", loading_more: "در حال بارگذاری بیشتر...", confirm_delete: "آیا از حذف اطمینان دارید؟", error_loading: "خطا در بارگذاری داده‌ها", dashboard: { title: "پنل ادمین", logout: "خروج", tabs: { analytics: "تحلیل و آمار", chat_history: "گفتگوها", users: "کاربران", admins: "ادمین‌ها", settings: "تنظیمات" } }, app_settings: { title: "تنظیمات سامانه", subtitle: "پیکربندی کلی ظاهر و رفتار سامانه را مدیریت کنید.", sections: { general: "اطلاعات پایه", chat: "تنظیمات گفتگو" }, general: { app_name: "نام سامانه", admin_title: "عنوان پنل ادمین", language: "زبان پیش‌فرض", language_help: "زبانی که کاربر در اولین ورود مشاهده می‌کند (در صورت عدم تشخیص خودکار)." }, chat: { welcome_greeting: "پیام خوش‌آمدگویی", welcome_subtitle: "زیرعنوان خوش‌آمدگویی", disclaimer: "متن سلب مسئولیت", show_tool_details: "نمایش جزئیات فنی ابزارها (Tools)", show_tool_details_help: "برای نمایش جزئیات فنی و نحوه عملکرد ابزارهای هوش مصنوعی به کاربران، این گزینه را فعال کنید.", show_settings: "نمایش آیکون تنظیمات برای کاربران", show_settings_help: "نمایش چرخ‌دنده تنظیمات در محیط چت برای شخصی‌سازی توسط کاربر.", composer_attachments: "فعال‌سازی پیوست فایل", composer_attachments_help: "اجازه به کاربران برای آپلود و پیوست فایل به پیام‌ها.", thread_actions_feedback: "فعال‌سازی دکمه‌های بازخورد", thread_actions_feedback_help: "نمایش دکمه‌های پسندیدن/نپسندیدن در پاسخ‌های هوش مصنوعی.", thread_actions_retry: "فعال‌سازی دکمه تلاش مجدد", thread_actions_retry_help: "نمایش دکمه تلاش مجدد برای تولید دوباره آخرین پاسخ هوش مصنوعی.", history_enabled: "فعال‌سازی سایدبار تاریخچه", history_enabled_help: "نمایش منوی کناری شامل گفتگوهای قبلی.", history_show_delete: "اجازه حذف گفتگوها", history_show_rename: "اجازه تغییر نام گفتگوها", history_show_share: "اجازه اشتراک‌گذاری گفتگوها", history_show_pin: "اجازه پین کردن گفتگوها", sections_modes: "وضعیت نمایش تب‌های تنظیمات", sections_modes_help: "کنترل نمایش یا غیرفعال بودن تب‌های مختلف در بخش تنظیمات کاربر.", mode_editable: "فعال (قابل ویرایش)", mode_faded: "محو (فقط خواندنی)", mode_hidden: "مخفی (غیرفعال)", general_tab: "تب عمومی", profile_tab: "تب پروفایل", account_tab: "تب حساب کاربری", inner_fields_modes: "مشاهده‌پذیری فیلدهای داخلی", inner_fields_modes_help: "وضعیت نمایش فیلدهای هر تب را به‌صورت مجزا پیکربندی کنید." }, save_success: "تنظیمات با موفقیت ذخیره شد", save_error: "خطا در ذخیره‌سازی تنظیمات", save: "ذخیره تغییرات", translations_management: "مدیریت ترجمه‌ها", editor_tips: "تمام تغییرات به‌صورت خودکار در حالت محلی ذخیره می‌شوند. برای نهایی‌سازی، دکمه «ذخیره تغییرات» را بزنید.", sync_from_code: "همگام‌سازی از کد", reset_button: "بازنشانی به تنظیمات اولیه", reset_confirm_title: "بازنشانی تنظیمات؟", reset_confirm_description: "این عمل تمام فیلدها را به مقادیر پیش‌فرض در کد بازمی‌گرداند. تغییرات ذخیره نشده فعلی از بین خواهند رفت.", preview: "پیش‌نمایش", tips_label: "نکته" }, analytics: { title: "تحلیل و آمار", days: "{{count}} روز", total_users: "تعداد کاربران", total_threads: "تعداد گفتگوها", total_messages: "تعداد پیام‌ها", total_token_usage: "مصرف کل توکن", threads_chart: "گفتگوها", messages_chart: "پیام‌ها", token_usage_chart: "مصرف توکن", active_users: "کاربران فعال", conversations: "گفتگو", threads: "گفتگو", feedback: "نظرات کاربران", total_feedback: "کل نظرات", positive: "مثبت", negative: "منفی", loading_analytics: "در حال بارگذاری تحلیل‌ها...", error_loading: "خطا در بارگذاری داده‌ها" }, chat_history: { title: "مدیریت تاریخچه گفتگوها", search_placeholder: "جستجو بر اساس نام، شماره تماس، عنوان گفتگو یا شناسه...", search_button: "جستجو", threads_list: "لیست گفتگوها", thread_count: "{{count}}", no_thread_title: "گفتگو بدون عنوان", messages: "پیام‌ها", messages_for: "پیام‌های گفتگو: {{title}}", select_thread: "یک گفتگو را برای مشاهده انتخاب کنید", no_threads: "هیچ گفتگویی یافت نشد", empty_thread: "این گفتگو خالی است", loading_threads: "در حال بارگذاری...", loading_messages: "در حال بارگذاری پیام‌ها...", user_label: "کاربر", assistant_label: "دستیار هوشمند", input_tokens: "ورودی: {{value}}", output_tokens: "خروجی: {{value}}", total_tokens: "کل: {{value}}", all_feedbacks: "همه گفتگوها", liked_feedbacks: "پسندیده شده 👍", disliked_feedbacks: "نپسندیده شده 👎", any_feedback: "دارای بازخورد", output_available: "خروجی موجود است", running: "در حال اجرا...", unnamed_file: "فایل بدون نام", download_file: "دانلود فایل" }, users: { title: "مدیریت کاربران", user_count: "تعداد کاربران: {{count}}", add_user: "افزودن کاربر جدید", edit_user: "ویرایش کاربر", phone: "شماره تلفن", phone_placeholder: "۰۹۱۲۳۴۵۶۷۸۹", name: "نام", surname: "نام خانوادگی", initial_tokens: "تعداد توکن اولیه (اختیاری)", initial_requests: "تعداد درخواست اولیه (اختیاری)", balance: "موجودی", requests_label: "درخواست‌ها", tokens_label: "توکن‌ها", token_limit: "سقف توکن", request_limit: "سقف درخواست", tokens_usage: "میزان مصرف توکن", requests_usage: "میزان مصرف درخواست", actions: "عملیات", copy_token: "کپی توکن (با بروزرسانی خودکار)", token_copied: "توکن با موفقیت کپی شد", no_token: "توکنی برای این کاربر یافت نشد", recharge: "شارژ موجودی", update_balance: "بروزرسانی موجودی", update_balance_for: "بروزرسانی موجودی", token_count: "تعداد توکن", request_count: "تعداد درخواست", updating: "در حال بروزرسانی...", no_users: "هیچ کاربری یافت نشد.", confirm_delete_user: "آیا از حذف این کاربر اطمینان دارید؟", tokens_exceed_limit: "تعداد توکن نمی‌تواند بیشتر از سقف مجاز باشد", requests_exceed_limit: "تعداد درخواست نمی‌تواند بیشتر از سقف مجاز باشد", metadata: "متادیتا (JSON)", initial_balance: "موجودی اولیه", custom_fields: "فیلدهای اضافه", metadata_raw: "متادیتا (JSON خام)", advanced_usage: "استفاده پیشرفته", invalid_json: "فرمت JSON نامعتبر است" }, admins: { title: "مدیریت ادمین‌ها", admin_count: "تعداد ادمین‌ها: {{count}}", add_admin: "افزودن ادمین جدید", edit_admin: "ویرایش ادمین", username: "نام کاربری", name: "نام", password: "رمز عبور", password_edit: "رمز عبور جدید (خالی بگذارید تا تغییر نکند)", permissions: "دسترسی‌ها", perm_chat_history: "تاریخچه گفتگوها", perm_admin_management: "مدیریت ادمین‌ها", perm_user_management: "مدیریت کاربران", perm_analytics: "تحلیل و آمار", perm_settings: "تنظیمات", no_admins: "هیچ ادمینی یافت نشد.", confirm_delete_admin: "آیا از حذف این ادمین اطمینان دارید؟" }, errors: { access_denied_title: "عدم دسترسی", access_denied_message: "شما مجوزهای لازم برای دسترسی به این صفحه را ندارید. می‌توانید با مدیر سیستم تماس بگیرید.", back_to_dashboard: "بازگشت به پیشخوان" }, login: { title: "پنل ادمین", setup_title: "راه‌اندازی اولیه", setup_description: "هنوز حساب ادمینی وجود ندارد. برای شروع، یک رمز عبور برای کاربر ادمین پیش‌فرض تنظیم کنید.", set_password: "تعیین رمز عبور", set_password_placeholder: "یک رمز عبور قوی انتخاب کنید", confirm_password: "تأیید رمز عبور", confirm_password_placeholder: "رمز عبور را دوباره وارد کنید", passwords_mismatch: "رمزهای عبور مطابقت ندارند", password_too_short: "رمز عبور باید حداقل ۴ کاراکتر باشد", create_admin: "ایجاد ادمین و ورود", setting_up: "در حال راه‌اندازی...", username: "نام کاربری", username_placeholder: "نام کاربری", password: "رمز عبور", password_placeholder: "••••••••", submit: "ورود به پنل", logging_in: "در حال ورود...", error: "خطا در ورود", copyright: "© ۲۰۲۶ پلتفرم چت‌بات هوشمند" } }, Ga = { title: "تنظیمات", sections: { profile: "پروفایل", general: "عمومی", account: "حساب کاربری" }, profile: { title: "اطلاعات پروفایل", subtitle: "اطلاعات شخصی خود را در زیر بروز کنید.", name: "نام", surname: "نام خانوادگی", phone: "شماره تلفن", password: "رمز عبور جدید", password_placeholder: "برای عدم تغییر خالی بگذارید", save: "ذخیره تغییرات", saving: "در حال ذخیره...", success: "پروفایل با موفقیت بروزرسانی شد", error: "خطا در بروزرسانی پروفایل", select_placeholder: "انتخاب کنید" }, general: { title: "تنظیمات عمومی", subtitle: "ظاهر و زبان برنامه را تنظیم کنید.", theme: "تم", language: "زبان", themes: { light: "روشن", dark: "تاریک", system: "سیستم" }, accent: "رنگ اصلی", radius: "میزان گردی لبه‌ها", radius_levels: { sharp: "تیز", round: "گرد" }, languages: { en: "English", fa: "فارسی" } }, account: { title: "حساب و میزان مصرف", subtitle: "سهمیه مصرف و نشست خود را مدیریت کنید.", balance: "موجود فعلی", tokens: "توکن‌ها", requests: "درخواست‌ها", logout: "خروج از حساب", logout_confirm: "آیا از خروج اطمینان دارید؟", last_recharge: "آخرین بروزرسانی اعتبار در تاریخ" } }, Va = { unauthorized: "دسترسی مجاز نیست. لطفاً دوباره وارد شوید.", invalid_credentials: "شماره تلفن یا رمز عبور اشتباه است.", phone_required: "شماره تلفن الزامی است.", password_required: "رمز عبور الزامی است.", name_surname_required: "نام و نام خانوادگی الزامی است.", phone_already_exists: "این شماره تلفن قبلاً ثبت شده است.", invalid_token: "نشست شما منقضی شده است. لطفاً دوباره وارد شوید.", user_not_found: "کاربر یافت نشد.", insufficient_balance: "موجودی کافی نیست. لطفاً حساب خود را شارژ کنید.", me_update_failed: "خطا در بروزرسانی اطلاعات پروفایل.", thread_not_found: "گفتگو یافت نشد.", access_denied: "شما اجازه انجام این عملیات را ندارید.", feedback_save_failed: "خطا در ثبت بازخورد.", thread_update_failed: "خطا در بروزرسانی گفتگو.", thread_delete_failed: "خطا در حذف گفتگو.", attachment_not_found: "فایل پیوست یافت نشد.", thread_share_failed: "خطا در اشتراک‌گذاری گفتگو.", admin_already_exists: "ادمین با این نام کاربری قبلاً ایجاد شده است.", admin_not_found: "ادمین یافت نشد.", cannot_delete_self: "شما نمی‌توانید حساب مدیریت خود را حذف کنید.", admin_update_failed: "خطا در بروزرسانی اطلاعات ادمین.", internal_error: "یک خطای داخلی در سرور رخ داده است. لطفاً بعداً تلاش کنید.", validation_error: "داده‌های ارسالی معتبر نیستند. لطفاً ورودی‌های خود را بررسی کنید.", not_found: "منبع مورد نظر یافت نشد." }, Wa = {
6229
- sidebar: $a,
6230
- chat: Ua,
6231
- tools_ui: Ba,
6232
- login: Ha,
6233
- theme: ja,
6234
- admin: qa,
6235
- settings: Ga,
6236
- errors: Va
6237
- }, Ya = {
6238
- en: za,
6239
- fa: Wa
6240
- }, Xa = Rn.createInstance();
6241
- Xa.use(rn).use(sn).init({
6242
- resources: Ya,
6239
+ sn.type = "languageDetector";
6240
+ const Oa = { new_conversation: "New conversation", tooltip_new_conversation: "Start a new conversation", delete_conversation: "Delete", delete_confirm_title: "Delete conversation?", delete_confirm_description: "Are you sure you want to delete this chat? This action cannot be undone.", cancel: "Cancel", delete: "Delete", chat_deleted_success: "Chat deleted successfully", logout: "Logout", new_chat: "New Chat", rename_conversation: "Rename", rename_success: "Conversation renamed successfully", rename_failed: "Failed to rename conversation", search_conversations: "Search conversations...", save: "Save", no_conversations: "No conversations yet", loading_more: "Loading more...", pinned_success: "Conversation pinned", unpinned_success: "Conversation unpinned", pin_failed: "Failed to pin conversation", share_success: "Link copied", share_description: "The shareable link has been copied to your clipboard.", share_failed: "Failed to generate share link", pin_conversation: "Pin", unpin_conversation: "Unpin", share_conversation: "Share" }, Fa = { tools: "Tools", error: "Error:", input_placeholder: "Ask something...", insufficient_balance: "Insufficient balance. Please recharge your account to continue.", regenerate: "Regenerate", retry: "Retry", copy: "Copy", like: "Like", dislike: "Dislike", attach_file: "Attach file", remove_file: "Remove file", used_sources: "Used {{count}} sources", welcome: { title: "Hello! How can I help you today?", subtitle: "Ask me anything and I'll do my best to help.", suggestions: ["What can you help me with?", "Tell me something interesting", "Help me write an email", "Explain a concept to me"] }, disclaimer: "AI can make mistakes. Check important info." }, La = { pending: "Pending", running: "Running", completed: "Completed", error: "Error", parameters: "Parameters", result: "Result", view_error: "View Error", tool_error: "Tool Error", copied: "Copied!", copy_error: "Copy Error" }, Da = { login_tab: "Login", signup_tab: "Sign Up", phone: "Phone", phone_placeholder: "Phone number", password: "Password", name: "Name", name_placeholder: "First Name", surname: "Surname", surname_placeholder: "Last Name", loading: "Loading...", logging_in: "Logging in...", signing_up: "Signing up...", select_placeholder: "Select an option", login_button: "Login", signup_button: "Sign Up" }, Pa = { toggle: "Change theme", light: "Switch to light theme", dark: "Switch to dark theme", system: "Switch to system theme" }, Ma = { select_placeholder: "Select an option", loading: "Loading...", retry: "Retry", save: "Save", saving: "Saving...", cancel: "Cancel", delete: "Delete", edit: "Edit", search: "Search", search_placeholder: "Search...", no_data: "No data available", loading_more: "Loading more...", confirm_delete: "Are you sure you want to delete?", error_loading: "Error loading data", dashboard: { title: "Admin Panel", logout: "Logout", tabs: { analytics: "Analytics", chat_history: "Chats", users: "Users", admins: "Admins", settings: "Settings" } }, app_settings: { title: "System Settings", subtitle: "Manage global configuration for application appearance and behavior.", sections: { general: "Basic Information", chat: "Chat Experience", user_billing: "User & Billing" }, general: { app_name: "App Name", admin_title: "Admin Panel Title", language: "Default Language", language_help: "The language users see on their first visit (if not auto-detected)." }, chat: { welcome_greeting: "Welcome Greeting", welcome_subtitle: "Welcome Subtitle", disclaimer: "Disclaimer Text", show_tool_details: "Show technical tool details", show_tool_details_help: "Enable this to show professional technical details of AI tools to users.", show_settings: "Show settings icon for users", show_settings_help: "Show a settings gear icon in the chat interface for user customization.", composer_attachments: "Enable File Attachments", composer_attachments_help: "Allow users to upload and attach files to their messages.", thread_actions_feedback: "Enable Feedback Buttons", thread_actions_feedback_help: "Show like/dislike buttons on AI responses.", thread_actions_retry: "Enable Retry Button", thread_actions_retry_help: "Show a retry button to regenerate the last AI response.", history_enabled: "Enable Chat History Sidebar", history_enabled_help: "Show the sidebar containing previous conversations.", history_show_delete: "Allow Deleting Conversations", history_show_rename: "Allow Renaming Conversations", history_show_share: "Allow Sharing Conversations", history_show_pin: "Allow Pinning Conversations", sections_modes: "Settings Tab Modes", sections_modes_help: "Control visibility and interactability of settings tabs for users.", mode_editable: "Enable (Editable)", mode_faded: "Fade (Readonly)", mode_hidden: "Hide (Disable)", general_tab: "General Tab", profile_tab: "Profile Tab", account_tab: "Account Tab", inner_fields_modes: "Inner Fields Visibility", inner_fields_modes_help: "Configure visibility for individual fields within each tab." }, user_billing: { initial_balance_tokens: "Default Initial Tokens", initial_balance_requests: "Default Initial Requests", initial_balance_help: "These values will be assigned to new users by default if not specified during creation." }, save_success: "Settings saved successfully", save_error: "Failed to save settings", save: "Save Changes", translations_management: "Translations Management", editor_tips: "All changes are saved automatically to local state. Don't forget to push 'Save Changes' to persist.", sync_from_code: "Sync from Code", reset_button: "Reset to Defaults", reset_confirm_title: "Reset Settings?", reset_confirm_description: "This will reset all fields to their original default values from the code. Current unsaved changes will be lost.", preview: "Preview", tips_label: "TIPS" }, analytics: { title: "Analytics & Statistics", days: "{{count}} Days", total_users: "Total Users", total_threads: "Total Threads", total_messages: "Total Messages", total_token_usage: "Total Token Usage", threads_chart: "Threads", messages_chart: "Messages", token_usage_chart: "Token Usage", active_users: "Active Users", conversations: "conversations", threads: "threads", feedback: "User Feedback", total_feedback: "Total Feedback", positive: "Positive", negative: "Negative", loading_analytics: "Loading analytics...", error_loading: "Error loading data" }, chat_history: { title: "Chat History Management", search_placeholder: "Search by name, phone, thread title, or ID...", search_button: "Search", threads_list: "Threads List", thread_count: "{{count}}", no_thread_title: "Untitled conversation", messages: "Messages", messages_for: "Messages for: {{title}}", select_thread: "Select a conversation to view", no_threads: "No conversations found", empty_thread: "This conversation is empty", loading_threads: "Loading...", loading_messages: "Loading messages...", user_label: "User", assistant_label: "AI Assistant", input_tokens: "Input: {{value}}", output_tokens: "Output: {{value}}", total_tokens: "Total: {{value}}", all_feedbacks: "All Conversations", liked_feedbacks: "Liked 👍", disliked_feedbacks: "Disliked 👎", any_feedback: "With Feedback", output_available: "Output Available", running: "Running...", unnamed_file: "Unnamed File", download_file: "Download File" }, users: { title: "User Management", user_count: "User count: {{count}}", add_user: "Add New User", edit_user: "Edit User", phone: "Phone Number", phone_placeholder: "09123456789", name: "Name", surname: "Surname", initial_tokens: "Initial Tokens (optional)", initial_requests: "Initial Requests (optional)", balance: "Balance", requests_label: "Requests", tokens_label: "Tokens", token_limit: "Token Limit", request_limit: "Request Limit", tokens_usage: "Tokens Usage", requests_usage: "Requests Usage", actions: "Actions", copy_token: "Copy Token (auto-refresh)", token_copied: "Token copied successfully", no_token: "No token found for this user", recharge: "Recharge Balance", full_charge: "Full Charge", update_balance: "Update Balance", update_balance_for: "Update Balance for", token_count: "Token Count", request_count: "Request Count", updating: "Updating...", no_users: "No users found.", confirm_delete_user: "Are you sure you want to delete this user?", tokens_exceed_limit: "Tokens cannot exceed the specified limit", requests_exceed_limit: "Requests cannot exceed the specified limit", metadata: "Metadata (JSON)", initial_balance: "Initial Balance", custom_fields: "Additional Fields", metadata_raw: "Metadata (Raw JSON)", advanced_usage: "Advanced usage", invalid_json: "Invalid JSON format" }, admins: { title: "Admin Management", admin_count: "Admin count: {{count}}", add_admin: "Add New Admin", edit_admin: "Edit Admin", username: "Username", name: "Name", password: "Password", password_edit: "New Password (leave empty to keep current)", permissions: "Permissions", perm_chat_history: "Chat History", perm_admin_management: "Admin Management", perm_user_management: "User Management", perm_analytics: "Analytics", perm_settings: "Settings", no_admins: "No admins found.", confirm_delete_admin: "Are you sure you want to delete this admin?" }, errors: { access_denied_title: "Access Denied", access_denied_message: "You don't have the necessary permissions to access this page. You can contact the administrator!", back_to_dashboard: "Back to Dashboard" }, login: { title: "Admin Panel", setup_title: "Initial Setup", setup_description: "No admin account exists yet. Set a password for the default admin user to get started.", set_password: "Set Password", set_password_placeholder: "Choose a strong password", confirm_password: "Confirm Password", confirm_password_placeholder: "Re-enter the password", passwords_mismatch: "Passwords do not match", password_too_short: "Password must be at least 4 characters", create_admin: "Create Admin & Login", setting_up: "Setting up...", username: "Username", username_placeholder: "Username", password: "Password", password_placeholder: "••••••••", submit: "Login", logging_in: "Logging in...", error: "Login failed", copyright: "© 2026 AI Chatbot Platform" } }, za = { title: "Settings", sections: { profile: "Profile", general: "General", account: "Account" }, profile: { title: "Profile Information", subtitle: "Update your personal details below.", name: "First Name", surname: "Last Name", phone: "Phone Number", password: "New Password", password_placeholder: "Leave empty to keep current", save: "Save Changes", saving: "Saving...", success: "Profile updated successfully", error: "Failed to update profile", select_placeholder: "Select an option" }, general: { title: "General Settings", subtitle: "Configure look and feel and language.", theme: "Theme", language: "Language", themes: { light: "Light", dark: "Dark", system: "System" }, accent: "Accent Color", radius: "Rounded Corners", radius_levels: { sharp: "Sharp", round: "Round" }, languages: { en: "English", fa: "Persian" } }, account: { title: "Account & Usage", subtitle: "Monitor your quotas and manage your session.", balance: "Current Balance", tokens: "Tokens", requests: "Requests", logout: "Logout", logout_confirm: "Are you sure you want to logout?", last_recharge: "Last balance update on" } }, $a = { unauthorized: "Authentication required. Please login again.", invalid_credentials: "Invalid phone number or password.", phone_required: "Phone number is required.", password_required: "Password is required.", name_surname_required: "Name and surname are required.", phone_already_exists: "This phone number is already registered.", invalid_token: "Your session has expired. Please login again.", user_not_found: "User not found.", insufficient_balance: "Insufficient balance. Please recharge your account.", me_update_failed: "Failed to update profile information.", thread_not_found: "Conversation not found.", access_denied: "You do not have permission to perform this action.", feedback_save_failed: "Failed to save feedback.", thread_update_failed: "Failed to update conversation.", thread_delete_failed: "Failed to delete conversation.", attachment_not_found: "Attachment not found.", thread_share_failed: "Failed to share conversation.", admin_already_exists: "Admin with this username already exists.", admin_not_found: "Admin not found.", cannot_delete_self: "You cannot delete your own admin account.", admin_update_failed: "Failed to update admin information.", internal_error: "An internal server error occurred. Please try again later.", validation_error: "Invalid data provided. Please check your input.", not_found: "The requested resource was not found." }, Ua = {
6241
+ sidebar: Oa,
6242
+ chat: Fa,
6243
+ tools_ui: La,
6244
+ login: Da,
6245
+ theme: Pa,
6246
+ admin: Ma,
6247
+ settings: za,
6248
+ errors: $a
6249
+ }, Ba = { new_conversation: "گفتگوی جدید", tooltip_new_conversation: "شروع یک گفتگوی جدید", delete_conversation: "حذف", delete_confirm_title: "حذف گفتگو؟", delete_confirm_description: "آیا از حذف این گفتگو اطمینان دارید؟ این عمل قابل بازگشت نیست.", cancel: "انصراف", delete: "حذف", chat_deleted_success: "گفتگو با موفقیت حذف شد", logout: "خروج", new_chat: "گفتگوی جدید", rename_conversation: "تغییر نام", rename_success: "نام گفتگو با موفقیت تغییر کرد", rename_failed: "خطا در تغییر نام گفتگو", search_conversations: "جستجوی گفتگوها...", save: "ذخیره", no_conversations: "هنوز گفتگویی ندارید", loading_more: "در حال بارگذاری...", pinned_success: "گفتگو پین شد", unpinned_success: "گفتگو از حالت پین خارج شد", pin_failed: "خطا در پین کردن گفتگو", share_success: "لینک کپی شد", share_description: "لینک اشتراک‌گذاری در حافظه موقت کپی شد.", share_failed: "خطا در ایجاد لینک اشتراک‌گذاری", pin_conversation: "پین", unpin_conversation: "برداشتن پین", share_conversation: "اشتراک‌گذاری" }, Ha = { tools: "ابزارها", error: "خطا:", input_placeholder: "سوالتو اینجا بپرس...", insufficient_balance: "موجودی حساب شما کافی نیست. لطفا برای ادامه، حساب خود را شارژ کنید.", regenerate: "تولید مجدد", retry: "تلاش مجدد", copy: "کپی", like: "پسندیدم", dislike: "نپسندیدم", attach_file: "پیوست فایل", remove_file: "حذف فایل", used_sources: "از {{count}} منبع استفاده شد", welcome: { title: "سلام! چطور می‌تونم کمکت کنم؟", subtitle: "هر سوالی داری بپرس، تمام تلاشمو می‌کنم کمکت کنم.", suggestions: ["چه کارهایی می‌تونی انجام بدی؟", "یه چیز جالب بهم بگو", "کمکم کن یه ایمیل بنویسم", "یه مفهوم رو برام توضیح بده"] }, disclaimer: "هوش مصنوعی ممکن است اشتباه کند. اطلاعات مهم را بررسی کنید." }, qa = { pending: "در انتظار", running: "در حال اجرا", completed: "تکمیل شده", error: "خطا", parameters: "پارامترها", result: "نتیجه", view_error: "نمایش خطا", tool_error: "خطای ابزار", copied: "کپی شد!", copy_error: "کپی خطا" }, ja = { login_tab: "ورود", signup_tab: "ثبت نام", phone: "شماره تلفن", phone_placeholder: "شماره تلفن", password: "رمز عبور", name: "نام", name_placeholder: "نام", surname: "نام خانوادگی", surname_placeholder: "نام خانوادگی", logging_in: "در حال ورود...", signing_up: "در حال ثبت نام...", select_placeholder: "انتخاب کنید", login_button: "ورود", signup_button: "ثبت نام" }, Ga = { toggle: "تغییر تم", light: "تغییر به تم روشن", dark: "تغییر به تم تاریک", system: "تغییر به تم سیستم" }, Va = { select_placeholder: "انتخاب کنید", loading: "در حال بارگذاری...", retry: "تلاش مجدد", save: "ذخیره", saving: "در حال ذخیره...", cancel: "انصراف", delete: "حذف", edit: "ویرایش", search: "جستجو", search_placeholder: "جستجو...", no_data: "داده‌ای موجود نیست", loading_more: "در حال بارگذاری بیشتر...", confirm_delete: "آیا از حذف اطمینان دارید؟", error_loading: "خطا در بارگذاری داده‌ها", dashboard: { title: "پنل ادمین", logout: "خروج", tabs: { analytics: "تحلیل و آمار", chat_history: "گفتگوها", users: "کاربران", admins: "ادمین‌ها", settings: "تنظیمات" } }, app_settings: { title: "تنظیمات سامانه", subtitle: "پیکربندی کلی ظاهر و رفتار سامانه را مدیریت کنید.", sections: { general: "اطلاعات پایه", chat: "تنظیمات گفتگو", user_billing: "کاربری و مالی" }, general: { app_name: "نام سامانه", admin_title: "عنوان پنل ادمین", language: "زبان پیش‌فرض", language_help: "زبانی که کاربر در اولین ورود مشاهده می‌کند (در صورت عدم تشخیص خودکار)." }, chat: { welcome_greeting: "پیام خوش‌آمدگویی", welcome_subtitle: "زیرعنوان خوش‌آمدگویی", disclaimer: "متن سلب مسئولیت", show_tool_details: "نمایش جزئیات فنی ابزارها (Tools)", show_tool_details_help: "برای نمایش جزئیات فنی و نحوه عملکرد ابزارهای هوش مصنوعی به کاربران، این گزینه را فعال کنید.", show_settings: "نمایش آیکون تنظیمات برای کاربران", show_settings_help: "نمایش چرخ‌دنده تنظیمات در محیط چت برای شخصی‌سازی توسط کاربر.", composer_attachments: "فعال‌سازی پیوست فایل", composer_attachments_help: "اجازه به کاربران برای آپلود و پیوست فایل به پیام‌ها.", thread_actions_feedback: "فعال‌سازی دکمه‌های بازخورد", thread_actions_feedback_help: "نمایش دکمه‌های پسندیدن/نپسندیدن در پاسخ‌های هوش مصنوعی.", thread_actions_retry: "فعال‌سازی دکمه تلاش مجدد", thread_actions_retry_help: "نمایش دکمه تلاش مجدد برای تولید دوباره آخرین پاسخ هوش مصنوعی.", history_enabled: "فعال‌سازی سایدبار تاریخچه", history_enabled_help: "نمایش منوی کناری شامل گفتگوهای قبلی.", history_show_delete: "اجازه حذف گفتگوها", history_show_rename: "اجازه تغییر نام گفتگوها", history_show_share: "اجازه اشتراک‌گذاری گفتگوها", history_show_pin: "اجازه پین کردن گفتگوها", sections_modes: "وضعیت نمایش تب‌های تنظیمات", sections_modes_help: "کنترل نمایش یا غیرفعال بودن تب‌های مختلف در بخش تنظیمات کاربر.", mode_editable: "فعال (قابل ویرایش)", mode_faded: "محو (فقط خواندنی)", mode_hidden: "مخفی (غیرفعال)", general_tab: "تب عمومی", profile_tab: "تب پروفایل", account_tab: "تب حساب کاربری", inner_fields_modes: "مشاهده‌پذیری فیلدهای داخلی", inner_fields_modes_help: "وضعیت نمایش فیلدهای هر تب را به‌صورت مجزا پیکربندی کنید." }, user_billing: { initial_balance_tokens: "توکن اولیه پیش‌فرض", initial_balance_requests: "تعداد درخواست اولیه پیش‌فرض", initial_balance_help: "این مقادیر به‌صورت خودکار به کاربران جدید اختصاص داده می‌شوند، مگر اینکه هنگام ایجاد کاربر مقدار دیگری تعیین شود." }, save_success: "تنظیمات با موفقیت ذخیره شد", save_error: "خطا در ذخیره‌سازی تنظیمات", save: "ذخیره تغییرات", translations_management: "مدیریت ترجمه‌ها", editor_tips: "تمام تغییرات به‌صورت خودکار در حالت محلی ذخیره می‌شوند. برای نهایی‌سازی، دکمه «ذخیره تغییرات» را بزنید.", sync_from_code: "همگام‌سازی از کد", reset_button: "بازنشانی به تنظیمات اولیه", reset_confirm_title: "بازنشانی تنظیمات؟", reset_confirm_description: "این عمل تمام فیلدها را به مقادیر پیش‌فرض در کد بازمی‌گرداند. تغییرات ذخیره نشده فعلی از بین خواهند رفت.", preview: "پیش‌نمایش", tips_label: "نکته" }, analytics: { title: "تحلیل و آمار", days: "{{count}} روز", total_users: "تعداد کاربران", total_threads: "تعداد گفتگوها", total_messages: "تعداد پیام‌ها", total_token_usage: "مصرف کل توکن", threads_chart: "گفتگوها", messages_chart: "پیام‌ها", token_usage_chart: "مصرف توکن", active_users: "کاربران فعال", conversations: "گفتگو", threads: "گفتگو", feedback: "نظرات کاربران", total_feedback: "کل نظرات", positive: "مثبت", negative: "منفی", loading_analytics: "در حال بارگذاری تحلیل‌ها...", error_loading: "خطا در بارگذاری داده‌ها" }, chat_history: { title: "مدیریت تاریخچه گفتگوها", search_placeholder: "جستجو بر اساس نام، شماره تماس، عنوان گفتگو یا شناسه...", search_button: "جستجو", threads_list: "لیست گفتگوها", thread_count: "{{count}}", no_thread_title: "گفتگو بدون عنوان", messages: "پیام‌ها", messages_for: "پیام‌های گفتگو: {{title}}", select_thread: "یک گفتگو را برای مشاهده انتخاب کنید", no_threads: "هیچ گفتگویی یافت نشد", empty_thread: "این گفتگو خالی است", loading_threads: "در حال بارگذاری...", loading_messages: "در حال بارگذاری پیام‌ها...", user_label: "کاربر", assistant_label: "دستیار هوشمند", input_tokens: "ورودی: {{value}}", output_tokens: "خروجی: {{value}}", total_tokens: "کل: {{value}}", all_feedbacks: "همه گفتگوها", liked_feedbacks: "پسندیده شده 👍", disliked_feedbacks: "نپسندیده شده 👎", any_feedback: "دارای بازخورد", output_available: "خروجی موجود است", running: "در حال اجرا...", unnamed_file: "فایل بدون نام", download_file: "دانلود فایل" }, users: { title: "مدیریت کاربران", user_count: "تعداد کاربران: {{count}}", add_user: "افزودن کاربر جدید", edit_user: "ویرایش کاربر", phone: "شماره تلفن", phone_placeholder: "۰۹۱۲۳۴۵۶۷۸۹", name: "نام", surname: "نام خانوادگی", initial_tokens: "تعداد توکن اولیه (اختیاری)", initial_requests: "تعداد درخواست اولیه (اختیاری)", balance: "موجودی", requests_label: "درخواست‌ها", tokens_label: "توکن‌ها", token_limit: "سقف توکن", request_limit: "سقف درخواست", tokens_usage: "میزان مصرف توکن", requests_usage: "میزان مصرف درخواست", actions: "عملیات", copy_token: "کپی توکن (با بروزرسانی خودکار)", token_copied: "توکن با موفقیت کپی شد", no_token: "توکنی برای این کاربر یافت نشد", recharge: "شارژ موجودی", full_charge: "شارژ کامل", update_balance: "بروزرسانی موجودی", update_balance_for: "بروزرسانی موجودی", token_count: "تعداد توکن", request_count: "تعداد درخواست", updating: "در حال بروزرسانی...", no_users: "هیچ کاربری یافت نشد.", confirm_delete_user: "آیا از حذف این کاربر اطمینان دارید؟", tokens_exceed_limit: "تعداد توکن نمی‌تواند بیشتر از سقف مجاز باشد", requests_exceed_limit: "تعداد درخواست نمی‌تواند بیشتر از سقف مجاز باشد", metadata: "متادیتا (JSON)", initial_balance: "موجودی اولیه", custom_fields: "فیلدهای اضافه", metadata_raw: "متادیتا (JSON خام)", advanced_usage: "استفاده پیشرفته", invalid_json: "فرمت JSON نامعتبر است" }, admins: { title: "مدیریت ادمین‌ها", admin_count: "تعداد ادمین‌ها: {{count}}", add_admin: "افزودن ادمین جدید", edit_admin: "ویرایش ادمین", username: "نام کاربری", name: "نام", password: "رمز عبور", password_edit: "رمز عبور جدید (خالی بگذارید تا تغییر نکند)", permissions: "دسترسی‌ها", perm_chat_history: "تاریخچه گفتگوها", perm_admin_management: "مدیریت ادمین‌ها", perm_user_management: "مدیریت کاربران", perm_analytics: "تحلیل و آمار", perm_settings: "تنظیمات", no_admins: "هیچ ادمینی یافت نشد.", confirm_delete_admin: "آیا از حذف این ادمین اطمینان دارید؟" }, errors: { access_denied_title: "عدم دسترسی", access_denied_message: "شما مجوزهای لازم برای دسترسی به این صفحه را ندارید. می‌توانید با مدیر سیستم تماس بگیرید.", back_to_dashboard: "بازگشت به پیشخوان" }, login: { title: "پنل ادمین", setup_title: "راه‌اندازی اولیه", setup_description: "هنوز حساب ادمینی وجود ندارد. برای شروع، یک رمز عبور برای کاربر ادمین پیش‌فرض تنظیم کنید.", set_password: "تعیین رمز عبور", set_password_placeholder: "یک رمز عبور قوی انتخاب کنید", confirm_password: "تأیید رمز عبور", confirm_password_placeholder: "رمز عبور را دوباره وارد کنید", passwords_mismatch: "رمزهای عبور مطابقت ندارند", password_too_short: "رمز عبور باید حداقل ۴ کاراکتر باشد", create_admin: "ایجاد ادمین و ورود", setting_up: "در حال راه‌اندازی...", username: "نام کاربری", username_placeholder: "نام کاربری", password: "رمز عبور", password_placeholder: "••••••••", submit: "ورود به پنل", logging_in: "در حال ورود...", error: "خطا در ورود", copyright: "© ۲۰۲۶ پلتفرم چت‌بات هوشمند" } }, Wa = { title: "تنظیمات", sections: { profile: "پروفایل", general: "عمومی", account: "حساب کاربری" }, profile: { title: "اطلاعات پروفایل", subtitle: "اطلاعات شخصی خود را در زیر بروز کنید.", name: "نام", surname: "نام خانوادگی", phone: "شماره تلفن", password: "رمز عبور جدید", password_placeholder: "برای عدم تغییر خالی بگذارید", save: "ذخیره تغییرات", saving: "در حال ذخیره...", success: "پروفایل با موفقیت بروزرسانی شد", error: "خطا در بروزرسانی پروفایل", select_placeholder: "انتخاب کنید" }, general: { title: "تنظیمات عمومی", subtitle: "ظاهر و زبان برنامه را تنظیم کنید.", theme: "تم", language: "زبان", themes: { light: "روشن", dark: "تاریک", system: "سیستم" }, accent: "رنگ اصلی", radius: "میزان گردی لبه‌ها", radius_levels: { sharp: "تیز", round: "گرد" }, languages: { en: "English", fa: "فارسی" } }, account: { title: "حساب و میزان مصرف", subtitle: "سهمیه مصرف و نشست خود را مدیریت کنید.", balance: "موجود فعلی", tokens: "توکن‌ها", requests: "درخواست‌ها", logout: "خروج از حساب", logout_confirm: "آیا از خروج اطمینان دارید؟", last_recharge: "آخرین بروزرسانی اعتبار در تاریخ" } }, Ya = { unauthorized: "دسترسی مجاز نیست. لطفاً دوباره وارد شوید.", invalid_credentials: "شماره تلفن یا رمز عبور اشتباه است.", phone_required: "شماره تلفن الزامی است.", password_required: "رمز عبور الزامی است.", name_surname_required: "نام و نام خانوادگی الزامی است.", phone_already_exists: "این شماره تلفن قبلاً ثبت شده است.", invalid_token: "نشست شما منقضی شده است. لطفاً دوباره وارد شوید.", user_not_found: "کاربر یافت نشد.", insufficient_balance: "موجودی کافی نیست. لطفاً حساب خود را شارژ کنید.", me_update_failed: "خطا در بروزرسانی اطلاعات پروفایل.", thread_not_found: "گفتگو یافت نشد.", access_denied: "شما اجازه انجام این عملیات را ندارید.", feedback_save_failed: "خطا در ثبت بازخورد.", thread_update_failed: "خطا در بروزرسانی گفتگو.", thread_delete_failed: "خطا در حذف گفتگو.", attachment_not_found: "فایل پیوست یافت نشد.", thread_share_failed: "خطا در اشتراک‌گذاری گفتگو.", admin_already_exists: "ادمین با این نام کاربری قبلاً ایجاد شده است.", admin_not_found: "ادمین یافت نشد.", cannot_delete_self: "شما نمی‌توانید حساب مدیریت خود را حذف کنید.", admin_update_failed: "خطا در بروزرسانی اطلاعات ادمین.", internal_error: "یک خطای داخلی در سرور رخ داده است. لطفاً بعداً تلاش کنید.", validation_error: "داده‌های ارسالی معتبر نیستند. لطفاً ورودی‌های خود را بررسی کنید.", not_found: "منبع مورد نظر یافت نشد." }, Xa = {
6250
+ sidebar: Ba,
6251
+ chat: Ha,
6252
+ tools_ui: qa,
6253
+ login: ja,
6254
+ theme: Ga,
6255
+ admin: Va,
6256
+ settings: Wa,
6257
+ errors: Ya
6258
+ }, Ka = {
6259
+ en: Ua,
6260
+ fa: Xa
6261
+ }, Za = Fn.createInstance();
6262
+ Za.use(sn).use(un).init({
6263
+ resources: Ka,
6243
6264
  fallbackLng: "en",
6244
6265
  returnNull: !1,
6245
6266
  returnEmptyString: !1,
@@ -6253,13 +6274,13 @@ Xa.use(rn).use(sn).init({
6253
6274
  caches: ["localStorage"]
6254
6275
  }
6255
6276
  });
6256
- function Sl({ className: e, type: t, ...n }) {
6257
- return /* @__PURE__ */ l(
6277
+ function Ni({ className: e, type: t, ...n }) {
6278
+ return /* @__PURE__ */ i(
6258
6279
  "input",
6259
6280
  {
6260
6281
  type: t,
6261
6282
  "data-slot": "input",
6262
- className: y(
6283
+ className: k(
6263
6284
  "file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
6264
6285
  "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
6265
6286
  "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
@@ -6269,27 +6290,27 @@ function Sl({ className: e, type: t, ...n }) {
6269
6290
  }
6270
6291
  );
6271
6292
  }
6272
- const El = "data:image/svg+xml,%3csvg%20version='1.2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201280%201280'%20width='500'%20height='500'%3e%3cstyle%3e%20.s0%20{%20opacity:%201;fill:%20%2317535d%20}%20.s1%20{%20opacity:%20.99;fill:%20%23fab185%20}%20%3c/style%3e%3cg%20id='gentiq%20(7)'%3e%3cpath%20id='Path%201'%20fill-rule='evenodd'%20class='s0'%20d='m616.5%2012.22c19.25-0.09%2038.15%200.29%2042%200.84%203.85%200.54%2011.73%201.43%2017.5%201.98%205.77%200.55%2016.35%201.85%2023.5%202.91%207.15%201.05%2016.6%202.62%2021%203.49%204.4%200.88%209.8%202.02%2012%202.53%202.2%200.52%207.15%201.65%2011%202.5%203.85%200.86%208.58%202%2010.5%202.54%201.92%200.54%207.77%202.15%2013%203.6%205.23%201.44%2016.02%204.77%2024%207.4%207.98%202.63%2017.65%205.99%2021.5%207.48%203.85%201.48%2011.95%204.74%2018%207.24%206.05%202.5%2014.6%206.16%2019%208.14%204.4%201.98%2013.4%206.35%2020%209.72%206.6%203.36%2014.48%207.47%2017.5%209.11%203.02%201.65%2011.35%206.5%2018.5%2010.77%207.15%204.27%2018.17%2011.2%2024.49%2015.4%206.32%204.2%2012.17%208.16%2013%208.82%200.83%200.65%207.36%205.55%2014.51%2010.88%207.15%205.33%2013.23%209.97%2013.5%2010.31%200.27%200.34%202.73%202.42%205.45%204.62%202.72%202.2%205.43%204.45%206.02%205%200.59%200.55%204.89%204.35%209.55%208.45%204.67%204.1%2015.04%2014%2023.05%2022%208.02%208%2018.22%2018.6%2022.67%2023.55%204.46%204.95%2011.4%2013.07%2015.43%2018.04%204.03%204.97%2011.43%2014.42%2016.43%2021%205.01%206.58%2012.65%2017.36%2016.97%2023.96%204.33%206.6%208.56%2013.15%209.4%2014.57%200.84%201.41%204.08%206.81%207.19%2012%203.11%205.18%207.29%2012.36%209.29%2015.93%202%203.57%207.6%2014.6%2012.44%2024.5%204.84%209.9%2010.51%2022.05%2012.6%2027%202.08%204.95%204.36%2010.35%205.07%2012%200.71%201.65%202.26%205.48%203.44%208.5%201.19%203.02%204.44%2012.25%207.22%2020.5%202.79%208.25%205.42%2016.35%205.84%2018%200.43%201.65%201.72%206.15%202.87%2010%201.15%203.85%203.86%2014.43%206.03%2023.5%202.16%209.07%204.38%2019.2%204.94%2022.5%200.56%203.3%201.5%208.7%202.1%2012%200.59%203.3%201.68%2010.05%202.43%2015%200.74%204.95%201.85%2013.27%202.47%2018.5%200.61%205.23%201.56%2018.95%202.11%2030.5%200.55%2011.55%200.99%2034.61%200.99%2051.25%200%2019.16-0.37%2030.43-1%2030.75-0.55%200.27-1%202.64-1.01%205.25%200%202.61-0.43%207.45-0.96%2010.75-0.52%203.3-1.7%2011.17-2.62%2017.5-0.92%206.33-2.02%2013.52-2.44%2016-0.43%202.48-1.29%207.42-1.93%2011-0.63%203.58-2.7%2013.02-4.6%2021-1.9%207.98-3.93%2016.3-4.51%2018.5-0.58%202.2-2.41%208.5-4.05%2014-1.64%205.5-4.8%2015.4-7.01%2022-2.21%206.6-4.39%2012.9-4.85%2014-0.46%201.1-2.22%205.71-3.92%2010.25-1.71%204.54-3.44%208.24-3.85%208.22-0.41-0.02-2.55-1.5-4.75-3.29-2.2-1.8-6.25-4.85-9-6.79-2.75-1.94-9.95-6.45-16-10.03-6.05-3.58-14.83-8.34-19.5-10.57-4.67-2.23-10.64-5.01-13.25-6.18-2.61-1.16-8.91-3.51-14-5.21-5.09-1.71-10.71-3.51-12.5-4-1.79-0.5-4.94-1.38-7-1.96-2.06-0.58-6.9-1.73-10.75-2.54-3.85-0.82-9.47-1.94-12.5-2.48-3.02-0.54-10.9-1.64-17.5-2.44-6.6-0.81-18.52-1.46-26.5-1.45-7.98%200-20.13%200.68-27%201.5-6.88%200.81-13.85%201.75-15.5%202.08-1.65%200.32-7.27%201.43-12.5%202.47-5.23%201.04-12.65%202.83-16.5%203.98-3.85%201.16-9.02%202.67-11.5%203.38-2.48%200.7-9.45%203.31-15.5%205.8-6.05%202.49-14.6%206.3-19%208.46-4.4%202.17-12.05%206.39-17%209.38-4.95%203-13.5%208.66-19%2012.58-5.5%203.92-12.7%209.48-16%2012.36-3.3%202.88-8.88%207.99-12.41%2011.36-3.52%203.36-9.6%209.72-13.5%2014.12-3.9%204.4-7.32%208.23-7.59%208.5-0.27%200.27-2.09%202.52-4.04%205-1.94%202.48-4.39%205.85-5.43%207.5-1.04%201.65-2.38%203.47-2.96%204.05-0.59%200.58-3.12%204.4-5.63%208.5-2.5%204.1-5.89%209.7-7.53%2012.45-1.63%202.75-4.16%207.48-5.61%2010.5-1.45%203.02-4.03%208.42-5.73%2012-1.71%203.58-3.1%206.95-3.09%207.5%200%200.55-0.69%202.35-1.54%204-0.85%201.65-2.83%206.83-4.39%2011.5-1.56%204.67-4.24%2014.12-5.95%2021-1.71%206.87-4.01%2019.25-5.1%2027.5-1.42%2010.7-1.99%2020.73-1.99%2035%200%2014.2%200.58%2024.35%201.98%2035%201.09%208.25%203.53%2021.08%205.43%2028.5%201.9%207.42%204.63%2016.87%206.07%2021%201.44%204.12%203.03%208.4%203.54%209.5%200.5%201.1%201.87%204.47%203.03%207.5%201.16%203.03%204.23%209.78%206.82%2015%202.59%205.22%205.48%2010.62%206.42%2012%200.94%201.37%201.73%202.72%201.74%203%200.01%200.28-1.91%201.07-4.26%201.77-2.35%200.7-8.55%202.17-13.78%203.28-5.23%201.11-11.98%202.47-15%203.03-3.02%200.55-7.75%201.43-10.5%201.95-2.75%200.52-10.63%201.65-17.5%202.53-6.88%200.87-16.33%202-21%202.5-4.67%200.5-17.27%201.4-28%202.01-11.32%200.65-29.56%200.85-43.5%200.48-13.2-0.35-27.83-1.06-32.5-1.57-4.67-0.52-14.8-1.66-22.5-2.54-7.7-0.88-17.6-2.21-22-2.95-4.4-0.75-14.98-2.78-23.5-4.5-8.52-1.73-18.88-4.05-23-5.15-4.13-1.1-10.2-2.68-13.5-3.51-3.3-0.83-10.27-2.86-15.5-4.51-5.23-1.65-12.88-4.1-17-5.45-4.13-1.35-8.4-2.85-9.5-3.33-1.1-0.47-6.5-2.54-12-4.6-5.5-2.05-11.8-4.52-14-5.49-2.2-0.97-8.73-3.88-14.5-6.47-5.77-2.59-15.45-7.18-21.5-10.21-6.05-3.02-14.38-7.3-18.5-9.51-4.13-2.2-7.95-4.36-8.5-4.78-0.55-0.42-3.25-2.02-6-3.54-2.75-1.52-12.65-7.69-22-13.71-9.35-6.02-23.75-16.02-32-22.22-8.25-6.21-16.78-12.8-18.96-14.65-2.18-1.85-8.68-7.41-14.44-12.36-5.77-4.95-17.28-15.75-25.58-24-8.3-8.25-17.33-17.48-20.07-20.5-2.74-3.02-7.71-8.65-11.05-12.5-3.34-3.85-9.97-11.95-14.75-18-4.77-6.05-9.02-11.45-9.44-12-0.42-0.55-3.51-4.83-6.87-9.5-3.36-4.67-8.78-12.55-12.05-17.5-3.26-4.95-8.45-13.05-11.52-18-3.07-4.95-8.47-14.17-11.99-20.5-3.53-6.33-9.38-17.58-13-25-3.63-7.42-7.59-15.75-8.8-18.5-1.21-2.75-3.22-7.25-4.45-10-1.24-2.75-2.6-6.13-3.02-7.5-0.43-1.38-1.6-4.3-2.61-6.5-1.01-2.2-3.68-9.17-5.94-15.5-2.27-6.33-4.71-13.3-5.43-15.5-0.73-2.2-2.52-8.05-3.99-13-1.46-4.95-3.06-10.13-3.55-11.5-0.49-1.38-2.5-9.25-4.47-17.5-1.98-8.25-4.02-16.8-4.54-19-0.52-2.2-1.42-6.7-2-10-0.58-3.3-1.67-9.6-2.42-14-0.75-4.4-1.83-11.6-2.41-16-0.58-4.4-1.54-12.5-2.13-18-0.59-5.5-1.51-10.11-2.05-10.25-0.6-0.16-0.97-11.89-0.96-31%200-16.91%200.44-39.3%200.97-49.75%200.53-10.45%201.45-23.73%202.03-29.5%200.59-5.77%201.55-14.1%202.13-18.5%200.58-4.4%201.67-11.6%202.42-16%200.75-4.4%201.84-10.7%202.42-14%200.58-3.3%201.48-7.8%202-10%200.52-2.2%202.56-10.75%204.54-19%201.97-8.25%203.98-16.13%204.47-17.5%200.48-1.38%201.84-5.88%203.02-10%201.18-4.13%204.4-14.02%207.15-22%202.75-7.98%205.36-15.4%205.81-16.5%200.44-1.1%201.97-4.7%203.39-8%201.43-3.3%202.6-6.34%202.61-6.75%200.02-0.41%201.2-3.34%202.64-6.5%201.43-3.16%203.3-7.32%204.15-9.25%200.86-1.93%204.59-9.8%208.3-17.5%203.71-7.7%209.76-19.4%2013.45-26%203.68-6.6%209.22-16.05%2012.3-21%203.08-4.95%208.58-13.5%2012.22-19%203.64-5.5%207.72-11.57%209.05-13.5%201.34-1.93%204.43-6.2%206.87-9.5%202.43-3.3%207.79-10.28%2011.91-15.5%204.11-5.22%2010.67-13.1%2014.56-17.5%203.89-4.4%209.08-10.25%2011.53-13%202.44-2.75%2010.77-11.3%2018.5-19.01%207.73-7.7%2019.23-18.52%2025.55-24.04%206.32-5.51%2015.1-12.94%2019.5-16.49%204.4-3.56%2010.02-7.96%2012.5-9.77%202.48-1.82%207.43-5.45%2011-8.06%203.57-2.62%209.43-6.72%2013-9.11%203.57-2.39%208.3-5.57%2010.5-7.06%202.2-1.49%209.85-6.21%2017-10.48%207.15-4.28%2015.48-9.13%2018.5-10.78%203.02-1.66%2010.92-5.75%2017.53-9.1%206.62-3.36%2015.17-7.53%2019-9.27%203.84-1.75%2010.12-4.52%2013.97-6.17%203.85-1.66%2012.4-5.11%2019-7.67%206.6-2.56%2018.64-6.87%2026.75-9.58%208.11-2.7%2016.44-5.33%2018.5-5.85%202.06-0.52%207.12-1.9%2011.25-3.06%204.12-1.17%2010.43-2.8%2014-3.63%203.57-0.84%208.07-1.88%2010-2.32%201.93-0.45%207.1-1.54%2011.5-2.42%204.4-0.89%2010.25-2.05%2013-2.58%202.75-0.53%207.25-1.24%2010-1.57%202.75-0.34%207.25-1.02%2010-1.52%202.75-0.5%2010.4-1.45%2017-2.1%206.6-0.65%2016.95-1.48%2023-1.84%206.05-0.36%2026.75-0.72%2046-0.8zm-42.29%20288.46c-6.99%200.78-16.76%202.31-21.71%203.4-4.95%201.09-11.48%202.67-14.5%203.51-3.02%200.84-7.98%202.24-11%203.12-3.02%200.88-10.45%203.5-16.5%205.83-6.05%202.33-14.82%206-19.5%208.16-4.68%202.15-12.77%206.32-18%209.26-5.23%202.94-13.32%207.87-18%2010.95-4.68%203.09-11.2%207.62-14.5%2010.08-3.3%202.45-8.93%206.92-12.5%209.92-3.57%203.01-12.15%2011.12-19.05%2018.03-6.9%206.91-15.61%2016.38-19.34%2021.06-3.73%204.68-10.49%2014.13-15.01%2021-4.53%206.88-9.98%2015.65-12.11%2019.5-2.13%203.85-5.64%2010.6-7.79%2015-2.15%204.4-5.5%2011.82-7.43%2016.5-1.94%204.68-4.38%2011.2-5.43%2014.5-1.06%203.3-3.22%2010.5-4.81%2016-1.59%205.5-3.42%2012.7-4.06%2016-0.64%203.3-1.58%208.25-2.08%2011-0.5%202.75-1.58%209.95-2.39%2016-0.95%207.05-1.49%2019.36-1.49%2034.25-0.01%2012.79%200.45%2026.51%201.02%2030.5%200.56%203.99%201.5%2010.17%202.07%2013.75%200.58%203.58%201.73%209.88%202.57%2014%200.84%204.13%202.88%2012.23%204.53%2018%201.65%205.77%204.12%2013.88%205.5%2018%201.37%204.13%202.84%207.95%203.27%208.5%200.42%200.55%201.68%203.48%202.79%206.5%201.11%203.02%203.79%209.1%205.94%2013.5%202.15%204.4%205.66%2011.15%207.78%2015%202.13%203.85%207.59%2012.63%2012.14%2019.5%204.54%206.88%2011.3%2016.33%2015.02%2021%203.73%204.67%2012.09%2013.9%2018.58%2020.5%206.5%206.6%2014.62%2014.29%2018.05%2017.09%203.43%202.8%2010.05%207.98%2014.73%2011.51%204.68%203.53%2012.1%208.74%2016.5%2011.58%204.4%202.83%2010.02%206.3%2012.5%207.7%202.48%201.4%209.45%204.99%2015.5%207.97%206.05%202.98%2013.25%206.42%2016%207.65%202.75%201.23%2012.2%204.61%2021%207.5%208.8%202.9%2021.62%206.44%2028.5%207.89%206.87%201.44%2014.52%203.04%2017%203.55%202.48%200.51%2013.27%201.48%2024%202.15%2015.34%200.97%2023.66%200.97%2039%200.01%2010.73-0.67%2021.3-1.6%2023.5-2.08%202.2-0.47%206.7-1.37%2010-1.99%203.3-0.63%208.92-1.82%2012.5-2.66%203.58-0.84%2010.1-2.58%2014.5-3.87%204.4-1.29%2012.27-3.89%2017.5-5.78%205.23-1.89%2011.51-4.29%2013.96-5.33%202.46-1.04%2010.33-4.84%2017.5-8.44%207.17-3.61%2018.21-9.87%2024.54-13.92%206.33-4.04%2012.68-8.3%2014.12-9.44%201.45-1.15%203.87-2.99%205.39-4.09%201.53-1.1%203.56-2.67%204.52-3.5%200.97-0.83%204.51-3.75%207.88-6.5%203.37-2.75%2011.85-10.86%2018.86-18.02%207-7.16%2016.15-17.51%2020.34-23%204.19-5.49%2010.3-14.03%2013.6-18.98%203.29-4.95%207.48-11.7%209.3-15%201.83-3.3%205.43-10.27%208.02-15.5%202.58-5.23%205.41-11.08%206.28-13%200.88-1.92%202.57-5.98%203.75-9%201.18-3.02%203.02-8.2%204.08-11.5%201.07-3.3%203.22-10.5%204.78-16%201.56-5.5%203.34-12.02%203.96-14.5%200.61-2.48%201.6-7.42%202.18-11%200.59-3.58%201.51-9.65%202.04-13.5%200.54-3.85%201.34-13.98%201.79-22.5%200.44-8.52%200.44-22.25%200-30.5-0.45-8.25-1.25-18.15-1.79-22-0.53-3.85-1.46-9.92-2.05-13.5-0.59-3.58-2.01-10.33-3.14-15-1.14-4.67-2.44-9.62-2.89-11-0.45-1.37-1.84-5.87-3.08-10-1.24-4.12-3.56-10.87-5.15-15-1.59-4.12-3.6-9.07-4.47-11-0.87-1.93-3.71-7.77-6.31-13-2.59-5.23-5.55-11.07-6.56-13-1.01-1.93-3.99-6.87-6.62-11-2.63-4.12-7.45-11.32-10.7-16-3.25-4.68-9.5-12.77-13.89-18-4.39-5.23-13.1-14.45-19.36-20.5-6.26-6.05-15.21-14.06-19.88-17.8-4.68-3.74-10.92-8.47-13.88-10.5-2.96-2.04-9.26-6.13-14-9.1-4.74-2.97-13.12-7.77-18.62-10.66-5.5-2.89-14.5-7.13-20-9.42-5.5-2.28-10.9-4.56-12-5.06-1.1-0.49-6.05-2.24-11-3.88-4.95-1.65-11.02-3.49-13.5-4.09-2.48-0.6-9.23-2.16-15-3.47-5.77-1.3-15.9-3.11-22.5-4.02-6.81-0.93-20.87-1.79-32.5-1.97-11.27-0.17-22.66-0.08-25.29%200.21-2.63%200.29-10.51%201.16-17.5%201.94z'/%3e%3cpath%20id='Path%202'%20class='s1'%20d='m953.5%20831.1c-2.75%200.49-7.7%201.38-11%201.99-3.3%200.61-8.48%201.77-11.5%202.57-3.02%200.81-9.33%202.84-14%204.52-4.67%201.68-13%205.31-18.5%208.06-5.5%202.75-12.48%206.61-15.5%208.58-3.02%201.97-8.2%205.61-11.5%208.08-3.3%202.47-9.33%207.44-13.39%2011.05-4.07%203.6-10.64%2010.38-14.61%2015.05-3.96%204.67-10.02%2012.77-13.46%2018-3.44%205.22-7.84%2012.65-9.78%2016.5-1.94%203.85-5.1%2011.05-7.02%2016-1.92%204.95-4.35%2011.92-5.39%2015.5-1.04%203.58-2.57%209.65-3.39%2013.5-0.83%203.85-2%2013.3-2.61%2021-0.81%2010.28-0.8%2017.79%200.02%2028.25%200.62%207.84%202.22%2018.86%203.55%2024.5%201.33%205.64%203.42%2013.17%204.65%2016.75%201.22%203.58%204%2010.55%206.17%2015.5%202.17%204.95%206.32%2013.05%209.22%2018%202.91%204.95%207.71%2012.22%2010.66%2016.15%202.96%203.94%208.08%2010.19%2011.38%2013.89%203.3%203.7%2010.05%2010.13%2015%2014.28%204.95%204.15%2013.05%2010.21%2018%2013.47%204.95%203.25%2011.92%207.4%2015.5%209.2%203.58%201.81%2010.55%204.92%2015.5%206.91%204.95%201.99%2012.83%204.69%2017.5%206%204.67%201.3%209.85%202.69%2011.5%203.07%201.65%200.39%206.83%201.33%2011.5%202.1%205.11%200.84%2015.89%201.4%2027%201.4%2010.17%200%2020.08-0.41%2022-0.92%201.92-0.5%206.2-1.45%209.5-2.1%203.3-0.65%2010.27-2.42%2015.5-3.93%205.22-1.5%2013.55-4.41%2018.5-6.46%204.95-2.05%2013.05-5.96%2018-8.68%204.95-2.73%2013.5-8.3%2019-12.39%205.5-4.08%2013.97-11.38%2018.82-16.21%204.86-4.83%2012.1-13.06%2016.09-18.28%203.99-5.22%209.09-12.65%2011.32-16.5%202.23-3.85%205.93-10.83%208.21-15.5%202.28-4.67%205.68-13.22%207.55-19%201.87-5.78%203.86-12.3%204.41-14.5%200.55-2.2%201.7-8.39%202.55-13.75%200.98-6.14%201.55-16.31%201.54-27.5%200-12.91-0.53-20.88-1.94-29.25-1.06-6.33-3.1-15.33-4.52-20-1.43-4.67-3.03-9.29-3.56-10.25-0.53-0.96-0.97-2.2-0.97-2.75%200-0.55-0.86-2.91-1.92-5.25-1.06-2.34-2.98-6.5-4.28-9.25-1.29-2.75-4.32-8.38-6.72-12.5-2.41-4.13-5.99-9.75-7.98-12.5-1.98-2.75-4.5-6.1-5.6-7.45-1.1-1.35-4.03-4.71-6.5-7.48-2.47-2.76-5.63-6.17-7-7.56-1.38-1.39-5.65-5.28-9.5-8.64-3.85-3.36-11.5-9.16-17-12.89-5.5-3.73-14.3-8.85-19.55-11.38-5.26-2.53-10.88-5.15-12.5-5.82-1.62-0.68-6.33-2.39-10.45-3.8-4.13-1.42-10.65-3.26-14.5-4.09-3.85-0.84-10.83-2.16-15.5-2.94-5.29-0.88-15.11-1.38-26-1.32-9.63%200.05-19.75%200.49-22.5%200.97z'/%3e%3c/g%3e%3c/svg%3e", Ka = Le(
6293
+ const Ti = "data:image/svg+xml,%3csvg%20version='1.2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201280%201280'%20width='500'%20height='500'%3e%3cstyle%3e%20.s0%20{%20opacity:%201;fill:%20%2317535d%20}%20.s1%20{%20opacity:%20.99;fill:%20%23fab185%20}%20%3c/style%3e%3cg%20id='gentiq%20(7)'%3e%3cpath%20id='Path%201'%20fill-rule='evenodd'%20class='s0'%20d='m616.5%2012.22c19.25-0.09%2038.15%200.29%2042%200.84%203.85%200.54%2011.73%201.43%2017.5%201.98%205.77%200.55%2016.35%201.85%2023.5%202.91%207.15%201.05%2016.6%202.62%2021%203.49%204.4%200.88%209.8%202.02%2012%202.53%202.2%200.52%207.15%201.65%2011%202.5%203.85%200.86%208.58%202%2010.5%202.54%201.92%200.54%207.77%202.15%2013%203.6%205.23%201.44%2016.02%204.77%2024%207.4%207.98%202.63%2017.65%205.99%2021.5%207.48%203.85%201.48%2011.95%204.74%2018%207.24%206.05%202.5%2014.6%206.16%2019%208.14%204.4%201.98%2013.4%206.35%2020%209.72%206.6%203.36%2014.48%207.47%2017.5%209.11%203.02%201.65%2011.35%206.5%2018.5%2010.77%207.15%204.27%2018.17%2011.2%2024.49%2015.4%206.32%204.2%2012.17%208.16%2013%208.82%200.83%200.65%207.36%205.55%2014.51%2010.88%207.15%205.33%2013.23%209.97%2013.5%2010.31%200.27%200.34%202.73%202.42%205.45%204.62%202.72%202.2%205.43%204.45%206.02%205%200.59%200.55%204.89%204.35%209.55%208.45%204.67%204.1%2015.04%2014%2023.05%2022%208.02%208%2018.22%2018.6%2022.67%2023.55%204.46%204.95%2011.4%2013.07%2015.43%2018.04%204.03%204.97%2011.43%2014.42%2016.43%2021%205.01%206.58%2012.65%2017.36%2016.97%2023.96%204.33%206.6%208.56%2013.15%209.4%2014.57%200.84%201.41%204.08%206.81%207.19%2012%203.11%205.18%207.29%2012.36%209.29%2015.93%202%203.57%207.6%2014.6%2012.44%2024.5%204.84%209.9%2010.51%2022.05%2012.6%2027%202.08%204.95%204.36%2010.35%205.07%2012%200.71%201.65%202.26%205.48%203.44%208.5%201.19%203.02%204.44%2012.25%207.22%2020.5%202.79%208.25%205.42%2016.35%205.84%2018%200.43%201.65%201.72%206.15%202.87%2010%201.15%203.85%203.86%2014.43%206.03%2023.5%202.16%209.07%204.38%2019.2%204.94%2022.5%200.56%203.3%201.5%208.7%202.1%2012%200.59%203.3%201.68%2010.05%202.43%2015%200.74%204.95%201.85%2013.27%202.47%2018.5%200.61%205.23%201.56%2018.95%202.11%2030.5%200.55%2011.55%200.99%2034.61%200.99%2051.25%200%2019.16-0.37%2030.43-1%2030.75-0.55%200.27-1%202.64-1.01%205.25%200%202.61-0.43%207.45-0.96%2010.75-0.52%203.3-1.7%2011.17-2.62%2017.5-0.92%206.33-2.02%2013.52-2.44%2016-0.43%202.48-1.29%207.42-1.93%2011-0.63%203.58-2.7%2013.02-4.6%2021-1.9%207.98-3.93%2016.3-4.51%2018.5-0.58%202.2-2.41%208.5-4.05%2014-1.64%205.5-4.8%2015.4-7.01%2022-2.21%206.6-4.39%2012.9-4.85%2014-0.46%201.1-2.22%205.71-3.92%2010.25-1.71%204.54-3.44%208.24-3.85%208.22-0.41-0.02-2.55-1.5-4.75-3.29-2.2-1.8-6.25-4.85-9-6.79-2.75-1.94-9.95-6.45-16-10.03-6.05-3.58-14.83-8.34-19.5-10.57-4.67-2.23-10.64-5.01-13.25-6.18-2.61-1.16-8.91-3.51-14-5.21-5.09-1.71-10.71-3.51-12.5-4-1.79-0.5-4.94-1.38-7-1.96-2.06-0.58-6.9-1.73-10.75-2.54-3.85-0.82-9.47-1.94-12.5-2.48-3.02-0.54-10.9-1.64-17.5-2.44-6.6-0.81-18.52-1.46-26.5-1.45-7.98%200-20.13%200.68-27%201.5-6.88%200.81-13.85%201.75-15.5%202.08-1.65%200.32-7.27%201.43-12.5%202.47-5.23%201.04-12.65%202.83-16.5%203.98-3.85%201.16-9.02%202.67-11.5%203.38-2.48%200.7-9.45%203.31-15.5%205.8-6.05%202.49-14.6%206.3-19%208.46-4.4%202.17-12.05%206.39-17%209.38-4.95%203-13.5%208.66-19%2012.58-5.5%203.92-12.7%209.48-16%2012.36-3.3%202.88-8.88%207.99-12.41%2011.36-3.52%203.36-9.6%209.72-13.5%2014.12-3.9%204.4-7.32%208.23-7.59%208.5-0.27%200.27-2.09%202.52-4.04%205-1.94%202.48-4.39%205.85-5.43%207.5-1.04%201.65-2.38%203.47-2.96%204.05-0.59%200.58-3.12%204.4-5.63%208.5-2.5%204.1-5.89%209.7-7.53%2012.45-1.63%202.75-4.16%207.48-5.61%2010.5-1.45%203.02-4.03%208.42-5.73%2012-1.71%203.58-3.1%206.95-3.09%207.5%200%200.55-0.69%202.35-1.54%204-0.85%201.65-2.83%206.83-4.39%2011.5-1.56%204.67-4.24%2014.12-5.95%2021-1.71%206.87-4.01%2019.25-5.1%2027.5-1.42%2010.7-1.99%2020.73-1.99%2035%200%2014.2%200.58%2024.35%201.98%2035%201.09%208.25%203.53%2021.08%205.43%2028.5%201.9%207.42%204.63%2016.87%206.07%2021%201.44%204.12%203.03%208.4%203.54%209.5%200.5%201.1%201.87%204.47%203.03%207.5%201.16%203.03%204.23%209.78%206.82%2015%202.59%205.22%205.48%2010.62%206.42%2012%200.94%201.37%201.73%202.72%201.74%203%200.01%200.28-1.91%201.07-4.26%201.77-2.35%200.7-8.55%202.17-13.78%203.28-5.23%201.11-11.98%202.47-15%203.03-3.02%200.55-7.75%201.43-10.5%201.95-2.75%200.52-10.63%201.65-17.5%202.53-6.88%200.87-16.33%202-21%202.5-4.67%200.5-17.27%201.4-28%202.01-11.32%200.65-29.56%200.85-43.5%200.48-13.2-0.35-27.83-1.06-32.5-1.57-4.67-0.52-14.8-1.66-22.5-2.54-7.7-0.88-17.6-2.21-22-2.95-4.4-0.75-14.98-2.78-23.5-4.5-8.52-1.73-18.88-4.05-23-5.15-4.13-1.1-10.2-2.68-13.5-3.51-3.3-0.83-10.27-2.86-15.5-4.51-5.23-1.65-12.88-4.1-17-5.45-4.13-1.35-8.4-2.85-9.5-3.33-1.1-0.47-6.5-2.54-12-4.6-5.5-2.05-11.8-4.52-14-5.49-2.2-0.97-8.73-3.88-14.5-6.47-5.77-2.59-15.45-7.18-21.5-10.21-6.05-3.02-14.38-7.3-18.5-9.51-4.13-2.2-7.95-4.36-8.5-4.78-0.55-0.42-3.25-2.02-6-3.54-2.75-1.52-12.65-7.69-22-13.71-9.35-6.02-23.75-16.02-32-22.22-8.25-6.21-16.78-12.8-18.96-14.65-2.18-1.85-8.68-7.41-14.44-12.36-5.77-4.95-17.28-15.75-25.58-24-8.3-8.25-17.33-17.48-20.07-20.5-2.74-3.02-7.71-8.65-11.05-12.5-3.34-3.85-9.97-11.95-14.75-18-4.77-6.05-9.02-11.45-9.44-12-0.42-0.55-3.51-4.83-6.87-9.5-3.36-4.67-8.78-12.55-12.05-17.5-3.26-4.95-8.45-13.05-11.52-18-3.07-4.95-8.47-14.17-11.99-20.5-3.53-6.33-9.38-17.58-13-25-3.63-7.42-7.59-15.75-8.8-18.5-1.21-2.75-3.22-7.25-4.45-10-1.24-2.75-2.6-6.13-3.02-7.5-0.43-1.38-1.6-4.3-2.61-6.5-1.01-2.2-3.68-9.17-5.94-15.5-2.27-6.33-4.71-13.3-5.43-15.5-0.73-2.2-2.52-8.05-3.99-13-1.46-4.95-3.06-10.13-3.55-11.5-0.49-1.38-2.5-9.25-4.47-17.5-1.98-8.25-4.02-16.8-4.54-19-0.52-2.2-1.42-6.7-2-10-0.58-3.3-1.67-9.6-2.42-14-0.75-4.4-1.83-11.6-2.41-16-0.58-4.4-1.54-12.5-2.13-18-0.59-5.5-1.51-10.11-2.05-10.25-0.6-0.16-0.97-11.89-0.96-31%200-16.91%200.44-39.3%200.97-49.75%200.53-10.45%201.45-23.73%202.03-29.5%200.59-5.77%201.55-14.1%202.13-18.5%200.58-4.4%201.67-11.6%202.42-16%200.75-4.4%201.84-10.7%202.42-14%200.58-3.3%201.48-7.8%202-10%200.52-2.2%202.56-10.75%204.54-19%201.97-8.25%203.98-16.13%204.47-17.5%200.48-1.38%201.84-5.88%203.02-10%201.18-4.13%204.4-14.02%207.15-22%202.75-7.98%205.36-15.4%205.81-16.5%200.44-1.1%201.97-4.7%203.39-8%201.43-3.3%202.6-6.34%202.61-6.75%200.02-0.41%201.2-3.34%202.64-6.5%201.43-3.16%203.3-7.32%204.15-9.25%200.86-1.93%204.59-9.8%208.3-17.5%203.71-7.7%209.76-19.4%2013.45-26%203.68-6.6%209.22-16.05%2012.3-21%203.08-4.95%208.58-13.5%2012.22-19%203.64-5.5%207.72-11.57%209.05-13.5%201.34-1.93%204.43-6.2%206.87-9.5%202.43-3.3%207.79-10.28%2011.91-15.5%204.11-5.22%2010.67-13.1%2014.56-17.5%203.89-4.4%209.08-10.25%2011.53-13%202.44-2.75%2010.77-11.3%2018.5-19.01%207.73-7.7%2019.23-18.52%2025.55-24.04%206.32-5.51%2015.1-12.94%2019.5-16.49%204.4-3.56%2010.02-7.96%2012.5-9.77%202.48-1.82%207.43-5.45%2011-8.06%203.57-2.62%209.43-6.72%2013-9.11%203.57-2.39%208.3-5.57%2010.5-7.06%202.2-1.49%209.85-6.21%2017-10.48%207.15-4.28%2015.48-9.13%2018.5-10.78%203.02-1.66%2010.92-5.75%2017.53-9.1%206.62-3.36%2015.17-7.53%2019-9.27%203.84-1.75%2010.12-4.52%2013.97-6.17%203.85-1.66%2012.4-5.11%2019-7.67%206.6-2.56%2018.64-6.87%2026.75-9.58%208.11-2.7%2016.44-5.33%2018.5-5.85%202.06-0.52%207.12-1.9%2011.25-3.06%204.12-1.17%2010.43-2.8%2014-3.63%203.57-0.84%208.07-1.88%2010-2.32%201.93-0.45%207.1-1.54%2011.5-2.42%204.4-0.89%2010.25-2.05%2013-2.58%202.75-0.53%207.25-1.24%2010-1.57%202.75-0.34%207.25-1.02%2010-1.52%202.75-0.5%2010.4-1.45%2017-2.1%206.6-0.65%2016.95-1.48%2023-1.84%206.05-0.36%2026.75-0.72%2046-0.8zm-42.29%20288.46c-6.99%200.78-16.76%202.31-21.71%203.4-4.95%201.09-11.48%202.67-14.5%203.51-3.02%200.84-7.98%202.24-11%203.12-3.02%200.88-10.45%203.5-16.5%205.83-6.05%202.33-14.82%206-19.5%208.16-4.68%202.15-12.77%206.32-18%209.26-5.23%202.94-13.32%207.87-18%2010.95-4.68%203.09-11.2%207.62-14.5%2010.08-3.3%202.45-8.93%206.92-12.5%209.92-3.57%203.01-12.15%2011.12-19.05%2018.03-6.9%206.91-15.61%2016.38-19.34%2021.06-3.73%204.68-10.49%2014.13-15.01%2021-4.53%206.88-9.98%2015.65-12.11%2019.5-2.13%203.85-5.64%2010.6-7.79%2015-2.15%204.4-5.5%2011.82-7.43%2016.5-1.94%204.68-4.38%2011.2-5.43%2014.5-1.06%203.3-3.22%2010.5-4.81%2016-1.59%205.5-3.42%2012.7-4.06%2016-0.64%203.3-1.58%208.25-2.08%2011-0.5%202.75-1.58%209.95-2.39%2016-0.95%207.05-1.49%2019.36-1.49%2034.25-0.01%2012.79%200.45%2026.51%201.02%2030.5%200.56%203.99%201.5%2010.17%202.07%2013.75%200.58%203.58%201.73%209.88%202.57%2014%200.84%204.13%202.88%2012.23%204.53%2018%201.65%205.77%204.12%2013.88%205.5%2018%201.37%204.13%202.84%207.95%203.27%208.5%200.42%200.55%201.68%203.48%202.79%206.5%201.11%203.02%203.79%209.1%205.94%2013.5%202.15%204.4%205.66%2011.15%207.78%2015%202.13%203.85%207.59%2012.63%2012.14%2019.5%204.54%206.88%2011.3%2016.33%2015.02%2021%203.73%204.67%2012.09%2013.9%2018.58%2020.5%206.5%206.6%2014.62%2014.29%2018.05%2017.09%203.43%202.8%2010.05%207.98%2014.73%2011.51%204.68%203.53%2012.1%208.74%2016.5%2011.58%204.4%202.83%2010.02%206.3%2012.5%207.7%202.48%201.4%209.45%204.99%2015.5%207.97%206.05%202.98%2013.25%206.42%2016%207.65%202.75%201.23%2012.2%204.61%2021%207.5%208.8%202.9%2021.62%206.44%2028.5%207.89%206.87%201.44%2014.52%203.04%2017%203.55%202.48%200.51%2013.27%201.48%2024%202.15%2015.34%200.97%2023.66%200.97%2039%200.01%2010.73-0.67%2021.3-1.6%2023.5-2.08%202.2-0.47%206.7-1.37%2010-1.99%203.3-0.63%208.92-1.82%2012.5-2.66%203.58-0.84%2010.1-2.58%2014.5-3.87%204.4-1.29%2012.27-3.89%2017.5-5.78%205.23-1.89%2011.51-4.29%2013.96-5.33%202.46-1.04%2010.33-4.84%2017.5-8.44%207.17-3.61%2018.21-9.87%2024.54-13.92%206.33-4.04%2012.68-8.3%2014.12-9.44%201.45-1.15%203.87-2.99%205.39-4.09%201.53-1.1%203.56-2.67%204.52-3.5%200.97-0.83%204.51-3.75%207.88-6.5%203.37-2.75%2011.85-10.86%2018.86-18.02%207-7.16%2016.15-17.51%2020.34-23%204.19-5.49%2010.3-14.03%2013.6-18.98%203.29-4.95%207.48-11.7%209.3-15%201.83-3.3%205.43-10.27%208.02-15.5%202.58-5.23%205.41-11.08%206.28-13%200.88-1.92%202.57-5.98%203.75-9%201.18-3.02%203.02-8.2%204.08-11.5%201.07-3.3%203.22-10.5%204.78-16%201.56-5.5%203.34-12.02%203.96-14.5%200.61-2.48%201.6-7.42%202.18-11%200.59-3.58%201.51-9.65%202.04-13.5%200.54-3.85%201.34-13.98%201.79-22.5%200.44-8.52%200.44-22.25%200-30.5-0.45-8.25-1.25-18.15-1.79-22-0.53-3.85-1.46-9.92-2.05-13.5-0.59-3.58-2.01-10.33-3.14-15-1.14-4.67-2.44-9.62-2.89-11-0.45-1.37-1.84-5.87-3.08-10-1.24-4.12-3.56-10.87-5.15-15-1.59-4.12-3.6-9.07-4.47-11-0.87-1.93-3.71-7.77-6.31-13-2.59-5.23-5.55-11.07-6.56-13-1.01-1.93-3.99-6.87-6.62-11-2.63-4.12-7.45-11.32-10.7-16-3.25-4.68-9.5-12.77-13.89-18-4.39-5.23-13.1-14.45-19.36-20.5-6.26-6.05-15.21-14.06-19.88-17.8-4.68-3.74-10.92-8.47-13.88-10.5-2.96-2.04-9.26-6.13-14-9.1-4.74-2.97-13.12-7.77-18.62-10.66-5.5-2.89-14.5-7.13-20-9.42-5.5-2.28-10.9-4.56-12-5.06-1.1-0.49-6.05-2.24-11-3.88-4.95-1.65-11.02-3.49-13.5-4.09-2.48-0.6-9.23-2.16-15-3.47-5.77-1.3-15.9-3.11-22.5-4.02-6.81-0.93-20.87-1.79-32.5-1.97-11.27-0.17-22.66-0.08-25.29%200.21-2.63%200.29-10.51%201.16-17.5%201.94z'/%3e%3cpath%20id='Path%202'%20class='s1'%20d='m953.5%20831.1c-2.75%200.49-7.7%201.38-11%201.99-3.3%200.61-8.48%201.77-11.5%202.57-3.02%200.81-9.33%202.84-14%204.52-4.67%201.68-13%205.31-18.5%208.06-5.5%202.75-12.48%206.61-15.5%208.58-3.02%201.97-8.2%205.61-11.5%208.08-3.3%202.47-9.33%207.44-13.39%2011.05-4.07%203.6-10.64%2010.38-14.61%2015.05-3.96%204.67-10.02%2012.77-13.46%2018-3.44%205.22-7.84%2012.65-9.78%2016.5-1.94%203.85-5.1%2011.05-7.02%2016-1.92%204.95-4.35%2011.92-5.39%2015.5-1.04%203.58-2.57%209.65-3.39%2013.5-0.83%203.85-2%2013.3-2.61%2021-0.81%2010.28-0.8%2017.79%200.02%2028.25%200.62%207.84%202.22%2018.86%203.55%2024.5%201.33%205.64%203.42%2013.17%204.65%2016.75%201.22%203.58%204%2010.55%206.17%2015.5%202.17%204.95%206.32%2013.05%209.22%2018%202.91%204.95%207.71%2012.22%2010.66%2016.15%202.96%203.94%208.08%2010.19%2011.38%2013.89%203.3%203.7%2010.05%2010.13%2015%2014.28%204.95%204.15%2013.05%2010.21%2018%2013.47%204.95%203.25%2011.92%207.4%2015.5%209.2%203.58%201.81%2010.55%204.92%2015.5%206.91%204.95%201.99%2012.83%204.69%2017.5%206%204.67%201.3%209.85%202.69%2011.5%203.07%201.65%200.39%206.83%201.33%2011.5%202.1%205.11%200.84%2015.89%201.4%2027%201.4%2010.17%200%2020.08-0.41%2022-0.92%201.92-0.5%206.2-1.45%209.5-2.1%203.3-0.65%2010.27-2.42%2015.5-3.93%205.22-1.5%2013.55-4.41%2018.5-6.46%204.95-2.05%2013.05-5.96%2018-8.68%204.95-2.73%2013.5-8.3%2019-12.39%205.5-4.08%2013.97-11.38%2018.82-16.21%204.86-4.83%2012.1-13.06%2016.09-18.28%203.99-5.22%209.09-12.65%2011.32-16.5%202.23-3.85%205.93-10.83%208.21-15.5%202.28-4.67%205.68-13.22%207.55-19%201.87-5.78%203.86-12.3%204.41-14.5%200.55-2.2%201.7-8.39%202.55-13.75%200.98-6.14%201.55-16.31%201.54-27.5%200-12.91-0.53-20.88-1.94-29.25-1.06-6.33-3.1-15.33-4.52-20-1.43-4.67-3.03-9.29-3.56-10.25-0.53-0.96-0.97-2.2-0.97-2.75%200-0.55-0.86-2.91-1.92-5.25-1.06-2.34-2.98-6.5-4.28-9.25-1.29-2.75-4.32-8.38-6.72-12.5-2.41-4.13-5.99-9.75-7.98-12.5-1.98-2.75-4.5-6.1-5.6-7.45-1.1-1.35-4.03-4.71-6.5-7.48-2.47-2.76-5.63-6.17-7-7.56-1.38-1.39-5.65-5.28-9.5-8.64-3.85-3.36-11.5-9.16-17-12.89-5.5-3.73-14.3-8.85-19.55-11.38-5.26-2.53-10.88-5.15-12.5-5.82-1.62-0.68-6.33-2.39-10.45-3.8-4.13-1.42-10.65-3.26-14.5-4.09-3.85-0.84-10.83-2.16-15.5-2.94-5.29-0.88-15.11-1.38-26-1.32-9.63%200.05-19.75%200.49-22.5%200.97z'/%3e%3c/g%3e%3c/svg%3e", Ja = Pe(
6273
6294
  "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
6274
- ), Za = an.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ l(
6295
+ ), Qa = Ce.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ i(
6275
6296
  "label",
6276
6297
  {
6277
6298
  ref: n,
6278
- className: y(Ka(), e),
6299
+ className: k(Ja(), e),
6279
6300
  ...t
6280
6301
  }
6281
6302
  ));
6282
- Za.displayName = "Label";
6283
- function Nl({ ...e }) {
6284
- return /* @__PURE__ */ l(L.Root, { "data-slot": "select", ...e });
6303
+ Qa.displayName = "Label";
6304
+ function Ci({ ...e }) {
6305
+ return /* @__PURE__ */ i(L.Root, { "data-slot": "select", ...e });
6285
6306
  }
6286
- function Tl({ ...e }) {
6287
- return /* @__PURE__ */ l(L.Group, { "data-slot": "select-group", ...e });
6307
+ function Ai({ ...e }) {
6308
+ return /* @__PURE__ */ i(L.Group, { "data-slot": "select-group", ...e });
6288
6309
  }
6289
- function Cl({ ...e }) {
6290
- return /* @__PURE__ */ l(L.Value, { "data-slot": "select-value", ...e });
6310
+ function Ii({ ...e }) {
6311
+ return /* @__PURE__ */ i(L.Value, { "data-slot": "select-value", ...e });
6291
6312
  }
6292
- function Al({
6313
+ function Ri({
6293
6314
  className: e,
6294
6315
  size: t = "default",
6295
6316
  children: n,
@@ -6300,29 +6321,29 @@ function Al({
6300
6321
  {
6301
6322
  "data-slot": "select-trigger",
6302
6323
  "data-size": t,
6303
- className: y(
6324
+ className: k(
6304
6325
  "border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
6305
6326
  e
6306
6327
  ),
6307
6328
  ...o,
6308
6329
  children: [
6309
6330
  n,
6310
- /* @__PURE__ */ l(L.Icon, { asChild: !0, children: /* @__PURE__ */ l(ae, { className: "size-4 opacity-50" }) })
6331
+ /* @__PURE__ */ i(L.Icon, { asChild: !0, children: /* @__PURE__ */ i(ie, { className: "size-4 opacity-50" }) })
6311
6332
  ]
6312
6333
  }
6313
6334
  );
6314
6335
  }
6315
- function Il({
6336
+ function Oi({
6316
6337
  className: e,
6317
6338
  children: t,
6318
6339
  position: n = "popper",
6319
6340
  ...o
6320
6341
  }) {
6321
- return /* @__PURE__ */ l(L.Portal, { children: /* @__PURE__ */ w(
6342
+ return /* @__PURE__ */ i(L.Portal, { children: /* @__PURE__ */ w(
6322
6343
  L.Content,
6323
6344
  {
6324
6345
  "data-slot": "select-content",
6325
- className: y(
6346
+ className: k(
6326
6347
  "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
6327
6348
  n === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
6328
6349
  e
@@ -6330,85 +6351,85 @@ function Il({
6330
6351
  position: n,
6331
6352
  ...o,
6332
6353
  children: [
6333
- /* @__PURE__ */ l(Ja, {}),
6334
- /* @__PURE__ */ l(
6354
+ /* @__PURE__ */ i(ei, {}),
6355
+ /* @__PURE__ */ i(
6335
6356
  L.Viewport,
6336
6357
  {
6337
- className: y(
6358
+ className: k(
6338
6359
  "p-1",
6339
6360
  n === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
6340
6361
  ),
6341
6362
  children: t
6342
6363
  }
6343
6364
  ),
6344
- /* @__PURE__ */ l(Qa, {})
6365
+ /* @__PURE__ */ i(ti, {})
6345
6366
  ]
6346
6367
  }
6347
6368
  ) });
6348
6369
  }
6349
- function Rl({ className: e, ...t }) {
6350
- return /* @__PURE__ */ l(
6370
+ function Fi({ className: e, ...t }) {
6371
+ return /* @__PURE__ */ i(
6351
6372
  L.Label,
6352
6373
  {
6353
6374
  "data-slot": "select-label",
6354
- className: y("text-muted-foreground px-2 py-1.5 text-xs", e),
6375
+ className: k("text-muted-foreground px-2 py-1.5 text-xs", e),
6355
6376
  ...t
6356
6377
  }
6357
6378
  );
6358
6379
  }
6359
- function Ol({ className: e, children: t, ...n }) {
6380
+ function Li({ className: e, children: t, ...n }) {
6360
6381
  return /* @__PURE__ */ w(
6361
6382
  L.Item,
6362
6383
  {
6363
6384
  "data-slot": "select-item",
6364
- className: y(
6385
+ className: k(
6365
6386
  "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pe-8 ps-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 text-start",
6366
6387
  e
6367
6388
  ),
6368
6389
  ...n,
6369
6390
  children: [
6370
- /* @__PURE__ */ l("span", { className: "absolute inset-inline-end-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ l(L.ItemIndicator, { children: /* @__PURE__ */ l(Fe, { className: "size-4" }) }) }),
6371
- /* @__PURE__ */ l(L.ItemText, { children: t })
6391
+ /* @__PURE__ */ i("span", { className: "absolute inset-inline-end-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ i(L.ItemIndicator, { children: /* @__PURE__ */ i(De, { className: "size-4" }) }) }),
6392
+ /* @__PURE__ */ i(L.ItemText, { children: t })
6372
6393
  ]
6373
6394
  }
6374
6395
  );
6375
6396
  }
6376
- function Fl({ className: e, ...t }) {
6377
- return /* @__PURE__ */ l(
6397
+ function Di({ className: e, ...t }) {
6398
+ return /* @__PURE__ */ i(
6378
6399
  L.Separator,
6379
6400
  {
6380
6401
  "data-slot": "select-separator",
6381
- className: y("bg-border pointer-events-none -mx-1 my-1 h-px", e),
6402
+ className: k("bg-border pointer-events-none -mx-1 my-1 h-px", e),
6382
6403
  ...t
6383
6404
  }
6384
6405
  );
6385
6406
  }
6386
- function Ja({ className: e, ...t }) {
6387
- return /* @__PURE__ */ l(
6407
+ function ei({ className: e, ...t }) {
6408
+ return /* @__PURE__ */ i(
6388
6409
  L.ScrollUpButton,
6389
6410
  {
6390
6411
  "data-slot": "select-scroll-up-button",
6391
- className: y("flex cursor-default items-center justify-center py-1", e),
6412
+ className: k("flex cursor-default items-center justify-center py-1", e),
6392
6413
  ...t,
6393
- children: /* @__PURE__ */ l(Tn, { className: "size-4" })
6414
+ children: /* @__PURE__ */ i(An, { className: "size-4" })
6394
6415
  }
6395
6416
  );
6396
6417
  }
6397
- function Qa({
6418
+ function ti({
6398
6419
  className: e,
6399
6420
  ...t
6400
6421
  }) {
6401
- return /* @__PURE__ */ l(
6422
+ return /* @__PURE__ */ i(
6402
6423
  L.ScrollDownButton,
6403
6424
  {
6404
6425
  "data-slot": "select-scroll-down-button",
6405
- className: y("flex cursor-default items-center justify-center py-1", e),
6426
+ className: k("flex cursor-default items-center justify-center py-1", e),
6406
6427
  ...t,
6407
- children: /* @__PURE__ */ l(ae, { className: "size-4" })
6428
+ children: /* @__PURE__ */ i(ie, { className: "size-4" })
6408
6429
  }
6409
6430
  );
6410
6431
  }
6411
- function Ll(e, t) {
6432
+ function Pi(e, t) {
6412
6433
  if (!e) return !0;
6413
6434
  const { field: n, operator: o = "equals", value: r } = e, a = t[n];
6414
6435
  switch (o) {
@@ -6424,23 +6445,23 @@ function Ll(e, t) {
6424
6445
  return !0;
6425
6446
  }
6426
6447
  }
6427
- function Dl({ ...e }) {
6428
- return /* @__PURE__ */ l(oe.Root, { "data-slot": "dropdown-menu", ...e });
6448
+ function Mi({ ...e }) {
6449
+ return /* @__PURE__ */ i(re.Root, { "data-slot": "dropdown-menu", ...e });
6429
6450
  }
6430
- function Pl({ ...e }) {
6431
- return /* @__PURE__ */ l(oe.Trigger, { "data-slot": "dropdown-menu-trigger", ...e });
6451
+ function zi({ ...e }) {
6452
+ return /* @__PURE__ */ i(re.Trigger, { "data-slot": "dropdown-menu-trigger", ...e });
6432
6453
  }
6433
- function Ml({
6454
+ function $i({
6434
6455
  className: e,
6435
6456
  sideOffset: t = 4,
6436
6457
  ...n
6437
6458
  }) {
6438
- return /* @__PURE__ */ l(oe.Portal, { children: /* @__PURE__ */ l(
6439
- oe.Content,
6459
+ return /* @__PURE__ */ i(re.Portal, { children: /* @__PURE__ */ i(
6460
+ re.Content,
6440
6461
  {
6441
6462
  "data-slot": "dropdown-menu-content",
6442
6463
  sideOffset: t,
6443
- className: y(
6464
+ className: k(
6444
6465
  "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
6445
6466
  e
6446
6467
  ),
@@ -6448,19 +6469,19 @@ function Ml({
6448
6469
  }
6449
6470
  ) });
6450
6471
  }
6451
- function zl({
6472
+ function Ui({
6452
6473
  className: e,
6453
6474
  inset: t,
6454
6475
  variant: n = "default",
6455
6476
  ...o
6456
6477
  }) {
6457
- return /* @__PURE__ */ l(
6458
- oe.Item,
6478
+ return /* @__PURE__ */ i(
6479
+ re.Item,
6459
6480
  {
6460
6481
  "data-slot": "dropdown-menu-item",
6461
6482
  "data-inset": t,
6462
6483
  "data-variant": n,
6463
- className: y(
6484
+ className: k(
6464
6485
  "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
6465
6486
  e
6466
6487
  ),
@@ -6468,82 +6489,83 @@ function zl({
6468
6489
  }
6469
6490
  );
6470
6491
  }
6471
- function $l({ className: e, ...t }) {
6472
- return /* @__PURE__ */ l(
6473
- Ve.Root,
6492
+ function Bi({ className: e, ...t }) {
6493
+ return /* @__PURE__ */ i(
6494
+ Ye.Root,
6474
6495
  {
6475
6496
  "data-slot": "checkbox",
6476
- className: y(
6497
+ className: k(
6477
6498
  "peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
6478
6499
  e
6479
6500
  ),
6480
6501
  ...t,
6481
- children: /* @__PURE__ */ l(
6482
- Ve.Indicator,
6502
+ children: /* @__PURE__ */ i(
6503
+ Ye.Indicator,
6483
6504
  {
6484
6505
  "data-slot": "checkbox-indicator",
6485
6506
  className: "grid place-content-center text-current transition-none",
6486
- children: /* @__PURE__ */ l(Fe, { className: "size-3.5" })
6507
+ children: /* @__PURE__ */ i(De, { className: "size-3.5" })
6487
6508
  }
6488
6509
  )
6489
6510
  }
6490
6511
  );
6491
6512
  }
6492
6513
  export {
6493
- kl as $,
6494
- Ir as A,
6514
+ so as $,
6515
+ Ui as A,
6495
6516
  ee as B,
6496
- wl as C,
6497
- Er as D,
6498
- Rr as E,
6499
- vl as F,
6500
- Ln as G,
6501
- yl as H,
6502
- Sl as I,
6503
- $l as J,
6504
- fe as K,
6505
- Za as L,
6506
- ha as M,
6507
- Kn as N,
6508
- ro as O,
6509
- $n as P,
6510
- Tl as Q,
6511
- xr as R,
6512
- Nl as S,
6513
- xl as T,
6514
- Rl as U,
6515
- Qa as V,
6516
- Ja as W,
6517
- Fl as X,
6518
- kr as Y,
6519
- pa as Z,
6520
- lo as _,
6517
+ _i as C,
6518
+ Tr as D,
6519
+ Or as E,
6520
+ Fr as F,
6521
+ Xe as G,
6522
+ xi as H,
6523
+ Ni as I,
6524
+ wi as J,
6525
+ Bi as K,
6526
+ Qa as L,
6527
+ fe as M,
6528
+ ma as N,
6529
+ Zn as O,
6530
+ Un as P,
6531
+ io as Q,
6532
+ Sr as R,
6533
+ Ci as S,
6534
+ Si as T,
6535
+ Ai as U,
6536
+ Fi as V,
6537
+ ti as W,
6538
+ ei as X,
6539
+ Di as Y,
6540
+ vr as Z,
6541
+ ga as _,
6521
6542
  W as a,
6522
- Zn as a0,
6523
- rn as a1,
6524
- zn as b,
6525
- fl as c,
6526
- Ya as d,
6527
- y as e,
6528
- Tt as f,
6529
- Xa as g,
6530
- Ct as h,
6531
- At as i,
6532
- bl as j,
6533
- It as k,
6534
- _l as l,
6535
- Ll as m,
6536
- Nr as n,
6537
- Ar as o,
6538
- Al as p,
6539
- Cl as q,
6540
- Il as r,
6541
- Ol as s,
6542
- El as t,
6543
+ vi as a0,
6544
+ Jn as a1,
6545
+ sn as a2,
6546
+ $n as b,
6547
+ yi as c,
6548
+ Ka as d,
6549
+ k as e,
6550
+ ao as f,
6551
+ Za as g,
6552
+ It as h,
6553
+ Rt as i,
6554
+ ki as j,
6555
+ Ot as k,
6556
+ Ft as l,
6557
+ Ei as m,
6558
+ Pi as n,
6559
+ Cr as o,
6560
+ Rr as p,
6561
+ Ri as q,
6562
+ Ii as r,
6563
+ Oi as s,
6564
+ Li as t,
6543
6565
  S as u,
6544
- he as v,
6545
- Dl as w,
6546
- Pl as x,
6547
- Ml as y,
6548
- zl as z
6566
+ Ti as v,
6567
+ ge as w,
6568
+ Mi as x,
6569
+ zi as y,
6570
+ $i as z
6549
6571
  };