gentiq 0.7.20 → 0.7.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{checkbox-Bur5BJ4z.js → checkbox-eHCIm0ql.js} +381 -378
- package/dist/gentiq-admin.es.js +1356 -1216
- package/dist/gentiq-index.es.js +897 -852
- package/dist/gentiq.css +1 -1
- package/dist/src/locales/en.json.d.ts +11 -1
- package/dist/src/locales/fa.json.d.ts +11 -1
- package/dist/src/types.d.ts +8 -0
- package/package.json +1 -3
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { jsx as l, Fragment as
|
|
1
|
+
import { jsx as l, Fragment as J, jsxs as w } from "react/jsx-runtime";
|
|
2
2
|
import * as an from "react";
|
|
3
|
-
import { useState as $, useCallback as ne, useMemo as wt,
|
|
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
4
|
import { useTranslation as M, initReactI18next as sn } from "react-i18next";
|
|
5
|
-
import { ArrowDownIcon as cn, ChevronDownIcon as ae, BookIcon as un, XIcon as
|
|
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
6
|
import { Slot as Et } from "@radix-ui/react-slot";
|
|
7
|
-
import { cva as
|
|
7
|
+
import { cva as Le } from "class-variance-authority";
|
|
8
8
|
import { StickToBottom as Nt, useStickToBottomContext as Cn } from "use-stick-to-bottom";
|
|
9
|
-
import * as
|
|
10
|
-
import * as
|
|
9
|
+
import * as De from "@radix-ui/react-collapsible";
|
|
10
|
+
import * as K from "@radix-ui/react-tooltip";
|
|
11
11
|
import { toast as An } from "sonner";
|
|
12
12
|
import "@radix-ui/react-scroll-area";
|
|
13
13
|
import { Streamdown as In } from "streamdown";
|
|
@@ -16,12 +16,12 @@ import { useControllableState as Ge } from "@radix-ui/react-use-controllable-sta
|
|
|
16
16
|
import * as U from "@radix-ui/react-dialog";
|
|
17
17
|
import { PrismLight as z } from "react-syntax-highlighter";
|
|
18
18
|
import Rn from "i18next";
|
|
19
|
-
import * as
|
|
19
|
+
import * as L from "@radix-ui/react-select";
|
|
20
20
|
import * as oe from "@radix-ui/react-dropdown-menu";
|
|
21
21
|
import * as Ve from "@radix-ui/react-checkbox";
|
|
22
|
-
import { clsx as
|
|
23
|
-
import { twMerge as
|
|
24
|
-
class
|
|
22
|
+
import { clsx as On } from "clsx";
|
|
23
|
+
import { twMerge as Fn } from "tailwind-merge";
|
|
24
|
+
class Ln extends Error {
|
|
25
25
|
code;
|
|
26
26
|
status;
|
|
27
27
|
details;
|
|
@@ -53,7 +53,7 @@ const Dn = {
|
|
|
53
53
|
return e ? { Authorization: `Bearer ${e}` } : {};
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
|
-
let
|
|
56
|
+
let O = Dn;
|
|
57
57
|
const S = {
|
|
58
58
|
init: (e) => {
|
|
59
59
|
if (N = {
|
|
@@ -63,7 +63,7 @@ const S = {
|
|
|
63
63
|
app: e.app ? { ...N.app, ...e.app } : N.app
|
|
64
64
|
}, e.api?.authAdapter) {
|
|
65
65
|
const t = e.api.authAdapter;
|
|
66
|
-
|
|
66
|
+
O = {
|
|
67
67
|
...t,
|
|
68
68
|
getHeaders: t.getHeaders || (() => {
|
|
69
69
|
const n = t.getToken();
|
|
@@ -73,14 +73,14 @@ const S = {
|
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
75
|
getConfig: () => N,
|
|
76
|
-
getToken: () =>
|
|
76
|
+
getToken: () => O.getToken(),
|
|
77
77
|
setToken: (e) => {
|
|
78
|
-
|
|
78
|
+
O.setToken(e);
|
|
79
79
|
},
|
|
80
80
|
clearToken: () => {
|
|
81
|
-
|
|
81
|
+
O.clearToken();
|
|
82
82
|
},
|
|
83
|
-
getHeaders: () =>
|
|
83
|
+
getHeaders: () => O.getHeaders(),
|
|
84
84
|
getEndpoint: (e, t, ...n) => {
|
|
85
85
|
const o = N.api?.endpoints?.[e];
|
|
86
86
|
return o ? typeof o == "function" ? o(...n) : o : typeof t == "function" ? t(...n) : t;
|
|
@@ -89,7 +89,7 @@ const S = {
|
|
|
89
89
|
if (!e.ok) {
|
|
90
90
|
const n = await e.json().catch(() => ({}));
|
|
91
91
|
if (n.error && (n.error.code || n.error.message))
|
|
92
|
-
throw new
|
|
92
|
+
throw new Ln(n, e.status);
|
|
93
93
|
const o = n.error || n.message || t, r = new Error(o);
|
|
94
94
|
throw r.status = e.status, r;
|
|
95
95
|
}
|
|
@@ -114,7 +114,7 @@ const S = {
|
|
|
114
114
|
getBalance: async () => {
|
|
115
115
|
const e = S.getEndpoint("balance", "/users/balance"), t = await fetch(`${N.api?.basePath}${e}`, {
|
|
116
116
|
headers: {
|
|
117
|
-
...
|
|
117
|
+
...O.getHeaders()
|
|
118
118
|
}
|
|
119
119
|
});
|
|
120
120
|
return S.handleResponse(t, "Failed to fetch balance");
|
|
@@ -122,7 +122,7 @@ const S = {
|
|
|
122
122
|
getHistory: async (e = 0, t = 50) => {
|
|
123
123
|
const n = S.getEndpoint("threads", "/chat/threads"), o = await fetch(`${N.api?.basePath}${n}?skip=${e}&limit=${t}`, {
|
|
124
124
|
headers: {
|
|
125
|
-
...
|
|
125
|
+
...O.getHeaders()
|
|
126
126
|
}
|
|
127
127
|
});
|
|
128
128
|
return S.handleResponse(o, "Failed to fetch chat history");
|
|
@@ -131,7 +131,7 @@ const S = {
|
|
|
131
131
|
if (!S.getToken()) throw new Error("No token found");
|
|
132
132
|
const n = S.getEndpoint("threadMessages", (r) => `/chat/threads/${r.replace(/^\//, "")}`, e), o = await fetch(`${N.api?.basePath}${n}`, {
|
|
133
133
|
headers: {
|
|
134
|
-
...
|
|
134
|
+
...O.getHeaders()
|
|
135
135
|
}
|
|
136
136
|
});
|
|
137
137
|
return S.handleResponse(o, "Failed to fetch thread messages");
|
|
@@ -141,7 +141,7 @@ const S = {
|
|
|
141
141
|
const n = S.getEndpoint("deleteThread", (r) => `/chat/threads/${r.replace(/^\//, "")}`, e), o = await fetch(`${N.api?.basePath}${n}`, {
|
|
142
142
|
method: "DELETE",
|
|
143
143
|
headers: {
|
|
144
|
-
...
|
|
144
|
+
...O.getHeaders()
|
|
145
145
|
}
|
|
146
146
|
});
|
|
147
147
|
return S.handleResponse(o, "Failed to delete thread");
|
|
@@ -152,7 +152,7 @@ const S = {
|
|
|
152
152
|
method: "PATCH",
|
|
153
153
|
headers: {
|
|
154
154
|
"Content-Type": "application/json",
|
|
155
|
-
...
|
|
155
|
+
...O.getHeaders()
|
|
156
156
|
},
|
|
157
157
|
body: JSON.stringify({ title: t })
|
|
158
158
|
});
|
|
@@ -167,7 +167,7 @@ const S = {
|
|
|
167
167
|
if (N.api?.attachmentResolver)
|
|
168
168
|
return N.api.attachmentResolver(e);
|
|
169
169
|
const t = S.getEndpoint("attachments", (r) => `/chat/attachments/${r}`, e), n = await fetch(`${N.api?.basePath}${t}`, {
|
|
170
|
-
headers: { ...
|
|
170
|
+
headers: { ...O.getHeaders() }
|
|
171
171
|
});
|
|
172
172
|
if (!n.ok) return S.handleResponse(n, "Failed to fetch attachment");
|
|
173
173
|
const o = await n.blob();
|
|
@@ -192,7 +192,7 @@ const S = {
|
|
|
192
192
|
method: "POST",
|
|
193
193
|
headers: {
|
|
194
194
|
"Content-Type": "application/json",
|
|
195
|
-
...
|
|
195
|
+
...O.getHeaders()
|
|
196
196
|
},
|
|
197
197
|
body: JSON.stringify({
|
|
198
198
|
thread_id: e.replace(/^\//, ""),
|
|
@@ -205,7 +205,7 @@ const S = {
|
|
|
205
205
|
getMe: async () => {
|
|
206
206
|
const e = S.getEndpoint("me", "/users/me"), t = await fetch(`${N.api?.basePath}${e}`, {
|
|
207
207
|
headers: {
|
|
208
|
-
...
|
|
208
|
+
...O.getHeaders()
|
|
209
209
|
}
|
|
210
210
|
});
|
|
211
211
|
return S.handleResponse(t, "Failed to fetch user profile");
|
|
@@ -215,7 +215,7 @@ const S = {
|
|
|
215
215
|
method: "PATCH",
|
|
216
216
|
headers: {
|
|
217
217
|
"Content-Type": "application/json",
|
|
218
|
-
...
|
|
218
|
+
...O.getHeaders()
|
|
219
219
|
},
|
|
220
220
|
body: JSON.stringify(e)
|
|
221
221
|
});
|
|
@@ -227,7 +227,7 @@ const S = {
|
|
|
227
227
|
method: "PATCH",
|
|
228
228
|
headers: {
|
|
229
229
|
"Content-Type": "application/json",
|
|
230
|
-
...
|
|
230
|
+
...O.getHeaders()
|
|
231
231
|
},
|
|
232
232
|
body: JSON.stringify({ pinned: t })
|
|
233
233
|
});
|
|
@@ -238,7 +238,7 @@ const S = {
|
|
|
238
238
|
const n = S.getEndpoint("shareThread", (r) => `/chat/threads/${r.replace(/^\//, "")}/share`, e), o = await fetch(`${N.api?.basePath}${n}`, {
|
|
239
239
|
method: "POST",
|
|
240
240
|
headers: {
|
|
241
|
-
...
|
|
241
|
+
...O.getHeaders()
|
|
242
242
|
}
|
|
243
243
|
});
|
|
244
244
|
return S.handleResponse(o, "Failed to share thread");
|
|
@@ -267,8 +267,8 @@ function Pn(e, t) {
|
|
|
267
267
|
const c = n === i ? void 0 : i;
|
|
268
268
|
o(c);
|
|
269
269
|
try {
|
|
270
|
-
const s = e.parts.find((h) => h.type === "data-message-id"),
|
|
271
|
-
await S.saveFeedback(t,
|
|
270
|
+
const s = e.parts.find((h) => h.type === "data-message-id"), p = s ? s.data[0].message_id : e.id;
|
|
271
|
+
await S.saveFeedback(t, p, c ?? null);
|
|
272
272
|
} catch (s) {
|
|
273
273
|
console.error("Error saving feedback:", s);
|
|
274
274
|
}
|
|
@@ -281,26 +281,26 @@ function Pn(e, t) {
|
|
|
281
281
|
}
|
|
282
282
|
const Mn = /* @__PURE__ */ new Set(["ar", "fa", "he", "ur", "yi", "ku", "ckb", "ps", "sd", "ug", "arc", "syc"]);
|
|
283
283
|
function zn() {
|
|
284
|
-
const { i18n: e } = M(["translation"]), t = wt(() => {
|
|
285
|
-
const
|
|
284
|
+
const { i18n: e } = M(["translation"]), { app: t } = W(), n = wt(() => {
|
|
285
|
+
const i = S.getConfig(), c = t || i.app;
|
|
286
286
|
return {
|
|
287
|
-
name: c
|
|
287
|
+
name: c?.name || "Gentiq App",
|
|
288
288
|
// Use i18n.language as the primary source for the UI state.
|
|
289
289
|
// Only fallback to config if i18n hasn't resolved yet.
|
|
290
|
-
language: e.language || c
|
|
291
|
-
showToolDetails: c
|
|
290
|
+
language: e.language || c?.language || "en",
|
|
291
|
+
showToolDetails: c?.showToolDetails ?? !0
|
|
292
292
|
};
|
|
293
|
-
}, [e.language]),
|
|
294
|
-
return
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
}, [
|
|
299
|
-
appName:
|
|
300
|
-
language:
|
|
301
|
-
isRtl:
|
|
302
|
-
showToolDetails: !!
|
|
303
|
-
config:
|
|
293
|
+
}, [e.language, t]), o = (n.language ?? "").split("-")[0].toLowerCase(), r = Mn.has(o), a = t?.language;
|
|
294
|
+
return Q(() => {
|
|
295
|
+
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;
|
|
298
|
+
}, [r, e, e.language, a]), {
|
|
299
|
+
appName: n.name || "Gentiq",
|
|
300
|
+
language: n.language || e.language,
|
|
301
|
+
isRtl: r,
|
|
302
|
+
showToolDetails: !!n.showToolDetails,
|
|
303
|
+
config: n,
|
|
304
304
|
isLoading: !1,
|
|
305
305
|
error: null
|
|
306
306
|
};
|
|
@@ -315,19 +315,19 @@ function $n(e) {
|
|
|
315
315
|
lastMessage: i,
|
|
316
316
|
conversationId: c,
|
|
317
317
|
isFinished: s,
|
|
318
|
-
renderMessagePart:
|
|
318
|
+
renderMessagePart: p,
|
|
319
319
|
chat: h,
|
|
320
320
|
readonly: f
|
|
321
|
-
} = e, { showToolDetails: b } = zn(), { TextPart: m, ReasoningPart: k, ToolPart:
|
|
322
|
-
if (
|
|
323
|
-
const R =
|
|
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);
|
|
322
|
+
if (p) {
|
|
323
|
+
const R = p(t, n);
|
|
324
324
|
if (R !== void 0)
|
|
325
|
-
return /* @__PURE__ */ l(
|
|
325
|
+
return /* @__PURE__ */ l(J, { children: R });
|
|
326
326
|
}
|
|
327
327
|
if (["data-progress-update", "data-message-id", "data-chat-finished", "data-title"].includes(t.type)) return null;
|
|
328
328
|
const j = n.parts.filter(
|
|
329
329
|
(R) => !["data-progress-update", "data-message-id", "data-chat-finished", "data-title"].includes(R.type)
|
|
330
|
-
),
|
|
330
|
+
), me = t === j[j.length - 1];
|
|
331
331
|
return t.type === "text" ? /* @__PURE__ */ l(
|
|
332
332
|
m,
|
|
333
333
|
{
|
|
@@ -336,11 +336,11 @@ function $n(e) {
|
|
|
336
336
|
status: o,
|
|
337
337
|
isFinished: !!s,
|
|
338
338
|
lastMessage: i,
|
|
339
|
-
isLastVisiblePart:
|
|
339
|
+
isLastVisiblePart: me,
|
|
340
340
|
regen: r,
|
|
341
341
|
feedback: E,
|
|
342
342
|
handleFeedback: C,
|
|
343
|
-
copyHost:
|
|
343
|
+
copyHost: F,
|
|
344
344
|
feedbackEnabled: f ? !1 : g?.feedback ?? !1,
|
|
345
345
|
retryEnabled: f ? !1 : g?.retry ?? !1
|
|
346
346
|
}
|
|
@@ -354,7 +354,7 @@ function $n(e) {
|
|
|
354
354
|
lastMessage: i
|
|
355
355
|
}
|
|
356
356
|
) : t.type.startsWith("tool-") || "toolCallId" in t ? /* @__PURE__ */ l(
|
|
357
|
-
|
|
357
|
+
d,
|
|
358
358
|
{
|
|
359
359
|
part: t,
|
|
360
360
|
message: n,
|
|
@@ -371,14 +371,14 @@ function $n(e) {
|
|
|
371
371
|
) : null;
|
|
372
372
|
}
|
|
373
373
|
function y(...e) {
|
|
374
|
-
return On(
|
|
374
|
+
return Fn(On(e));
|
|
375
375
|
}
|
|
376
376
|
function bl(e, t) {
|
|
377
377
|
if (t === "/") return e;
|
|
378
378
|
const n = e.endsWith("/") ? e.slice(0, -1) : e, o = t.startsWith("/") ? t : "/" + t;
|
|
379
379
|
return n + o;
|
|
380
380
|
}
|
|
381
|
-
const
|
|
381
|
+
const fe = ({ className: e, ...t }) => /* @__PURE__ */ l(
|
|
382
382
|
"div",
|
|
383
383
|
{
|
|
384
384
|
className: y(
|
|
@@ -399,7 +399,7 @@ const be = ({ className: e, ...t }) => /* @__PURE__ */ l(
|
|
|
399
399
|
))
|
|
400
400
|
}
|
|
401
401
|
), Un = /[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/;
|
|
402
|
-
function
|
|
402
|
+
function he(e, t = "ltr") {
|
|
403
403
|
if (!e) return t;
|
|
404
404
|
for (const n of e) {
|
|
405
405
|
if (Un.test(n))
|
|
@@ -409,7 +409,7 @@ function ge(e, t = "ltr") {
|
|
|
409
409
|
}
|
|
410
410
|
return "ltr";
|
|
411
411
|
}
|
|
412
|
-
const Bn =
|
|
412
|
+
const Bn = Le(
|
|
413
413
|
"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
414
|
{
|
|
415
415
|
variants: {
|
|
@@ -434,7 +434,7 @@ const Bn = De(
|
|
|
434
434
|
}
|
|
435
435
|
}
|
|
436
436
|
);
|
|
437
|
-
function
|
|
437
|
+
function ee({
|
|
438
438
|
className: e,
|
|
439
439
|
variant: t,
|
|
440
440
|
size: n,
|
|
@@ -483,23 +483,23 @@ const Hn = ({ className: e, ...t }) => /* @__PURE__ */ l(
|
|
|
483
483
|
}
|
|
484
484
|
);
|
|
485
485
|
};
|
|
486
|
+
function Pe({ ...e }) {
|
|
487
|
+
return /* @__PURE__ */ l(De.Root, { "data-slot": "collapsible", ...e });
|
|
488
|
+
}
|
|
486
489
|
function Me({ ...e }) {
|
|
487
|
-
return /* @__PURE__ */ l(
|
|
490
|
+
return /* @__PURE__ */ l(De.CollapsibleTrigger, { "data-slot": "collapsible-trigger", ...e });
|
|
488
491
|
}
|
|
489
492
|
function ze({ ...e }) {
|
|
490
|
-
return /* @__PURE__ */ l(
|
|
491
|
-
}
|
|
492
|
-
function $e({ ...e }) {
|
|
493
|
-
return /* @__PURE__ */ l(Pe.CollapsibleContent, { "data-slot": "collapsible-content", ...e });
|
|
493
|
+
return /* @__PURE__ */ l(De.CollapsibleContent, { "data-slot": "collapsible-content", ...e });
|
|
494
494
|
}
|
|
495
|
-
const Gn = ({ className: e, ...t }) => /* @__PURE__ */ l(
|
|
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 }) => {
|
|
496
496
|
const { t: r } = M(["chat"]);
|
|
497
|
-
return /* @__PURE__ */ l(
|
|
497
|
+
return /* @__PURE__ */ l(Me, { className: y("flex items-center gap-2", e), ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
|
|
498
498
|
/* @__PURE__ */ l("p", { className: "font-medium", children: r("used_sources", { count: t }) }),
|
|
499
499
|
/* @__PURE__ */ l(ae, { className: "h-4 w-4" })
|
|
500
500
|
] }) });
|
|
501
501
|
}, Wn = ({ className: e, ...t }) => /* @__PURE__ */ l(
|
|
502
|
-
|
|
502
|
+
ze,
|
|
503
503
|
{
|
|
504
504
|
className: y(
|
|
505
505
|
"mt-3 flex w-fit flex-col gap-2",
|
|
@@ -508,7 +508,7 @@ const Gn = ({ className: e, ...t }) => /* @__PURE__ */ l(Me, { className: y("not
|
|
|
508
508
|
),
|
|
509
509
|
...t
|
|
510
510
|
}
|
|
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(
|
|
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
512
|
/* @__PURE__ */ l(un, { className: "h-4 w-4" }),
|
|
513
513
|
/* @__PURE__ */ l("span", { className: "block font-medium", children: t })
|
|
514
514
|
] }) }), Xn = ({ latestProgress: e, parts: t }) => {
|
|
@@ -516,12 +516,12 @@ const Gn = ({ className: e, ...t }) => /* @__PURE__ */ l(Me, { className: y("not
|
|
|
516
516
|
if (!!(t.slice(r + 1).some(
|
|
517
517
|
(f) => f.type === "text" && (f.text || "").trim().length > 0 || f.type === "tool-invocation" || f.type === "tool-call"
|
|
518
518
|
) && n !== "running")) return null;
|
|
519
|
-
const s = n === "running",
|
|
519
|
+
const s = n === "running", p = n === "error", h = he(o);
|
|
520
520
|
return /* @__PURE__ */ l("div", { className: y(
|
|
521
521
|
"flex w-full py-3 mx-auto max-w-4xl px-4 md:px-0 animate-in-bubble",
|
|
522
522
|
h === "rtl" ? "justify-end" : "justify-start"
|
|
523
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" }) :
|
|
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
525
|
/* @__PURE__ */ l("span", { className: y("font-medium", s && "animate-pulse"), children: o })
|
|
526
526
|
] }) });
|
|
527
527
|
};
|
|
@@ -535,9 +535,9 @@ function Kn({
|
|
|
535
535
|
onSuggestionClick: i,
|
|
536
536
|
chat: c,
|
|
537
537
|
className: s,
|
|
538
|
-
readonly:
|
|
538
|
+
readonly: p
|
|
539
539
|
}) {
|
|
540
|
-
const { i18n: h, t: f } = M(["chat", "translation"]), b = h.language === "fa", { WelcomeScreen: m } =
|
|
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
541
|
return /* @__PURE__ */ w(Hn, { className: y("min-h-0 flex-1", s), children: [
|
|
542
542
|
/* @__PURE__ */ w(jn, { className: "max-w-4xl mx-auto w-full px-4 md:px-0 pb-32", dir: "ltr", children: [
|
|
543
543
|
e.length === 0 && !n ? /* @__PURE__ */ l(m, { onSuggestionClick: i }) : e.map((v) => /* @__PURE__ */ w("div", { children: [
|
|
@@ -555,9 +555,9 @@ function Kn({
|
|
|
555
555
|
regen: a,
|
|
556
556
|
lastMessage: v.id === e.at(-1)?.id,
|
|
557
557
|
conversationId: r,
|
|
558
|
-
isFinished:
|
|
558
|
+
isFinished: d,
|
|
559
559
|
chat: c,
|
|
560
|
-
readonly:
|
|
560
|
+
readonly: p
|
|
561
561
|
},
|
|
562
562
|
`${v.id}-${g}`
|
|
563
563
|
))
|
|
@@ -569,12 +569,12 @@ function Kn({
|
|
|
569
569
|
const x = v[v.length - 1];
|
|
570
570
|
return x ? /* @__PURE__ */ l(Xn, { latestProgress: x, parts: k.parts }) : null;
|
|
571
571
|
})(),
|
|
572
|
-
(n || t === "submitted") && /* @__PURE__ */ l("div", { className: "animate-in-bubble", children: /* @__PURE__ */ l(
|
|
572
|
+
(n || t === "submitted") && /* @__PURE__ */ l("div", { className: "animate-in-bubble", children: /* @__PURE__ */ l(fe, {}) }),
|
|
573
573
|
t === "streaming" && (() => {
|
|
574
574
|
const v = e[e.length - 1];
|
|
575
|
-
return !v || v.role === "user" ? /* @__PURE__ */ l(
|
|
575
|
+
return !v || v.role === "user" ? /* @__PURE__ */ l(fe, {}) : v.parts?.some(
|
|
576
576
|
(g) => g.type === "text" && g.text?.trim().length > 0 || g.type === "reasoning" || g.type === "tool-invocation" || g.type === "tool-call"
|
|
577
|
-
) ? null : /* @__PURE__ */ l(
|
|
577
|
+
) ? null : /* @__PURE__ */ l(fe, {});
|
|
578
578
|
})(),
|
|
579
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(
|
|
580
580
|
"flex w-full items-start gap-3 px-4 py-3.5 rounded-xl bg-destructive/8 border border-destructive/15",
|
|
@@ -633,7 +633,7 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
|
|
|
633
633
|
const s = c.currentTarget.form;
|
|
634
634
|
s && s.requestSubmit();
|
|
635
635
|
}
|
|
636
|
-
}, { i18n: a } = M(["chat"]), i =
|
|
636
|
+
}, { i18n: a } = M(["chat"]), i = he(o.value, a.dir());
|
|
637
637
|
return /* @__PURE__ */ l(
|
|
638
638
|
Zn,
|
|
639
639
|
{
|
|
@@ -659,7 +659,7 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
|
|
|
659
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
660
|
const r = n ?? ln.count(o.children) > 1 ? "default" : "icon";
|
|
661
661
|
return /* @__PURE__ */ l(
|
|
662
|
-
|
|
662
|
+
ee,
|
|
663
663
|
{
|
|
664
664
|
className: y(
|
|
665
665
|
"shrink-0 gap-1.5 rounded-xl",
|
|
@@ -684,8 +684,8 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
|
|
|
684
684
|
...a
|
|
685
685
|
}) => {
|
|
686
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(
|
|
688
|
-
|
|
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(
|
|
688
|
+
ee,
|
|
689
689
|
{
|
|
690
690
|
className: y(
|
|
691
691
|
"shrink-0 rounded-lg size-9",
|
|
@@ -710,13 +710,13 @@ const Jn = ({ className: e, ...t }) => /* @__PURE__ */ l("div", { className: "bg
|
|
|
710
710
|
);
|
|
711
711
|
};
|
|
712
712
|
function Tt({ delayDuration: e = 400, ...t }) {
|
|
713
|
-
return /* @__PURE__ */ l(
|
|
713
|
+
return /* @__PURE__ */ l(K.Provider, { "data-slot": "tooltip-provider", delayDuration: e, ...t });
|
|
714
714
|
}
|
|
715
715
|
function Ct({ ...e }) {
|
|
716
|
-
return /* @__PURE__ */ l(Tt, { children: /* @__PURE__ */ l(
|
|
716
|
+
return /* @__PURE__ */ l(Tt, { children: /* @__PURE__ */ l(K.Root, { "data-slot": "tooltip", ...e }) });
|
|
717
717
|
}
|
|
718
718
|
function At({ ...e }) {
|
|
719
|
-
return /* @__PURE__ */ l(
|
|
719
|
+
return /* @__PURE__ */ l(K.Trigger, { "data-slot": "tooltip-trigger", ...e });
|
|
720
720
|
}
|
|
721
721
|
function It({
|
|
722
722
|
className: e,
|
|
@@ -724,8 +724,8 @@ function It({
|
|
|
724
724
|
children: n,
|
|
725
725
|
...o
|
|
726
726
|
}) {
|
|
727
|
-
return /* @__PURE__ */ l(
|
|
728
|
-
|
|
727
|
+
return /* @__PURE__ */ l(K.Portal, { children: /* @__PURE__ */ w(
|
|
728
|
+
K.Content,
|
|
729
729
|
{
|
|
730
730
|
"data-slot": "tooltip-content",
|
|
731
731
|
sideOffset: t,
|
|
@@ -736,7 +736,7 @@ function It({
|
|
|
736
736
|
...o,
|
|
737
737
|
children: [
|
|
738
738
|
n,
|
|
739
|
-
/* @__PURE__ */ l(
|
|
739
|
+
/* @__PURE__ */ l(K.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
|
|
740
740
|
]
|
|
741
741
|
}
|
|
742
742
|
) });
|
|
@@ -750,26 +750,26 @@ function ro({
|
|
|
750
750
|
conversationId: a,
|
|
751
751
|
className: i
|
|
752
752
|
}) {
|
|
753
|
-
const { t: c } = M(["chat", "translation"]), { composer: s } =
|
|
754
|
-
|
|
753
|
+
const { t: c } = M(["chat", "translation"]), { composer: s } = W(), [p, h] = $(""), [f, b] = $([]), m = je(null), k = je(null);
|
|
754
|
+
Q(() => {
|
|
755
755
|
a === "/" && m.current && m.current.focus();
|
|
756
756
|
}, [a]);
|
|
757
|
-
const
|
|
757
|
+
const d = ne((E) => {
|
|
758
758
|
if (E.target.files) {
|
|
759
|
-
const C = Array.from(E.target.files),
|
|
760
|
-
if (
|
|
761
|
-
An.error(c("file_too_large", { size:
|
|
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 }));
|
|
762
762
|
return;
|
|
763
763
|
}
|
|
764
764
|
b((H) => [...H, ...C]);
|
|
765
765
|
}
|
|
766
766
|
E.target.value = "";
|
|
767
767
|
}, [s, c]), v = ne((E) => {
|
|
768
|
-
b((C) => C.filter((
|
|
768
|
+
b((C) => C.filter((F, H) => H !== E));
|
|
769
769
|
}, []), x = t === "streaming" && !n, g = (E) => {
|
|
770
|
-
if (E.preventDefault(), !x && (
|
|
770
|
+
if (E.preventDefault(), !x && (p.trim() || f.length > 0)) {
|
|
771
771
|
const C = new DataTransfer();
|
|
772
|
-
f.forEach((
|
|
772
|
+
f.forEach((F) => C.items.add(F)), e(p, C.files), h(""), b([]);
|
|
773
773
|
}
|
|
774
774
|
};
|
|
775
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: [
|
|
@@ -778,7 +778,7 @@ function ro({
|
|
|
778
778
|
{
|
|
779
779
|
type: "file",
|
|
780
780
|
ref: k,
|
|
781
|
-
onChange:
|
|
781
|
+
onChange: d,
|
|
782
782
|
multiple: !0,
|
|
783
783
|
accept: s?.attachments?.types?.join(",") || "image/*,text/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx",
|
|
784
784
|
className: "hidden"
|
|
@@ -788,14 +788,14 @@ function ro({
|
|
|
788
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
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
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(
|
|
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
792
|
] }, `${E.name}-${C}`)) }),
|
|
793
793
|
/* @__PURE__ */ l(
|
|
794
794
|
Qn,
|
|
795
795
|
{
|
|
796
796
|
ref: m,
|
|
797
797
|
onChange: (E) => h(E.target.value),
|
|
798
|
-
value:
|
|
798
|
+
value: p,
|
|
799
799
|
autoFocus: !0,
|
|
800
800
|
placeholder: s?.placeholder ? c(s.placeholder) : c("input_placeholder")
|
|
801
801
|
}
|
|
@@ -809,7 +809,7 @@ function ro({
|
|
|
809
809
|
/* @__PURE__ */ l(
|
|
810
810
|
oo,
|
|
811
811
|
{
|
|
812
|
-
disabled: t !== "streaming" && !
|
|
812
|
+
disabled: t !== "streaming" && !p && f.length === 0,
|
|
813
813
|
status: r ? "error" : t === "error" ? void 0 : n ? "ready" : t,
|
|
814
814
|
onClick: t === "streaming" && !n ? o : void 0
|
|
815
815
|
}
|
|
@@ -830,7 +830,7 @@ const ao = ({
|
|
|
830
830
|
t?.(e);
|
|
831
831
|
};
|
|
832
832
|
return /* @__PURE__ */ l(
|
|
833
|
-
|
|
833
|
+
ee,
|
|
834
834
|
{
|
|
835
835
|
className: y("cursor-pointer rounded-full px-4", n),
|
|
836
836
|
onClick: c,
|
|
@@ -842,10 +842,10 @@ const ao = ({
|
|
|
842
842
|
}
|
|
843
843
|
);
|
|
844
844
|
}, lo = ({ onSuggestionClick: e, icons: t }) => {
|
|
845
|
-
const { t: n, i18n: o } = M(["chat", "translation"]), { welcome: r } =
|
|
845
|
+
const { t: n, i18n: o } = M(["chat", "translation"]), { welcome: r } = W(), a = r?.prompts ?? [], i = a.map((h) => {
|
|
846
846
|
const f = typeof h == "string" ? h : h.text;
|
|
847
847
|
return n(f);
|
|
848
|
-
}).filter((h) => h !== null && h !== ""), c = o.dir() === "rtl", s = r?.greeting ? n(r.greeting) ?? r.greeting : n("welcome.title"),
|
|
848
|
+
}).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;
|
|
849
849
|
return /* @__PURE__ */ w(
|
|
850
850
|
"div",
|
|
851
851
|
{
|
|
@@ -856,12 +856,12 @@ const ao = ({
|
|
|
856
856
|
/* @__PURE__ */ l("div", { className: "absolute size-24 rounded-full bg-primary/5 blur-[40px] animate-pulse" }),
|
|
857
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 })
|
|
858
858
|
] }),
|
|
859
|
-
(s ||
|
|
859
|
+
(s || p) && /* @__PURE__ */ w("div", { className: "space-y-3 mb-12 max-w-xl mx-auto", children: [
|
|
860
860
|
s && /* @__PURE__ */ l("h1", { className: "text-2xl md:text-3xl font-black tracking-tight leading-tight text-foreground", children: s }),
|
|
861
|
-
|
|
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 })
|
|
862
862
|
] }),
|
|
863
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,
|
|
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
865
|
return /* @__PURE__ */ l(
|
|
866
866
|
"div",
|
|
867
867
|
{
|
|
@@ -882,7 +882,7 @@ const ao = ({
|
|
|
882
882
|
),
|
|
883
883
|
children: [
|
|
884
884
|
/* @__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(
|
|
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
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 }) })
|
|
887
887
|
] }),
|
|
888
888
|
/* @__PURE__ */ l("div", { className: y(
|
|
@@ -909,7 +909,7 @@ const ao = ({
|
|
|
909
909
|
),
|
|
910
910
|
...n
|
|
911
911
|
}
|
|
912
|
-
),
|
|
912
|
+
), Ot = ({ children: e, className: t, isPlain: n, ...o }) => /* @__PURE__ */ l(
|
|
913
913
|
"div",
|
|
914
914
|
{
|
|
915
915
|
className: y(
|
|
@@ -955,7 +955,7 @@ const ao = ({
|
|
|
955
955
|
...i
|
|
956
956
|
}) => {
|
|
957
957
|
const c = /* @__PURE__ */ w(
|
|
958
|
-
|
|
958
|
+
ee,
|
|
959
959
|
{
|
|
960
960
|
className: y(
|
|
961
961
|
"size-7 p-1 rounded-lg",
|
|
@@ -998,7 +998,7 @@ class le {
|
|
|
998
998
|
le.prototype.normal = {};
|
|
999
999
|
le.prototype.property = {};
|
|
1000
1000
|
le.prototype.space = void 0;
|
|
1001
|
-
function
|
|
1001
|
+
function Ft(e, t) {
|
|
1002
1002
|
const n = {}, o = {};
|
|
1003
1003
|
for (const r of e)
|
|
1004
1004
|
Object.assign(n, r.property), Object.assign(o, r.normal);
|
|
@@ -1033,24 +1033,24 @@ D.prototype.property = "";
|
|
|
1033
1033
|
D.prototype.spaceSeparated = !1;
|
|
1034
1034
|
D.prototype.space = void 0;
|
|
1035
1035
|
let so = 0;
|
|
1036
|
-
const _ = G(), I = G(),
|
|
1036
|
+
const _ = G(), I = G(), Te = G(), u = G(), T = G(), Z = G(), P = G();
|
|
1037
1037
|
function G() {
|
|
1038
1038
|
return 2 ** ++so;
|
|
1039
1039
|
}
|
|
1040
|
-
const
|
|
1040
|
+
const Ce = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1041
1041
|
__proto__: null,
|
|
1042
1042
|
boolean: _,
|
|
1043
1043
|
booleanish: I,
|
|
1044
1044
|
commaOrSpaceSeparated: P,
|
|
1045
|
-
commaSeparated:
|
|
1045
|
+
commaSeparated: Z,
|
|
1046
1046
|
number: u,
|
|
1047
|
-
overloadedBoolean:
|
|
1047
|
+
overloadedBoolean: Te,
|
|
1048
1048
|
spaceSeparated: T
|
|
1049
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1049
|
+
}, Symbol.toStringTag, { value: "Module" })), be = (
|
|
1050
1050
|
/** @type {ReadonlyArray<keyof typeof types>} */
|
|
1051
|
-
Object.keys(
|
|
1051
|
+
Object.keys(Ce)
|
|
1052
1052
|
);
|
|
1053
|
-
class
|
|
1053
|
+
class $e extends D {
|
|
1054
1054
|
/**
|
|
1055
1055
|
* @constructor
|
|
1056
1056
|
* @param {string} property
|
|
@@ -1067,20 +1067,20 @@ class Ue extends D {
|
|
|
1067
1067
|
constructor(t, n, o, r) {
|
|
1068
1068
|
let a = -1;
|
|
1069
1069
|
if (super(t, n), We(this, "space", r), typeof o == "number")
|
|
1070
|
-
for (; ++a <
|
|
1071
|
-
const i =
|
|
1072
|
-
We(this,
|
|
1070
|
+
for (; ++a < be.length; ) {
|
|
1071
|
+
const i = be[a];
|
|
1072
|
+
We(this, be[a], (o & Ce[i]) === Ce[i]);
|
|
1073
1073
|
}
|
|
1074
1074
|
}
|
|
1075
1075
|
}
|
|
1076
|
-
|
|
1076
|
+
$e.prototype.defined = !0;
|
|
1077
1077
|
function We(e, t, n) {
|
|
1078
1078
|
n && (e[t] = n);
|
|
1079
1079
|
}
|
|
1080
|
-
function
|
|
1080
|
+
function te(e) {
|
|
1081
1081
|
const t = {}, n = {};
|
|
1082
1082
|
for (const [o, r] of Object.entries(e.properties)) {
|
|
1083
|
-
const a = new
|
|
1083
|
+
const a = new $e(
|
|
1084
1084
|
o,
|
|
1085
1085
|
e.transform(e.attributes || {}, o),
|
|
1086
1086
|
r,
|
|
@@ -1090,7 +1090,7 @@ function ee(e) {
|
|
|
1090
1090
|
}
|
|
1091
1091
|
return new le(t, n, e.space);
|
|
1092
1092
|
}
|
|
1093
|
-
const
|
|
1093
|
+
const Lt = te({
|
|
1094
1094
|
properties: {
|
|
1095
1095
|
ariaActiveDescendant: null,
|
|
1096
1096
|
ariaAtomic: I,
|
|
@@ -1152,7 +1152,7 @@ function Dt(e, t) {
|
|
|
1152
1152
|
function Pt(e, t) {
|
|
1153
1153
|
return Dt(e, t.toLowerCase());
|
|
1154
1154
|
}
|
|
1155
|
-
const co =
|
|
1155
|
+
const co = te({
|
|
1156
1156
|
attributes: {
|
|
1157
1157
|
acceptcharset: "accept-charset",
|
|
1158
1158
|
classname: "class",
|
|
@@ -1163,7 +1163,7 @@ const co = ee({
|
|
|
1163
1163
|
properties: {
|
|
1164
1164
|
// Standard Properties.
|
|
1165
1165
|
abbr: null,
|
|
1166
|
-
accept:
|
|
1166
|
+
accept: Z,
|
|
1167
1167
|
acceptCharset: T,
|
|
1168
1168
|
accessKey: T,
|
|
1169
1169
|
action: null,
|
|
@@ -1190,7 +1190,7 @@ const co = ee({
|
|
|
1190
1190
|
contentEditable: I,
|
|
1191
1191
|
controls: _,
|
|
1192
1192
|
controlsList: T,
|
|
1193
|
-
coords: u |
|
|
1193
|
+
coords: u | Z,
|
|
1194
1194
|
crossOrigin: null,
|
|
1195
1195
|
data: null,
|
|
1196
1196
|
dateTime: null,
|
|
@@ -1200,7 +1200,7 @@ const co = ee({
|
|
|
1200
1200
|
dir: null,
|
|
1201
1201
|
dirName: null,
|
|
1202
1202
|
disabled: _,
|
|
1203
|
-
download:
|
|
1203
|
+
download: Te,
|
|
1204
1204
|
draggable: I,
|
|
1205
1205
|
encType: null,
|
|
1206
1206
|
enterKeyHint: null,
|
|
@@ -1213,7 +1213,7 @@ const co = ee({
|
|
|
1213
1213
|
formTarget: null,
|
|
1214
1214
|
headers: T,
|
|
1215
1215
|
height: u,
|
|
1216
|
-
hidden:
|
|
1216
|
+
hidden: Te,
|
|
1217
1217
|
high: u,
|
|
1218
1218
|
href: null,
|
|
1219
1219
|
hrefLang: null,
|
|
@@ -1513,7 +1513,7 @@ const co = ee({
|
|
|
1513
1513
|
},
|
|
1514
1514
|
space: "html",
|
|
1515
1515
|
transform: Pt
|
|
1516
|
-
}), uo =
|
|
1516
|
+
}), uo = te({
|
|
1517
1517
|
attributes: {
|
|
1518
1518
|
accentHeight: "accent-height",
|
|
1519
1519
|
alignmentBaseline: "alignment-baseline",
|
|
@@ -1772,9 +1772,9 @@ const co = ee({
|
|
|
1772
1772
|
from: null,
|
|
1773
1773
|
fx: null,
|
|
1774
1774
|
fy: null,
|
|
1775
|
-
g1:
|
|
1776
|
-
g2:
|
|
1777
|
-
glyphName:
|
|
1775
|
+
g1: Z,
|
|
1776
|
+
g2: Z,
|
|
1777
|
+
glyphName: Z,
|
|
1778
1778
|
glyphOrientationHorizontal: null,
|
|
1779
1779
|
glyphOrientationVertical: null,
|
|
1780
1780
|
glyphRef: null,
|
|
@@ -2072,7 +2072,7 @@ const co = ee({
|
|
|
2072
2072
|
},
|
|
2073
2073
|
space: "svg",
|
|
2074
2074
|
transform: Dt
|
|
2075
|
-
}), Mt =
|
|
2075
|
+
}), Mt = te({
|
|
2076
2076
|
properties: {
|
|
2077
2077
|
xLinkActuate: null,
|
|
2078
2078
|
xLinkArcRole: null,
|
|
@@ -2086,12 +2086,12 @@ const co = ee({
|
|
|
2086
2086
|
transform(e, t) {
|
|
2087
2087
|
return "xlink:" + t.slice(5).toLowerCase();
|
|
2088
2088
|
}
|
|
2089
|
-
}), zt =
|
|
2089
|
+
}), zt = te({
|
|
2090
2090
|
attributes: { xmlnsxlink: "xmlns:xlink" },
|
|
2091
2091
|
properties: { xmlnsXLink: null, xmlns: null },
|
|
2092
2092
|
space: "xmlns",
|
|
2093
2093
|
transform: Pt
|
|
2094
|
-
}), $t =
|
|
2094
|
+
}), $t = te({
|
|
2095
2095
|
properties: { xmlBase: null, xmlLang: null, xmlSpace: null },
|
|
2096
2096
|
space: "xml",
|
|
2097
2097
|
transform(e, t) {
|
|
@@ -2114,7 +2114,7 @@ function go(e, t) {
|
|
|
2114
2114
|
i.charAt(0) !== "-" && (i = "-" + i), t = "data" + i;
|
|
2115
2115
|
}
|
|
2116
2116
|
}
|
|
2117
|
-
r =
|
|
2117
|
+
r = $e;
|
|
2118
2118
|
}
|
|
2119
2119
|
return new r(o, t);
|
|
2120
2120
|
}
|
|
@@ -2124,7 +2124,7 @@ function mo(e) {
|
|
|
2124
2124
|
function fo(e) {
|
|
2125
2125
|
return e.charAt(1).toUpperCase();
|
|
2126
2126
|
}
|
|
2127
|
-
const bo =
|
|
2127
|
+
const bo = Ft([Lt, co, Mt, zt, $t], "html"), ko = Ft([Lt, uo, Mt, zt, $t], "svg");
|
|
2128
2128
|
function Xe(e) {
|
|
2129
2129
|
const t = [], n = String(e || "");
|
|
2130
2130
|
let o = n.indexOf(","), r = 0, a = !1;
|
|
@@ -2162,22 +2162,22 @@ function Ut(e, t, n) {
|
|
|
2162
2162
|
let s;
|
|
2163
2163
|
if (a == null) {
|
|
2164
2164
|
s = { type: "root", children: [] };
|
|
2165
|
-
const
|
|
2165
|
+
const p = (
|
|
2166
2166
|
/** @type {Child} */
|
|
2167
2167
|
i
|
|
2168
2168
|
);
|
|
2169
|
-
c.unshift(
|
|
2169
|
+
c.unshift(p);
|
|
2170
2170
|
} else {
|
|
2171
2171
|
s = yo(a, t);
|
|
2172
|
-
const
|
|
2173
|
-
if (s.tagName = h ||
|
|
2172
|
+
const p = s.tagName.toLowerCase(), h = o ? o.get(p) : void 0;
|
|
2173
|
+
if (s.tagName = h || p, vo(i))
|
|
2174
2174
|
c.unshift(i);
|
|
2175
2175
|
else
|
|
2176
2176
|
for (const [f, b] of Object.entries(i))
|
|
2177
2177
|
wo(e, s.properties, f, b);
|
|
2178
2178
|
}
|
|
2179
|
-
for (const
|
|
2180
|
-
|
|
2179
|
+
for (const p of c)
|
|
2180
|
+
Ae(s.children, p);
|
|
2181
2181
|
return s.type === "element" && s.tagName === "template" && (s.content = { type: "root", children: s.children }, s.children = []), s;
|
|
2182
2182
|
}
|
|
2183
2183
|
return r;
|
|
@@ -2228,14 +2228,14 @@ function wo(e, t, n, o) {
|
|
|
2228
2228
|
)), t[r.property] = a;
|
|
2229
2229
|
}
|
|
2230
2230
|
}
|
|
2231
|
-
function
|
|
2231
|
+
function Ae(e, t) {
|
|
2232
2232
|
if (t != null) if (typeof t == "number" || typeof t == "string")
|
|
2233
2233
|
e.push({ type: "text", value: String(t) });
|
|
2234
2234
|
else if (Array.isArray(t))
|
|
2235
2235
|
for (const n of t)
|
|
2236
|
-
|
|
2236
|
+
Ae(e, n);
|
|
2237
2237
|
else if (typeof t == "object" && "type" in t)
|
|
2238
|
-
t.type === "root" ?
|
|
2238
|
+
t.type === "root" ? Ae(e, t.children) : e.push(t);
|
|
2239
2239
|
else
|
|
2240
2240
|
throw new Error("Expected node, nodes, or string, got `" + t + "`");
|
|
2241
2241
|
}
|
|
@@ -2300,7 +2300,7 @@ const So = [
|
|
|
2300
2300
|
"solidColor",
|
|
2301
2301
|
"textArea",
|
|
2302
2302
|
"textPath"
|
|
2303
|
-
], Eo = Ut(bo, "div"), No = Ut(ko, "g", So),
|
|
2303
|
+
], Eo = Ut(bo, "div"), No = Ut(ko, "g", So), ke = {
|
|
2304
2304
|
html: "http://www.w3.org/1999/xhtml",
|
|
2305
2305
|
svg: "http://www.w3.org/2000/svg"
|
|
2306
2306
|
};
|
|
@@ -2314,7 +2314,7 @@ function Bt(e, t) {
|
|
|
2314
2314
|
function Co(e, t) {
|
|
2315
2315
|
switch (e.nodeType) {
|
|
2316
2316
|
case 1:
|
|
2317
|
-
return
|
|
2317
|
+
return Oo(
|
|
2318
2318
|
/** @type {Element} */
|
|
2319
2319
|
e,
|
|
2320
2320
|
t
|
|
@@ -2364,10 +2364,10 @@ function Io(e) {
|
|
|
2364
2364
|
function Ro(e) {
|
|
2365
2365
|
return { type: "comment", value: e.nodeValue || "" };
|
|
2366
2366
|
}
|
|
2367
|
-
function
|
|
2368
|
-
const n = e.namespaceURI, o = n ===
|
|
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 = (
|
|
2369
2369
|
// @ts-expect-error: DOM types are wrong, content can exist.
|
|
2370
|
-
n ===
|
|
2370
|
+
n === ke.html && r === "template" ? e.content : e
|
|
2371
2371
|
), i = e.getAttributeNames(), c = {};
|
|
2372
2372
|
let s = -1;
|
|
2373
2373
|
for (; ++s < i.length; )
|
|
@@ -2384,18 +2384,18 @@ function Ht(e, t) {
|
|
|
2384
2384
|
return o;
|
|
2385
2385
|
}
|
|
2386
2386
|
new DOMParser();
|
|
2387
|
-
function
|
|
2388
|
-
const n =
|
|
2387
|
+
function Fo(e, t) {
|
|
2388
|
+
const n = Lo(e);
|
|
2389
2389
|
return (
|
|
2390
2390
|
/** @type {Root} */
|
|
2391
2391
|
To(n)
|
|
2392
2392
|
);
|
|
2393
2393
|
}
|
|
2394
|
-
function
|
|
2394
|
+
function Lo(e) {
|
|
2395
2395
|
const t = document.createElement("template");
|
|
2396
2396
|
return t.innerHTML = e, t.content;
|
|
2397
2397
|
}
|
|
2398
|
-
const
|
|
2398
|
+
const Ue = (
|
|
2399
2399
|
// Note: overloads in JSDoc can’t yet use different `@template`s.
|
|
2400
2400
|
/**
|
|
2401
2401
|
* @type {(
|
|
@@ -2414,7 +2414,7 @@ const Be = (
|
|
|
2414
2414
|
if (e == null)
|
|
2415
2415
|
return zo;
|
|
2416
2416
|
if (typeof e == "function")
|
|
2417
|
-
return
|
|
2417
|
+
return ge(e);
|
|
2418
2418
|
if (typeof e == "object")
|
|
2419
2419
|
return Array.isArray(e) ? Do(e) : (
|
|
2420
2420
|
// Cast because `ReadonlyArray` goes into the above but `isArray`
|
|
@@ -2433,8 +2433,8 @@ function Do(e) {
|
|
|
2433
2433
|
const t = [];
|
|
2434
2434
|
let n = -1;
|
|
2435
2435
|
for (; ++n < e.length; )
|
|
2436
|
-
t[n] =
|
|
2437
|
-
return
|
|
2436
|
+
t[n] = Ue(e[n]);
|
|
2437
|
+
return ge(o);
|
|
2438
2438
|
function o(...r) {
|
|
2439
2439
|
let a = -1;
|
|
2440
2440
|
for (; ++a < t.length; )
|
|
@@ -2447,7 +2447,7 @@ function Po(e) {
|
|
|
2447
2447
|
/** @type {Record<string, unknown>} */
|
|
2448
2448
|
e
|
|
2449
2449
|
);
|
|
2450
|
-
return
|
|
2450
|
+
return ge(n);
|
|
2451
2451
|
function n(o) {
|
|
2452
2452
|
const r = (
|
|
2453
2453
|
/** @type {Record<string, unknown>} */
|
|
@@ -2461,12 +2461,12 @@ function Po(e) {
|
|
|
2461
2461
|
}
|
|
2462
2462
|
}
|
|
2463
2463
|
function Mo(e) {
|
|
2464
|
-
return
|
|
2464
|
+
return ge(t);
|
|
2465
2465
|
function t(n) {
|
|
2466
2466
|
return n && n.type === e;
|
|
2467
2467
|
}
|
|
2468
2468
|
}
|
|
2469
|
-
function
|
|
2469
|
+
function ge(e) {
|
|
2470
2470
|
return t;
|
|
2471
2471
|
function t(n, o, r) {
|
|
2472
2472
|
return !!($o(n) && e.call(
|
|
@@ -2498,7 +2498,7 @@ const et = (
|
|
|
2498
2498
|
* @returns {UnistNode | undefined}
|
|
2499
2499
|
*/
|
|
2500
2500
|
(function(e, t, n) {
|
|
2501
|
-
const o =
|
|
2501
|
+
const o = Ue(n);
|
|
2502
2502
|
if (!e || !e.type || !e.children)
|
|
2503
2503
|
throw new Error("Expected parent node");
|
|
2504
2504
|
if (typeof t == "number") {
|
|
@@ -2532,7 +2532,7 @@ const et = (
|
|
|
2532
2532
|
if (typeof e == "object")
|
|
2533
2533
|
return Uo(e);
|
|
2534
2534
|
if (typeof e == "function")
|
|
2535
|
-
return
|
|
2535
|
+
return Be(e);
|
|
2536
2536
|
throw new Error("Expected function, string, or array as `test`");
|
|
2537
2537
|
})
|
|
2538
2538
|
);
|
|
@@ -2541,7 +2541,7 @@ function Uo(e) {
|
|
|
2541
2541
|
let n = -1;
|
|
2542
2542
|
for (; ++n < e.length; )
|
|
2543
2543
|
t[n] = V(e[n]);
|
|
2544
|
-
return
|
|
2544
|
+
return Be(o);
|
|
2545
2545
|
function o(...r) {
|
|
2546
2546
|
let a = -1;
|
|
2547
2547
|
for (; ++a < t.length; )
|
|
@@ -2550,12 +2550,12 @@ function Uo(e) {
|
|
|
2550
2550
|
}
|
|
2551
2551
|
}
|
|
2552
2552
|
function Bo(e) {
|
|
2553
|
-
return
|
|
2553
|
+
return Be(t);
|
|
2554
2554
|
function t(n) {
|
|
2555
2555
|
return n.tagName === e;
|
|
2556
2556
|
}
|
|
2557
2557
|
}
|
|
2558
|
-
function
|
|
2558
|
+
function Be(e) {
|
|
2559
2559
|
return t;
|
|
2560
2560
|
function t(n, o, r) {
|
|
2561
2561
|
return !!(jo(n) && e.call(
|
|
@@ -2572,7 +2572,7 @@ function Ho(e) {
|
|
|
2572
2572
|
function jo(e) {
|
|
2573
2573
|
return e !== null && typeof e == "object" && "type" in e && "tagName" in e;
|
|
2574
2574
|
}
|
|
2575
|
-
const tt = /\n/g, nt = /[\t ]+/g,
|
|
2575
|
+
const tt = /\n/g, nt = /[\t ]+/g, Ie = V("br"), ot = V(Zo), qo = V("p"), rt = V("tr"), Go = V([
|
|
2576
2576
|
// List from: <https://html.spec.whatwg.org/multipage/rendering.html#hidden-elements>
|
|
2577
2577
|
"datalist",
|
|
2578
2578
|
"head",
|
|
@@ -2691,16 +2691,16 @@ function Vo(e, t) {
|
|
|
2691
2691
|
{
|
|
2692
2692
|
whitespace: a,
|
|
2693
2693
|
breakBefore: c ? void 0 : r,
|
|
2694
|
-
breakAfter: c < o.length - 1 ?
|
|
2694
|
+
breakAfter: c < o.length - 1 ? Ie(o[c + 1]) : r
|
|
2695
2695
|
}
|
|
2696
2696
|
)
|
|
2697
2697
|
);
|
|
2698
2698
|
const s = [];
|
|
2699
|
-
let
|
|
2699
|
+
let p;
|
|
2700
2700
|
for (c = -1; ++c < i.length; ) {
|
|
2701
2701
|
const h = i[c];
|
|
2702
|
-
typeof h == "number" ?
|
|
2703
|
-
`.repeat(
|
|
2702
|
+
typeof h == "number" ? p !== void 0 && h > p && (p = h) : h && (p !== void 0 && p > -1 && s.push(`
|
|
2703
|
+
`.repeat(p) || " "), p = -1, s.push(h));
|
|
2704
2704
|
}
|
|
2705
2705
|
return s.join("");
|
|
2706
2706
|
}
|
|
@@ -2713,14 +2713,14 @@ function Wo(e, t, n) {
|
|
|
2713
2713
|
if (Go(e))
|
|
2714
2714
|
return i;
|
|
2715
2715
|
let c, s;
|
|
2716
|
-
for (
|
|
2716
|
+
for (Ie(e) || rt(e) && // @ts-expect-error: something up with types of parents.
|
|
2717
2717
|
et(t, e, rt) ? s = `
|
|
2718
2718
|
` : qo(e) ? (c = 2, s = 2) : jt(e) && (c = 1, s = 1); ++a < r.length; )
|
|
2719
2719
|
i = i.concat(
|
|
2720
2720
|
qt(r[a], e, {
|
|
2721
2721
|
whitespace: o,
|
|
2722
2722
|
breakBefore: a ? void 0 : c,
|
|
2723
|
-
breakAfter: a < r.length - 1 ?
|
|
2723
|
+
breakAfter: a < r.length - 1 ? Ie(r[a + 1]) : s
|
|
2724
2724
|
})
|
|
2725
2725
|
);
|
|
2726
2726
|
return ot(e) && // @ts-expect-error: something up with types of parents.
|
|
@@ -2731,7 +2731,7 @@ function Gt(e, t) {
|
|
|
2731
2731
|
let a = 0;
|
|
2732
2732
|
for (; a <= n.length; ) {
|
|
2733
2733
|
tt.lastIndex = a;
|
|
2734
|
-
const s = tt.exec(n),
|
|
2734
|
+
const s = tt.exec(n), p = s && "index" in s ? s.index : n.length;
|
|
2735
2735
|
o.push(
|
|
2736
2736
|
// Any sequence of collapsible spaces and tabs immediately preceding or
|
|
2737
2737
|
// following a segment break is removed.
|
|
@@ -2739,11 +2739,11 @@ function Gt(e, t) {
|
|
|
2739
2739
|
// […] ignoring bidi formatting characters (characters with the
|
|
2740
2740
|
// Bidi_Control property [UAX9]: ALM, LTR, RTL, LRE-RLO, LRI-PDI) as if
|
|
2741
2741
|
// they were not there.
|
|
2742
|
-
n.slice(a,
|
|
2742
|
+
n.slice(a, p).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g, ""),
|
|
2743
2743
|
a === 0 ? t.breakBefore : !0,
|
|
2744
|
-
|
|
2744
|
+
p === n.length ? t.breakAfter : !0
|
|
2745
2745
|
)
|
|
2746
|
-
), a =
|
|
2746
|
+
), a = p + 1;
|
|
2747
2747
|
}
|
|
2748
2748
|
let i = -1, c;
|
|
2749
2749
|
for (; ++i < o.length; )
|
|
@@ -2797,9 +2797,9 @@ const Wt = [], Qo = !0, at = !1, Yt = "skip";
|
|
|
2797
2797
|
function er(e, t, n, o) {
|
|
2798
2798
|
let r;
|
|
2799
2799
|
r = t;
|
|
2800
|
-
const a =
|
|
2800
|
+
const a = Ue(r), i = 1;
|
|
2801
2801
|
c(e, void 0, [])();
|
|
2802
|
-
function c(s,
|
|
2802
|
+
function c(s, p, h) {
|
|
2803
2803
|
const f = (
|
|
2804
2804
|
/** @type {Record<string, unknown>} */
|
|
2805
2805
|
s && typeof s == "object" ? s : {}
|
|
@@ -2818,8 +2818,8 @@ function er(e, t, n, o) {
|
|
|
2818
2818
|
}
|
|
2819
2819
|
return b;
|
|
2820
2820
|
function b() {
|
|
2821
|
-
let m = Wt, k,
|
|
2822
|
-
if (a(s,
|
|
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))
|
|
2823
2823
|
return m;
|
|
2824
2824
|
if ("children" in s && s.children) {
|
|
2825
2825
|
const x = (
|
|
@@ -2827,11 +2827,11 @@ function er(e, t, n, o) {
|
|
|
2827
2827
|
s
|
|
2828
2828
|
);
|
|
2829
2829
|
if (x.children && m[0] !== Yt)
|
|
2830
|
-
for (
|
|
2831
|
-
const g = x.children[
|
|
2832
|
-
if (k = c(g,
|
|
2830
|
+
for (d = -1 + i, v = h.concat(x); d > -1 && d < x.children.length; ) {
|
|
2831
|
+
const g = x.children[d];
|
|
2832
|
+
if (k = c(g, d, v)(), k[0] === at)
|
|
2833
2833
|
return k;
|
|
2834
|
-
|
|
2834
|
+
d = typeof k[1] == "number" ? k[1] : d + i;
|
|
2835
2835
|
}
|
|
2836
2836
|
}
|
|
2837
2837
|
return m;
|
|
@@ -2846,9 +2846,9 @@ function rr(e) {
|
|
|
2846
2846
|
const t = e || nr;
|
|
2847
2847
|
return function(n, o) {
|
|
2848
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"),
|
|
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");
|
|
2850
2850
|
let h = s;
|
|
2851
|
-
if (!c && !s && !
|
|
2851
|
+
if (!c && !s && !p)
|
|
2852
2852
|
return;
|
|
2853
2853
|
let f = a[a.length - 1], b = r;
|
|
2854
2854
|
if (r.tagName === "code" && c && f && f.type === "element" && f.tagName === "pre" && (b = f, f = a[a.length - 2], h = !0), !f) return;
|
|
@@ -2895,9 +2895,9 @@ function rr(e) {
|
|
|
2895
2895
|
}
|
|
2896
2896
|
}
|
|
2897
2897
|
typeof k == "string" && (k = /** @type {Array<ElementContent>} */
|
|
2898
|
-
|
|
2899
|
-
const
|
|
2900
|
-
return f.children.splice(
|
|
2898
|
+
Fo(k).children);
|
|
2899
|
+
const d = f.children.indexOf(b);
|
|
2900
|
+
return f.children.splice(d, 1, ...k), Yt;
|
|
2901
2901
|
});
|
|
2902
2902
|
};
|
|
2903
2903
|
}
|
|
@@ -2925,7 +2925,7 @@ function lr() {
|
|
|
2925
2925
|
}
|
|
2926
2926
|
};
|
|
2927
2927
|
function e(s) {
|
|
2928
|
-
const
|
|
2928
|
+
const p = {
|
|
2929
2929
|
type: "element",
|
|
2930
2930
|
tagName: "code",
|
|
2931
2931
|
properties: { className: ["language-math", "math-display"] },
|
|
@@ -2936,7 +2936,7 @@ function lr() {
|
|
|
2936
2936
|
type: "math",
|
|
2937
2937
|
meta: null,
|
|
2938
2938
|
value: "",
|
|
2939
|
-
data: { hName: "pre", hChildren: [
|
|
2939
|
+
data: { hName: "pre", hChildren: [p] }
|
|
2940
2940
|
},
|
|
2941
2941
|
s
|
|
2942
2942
|
);
|
|
@@ -2945,20 +2945,20 @@ function lr() {
|
|
|
2945
2945
|
this.buffer();
|
|
2946
2946
|
}
|
|
2947
2947
|
function n() {
|
|
2948
|
-
const s = this.resume(),
|
|
2949
|
-
|
|
2948
|
+
const s = this.resume(), p = this.stack[this.stack.length - 1];
|
|
2949
|
+
p.type, p.meta = s;
|
|
2950
2950
|
}
|
|
2951
2951
|
function o() {
|
|
2952
2952
|
this.data.mathFlowInside || (this.buffer(), this.data.mathFlowInside = !0);
|
|
2953
2953
|
}
|
|
2954
2954
|
function r(s) {
|
|
2955
|
-
const
|
|
2956
|
-
h.type, this.exit(s), h.value =
|
|
2955
|
+
const p = this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ""), h = this.stack[this.stack.length - 1];
|
|
2956
|
+
h.type, this.exit(s), h.value = p;
|
|
2957
2957
|
const f = (
|
|
2958
2958
|
/** @type {HastElement} */
|
|
2959
2959
|
h.data.hChildren[0]
|
|
2960
2960
|
);
|
|
2961
|
-
f.type, f.tagName, f.children.push({ type: "text", value:
|
|
2961
|
+
f.type, f.tagName, f.children.push({ type: "text", value: p }), this.data.mathFlowInside = void 0;
|
|
2962
2962
|
}
|
|
2963
2963
|
function a(s) {
|
|
2964
2964
|
this.enter(
|
|
@@ -2975,10 +2975,10 @@ function lr() {
|
|
|
2975
2975
|
), this.buffer();
|
|
2976
2976
|
}
|
|
2977
2977
|
function i(s) {
|
|
2978
|
-
const
|
|
2979
|
-
h.type, this.exit(s), h.value =
|
|
2978
|
+
const p = this.resume(), h = this.stack[this.stack.length - 1];
|
|
2979
|
+
h.type, this.exit(s), h.value = p, /** @type {Array<HastElementContent>} */
|
|
2980
2980
|
// @ts-expect-error: we defined it in `enterMathFlow`.
|
|
2981
|
-
h.data.hChildren.push({ type: "text", value:
|
|
2981
|
+
h.data.hChildren.push({ type: "text", value: p });
|
|
2982
2982
|
}
|
|
2983
2983
|
function c(s) {
|
|
2984
2984
|
this.config.enter.data.call(this, s), this.config.exit.data.call(this, s);
|
|
@@ -3002,7 +3002,7 @@ function ir(e) {
|
|
|
3002
3002
|
handlers: { math: n, inlineMath: o }
|
|
3003
3003
|
};
|
|
3004
3004
|
function n(a, i, c, s) {
|
|
3005
|
-
const
|
|
3005
|
+
const p = a.value || "", h = c.createTracker(s), f = "$".repeat(Math.max(ar(p, "$") + 1, 2)), b = c.enter("mathFlow");
|
|
3006
3006
|
let m = h.move(f);
|
|
3007
3007
|
if (a.meta) {
|
|
3008
3008
|
const k = c.enter("mathFlowMeta");
|
|
@@ -3017,14 +3017,14 @@ function ir(e) {
|
|
|
3017
3017
|
), k();
|
|
3018
3018
|
}
|
|
3019
3019
|
return m += h.move(`
|
|
3020
|
-
`),
|
|
3020
|
+
`), p && (m += h.move(p + `
|
|
3021
3021
|
`)), m += h.move(f), b(), m;
|
|
3022
3022
|
}
|
|
3023
3023
|
function o(a, i, c) {
|
|
3024
|
-
let s = a.value || "",
|
|
3025
|
-
for (t ||
|
|
3026
|
-
|
|
3027
|
-
const h = "$".repeat(
|
|
3024
|
+
let s = a.value || "", p = 1;
|
|
3025
|
+
for (t || p++; new RegExp("(^|[^$])" + "\\$".repeat(p) + "([^$]|$)").test(s); )
|
|
3026
|
+
p++;
|
|
3027
|
+
const h = "$".repeat(p);
|
|
3028
3028
|
// Contains non-space.
|
|
3029
3029
|
/[^ \r\n]/.test(s) && // Starts with space and ends with space.
|
|
3030
3030
|
(/^[ \r\n]/.test(s) && /[ \r\n]$/.test(s) || // Starts or ends with dollar.
|
|
@@ -3036,8 +3036,8 @@ function ir(e) {
|
|
|
3036
3036
|
const m = c.compilePattern(b);
|
|
3037
3037
|
let k;
|
|
3038
3038
|
for (; k = m.exec(s); ) {
|
|
3039
|
-
let
|
|
3040
|
-
s.codePointAt(
|
|
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);
|
|
3041
3041
|
}
|
|
3042
3042
|
}
|
|
3043
3043
|
return h + s + h;
|
|
@@ -3079,9 +3079,9 @@ function cr(e, t, n) {
|
|
|
3079
3079
|
return e.enter("mathFlow"), e.enter("mathFlowFence"), e.enter("mathFlowFenceSequence"), s(g);
|
|
3080
3080
|
}
|
|
3081
3081
|
function s(g) {
|
|
3082
|
-
return g === 36 ? (e.consume(g), i++, s) : i < 2 ? n(g) : (e.exit("mathFlowFenceSequence"), se(e,
|
|
3082
|
+
return g === 36 ? (e.consume(g), i++, s) : i < 2 ? n(g) : (e.exit("mathFlowFenceSequence"), se(e, p, "whitespace")(g));
|
|
3083
3083
|
}
|
|
3084
|
-
function
|
|
3084
|
+
function p(g) {
|
|
3085
3085
|
return g === null || q(g) ? f(g) : (e.enter("mathFlowFenceMeta"), e.enter("chunkString", {
|
|
3086
3086
|
contentType: "string"
|
|
3087
3087
|
}), h(g));
|
|
@@ -3102,24 +3102,24 @@ function cr(e, t, n) {
|
|
|
3102
3102
|
return (a ? se(e, k, "linePrefix", a + 1) : k)(g);
|
|
3103
3103
|
}
|
|
3104
3104
|
function k(g) {
|
|
3105
|
-
return g === null ? v(g) : q(g) ? e.attempt(it, b, v)(g) : (e.enter("mathFlowValue"),
|
|
3105
|
+
return g === null ? v(g) : q(g) ? e.attempt(it, b, v)(g) : (e.enter("mathFlowValue"), d(g));
|
|
3106
3106
|
}
|
|
3107
|
-
function
|
|
3108
|
-
return g === null || q(g) ? (e.exit("mathFlowValue"), k(g)) : (e.consume(g),
|
|
3107
|
+
function d(g) {
|
|
3108
|
+
return g === null || q(g) ? (e.exit("mathFlowValue"), k(g)) : (e.consume(g), d);
|
|
3109
3109
|
}
|
|
3110
3110
|
function v(g) {
|
|
3111
3111
|
return e.exit("mathFlow"), t(g);
|
|
3112
3112
|
}
|
|
3113
3113
|
function x(g, E, C) {
|
|
3114
|
-
let
|
|
3114
|
+
let F = 0;
|
|
3115
3115
|
return se(g, H, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
|
|
3116
3116
|
function H(R) {
|
|
3117
3117
|
return g.enter("mathFlowFence"), g.enter("mathFlowFenceSequence"), j(R);
|
|
3118
3118
|
}
|
|
3119
3119
|
function j(R) {
|
|
3120
|
-
return R === 36 ? (
|
|
3120
|
+
return R === 36 ? (F++, g.consume(R), j) : F < i ? C(R) : (g.exit("mathFlowFenceSequence"), se(g, me, "whitespace")(R));
|
|
3121
3121
|
}
|
|
3122
|
-
function
|
|
3122
|
+
function me(R) {
|
|
3123
3123
|
return R === null || q(R) ? (g.exit("mathFlowFence"), E(R)) : C(R);
|
|
3124
3124
|
}
|
|
3125
3125
|
}
|
|
@@ -3143,22 +3143,22 @@ function dr(e) {
|
|
|
3143
3143
|
name: "mathText"
|
|
3144
3144
|
};
|
|
3145
3145
|
function o(r, a, i) {
|
|
3146
|
-
let c = 0, s,
|
|
3146
|
+
let c = 0, s, p;
|
|
3147
3147
|
return h;
|
|
3148
|
-
function h(
|
|
3149
|
-
return r.enter("mathText"), r.enter("mathTextSequence"), f(
|
|
3148
|
+
function h(d) {
|
|
3149
|
+
return r.enter("mathText"), r.enter("mathTextSequence"), f(d);
|
|
3150
3150
|
}
|
|
3151
|
-
function f(
|
|
3152
|
-
return
|
|
3151
|
+
function f(d) {
|
|
3152
|
+
return d === 36 ? (r.consume(d), c++, f) : c < 2 && !n ? i(d) : (r.exit("mathTextSequence"), b(d));
|
|
3153
3153
|
}
|
|
3154
|
-
function b(
|
|
3155
|
-
return
|
|
3154
|
+
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));
|
|
3156
3156
|
}
|
|
3157
|
-
function m(
|
|
3158
|
-
return
|
|
3157
|
+
function m(d) {
|
|
3158
|
+
return d === null || d === 32 || d === 36 || q(d) ? (r.exit("mathTextData"), b(d)) : (r.consume(d), m);
|
|
3159
3159
|
}
|
|
3160
|
-
function k(
|
|
3161
|
-
return
|
|
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));
|
|
3162
3162
|
}
|
|
3163
3163
|
}
|
|
3164
3164
|
}
|
|
@@ -3204,7 +3204,7 @@ function br(e = {}) {
|
|
|
3204
3204
|
} };
|
|
3205
3205
|
}
|
|
3206
3206
|
var st = br();
|
|
3207
|
-
const
|
|
3207
|
+
const He = ue(
|
|
3208
3208
|
({ className: e, ...t }) => /* @__PURE__ */ l(
|
|
3209
3209
|
In,
|
|
3210
3210
|
{
|
|
@@ -3216,7 +3216,7 @@ const je = de(
|
|
|
3216
3216
|
),
|
|
3217
3217
|
(e, t) => e.children === t.children
|
|
3218
3218
|
);
|
|
3219
|
-
|
|
3219
|
+
He.displayName = "Response";
|
|
3220
3220
|
function kr({
|
|
3221
3221
|
part: e,
|
|
3222
3222
|
message: t,
|
|
@@ -3227,24 +3227,24 @@ function kr({
|
|
|
3227
3227
|
regen: i,
|
|
3228
3228
|
feedback: c,
|
|
3229
3229
|
handleFeedback: s,
|
|
3230
|
-
copyHost:
|
|
3230
|
+
copyHost: p,
|
|
3231
3231
|
feedbackEnabled: h,
|
|
3232
3232
|
retryEnabled: f
|
|
3233
3233
|
}) {
|
|
3234
|
-
const { t: b } = M(["chat"]), { textComponents: m, remarkPlugins: k, rehypePlugins:
|
|
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 || (() => {
|
|
3235
3235
|
});
|
|
3236
3236
|
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(
|
|
3238
|
-
|
|
3237
|
+
/* @__PURE__ */ l(Rt, { from: t.role, children: /* @__PURE__ */ l(Ot, { dir: v, children: /* @__PURE__ */ l(
|
|
3238
|
+
He,
|
|
3239
3239
|
{
|
|
3240
3240
|
components: m,
|
|
3241
3241
|
remarkPlugins: k,
|
|
3242
|
-
rehypePlugins:
|
|
3242
|
+
rehypePlugins: d,
|
|
3243
3243
|
children: e.text
|
|
3244
3244
|
}
|
|
3245
3245
|
) }) }),
|
|
3246
3246
|
a && !x && /* @__PURE__ */ w(io, { className: y("mt-1.5 ml-0.5", t.role === "user" && "justify-end"), children: [
|
|
3247
|
-
t.role === "assistant" && /* @__PURE__ */ w(
|
|
3247
|
+
t.role === "assistant" && /* @__PURE__ */ w(J, { children: [
|
|
3248
3248
|
r && f && /* @__PURE__ */ l(
|
|
3249
3249
|
ie,
|
|
3250
3250
|
{
|
|
@@ -3254,7 +3254,7 @@ function kr({
|
|
|
3254
3254
|
children: /* @__PURE__ */ l(fn, { className: "size-3" })
|
|
3255
3255
|
}
|
|
3256
3256
|
),
|
|
3257
|
-
h && /* @__PURE__ */ w(
|
|
3257
|
+
h && /* @__PURE__ */ w(J, { children: [
|
|
3258
3258
|
/* @__PURE__ */ l(
|
|
3259
3259
|
ie,
|
|
3260
3260
|
{
|
|
@@ -3281,7 +3281,7 @@ function kr({
|
|
|
3281
3281
|
ie,
|
|
3282
3282
|
{
|
|
3283
3283
|
onClick: () => {
|
|
3284
|
-
|
|
3284
|
+
p(e.text);
|
|
3285
3285
|
},
|
|
3286
3286
|
label: b("copy"),
|
|
3287
3287
|
tooltip: b("copy"),
|
|
@@ -3291,12 +3291,12 @@ function kr({
|
|
|
3291
3291
|
] })
|
|
3292
3292
|
] });
|
|
3293
3293
|
}
|
|
3294
|
-
const Xt =
|
|
3294
|
+
const Xt = de(null), yr = () => {
|
|
3295
3295
|
const e = Oe(Xt);
|
|
3296
3296
|
if (!e)
|
|
3297
3297
|
throw new Error("Reasoning components must be used within Reasoning");
|
|
3298
3298
|
return e;
|
|
3299
|
-
}, vr = 1e3, wr = 1e3, Kt =
|
|
3299
|
+
}, vr = 1e3, wr = 1e3, Kt = ue(
|
|
3300
3300
|
({
|
|
3301
3301
|
className: e,
|
|
3302
3302
|
isStreaming: t = !1,
|
|
@@ -3308,31 +3308,31 @@ const Xt = pe(null), yr = () => {
|
|
|
3308
3308
|
children: i,
|
|
3309
3309
|
...c
|
|
3310
3310
|
}) => {
|
|
3311
|
-
const [s,
|
|
3311
|
+
const [s, p] = Ge({
|
|
3312
3312
|
prop: n,
|
|
3313
3313
|
defaultProp: o,
|
|
3314
3314
|
onChange: r
|
|
3315
3315
|
}), [h, f] = Ge({
|
|
3316
3316
|
prop: a,
|
|
3317
3317
|
defaultProp: 0
|
|
3318
|
-
}), [b, m] = $(!1), [k,
|
|
3319
|
-
|
|
3320
|
-
t ? k === null &&
|
|
3321
|
-
}, [t, k, f]),
|
|
3318
|
+
}), [b, m] = $(!1), [k, d] = $(null);
|
|
3319
|
+
Q(() => {
|
|
3320
|
+
t ? k === null && d(Date.now()) : k !== null && (f(Math.ceil((Date.now() - k) / wr)), d(null));
|
|
3321
|
+
}, [t, k, f]), Q(() => {
|
|
3322
3322
|
if (o && !t && s && !b) {
|
|
3323
3323
|
const x = setTimeout(() => {
|
|
3324
|
-
|
|
3324
|
+
p(!1), m(!0);
|
|
3325
3325
|
}, vr);
|
|
3326
3326
|
return () => {
|
|
3327
3327
|
clearTimeout(x);
|
|
3328
3328
|
};
|
|
3329
3329
|
}
|
|
3330
|
-
}, [t, s, o,
|
|
3330
|
+
}, [t, s, o, p, b]);
|
|
3331
3331
|
const v = (x) => {
|
|
3332
|
-
|
|
3332
|
+
p(x);
|
|
3333
3333
|
};
|
|
3334
|
-
return /* @__PURE__ */ l(Xt.Provider, { value: { isStreaming: t, isOpen: s, setIsOpen:
|
|
3335
|
-
|
|
3334
|
+
return /* @__PURE__ */ l(Xt.Provider, { value: { isStreaming: t, isOpen: s, setIsOpen: p, duration: h }, children: /* @__PURE__ */ l(
|
|
3335
|
+
Pe,
|
|
3336
3336
|
{
|
|
3337
3337
|
className: y("not-prose mb-4", e),
|
|
3338
3338
|
onOpenChange: v,
|
|
@@ -3342,9 +3342,9 @@ const Xt = pe(null), yr = () => {
|
|
|
3342
3342
|
}
|
|
3343
3343
|
) });
|
|
3344
3344
|
}
|
|
3345
|
-
), Zt =
|
|
3345
|
+
), Zt = ue(({ className: e, children: t, ...n }) => {
|
|
3346
3346
|
const { isStreaming: o, isOpen: r, duration: a } = yr();
|
|
3347
|
-
return /* @__PURE__ */ l(
|
|
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
3348
|
/* @__PURE__ */ l(yn, { className: "size-4" }),
|
|
3349
3349
|
o || a === 0 ? /* @__PURE__ */ l("p", { children: "Thinking..." }) : /* @__PURE__ */ w("p", { children: [
|
|
3350
3350
|
"Thought for ",
|
|
@@ -3359,8 +3359,8 @@ const Xt = pe(null), yr = () => {
|
|
|
3359
3359
|
}
|
|
3360
3360
|
)
|
|
3361
3361
|
] }) });
|
|
3362
|
-
}), Jt =
|
|
3363
|
-
|
|
3362
|
+
}), Jt = ue(({ className: e, children: t, ...n }) => /* @__PURE__ */ l(
|
|
3363
|
+
ze,
|
|
3364
3364
|
{
|
|
3365
3365
|
className: y(
|
|
3366
3366
|
"mt-4 text-base",
|
|
@@ -3368,7 +3368,7 @@ const Xt = pe(null), yr = () => {
|
|
|
3368
3368
|
e
|
|
3369
3369
|
),
|
|
3370
3370
|
...n,
|
|
3371
|
-
children: /* @__PURE__ */ l(
|
|
3371
|
+
children: /* @__PURE__ */ l(He, { className: "grid gap-2", children: t })
|
|
3372
3372
|
}
|
|
3373
3373
|
));
|
|
3374
3374
|
Kt.displayName = "Reasoning";
|
|
@@ -3381,7 +3381,7 @@ function xr({
|
|
|
3381
3381
|
partsCount: o,
|
|
3382
3382
|
lastMessage: r
|
|
3383
3383
|
}) {
|
|
3384
|
-
const a =
|
|
3384
|
+
const a = he(e.text);
|
|
3385
3385
|
return /* @__PURE__ */ w(
|
|
3386
3386
|
Kt,
|
|
3387
3387
|
{
|
|
@@ -3394,7 +3394,7 @@ function xr({
|
|
|
3394
3394
|
}
|
|
3395
3395
|
);
|
|
3396
3396
|
}
|
|
3397
|
-
const _r =
|
|
3397
|
+
const _r = Le(
|
|
3398
3398
|
"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
3399
|
{
|
|
3400
3400
|
variants: {
|
|
@@ -3468,7 +3468,7 @@ function Ar({
|
|
|
3468
3468
|
"data-slot": "dialog-close",
|
|
3469
3469
|
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
3470
|
children: [
|
|
3471
|
-
/* @__PURE__ */ l(
|
|
3471
|
+
/* @__PURE__ */ l(pe, {}),
|
|
3472
3472
|
/* @__PURE__ */ l("span", { className: "sr-only", children: "Close" })
|
|
3473
3473
|
]
|
|
3474
3474
|
}
|
|
@@ -3518,7 +3518,7 @@ function vl({ className: e, ...t }) {
|
|
|
3518
3518
|
}
|
|
3519
3519
|
);
|
|
3520
3520
|
}
|
|
3521
|
-
const
|
|
3521
|
+
const Or = {
|
|
3522
3522
|
'code[class*="language-"]': {
|
|
3523
3523
|
background: "hsl(220, 13%, 18%)",
|
|
3524
3524
|
color: "hsl(220, 14%, 71%)",
|
|
@@ -4018,7 +4018,7 @@ const Lr = {
|
|
|
4018
4018
|
".prism-previewer-easing.prism-previewer-easing line": {
|
|
4019
4019
|
stroke: "hsl(220, 14%, 71%)"
|
|
4020
4020
|
}
|
|
4021
|
-
},
|
|
4021
|
+
}, Fr = {
|
|
4022
4022
|
'code[class*="language-"]': {
|
|
4023
4023
|
background: "hsl(230, 1%, 98%)",
|
|
4024
4024
|
color: "hsl(230, 8%, 24%)",
|
|
@@ -4510,10 +4510,10 @@ const Lr = {
|
|
|
4510
4510
|
function B(e) {
|
|
4511
4511
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
4512
4512
|
}
|
|
4513
|
-
var
|
|
4514
|
-
function
|
|
4515
|
-
if (ct) return
|
|
4516
|
-
ct = 1,
|
|
4513
|
+
var ye, ct;
|
|
4514
|
+
function Lr() {
|
|
4515
|
+
if (ct) return ye;
|
|
4516
|
+
ct = 1, ye = e, e.displayName = "python", e.aliases = ["py"];
|
|
4517
4517
|
function e(t) {
|
|
4518
4518
|
t.languages.python = {
|
|
4519
4519
|
comment: {
|
|
@@ -4577,14 +4577,14 @@ function Fr() {
|
|
|
4577
4577
|
punctuation: /[{}[\];(),.:]/
|
|
4578
4578
|
}, t.languages.python["string-interpolation"].inside.interpolation.inside.rest = t.languages.python, t.languages.py = t.languages.python;
|
|
4579
4579
|
}
|
|
4580
|
-
return
|
|
4580
|
+
return ye;
|
|
4581
4581
|
}
|
|
4582
|
-
var Dr =
|
|
4582
|
+
var Dr = Lr();
|
|
4583
4583
|
const Pr = /* @__PURE__ */ B(Dr);
|
|
4584
|
-
var
|
|
4584
|
+
var ve, ut;
|
|
4585
4585
|
function Mr() {
|
|
4586
|
-
if (ut) return
|
|
4587
|
-
ut = 1,
|
|
4586
|
+
if (ut) return ve;
|
|
4587
|
+
ut = 1, ve = e, e.displayName = "javascript", e.aliases = ["js"];
|
|
4588
4588
|
function e(t) {
|
|
4589
4589
|
t.languages.javascript = t.languages.extend("clike", {
|
|
4590
4590
|
"class-name": [
|
|
@@ -4709,14 +4709,14 @@ function Mr() {
|
|
|
4709
4709
|
"javascript"
|
|
4710
4710
|
)), t.languages.js = t.languages.javascript;
|
|
4711
4711
|
}
|
|
4712
|
-
return
|
|
4712
|
+
return ve;
|
|
4713
4713
|
}
|
|
4714
4714
|
var zr = Mr();
|
|
4715
4715
|
const $r = /* @__PURE__ */ B(zr);
|
|
4716
|
-
var
|
|
4716
|
+
var we, dt;
|
|
4717
4717
|
function Ur() {
|
|
4718
|
-
if (dt) return
|
|
4719
|
-
dt = 1,
|
|
4718
|
+
if (dt) return we;
|
|
4719
|
+
dt = 1, we = e, e.displayName = "typescript", e.aliases = ["ts"];
|
|
4720
4720
|
function e(t) {
|
|
4721
4721
|
(function(n) {
|
|
4722
4722
|
n.languages.typescript = n.languages.extend("javascript", {
|
|
@@ -4764,14 +4764,14 @@ function Ur() {
|
|
|
4764
4764
|
}), n.languages.ts = n.languages.typescript;
|
|
4765
4765
|
})(t);
|
|
4766
4766
|
}
|
|
4767
|
-
return
|
|
4767
|
+
return we;
|
|
4768
4768
|
}
|
|
4769
4769
|
var Br = Ur();
|
|
4770
4770
|
const Hr = /* @__PURE__ */ B(Br);
|
|
4771
|
-
var
|
|
4771
|
+
var xe, pt;
|
|
4772
4772
|
function jr() {
|
|
4773
|
-
if (pt) return
|
|
4774
|
-
pt = 1,
|
|
4773
|
+
if (pt) return xe;
|
|
4774
|
+
pt = 1, xe = e, e.displayName = "json", e.aliases = ["webmanifest"];
|
|
4775
4775
|
function e(t) {
|
|
4776
4776
|
t.languages.json = {
|
|
4777
4777
|
property: {
|
|
@@ -4798,14 +4798,14 @@ function jr() {
|
|
|
4798
4798
|
}
|
|
4799
4799
|
}, t.languages.webmanifest = t.languages.json;
|
|
4800
4800
|
}
|
|
4801
|
-
return
|
|
4801
|
+
return xe;
|
|
4802
4802
|
}
|
|
4803
4803
|
var qr = jr();
|
|
4804
4804
|
const Gr = /* @__PURE__ */ B(qr);
|
|
4805
|
-
var
|
|
4805
|
+
var _e, ht;
|
|
4806
4806
|
function Vr() {
|
|
4807
|
-
if (ht) return
|
|
4808
|
-
ht = 1,
|
|
4807
|
+
if (ht) return _e;
|
|
4808
|
+
ht = 1, _e = e, e.displayName = "bash", e.aliases = ["shell"];
|
|
4809
4809
|
function e(t) {
|
|
4810
4810
|
(function(n) {
|
|
4811
4811
|
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 = {
|
|
@@ -5020,14 +5020,14 @@ function Vr() {
|
|
|
5020
5020
|
n.languages.shell = n.languages.bash;
|
|
5021
5021
|
})(t);
|
|
5022
5022
|
}
|
|
5023
|
-
return
|
|
5023
|
+
return _e;
|
|
5024
5024
|
}
|
|
5025
5025
|
var Wr = Vr();
|
|
5026
5026
|
const Yr = /* @__PURE__ */ B(Wr);
|
|
5027
|
-
var
|
|
5027
|
+
var Se, gt;
|
|
5028
5028
|
function Xr() {
|
|
5029
|
-
if (gt) return
|
|
5030
|
-
gt = 1,
|
|
5029
|
+
if (gt) return Se;
|
|
5030
|
+
gt = 1, Se = e, e.displayName = "sql", e.aliases = [];
|
|
5031
5031
|
function e(t) {
|
|
5032
5032
|
t.languages.sql = {
|
|
5033
5033
|
comment: {
|
|
@@ -5063,14 +5063,14 @@ function Xr() {
|
|
|
5063
5063
|
punctuation: /[;[\]()`,.]/
|
|
5064
5064
|
};
|
|
5065
5065
|
}
|
|
5066
|
-
return
|
|
5066
|
+
return Se;
|
|
5067
5067
|
}
|
|
5068
5068
|
var Kr = Xr();
|
|
5069
5069
|
const Zr = /* @__PURE__ */ B(Kr);
|
|
5070
|
-
var
|
|
5070
|
+
var Ee, mt;
|
|
5071
5071
|
function Jr() {
|
|
5072
|
-
if (mt) return
|
|
5073
|
-
mt = 1,
|
|
5072
|
+
if (mt) return Ee;
|
|
5073
|
+
mt = 1, Ee = e, e.displayName = "yaml", e.aliases = ["yml"];
|
|
5074
5074
|
function e(t) {
|
|
5075
5075
|
(function(n) {
|
|
5076
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(
|
|
@@ -5079,12 +5079,12 @@ function Jr() {
|
|
|
5079
5079
|
return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
|
|
5080
5080
|
}
|
|
5081
5081
|
), c = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;
|
|
5082
|
-
function s(
|
|
5082
|
+
function s(p, h) {
|
|
5083
5083
|
h = (h || "").replace(/m/g, "") + "m";
|
|
5084
5084
|
var f = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() {
|
|
5085
5085
|
return a;
|
|
5086
5086
|
}).replace(/<<value>>/g, function() {
|
|
5087
|
-
return
|
|
5087
|
+
return p;
|
|
5088
5088
|
});
|
|
5089
5089
|
return RegExp(f, h);
|
|
5090
5090
|
}
|
|
@@ -5154,14 +5154,14 @@ function Jr() {
|
|
|
5154
5154
|
}, n.languages.yml = n.languages.yaml;
|
|
5155
5155
|
})(t);
|
|
5156
5156
|
}
|
|
5157
|
-
return
|
|
5157
|
+
return Ee;
|
|
5158
5158
|
}
|
|
5159
5159
|
var Qr = Jr();
|
|
5160
5160
|
const ea = /* @__PURE__ */ B(Qr);
|
|
5161
|
-
var
|
|
5161
|
+
var Ne, ft;
|
|
5162
5162
|
function ta() {
|
|
5163
|
-
if (ft) return
|
|
5164
|
-
ft = 1,
|
|
5163
|
+
if (ft) return Ne;
|
|
5164
|
+
ft = 1, Ne = e, e.displayName = "markdown", e.aliases = ["md"];
|
|
5165
5165
|
function e(t) {
|
|
5166
5166
|
(function(n) {
|
|
5167
5167
|
var o = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;
|
|
@@ -5420,8 +5420,8 @@ function ta() {
|
|
|
5420
5420
|
return;
|
|
5421
5421
|
function m(k) {
|
|
5422
5422
|
if (!(!k || typeof k == "string"))
|
|
5423
|
-
for (var
|
|
5424
|
-
var x = k[
|
|
5423
|
+
for (var d = 0, v = k.length; d < v; d++) {
|
|
5424
|
+
var x = k[d];
|
|
5425
5425
|
if (x.type !== "code") {
|
|
5426
5426
|
m(x.content);
|
|
5427
5427
|
continue;
|
|
@@ -5430,15 +5430,15 @@ function ta() {
|
|
|
5430
5430
|
if (g && E && g.type === "code-language" && E.type === "code-block" && typeof g.content == "string") {
|
|
5431
5431
|
var C = g.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp");
|
|
5432
5432
|
C = (/[a-z][\w-]*/i.exec(C) || [""])[0].toLowerCase();
|
|
5433
|
-
var
|
|
5434
|
-
E.alias ? typeof E.alias == "string" ? E.alias = [E.alias,
|
|
5433
|
+
var F = "language-" + C;
|
|
5434
|
+
E.alias ? typeof E.alias == "string" ? E.alias = [E.alias, F] : E.alias.push(F) : E.alias = [F];
|
|
5435
5435
|
}
|
|
5436
5436
|
}
|
|
5437
5437
|
}
|
|
5438
5438
|
m(b.tokens);
|
|
5439
5439
|
}), n.hooks.add("wrap", function(b) {
|
|
5440
5440
|
if (b.type === "code-block") {
|
|
5441
|
-
for (var m = "", k = 0,
|
|
5441
|
+
for (var m = "", k = 0, d = b.classes.length; k < d; k++) {
|
|
5442
5442
|
var v = b.classes[k], x = /language-(.+)/.exec(v);
|
|
5443
5443
|
if (x) {
|
|
5444
5444
|
m = x[1];
|
|
@@ -5465,7 +5465,7 @@ function ta() {
|
|
|
5465
5465
|
}
|
|
5466
5466
|
}
|
|
5467
5467
|
});
|
|
5468
|
-
var s = RegExp(n.languages.markup.tag.pattern.source, "gi"),
|
|
5468
|
+
var s = RegExp(n.languages.markup.tag.pattern.source, "gi"), p = {
|
|
5469
5469
|
amp: "&",
|
|
5470
5470
|
lt: "<",
|
|
5471
5471
|
gt: ">",
|
|
@@ -5473,12 +5473,12 @@ function ta() {
|
|
|
5473
5473
|
}, h = String.fromCodePoint || String.fromCharCode;
|
|
5474
5474
|
function f(b) {
|
|
5475
5475
|
var m = b.replace(s, "");
|
|
5476
|
-
return m = m.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(k,
|
|
5477
|
-
if (
|
|
5476
|
+
return m = m.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(k, d) {
|
|
5477
|
+
if (d = d.toLowerCase(), d[0] === "#") {
|
|
5478
5478
|
var v;
|
|
5479
|
-
return
|
|
5479
|
+
return d[1] === "x" ? v = parseInt(d.slice(2), 16) : v = Number(d.slice(1)), h(v);
|
|
5480
5480
|
} else {
|
|
5481
|
-
var x = d
|
|
5481
|
+
var x = p[d];
|
|
5482
5482
|
return x || k;
|
|
5483
5483
|
}
|
|
5484
5484
|
}), m;
|
|
@@ -5486,7 +5486,7 @@ function ta() {
|
|
|
5486
5486
|
n.languages.md = n.languages.markdown;
|
|
5487
5487
|
})(t);
|
|
5488
5488
|
}
|
|
5489
|
-
return
|
|
5489
|
+
return Ne;
|
|
5490
5490
|
}
|
|
5491
5491
|
var na = ta();
|
|
5492
5492
|
const oa = /* @__PURE__ */ B(na);
|
|
@@ -5498,9 +5498,9 @@ z.registerLanguage("bash", Yr);
|
|
|
5498
5498
|
z.registerLanguage("sql", Zr);
|
|
5499
5499
|
z.registerLanguage("yaml", ea);
|
|
5500
5500
|
z.registerLanguage("markdown", oa);
|
|
5501
|
-
const ra =
|
|
5501
|
+
const ra = de({
|
|
5502
5502
|
code: ""
|
|
5503
|
-
}),
|
|
5503
|
+
}), Re = ({
|
|
5504
5504
|
code: e,
|
|
5505
5505
|
language: t,
|
|
5506
5506
|
showLineNumbers: n = !1,
|
|
@@ -5535,7 +5535,7 @@ const ra = pe({
|
|
|
5535
5535
|
minWidth: "2.5rem"
|
|
5536
5536
|
},
|
|
5537
5537
|
showLineNumbers: n,
|
|
5538
|
-
style:
|
|
5538
|
+
style: Fr,
|
|
5539
5539
|
children: e
|
|
5540
5540
|
}
|
|
5541
5541
|
),
|
|
@@ -5560,7 +5560,7 @@ const ra = pe({
|
|
|
5560
5560
|
minWidth: "2.5rem"
|
|
5561
5561
|
},
|
|
5562
5562
|
showLineNumbers: n,
|
|
5563
|
-
style:
|
|
5563
|
+
style: Or,
|
|
5564
5564
|
children: e
|
|
5565
5565
|
}
|
|
5566
5566
|
),
|
|
@@ -5576,7 +5576,7 @@ function aa(e, t = "size-4") {
|
|
|
5576
5576
|
image_generation: /* @__PURE__ */ l(wn, { className: t })
|
|
5577
5577
|
}[e] ?? /* @__PURE__ */ l(vn, { className: t });
|
|
5578
5578
|
}
|
|
5579
|
-
const la = ({ className: e, ...t }) => /* @__PURE__ */ l(
|
|
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 }) => {
|
|
5580
5580
|
const { t } = M(["tools_ui"]), n = {
|
|
5581
5581
|
"input-streaming": t("pending"),
|
|
5582
5582
|
"input-available": t("running"),
|
|
@@ -5594,7 +5594,7 @@ const la = ({ className: e, ...t }) => /* @__PURE__ */ l(Me, { className: y("not
|
|
|
5594
5594
|
] });
|
|
5595
5595
|
}, sa = ({ className: e, type: t, state: n, toolName: o, ...r }) => {
|
|
5596
5596
|
const a = o || (t.startsWith("tool-") ? t.slice(5) : t), i = aa(a, "size-4 text-muted-foreground");
|
|
5597
|
-
return /* @__PURE__ */ w(
|
|
5597
|
+
return /* @__PURE__ */ w(Me, { className: y("flex w-full items-center justify-between gap-4 p-3", e), ...r, children: [
|
|
5598
5598
|
/* @__PURE__ */ w("div", { className: "flex items-center gap-2", children: [
|
|
5599
5599
|
i,
|
|
5600
5600
|
/* @__PURE__ */ l("span", { className: "font-medium text-sm", children: a }),
|
|
@@ -5603,7 +5603,7 @@ const la = ({ className: e, ...t }) => /* @__PURE__ */ l(Me, { className: y("not
|
|
|
5603
5603
|
/* @__PURE__ */ l(ae, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })
|
|
5604
5604
|
] });
|
|
5605
5605
|
}, ca = ({ className: e, ...t }) => /* @__PURE__ */ l(
|
|
5606
|
-
|
|
5606
|
+
ze,
|
|
5607
5607
|
{
|
|
5608
5608
|
className: y(
|
|
5609
5609
|
"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",
|
|
@@ -5623,7 +5623,7 @@ const la = ({ className: e, ...t }) => /* @__PURE__ */ l(Me, { className: y("not
|
|
|
5623
5623
|
const { t: o } = M(["tools_ui"]);
|
|
5624
5624
|
return /* @__PURE__ */ w("div", { className: y("space-y-2 overflow-hidden p-4", e), ...n, children: [
|
|
5625
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(
|
|
5626
|
+
/* @__PURE__ */ l("div", { className: "rounded-md bg-muted/50", children: /* @__PURE__ */ l(Re, { code: Qt(t), language: "json" }) })
|
|
5627
5627
|
] });
|
|
5628
5628
|
}, da = ({ className: e, output: t, errorText: n, ...o }) => {
|
|
5629
5629
|
const { t: r } = M(["tools_ui"]), [a, i] = $(!1);
|
|
@@ -5636,17 +5636,17 @@ const la = ({ className: e, ...t }) => /* @__PURE__ */ l(Me, { className: y("not
|
|
|
5636
5636
|
}, s = () => {
|
|
5637
5637
|
if (typeof t == "string")
|
|
5638
5638
|
try {
|
|
5639
|
-
const
|
|
5640
|
-
return /* @__PURE__ */ l(
|
|
5639
|
+
const p = JSON.parse(t);
|
|
5640
|
+
return /* @__PURE__ */ l(Re, { code: JSON.stringify(p, null, 2), language: "json" });
|
|
5641
5641
|
} catch {
|
|
5642
5642
|
return /* @__PURE__ */ l("div", { className: "p-4 text-sm whitespace-pre-wrap", dir: "ltr", children: t });
|
|
5643
5643
|
}
|
|
5644
|
-
return typeof t == "object" && t !== null && !("$$typeof" in t) ? /* @__PURE__ */ l(
|
|
5644
|
+
return typeof t == "object" && t !== null && !("$$typeof" in t) ? /* @__PURE__ */ l(Re, { code: JSON.stringify(t, null, 2), language: "json" }) : t;
|
|
5645
5645
|
};
|
|
5646
5646
|
return /* @__PURE__ */ w("div", { className: y("space-y-2 p-4", e), ...o, children: [
|
|
5647
5647
|
/* @__PURE__ */ l("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: r(n ? "error" : "result") }),
|
|
5648
5648
|
n && /* @__PURE__ */ w(Er, { children: [
|
|
5649
|
-
/* @__PURE__ */ l(Nr, { asChild: !0, children: /* @__PURE__ */ w(
|
|
5649
|
+
/* @__PURE__ */ l(Nr, { asChild: !0, children: /* @__PURE__ */ w(ee, { variant: "destructive", size: "sm", children: [
|
|
5650
5650
|
/* @__PURE__ */ l(St, { className: "mr-1.5 size-4" }),
|
|
5651
5651
|
r("view_error")
|
|
5652
5652
|
] }) }),
|
|
@@ -5654,7 +5654,7 @@ const la = ({ className: e, ...t }) => /* @__PURE__ */ l(Me, { className: y("not
|
|
|
5654
5654
|
/* @__PURE__ */ l(Ir, { children: /* @__PURE__ */ l(Rr, { className: "text-destructive", children: r("tool_error") }) }),
|
|
5655
5655
|
/* @__PURE__ */ w("div", { className: "space-y-4", children: [
|
|
5656
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) }) }),
|
|
5657
|
-
/* @__PURE__ */ w(
|
|
5657
|
+
/* @__PURE__ */ w(ee, { variant: "outline", size: "sm", onClick: c, children: [
|
|
5658
5658
|
/* @__PURE__ */ l(_t, { className: "mr-1.5 size-4" }),
|
|
5659
5659
|
r(a ? "copied" : "copy_error")
|
|
5660
5660
|
] })
|
|
@@ -5707,7 +5707,7 @@ function ha({
|
|
|
5707
5707
|
const s = document.createElement("a");
|
|
5708
5708
|
s.href = o.url, s.download = a, document.body.appendChild(s), s.click(), document.body.removeChild(s);
|
|
5709
5709
|
};
|
|
5710
|
-
return /* @__PURE__ */ l("div", { className: "py-2 animate-in-bubble", children: /* @__PURE__ */ l(Rt, { from: t.role, children: /* @__PURE__ */ l(
|
|
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
5711
|
/* @__PURE__ */ l(
|
|
5712
5712
|
"img",
|
|
5713
5713
|
{
|
|
@@ -5790,7 +5790,10 @@ const A = {
|
|
|
5790
5790
|
name: void 0,
|
|
5791
5791
|
adminTitle: void 0,
|
|
5792
5792
|
cacheNamespace: "gentiq",
|
|
5793
|
-
showSettings: !0
|
|
5793
|
+
showSettings: !0,
|
|
5794
|
+
settingsGeneralMode: "editable",
|
|
5795
|
+
settingsProfileMode: "editable",
|
|
5796
|
+
settingsAccountMode: "editable"
|
|
5794
5797
|
},
|
|
5795
5798
|
i18n: void 0,
|
|
5796
5799
|
settings: {
|
|
@@ -5800,8 +5803,8 @@ const A = {
|
|
|
5800
5803
|
account: { enabled: !0, fields: {} }
|
|
5801
5804
|
}
|
|
5802
5805
|
}
|
|
5803
|
-
}, en =
|
|
5804
|
-
function
|
|
5806
|
+
}, en = de(A);
|
|
5807
|
+
function W() {
|
|
5805
5808
|
return Oe(en);
|
|
5806
5809
|
}
|
|
5807
5810
|
function wl({
|
|
@@ -5814,7 +5817,7 @@ function wl({
|
|
|
5814
5817
|
disclaimer: i,
|
|
5815
5818
|
app: c,
|
|
5816
5819
|
i18n: s,
|
|
5817
|
-
settings:
|
|
5820
|
+
settings: p,
|
|
5818
5821
|
children: h
|
|
5819
5822
|
}) {
|
|
5820
5823
|
const f = wt(
|
|
@@ -5836,11 +5839,11 @@ function wl({
|
|
|
5836
5839
|
disclaimer: i ?? A.disclaimer,
|
|
5837
5840
|
app: c ? { ...A.app, ...c } : A.app,
|
|
5838
5841
|
i18n: s ?? A.i18n,
|
|
5839
|
-
settings:
|
|
5842
|
+
settings: p ? {
|
|
5840
5843
|
...A.settings,
|
|
5841
5844
|
sections: {
|
|
5842
5845
|
...A.settings?.sections,
|
|
5843
|
-
...
|
|
5846
|
+
...p.sections
|
|
5844
5847
|
}
|
|
5845
5848
|
} : A.settings
|
|
5846
5849
|
}),
|
|
@@ -5856,7 +5859,7 @@ const ga = {
|
|
|
5856
5859
|
setAccent: () => null,
|
|
5857
5860
|
radius: void 0,
|
|
5858
5861
|
setRadius: () => null
|
|
5859
|
-
}, tn =
|
|
5862
|
+
}, tn = de(ga);
|
|
5860
5863
|
function xl({
|
|
5861
5864
|
children: e,
|
|
5862
5865
|
defaultTheme: t = "system",
|
|
@@ -5867,10 +5870,10 @@ function xl({
|
|
|
5867
5870
|
() => window.localStorage.getItem(n) ?? t
|
|
5868
5871
|
), [i, c] = $(
|
|
5869
5872
|
() => window.localStorage.getItem(n + "-accent") || void 0
|
|
5870
|
-
), [s,
|
|
5873
|
+
), [s, p] = $(
|
|
5871
5874
|
() => window.localStorage.getItem(n + "-radius") || "1.25rem"
|
|
5872
|
-
), { theme: h } =
|
|
5873
|
-
|
|
5875
|
+
), { theme: h } = W(), { i18n: f } = M(["theme"]);
|
|
5876
|
+
Q(() => {
|
|
5874
5877
|
const m = window.document.documentElement;
|
|
5875
5878
|
if (m.classList.remove("light", "dark"), r === "system") {
|
|
5876
5879
|
const k = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
@@ -5878,11 +5881,11 @@ function xl({
|
|
|
5878
5881
|
return;
|
|
5879
5882
|
}
|
|
5880
5883
|
m.classList.add(r);
|
|
5881
|
-
}, [r]),
|
|
5884
|
+
}, [r]), Q(() => {
|
|
5882
5885
|
const m = window.document.documentElement, k = f.language?.split("-")[0] || f.language;
|
|
5883
|
-
let
|
|
5884
|
-
if (typeof
|
|
5885
|
-
const g =
|
|
5886
|
+
let d = h?.typography?.fontFamily;
|
|
5887
|
+
if (typeof d == "object" && d !== null && (d = d[f.language] || d[k] || d.en || Object.values(d)[0]), d) {
|
|
5888
|
+
const g = d.includes(" ") && !d.startsWith("'") && !d.startsWith('"') ? `"${d}"` : d;
|
|
5886
5889
|
m.style.setProperty("--gentiq-font-family", g), m.style.fontFamily = g, window.document.body && (window.document.body.style.fontFamily = g);
|
|
5887
5890
|
}
|
|
5888
5891
|
const v = s || (typeof h?.radius == "number" ? `${h.radius}px` : h?.radius);
|
|
@@ -5901,7 +5904,7 @@ function xl({
|
|
|
5901
5904
|
},
|
|
5902
5905
|
radius: s,
|
|
5903
5906
|
setRadius: (m) => {
|
|
5904
|
-
m ? window.localStorage.setItem(n + "-radius", m) : window.localStorage.removeItem(n + "-radius"),
|
|
5907
|
+
m ? window.localStorage.setItem(n + "-radius", m) : window.localStorage.removeItem(n + "-radius"), p(m);
|
|
5905
5908
|
}
|
|
5906
5909
|
};
|
|
5907
5910
|
return /* @__PURE__ */ l(tn.Provider, { ...o, value: b, children: e });
|
|
@@ -6055,18 +6058,18 @@ var va = {
|
|
|
6055
6058
|
return o;
|
|
6056
6059
|
}
|
|
6057
6060
|
};
|
|
6058
|
-
let
|
|
6061
|
+
let Y = null;
|
|
6059
6062
|
const yt = () => {
|
|
6060
|
-
if (
|
|
6063
|
+
if (Y !== null) return Y;
|
|
6061
6064
|
try {
|
|
6062
|
-
if (
|
|
6065
|
+
if (Y = typeof window < "u" && window.localStorage !== null, !Y)
|
|
6063
6066
|
return !1;
|
|
6064
6067
|
const e = "i18next.translate.boo";
|
|
6065
6068
|
window.localStorage.setItem(e, "foo"), window.localStorage.removeItem(e);
|
|
6066
6069
|
} catch {
|
|
6067
|
-
|
|
6070
|
+
Y = !1;
|
|
6068
6071
|
}
|
|
6069
|
-
return
|
|
6072
|
+
return Y;
|
|
6070
6073
|
};
|
|
6071
6074
|
var _a = {
|
|
6072
6075
|
name: "localStorage",
|
|
@@ -6086,18 +6089,18 @@ var _a = {
|
|
|
6086
6089
|
n && yt() && window.localStorage.setItem(n, e);
|
|
6087
6090
|
}
|
|
6088
6091
|
};
|
|
6089
|
-
let
|
|
6092
|
+
let X = null;
|
|
6090
6093
|
const vt = () => {
|
|
6091
|
-
if (
|
|
6094
|
+
if (X !== null) return X;
|
|
6092
6095
|
try {
|
|
6093
|
-
if (
|
|
6096
|
+
if (X = typeof window < "u" && window.sessionStorage !== null, !X)
|
|
6094
6097
|
return !1;
|
|
6095
6098
|
const e = "i18next.translate.boo";
|
|
6096
6099
|
window.sessionStorage.setItem(e, "foo"), window.sessionStorage.removeItem(e);
|
|
6097
6100
|
} catch {
|
|
6098
|
-
|
|
6101
|
+
X = !1;
|
|
6099
6102
|
}
|
|
6100
|
-
return
|
|
6103
|
+
return X;
|
|
6101
6104
|
};
|
|
6102
6105
|
var Sa = {
|
|
6103
6106
|
name: "sessionStorage",
|
|
@@ -6214,16 +6217,16 @@ class rn {
|
|
|
6214
6217
|
}
|
|
6215
6218
|
}
|
|
6216
6219
|
rn.type = "languageDetector";
|
|
6217
|
-
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." }, 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" }, Oa = { 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" }, Fa = { 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" }, 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)", 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
|
+
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)", 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 = {
|
|
6218
6221
|
sidebar: Ia,
|
|
6219
6222
|
chat: Ra,
|
|
6220
|
-
tools_ui:
|
|
6221
|
-
login:
|
|
6222
|
-
theme:
|
|
6223
|
+
tools_ui: Oa,
|
|
6224
|
+
login: Fa,
|
|
6225
|
+
theme: La,
|
|
6223
6226
|
admin: Da,
|
|
6224
6227
|
settings: Pa,
|
|
6225
6228
|
errors: Ma
|
|
6226
|
-
}, $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: "اجازه پین کردن گفتگوها" }, 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)", 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
|
+
}, $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)", 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 = {
|
|
6227
6230
|
sidebar: $a,
|
|
6228
6231
|
chat: Ua,
|
|
6229
6232
|
tools_ui: Ba,
|
|
@@ -6267,7 +6270,7 @@ function Sl({ className: e, type: t, ...n }) {
|
|
|
6267
6270
|
}
|
|
6268
6271
|
);
|
|
6269
6272
|
}
|
|
6270
|
-
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 = De(
|
|
6273
|
+
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(
|
|
6271
6274
|
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
|
6272
6275
|
), Za = an.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ l(
|
|
6273
6276
|
"label",
|
|
@@ -6279,13 +6282,13 @@ const El = "data:image/svg+xml,%3csvg%20version='1.2'%20xmlns='http://www.w3.org
|
|
|
6279
6282
|
));
|
|
6280
6283
|
Za.displayName = "Label";
|
|
6281
6284
|
function Nl({ ...e }) {
|
|
6282
|
-
return /* @__PURE__ */ l(
|
|
6285
|
+
return /* @__PURE__ */ l(L.Root, { "data-slot": "select", ...e });
|
|
6283
6286
|
}
|
|
6284
6287
|
function Tl({ ...e }) {
|
|
6285
|
-
return /* @__PURE__ */ l(
|
|
6288
|
+
return /* @__PURE__ */ l(L.Group, { "data-slot": "select-group", ...e });
|
|
6286
6289
|
}
|
|
6287
6290
|
function Cl({ ...e }) {
|
|
6288
|
-
return /* @__PURE__ */ l(
|
|
6291
|
+
return /* @__PURE__ */ l(L.Value, { "data-slot": "select-value", ...e });
|
|
6289
6292
|
}
|
|
6290
6293
|
function Al({
|
|
6291
6294
|
className: e,
|
|
@@ -6294,7 +6297,7 @@ function Al({
|
|
|
6294
6297
|
...o
|
|
6295
6298
|
}) {
|
|
6296
6299
|
return /* @__PURE__ */ w(
|
|
6297
|
-
|
|
6300
|
+
L.Trigger,
|
|
6298
6301
|
{
|
|
6299
6302
|
"data-slot": "select-trigger",
|
|
6300
6303
|
"data-size": t,
|
|
@@ -6305,7 +6308,7 @@ function Al({
|
|
|
6305
6308
|
...o,
|
|
6306
6309
|
children: [
|
|
6307
6310
|
n,
|
|
6308
|
-
/* @__PURE__ */ l(
|
|
6311
|
+
/* @__PURE__ */ l(L.Icon, { asChild: !0, children: /* @__PURE__ */ l(ae, { className: "size-4 opacity-50" }) })
|
|
6309
6312
|
]
|
|
6310
6313
|
}
|
|
6311
6314
|
);
|
|
@@ -6316,8 +6319,8 @@ function Il({
|
|
|
6316
6319
|
position: n = "popper",
|
|
6317
6320
|
...o
|
|
6318
6321
|
}) {
|
|
6319
|
-
return /* @__PURE__ */ l(
|
|
6320
|
-
|
|
6322
|
+
return /* @__PURE__ */ l(L.Portal, { children: /* @__PURE__ */ w(
|
|
6323
|
+
L.Content,
|
|
6321
6324
|
{
|
|
6322
6325
|
"data-slot": "select-content",
|
|
6323
6326
|
className: y(
|
|
@@ -6330,7 +6333,7 @@ function Il({
|
|
|
6330
6333
|
children: [
|
|
6331
6334
|
/* @__PURE__ */ l(Ja, {}),
|
|
6332
6335
|
/* @__PURE__ */ l(
|
|
6333
|
-
|
|
6336
|
+
L.Viewport,
|
|
6334
6337
|
{
|
|
6335
6338
|
className: y(
|
|
6336
6339
|
"p-1",
|
|
@@ -6346,7 +6349,7 @@ function Il({
|
|
|
6346
6349
|
}
|
|
6347
6350
|
function Rl({ className: e, ...t }) {
|
|
6348
6351
|
return /* @__PURE__ */ l(
|
|
6349
|
-
|
|
6352
|
+
L.Label,
|
|
6350
6353
|
{
|
|
6351
6354
|
"data-slot": "select-label",
|
|
6352
6355
|
className: y("text-muted-foreground px-2 py-1.5 text-xs", e),
|
|
@@ -6354,9 +6357,9 @@ function Rl({ className: e, ...t }) {
|
|
|
6354
6357
|
}
|
|
6355
6358
|
);
|
|
6356
6359
|
}
|
|
6357
|
-
function
|
|
6360
|
+
function Ol({ className: e, children: t, ...n }) {
|
|
6358
6361
|
return /* @__PURE__ */ w(
|
|
6359
|
-
|
|
6362
|
+
L.Item,
|
|
6360
6363
|
{
|
|
6361
6364
|
"data-slot": "select-item",
|
|
6362
6365
|
className: y(
|
|
@@ -6365,15 +6368,15 @@ function Ll({ className: e, children: t, ...n }) {
|
|
|
6365
6368
|
),
|
|
6366
6369
|
...n,
|
|
6367
6370
|
children: [
|
|
6368
|
-
/* @__PURE__ */ l("span", { className: "absolute inset-inline-end-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ l(
|
|
6369
|
-
/* @__PURE__ */ l(
|
|
6371
|
+
/* @__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" }) }) }),
|
|
6372
|
+
/* @__PURE__ */ l(L.ItemText, { children: t })
|
|
6370
6373
|
]
|
|
6371
6374
|
}
|
|
6372
6375
|
);
|
|
6373
6376
|
}
|
|
6374
|
-
function
|
|
6377
|
+
function Fl({ className: e, ...t }) {
|
|
6375
6378
|
return /* @__PURE__ */ l(
|
|
6376
|
-
|
|
6379
|
+
L.Separator,
|
|
6377
6380
|
{
|
|
6378
6381
|
"data-slot": "select-separator",
|
|
6379
6382
|
className: y("bg-border pointer-events-none -mx-1 my-1 h-px", e),
|
|
@@ -6383,7 +6386,7 @@ function Ol({ className: e, ...t }) {
|
|
|
6383
6386
|
}
|
|
6384
6387
|
function Ja({ className: e, ...t }) {
|
|
6385
6388
|
return /* @__PURE__ */ l(
|
|
6386
|
-
|
|
6389
|
+
L.ScrollUpButton,
|
|
6387
6390
|
{
|
|
6388
6391
|
"data-slot": "select-scroll-up-button",
|
|
6389
6392
|
className: y("flex cursor-default items-center justify-center py-1", e),
|
|
@@ -6397,7 +6400,7 @@ function Qa({
|
|
|
6397
6400
|
...t
|
|
6398
6401
|
}) {
|
|
6399
6402
|
return /* @__PURE__ */ l(
|
|
6400
|
-
|
|
6403
|
+
L.ScrollDownButton,
|
|
6401
6404
|
{
|
|
6402
6405
|
"data-slot": "select-scroll-down-button",
|
|
6403
6406
|
className: y("flex cursor-default items-center justify-center py-1", e),
|
|
@@ -6406,7 +6409,7 @@ function Qa({
|
|
|
6406
6409
|
}
|
|
6407
6410
|
);
|
|
6408
6411
|
}
|
|
6409
|
-
function
|
|
6412
|
+
function Ll(e, t) {
|
|
6410
6413
|
if (!e) return !0;
|
|
6411
6414
|
const { field: n, operator: o = "equals", value: r } = e, a = t[n];
|
|
6412
6415
|
switch (o) {
|
|
@@ -6490,16 +6493,16 @@ function $l({ className: e, ...t }) {
|
|
|
6490
6493
|
export {
|
|
6491
6494
|
kl as $,
|
|
6492
6495
|
Ir as A,
|
|
6493
|
-
|
|
6496
|
+
ee as B,
|
|
6494
6497
|
wl as C,
|
|
6495
6498
|
Er as D,
|
|
6496
6499
|
Rr as E,
|
|
6497
6500
|
vl as F,
|
|
6498
|
-
|
|
6501
|
+
Ln as G,
|
|
6499
6502
|
yl as H,
|
|
6500
6503
|
Sl as I,
|
|
6501
6504
|
$l as J,
|
|
6502
|
-
|
|
6505
|
+
fe as K,
|
|
6503
6506
|
Za as L,
|
|
6504
6507
|
ha as M,
|
|
6505
6508
|
Kn as N,
|
|
@@ -6512,11 +6515,11 @@ export {
|
|
|
6512
6515
|
Rl as U,
|
|
6513
6516
|
Qa as V,
|
|
6514
6517
|
Ja as W,
|
|
6515
|
-
|
|
6518
|
+
Fl as X,
|
|
6516
6519
|
kr as Y,
|
|
6517
6520
|
pa as Z,
|
|
6518
6521
|
lo as _,
|
|
6519
|
-
|
|
6522
|
+
W as a,
|
|
6520
6523
|
Zn as a0,
|
|
6521
6524
|
rn as a1,
|
|
6522
6525
|
zn as b,
|
|
@@ -6530,16 +6533,16 @@ export {
|
|
|
6530
6533
|
bl as j,
|
|
6531
6534
|
It as k,
|
|
6532
6535
|
_l as l,
|
|
6533
|
-
|
|
6536
|
+
Ll as m,
|
|
6534
6537
|
Nr as n,
|
|
6535
6538
|
Ar as o,
|
|
6536
6539
|
Al as p,
|
|
6537
6540
|
Cl as q,
|
|
6538
6541
|
Il as r,
|
|
6539
|
-
|
|
6542
|
+
Ol as s,
|
|
6540
6543
|
El as t,
|
|
6541
6544
|
S as u,
|
|
6542
|
-
|
|
6545
|
+
he as v,
|
|
6543
6546
|
Dl as w,
|
|
6544
6547
|
Pl as x,
|
|
6545
6548
|
Ml as y,
|