@opencx/widget-react 4.0.1 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hooks/useTheme.d.ts +2 -1
- package/dist/hooks/useTranslation.d.ts +7 -0
- package/dist/index.cjs +19 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +811 -822
- package/dist/index.js.map +1 -1
- package/dist/translation/{es.locale.d.ts → ar.d.ts} +1 -1
- package/dist/translation/{ar.locale.d.ts → de.d.ts} +1 -1
- package/dist/translation/{de.locale.d.ts → en.d.ts} +1 -1
- package/dist/translation/{en.locale.d.ts → es.d.ts} +1 -1
- package/dist/translation/fr.d.ts +2 -0
- package/dist/translation/index.d.ts +5 -5
- package/dist/translation/nl.d.ts +2 -0
- package/dist/translation/pt.d.ts +2 -0
- package/dist/translation/tr.d.ts +2 -0
- package/dist-embed/script.js +38 -38
- package/dist-embed/script.js.map +1 -1
- package/package.json +3 -3
- package/dist/hooks/useLocale.d.ts +0 -6
- package/dist/translation/fr.locale.d.ts +0 -2
- package/dist/translation/nl.locale.d.ts +0 -2
- package/dist/translation/pt.locale.d.ts +0 -2
- package/dist/translation/tr.locale.d.ts +0 -2
package/dist/index.js
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import { jsx as o, jsxs as c, Fragment as
|
|
1
|
+
import { jsx as o, jsxs as c, Fragment as lt } from "react/jsx-runtime";
|
|
2
2
|
import * as ie from "@radix-ui/react-popover";
|
|
3
3
|
import * as E from "react";
|
|
4
|
-
import se, { memo as
|
|
5
|
-
import { useConfig as S,
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import * as
|
|
9
|
-
import { X as
|
|
10
|
-
import { clsx as
|
|
11
|
-
import { twMerge as
|
|
12
|
-
import { createPortal as
|
|
13
|
-
import
|
|
14
|
-
import { Slot as
|
|
15
|
-
import { cva as
|
|
16
|
-
import
|
|
4
|
+
import se, { memo as Ht, forwardRef as ct, useState as j, cloneElement as At, useEffect as le, useMemo as dt, useRef as ce, createElement as rt } from "react";
|
|
5
|
+
import { useConfig as S, useDocumentDir as ve, useWidget as Y, useWidgetRouter as H, usePreludeData as de, useWidgetTrigger as K, useSessions as q, useMessages as U, useModes as pt, useUploadFiles as Bt, useIsAwaitingBotReply as ht, useContact as Lt, WidgetProvider as $t, WidgetTriggerProvider as Yt } from "@opencx/widget-react-headless";
|
|
6
|
+
import mt from "rehype-raw";
|
|
7
|
+
import wt from "remark-gfm";
|
|
8
|
+
import * as R from "@radix-ui/react-dialog";
|
|
9
|
+
import { X as qt, CircleDashedIcon as Ut, XIcon as be, SquareXIcon as Xt, SquareCheckBigIcon as Vt, SquareCheckIcon as Kt, ShrinkIcon as Gt, Minimize2Icon as Zt, MinimizeIcon as Jt, Maximize2Icon as Qt, MaximizeIcon as eo, ExpandIcon as to, CircleXIcon as oo, CircleCheckBigIcon as ro, CircleCheckIcon as gt, CheckCheckIcon as no, CheckIcon as so, ChevronLeftIcon as ao, LoaderIcon as io, PaperclipIcon as lo, ImageIcon as co, CircleDashed as po, ArrowUpIcon as ho, AlertCircle as mo, Loader2 as wo, FileAudio2Icon as go, FileVideo2Icon as uo, FileIcon as fo, UserRoundIcon as vo, ChevronRightIcon as bo, SendHorizontal as xo, ChevronDownIcon as yo } from "lucide-react";
|
|
10
|
+
import { clsx as ko } from "clsx";
|
|
11
|
+
import { twMerge as Co } from "tailwind-merge";
|
|
12
|
+
import { createPortal as zo } from "react-dom";
|
|
13
|
+
import ut, { useFrame as No } from "@uiw/react-iframe";
|
|
14
|
+
import { Slot as So } from "@radix-ui/react-slot";
|
|
15
|
+
import { cva as _o } from "class-variance-authority";
|
|
16
|
+
import Io from "react-markdown";
|
|
17
17
|
import { isExhaustive as D } from "@opencx/widget-core";
|
|
18
|
-
import { motion as
|
|
19
|
-
import * as
|
|
20
|
-
import * as
|
|
21
|
-
import
|
|
22
|
-
import { useDropzone as
|
|
23
|
-
import
|
|
18
|
+
import { motion as J, AnimatePresence as T } from "framer-motion";
|
|
19
|
+
import * as G from "@radix-ui/react-avatar";
|
|
20
|
+
import * as te from "@radix-ui/react-tooltip";
|
|
21
|
+
import nt from "tinycolor2";
|
|
22
|
+
import { useDropzone as To } from "react-dropzone";
|
|
23
|
+
import Mo from "react-use/lib/useAsyncFn";
|
|
24
24
|
import { z as me } from "zod";
|
|
25
25
|
function w(e) {
|
|
26
26
|
return { "data-component": e };
|
|
27
27
|
}
|
|
28
28
|
function d(...e) {
|
|
29
|
-
return
|
|
29
|
+
return Co(ko(e));
|
|
30
30
|
}
|
|
31
|
-
const
|
|
31
|
+
const ft = "opencx-widget-portal";
|
|
32
32
|
function pe() {
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
|
-
function
|
|
36
|
-
var
|
|
37
|
-
const
|
|
38
|
-
return
|
|
35
|
+
function Do({ children: e }) {
|
|
36
|
+
var t, n;
|
|
37
|
+
const r = (n = (t = No()) == null ? void 0 : t.document) == null ? void 0 : n.getElementById(ft);
|
|
38
|
+
return r ? zo(e, r) : (console.error("Portal container not found!"), null);
|
|
39
39
|
}
|
|
40
|
-
function
|
|
41
|
-
return /* @__PURE__ */ o("div", { id:
|
|
40
|
+
function Ro() {
|
|
41
|
+
return /* @__PURE__ */ o("div", { id: ft, className: "absolute size-full top-0 start-0" });
|
|
42
42
|
}
|
|
43
|
-
pe.Portal =
|
|
44
|
-
pe.Container =
|
|
45
|
-
const
|
|
43
|
+
pe.Portal = Do;
|
|
44
|
+
pe.Container = Ro;
|
|
45
|
+
const V = {
|
|
46
46
|
x: 2,
|
|
47
47
|
y: 2
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
({ children: e, className:
|
|
51
|
-
const [a,
|
|
48
|
+
}, W = Ht(
|
|
49
|
+
ct(
|
|
50
|
+
({ children: e, className: r, scale: t = 1.02, off: n = !1 }, s) => {
|
|
51
|
+
const [a, i] = j(!1), [l, p] = j({ x: 0, y: 0 });
|
|
52
52
|
if (n || /translate/.test(
|
|
53
53
|
e.props.className || ""
|
|
54
54
|
)) return e;
|
|
55
|
-
const
|
|
56
|
-
var
|
|
57
|
-
const { clientX:
|
|
55
|
+
const x = (m) => {
|
|
56
|
+
var C, B;
|
|
57
|
+
const { clientX: u, clientY: _ } = m, k = m.currentTarget.getBoundingClientRect(), I = u - (k.left + k.width / 2), M = _ - (k.top + k.height / 2), F = Math.max(
|
|
58
58
|
-1,
|
|
59
|
-
Math.min(1, I / (
|
|
59
|
+
Math.min(1, I / (k.width / 2))
|
|
60
60
|
), P = Math.max(
|
|
61
61
|
-1,
|
|
62
|
-
Math.min(1, M / (
|
|
63
|
-
),
|
|
64
|
-
p({ x:
|
|
65
|
-
},
|
|
66
|
-
var m,
|
|
67
|
-
|
|
68
|
-
},
|
|
69
|
-
var m,
|
|
70
|
-
|
|
62
|
+
Math.min(1, M / (k.height / 2))
|
|
63
|
+
), O = F * V.x, b = P * V.y;
|
|
64
|
+
p({ x: O, y: b }), (B = (C = e.props).onMouseMove) == null || B.call(C, m);
|
|
65
|
+
}, y = () => {
|
|
66
|
+
var m, u;
|
|
67
|
+
i(!0), (u = (m = e.props).onMouseEnter) == null || u.call(m);
|
|
68
|
+
}, v = () => {
|
|
69
|
+
var m, u;
|
|
70
|
+
i(!1), p({ x: 0, y: 0 }), (u = (m = e.props).onMouseLeave) == null || u.call(m);
|
|
71
71
|
}, h = {
|
|
72
|
-
"--wobble-x": a ? `${
|
|
73
|
-
"--wobble-y": a ? `${
|
|
74
|
-
"--scale": 1 - (
|
|
72
|
+
"--wobble-x": a ? `${l.x}px` : "0px",
|
|
73
|
+
"--wobble-y": a ? `${l.y}px` : "0px",
|
|
74
|
+
"--scale": 1 - (t - 1)
|
|
75
75
|
};
|
|
76
|
-
return
|
|
76
|
+
return At(e, {
|
|
77
77
|
ref: s,
|
|
78
|
-
onMouseMove:
|
|
79
|
-
onMouseEnter:
|
|
80
|
-
onMouseLeave:
|
|
78
|
+
onMouseMove: x,
|
|
79
|
+
onMouseEnter: y,
|
|
80
|
+
onMouseLeave: v,
|
|
81
81
|
style: {
|
|
82
82
|
...h,
|
|
83
83
|
...e.props.style
|
|
@@ -86,7 +86,7 @@ const U = {
|
|
|
86
86
|
"translate-x-[var(--wobble-x)]",
|
|
87
87
|
"translate-y-[var(--wobble-y)]",
|
|
88
88
|
"hover:scale-[var(--scale)] active:hover:scale-[calc(var(--scale)-0.02)]",
|
|
89
|
-
|
|
89
|
+
r,
|
|
90
90
|
e.props.className,
|
|
91
91
|
"transition-all ease-out"
|
|
92
92
|
)
|
|
@@ -94,8 +94,8 @@ const U = {
|
|
|
94
94
|
}
|
|
95
95
|
)
|
|
96
96
|
);
|
|
97
|
-
|
|
98
|
-
const
|
|
97
|
+
W.displayName = "Wobble";
|
|
98
|
+
const Oo = _o(
|
|
99
99
|
d(
|
|
100
100
|
"inline-flex shrink-0 items-center justify-center gap-2",
|
|
101
101
|
"text-sm font-medium whitespace-nowrap",
|
|
@@ -135,49 +135,49 @@ const To = Co(
|
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
), z = E.forwardRef(
|
|
138
|
-
({ className: e, variant:
|
|
139
|
-
n ?
|
|
138
|
+
({ className: e, variant: r = "default", size: t, asChild: n = !1, ...s }, a) => /* @__PURE__ */ o(W, { ref: a, children: /* @__PURE__ */ o(
|
|
139
|
+
n ? So : "button",
|
|
140
140
|
{
|
|
141
141
|
...w("ui_lib/btn"),
|
|
142
|
-
"data-variant":
|
|
143
|
-
className: d(
|
|
142
|
+
"data-variant": r,
|
|
143
|
+
className: d(Oo({ variant: r, size: t, className: e })),
|
|
144
144
|
...s
|
|
145
145
|
}
|
|
146
146
|
) })
|
|
147
147
|
);
|
|
148
148
|
z.displayName = "Button";
|
|
149
|
-
const
|
|
150
|
-
|
|
149
|
+
const vt = R.Root, bt = R.Trigger, xt = E.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ o(
|
|
150
|
+
R.Overlay,
|
|
151
151
|
{
|
|
152
|
-
ref:
|
|
152
|
+
ref: t,
|
|
153
153
|
className: d(
|
|
154
154
|
"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
155
155
|
e
|
|
156
156
|
),
|
|
157
|
-
...
|
|
157
|
+
...r
|
|
158
158
|
}
|
|
159
159
|
));
|
|
160
|
-
|
|
161
|
-
const xe = E.forwardRef(({ className: e, children:
|
|
162
|
-
/* @__PURE__ */ o(
|
|
160
|
+
xt.displayName = R.Overlay.displayName;
|
|
161
|
+
const xe = E.forwardRef(({ className: e, children: r, withClose: t = !1, ...n }, s) => /* @__PURE__ */ c(pe.Portal, { children: [
|
|
162
|
+
/* @__PURE__ */ o(xt, {}),
|
|
163
163
|
/* @__PURE__ */ c(
|
|
164
|
-
|
|
164
|
+
R.Content,
|
|
165
165
|
{
|
|
166
166
|
ref: s,
|
|
167
167
|
className: d(
|
|
168
|
-
"fixed left-[50%] top-[50%] z-50 flex flex-col
|
|
168
|
+
"fixed left-[50%] top-[50%] z-50 flex flex-col gap-4 w-full max-w-[61.8%] translate-x-[-50%] translate-y-[-50%] border bg-background p-4 duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-3xl",
|
|
169
169
|
e
|
|
170
170
|
),
|
|
171
171
|
...n,
|
|
172
172
|
children: [
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
173
|
+
r,
|
|
174
|
+
t && /* @__PURE__ */ o(
|
|
175
|
+
R.Close,
|
|
176
176
|
{
|
|
177
177
|
asChild: !0,
|
|
178
|
-
className: "absolute
|
|
178
|
+
className: "absolute end-4 top-4 opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",
|
|
179
179
|
children: /* @__PURE__ */ c(z, { size: "fit", className: "rounded-full", variant: "secondary", children: [
|
|
180
|
-
/* @__PURE__ */ o(
|
|
180
|
+
/* @__PURE__ */ o(qt, { className: "h-4 w-4" }),
|
|
181
181
|
/* @__PURE__ */ o("span", { className: "sr-only", children: "Close" })
|
|
182
182
|
] })
|
|
183
183
|
}
|
|
@@ -186,64 +186,64 @@ const xe = E.forwardRef(({ className: e, children: t, withClose: r = !1, ...n },
|
|
|
186
186
|
}
|
|
187
187
|
)
|
|
188
188
|
] }));
|
|
189
|
-
xe.displayName =
|
|
190
|
-
const
|
|
189
|
+
xe.displayName = R.Content.displayName;
|
|
190
|
+
const yt = ({
|
|
191
191
|
className: e,
|
|
192
|
-
...
|
|
192
|
+
...r
|
|
193
193
|
}) => /* @__PURE__ */ o(
|
|
194
194
|
"div",
|
|
195
195
|
{
|
|
196
196
|
className: d("flex flex-col gap-2 text-center pt-2", e),
|
|
197
|
-
...
|
|
197
|
+
...r
|
|
198
198
|
}
|
|
199
199
|
);
|
|
200
|
-
|
|
201
|
-
const
|
|
200
|
+
yt.displayName = "DialogHeader";
|
|
201
|
+
const kt = ({
|
|
202
202
|
className: e,
|
|
203
|
-
...
|
|
203
|
+
...r
|
|
204
204
|
}) => /* @__PURE__ */ o(
|
|
205
205
|
"div",
|
|
206
206
|
{
|
|
207
207
|
className: d("flex flex-col gap-2 text-center", e),
|
|
208
|
-
...
|
|
208
|
+
...r
|
|
209
209
|
}
|
|
210
210
|
);
|
|
211
|
-
|
|
212
|
-
const
|
|
211
|
+
kt.displayName = "DialogBody";
|
|
212
|
+
const Ct = ({
|
|
213
213
|
className: e,
|
|
214
|
-
...
|
|
215
|
-
}) => /* @__PURE__ */ o("div", { className: d("flex flex-col gap-2", e), ...
|
|
216
|
-
|
|
217
|
-
const ye = E.forwardRef(({ className: e, ...
|
|
218
|
-
|
|
214
|
+
...r
|
|
215
|
+
}) => /* @__PURE__ */ o("div", { className: d("flex flex-col gap-2", e), ...r });
|
|
216
|
+
Ct.displayName = "DialogFooter";
|
|
217
|
+
const ye = E.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ o(
|
|
218
|
+
R.Title,
|
|
219
219
|
{
|
|
220
|
-
ref:
|
|
220
|
+
ref: t,
|
|
221
221
|
className: d(
|
|
222
222
|
"text-lg font-semibold leading-none tracking-tight",
|
|
223
223
|
e
|
|
224
224
|
),
|
|
225
|
-
...
|
|
225
|
+
...r
|
|
226
226
|
}
|
|
227
227
|
));
|
|
228
|
-
ye.displayName =
|
|
229
|
-
const
|
|
230
|
-
|
|
228
|
+
ye.displayName = R.Title.displayName;
|
|
229
|
+
const zt = E.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ o(
|
|
230
|
+
R.Description,
|
|
231
231
|
{
|
|
232
|
-
ref:
|
|
232
|
+
ref: t,
|
|
233
233
|
className: d("text-sm text-muted-foreground", e),
|
|
234
|
-
...
|
|
234
|
+
...r
|
|
235
235
|
}
|
|
236
236
|
));
|
|
237
|
-
|
|
238
|
-
function
|
|
239
|
-
const { name:
|
|
240
|
-
return
|
|
237
|
+
zt.displayName = R.Description.displayName;
|
|
238
|
+
function Nt({ attachment: e }) {
|
|
239
|
+
const { name: r, size: t, type: n, url: s } = e, a = n.startsWith("image/"), i = n.startsWith("video/"), l = n.startsWith("audio/");
|
|
240
|
+
return l ? /* @__PURE__ */ o(W, { children: /* @__PURE__ */ o("div", { className: "w-full shrink-0 overflow-hidden", children: /* @__PURE__ */ c("audio", { controls: !0, className: "w-full", children: [
|
|
241
241
|
/* @__PURE__ */ o("source", { src: s, type: n }),
|
|
242
242
|
"Your browser does not support the audio tag."
|
|
243
|
-
] }) }) }) :
|
|
243
|
+
] }) }) }) : i ? /* @__PURE__ */ o(W, { children: /* @__PURE__ */ o("div", { className: "w-full border shrink-0 rounded-2xl overflow-hidden", children: /* @__PURE__ */ c("video", { controls: !0, children: [
|
|
244
244
|
/* @__PURE__ */ o("source", { src: s, type: n }),
|
|
245
245
|
"Your browser does not support the video tag."
|
|
246
|
-
] }) }) }) : !a && !
|
|
246
|
+
] }) }) }) : !a && !i && !l ? /* @__PURE__ */ o(W, { children: /* @__PURE__ */ o("div", { className: "size-fit border shrink-0 rounded-2xl overflow-hidden", children: /* @__PURE__ */ c("div", { className: "flex items-end gap-2 p-2", children: [
|
|
247
247
|
/* @__PURE__ */ o(
|
|
248
248
|
"a",
|
|
249
249
|
{
|
|
@@ -255,15 +255,15 @@ function yt({ attachment: e }) {
|
|
|
255
255
|
"break-words [word-break:break-word]"
|
|
256
256
|
// `[word-break:break-word]` is deprecated but works in the browser, while `break-words` which is `[overflow-wrap: break-word]` does not work
|
|
257
257
|
),
|
|
258
|
-
children:
|
|
258
|
+
children: r
|
|
259
259
|
}
|
|
260
260
|
),
|
|
261
261
|
/* @__PURE__ */ c("span", { className: "text-xs text-muted-foreground whitespace-nowrap", children: [
|
|
262
|
-
(
|
|
262
|
+
(t / 1024).toFixed(2),
|
|
263
263
|
" KB"
|
|
264
264
|
] })
|
|
265
|
-
] }) }) }) : /* @__PURE__ */ c(
|
|
266
|
-
/* @__PURE__ */ o(
|
|
265
|
+
] }) }) }) : /* @__PURE__ */ c(vt, { children: [
|
|
266
|
+
/* @__PURE__ */ o(W, { children: /* @__PURE__ */ o(bt, { children: /* @__PURE__ */ o("div", { className: "size-fit border shrink-0 rounded-2xl overflow-hidden", children: a && /* @__PURE__ */ o("img", { src: s, className: "object-cover size-16", alt: r }) }) }) }),
|
|
267
267
|
/* @__PURE__ */ c(
|
|
268
268
|
xe,
|
|
269
269
|
{
|
|
@@ -272,45 +272,45 @@ function yt({ attachment: e }) {
|
|
|
272
272
|
withClose: !0,
|
|
273
273
|
children: [
|
|
274
274
|
/* @__PURE__ */ o(ye, { className: "sr-only", children: "Image preview" }),
|
|
275
|
-
a && /* @__PURE__ */ o("div", { className: "size-fit shrink-0 rounded-2xl overflow-hidden max-h-full", children: /* @__PURE__ */ o("img", { src: s, className: "object-cover size-auto", alt:
|
|
275
|
+
a && /* @__PURE__ */ o("div", { className: "size-fit shrink-0 rounded-2xl overflow-hidden max-h-full", children: /* @__PURE__ */ o("img", { src: s, className: "object-cover size-auto", alt: r }) })
|
|
276
276
|
]
|
|
277
277
|
}
|
|
278
278
|
)
|
|
279
279
|
] });
|
|
280
280
|
}
|
|
281
|
-
const
|
|
282
|
-
|
|
283
|
-
(e,
|
|
281
|
+
const St = se.memo(
|
|
282
|
+
Io,
|
|
283
|
+
(e, r) => e.children === r.children && e.className === r.className
|
|
284
284
|
);
|
|
285
285
|
function ae({
|
|
286
286
|
data: e,
|
|
287
|
-
id:
|
|
288
|
-
type:
|
|
287
|
+
id: r,
|
|
288
|
+
type: t,
|
|
289
289
|
attachments: n,
|
|
290
290
|
isFirstInGroup: s,
|
|
291
291
|
isLastInGroup: a,
|
|
292
|
-
isAloneInGroup:
|
|
293
|
-
dataComponentNames:
|
|
292
|
+
isAloneInGroup: i,
|
|
293
|
+
dataComponentNames: l,
|
|
294
294
|
classNames: p
|
|
295
295
|
}) {
|
|
296
|
-
const { anchorTarget:
|
|
297
|
-
return
|
|
296
|
+
const { anchorTarget: g } = S(), { message: x, variant: y = "default" } = e;
|
|
297
|
+
return y === "error" ? /* @__PURE__ */ o("div", { children: /* @__PURE__ */ o("div", { className: "flex flex-row flex-wrap items-center justify-start", children: /* @__PURE__ */ o("div", { className: "leading-snug text-sm text-destructive", children: x }) }) }) : /* @__PURE__ */ c(
|
|
298
298
|
"div",
|
|
299
299
|
{
|
|
300
|
-
...w((
|
|
300
|
+
...w((l == null ? void 0 : l.messageContainer) ?? "chat/agent_msg/root"),
|
|
301
301
|
className: d(
|
|
302
302
|
"w-5/6 flex flex-col items-start gap-1",
|
|
303
303
|
p == null ? void 0 : p.messageContainer
|
|
304
304
|
),
|
|
305
305
|
children: [
|
|
306
|
-
n && n.length > 0 && /* @__PURE__ */ o("div", { className: "w-full gap-1 flex flex-row flex-wrap items-center justify-start", children: n == null ? void 0 : n.map((
|
|
307
|
-
|
|
306
|
+
n && n.length > 0 && /* @__PURE__ */ o("div", { className: "w-full gap-1 flex flex-row flex-wrap items-center justify-start", children: n == null ? void 0 : n.map((v) => /* @__PURE__ */ o(Nt, { attachment: v }, v.id)) }),
|
|
307
|
+
x.length > 0 && /* @__PURE__ */ o(
|
|
308
308
|
"div",
|
|
309
309
|
{
|
|
310
|
-
...w((
|
|
310
|
+
...w((l == null ? void 0 : l.message) ?? "chat/agent_msg/msg"),
|
|
311
311
|
"data-first": s,
|
|
312
312
|
"data-last": a,
|
|
313
|
-
"data-alone":
|
|
313
|
+
"data-alone": i,
|
|
314
314
|
className: d(
|
|
315
315
|
"transition-all",
|
|
316
316
|
"w-fit py-3 px-4 rounded-3xl bg-secondary text-secondary-foreground",
|
|
@@ -320,22 +320,22 @@ function ae({
|
|
|
320
320
|
// No need to add "whitespace-pre-wrap" in the agent or bot message because it is markup and content appear on separate lines as expected
|
|
321
321
|
// Adding "whitespace-pre-wrap" will result in unnecessarily huge line breaks
|
|
322
322
|
// We're using the booleans directly here, not the data attributes, to make any external styling more specific than this
|
|
323
|
-
s && !
|
|
324
|
-
a && !
|
|
325
|
-
!s && !a && !
|
|
323
|
+
s && !i && "rounded-bl-md",
|
|
324
|
+
a && !i && "rounded-tl-md",
|
|
325
|
+
!s && !a && !i && "rounded-l-md",
|
|
326
326
|
p == null ? void 0 : p.message
|
|
327
327
|
),
|
|
328
328
|
children: /* @__PURE__ */ o(
|
|
329
|
-
|
|
329
|
+
St,
|
|
330
330
|
{
|
|
331
|
-
"data-type":
|
|
332
|
-
"data-id":
|
|
333
|
-
remarkPlugins: [
|
|
334
|
-
rehypePlugins: [
|
|
331
|
+
"data-type": t,
|
|
332
|
+
"data-id": r,
|
|
333
|
+
remarkPlugins: [wt],
|
|
334
|
+
rehypePlugins: [mt],
|
|
335
335
|
components: {
|
|
336
|
-
a: ({ children:
|
|
336
|
+
a: ({ children: v, ...h }) => /* @__PURE__ */ o("a", { target: g ?? "_top", ...h, children: v })
|
|
337
337
|
},
|
|
338
|
-
children:
|
|
338
|
+
children: x
|
|
339
339
|
}
|
|
340
340
|
)
|
|
341
341
|
}
|
|
@@ -344,99 +344,92 @@ function ae({
|
|
|
344
344
|
}
|
|
345
345
|
);
|
|
346
346
|
}
|
|
347
|
-
function
|
|
348
|
-
return /* @__PURE__ */ o("div", { className: "w-full max-w-full overflow-auto shrink-0", children: /* @__PURE__ */ o(
|
|
349
|
-
"pre",
|
|
350
|
-
{
|
|
351
|
-
dir: "auto",
|
|
352
|
-
className: "text-xs leading-tight whitespace-pre-wrap break-word",
|
|
353
|
-
children: JSON.stringify(e, null, 1)
|
|
354
|
-
}
|
|
355
|
-
) });
|
|
347
|
+
function jo(e) {
|
|
348
|
+
return /* @__PURE__ */ o("div", { className: "w-full max-w-full overflow-auto shrink-0", children: /* @__PURE__ */ o("pre", { className: "text-xs leading-tight whitespace-pre-wrap break-word", children: JSON.stringify(e, null, 1) }) });
|
|
356
349
|
}
|
|
357
|
-
const ke = E.forwardRef(({ className: e, ...
|
|
358
|
-
|
|
350
|
+
const ke = E.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ o(
|
|
351
|
+
G.Root,
|
|
359
352
|
{
|
|
360
|
-
ref:
|
|
353
|
+
ref: t,
|
|
361
354
|
className: d(
|
|
362
355
|
"relative flex size-6 aspect-square shrink-0 overflow-hidden rounded-full bg-secondary",
|
|
363
356
|
// 'border',
|
|
364
357
|
e
|
|
365
358
|
),
|
|
366
|
-
...
|
|
359
|
+
...r
|
|
367
360
|
}
|
|
368
361
|
));
|
|
369
|
-
ke.displayName =
|
|
370
|
-
const Ce = E.forwardRef(({ className: e, ...
|
|
371
|
-
|
|
362
|
+
ke.displayName = G.Root.displayName;
|
|
363
|
+
const Ce = E.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ o(
|
|
364
|
+
G.Image,
|
|
372
365
|
{
|
|
373
|
-
ref:
|
|
366
|
+
ref: t,
|
|
374
367
|
className: d("aspect-square h-full w-full", e),
|
|
375
|
-
...
|
|
368
|
+
...r
|
|
376
369
|
}
|
|
377
370
|
));
|
|
378
|
-
Ce.displayName =
|
|
379
|
-
const ze = E.forwardRef(({ className: e, ...
|
|
380
|
-
|
|
371
|
+
Ce.displayName = G.Image.displayName;
|
|
372
|
+
const ze = E.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ o(
|
|
373
|
+
G.Fallback,
|
|
381
374
|
{
|
|
382
|
-
ref:
|
|
375
|
+
ref: t,
|
|
383
376
|
className: d(
|
|
384
377
|
"flex size-full text-xs items-center justify-center rounded-lg",
|
|
385
378
|
e
|
|
386
379
|
),
|
|
387
|
-
...
|
|
380
|
+
...r
|
|
388
381
|
}
|
|
389
382
|
));
|
|
390
|
-
ze.displayName =
|
|
383
|
+
ze.displayName = G.Fallback.displayName;
|
|
391
384
|
function ge({
|
|
392
385
|
agent: e,
|
|
393
|
-
...
|
|
386
|
+
...r
|
|
394
387
|
}) {
|
|
395
|
-
var
|
|
396
|
-
return /* @__PURE__ */ c(ke, { ...
|
|
388
|
+
var t, n;
|
|
389
|
+
return /* @__PURE__ */ c(ke, { ...r, children: [
|
|
397
390
|
/* @__PURE__ */ o(Ce, { src: (e == null ? void 0 : e.avatar) ?? "", alt: "Agent Icon" }),
|
|
398
|
-
(e == null ? void 0 : e.name) && /* @__PURE__ */ o(ze, { children: (n = (
|
|
391
|
+
(e == null ? void 0 : e.name) && /* @__PURE__ */ o(ze, { children: (n = (t = e == null ? void 0 : e.name) == null ? void 0 : t.slice(0, 1)) == null ? void 0 : n.toUpperCase() })
|
|
399
392
|
] });
|
|
400
393
|
}
|
|
401
|
-
const
|
|
402
|
-
initial: { opacity: 0, x: -e, ...
|
|
403
|
-
animate: { opacity: 1, x: 0, ...
|
|
404
|
-
exit: { opacity: 0, x: e, ...
|
|
405
|
-
}),
|
|
406
|
-
initial: { opacity: 0, x: e, ...
|
|
407
|
-
animate: { opacity: 1, x: 0, ...
|
|
408
|
-
exit: { opacity: 0, x: -e, ...
|
|
409
|
-
}),
|
|
410
|
-
initial: { opacity: 0, y: e, ...
|
|
411
|
-
animate: { opacity: 1, y: 0, ...
|
|
412
|
-
exit: { opacity: 0, y: -e, ...
|
|
413
|
-
}),
|
|
414
|
-
initial: { opacity: 0, y: -e, ...
|
|
415
|
-
animate: { opacity: 1, y: 0, ...
|
|
416
|
-
exit: { opacity: 0, y: e, ...
|
|
417
|
-
}),
|
|
418
|
-
right:
|
|
419
|
-
left:
|
|
420
|
-
up:
|
|
421
|
-
down:
|
|
422
|
-
},
|
|
394
|
+
const Eo = 10, Fo = (e, r, t) => ({
|
|
395
|
+
initial: { opacity: 0, x: -e, ...r.initial },
|
|
396
|
+
animate: { opacity: 1, x: 0, ...r.animate, transition: { delay: t } },
|
|
397
|
+
exit: { opacity: 0, x: e, ...r.exit }
|
|
398
|
+
}), Po = (e, r, t) => ({
|
|
399
|
+
initial: { opacity: 0, x: e, ...r.initial },
|
|
400
|
+
animate: { opacity: 1, x: 0, ...r.animate, transition: { delay: t } },
|
|
401
|
+
exit: { opacity: 0, x: -e, ...r.exit }
|
|
402
|
+
}), Wo = (e, r, t) => ({
|
|
403
|
+
initial: { opacity: 0, y: e, ...r.initial },
|
|
404
|
+
animate: { opacity: 1, y: 0, ...r.animate, transition: { delay: t } },
|
|
405
|
+
exit: { opacity: 0, y: -e, ...r.exit }
|
|
406
|
+
}), Ho = (e, r, t) => ({
|
|
407
|
+
initial: { opacity: 0, y: -e, ...r.initial },
|
|
408
|
+
animate: { opacity: 1, y: 0, ...r.animate, transition: { delay: t } },
|
|
409
|
+
exit: { opacity: 0, y: e, ...r.exit }
|
|
410
|
+
}), Ao = {
|
|
411
|
+
right: Fo,
|
|
412
|
+
left: Po,
|
|
413
|
+
up: Wo,
|
|
414
|
+
down: Ho
|
|
415
|
+
}, f = ct(
|
|
423
416
|
({
|
|
424
417
|
fadeIn: e = "down",
|
|
425
|
-
distance:
|
|
426
|
-
children:
|
|
418
|
+
distance: r = Eo,
|
|
419
|
+
children: t,
|
|
427
420
|
snapExit: n = !1,
|
|
428
421
|
overrides: s = {},
|
|
429
422
|
delay: a = 0,
|
|
430
|
-
...
|
|
431
|
-
},
|
|
432
|
-
const p = e ?
|
|
433
|
-
return n && p.exit && typeof p.exit == "object" && !Array.isArray(p.exit) && (p.exit.transition = { duration: 0 }), /* @__PURE__ */ o(
|
|
423
|
+
...i
|
|
424
|
+
}, l) => {
|
|
425
|
+
const p = e ? Ao[e](r, s, a) : {};
|
|
426
|
+
return n && p.exit && typeof p.exit == "object" && !Array.isArray(p.exit) && (p.exit.transition = { duration: 0 }), /* @__PURE__ */ o(J.div, { ref: l, ...i, ...p, children: t });
|
|
434
427
|
}
|
|
435
428
|
);
|
|
436
|
-
|
|
437
|
-
function
|
|
429
|
+
f.displayName = "MotionDiv";
|
|
430
|
+
function Bo({ agent: e }) {
|
|
438
431
|
return /* @__PURE__ */ o(T, { children: /* @__PURE__ */ c(
|
|
439
|
-
|
|
432
|
+
f,
|
|
440
433
|
{
|
|
441
434
|
...w("chat/bot_loading/root"),
|
|
442
435
|
className: "flex flex-row items-end w-full gap-2 animate-pulse",
|
|
@@ -451,9 +444,9 @@ function Po({ agent: e }) {
|
|
|
451
444
|
// 'border',
|
|
452
445
|
),
|
|
453
446
|
children: [
|
|
454
|
-
/* @__PURE__ */ o(
|
|
455
|
-
/* @__PURE__ */ o(
|
|
456
|
-
/* @__PURE__ */ o(
|
|
447
|
+
/* @__PURE__ */ o(J.span, { className: "rounded-full animate-bounce [animation-delay:-0.3s]" }),
|
|
448
|
+
/* @__PURE__ */ o(J.span, { className: "rounded-full animate-bounce [animation-delay:-0.15s]" }),
|
|
449
|
+
/* @__PURE__ */ o(J.span, { className: "rounded-full animate-bounce" })
|
|
457
450
|
]
|
|
458
451
|
}
|
|
459
452
|
)
|
|
@@ -461,49 +454,49 @@ function Po({ agent: e }) {
|
|
|
461
454
|
}
|
|
462
455
|
) });
|
|
463
456
|
}
|
|
464
|
-
const Ct = '@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..700;1,14..32,100..700&display=swap";@import"https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{-ms-overflow-style:none;scrollbar-width:none}*::-webkit-scrollbar{display:none}*{border-color:hsl(var(--opencx-border))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.left-\\[50\\%\\]{left:50%}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-4{top:1rem}.top-6{top:1.5rem}.top-\\[50\\%\\]{top:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.m-2{margin:.5rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-auto{margin-left:auto}.mt-0\\.5{margin-top:.125rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-10{width:2.5rem;height:2.5rem}.size-12{width:3rem;height:3rem}.size-16{width:4rem;height:4rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-6{width:1.5rem;height:1.5rem}.size-8{width:2rem;height:2rem}.size-auto{width:auto;height:auto}.size-fit{width:fit-content;height:fit-content}.size-full{width:100%;height:100%}.h-10{height:2.5rem}.h-2{height:.5rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-full{height:100%}.h-px{height:1px}.max-h-16{max-height:4rem}.max-h-full{max-height:100%}.min-h-12{min-height:3rem}.w-0{width:0px}.w-1\\/2{width:50%}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\\/5{width:40%}.w-3\\.5{width:.875rem}.w-3\\/5{width:60%}.w-4{width:1rem}.w-5\\/6{width:83.333333%}.w-60{width:15rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.min-w-\\[8rem\\]{min-width:8rem}.max-w-\\[61\\.8\\%\\]{max-width:61.8%}.max-w-full{max-width:100%}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.translate-x-\\[-50\\%\\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[var\\(--wobble-x\\)\\]{--tw-translate-x: var(--wobble-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[-50\\%\\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[var\\(--wobble-y\\)\\]{--tw-translate-y: var(--wobble-y);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-\\[1px\\]{gap:1px}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.scroll-smooth{scroll-behavior:smooth}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\\[20px\\]{border-radius:20px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-tl-md{border-top-left-radius:.375rem}.rounded-tr-md{border-top-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-none{border-style:none}.border-transparent{border-color:transparent}.bg-\\[white\\]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--opencx-background))}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-destructive{background-color:hsl(var(--opencx-destructive))}.bg-muted{background-color:hsl(var(--opencx-muted))}.bg-primary{background-color:hsl(var(--opencx-primary))}.bg-secondary{background-color:hsl(var(--opencx-secondary))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-\\[radial-gradient\\(ellipse_at_top_left\\,hsl\\(var\\(--opencx-primary\\)\\)\\,transparent\\)\\,radial-gradient\\(ellipse_at_top_right\\,hsl\\(var\\(--opencx-primary\\)\\)\\,transparent\\)\\]{background-image:radial-gradient(ellipse at top left,hsl(var(--opencx-primary)),transparent),radial-gradient(ellipse at top right,hsl(var(--opencx-primary)),transparent)}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3\\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-0{padding-bottom:0}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.text-start{text-align:start}.align-middle{vertical-align:middle}.text-\\[1\\.75rem\\]{font-size:1.75rem}.text-\\[10px\\]{font-size:10px}.text-\\[16px\\]{font-size:16px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--opencx-destructive))}.text-destructive-foreground{color:hsl(var(--opencx-destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--opencx-foreground))}.text-muted-foreground{color:hsl(var(--opencx-muted-foreground))}.text-muted-foreground\\/70{color:hsl(var(--opencx-muted-foreground) / .7)}.text-muted-foreground\\/75{color:hsl(var(--opencx-muted-foreground) / .75)}.text-primary{color:hsl(var(--opencx-primary))}.text-primary-foreground{color:hsl(var(--opencx-primary-foreground))}.text-secondary-foreground{color:hsl(var(--opencx-secondary-foreground))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-95{opacity:.95}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-8{outline-width:8px}.outline-background{outline-color:hsl(var(--opencx-background))}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--opencx-background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\\[animation-delay\\:-0\\.15s\\]{animation-delay:-.15s}.\\[animation-delay\\:-0\\.3s\\]{animation-delay:-.3s}.\\[field-sizing\\:content\\;\\],.\\[field-sizing\\:content\\]{field-sizing:content}.\\[word-break\\:break-word\\]{word-break:break-word}.required:after{content:" *";color:red}.file\\:border-0::file-selector-button{border-width:0px}.file\\:bg-transparent::file-selector-button{background-color:transparent}.file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:font-medium::file-selector-button{font-weight:500}.file\\:text-primary-foreground::file-selector-button{color:hsl(var(--opencx-primary-foreground))}.placeholder\\:text-muted-foreground::placeholder{color:hsl(var(--opencx-muted-foreground))}.placeholder\\:text-muted-foreground\\/75::placeholder{color:hsl(var(--opencx-muted-foreground) / .75)}.focus-within\\:border-primary:focus-within{border-color:hsl(var(--opencx-primary))}.hover\\:scale-\\[var\\(--scale\\)\\]:hover{--tw-scale-x: var(--scale);--tw-scale-y: var(--scale);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-primary:hover{border-color:hsl(var(--opencx-primary))}.hover\\:bg-secondary:hover{background-color:hsl(var(--opencx-secondary))}.hover\\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\\:text-primary:hover{color:hsl(var(--opencx-primary))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.focus\\:bg-accent:focus{background-color:hsl(var(--opencx-accent))}.focus\\:text-accent-foreground:focus{color:hsl(var(--opencx-accent-foreground))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-ring:focus{--tw-ring-color: hsl(var(--opencx-ring))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--opencx-ring))}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--opencx-background))}.active\\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:hover\\:scale-\\[calc\\(var\\(--scale\\)-0\\.02\\)\\]:hover:active{--tw-scale-x: calc(var(--scale) - .02);--tw-scale-y: calc(var(--scale) - .02);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:active\\:scale-95:active:hover{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:active\\:scale-90:active,.group:active .group-active\\:scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:hsl(var(--opencx-primary))}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:hsl(var(--opencx-accent))}.data-\\[state\\=unchecked\\]\\:bg-input[data-state=unchecked]{background-color:hsl(var(--opencx-input))}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:hsl(var(--opencx-muted-foreground))}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=open\\]\\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\\[state\\=open\\]\\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\\[state\\=open\\]\\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\\[state\\=closed\\]\\:slide-out-to-left-1\\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\\[state\\=closed\\]\\:slide-out-to-top-\\[48\\%\\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\\[state\\=open\\]\\:slide-in-from-left-1\\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\\[state\\=open\\]\\:slide-in-from-top-\\[48\\%\\][data-state=open]{--tw-enter-translate-y: -48%}.prose-a\\:underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-line:underline}.prose-a\\:decoration-primary :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-color:hsl(var(--opencx-primary))}.rtl\\:-scale-100:where([dir=rtl],[dir=rtl] *){--tw-scale-x: -1;--tw-scale-y: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\\:text-right:where([dir=rtl],[dir=rtl] *){text-align:right}.rtl\\:placeholder\\:text-right:where([dir=rtl],[dir=rtl] *)::placeholder{text-align:right}.\\[\\&_span\\]\\:size-1 span{width:.25rem;height:.25rem}.\\[\\&_span\\]\\:bg-secondary-foreground span{background-color:hsl(var(--opencx-secondary-foreground))}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:size-4 svg{width:1rem;height:1rem}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\]\\:text-muted-foreground\\/70 svg{color:hsl(var(--opencx-muted-foreground) / .7)}.\\[\\&_svg\\]\\:hover\\:text-primary:hover svg{color:hsl(var(--opencx-primary))}', Wo = ee.Provider, Ho = ee.Root, Ao = ee.Trigger, zt = E.forwardRef(({ className: e, sideOffset: t = 4, ...r }, n) => /* @__PURE__ */ o(
|
|
465
|
-
|
|
457
|
+
const _t = '@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..700;1,14..32,100..700&display=swap";@import"https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{-ms-overflow-style:none;scrollbar-width:none}*::-webkit-scrollbar{display:none}*{border-color:hsl(var(--opencx-border))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.end-4{inset-inline-end:1rem}.end-6{inset-inline-end:1.5rem}.left-2{left:.5rem}.left-\\[50\\%\\]{left:50%}.start-0{inset-inline-start:0px}.top-0{top:0}.top-4{top:1rem}.top-6{top:1.5rem}.top-\\[50\\%\\]{top:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.m-2{margin:.5rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ms-auto{margin-inline-start:auto}.mt-0\\.5{margin-top:.125rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-10{width:2.5rem;height:2.5rem}.size-12{width:3rem;height:3rem}.size-16{width:4rem;height:4rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-6{width:1.5rem;height:1.5rem}.size-8{width:2rem;height:2rem}.size-auto{width:auto;height:auto}.size-fit{width:fit-content;height:fit-content}.size-full{width:100%;height:100%}.h-10{height:2.5rem}.h-2{height:.5rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-full{height:100%}.h-px{height:1px}.max-h-16{max-height:4rem}.max-h-full{max-height:100%}.min-h-12{min-height:3rem}.w-0{width:0px}.w-1\\/2{width:50%}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\\/5{width:40%}.w-3\\.5{width:.875rem}.w-3\\/5{width:60%}.w-4{width:1rem}.w-5\\/6{width:83.333333%}.w-60{width:15rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.min-w-\\[8rem\\]{min-width:8rem}.max-w-\\[61\\.8\\%\\]{max-width:61.8%}.max-w-full{max-width:100%}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.translate-x-\\[-50\\%\\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[var\\(--wobble-x\\)\\]{--tw-translate-x: var(--wobble-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[-50\\%\\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[var\\(--wobble-y\\)\\]{--tw-translate-y: var(--wobble-y);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-\\[1px\\]{gap:1px}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.scroll-smooth{scroll-behavior:smooth}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\\[20px\\]{border-radius:20px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-tl-md{border-top-left-radius:.375rem}.rounded-tr-md{border-top-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-none{border-style:none}.border-transparent{border-color:transparent}.bg-\\[white\\]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--opencx-background))}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-destructive{background-color:hsl(var(--opencx-destructive))}.bg-muted{background-color:hsl(var(--opencx-muted))}.bg-primary{background-color:hsl(var(--opencx-primary))}.bg-secondary{background-color:hsl(var(--opencx-secondary))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-\\[radial-gradient\\(ellipse_at_top_left\\,hsl\\(var\\(--opencx-primary\\)\\)\\,transparent\\)\\,radial-gradient\\(ellipse_at_top_right\\,hsl\\(var\\(--opencx-primary\\)\\)\\,transparent\\)\\]{background-image:radial-gradient(ellipse at top left,hsl(var(--opencx-primary)),transparent),radial-gradient(ellipse at top right,hsl(var(--opencx-primary)),transparent)}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3\\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-0{padding-bottom:0}.pe-2{padding-inline-end:.5rem}.pe-4{padding-inline-end:1rem}.ps-2{padding-inline-start:.5rem}.ps-4{padding-inline-start:1rem}.ps-8{padding-inline-start:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.text-start{text-align:start}.align-middle{vertical-align:middle}.text-\\[1\\.75rem\\]{font-size:1.75rem}.text-\\[10px\\]{font-size:10px}.text-\\[16px\\]{font-size:16px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--opencx-destructive))}.text-destructive-foreground{color:hsl(var(--opencx-destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--opencx-foreground))}.text-muted-foreground{color:hsl(var(--opencx-muted-foreground))}.text-muted-foreground\\/70{color:hsl(var(--opencx-muted-foreground) / .7)}.text-muted-foreground\\/75{color:hsl(var(--opencx-muted-foreground) / .75)}.text-primary{color:hsl(var(--opencx-primary))}.text-primary-foreground{color:hsl(var(--opencx-primary-foreground))}.text-secondary-foreground{color:hsl(var(--opencx-secondary-foreground))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-95{opacity:.95}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-8{outline-width:8px}.outline-background{outline-color:hsl(var(--opencx-background))}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--opencx-background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\\[animation-delay\\:-0\\.15s\\]{animation-delay:-.15s}.\\[animation-delay\\:-0\\.3s\\]{animation-delay:-.3s}.\\[field-sizing\\:content\\;\\],.\\[field-sizing\\:content\\]{field-sizing:content}.\\[word-break\\:break-word\\]{word-break:break-word}.required:after{content:" *";color:red}.file\\:border-0::file-selector-button{border-width:0px}.file\\:bg-transparent::file-selector-button{background-color:transparent}.file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:font-medium::file-selector-button{font-weight:500}.file\\:text-primary-foreground::file-selector-button{color:hsl(var(--opencx-primary-foreground))}.placeholder\\:text-muted-foreground::placeholder{color:hsl(var(--opencx-muted-foreground))}.placeholder\\:text-muted-foreground\\/75::placeholder{color:hsl(var(--opencx-muted-foreground) / .75)}.focus-within\\:border-primary:focus-within{border-color:hsl(var(--opencx-primary))}.hover\\:scale-\\[var\\(--scale\\)\\]:hover{--tw-scale-x: var(--scale);--tw-scale-y: var(--scale);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:border-primary:hover{border-color:hsl(var(--opencx-primary))}.hover\\:bg-secondary:hover{background-color:hsl(var(--opencx-secondary))}.hover\\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\\:text-primary:hover{color:hsl(var(--opencx-primary))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.focus\\:bg-accent:focus{background-color:hsl(var(--opencx-accent))}.focus\\:text-accent-foreground:focus{color:hsl(var(--opencx-accent-foreground))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-ring:focus{--tw-ring-color: hsl(var(--opencx-ring))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--opencx-ring))}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--opencx-background))}.active\\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:hover\\:scale-\\[calc\\(var\\(--scale\\)-0\\.02\\)\\]:hover:active{--tw-scale-x: calc(var(--scale) - .02);--tw-scale-y: calc(var(--scale) - .02);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:active\\:scale-95:active:hover{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:active\\:scale-90:active,.group:active .group-active\\:scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[state\\=checked\\]\\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:hsl(var(--opencx-primary))}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:hsl(var(--opencx-accent))}.data-\\[state\\=unchecked\\]\\:bg-input[data-state=unchecked]{background-color:hsl(var(--opencx-input))}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:hsl(var(--opencx-muted-foreground))}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[state\\=open\\]\\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\\[state\\=open\\]\\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\\[state\\=open\\]\\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\\[state\\=closed\\]\\:slide-out-to-left-1\\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\\[state\\=closed\\]\\:slide-out-to-top-\\[48\\%\\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\\[state\\=open\\]\\:slide-in-from-left-1\\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\\[state\\=open\\]\\:slide-in-from-top-\\[48\\%\\][data-state=open]{--tw-enter-translate-y: -48%}.prose-a\\:underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-line:underline}.prose-a\\:decoration-primary :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-color:hsl(var(--opencx-primary))}.rtl\\:-scale-100:where([dir=rtl],[dir=rtl] *){--tw-scale-x: -1;--tw-scale-y: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\[\\&_span\\]\\:size-1 span{width:.25rem;height:.25rem}.\\[\\&_span\\]\\:bg-secondary-foreground span{background-color:hsl(var(--opencx-secondary-foreground))}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:size-4 svg{width:1rem;height:1rem}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\]\\:text-muted-foreground\\/70 svg{color:hsl(var(--opencx-muted-foreground) / .7)}.\\[\\&_svg\\]\\:hover\\:text-primary:hover svg{color:hsl(var(--opencx-primary))}', Lo = te.Provider, $o = te.Root, Yo = te.Trigger, It = E.forwardRef(({ className: e, sideOffset: r = 4, ...t }, n) => /* @__PURE__ */ o(
|
|
458
|
+
te.Content,
|
|
466
459
|
{
|
|
467
460
|
ref: n,
|
|
468
|
-
sideOffset:
|
|
461
|
+
sideOffset: r,
|
|
469
462
|
className: d(
|
|
470
463
|
"z-50 overflow-hidden max-w-xs rounded-xl bg-primary border text-primary-foreground p-2 text-center align-middle text-xs 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",
|
|
471
464
|
e
|
|
472
465
|
),
|
|
473
|
-
...
|
|
466
|
+
...t
|
|
474
467
|
}
|
|
475
468
|
));
|
|
476
|
-
|
|
477
|
-
function
|
|
469
|
+
It.displayName = te.Content.displayName;
|
|
470
|
+
function Q({
|
|
478
471
|
children: e,
|
|
479
|
-
content:
|
|
480
|
-
side:
|
|
472
|
+
content: r,
|
|
473
|
+
side: t,
|
|
481
474
|
align: n
|
|
482
475
|
}) {
|
|
483
476
|
const { disableTooltips: s } = S();
|
|
484
|
-
return !
|
|
485
|
-
/* @__PURE__ */ o(
|
|
477
|
+
return !r || s ? e : /* @__PURE__ */ c($o, { children: [
|
|
478
|
+
/* @__PURE__ */ o(Yo, { asChild: !0, children: e }),
|
|
486
479
|
/* @__PURE__ */ o(
|
|
487
|
-
|
|
480
|
+
It,
|
|
488
481
|
{
|
|
489
|
-
side:
|
|
482
|
+
side: t,
|
|
490
483
|
align: n,
|
|
491
484
|
collisionPadding: 8,
|
|
492
485
|
avoidCollisions: !0,
|
|
493
|
-
children:
|
|
486
|
+
children: r
|
|
494
487
|
}
|
|
495
488
|
)
|
|
496
489
|
] });
|
|
497
490
|
}
|
|
498
|
-
const
|
|
499
|
-
function
|
|
500
|
-
const [e,
|
|
491
|
+
const st = 450;
|
|
492
|
+
function A() {
|
|
493
|
+
const [e, r] = se.useState(() => (window.top || window).innerWidth < st);
|
|
501
494
|
return se.useEffect(() => {
|
|
502
|
-
const
|
|
503
|
-
t
|
|
495
|
+
const t = window.top || window, n = () => {
|
|
496
|
+
r(t.innerWidth < st);
|
|
504
497
|
};
|
|
505
|
-
return n(),
|
|
506
|
-
|
|
498
|
+
return n(), t.addEventListener("resize", n), () => {
|
|
499
|
+
t.removeEventListener("resize", n);
|
|
507
500
|
};
|
|
508
501
|
}, []), { isSmallScreen: e };
|
|
509
502
|
}
|
|
@@ -512,138 +505,142 @@ const re = {
|
|
|
512
505
|
transitionDuration: "1000ms"
|
|
513
506
|
};
|
|
514
507
|
function X() {
|
|
515
|
-
var y,
|
|
516
|
-
const {
|
|
508
|
+
var y, v, h, m, u, _, k, I, M, F, P, O, b, C, B, N, L, oe, Ie, Te, Me, De, Re, Oe, je, Ee, Fe, Pe, We, He, Ae, Be, Le, $e, Ye, qe, Ue, Xe, Ve, Ke, Ge, Ze, Je, Qe, et, tt, ot;
|
|
509
|
+
const { dir: e } = ve(), { isSmallScreen: r } = A(), { theme: t, inline: n } = S(), s = ($) => n ? "100%" : $, a = ($, he) => r ? `100dv${$}` : he, i = ($, he) => s(a($, he)), l = {
|
|
517
510
|
zIndex: ((y = t == null ? void 0 : t.widgetTrigger) == null ? void 0 : y.zIndex) ?? 1e7,
|
|
518
511
|
offset: {
|
|
519
|
-
bottom: ((
|
|
520
|
-
right: ((
|
|
512
|
+
bottom: ((h = (v = t == null ? void 0 : t.widgetTrigger) == null ? void 0 : v.offset) == null ? void 0 : h.bottom) ?? 20,
|
|
513
|
+
right: ((u = (m = t == null ? void 0 : t.widgetTrigger) == null ? void 0 : m.offset) == null ? void 0 : u.right) ?? (e === "ltr" ? 20 : "initial"),
|
|
514
|
+
left: ((k = (_ = t == null ? void 0 : t.widgetTrigger) == null ? void 0 : _.offset) == null ? void 0 : k.left) ?? (e === "rtl" ? 20 : "initial")
|
|
521
515
|
},
|
|
522
516
|
size: {
|
|
523
|
-
button: ((
|
|
524
|
-
icon: ((
|
|
517
|
+
button: ((M = (I = t == null ? void 0 : t.widgetTrigger) == null ? void 0 : I.size) == null ? void 0 : M.button) ?? 48,
|
|
518
|
+
icon: ((P = (F = t == null ? void 0 : t.widgetTrigger) == null ? void 0 : F.size) == null ? void 0 : P.icon) ?? 24
|
|
525
519
|
}
|
|
526
|
-
},
|
|
520
|
+
}, p = (() => {
|
|
521
|
+
const $ = e === "ltr" ? l.offset.right : l.offset.left;
|
|
522
|
+
return typeof $ != "number" ? 0 : $;
|
|
523
|
+
})(), g = {
|
|
527
524
|
palette: (t == null ? void 0 : t.palette) ?? "neutral",
|
|
528
525
|
primaryColor: (t == null ? void 0 : t.primaryColor) ?? "hsl(0 0% 9%)",
|
|
529
526
|
widgetTrigger: l,
|
|
530
527
|
widgetContentContainer: {
|
|
531
|
-
borderRadius:
|
|
532
|
-
zIndex: ((
|
|
533
|
-
outline: ((
|
|
528
|
+
borderRadius: r ? "0px" : ((O = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : O.borderRadius) ?? "32px",
|
|
529
|
+
zIndex: ((b = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : b.zIndex) ?? l.zIndex + 1,
|
|
530
|
+
outline: ((C = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : C.outline) ?? "none",
|
|
534
531
|
// was: '1px solid'
|
|
535
|
-
outlineColor: ((
|
|
536
|
-
boxShadow: ((
|
|
537
|
-
transitionProperty: ((
|
|
538
|
-
transitionTimingFunction: ((
|
|
539
|
-
transitionDuration: ((
|
|
532
|
+
outlineColor: ((B = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : B.outlineColor) ?? "hsl(0 0% 50% / .5)",
|
|
533
|
+
boxShadow: ((N = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : N.boxShadow) ?? "0 0px 100px 0px rgb(0 0 0 / 0.25)",
|
|
534
|
+
transitionProperty: ((L = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : L.transitionProperty) ?? "all",
|
|
535
|
+
transitionTimingFunction: ((oe = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : oe.transitionTimingFunction) ?? re.transitionTimingFunction,
|
|
536
|
+
transitionDuration: ((Ie = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : Ie.transitionDuration) ?? re.transitionDuration,
|
|
540
537
|
offset: {
|
|
541
|
-
side:
|
|
542
|
-
align:
|
|
538
|
+
side: r ? 0 : l.offset.bottom + l.size.button + V.y * 2 + (((Me = (Te = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : Te.offset) == null ? void 0 : Me.side) ?? 10),
|
|
539
|
+
align: r ? 0 : p + (((Re = (De = t == null ? void 0 : t.widgetContentContainer) == null ? void 0 : De.offset) == null ? void 0 : Re.align) ?? 0)
|
|
543
540
|
}
|
|
544
541
|
},
|
|
545
542
|
screens: {
|
|
546
543
|
welcome: {
|
|
547
|
-
width:
|
|
544
|
+
width: i("w", ((je = (Oe = t == null ? void 0 : t.screens) == null ? void 0 : Oe.welcome) == null ? void 0 : je.width) ?? "400px"),
|
|
548
545
|
// By setting minHeight to 1px, a nice animation will play from 1px to the dynamic height of the content of the screen
|
|
549
|
-
minHeight:
|
|
546
|
+
minHeight: i(
|
|
550
547
|
"h",
|
|
551
|
-
((
|
|
548
|
+
((Fe = (Ee = t == null ? void 0 : t.screens) == null ? void 0 : Ee.welcome) == null ? void 0 : Fe.minHeight) ?? "1px"
|
|
552
549
|
)
|
|
553
550
|
},
|
|
554
551
|
sessions: {
|
|
555
|
-
width:
|
|
556
|
-
height:
|
|
552
|
+
width: i("w", ((We = (Pe = t == null ? void 0 : t.screens) == null ? void 0 : Pe.sessions) == null ? void 0 : We.width) ?? "450px"),
|
|
553
|
+
height: i("h", ((Ae = (He = t == null ? void 0 : t.screens) == null ? void 0 : He.sessions) == null ? void 0 : Ae.height) ?? "600px")
|
|
557
554
|
},
|
|
558
555
|
chat: {
|
|
559
|
-
width:
|
|
560
|
-
height:
|
|
556
|
+
width: i("w", ((Le = (Be = t == null ? void 0 : t.screens) == null ? void 0 : Be.chat) == null ? void 0 : Le.width) ?? "525px"),
|
|
557
|
+
height: i("h", ((Ye = ($e = t == null ? void 0 : t.screens) == null ? void 0 : $e.chat) == null ? void 0 : Ye.height) ?? "700px"),
|
|
561
558
|
withCanvas: {
|
|
562
|
-
width:
|
|
559
|
+
width: i(
|
|
563
560
|
"w",
|
|
564
|
-
((
|
|
561
|
+
((Xe = (Ue = (qe = t == null ? void 0 : t.screens) == null ? void 0 : qe.chat) == null ? void 0 : Ue.withCanvas) == null ? void 0 : Xe.width) ?? "min(1050px, 100vw)"
|
|
565
562
|
),
|
|
566
|
-
height:
|
|
563
|
+
height: i(
|
|
567
564
|
"h",
|
|
568
|
-
((
|
|
565
|
+
((Ge = (Ke = (Ve = t == null ? void 0 : t.screens) == null ? void 0 : Ve.chat) == null ? void 0 : Ke.withCanvas) == null ? void 0 : Ge.height) ?? "min(800px, 100vh)"
|
|
569
566
|
),
|
|
570
|
-
transitionTimingFunction: ((
|
|
571
|
-
transitionDuration: ((
|
|
567
|
+
transitionTimingFunction: ((Qe = (Je = (Ze = t == null ? void 0 : t.screens) == null ? void 0 : Ze.chat) == null ? void 0 : Je.withCanvas) == null ? void 0 : Qe.transitionTimingFunction) ?? re.transitionTimingFunction,
|
|
568
|
+
transitionDuration: ((ot = (tt = (et = t == null ? void 0 : t.screens) == null ? void 0 : et.chat) == null ? void 0 : tt.withCanvas) == null ? void 0 : ot.transitionDuration) ?? re.transitionDuration
|
|
572
569
|
}
|
|
573
570
|
}
|
|
574
571
|
}
|
|
575
|
-
},
|
|
572
|
+
}, x = {
|
|
576
573
|
// Subtract the offset.bottom twice so that it adds a bit of padding to the top
|
|
577
574
|
// Subtract the distance between the trigger and the widget content container
|
|
578
575
|
// Subtract the invisible padding of the trigger (for the wobble effect)
|
|
579
|
-
maxHeight:
|
|
576
|
+
maxHeight: i(
|
|
580
577
|
"h",
|
|
581
578
|
`calc(
|
|
582
579
|
100vh
|
|
583
|
-
- ${
|
|
584
|
-
- ${
|
|
585
|
-
- ${
|
|
580
|
+
- ${g.widgetTrigger.offset.bottom}px
|
|
581
|
+
- ${g.widgetContentContainer.offset.side}px
|
|
582
|
+
- ${V.y * 2}px
|
|
586
583
|
)`
|
|
587
584
|
),
|
|
588
585
|
// Subtract the offset.right twice so that it adds a bit of padding to the left
|
|
589
|
-
maxWidth:
|
|
586
|
+
maxWidth: i(
|
|
590
587
|
"w",
|
|
591
588
|
`calc(
|
|
592
589
|
100vw
|
|
593
|
-
- ${
|
|
590
|
+
- ${p * 2}px
|
|
594
591
|
)`
|
|
595
592
|
),
|
|
596
|
-
minHeight:
|
|
593
|
+
minHeight: i(
|
|
597
594
|
"h",
|
|
598
595
|
`min(
|
|
599
|
-
${
|
|
600
|
-
${
|
|
601
|
-
${
|
|
596
|
+
${g.screens.welcome.minHeight},
|
|
597
|
+
${g.screens.sessions.height},
|
|
598
|
+
${g.screens.chat.height}
|
|
602
599
|
)`
|
|
603
600
|
),
|
|
604
|
-
minWidth:
|
|
601
|
+
minWidth: i(
|
|
605
602
|
"w",
|
|
606
603
|
`min(
|
|
607
|
-
${
|
|
608
|
-
${
|
|
609
|
-
${
|
|
604
|
+
${g.screens.welcome.width},
|
|
605
|
+
${g.screens.sessions.width},
|
|
606
|
+
${g.screens.chat.width}
|
|
610
607
|
)`
|
|
611
608
|
)
|
|
612
609
|
};
|
|
613
610
|
return {
|
|
614
|
-
theme:
|
|
615
|
-
computed:
|
|
616
|
-
cssVars:
|
|
617
|
-
palette:
|
|
618
|
-
primary:
|
|
611
|
+
theme: g,
|
|
612
|
+
computed: x,
|
|
613
|
+
cssVars: qo({
|
|
614
|
+
palette: g.palette,
|
|
615
|
+
primary: g.primaryColor
|
|
619
616
|
})
|
|
620
617
|
};
|
|
621
618
|
}
|
|
622
|
-
function
|
|
619
|
+
function qo({
|
|
623
620
|
palette: e,
|
|
624
|
-
primary:
|
|
621
|
+
primary: r
|
|
625
622
|
}) {
|
|
626
|
-
const
|
|
623
|
+
const t = Tt(e), n = nt(r).toHsl(), s = nt(r).isLight() ? t[950] : t[50];
|
|
627
624
|
return {
|
|
628
625
|
"--opencx-primary": `${n.h} ${n.s * 100}% ${n.l * 100}%`,
|
|
629
626
|
"--opencx-primary-foreground": s,
|
|
630
|
-
"--opencx-background":
|
|
631
|
-
"--opencx-foreground":
|
|
627
|
+
"--opencx-background": t[100],
|
|
628
|
+
"--opencx-foreground": t[950],
|
|
632
629
|
"--opencx-destructive": "0 72.2% 50.6%",
|
|
633
|
-
"--opencx-destructive-foreground":
|
|
634
|
-
"--opencx-accent":
|
|
630
|
+
"--opencx-destructive-foreground": t[50],
|
|
631
|
+
"--opencx-accent": t[200],
|
|
635
632
|
"--opencx-accent-foreground": "var(--opencx-foreground)",
|
|
636
|
-
"--opencx-secondary":
|
|
633
|
+
"--opencx-secondary": t[200],
|
|
637
634
|
"--opencx-secondary-foreground": "var(--opencx-foreground)",
|
|
638
|
-
"--opencx-muted":
|
|
639
|
-
"--opencx-muted-foreground":
|
|
640
|
-
"--opencx-input":
|
|
641
|
-
"--opencx-border":
|
|
635
|
+
"--opencx-muted": t[200],
|
|
636
|
+
"--opencx-muted-foreground": t[500],
|
|
637
|
+
"--opencx-input": t[300],
|
|
638
|
+
"--opencx-border": t[300],
|
|
642
639
|
"--opencx-ring": "var(--opencx-foreground)"
|
|
643
640
|
};
|
|
644
641
|
}
|
|
645
|
-
function
|
|
646
|
-
const
|
|
642
|
+
function Tt(e) {
|
|
643
|
+
const r = {
|
|
647
644
|
50: "0 0% 98%",
|
|
648
645
|
100: "0 0% 96.1%",
|
|
649
646
|
200: "0 0% 89.8%",
|
|
@@ -655,7 +652,7 @@ function Nt(e) {
|
|
|
655
652
|
800: "0 0% 14.9%",
|
|
656
653
|
900: "0 0% 9%",
|
|
657
654
|
950: "0 0% 3.9%"
|
|
658
|
-
},
|
|
655
|
+
}, t = {
|
|
659
656
|
50: "60 9.1% 97.8%",
|
|
660
657
|
100: "60 4.8% 95.9%",
|
|
661
658
|
200: "20 5.9% 90%",
|
|
@@ -694,123 +691,123 @@ function Nt(e) {
|
|
|
694
691
|
};
|
|
695
692
|
switch (e) {
|
|
696
693
|
case "neutral":
|
|
697
|
-
return t;
|
|
698
|
-
case "stone":
|
|
699
694
|
return r;
|
|
695
|
+
case "stone":
|
|
696
|
+
return t;
|
|
700
697
|
case "zinc":
|
|
701
698
|
return n;
|
|
702
699
|
case "slate":
|
|
703
700
|
return s;
|
|
704
701
|
default:
|
|
705
|
-
return D(e,
|
|
702
|
+
return D(e, Tt.name), r;
|
|
706
703
|
}
|
|
707
704
|
}
|
|
708
|
-
function
|
|
709
|
-
const { contentIframeRef: e } =
|
|
705
|
+
function Mt() {
|
|
706
|
+
const { contentIframeRef: e } = Y(), { inline: r } = S();
|
|
710
707
|
return {
|
|
711
|
-
setWidth: (
|
|
708
|
+
setWidth: (t) => {
|
|
712
709
|
var n;
|
|
713
710
|
(n = e == null ? void 0 : e.current) == null || n.style.setProperty(
|
|
714
711
|
"--opencx-widget-width",
|
|
715
|
-
|
|
712
|
+
r ? "100%" : t
|
|
716
713
|
);
|
|
717
714
|
},
|
|
718
|
-
setHeight: (
|
|
715
|
+
setHeight: (t) => {
|
|
719
716
|
var n;
|
|
720
717
|
(n = e == null ? void 0 : e.current) == null || n.style.setProperty(
|
|
721
718
|
"--opencx-widget-height",
|
|
722
|
-
|
|
719
|
+
r ? "100%" : t
|
|
723
720
|
);
|
|
724
721
|
}
|
|
725
722
|
};
|
|
726
723
|
}
|
|
727
724
|
function Ne({
|
|
728
725
|
width: e,
|
|
729
|
-
height:
|
|
726
|
+
height: r
|
|
730
727
|
}) {
|
|
731
|
-
const { isSmallScreen:
|
|
728
|
+
const { isSmallScreen: t } = A(), { setWidth: n, setHeight: s } = Mt();
|
|
732
729
|
le(() => {
|
|
733
|
-
e && n(e),
|
|
734
|
-
}, [
|
|
730
|
+
e && n(e), r && s(r);
|
|
731
|
+
}, [t, r, e, n, s]);
|
|
735
732
|
}
|
|
736
|
-
const
|
|
737
|
-
function
|
|
733
|
+
const at = Ut;
|
|
734
|
+
function ee({
|
|
738
735
|
name: e,
|
|
739
|
-
className:
|
|
736
|
+
className: r
|
|
740
737
|
}) {
|
|
741
|
-
const
|
|
738
|
+
const t = (() => {
|
|
742
739
|
switch (e) {
|
|
743
740
|
case "Check":
|
|
744
|
-
return
|
|
741
|
+
return so;
|
|
745
742
|
case "CheckCheck":
|
|
746
|
-
return
|
|
743
|
+
return no;
|
|
747
744
|
case "CircleCheck":
|
|
748
|
-
return
|
|
745
|
+
return gt;
|
|
749
746
|
case "CircleCheckBig":
|
|
750
|
-
return
|
|
747
|
+
return ro;
|
|
751
748
|
case "CircleX":
|
|
752
|
-
return
|
|
749
|
+
return oo;
|
|
753
750
|
case "Expand":
|
|
754
|
-
return
|
|
751
|
+
return to;
|
|
755
752
|
case "Maximize":
|
|
756
|
-
return
|
|
753
|
+
return eo;
|
|
757
754
|
case "Maximize2":
|
|
758
|
-
return
|
|
755
|
+
return Qt;
|
|
759
756
|
case "Minimize":
|
|
760
|
-
return
|
|
757
|
+
return Jt;
|
|
761
758
|
case "Minimize2":
|
|
762
|
-
return
|
|
759
|
+
return Zt;
|
|
763
760
|
case "Shrink":
|
|
764
|
-
return
|
|
761
|
+
return Gt;
|
|
765
762
|
case "SquareCheck":
|
|
766
|
-
return
|
|
763
|
+
return Kt;
|
|
767
764
|
case "SquareCheckBig":
|
|
768
|
-
return
|
|
765
|
+
return Vt;
|
|
769
766
|
case "SquareX":
|
|
770
|
-
return
|
|
767
|
+
return Xt;
|
|
771
768
|
case "X":
|
|
772
769
|
return be;
|
|
773
770
|
case void 0:
|
|
774
|
-
return
|
|
771
|
+
return at;
|
|
775
772
|
default:
|
|
776
|
-
return D(e,
|
|
773
|
+
return D(e, ee.name), at;
|
|
777
774
|
}
|
|
778
775
|
})();
|
|
779
|
-
return /* @__PURE__ */ o(
|
|
776
|
+
return /* @__PURE__ */ o(t, { className: d("size-4", r) });
|
|
780
777
|
}
|
|
781
|
-
function
|
|
778
|
+
function Dt({
|
|
782
779
|
className: e,
|
|
783
|
-
...
|
|
780
|
+
...r
|
|
784
781
|
}) {
|
|
785
782
|
return /* @__PURE__ */ o(
|
|
786
783
|
"div",
|
|
787
784
|
{
|
|
788
785
|
className: d("animate-pulse rounded-md bg-secondary", e),
|
|
789
|
-
...
|
|
786
|
+
...r
|
|
790
787
|
}
|
|
791
788
|
);
|
|
792
789
|
}
|
|
793
790
|
function Se() {
|
|
794
791
|
var s;
|
|
795
792
|
const { data: e } = de(), {
|
|
796
|
-
routerState: { screen:
|
|
797
|
-
} =
|
|
793
|
+
routerState: { screen: r }
|
|
794
|
+
} = H(), { textContent: t } = S();
|
|
798
795
|
return (() => {
|
|
799
|
-
var a,
|
|
800
|
-
switch (
|
|
796
|
+
var a, i;
|
|
797
|
+
switch (r) {
|
|
801
798
|
case "chat":
|
|
802
|
-
return (a =
|
|
799
|
+
return (a = t == null ? void 0 : t.chatScreen) == null ? void 0 : a.headerTitle;
|
|
803
800
|
case "sessions":
|
|
804
|
-
return (
|
|
801
|
+
return (i = t == null ? void 0 : t.sessionsScreen) == null ? void 0 : i.headerTitle;
|
|
805
802
|
case "welcome":
|
|
806
803
|
return;
|
|
807
804
|
default:
|
|
808
|
-
D(
|
|
805
|
+
D(r, Se.name);
|
|
809
806
|
return;
|
|
810
807
|
}
|
|
811
808
|
})() ?? ((s = e == null ? void 0 : e.data) == null ? void 0 : s.organizationName) ?? "Chat";
|
|
812
809
|
}
|
|
813
|
-
function
|
|
810
|
+
function Uo(e) {
|
|
814
811
|
switch (e) {
|
|
815
812
|
case "chat":
|
|
816
813
|
return w("chat/header");
|
|
@@ -823,45 +820,46 @@ function Lo(e) {
|
|
|
823
820
|
return;
|
|
824
821
|
}
|
|
825
822
|
}
|
|
826
|
-
function
|
|
823
|
+
function Xo() {
|
|
827
824
|
const { router: e } = S(), {
|
|
828
|
-
routerState: { screen:
|
|
829
|
-
toSessionsScreen:
|
|
830
|
-
} =
|
|
831
|
-
return
|
|
825
|
+
routerState: { screen: r },
|
|
826
|
+
toSessionsScreen: t
|
|
827
|
+
} = H();
|
|
828
|
+
return r !== "chat" || e != null && e.chatScreenOnly ? null : /* @__PURE__ */ o(
|
|
832
829
|
z,
|
|
833
830
|
{
|
|
834
831
|
variant: "ghost",
|
|
835
832
|
size: "fit",
|
|
836
833
|
className: "rounded-full",
|
|
837
|
-
onClick:
|
|
838
|
-
children: /* @__PURE__ */ o(
|
|
834
|
+
onClick: t,
|
|
835
|
+
children: /* @__PURE__ */ o(ao, { className: "size-4 rtl:-scale-100" })
|
|
839
836
|
}
|
|
840
837
|
);
|
|
841
838
|
}
|
|
842
|
-
function
|
|
839
|
+
function Vo({
|
|
843
840
|
button: e
|
|
844
841
|
}) {
|
|
845
|
-
const { setIsOpen:
|
|
846
|
-
return
|
|
842
|
+
const { setIsOpen: r } = K(), { isSmallScreen: t } = A();
|
|
843
|
+
return t && e.hideOnSmallScreen || !t && e.hideOnLargeScreen ? null : /* @__PURE__ */ o(
|
|
847
844
|
z,
|
|
848
845
|
{
|
|
849
846
|
variant: "ghost",
|
|
850
847
|
size: "fit",
|
|
851
848
|
className: "rounded-full",
|
|
852
|
-
onClick:
|
|
853
|
-
e.handleClick
|
|
849
|
+
onClick: () => {
|
|
850
|
+
if (e.handleClick) return e.handleClick();
|
|
851
|
+
r(!1);
|
|
854
852
|
},
|
|
855
|
-
children: /* @__PURE__ */ o(
|
|
853
|
+
children: /* @__PURE__ */ o(ee, { name: e.icon })
|
|
856
854
|
}
|
|
857
855
|
);
|
|
858
856
|
}
|
|
859
857
|
function ue({
|
|
860
858
|
button: e
|
|
861
859
|
}) {
|
|
862
|
-
const [
|
|
860
|
+
const [r, t] = j(!1), {
|
|
863
861
|
routerState: { screen: n }
|
|
864
|
-
} =
|
|
862
|
+
} = H(), { isSmallScreen: s } = A(), { theme: a } = X(), { setWidth: i, setHeight: l } = Mt();
|
|
865
863
|
if (n !== "chat" && n !== "sessions") return null;
|
|
866
864
|
const p = (() => {
|
|
867
865
|
switch (n) {
|
|
@@ -872,7 +870,7 @@ function ue({
|
|
|
872
870
|
default:
|
|
873
871
|
return D(n, ue.name), a.screens.chat.height;
|
|
874
872
|
}
|
|
875
|
-
})(),
|
|
873
|
+
})(), g = (() => {
|
|
876
874
|
switch (n) {
|
|
877
875
|
case "chat":
|
|
878
876
|
return a.screens.chat.width;
|
|
@@ -881,10 +879,10 @@ function ue({
|
|
|
881
879
|
default:
|
|
882
880
|
return D(n, ue.name), a.screens.chat.width;
|
|
883
881
|
}
|
|
884
|
-
})(),
|
|
885
|
-
|
|
886
|
-
const
|
|
887
|
-
return
|
|
882
|
+
})(), x = () => {
|
|
883
|
+
t((y) => {
|
|
884
|
+
const v = !y;
|
|
885
|
+
return l(v ? "100vh" : p), i(v ? `max(40vw, ${g})` : g), v;
|
|
888
886
|
});
|
|
889
887
|
};
|
|
890
888
|
return s && e.hideOnSmallScreen || !s && e.hideOnLargeScreen ? null : /* @__PURE__ */ o(
|
|
@@ -893,24 +891,24 @@ function ue({
|
|
|
893
891
|
variant: "ghost",
|
|
894
892
|
size: "fit",
|
|
895
893
|
className: "rounded-full",
|
|
896
|
-
onClick:
|
|
894
|
+
onClick: x,
|
|
897
895
|
children: /* @__PURE__ */ o(
|
|
898
|
-
|
|
896
|
+
ee,
|
|
899
897
|
{
|
|
900
|
-
name: e.icon || (
|
|
898
|
+
name: e.icon || (r ? e.shrinkIcon : e.expandIcon)
|
|
901
899
|
}
|
|
902
900
|
)
|
|
903
901
|
}
|
|
904
902
|
);
|
|
905
903
|
}
|
|
906
|
-
function
|
|
904
|
+
function Rt({
|
|
907
905
|
button: e
|
|
908
906
|
}) {
|
|
909
|
-
var _,
|
|
910
|
-
const [
|
|
907
|
+
var _, k;
|
|
908
|
+
const [r, t] = j(!1), { widgetCtx: n } = Y(), { setIsOpen: s } = K(), { resolveSession: a, sessionState: i } = q(), { isSmallScreen: l } = A(), p = !i.session, g = ((_ = i.session) == null ? void 0 : _.isOpened) === !1, x = e.onResolved || "stay-in-chat", y = e.behaviorBeforeSessionCreation || "disabled", v = e.behaviorIfSessionIsResolved || "disabled", h = !!(i.isResolvingSession || p && y === "disabled" || g && v === "disabled"), m = async () => {
|
|
911
909
|
const { success: I, error: M } = await a();
|
|
912
|
-
if (
|
|
913
|
-
switch (
|
|
910
|
+
if (t(!1), !I) return console.error(M);
|
|
911
|
+
switch (x) {
|
|
914
912
|
case "stay-in-chat":
|
|
915
913
|
return;
|
|
916
914
|
case "close-widget":
|
|
@@ -923,12 +921,12 @@ function It({
|
|
|
923
921
|
s(!1), n.resetChat();
|
|
924
922
|
break;
|
|
925
923
|
default:
|
|
926
|
-
D(
|
|
924
|
+
D(x, Rt.name);
|
|
927
925
|
break;
|
|
928
926
|
}
|
|
929
|
-
},
|
|
927
|
+
}, u = () => {
|
|
930
928
|
if (p)
|
|
931
|
-
switch (
|
|
929
|
+
switch (y) {
|
|
932
930
|
case "disabled":
|
|
933
931
|
return;
|
|
934
932
|
case "close-widget":
|
|
@@ -936,12 +934,12 @@ function It({
|
|
|
936
934
|
break;
|
|
937
935
|
default:
|
|
938
936
|
D(
|
|
939
|
-
|
|
940
|
-
|
|
937
|
+
y,
|
|
938
|
+
u.name
|
|
941
939
|
);
|
|
942
940
|
}
|
|
943
|
-
if (
|
|
944
|
-
switch (
|
|
941
|
+
if (g)
|
|
942
|
+
switch (v) {
|
|
945
943
|
case "disabled":
|
|
946
944
|
return;
|
|
947
945
|
case "close-widget":
|
|
@@ -955,32 +953,32 @@ function It({
|
|
|
955
953
|
break;
|
|
956
954
|
default:
|
|
957
955
|
D(
|
|
958
|
-
|
|
959
|
-
|
|
956
|
+
v,
|
|
957
|
+
u.name
|
|
960
958
|
);
|
|
961
959
|
}
|
|
962
960
|
};
|
|
963
|
-
return
|
|
964
|
-
/* @__PURE__ */ o(
|
|
961
|
+
return l && e.hideOnSmallScreen || !l && e.hideOnLargeScreen ? null : ((k = e.confirmation) == null ? void 0 : k.type) === "modal" && !g && !p ? /* @__PURE__ */ c(vt, { open: r, onOpenChange: t, children: [
|
|
962
|
+
/* @__PURE__ */ o(bt, { asChild: !0, children: /* @__PURE__ */ o(
|
|
965
963
|
z,
|
|
966
964
|
{
|
|
967
965
|
variant: "ghost",
|
|
968
966
|
size: "fit",
|
|
969
967
|
className: "rounded-full",
|
|
970
968
|
disabled: h,
|
|
971
|
-
children: /* @__PURE__ */ o(
|
|
969
|
+
children: /* @__PURE__ */ o(ee, { name: e.icon })
|
|
972
970
|
}
|
|
973
971
|
) }),
|
|
974
972
|
/* @__PURE__ */ c(xe, { children: [
|
|
975
|
-
/* @__PURE__ */ o(
|
|
976
|
-
/* @__PURE__ */ o(
|
|
977
|
-
/* @__PURE__ */ c(
|
|
973
|
+
/* @__PURE__ */ o(yt, { children: /* @__PURE__ */ o(ye, { children: e.confirmation.title || "Close conversation" }) }),
|
|
974
|
+
/* @__PURE__ */ o(kt, { children: /* @__PURE__ */ o(zt, { children: e.confirmation.description || "Are you sure you want to close this conversation?" }) }),
|
|
975
|
+
/* @__PURE__ */ c(Ct, { children: [
|
|
978
976
|
/* @__PURE__ */ o(
|
|
979
977
|
z,
|
|
980
978
|
{
|
|
981
979
|
variant: "secondary",
|
|
982
|
-
onClick: () =>
|
|
983
|
-
disabled:
|
|
980
|
+
onClick: () => t(!1),
|
|
981
|
+
disabled: i.isResolvingSession,
|
|
984
982
|
children: e.confirmation.cancelButtonText || "No"
|
|
985
983
|
}
|
|
986
984
|
),
|
|
@@ -989,7 +987,7 @@ function It({
|
|
|
989
987
|
{
|
|
990
988
|
variant: "destructive",
|
|
991
989
|
onClick: m,
|
|
992
|
-
disabled:
|
|
990
|
+
disabled: i.isResolvingSession,
|
|
993
991
|
children: e.confirmation.confirmButtonText || "Yes"
|
|
994
992
|
}
|
|
995
993
|
)
|
|
@@ -1001,34 +999,34 @@ function It({
|
|
|
1001
999
|
variant: "ghost",
|
|
1002
1000
|
size: "fit",
|
|
1003
1001
|
className: "rounded-full",
|
|
1004
|
-
onClick:
|
|
1002
|
+
onClick: g || p ? u : m,
|
|
1005
1003
|
disabled: h,
|
|
1006
|
-
children: /* @__PURE__ */ o(
|
|
1004
|
+
children: /* @__PURE__ */ o(ee, { name: e.icon })
|
|
1007
1005
|
}
|
|
1008
1006
|
);
|
|
1009
1007
|
}
|
|
1010
1008
|
function fe({ button: e }) {
|
|
1011
1009
|
switch (e.functionality) {
|
|
1012
1010
|
case "close-widget":
|
|
1013
|
-
return /* @__PURE__ */ o(
|
|
1011
|
+
return /* @__PURE__ */ o(Vo, { button: e });
|
|
1014
1012
|
case "expand-shrink":
|
|
1015
1013
|
return /* @__PURE__ */ o(ue, { button: e });
|
|
1016
1014
|
case "resolve-session":
|
|
1017
|
-
return /* @__PURE__ */ o(
|
|
1015
|
+
return /* @__PURE__ */ o(Rt, { button: e });
|
|
1018
1016
|
default:
|
|
1019
1017
|
return D(e, fe.name), null;
|
|
1020
1018
|
}
|
|
1021
1019
|
}
|
|
1022
|
-
const
|
|
1020
|
+
const Ko = {
|
|
1023
1021
|
functionality: "close-widget",
|
|
1024
1022
|
hideOnLargeScreen: !0,
|
|
1025
1023
|
icon: "X"
|
|
1026
1024
|
};
|
|
1027
|
-
function
|
|
1025
|
+
function Go() {
|
|
1028
1026
|
const {
|
|
1029
1027
|
routerState: { screen: e }
|
|
1030
|
-
} =
|
|
1031
|
-
return !
|
|
1028
|
+
} = H(), { headerButtons: r } = S(), t = e === "chat" ? r == null ? void 0 : r.chatScreen : e === "sessions" ? r == null ? void 0 : r.sessionsScreen : [];
|
|
1029
|
+
return !t || t.length === 0 ? /* @__PURE__ */ o(fe, { button: Ko }) : /* @__PURE__ */ o(lt, { children: t.map((n) => /* @__PURE__ */ o(
|
|
1032
1030
|
fe,
|
|
1033
1031
|
{
|
|
1034
1032
|
button: n
|
|
@@ -1036,58 +1034,58 @@ function Xo() {
|
|
|
1036
1034
|
`${n.functionality}-${n.icon}`
|
|
1037
1035
|
)) });
|
|
1038
1036
|
}
|
|
1039
|
-
function
|
|
1037
|
+
function Ot() {
|
|
1040
1038
|
const {
|
|
1041
1039
|
routerState: { screen: e }
|
|
1042
|
-
} =
|
|
1043
|
-
return /* @__PURE__ */ o("header", { ...
|
|
1044
|
-
/* @__PURE__ */ o(
|
|
1040
|
+
} = H(), { isLoading: r } = de(), t = Uo(e), n = Se();
|
|
1041
|
+
return /* @__PURE__ */ o("header", { ...t, className: "py-2 px-4 shrink-0", children: /* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
|
|
1042
|
+
/* @__PURE__ */ o(Xo, {}),
|
|
1045
1043
|
/* @__PURE__ */ o(
|
|
1046
1044
|
"div",
|
|
1047
1045
|
{
|
|
1048
1046
|
className: d(
|
|
1049
1047
|
"flex-1 h-8 flex items-center",
|
|
1050
|
-
e === "sessions" && "
|
|
1048
|
+
e === "sessions" && "ps-2"
|
|
1051
1049
|
),
|
|
1052
|
-
children: /* @__PURE__ */ o(T, { mode: "wait", children:
|
|
1050
|
+
children: /* @__PURE__ */ o(T, { mode: "wait", children: r ? /* @__PURE__ */ o(f, { snapExit: !0, children: /* @__PURE__ */ o(Dt, { className: "h-5 w-1/2" }) }, "skeleton") : /* @__PURE__ */ o(f, { children: /* @__PURE__ */ o("h2", { className: "font-semibold", children: n }) }, "organization-name") })
|
|
1053
1051
|
}
|
|
1054
1052
|
),
|
|
1055
|
-
/* @__PURE__ */ o(
|
|
1053
|
+
/* @__PURE__ */ o(Go, {})
|
|
1056
1054
|
] }) });
|
|
1057
1055
|
}
|
|
1058
|
-
function
|
|
1059
|
-
return /* @__PURE__ */ o(
|
|
1056
|
+
function jt({ className: e }) {
|
|
1057
|
+
return /* @__PURE__ */ o(io, { className: d("size-4 animate-spin", e) });
|
|
1060
1058
|
}
|
|
1061
|
-
function
|
|
1059
|
+
function Zo() {
|
|
1062
1060
|
const {
|
|
1063
1061
|
messagesState: { isInitialFetchLoading: e }
|
|
1064
|
-
} =
|
|
1062
|
+
} = U(), { isSmallScreen: r } = A(), { activeMode: t, Component: n } = pt();
|
|
1065
1063
|
return {
|
|
1066
|
-
isCanvasOpen: !e && !
|
|
1064
|
+
isCanvasOpen: !e && !r && !!t && !!n
|
|
1067
1065
|
};
|
|
1068
1066
|
}
|
|
1069
|
-
function
|
|
1070
|
-
const { activeMode: e, Component:
|
|
1067
|
+
function Jo() {
|
|
1068
|
+
const { activeMode: e, Component: r } = pt(), { sendMessage: t } = U(), { createStateCheckpoint: n } = q(), [s, a] = j(!1), i = async (l) => {
|
|
1071
1069
|
try {
|
|
1072
|
-
a(!0), await
|
|
1070
|
+
a(!0), await t(l);
|
|
1073
1071
|
} catch (p) {
|
|
1074
1072
|
console.error(p);
|
|
1075
1073
|
} finally {
|
|
1076
1074
|
a(!1);
|
|
1077
1075
|
}
|
|
1078
1076
|
};
|
|
1079
|
-
return !e || !
|
|
1080
|
-
|
|
1077
|
+
return !e || !r ? null : /* @__PURE__ */ o(
|
|
1078
|
+
r,
|
|
1081
1079
|
{
|
|
1082
1080
|
react: se,
|
|
1083
1081
|
mode: e,
|
|
1084
1082
|
createStateCheckpoint: n,
|
|
1085
|
-
sendMessage:
|
|
1083
|
+
sendMessage: i,
|
|
1086
1084
|
isSendingMessage: s
|
|
1087
1085
|
}
|
|
1088
1086
|
);
|
|
1089
1087
|
}
|
|
1090
|
-
const
|
|
1088
|
+
const Qo = {
|
|
1091
1089
|
"write-a-message": "اكتب رسالة...",
|
|
1092
1090
|
"session-closed-lead": "تم حل مشكلتك!",
|
|
1093
1091
|
"new-conversation": "محادثة جديدة",
|
|
@@ -1103,7 +1101,7 @@ const Ko = {
|
|
|
1103
1101
|
"no-conversations-yet": "لا يوجد محادثات",
|
|
1104
1102
|
"back-to-conversations": "العودة إلى المحادثات",
|
|
1105
1103
|
"closed-conversations": "المحادثات المغلقة"
|
|
1106
|
-
},
|
|
1104
|
+
}, er = {
|
|
1107
1105
|
"write-a-message": "Nachricht schreiben...",
|
|
1108
1106
|
"session-closed-lead": "Ihr Problem wurde gelöst!",
|
|
1109
1107
|
"new-conversation": "Neue Konversation",
|
|
@@ -1119,7 +1117,7 @@ const Ko = {
|
|
|
1119
1117
|
"no-conversations-yet": "noch keine Gespräche",
|
|
1120
1118
|
"back-to-conversations": "Zurück zur Konversationen",
|
|
1121
1119
|
"closed-conversations": "Geschlossene Konversationen"
|
|
1122
|
-
},
|
|
1120
|
+
}, tr = {
|
|
1123
1121
|
"write-a-message": "Write a message...",
|
|
1124
1122
|
"session-closed-lead": "Your issue has been resolved!",
|
|
1125
1123
|
"new-conversation": "New conversation",
|
|
@@ -1135,7 +1133,7 @@ const Ko = {
|
|
|
1135
1133
|
"no-conversations-yet": "No conversations yet",
|
|
1136
1134
|
"back-to-conversations": "Back to conversations",
|
|
1137
1135
|
"closed-conversations": "Closed conversations"
|
|
1138
|
-
},
|
|
1136
|
+
}, or = {
|
|
1139
1137
|
"write-a-message": "Écrivez un message...",
|
|
1140
1138
|
"session-closed-lead": "Votre problème a été résolu !",
|
|
1141
1139
|
"new-conversation": "Nouvelle conversation",
|
|
@@ -1151,7 +1149,7 @@ const Ko = {
|
|
|
1151
1149
|
"no-conversations-yet": "Aucune conversation pour le moment",
|
|
1152
1150
|
"back-to-conversations": "Retour aux conversations",
|
|
1153
1151
|
"closed-conversations": "Conversations fermées"
|
|
1154
|
-
},
|
|
1152
|
+
}, rr = {
|
|
1155
1153
|
"write-a-message": "Schrijf een bericht...",
|
|
1156
1154
|
"session-closed-lead": "Uw probleem is opgelost!",
|
|
1157
1155
|
"new-conversation": "Nieuw gesprek",
|
|
@@ -1167,7 +1165,7 @@ const Ko = {
|
|
|
1167
1165
|
"no-conversations-yet": "Nog geen gesprekken",
|
|
1168
1166
|
"back-to-conversations": "Terug naar gesprekken",
|
|
1169
1167
|
"closed-conversations": "Afgesloten gesprekken"
|
|
1170
|
-
},
|
|
1168
|
+
}, nr = {
|
|
1171
1169
|
"write-a-message": "Escreva uma mensagem...",
|
|
1172
1170
|
"session-closed-lead": "Seu problema foi resolvido!",
|
|
1173
1171
|
"new-conversation": "Nova conversa",
|
|
@@ -1183,7 +1181,7 @@ const Ko = {
|
|
|
1183
1181
|
"no-conversations-yet": "Nenhuma conversa ainda",
|
|
1184
1182
|
"back-to-conversations": "Voltar para conversas",
|
|
1185
1183
|
"closed-conversations": "Conversas fechadas"
|
|
1186
|
-
},
|
|
1184
|
+
}, sr = {
|
|
1187
1185
|
"write-a-message": "Escribe un mensaje...",
|
|
1188
1186
|
"session-closed-lead": "¡Tu problema fue resuelto!",
|
|
1189
1187
|
"new-conversation": "Nueva conversación",
|
|
@@ -1199,7 +1197,7 @@ const Ko = {
|
|
|
1199
1197
|
"no-conversations-yet": "Sin conversaciones aún",
|
|
1200
1198
|
"back-to-conversations": "Volver a conversaciones",
|
|
1201
1199
|
"closed-conversations": "Conversaciones cerradas"
|
|
1202
|
-
},
|
|
1200
|
+
}, ar = {
|
|
1203
1201
|
"write-a-message": "Bir mesaj yazın...",
|
|
1204
1202
|
"session-closed-lead": "Sorununuz çözüldü!",
|
|
1205
1203
|
"new-conversation": "Yeni konuşma",
|
|
@@ -1215,38 +1213,41 @@ const Ko = {
|
|
|
1215
1213
|
"no-conversations-yet": "Henüz konuşma yok",
|
|
1216
1214
|
"back-to-conversations": "Konuşmalara geri dön",
|
|
1217
1215
|
"closed-conversations": "Kapatılan konuşmalar"
|
|
1218
|
-
},
|
|
1219
|
-
en:
|
|
1220
|
-
ar:
|
|
1221
|
-
nl:
|
|
1222
|
-
fr:
|
|
1223
|
-
de:
|
|
1224
|
-
pt:
|
|
1225
|
-
es:
|
|
1226
|
-
tr:
|
|
1227
|
-
},
|
|
1228
|
-
function
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1216
|
+
}, Et = {
|
|
1217
|
+
en: tr,
|
|
1218
|
+
ar: Qo,
|
|
1219
|
+
nl: rr,
|
|
1220
|
+
fr: or,
|
|
1221
|
+
de: er,
|
|
1222
|
+
pt: nr,
|
|
1223
|
+
es: sr,
|
|
1224
|
+
tr: ar
|
|
1225
|
+
}, ir = Object.keys(Et);
|
|
1226
|
+
function lr(e) {
|
|
1227
|
+
return ir.includes(e);
|
|
1228
|
+
}
|
|
1229
|
+
function cr(e, r) {
|
|
1230
|
+
const t = Et[r];
|
|
1231
|
+
return t && t[e] || "";
|
|
1232
|
+
}
|
|
1233
|
+
function Z() {
|
|
1234
|
+
const { dir: e } = ve(), r = S();
|
|
1235
|
+
return dt(() => {
|
|
1236
|
+
const t = lr(r.language) ? r.language : "en";
|
|
1238
1237
|
return {
|
|
1239
|
-
|
|
1240
|
-
|
|
1238
|
+
t: (n) => cr(n, t),
|
|
1239
|
+
language: t,
|
|
1240
|
+
dir: t === "ar" ? "rtl" : "ltr",
|
|
1241
|
+
hostDocumentDir: e
|
|
1241
1242
|
};
|
|
1242
|
-
}, [
|
|
1243
|
+
}, [r.language, e]);
|
|
1243
1244
|
}
|
|
1244
1245
|
function _e({
|
|
1245
1246
|
suggestion: e,
|
|
1246
|
-
className:
|
|
1247
|
-
...
|
|
1247
|
+
className: r,
|
|
1248
|
+
...t
|
|
1248
1249
|
}) {
|
|
1249
|
-
const { sendMessage: n } =
|
|
1250
|
+
const { sendMessage: n } = U(), s = () => {
|
|
1250
1251
|
const a = e.trim();
|
|
1251
1252
|
a && n({ content: a });
|
|
1252
1253
|
};
|
|
@@ -1255,74 +1256,74 @@ function _e({
|
|
|
1255
1256
|
{
|
|
1256
1257
|
...w("chat/suggested_reply_btn"),
|
|
1257
1258
|
size: "sm",
|
|
1258
|
-
className: d("rounded-xl w-fit",
|
|
1259
|
-
...
|
|
1259
|
+
className: d("rounded-xl w-fit", r),
|
|
1260
|
+
...t,
|
|
1260
1261
|
onClick: s,
|
|
1261
1262
|
children: e
|
|
1262
1263
|
}
|
|
1263
1264
|
);
|
|
1264
1265
|
}
|
|
1265
|
-
function
|
|
1266
|
-
const e =
|
|
1267
|
-
e
|
|
1268
|
-
e
|
|
1266
|
+
function dr() {
|
|
1267
|
+
const { t: e } = Z(), r = [
|
|
1268
|
+
e("i-need-more-help"),
|
|
1269
|
+
e("this-was-helpful")
|
|
1269
1270
|
];
|
|
1270
1271
|
return /* @__PURE__ */ o(
|
|
1271
1272
|
"div",
|
|
1272
1273
|
{
|
|
1273
1274
|
...w("chat/might_solve_user_issue_suggested_replies_container"),
|
|
1274
1275
|
className: "flex items-center gap-2 p-2 pb-0 flex-wrap",
|
|
1275
|
-
children:
|
|
1276
|
+
children: r.map((t) => /* @__PURE__ */ o(
|
|
1276
1277
|
_e,
|
|
1277
1278
|
{
|
|
1278
|
-
suggestion:
|
|
1279
|
+
suggestion: t,
|
|
1279
1280
|
className: "flex-1"
|
|
1280
1281
|
},
|
|
1281
|
-
|
|
1282
|
+
t
|
|
1282
1283
|
))
|
|
1283
1284
|
}
|
|
1284
1285
|
);
|
|
1285
1286
|
}
|
|
1286
|
-
function
|
|
1287
|
-
file: { status: e, file:
|
|
1287
|
+
function pr({
|
|
1288
|
+
file: { status: e, file: r, error: t },
|
|
1288
1289
|
onCancel: n
|
|
1289
1290
|
}) {
|
|
1290
1291
|
const [s, a] = j(
|
|
1291
1292
|
null
|
|
1292
1293
|
);
|
|
1293
1294
|
le(() => {
|
|
1294
|
-
if (!
|
|
1295
|
+
if (!r.type.startsWith("image/")) return;
|
|
1295
1296
|
const p = new FileReader();
|
|
1296
|
-
return p.onload = () => a(p.result), p.onerror = () => console.error("Error reading file"), p.readAsDataURL(
|
|
1297
|
-
}, [
|
|
1298
|
-
const
|
|
1297
|
+
return p.onload = () => a(p.result), p.onerror = () => console.error("Error reading file"), p.readAsDataURL(r), () => p.abort();
|
|
1298
|
+
}, [r]);
|
|
1299
|
+
const i = () => {
|
|
1299
1300
|
switch (e) {
|
|
1300
1301
|
case "uploading":
|
|
1301
|
-
return /* @__PURE__ */ o(
|
|
1302
|
+
return /* @__PURE__ */ o(wo, { className: "size-4 animate-spin" });
|
|
1302
1303
|
case "error":
|
|
1303
|
-
return /* @__PURE__ */ o(
|
|
1304
|
+
return /* @__PURE__ */ o(mo, { className: "size-4 text-destructive" });
|
|
1304
1305
|
default:
|
|
1305
1306
|
return null;
|
|
1306
1307
|
}
|
|
1307
|
-
},
|
|
1308
|
-
const p =
|
|
1308
|
+
}, l = () => {
|
|
1309
|
+
const p = r.type.split("/")[0];
|
|
1309
1310
|
return p === "image" && s ? /* @__PURE__ */ o(
|
|
1310
1311
|
"img",
|
|
1311
1312
|
{
|
|
1312
1313
|
src: typeof s == "string" ? s : "",
|
|
1313
1314
|
className: "object-cover bg-secondary size-full",
|
|
1314
|
-
alt:
|
|
1315
|
+
alt: r.name
|
|
1315
1316
|
}
|
|
1316
|
-
) : p === "audio" ? /* @__PURE__ */ o(
|
|
1317
|
+
) : p === "audio" ? /* @__PURE__ */ o(go, {}) : p === "video" ? /* @__PURE__ */ o(uo, {}) : /* @__PURE__ */ o(fo, {});
|
|
1317
1318
|
};
|
|
1318
1319
|
return /* @__PURE__ */ o(
|
|
1319
|
-
|
|
1320
|
+
Q,
|
|
1320
1321
|
{
|
|
1321
1322
|
side: "bottom",
|
|
1322
1323
|
content: e === "error" ? /* @__PURE__ */ c("span", { className: "text-destructive", children: [
|
|
1323
1324
|
"Failed to upload: ",
|
|
1324
|
-
|
|
1325
|
-
] }) :
|
|
1325
|
+
t
|
|
1326
|
+
] }) : r.name,
|
|
1326
1327
|
children: /* @__PURE__ */ c(
|
|
1327
1328
|
"div",
|
|
1328
1329
|
{
|
|
@@ -1333,7 +1334,7 @@ function ir({
|
|
|
1333
1334
|
"flex items-center justify-center shrink-0"
|
|
1334
1335
|
),
|
|
1335
1336
|
children: [
|
|
1336
|
-
/* @__PURE__ */ o("div", { className: "absolute inset-0 flex items-center justify-center", children:
|
|
1337
|
+
/* @__PURE__ */ o("div", { className: "absolute inset-0 flex items-center justify-center", children: i() }),
|
|
1337
1338
|
/* @__PURE__ */ o(
|
|
1338
1339
|
"button",
|
|
1339
1340
|
{
|
|
@@ -1347,54 +1348,54 @@ function ir({
|
|
|
1347
1348
|
children: /* @__PURE__ */ o(be, { className: "size-4 text-primary-foreground" })
|
|
1348
1349
|
}
|
|
1349
1350
|
),
|
|
1350
|
-
/* @__PURE__ */ o(
|
|
1351
|
+
/* @__PURE__ */ o(l, {})
|
|
1351
1352
|
]
|
|
1352
1353
|
}
|
|
1353
1354
|
)
|
|
1354
1355
|
}
|
|
1355
1356
|
);
|
|
1356
1357
|
}
|
|
1357
|
-
function
|
|
1358
|
-
var
|
|
1359
|
-
const { isSmallScreen: e } =
|
|
1360
|
-
allFiles:
|
|
1361
|
-
emptyTheFiles:
|
|
1362
|
-
handleCancelUpload:
|
|
1363
|
-
appendFiles:
|
|
1364
|
-
isUploading:
|
|
1365
|
-
successFiles:
|
|
1366
|
-
} =
|
|
1367
|
-
|
|
1368
|
-
},
|
|
1369
|
-
if (
|
|
1370
|
-
|
|
1371
|
-
const
|
|
1372
|
-
|
|
1373
|
-
content:
|
|
1374
|
-
attachments:
|
|
1375
|
-
(
|
|
1358
|
+
function hr() {
|
|
1359
|
+
var O;
|
|
1360
|
+
const { isSmallScreen: e } = A(), r = ce(null), { sendMessage: t } = U(), { sessionState: n } = q(), { t: s } = Z(), [a, i] = j(""), {
|
|
1361
|
+
allFiles: l,
|
|
1362
|
+
emptyTheFiles: p,
|
|
1363
|
+
handleCancelUpload: g,
|
|
1364
|
+
appendFiles: x,
|
|
1365
|
+
isUploading: y,
|
|
1366
|
+
successFiles: v
|
|
1367
|
+
} = Bt(), h = !!((O = n.session) != null && O.isHandedOff), { isAwaitingBotReply: m } = ht(), u = (b) => {
|
|
1368
|
+
x(b);
|
|
1369
|
+
}, _ = !a.trim() && v.length === 0, k = async () => {
|
|
1370
|
+
if (m || _) return;
|
|
1371
|
+
y && console.info("please wait for the file(s) to upload");
|
|
1372
|
+
const b = a.trim();
|
|
1373
|
+
t({
|
|
1374
|
+
content: b,
|
|
1375
|
+
attachments: v.flatMap(
|
|
1376
|
+
(C) => C.fileUrl ? [
|
|
1376
1377
|
{
|
|
1377
|
-
url:
|
|
1378
|
-
type:
|
|
1379
|
-
name:
|
|
1380
|
-
id:
|
|
1381
|
-
size:
|
|
1378
|
+
url: C.fileUrl,
|
|
1379
|
+
type: C.file.type,
|
|
1380
|
+
name: C.file.name,
|
|
1381
|
+
id: C.id,
|
|
1382
|
+
size: C.file.size
|
|
1382
1383
|
}
|
|
1383
1384
|
] : []
|
|
1384
1385
|
)
|
|
1385
|
-
}), i(""),
|
|
1386
|
+
}), i(""), p();
|
|
1386
1387
|
}, {
|
|
1387
|
-
getRootProps:
|
|
1388
|
-
getInputProps:
|
|
1389
|
-
open:
|
|
1390
|
-
} =
|
|
1391
|
-
onDrop:
|
|
1388
|
+
getRootProps: I,
|
|
1389
|
+
getInputProps: M,
|
|
1390
|
+
open: F
|
|
1391
|
+
} = To({
|
|
1392
|
+
onDrop: u,
|
|
1392
1393
|
noClick: !0,
|
|
1393
1394
|
onDropRejected() {
|
|
1394
1395
|
console.error("unsupported file type, or the file is too large");
|
|
1395
1396
|
},
|
|
1396
1397
|
maxSize: 5 * 1024 * 1024,
|
|
1397
|
-
accept:
|
|
1398
|
+
accept: h ? {
|
|
1398
1399
|
"text/*": [".txt"],
|
|
1399
1400
|
"image/*": [".png", ".jpg", ".jpeg", ".gif"],
|
|
1400
1401
|
"application/pdf": [".pdf"]
|
|
@@ -1404,18 +1405,18 @@ function lr() {
|
|
|
1404
1405
|
"image/gif": [".gif"],
|
|
1405
1406
|
"image/webp": [".webp"]
|
|
1406
1407
|
}
|
|
1407
|
-
}),
|
|
1408
|
-
const
|
|
1409
|
-
|
|
1408
|
+
}), P = (b) => {
|
|
1409
|
+
const C = b.clipboardData;
|
|
1410
|
+
C && C.files.length > 0 && u(Array.from(C.files));
|
|
1410
1411
|
};
|
|
1411
1412
|
return /* @__PURE__ */ c(
|
|
1412
1413
|
"div",
|
|
1413
1414
|
{
|
|
1414
1415
|
...w("chat/input_box/root"),
|
|
1415
1416
|
className: "p-2 relative space-y-1",
|
|
1416
|
-
...
|
|
1417
|
+
...I(),
|
|
1417
1418
|
children: [
|
|
1418
|
-
/* @__PURE__ */ o("input", { ...
|
|
1419
|
+
/* @__PURE__ */ o("input", { ...M() }),
|
|
1419
1420
|
/* @__PURE__ */ c(
|
|
1420
1421
|
"div",
|
|
1421
1422
|
{
|
|
@@ -1434,55 +1435,53 @@ function lr() {
|
|
|
1434
1435
|
...w("chat/input_box/textarea_and_attachments_container"),
|
|
1435
1436
|
className: "flex flex-col gap-2",
|
|
1436
1437
|
children: [
|
|
1437
|
-
|
|
1438
|
+
l.length > 0 && /* @__PURE__ */ o(
|
|
1438
1439
|
"div",
|
|
1439
1440
|
{
|
|
1440
1441
|
...w("chat/input_box/attachments_container"),
|
|
1441
1442
|
className: "flex items-center gap-1",
|
|
1442
|
-
children: /* @__PURE__ */ o(T, { mode: "popLayout", children:
|
|
1443
|
-
|
|
1443
|
+
children: /* @__PURE__ */ o(T, { mode: "popLayout", children: l.map((b) => /* @__PURE__ */ o(f, { snapExit: !0, children: /* @__PURE__ */ o(
|
|
1444
|
+
pr,
|
|
1444
1445
|
{
|
|
1445
|
-
onCancel: () => b
|
|
1446
|
-
file:
|
|
1446
|
+
onCancel: () => g(b.id),
|
|
1447
|
+
file: b
|
|
1447
1448
|
}
|
|
1448
|
-
) },
|
|
1449
|
+
) }, b.id)) })
|
|
1449
1450
|
}
|
|
1450
1451
|
),
|
|
1451
1452
|
/* @__PURE__ */ o(
|
|
1452
1453
|
"textarea",
|
|
1453
1454
|
{
|
|
1454
1455
|
...w("chat/input_box/textarea"),
|
|
1455
|
-
onPaste:
|
|
1456
|
-
ref:
|
|
1456
|
+
onPaste: P,
|
|
1457
|
+
ref: r,
|
|
1457
1458
|
id: "chat-input",
|
|
1458
|
-
|
|
1459
|
-
value: l,
|
|
1459
|
+
value: a,
|
|
1460
1460
|
rows: 3,
|
|
1461
1461
|
className: d(
|
|
1462
1462
|
/** Match the border radius of the container */
|
|
1463
1463
|
// INPUT_CONTAINER_B_RADIUS,
|
|
1464
1464
|
"max-h-16 [field-sizing:content]",
|
|
1465
1465
|
"w-full resize-none px-2",
|
|
1466
|
-
|
|
1466
|
+
l.length === 0 && "pt-1",
|
|
1467
1467
|
"bg-transparent outline-none",
|
|
1468
1468
|
"placeholder:text-muted-foreground",
|
|
1469
|
-
"rtl:placeholder:text-right",
|
|
1470
1469
|
// 16px on mobiles prevents auto-zoom on the input when focused
|
|
1471
1470
|
e ? "text-[16px]" : "text-sm"
|
|
1472
1471
|
),
|
|
1473
|
-
onChange: (
|
|
1474
|
-
onKeyDown: async (
|
|
1475
|
-
|
|
1472
|
+
onChange: (b) => i(b.target.value),
|
|
1473
|
+
onKeyDown: async (b) => {
|
|
1474
|
+
b.key === "Enter" && !b.shiftKey && (b.preventDefault(), k());
|
|
1476
1475
|
},
|
|
1477
|
-
placeholder: s
|
|
1476
|
+
placeholder: s("write-a-message")
|
|
1478
1477
|
}
|
|
1479
1478
|
)
|
|
1480
1479
|
]
|
|
1481
1480
|
}
|
|
1482
1481
|
),
|
|
1483
|
-
/* @__PURE__ */ c("div", {
|
|
1482
|
+
/* @__PURE__ */ c("div", { className: "gap-2 flex justify-between", children: [
|
|
1484
1483
|
/* @__PURE__ */ o(
|
|
1485
|
-
|
|
1484
|
+
Q,
|
|
1486
1485
|
{
|
|
1487
1486
|
side: "top",
|
|
1488
1487
|
align: "start",
|
|
@@ -1490,25 +1489,25 @@ function lr() {
|
|
|
1490
1489
|
children: /* @__PURE__ */ o(
|
|
1491
1490
|
z,
|
|
1492
1491
|
{
|
|
1493
|
-
onClick:
|
|
1492
|
+
onClick: F,
|
|
1494
1493
|
size: "fit",
|
|
1495
1494
|
variant: "ghost",
|
|
1496
1495
|
className: d(
|
|
1497
1496
|
"rounded-full size-8 flex items-center justify-center p-0 overflow-hidden"
|
|
1498
1497
|
),
|
|
1499
|
-
children: /* @__PURE__ */ o(T, { mode: "wait", children:
|
|
1498
|
+
children: /* @__PURE__ */ o(T, { mode: "wait", children: h ? /* @__PURE__ */ o(f, { children: /* @__PURE__ */ o(lo, { className: "size-4" }) }, "paper-clip") : /* @__PURE__ */ o(f, { children: /* @__PURE__ */ o(co, { className: "size-4" }) }, "image-icon") })
|
|
1500
1499
|
}
|
|
1501
1500
|
)
|
|
1502
1501
|
}
|
|
1503
1502
|
),
|
|
1504
|
-
/* @__PURE__ */ o(
|
|
1503
|
+
/* @__PURE__ */ o(Q, { content: "send message", side: "top", align: "end", children: /* @__PURE__ */ o(
|
|
1505
1504
|
z,
|
|
1506
1505
|
{
|
|
1507
1506
|
size: "fit",
|
|
1508
|
-
onClick:
|
|
1509
|
-
disabled:
|
|
1507
|
+
onClick: k,
|
|
1508
|
+
disabled: m || y || _,
|
|
1510
1509
|
className: "rounded-full size-8 flex items-center justify-center p-0",
|
|
1511
|
-
children: /* @__PURE__ */ o(T, { mode: "wait", children:
|
|
1510
|
+
children: /* @__PURE__ */ o(T, { mode: "wait", children: m || y ? /* @__PURE__ */ o(f, { snapExit: !0, children: /* @__PURE__ */ o(po, { className: "size-4 animate-spin animate-iteration-infinite" }) }, "loading") : /* @__PURE__ */ o(f, { snapExit: !0, children: /* @__PURE__ */ o(ho, { className: "size-4" }) }, "send") })
|
|
1512
1511
|
}
|
|
1513
1512
|
) })
|
|
1514
1513
|
] })
|
|
@@ -1519,28 +1518,28 @@ function lr() {
|
|
|
1519
1518
|
}
|
|
1520
1519
|
);
|
|
1521
1520
|
}
|
|
1522
|
-
function
|
|
1523
|
-
const { widgetCtx: e } =
|
|
1521
|
+
function mr() {
|
|
1522
|
+
const { widgetCtx: e } = Y(), { router: r } = S(), { canCreateNewSession: t } = q(), { toSessionsScreen: n } = H(), { t: s } = Z();
|
|
1524
1523
|
return /* @__PURE__ */ o("div", { className: "p-2", children: /* @__PURE__ */ c("div", { className: "p-2 bg-muted rounded-3xl space-y-2", children: [
|
|
1525
|
-
/* @__PURE__ */ c("div", { className: "
|
|
1526
|
-
/* @__PURE__ */ o(
|
|
1527
|
-
/* @__PURE__ */ o("h2", { className: "text-sm font-medium",
|
|
1524
|
+
/* @__PURE__ */ c("div", { className: "ps-2 flex items-center gap-1", children: [
|
|
1525
|
+
/* @__PURE__ */ o(gt, { className: "size-4 text-emerald-600" }),
|
|
1526
|
+
/* @__PURE__ */ o("h2", { className: "text-sm font-medium", children: s("session-closed-lead") })
|
|
1528
1527
|
] }),
|
|
1529
|
-
/* @__PURE__ */ o("div", { children:
|
|
1528
|
+
/* @__PURE__ */ o("div", { children: t || r != null && r.chatScreenOnly ? /* @__PURE__ */ o(
|
|
1530
1529
|
z,
|
|
1531
1530
|
{
|
|
1532
1531
|
onClick: e.resetChat,
|
|
1533
1532
|
className: "rounded-2xl w-full",
|
|
1534
|
-
children: s
|
|
1533
|
+
children: s("new-conversation")
|
|
1535
1534
|
}
|
|
1536
|
-
) : /* @__PURE__ */ o(z, { onClick: n, className: "rounded-2xl w-full", children: s
|
|
1535
|
+
) : /* @__PURE__ */ o(z, { onClick: n, className: "rounded-2xl w-full", children: s("back-to-conversations") }) })
|
|
1537
1536
|
] }) });
|
|
1538
1537
|
}
|
|
1539
|
-
function
|
|
1540
|
-
var
|
|
1541
|
-
const { initialQuestions: e, initialQuestionsPosition:
|
|
1542
|
-
return /* @__PURE__ */ o("footer", { children: /* @__PURE__ */ o("div", { children: /* @__PURE__ */ o(T, { mode: "wait", children: n.session && !((
|
|
1543
|
-
|
|
1538
|
+
function wr() {
|
|
1539
|
+
var i;
|
|
1540
|
+
const { initialQuestions: e, initialQuestionsPosition: r, thisWasHelpfulOrNot: t } = S(), { sessionState: n } = q(), { messagesState: s } = U(), a = s.messages.length === 0;
|
|
1541
|
+
return /* @__PURE__ */ o("footer", { children: /* @__PURE__ */ o("div", { children: /* @__PURE__ */ o(T, { mode: "wait", children: n.session && !((i = n.session) != null && i.isOpened) ? /* @__PURE__ */ o(
|
|
1542
|
+
f,
|
|
1544
1543
|
{
|
|
1545
1544
|
className: "overflow-hidden",
|
|
1546
1545
|
overrides: {
|
|
@@ -1548,11 +1547,11 @@ function dr() {
|
|
|
1548
1547
|
animate: { height: "auto" },
|
|
1549
1548
|
exit: { height: 0 }
|
|
1550
1549
|
},
|
|
1551
|
-
children: /* @__PURE__ */ o(
|
|
1550
|
+
children: /* @__PURE__ */ o(mr, {})
|
|
1552
1551
|
},
|
|
1553
1552
|
"session-closed"
|
|
1554
1553
|
) : /* @__PURE__ */ c(
|
|
1555
|
-
|
|
1554
|
+
f,
|
|
1556
1555
|
{
|
|
1557
1556
|
className: "overflow-hidden",
|
|
1558
1557
|
overrides: {
|
|
@@ -1561,38 +1560,38 @@ function dr() {
|
|
|
1561
1560
|
exit: { height: 0 }
|
|
1562
1561
|
},
|
|
1563
1562
|
children: [
|
|
1564
|
-
s.lastAIResMightSolveUserIssue && (
|
|
1565
|
-
a && e &&
|
|
1563
|
+
s.lastAIResMightSolveUserIssue && (t == null ? void 0 : t.enabled) !== !1 && /* @__PURE__ */ o(dr, {}),
|
|
1564
|
+
a && e && r !== "below-initial-messages" && /* @__PURE__ */ o("div", { className: "flex items-center flex-row justify-end gap-2 flex-wrap px-2", children: e == null ? void 0 : e.map((l, p) => /* @__PURE__ */ o(
|
|
1566
1565
|
_e,
|
|
1567
1566
|
{
|
|
1568
|
-
suggestion:
|
|
1567
|
+
suggestion: l
|
|
1569
1568
|
},
|
|
1570
|
-
`${
|
|
1569
|
+
`${l}-${p}`
|
|
1571
1570
|
)) }),
|
|
1572
|
-
/* @__PURE__ */ o(
|
|
1571
|
+
/* @__PURE__ */ o(hr, {})
|
|
1573
1572
|
]
|
|
1574
1573
|
},
|
|
1575
1574
|
"chat-input"
|
|
1576
1575
|
) }) }) });
|
|
1577
1576
|
}
|
|
1578
|
-
function
|
|
1577
|
+
function gr({
|
|
1579
1578
|
isFirstInGroup: e,
|
|
1580
|
-
isLastInGroup:
|
|
1581
|
-
isAloneInGroup:
|
|
1579
|
+
isLastInGroup: r,
|
|
1580
|
+
isAloneInGroup: t,
|
|
1582
1581
|
...n
|
|
1583
1582
|
}) {
|
|
1584
|
-
const { componentStore: s } =
|
|
1583
|
+
const { componentStore: s } = Y();
|
|
1585
1584
|
if (n.data.action) {
|
|
1586
|
-
const
|
|
1587
|
-
if (
|
|
1585
|
+
const i = s.getComponent(n.data.action.name);
|
|
1586
|
+
if (i)
|
|
1588
1587
|
return /* @__PURE__ */ o(
|
|
1589
|
-
|
|
1588
|
+
i,
|
|
1590
1589
|
{
|
|
1591
1590
|
...n,
|
|
1592
1591
|
id: n.id,
|
|
1593
1592
|
isFirstInGroup: e,
|
|
1594
|
-
isLastInGroup:
|
|
1595
|
-
isAloneInGroup:
|
|
1593
|
+
isLastInGroup: r,
|
|
1594
|
+
isAloneInGroup: t
|
|
1596
1595
|
}
|
|
1597
1596
|
);
|
|
1598
1597
|
}
|
|
@@ -1603,23 +1602,23 @@ function pr({
|
|
|
1603
1602
|
...n,
|
|
1604
1603
|
id: n.id,
|
|
1605
1604
|
isFirstInGroup: e,
|
|
1606
|
-
isLastInGroup:
|
|
1607
|
-
isAloneInGroup:
|
|
1605
|
+
isLastInGroup: r,
|
|
1606
|
+
isAloneInGroup: t
|
|
1608
1607
|
}
|
|
1609
1608
|
) : /* @__PURE__ */ o(
|
|
1610
1609
|
ae,
|
|
1611
1610
|
{
|
|
1612
1611
|
...n,
|
|
1613
1612
|
isFirstInGroup: e,
|
|
1614
|
-
isLastInGroup:
|
|
1615
|
-
isAloneInGroup:
|
|
1613
|
+
isLastInGroup: r,
|
|
1614
|
+
isAloneInGroup: t
|
|
1616
1615
|
}
|
|
1617
1616
|
);
|
|
1618
1617
|
}
|
|
1619
1618
|
function we({
|
|
1620
1619
|
messages: e,
|
|
1621
|
-
agent:
|
|
1622
|
-
suggestedReplies:
|
|
1620
|
+
agent: r,
|
|
1621
|
+
suggestedReplies: t
|
|
1623
1622
|
}) {
|
|
1624
1623
|
return /* @__PURE__ */ c(
|
|
1625
1624
|
"div",
|
|
@@ -1627,11 +1626,11 @@ function we({
|
|
|
1627
1626
|
...w("chat/agent_msg_group/root"),
|
|
1628
1627
|
className: d("flex items-end gap-2"),
|
|
1629
1628
|
children: [
|
|
1630
|
-
/* @__PURE__ */ o(
|
|
1629
|
+
/* @__PURE__ */ o(Q, { content: r == null ? void 0 : r.name, side: "right", align: "end", children: /* @__PURE__ */ o(
|
|
1631
1630
|
ge,
|
|
1632
1631
|
{
|
|
1633
1632
|
...w("chat/agent_msg_group/root/avatar"),
|
|
1634
|
-
agent:
|
|
1633
|
+
agent: r,
|
|
1635
1634
|
className: "hidden"
|
|
1636
1635
|
}
|
|
1637
1636
|
) }),
|
|
@@ -1642,11 +1641,11 @@ function we({
|
|
|
1642
1641
|
...w("chat/agent_msg_group/avatar_and_msgs/root"),
|
|
1643
1642
|
className: d("flex items-end gap-2"),
|
|
1644
1643
|
children: [
|
|
1645
|
-
/* @__PURE__ */ o(
|
|
1644
|
+
/* @__PURE__ */ o(Q, { content: r == null ? void 0 : r.name, side: "right", align: "end", children: /* @__PURE__ */ o(
|
|
1646
1645
|
ge,
|
|
1647
1646
|
{
|
|
1648
1647
|
...w("chat/agent_msg_group/avatar_and_msgs/avatar"),
|
|
1649
|
-
agent:
|
|
1648
|
+
agent: r
|
|
1650
1649
|
}
|
|
1651
1650
|
) }),
|
|
1652
1651
|
/* @__PURE__ */ o(
|
|
@@ -1655,7 +1654,7 @@ function we({
|
|
|
1655
1654
|
...w("chat/agent_msg_group/avatar_and_msgs/msgs"),
|
|
1656
1655
|
className: d("flex-1 flex flex-col gap-1"),
|
|
1657
1656
|
children: e.map((n, s, a) => /* @__PURE__ */ o(
|
|
1658
|
-
|
|
1657
|
+
gr,
|
|
1659
1658
|
{
|
|
1660
1659
|
isFirstInGroup: s === 0,
|
|
1661
1660
|
isLastInGroup: s === a.length - 1,
|
|
@@ -1669,12 +1668,12 @@ function we({
|
|
|
1669
1668
|
]
|
|
1670
1669
|
}
|
|
1671
1670
|
),
|
|
1672
|
-
|
|
1671
|
+
t && t.length > 0 && /* @__PURE__ */ o(
|
|
1673
1672
|
"div",
|
|
1674
1673
|
{
|
|
1675
1674
|
...w("chat/agent_msg_group/suggestions"),
|
|
1676
|
-
className: d("flex flex-col gap-1
|
|
1677
|
-
children:
|
|
1675
|
+
className: d("flex flex-col gap-1 ps-8"),
|
|
1676
|
+
children: t == null ? void 0 : t.map((n, s) => /* @__PURE__ */ o(
|
|
1678
1677
|
_e,
|
|
1679
1678
|
{
|
|
1680
1679
|
suggestion: n
|
|
@@ -1688,10 +1687,10 @@ function we({
|
|
|
1688
1687
|
}
|
|
1689
1688
|
);
|
|
1690
1689
|
}
|
|
1691
|
-
function
|
|
1690
|
+
function ur({
|
|
1692
1691
|
message: e,
|
|
1693
|
-
isFirstInGroup:
|
|
1694
|
-
isLastInGroup:
|
|
1692
|
+
isFirstInGroup: r,
|
|
1693
|
+
isLastInGroup: t,
|
|
1695
1694
|
isAloneInGroup: n
|
|
1696
1695
|
}) {
|
|
1697
1696
|
var s;
|
|
@@ -1701,13 +1700,13 @@ function hr({
|
|
|
1701
1700
|
...w("chat/user_msg/root"),
|
|
1702
1701
|
className: "w-5/6 flex flex-col items-end gap-1",
|
|
1703
1702
|
children: [
|
|
1704
|
-
e.attachments && e.attachments.length > 0 && /* @__PURE__ */ o("div", { className: "w-full flex gap-1 flex-wrap justify-end", children: (s = e.attachments) == null ? void 0 : s.map((a) => /* @__PURE__ */ o(
|
|
1703
|
+
e.attachments && e.attachments.length > 0 && /* @__PURE__ */ o("div", { className: "w-full flex gap-1 flex-wrap justify-end", children: (s = e.attachments) == null ? void 0 : s.map((a) => /* @__PURE__ */ o(Nt, { attachment: a }, a.id)) }),
|
|
1705
1704
|
e.content.length > 0 && /* @__PURE__ */ o(
|
|
1706
1705
|
"div",
|
|
1707
1706
|
{
|
|
1708
1707
|
...w("chat/user_msg/msg"),
|
|
1709
|
-
"data-first":
|
|
1710
|
-
"data-last":
|
|
1708
|
+
"data-first": r,
|
|
1709
|
+
"data-last": t,
|
|
1711
1710
|
"data-alone": n,
|
|
1712
1711
|
className: d(
|
|
1713
1712
|
"transition-all",
|
|
@@ -1717,9 +1716,9 @@ function hr({
|
|
|
1717
1716
|
// `[word-break:break-word]` is deprecated but works in the browser, while `break-words` which is `[overflow-wrap: break-word]` does not work
|
|
1718
1717
|
"whitespace-pre-wrap",
|
|
1719
1718
|
// We're using the booleans directly here, not the data attributes, to make any external styling more specific than this
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
!
|
|
1719
|
+
r && !n && "rounded-br-md",
|
|
1720
|
+
t && !n && "rounded-tr-md",
|
|
1721
|
+
!r && !t && !n && "rounded-r-md"
|
|
1723
1722
|
),
|
|
1724
1723
|
children: e.content
|
|
1725
1724
|
}
|
|
@@ -1728,7 +1727,7 @@ function hr({
|
|
|
1728
1727
|
}
|
|
1729
1728
|
);
|
|
1730
1729
|
}
|
|
1731
|
-
function
|
|
1730
|
+
function fr({
|
|
1732
1731
|
messages: e
|
|
1733
1732
|
}) {
|
|
1734
1733
|
return /* @__PURE__ */ o(
|
|
@@ -1736,70 +1735,70 @@ function mr({
|
|
|
1736
1735
|
{
|
|
1737
1736
|
...w("chat/user_msg_group/root"),
|
|
1738
1737
|
className: d("group", "flex flex-col gap-1 justify-end items-end"),
|
|
1739
|
-
children: e.map((
|
|
1740
|
-
|
|
1738
|
+
children: e.map((r, t, n) => /* @__PURE__ */ o(
|
|
1739
|
+
ur,
|
|
1741
1740
|
{
|
|
1742
|
-
message:
|
|
1743
|
-
isFirstInGroup:
|
|
1744
|
-
isLastInGroup:
|
|
1741
|
+
message: r,
|
|
1742
|
+
isFirstInGroup: t === 0,
|
|
1743
|
+
isLastInGroup: t === n.length - 1,
|
|
1745
1744
|
isAloneInGroup: n.length === 1
|
|
1746
1745
|
},
|
|
1747
|
-
|
|
1746
|
+
r.id
|
|
1748
1747
|
))
|
|
1749
1748
|
}
|
|
1750
1749
|
);
|
|
1751
1750
|
}
|
|
1752
|
-
function
|
|
1753
|
-
const
|
|
1754
|
-
let
|
|
1751
|
+
function vr(e) {
|
|
1752
|
+
const r = [];
|
|
1753
|
+
let t = null;
|
|
1755
1754
|
return e.forEach((n) => {
|
|
1756
|
-
var s, a,
|
|
1757
|
-
(!
|
|
1758
|
-
}),
|
|
1755
|
+
var s, a, i, l;
|
|
1756
|
+
(!t || ((s = t[0]) == null ? void 0 : s.type) !== n.type) && (t = [], r.push(t)), ((a = t[0]) == null ? void 0 : a.type) === "FROM_AGENT" && n.type === "FROM_AGENT" && ((i = n.agent) == null ? void 0 : i.id) !== ((l = t[0].agent) == null ? void 0 : l.id) && (t = [], r.push(t)), t.push(n);
|
|
1757
|
+
}), r;
|
|
1759
1758
|
}
|
|
1760
|
-
function
|
|
1761
|
-
var
|
|
1762
|
-
return ((
|
|
1759
|
+
function br(e) {
|
|
1760
|
+
var r;
|
|
1761
|
+
return ((r = e == null ? void 0 : e[0]) == null ? void 0 : r.type) === "FROM_USER";
|
|
1763
1762
|
}
|
|
1764
|
-
function
|
|
1765
|
-
var
|
|
1766
|
-
return ((
|
|
1763
|
+
function xr(e) {
|
|
1764
|
+
var r;
|
|
1765
|
+
return ((r = e == null ? void 0 : e[0]) == null ? void 0 : r.type) === "FROM_BOT";
|
|
1767
1766
|
}
|
|
1768
|
-
function
|
|
1769
|
-
var
|
|
1770
|
-
return ((
|
|
1767
|
+
function yr(e) {
|
|
1768
|
+
var r;
|
|
1769
|
+
return ((r = e == null ? void 0 : e[0]) == null ? void 0 : r.type) === "FROM_AGENT";
|
|
1771
1770
|
}
|
|
1772
|
-
function
|
|
1771
|
+
function kr() {
|
|
1773
1772
|
const {
|
|
1774
1773
|
messagesState: { messages: e }
|
|
1775
|
-
} =
|
|
1776
|
-
() =>
|
|
1774
|
+
} = U(), { isAwaitingBotReply: r } = ht(), { componentStore: t } = Y(), n = S(), { initialQuestions: s, initialQuestionsPosition: a } = n, i = dt(
|
|
1775
|
+
() => vr(e),
|
|
1777
1776
|
[e]
|
|
1778
|
-
),
|
|
1777
|
+
), l = n.persistentInitialMessages || [], p = (() => {
|
|
1779
1778
|
var h;
|
|
1780
1779
|
return e.length ? ((h = n.advancedInitialMessages) == null ? void 0 : h.filter((m) => !!m.persistent)) || [] : n.advancedInitialMessages || [];
|
|
1781
|
-
})(),
|
|
1780
|
+
})(), g = (() => {
|
|
1782
1781
|
var h;
|
|
1783
1782
|
return p.length ? [] : e.length ? [] : (h = n.initialMessages) != null && h.length ? n.initialMessages : ["Hello, how can I help you?"];
|
|
1784
|
-
})(),
|
|
1783
|
+
})(), x = t.getComponent(
|
|
1785
1784
|
"loading"
|
|
1786
|
-
),
|
|
1787
|
-
function
|
|
1785
|
+
), y = ce(null);
|
|
1786
|
+
function v() {
|
|
1788
1787
|
setTimeout(() => {
|
|
1789
|
-
const h =
|
|
1788
|
+
const h = y.current;
|
|
1790
1789
|
h && (h.scrollTop = h.scrollHeight);
|
|
1791
1790
|
}, 0);
|
|
1792
1791
|
}
|
|
1793
1792
|
return le(() => {
|
|
1794
|
-
|
|
1793
|
+
v();
|
|
1795
1794
|
}, [e]), /* @__PURE__ */ c(
|
|
1796
1795
|
"div",
|
|
1797
1796
|
{
|
|
1798
1797
|
...w("chat/msgs/root"),
|
|
1799
|
-
ref:
|
|
1798
|
+
ref: y,
|
|
1800
1799
|
className: "max-h-full scroll-smooth relative flex-1 py-2 px-4 flex flex-col gap-2 overflow-auto",
|
|
1801
1800
|
children: [
|
|
1802
|
-
/* @__PURE__ */ o("div", { ...w("chat/persistent_initial_msgs/root"), children:
|
|
1801
|
+
/* @__PURE__ */ o("div", { ...w("chat/persistent_initial_msgs/root"), children: l.map((h, m, u) => /* @__PURE__ */ o(
|
|
1803
1802
|
ae,
|
|
1804
1803
|
{
|
|
1805
1804
|
component: "bot_message",
|
|
@@ -1818,8 +1817,8 @@ function vr() {
|
|
|
1818
1817
|
message: "w-full bg-transparent border-none shadow-none text-xs"
|
|
1819
1818
|
},
|
|
1820
1819
|
isFirstInGroup: m === 0,
|
|
1821
|
-
isLastInGroup: m ===
|
|
1822
|
-
isAloneInGroup:
|
|
1820
|
+
isLastInGroup: m === u.length - 1,
|
|
1821
|
+
isAloneInGroup: u.length === 1
|
|
1823
1822
|
},
|
|
1824
1823
|
`${h}-${m}`
|
|
1825
1824
|
)) }),
|
|
@@ -1839,10 +1838,10 @@ function vr() {
|
|
|
1839
1838
|
agent: n.bot ? { ...n.bot, isAi: !0, id: null } : void 0
|
|
1840
1839
|
}
|
|
1841
1840
|
),
|
|
1842
|
-
e.length === 0 &&
|
|
1841
|
+
e.length === 0 && g.length > 0 && /* @__PURE__ */ o(
|
|
1843
1842
|
we,
|
|
1844
1843
|
{
|
|
1845
|
-
messages:
|
|
1844
|
+
messages: g.map(
|
|
1846
1845
|
(h, m) => ({
|
|
1847
1846
|
component: "bot_message",
|
|
1848
1847
|
data: { message: h },
|
|
@@ -1855,13 +1854,13 @@ function vr() {
|
|
|
1855
1854
|
agent: n.bot ? { ...n.bot, isAi: !0, id: null } : void 0
|
|
1856
1855
|
}
|
|
1857
1856
|
),
|
|
1858
|
-
|
|
1859
|
-
var _,
|
|
1860
|
-
const m = (_ = h == null ? void 0 : h[0]) == null ? void 0 : _.type,
|
|
1861
|
-
if (!m || !
|
|
1862
|
-
if (
|
|
1863
|
-
return /* @__PURE__ */ o(
|
|
1864
|
-
if (
|
|
1857
|
+
i.map((h) => {
|
|
1858
|
+
var _, k, I;
|
|
1859
|
+
const m = (_ = h == null ? void 0 : h[0]) == null ? void 0 : _.type, u = (k = h[0]) == null ? void 0 : k.id;
|
|
1860
|
+
if (!m || !u) return null;
|
|
1861
|
+
if (br(h))
|
|
1862
|
+
return /* @__PURE__ */ o(fr, { messages: h }, u);
|
|
1863
|
+
if (xr(h) || yr(h)) {
|
|
1865
1864
|
const M = (I = h[0]) == null ? void 0 : I.agent;
|
|
1866
1865
|
return /* @__PURE__ */ o(
|
|
1867
1866
|
we,
|
|
@@ -1869,27 +1868,27 @@ function vr() {
|
|
|
1869
1868
|
messages: h,
|
|
1870
1869
|
agent: M
|
|
1871
1870
|
},
|
|
1872
|
-
|
|
1871
|
+
u
|
|
1873
1872
|
);
|
|
1874
1873
|
}
|
|
1875
1874
|
return null;
|
|
1876
1875
|
}),
|
|
1877
|
-
|
|
1876
|
+
r && x && /* @__PURE__ */ o(x, { agent: n.bot })
|
|
1878
1877
|
]
|
|
1879
1878
|
}
|
|
1880
1879
|
);
|
|
1881
1880
|
}
|
|
1882
|
-
function
|
|
1881
|
+
function Cr() {
|
|
1883
1882
|
const {
|
|
1884
1883
|
messagesState: { isInitialFetchLoading: e }
|
|
1885
|
-
} =
|
|
1886
|
-
sessionState: { session:
|
|
1887
|
-
} =
|
|
1884
|
+
} = U(), {
|
|
1885
|
+
sessionState: { session: r }
|
|
1886
|
+
} = q(), { isCanvasOpen: t } = Zo(), { theme: n } = X();
|
|
1888
1887
|
Ne({
|
|
1889
|
-
width:
|
|
1890
|
-
height:
|
|
1888
|
+
width: t ? n.screens.chat.withCanvas.width : n.screens.chat.width,
|
|
1889
|
+
height: t ? n.screens.chat.withCanvas.height : n.screens.chat.height
|
|
1891
1890
|
});
|
|
1892
|
-
const s = ce((
|
|
1891
|
+
const s = ce((r == null ? void 0 : r.id) || "chat").current;
|
|
1893
1892
|
return /* @__PURE__ */ o(
|
|
1894
1893
|
"div",
|
|
1895
1894
|
{
|
|
@@ -1906,16 +1905,16 @@ function br() {
|
|
|
1906
1905
|
// Relative to the iframe
|
|
1907
1906
|
},
|
|
1908
1907
|
children: /* @__PURE__ */ c("div", { className: "size-full justify-between flex flex-col", children: [
|
|
1909
|
-
/* @__PURE__ */ o(
|
|
1908
|
+
/* @__PURE__ */ o(Ot, {}),
|
|
1910
1909
|
/* @__PURE__ */ o(T, { mode: "wait", children: e ? /* @__PURE__ */ o(
|
|
1911
|
-
|
|
1910
|
+
f,
|
|
1912
1911
|
{
|
|
1913
1912
|
className: "flex flex-col items-center justify-center w-full flex-1",
|
|
1914
|
-
children: /* @__PURE__ */ o(
|
|
1913
|
+
children: /* @__PURE__ */ o(jt, {})
|
|
1915
1914
|
},
|
|
1916
1915
|
"loading"
|
|
1917
1916
|
) : /* @__PURE__ */ c(
|
|
1918
|
-
|
|
1917
|
+
f,
|
|
1919
1918
|
{
|
|
1920
1919
|
className: "flex items-start h-full flex-1 overflow-auto",
|
|
1921
1920
|
snapExit: !0,
|
|
@@ -1926,15 +1925,15 @@ function br() {
|
|
|
1926
1925
|
...w("chat/main/root"),
|
|
1927
1926
|
className: d(
|
|
1928
1927
|
"flex flex-col h-full overflow-auto transition-all",
|
|
1929
|
-
|
|
1928
|
+
t ? "w-2/5" : "w-full"
|
|
1930
1929
|
),
|
|
1931
1930
|
style: {
|
|
1932
1931
|
transitionTimingFunction: n.screens.chat.withCanvas.transitionTimingFunction,
|
|
1933
1932
|
transitionDuration: n.screens.chat.withCanvas.transitionDuration
|
|
1934
1933
|
},
|
|
1935
1934
|
children: [
|
|
1936
|
-
/* @__PURE__ */ o(
|
|
1937
|
-
/* @__PURE__ */ o(
|
|
1935
|
+
/* @__PURE__ */ o(kr, {}),
|
|
1936
|
+
/* @__PURE__ */ o(wr, {})
|
|
1938
1937
|
]
|
|
1939
1938
|
}
|
|
1940
1939
|
),
|
|
@@ -1944,13 +1943,13 @@ function br() {
|
|
|
1944
1943
|
...w("chat/canvas/root"),
|
|
1945
1944
|
className: d(
|
|
1946
1945
|
"h-full overflow-auto transition-all",
|
|
1947
|
-
|
|
1946
|
+
t ? "w-3/5" : "w-0"
|
|
1948
1947
|
),
|
|
1949
1948
|
style: {
|
|
1950
1949
|
transitionTimingFunction: n.screens.chat.withCanvas.transitionTimingFunction,
|
|
1951
1950
|
transitionDuration: n.screens.chat.withCanvas.transitionDuration
|
|
1952
1951
|
},
|
|
1953
|
-
children: /* @__PURE__ */ o(
|
|
1952
|
+
children: /* @__PURE__ */ o(Jo, {})
|
|
1954
1953
|
}
|
|
1955
1954
|
)
|
|
1956
1955
|
]
|
|
@@ -1961,7 +1960,7 @@ function br() {
|
|
|
1961
1960
|
}
|
|
1962
1961
|
);
|
|
1963
1962
|
}
|
|
1964
|
-
function
|
|
1963
|
+
function zr({ className: e }) {
|
|
1965
1964
|
return /* @__PURE__ */ o(
|
|
1966
1965
|
"svg",
|
|
1967
1966
|
{
|
|
@@ -1981,8 +1980,8 @@ function xr({ className: e }) {
|
|
|
1981
1980
|
}
|
|
1982
1981
|
);
|
|
1983
1982
|
}
|
|
1984
|
-
function
|
|
1985
|
-
const { token:
|
|
1983
|
+
function Ft({ className: e }) {
|
|
1984
|
+
const { token: r } = S();
|
|
1986
1985
|
return /* @__PURE__ */ o(
|
|
1987
1986
|
"div",
|
|
1988
1987
|
{
|
|
@@ -1990,10 +1989,10 @@ function Ot({ className: e }) {
|
|
|
1990
1989
|
"flex items-center justify-center gap-2 p-2 pt-0",
|
|
1991
1990
|
e
|
|
1992
1991
|
),
|
|
1993
|
-
children: /* @__PURE__ */ o(
|
|
1992
|
+
children: /* @__PURE__ */ o(W, { children: /* @__PURE__ */ c(
|
|
1994
1993
|
"a",
|
|
1995
1994
|
{
|
|
1996
|
-
href: `https://open.cx/?ref=${
|
|
1995
|
+
href: `https://open.cx/?ref=${r}`,
|
|
1997
1996
|
target: "_blank",
|
|
1998
1997
|
rel: "noreferrer",
|
|
1999
1998
|
className: d(
|
|
@@ -2005,7 +2004,7 @@ function Ot({ className: e }) {
|
|
|
2005
2004
|
/* @__PURE__ */ o("span", { children: "Powered by" }),
|
|
2006
2005
|
/* @__PURE__ */ o("span", { children: " " }),
|
|
2007
2006
|
/* @__PURE__ */ c("span", { className: "flex items-center gap-[1px]", children: [
|
|
2008
|
-
/* @__PURE__ */ o("span", { children: /* @__PURE__ */ o(
|
|
2007
|
+
/* @__PURE__ */ o("span", { children: /* @__PURE__ */ o(zr, { className: "size-3 inline-block" }) }),
|
|
2009
2008
|
/* @__PURE__ */ o("span", { className: "font-semibold", children: "open" })
|
|
2010
2009
|
] })
|
|
2011
2010
|
]
|
|
@@ -2014,130 +2013,130 @@ function Ot({ className: e }) {
|
|
|
2014
2013
|
}
|
|
2015
2014
|
);
|
|
2016
2015
|
}
|
|
2017
|
-
function
|
|
2018
|
-
return /* @__PURE__ */ o("p", { className: "
|
|
2016
|
+
function Nr({ children: e }) {
|
|
2017
|
+
return /* @__PURE__ */ o("p", { className: "ps-4 text-xs text-muted-foreground/75 uppercase font-semibold tracking-tight", children: e });
|
|
2019
2018
|
}
|
|
2020
|
-
function
|
|
2019
|
+
function it({
|
|
2021
2020
|
session: e,
|
|
2022
|
-
className:
|
|
2021
|
+
className: r
|
|
2023
2022
|
}) {
|
|
2024
|
-
const { bot:
|
|
2023
|
+
const { bot: t } = S(), { toChatScreen: n } = H(), s = e.assignee.kind === "human" ? e.assignee.name || "Support Agent" : (t == null ? void 0 : t.name) || "AI Support Agent", a = e.assignee.kind === "human" ? e.assignee.avatarUrl || "" : (t == null ? void 0 : t.avatar) || "";
|
|
2025
2024
|
return /* @__PURE__ */ c(
|
|
2026
2025
|
z,
|
|
2027
2026
|
{
|
|
2028
2027
|
variant: "ghost",
|
|
2029
2028
|
size: "lg",
|
|
2030
2029
|
className: d(
|
|
2031
|
-
"rounded-full p-2
|
|
2032
|
-
|
|
2030
|
+
"rounded-full p-2 pe-4 flex text-start justify-between w-full whitespace-normal",
|
|
2031
|
+
r
|
|
2033
2032
|
),
|
|
2034
2033
|
onClick: () => n(e.id),
|
|
2035
2034
|
children: [
|
|
2036
2035
|
/* @__PURE__ */ c("div", { className: "flex-1 flex gap-2 items-center", children: [
|
|
2037
|
-
/* @__PURE__ */ o(T, { mode: "wait", children: /* @__PURE__ */ o(
|
|
2036
|
+
/* @__PURE__ */ o(T, { mode: "wait", children: /* @__PURE__ */ o(f, { snapExit: !0, children: /* @__PURE__ */ c(ke, { className: "size-10", children: [
|
|
2038
2037
|
/* @__PURE__ */ o(Ce, { src: a, alt: "Agent Icon" }),
|
|
2039
|
-
/* @__PURE__ */ o(ze, { children: /* @__PURE__ */ o(
|
|
2038
|
+
/* @__PURE__ */ o(ze, { children: /* @__PURE__ */ o(vo, { className: "size-4" }) })
|
|
2040
2039
|
] }) }) }),
|
|
2041
2040
|
/* @__PURE__ */ c("div", { className: "flex-1", children: [
|
|
2042
|
-
/* @__PURE__ */ o(T, { mode: "wait", children: /* @__PURE__ */ o(
|
|
2043
|
-
/* @__PURE__ */ o(T, { mode: "wait", children: e.lastMessage ? /* @__PURE__ */ o(
|
|
2044
|
-
|
|
2041
|
+
/* @__PURE__ */ o(T, { mode: "wait", children: /* @__PURE__ */ o(f, { snapExit: !0, children: s }, s) }),
|
|
2042
|
+
/* @__PURE__ */ o(T, { mode: "wait", children: e.lastMessage ? /* @__PURE__ */ o(f, { snapExit: !0, children: /* @__PURE__ */ o(
|
|
2043
|
+
St,
|
|
2045
2044
|
{
|
|
2046
|
-
remarkPlugins: [
|
|
2047
|
-
rehypePlugins: [
|
|
2045
|
+
remarkPlugins: [wt],
|
|
2046
|
+
rehypePlugins: [mt],
|
|
2048
2047
|
className: "line-clamp-1 overflow-hidden text-ellipsis text-xs text-muted-foreground",
|
|
2049
2048
|
children: e.lastMessage
|
|
2050
2049
|
}
|
|
2051
|
-
) }, e.lastMessage || "content") : /* @__PURE__ */ o(
|
|
2050
|
+
) }, e.lastMessage || "content") : /* @__PURE__ */ o(f, { className: "w-1/2", snapExit: !0, children: /* @__PURE__ */ o(Dt, { className: "h-4 w-full" }) }, "skeleton") })
|
|
2052
2051
|
] })
|
|
2053
2052
|
] }),
|
|
2054
|
-
/* @__PURE__ */ o(
|
|
2053
|
+
/* @__PURE__ */ o(bo, { className: "size-4 text-muted-foreground shrink-0 rtl:-scale-100" })
|
|
2055
2054
|
]
|
|
2056
2055
|
}
|
|
2057
2056
|
);
|
|
2058
2057
|
}
|
|
2059
|
-
function
|
|
2060
|
-
const e =
|
|
2061
|
-
sessionsState: { data:
|
|
2058
|
+
function Sr() {
|
|
2059
|
+
const { t: e } = Z(), { toChatScreen: r } = H(), {
|
|
2060
|
+
sessionsState: { data: t, isInitialFetchLoading: n },
|
|
2062
2061
|
openSessions: s,
|
|
2063
2062
|
closedSessions: a,
|
|
2064
|
-
canCreateNewSession:
|
|
2065
|
-
} =
|
|
2063
|
+
canCreateNewSession: i
|
|
2064
|
+
} = q();
|
|
2066
2065
|
return /* @__PURE__ */ o("div", { className: "flex-1 flex flex-col overflow-scroll py-2 px-2", children: /* @__PURE__ */ o(T, { mode: "wait", children: n ? /* @__PURE__ */ o(
|
|
2067
|
-
|
|
2066
|
+
f,
|
|
2068
2067
|
{
|
|
2069
2068
|
className: "flex-1 flex items-center justify-center",
|
|
2070
|
-
children: /* @__PURE__ */ o(
|
|
2069
|
+
children: /* @__PURE__ */ o(jt, {})
|
|
2071
2070
|
},
|
|
2072
2071
|
"loading"
|
|
2073
2072
|
) : /* @__PURE__ */ o(
|
|
2074
|
-
|
|
2073
|
+
f,
|
|
2075
2074
|
{
|
|
2076
2075
|
className: "flex-1 flex flex-col gap-2 relative",
|
|
2077
|
-
children:
|
|
2076
|
+
children: t.length ? /* @__PURE__ */ c(lt, { children: [
|
|
2078
2077
|
/* @__PURE__ */ c(T, { children: [
|
|
2079
2078
|
s.length > 0 && /* @__PURE__ */ o(
|
|
2080
|
-
|
|
2079
|
+
f,
|
|
2081
2080
|
{
|
|
2082
2081
|
fadeIn: "up",
|
|
2083
2082
|
delay: 0.2,
|
|
2084
2083
|
className: "space-y-2",
|
|
2085
2084
|
snapExit: !0,
|
|
2086
|
-
children: s.map((
|
|
2085
|
+
children: s.map((l) => /* @__PURE__ */ o(it, { session: l }, l.id))
|
|
2087
2086
|
},
|
|
2088
2087
|
"open-sessions"
|
|
2089
2088
|
),
|
|
2090
2089
|
a.length > 0 && /* @__PURE__ */ c(
|
|
2091
|
-
|
|
2090
|
+
f,
|
|
2092
2091
|
{
|
|
2093
2092
|
className: "space-y-2",
|
|
2094
2093
|
delay: 0.2,
|
|
2095
2094
|
snapExit: !0,
|
|
2096
2095
|
children: [
|
|
2097
|
-
/* @__PURE__ */ o(
|
|
2098
|
-
a.map((
|
|
2099
|
-
|
|
2096
|
+
/* @__PURE__ */ o(Nr, { children: e("closed-conversations") }),
|
|
2097
|
+
a.map((l) => /* @__PURE__ */ o(
|
|
2098
|
+
it,
|
|
2100
2099
|
{
|
|
2101
|
-
session:
|
|
2100
|
+
session: l,
|
|
2102
2101
|
className: "opacity-50 hover:opacity-100"
|
|
2103
2102
|
},
|
|
2104
|
-
|
|
2103
|
+
l.id
|
|
2105
2104
|
))
|
|
2106
2105
|
]
|
|
2107
2106
|
},
|
|
2108
2107
|
"closed-sessions"
|
|
2109
2108
|
)
|
|
2110
2109
|
] }),
|
|
2111
|
-
|
|
2110
|
+
i && /* @__PURE__ */ o("div", { className: "mt-auto w-full rounded-3xl sticky bottom-0 outline outline-8 outline-background bg-background", children: /* @__PURE__ */ rt(
|
|
2112
2111
|
z,
|
|
2113
2112
|
{
|
|
2114
2113
|
...w("sessions/new_conversation_btn"),
|
|
2115
2114
|
size: "lg",
|
|
2116
2115
|
key: "new-session",
|
|
2117
2116
|
className: "w-full",
|
|
2118
|
-
onClick: () =>
|
|
2117
|
+
onClick: () => r()
|
|
2119
2118
|
},
|
|
2120
|
-
e
|
|
2119
|
+
e("new-conversation")
|
|
2121
2120
|
) })
|
|
2122
2121
|
] }) : /* @__PURE__ */ c("div", { className: "flex-1 flex flex-col gap-2 items-center", children: [
|
|
2123
|
-
/* @__PURE__ */ o("div", { className: "flex-1 flex items-center justify-center", children: /* @__PURE__ */ o("p", { className: "text-muted-foreground", children: e
|
|
2124
|
-
/* @__PURE__ */
|
|
2122
|
+
/* @__PURE__ */ o("div", { className: "flex-1 flex items-center justify-center", children: /* @__PURE__ */ o("p", { className: "text-muted-foreground", children: e("no-conversations-yet") }) }),
|
|
2123
|
+
/* @__PURE__ */ rt(
|
|
2125
2124
|
z,
|
|
2126
2125
|
{
|
|
2127
2126
|
...w("sessions/new_conversation_btn"),
|
|
2128
2127
|
size: "lg",
|
|
2129
2128
|
key: "new-session",
|
|
2130
2129
|
className: "w-full",
|
|
2131
|
-
onClick: () =>
|
|
2130
|
+
onClick: () => r()
|
|
2132
2131
|
},
|
|
2133
|
-
e
|
|
2132
|
+
e("new-conversation")
|
|
2134
2133
|
)
|
|
2135
2134
|
] })
|
|
2136
2135
|
},
|
|
2137
2136
|
"sessions"
|
|
2138
2137
|
) }) });
|
|
2139
2138
|
}
|
|
2140
|
-
function
|
|
2139
|
+
function _r() {
|
|
2141
2140
|
const { theme: e } = X();
|
|
2142
2141
|
return Ne({
|
|
2143
2142
|
width: e.screens.sessions.width,
|
|
@@ -2158,76 +2157,74 @@ function Cr() {
|
|
|
2158
2157
|
// Relative to the iframe
|
|
2159
2158
|
},
|
|
2160
2159
|
children: /* @__PURE__ */ c("div", { className: "size-full flex flex-col", children: [
|
|
2161
|
-
/* @__PURE__ */ o(
|
|
2162
|
-
/* @__PURE__ */ o(
|
|
2163
|
-
/* @__PURE__ */ o(
|
|
2160
|
+
/* @__PURE__ */ o(Ot, {}),
|
|
2161
|
+
/* @__PURE__ */ o(Sr, {}),
|
|
2162
|
+
/* @__PURE__ */ o(Ft, {})
|
|
2164
2163
|
] })
|
|
2165
2164
|
}
|
|
2166
2165
|
);
|
|
2167
2166
|
}
|
|
2168
2167
|
const ne = E.forwardRef(
|
|
2169
|
-
({ className: e, type:
|
|
2170
|
-
const { isSmallScreen: s } =
|
|
2171
|
-
return /* @__PURE__ */ o(
|
|
2168
|
+
({ className: e, type: r, ...t }, n) => {
|
|
2169
|
+
const { isSmallScreen: s } = A();
|
|
2170
|
+
return /* @__PURE__ */ o(W, { ref: n, children: /* @__PURE__ */ o(
|
|
2172
2171
|
"input",
|
|
2173
2172
|
{
|
|
2174
|
-
|
|
2175
|
-
type: t,
|
|
2173
|
+
type: r,
|
|
2176
2174
|
className: d(
|
|
2177
2175
|
// 16px on mobiles prevents auto-zoom on the input when focused
|
|
2178
2176
|
s ? "text-[16px]" : "text-sm",
|
|
2179
2177
|
"flex w-full rounded-xl p-2 ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-primary-foreground placeholder:text-muted-foreground/75 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition",
|
|
2180
|
-
"rtl:placeholder:text-right",
|
|
2181
2178
|
"rounded-2xl px-4",
|
|
2182
2179
|
"border shadow-sm",
|
|
2183
2180
|
e
|
|
2184
2181
|
),
|
|
2185
|
-
...
|
|
2182
|
+
...t
|
|
2186
2183
|
}
|
|
2187
2184
|
) });
|
|
2188
2185
|
}
|
|
2189
2186
|
);
|
|
2190
2187
|
ne.displayName = "Input";
|
|
2191
|
-
function
|
|
2192
|
-
const { contentIframeRef: e } =
|
|
2188
|
+
function Ir() {
|
|
2189
|
+
const { contentIframeRef: e } = Y(), { inline: r } = S(), t = ce(null);
|
|
2193
2190
|
return le(() => {
|
|
2194
2191
|
const n = e == null ? void 0 : e.current;
|
|
2195
|
-
if (n &&
|
|
2196
|
-
const s =
|
|
2192
|
+
if (n && t.current) {
|
|
2193
|
+
const s = t.current;
|
|
2197
2194
|
let a;
|
|
2198
|
-
const
|
|
2195
|
+
const i = new ResizeObserver(() => {
|
|
2199
2196
|
a = requestAnimationFrame(() => {
|
|
2200
|
-
const
|
|
2197
|
+
const l = s.offsetHeight;
|
|
2201
2198
|
n.style.setProperty(
|
|
2202
2199
|
"--opencx-widget-height",
|
|
2203
|
-
|
|
2200
|
+
r ? "100%" : `${l.toFixed(1)}px`
|
|
2204
2201
|
);
|
|
2205
2202
|
});
|
|
2206
2203
|
});
|
|
2207
|
-
return
|
|
2208
|
-
cancelAnimationFrame(a),
|
|
2204
|
+
return i.observe(s), () => {
|
|
2205
|
+
cancelAnimationFrame(a), i.unobserve(s);
|
|
2209
2206
|
};
|
|
2210
2207
|
}
|
|
2211
|
-
}, [e,
|
|
2208
|
+
}, [e, r]), { observedElementRef: t };
|
|
2212
2209
|
}
|
|
2213
|
-
const
|
|
2210
|
+
const Tr = me.object({
|
|
2214
2211
|
name: me.string().min(2),
|
|
2215
2212
|
email: me.string().email()
|
|
2216
2213
|
});
|
|
2217
|
-
function
|
|
2218
|
-
var
|
|
2219
|
-
const { setIsOpen: e } =
|
|
2214
|
+
function Mr() {
|
|
2215
|
+
var k, I, M, F, P, O, b, C, B;
|
|
2216
|
+
const { setIsOpen: e } = K(), { createUnverifiedContact: r } = Lt(), { isSmallScreen: t } = A(), n = S(), { theme: s } = X(), { t: a } = Z(), { data: i } = de(), { observedElementRef: l } = Ir();
|
|
2220
2217
|
Ne({
|
|
2221
2218
|
height: void 0,
|
|
2222
2219
|
width: s.screens.welcome.width
|
|
2223
2220
|
});
|
|
2224
|
-
const [p,
|
|
2221
|
+
const [p, g] = j(((k = n.prefillUserData) == null ? void 0 : k.name) || ""), [x, y] = j(((I = n.prefillUserData) == null ? void 0 : I.email) || ""), v = (n.extraDataCollectionFields || []).filter(
|
|
2225
2222
|
(N) => N !== "name" && N !== "email" && !!N
|
|
2226
|
-
), [h, m] = j({}), [
|
|
2223
|
+
), [h, m] = j({}), [u, _] = Mo(
|
|
2227
2224
|
async (N) => {
|
|
2228
2225
|
N.preventDefault();
|
|
2229
|
-
const L =
|
|
2230
|
-
L.success && await
|
|
2226
|
+
const L = Tr.safeParse({ name: p, email: x });
|
|
2227
|
+
L.success && await r(
|
|
2231
2228
|
{
|
|
2232
2229
|
email: L.data.email,
|
|
2233
2230
|
non_verified_name: L.data.name
|
|
@@ -2236,7 +2233,7 @@ function Sr() {
|
|
|
2236
2233
|
Object.values(h).filter(Boolean).length ? h : void 0
|
|
2237
2234
|
);
|
|
2238
2235
|
},
|
|
2239
|
-
[p,
|
|
2236
|
+
[p, x, h]
|
|
2240
2237
|
);
|
|
2241
2238
|
return /* @__PURE__ */ o(
|
|
2242
2239
|
"div",
|
|
@@ -2256,23 +2253,22 @@ function Sr() {
|
|
|
2256
2253
|
children: /* @__PURE__ */ c(
|
|
2257
2254
|
"div",
|
|
2258
2255
|
{
|
|
2259
|
-
ref:
|
|
2256
|
+
ref: l,
|
|
2260
2257
|
className: d(
|
|
2261
2258
|
"flex flex-col",
|
|
2262
|
-
|
|
2259
|
+
t && "h-full",
|
|
2263
2260
|
"bg-[radial-gradient(ellipse_at_top_left,hsl(var(--opencx-primary)),transparent),radial-gradient(ellipse_at_top_right,hsl(var(--opencx-primary)),transparent)]"
|
|
2264
2261
|
),
|
|
2265
2262
|
children: [
|
|
2266
2263
|
/* @__PURE__ */ c(
|
|
2267
2264
|
"div",
|
|
2268
2265
|
{
|
|
2269
|
-
dir: "auto",
|
|
2270
2266
|
className: d(
|
|
2271
2267
|
"flex-1 flex flex-col px-4 py-12 text-start space-y-4 relative z-10",
|
|
2272
2268
|
"text-primary-foreground"
|
|
2273
2269
|
),
|
|
2274
2270
|
children: [
|
|
2275
|
-
|
|
2271
|
+
t && /* @__PURE__ */ o(f, { className: "absolute top-6 end-6", children: /* @__PURE__ */ o(z, { size: "selfless", onClick: () => e(!1), children: /* @__PURE__ */ o(be, { className: "size-4" }) }) }),
|
|
2276
2272
|
/* @__PURE__ */ o("div", { className: "flex items-center justify-between w-full mb-2", children: (M = n.assets) != null && M.organizationLogo ? /* @__PURE__ */ o(
|
|
2277
2273
|
"img",
|
|
2278
2274
|
{
|
|
@@ -2280,17 +2276,10 @@ function Sr() {
|
|
|
2280
2276
|
alt: "Company Logo",
|
|
2281
2277
|
className: "h-8 w-auto object-contain"
|
|
2282
2278
|
}
|
|
2283
|
-
) : /* @__PURE__ */ o("h2", { className: "font-bold text-sm",
|
|
2279
|
+
) : /* @__PURE__ */ o("h2", { className: "font-bold text-sm", children: (P = i == null ? void 0 : i.data) == null ? void 0 : P.organizationName }) }),
|
|
2284
2280
|
/* @__PURE__ */ c("div", { className: "space-y-2", children: [
|
|
2285
|
-
/* @__PURE__ */ o(
|
|
2286
|
-
|
|
2287
|
-
{
|
|
2288
|
-
className: "text-[1.75rem] font-semibold tracking-tight leading-none",
|
|
2289
|
-
dir: "auto",
|
|
2290
|
-
children: ((R = (W = n.textContent) == null ? void 0 : W.welcomeScreen) == null ? void 0 : R.title) || a.get("welcome-title")
|
|
2291
|
-
}
|
|
2292
|
-
),
|
|
2293
|
-
/* @__PURE__ */ o("p", { className: "text-sm", dir: "auto", children: ((k = (v = n.textContent) == null ? void 0 : v.welcomeScreen) == null ? void 0 : k.description) || a.get("welcome-description") })
|
|
2281
|
+
/* @__PURE__ */ o("h1", { className: "text-[1.75rem] font-semibold tracking-tight leading-none", children: ((b = (O = n.textContent) == null ? void 0 : O.welcomeScreen) == null ? void 0 : b.title) || a("welcome-title") }),
|
|
2282
|
+
/* @__PURE__ */ o("p", { className: "text-sm", children: ((B = (C = n.textContent) == null ? void 0 : C.welcomeScreen) == null ? void 0 : B.description) || a("welcome-description") })
|
|
2294
2283
|
] })
|
|
2295
2284
|
]
|
|
2296
2285
|
}
|
|
@@ -2304,16 +2293,15 @@ function Sr() {
|
|
|
2304
2293
|
"border shadow",
|
|
2305
2294
|
"rounded-3xl"
|
|
2306
2295
|
),
|
|
2307
|
-
dir: "auto",
|
|
2308
2296
|
children: [
|
|
2309
2297
|
/* @__PURE__ */ c("form", { onSubmit: _, className: "space-y-2", children: [
|
|
2310
2298
|
/* @__PURE__ */ o(
|
|
2311
2299
|
ne,
|
|
2312
2300
|
{
|
|
2313
2301
|
value: p,
|
|
2314
|
-
onChange: (N) =>
|
|
2302
|
+
onChange: (N) => g(N.target.value),
|
|
2315
2303
|
required: !0,
|
|
2316
|
-
placeholder: a
|
|
2304
|
+
placeholder: a("your-name"),
|
|
2317
2305
|
name: "name"
|
|
2318
2306
|
}
|
|
2319
2307
|
),
|
|
@@ -2321,14 +2309,14 @@ function Sr() {
|
|
|
2321
2309
|
ne,
|
|
2322
2310
|
{
|
|
2323
2311
|
required: !0,
|
|
2324
|
-
value:
|
|
2325
|
-
onChange: (N) =>
|
|
2312
|
+
value: x,
|
|
2313
|
+
onChange: (N) => y(N.target.value),
|
|
2326
2314
|
type: "email",
|
|
2327
|
-
placeholder: a
|
|
2315
|
+
placeholder: a("your-email"),
|
|
2328
2316
|
name: "email"
|
|
2329
2317
|
}
|
|
2330
2318
|
),
|
|
2331
|
-
|
|
2319
|
+
v.map((N) => /* @__PURE__ */ o(
|
|
2332
2320
|
ne,
|
|
2333
2321
|
{
|
|
2334
2322
|
value: h[N],
|
|
@@ -2336,24 +2324,24 @@ function Sr() {
|
|
|
2336
2324
|
...oe,
|
|
2337
2325
|
[N]: L.target.value
|
|
2338
2326
|
})),
|
|
2339
|
-
placeholder: `${N} (${a
|
|
2327
|
+
placeholder: `${N} (${a("optional")})`
|
|
2340
2328
|
},
|
|
2341
2329
|
N
|
|
2342
2330
|
)),
|
|
2343
2331
|
/* @__PURE__ */ c(
|
|
2344
2332
|
z,
|
|
2345
2333
|
{
|
|
2346
|
-
disabled:
|
|
2334
|
+
disabled: u.loading,
|
|
2347
2335
|
className: "w-full",
|
|
2348
2336
|
size: "lg",
|
|
2349
2337
|
children: [
|
|
2350
|
-
|
|
2351
|
-
/* @__PURE__ */ o(
|
|
2338
|
+
u.loading ? a("starting-chat") : a("start-chat"),
|
|
2339
|
+
/* @__PURE__ */ o(xo, { className: "size-4 rtl:-scale-100" })
|
|
2352
2340
|
]
|
|
2353
2341
|
}
|
|
2354
2342
|
)
|
|
2355
2343
|
] }),
|
|
2356
|
-
/* @__PURE__ */ o(
|
|
2344
|
+
/* @__PURE__ */ o(Ft, {})
|
|
2357
2345
|
]
|
|
2358
2346
|
}
|
|
2359
2347
|
)
|
|
@@ -2363,59 +2351,59 @@ function Sr() {
|
|
|
2363
2351
|
}
|
|
2364
2352
|
);
|
|
2365
2353
|
}
|
|
2366
|
-
function
|
|
2354
|
+
function Pt() {
|
|
2367
2355
|
de();
|
|
2368
2356
|
const {
|
|
2369
2357
|
routerState: { screen: e }
|
|
2370
|
-
} =
|
|
2358
|
+
} = H();
|
|
2371
2359
|
return /* @__PURE__ */ c("div", { className: "relative bg-background size-full", children: [
|
|
2372
2360
|
/* @__PURE__ */ o(pe.Container, {}),
|
|
2373
2361
|
/* @__PURE__ */ o(T, { mode: "wait", children: (() => {
|
|
2374
2362
|
switch (e) {
|
|
2375
2363
|
case "welcome":
|
|
2376
2364
|
return /* @__PURE__ */ o(
|
|
2377
|
-
|
|
2365
|
+
f,
|
|
2378
2366
|
{
|
|
2379
2367
|
fadeIn: "right",
|
|
2380
2368
|
className: "size-full",
|
|
2381
2369
|
snapExit: !0,
|
|
2382
|
-
children: /* @__PURE__ */ o(
|
|
2370
|
+
children: /* @__PURE__ */ o(Mr, {})
|
|
2383
2371
|
},
|
|
2384
2372
|
e
|
|
2385
2373
|
);
|
|
2386
2374
|
case "sessions":
|
|
2387
2375
|
return /* @__PURE__ */ o(
|
|
2388
|
-
|
|
2376
|
+
f,
|
|
2389
2377
|
{
|
|
2390
2378
|
fadeIn: "right",
|
|
2391
2379
|
className: "size-full",
|
|
2392
2380
|
snapExit: !0,
|
|
2393
|
-
children: /* @__PURE__ */ o(
|
|
2381
|
+
children: /* @__PURE__ */ o(_r, {})
|
|
2394
2382
|
},
|
|
2395
2383
|
e
|
|
2396
2384
|
);
|
|
2397
2385
|
case "chat":
|
|
2398
2386
|
return /* @__PURE__ */ o(
|
|
2399
|
-
|
|
2387
|
+
f,
|
|
2400
2388
|
{
|
|
2401
2389
|
fadeIn: "right",
|
|
2402
2390
|
className: "size-full",
|
|
2403
2391
|
snapExit: !0,
|
|
2404
|
-
children: /* @__PURE__ */ o(
|
|
2392
|
+
children: /* @__PURE__ */ o(Cr, {})
|
|
2405
2393
|
},
|
|
2406
2394
|
e
|
|
2407
2395
|
);
|
|
2408
2396
|
default:
|
|
2409
|
-
return D(e,
|
|
2397
|
+
return D(e, Pt.name), null;
|
|
2410
2398
|
}
|
|
2411
2399
|
})() })
|
|
2412
2400
|
] });
|
|
2413
2401
|
}
|
|
2414
|
-
const
|
|
2402
|
+
const Dr = `<!DOCTYPE html>
|
|
2415
2403
|
<html>
|
|
2416
2404
|
<head>
|
|
2417
2405
|
<style>
|
|
2418
|
-
${
|
|
2406
|
+
${_t}
|
|
2419
2407
|
html, body {
|
|
2420
2408
|
height: 100%;
|
|
2421
2409
|
width: 100%;
|
|
@@ -2429,10 +2417,10 @@ html, body {
|
|
|
2429
2417
|
<body>
|
|
2430
2418
|
</body>
|
|
2431
2419
|
</html>`;
|
|
2432
|
-
function
|
|
2433
|
-
const { isOpen: e } =
|
|
2420
|
+
function Wt() {
|
|
2421
|
+
const { isOpen: e } = K(), { version: r, contentIframeRef: t } = Y(), { cssOverrides: n, inline: s } = S(), { theme: a, cssVars: i, computed: l } = X(), { dir: p } = Z();
|
|
2434
2422
|
return /* @__PURE__ */ o(
|
|
2435
|
-
|
|
2423
|
+
J.div,
|
|
2436
2424
|
{
|
|
2437
2425
|
animate: e ? "visible" : "hidden",
|
|
2438
2426
|
initial: "hidden",
|
|
@@ -2451,23 +2439,23 @@ function jt() {
|
|
|
2451
2439
|
}
|
|
2452
2440
|
},
|
|
2453
2441
|
children: /* @__PURE__ */ c(
|
|
2454
|
-
|
|
2442
|
+
ut,
|
|
2455
2443
|
{
|
|
2456
|
-
ref:
|
|
2457
|
-
initialContent:
|
|
2444
|
+
ref: t,
|
|
2445
|
+
initialContent: Dr,
|
|
2458
2446
|
allowFullScreen: !0,
|
|
2459
2447
|
title: "OpenCX Live Chat",
|
|
2460
2448
|
style: {
|
|
2461
2449
|
// @ts-expect-error this is a valid css variable
|
|
2462
|
-
"--opencx-widget-width":
|
|
2463
|
-
"--opencx-widget-height":
|
|
2464
|
-
minWidth:
|
|
2450
|
+
"--opencx-widget-width": l.minWidth,
|
|
2451
|
+
"--opencx-widget-height": l.minHeight,
|
|
2452
|
+
minWidth: l.minWidth,
|
|
2465
2453
|
width: "var(--opencx-widget-width)",
|
|
2466
|
-
maxWidth:
|
|
2454
|
+
maxWidth: l.maxWidth,
|
|
2467
2455
|
// Relative to the viewport
|
|
2468
|
-
minHeight:
|
|
2456
|
+
minHeight: l.minHeight,
|
|
2469
2457
|
height: "var(--opencx-widget-height)",
|
|
2470
|
-
maxHeight:
|
|
2458
|
+
maxHeight: l.maxHeight,
|
|
2471
2459
|
// Relative to the viewport
|
|
2472
2460
|
overflow: "hidden",
|
|
2473
2461
|
/** outline is better than border because of box sizing; the outline wouldn't affect the content inside... the border will mess up how the children's border radius sits with the parent */
|
|
@@ -2485,7 +2473,7 @@ function jt() {
|
|
|
2485
2473
|
children: [
|
|
2486
2474
|
n && /* @__PURE__ */ o("style", { children: n }),
|
|
2487
2475
|
/* @__PURE__ */ o(
|
|
2488
|
-
|
|
2476
|
+
Lo,
|
|
2489
2477
|
{
|
|
2490
2478
|
delayDuration: 200,
|
|
2491
2479
|
disableHoverableContent: !0,
|
|
@@ -2493,21 +2481,14 @@ function jt() {
|
|
|
2493
2481
|
"div",
|
|
2494
2482
|
{
|
|
2495
2483
|
style: {
|
|
2496
|
-
|
|
2484
|
+
...i
|
|
2497
2485
|
},
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
"data-version": t,
|
|
2505
|
-
className: d(
|
|
2506
|
-
"antialiased font-sans size-full overflow-hidden isolate relative text-secondary-foreground"
|
|
2507
|
-
),
|
|
2508
|
-
children: /* @__PURE__ */ o(Rt, {})
|
|
2509
|
-
}
|
|
2510
|
-
)
|
|
2486
|
+
"data-version": r,
|
|
2487
|
+
className: d(
|
|
2488
|
+
"antialiased font-sans size-full overflow-hidden isolate relative text-secondary-foreground"
|
|
2489
|
+
),
|
|
2490
|
+
dir: p,
|
|
2491
|
+
children: /* @__PURE__ */ o(Pt, {})
|
|
2511
2492
|
}
|
|
2512
2493
|
)
|
|
2513
2494
|
}
|
|
@@ -2518,12 +2499,12 @@ function jt() {
|
|
|
2518
2499
|
}
|
|
2519
2500
|
);
|
|
2520
2501
|
}
|
|
2521
|
-
function
|
|
2502
|
+
function Rr() {
|
|
2522
2503
|
const { theme: e } = X();
|
|
2523
2504
|
return /* @__PURE__ */ o(
|
|
2524
2505
|
ie.Content,
|
|
2525
2506
|
{
|
|
2526
|
-
onInteractOutside: (
|
|
2507
|
+
onInteractOutside: (r) => r.preventDefault(),
|
|
2527
2508
|
forceMount: !0,
|
|
2528
2509
|
style: {
|
|
2529
2510
|
zIndex: e.widgetContentContainer.zIndex,
|
|
@@ -2534,14 +2515,13 @@ function Ir() {
|
|
|
2534
2515
|
sideOffset: e.widgetContentContainer.offset.side,
|
|
2535
2516
|
alignOffset: e.widgetContentContainer.offset.align,
|
|
2536
2517
|
avoidCollisions: !1,
|
|
2537
|
-
|
|
2538
|
-
children: /* @__PURE__ */ o(jt, {})
|
|
2518
|
+
children: /* @__PURE__ */ o(Wt, {})
|
|
2539
2519
|
}
|
|
2540
2520
|
);
|
|
2541
2521
|
}
|
|
2542
|
-
function
|
|
2522
|
+
function Or({
|
|
2543
2523
|
className: e,
|
|
2544
|
-
style:
|
|
2524
|
+
style: r
|
|
2545
2525
|
}) {
|
|
2546
2526
|
return /* @__PURE__ */ c(
|
|
2547
2527
|
"svg",
|
|
@@ -2552,7 +2532,7 @@ function Tr({
|
|
|
2552
2532
|
fill: "none",
|
|
2553
2533
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2554
2534
|
className: d("text-primary-foreground", e),
|
|
2555
|
-
style:
|
|
2535
|
+
style: r,
|
|
2556
2536
|
children: [
|
|
2557
2537
|
/* @__PURE__ */ o(
|
|
2558
2538
|
"path",
|
|
@@ -2574,11 +2554,11 @@ function Tr({
|
|
|
2574
2554
|
}
|
|
2575
2555
|
);
|
|
2576
2556
|
}
|
|
2577
|
-
const
|
|
2557
|
+
const jr = `<!DOCTYPE html>
|
|
2578
2558
|
<html>
|
|
2579
2559
|
<head>
|
|
2580
2560
|
<style>
|
|
2581
|
-
${
|
|
2561
|
+
${_t}
|
|
2582
2562
|
html, body {
|
|
2583
2563
|
height: 100%;
|
|
2584
2564
|
width: 100%;
|
|
@@ -2591,27 +2571,30 @@ html, body {
|
|
|
2591
2571
|
<body>
|
|
2592
2572
|
</body>
|
|
2593
2573
|
</html>`;
|
|
2594
|
-
function
|
|
2595
|
-
var a,
|
|
2596
|
-
const { isOpen: e } =
|
|
2574
|
+
function Er() {
|
|
2575
|
+
var a, i;
|
|
2576
|
+
const { isOpen: e } = K(), { cssOverrides: r, assets: t } = S(), { theme: n, cssVars: s } = X();
|
|
2597
2577
|
return /* @__PURE__ */ c(
|
|
2598
|
-
|
|
2578
|
+
ut,
|
|
2599
2579
|
{
|
|
2600
|
-
initialContent:
|
|
2580
|
+
initialContent: jr,
|
|
2601
2581
|
style: {
|
|
2602
|
-
height: `calc(${n.widgetTrigger.size.button}px + ${
|
|
2603
|
-
width: `calc(${n.widgetTrigger.size.button}px + ${
|
|
2582
|
+
height: `calc(${n.widgetTrigger.size.button}px + ${V.x * 2}px)`,
|
|
2583
|
+
width: `calc(${n.widgetTrigger.size.button}px + ${V.y * 2}px)`,
|
|
2604
2584
|
fontSize: "16px",
|
|
2605
2585
|
position: "fixed",
|
|
2606
2586
|
zIndex: n.widgetTrigger.zIndex,
|
|
2607
2587
|
right: n.widgetTrigger.offset.right,
|
|
2608
2588
|
bottom: n.widgetTrigger.offset.bottom,
|
|
2589
|
+
left: n.widgetTrigger.offset.left,
|
|
2609
2590
|
// reset iframe defaults
|
|
2610
2591
|
boxSizing: "border-box",
|
|
2611
|
-
borderWidth: "0px"
|
|
2592
|
+
borderWidth: "0px",
|
|
2593
|
+
// A quick fix for the white square background of the iframe when the hosting website switches to dark mode
|
|
2594
|
+
borderRadius: "100%"
|
|
2612
2595
|
},
|
|
2613
2596
|
children: [
|
|
2614
|
-
|
|
2597
|
+
r && /* @__PURE__ */ o("style", { children: r }),
|
|
2615
2598
|
/* @__PURE__ */ o(
|
|
2616
2599
|
"div",
|
|
2617
2600
|
{
|
|
@@ -2633,7 +2616,7 @@ function Dr() {
|
|
|
2633
2616
|
height: n.widgetTrigger.size.button,
|
|
2634
2617
|
width: n.widgetTrigger.size.button
|
|
2635
2618
|
},
|
|
2636
|
-
children: /* @__PURE__ */ o(
|
|
2619
|
+
children: /* @__PURE__ */ o(W, { children: /* @__PURE__ */ o(
|
|
2637
2620
|
"div",
|
|
2638
2621
|
{
|
|
2639
2622
|
...w("trigger/btn"),
|
|
@@ -2646,7 +2629,7 @@ function Dr() {
|
|
|
2646
2629
|
"text-primary-foreground"
|
|
2647
2630
|
),
|
|
2648
2631
|
children: /* @__PURE__ */ o(T, { mode: "wait", children: e ? /* @__PURE__ */ o(
|
|
2649
|
-
|
|
2632
|
+
f,
|
|
2650
2633
|
{
|
|
2651
2634
|
snapExit: !0,
|
|
2652
2635
|
fadeIn: "up",
|
|
@@ -2654,10 +2637,10 @@ function Dr() {
|
|
|
2654
2637
|
initial: { rotate: 45 },
|
|
2655
2638
|
animate: { rotate: 0 }
|
|
2656
2639
|
},
|
|
2657
|
-
children: (a =
|
|
2640
|
+
children: (a = t == null ? void 0 : t.widgetTrigger) != null && a.closeIcon ? /* @__PURE__ */ o(
|
|
2658
2641
|
"img",
|
|
2659
2642
|
{
|
|
2660
|
-
src:
|
|
2643
|
+
src: t.widgetTrigger.closeIcon,
|
|
2661
2644
|
alt: "Widget trigger close icon",
|
|
2662
2645
|
style: {
|
|
2663
2646
|
width: n.widgetTrigger.size.icon,
|
|
@@ -2665,7 +2648,7 @@ function Dr() {
|
|
|
2665
2648
|
}
|
|
2666
2649
|
}
|
|
2667
2650
|
) : /* @__PURE__ */ o(
|
|
2668
|
-
|
|
2651
|
+
yo,
|
|
2669
2652
|
{
|
|
2670
2653
|
style: {
|
|
2671
2654
|
width: n.widgetTrigger.size.icon,
|
|
@@ -2676,17 +2659,17 @@ function Dr() {
|
|
|
2676
2659
|
},
|
|
2677
2660
|
"x-icon"
|
|
2678
2661
|
) : /* @__PURE__ */ o(
|
|
2679
|
-
|
|
2662
|
+
f,
|
|
2680
2663
|
{
|
|
2681
2664
|
snapExit: !0,
|
|
2682
2665
|
overrides: {
|
|
2683
2666
|
initial: { rotate: 45 },
|
|
2684
2667
|
animate: { rotate: 0 }
|
|
2685
2668
|
},
|
|
2686
|
-
children: (
|
|
2669
|
+
children: (i = t == null ? void 0 : t.widgetTrigger) != null && i.openIcon ? /* @__PURE__ */ o(
|
|
2687
2670
|
"img",
|
|
2688
2671
|
{
|
|
2689
|
-
src:
|
|
2672
|
+
src: t.widgetTrigger.openIcon,
|
|
2690
2673
|
alt: "Widget trigger open icon",
|
|
2691
2674
|
style: {
|
|
2692
2675
|
width: n.widgetTrigger.size.icon,
|
|
@@ -2694,7 +2677,7 @@ function Dr() {
|
|
|
2694
2677
|
}
|
|
2695
2678
|
}
|
|
2696
2679
|
) : /* @__PURE__ */ o(
|
|
2697
|
-
|
|
2680
|
+
Or,
|
|
2698
2681
|
{
|
|
2699
2682
|
style: {
|
|
2700
2683
|
width: n.widgetTrigger.size.icon,
|
|
@@ -2716,30 +2699,36 @@ function Dr() {
|
|
|
2716
2699
|
}
|
|
2717
2700
|
);
|
|
2718
2701
|
}
|
|
2719
|
-
function
|
|
2702
|
+
function Fr() {
|
|
2703
|
+
const { dir: e } = ve();
|
|
2720
2704
|
return /* @__PURE__ */ o(
|
|
2721
2705
|
ie.Anchor,
|
|
2722
2706
|
{
|
|
2723
|
-
style: {
|
|
2707
|
+
style: {
|
|
2708
|
+
position: "fixed",
|
|
2709
|
+
bottom: 0,
|
|
2710
|
+
right: e === "ltr" ? 0 : void 0,
|
|
2711
|
+
left: e === "rtl" ? 0 : void 0
|
|
2712
|
+
}
|
|
2724
2713
|
}
|
|
2725
2714
|
);
|
|
2726
2715
|
}
|
|
2727
|
-
function
|
|
2728
|
-
const { isOpen: e, setIsOpen:
|
|
2729
|
-
return /* @__PURE__ */ c(ie.Root, { open: e, onOpenChange:
|
|
2730
|
-
/* @__PURE__ */ o(
|
|
2731
|
-
/* @__PURE__ */ o(
|
|
2732
|
-
/* @__PURE__ */ o(
|
|
2716
|
+
function Pr() {
|
|
2717
|
+
const { isOpen: e, setIsOpen: r } = K();
|
|
2718
|
+
return /* @__PURE__ */ c(ie.Root, { open: e, onOpenChange: r, children: [
|
|
2719
|
+
/* @__PURE__ */ o(Fr, {}),
|
|
2720
|
+
/* @__PURE__ */ o(Er, {}),
|
|
2721
|
+
/* @__PURE__ */ o(Rr, {})
|
|
2733
2722
|
] });
|
|
2734
2723
|
}
|
|
2735
|
-
const
|
|
2724
|
+
const Wr = [
|
|
2736
2725
|
{
|
|
2737
2726
|
key: "loading",
|
|
2738
|
-
component:
|
|
2727
|
+
component: Bo
|
|
2739
2728
|
},
|
|
2740
2729
|
{
|
|
2741
2730
|
key: "fallback",
|
|
2742
|
-
component:
|
|
2731
|
+
component: jo
|
|
2743
2732
|
},
|
|
2744
2733
|
{
|
|
2745
2734
|
key: "bot_message",
|
|
@@ -2749,32 +2738,32 @@ const jr = [
|
|
|
2749
2738
|
key: "agent_message",
|
|
2750
2739
|
component: ae
|
|
2751
2740
|
}
|
|
2752
|
-
],
|
|
2741
|
+
], Hr = {
|
|
2753
2742
|
get: async (e) => localStorage.getItem(e),
|
|
2754
|
-
set: async (e,
|
|
2755
|
-
localStorage.setItem(e,
|
|
2743
|
+
set: async (e, r) => {
|
|
2744
|
+
localStorage.setItem(e, r);
|
|
2756
2745
|
},
|
|
2757
2746
|
remove: async (e) => {
|
|
2758
2747
|
localStorage.removeItem(e);
|
|
2759
2748
|
}
|
|
2760
2749
|
};
|
|
2761
|
-
function
|
|
2750
|
+
function sn({
|
|
2762
2751
|
options: e,
|
|
2763
|
-
components:
|
|
2764
|
-
loadingComponent:
|
|
2752
|
+
components: r = [],
|
|
2753
|
+
loadingComponent: t
|
|
2765
2754
|
}) {
|
|
2766
2755
|
return /* @__PURE__ */ o(
|
|
2767
|
-
|
|
2756
|
+
$t,
|
|
2768
2757
|
{
|
|
2769
|
-
components: [...
|
|
2758
|
+
components: [...Wr, ...r],
|
|
2770
2759
|
options: e,
|
|
2771
|
-
storage:
|
|
2772
|
-
loadingComponent:
|
|
2773
|
-
children: /* @__PURE__ */ o(
|
|
2760
|
+
storage: Hr,
|
|
2761
|
+
loadingComponent: t,
|
|
2762
|
+
children: /* @__PURE__ */ o(Yt, { children: e.inline ? /* @__PURE__ */ o(Wt, {}) : /* @__PURE__ */ o(Pr, {}) })
|
|
2774
2763
|
}
|
|
2775
2764
|
);
|
|
2776
2765
|
}
|
|
2777
2766
|
export {
|
|
2778
|
-
|
|
2767
|
+
sn as Widget
|
|
2779
2768
|
};
|
|
2780
2769
|
//# sourceMappingURL=index.js.map
|