gentiq 0.7.31 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -0
- package/dist/{checkbox-CXJMAW8-.js → checkbox-CjhpdOWd.js} +717 -699
- package/dist/gentiq-admin.es.js +1447 -1145
- package/dist/gentiq-index.es.js +827 -817
- package/dist/gentiq.css +1 -1
- package/dist/src/admin/lib/api.d.ts +30 -3
- package/dist/src/admin/lib/format.d.ts +2 -0
- package/dist/src/hooks/useGentiqAdmin.d.ts +4 -1
- package/dist/src/hooks/useGentiqUser.d.ts +184 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/lib/api.d.ts +3 -3
- package/dist/src/locales/en.json.d.ts +32 -0
- package/dist/src/locales/fa.json.d.ts +32 -0
- package/dist/src/types.d.ts +35 -2
- package/package.json +1 -1
|
@@ -1,35 +1,36 @@
|
|
|
1
|
-
import { jsx as i, Fragment as
|
|
1
|
+
import { jsx as i, Fragment as J, jsxs as w } from "react/jsx-runtime";
|
|
2
2
|
import * as Ce from "react";
|
|
3
|
-
import { createContext as de, useContext as Fe, useState as B, useEffect as
|
|
3
|
+
import { createContext as de, useContext as Fe, useState as B, useEffect as Q, useCallback as oe, useMemo as St, Children as cn, useRef as Ge, memo as pe } from "react";
|
|
4
4
|
import { useTranslation as M, initReactI18next as un } from "react-i18next";
|
|
5
5
|
import { Slot as Et } from "@radix-ui/react-slot";
|
|
6
6
|
import { cva as De } from "class-variance-authority";
|
|
7
|
-
import { ArrowDownIcon as dn, ChevronDownIcon as ie, BookIcon as pn, XIcon as he, CheckIcon as Pe, ArrowUpIcon as hn, Loader2Icon as gn, SquareIcon as mn, FileIcon as Nt, PaperclipIcon as fn, MessageCircle as bn, RefreshCcwIcon as yn, ThumbsUpIcon as kn, ThumbsDownIcon as vn, CopyIcon as Tt, BrainIcon as
|
|
8
|
-
import * as
|
|
7
|
+
import { ArrowDownIcon as dn, ChevronDownIcon as ie, BookIcon as pn, XIcon as he, CheckIcon as Pe, ArrowUpIcon as hn, Loader2Icon as gn, SquareIcon as mn, FileIcon as Nt, PaperclipIcon as fn, MessageCircle as bn, RefreshCcwIcon as yn, ThumbsUpIcon as kn, ThumbsDownIcon as vn, CopyIcon as Tt, BrainIcon as _n, WrenchIcon as wn, ImagePlusIcon as xn, CodeIcon as Sn, DownloadIcon as ue, GlobeIcon as En, XCircleIcon as Ct, CheckCircleIcon as Nn, ClockIcon as Tn, CircleIcon as Cn, ChevronUpIcon as An } from "lucide-react";
|
|
8
|
+
import * as K from "@radix-ui/react-tooltip";
|
|
9
9
|
import { toast as In } from "sonner";
|
|
10
10
|
import "@radix-ui/react-scroll-area";
|
|
11
|
-
import {
|
|
11
|
+
import { useQuery as Rn } from "@tanstack/react-query";
|
|
12
|
+
import { Streamdown as On } from "streamdown";
|
|
12
13
|
import Ve from "katex";
|
|
13
14
|
import { useControllableState as We } from "@radix-ui/react-use-controllable-state";
|
|
14
15
|
import * as Me from "@radix-ui/react-collapsible";
|
|
15
16
|
import * as H from "@radix-ui/react-dialog";
|
|
16
17
|
import { PrismLight as U } from "react-syntax-highlighter";
|
|
17
|
-
import { StickToBottom as At, useStickToBottomContext as
|
|
18
|
-
import
|
|
18
|
+
import { StickToBottom as At, useStickToBottomContext as Ln } from "use-stick-to-bottom";
|
|
19
|
+
import Fn from "i18next";
|
|
19
20
|
import * as F from "@radix-ui/react-select";
|
|
20
21
|
import * as re from "@radix-ui/react-dropdown-menu";
|
|
21
22
|
import * as Ye from "@radix-ui/react-checkbox";
|
|
22
|
-
import { clsx as
|
|
23
|
-
import { twMerge as
|
|
24
|
-
const
|
|
23
|
+
import { clsx as Dn } from "clsx";
|
|
24
|
+
import { twMerge as Pn } from "tailwind-merge";
|
|
25
|
+
const Mn = {
|
|
25
26
|
theme: "system",
|
|
26
27
|
setTheme: () => null,
|
|
27
28
|
accent: void 0,
|
|
28
29
|
setAccent: () => null,
|
|
29
30
|
radius: void 0,
|
|
30
31
|
setRadius: () => null
|
|
31
|
-
}, It = de(
|
|
32
|
-
function
|
|
32
|
+
}, It = de(Mn);
|
|
33
|
+
function xi({
|
|
33
34
|
children: e,
|
|
34
35
|
defaultTheme: t = "system",
|
|
35
36
|
storageKey: n = "chatbot-theme",
|
|
@@ -41,29 +42,29 @@ function ki({
|
|
|
41
42
|
return u === "system" || u === "light" || u === "dark" ? u : void 0;
|
|
42
43
|
}), [c, s] = B(
|
|
43
44
|
() => window.localStorage.getItem(n + "-accent") || void 0
|
|
44
|
-
), [p,
|
|
45
|
+
), [p, f] = B(
|
|
45
46
|
() => window.localStorage.getItem(n + "-radius") || "1.25rem"
|
|
46
|
-
), { i18n: m } = M(["theme"]),
|
|
47
|
-
|
|
47
|
+
), { i18n: m } = M(["theme"]), g = a ?? o?.defaultTheme ?? t, b = c ?? o?.accent;
|
|
48
|
+
Q(() => {
|
|
48
49
|
const u = window.document.documentElement;
|
|
49
|
-
if (u.classList.remove("light", "dark"),
|
|
50
|
-
const
|
|
51
|
-
u.classList.add(
|
|
50
|
+
if (u.classList.remove("light", "dark"), g === "system") {
|
|
51
|
+
const _ = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
52
|
+
u.classList.add(_);
|
|
52
53
|
return;
|
|
53
54
|
}
|
|
54
|
-
u.classList.add(
|
|
55
|
-
}, [
|
|
56
|
-
const u = window.document.documentElement,
|
|
55
|
+
u.classList.add(g);
|
|
56
|
+
}, [g]), Q(() => {
|
|
57
|
+
const u = window.document.documentElement, _ = m.language?.split("-")[0] || m.language;
|
|
57
58
|
let v = o?.typography?.fontFamily;
|
|
58
|
-
if (typeof v == "object" && v !== null && (v = v[m.language] || v[
|
|
59
|
+
if (typeof v == "object" && v !== null && (v = v[m.language] || v[_] || v.en || Object.values(v)[0]), v) {
|
|
59
60
|
const C = v.includes(" ") && !v.startsWith("'") && !v.startsWith('"') ? `"${v}"` : v;
|
|
60
61
|
u.style.setProperty("--gentiq-font-family", C), u.style.fontFamily = C, window.document.body && (window.document.body.style.fontFamily = C);
|
|
61
62
|
}
|
|
62
63
|
const h = p || (typeof o?.radius == "number" ? `${o.radius}px` : o?.radius);
|
|
63
64
|
h !== void 0 && u.style.setProperty("--radius", h), b !== void 0 ? u.style.setProperty("--gentiq-primary", b) : u.style.removeProperty("--gentiq-primary"), window.document.documentElement.dir = m.dir();
|
|
64
65
|
}, [o, m, m.language, b, p]);
|
|
65
|
-
const
|
|
66
|
-
theme:
|
|
66
|
+
const y = {
|
|
67
|
+
theme: g,
|
|
67
68
|
setTheme: (u) => {
|
|
68
69
|
window.localStorage.setItem(n, u), l(u);
|
|
69
70
|
},
|
|
@@ -73,12 +74,12 @@ function ki({
|
|
|
73
74
|
},
|
|
74
75
|
radius: p,
|
|
75
76
|
setRadius: (u) => {
|
|
76
|
-
u ? window.localStorage.setItem(n + "-radius", u) : window.localStorage.removeItem(n + "-radius"),
|
|
77
|
+
u ? window.localStorage.setItem(n + "-radius", u) : window.localStorage.removeItem(n + "-radius"), f(u);
|
|
77
78
|
}
|
|
78
79
|
};
|
|
79
|
-
return /* @__PURE__ */ i(It.Provider, { ...r, value:
|
|
80
|
+
return /* @__PURE__ */ i(It.Provider, { ...r, value: y, children: e });
|
|
80
81
|
}
|
|
81
|
-
const
|
|
82
|
+
const Si = () => Fe(It), zn = {
|
|
82
83
|
// Auth Errors
|
|
83
84
|
UNAUTHORIZED: "unauthorized",
|
|
84
85
|
INVALID_CREDENTIALS: "invalid_credentials",
|
|
@@ -118,8 +119,8 @@ class Xe extends Error {
|
|
|
118
119
|
super(t.error.message), this.name = "GentiqError", this.code = t.error.code, this.status = n, this.details = t.error.details;
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
|
-
function
|
|
122
|
-
const n = typeof e == "string" ? e : e.message, o = typeof e == "string" ? e : e.code || (Object.values(
|
|
122
|
+
function Ei(e, t) {
|
|
123
|
+
const n = typeof e == "string" ? e : e.message, o = typeof e == "string" ? e : e.code || (Object.values(zn).includes(n) ? n : void 0);
|
|
123
124
|
if (typeof o != "string")
|
|
124
125
|
return n || String(e);
|
|
125
126
|
const r = `errors:${o}`, a = t(r);
|
|
@@ -134,7 +135,7 @@ let N = {
|
|
|
134
135
|
cacheNamespace: "gentiq"
|
|
135
136
|
}
|
|
136
137
|
};
|
|
137
|
-
const
|
|
138
|
+
const Un = {
|
|
138
139
|
getToken: () => localStorage.getItem("token"),
|
|
139
140
|
setToken: (e) => localStorage.setItem("token", e),
|
|
140
141
|
clearToken: () => {
|
|
@@ -145,7 +146,7 @@ const zn = {
|
|
|
145
146
|
return e ? { Authorization: `Bearer ${e}` } : {};
|
|
146
147
|
}
|
|
147
148
|
};
|
|
148
|
-
let L =
|
|
149
|
+
let L = Un;
|
|
149
150
|
const S = {
|
|
150
151
|
init: (e) => {
|
|
151
152
|
if (N = {
|
|
@@ -354,7 +355,7 @@ const S = {
|
|
|
354
355
|
return S.handleResponse(e, "Failed to fetch app configuration");
|
|
355
356
|
}
|
|
356
357
|
};
|
|
357
|
-
function
|
|
358
|
+
function $n(e, t) {
|
|
358
359
|
const [n, o] = B(
|
|
359
360
|
e.metadata?.feedback
|
|
360
361
|
), r = oe((l) => {
|
|
@@ -365,7 +366,7 @@ function Un(e, t) {
|
|
|
365
366
|
const c = n === l ? void 0 : l;
|
|
366
367
|
o(c);
|
|
367
368
|
try {
|
|
368
|
-
const s = e.parts.find((
|
|
369
|
+
const s = e.parts.find((f) => f.type === "data-message-id"), p = s ? s.data[0].message_id : e.id;
|
|
369
370
|
await S.saveFeedback(t, p, c ?? null);
|
|
370
371
|
} catch (s) {
|
|
371
372
|
console.error("Error saving feedback:", s);
|
|
@@ -377,9 +378,9 @@ function Un(e, t) {
|
|
|
377
378
|
copy: r
|
|
378
379
|
};
|
|
379
380
|
}
|
|
380
|
-
const
|
|
381
|
-
function
|
|
382
|
-
const { i18n: e } = M(["translation"]), { app: t } =
|
|
381
|
+
const Bn = /* @__PURE__ */ new Set(["ar", "fa", "he", "ur", "yi", "ku", "ckb", "ps", "sd", "ug", "arc", "syc"]);
|
|
382
|
+
function Hn() {
|
|
383
|
+
const { i18n: e } = M(["translation"]), { app: t } = W(), n = St(() => {
|
|
383
384
|
const l = S.getConfig(), c = t || l.app;
|
|
384
385
|
return {
|
|
385
386
|
name: c?.name || "Gentiq App",
|
|
@@ -388,8 +389,8 @@ function Bn() {
|
|
|
388
389
|
language: e.language || c?.language || "en",
|
|
389
390
|
showToolDetails: c?.showToolDetails ?? !0
|
|
390
391
|
};
|
|
391
|
-
}, [e.language, t]), o = (n.language ?? "").split("-")[0].toLowerCase(), r =
|
|
392
|
-
return
|
|
392
|
+
}, [e.language, t]), o = (n.language ?? "").split("-")[0].toLowerCase(), r = Bn.has(o), a = t?.language;
|
|
393
|
+
return Q(() => {
|
|
393
394
|
if (typeof window > "u") return;
|
|
394
395
|
const l = localStorage.getItem("gentiq-last-default-lang");
|
|
395
396
|
a && a !== l && (e.changeLanguage(a), localStorage.setItem("gentiq-last-default-lang", a)), document.documentElement.dir = r ? "rtl" : "ltr", document.documentElement.lang = e.language;
|
|
@@ -403,7 +404,7 @@ function Bn() {
|
|
|
403
404
|
error: null
|
|
404
405
|
};
|
|
405
406
|
}
|
|
406
|
-
function
|
|
407
|
+
function qn(e) {
|
|
407
408
|
const {
|
|
408
409
|
part: t,
|
|
409
410
|
message: n,
|
|
@@ -414,13 +415,13 @@ function Hn(e) {
|
|
|
414
415
|
conversationId: c,
|
|
415
416
|
isFinished: s,
|
|
416
417
|
renderMessagePart: p,
|
|
417
|
-
chat:
|
|
418
|
+
chat: f,
|
|
418
419
|
readonly: m
|
|
419
|
-
} = e, { showToolDetails:
|
|
420
|
+
} = e, { showToolDetails: g } = Hn(), { TextPart: b, ReasoningPart: y, ToolPart: u, FilePart: _, toolComponents: v, threadActions: h } = W(), { feedback: C, handleFeedback: E, copy: R } = $n(n, c);
|
|
420
421
|
if (p) {
|
|
421
422
|
const O = p(t, n);
|
|
422
423
|
if (O !== void 0)
|
|
423
|
-
return /* @__PURE__ */ i(
|
|
424
|
+
return /* @__PURE__ */ i(J, { children: O });
|
|
424
425
|
}
|
|
425
426
|
if (["data-progress-update", "data-message-id", "data-chat-finished", "data-title"].includes(t.type)) return null;
|
|
426
427
|
const z = n.parts.filter(
|
|
@@ -443,7 +444,7 @@ function Hn(e) {
|
|
|
443
444
|
retryEnabled: m ? !1 : h?.retry ?? !1
|
|
444
445
|
}
|
|
445
446
|
) : t.type === "reasoning" ? /* @__PURE__ */ i(
|
|
446
|
-
|
|
447
|
+
y,
|
|
447
448
|
{
|
|
448
449
|
part: t,
|
|
449
450
|
status: o,
|
|
@@ -456,22 +457,22 @@ function Hn(e) {
|
|
|
456
457
|
{
|
|
457
458
|
part: t,
|
|
458
459
|
message: n,
|
|
459
|
-
chat:
|
|
460
|
+
chat: f,
|
|
460
461
|
toolComponents: v,
|
|
461
|
-
showToolCalls: !!
|
|
462
|
+
showToolCalls: !!g
|
|
462
463
|
}
|
|
463
464
|
) : t.type === "file" ? /* @__PURE__ */ i(
|
|
464
|
-
|
|
465
|
+
_,
|
|
465
466
|
{
|
|
466
467
|
part: t,
|
|
467
468
|
message: n
|
|
468
469
|
}
|
|
469
470
|
) : null;
|
|
470
471
|
}
|
|
471
|
-
function
|
|
472
|
-
return Dn(
|
|
472
|
+
function k(...e) {
|
|
473
|
+
return Pn(Dn(e));
|
|
473
474
|
}
|
|
474
|
-
function
|
|
475
|
+
function Ni(e, t) {
|
|
475
476
|
if (t === "/") return e;
|
|
476
477
|
const n = e.endsWith("/") ? e.slice(0, -1) : e, o = t.startsWith("/") ? t : "/" + t;
|
|
477
478
|
return n + o;
|
|
@@ -479,7 +480,7 @@ function _i(e, t) {
|
|
|
479
480
|
const fe = ({ className: e, ...t }) => /* @__PURE__ */ i(
|
|
480
481
|
"div",
|
|
481
482
|
{
|
|
482
|
-
className:
|
|
483
|
+
className: k(
|
|
483
484
|
"flex items-center gap-1.5 px-1 py-3",
|
|
484
485
|
e
|
|
485
486
|
),
|
|
@@ -496,18 +497,18 @@ const fe = ({ className: e, ...t }) => /* @__PURE__ */ i(
|
|
|
496
497
|
n
|
|
497
498
|
))
|
|
498
499
|
}
|
|
499
|
-
),
|
|
500
|
+
), jn = /[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/;
|
|
500
501
|
function ge(e, t = "ltr") {
|
|
501
502
|
if (!e) return t;
|
|
502
503
|
for (const n of e) {
|
|
503
|
-
if (
|
|
504
|
+
if (jn.test(n))
|
|
504
505
|
return "rtl";
|
|
505
506
|
if (/[A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8]/.test(n))
|
|
506
507
|
return "ltr";
|
|
507
508
|
}
|
|
508
509
|
return "ltr";
|
|
509
510
|
}
|
|
510
|
-
const
|
|
511
|
+
const Gn = De(
|
|
511
512
|
"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",
|
|
512
513
|
{
|
|
513
514
|
variants: {
|
|
@@ -532,39 +533,39 @@ const jn = De(
|
|
|
532
533
|
}
|
|
533
534
|
}
|
|
534
535
|
);
|
|
535
|
-
function
|
|
536
|
+
function ee({
|
|
536
537
|
className: e,
|
|
537
538
|
variant: t,
|
|
538
539
|
size: n,
|
|
539
540
|
asChild: o = !1,
|
|
540
541
|
...r
|
|
541
542
|
}) {
|
|
542
|
-
return /* @__PURE__ */ i(o ? Et : "button", { "data-slot": "button", className:
|
|
543
|
+
return /* @__PURE__ */ i(o ? Et : "button", { "data-slot": "button", className: k(Gn({ variant: t, size: n, className: e })), ...r });
|
|
543
544
|
}
|
|
544
|
-
const
|
|
545
|
+
const Vn = ({ className: e, ...t }) => /* @__PURE__ */ i(
|
|
545
546
|
At,
|
|
546
547
|
{
|
|
547
|
-
className:
|
|
548
|
+
className: k("relative flex-1 overflow-hidden", e),
|
|
548
549
|
initial: "smooth",
|
|
549
550
|
resize: "smooth",
|
|
550
551
|
role: "log",
|
|
551
552
|
...t
|
|
552
553
|
}
|
|
553
|
-
),
|
|
554
|
+
), Wn = ({ className: e, ...t }) => /* @__PURE__ */ i(
|
|
554
555
|
At.Content,
|
|
555
556
|
{
|
|
556
|
-
className:
|
|
557
|
+
className: k("p-4 pb-6 stick-to-bottom", e),
|
|
557
558
|
scrollClassName: "custom-scrollbar",
|
|
558
559
|
...t
|
|
559
560
|
}
|
|
560
|
-
),
|
|
561
|
-
const { isAtBottom: n, scrollToBottom: o } =
|
|
561
|
+
), Yn = ({ className: e, ...t }) => {
|
|
562
|
+
const { isAtBottom: n, scrollToBottom: o } = Ln(), r = oe(() => {
|
|
562
563
|
o();
|
|
563
564
|
}, [o]);
|
|
564
565
|
return n ? null : /* @__PURE__ */ i(
|
|
565
566
|
"button",
|
|
566
567
|
{
|
|
567
|
-
className:
|
|
568
|
+
className: k(
|
|
568
569
|
"absolute bottom-32 left-1/2 -translate-x-1/2 z-10",
|
|
569
570
|
"flex items-center gap-1.5 px-4 py-2 rounded-full text-sm font-medium",
|
|
570
571
|
"glass border border-border/50 shadow-lg shadow-black/10",
|
|
@@ -590,40 +591,40 @@ function Ue({ ...e }) {
|
|
|
590
591
|
function $e({ ...e }) {
|
|
591
592
|
return /* @__PURE__ */ i(Me.CollapsibleContent, { "data-slot": "collapsible-content", ...e });
|
|
592
593
|
}
|
|
593
|
-
const
|
|
594
|
+
const Xn = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not-prose mb-4 text-primary text-xs", e), ...t }), Kn = ({ className: e, count: t, children: n, ...o }) => {
|
|
594
595
|
const { t: r } = M(["chat"]);
|
|
595
|
-
return /* @__PURE__ */ i(Ue, { className:
|
|
596
|
+
return /* @__PURE__ */ i(Ue, { className: k("flex items-center gap-2", e), ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
|
|
596
597
|
/* @__PURE__ */ i("p", { className: "font-medium", children: r("used_sources", { count: t }) }),
|
|
597
598
|
/* @__PURE__ */ i(ie, { className: "h-4 w-4" })
|
|
598
599
|
] }) });
|
|
599
|
-
},
|
|
600
|
+
}, Zn = ({ className: e, ...t }) => /* @__PURE__ */ i(
|
|
600
601
|
$e,
|
|
601
602
|
{
|
|
602
|
-
className:
|
|
603
|
+
className: k(
|
|
603
604
|
"mt-3 flex w-fit flex-col gap-2",
|
|
604
605
|
"data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",
|
|
605
606
|
e
|
|
606
607
|
),
|
|
607
608
|
...t
|
|
608
609
|
}
|
|
609
|
-
),
|
|
610
|
+
), Jn = ({ href: e, title: t, children: n, ...o }) => /* @__PURE__ */ i("a", { className: "flex items-center gap-2", href: e, rel: "noreferrer", target: "_blank", ...o, children: n ?? /* @__PURE__ */ w(J, { children: [
|
|
610
611
|
/* @__PURE__ */ i(pn, { className: "h-4 w-4" }),
|
|
611
612
|
/* @__PURE__ */ i("span", { className: "block font-medium", children: t })
|
|
612
|
-
] }) }),
|
|
613
|
+
] }) }), Qn = ({ latestProgress: e, parts: t }) => {
|
|
613
614
|
const n = e.data[0].status, o = e.data[0].message, r = t.lastIndexOf(e);
|
|
614
615
|
if (!!(t.slice(r + 1).some(
|
|
615
616
|
(m) => m.type === "text" && (m.text || "").trim().length > 0 || m.type === "tool-invocation" || m.type === "tool-call"
|
|
616
617
|
) && n !== "running")) return null;
|
|
617
|
-
const s = n === "running", p = n === "error",
|
|
618
|
-
return /* @__PURE__ */ i("div", { className:
|
|
618
|
+
const s = n === "running", p = n === "error", f = ge(o);
|
|
619
|
+
return /* @__PURE__ */ i("div", { className: k(
|
|
619
620
|
"flex w-full py-3 mx-auto max-w-4xl px-4 md:px-0 animate-in-bubble",
|
|
620
|
-
|
|
621
|
-
), children: /* @__PURE__ */
|
|
621
|
+
f === "rtl" ? "justify-end" : "justify-start"
|
|
622
|
+
), children: /* @__PURE__ */ w("div", { className: k("flex items-center gap-3 text-sm text-muted-foreground", f === "rtl" && "flex-row-reverse"), dir: f, children: [
|
|
622
623
|
s ? /* @__PURE__ */ i("div", { className: "size-4 animate-spin rounded-full border-2 border-primary border-r-transparent shrink-0" }) : p ? /* @__PURE__ */ i(he, { className: "size-4 text-destructive shrink-0" }) : /* @__PURE__ */ i(Pe, { className: "size-4 text-green-500 shrink-0" }),
|
|
623
|
-
/* @__PURE__ */ i("span", { className:
|
|
624
|
+
/* @__PURE__ */ i("span", { className: k("font-medium", s && "animate-pulse"), children: o })
|
|
624
625
|
] }) });
|
|
625
626
|
};
|
|
626
|
-
function
|
|
627
|
+
function eo({
|
|
627
628
|
messages: e,
|
|
628
629
|
status: t,
|
|
629
630
|
isLoadingHistory: n,
|
|
@@ -635,66 +636,66 @@ function Qn({
|
|
|
635
636
|
className: s,
|
|
636
637
|
readonly: p
|
|
637
638
|
}) {
|
|
638
|
-
const { i18n:
|
|
639
|
-
return /* @__PURE__ */
|
|
640
|
-
/* @__PURE__ */
|
|
641
|
-
e.length === 0 && !n ? /* @__PURE__ */ i(b, { onSuggestionClick: l }) : e.map((
|
|
642
|
-
|
|
643
|
-
/* @__PURE__ */ i(
|
|
644
|
-
|
|
639
|
+
const { i18n: f, t: m } = M(["chat", "translation"]), g = f.language === "fa", { WelcomeScreen: b } = W(), y = e[e.length - 1], u = y?.role === "assistant" && (t === "ready" || y.parts.some((_) => _.type === "data-chat-finished"));
|
|
640
|
+
return /* @__PURE__ */ w(Vn, { className: k("min-h-0 flex-1", s), children: [
|
|
641
|
+
/* @__PURE__ */ w(Wn, { className: "max-w-4xl mx-auto w-full px-4 md:px-0 pb-32", dir: "ltr", children: [
|
|
642
|
+
e.length === 0 && !n ? /* @__PURE__ */ i(b, { onSuggestionClick: l }) : e.map((_) => /* @__PURE__ */ w("div", { children: [
|
|
643
|
+
_.role === "assistant" && _.parts.filter((v) => v.type === "source-url").length > 0 && /* @__PURE__ */ w(Xn, { children: [
|
|
644
|
+
/* @__PURE__ */ i(Kn, { count: _.parts.filter((v) => v.type === "source-url").length }),
|
|
645
|
+
_.parts.filter((v) => v.type === "source-url").map((v, h) => /* @__PURE__ */ i(Zn, { children: /* @__PURE__ */ i(Jn, { href: v.url, title: v.url }, `${_.id}-${h}`) }, `${_.id}-${h}`))
|
|
645
646
|
] }),
|
|
646
|
-
|
|
647
|
-
|
|
647
|
+
_.parts.map((v, h) => /* @__PURE__ */ i(
|
|
648
|
+
qn,
|
|
648
649
|
{
|
|
649
650
|
part: v,
|
|
650
|
-
message:
|
|
651
|
+
message: _,
|
|
651
652
|
status: t,
|
|
652
653
|
index: h,
|
|
653
654
|
regen: a,
|
|
654
|
-
lastMessage:
|
|
655
|
+
lastMessage: _.id === e.at(-1)?.id,
|
|
655
656
|
conversationId: r,
|
|
656
657
|
isFinished: u,
|
|
657
658
|
chat: c,
|
|
658
659
|
readonly: p
|
|
659
660
|
},
|
|
660
|
-
`${
|
|
661
|
+
`${_.id}-${h}`
|
|
661
662
|
))
|
|
662
|
-
] },
|
|
663
|
+
] }, _.id)),
|
|
663
664
|
(() => {
|
|
664
|
-
if (!
|
|
665
|
-
const
|
|
666
|
-
if (
|
|
667
|
-
const v =
|
|
668
|
-
return v ? /* @__PURE__ */ i(
|
|
665
|
+
if (!y || y.role !== "assistant") return null;
|
|
666
|
+
const _ = y.parts.filter((h) => h.type === "data-progress-update");
|
|
667
|
+
if (_.length === 0) return null;
|
|
668
|
+
const v = _[_.length - 1];
|
|
669
|
+
return v ? /* @__PURE__ */ i(Qn, { latestProgress: v, parts: y.parts }) : null;
|
|
669
670
|
})(),
|
|
670
671
|
(n || t === "submitted") && /* @__PURE__ */ i("div", { className: "animate-in-bubble", children: /* @__PURE__ */ i(fe, {}) }),
|
|
671
672
|
t === "streaming" && (() => {
|
|
672
|
-
const
|
|
673
|
-
return !
|
|
673
|
+
const _ = e[e.length - 1];
|
|
674
|
+
return !_ || _.role === "user" ? /* @__PURE__ */ i(fe, {}) : _.parts?.some(
|
|
674
675
|
(h) => h.type === "text" && h.text?.trim().length > 0 || h.type === "reasoning" || h.type === "tool-invocation" || h.type === "tool-call"
|
|
675
676
|
) ? null : /* @__PURE__ */ i(fe, {});
|
|
676
677
|
})(),
|
|
677
|
-
t === "error" && o && /* @__PURE__ */ i("div", { className: "mx-auto max-w-4xl w-full px-4 my-3 animate-in-bubble", children: /* @__PURE__ */
|
|
678
|
+
t === "error" && o && /* @__PURE__ */ i("div", { className: "mx-auto max-w-4xl w-full px-4 my-3 animate-in-bubble", children: /* @__PURE__ */ w("div", { className: k(
|
|
678
679
|
"flex w-full items-start gap-3 px-4 py-3.5 rounded-xl bg-destructive/8 border border-destructive/15",
|
|
679
|
-
|
|
680
|
-
), dir:
|
|
680
|
+
g ? "border-r-2 border-r-destructive/60" : "border-l-2 border-l-destructive/60"
|
|
681
|
+
), dir: g ? "rtl" : "ltr", children: [
|
|
681
682
|
/* @__PURE__ */ i("div", { className: "size-1.5 rounded-full bg-destructive mt-2 shrink-0" }),
|
|
682
|
-
/* @__PURE__ */
|
|
683
|
+
/* @__PURE__ */ w("div", { className: k("text-sm text-destructive/90 leading-relaxed flex-1", g ? "text-right" : "text-left"), children: [
|
|
683
684
|
/* @__PURE__ */ i("span", { className: "font-semibold", children: m("error") }),
|
|
684
685
|
" ",
|
|
685
686
|
o.message
|
|
686
687
|
] })
|
|
687
688
|
] }) })
|
|
688
689
|
] }),
|
|
689
|
-
/* @__PURE__ */ i(
|
|
690
|
+
/* @__PURE__ */ i(Yn, {})
|
|
690
691
|
] });
|
|
691
692
|
}
|
|
692
|
-
function
|
|
693
|
+
function to({ className: e, ...t }) {
|
|
693
694
|
return /* @__PURE__ */ i(
|
|
694
695
|
"textarea",
|
|
695
696
|
{
|
|
696
697
|
"data-slot": "textarea",
|
|
697
|
-
className:
|
|
698
|
+
className: k(
|
|
698
699
|
"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
699
700
|
e
|
|
700
701
|
),
|
|
@@ -702,10 +703,10 @@ function eo({ className: e, ...t }) {
|
|
|
702
703
|
}
|
|
703
704
|
);
|
|
704
705
|
}
|
|
705
|
-
const
|
|
706
|
+
const no = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg-transparent w-full", children: /* @__PURE__ */ i(
|
|
706
707
|
"form",
|
|
707
708
|
{
|
|
708
|
-
className:
|
|
709
|
+
className: k(
|
|
709
710
|
"w-full flex items-end gap-2 overflow-hidden",
|
|
710
711
|
"rounded-lg bg-surface glow-primary",
|
|
711
712
|
"px-3 py-2",
|
|
@@ -717,7 +718,7 @@ const to = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
|
|
|
717
718
|
),
|
|
718
719
|
...t
|
|
719
720
|
}
|
|
720
|
-
) }),
|
|
721
|
+
) }), oo = ({
|
|
721
722
|
onChange: e,
|
|
722
723
|
className: t,
|
|
723
724
|
placeholder: n = "What would you like to know?",
|
|
@@ -733,10 +734,10 @@ const to = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
|
|
|
733
734
|
}
|
|
734
735
|
}, { i18n: a } = M(["chat"]), l = ge(o.value, a.dir());
|
|
735
736
|
return /* @__PURE__ */ i(
|
|
736
|
-
|
|
737
|
+
to,
|
|
737
738
|
{
|
|
738
739
|
dir: l,
|
|
739
|
-
className:
|
|
740
|
+
className: k(
|
|
740
741
|
"flex-1 resize-none rounded-none border-none shadow-none outline-none ring-0",
|
|
741
742
|
"px-2 py-2.5",
|
|
742
743
|
"field-sizing-content max-h-[6lh] bg-transparent dark:bg-transparent",
|
|
@@ -754,12 +755,12 @@ const to = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
|
|
|
754
755
|
...o
|
|
755
756
|
}
|
|
756
757
|
);
|
|
757
|
-
},
|
|
758
|
+
}, ro = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: k("flex shrink-0 items-center gap-1.5 pb-1", e), ...t }), ao = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: k("flex items-center gap-0.5", e), ...t }), io = ({ variant: e = "ghost", className: t, size: n, ...o }) => {
|
|
758
759
|
const r = n ?? cn.count(o.children) > 1 ? "default" : "icon";
|
|
759
760
|
return /* @__PURE__ */ i(
|
|
760
|
-
|
|
761
|
+
ee,
|
|
761
762
|
{
|
|
762
|
-
className:
|
|
763
|
+
className: k(
|
|
763
764
|
"shrink-0 gap-1.5 rounded-xl",
|
|
764
765
|
"text-muted-foreground hover:text-foreground",
|
|
765
766
|
"hover:bg-accent/60 transition-all duration-200",
|
|
@@ -773,7 +774,7 @@ const to = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
|
|
|
773
774
|
...o
|
|
774
775
|
}
|
|
775
776
|
);
|
|
776
|
-
},
|
|
777
|
+
}, lo = ({
|
|
777
778
|
className: e,
|
|
778
779
|
variant: t = "default",
|
|
779
780
|
size: n = "icon",
|
|
@@ -783,9 +784,9 @@ const to = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
|
|
|
783
784
|
}) => {
|
|
784
785
|
let l = /* @__PURE__ */ i(hn, { className: "size-4" });
|
|
785
786
|
return o === "submitted" ? l = /* @__PURE__ */ i(gn, { className: "size-4 animate-spin" }) : o === "streaming" ? l = /* @__PURE__ */ i(mn, { className: "size-3.5 fill-current" }) : o === "error" && (l = /* @__PURE__ */ i(he, { className: "size-4" })), /* @__PURE__ */ i(
|
|
786
|
-
|
|
787
|
+
ee,
|
|
787
788
|
{
|
|
788
|
-
className:
|
|
789
|
+
className: k(
|
|
789
790
|
"shrink-0 rounded-lg size-9",
|
|
790
791
|
"bg-gradient-to-br from-primary to-primary/80",
|
|
791
792
|
"text-primary-foreground",
|
|
@@ -808,13 +809,13 @@ const to = ({ className: e, ...t }) => /* @__PURE__ */ i("div", { className: "bg
|
|
|
808
809
|
);
|
|
809
810
|
};
|
|
810
811
|
function Rt({ delayDuration: e = 400, ...t }) {
|
|
811
|
-
return /* @__PURE__ */ i(
|
|
812
|
+
return /* @__PURE__ */ i(K.Provider, { "data-slot": "tooltip-provider", delayDuration: e, ...t });
|
|
812
813
|
}
|
|
813
814
|
function Ot({ ...e }) {
|
|
814
|
-
return /* @__PURE__ */ i(Rt, { children: /* @__PURE__ */ i(
|
|
815
|
+
return /* @__PURE__ */ i(Rt, { children: /* @__PURE__ */ i(K.Root, { "data-slot": "tooltip", ...e }) });
|
|
815
816
|
}
|
|
816
817
|
function Lt({ ...e }) {
|
|
817
|
-
return /* @__PURE__ */ i(
|
|
818
|
+
return /* @__PURE__ */ i(K.Trigger, { "data-slot": "tooltip-trigger", ...e });
|
|
818
819
|
}
|
|
819
820
|
function Ft({
|
|
820
821
|
className: e,
|
|
@@ -822,25 +823,25 @@ function Ft({
|
|
|
822
823
|
children: n,
|
|
823
824
|
...o
|
|
824
825
|
}) {
|
|
825
|
-
return /* @__PURE__ */ i(
|
|
826
|
-
|
|
826
|
+
return /* @__PURE__ */ i(K.Portal, { children: /* @__PURE__ */ w(
|
|
827
|
+
K.Content,
|
|
827
828
|
{
|
|
828
829
|
"data-slot": "tooltip-content",
|
|
829
830
|
sideOffset: t,
|
|
830
|
-
className:
|
|
831
|
+
className: k(
|
|
831
832
|
"bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-sm text-balance",
|
|
832
833
|
e
|
|
833
834
|
),
|
|
834
835
|
...o,
|
|
835
836
|
children: [
|
|
836
837
|
n,
|
|
837
|
-
/* @__PURE__ */ i(
|
|
838
|
+
/* @__PURE__ */ i(K.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
|
|
838
839
|
]
|
|
839
840
|
}
|
|
840
841
|
) });
|
|
841
842
|
}
|
|
842
843
|
const be = 768;
|
|
843
|
-
function
|
|
844
|
+
function so() {
|
|
844
845
|
const [e, t] = Ce.useState(void 0);
|
|
845
846
|
return Ce.useEffect(() => {
|
|
846
847
|
const n = window.matchMedia(`(max-width: ${be - 1}px)`), o = () => {
|
|
@@ -851,7 +852,7 @@ function lo() {
|
|
|
851
852
|
};
|
|
852
853
|
}, []), !!e;
|
|
853
854
|
}
|
|
854
|
-
function
|
|
855
|
+
function co({
|
|
855
856
|
onSend: e,
|
|
856
857
|
status: t,
|
|
857
858
|
isLastMessageFinished: n,
|
|
@@ -860,64 +861,64 @@ function so({
|
|
|
860
861
|
conversationId: a,
|
|
861
862
|
className: l
|
|
862
863
|
}) {
|
|
863
|
-
const { t: c } = M(["chat", "translation"]), { composer: s } =
|
|
864
|
-
|
|
865
|
-
!b && a === "/" &&
|
|
864
|
+
const { t: c } = M(["chat", "translation"]), { composer: s } = W(), [p, f] = B(""), [m, g] = B([]), b = so(), y = Ge(null), u = Ge(null);
|
|
865
|
+
Q(() => {
|
|
866
|
+
!b && a === "/" && y.current && y.current.focus();
|
|
866
867
|
}, [a, b]);
|
|
867
|
-
const
|
|
868
|
+
const _ = oe((E) => {
|
|
868
869
|
if (E.target.files) {
|
|
869
870
|
const R = Array.from(E.target.files), $ = s?.attachments?.maxSize;
|
|
870
871
|
if ($ && R.filter((ne) => ne.size > $).length > 0) {
|
|
871
872
|
In.error(c("file_too_large", { size: $ }));
|
|
872
873
|
return;
|
|
873
874
|
}
|
|
874
|
-
|
|
875
|
+
g((z) => [...z, ...R]);
|
|
875
876
|
}
|
|
876
877
|
E.target.value = "";
|
|
877
878
|
}, [s, c]), v = oe((E) => {
|
|
878
|
-
|
|
879
|
+
g((R) => R.filter(($, z) => z !== E));
|
|
879
880
|
}, []), h = t === "streaming" && !n, C = (E) => {
|
|
880
881
|
if (E.preventDefault(), !h && (p.trim() || m.length > 0)) {
|
|
881
882
|
const R = new DataTransfer();
|
|
882
|
-
m.forEach(($) => R.items.add($)), e(p, R.files),
|
|
883
|
+
m.forEach(($) => R.items.add($)), e(p, R.files), f(""), g([]);
|
|
883
884
|
}
|
|
884
885
|
};
|
|
885
|
-
return /* @__PURE__ */ i("div", { className:
|
|
886
|
+
return /* @__PURE__ */ i("div", { className: k("shrink-0 px-4 pb-5 pt-2 md:px-6 md:pb-6 w-full", l), children: /* @__PURE__ */ i("div", { className: "max-w-4xl mx-auto w-full", children: /* @__PURE__ */ w(no, { onSubmit: C, children: [
|
|
886
887
|
/* @__PURE__ */ i(
|
|
887
888
|
"input",
|
|
888
889
|
{
|
|
889
890
|
type: "file",
|
|
890
891
|
ref: u,
|
|
891
|
-
onChange:
|
|
892
|
+
onChange: _,
|
|
892
893
|
multiple: !0,
|
|
893
894
|
accept: s?.attachments?.types?.join(",") || "image/*,text/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx",
|
|
894
895
|
className: "hidden"
|
|
895
896
|
}
|
|
896
897
|
),
|
|
897
|
-
/* @__PURE__ */
|
|
898
|
-
m.length > 0 && /* @__PURE__ */ i("div", { className: "flex flex-wrap gap-2 px-2 pt-2", children: m.map((E, R) => /* @__PURE__ */
|
|
898
|
+
/* @__PURE__ */ w("div", { className: "flex flex-col flex-1 gap-2", children: [
|
|
899
|
+
m.length > 0 && /* @__PURE__ */ i("div", { className: "flex flex-wrap gap-2 px-2 pt-2", children: m.map((E, R) => /* @__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: [
|
|
899
900
|
E.type.startsWith("image/") ? /* @__PURE__ */ i("img", { src: URL.createObjectURL(E), alt: E.name, className: "size-7 rounded-lg object-cover ring-1 ring-border/50" }) : /* @__PURE__ */ i(Nt, { className: "size-3.5 text-muted-foreground shrink-0" }),
|
|
900
901
|
/* @__PURE__ */ i("span", { className: "max-w-[120px] truncate text-xs font-medium text-foreground/80", children: E.name }),
|
|
901
902
|
/* @__PURE__ */ i("button", { type: "button", onClick: () => v(R), className: "ml-0.5 flex items-center justify-center size-4 rounded-full hover:bg-destructive/15 text-muted-foreground/60 hover:text-destructive transition-all duration-150", children: /* @__PURE__ */ i(he, { className: "size-2.5" }) })
|
|
902
903
|
] }, `${E.name}-${R}`)) }),
|
|
903
904
|
/* @__PURE__ */ i(
|
|
904
|
-
|
|
905
|
+
oo,
|
|
905
906
|
{
|
|
906
|
-
ref:
|
|
907
|
-
onChange: (E) =>
|
|
907
|
+
ref: y,
|
|
908
|
+
onChange: (E) => f(E.target.value),
|
|
908
909
|
value: p,
|
|
909
910
|
autoFocus: !b,
|
|
910
911
|
placeholder: s?.placeholder ? c(s.placeholder) : c("input_placeholder")
|
|
911
912
|
}
|
|
912
913
|
)
|
|
913
914
|
] }),
|
|
914
|
-
/* @__PURE__ */
|
|
915
|
-
/* @__PURE__ */ i(
|
|
916
|
-
/* @__PURE__ */ i(Lt, { asChild: !0, children: /* @__PURE__ */ i(
|
|
915
|
+
/* @__PURE__ */ w(ro, { children: [
|
|
916
|
+
/* @__PURE__ */ i(ao, { children: (s?.attachments?.enabled ?? !1) && /* @__PURE__ */ w(Ot, { children: [
|
|
917
|
+
/* @__PURE__ */ i(Lt, { asChild: !0, children: /* @__PURE__ */ i(io, { variant: "ghost", onClick: () => u.current?.click(), disabled: h, children: /* @__PURE__ */ i(fn, { className: "size-4" }) }) }),
|
|
917
918
|
/* @__PURE__ */ i(Ft, { children: c("attach_file") })
|
|
918
919
|
] }) }),
|
|
919
920
|
/* @__PURE__ */ i(
|
|
920
|
-
|
|
921
|
+
lo,
|
|
921
922
|
{
|
|
922
923
|
disabled: t !== "streaming" && !p && m.length === 0,
|
|
923
924
|
status: r ? "error" : t === "error" ? void 0 : n ? "ready" : t,
|
|
@@ -927,7 +928,7 @@ function so({
|
|
|
927
928
|
] })
|
|
928
929
|
] }) }) });
|
|
929
930
|
}
|
|
930
|
-
const
|
|
931
|
+
const uo = ({
|
|
931
932
|
suggestion: e,
|
|
932
933
|
onClick: t,
|
|
933
934
|
className: n,
|
|
@@ -940,9 +941,9 @@ const co = ({
|
|
|
940
941
|
t?.(e);
|
|
941
942
|
};
|
|
942
943
|
return /* @__PURE__ */ i(
|
|
943
|
-
|
|
944
|
+
ee,
|
|
944
945
|
{
|
|
945
|
-
className:
|
|
946
|
+
className: k("cursor-pointer rounded-full px-4", n),
|
|
946
947
|
onClick: c,
|
|
947
948
|
size: r,
|
|
948
949
|
type: "button",
|
|
@@ -951,39 +952,54 @@ const co = ({
|
|
|
951
952
|
children: a ?? e
|
|
952
953
|
}
|
|
953
954
|
);
|
|
954
|
-
},
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
955
|
+
}, po = (e) => [e, "currentUser"];
|
|
956
|
+
function ho(e = {}) {
|
|
957
|
+
const { app: t } = W(), n = t?.cacheNamespace || "gentiq", o = Rn({
|
|
958
|
+
queryKey: po(n),
|
|
959
|
+
queryFn: () => S.getMe(),
|
|
960
|
+
enabled: e.enabled ?? !0
|
|
961
|
+
}), r = o.data ?? null, a = r?.name.trim() || null;
|
|
962
|
+
return {
|
|
963
|
+
...o,
|
|
964
|
+
user: r,
|
|
965
|
+
firstName: a
|
|
966
|
+
};
|
|
967
|
+
}
|
|
968
|
+
const go = ({ onSuggestionClick: e, icons: t }) => {
|
|
969
|
+
const { t: n, i18n: o } = M(["chat", "translation"]), { welcome: r } = W(), a = typeof r?.greeting == "function", { user: l, firstName: c, isLoading: s } = ho({
|
|
970
|
+
enabled: a
|
|
971
|
+
}), p = r?.prompts ?? [], f = p.map((u) => {
|
|
972
|
+
const _ = typeof u == "string" ? u : u.text;
|
|
973
|
+
return n(_);
|
|
974
|
+
}).filter((u) => u !== null && u !== ""), m = o.dir() === "rtl", g = r?.greeting, b = typeof g == "function" ? g({ user: l, firstName: c, isLoading: s, t: n }) : g ? n(g) ?? g : n("welcome.title"), y = r?.subtitle ? n(r.subtitle) : null;
|
|
975
|
+
return /* @__PURE__ */ w(
|
|
960
976
|
"div",
|
|
961
977
|
{
|
|
962
|
-
dir:
|
|
978
|
+
dir: m ? "rtl" : "ltr",
|
|
963
979
|
className: "flex flex-col items-center justify-center min-h-[60vh] text-center px-6 animate-in fade-in duration-700 ease-out",
|
|
964
980
|
children: [
|
|
965
|
-
r?.icon && /* @__PURE__ */
|
|
981
|
+
r?.icon && /* @__PURE__ */ w("div", { className: "mb-8 relative flex items-center justify-center", children: [
|
|
966
982
|
/* @__PURE__ */ i("div", { className: "absolute size-24 rounded-full bg-primary/5 blur-[40px] animate-pulse" }),
|
|
967
983
|
/* @__PURE__ */ i("div", { className: "relative size-12 md:size-16 rounded-xl bg-gradient-to-br from-surface to-secondary flex items-center justify-center border border-border/10 dark:border-border/5 shadow-xl shadow-black/10", children: typeof r.icon == "function" ? /* @__PURE__ */ i(r.icon, { className: "size-6 md:size-8 text-primary opacity-80" }) : r.icon })
|
|
968
984
|
] }),
|
|
969
|
-
(
|
|
970
|
-
|
|
971
|
-
|
|
985
|
+
(b || y) && /* @__PURE__ */ w("div", { className: "space-y-3 mb-12 max-w-xl mx-auto", children: [
|
|
986
|
+
b && /* @__PURE__ */ i("h1", { className: "text-2xl md:text-3xl font-black tracking-tight leading-tight text-foreground", children: b }),
|
|
987
|
+
y && /* @__PURE__ */ i("p", { className: "text-muted-foreground text-base md:text-lg font-medium max-w-md mx-auto leading-relaxed opacity-85 dark:opacity-70", children: y })
|
|
972
988
|
] }),
|
|
973
|
-
|
|
974
|
-
const
|
|
989
|
+
f.length > 0 && /* @__PURE__ */ i("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-3 w-full max-w-xl", children: f.map((u, _) => {
|
|
990
|
+
const v = p[_], h = typeof v != "string" ? v.icon : null, C = t && t[_ % t.length] ? t[_ % t.length] : bn, E = h || C;
|
|
975
991
|
return /* @__PURE__ */ i(
|
|
976
992
|
"div",
|
|
977
993
|
{
|
|
978
994
|
className: "animate-in fade-in slide-in-from-bottom-3 duration-700 fill-mode-both",
|
|
979
|
-
style: { animationDelay: `${
|
|
980
|
-
children: /* @__PURE__ */
|
|
981
|
-
|
|
995
|
+
style: { animationDelay: `${_ * 80}ms` },
|
|
996
|
+
children: /* @__PURE__ */ w(
|
|
997
|
+
uo,
|
|
982
998
|
{
|
|
983
|
-
onClick: () => e(
|
|
984
|
-
suggestion:
|
|
999
|
+
onClick: () => e(u),
|
|
1000
|
+
suggestion: u,
|
|
985
1001
|
variant: "ghost",
|
|
986
|
-
className:
|
|
1002
|
+
className: k(
|
|
987
1003
|
"h-full py-4 px-5 justify-start text-start items-center whitespace-normal w-full",
|
|
988
1004
|
"group rounded-xl relative overflow-hidden",
|
|
989
1005
|
"bg-secondary/45 border border-border/12 dark:bg-secondary/20 dark:border-border/5",
|
|
@@ -991,19 +1007,19 @@ const co = ({
|
|
|
991
1007
|
"hover:-translate-y-0.5 transition-[background-color,border-color,transform] duration-300 ease-out-quint"
|
|
992
1008
|
),
|
|
993
1009
|
children: [
|
|
994
|
-
/* @__PURE__ */
|
|
995
|
-
/* @__PURE__ */ i("div", { className: "size-8 rounded-lg bg-secondary/35 dark:bg-background/40 flex items-center justify-center shrink-0 border border-border/10 dark:border-border/5 group-hover:bg-primary group-hover:text-primary-foreground transition-colors duration-300", children: /* @__PURE__ */ i(
|
|
996
|
-
/* @__PURE__ */ i("div", { className: "flex flex-col gap-0.5 overflow-hidden", children: /* @__PURE__ */ i("span", { className: "text-sm md:text-base font-semibold text-foreground/80 group-hover:text-foreground transition-colors", children:
|
|
1010
|
+
/* @__PURE__ */ w("div", { className: "flex items-center gap-3 w-full text-start", children: [
|
|
1011
|
+
/* @__PURE__ */ i("div", { className: "size-8 rounded-lg bg-secondary/35 dark:bg-background/40 flex items-center justify-center shrink-0 border border-border/10 dark:border-border/5 group-hover:bg-primary group-hover:text-primary-foreground transition-colors duration-300", children: /* @__PURE__ */ i(E, { className: "size-4" }) }),
|
|
1012
|
+
/* @__PURE__ */ i("div", { className: "flex flex-col gap-0.5 overflow-hidden", children: /* @__PURE__ */ i("span", { className: "text-sm md:text-base font-semibold text-foreground/80 group-hover:text-foreground transition-colors", children: u.length > 60 ? u.substring(0, 60) + "..." : u }) })
|
|
997
1013
|
] }),
|
|
998
|
-
/* @__PURE__ */ i("div", { className:
|
|
1014
|
+
/* @__PURE__ */ i("div", { className: k(
|
|
999
1015
|
"absolute bottom-0 left-0 w-full h-[1.5px] bg-primary scale-x-0 group-hover:scale-x-100 transition-transform duration-500",
|
|
1000
|
-
|
|
1016
|
+
m ? "origin-right" : "origin-left"
|
|
1001
1017
|
) })
|
|
1002
1018
|
]
|
|
1003
1019
|
}
|
|
1004
1020
|
)
|
|
1005
1021
|
},
|
|
1006
|
-
|
|
1022
|
+
_
|
|
1007
1023
|
);
|
|
1008
1024
|
}) })
|
|
1009
1025
|
]
|
|
@@ -1012,7 +1028,7 @@ const co = ({
|
|
|
1012
1028
|
}, Dt = ({ className: e, from: t, ...n }) => /* @__PURE__ */ i(
|
|
1013
1029
|
"div",
|
|
1014
1030
|
{
|
|
1015
|
-
className:
|
|
1031
|
+
className: k(
|
|
1016
1032
|
"group flex w-full items-end gap-3",
|
|
1017
1033
|
t === "user" ? "is-user justify-end" : "is-assistant",
|
|
1018
1034
|
e
|
|
@@ -1022,7 +1038,7 @@ const co = ({
|
|
|
1022
1038
|
), Pt = ({ children: e, className: t, isPlain: n, ...o }) => /* @__PURE__ */ i(
|
|
1023
1039
|
"div",
|
|
1024
1040
|
{
|
|
1025
|
-
className:
|
|
1041
|
+
className: k(
|
|
1026
1042
|
"flex flex-col gap-2 overflow-hidden text-[1.0625rem]",
|
|
1027
1043
|
// User bubble: gradient pill with glow shadow
|
|
1028
1044
|
!n && [
|
|
@@ -1043,10 +1059,10 @@ const co = ({
|
|
|
1043
1059
|
...o,
|
|
1044
1060
|
children: e
|
|
1045
1061
|
}
|
|
1046
|
-
),
|
|
1062
|
+
), mo = ({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
|
|
1047
1063
|
"div",
|
|
1048
1064
|
{
|
|
1049
|
-
className:
|
|
1065
|
+
className: k(
|
|
1050
1066
|
"flex items-center gap-0.5",
|
|
1051
1067
|
"opacity-100",
|
|
1052
1068
|
"transition-opacity duration-200",
|
|
@@ -1064,10 +1080,10 @@ const co = ({
|
|
|
1064
1080
|
size: a = "sm",
|
|
1065
1081
|
...l
|
|
1066
1082
|
}) => {
|
|
1067
|
-
const c = /* @__PURE__ */
|
|
1068
|
-
|
|
1083
|
+
const c = /* @__PURE__ */ w(
|
|
1084
|
+
ee,
|
|
1069
1085
|
{
|
|
1070
|
-
className:
|
|
1086
|
+
className: k(
|
|
1071
1087
|
"size-7 p-1 rounded-lg",
|
|
1072
1088
|
"text-muted-foreground/60 hover:text-foreground",
|
|
1073
1089
|
"hover:bg-accent/70",
|
|
@@ -1085,7 +1101,7 @@ const co = ({
|
|
|
1085
1101
|
]
|
|
1086
1102
|
}
|
|
1087
1103
|
);
|
|
1088
|
-
return e ? /* @__PURE__ */ i(Rt, { children: /* @__PURE__ */
|
|
1104
|
+
return e ? /* @__PURE__ */ i(Rt, { children: /* @__PURE__ */ w(Ot, { children: [
|
|
1089
1105
|
/* @__PURE__ */ i(Lt, { asChild: !0, children: c }),
|
|
1090
1106
|
/* @__PURE__ */ i(Ft, { children: /* @__PURE__ */ i("p", { children: e }) })
|
|
1091
1107
|
] }) }) : c;
|
|
@@ -1142,17 +1158,17 @@ D.prototype.overloadedBoolean = !1;
|
|
|
1142
1158
|
D.prototype.property = "";
|
|
1143
1159
|
D.prototype.spaceSeparated = !1;
|
|
1144
1160
|
D.prototype.space = void 0;
|
|
1145
|
-
let
|
|
1146
|
-
const x = G(), I = G(), Ae = G(), d = G(), T = G(),
|
|
1161
|
+
let fo = 0;
|
|
1162
|
+
const x = G(), I = G(), Ae = G(), d = G(), T = G(), Z = G(), P = G();
|
|
1147
1163
|
function G() {
|
|
1148
|
-
return 2 ** ++
|
|
1164
|
+
return 2 ** ++fo;
|
|
1149
1165
|
}
|
|
1150
1166
|
const Ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1151
1167
|
__proto__: null,
|
|
1152
1168
|
boolean: x,
|
|
1153
1169
|
booleanish: I,
|
|
1154
1170
|
commaOrSpaceSeparated: P,
|
|
1155
|
-
commaSeparated:
|
|
1171
|
+
commaSeparated: Z,
|
|
1156
1172
|
number: d,
|
|
1157
1173
|
overloadedBoolean: Ae,
|
|
1158
1174
|
spaceSeparated: T
|
|
@@ -1187,7 +1203,7 @@ Be.prototype.defined = !0;
|
|
|
1187
1203
|
function Ke(e, t, n) {
|
|
1188
1204
|
n && (e[t] = n);
|
|
1189
1205
|
}
|
|
1190
|
-
function
|
|
1206
|
+
function te(e) {
|
|
1191
1207
|
const t = {}, n = {};
|
|
1192
1208
|
for (const [o, r] of Object.entries(e.properties)) {
|
|
1193
1209
|
const a = new Be(
|
|
@@ -1200,7 +1216,7 @@ function ee(e) {
|
|
|
1200
1216
|
}
|
|
1201
1217
|
return new le(t, n, e.space);
|
|
1202
1218
|
}
|
|
1203
|
-
const zt =
|
|
1219
|
+
const zt = te({
|
|
1204
1220
|
properties: {
|
|
1205
1221
|
ariaActiveDescendant: null,
|
|
1206
1222
|
ariaAtomic: I,
|
|
@@ -1262,7 +1278,7 @@ function Ut(e, t) {
|
|
|
1262
1278
|
function $t(e, t) {
|
|
1263
1279
|
return Ut(e, t.toLowerCase());
|
|
1264
1280
|
}
|
|
1265
|
-
const
|
|
1281
|
+
const bo = te({
|
|
1266
1282
|
attributes: {
|
|
1267
1283
|
acceptcharset: "accept-charset",
|
|
1268
1284
|
classname: "class",
|
|
@@ -1273,7 +1289,7 @@ const go = ee({
|
|
|
1273
1289
|
properties: {
|
|
1274
1290
|
// Standard Properties.
|
|
1275
1291
|
abbr: null,
|
|
1276
|
-
accept:
|
|
1292
|
+
accept: Z,
|
|
1277
1293
|
acceptCharset: T,
|
|
1278
1294
|
accessKey: T,
|
|
1279
1295
|
action: null,
|
|
@@ -1300,7 +1316,7 @@ const go = ee({
|
|
|
1300
1316
|
contentEditable: I,
|
|
1301
1317
|
controls: x,
|
|
1302
1318
|
controlsList: T,
|
|
1303
|
-
coords: d |
|
|
1319
|
+
coords: d | Z,
|
|
1304
1320
|
crossOrigin: null,
|
|
1305
1321
|
data: null,
|
|
1306
1322
|
dateTime: null,
|
|
@@ -1623,7 +1639,7 @@ const go = ee({
|
|
|
1623
1639
|
},
|
|
1624
1640
|
space: "html",
|
|
1625
1641
|
transform: $t
|
|
1626
|
-
}),
|
|
1642
|
+
}), yo = te({
|
|
1627
1643
|
attributes: {
|
|
1628
1644
|
accentHeight: "accent-height",
|
|
1629
1645
|
alignmentBaseline: "alignment-baseline",
|
|
@@ -1882,9 +1898,9 @@ const go = ee({
|
|
|
1882
1898
|
from: null,
|
|
1883
1899
|
fx: null,
|
|
1884
1900
|
fy: null,
|
|
1885
|
-
g1:
|
|
1886
|
-
g2:
|
|
1887
|
-
glyphName:
|
|
1901
|
+
g1: Z,
|
|
1902
|
+
g2: Z,
|
|
1903
|
+
glyphName: Z,
|
|
1888
1904
|
glyphOrientationHorizontal: null,
|
|
1889
1905
|
glyphOrientationVertical: null,
|
|
1890
1906
|
glyphRef: null,
|
|
@@ -2182,7 +2198,7 @@ const go = ee({
|
|
|
2182
2198
|
},
|
|
2183
2199
|
space: "svg",
|
|
2184
2200
|
transform: Ut
|
|
2185
|
-
}), Bt =
|
|
2201
|
+
}), Bt = te({
|
|
2186
2202
|
properties: {
|
|
2187
2203
|
xLinkActuate: null,
|
|
2188
2204
|
xLinkArcRole: null,
|
|
@@ -2196,31 +2212,31 @@ const go = ee({
|
|
|
2196
2212
|
transform(e, t) {
|
|
2197
2213
|
return "xlink:" + t.slice(5).toLowerCase();
|
|
2198
2214
|
}
|
|
2199
|
-
}), Ht =
|
|
2215
|
+
}), Ht = te({
|
|
2200
2216
|
attributes: { xmlnsxlink: "xmlns:xlink" },
|
|
2201
2217
|
properties: { xmlnsXLink: null, xmlns: null },
|
|
2202
2218
|
space: "xmlns",
|
|
2203
2219
|
transform: $t
|
|
2204
|
-
}), qt =
|
|
2220
|
+
}), qt = te({
|
|
2205
2221
|
properties: { xmlBase: null, xmlLang: null, xmlSpace: null },
|
|
2206
2222
|
space: "xml",
|
|
2207
2223
|
transform(e, t) {
|
|
2208
2224
|
return "xml:" + t.slice(3).toLowerCase();
|
|
2209
2225
|
}
|
|
2210
|
-
}),
|
|
2211
|
-
function
|
|
2226
|
+
}), ko = /[A-Z]/g, Ze = /-[a-z]/g, vo = /^data[-\w.:]+$/i;
|
|
2227
|
+
function _o(e, t) {
|
|
2212
2228
|
const n = ae(t);
|
|
2213
2229
|
let o = t, r = D;
|
|
2214
2230
|
if (n in e.normal)
|
|
2215
2231
|
return e.property[e.normal[n]];
|
|
2216
|
-
if (n.length > 4 && n.slice(0, 4) === "data" &&
|
|
2232
|
+
if (n.length > 4 && n.slice(0, 4) === "data" && vo.test(t)) {
|
|
2217
2233
|
if (t.charAt(4) === "-") {
|
|
2218
|
-
const a = t.slice(5).replace(Ze,
|
|
2234
|
+
const a = t.slice(5).replace(Ze, xo);
|
|
2219
2235
|
o = "data" + a.charAt(0).toUpperCase() + a.slice(1);
|
|
2220
2236
|
} else {
|
|
2221
2237
|
const a = t.slice(4);
|
|
2222
2238
|
if (!Ze.test(a)) {
|
|
2223
|
-
let l = a.replace(
|
|
2239
|
+
let l = a.replace(ko, wo);
|
|
2224
2240
|
l.charAt(0) !== "-" && (l = "-" + l), t = "data" + l;
|
|
2225
2241
|
}
|
|
2226
2242
|
}
|
|
@@ -2228,13 +2244,13 @@ function yo(e, t) {
|
|
|
2228
2244
|
}
|
|
2229
2245
|
return new r(o, t);
|
|
2230
2246
|
}
|
|
2231
|
-
function
|
|
2247
|
+
function wo(e) {
|
|
2232
2248
|
return "-" + e.toLowerCase();
|
|
2233
2249
|
}
|
|
2234
|
-
function
|
|
2250
|
+
function xo(e) {
|
|
2235
2251
|
return e.charAt(1).toUpperCase();
|
|
2236
2252
|
}
|
|
2237
|
-
const
|
|
2253
|
+
const So = Mt([zt, bo, Bt, Ht, qt], "html"), Eo = Mt([zt, yo, Bt, Ht, qt], "svg");
|
|
2238
2254
|
function Je(e) {
|
|
2239
2255
|
const t = [], n = String(e || "");
|
|
2240
2256
|
let o = n.indexOf(","), r = 0, a = !1;
|
|
@@ -2246,7 +2262,7 @@ function Je(e) {
|
|
|
2246
2262
|
return t;
|
|
2247
2263
|
}
|
|
2248
2264
|
const Qe = /[#.]/g;
|
|
2249
|
-
function
|
|
2265
|
+
function No(e, t) {
|
|
2250
2266
|
const n = e || "", o = {};
|
|
2251
2267
|
let r = 0, a, l;
|
|
2252
2268
|
for (; r < n.length; ) {
|
|
@@ -2267,7 +2283,7 @@ function et(e) {
|
|
|
2267
2283
|
return t ? t.split(/[ \t\n\r\f]+/g) : [];
|
|
2268
2284
|
}
|
|
2269
2285
|
function jt(e, t, n) {
|
|
2270
|
-
const o = n ?
|
|
2286
|
+
const o = n ? Io(n) : void 0;
|
|
2271
2287
|
function r(a, l, ...c) {
|
|
2272
2288
|
let s;
|
|
2273
2289
|
if (a == null) {
|
|
@@ -2278,13 +2294,13 @@ function jt(e, t, n) {
|
|
|
2278
2294
|
);
|
|
2279
2295
|
c.unshift(p);
|
|
2280
2296
|
} else {
|
|
2281
|
-
s =
|
|
2282
|
-
const p = s.tagName.toLowerCase(),
|
|
2283
|
-
if (s.tagName =
|
|
2297
|
+
s = No(a, t);
|
|
2298
|
+
const p = s.tagName.toLowerCase(), f = o ? o.get(p) : void 0;
|
|
2299
|
+
if (s.tagName = f || p, To(l))
|
|
2284
2300
|
c.unshift(l);
|
|
2285
2301
|
else
|
|
2286
|
-
for (const [m,
|
|
2287
|
-
|
|
2302
|
+
for (const [m, g] of Object.entries(l))
|
|
2303
|
+
Co(e, s.properties, m, g);
|
|
2288
2304
|
}
|
|
2289
2305
|
for (const p of c)
|
|
2290
2306
|
Re(s.children, p);
|
|
@@ -2292,7 +2308,7 @@ function jt(e, t, n) {
|
|
|
2292
2308
|
}
|
|
2293
2309
|
return r;
|
|
2294
2310
|
}
|
|
2295
|
-
function
|
|
2311
|
+
function To(e) {
|
|
2296
2312
|
if (e === null || typeof e != "object" || Array.isArray(e))
|
|
2297
2313
|
return !0;
|
|
2298
2314
|
if (typeof e.type != "string") return !1;
|
|
@@ -2315,14 +2331,14 @@ function So(e) {
|
|
|
2315
2331
|
}
|
|
2316
2332
|
return !!("children" in e && Array.isArray(e.children));
|
|
2317
2333
|
}
|
|
2318
|
-
function
|
|
2319
|
-
const r =
|
|
2334
|
+
function Co(e, t, n, o) {
|
|
2335
|
+
const r = _o(e, n);
|
|
2320
2336
|
let a;
|
|
2321
2337
|
if (o != null) {
|
|
2322
2338
|
if (typeof o == "number") {
|
|
2323
2339
|
if (Number.isNaN(o)) return;
|
|
2324
2340
|
a = o;
|
|
2325
|
-
} else typeof o == "boolean" ? a = o : typeof o == "string" ? r.spaceSeparated ? a = et(o) : r.commaSeparated ? a = Je(o) : r.commaOrSpaceSeparated ? a = et(Je(o).join(" ")) : a = tt(r, r.property, o) : Array.isArray(o) ? a = [...o] : a = r.property === "style" ?
|
|
2341
|
+
} else typeof o == "boolean" ? a = o : typeof o == "string" ? r.spaceSeparated ? a = et(o) : r.commaSeparated ? a = Je(o) : r.commaOrSpaceSeparated ? a = et(Je(o).join(" ")) : a = tt(r, r.property, o) : Array.isArray(o) ? a = [...o] : a = r.property === "style" ? Ao(o) : String(o);
|
|
2326
2342
|
if (Array.isArray(a)) {
|
|
2327
2343
|
const l = [];
|
|
2328
2344
|
for (const c of a)
|
|
@@ -2358,19 +2374,19 @@ function tt(e, t, n) {
|
|
|
2358
2374
|
}
|
|
2359
2375
|
return n;
|
|
2360
2376
|
}
|
|
2361
|
-
function
|
|
2377
|
+
function Ao(e) {
|
|
2362
2378
|
const t = [];
|
|
2363
2379
|
for (const [n, o] of Object.entries(e))
|
|
2364
2380
|
t.push([n, o].join(": "));
|
|
2365
2381
|
return t.join("; ");
|
|
2366
2382
|
}
|
|
2367
|
-
function
|
|
2383
|
+
function Io(e) {
|
|
2368
2384
|
const t = /* @__PURE__ */ new Map();
|
|
2369
2385
|
for (const n of e)
|
|
2370
2386
|
t.set(n.toLowerCase(), n);
|
|
2371
2387
|
return t;
|
|
2372
2388
|
}
|
|
2373
|
-
const
|
|
2389
|
+
const Ro = [
|
|
2374
2390
|
"altGlyph",
|
|
2375
2391
|
"altGlyphDef",
|
|
2376
2392
|
"altGlyphItem",
|
|
@@ -2410,28 +2426,28 @@ const Co = [
|
|
|
2410
2426
|
"solidColor",
|
|
2411
2427
|
"textArea",
|
|
2412
2428
|
"textPath"
|
|
2413
|
-
],
|
|
2429
|
+
], Oo = jt(So, "div"), Lo = jt(Eo, "g", Ro), ke = {
|
|
2414
2430
|
html: "http://www.w3.org/1999/xhtml",
|
|
2415
2431
|
svg: "http://www.w3.org/2000/svg"
|
|
2416
2432
|
};
|
|
2417
|
-
function
|
|
2433
|
+
function Fo(e, t) {
|
|
2418
2434
|
return Gt(e, {}) || { type: "root", children: [] };
|
|
2419
2435
|
}
|
|
2420
2436
|
function Gt(e, t) {
|
|
2421
|
-
const n =
|
|
2437
|
+
const n = Do(e, t);
|
|
2422
2438
|
return n && t.afterTransform && t.afterTransform(e, n), n;
|
|
2423
2439
|
}
|
|
2424
|
-
function
|
|
2440
|
+
function Do(e, t) {
|
|
2425
2441
|
switch (e.nodeType) {
|
|
2426
2442
|
case 1:
|
|
2427
|
-
return
|
|
2443
|
+
return Uo(
|
|
2428
2444
|
/** @type {Element} */
|
|
2429
2445
|
e,
|
|
2430
2446
|
t
|
|
2431
2447
|
);
|
|
2432
2448
|
// Ignore: Attr (2).
|
|
2433
2449
|
case 3:
|
|
2434
|
-
return
|
|
2450
|
+
return Mo(
|
|
2435
2451
|
/** @type {Text} */
|
|
2436
2452
|
e
|
|
2437
2453
|
);
|
|
@@ -2440,7 +2456,7 @@ function Oo(e, t) {
|
|
|
2440
2456
|
// Removed: Entity (6)
|
|
2441
2457
|
// Ignore: Processing instruction (7).
|
|
2442
2458
|
case 8:
|
|
2443
|
-
return
|
|
2459
|
+
return zo(
|
|
2444
2460
|
/** @type {Comment} */
|
|
2445
2461
|
e
|
|
2446
2462
|
);
|
|
@@ -2451,7 +2467,7 @@ function Oo(e, t) {
|
|
|
2451
2467
|
t
|
|
2452
2468
|
);
|
|
2453
2469
|
case 10:
|
|
2454
|
-
return
|
|
2470
|
+
return Po();
|
|
2455
2471
|
case 11:
|
|
2456
2472
|
return nt(
|
|
2457
2473
|
/** @type {DocumentFragment} */
|
|
@@ -2465,17 +2481,17 @@ function Oo(e, t) {
|
|
|
2465
2481
|
function nt(e, t) {
|
|
2466
2482
|
return { type: "root", children: Vt(e, t) };
|
|
2467
2483
|
}
|
|
2468
|
-
function
|
|
2484
|
+
function Po() {
|
|
2469
2485
|
return { type: "doctype" };
|
|
2470
2486
|
}
|
|
2471
|
-
function
|
|
2487
|
+
function Mo(e) {
|
|
2472
2488
|
return { type: "text", value: e.nodeValue || "" };
|
|
2473
2489
|
}
|
|
2474
|
-
function
|
|
2490
|
+
function zo(e) {
|
|
2475
2491
|
return { type: "comment", value: e.nodeValue || "" };
|
|
2476
2492
|
}
|
|
2477
|
-
function
|
|
2478
|
-
const n = e.namespaceURI, o = n === ke.svg ?
|
|
2493
|
+
function Uo(e, t) {
|
|
2494
|
+
const n = e.namespaceURI, o = n === ke.svg ? Lo : Oo, r = n === ke.html ? e.tagName.toLowerCase() : e.tagName, a = (
|
|
2479
2495
|
// @ts-expect-error: DOM types are wrong, content can exist.
|
|
2480
2496
|
n === ke.html && r === "template" ? e.content : e
|
|
2481
2497
|
), l = e.getAttributeNames(), c = {};
|
|
@@ -2494,14 +2510,14 @@ function Vt(e, t) {
|
|
|
2494
2510
|
return o;
|
|
2495
2511
|
}
|
|
2496
2512
|
new DOMParser();
|
|
2497
|
-
function
|
|
2498
|
-
const n =
|
|
2513
|
+
function $o(e, t) {
|
|
2514
|
+
const n = Bo(e);
|
|
2499
2515
|
return (
|
|
2500
2516
|
/** @type {Root} */
|
|
2501
|
-
|
|
2517
|
+
Fo(n)
|
|
2502
2518
|
);
|
|
2503
2519
|
}
|
|
2504
|
-
function
|
|
2520
|
+
function Bo(e) {
|
|
2505
2521
|
const t = document.createElement("template");
|
|
2506
2522
|
return t.innerHTML = e, t.content;
|
|
2507
2523
|
}
|
|
@@ -2522,24 +2538,24 @@ const He = (
|
|
|
2522
2538
|
*/
|
|
2523
2539
|
(function(e) {
|
|
2524
2540
|
if (e == null)
|
|
2525
|
-
return
|
|
2541
|
+
return Go;
|
|
2526
2542
|
if (typeof e == "function")
|
|
2527
2543
|
return me(e);
|
|
2528
2544
|
if (typeof e == "object")
|
|
2529
|
-
return Array.isArray(e) ?
|
|
2545
|
+
return Array.isArray(e) ? Ho(e) : (
|
|
2530
2546
|
// Cast because `ReadonlyArray` goes into the above but `isArray`
|
|
2531
2547
|
// narrows to `Array`.
|
|
2532
|
-
|
|
2548
|
+
qo(
|
|
2533
2549
|
/** @type {Props} */
|
|
2534
2550
|
e
|
|
2535
2551
|
)
|
|
2536
2552
|
);
|
|
2537
2553
|
if (typeof e == "string")
|
|
2538
|
-
return
|
|
2554
|
+
return jo(e);
|
|
2539
2555
|
throw new Error("Expected function, string, or object as test");
|
|
2540
2556
|
})
|
|
2541
2557
|
);
|
|
2542
|
-
function
|
|
2558
|
+
function Ho(e) {
|
|
2543
2559
|
const t = [];
|
|
2544
2560
|
let n = -1;
|
|
2545
2561
|
for (; ++n < e.length; )
|
|
@@ -2552,7 +2568,7 @@ function Uo(e) {
|
|
|
2552
2568
|
return !1;
|
|
2553
2569
|
}
|
|
2554
2570
|
}
|
|
2555
|
-
function
|
|
2571
|
+
function qo(e) {
|
|
2556
2572
|
const t = (
|
|
2557
2573
|
/** @type {Record<string, unknown>} */
|
|
2558
2574
|
e
|
|
@@ -2570,7 +2586,7 @@ function $o(e) {
|
|
|
2570
2586
|
return !0;
|
|
2571
2587
|
}
|
|
2572
2588
|
}
|
|
2573
|
-
function
|
|
2589
|
+
function jo(e) {
|
|
2574
2590
|
return me(t);
|
|
2575
2591
|
function t(n) {
|
|
2576
2592
|
return n && n.type === e;
|
|
@@ -2579,7 +2595,7 @@ function Bo(e) {
|
|
|
2579
2595
|
function me(e) {
|
|
2580
2596
|
return t;
|
|
2581
2597
|
function t(n, o, r) {
|
|
2582
|
-
return !!(
|
|
2598
|
+
return !!(Vo(n) && e.call(
|
|
2583
2599
|
this,
|
|
2584
2600
|
n,
|
|
2585
2601
|
typeof o == "number" ? o : void 0,
|
|
@@ -2587,10 +2603,10 @@ function me(e) {
|
|
|
2587
2603
|
));
|
|
2588
2604
|
}
|
|
2589
2605
|
}
|
|
2590
|
-
function
|
|
2606
|
+
function Go() {
|
|
2591
2607
|
return !0;
|
|
2592
2608
|
}
|
|
2593
|
-
function
|
|
2609
|
+
function Vo(e) {
|
|
2594
2610
|
return e !== null && typeof e == "object" && "type" in e;
|
|
2595
2611
|
}
|
|
2596
2612
|
const ot = (
|
|
@@ -2636,17 +2652,17 @@ const ot = (
|
|
|
2636
2652
|
*/
|
|
2637
2653
|
(function(e) {
|
|
2638
2654
|
if (e == null)
|
|
2639
|
-
return
|
|
2655
|
+
return Xo;
|
|
2640
2656
|
if (typeof e == "string")
|
|
2641
|
-
return
|
|
2657
|
+
return Yo(e);
|
|
2642
2658
|
if (typeof e == "object")
|
|
2643
|
-
return
|
|
2659
|
+
return Wo(e);
|
|
2644
2660
|
if (typeof e == "function")
|
|
2645
2661
|
return qe(e);
|
|
2646
2662
|
throw new Error("Expected function, string, or array as `test`");
|
|
2647
2663
|
})
|
|
2648
2664
|
);
|
|
2649
|
-
function
|
|
2665
|
+
function Wo(e) {
|
|
2650
2666
|
const t = [];
|
|
2651
2667
|
let n = -1;
|
|
2652
2668
|
for (; ++n < e.length; )
|
|
@@ -2659,7 +2675,7 @@ function jo(e) {
|
|
|
2659
2675
|
return !1;
|
|
2660
2676
|
}
|
|
2661
2677
|
}
|
|
2662
|
-
function
|
|
2678
|
+
function Yo(e) {
|
|
2663
2679
|
return qe(t);
|
|
2664
2680
|
function t(n) {
|
|
2665
2681
|
return n.tagName === e;
|
|
@@ -2668,7 +2684,7 @@ function Go(e) {
|
|
|
2668
2684
|
function qe(e) {
|
|
2669
2685
|
return t;
|
|
2670
2686
|
function t(n, o, r) {
|
|
2671
|
-
return !!(
|
|
2687
|
+
return !!(Ko(n) && e.call(
|
|
2672
2688
|
this,
|
|
2673
2689
|
n,
|
|
2674
2690
|
typeof o == "number" ? o : void 0,
|
|
@@ -2676,13 +2692,13 @@ function qe(e) {
|
|
|
2676
2692
|
));
|
|
2677
2693
|
}
|
|
2678
2694
|
}
|
|
2679
|
-
function
|
|
2695
|
+
function Xo(e) {
|
|
2680
2696
|
return !!(e && typeof e == "object" && "type" in e && e.type === "element" && "tagName" in e && typeof e.tagName == "string");
|
|
2681
2697
|
}
|
|
2682
|
-
function
|
|
2698
|
+
function Ko(e) {
|
|
2683
2699
|
return e !== null && typeof e == "object" && "type" in e && "tagName" in e;
|
|
2684
2700
|
}
|
|
2685
|
-
const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(
|
|
2701
|
+
const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(rr), Zo = V("p"), lt = V("tr"), Jo = V([
|
|
2686
2702
|
// List from: <https://html.spec.whatwg.org/multipage/rendering.html#hidden-elements>
|
|
2687
2703
|
"datalist",
|
|
2688
2704
|
"head",
|
|
@@ -2696,9 +2712,9 @@ const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(tr), Yo = V("p"), lt = V(
|
|
|
2696
2712
|
"template",
|
|
2697
2713
|
"title",
|
|
2698
2714
|
// Hidden attribute.
|
|
2699
|
-
|
|
2715
|
+
or,
|
|
2700
2716
|
// From: <https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3>
|
|
2701
|
-
|
|
2717
|
+
ar
|
|
2702
2718
|
]), Wt = V([
|
|
2703
2719
|
"address",
|
|
2704
2720
|
// Flow content
|
|
@@ -2781,7 +2797,7 @@ const rt = /\n/g, at = /[\t ]+/g, Oe = V("br"), it = V(tr), Yo = V("p"), lt = V(
|
|
|
2781
2797
|
"xmp"
|
|
2782
2798
|
// Flow content (legacy)
|
|
2783
2799
|
]);
|
|
2784
|
-
function
|
|
2800
|
+
function Qo(e, t) {
|
|
2785
2801
|
const n = t || {}, o = "children" in e ? e.children : [], r = Wt(e), a = Kt(e, {
|
|
2786
2802
|
whitespace: n.whitespace || "normal"
|
|
2787
2803
|
}), l = [];
|
|
@@ -2808,24 +2824,24 @@ function Ko(e, t) {
|
|
|
2808
2824
|
const s = [];
|
|
2809
2825
|
let p;
|
|
2810
2826
|
for (c = -1; ++c < l.length; ) {
|
|
2811
|
-
const
|
|
2812
|
-
typeof
|
|
2813
|
-
`.repeat(p) || " "), p = -1, s.push(
|
|
2827
|
+
const f = l[c];
|
|
2828
|
+
typeof f == "number" ? p !== void 0 && f > p && (p = f) : f && (p !== void 0 && p > -1 && s.push(`
|
|
2829
|
+
`.repeat(p) || " "), p = -1, s.push(f));
|
|
2814
2830
|
}
|
|
2815
2831
|
return s.join("");
|
|
2816
2832
|
}
|
|
2817
2833
|
function Yt(e, t, n) {
|
|
2818
|
-
return e.type === "element" ?
|
|
2834
|
+
return e.type === "element" ? er(e, t, n) : e.type === "text" ? n.whitespace === "normal" ? Xt(e, n) : tr(e) : [];
|
|
2819
2835
|
}
|
|
2820
|
-
function
|
|
2836
|
+
function er(e, t, n) {
|
|
2821
2837
|
const o = Kt(e, n), r = e.children || [];
|
|
2822
2838
|
let a = -1, l = [];
|
|
2823
|
-
if (
|
|
2839
|
+
if (Jo(e))
|
|
2824
2840
|
return l;
|
|
2825
2841
|
let c, s;
|
|
2826
2842
|
for (Oe(e) || lt(e) && // @ts-expect-error: something up with types of parents.
|
|
2827
2843
|
ot(t, e, lt) ? s = `
|
|
2828
|
-
` :
|
|
2844
|
+
` : Zo(e) ? (c = 2, s = 2) : Wt(e) && (c = 1, s = 1); ++a < r.length; )
|
|
2829
2845
|
l = l.concat(
|
|
2830
2846
|
Yt(r[a], e, {
|
|
2831
2847
|
whitespace: o,
|
|
@@ -2845,7 +2861,7 @@ function Xt(e, t) {
|
|
|
2845
2861
|
o.push(
|
|
2846
2862
|
// Any sequence of collapsible spaces and tabs immediately preceding or
|
|
2847
2863
|
// following a segment break is removed.
|
|
2848
|
-
|
|
2864
|
+
nr(
|
|
2849
2865
|
// […] ignoring bidi formatting characters (characters with the
|
|
2850
2866
|
// Bidi_Control property [UAX9]: ALM, LTR, RTL, LRE-RLO, LRI-PDI) as if
|
|
2851
2867
|
// they were not there.
|
|
@@ -2860,10 +2876,10 @@ function Xt(e, t) {
|
|
|
2860
2876
|
o[l].charCodeAt(o[l].length - 1) === 8203 || l < o.length - 1 && o[l + 1].charCodeAt(0) === 8203 ? (r.push(o[l]), c = void 0) : o[l] ? (typeof c == "number" && r.push(c), r.push(o[l]), c = 0) : (l === 0 || l === o.length - 1) && r.push(0);
|
|
2861
2877
|
return r;
|
|
2862
2878
|
}
|
|
2863
|
-
function
|
|
2879
|
+
function tr(e) {
|
|
2864
2880
|
return [String(e.value)];
|
|
2865
2881
|
}
|
|
2866
|
-
function
|
|
2882
|
+
function nr(e, t, n) {
|
|
2867
2883
|
const o = [];
|
|
2868
2884
|
let r = 0, a;
|
|
2869
2885
|
for (; r < e.length; ) {
|
|
@@ -2894,22 +2910,22 @@ function Kt(e, t) {
|
|
|
2894
2910
|
}
|
|
2895
2911
|
return t.whitespace;
|
|
2896
2912
|
}
|
|
2897
|
-
function
|
|
2913
|
+
function or(e) {
|
|
2898
2914
|
return !!(e.properties || {}).hidden;
|
|
2899
2915
|
}
|
|
2900
|
-
function
|
|
2916
|
+
function rr(e) {
|
|
2901
2917
|
return e.tagName === "td" || e.tagName === "th";
|
|
2902
2918
|
}
|
|
2903
|
-
function
|
|
2919
|
+
function ar(e) {
|
|
2904
2920
|
return e.tagName === "dialog" && !(e.properties || {}).open;
|
|
2905
2921
|
}
|
|
2906
|
-
const Zt = [],
|
|
2907
|
-
function
|
|
2922
|
+
const Zt = [], ir = !0, st = !1, Jt = "skip";
|
|
2923
|
+
function lr(e, t, n, o) {
|
|
2908
2924
|
let r;
|
|
2909
2925
|
r = t;
|
|
2910
2926
|
const a = He(r), l = 1;
|
|
2911
2927
|
c(e, void 0, [])();
|
|
2912
|
-
function c(s, p,
|
|
2928
|
+
function c(s, p, f) {
|
|
2913
2929
|
const m = (
|
|
2914
2930
|
/** @type {Record<string, unknown>} */
|
|
2915
2931
|
s && typeof s == "object" ? s : {}
|
|
@@ -2922,14 +2938,14 @@ function rr(e, t, n, o) {
|
|
|
2922
2938
|
typeof m.name == "string" ? m.name : void 0
|
|
2923
2939
|
)
|
|
2924
2940
|
);
|
|
2925
|
-
Object.defineProperty(
|
|
2941
|
+
Object.defineProperty(g, "name", {
|
|
2926
2942
|
value: "node (" + (s.type + (b ? "<" + b + ">" : "")) + ")"
|
|
2927
2943
|
});
|
|
2928
2944
|
}
|
|
2929
|
-
return
|
|
2930
|
-
function
|
|
2931
|
-
let b = Zt,
|
|
2932
|
-
if (a(s, p,
|
|
2945
|
+
return g;
|
|
2946
|
+
function g() {
|
|
2947
|
+
let b = Zt, y, u, _;
|
|
2948
|
+
if (a(s, p, f[f.length - 1] || void 0) && (b = sr(n(s, f)), b[0] === st))
|
|
2933
2949
|
return b;
|
|
2934
2950
|
if ("children" in s && s.children) {
|
|
2935
2951
|
const v = (
|
|
@@ -2937,43 +2953,43 @@ function rr(e, t, n, o) {
|
|
|
2937
2953
|
s
|
|
2938
2954
|
);
|
|
2939
2955
|
if (v.children && b[0] !== Jt)
|
|
2940
|
-
for (u = -1 + l,
|
|
2956
|
+
for (u = -1 + l, _ = f.concat(v); u > -1 && u < v.children.length; ) {
|
|
2941
2957
|
const h = v.children[u];
|
|
2942
|
-
if (
|
|
2943
|
-
return
|
|
2944
|
-
u = typeof
|
|
2958
|
+
if (y = c(h, u, _)(), y[0] === st)
|
|
2959
|
+
return y;
|
|
2960
|
+
u = typeof y[1] == "number" ? y[1] : u + l;
|
|
2945
2961
|
}
|
|
2946
2962
|
}
|
|
2947
2963
|
return b;
|
|
2948
2964
|
}
|
|
2949
2965
|
}
|
|
2950
2966
|
}
|
|
2951
|
-
function ar(e) {
|
|
2952
|
-
return Array.isArray(e) ? e : typeof e == "number" ? [or, e] : e == null ? Zt : [e];
|
|
2953
|
-
}
|
|
2954
|
-
const ir = {}, lr = [];
|
|
2955
2967
|
function sr(e) {
|
|
2956
|
-
|
|
2968
|
+
return Array.isArray(e) ? e : typeof e == "number" ? [ir, e] : e == null ? Zt : [e];
|
|
2969
|
+
}
|
|
2970
|
+
const cr = {}, ur = [];
|
|
2971
|
+
function dr(e) {
|
|
2972
|
+
const t = e || cr;
|
|
2957
2973
|
return function(n, o) {
|
|
2958
|
-
|
|
2959
|
-
const l = Array.isArray(r.properties.className) ? r.properties.className :
|
|
2960
|
-
let
|
|
2974
|
+
lr(n, "element", function(r, a) {
|
|
2975
|
+
const l = Array.isArray(r.properties.className) ? r.properties.className : ur, c = l.includes("language-math"), s = l.includes("math-display"), p = l.includes("math-inline");
|
|
2976
|
+
let f = s;
|
|
2961
2977
|
if (!c && !s && !p)
|
|
2962
2978
|
return;
|
|
2963
|
-
let m = a[a.length - 1],
|
|
2964
|
-
if (r.tagName === "code" && c && m && m.type === "element" && m.tagName === "pre" && (
|
|
2965
|
-
const b =
|
|
2966
|
-
let
|
|
2979
|
+
let m = a[a.length - 1], g = r;
|
|
2980
|
+
if (r.tagName === "code" && c && m && m.type === "element" && m.tagName === "pre" && (g = m, m = a[a.length - 2], f = !0), !m) return;
|
|
2981
|
+
const b = Qo(g, { whitespace: "pre" });
|
|
2982
|
+
let y;
|
|
2967
2983
|
try {
|
|
2968
|
-
|
|
2984
|
+
y = Ve.renderToString(b, {
|
|
2969
2985
|
...t,
|
|
2970
|
-
displayMode:
|
|
2986
|
+
displayMode: f,
|
|
2971
2987
|
throwOnError: !0
|
|
2972
2988
|
});
|
|
2973
|
-
} catch (
|
|
2989
|
+
} catch (_) {
|
|
2974
2990
|
const v = (
|
|
2975
2991
|
/** @type {Error} */
|
|
2976
|
-
|
|
2992
|
+
_
|
|
2977
2993
|
), h = v.name.toLowerCase();
|
|
2978
2994
|
o.message("Could not render math with KaTeX", {
|
|
2979
2995
|
ancestors: [...a, r],
|
|
@@ -2983,42 +2999,42 @@ function sr(e) {
|
|
|
2983
2999
|
source: "rehype-katex"
|
|
2984
3000
|
});
|
|
2985
3001
|
try {
|
|
2986
|
-
|
|
3002
|
+
y = Ve.renderToString(b, {
|
|
2987
3003
|
...t,
|
|
2988
|
-
displayMode:
|
|
3004
|
+
displayMode: f,
|
|
2989
3005
|
strict: "ignore",
|
|
2990
3006
|
throwOnError: !1
|
|
2991
3007
|
});
|
|
2992
3008
|
} catch {
|
|
2993
|
-
|
|
3009
|
+
y = [
|
|
2994
3010
|
{
|
|
2995
3011
|
type: "element",
|
|
2996
3012
|
tagName: "span",
|
|
2997
3013
|
properties: {
|
|
2998
3014
|
className: ["katex-error"],
|
|
2999
3015
|
style: "color:" + (t.errorColor || "#cc0000"),
|
|
3000
|
-
title: String(
|
|
3016
|
+
title: String(_)
|
|
3001
3017
|
},
|
|
3002
3018
|
children: [{ type: "text", value: b }]
|
|
3003
3019
|
}
|
|
3004
3020
|
];
|
|
3005
3021
|
}
|
|
3006
3022
|
}
|
|
3007
|
-
typeof
|
|
3008
|
-
|
|
3009
|
-
const u = m.children.indexOf(
|
|
3010
|
-
return m.children.splice(u, 1, ...
|
|
3023
|
+
typeof y == "string" && (y = /** @type {Array<ElementContent>} */
|
|
3024
|
+
$o(y).children);
|
|
3025
|
+
const u = m.children.indexOf(g);
|
|
3026
|
+
return m.children.splice(u, 1, ...y), Jt;
|
|
3011
3027
|
});
|
|
3012
3028
|
};
|
|
3013
3029
|
}
|
|
3014
|
-
function
|
|
3030
|
+
function pr(e, t) {
|
|
3015
3031
|
const n = String(e);
|
|
3016
3032
|
let o = n.indexOf(t), r = o, a = 0, l = 0;
|
|
3017
3033
|
for (; o !== -1; )
|
|
3018
3034
|
o === r ? ++a > l && (l = a) : a = 1, r = o + t.length, o = n.indexOf(t, r);
|
|
3019
3035
|
return l;
|
|
3020
3036
|
}
|
|
3021
|
-
function
|
|
3037
|
+
function hr() {
|
|
3022
3038
|
return {
|
|
3023
3039
|
enter: {
|
|
3024
3040
|
mathFlow: e,
|
|
@@ -3062,11 +3078,11 @@ function ur() {
|
|
|
3062
3078
|
this.data.mathFlowInside || (this.buffer(), this.data.mathFlowInside = !0);
|
|
3063
3079
|
}
|
|
3064
3080
|
function r(s) {
|
|
3065
|
-
const p = this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ""),
|
|
3066
|
-
|
|
3081
|
+
const p = this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ""), f = this.stack[this.stack.length - 1];
|
|
3082
|
+
f.type, this.exit(s), f.value = p;
|
|
3067
3083
|
const m = (
|
|
3068
3084
|
/** @type {HastElement} */
|
|
3069
|
-
|
|
3085
|
+
f.data.hChildren[0]
|
|
3070
3086
|
);
|
|
3071
3087
|
m.type, m.tagName, m.children.push({ type: "text", value: p }), this.data.mathFlowInside = void 0;
|
|
3072
3088
|
}
|
|
@@ -3085,16 +3101,16 @@ function ur() {
|
|
|
3085
3101
|
), this.buffer();
|
|
3086
3102
|
}
|
|
3087
3103
|
function l(s) {
|
|
3088
|
-
const p = this.resume(),
|
|
3089
|
-
|
|
3104
|
+
const p = this.resume(), f = this.stack[this.stack.length - 1];
|
|
3105
|
+
f.type, this.exit(s), f.value = p, /** @type {Array<HastElementContent>} */
|
|
3090
3106
|
// @ts-expect-error: we defined it in `enterMathFlow`.
|
|
3091
|
-
|
|
3107
|
+
f.data.hChildren.push({ type: "text", value: p });
|
|
3092
3108
|
}
|
|
3093
3109
|
function c(s) {
|
|
3094
3110
|
this.config.enter.data.call(this, s), this.config.exit.data.call(this, s);
|
|
3095
3111
|
}
|
|
3096
3112
|
}
|
|
3097
|
-
function
|
|
3113
|
+
function gr(e) {
|
|
3098
3114
|
let t = (e || {}).singleDollarTextMath;
|
|
3099
3115
|
return t == null && (t = !0), o.peek = r, {
|
|
3100
3116
|
unsafe: [
|
|
@@ -3112,45 +3128,45 @@ function dr(e) {
|
|
|
3112
3128
|
handlers: { math: n, inlineMath: o }
|
|
3113
3129
|
};
|
|
3114
3130
|
function n(a, l, c, s) {
|
|
3115
|
-
const p = a.value || "",
|
|
3116
|
-
let b =
|
|
3131
|
+
const p = a.value || "", f = c.createTracker(s), m = "$".repeat(Math.max(pr(p, "$") + 1, 2)), g = c.enter("mathFlow");
|
|
3132
|
+
let b = f.move(m);
|
|
3117
3133
|
if (a.meta) {
|
|
3118
|
-
const
|
|
3119
|
-
b +=
|
|
3134
|
+
const y = c.enter("mathFlowMeta");
|
|
3135
|
+
b += f.move(
|
|
3120
3136
|
c.safe(a.meta, {
|
|
3121
3137
|
after: `
|
|
3122
3138
|
`,
|
|
3123
3139
|
before: b,
|
|
3124
3140
|
encode: ["$"],
|
|
3125
|
-
...
|
|
3141
|
+
...f.current()
|
|
3126
3142
|
})
|
|
3127
|
-
),
|
|
3143
|
+
), y();
|
|
3128
3144
|
}
|
|
3129
|
-
return b +=
|
|
3130
|
-
`), p && (b +=
|
|
3131
|
-
`)), b +=
|
|
3145
|
+
return b += f.move(`
|
|
3146
|
+
`), p && (b += f.move(p + `
|
|
3147
|
+
`)), b += f.move(m), g(), b;
|
|
3132
3148
|
}
|
|
3133
3149
|
function o(a, l, c) {
|
|
3134
3150
|
let s = a.value || "", p = 1;
|
|
3135
3151
|
for (t || p++; new RegExp("(^|[^$])" + "\\$".repeat(p) + "([^$]|$)").test(s); )
|
|
3136
3152
|
p++;
|
|
3137
|
-
const
|
|
3153
|
+
const f = "$".repeat(p);
|
|
3138
3154
|
// Contains non-space.
|
|
3139
3155
|
/[^ \r\n]/.test(s) && // Starts with space and ends with space.
|
|
3140
3156
|
(/^[ \r\n]/.test(s) && /[ \r\n]$/.test(s) || // Starts or ends with dollar.
|
|
3141
3157
|
/^\$|\$$/.test(s)) && (s = " " + s + " ");
|
|
3142
3158
|
let m = -1;
|
|
3143
3159
|
for (; ++m < c.unsafe.length; ) {
|
|
3144
|
-
const
|
|
3145
|
-
if (!
|
|
3146
|
-
const b = c.compilePattern(
|
|
3147
|
-
let
|
|
3148
|
-
for (;
|
|
3149
|
-
let u =
|
|
3150
|
-
s.codePointAt(u) === 10 && s.codePointAt(u - 1) === 13 && u--, s = s.slice(0, u) + " " + s.slice(
|
|
3160
|
+
const g = c.unsafe[m];
|
|
3161
|
+
if (!g.atBreak) continue;
|
|
3162
|
+
const b = c.compilePattern(g);
|
|
3163
|
+
let y;
|
|
3164
|
+
for (; y = b.exec(s); ) {
|
|
3165
|
+
let u = y.index;
|
|
3166
|
+
s.codePointAt(u) === 10 && s.codePointAt(u - 1) === 13 && u--, s = s.slice(0, u) + " " + s.slice(y.index + 1);
|
|
3151
3167
|
}
|
|
3152
3168
|
}
|
|
3153
|
-
return
|
|
3169
|
+
return f + s + f;
|
|
3154
3170
|
}
|
|
3155
3171
|
function r() {
|
|
3156
3172
|
return "$";
|
|
@@ -3173,15 +3189,15 @@ function ce(e, t, n, o) {
|
|
|
3173
3189
|
return ct(s) && a++ < r ? (e.consume(s), c) : (e.exit(n), t(s));
|
|
3174
3190
|
}
|
|
3175
3191
|
}
|
|
3176
|
-
const
|
|
3177
|
-
tokenize:
|
|
3192
|
+
const mr = {
|
|
3193
|
+
tokenize: fr,
|
|
3178
3194
|
concrete: !0,
|
|
3179
3195
|
name: "mathFlow"
|
|
3180
3196
|
}, ut = {
|
|
3181
|
-
tokenize:
|
|
3197
|
+
tokenize: br,
|
|
3182
3198
|
partial: !0
|
|
3183
3199
|
};
|
|
3184
|
-
function
|
|
3200
|
+
function fr(e, t, n) {
|
|
3185
3201
|
const o = this, r = o.events[o.events.length - 1], a = r && r[1].type === "linePrefix" ? r[2].sliceSerialize(r[1], !0).length : 0;
|
|
3186
3202
|
let l = 0;
|
|
3187
3203
|
return c;
|
|
@@ -3194,30 +3210,30 @@ function hr(e, t, n) {
|
|
|
3194
3210
|
function p(h) {
|
|
3195
3211
|
return h === null || j(h) ? m(h) : (e.enter("mathFlowFenceMeta"), e.enter("chunkString", {
|
|
3196
3212
|
contentType: "string"
|
|
3197
|
-
}),
|
|
3213
|
+
}), f(h));
|
|
3198
3214
|
}
|
|
3199
|
-
function
|
|
3200
|
-
return h === null || j(h) ? (e.exit("chunkString"), e.exit("mathFlowFenceMeta"), m(h)) : h === 36 ? n(h) : (e.consume(h),
|
|
3215
|
+
function f(h) {
|
|
3216
|
+
return h === null || j(h) ? (e.exit("chunkString"), e.exit("mathFlowFenceMeta"), m(h)) : h === 36 ? n(h) : (e.consume(h), f);
|
|
3201
3217
|
}
|
|
3202
3218
|
function m(h) {
|
|
3203
|
-
return e.exit("mathFlowFence"), o.interrupt ? t(h) : e.attempt(ut,
|
|
3219
|
+
return e.exit("mathFlowFence"), o.interrupt ? t(h) : e.attempt(ut, g, _)(h);
|
|
3204
3220
|
}
|
|
3205
|
-
function
|
|
3221
|
+
function g(h) {
|
|
3206
3222
|
return e.attempt({
|
|
3207
3223
|
tokenize: v,
|
|
3208
3224
|
partial: !0
|
|
3209
|
-
},
|
|
3225
|
+
}, _, b)(h);
|
|
3210
3226
|
}
|
|
3211
3227
|
function b(h) {
|
|
3212
|
-
return (a ? ce(e,
|
|
3228
|
+
return (a ? ce(e, y, "linePrefix", a + 1) : y)(h);
|
|
3213
3229
|
}
|
|
3214
|
-
function
|
|
3215
|
-
return h === null ?
|
|
3230
|
+
function y(h) {
|
|
3231
|
+
return h === null ? _(h) : j(h) ? e.attempt(ut, g, _)(h) : (e.enter("mathFlowValue"), u(h));
|
|
3216
3232
|
}
|
|
3217
3233
|
function u(h) {
|
|
3218
|
-
return h === null || j(h) ? (e.exit("mathFlowValue"),
|
|
3234
|
+
return h === null || j(h) ? (e.exit("mathFlowValue"), y(h)) : (e.consume(h), u);
|
|
3219
3235
|
}
|
|
3220
|
-
function
|
|
3236
|
+
function _(h) {
|
|
3221
3237
|
return e.exit("mathFlow"), t(h);
|
|
3222
3238
|
}
|
|
3223
3239
|
function v(h, C, E) {
|
|
@@ -3234,7 +3250,7 @@ function hr(e, t, n) {
|
|
|
3234
3250
|
}
|
|
3235
3251
|
}
|
|
3236
3252
|
}
|
|
3237
|
-
function
|
|
3253
|
+
function br(e, t, n) {
|
|
3238
3254
|
const o = this;
|
|
3239
3255
|
return r;
|
|
3240
3256
|
function r(l) {
|
|
@@ -3244,35 +3260,35 @@ function gr(e, t, n) {
|
|
|
3244
3260
|
return o.parser.lazy[o.now().line] ? n(l) : t(l);
|
|
3245
3261
|
}
|
|
3246
3262
|
}
|
|
3247
|
-
function
|
|
3263
|
+
function yr(e) {
|
|
3248
3264
|
let n = (e || {}).singleDollarTextMath;
|
|
3249
3265
|
return n == null && (n = !0), {
|
|
3250
3266
|
tokenize: o,
|
|
3251
|
-
resolve:
|
|
3252
|
-
previous:
|
|
3267
|
+
resolve: kr,
|
|
3268
|
+
previous: vr,
|
|
3253
3269
|
name: "mathText"
|
|
3254
3270
|
};
|
|
3255
3271
|
function o(r, a, l) {
|
|
3256
3272
|
let c = 0, s, p;
|
|
3257
|
-
return
|
|
3258
|
-
function
|
|
3273
|
+
return f;
|
|
3274
|
+
function f(u) {
|
|
3259
3275
|
return r.enter("mathText"), r.enter("mathTextSequence"), m(u);
|
|
3260
3276
|
}
|
|
3261
3277
|
function m(u) {
|
|
3262
|
-
return u === 36 ? (r.consume(u), c++, m) : c < 2 && !n ? l(u) : (r.exit("mathTextSequence"),
|
|
3278
|
+
return u === 36 ? (r.consume(u), c++, m) : c < 2 && !n ? l(u) : (r.exit("mathTextSequence"), g(u));
|
|
3263
3279
|
}
|
|
3264
|
-
function
|
|
3265
|
-
return u === null ? l(u) : u === 36 ? (p = r.enter("mathTextSequence"), s = 0,
|
|
3280
|
+
function g(u) {
|
|
3281
|
+
return u === null ? l(u) : u === 36 ? (p = r.enter("mathTextSequence"), s = 0, y(u)) : u === 32 ? (r.enter("space"), r.consume(u), r.exit("space"), g) : j(u) ? (r.enter("lineEnding"), r.consume(u), r.exit("lineEnding"), g) : (r.enter("mathTextData"), b(u));
|
|
3266
3282
|
}
|
|
3267
3283
|
function b(u) {
|
|
3268
|
-
return u === null || u === 32 || u === 36 || j(u) ? (r.exit("mathTextData"),
|
|
3284
|
+
return u === null || u === 32 || u === 36 || j(u) ? (r.exit("mathTextData"), g(u)) : (r.consume(u), b);
|
|
3269
3285
|
}
|
|
3270
|
-
function
|
|
3271
|
-
return u === 36 ? (r.consume(u), s++,
|
|
3286
|
+
function y(u) {
|
|
3287
|
+
return u === 36 ? (r.consume(u), s++, y) : s === c ? (r.exit("mathTextSequence"), r.exit("mathText"), a(u)) : (p.type = "mathTextData", b(u));
|
|
3272
3288
|
}
|
|
3273
3289
|
}
|
|
3274
3290
|
}
|
|
3275
|
-
function
|
|
3291
|
+
function kr(e) {
|
|
3276
3292
|
let t = e.length - 4, n = 3, o, r;
|
|
3277
3293
|
if ((e[n][1].type === "lineEnding" || e[n][1].type === "space") && (e[t][1].type === "lineEnding" || e[t][1].type === "space")) {
|
|
3278
3294
|
for (o = n; ++o < t; )
|
|
@@ -3285,40 +3301,40 @@ function fr(e) {
|
|
|
3285
3301
|
r === void 0 ? o !== t && e[o][1].type !== "lineEnding" && (r = o) : (o === t || e[o][1].type === "lineEnding") && (e[r][1].type = "mathTextData", o !== r + 2 && (e[r][1].end = e[o - 1][1].end, e.splice(r + 2, o - r - 2), t -= o - r - 2, o = r + 2), r = void 0);
|
|
3286
3302
|
return e;
|
|
3287
3303
|
}
|
|
3288
|
-
function
|
|
3304
|
+
function vr(e) {
|
|
3289
3305
|
return e !== 36 || this.events[this.events.length - 1][1].type === "characterEscape";
|
|
3290
3306
|
}
|
|
3291
|
-
function
|
|
3307
|
+
function _r(e) {
|
|
3292
3308
|
return {
|
|
3293
3309
|
flow: {
|
|
3294
|
-
36:
|
|
3310
|
+
36: mr
|
|
3295
3311
|
},
|
|
3296
3312
|
text: {
|
|
3297
|
-
36:
|
|
3313
|
+
36: yr(e)
|
|
3298
3314
|
}
|
|
3299
3315
|
};
|
|
3300
3316
|
}
|
|
3301
|
-
const
|
|
3302
|
-
function
|
|
3317
|
+
const wr = {};
|
|
3318
|
+
function xr(e) {
|
|
3303
3319
|
const t = (
|
|
3304
3320
|
/** @type {Processor} */
|
|
3305
3321
|
this
|
|
3306
|
-
), n = e ||
|
|
3307
|
-
r.push(
|
|
3322
|
+
), n = e || wr, o = t.data(), r = o.micromarkExtensions || (o.micromarkExtensions = []), a = o.fromMarkdownExtensions || (o.fromMarkdownExtensions = []), l = o.toMarkdownExtensions || (o.toMarkdownExtensions = []);
|
|
3323
|
+
r.push(_r(n)), a.push(hr()), l.push(gr(n));
|
|
3308
3324
|
}
|
|
3309
|
-
function
|
|
3325
|
+
function Sr(e = {}) {
|
|
3310
3326
|
var t, n;
|
|
3311
|
-
let o = [
|
|
3327
|
+
let o = [xr, { singleDollarTextMath: (t = e.singleDollarTextMath) != null ? t : !1 }], r = [dr, { errorColor: (n = e.errorColor) != null ? n : "var(--color-muted-foreground)" }];
|
|
3312
3328
|
return { name: "katex", type: "math", remarkPlugin: o, rehypePlugin: r, getStyles() {
|
|
3313
3329
|
return "katex/dist/katex.min.css";
|
|
3314
3330
|
} };
|
|
3315
3331
|
}
|
|
3316
|
-
var dt =
|
|
3332
|
+
var dt = Sr();
|
|
3317
3333
|
const je = pe(
|
|
3318
3334
|
({ className: e, ...t }) => /* @__PURE__ */ i(
|
|
3319
|
-
|
|
3335
|
+
On,
|
|
3320
3336
|
{
|
|
3321
|
-
className:
|
|
3337
|
+
className: k("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 code-bg ", e),
|
|
3322
3338
|
...t,
|
|
3323
3339
|
remarkPlugins: [dt.remarkPlugin, ...t.remarkPlugins || []],
|
|
3324
3340
|
rehypePlugins: [dt.rehypePlugin, ...t.rehypePlugins || []]
|
|
@@ -3327,7 +3343,7 @@ const je = pe(
|
|
|
3327
3343
|
(e, t) => e.children === t.children
|
|
3328
3344
|
);
|
|
3329
3345
|
je.displayName = "Response";
|
|
3330
|
-
function
|
|
3346
|
+
function Er({
|
|
3331
3347
|
part: e,
|
|
3332
3348
|
message: t,
|
|
3333
3349
|
status: n,
|
|
@@ -3338,40 +3354,40 @@ function _r({
|
|
|
3338
3354
|
feedback: c,
|
|
3339
3355
|
handleFeedback: s,
|
|
3340
3356
|
copyHost: p,
|
|
3341
|
-
feedbackEnabled:
|
|
3357
|
+
feedbackEnabled: f,
|
|
3342
3358
|
retryEnabled: m
|
|
3343
3359
|
}) {
|
|
3344
|
-
const { t:
|
|
3360
|
+
const { t: g } = M(["chat"]), { textComponents: b, remarkPlugins: y, rehypePlugins: u } = W(), _ = ge(e.text), v = !o && r && (n === "streaming" || n === "submitted"), h = l || (() => {
|
|
3345
3361
|
});
|
|
3346
|
-
return /* @__PURE__ */
|
|
3347
|
-
/* @__PURE__ */ i(Dt, { from: t.role, children: /* @__PURE__ */ i(Pt, { dir:
|
|
3362
|
+
return /* @__PURE__ */ w("div", { className: "group py-2 first:pt-4 animate-in-bubble", children: [
|
|
3363
|
+
/* @__PURE__ */ i(Dt, { from: t.role, children: /* @__PURE__ */ i(Pt, { dir: _, children: /* @__PURE__ */ i(
|
|
3348
3364
|
je,
|
|
3349
3365
|
{
|
|
3350
|
-
className:
|
|
3366
|
+
className: k(t.role === "user" && "whitespace-pre-wrap break-words"),
|
|
3351
3367
|
components: b,
|
|
3352
|
-
remarkPlugins:
|
|
3368
|
+
remarkPlugins: y,
|
|
3353
3369
|
rehypePlugins: u,
|
|
3354
3370
|
children: e.text
|
|
3355
3371
|
}
|
|
3356
3372
|
) }) }),
|
|
3357
|
-
a && !v && /* @__PURE__ */
|
|
3358
|
-
t.role === "assistant" && /* @__PURE__ */
|
|
3373
|
+
a && !v && /* @__PURE__ */ w(mo, { className: k("mt-1.5 ml-0.5", t.role === "user" && "justify-end"), children: [
|
|
3374
|
+
t.role === "assistant" && /* @__PURE__ */ w(J, { children: [
|
|
3359
3375
|
r && m && /* @__PURE__ */ i(
|
|
3360
3376
|
se,
|
|
3361
3377
|
{
|
|
3362
3378
|
onClick: () => h(t.id),
|
|
3363
|
-
label:
|
|
3364
|
-
tooltip:
|
|
3379
|
+
label: g("retry"),
|
|
3380
|
+
tooltip: g("retry"),
|
|
3365
3381
|
children: /* @__PURE__ */ i(yn, { className: "size-3" })
|
|
3366
3382
|
}
|
|
3367
3383
|
),
|
|
3368
|
-
|
|
3384
|
+
f && /* @__PURE__ */ w(J, { children: [
|
|
3369
3385
|
/* @__PURE__ */ i(
|
|
3370
3386
|
se,
|
|
3371
3387
|
{
|
|
3372
3388
|
onClick: () => s("like"),
|
|
3373
|
-
label:
|
|
3374
|
-
tooltip:
|
|
3389
|
+
label: g("like"),
|
|
3390
|
+
tooltip: g("like"),
|
|
3375
3391
|
className: c === "like" ? "text-primary" : "",
|
|
3376
3392
|
children: /* @__PURE__ */ i(kn, { className: "size-3" })
|
|
3377
3393
|
}
|
|
@@ -3380,8 +3396,8 @@ function _r({
|
|
|
3380
3396
|
se,
|
|
3381
3397
|
{
|
|
3382
3398
|
onClick: () => s("dislike"),
|
|
3383
|
-
label:
|
|
3384
|
-
tooltip:
|
|
3399
|
+
label: g("dislike"),
|
|
3400
|
+
tooltip: g("dislike"),
|
|
3385
3401
|
className: c === "dislike" ? "text-destructive" : "",
|
|
3386
3402
|
children: /* @__PURE__ */ i(vn, { className: "size-3" })
|
|
3387
3403
|
}
|
|
@@ -3394,20 +3410,20 @@ function _r({
|
|
|
3394
3410
|
onClick: () => {
|
|
3395
3411
|
p(e.text);
|
|
3396
3412
|
},
|
|
3397
|
-
label:
|
|
3398
|
-
tooltip:
|
|
3413
|
+
label: g("copy"),
|
|
3414
|
+
tooltip: g("copy"),
|
|
3399
3415
|
children: /* @__PURE__ */ i(Tt, { className: "size-3" })
|
|
3400
3416
|
}
|
|
3401
3417
|
)
|
|
3402
3418
|
] })
|
|
3403
3419
|
] });
|
|
3404
3420
|
}
|
|
3405
|
-
const Qt = de(null),
|
|
3421
|
+
const Qt = de(null), Nr = () => {
|
|
3406
3422
|
const e = Fe(Qt);
|
|
3407
3423
|
if (!e)
|
|
3408
3424
|
throw new Error("Reasoning components must be used within Reasoning");
|
|
3409
3425
|
return e;
|
|
3410
|
-
},
|
|
3426
|
+
}, Tr = 1e3, Cr = 1e3, en = pe(
|
|
3411
3427
|
({
|
|
3412
3428
|
className: e,
|
|
3413
3429
|
isStreaming: t = !1,
|
|
@@ -3423,30 +3439,30 @@ const Qt = de(null), xr = () => {
|
|
|
3423
3439
|
prop: n,
|
|
3424
3440
|
defaultProp: o,
|
|
3425
3441
|
onChange: r
|
|
3426
|
-
}), [
|
|
3442
|
+
}), [f, m] = We({
|
|
3427
3443
|
prop: a,
|
|
3428
3444
|
defaultProp: 0
|
|
3429
|
-
}), [
|
|
3430
|
-
|
|
3431
|
-
t ?
|
|
3432
|
-
}, [t,
|
|
3433
|
-
if (o && !t && s && !
|
|
3445
|
+
}), [g, b] = B(!1), [y, u] = B(null);
|
|
3446
|
+
Q(() => {
|
|
3447
|
+
t ? y === null && u(Date.now()) : y !== null && (m(Math.ceil((Date.now() - y) / Cr)), u(null));
|
|
3448
|
+
}, [t, y, m]), Q(() => {
|
|
3449
|
+
if (o && !t && s && !g) {
|
|
3434
3450
|
const v = setTimeout(() => {
|
|
3435
3451
|
p(!1), b(!0);
|
|
3436
|
-
},
|
|
3452
|
+
}, Tr);
|
|
3437
3453
|
return () => {
|
|
3438
3454
|
clearTimeout(v);
|
|
3439
3455
|
};
|
|
3440
3456
|
}
|
|
3441
|
-
}, [t, s, o, p,
|
|
3442
|
-
const
|
|
3457
|
+
}, [t, s, o, p, g]);
|
|
3458
|
+
const _ = (v) => {
|
|
3443
3459
|
p(v);
|
|
3444
3460
|
};
|
|
3445
|
-
return /* @__PURE__ */ i(Qt.Provider, { value: { isStreaming: t, isOpen: s, setIsOpen: p, duration:
|
|
3461
|
+
return /* @__PURE__ */ i(Qt.Provider, { value: { isStreaming: t, isOpen: s, setIsOpen: p, duration: f }, children: /* @__PURE__ */ i(
|
|
3446
3462
|
ze,
|
|
3447
3463
|
{
|
|
3448
|
-
className:
|
|
3449
|
-
onOpenChange:
|
|
3464
|
+
className: k("not-prose mb-4", e),
|
|
3465
|
+
onOpenChange: _,
|
|
3450
3466
|
open: s,
|
|
3451
3467
|
...c,
|
|
3452
3468
|
children: l
|
|
@@ -3454,10 +3470,10 @@ const Qt = de(null), xr = () => {
|
|
|
3454
3470
|
) });
|
|
3455
3471
|
}
|
|
3456
3472
|
), tn = pe(({ className: e, children: t, ...n }) => {
|
|
3457
|
-
const { isStreaming: o, isOpen: r, duration: a } =
|
|
3458
|
-
return /* @__PURE__ */ i(Ue, { className:
|
|
3459
|
-
/* @__PURE__ */ i(
|
|
3460
|
-
o || a === 0 ? /* @__PURE__ */ i("p", { children: "Thinking..." }) : /* @__PURE__ */
|
|
3473
|
+
const { isStreaming: o, isOpen: r, duration: a } = Nr();
|
|
3474
|
+
return /* @__PURE__ */ i(Ue, { className: k("flex items-center gap-2 text-muted-foreground text-sm", e), ...n, children: t ?? /* @__PURE__ */ w(J, { children: [
|
|
3475
|
+
/* @__PURE__ */ i(_n, { className: "size-4" }),
|
|
3476
|
+
o || a === 0 ? /* @__PURE__ */ i("p", { children: "Thinking..." }) : /* @__PURE__ */ w("p", { children: [
|
|
3461
3477
|
"Thought for ",
|
|
3462
3478
|
a,
|
|
3463
3479
|
" ",
|
|
@@ -3466,14 +3482,14 @@ const Qt = de(null), xr = () => {
|
|
|
3466
3482
|
/* @__PURE__ */ i(
|
|
3467
3483
|
ie,
|
|
3468
3484
|
{
|
|
3469
|
-
className:
|
|
3485
|
+
className: k("size-4 text-muted-foreground transition-transform", r ? "rotate-180" : "rotate-0")
|
|
3470
3486
|
}
|
|
3471
3487
|
)
|
|
3472
3488
|
] }) });
|
|
3473
3489
|
}), nn = pe(({ className: e, children: t, ...n }) => /* @__PURE__ */ i(
|
|
3474
3490
|
$e,
|
|
3475
3491
|
{
|
|
3476
|
-
className:
|
|
3492
|
+
className: k(
|
|
3477
3493
|
"mt-4 text-base",
|
|
3478
3494
|
"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",
|
|
3479
3495
|
e
|
|
@@ -3485,7 +3501,7 @@ const Qt = de(null), xr = () => {
|
|
|
3485
3501
|
en.displayName = "Reasoning";
|
|
3486
3502
|
tn.displayName = "ReasoningTrigger";
|
|
3487
3503
|
nn.displayName = "ReasoningContent";
|
|
3488
|
-
function
|
|
3504
|
+
function Ar({
|
|
3489
3505
|
part: e,
|
|
3490
3506
|
status: t,
|
|
3491
3507
|
index: n,
|
|
@@ -3493,7 +3509,7 @@ function Nr({
|
|
|
3493
3509
|
lastMessage: r
|
|
3494
3510
|
}) {
|
|
3495
3511
|
const a = ge(e.text);
|
|
3496
|
-
return /* @__PURE__ */
|
|
3512
|
+
return /* @__PURE__ */ w(
|
|
3497
3513
|
en,
|
|
3498
3514
|
{
|
|
3499
3515
|
className: "w-full animate-in-bubble",
|
|
@@ -3505,7 +3521,7 @@ function Nr({
|
|
|
3505
3521
|
}
|
|
3506
3522
|
);
|
|
3507
3523
|
}
|
|
3508
|
-
const
|
|
3524
|
+
const Ir = De(
|
|
3509
3525
|
"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",
|
|
3510
3526
|
{
|
|
3511
3527
|
variants: {
|
|
@@ -3521,32 +3537,32 @@ const Tr = De(
|
|
|
3521
3537
|
}
|
|
3522
3538
|
}
|
|
3523
3539
|
);
|
|
3524
|
-
function
|
|
3540
|
+
function Rr({
|
|
3525
3541
|
className: e,
|
|
3526
3542
|
variant: t,
|
|
3527
3543
|
asChild: n = !1,
|
|
3528
3544
|
...o
|
|
3529
3545
|
}) {
|
|
3530
|
-
return /* @__PURE__ */ i(n ? Et : "span", { "data-slot": "badge", className:
|
|
3546
|
+
return /* @__PURE__ */ i(n ? Et : "span", { "data-slot": "badge", className: k(Ir({ variant: t }), e), ...o });
|
|
3531
3547
|
}
|
|
3532
|
-
function
|
|
3548
|
+
function Or({ ...e }) {
|
|
3533
3549
|
return /* @__PURE__ */ i(H.Root, { "data-slot": "dialog", ...e });
|
|
3534
3550
|
}
|
|
3535
|
-
function
|
|
3551
|
+
function Lr({ ...e }) {
|
|
3536
3552
|
return /* @__PURE__ */ i(H.Trigger, { "data-slot": "dialog-trigger", ...e });
|
|
3537
3553
|
}
|
|
3538
|
-
function
|
|
3554
|
+
function Fr({ ...e }) {
|
|
3539
3555
|
return /* @__PURE__ */ i(H.Portal, { "data-slot": "dialog-portal", ...e });
|
|
3540
3556
|
}
|
|
3541
|
-
function
|
|
3557
|
+
function Ti({ ...e }) {
|
|
3542
3558
|
return /* @__PURE__ */ i(H.Close, { "data-slot": "dialog-close", ...e });
|
|
3543
3559
|
}
|
|
3544
|
-
function
|
|
3560
|
+
function Dr({ className: e, ...t }) {
|
|
3545
3561
|
return /* @__PURE__ */ i(
|
|
3546
3562
|
H.Overlay,
|
|
3547
3563
|
{
|
|
3548
3564
|
"data-slot": "dialog-overlay",
|
|
3549
|
-
className:
|
|
3565
|
+
className: k(
|
|
3550
3566
|
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
|
|
3551
3567
|
e
|
|
3552
3568
|
),
|
|
@@ -3554,26 +3570,26 @@ function Or({ className: e, ...t }) {
|
|
|
3554
3570
|
}
|
|
3555
3571
|
);
|
|
3556
3572
|
}
|
|
3557
|
-
function
|
|
3573
|
+
function Pr({
|
|
3558
3574
|
className: e,
|
|
3559
3575
|
children: t,
|
|
3560
3576
|
showCloseButton: n = !0,
|
|
3561
3577
|
...o
|
|
3562
3578
|
}) {
|
|
3563
|
-
return /* @__PURE__ */
|
|
3564
|
-
/* @__PURE__ */ i(
|
|
3565
|
-
/* @__PURE__ */
|
|
3579
|
+
return /* @__PURE__ */ w(Fr, { "data-slot": "dialog-portal", children: [
|
|
3580
|
+
/* @__PURE__ */ i(Dr, {}),
|
|
3581
|
+
/* @__PURE__ */ w(
|
|
3566
3582
|
H.Content,
|
|
3567
3583
|
{
|
|
3568
3584
|
"data-slot": "dialog-content",
|
|
3569
|
-
className:
|
|
3585
|
+
className: k(
|
|
3570
3586
|
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
|
|
3571
3587
|
e
|
|
3572
3588
|
),
|
|
3573
3589
|
...o,
|
|
3574
3590
|
children: [
|
|
3575
3591
|
t,
|
|
3576
|
-
n && /* @__PURE__ */
|
|
3592
|
+
n && /* @__PURE__ */ w(
|
|
3577
3593
|
H.Close,
|
|
3578
3594
|
{
|
|
3579
3595
|
"data-slot": "dialog-close",
|
|
@@ -3589,47 +3605,47 @@ function Lr({
|
|
|
3589
3605
|
)
|
|
3590
3606
|
] });
|
|
3591
3607
|
}
|
|
3592
|
-
function
|
|
3608
|
+
function Mr({ className: e, ...t }) {
|
|
3593
3609
|
return /* @__PURE__ */ i(
|
|
3594
3610
|
"div",
|
|
3595
3611
|
{
|
|
3596
3612
|
"data-slot": "dialog-header",
|
|
3597
|
-
className:
|
|
3613
|
+
className: k("flex flex-col gap-2 text-center sm:text-start", e),
|
|
3598
3614
|
...t
|
|
3599
3615
|
}
|
|
3600
3616
|
);
|
|
3601
3617
|
}
|
|
3602
|
-
function
|
|
3618
|
+
function Ci({ className: e, ...t }) {
|
|
3603
3619
|
return /* @__PURE__ */ i(
|
|
3604
3620
|
"div",
|
|
3605
3621
|
{
|
|
3606
3622
|
"data-slot": "dialog-footer",
|
|
3607
|
-
className:
|
|
3623
|
+
className: k("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", e),
|
|
3608
3624
|
...t
|
|
3609
3625
|
}
|
|
3610
3626
|
);
|
|
3611
3627
|
}
|
|
3612
|
-
function
|
|
3628
|
+
function zr({ className: e, ...t }) {
|
|
3613
3629
|
return /* @__PURE__ */ i(
|
|
3614
3630
|
H.Title,
|
|
3615
3631
|
{
|
|
3616
3632
|
"data-slot": "dialog-title",
|
|
3617
|
-
className:
|
|
3633
|
+
className: k("text-xl leading-none font-semibold", e),
|
|
3618
3634
|
...t
|
|
3619
3635
|
}
|
|
3620
3636
|
);
|
|
3621
3637
|
}
|
|
3622
|
-
function
|
|
3638
|
+
function Ai({ className: e, ...t }) {
|
|
3623
3639
|
return /* @__PURE__ */ i(
|
|
3624
3640
|
H.Description,
|
|
3625
3641
|
{
|
|
3626
3642
|
"data-slot": "dialog-description",
|
|
3627
|
-
className:
|
|
3643
|
+
className: k("text-muted-foreground text-base", e),
|
|
3628
3644
|
...t
|
|
3629
3645
|
}
|
|
3630
3646
|
);
|
|
3631
3647
|
}
|
|
3632
|
-
const
|
|
3648
|
+
const Ur = {
|
|
3633
3649
|
'code[class*="language-"]': {
|
|
3634
3650
|
background: "hsl(220, 13%, 18%)",
|
|
3635
3651
|
color: "hsl(220, 14%, 71%)",
|
|
@@ -4129,7 +4145,7 @@ const Pr = {
|
|
|
4129
4145
|
".prism-previewer-easing.prism-previewer-easing line": {
|
|
4130
4146
|
stroke: "hsl(220, 14%, 71%)"
|
|
4131
4147
|
}
|
|
4132
|
-
},
|
|
4148
|
+
}, $r = {
|
|
4133
4149
|
'code[class*="language-"]': {
|
|
4134
4150
|
background: "hsl(230, 1%, 98%)",
|
|
4135
4151
|
color: "hsl(230, 8%, 24%)",
|
|
@@ -4622,7 +4638,7 @@ function q(e) {
|
|
|
4622
4638
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
4623
4639
|
}
|
|
4624
4640
|
var ve, pt;
|
|
4625
|
-
function
|
|
4641
|
+
function Br() {
|
|
4626
4642
|
if (pt) return ve;
|
|
4627
4643
|
pt = 1, ve = e, e.displayName = "python", e.aliases = ["py"];
|
|
4628
4644
|
function e(t) {
|
|
@@ -4690,12 +4706,12 @@ function zr() {
|
|
|
4690
4706
|
}
|
|
4691
4707
|
return ve;
|
|
4692
4708
|
}
|
|
4693
|
-
var
|
|
4694
|
-
const
|
|
4695
|
-
var
|
|
4696
|
-
function
|
|
4697
|
-
if (ht) return
|
|
4698
|
-
ht = 1,
|
|
4709
|
+
var Hr = Br();
|
|
4710
|
+
const qr = /* @__PURE__ */ q(Hr);
|
|
4711
|
+
var _e, ht;
|
|
4712
|
+
function jr() {
|
|
4713
|
+
if (ht) return _e;
|
|
4714
|
+
ht = 1, _e = e, e.displayName = "javascript", e.aliases = ["js"];
|
|
4699
4715
|
function e(t) {
|
|
4700
4716
|
t.languages.javascript = t.languages.extend("clike", {
|
|
4701
4717
|
"class-name": [
|
|
@@ -4820,14 +4836,14 @@ function Br() {
|
|
|
4820
4836
|
"javascript"
|
|
4821
4837
|
)), t.languages.js = t.languages.javascript;
|
|
4822
4838
|
}
|
|
4823
|
-
return
|
|
4839
|
+
return _e;
|
|
4824
4840
|
}
|
|
4825
|
-
var
|
|
4826
|
-
const
|
|
4827
|
-
var
|
|
4828
|
-
function
|
|
4829
|
-
if (gt) return
|
|
4830
|
-
gt = 1,
|
|
4841
|
+
var Gr = jr();
|
|
4842
|
+
const Vr = /* @__PURE__ */ q(Gr);
|
|
4843
|
+
var we, gt;
|
|
4844
|
+
function Wr() {
|
|
4845
|
+
if (gt) return we;
|
|
4846
|
+
gt = 1, we = e, e.displayName = "typescript", e.aliases = ["ts"];
|
|
4831
4847
|
function e(t) {
|
|
4832
4848
|
(function(n) {
|
|
4833
4849
|
n.languages.typescript = n.languages.extend("javascript", {
|
|
@@ -4875,12 +4891,12 @@ function jr() {
|
|
|
4875
4891
|
}), n.languages.ts = n.languages.typescript;
|
|
4876
4892
|
})(t);
|
|
4877
4893
|
}
|
|
4878
|
-
return
|
|
4894
|
+
return we;
|
|
4879
4895
|
}
|
|
4880
|
-
var
|
|
4881
|
-
const
|
|
4896
|
+
var Yr = Wr();
|
|
4897
|
+
const Xr = /* @__PURE__ */ q(Yr);
|
|
4882
4898
|
var xe, mt;
|
|
4883
|
-
function
|
|
4899
|
+
function Kr() {
|
|
4884
4900
|
if (mt) return xe;
|
|
4885
4901
|
mt = 1, xe = e, e.displayName = "json", e.aliases = ["webmanifest"];
|
|
4886
4902
|
function e(t) {
|
|
@@ -4911,10 +4927,10 @@ function Wr() {
|
|
|
4911
4927
|
}
|
|
4912
4928
|
return xe;
|
|
4913
4929
|
}
|
|
4914
|
-
var
|
|
4915
|
-
const
|
|
4930
|
+
var Zr = Kr();
|
|
4931
|
+
const Jr = /* @__PURE__ */ q(Zr);
|
|
4916
4932
|
var Se, ft;
|
|
4917
|
-
function
|
|
4933
|
+
function Qr() {
|
|
4918
4934
|
if (ft) return Se;
|
|
4919
4935
|
ft = 1, Se = e, e.displayName = "bash", e.aliases = ["shell"];
|
|
4920
4936
|
function e(t) {
|
|
@@ -5133,10 +5149,10 @@ function Kr() {
|
|
|
5133
5149
|
}
|
|
5134
5150
|
return Se;
|
|
5135
5151
|
}
|
|
5136
|
-
var
|
|
5137
|
-
const
|
|
5152
|
+
var ea = Qr();
|
|
5153
|
+
const ta = /* @__PURE__ */ q(ea);
|
|
5138
5154
|
var Ee, bt;
|
|
5139
|
-
function
|
|
5155
|
+
function na() {
|
|
5140
5156
|
if (bt) return Ee;
|
|
5141
5157
|
bt = 1, Ee = e, e.displayName = "sql", e.aliases = [];
|
|
5142
5158
|
function e(t) {
|
|
@@ -5176,10 +5192,10 @@ function Qr() {
|
|
|
5176
5192
|
}
|
|
5177
5193
|
return Ee;
|
|
5178
5194
|
}
|
|
5179
|
-
var
|
|
5180
|
-
const
|
|
5195
|
+
var oa = na();
|
|
5196
|
+
const ra = /* @__PURE__ */ q(oa);
|
|
5181
5197
|
var Ne, yt;
|
|
5182
|
-
function
|
|
5198
|
+
function aa() {
|
|
5183
5199
|
if (yt) return Ne;
|
|
5184
5200
|
yt = 1, Ne = e, e.displayName = "yaml", e.aliases = ["yml"];
|
|
5185
5201
|
function e(t) {
|
|
@@ -5190,14 +5206,14 @@ function na() {
|
|
|
5190
5206
|
return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
|
|
5191
5207
|
}
|
|
5192
5208
|
), c = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;
|
|
5193
|
-
function s(p,
|
|
5194
|
-
|
|
5209
|
+
function s(p, f) {
|
|
5210
|
+
f = (f || "").replace(/m/g, "") + "m";
|
|
5195
5211
|
var m = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() {
|
|
5196
5212
|
return a;
|
|
5197
5213
|
}).replace(/<<value>>/g, function() {
|
|
5198
5214
|
return p;
|
|
5199
5215
|
});
|
|
5200
|
-
return RegExp(m,
|
|
5216
|
+
return RegExp(m, f);
|
|
5201
5217
|
}
|
|
5202
5218
|
n.languages.yaml = {
|
|
5203
5219
|
scalar: {
|
|
@@ -5267,19 +5283,19 @@ function na() {
|
|
|
5267
5283
|
}
|
|
5268
5284
|
return Ne;
|
|
5269
5285
|
}
|
|
5270
|
-
var
|
|
5271
|
-
const
|
|
5286
|
+
var ia = aa();
|
|
5287
|
+
const la = /* @__PURE__ */ q(ia);
|
|
5272
5288
|
var Te, kt;
|
|
5273
|
-
function
|
|
5289
|
+
function sa() {
|
|
5274
5290
|
if (kt) return Te;
|
|
5275
5291
|
kt = 1, Te = e, e.displayName = "markdown", e.aliases = ["md"];
|
|
5276
5292
|
function e(t) {
|
|
5277
5293
|
(function(n) {
|
|
5278
5294
|
var o = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;
|
|
5279
|
-
function r(
|
|
5280
|
-
return
|
|
5295
|
+
function r(g) {
|
|
5296
|
+
return g = g.replace(/<inner>/g, function() {
|
|
5281
5297
|
return o;
|
|
5282
|
-
}), RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" +
|
|
5298
|
+
}), RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" + g + ")");
|
|
5283
5299
|
}
|
|
5284
5300
|
var a = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source, l = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(
|
|
5285
5301
|
/__/g,
|
|
@@ -5522,17 +5538,17 @@ function aa() {
|
|
|
5522
5538
|
}
|
|
5523
5539
|
}
|
|
5524
5540
|
}
|
|
5525
|
-
}), ["url", "bold", "italic", "strike"].forEach(function(
|
|
5541
|
+
}), ["url", "bold", "italic", "strike"].forEach(function(g) {
|
|
5526
5542
|
["url", "bold", "italic", "strike", "code-snippet"].forEach(function(b) {
|
|
5527
|
-
|
|
5543
|
+
g !== b && (n.languages.markdown[g].inside.content.inside[b] = n.languages.markdown[b]);
|
|
5528
5544
|
});
|
|
5529
|
-
}), n.hooks.add("after-tokenize", function(
|
|
5530
|
-
if (
|
|
5545
|
+
}), n.hooks.add("after-tokenize", function(g) {
|
|
5546
|
+
if (g.language !== "markdown" && g.language !== "md")
|
|
5531
5547
|
return;
|
|
5532
|
-
function b(
|
|
5533
|
-
if (!(!
|
|
5534
|
-
for (var u = 0,
|
|
5535
|
-
var v =
|
|
5548
|
+
function b(y) {
|
|
5549
|
+
if (!(!y || typeof y == "string"))
|
|
5550
|
+
for (var u = 0, _ = y.length; u < _; u++) {
|
|
5551
|
+
var v = y[u];
|
|
5536
5552
|
if (v.type !== "code") {
|
|
5537
5553
|
b(v.content);
|
|
5538
5554
|
continue;
|
|
@@ -5546,11 +5562,11 @@ function aa() {
|
|
|
5546
5562
|
}
|
|
5547
5563
|
}
|
|
5548
5564
|
}
|
|
5549
|
-
b(
|
|
5550
|
-
}), n.hooks.add("wrap", function(
|
|
5551
|
-
if (
|
|
5552
|
-
for (var b = "",
|
|
5553
|
-
var
|
|
5565
|
+
b(g.tokens);
|
|
5566
|
+
}), n.hooks.add("wrap", function(g) {
|
|
5567
|
+
if (g.type === "code-block") {
|
|
5568
|
+
for (var b = "", y = 0, u = g.classes.length; y < u; y++) {
|
|
5569
|
+
var _ = g.classes[y], v = /language-(.+)/.exec(_);
|
|
5554
5570
|
if (v) {
|
|
5555
5571
|
b = v[1];
|
|
5556
5572
|
break;
|
|
@@ -5558,14 +5574,14 @@ function aa() {
|
|
|
5558
5574
|
}
|
|
5559
5575
|
var h = n.languages[b];
|
|
5560
5576
|
if (h)
|
|
5561
|
-
|
|
5562
|
-
m(
|
|
5577
|
+
g.content = n.highlight(
|
|
5578
|
+
m(g.content.value),
|
|
5563
5579
|
h,
|
|
5564
5580
|
b
|
|
5565
5581
|
);
|
|
5566
5582
|
else if (b && b !== "none" && n.plugins.autoloader) {
|
|
5567
5583
|
var C = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(Math.random() * 1e16);
|
|
5568
|
-
|
|
5584
|
+
g.attributes.id = C, n.plugins.autoloader.loadLanguages(b, function() {
|
|
5569
5585
|
var E = document.getElementById(C);
|
|
5570
5586
|
E && (E.innerHTML = n.highlight(
|
|
5571
5587
|
E.textContent,
|
|
@@ -5581,16 +5597,16 @@ function aa() {
|
|
|
5581
5597
|
lt: "<",
|
|
5582
5598
|
gt: ">",
|
|
5583
5599
|
quot: '"'
|
|
5584
|
-
},
|
|
5585
|
-
function m(
|
|
5586
|
-
var b =
|
|
5587
|
-
return b = b.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(
|
|
5600
|
+
}, f = String.fromCodePoint || String.fromCharCode;
|
|
5601
|
+
function m(g) {
|
|
5602
|
+
var b = g.replace(s, "");
|
|
5603
|
+
return b = b.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(y, u) {
|
|
5588
5604
|
if (u = u.toLowerCase(), u[0] === "#") {
|
|
5589
|
-
var
|
|
5590
|
-
return u[1] === "x" ?
|
|
5605
|
+
var _;
|
|
5606
|
+
return u[1] === "x" ? _ = parseInt(u.slice(2), 16) : _ = Number(u.slice(1)), f(_);
|
|
5591
5607
|
} else {
|
|
5592
5608
|
var v = p[u];
|
|
5593
|
-
return v ||
|
|
5609
|
+
return v || y;
|
|
5594
5610
|
}
|
|
5595
5611
|
}), b;
|
|
5596
5612
|
}
|
|
@@ -5599,17 +5615,17 @@ function aa() {
|
|
|
5599
5615
|
}
|
|
5600
5616
|
return Te;
|
|
5601
5617
|
}
|
|
5602
|
-
var
|
|
5603
|
-
const
|
|
5604
|
-
U.registerLanguage("python",
|
|
5605
|
-
U.registerLanguage("javascript",
|
|
5606
|
-
U.registerLanguage("typescript",
|
|
5607
|
-
U.registerLanguage("json",
|
|
5608
|
-
U.registerLanguage("bash",
|
|
5609
|
-
U.registerLanguage("sql",
|
|
5610
|
-
U.registerLanguage("yaml",
|
|
5611
|
-
U.registerLanguage("markdown",
|
|
5612
|
-
const
|
|
5618
|
+
var ca = sa();
|
|
5619
|
+
const ua = /* @__PURE__ */ q(ca);
|
|
5620
|
+
U.registerLanguage("python", qr);
|
|
5621
|
+
U.registerLanguage("javascript", Vr);
|
|
5622
|
+
U.registerLanguage("typescript", Xr);
|
|
5623
|
+
U.registerLanguage("json", Jr);
|
|
5624
|
+
U.registerLanguage("bash", ta);
|
|
5625
|
+
U.registerLanguage("sql", ra);
|
|
5626
|
+
U.registerLanguage("yaml", la);
|
|
5627
|
+
U.registerLanguage("markdown", ua);
|
|
5628
|
+
const da = de({
|
|
5613
5629
|
code: ""
|
|
5614
5630
|
}), Le = ({
|
|
5615
5631
|
code: e,
|
|
@@ -5618,13 +5634,13 @@ const sa = de({
|
|
|
5618
5634
|
className: o,
|
|
5619
5635
|
children: r,
|
|
5620
5636
|
...a
|
|
5621
|
-
}) => /* @__PURE__ */ i(
|
|
5637
|
+
}) => /* @__PURE__ */ i(da.Provider, { value: { code: e }, children: /* @__PURE__ */ i(
|
|
5622
5638
|
"div",
|
|
5623
5639
|
{
|
|
5624
|
-
className:
|
|
5640
|
+
className: k("relative w-full overflow-hidden rounded-md border bg-background text-foreground", o),
|
|
5625
5641
|
dir: "ltr",
|
|
5626
5642
|
...a,
|
|
5627
|
-
children: /* @__PURE__ */
|
|
5643
|
+
children: /* @__PURE__ */ w("div", { className: "relative", children: [
|
|
5628
5644
|
/* @__PURE__ */ i(
|
|
5629
5645
|
U,
|
|
5630
5646
|
{
|
|
@@ -5646,7 +5662,7 @@ const sa = de({
|
|
|
5646
5662
|
minWidth: "2.5rem"
|
|
5647
5663
|
},
|
|
5648
5664
|
showLineNumbers: n,
|
|
5649
|
-
style:
|
|
5665
|
+
style: $r,
|
|
5650
5666
|
children: e
|
|
5651
5667
|
}
|
|
5652
5668
|
),
|
|
@@ -5671,7 +5687,7 @@ const sa = de({
|
|
|
5671
5687
|
minWidth: "2.5rem"
|
|
5672
5688
|
},
|
|
5673
5689
|
showLineNumbers: n,
|
|
5674
|
-
style:
|
|
5690
|
+
style: Ur,
|
|
5675
5691
|
children: e
|
|
5676
5692
|
}
|
|
5677
5693
|
),
|
|
@@ -5679,22 +5695,22 @@ const sa = de({
|
|
|
5679
5695
|
] })
|
|
5680
5696
|
}
|
|
5681
5697
|
) });
|
|
5682
|
-
function
|
|
5698
|
+
function pa(e, t = "size-4") {
|
|
5683
5699
|
return {
|
|
5684
5700
|
web_search: /* @__PURE__ */ i(En, { className: t }),
|
|
5685
5701
|
web_fetch: /* @__PURE__ */ i(ue, { className: t }),
|
|
5686
5702
|
code_execution: /* @__PURE__ */ i(Sn, { className: t }),
|
|
5687
5703
|
image_generation: /* @__PURE__ */ i(xn, { className: t })
|
|
5688
|
-
}[e] ?? /* @__PURE__ */ i(
|
|
5704
|
+
}[e] ?? /* @__PURE__ */ i(wn, { className: t });
|
|
5689
5705
|
}
|
|
5690
|
-
const
|
|
5706
|
+
const ha = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: k("not-prose mb-4 w-full rounded-md border", e), ...t }), ga = ({ status: e }) => {
|
|
5691
5707
|
const { t } = M(["tools_ui"]), n = {
|
|
5692
5708
|
"input-streaming": t("pending"),
|
|
5693
5709
|
"input-available": t("running"),
|
|
5694
5710
|
"output-available": t("completed"),
|
|
5695
5711
|
"output-error": t("error")
|
|
5696
5712
|
};
|
|
5697
|
-
return /* @__PURE__ */
|
|
5713
|
+
return /* @__PURE__ */ w(Rr, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [
|
|
5698
5714
|
{
|
|
5699
5715
|
"input-streaming": /* @__PURE__ */ i(Cn, { className: "size-4" }),
|
|
5700
5716
|
"input-available": /* @__PURE__ */ i(Tn, { className: "size-4 animate-pulse" }),
|
|
@@ -5703,20 +5719,20 @@ const ua = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: y("not
|
|
|
5703
5719
|
}[e],
|
|
5704
5720
|
n[e]
|
|
5705
5721
|
] });
|
|
5706
|
-
},
|
|
5707
|
-
const a = o || (t.startsWith("tool-") ? t.slice(5) : t), l =
|
|
5708
|
-
return /* @__PURE__ */
|
|
5709
|
-
/* @__PURE__ */
|
|
5722
|
+
}, ma = ({ className: e, type: t, state: n, toolName: o, ...r }) => {
|
|
5723
|
+
const a = o || (t.startsWith("tool-") ? t.slice(5) : t), l = pa(a, "size-4 text-muted-foreground");
|
|
5724
|
+
return /* @__PURE__ */ w(Ue, { className: k("flex w-full items-center justify-between gap-4 p-3", e), ...r, children: [
|
|
5725
|
+
/* @__PURE__ */ w("div", { className: "flex items-center gap-2", children: [
|
|
5710
5726
|
l,
|
|
5711
5727
|
/* @__PURE__ */ i("span", { className: "font-medium text-sm", children: a }),
|
|
5712
|
-
/* @__PURE__ */ i(
|
|
5728
|
+
/* @__PURE__ */ i(ga, { status: n })
|
|
5713
5729
|
] }),
|
|
5714
5730
|
/* @__PURE__ */ i(ie, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })
|
|
5715
5731
|
] });
|
|
5716
|
-
},
|
|
5732
|
+
}, fa = ({ className: e, ...t }) => /* @__PURE__ */ i(
|
|
5717
5733
|
$e,
|
|
5718
5734
|
{
|
|
5719
|
-
className:
|
|
5735
|
+
className: k(
|
|
5720
5736
|
"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",
|
|
5721
5737
|
e
|
|
5722
5738
|
),
|
|
@@ -5730,13 +5746,13 @@ const ua = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: y("not
|
|
|
5730
5746
|
return e;
|
|
5731
5747
|
}
|
|
5732
5748
|
return JSON.stringify(e, null, 2);
|
|
5733
|
-
},
|
|
5749
|
+
}, ba = ({ className: e, input: t, ...n }) => {
|
|
5734
5750
|
const { t: o } = M(["tools_ui"]);
|
|
5735
|
-
return /* @__PURE__ */
|
|
5751
|
+
return /* @__PURE__ */ w("div", { className: k("space-y-2 overflow-hidden p-4", e), ...n, children: [
|
|
5736
5752
|
/* @__PURE__ */ i("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: o("parameters") }),
|
|
5737
5753
|
/* @__PURE__ */ i("div", { className: "rounded-md bg-muted/50", children: /* @__PURE__ */ i(Le, { code: on(t), language: "json" }) })
|
|
5738
5754
|
] });
|
|
5739
|
-
},
|
|
5755
|
+
}, ya = ({ className: e, output: t, errorText: n, ...o }) => {
|
|
5740
5756
|
const { t: r } = M(["tools_ui"]), [a, l] = B(!1);
|
|
5741
5757
|
if (!(t || n))
|
|
5742
5758
|
return null;
|
|
@@ -5754,18 +5770,18 @@ const ua = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: y("not
|
|
|
5754
5770
|
}
|
|
5755
5771
|
return typeof t == "object" && t !== null && !("$$typeof" in t) ? /* @__PURE__ */ i(Le, { code: JSON.stringify(t, null, 2), language: "json" }) : t;
|
|
5756
5772
|
};
|
|
5757
|
-
return /* @__PURE__ */
|
|
5773
|
+
return /* @__PURE__ */ w("div", { className: k("space-y-2 p-4", e), ...o, children: [
|
|
5758
5774
|
/* @__PURE__ */ i("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: r(n ? "error" : "result") }),
|
|
5759
|
-
n && /* @__PURE__ */
|
|
5760
|
-
/* @__PURE__ */ i(
|
|
5775
|
+
n && /* @__PURE__ */ w(Or, { children: [
|
|
5776
|
+
/* @__PURE__ */ i(Lr, { asChild: !0, children: /* @__PURE__ */ w(ee, { variant: "destructive", size: "sm", children: [
|
|
5761
5777
|
/* @__PURE__ */ i(Ct, { className: "mr-1.5 size-4" }),
|
|
5762
5778
|
r("view_error")
|
|
5763
5779
|
] }) }),
|
|
5764
|
-
/* @__PURE__ */
|
|
5765
|
-
/* @__PURE__ */ i(
|
|
5766
|
-
/* @__PURE__ */
|
|
5780
|
+
/* @__PURE__ */ w(Pr, { className: "max-w-2xl", children: [
|
|
5781
|
+
/* @__PURE__ */ i(Mr, { children: /* @__PURE__ */ i(zr, { className: "text-destructive", children: r("tool_error") }) }),
|
|
5782
|
+
/* @__PURE__ */ w("div", { className: "space-y-4", children: [
|
|
5767
5783
|
/* @__PURE__ */ i("div", { className: "max-h-96 overflow-auto rounded-md bg-destructive/10 p-4 text-destructive text-sm", children: /* @__PURE__ */ i("pre", { className: "whitespace-pre-wrap break-words", children: on(n) }) }),
|
|
5768
|
-
/* @__PURE__ */
|
|
5784
|
+
/* @__PURE__ */ w(ee, { variant: "outline", size: "sm", onClick: c, children: [
|
|
5769
5785
|
/* @__PURE__ */ i(Tt, { className: "mr-1.5 size-4" }),
|
|
5770
5786
|
r(a ? "copied" : "copy_error")
|
|
5771
5787
|
] })
|
|
@@ -5775,7 +5791,7 @@ const ua = ({ className: e, ...t }) => /* @__PURE__ */ i(ze, { className: y("not
|
|
|
5775
5791
|
t && !n && /* @__PURE__ */ i("div", { className: "overflow-x-auto rounded-md bg-muted/50 text-foreground text-xs [&_table]:w-full line-clamp-[20]", children: /* @__PURE__ */ i("div", { children: s() }) })
|
|
5776
5792
|
] });
|
|
5777
5793
|
};
|
|
5778
|
-
function
|
|
5794
|
+
function ka({
|
|
5779
5795
|
part: e,
|
|
5780
5796
|
message: t,
|
|
5781
5797
|
chat: n,
|
|
@@ -5801,15 +5817,15 @@ function fa({
|
|
|
5801
5817
|
const c = o[l];
|
|
5802
5818
|
return /* @__PURE__ */ i(c, { part: e, message: t, chat: n });
|
|
5803
5819
|
}
|
|
5804
|
-
return r ? /* @__PURE__ */
|
|
5805
|
-
/* @__PURE__ */ i(
|
|
5806
|
-
/* @__PURE__ */
|
|
5807
|
-
/* @__PURE__ */ i(
|
|
5808
|
-
(a.state === "output-available" || a.state === "output-error") && /* @__PURE__ */ i(
|
|
5820
|
+
return r ? /* @__PURE__ */ w(ha, { className: "animate-in-bubble", children: [
|
|
5821
|
+
/* @__PURE__ */ i(ma, { type: e.type, state: a.state, toolName: l }),
|
|
5822
|
+
/* @__PURE__ */ w(fa, { children: [
|
|
5823
|
+
/* @__PURE__ */ i(ba, { input: a.input }),
|
|
5824
|
+
(a.state === "output-available" || a.state === "output-error") && /* @__PURE__ */ i(ya, { errorText: a.errorText, output: a.output })
|
|
5809
5825
|
] })
|
|
5810
5826
|
] }) : null;
|
|
5811
5827
|
}
|
|
5812
|
-
function
|
|
5828
|
+
function va({
|
|
5813
5829
|
part: e,
|
|
5814
5830
|
message: t
|
|
5815
5831
|
}) {
|
|
@@ -5818,7 +5834,7 @@ function ba({
|
|
|
5818
5834
|
const s = document.createElement("a");
|
|
5819
5835
|
s.href = o.url, s.download = a, document.body.appendChild(s), s.click(), document.body.removeChild(s);
|
|
5820
5836
|
};
|
|
5821
|
-
return /* @__PURE__ */ i("div", { className: "py-2 animate-in-bubble", children: /* @__PURE__ */ i(Dt, { from: t.role, children: /* @__PURE__ */ i(Pt, { isPlain: !0, children: r ? /* @__PURE__ */
|
|
5837
|
+
return /* @__PURE__ */ i("div", { className: "py-2 animate-in-bubble", children: /* @__PURE__ */ i(Dt, { from: t.role, children: /* @__PURE__ */ i(Pt, { 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: [
|
|
5822
5838
|
/* @__PURE__ */ i(
|
|
5823
5839
|
"img",
|
|
5824
5840
|
{
|
|
@@ -5827,7 +5843,7 @@ function ba({
|
|
|
5827
5843
|
className: "max-h-[280px] w-full rounded-xl object-cover transition-transform duration-500 group-hover:scale-105"
|
|
5828
5844
|
}
|
|
5829
5845
|
),
|
|
5830
|
-
/* @__PURE__ */
|
|
5846
|
+
/* @__PURE__ */ w("div", { className: "absolute inset-x-0 bottom-0 p-3 bg-gradient-to-t from-black/80 via-black/40 to-transparent opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-between", children: [
|
|
5831
5847
|
/* @__PURE__ */ i("span", { className: "text-[10px] text-white truncate max-w-[150px] font-medium drop-shadow-sm", children: a }),
|
|
5832
5848
|
/* @__PURE__ */ i(
|
|
5833
5849
|
"button",
|
|
@@ -5847,9 +5863,9 @@ function ba({
|
|
|
5847
5863
|
children: /* @__PURE__ */ i(ue, { className: "size-4" })
|
|
5848
5864
|
}
|
|
5849
5865
|
) })
|
|
5850
|
-
] }) : /* @__PURE__ */ i("div", { className: "flex flex-col gap-1.5", children: /* @__PURE__ */
|
|
5866
|
+
] }) : /* @__PURE__ */ i("div", { className: "flex flex-col gap-1.5", children: /* @__PURE__ */ w("div", { className: "group inline-flex items-center gap-3 rounded-xl p-3 text-sm transition-all duration-300 bg-secondary/10 border border-border/5 hover:border-primary/30 hover:bg-secondary/20 hover:shadow-[0_0_15px_var(--glow)]", children: [
|
|
5851
5867
|
/* @__PURE__ */ i("div", { className: "p-2.5 rounded-lg bg-background/50 border border-border/10 group-hover:border-primary/20 group-hover:text-primary transition-colors", children: /* @__PURE__ */ i(Nt, { className: "size-4 shrink-0" }) }),
|
|
5852
|
-
/* @__PURE__ */
|
|
5868
|
+
/* @__PURE__ */ w("div", { className: "flex flex-col min-w-0 mr-4", children: [
|
|
5853
5869
|
/* @__PURE__ */ i("span", { className: "truncate max-w-[180px] font-semibold text-foreground/90 leading-none mb-1 group-hover:text-foreground transition-colors", children: a }),
|
|
5854
5870
|
(o.mediaType || o.media_type) && /* @__PURE__ */ i("span", { className: "text-[10px] text-muted-foreground uppercase font-bold tracking-widest opacity-60", children: (o.mediaType || o.media_type).split("/").pop() })
|
|
5855
5871
|
] }),
|
|
@@ -5865,13 +5881,13 @@ function ba({
|
|
|
5865
5881
|
] }) }) }) }) });
|
|
5866
5882
|
}
|
|
5867
5883
|
const A = {
|
|
5868
|
-
MessageList:
|
|
5869
|
-
PromptInput:
|
|
5870
|
-
WelcomeScreen:
|
|
5871
|
-
TextPart:
|
|
5872
|
-
ReasoningPart:
|
|
5873
|
-
ToolPart:
|
|
5874
|
-
FilePart:
|
|
5884
|
+
MessageList: eo,
|
|
5885
|
+
PromptInput: co,
|
|
5886
|
+
WelcomeScreen: go,
|
|
5887
|
+
TextPart: Er,
|
|
5888
|
+
ReasoningPart: Ar,
|
|
5889
|
+
ToolPart: ka,
|
|
5890
|
+
FilePart: va,
|
|
5875
5891
|
toolComponents: void 0,
|
|
5876
5892
|
textComponents: void 0,
|
|
5877
5893
|
remarkPlugins: void 0,
|
|
@@ -5917,10 +5933,10 @@ const A = {
|
|
|
5917
5933
|
}
|
|
5918
5934
|
}
|
|
5919
5935
|
}, rn = de(A);
|
|
5920
|
-
function
|
|
5936
|
+
function W() {
|
|
5921
5937
|
return Fe(rn);
|
|
5922
5938
|
}
|
|
5923
|
-
function
|
|
5939
|
+
function Ii({
|
|
5924
5940
|
components: e,
|
|
5925
5941
|
history: t,
|
|
5926
5942
|
welcome: n,
|
|
@@ -5931,7 +5947,7 @@ function Ni({
|
|
|
5931
5947
|
app: c,
|
|
5932
5948
|
i18n: s,
|
|
5933
5949
|
settings: p,
|
|
5934
|
-
children:
|
|
5950
|
+
children: f
|
|
5935
5951
|
}) {
|
|
5936
5952
|
const m = St(
|
|
5937
5953
|
() => ({
|
|
@@ -5962,23 +5978,23 @@ function Ni({
|
|
|
5962
5978
|
}),
|
|
5963
5979
|
[e, t, n, o, r, a, l, c, s, p]
|
|
5964
5980
|
);
|
|
5965
|
-
return /* @__PURE__ */ i(rn.Provider, { value: m, children:
|
|
5981
|
+
return /* @__PURE__ */ i(rn.Provider, { value: m, children: f });
|
|
5966
5982
|
}
|
|
5967
5983
|
const {
|
|
5968
|
-
slice:
|
|
5969
|
-
forEach:
|
|
5984
|
+
slice: _a,
|
|
5985
|
+
forEach: wa
|
|
5970
5986
|
} = [];
|
|
5971
|
-
function
|
|
5972
|
-
return
|
|
5987
|
+
function xa(e) {
|
|
5988
|
+
return wa.call(_a.call(arguments, 1), (t) => {
|
|
5973
5989
|
if (t)
|
|
5974
5990
|
for (const n in t)
|
|
5975
5991
|
e[n] === void 0 && (e[n] = t[n]);
|
|
5976
5992
|
}), e;
|
|
5977
5993
|
}
|
|
5978
|
-
function
|
|
5994
|
+
function Sa(e) {
|
|
5979
5995
|
return typeof e != "string" ? !1 : [/<\s*script.*?>/i, /<\s*\/\s*script\s*>/i, /<\s*img.*?on\w+\s*=/i, /<\s*\w+\s*on\w+\s*=.*?>/i, /javascript\s*:/i, /vbscript\s*:/i, /expression\s*\(/i, /eval\s*\(/i, /alert\s*\(/i, /document\.cookie/i, /document\.write\s*\(/i, /window\.location/i, /innerHTML/i].some((n) => n.test(e));
|
|
5980
5996
|
}
|
|
5981
|
-
const vt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,
|
|
5997
|
+
const vt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Ea = function(e, t) {
|
|
5982
5998
|
const o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {
|
|
5983
5999
|
path: "/"
|
|
5984
6000
|
}, r = encodeURIComponent(t);
|
|
@@ -6021,13 +6037,13 @@ const vt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, _a = function(e, t) {
|
|
|
6021
6037
|
throw new TypeError("option sameSite is invalid");
|
|
6022
6038
|
}
|
|
6023
6039
|
return o.partitioned && (a += "; Partitioned"), a;
|
|
6024
|
-
},
|
|
6040
|
+
}, _t = {
|
|
6025
6041
|
create(e, t, n, o) {
|
|
6026
6042
|
let r = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : {
|
|
6027
6043
|
path: "/",
|
|
6028
6044
|
sameSite: "strict"
|
|
6029
6045
|
};
|
|
6030
|
-
n && (r.expires = /* @__PURE__ */ new Date(), r.expires.setTime(r.expires.getTime() + n * 60 * 1e3)), o && (r.domain = o), document.cookie =
|
|
6046
|
+
n && (r.expires = /* @__PURE__ */ new Date(), r.expires.setTime(r.expires.getTime() + n * 60 * 1e3)), o && (r.domain = o), document.cookie = Ea(e, t, r);
|
|
6031
6047
|
},
|
|
6032
6048
|
read(e) {
|
|
6033
6049
|
const t = `${e}=`, n = document.cookie.split(";");
|
|
@@ -6042,7 +6058,7 @@ const vt = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, _a = function(e, t) {
|
|
|
6042
6058
|
this.create(e, "", -1, t);
|
|
6043
6059
|
}
|
|
6044
6060
|
};
|
|
6045
|
-
var
|
|
6061
|
+
var Na = {
|
|
6046
6062
|
name: "cookie",
|
|
6047
6063
|
// Deconstruct the options object and extract the lookupCookie property
|
|
6048
6064
|
lookup(e) {
|
|
@@ -6050,7 +6066,7 @@ var xa = {
|
|
|
6050
6066
|
lookupCookie: t
|
|
6051
6067
|
} = e;
|
|
6052
6068
|
if (t && typeof document < "u")
|
|
6053
|
-
return
|
|
6069
|
+
return _t.read(t) || void 0;
|
|
6054
6070
|
},
|
|
6055
6071
|
// Deconstruct the options object and extract the lookupCookie, cookieMinutes, cookieDomain, and cookieOptions properties
|
|
6056
6072
|
cacheUserLanguage(e, t) {
|
|
@@ -6060,9 +6076,9 @@ var xa = {
|
|
|
6060
6076
|
cookieDomain: r,
|
|
6061
6077
|
cookieOptions: a
|
|
6062
6078
|
} = t;
|
|
6063
|
-
n && typeof document < "u" &&
|
|
6079
|
+
n && typeof document < "u" && _t.create(n, e, o, r, a);
|
|
6064
6080
|
}
|
|
6065
|
-
},
|
|
6081
|
+
}, Ta = {
|
|
6066
6082
|
name: "querystring",
|
|
6067
6083
|
// Deconstruct the options object and extract the lookupQuerystring property
|
|
6068
6084
|
lookup(e) {
|
|
@@ -6082,7 +6098,7 @@ var xa = {
|
|
|
6082
6098
|
}
|
|
6083
6099
|
return n;
|
|
6084
6100
|
}
|
|
6085
|
-
},
|
|
6101
|
+
}, Ca = {
|
|
6086
6102
|
name: "hash",
|
|
6087
6103
|
// Deconstruct the options object and extract the lookupHash property and the lookupFromHashIndex property
|
|
6088
6104
|
lookup(e) {
|
|
@@ -6113,27 +6129,27 @@ var xa = {
|
|
|
6113
6129
|
return o;
|
|
6114
6130
|
}
|
|
6115
6131
|
};
|
|
6116
|
-
let
|
|
6117
|
-
const
|
|
6118
|
-
if (
|
|
6132
|
+
let Y = null;
|
|
6133
|
+
const wt = () => {
|
|
6134
|
+
if (Y !== null) return Y;
|
|
6119
6135
|
try {
|
|
6120
|
-
if (
|
|
6136
|
+
if (Y = typeof window < "u" && window.localStorage !== null, !Y)
|
|
6121
6137
|
return !1;
|
|
6122
6138
|
const e = "i18next.translate.boo";
|
|
6123
6139
|
window.localStorage.setItem(e, "foo"), window.localStorage.removeItem(e);
|
|
6124
6140
|
} catch {
|
|
6125
|
-
|
|
6141
|
+
Y = !1;
|
|
6126
6142
|
}
|
|
6127
|
-
return
|
|
6143
|
+
return Y;
|
|
6128
6144
|
};
|
|
6129
|
-
var
|
|
6145
|
+
var Aa = {
|
|
6130
6146
|
name: "localStorage",
|
|
6131
6147
|
// Deconstruct the options object and extract the lookupLocalStorage property
|
|
6132
6148
|
lookup(e) {
|
|
6133
6149
|
let {
|
|
6134
6150
|
lookupLocalStorage: t
|
|
6135
6151
|
} = e;
|
|
6136
|
-
if (t &&
|
|
6152
|
+
if (t && wt())
|
|
6137
6153
|
return window.localStorage.getItem(t) || void 0;
|
|
6138
6154
|
},
|
|
6139
6155
|
// Deconstruct the options object and extract the lookupLocalStorage property
|
|
@@ -6141,23 +6157,23 @@ var Na = {
|
|
|
6141
6157
|
let {
|
|
6142
6158
|
lookupLocalStorage: n
|
|
6143
6159
|
} = t;
|
|
6144
|
-
n &&
|
|
6160
|
+
n && wt() && window.localStorage.setItem(n, e);
|
|
6145
6161
|
}
|
|
6146
6162
|
};
|
|
6147
|
-
let
|
|
6163
|
+
let X = null;
|
|
6148
6164
|
const xt = () => {
|
|
6149
|
-
if (
|
|
6165
|
+
if (X !== null) return X;
|
|
6150
6166
|
try {
|
|
6151
|
-
if (
|
|
6167
|
+
if (X = typeof window < "u" && window.sessionStorage !== null, !X)
|
|
6152
6168
|
return !1;
|
|
6153
6169
|
const e = "i18next.translate.boo";
|
|
6154
6170
|
window.sessionStorage.setItem(e, "foo"), window.sessionStorage.removeItem(e);
|
|
6155
6171
|
} catch {
|
|
6156
|
-
|
|
6172
|
+
X = !1;
|
|
6157
6173
|
}
|
|
6158
|
-
return
|
|
6174
|
+
return X;
|
|
6159
6175
|
};
|
|
6160
|
-
var
|
|
6176
|
+
var Ia = {
|
|
6161
6177
|
name: "sessionStorage",
|
|
6162
6178
|
lookup(e) {
|
|
6163
6179
|
let {
|
|
@@ -6172,7 +6188,7 @@ var Ta = {
|
|
|
6172
6188
|
} = t;
|
|
6173
6189
|
n && xt() && window.sessionStorage.setItem(n, e);
|
|
6174
6190
|
}
|
|
6175
|
-
},
|
|
6191
|
+
}, Ra = {
|
|
6176
6192
|
name: "navigator",
|
|
6177
6193
|
lookup(e) {
|
|
6178
6194
|
const t = [];
|
|
@@ -6189,7 +6205,7 @@ var Ta = {
|
|
|
6189
6205
|
}
|
|
6190
6206
|
return t.length > 0 ? t : void 0;
|
|
6191
6207
|
}
|
|
6192
|
-
},
|
|
6208
|
+
}, Oa = {
|
|
6193
6209
|
name: "htmlTag",
|
|
6194
6210
|
// Deconstruct the options object and extract the htmlTag property
|
|
6195
6211
|
lookup(e) {
|
|
@@ -6199,7 +6215,7 @@ var Ta = {
|
|
|
6199
6215
|
const o = t || (typeof document < "u" ? document.documentElement : null);
|
|
6200
6216
|
return o && typeof o.getAttribute == "function" && (n = o.getAttribute("lang")), n;
|
|
6201
6217
|
}
|
|
6202
|
-
},
|
|
6218
|
+
}, La = {
|
|
6203
6219
|
name: "path",
|
|
6204
6220
|
// Deconstruct the options object and extract the lookupFromPathIndex property
|
|
6205
6221
|
lookup(e) {
|
|
@@ -6210,7 +6226,7 @@ var Ta = {
|
|
|
6210
6226
|
const n = window.location.pathname.match(/\/([a-zA-Z-]*)/g);
|
|
6211
6227
|
return Array.isArray(n) ? n[typeof t == "number" ? t : 0]?.replace("/", "") : void 0;
|
|
6212
6228
|
}
|
|
6213
|
-
},
|
|
6229
|
+
}, Fa = {
|
|
6214
6230
|
name: "subdomain",
|
|
6215
6231
|
lookup(e) {
|
|
6216
6232
|
let {
|
|
@@ -6228,7 +6244,7 @@ try {
|
|
|
6228
6244
|
}
|
|
6229
6245
|
const ln = ["querystring", "cookie", "localStorage", "sessionStorage", "navigator", "htmlTag"];
|
|
6230
6246
|
an || ln.splice(1, 1);
|
|
6231
|
-
const
|
|
6247
|
+
const Da = () => ({
|
|
6232
6248
|
order: ln,
|
|
6233
6249
|
lookupQuerystring: "lng",
|
|
6234
6250
|
lookupCookie: "i18next",
|
|
@@ -6250,7 +6266,7 @@ class sn {
|
|
|
6250
6266
|
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
|
|
6251
6267
|
languageUtils: {}
|
|
6252
6268
|
}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
6253
|
-
this.services = t, this.options =
|
|
6269
|
+
this.services = t, this.options = xa(n, this.options || {}, Da()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = (r) => r.replace("-", "_")), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = o, this.addDetector(Na), this.addDetector(Ta), this.addDetector(Aa), this.addDetector(Ia), this.addDetector(Ra), this.addDetector(Oa), this.addDetector(La), this.addDetector(Fa), this.addDetector(Ca);
|
|
6254
6270
|
}
|
|
6255
6271
|
addDetector(t) {
|
|
6256
6272
|
return this.detectors[t.name] = t, this;
|
|
@@ -6262,7 +6278,7 @@ class sn {
|
|
|
6262
6278
|
let r = this.detectors[o].lookup(this.options);
|
|
6263
6279
|
r && typeof r == "string" && (r = [r]), r && (n = n.concat(r));
|
|
6264
6280
|
}
|
|
6265
|
-
}), n = n.filter((o) => o != null && !
|
|
6281
|
+
}), n = n.filter((o) => o != null && !Sa(o)).map((o) => this.options.convertDetectedLanguage(o)), this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes ? n : n.length > 0 ? n[0] : null;
|
|
6266
6282
|
}
|
|
6267
6283
|
cacheUserLanguage(t) {
|
|
6268
6284
|
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.options.caches;
|
|
@@ -6272,30 +6288,30 @@ class sn {
|
|
|
6272
6288
|
}
|
|
6273
6289
|
}
|
|
6274
6290
|
sn.type = "languageDetector";
|
|
6275
|
-
const La = { new_conversation: "New conversation", tooltip_new_conversation: "Start a new conversation", delete_conversation: "Delete", delete_confirm_title: "Delete conversation?", delete_confirm_description: "Are you sure you want to delete this chat? This action cannot be undone.", cancel: "Cancel", delete: "Delete", chat_deleted_success: "Chat deleted successfully", logout: "Logout", new_chat: "New Chat", rename_conversation: "Rename", rename_success: "Conversation renamed successfully", rename_failed: "Failed to rename conversation", search_conversations: "Search conversations...", save: "Save", no_conversations: "No conversations yet", loading_more: "Loading more...", pinned_success: "Conversation pinned", unpinned_success: "Conversation unpinned", pin_failed: "Failed to pin conversation", share_success: "Link copied", share_description: "The shareable link has been copied to your clipboard.", share_failed: "Failed to generate share link", pin_conversation: "Pin", unpin_conversation: "Unpin", share_conversation: "Share" }, Fa = { tools: "Tools", error: "Error:", input_placeholder: "Ask something...", insufficient_balance: "Insufficient balance. Please recharge your account to continue.", regenerate: "Regenerate", retry: "Retry", copy: "Copy", like: "Like", dislike: "Dislike", attach_file: "Attach file", remove_file: "Remove file", used_sources: "Used {{count}} sources", welcome: { title: "Hello! How can I help you today?", subtitle: "Ask me anything and I'll do my best to help.", suggestions: ["What can you help me with?", "Tell me something interesting", "Help me write an email", "Explain a concept to me"] }, disclaimer: "AI can make mistakes. Check important info." }, Da = { 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" }, Pa = { 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...", auth_page_disabled_title: "The sign-in page is currently disabled.", auth_page_disabled_description: "Please contact the administrator for access.", select_placeholder: "Select an option", login_button: "Login", signup_button: "Sign Up" }, Ma = { toggle: "Change theme", light: "Switch to light theme", dark: "Switch to dark theme", system: "Switch to system theme" }, za = { select_placeholder: "Select an option", loading: "Loading...", retry: "Retry", save: "Save", saving: "Saving...", cancel: "Cancel", delete: "Delete", edit: "Edit", search: "Search", search_placeholder: "Search...", no_data: "No data available", loading_more: "Loading more...", confirm_delete: "Are you sure you want to delete?", error_loading: "Error loading data", dashboard: { title: "Admin Panel", logout: "Logout", tabs: { analytics: "Analytics", chat_history: "Chats", users: "Users", admins: "Admins", settings: "Settings" } }, app_settings: { title: "System Settings", subtitle: "Manage global configuration for application appearance and behavior.", sections: { general: "Basic Information", chat: "Chat Experience", user_billing: "User & Billing" }, general: { app_name: "App Name", admin_title: "Admin Panel Title", language: "Default Language", language_help: "The language users see on their first visit (if not auto-detected).", appearance: "Default Appearance", appearance_help: "These values apply when a user has not saved their own appearance preferences.", default_theme: "Default Theme", default_accent: "Default Accent Color", default_accent_help: "Enter any browser-supported CSS color, such as #3b82f6, rgb(59 130 246), or oklch(0.623 0.214 259.815).", default_accent_invalid: "Enter a valid browser-supported CSS color.", default_accent_preview: "Accent color preview" }, 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.", show_version_in_settings: "Show app version in user settings", show_version_in_settings_help: "Show the app version at the bottom of the user settings dialog. This does not affect the admin settings page.", disable_signup: "Disable signup", disable_signup_help: "Hide the signup tab so users can only log in.", disable_auth_page: "Disable login/signup page", disable_auth_page_help: "Hide the entire auth page and prevent users from reaching login or signup forms.", composer_attachments: "Enable File Attachments", composer_attachments_help: "Allow users to upload and attach files to their messages.", thread_actions_feedback: "Enable Feedback Buttons", thread_actions_feedback_help: "Show like/dislike buttons on AI responses.", thread_actions_retry: "Enable Retry Button", thread_actions_retry_help: "Show a retry button to regenerate the last AI response.", history_enabled: "Enable Chat History Sidebar", history_enabled_help: "Show the sidebar containing previous conversations.", history_show_delete: "Allow Deleting Conversations", history_show_rename: "Allow Renaming Conversations", history_show_share: "Allow Sharing Conversations", history_show_pin: "Allow Pinning Conversations", sections_modes: "Settings Tab Modes", sections_modes_help: "Control visibility and interactability of settings tabs for users.", mode_editable: "Enable (Editable)", mode_faded: "Fade (Readonly)", mode_hidden: "Hide (Disable)", general_tab: "General Tab", profile_tab: "Profile Tab", account_tab: "Account Tab", inner_fields_modes: "Inner Fields Visibility", inner_fields_modes_help: "Configure visibility for individual fields within each tab." }, user_billing: { initial_balance_tokens: "Default Initial Tokens", initial_balance_requests: "Default Initial Requests", initial_balance_help: "These values will be assigned to new users by default if not specified during creation." }, save_success: "Settings saved successfully", save_error: "Failed to save settings", save: "Save Changes", translations_management: "Translations Management", editor_tips: "All changes are saved automatically to local state. Don't forget to push 'Save Changes' to persist.", sync_from_code: "Sync from Code", reset_button: "Reset to Defaults", reset_confirm_title: "Reset Settings?", reset_confirm_description: "This will reset all fields to their original default values from the code. Current unsaved changes will be lost.", preview: "Preview", tips_label: "TIPS" }, analytics: { title: "Analytics & Statistics", days: "{{count}} Days", total_users: "Total Users", total_threads: "Total Threads", total_messages: "Total Messages", total_token_usage: "Total Token Usage", threads_chart: "Threads", messages_chart: "Messages", token_usage_chart: "Token Usage", active_users: "Active Users", conversations: "conversations", threads: "threads", feedback: "User Feedback", total_feedback: "Total Feedback", positive: "Positive", negative: "Negative", loading_analytics: "Loading analytics...", error_loading: "Error loading data" }, chat_history: { title: "Chat History Management", search_placeholder: "Search by name, phone, thread title, or ID...", search_button: "Search", threads_list: "Threads List", thread_count: "{{count}}", no_thread_title: "Untitled conversation", messages: "Messages", messages_for: "Messages for: {{title}}", select_thread: "Select a conversation to view", no_threads: "No conversations found", empty_thread: "This conversation is empty", loading_threads: "Loading...", loading_messages: "Loading messages...", user_label: "User", assistant_label: "AI Assistant", input_tokens: "Input: {{value}}", output_tokens: "Output: {{value}}", total_tokens: "Total: {{value}}", all_feedbacks: "All Conversations", liked_feedbacks: "Liked 👍", disliked_feedbacks: "Disliked 👎", any_feedback: "With Feedback", output_available: "Output Available", running: "Running...", unnamed_file: "Unnamed File", download_file: "Download File" }, users: { title: "User Management", user_count: "User count: {{count}}", add_user: "Add New User", edit_user: "Edit User", phone: "Phone Number", phone_placeholder: "09123456789", name: "Name", surname: "Surname", initial_tokens: "Initial Tokens (optional)", initial_requests: "Initial Requests (optional)", balance: "Balance", requests_label: "Requests", tokens_label: "Tokens", token_limit: "Token Limit", request_limit: "Request Limit", tokens_usage: "Tokens Usage", requests_usage: "Requests Usage", actions: "Actions", copy_token: "Copy Token (auto-refresh)", token_copied: "Token copied successfully", no_token: "No token found for this user", recharge: "Recharge Balance", full_charge: "Full Charge", update_balance: "Update Balance", update_balance_for: "Update Balance for", token_count: "Token Count", request_count: "Request Count", updating: "Updating...", no_users: "No users found.", confirm_delete_user: "Are you sure you want to delete this user?", tokens_exceed_limit: "Tokens cannot exceed the specified limit", requests_exceed_limit: "Requests cannot exceed the specified limit", metadata: "Metadata (JSON)", initial_balance: "Initial Balance", custom_fields: "Additional Fields", metadata_raw: "Metadata (Raw JSON)", advanced_usage: "Advanced usage", invalid_json: "Invalid JSON format" }, admins: { title: "Admin Management", admin_count: "Admin count: {{count}}", add_admin: "Add New Admin", edit_admin: "Edit Admin", username: "Username", name: "Name", password: "Password", password_edit: "New Password (leave empty to keep current)", permissions: "Permissions", perm_chat_history: "Chat History", perm_admin_management: "Admin Management", perm_user_management: "User Management", perm_analytics: "Analytics", perm_settings: "Settings", no_admins: "No admins found.", confirm_delete_admin: "Are you sure you want to delete this admin?" }, errors: { access_denied_title: "Access Denied", access_denied_message: "You don't have the necessary permissions to access this page. You can contact the administrator!", back_to_dashboard: "Back to Dashboard" }, login: { title: "Admin Panel", setup_title: "Initial Setup", setup_description: "No admin account exists yet. Set a password for the default admin user to get started.", set_password: "Set Password", set_password_placeholder: "Choose a strong password", confirm_password: "Confirm Password", confirm_password_placeholder: "Re-enter the password", passwords_mismatch: "Passwords do not match", password_too_short: "Password must be at least 4 characters", create_admin: "Create Admin & Login", setting_up: "Setting up...", username: "Username", username_placeholder: "Username", password: "Password", password_placeholder: "••••••••", submit: "Login", logging_in: "Logging in...", error: "Login failed", copyright: "© 2026 AI Chatbot Platform" } }, Ua = { title: "Settings", sections: { profile: "Profile", general: "General", account: "Account" }, profile: { title: "Profile Information", subtitle: "Update your personal details below.", name: "First Name", surname: "Last Name", phone: "Phone Number", password: "New Password", password_placeholder: "Leave empty to keep current", save: "Save Changes", saving: "Saving...", success: "Profile updated successfully", error: "Failed to update profile", select_placeholder: "Select an option" }, general: { title: "General Settings", subtitle: "Configure look and feel and language.", theme: "Theme", language: "Language", themes: { light: "Light", dark: "Dark", system: "System" }, accent: "Accent Color", radius: "Rounded Corners", radius_levels: { sharp: "Sharp", round: "Round" }, languages: { en: "English", fa: "Persian" } }, account: { title: "Account & Usage", subtitle: "Monitor your quotas and manage your session.", balance: "Current Balance", tokens: "Tokens", requests: "Requests", logout: "Logout", logout_confirm: "Are you sure you want to logout?", last_recharge: "Last balance update on" } }, $a = { unauthorized: "Authentication required. Please login again.", invalid_credentials: "Invalid phone number or password.", phone_required: "Phone number is required.", password_required: "Password is required.", name_surname_required: "Name and surname are required.", phone_already_exists: "This phone number is already registered.", invalid_token: "Your session has expired. Please login again.", user_not_found: "User not found.", insufficient_balance: "Insufficient balance. Please recharge your account.", me_update_failed: "Failed to update profile information.", thread_not_found: "Conversation not found.", access_denied: "You do not have permission to perform this action.", feedback_save_failed: "Failed to save feedback.", thread_update_failed: "Failed to update conversation.", thread_delete_failed: "Failed to delete conversation.", attachment_not_found: "Attachment not found.", thread_share_failed: "Failed to share conversation.", model_quota_reached_error: "The system cannot respond at this time. Please try again later.", 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." }, Ba = {
|
|
6276
|
-
sidebar:
|
|
6277
|
-
chat:
|
|
6278
|
-
tools_ui:
|
|
6279
|
-
login:
|
|
6280
|
-
theme:
|
|
6281
|
-
admin:
|
|
6282
|
-
settings:
|
|
6283
|
-
errors:
|
|
6284
|
-
}, Ha = { 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: "اشتراکگذاری" }, qa = { tools: "ابزارها", error: "خطا:", input_placeholder: "سوالتو اینجا بپرس...", insufficient_balance: "موجودی حساب شما کافی نیست. لطفا برای ادامه، حساب خود را شارژ کنید.", regenerate: "تولید مجدد", retry: "تلاش مجدد", copy: "کپی", like: "پسندیدم", dislike: "نپسندیدم", attach_file: "پیوست فایل", remove_file: "حذف فایل", used_sources: "از {{count}} منبع استفاده شد", welcome: { title: "سلام! چطور میتونم کمکت کنم؟", subtitle: "هر سوالی داری بپرس، تمام تلاشمو میکنم کمکت کنم.", suggestions: ["چه کارهایی میتونی انجام بدی؟", "یه چیز جالب بهم بگو", "کمکم کن یه ایمیل بنویسم", "یه مفهوم رو برام توضیح بده"] }, disclaimer: "هوش مصنوعی ممکن است اشتباه کند. اطلاعات مهم را بررسی کنید." }, ja = { pending: "در انتظار", running: "در حال اجرا", completed: "تکمیل شده", error: "خطا", parameters: "پارامترها", result: "نتیجه", view_error: "نمایش خطا", tool_error: "خطای ابزار", copied: "کپی شد!", copy_error: "کپی خطا" }, Ga = { login_tab: "ورود", signup_tab: "ثبت نام", phone: "شماره تلفن", phone_placeholder: "شماره تلفن", password: "رمز عبور", name: "نام", name_placeholder: "نام", surname: "نام خانوادگی", surname_placeholder: "نام خانوادگی", logging_in: "در حال ورود...", signing_up: "در حال ثبت نام...", auth_page_disabled_title: "صفحه ورود غیرفعال شده است.", auth_page_disabled_description: "برای دسترسی با مدیر سامانه تماس بگیرید.", select_placeholder: "انتخاب کنید", login_button: "ورود", signup_button: "ثبت نام" }, Va = { toggle: "تغییر تم", light: "تغییر به تم روشن", dark: "تغییر به تم تاریک", system: "تغییر به تم سیستم" }, Wa = { select_placeholder: "انتخاب کنید", loading: "در حال بارگذاری...", retry: "تلاش مجدد", save: "ذخیره", saving: "در حال ذخیره...", cancel: "انصراف", delete: "حذف", edit: "ویرایش", search: "جستجو", search_placeholder: "جستجو...", no_data: "دادهای موجود نیست", loading_more: "در حال بارگذاری بیشتر...", confirm_delete: "آیا از حذف اطمینان دارید؟", error_loading: "خطا در بارگذاری دادهها", dashboard: { title: "پنل ادمین", logout: "خروج", tabs: { analytics: "تحلیل و آمار", chat_history: "گفتگوها", users: "کاربران", admins: "ادمینها", settings: "تنظیمات" } }, app_settings: { title: "تنظیمات سامانه", subtitle: "پیکربندی کلی ظاهر و رفتار سامانه را مدیریت کنید.", sections: { general: "اطلاعات پایه", chat: "تنظیمات گفتگو", user_billing: "کاربری و مالی" }, general: { app_name: "نام سامانه", admin_title: "عنوان پنل ادمین", language: "زبان پیشفرض", language_help: "زبانی که کاربر در اولین ورود مشاهده میکند (در صورت عدم تشخیص خودکار).", appearance: "ظاهر پیشفرض", appearance_help: "این مقادیر زمانی اعمال میشوند که کاربر تنظیمات ظاهری خود را ذخیره نکرده باشد.", default_theme: "پوسته پیشفرض", default_accent: "رنگ اصلی پیشفرض", default_accent_help: "هر رنگ CSS پشتیبانیشده توسط مرورگر را وارد کنید؛ مانند #3b82f6 یا rgb(59 130 246).", default_accent_invalid: "یک رنگ CSS معتبر و پشتیبانیشده توسط مرورگر وارد کنید.", default_accent_preview: "پیشنمایش رنگ اصلی" }, chat: { welcome_greeting: "پیام خوشآمدگویی", welcome_subtitle: "زیرعنوان خوشآمدگویی", disclaimer: "متن سلب مسئولیت", show_tool_details: "نمایش جزئیات فنی ابزارها (Tools)", show_tool_details_help: "برای نمایش جزئیات فنی و نحوه عملکرد ابزارهای هوش مصنوعی به کاربران، این گزینه را فعال کنید.", show_settings: "نمایش آیکون تنظیمات برای کاربران", show_settings_help: "نمایش چرخدنده تنظیمات در محیط چت برای شخصیسازی توسط کاربر.", show_version_in_settings: "نمایش نسخه برنامه در تنظیمات کاربر", show_version_in_settings_help: "نسخه برنامه را در پایین پنجره تنظیمات کاربر نمایش میدهد. این گزینه روی صفحه تنظیمات ادمین اثری ندارد.", disable_signup: "غیرفعالسازی ثبتنام", disable_signup_help: "تب ثبتنام را مخفی میکند تا کاربران فقط بتوانند وارد شوند.", disable_auth_page: "غیرفعالسازی صفحه ورود/ثبتنام", disable_auth_page_help: "کل صفحه احراز هویت را مخفی میکند و دسترسی به فرمهای ورود و ثبتنام را میبندد.", composer_attachments: "فعالسازی پیوست فایل", composer_attachments_help: "اجازه به کاربران برای آپلود و پیوست فایل به پیامها.", thread_actions_feedback: "فعالسازی دکمههای بازخورد", thread_actions_feedback_help: "نمایش دکمههای پسندیدن/نپسندیدن در پاسخهای هوش مصنوعی.", thread_actions_retry: "فعالسازی دکمه تلاش مجدد", thread_actions_retry_help: "نمایش دکمه تلاش مجدد برای تولید دوباره آخرین پاسخ هوش مصنوعی.", history_enabled: "فعالسازی سایدبار تاریخچه", history_enabled_help: "نمایش منوی کناری شامل گفتگوهای قبلی.", history_show_delete: "اجازه حذف گفتگوها", history_show_rename: "اجازه تغییر نام گفتگوها", history_show_share: "اجازه اشتراکگذاری گفتگوها", history_show_pin: "اجازه پین کردن گفتگوها", sections_modes: "وضعیت نمایش تبهای تنظیمات", sections_modes_help: "کنترل نمایش یا غیرفعال بودن تبهای مختلف در بخش تنظیمات کاربر.", mode_editable: "فعال (قابل ویرایش)", mode_faded: "محو (فقط خواندنی)", mode_hidden: "مخفی (غیرفعال)", general_tab: "تب عمومی", profile_tab: "تب پروفایل", account_tab: "تب حساب کاربری", inner_fields_modes: "مشاهدهپذیری فیلدهای داخلی", inner_fields_modes_help: "وضعیت نمایش فیلدهای هر تب را بهصورت مجزا پیکربندی کنید." }, user_billing: { initial_balance_tokens: "توکن اولیه پیشفرض", initial_balance_requests: "تعداد درخواست اولیه پیشفرض", initial_balance_help: "این مقادیر بهصورت خودکار به کاربران جدید اختصاص داده میشوند، مگر اینکه هنگام ایجاد کاربر مقدار دیگری تعیین شود." }, save_success: "تنظیمات با موفقیت ذخیره شد", save_error: "خطا در ذخیرهسازی تنظیمات", save: "ذخیره تغییرات", translations_management: "مدیریت ترجمهها", editor_tips: "تمام تغییرات بهصورت خودکار در حالت محلی ذخیره میشوند. برای نهاییسازی، دکمه «ذخیره تغییرات» را بزنید.", sync_from_code: "همگامسازی از کد", reset_button: "بازنشانی به تنظیمات اولیه", reset_confirm_title: "بازنشانی تنظیمات؟", reset_confirm_description: "این عمل تمام فیلدها را به مقادیر پیشفرض در کد بازمیگرداند. تغییرات ذخیره نشده فعلی از بین خواهند رفت.", preview: "پیشنمایش", tips_label: "نکته" }, analytics: { title: "تحلیل و آمار", days: "{{count}} روز", total_users: "تعداد کاربران", total_threads: "تعداد گفتگوها", total_messages: "تعداد پیامها", total_token_usage: "مصرف کل توکن", threads_chart: "گفتگوها", messages_chart: "پیامها", token_usage_chart: "مصرف توکن", active_users: "کاربران فعال", conversations: "گفتگو", threads: "گفتگو", feedback: "نظرات کاربران", total_feedback: "کل نظرات", positive: "مثبت", negative: "منفی", loading_analytics: "در حال بارگذاری تحلیلها...", error_loading: "خطا در بارگذاری دادهها" }, chat_history: { title: "مدیریت تاریخچه گفتگوها", search_placeholder: "جستجو بر اساس نام، شماره تماس، عنوان گفتگو یا شناسه...", search_button: "جستجو", threads_list: "لیست گفتگوها", thread_count: "{{count}}", no_thread_title: "گفتگو بدون عنوان", messages: "پیامها", messages_for: "پیامهای گفتگو: {{title}}", select_thread: "یک گفتگو را برای مشاهده انتخاب کنید", no_threads: "هیچ گفتگویی یافت نشد", empty_thread: "این گفتگو خالی است", loading_threads: "در حال بارگذاری...", loading_messages: "در حال بارگذاری پیامها...", user_label: "کاربر", assistant_label: "دستیار هوشمند", input_tokens: "ورودی: {{value}}", output_tokens: "خروجی: {{value}}", total_tokens: "کل: {{value}}", all_feedbacks: "همه گفتگوها", liked_feedbacks: "پسندیده شده 👍", disliked_feedbacks: "نپسندیده شده 👎", any_feedback: "دارای بازخورد", output_available: "خروجی موجود است", running: "در حال اجرا...", unnamed_file: "فایل بدون نام", download_file: "دانلود فایل" }, users: { title: "مدیریت کاربران", user_count: "تعداد کاربران: {{count}}", add_user: "افزودن کاربر جدید", edit_user: "ویرایش کاربر", phone: "شماره تلفن", phone_placeholder: "۰۹۱۲۳۴۵۶۷۸۹", name: "نام", surname: "نام خانوادگی", initial_tokens: "تعداد توکن اولیه (اختیاری)", initial_requests: "تعداد درخواست اولیه (اختیاری)", balance: "موجودی", requests_label: "درخواستها", tokens_label: "توکنها", token_limit: "سقف توکن", request_limit: "سقف درخواست", tokens_usage: "میزان مصرف توکن", requests_usage: "میزان مصرف درخواست", actions: "عملیات", copy_token: "کپی توکن (با بروزرسانی خودکار)", token_copied: "توکن با موفقیت کپی شد", no_token: "توکنی برای این کاربر یافت نشد", recharge: "شارژ موجودی", full_charge: "شارژ کامل", update_balance: "بروزرسانی موجودی", update_balance_for: "بروزرسانی موجودی", token_count: "تعداد توکن", request_count: "تعداد درخواست", updating: "در حال بروزرسانی...", no_users: "هیچ کاربری یافت نشد.", confirm_delete_user: "آیا از حذف این کاربر اطمینان دارید؟", tokens_exceed_limit: "تعداد توکن نمیتواند بیشتر از سقف مجاز باشد", requests_exceed_limit: "تعداد درخواست نمیتواند بیشتر از سقف مجاز باشد", metadata: "متادیتا (JSON)", initial_balance: "موجودی اولیه", custom_fields: "فیلدهای اضافه", metadata_raw: "متادیتا (JSON خام)", advanced_usage: "استفاده پیشرفته", invalid_json: "فرمت JSON نامعتبر است" }, admins: { title: "مدیریت ادمینها", admin_count: "تعداد ادمینها: {{count}}", add_admin: "افزودن ادمین جدید", edit_admin: "ویرایش ادمین", username: "نام کاربری", name: "نام", password: "رمز عبور", password_edit: "رمز عبور جدید (خالی بگذارید تا تغییر نکند)", permissions: "دسترسیها", perm_chat_history: "تاریخچه گفتگوها", perm_admin_management: "مدیریت ادمینها", perm_user_management: "مدیریت کاربران", perm_analytics: "تحلیل و آمار", perm_settings: "تنظیمات", no_admins: "هیچ ادمینی یافت نشد.", confirm_delete_admin: "آیا از حذف این ادمین اطمینان دارید؟" }, errors: { access_denied_title: "عدم دسترسی", access_denied_message: "شما مجوزهای لازم برای دسترسی به این صفحه را ندارید. میتوانید با مدیر سیستم تماس بگیرید.", back_to_dashboard: "بازگشت به پیشخوان" }, login: { title: "پنل ادمین", setup_title: "راهاندازی اولیه", setup_description: "هنوز حساب ادمینی وجود ندارد. برای شروع، یک رمز عبور برای کاربر ادمین پیشفرض تنظیم کنید.", set_password: "تعیین رمز عبور", set_password_placeholder: "یک رمز عبور قوی انتخاب کنید", confirm_password: "تأیید رمز عبور", confirm_password_placeholder: "رمز عبور را دوباره وارد کنید", passwords_mismatch: "رمزهای عبور مطابقت ندارند", password_too_short: "رمز عبور باید حداقل ۴ کاراکتر باشد", create_admin: "ایجاد ادمین و ورود", setting_up: "در حال راهاندازی...", username: "نام کاربری", username_placeholder: "نام کاربری", password: "رمز عبور", password_placeholder: "••••••••", submit: "ورود به پنل", logging_in: "در حال ورود...", error: "خطا در ورود", copyright: "© ۲۰۲۶ پلتفرم چتبات هوشمند" } }, Ya = { 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: "آخرین بروزرسانی اعتبار در تاریخ" } }, Xa = { 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: "خطا در اشتراکگذاری گفتگو.", model_quota_reached_error: "سامانه در حال حاضر قادر به پاسخگویی نیست. لطفاً بعداً دوباره تلاش کنید.", admin_already_exists: "ادمین با این نام کاربری قبلاً ایجاد شده است.", admin_not_found: "ادمین یافت نشد.", cannot_delete_self: "شما نمیتوانید حساب مدیریت خود را حذف کنید.", admin_update_failed: "خطا در بروزرسانی اطلاعات ادمین.", internal_error: "یک خطای داخلی در سرور رخ داده است. لطفاً بعداً تلاش کنید.", validation_error: "دادههای ارسالی معتبر نیستند. لطفاً ورودیهای خود را بررسی کنید.", not_found: "منبع مورد نظر یافت نشد." }, Ka = {
|
|
6285
|
-
sidebar:
|
|
6286
|
-
chat:
|
|
6287
|
-
tools_ui:
|
|
6288
|
-
login:
|
|
6289
|
-
theme:
|
|
6290
|
-
admin:
|
|
6291
|
-
settings:
|
|
6292
|
-
errors:
|
|
6293
|
-
},
|
|
6294
|
-
en:
|
|
6295
|
-
fa:
|
|
6296
|
-
},
|
|
6297
|
-
|
|
6298
|
-
resources:
|
|
6291
|
+
const Pa = { 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" }, Ma = { 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." }, za = { 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" }, Ua = { 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...", auth_page_disabled_title: "The sign-in page is currently disabled.", auth_page_disabled_description: "Please contact the administrator for access.", select_placeholder: "Select an option", login_button: "Login", signup_button: "Sign Up" }, $a = { toggle: "Change theme", light: "Switch to light theme", dark: "Switch to dark theme", system: "Switch to system theme" }, Ba = { select_placeholder: "Select an option", loading: "Loading...", retry: "Retry", save: "Save", saving: "Saving...", cancel: "Cancel", delete: "Delete", edit: "Edit", search: "Search", search_placeholder: "Search...", no_data: "No data available", loading_more: "Loading more...", confirm_delete: "Are you sure you want to delete?", error_loading: "Error loading data", dashboard: { title: "Admin Panel", logout: "Logout", tabs: { analytics: "Analytics", chat_history: "Chats", users: "Users", admins: "Admins", settings: "Settings" } }, app_settings: { title: "System Settings", subtitle: "Manage global configuration for application appearance and behavior.", sections: { general: "Basic Information", chat: "Chat Experience", user_billing: "User & Billing" }, general: { app_name: "App Name", admin_title: "Admin Panel Title", language: "Default Language", language_help: "The language users see on their first visit (if not auto-detected).", appearance: "Default Appearance", appearance_help: "These values apply when a user has not saved their own appearance preferences.", default_theme: "Default Theme", default_accent: "Default Accent Color", default_accent_help: "Enter any browser-supported CSS color, such as #3b82f6, rgb(59 130 246), or oklch(0.623 0.214 259.815).", default_accent_invalid: "Enter a valid browser-supported CSS color.", default_accent_preview: "Accent color preview" }, 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.", show_version_in_settings: "Show app version in user settings", show_version_in_settings_help: "Show the app version at the bottom of the user settings dialog. This does not affect the admin settings page.", disable_signup: "Disable signup", disable_signup_help: "Hide the signup tab so users can only log in.", disable_auth_page: "Disable login/signup page", disable_auth_page_help: "Hide the entire auth page and prevent users from reaching login or signup forms.", composer_attachments: "Enable File Attachments", composer_attachments_help: "Allow users to upload and attach files to their messages.", thread_actions_feedback: "Enable Feedback Buttons", thread_actions_feedback_help: "Show like/dislike buttons on AI responses.", thread_actions_retry: "Enable Retry Button", thread_actions_retry_help: "Show a retry button to regenerate the last AI response.", history_enabled: "Enable Chat History Sidebar", history_enabled_help: "Show the sidebar containing previous conversations.", history_show_delete: "Allow Deleting Conversations", history_show_rename: "Allow Renaming Conversations", history_show_share: "Allow Sharing Conversations", history_show_pin: "Allow Pinning Conversations", sections_modes: "Settings Tab Modes", sections_modes_help: "Control visibility and interactability of settings tabs for users.", mode_editable: "Enable (Editable)", mode_faded: "Fade (Readonly)", mode_hidden: "Hide (Disable)", general_tab: "General Tab", profile_tab: "Profile Tab", account_tab: "Account Tab", inner_fields_modes: "Inner Fields Visibility", inner_fields_modes_help: "Configure visibility for individual fields within each tab." }, user_billing: { initial_balance_tokens: "Default Initial Tokens", initial_balance_requests: "Default Initial Requests", initial_balance_help: "These values will be assigned to new users by default if not specified during creation." }, save_success: "Settings saved successfully", save_error: "Failed to save settings", save: "Save Changes", translations_management: "Translations Management", editor_tips: "All changes are saved automatically to local state. Don't forget to push 'Save Changes' to persist.", sync_from_code: "Sync from Code", reset_button: "Reset to Defaults", reset_confirm_title: "Reset Settings?", reset_confirm_description: "This will reset all fields to their original default values from the code. Current unsaved changes will be lost.", preview: "Preview", tips_label: "TIPS" }, analytics: { title: "Analytics & Statistics", days: "{{count}} Days", total_users: "Total Users", total_threads: "Total Threads", total_messages: "Total Messages", total_token_usage: "Total Token Usage", usage_cost: "Usage & Cost", input: "Input", output: "Output", cost: "Cost", 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}}", cost: "Cost: {{value}}", unpriced: "Unpriced", all_feedbacks: "All Conversations", liked_feedbacks: "Liked 👍", disliked_feedbacks: "Disliked 👎", any_feedback: "With Feedback", output_available: "Output Available", running: "Running...", unnamed_file: "Unnamed File", download_file: "Download File" }, users: { title: "User Management", user_count: "User count: {{count}}", add_user: "Add New User", edit_user: "Edit User", phone: "Phone Number", phone_placeholder: "09123456789", name: "Name", surname: "Surname", initial_tokens: "Initial Tokens (optional)", initial_requests: "Initial Requests (optional)", balance: "Balance", requests_label: "Requests", tokens_label: "Tokens", token_limit: "Token Limit", request_limit: "Request Limit", tokens_usage: "Tokens Usage", requests_usage: "Requests Usage", actions: "Actions", copy_token: "Copy Token (auto-refresh)", token_copied: "Token copied successfully", no_token: "No token found for this user", recharge: "Recharge Balance", full_charge: "Full Charge", update_balance: "Update Balance", update_balance_for: "Update Balance for", token_count: "Token Count", request_count: "Request Count", updating: "Updating...", no_users: "No users found.", sort_ascending: "Sort ascending", sort_descending: "Sort descending", confirm_delete_user: "Are you sure you want to delete this user?", tokens_exceed_limit: "Tokens cannot exceed the specified limit", requests_exceed_limit: "Requests cannot exceed the specified limit", metadata: "Metadata (JSON)", initial_balance: "Initial Balance", custom_fields: "Additional Fields", metadata_raw: "Metadata (Raw JSON)", advanced_usage: "Advanced usage", invalid_json: "Invalid JSON format", auto_recharge: "Automatic Balance Renewal", auto_recharge_help: "Restore this user's balance to its limits on a recurring schedule.", enabled: "Enabled", recharge_interval: "Every", recharge_unit: "Interval Unit", recharge_unit_minute: "Minute(s)", recharge_unit_hour: "Hour(s)", recharge_unit_day: "Day(s)", recharge_unit_week: "Week(s)", recharge_unit_month: "Month(s)", recharge_schedule_help: "New schedules begin when saved. Existing schedules keep their current cycle anchor.", next_recharge: "Next renewal", last_recharge: "Last automatic renewal", not_available: "Not available", recharge_interval_invalid: "The renewal interval must be a positive whole number", recharge_policy_not_saved: "The backend did not save the renewal policy. Restart or update the backend to the version that supports automatic renewal.", usage_summary: "Usage Summary", input_tokens: "Input Tokens", output_tokens: "Output Tokens", total_tokens: "Total Tokens", requests_made: "Requests Made", total_cost: "Total Cost", renewals: "Balance Renewals", unpriced_requests: "Unpriced Requests" }, 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" } }, Ha = { 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" } }, qa = { 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.", model_quota_reached_error: "The system cannot respond at this time. Please try again later.", 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." }, ja = {
|
|
6292
|
+
sidebar: Pa,
|
|
6293
|
+
chat: Ma,
|
|
6294
|
+
tools_ui: za,
|
|
6295
|
+
login: Ua,
|
|
6296
|
+
theme: $a,
|
|
6297
|
+
admin: Ba,
|
|
6298
|
+
settings: Ha,
|
|
6299
|
+
errors: qa
|
|
6300
|
+
}, Ga = { 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: "اشتراکگذاری" }, Va = { tools: "ابزارها", error: "خطا:", input_placeholder: "سوالتو اینجا بپرس...", insufficient_balance: "موجودی حساب شما کافی نیست. لطفا برای ادامه، حساب خود را شارژ کنید.", regenerate: "تولید مجدد", retry: "تلاش مجدد", copy: "کپی", like: "پسندیدم", dislike: "نپسندیدم", attach_file: "پیوست فایل", remove_file: "حذف فایل", used_sources: "از {{count}} منبع استفاده شد", welcome: { title: "سلام! چطور میتونم کمکت کنم؟", subtitle: "هر سوالی داری بپرس، تمام تلاشمو میکنم کمکت کنم.", suggestions: ["چه کارهایی میتونی انجام بدی؟", "یه چیز جالب بهم بگو", "کمکم کن یه ایمیل بنویسم", "یه مفهوم رو برام توضیح بده"] }, disclaimer: "هوش مصنوعی ممکن است اشتباه کند. اطلاعات مهم را بررسی کنید." }, Wa = { pending: "در انتظار", running: "در حال اجرا", completed: "تکمیل شده", error: "خطا", parameters: "پارامترها", result: "نتیجه", view_error: "نمایش خطا", tool_error: "خطای ابزار", copied: "کپی شد!", copy_error: "کپی خطا" }, Ya = { login_tab: "ورود", signup_tab: "ثبت نام", phone: "شماره تلفن", phone_placeholder: "شماره تلفن", password: "رمز عبور", name: "نام", name_placeholder: "نام", surname: "نام خانوادگی", surname_placeholder: "نام خانوادگی", logging_in: "در حال ورود...", signing_up: "در حال ثبت نام...", auth_page_disabled_title: "صفحه ورود غیرفعال شده است.", auth_page_disabled_description: "برای دسترسی با مدیر سامانه تماس بگیرید.", select_placeholder: "انتخاب کنید", login_button: "ورود", signup_button: "ثبت نام" }, Xa = { toggle: "تغییر تم", light: "تغییر به تم روشن", dark: "تغییر به تم تاریک", system: "تغییر به تم سیستم" }, Ka = { select_placeholder: "انتخاب کنید", loading: "در حال بارگذاری...", retry: "تلاش مجدد", save: "ذخیره", saving: "در حال ذخیره...", cancel: "انصراف", delete: "حذف", edit: "ویرایش", search: "جستجو", search_placeholder: "جستجو...", no_data: "دادهای موجود نیست", loading_more: "در حال بارگذاری بیشتر...", confirm_delete: "آیا از حذف اطمینان دارید؟", error_loading: "خطا در بارگذاری دادهها", dashboard: { title: "پنل ادمین", logout: "خروج", tabs: { analytics: "تحلیل و آمار", chat_history: "گفتگوها", users: "کاربران", admins: "ادمینها", settings: "تنظیمات" } }, app_settings: { title: "تنظیمات سامانه", subtitle: "پیکربندی کلی ظاهر و رفتار سامانه را مدیریت کنید.", sections: { general: "اطلاعات پایه", chat: "تنظیمات گفتگو", user_billing: "کاربری و مالی" }, general: { app_name: "نام سامانه", admin_title: "عنوان پنل ادمین", language: "زبان پیشفرض", language_help: "زبانی که کاربر در اولین ورود مشاهده میکند (در صورت عدم تشخیص خودکار).", appearance: "ظاهر پیشفرض", appearance_help: "این مقادیر زمانی اعمال میشوند که کاربر تنظیمات ظاهری خود را ذخیره نکرده باشد.", default_theme: "پوسته پیشفرض", default_accent: "رنگ اصلی پیشفرض", default_accent_help: "هر رنگ CSS پشتیبانیشده توسط مرورگر را وارد کنید؛ مانند #3b82f6 یا rgb(59 130 246).", default_accent_invalid: "یک رنگ CSS معتبر و پشتیبانیشده توسط مرورگر وارد کنید.", default_accent_preview: "پیشنمایش رنگ اصلی" }, chat: { welcome_greeting: "پیام خوشآمدگویی", welcome_subtitle: "زیرعنوان خوشآمدگویی", disclaimer: "متن سلب مسئولیت", show_tool_details: "نمایش جزئیات فنی ابزارها (Tools)", show_tool_details_help: "برای نمایش جزئیات فنی و نحوه عملکرد ابزارهای هوش مصنوعی به کاربران، این گزینه را فعال کنید.", show_settings: "نمایش آیکون تنظیمات برای کاربران", show_settings_help: "نمایش چرخدنده تنظیمات در محیط چت برای شخصیسازی توسط کاربر.", show_version_in_settings: "نمایش نسخه برنامه در تنظیمات کاربر", show_version_in_settings_help: "نسخه برنامه را در پایین پنجره تنظیمات کاربر نمایش میدهد. این گزینه روی صفحه تنظیمات ادمین اثری ندارد.", disable_signup: "غیرفعالسازی ثبتنام", disable_signup_help: "تب ثبتنام را مخفی میکند تا کاربران فقط بتوانند وارد شوند.", disable_auth_page: "غیرفعالسازی صفحه ورود/ثبتنام", disable_auth_page_help: "کل صفحه احراز هویت را مخفی میکند و دسترسی به فرمهای ورود و ثبتنام را میبندد.", composer_attachments: "فعالسازی پیوست فایل", composer_attachments_help: "اجازه به کاربران برای آپلود و پیوست فایل به پیامها.", thread_actions_feedback: "فعالسازی دکمههای بازخورد", thread_actions_feedback_help: "نمایش دکمههای پسندیدن/نپسندیدن در پاسخهای هوش مصنوعی.", thread_actions_retry: "فعالسازی دکمه تلاش مجدد", thread_actions_retry_help: "نمایش دکمه تلاش مجدد برای تولید دوباره آخرین پاسخ هوش مصنوعی.", history_enabled: "فعالسازی سایدبار تاریخچه", history_enabled_help: "نمایش منوی کناری شامل گفتگوهای قبلی.", history_show_delete: "اجازه حذف گفتگوها", history_show_rename: "اجازه تغییر نام گفتگوها", history_show_share: "اجازه اشتراکگذاری گفتگوها", history_show_pin: "اجازه پین کردن گفتگوها", sections_modes: "وضعیت نمایش تبهای تنظیمات", sections_modes_help: "کنترل نمایش یا غیرفعال بودن تبهای مختلف در بخش تنظیمات کاربر.", mode_editable: "فعال (قابل ویرایش)", mode_faded: "محو (فقط خواندنی)", mode_hidden: "مخفی (غیرفعال)", general_tab: "تب عمومی", profile_tab: "تب پروفایل", account_tab: "تب حساب کاربری", inner_fields_modes: "مشاهدهپذیری فیلدهای داخلی", inner_fields_modes_help: "وضعیت نمایش فیلدهای هر تب را بهصورت مجزا پیکربندی کنید." }, user_billing: { initial_balance_tokens: "توکن اولیه پیشفرض", initial_balance_requests: "تعداد درخواست اولیه پیشفرض", initial_balance_help: "این مقادیر بهصورت خودکار به کاربران جدید اختصاص داده میشوند، مگر اینکه هنگام ایجاد کاربر مقدار دیگری تعیین شود." }, save_success: "تنظیمات با موفقیت ذخیره شد", save_error: "خطا در ذخیرهسازی تنظیمات", save: "ذخیره تغییرات", translations_management: "مدیریت ترجمهها", editor_tips: "تمام تغییرات بهصورت خودکار در حالت محلی ذخیره میشوند. برای نهاییسازی، دکمه «ذخیره تغییرات» را بزنید.", sync_from_code: "همگامسازی از کد", reset_button: "بازنشانی به تنظیمات اولیه", reset_confirm_title: "بازنشانی تنظیمات؟", reset_confirm_description: "این عمل تمام فیلدها را به مقادیر پیشفرض در کد بازمیگرداند. تغییرات ذخیره نشده فعلی از بین خواهند رفت.", preview: "پیشنمایش", tips_label: "نکته" }, analytics: { title: "تحلیل و آمار", days: "{{count}} روز", total_users: "تعداد کاربران", total_threads: "تعداد گفتگوها", total_messages: "تعداد پیامها", total_token_usage: "مصرف کل توکن", usage_cost: "مصرف و هزینه", input: "ورودی", output: "خروجی", cost: "هزینه", 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}}", cost: "هزینه: {{value}}", unpriced: "بدون هزینه", all_feedbacks: "همه گفتگوها", liked_feedbacks: "پسندیده شده 👍", disliked_feedbacks: "نپسندیده شده 👎", any_feedback: "دارای بازخورد", output_available: "خروجی موجود است", running: "در حال اجرا...", unnamed_file: "فایل بدون نام", download_file: "دانلود فایل" }, users: { title: "مدیریت کاربران", user_count: "تعداد کاربران: {{count}}", add_user: "افزودن کاربر جدید", edit_user: "ویرایش کاربر", phone: "شماره تلفن", phone_placeholder: "۰۹۱۲۳۴۵۶۷۸۹", name: "نام", surname: "نام خانوادگی", initial_tokens: "تعداد توکن اولیه (اختیاری)", initial_requests: "تعداد درخواست اولیه (اختیاری)", balance: "موجودی", requests_label: "درخواستها", tokens_label: "توکنها", token_limit: "سقف توکن", request_limit: "سقف درخواست", tokens_usage: "میزان مصرف توکن", requests_usage: "میزان مصرف درخواست", actions: "عملیات", copy_token: "کپی توکن (با بروزرسانی خودکار)", token_copied: "توکن با موفقیت کپی شد", no_token: "توکنی برای این کاربر یافت نشد", recharge: "شارژ موجودی", full_charge: "شارژ کامل", update_balance: "بروزرسانی موجودی", update_balance_for: "بروزرسانی موجودی", token_count: "تعداد توکن", request_count: "تعداد درخواست", updating: "در حال بروزرسانی...", no_users: "هیچ کاربری یافت نشد.", sort_ascending: "مرتبسازی صعودی", sort_descending: "مرتبسازی نزولی", confirm_delete_user: "آیا از حذف این کاربر اطمینان دارید؟", tokens_exceed_limit: "تعداد توکن نمیتواند بیشتر از سقف مجاز باشد", requests_exceed_limit: "تعداد درخواست نمیتواند بیشتر از سقف مجاز باشد", metadata: "متادیتا (JSON)", initial_balance: "موجودی اولیه", custom_fields: "فیلدهای اضافه", metadata_raw: "متادیتا (JSON خام)", advanced_usage: "استفاده پیشرفته", invalid_json: "فرمت JSON نامعتبر است", auto_recharge: "تمدید خودکار موجودی", auto_recharge_help: "موجودی این کاربر را طبق یک برنامه تکرارشونده تا سقف تعیینشده بازنشانی میکند.", enabled: "فعال", recharge_interval: "هر", recharge_unit: "واحد بازه", recharge_unit_minute: "دقیقه", recharge_unit_hour: "ساعت", recharge_unit_day: "روز", recharge_unit_week: "هفته", recharge_unit_month: "ماه", recharge_schedule_help: "برنامه جدید از زمان ذخیره آغاز میشود. برنامه موجود مبدأ دوره فعلی خود را حفظ میکند.", next_recharge: "تمدید بعدی", last_recharge: "آخرین تمدید خودکار", not_available: "در دسترس نیست", recharge_interval_invalid: "بازه تمدید باید یک عدد صحیح مثبت باشد", recharge_policy_not_saved: "سرور تنظیمات تمدید خودکار را ذخیره نکرد. سرور را راهاندازی مجدد یا به نسخه پشتیبانکننده از تمدید خودکار بروزرسانی کنید.", usage_summary: "خلاصه مصرف", input_tokens: "توکنهای ورودی", output_tokens: "توکنهای خروجی", total_tokens: "کل توکنها", requests_made: "تعداد درخواستها", total_cost: "هزینه کل", renewals: "دفعات شارژ موجودی", unpriced_requests: "درخواستهای بدون هزینهی ثبت شده" }, 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: "© ۲۰۲۶ پلتفرم چتبات هوشمند" } }, Za = { 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: "آخرین بروزرسانی اعتبار در تاریخ" } }, Ja = { 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: "خطا در اشتراکگذاری گفتگو.", model_quota_reached_error: "سامانه در حال حاضر قادر به پاسخگویی نیست. لطفاً بعداً دوباره تلاش کنید.", admin_already_exists: "ادمین با این نام کاربری قبلاً ایجاد شده است.", admin_not_found: "ادمین یافت نشد.", cannot_delete_self: "شما نمیتوانید حساب مدیریت خود را حذف کنید.", admin_update_failed: "خطا در بروزرسانی اطلاعات ادمین.", internal_error: "یک خطای داخلی در سرور رخ داده است. لطفاً بعداً تلاش کنید.", validation_error: "دادههای ارسالی معتبر نیستند. لطفاً ورودیهای خود را بررسی کنید.", not_found: "منبع مورد نظر یافت نشد." }, Qa = {
|
|
6301
|
+
sidebar: Ga,
|
|
6302
|
+
chat: Va,
|
|
6303
|
+
tools_ui: Wa,
|
|
6304
|
+
login: Ya,
|
|
6305
|
+
theme: Xa,
|
|
6306
|
+
admin: Ka,
|
|
6307
|
+
settings: Za,
|
|
6308
|
+
errors: Ja
|
|
6309
|
+
}, ei = {
|
|
6310
|
+
en: ja,
|
|
6311
|
+
fa: Qa
|
|
6312
|
+
}, ti = Fn.createInstance();
|
|
6313
|
+
ti.use(sn).use(un).init({
|
|
6314
|
+
resources: ei,
|
|
6299
6315
|
fallbackLng: "en",
|
|
6300
6316
|
returnNull: !1,
|
|
6301
6317
|
returnEmptyString: !1,
|
|
@@ -6309,13 +6325,13 @@ Ja.use(sn).use(un).init({
|
|
|
6309
6325
|
caches: ["localStorage"]
|
|
6310
6326
|
}
|
|
6311
6327
|
});
|
|
6312
|
-
function
|
|
6328
|
+
function Ri({ className: e, type: t, ...n }) {
|
|
6313
6329
|
return /* @__PURE__ */ i(
|
|
6314
6330
|
"input",
|
|
6315
6331
|
{
|
|
6316
6332
|
type: t,
|
|
6317
6333
|
"data-slot": "input",
|
|
6318
|
-
className:
|
|
6334
|
+
className: k(
|
|
6319
6335
|
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
6320
6336
|
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
6321
6337
|
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
@@ -6325,38 +6341,38 @@ function Ti({ className: e, type: t, ...n }) {
|
|
|
6325
6341
|
}
|
|
6326
6342
|
);
|
|
6327
6343
|
}
|
|
6328
|
-
const Ci = "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", Qa = De(
|
|
6344
|
+
const Oi = "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", ni = De(
|
|
6329
6345
|
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
|
6330
|
-
),
|
|
6346
|
+
), oi = Ce.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ i(
|
|
6331
6347
|
"label",
|
|
6332
6348
|
{
|
|
6333
6349
|
ref: n,
|
|
6334
|
-
className:
|
|
6350
|
+
className: k(ni(), e),
|
|
6335
6351
|
...t
|
|
6336
6352
|
}
|
|
6337
6353
|
));
|
|
6338
|
-
|
|
6339
|
-
function
|
|
6354
|
+
oi.displayName = "Label";
|
|
6355
|
+
function Li({ ...e }) {
|
|
6340
6356
|
return /* @__PURE__ */ i(F.Root, { "data-slot": "select", ...e });
|
|
6341
6357
|
}
|
|
6342
|
-
function
|
|
6358
|
+
function Fi({ ...e }) {
|
|
6343
6359
|
return /* @__PURE__ */ i(F.Group, { "data-slot": "select-group", ...e });
|
|
6344
6360
|
}
|
|
6345
|
-
function
|
|
6361
|
+
function Di({ ...e }) {
|
|
6346
6362
|
return /* @__PURE__ */ i(F.Value, { "data-slot": "select-value", ...e });
|
|
6347
6363
|
}
|
|
6348
|
-
function
|
|
6364
|
+
function Pi({
|
|
6349
6365
|
className: e,
|
|
6350
6366
|
size: t = "default",
|
|
6351
6367
|
children: n,
|
|
6352
6368
|
...o
|
|
6353
6369
|
}) {
|
|
6354
|
-
return /* @__PURE__ */
|
|
6370
|
+
return /* @__PURE__ */ w(
|
|
6355
6371
|
F.Trigger,
|
|
6356
6372
|
{
|
|
6357
6373
|
"data-slot": "select-trigger",
|
|
6358
6374
|
"data-size": t,
|
|
6359
|
-
className:
|
|
6375
|
+
className: k(
|
|
6360
6376
|
"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
6361
6377
|
e
|
|
6362
6378
|
),
|
|
@@ -6368,17 +6384,17 @@ function Oi({
|
|
|
6368
6384
|
}
|
|
6369
6385
|
);
|
|
6370
6386
|
}
|
|
6371
|
-
function
|
|
6387
|
+
function Mi({
|
|
6372
6388
|
className: e,
|
|
6373
6389
|
children: t,
|
|
6374
6390
|
position: n = "popper",
|
|
6375
6391
|
...o
|
|
6376
6392
|
}) {
|
|
6377
|
-
return /* @__PURE__ */ i(F.Portal, { children: /* @__PURE__ */
|
|
6393
|
+
return /* @__PURE__ */ i(F.Portal, { children: /* @__PURE__ */ w(
|
|
6378
6394
|
F.Content,
|
|
6379
6395
|
{
|
|
6380
6396
|
"data-slot": "select-content",
|
|
6381
|
-
className:
|
|
6397
|
+
className: k(
|
|
6382
6398
|
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
|
|
6383
6399
|
n === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
6384
6400
|
e
|
|
@@ -6386,38 +6402,38 @@ function Li({
|
|
|
6386
6402
|
position: n,
|
|
6387
6403
|
...o,
|
|
6388
6404
|
children: [
|
|
6389
|
-
/* @__PURE__ */ i(
|
|
6405
|
+
/* @__PURE__ */ i(ri, {}),
|
|
6390
6406
|
/* @__PURE__ */ i(
|
|
6391
6407
|
F.Viewport,
|
|
6392
6408
|
{
|
|
6393
|
-
className:
|
|
6409
|
+
className: k(
|
|
6394
6410
|
"p-1",
|
|
6395
6411
|
n === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
|
|
6396
6412
|
),
|
|
6397
6413
|
children: t
|
|
6398
6414
|
}
|
|
6399
6415
|
),
|
|
6400
|
-
/* @__PURE__ */ i(
|
|
6416
|
+
/* @__PURE__ */ i(ai, {})
|
|
6401
6417
|
]
|
|
6402
6418
|
}
|
|
6403
6419
|
) });
|
|
6404
6420
|
}
|
|
6405
|
-
function
|
|
6421
|
+
function zi({ className: e, ...t }) {
|
|
6406
6422
|
return /* @__PURE__ */ i(
|
|
6407
6423
|
F.Label,
|
|
6408
6424
|
{
|
|
6409
6425
|
"data-slot": "select-label",
|
|
6410
|
-
className:
|
|
6426
|
+
className: k("text-muted-foreground px-2 py-1.5 text-xs", e),
|
|
6411
6427
|
...t
|
|
6412
6428
|
}
|
|
6413
6429
|
);
|
|
6414
6430
|
}
|
|
6415
|
-
function
|
|
6416
|
-
return /* @__PURE__ */
|
|
6431
|
+
function Ui({ className: e, children: t, ...n }) {
|
|
6432
|
+
return /* @__PURE__ */ w(
|
|
6417
6433
|
F.Item,
|
|
6418
6434
|
{
|
|
6419
6435
|
"data-slot": "select-item",
|
|
6420
|
-
className:
|
|
6436
|
+
className: k(
|
|
6421
6437
|
"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pe-8 ps-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 text-start",
|
|
6422
6438
|
e
|
|
6423
6439
|
),
|
|
@@ -6429,28 +6445,28 @@ function Di({ className: e, children: t, ...n }) {
|
|
|
6429
6445
|
}
|
|
6430
6446
|
);
|
|
6431
6447
|
}
|
|
6432
|
-
function
|
|
6448
|
+
function $i({ className: e, ...t }) {
|
|
6433
6449
|
return /* @__PURE__ */ i(
|
|
6434
6450
|
F.Separator,
|
|
6435
6451
|
{
|
|
6436
6452
|
"data-slot": "select-separator",
|
|
6437
|
-
className:
|
|
6453
|
+
className: k("bg-border pointer-events-none -mx-1 my-1 h-px", e),
|
|
6438
6454
|
...t
|
|
6439
6455
|
}
|
|
6440
6456
|
);
|
|
6441
6457
|
}
|
|
6442
|
-
function
|
|
6458
|
+
function ri({ className: e, ...t }) {
|
|
6443
6459
|
return /* @__PURE__ */ i(
|
|
6444
6460
|
F.ScrollUpButton,
|
|
6445
6461
|
{
|
|
6446
6462
|
"data-slot": "select-scroll-up-button",
|
|
6447
|
-
className:
|
|
6463
|
+
className: k("flex cursor-default items-center justify-center py-1", e),
|
|
6448
6464
|
...t,
|
|
6449
6465
|
children: /* @__PURE__ */ i(An, { className: "size-4" })
|
|
6450
6466
|
}
|
|
6451
6467
|
);
|
|
6452
6468
|
}
|
|
6453
|
-
function
|
|
6469
|
+
function ai({
|
|
6454
6470
|
className: e,
|
|
6455
6471
|
...t
|
|
6456
6472
|
}) {
|
|
@@ -6458,13 +6474,13 @@ function ni({
|
|
|
6458
6474
|
F.ScrollDownButton,
|
|
6459
6475
|
{
|
|
6460
6476
|
"data-slot": "select-scroll-down-button",
|
|
6461
|
-
className:
|
|
6477
|
+
className: k("flex cursor-default items-center justify-center py-1", e),
|
|
6462
6478
|
...t,
|
|
6463
6479
|
children: /* @__PURE__ */ i(ie, { className: "size-4" })
|
|
6464
6480
|
}
|
|
6465
6481
|
);
|
|
6466
6482
|
}
|
|
6467
|
-
function
|
|
6483
|
+
function Bi(e, t) {
|
|
6468
6484
|
if (!e) return !0;
|
|
6469
6485
|
const { field: n, operator: o = "equals", value: r } = e, a = t[n];
|
|
6470
6486
|
switch (o) {
|
|
@@ -6480,13 +6496,13 @@ function Mi(e, t) {
|
|
|
6480
6496
|
return !0;
|
|
6481
6497
|
}
|
|
6482
6498
|
}
|
|
6483
|
-
function
|
|
6499
|
+
function Hi({ ...e }) {
|
|
6484
6500
|
return /* @__PURE__ */ i(re.Root, { "data-slot": "dropdown-menu", ...e });
|
|
6485
6501
|
}
|
|
6486
|
-
function
|
|
6502
|
+
function qi({ ...e }) {
|
|
6487
6503
|
return /* @__PURE__ */ i(re.Trigger, { "data-slot": "dropdown-menu-trigger", ...e });
|
|
6488
6504
|
}
|
|
6489
|
-
function
|
|
6505
|
+
function ji({
|
|
6490
6506
|
className: e,
|
|
6491
6507
|
sideOffset: t = 4,
|
|
6492
6508
|
...n
|
|
@@ -6496,7 +6512,7 @@ function $i({
|
|
|
6496
6512
|
{
|
|
6497
6513
|
"data-slot": "dropdown-menu-content",
|
|
6498
6514
|
sideOffset: t,
|
|
6499
|
-
className:
|
|
6515
|
+
className: k(
|
|
6500
6516
|
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
|
|
6501
6517
|
e
|
|
6502
6518
|
),
|
|
@@ -6504,7 +6520,7 @@ function $i({
|
|
|
6504
6520
|
}
|
|
6505
6521
|
) });
|
|
6506
6522
|
}
|
|
6507
|
-
function
|
|
6523
|
+
function Gi({
|
|
6508
6524
|
className: e,
|
|
6509
6525
|
inset: t,
|
|
6510
6526
|
variant: n = "default",
|
|
@@ -6516,7 +6532,7 @@ function Bi({
|
|
|
6516
6532
|
"data-slot": "dropdown-menu-item",
|
|
6517
6533
|
"data-inset": t,
|
|
6518
6534
|
"data-variant": n,
|
|
6519
|
-
className:
|
|
6535
|
+
className: k(
|
|
6520
6536
|
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
6521
6537
|
e
|
|
6522
6538
|
),
|
|
@@ -6524,12 +6540,12 @@ function Bi({
|
|
|
6524
6540
|
}
|
|
6525
6541
|
);
|
|
6526
6542
|
}
|
|
6527
|
-
function
|
|
6543
|
+
function Vi({ className: e, ...t }) {
|
|
6528
6544
|
return /* @__PURE__ */ i(
|
|
6529
6545
|
Ye.Root,
|
|
6530
6546
|
{
|
|
6531
6547
|
"data-slot": "checkbox",
|
|
6532
|
-
className:
|
|
6548
|
+
className: k(
|
|
6533
6549
|
"peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
6534
6550
|
e
|
|
6535
6551
|
),
|
|
@@ -6546,61 +6562,63 @@ function Hi({ className: e, ...t }) {
|
|
|
6546
6562
|
);
|
|
6547
6563
|
}
|
|
6548
6564
|
export {
|
|
6549
|
-
|
|
6550
|
-
|
|
6551
|
-
|
|
6552
|
-
|
|
6553
|
-
|
|
6554
|
-
|
|
6555
|
-
|
|
6565
|
+
ka as $,
|
|
6566
|
+
ji as A,
|
|
6567
|
+
ee as B,
|
|
6568
|
+
Ii as C,
|
|
6569
|
+
Or as D,
|
|
6570
|
+
Gi as E,
|
|
6571
|
+
Mr as F,
|
|
6556
6572
|
Xe as G,
|
|
6557
|
-
|
|
6558
|
-
|
|
6559
|
-
|
|
6560
|
-
|
|
6561
|
-
|
|
6562
|
-
|
|
6563
|
-
|
|
6564
|
-
|
|
6565
|
-
|
|
6566
|
-
|
|
6567
|
-
|
|
6568
|
-
|
|
6569
|
-
|
|
6570
|
-
|
|
6573
|
+
zr as H,
|
|
6574
|
+
Ri as I,
|
|
6575
|
+
Ai as J,
|
|
6576
|
+
Ci as K,
|
|
6577
|
+
oi as L,
|
|
6578
|
+
Vi as M,
|
|
6579
|
+
fe as N,
|
|
6580
|
+
va as O,
|
|
6581
|
+
eo as P,
|
|
6582
|
+
qn as Q,
|
|
6583
|
+
co as R,
|
|
6584
|
+
Li as S,
|
|
6585
|
+
xi as T,
|
|
6586
|
+
Ar as U,
|
|
6571
6587
|
Fi as V,
|
|
6572
|
-
|
|
6573
|
-
|
|
6574
|
-
|
|
6575
|
-
|
|
6576
|
-
|
|
6577
|
-
|
|
6578
|
-
|
|
6579
|
-
|
|
6580
|
-
|
|
6581
|
-
|
|
6582
|
-
|
|
6583
|
-
|
|
6584
|
-
|
|
6585
|
-
|
|
6586
|
-
|
|
6588
|
+
zi as W,
|
|
6589
|
+
ai as X,
|
|
6590
|
+
ri as Y,
|
|
6591
|
+
$i as Z,
|
|
6592
|
+
Er as _,
|
|
6593
|
+
W as a,
|
|
6594
|
+
go as a0,
|
|
6595
|
+
ho as a1,
|
|
6596
|
+
Ti as a2,
|
|
6597
|
+
to as a3,
|
|
6598
|
+
sn as a4,
|
|
6599
|
+
Hn as b,
|
|
6600
|
+
Ei as c,
|
|
6601
|
+
ei as d,
|
|
6602
|
+
k as e,
|
|
6603
|
+
so as f,
|
|
6604
|
+
ti as g,
|
|
6587
6605
|
Rt as h,
|
|
6588
6606
|
Ot as i,
|
|
6589
|
-
|
|
6607
|
+
Ni as j,
|
|
6590
6608
|
Lt as k,
|
|
6591
6609
|
Ft as l,
|
|
6592
|
-
|
|
6593
|
-
|
|
6594
|
-
|
|
6595
|
-
|
|
6596
|
-
|
|
6597
|
-
|
|
6598
|
-
|
|
6599
|
-
|
|
6610
|
+
Si as m,
|
|
6611
|
+
Bi as n,
|
|
6612
|
+
Lr as o,
|
|
6613
|
+
Pr as p,
|
|
6614
|
+
Pi as q,
|
|
6615
|
+
Di as r,
|
|
6616
|
+
Mi as s,
|
|
6617
|
+
Ui as t,
|
|
6600
6618
|
S as u,
|
|
6601
|
-
|
|
6602
|
-
|
|
6603
|
-
|
|
6604
|
-
|
|
6605
|
-
|
|
6619
|
+
po as v,
|
|
6620
|
+
Oi as w,
|
|
6621
|
+
ge as x,
|
|
6622
|
+
Hi as y,
|
|
6623
|
+
qi as z
|
|
6606
6624
|
};
|