@factorialco/f0-react 12.0.2 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ChatPostComposerDialog-BjrsNFUH.js → ChatPostComposerDialog-NEIFDJib.js} +2 -2
- package/dist/{CoachmarkProvider-BJFpsBQz.js → CoachmarkProvider-BR6fdrrh.js} +69 -69
- package/dist/{DocumentToolbar-CS2Z7HiZ.js → DocumentToolbar-Cb3E9RnA.js} +4 -4
- package/dist/{DocxViewer-B_NnBwF0.js → DocxViewer-pfu-5v_l.js} +1 -1
- package/dist/{F0AiProcessingOverlay-_6Q5DfJg.js → F0AiProcessingOverlay-O9SpiZk4.js} +215 -215
- package/dist/{F0CanvasPanel-BMURqtcr.js → F0CanvasPanel-Dn-Gkmsz.js} +57 -57
- package/dist/{F0DocumentViewer-DRm6fqh4.js → F0DocumentViewer-CRPMDWGj.js} +7 -7
- package/dist/F0DocumentViewer-DzZu9sCO.js +3 -0
- package/dist/{F0Map-f0PCE1Mz.js → F0Map-toEYLWLQ.js} +33 -33
- package/dist/{F0Select-BcKwX9W8.js → F0Select-BMzj1oyt.js} +4701 -4629
- package/dist/F0Text-CjR98zwA.js +81 -0
- package/dist/{F0VideoPlayer-CRXj4sNZ.js → F0VideoPlayer-BmbFZEII.js} +1 -1
- package/dist/F0VideoPlayer-DsHl-sBd.js +1 -0
- package/dist/{Map-Cq4G6JVt.js → Map-Cakv1wM4.js} +5 -5
- package/dist/{PdfThumbnail-BEH1NBCB.js → PdfThumbnail-Bxzk7G0u.js} +1 -1
- package/dist/{SheetViewer-CcXri71G.js → SheetViewer-zNoFISP0.js} +3 -3
- package/dist/{TextViewer-BMHUpHg-.js → TextViewer-BTRJxwwJ.js} +1 -1
- package/dist/ai.d.ts +2 -2
- package/dist/ai.js +2 -2
- package/dist/component-status.js +1 -1
- package/dist/experimental.d.ts +2 -2
- package/dist/experimental.js +446 -446
- package/dist/{exports-CMhLojYN.d.ts → exports-CnbBeOMM.d.ts} +1 -1
- package/dist/f0.d.ts +3 -3
- package/dist/f0.js +204 -204
- package/dist/{index-aXC2gQbs.d.ts → index-DE9tIS8D.d.ts} +1 -1
- package/dist/{maplibre-B2bLeY4t.js → maplibre-C5htrHET.js} +1 -1
- package/dist/{pdfWorker-C7GrpmLJ.js → pdfWorker-B4yvX0G-.js} +1 -1
- package/dist/{types-CEo4cZBQ.d.ts → types-CUKMWWRC.d.ts} +1 -1
- package/dist/{useData-DpxY5-yo.js → useData-DWwEymV5.js} +5636 -4625
- package/package.json +1 -1
- package/dist/F0DocumentViewer-7PUNVXNk.js +0 -3
- package/dist/F0Text-Bu80O85X.js +0 -1093
- package/dist/F0VideoPlayer-cuFJGYLM.js +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Ft as e, Gt as t, St as n, a as r, b as i, bt as a, cr as o, er as s, fn as c, i as l, n as u, on as d, or as f, pn as p, sn as m, t as h, vn as g, xt as _, yn as v } from "./popover-B-ET_Kay.js";
|
|
2
2
|
import { L as y, R as b } from "./tooltip-BX4dSfeL.js";
|
|
3
|
-
import { n as x
|
|
4
|
-
import { $ as
|
|
5
|
-
import { t as
|
|
6
|
-
import { C as
|
|
7
|
-
import { Dn as Ct, Dr as wt, Er as Tt, Ft as Et, Nr as Dt, On as Ot, Or as kt, Ot as At, _t as jt, cn as Mt, ct as Nt, gt as Pt, ht as Ft, jr as It, nn as Lt, sn as Rt, un as zt } from "./F0Select-
|
|
3
|
+
import { n as x } from "./F0Text-CjR98zwA.js";
|
|
4
|
+
import { $ as S, At as C, B as w, C as T, Co as E, Ct as D, Ds as O, Et as ee, F as k, Gr as A, H as j, I as M, Ir as N, Jn as P, Kr as F, N as I, Ns as te, Nt as ne, Ot as re, P as L, Q as ie, Qr as ae, Ro as R, Rt as oe, S as se, So as ce, St as le, T as ue, Ua as de, Uo as fe, Ur as pe, V as me, Vo as he, Wr as ge, Xa as _e, Xo as ve, Xr as ye, a as be, bo as xe, bt as Se, d as Ce, dt as we, ei as Te, eo as Ee, er as De, g as Oe, h as ke, i as Ae, ir as je, jo as Me, ka as Ne, ks as z, l as Pe, lc as Fe, lt as Ie, m as Le, ma as Re, mo as ze, mr as B, mt as Be, no as Ve, nt as He, o as Ue, ot as We, pa as Ge, pr as Ke, r as qe, ro as Je, rt as Ye, st as Xe, to as Ze, ts as Qe, tt as $e, u as et, uc as tt, ut as nt, va as rt, vo as it, w as at, x as ot, xt as st, yt as ct, z as V, za as lt, zi as ut } from "./F0CanvasPanel-Dn-Gkmsz.js";
|
|
5
|
+
import { t as dt } from "./i18n-provider-defaults-p0UGTA_k.js";
|
|
6
|
+
import { C as ft, D as pt, F as mt, S as ht, V as gt, W as _t, X as vt, Z as yt, k as bt, l as xt, x as St } from "./useData-DWwEymV5.js";
|
|
7
|
+
import { Dn as Ct, Dr as wt, Er as Tt, Ft as Et, Nr as Dt, On as Ot, Or as kt, Ot as At, _t as jt, cn as Mt, ct as Nt, gt as Pt, ht as Ft, jr as It, nn as Lt, sn as Rt, un as zt } from "./F0Select-BMzj1oyt.js";
|
|
8
8
|
import { n as Bt } from "./dist-UTTWm0CV.js";
|
|
9
9
|
import { createContext as Vt, createElement as Ht, forwardRef as H, memo as Ut, useCallback as U, useContext as Wt, useEffect as W, useId as Gt, useInsertionEffect as Kt, useLayoutEffect as qt, useMemo as G, useRef as K, useState as q } from "react";
|
|
10
10
|
import { Fragment as J, jsx as Y, jsxs as X } from "react/jsx-runtime";
|
|
@@ -31,10 +31,10 @@ var Zt = [
|
|
|
31
31
|
"sm",
|
|
32
32
|
"md",
|
|
33
33
|
"lg"
|
|
34
|
-
], $t = (e) => e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """), en = /[\\`*_{}[\]()#+\-.!|~>]/g, tn = (e) => e.replace(/&/g, "&").replace(/</g, "<").replace(en, "\\$&"), nn = (e) => `<entity-ref type="${$t(e.type)}" id="${$t(e.id)}">${$t(e.label)}</entity-ref>`, rn = (e, t) => e.slice(t.start,
|
|
34
|
+
], $t = (e) => e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """), en = /[\\`*_{}[\]()#+\-.!|~>]/g, tn = (e) => e.replace(/&/g, "&").replace(/</g, "<").replace(en, "\\$&"), nn = (e) => `<entity-ref type="${$t(e.type)}" id="${$t(e.id)}">${$t(e.label)}</entity-ref>`, rn = (e, t) => e.slice(t.start, j(t)).normalize("NFC") === `@${t.label}`.normalize("NFC");
|
|
35
35
|
function an(e, t) {
|
|
36
36
|
let n = e.length - e.trimStart().length, r = e.trimEnd().length, i = t.filter((t) => t.start >= n && rn(e, t)).sort((e, t) => e.start - t.start), a = "", o = n;
|
|
37
|
-
for (let t of i) t.start < o ||
|
|
37
|
+
for (let t of i) t.start < o || j(t) > r || (a += tn(e.slice(o, t.start)) + nn(t), o = j(t));
|
|
38
38
|
return a + tn(e.slice(o, r));
|
|
39
39
|
}
|
|
40
40
|
//#endregion
|
|
@@ -181,16 +181,16 @@ var on = 14, sn = 2.31, cn = ({ percentage: e, tone: t }) => {
|
|
|
181
181
|
})]
|
|
182
182
|
});
|
|
183
183
|
}, pn = (e) => {
|
|
184
|
-
let { provided: t } =
|
|
185
|
-
return t ? /* @__PURE__ */ Y(mn, { ...e }) : /* @__PURE__ */ Y(
|
|
184
|
+
let { provided: t } = He();
|
|
185
|
+
return t ? /* @__PURE__ */ Y(mn, { ...e }) : /* @__PURE__ */ Y($e, { children: /* @__PURE__ */ Y(mn, { ...e }) });
|
|
186
186
|
}, mn = ({ attachedFiles: e, isUploading: t, onRemove: n, removeLabel: r, reducedMotion: i }) => {
|
|
187
187
|
let a = d(), o = hn(e), s = e.flatMap((e) => {
|
|
188
188
|
let t = o.get(e.id);
|
|
189
189
|
if (!t) return [];
|
|
190
|
-
let i = e.file.name, a = e.file.type ||
|
|
190
|
+
let i = e.file.name, a = e.file.type || We({
|
|
191
191
|
name: i,
|
|
192
192
|
url: t
|
|
193
|
-
}), s =
|
|
193
|
+
}), s = Xe({
|
|
194
194
|
name: i,
|
|
195
195
|
url: t,
|
|
196
196
|
mimeType: a
|
|
@@ -208,7 +208,7 @@ var on = 14, sn = 2.31, cn = ({ percentage: e, tone: t }) => {
|
|
|
208
208
|
};
|
|
209
209
|
return [{
|
|
210
210
|
id: e.id,
|
|
211
|
-
content: /* @__PURE__ */ Y(
|
|
211
|
+
content: /* @__PURE__ */ Y(k, {
|
|
212
212
|
attachment: s,
|
|
213
213
|
status: e.status === "uploaded" ? "ready" : e.status === "error" ? "error" : "uploading",
|
|
214
214
|
errorMessage: e.errorMessage,
|
|
@@ -274,7 +274,7 @@ var on = 14, sn = 2.31, cn = ({ percentage: e, tone: t }) => {
|
|
|
274
274
|
}, ...e.length > 0 ? [{ type: "separator" }] : []] : [], ...gn(e)];
|
|
275
275
|
return /* @__PURE__ */ Y("div", {
|
|
276
276
|
onClick: (e) => e.stopPropagation(),
|
|
277
|
-
children: /* @__PURE__ */ Y(
|
|
277
|
+
children: /* @__PURE__ */ Y(rt, {
|
|
278
278
|
items: f,
|
|
279
279
|
align: "start",
|
|
280
280
|
disabled: a,
|
|
@@ -285,7 +285,7 @@ var on = 14, sn = 2.31, cn = ({ percentage: e, tone: t }) => {
|
|
|
285
285
|
label: s.ai.addToConversation,
|
|
286
286
|
hideLabel: !0,
|
|
287
287
|
type: "button",
|
|
288
|
-
icon:
|
|
288
|
+
icon: yt,
|
|
289
289
|
variant: "outline",
|
|
290
290
|
size: "md",
|
|
291
291
|
pressed: c,
|
|
@@ -355,7 +355,7 @@ var on = 14, sn = 2.31, cn = ({ percentage: e, tone: t }) => {
|
|
|
355
355
|
label: n.ai.creditWarning.dismiss ?? "",
|
|
356
356
|
size: "sm",
|
|
357
357
|
variant: "ghost",
|
|
358
|
-
icon:
|
|
358
|
+
icon: x,
|
|
359
359
|
hideLabel: !0,
|
|
360
360
|
onClick: e.onDismiss
|
|
361
361
|
}) : null]
|
|
@@ -375,7 +375,7 @@ var on = 14, sn = 2.31, cn = ({ percentage: e, tone: t }) => {
|
|
|
375
375
|
/* @__PURE__ */ Y("div", {
|
|
376
376
|
className: "flex items-center py-0.5",
|
|
377
377
|
children: /* @__PURE__ */ Y(m, {
|
|
378
|
-
icon:
|
|
378
|
+
icon: it,
|
|
379
379
|
size: "md",
|
|
380
380
|
color: "default"
|
|
381
381
|
})
|
|
@@ -390,7 +390,7 @@ var on = 14, sn = 2.31, cn = ({ percentage: e, tone: t }) => {
|
|
|
390
390
|
variant: "ghost",
|
|
391
391
|
label: r.ai.removeQuote,
|
|
392
392
|
onClick: t,
|
|
393
|
-
icon:
|
|
393
|
+
icon: x,
|
|
394
394
|
hideLabel: !0,
|
|
395
395
|
size: "sm"
|
|
396
396
|
})
|
|
@@ -399,7 +399,7 @@ var on = 14, sn = 2.31, cn = ({ percentage: e, tone: t }) => {
|
|
|
399
399
|
});
|
|
400
400
|
}, Sn = ({ cards: e }) => e.length === 0 ? null : /* @__PURE__ */ Y("div", {
|
|
401
401
|
className: "grid w-full grid-cols-2 gap-3",
|
|
402
|
-
children: e.slice(0, 4).map((e) => /* @__PURE__ */ Y(
|
|
402
|
+
children: e.slice(0, 4).map((e) => /* @__PURE__ */ Y(I, {
|
|
403
403
|
avatar: {
|
|
404
404
|
type: "icon",
|
|
405
405
|
icon: e.icon
|
|
@@ -705,46 +705,46 @@ function Ln(e) {
|
|
|
705
705
|
}
|
|
706
706
|
//#endregion
|
|
707
707
|
//#region src/addons/ai/ai/F0AiChatTextArea/AiChatComposer.tsx
|
|
708
|
-
var Rn = ({ onSubmit: t, onStop: r, inProgress: i, onBeforeSubmit: a, placeholders: o, creditWarning: c, clarifyingUI: l, pendingContext: u = null, onPendingContextChange: f, pendingQuote: m = null, onPendingQuoteChange: h, fileAttachments: g, toolbarStart: _, composerActions: b, onComposerActionsOpenChange: x, onTranscribe: S, searchPersons: C, mentionSources:
|
|
709
|
-
let
|
|
708
|
+
var Rn = ({ onSubmit: t, onStop: r, inProgress: i, onBeforeSubmit: a, placeholders: o, creditWarning: c, clarifyingUI: l, pendingContext: u = null, onPendingContextChange: f, pendingQuote: m = null, onPendingQuoteChange: h, fileAttachments: g, toolbarStart: _, composerActions: b, onComposerActionsOpenChange: x, onTranscribe: S, searchPersons: C, mentionSources: T, onProcessFilesRef: E, disclaimer: D, usageLimits: O, footer: ee, isWelcomeScreen: k = !1, fullscreen: A = !1, welcomeScreenSuggestions: j, onSuggestionClick: M, welcomeScreenSuggestionsPlacement: N = "above", welcomeScreenSuggestionsCollapsedByDefault: P = !1, welcomeScreenCards: F, padding: I = "default", name: te, ref: ne }) => {
|
|
709
|
+
let L = d(), ie = e(), ae = !!ie, R = K(null), [oe, se] = q(null), [ce, le] = q(!1), [ue, de] = q({
|
|
710
710
|
isEmpty: !0,
|
|
711
711
|
recorder: "idle"
|
|
712
|
-
}),
|
|
712
|
+
}), fe = K(null), pe = K(null);
|
|
713
713
|
W(() => () => {
|
|
714
|
-
|
|
714
|
+
pe.current && clearTimeout(pe.current);
|
|
715
715
|
}, []);
|
|
716
|
-
let
|
|
716
|
+
let he = l != null, ge = K(u), _e = K(m);
|
|
717
717
|
qt(() => {
|
|
718
|
-
|
|
718
|
+
ge.current = u, _e.current = m;
|
|
719
719
|
});
|
|
720
|
-
let { tracking:
|
|
721
|
-
|
|
720
|
+
let { tracking: ve, setFocusChatInputFunction: ye } = V(), be = U((e, t) => {
|
|
721
|
+
ve?.onWelcomeSuggestionClick?.({
|
|
722
722
|
item: e,
|
|
723
723
|
group: t,
|
|
724
724
|
prompt: e.prompt || e.title
|
|
725
725
|
}), M?.(e, t);
|
|
726
|
-
}, [
|
|
726
|
+
}, [ve, M]), { attachedFiles: xe, fileInputRef: Se, onUploadFiles: Ce, acceptValue: we, isAtMaxFiles: Te, maxFiles: Ee, processFiles: De, handleFileSelect: Oe, handleRemoveFile: ke, transientError: Ae, showTransientError: je } = Ln(g), Me = Nn({
|
|
727
727
|
searchPersons: C,
|
|
728
|
-
mentionSources:
|
|
728
|
+
mentionSources: T
|
|
729
729
|
});
|
|
730
730
|
W(() => {
|
|
731
731
|
P || typeof window < "u" && window.location.hash.length === 0 && R.current?.focus();
|
|
732
732
|
}, []), W(() => {
|
|
733
|
-
if (
|
|
734
|
-
else return
|
|
733
|
+
if (he) ye(null);
|
|
734
|
+
else return ye(() => {
|
|
735
735
|
R.current?.focus();
|
|
736
|
-
}), () =>
|
|
737
|
-
}, [
|
|
736
|
+
}), () => ye(null);
|
|
737
|
+
}, [he, ye]), W(() => {
|
|
738
738
|
if (E) return E((e) => {
|
|
739
|
-
|
|
739
|
+
De(e);
|
|
740
740
|
}), () => {
|
|
741
741
|
E(null);
|
|
742
742
|
};
|
|
743
|
-
}, [E,
|
|
744
|
-
let
|
|
745
|
-
if (
|
|
743
|
+
}, [E, De]);
|
|
744
|
+
let Ne = U((e) => void De(e), [De]), z = xe.filter((e) => e.status === "uploaded"), Pe = xe.some((e) => e.status === "uploading"), Fe = xe.some((e) => e.status === "error"), Ie = !ue.isEmpty || z.length > 0, Le = async ({ text: e, mentions: n }) => {
|
|
745
|
+
if (Fe) return je(L.ai.fileUploadBlockedSubmit), !1;
|
|
746
746
|
if (a && await a() === !1) return !1;
|
|
747
|
-
let r =
|
|
747
|
+
let r = z, i = r.flatMap((e) => e.uploadedFile ? [e.uploadedFile] : []), o = u, s = m;
|
|
748
748
|
o && f?.(null), s && h?.(null);
|
|
749
749
|
try {
|
|
750
750
|
await t({
|
|
@@ -754,22 +754,22 @@ var Rn = ({ onSubmit: t, onStop: r, inProgress: i, onBeforeSubmit: a, placeholde
|
|
|
754
754
|
quote: s
|
|
755
755
|
});
|
|
756
756
|
} catch {
|
|
757
|
-
return o && (
|
|
757
|
+
return o && (ge.current == null || ge.current === o) && f?.(o), s && (_e.current == null || _e.current === s) && h?.(s), !1;
|
|
758
758
|
}
|
|
759
|
-
for (let e of r)
|
|
759
|
+
for (let e of r) ke(e.id);
|
|
760
760
|
return !0;
|
|
761
|
-
},
|
|
761
|
+
}, Re = oe ? oe.prompt ?? oe.title : null, ze = Re ? [Re] : o ?? [], B = N === "inside", Be = k && j && j.length > 0 && M ? /* @__PURE__ */ Y(An, {
|
|
762
762
|
suggestions: j,
|
|
763
|
-
onItemClick:
|
|
764
|
-
onItemHover:
|
|
765
|
-
side:
|
|
766
|
-
reserveTwoRows: !
|
|
767
|
-
overflow:
|
|
768
|
-
}) : null, Ve = !P ||
|
|
769
|
-
|
|
770
|
-
He(document.activeElement) ||
|
|
763
|
+
onItemClick: be,
|
|
764
|
+
onItemHover: se,
|
|
765
|
+
side: B ? "bottom" : "top",
|
|
766
|
+
reserveTwoRows: !B,
|
|
767
|
+
overflow: B ? "scroll" : "wrap"
|
|
768
|
+
}) : null, Ve = !P || ce || Ie || ue.recorder !== "idle", He = (e) => e instanceof Node ? fe.current?.contains(e) ? !0 : e instanceof Element && e.closest("[data-radix-popper-content-wrapper]") !== null : !1, Ue = () => {
|
|
769
|
+
pe.current && clearTimeout(pe.current), pe.current = setTimeout(() => {
|
|
770
|
+
He(document.activeElement) || le(!1);
|
|
771
771
|
}, 0);
|
|
772
|
-
}, We =
|
|
772
|
+
}, We = B, Ge = We && P, Ke = Ge && !Ve, qe = We && Be ? /* @__PURE__ */ Y("div", {
|
|
773
773
|
onClick: (e) => e.stopPropagation(),
|
|
774
774
|
children: Be
|
|
775
775
|
}) : void 0, Je = {
|
|
@@ -780,16 +780,16 @@ var Rn = ({ onSubmit: t, onStop: r, inProgress: i, onBeforeSubmit: a, placeholde
|
|
|
780
780
|
.2,
|
|
781
781
|
1
|
|
782
782
|
]
|
|
783
|
-
}, Ye = k && A && !!F && F.length > 0, Xe = A && k, { motionProps: Ze } =
|
|
783
|
+
}, Ye = k && A && !!F && F.length > 0, Xe = A && k, { motionProps: Ze } = w(k, 160, .5);
|
|
784
784
|
return /* @__PURE__ */ X(v.div, {
|
|
785
|
-
ref:
|
|
785
|
+
ref: ne,
|
|
786
786
|
"data-composer-layout": Xe ? "welcome" : "docked",
|
|
787
|
-
className: y("flex flex-col items-center gap-2",
|
|
787
|
+
className: y("flex flex-col items-center gap-2", I === "default" && "px-4 pb-3 pt-2", Xe && "min-h-0 flex-1 justify-start -mt-20"),
|
|
788
788
|
...A ? Ze : {},
|
|
789
789
|
children: [
|
|
790
790
|
/* @__PURE__ */ X("div", {
|
|
791
791
|
className: "flex w-full max-w-content flex-col gap-2",
|
|
792
|
-
children: [Be && !
|
|
792
|
+
children: [Be && !B ? /* @__PURE__ */ Y("div", { children: P ? /* @__PURE__ */ Y(s, {
|
|
793
793
|
initial: !1,
|
|
794
794
|
children: Ve ? /* @__PURE__ */ Y(v.div, {
|
|
795
795
|
className: "overflow-hidden",
|
|
@@ -812,75 +812,75 @@ var Rn = ({ onSubmit: t, onStop: r, inProgress: i, onBeforeSubmit: a, placeholde
|
|
|
812
812
|
creditWarning: c,
|
|
813
813
|
children: /* @__PURE__ */ Y(me, {
|
|
814
814
|
asForm: !0,
|
|
815
|
-
surfaceRef:
|
|
815
|
+
surfaceRef: fe,
|
|
816
816
|
handleRef: R,
|
|
817
817
|
className: "isolate z-20 items-stretch p-0 hover:cursor-text",
|
|
818
|
-
accent:
|
|
819
|
-
replacement:
|
|
820
|
-
onSurfaceFocus: () =>
|
|
818
|
+
accent: he,
|
|
819
|
+
replacement: he ? l : null,
|
|
820
|
+
onSurfaceFocus: () => le(!0),
|
|
821
821
|
onSurfaceBlur: Ue,
|
|
822
|
-
onStateChange:
|
|
823
|
-
onSend:
|
|
822
|
+
onStateChange: de,
|
|
823
|
+
onSend: Le,
|
|
824
824
|
inProgress: i,
|
|
825
825
|
onStop: r,
|
|
826
|
-
hasAttachments:
|
|
827
|
-
sendBlocked:
|
|
828
|
-
error:
|
|
826
|
+
hasAttachments: z.length > 0,
|
|
827
|
+
sendBlocked: Pe,
|
|
828
|
+
error: Ae,
|
|
829
829
|
role: "textbox",
|
|
830
|
-
name:
|
|
831
|
-
placeholders:
|
|
830
|
+
name: te,
|
|
831
|
+
placeholders: ze,
|
|
832
832
|
placeholdersPaused: i,
|
|
833
833
|
labels: {
|
|
834
|
-
placeholder:
|
|
835
|
-
listening:
|
|
836
|
-
send:
|
|
837
|
-
stop:
|
|
838
|
-
recordAudio:
|
|
839
|
-
cancelRecording:
|
|
840
|
-
confirmRecording:
|
|
841
|
-
micPermissionDenied:
|
|
842
|
-
micError:
|
|
843
|
-
transcriptionError:
|
|
844
|
-
mentionSuggestions:
|
|
834
|
+
placeholder: L.ai.inputPlaceholder,
|
|
835
|
+
listening: L.ai.listening,
|
|
836
|
+
send: L.ai.sendMessage,
|
|
837
|
+
stop: L.ai.stopAnswerGeneration,
|
|
838
|
+
recordAudio: L.ai.recordAudio,
|
|
839
|
+
cancelRecording: L.ai.cancelRecording,
|
|
840
|
+
confirmRecording: L.ai.stopRecording,
|
|
841
|
+
micPermissionDenied: L.ai.micPermissionDenied,
|
|
842
|
+
micError: L.ai.micError,
|
|
843
|
+
transcriptionError: L.ai.transcriptionError,
|
|
844
|
+
mentionSuggestions: L.ai.mentions.suggestions
|
|
845
845
|
},
|
|
846
846
|
mentions: {
|
|
847
|
-
sources:
|
|
848
|
-
showGroupLabels:
|
|
847
|
+
sources: Me,
|
|
848
|
+
showGroupLabels: Me.length > 1
|
|
849
849
|
},
|
|
850
850
|
voice: S ? {
|
|
851
851
|
onTranscribe: S,
|
|
852
|
-
onPress:
|
|
853
|
-
onCancelled:
|
|
852
|
+
onPress: ve?.onDictationStart,
|
|
853
|
+
onCancelled: ve?.onDictationCancel
|
|
854
854
|
} : void 0,
|
|
855
|
-
onPasteFiles: g?.onUploadFiles ?
|
|
855
|
+
onPasteFiles: g?.onUploadFiles ? Ne : void 0,
|
|
856
856
|
pastePreferText: !0,
|
|
857
857
|
header: m ? /* @__PURE__ */ Y(xn, {
|
|
858
858
|
quote: m,
|
|
859
859
|
onRemove: () => h?.(null)
|
|
860
860
|
}) : null,
|
|
861
861
|
tray: /* @__PURE__ */ Y(pn, {
|
|
862
|
-
attachedFiles:
|
|
863
|
-
isUploading:
|
|
864
|
-
onRemove:
|
|
865
|
-
removeLabel:
|
|
862
|
+
attachedFiles: xe,
|
|
863
|
+
isUploading: Pe,
|
|
864
|
+
onRemove: ke,
|
|
865
|
+
removeLabel: L.ai.removeFile,
|
|
866
866
|
reducedMotion: ae
|
|
867
867
|
}),
|
|
868
868
|
leading: We ? /* @__PURE__ */ Y("div", {
|
|
869
869
|
className: "flex shrink-0 self-center pl-3",
|
|
870
|
-
children: /* @__PURE__ */ Y(
|
|
870
|
+
children: /* @__PURE__ */ Y(re, {
|
|
871
871
|
size: "sm",
|
|
872
872
|
spin: i
|
|
873
873
|
})
|
|
874
874
|
}) : void 0,
|
|
875
|
-
toolbarStart:
|
|
876
|
-
onUploadFiles:
|
|
875
|
+
toolbarStart: Ce || _ || b?.length ? (e) => /* @__PURE__ */ X(J, { children: [/* @__PURE__ */ Y(vn, {
|
|
876
|
+
onUploadFiles: Ce,
|
|
877
877
|
composerActions: b,
|
|
878
878
|
onComposerActionsOpenChange: x,
|
|
879
|
-
isAtMaxFiles:
|
|
880
|
-
maxFiles:
|
|
881
|
-
acceptValue:
|
|
882
|
-
fileInputRef:
|
|
883
|
-
handleFileSelect:
|
|
879
|
+
isAtMaxFiles: Te,
|
|
880
|
+
maxFiles: Ee,
|
|
881
|
+
acceptValue: we,
|
|
882
|
+
fileInputRef: Se,
|
|
883
|
+
handleFileSelect: Oe,
|
|
884
884
|
recordingStatus: e
|
|
885
885
|
}), _ ? /* @__PURE__ */ Y("div", {
|
|
886
886
|
className: "min-w-0 cursor-default",
|
|
@@ -905,7 +905,7 @@ var Rn = ({ onSubmit: t, onStop: r, inProgress: i, onBeforeSubmit: a, placeholde
|
|
|
905
905
|
/* @__PURE__ */ Y(s, {
|
|
906
906
|
mode: "wait",
|
|
907
907
|
initial: !1,
|
|
908
|
-
children:
|
|
908
|
+
children: he ? /* @__PURE__ */ X(v.div, {
|
|
909
909
|
className: "flex w-full max-w-content flex-row flex-wrap items-center justify-center gap-x-3 gap-y-1 text-sm font-medium text-f1-foreground-tertiary",
|
|
910
910
|
initial: { opacity: 0 },
|
|
911
911
|
animate: { opacity: 1 },
|
|
@@ -921,7 +921,7 @@ var Rn = ({ onSubmit: t, onStop: r, inProgress: i, onBeforeSubmit: a, placeholde
|
|
|
921
921
|
children: "↑↓"
|
|
922
922
|
}),
|
|
923
923
|
" ",
|
|
924
|
-
|
|
924
|
+
L.ai.clarifyingQuestion.navHint.navigate
|
|
925
925
|
] }),
|
|
926
926
|
/* @__PURE__ */ X("span", { children: [
|
|
927
927
|
/* @__PURE__ */ Y("kbd", {
|
|
@@ -929,7 +929,7 @@ var Rn = ({ onSubmit: t, onStop: r, inProgress: i, onBeforeSubmit: a, placeholde
|
|
|
929
929
|
children: "Enter"
|
|
930
930
|
}),
|
|
931
931
|
" ",
|
|
932
|
-
|
|
932
|
+
L.ai.clarifyingQuestion.navHint.select
|
|
933
933
|
] }),
|
|
934
934
|
/* @__PURE__ */ X("span", { children: [
|
|
935
935
|
/* @__PURE__ */ Y("kbd", {
|
|
@@ -937,7 +937,7 @@ var Rn = ({ onSubmit: t, onStop: r, inProgress: i, onBeforeSubmit: a, placeholde
|
|
|
937
937
|
children: "Esc"
|
|
938
938
|
}),
|
|
939
939
|
" ",
|
|
940
|
-
|
|
940
|
+
L.ai.clarifyingQuestion.navHint.cancel
|
|
941
941
|
] })
|
|
942
942
|
]
|
|
943
943
|
}, "clarifying-nav-hint") : (D?.text || O) && !Xe && /* @__PURE__ */ X(v.div, {
|
|
@@ -946,7 +946,7 @@ var Rn = ({ onSubmit: t, onStop: r, inProgress: i, onBeforeSubmit: a, placeholde
|
|
|
946
946
|
animate: { opacity: 1 },
|
|
947
947
|
exit: { opacity: 0 },
|
|
948
948
|
transition: {
|
|
949
|
-
duration:
|
|
949
|
+
duration: ie ? 0 : .3,
|
|
950
950
|
ease: "easeOut"
|
|
951
951
|
},
|
|
952
952
|
children: [/* @__PURE__ */ X("div", {
|
|
@@ -1013,12 +1013,12 @@ function Un({ ...e }) {
|
|
|
1013
1013
|
//#endregion
|
|
1014
1014
|
//#region src/addons/ai/ai/F0AiChat/components/markdownRenderers/components/Image.tsx
|
|
1015
1015
|
function Wn({ src: e, alt: t, ...n }) {
|
|
1016
|
-
let r = d(), a = Se(), o =
|
|
1016
|
+
let r = d(), a = Se(), o = st(), s = D(e || void 0), [c, l] = q(!1), [u, f] = q(!1), p = t || (e ? Ye(e) : "") || "image";
|
|
1017
1017
|
if (!e || c || s.status === "error") return t ? /* @__PURE__ */ Y("span", {
|
|
1018
1018
|
className: "text-f1-foreground-secondary",
|
|
1019
1019
|
children: t
|
|
1020
1020
|
}) : null;
|
|
1021
|
-
let m = s.status === "ready" ? /* @__PURE__ */ Y(
|
|
1021
|
+
let m = s.status === "ready" ? /* @__PURE__ */ Y(Be, {
|
|
1022
1022
|
...n,
|
|
1023
1023
|
src: s.url,
|
|
1024
1024
|
alt: t,
|
|
@@ -1046,7 +1046,7 @@ function Wn({ src: e, alt: t, ...n }) {
|
|
|
1046
1046
|
variant: "neutral",
|
|
1047
1047
|
label: r.chat.download,
|
|
1048
1048
|
hideLabel: !0,
|
|
1049
|
-
icon:
|
|
1049
|
+
icon: z,
|
|
1050
1050
|
onClick: () => o(e, p)
|
|
1051
1051
|
})
|
|
1052
1052
|
})]
|
|
@@ -1055,7 +1055,7 @@ function Wn({ src: e, alt: t, ...n }) {
|
|
|
1055
1055
|
//#endregion
|
|
1056
1056
|
//#region src/addons/ai/ai/F0AiChat/components/markdownRenderers/components/Link.tsx
|
|
1057
1057
|
function Gn({ children: e, ...t }) {
|
|
1058
|
-
return /* @__PURE__ */ Y(
|
|
1058
|
+
return /* @__PURE__ */ Y(F, {
|
|
1059
1059
|
...t,
|
|
1060
1060
|
variant: "link",
|
|
1061
1061
|
href: t.href,
|
|
@@ -1121,7 +1121,7 @@ function Yn({ id: e, trigger: t, resolver: n, contentClassName: r = "w-64", ...i
|
|
|
1121
1121
|
side: "top",
|
|
1122
1122
|
align: "start",
|
|
1123
1123
|
className: y(r, "rounded-2xl border-none p-0 shadow-md"),
|
|
1124
|
-
children: c ? /* @__PURE__ */ Y(
|
|
1124
|
+
children: c ? /* @__PURE__ */ Y(N.Skeleton, {}) : i.renderCard ? i.renderCard(m) : /* @__PURE__ */ Y(N, { ...m ? i.mapToCard(m) : i.fallbackCard })
|
|
1125
1125
|
})]
|
|
1126
1126
|
});
|
|
1127
1127
|
}
|
|
@@ -1309,7 +1309,7 @@ function ir({ id: e, label: t }) {
|
|
|
1309
1309
|
trigger: /* @__PURE__ */ Y(Xn, { label: t }),
|
|
1310
1310
|
resolver: r,
|
|
1311
1311
|
contentClassName: "w-72",
|
|
1312
|
-
renderCard: (e) => e ? /* @__PURE__ */ Y(
|
|
1312
|
+
renderCard: (e) => e ? /* @__PURE__ */ Y(ot, {
|
|
1313
1313
|
name: `${e.firstName} ${e.lastName}`,
|
|
1314
1314
|
avatar: {
|
|
1315
1315
|
type: "person",
|
|
@@ -1320,7 +1320,7 @@ function ir({ id: e, label: t }) {
|
|
|
1320
1320
|
subtitle: e.jobTitle,
|
|
1321
1321
|
profileHref: i,
|
|
1322
1322
|
actions: e.actions
|
|
1323
|
-
}) : /* @__PURE__ */ Y(
|
|
1323
|
+
}) : /* @__PURE__ */ Y(ot, {
|
|
1324
1324
|
name: t,
|
|
1325
1325
|
profileHref: i
|
|
1326
1326
|
})
|
|
@@ -1370,7 +1370,7 @@ function sr({ id: e, label: t }) {
|
|
|
1370
1370
|
label: i.t("ai.entityRef.requisition.lineManager"),
|
|
1371
1371
|
value: /* @__PURE__ */ X("div", {
|
|
1372
1372
|
className: "flex items-center gap-1.5 pt-1",
|
|
1373
|
-
children: [/* @__PURE__ */ Y(
|
|
1373
|
+
children: [/* @__PURE__ */ Y(ht, {
|
|
1374
1374
|
firstName: e.lineManager.firstName,
|
|
1375
1375
|
lastName: e.lineManager.lastName,
|
|
1376
1376
|
src: e.lineManager.avatarUrl,
|
|
@@ -1487,11 +1487,11 @@ function mr({ type: e, id: t, children: n }) {
|
|
|
1487
1487
|
//#endregion
|
|
1488
1488
|
//#region src/addons/ai/ai/F0AiChat/components/markdownRenderers/components/Table.tsx
|
|
1489
1489
|
async function hr(e, t, n) {
|
|
1490
|
-
let r =
|
|
1490
|
+
let r = at(e), i = t === "xlsx" ? await ue([{
|
|
1491
1491
|
name: "Data",
|
|
1492
1492
|
rows: r
|
|
1493
1493
|
}]) : await se(r);
|
|
1494
|
-
|
|
1494
|
+
T(i, `${n}.${t}`);
|
|
1495
1495
|
}
|
|
1496
1496
|
function gr({ children: e, title: t, ...r }) {
|
|
1497
1497
|
let i = d(), a = K(null), o = U((e) => {
|
|
@@ -1507,16 +1507,16 @@ function gr({ children: e, title: t, ...r }) {
|
|
|
1507
1507
|
tag: "h2",
|
|
1508
1508
|
className: "text-base font-medium capitalize text-f1-foreground",
|
|
1509
1509
|
children: t ?? i.ai.reportCard.tableLabel
|
|
1510
|
-
}), /* @__PURE__ */ Y(
|
|
1511
|
-
icon:
|
|
1510
|
+
}), /* @__PURE__ */ Y(rt, {
|
|
1511
|
+
icon: z,
|
|
1512
1512
|
size: "md",
|
|
1513
1513
|
items: [{
|
|
1514
1514
|
label: i.t("ai.dataDownload.download", { format: "Excel" }),
|
|
1515
|
-
icon:
|
|
1515
|
+
icon: z,
|
|
1516
1516
|
onClick: () => o("xlsx")
|
|
1517
1517
|
}, {
|
|
1518
1518
|
label: i.t("ai.dataDownload.download", { format: "CSV" }),
|
|
1519
|
-
icon:
|
|
1519
|
+
icon: z,
|
|
1520
1520
|
onClick: () => o("csv")
|
|
1521
1521
|
}]
|
|
1522
1522
|
})]
|
|
@@ -1620,7 +1620,7 @@ var Tr = {
|
|
|
1620
1620
|
return i ? `${r}.${i}` : r;
|
|
1621
1621
|
}
|
|
1622
1622
|
let n = t.split("?")[1], r = n ? new URLSearchParams(n.split("#")[0]).get("path") : null;
|
|
1623
|
-
return
|
|
1623
|
+
return Ye(r ?? t) || e || "file";
|
|
1624
1624
|
}, Or = (e, t) => e.startsWith("data:") ? e : `data:${t ?? "application/octet-stream"};base64,${e}`, kr = (e, t) => {
|
|
1625
1625
|
let n = Z(e.data), r = Z(e.url) ?? (n ? Or(n, t) : void 0);
|
|
1626
1626
|
return r ? {
|
|
@@ -1658,17 +1658,17 @@ var Tr = {
|
|
|
1658
1658
|
if (n.length !== 0) return t === "user" ? n[n.length - 1] : n.join("\n\n");
|
|
1659
1659
|
}, Fr = (e, { urlFor: t } = {}) => ({
|
|
1660
1660
|
url: e.url ?? t?.(e.path) ?? e.path,
|
|
1661
|
-
name: e.displayName ||
|
|
1661
|
+
name: e.displayName || Ye(e.path),
|
|
1662
1662
|
mimeType: e.mimeType,
|
|
1663
1663
|
size: e.bytes,
|
|
1664
1664
|
previewUrl: e.preview && t ? t(e.preview.path) : void 0
|
|
1665
|
-
}), Ir = (e) =>
|
|
1665
|
+
}), Ir = (e) => We(e) ?? "", Lr = ({ avatar: e }) => e?.type === "module" ? /* @__PURE__ */ Y(mt, {
|
|
1666
1666
|
module: e.module,
|
|
1667
1667
|
size: "md"
|
|
1668
|
-
}) : e?.type === "file" ? /* @__PURE__ */ Y(
|
|
1668
|
+
}) : e?.type === "file" ? /* @__PURE__ */ Y(pt, {
|
|
1669
1669
|
file: e.file,
|
|
1670
1670
|
size: "lg"
|
|
1671
|
-
}) : e?.type === "icon" ? /* @__PURE__ */ Y(
|
|
1671
|
+
}) : e?.type === "icon" ? /* @__PURE__ */ Y(ft, {
|
|
1672
1672
|
icon: e.icon,
|
|
1673
1673
|
size: "md"
|
|
1674
1674
|
}) : null, Rr = ({ action: e, isActive: t }) => {
|
|
@@ -1917,10 +1917,10 @@ function ti() {
|
|
|
1917
1917
|
//#endregion
|
|
1918
1918
|
//#region src/addons/ai/ai/F0AiFileAttachments/F0AiFileAttachments.tsx
|
|
1919
1919
|
var ni = "rounded-xl", ri = "ai-chat", ii = (e) => {
|
|
1920
|
-
let { provided: t } =
|
|
1921
|
-
return t ? /* @__PURE__ */ Y(ai, { ...e }) : /* @__PURE__ */ Y(
|
|
1920
|
+
let { provided: t } = He();
|
|
1921
|
+
return t ? /* @__PURE__ */ Y(ai, { ...e }) : /* @__PURE__ */ Y($e, { children: /* @__PURE__ */ Y(ai, { ...e }) });
|
|
1922
1922
|
}, ai = ({ files: e, align: t = "start", onOpenFile: n, onFileDownloaded: r, size: i = "default" }) => {
|
|
1923
|
-
let { remotePreviews: a } =
|
|
1923
|
+
let { remotePreviews: a } = He(), { openImagePreview: o } = ct(), [s, c] = q(() => /* @__PURE__ */ new Set()), l = G(() => oi(e, a, s), [
|
|
1924
1924
|
e,
|
|
1925
1925
|
a,
|
|
1926
1926
|
s
|
|
@@ -1933,13 +1933,13 @@ var ni = "rounded-xl", ri = "ai-chat", ii = (e) => {
|
|
|
1933
1933
|
onOpenFile: n,
|
|
1934
1934
|
onFileDownloaded: r,
|
|
1935
1935
|
openImage: (e, t) => {
|
|
1936
|
-
n?.(e, "image") !== !1 && o(l.images.map(
|
|
1936
|
+
n?.(e, "image") !== !1 && o(l.images.map(nt), t);
|
|
1937
1937
|
},
|
|
1938
1938
|
onImageError: (e) => c((t) => new Set(t).add(e.url))
|
|
1939
1939
|
};
|
|
1940
1940
|
return Y(i === "compact" ? li : ci, { ...u });
|
|
1941
1941
|
}, oi = (e, t, n) => {
|
|
1942
|
-
let r = (e) => t ||
|
|
1942
|
+
let r = (e) => t || ee(e.url), i = Ie(e.filter(r)), a = /* @__PURE__ */ new Set([
|
|
1943
1943
|
...e.filter((e) => !r(e)),
|
|
1944
1944
|
...i.images.filter((e) => n.has(e.url)),
|
|
1945
1945
|
...i.files
|
|
@@ -1972,7 +1972,7 @@ var ni = "rounded-xl", ri = "ai-chat", ii = (e) => {
|
|
|
1972
1972
|
testIdPrefix: ri,
|
|
1973
1973
|
onDownloaded: () => c?.(e)
|
|
1974
1974
|
}, `${e.name}-${t}`)),
|
|
1975
|
-
n.map(({ file: e, kind: t }, n) => /* @__PURE__ */ Y(
|
|
1975
|
+
n.map(({ file: e, kind: t }, n) => /* @__PURE__ */ Y(M, {
|
|
1976
1976
|
file: we(e),
|
|
1977
1977
|
kind: t,
|
|
1978
1978
|
cornerClass: "rounded-xl",
|
|
@@ -1998,7 +1998,7 @@ var ni = "rounded-xl", ri = "ai-chat", ii = (e) => {
|
|
|
1998
1998
|
className: y("flex max-w-full flex-wrap gap-1", a === "end" ? "justify-end" : "justify-start"),
|
|
1999
1999
|
children: d.map((e, n) => {
|
|
2000
2000
|
let r = u.get(e);
|
|
2001
|
-
return r ? /* @__PURE__ */ Y(
|
|
2001
|
+
return r ? /* @__PURE__ */ Y(M, {
|
|
2002
2002
|
file: we(e),
|
|
2003
2003
|
kind: r,
|
|
2004
2004
|
cornerClass: "rounded-lg",
|
|
@@ -2020,7 +2020,7 @@ var ni = "rounded-xl", ri = "ai-chat", ii = (e) => {
|
|
|
2020
2020
|
})]
|
|
2021
2021
|
});
|
|
2022
2022
|
}, ui = ({ files: e, align: t, onFileDownloaded: n }) => {
|
|
2023
|
-
let r =
|
|
2023
|
+
let r = st();
|
|
2024
2024
|
return e.length === 0 ? null : /* @__PURE__ */ Y("div", {
|
|
2025
2025
|
className: y("flex max-w-full flex-wrap gap-1.5", t === "end" ? "justify-end" : "justify-start"),
|
|
2026
2026
|
children: e.map((e, t) => /* @__PURE__ */ Y(fi, {
|
|
@@ -2031,7 +2031,7 @@ var ni = "rounded-xl", ri = "ai-chat", ii = (e) => {
|
|
|
2031
2031
|
}, `${e.name}-${t}`))
|
|
2032
2032
|
});
|
|
2033
2033
|
}, di = ({ file: e, onOpen: t, onError: n }) => {
|
|
2034
|
-
let r = d(), i =
|
|
2034
|
+
let r = d(), i = D(e.thumbnailUrl ?? e.url);
|
|
2035
2035
|
return le(i.status, n), /* @__PURE__ */ Y("button", {
|
|
2036
2036
|
type: "button",
|
|
2037
2037
|
onClick: t,
|
|
@@ -2039,7 +2039,7 @@ var ni = "rounded-xl", ri = "ai-chat", ii = (e) => {
|
|
|
2039
2039
|
"aria-label": r.t("chat.openNamedDocument", { name: e.name }),
|
|
2040
2040
|
className: y("relative box-border h-16 w-16 shrink-0 overflow-hidden rounded-lg border border-solid border-f1-border-secondary bg-f1-background-secondary p-0 transition-opacity hover:opacity-90", b()),
|
|
2041
2041
|
"data-testid": "ai-chat-image-attachment",
|
|
2042
|
-
children: i.status === "ready" ? /* @__PURE__ */ Y(
|
|
2042
|
+
children: i.status === "ready" ? /* @__PURE__ */ Y(Be, {
|
|
2043
2043
|
src: i.url,
|
|
2044
2044
|
alt: e.name,
|
|
2045
2045
|
draggable: !1,
|
|
@@ -2049,7 +2049,7 @@ var ni = "rounded-xl", ri = "ai-chat", ii = (e) => {
|
|
|
2049
2049
|
});
|
|
2050
2050
|
}, fi = ({ file: e, onDownload: t }) => {
|
|
2051
2051
|
let n = d();
|
|
2052
|
-
return /* @__PURE__ */ Y(
|
|
2052
|
+
return /* @__PURE__ */ Y(C, {
|
|
2053
2053
|
file: {
|
|
2054
2054
|
name: e.name,
|
|
2055
2055
|
type: Ir(e)
|
|
@@ -2057,22 +2057,22 @@ var ni = "rounded-xl", ri = "ai-chat", ii = (e) => {
|
|
|
2057
2057
|
size: "lg",
|
|
2058
2058
|
actions: [{
|
|
2059
2059
|
label: n.t("chat.downloadNamedFile", { name: e.name }),
|
|
2060
|
-
icon:
|
|
2060
|
+
icon: z,
|
|
2061
2061
|
onClick: t
|
|
2062
2062
|
}]
|
|
2063
2063
|
});
|
|
2064
2064
|
}, pi = ({ images: e, onOpen: t, onImageError: n }) => {
|
|
2065
|
-
let r = d(), i = e.length === 1 ? e[0] : void 0, a =
|
|
2065
|
+
let r = d(), i = e.length === 1 ? e[0] : void 0, a = D(i ? i.thumbnailUrl ?? i.url : void 0), o = Ue(i && a.status === "ready" ? a.url : void 0, i) ?? void 0, s = i ? be(o?.width, o?.height) : null;
|
|
2066
2066
|
return /* @__PURE__ */ Y("div", {
|
|
2067
2067
|
style: s ? { width: s.width } : void 0,
|
|
2068
|
-
className: y("grid grid-cols-2 overflow-hidden border border-solid border-f1-border-secondary", s ? "max-w-full" : Le,
|
|
2068
|
+
className: y("grid grid-cols-2 overflow-hidden border border-solid border-f1-border-secondary", s ? "max-w-full" : Le, et, ni),
|
|
2069
2069
|
"data-testid": "ai-chat-image-album",
|
|
2070
2070
|
children: Ae(o ? [o] : e).map((i, a, o) => {
|
|
2071
2071
|
let s = e[i.index];
|
|
2072
2072
|
if (!s) return null;
|
|
2073
2073
|
let c = a === o.length - 1;
|
|
2074
2074
|
return /* @__PURE__ */ Y(ke, {
|
|
2075
|
-
image:
|
|
2075
|
+
image: nt(s),
|
|
2076
2076
|
aspectRatio: i.aspectRatio,
|
|
2077
2077
|
spanFull: i.span === 2,
|
|
2078
2078
|
inset: i.inset,
|
|
@@ -2176,7 +2176,7 @@ function bi({ anchor: e, onReply: t }) {
|
|
|
2176
2176
|
}
|
|
2177
2177
|
//#endregion
|
|
2178
2178
|
//#region src/addons/ai/ai/F0AiMessagesContainer/components/AssistantMessage.tsx
|
|
2179
|
-
var xi = Vt(void 0), Si = () => Wt(xi), Ci = (e) => /* @__PURE__ */ Y(
|
|
2179
|
+
var xi = Vt(void 0), Si = () => Wt(xi), Ci = (e) => /* @__PURE__ */ Y(B, {
|
|
2180
2180
|
content: e,
|
|
2181
2181
|
format: "markdown"
|
|
2182
2182
|
}), wi = ({ isGenerating: e, isLoading: t, message: n, renderToolCall: r, onReplyQuote: i, onRendered: a, renderMarkdown: o }) => {
|
|
@@ -2255,7 +2255,7 @@ var xi = Vt(void 0), Si = () => Wt(xi), Ci = (e) => /* @__PURE__ */ Y(Be, {
|
|
|
2255
2255
|
},
|
|
2256
2256
|
children: /* @__PURE__ */ Y("div", {
|
|
2257
2257
|
className: "flex flex-col gap-6",
|
|
2258
|
-
children: /* @__PURE__ */ Y(
|
|
2258
|
+
children: /* @__PURE__ */ Y(P, {
|
|
2259
2259
|
autoFocus: !0,
|
|
2260
2260
|
label: c,
|
|
2261
2261
|
placeholder: l,
|
|
@@ -2320,7 +2320,7 @@ var Ai = ({ content: e, targetMessage: n, onCopy: r }) => {
|
|
|
2320
2320
|
return /* @__PURE__ */ X("div", {
|
|
2321
2321
|
className: "flex",
|
|
2322
2322
|
children: [
|
|
2323
|
-
/* @__PURE__ */ Y(
|
|
2323
|
+
/* @__PURE__ */ Y(Ke, {
|
|
2324
2324
|
size: "md",
|
|
2325
2325
|
variant: "ghost",
|
|
2326
2326
|
valueToCopy: e,
|
|
@@ -2341,7 +2341,7 @@ var Ai = ({ content: e, targetMessage: n, onCopy: r }) => {
|
|
|
2341
2341
|
className: "flex min-w-0 flex-1 items-center justify-center gap-1",
|
|
2342
2342
|
children: /* @__PURE__ */ Y(m, {
|
|
2343
2343
|
size: "md",
|
|
2344
|
-
icon: o === "like" ? Ee :
|
|
2344
|
+
icon: o === "like" ? Ee : Ze,
|
|
2345
2345
|
color: "default"
|
|
2346
2346
|
})
|
|
2347
2347
|
})
|
|
@@ -2359,7 +2359,7 @@ var Ai = ({ content: e, targetMessage: n, onCopy: r }) => {
|
|
|
2359
2359
|
className: "flex min-w-0 flex-1 items-center justify-center gap-1",
|
|
2360
2360
|
children: /* @__PURE__ */ Y(m, {
|
|
2361
2361
|
size: "md",
|
|
2362
|
-
icon: o === "dislike" ?
|
|
2362
|
+
icon: o === "dislike" ? Ve : Je,
|
|
2363
2363
|
color: "default"
|
|
2364
2364
|
})
|
|
2365
2365
|
})
|
|
@@ -2374,7 +2374,7 @@ var Ai = ({ content: e, targetMessage: n, onCopy: r }) => {
|
|
|
2374
2374
|
onOpenChange: (e) => {
|
|
2375
2375
|
s || (d || l(e), o?.(e));
|
|
2376
2376
|
},
|
|
2377
|
-
children: [/* @__PURE__ */ X(
|
|
2377
|
+
children: [/* @__PURE__ */ X(A, {
|
|
2378
2378
|
disabled: s,
|
|
2379
2379
|
className: y("gap-1", s ? "flex w-full items-center text-base text-f1-foreground-secondary" : "flex w-full items-center text-base text-f1-foreground-secondary transition-colors duration-150 hover:text-f1-foreground [&[data-state=open]>svg]:rotate-90"),
|
|
2380
2380
|
children: [
|
|
@@ -2447,7 +2447,7 @@ var Ai = ({ content: e, targetMessage: n, onCopy: r }) => {
|
|
|
2447
2447
|
}, [n, o]);
|
|
2448
2448
|
let l = n ? a.ai.thoughtsGroupTitle : t ?? a.ai.thoughtsGroupTitle, u = e.length - 1, f = (e) => !n || r ? "completed" : e === u ? "executing" : "completed";
|
|
2449
2449
|
return /* @__PURE__ */ Y(ji, {
|
|
2450
|
-
icon:
|
|
2450
|
+
icon: Qe,
|
|
2451
2451
|
title: l,
|
|
2452
2452
|
open: o,
|
|
2453
2453
|
onOpenChange: s,
|
|
@@ -2456,7 +2456,7 @@ var Ai = ({ content: e, targetMessage: n, onCopy: r }) => {
|
|
|
2456
2456
|
className: "flex flex-col gap-3 pb-4",
|
|
2457
2457
|
children: e.map((t, n) => /* @__PURE__ */ X("div", {
|
|
2458
2458
|
className: "relative",
|
|
2459
|
-
children: [/* @__PURE__ */ Y(
|
|
2459
|
+
children: [/* @__PURE__ */ Y(ne, {
|
|
2460
2460
|
title: t,
|
|
2461
2461
|
status: f(n),
|
|
2462
2462
|
suffix: f(n) === "executing" ? /* @__PURE__ */ Y(Pi, { startedAt: i }) : void 0,
|
|
@@ -2468,14 +2468,14 @@ var Ai = ({ content: e, targetMessage: n, onCopy: r }) => {
|
|
|
2468
2468
|
}, n))
|
|
2469
2469
|
})
|
|
2470
2470
|
});
|
|
2471
|
-
}, Ii = (e) => /* @__PURE__ */ Y(
|
|
2471
|
+
}, Ii = (e) => /* @__PURE__ */ Y(B, {
|
|
2472
2472
|
content: e,
|
|
2473
2473
|
format: "markdown"
|
|
2474
2474
|
}), Li = ({ text: e, renderMarkdown: t }) => /* @__PURE__ */ X("div", {
|
|
2475
2475
|
className: "flex max-w-[90%] items-start gap-2 self-end pb-1 pr-2 text-f1-foreground-tertiary",
|
|
2476
2476
|
children: [/* @__PURE__ */ Y("div", {
|
|
2477
2477
|
className: "flex h-5 items-center",
|
|
2478
|
-
children: /* @__PURE__ */ Y(m, { icon:
|
|
2478
|
+
children: /* @__PURE__ */ Y(m, { icon: it })
|
|
2479
2479
|
}), /* @__PURE__ */ Y("div", {
|
|
2480
2480
|
className: "min-w-0 whitespace-pre-wrap text-base leading-5 [&>div]:flex [&>div]:flex-col [&>div]:gap-1 [&_p]:m-0",
|
|
2481
2481
|
children: (t ?? Ii)(e)
|
|
@@ -2657,8 +2657,8 @@ var Ji = {
|
|
|
2657
2657
|
onThumbsUp: () => {},
|
|
2658
2658
|
onThumbsDown: () => {}
|
|
2659
2659
|
}, Yi = (e) => {
|
|
2660
|
-
let t =
|
|
2661
|
-
return e.filePreviews || !t.provided ? /* @__PURE__ */ Y(
|
|
2660
|
+
let t = He(), n = /* @__PURE__ */ Y(Di, { children: /* @__PURE__ */ Y(Xi, { ...e }) });
|
|
2661
|
+
return e.filePreviews || !t.provided ? /* @__PURE__ */ Y($e, {
|
|
2662
2662
|
filePreviews: e.filePreviews,
|
|
2663
2663
|
children: n
|
|
2664
2664
|
}) : n;
|
|
@@ -2666,14 +2666,14 @@ var Ji = {
|
|
|
2666
2666
|
let { modal: D, handleSubmit: O, handleClose: ee } = ki(h ?? Ji), k = d(), A = C ?? wi, j = w ?? Ri, M = G(() => {
|
|
2667
2667
|
let e = r ?? k.ai.defaultInitialMessage;
|
|
2668
2668
|
return (Array.isArray(e) ? e : [e]).filter((e) => typeof e == "string" && e.length > 0);
|
|
2669
|
-
}, [r, k.ai.defaultInitialMessage]), N = !t && e.length === 0 && M.length > 0, P = K(null), F = K(null),
|
|
2669
|
+
}, [r, k.ai.defaultInitialMessage]), N = !t && e.length === 0 && M.length > 0, P = K(null), F = K(null), I = K(null), te = K(null), re = K(null), { showScrollBtn: L, turnMinHeight: ie, scrollToBottom: ae } = qi({
|
|
2670
2670
|
viewportRef: P,
|
|
2671
2671
|
contentRef: F,
|
|
2672
|
-
endRef:
|
|
2672
|
+
endRef: I,
|
|
2673
2673
|
lastTurnRef: re,
|
|
2674
2674
|
turnsCount: e.length,
|
|
2675
2675
|
freezeTurnMinHeight: g
|
|
2676
|
-
}), R = e[e.length - 1],
|
|
2676
|
+
}), R = e[e.length - 1], oe = Ki(!(!R || R.endIndicator !== "thinking" && !R.thinking?.inProgress), R?.thinking?.startedAt), se = R?.endIndicator === "asking", ce = (t, n) => {
|
|
2677
2677
|
let r = n === e.length - 1, i = {
|
|
2678
2678
|
renderToolCall: l,
|
|
2679
2679
|
onReplyQuote: u,
|
|
@@ -2716,7 +2716,7 @@ var Ji = {
|
|
|
2716
2716
|
return /* @__PURE__ */ X("div", {
|
|
2717
2717
|
ref: r ? re : void 0,
|
|
2718
2718
|
className: y("flex flex-col items-start justify-start gap-2 px-1", r && "pb-5"),
|
|
2719
|
-
style: { minHeight: r &&
|
|
2719
|
+
style: { minHeight: r && ie || void 0 },
|
|
2720
2720
|
children: [
|
|
2721
2721
|
t.userMessages.map((e, t) => a(e, t)),
|
|
2722
2722
|
t.thinking && t.thinking.titles.length > 0 ? /* @__PURE__ */ Y(Fi, {
|
|
@@ -2724,16 +2724,16 @@ var Ji = {
|
|
|
2724
2724
|
title: k.ai.thoughtsGroupTitle,
|
|
2725
2725
|
inProgress: t.thinking.inProgress,
|
|
2726
2726
|
isWriting: t.thinking.isWriting,
|
|
2727
|
-
startedAt: r ?
|
|
2727
|
+
startedAt: r ? oe : null
|
|
2728
2728
|
}) : null,
|
|
2729
2729
|
t.assistantMessages.map((e, t) => o(e, t)),
|
|
2730
|
-
t.endIndicator === "thinking" ? /* @__PURE__ */ Y(
|
|
2730
|
+
t.endIndicator === "thinking" ? /* @__PURE__ */ Y(ne, {
|
|
2731
2731
|
title: k.ai.thinking,
|
|
2732
2732
|
status: "executing",
|
|
2733
|
-
suffix: /* @__PURE__ */ Y(Pi, { startedAt:
|
|
2733
|
+
suffix: /* @__PURE__ */ Y(Pi, { startedAt: oe })
|
|
2734
2734
|
}) : null,
|
|
2735
|
-
t.endIndicator === "activity" ? /* @__PURE__ */ Y(
|
|
2736
|
-
t.endIndicator === "asking" ? /* @__PURE__ */ Y(
|
|
2735
|
+
t.endIndicator === "activity" ? /* @__PURE__ */ Y(ne, { status: "writing" }) : null,
|
|
2736
|
+
t.endIndicator === "asking" ? /* @__PURE__ */ Y(ne, {
|
|
2737
2737
|
title: k.ai.askingQuestions,
|
|
2738
2738
|
status: "asking"
|
|
2739
2739
|
}) : null,
|
|
@@ -2752,7 +2752,7 @@ var Ji = {
|
|
|
2752
2752
|
/* @__PURE__ */ Y("div", {
|
|
2753
2753
|
role: "status",
|
|
2754
2754
|
className: "sr-only",
|
|
2755
|
-
children:
|
|
2755
|
+
children: se ? k.ai.askingQuestions : ""
|
|
2756
2756
|
}),
|
|
2757
2757
|
/* @__PURE__ */ Y("div", {
|
|
2758
2758
|
ref: P,
|
|
@@ -2773,21 +2773,21 @@ var Ji = {
|
|
|
2773
2773
|
onClick: c,
|
|
2774
2774
|
fullscreen: x
|
|
2775
2775
|
}) : null,
|
|
2776
|
-
t ? null : e.map((e, t) =>
|
|
2776
|
+
t ? null : e.map((e, t) => ce(e, t)),
|
|
2777
2777
|
n
|
|
2778
2778
|
]
|
|
2779
2779
|
}),
|
|
2780
2780
|
/* @__PURE__ */ Y("div", {
|
|
2781
|
-
ref:
|
|
2781
|
+
ref: te,
|
|
2782
2782
|
className: "h-px shrink-0",
|
|
2783
2783
|
"aria-hidden": !0
|
|
2784
2784
|
}),
|
|
2785
2785
|
/* @__PURE__ */ Y("footer", {
|
|
2786
2786
|
className: "copilotKitMessagesFooter",
|
|
2787
|
-
ref:
|
|
2787
|
+
ref: I,
|
|
2788
2788
|
children: S
|
|
2789
2789
|
}),
|
|
2790
|
-
/* @__PURE__ */ Y(s, { children:
|
|
2790
|
+
/* @__PURE__ */ Y(s, { children: L ? /* @__PURE__ */ Y(v.div, {
|
|
2791
2791
|
className: "sticky bottom-[calc(0.5rem+var(--f0-ai-composer-overlap,0px))] z-10 flex justify-center",
|
|
2792
2792
|
initial: {
|
|
2793
2793
|
opacity: 0,
|
|
@@ -2813,7 +2813,7 @@ var Ji = {
|
|
|
2813
2813
|
]
|
|
2814
2814
|
})
|
|
2815
2815
|
}),
|
|
2816
|
-
!b && !N ? /* @__PURE__ */ Y(
|
|
2816
|
+
!b && !N ? /* @__PURE__ */ Y(qe, { position: "top" }, "shadow-top") : null
|
|
2817
2817
|
]
|
|
2818
2818
|
}), D.isOpen ? /* @__PURE__ */ Y(Ti, {
|
|
2819
2819
|
onSubmit: O,
|
|
@@ -2835,7 +2835,7 @@ var Ji = {
|
|
|
2835
2835
|
/* @__PURE__ */ Y(c, { className: "h-5 w-4/5 rounded-md" })
|
|
2836
2836
|
]
|
|
2837
2837
|
})
|
|
2838
|
-
}), $i = { ai:
|
|
2838
|
+
}), $i = { ai: dt.ai }, ea = Vt(null);
|
|
2839
2839
|
function ta({ children: e, translations: t }) {
|
|
2840
2840
|
return /* @__PURE__ */ Y(ea.Provider, {
|
|
2841
2841
|
value: t,
|
|
@@ -3079,7 +3079,7 @@ var ua = [
|
|
|
3079
3079
|
onClick: l,
|
|
3080
3080
|
label: u.actions.cancel,
|
|
3081
3081
|
hideLabel: !0,
|
|
3082
|
-
icon:
|
|
3082
|
+
icon: x
|
|
3083
3083
|
})
|
|
3084
3084
|
]
|
|
3085
3085
|
});
|
|
@@ -3090,20 +3090,20 @@ var ua = [
|
|
|
3090
3090
|
let r = d(), i = e(), { currentStep: a, currentStepIndex: o, totalSteps: c, toggleOption: l, confirm: u, skip: f, cancel: p, back: m, setCustomAnswerText: h, setCustomAnswerActive: g, activateCustomAnswer: _ } = t, { question: y, options: b, selectedOptionIds: x, selectionMode: S, optional: C, allowCustomAnswer: w, customAnswerText: T, isCustomAnswerActive: E } = a, D = K(null), O = S ?? "single", ee = c > 1, k = o === 0, A = o === c - 1, j = ee ? r.t("ai.clarifyingQuestion.stepOf", {
|
|
3091
3091
|
current: String(o + 1),
|
|
3092
3092
|
total: String(c)
|
|
3093
|
-
}) : void 0, M = x.length > 0, N = (T ?? "").trim().length > 0, P = M || E && N || C === !0, F = n === !0 && A,
|
|
3093
|
+
}) : void 0, M = x.length > 0, N = (T ?? "").trim().length > 0, P = M || E && N || C === !0, F = n === !0 && A, I = () => {
|
|
3094
3094
|
F || u();
|
|
3095
|
-
},
|
|
3095
|
+
}, te = () => {
|
|
3096
3096
|
F || f();
|
|
3097
|
-
},
|
|
3097
|
+
}, ne = (e) => {
|
|
3098
3098
|
let t = O === "single" && x.includes(e);
|
|
3099
3099
|
l(e), O === "single" && !A && !t && Promise.resolve().then(u);
|
|
3100
|
-
},
|
|
3100
|
+
}, re = A ? r.ai.clarifyingQuestion.submit : r.ai.clarifyingQuestion.next, L = C === !0 && !M && !(E && N), ie = () => {
|
|
3101
3101
|
_(), requestAnimationFrame(() => {
|
|
3102
3102
|
D.current?.focus();
|
|
3103
3103
|
});
|
|
3104
3104
|
}, ae = (e) => {
|
|
3105
3105
|
e.key === "Escape" && (e.preventDefault(), p());
|
|
3106
|
-
}, R = i ? 0 : _a,
|
|
3106
|
+
}, R = i ? 0 : _a, oe = i ? 0 : va;
|
|
3107
3107
|
return /* @__PURE__ */ X("div", {
|
|
3108
3108
|
className: "flex flex-col",
|
|
3109
3109
|
onKeyDown: ae,
|
|
@@ -3125,7 +3125,7 @@ var ua = [
|
|
|
3125
3125
|
exit: {
|
|
3126
3126
|
opacity: 0,
|
|
3127
3127
|
transition: {
|
|
3128
|
-
duration:
|
|
3128
|
+
duration: oe,
|
|
3129
3129
|
ease: ga
|
|
3130
3130
|
}
|
|
3131
3131
|
},
|
|
@@ -3150,21 +3150,21 @@ var ua = [
|
|
|
3150
3150
|
isCustomAnswerActive: E,
|
|
3151
3151
|
canProceed: P,
|
|
3152
3152
|
customInputRef: D,
|
|
3153
|
-
onToggleOption:
|
|
3154
|
-
onActivateCustom:
|
|
3153
|
+
onToggleOption: ne,
|
|
3154
|
+
onActivateCustom: ie,
|
|
3155
3155
|
onChangeCustomText: h,
|
|
3156
3156
|
onToggleCustomActive: g,
|
|
3157
|
-
onConfirm:
|
|
3157
|
+
onConfirm: I
|
|
3158
3158
|
})]
|
|
3159
3159
|
}, o)
|
|
3160
3160
|
})
|
|
3161
3161
|
}), /* @__PURE__ */ Y(aa, {
|
|
3162
3162
|
canProceed: P,
|
|
3163
3163
|
submitDisabled: F,
|
|
3164
|
-
label:
|
|
3165
|
-
onConfirm:
|
|
3166
|
-
onSkip:
|
|
3167
|
-
showSkip:
|
|
3164
|
+
label: re,
|
|
3165
|
+
onConfirm: I,
|
|
3166
|
+
onSkip: te,
|
|
3167
|
+
showSkip: L
|
|
3168
3168
|
})]
|
|
3169
3169
|
});
|
|
3170
3170
|
};
|
|
@@ -3490,7 +3490,7 @@ var Oa = class {
|
|
|
3490
3490
|
repeatType: "mirror"
|
|
3491
3491
|
};
|
|
3492
3492
|
function Fa(e) {
|
|
3493
|
-
let [t, n] = q(e), r =
|
|
3493
|
+
let [t, n] = q(e), r = tt(e), i = K(null);
|
|
3494
3494
|
return Xt(r, "change", (e) => n(e)), {
|
|
3495
3495
|
value: t,
|
|
3496
3496
|
motionValue: r,
|
|
@@ -3827,12 +3827,12 @@ function fo({ fs: e, vs: t = Ba, textures: n = [], uniforms: r, clearColor: i =
|
|
|
3827
3827
|
n.deleteShader(r), d?.($(`Shader compiler log: ${e}`));
|
|
3828
3828
|
}
|
|
3829
3829
|
return r;
|
|
3830
|
-
},
|
|
3830
|
+
}, I = (e, t) => {
|
|
3831
3831
|
let n = m.current;
|
|
3832
3832
|
if (!n) return;
|
|
3833
3833
|
let r = F(n.FRAGMENT_SHADER, e), i = F(n.VERTEX_SHADER, t);
|
|
3834
3834
|
g.current = n.createProgram(), g.current && i && r && (n.attachShader(g.current, i), n.attachShader(g.current, r), n.linkProgram(g.current), n.getProgramParameter(g.current, n.LINK_STATUS) ? (n.useProgram(g.current), _.current = n.getAttribLocation(g.current, "aVertexPosition"), n.enableVertexAttribArray(_.current)) : d?.($(`Unable to initialize the shader program: ${n.getProgramInfoLog(g.current)}`)));
|
|
3835
|
-
},
|
|
3835
|
+
}, te = () => {
|
|
3836
3836
|
if (r) for (let e of Object.keys(r)) {
|
|
3837
3837
|
let t = r[e];
|
|
3838
3838
|
if (!t) continue;
|
|
@@ -3846,7 +3846,7 @@ function fo({ fs: e, vs: t = Ba, textures: n = [], uniforms: r, clearColor: i =
|
|
|
3846
3846
|
...o ? { arraySize: o } : {}
|
|
3847
3847
|
};
|
|
3848
3848
|
}
|
|
3849
|
-
},
|
|
3849
|
+
}, ne = () => {
|
|
3850
3850
|
let e = m.current;
|
|
3851
3851
|
if (e) {
|
|
3852
3852
|
if (n && n.length > 0) {
|
|
@@ -3867,7 +3867,7 @@ function fo({ fs: e, vs: t = Ba, textures: n = [], uniforms: r, clearColor: i =
|
|
|
3867
3867
|
});
|
|
3868
3868
|
} else u && u();
|
|
3869
3869
|
}
|
|
3870
|
-
},
|
|
3870
|
+
}, re = (e) => {
|
|
3871
3871
|
let t = La.includes(a ?? "highp"), n = `precision ${t ? a : La[1]} float;\n`;
|
|
3872
3872
|
t || f?.($(`wrong precision type ${a}, please make sure to pass one of a valid precision lowp, mediump, highp, by default you shader precision will be set to highp.`));
|
|
3873
3873
|
let r = n.concat(`#define DPR ${l.toFixed(1)}\n`).concat(e.replace(/texture\(/g, "texture2D("));
|
|
@@ -3877,7 +3877,7 @@ function fo({ fs: e, vs: t = Ba, textures: n = [], uniforms: r, clearColor: i =
|
|
|
3877
3877
|
r = uo(r, `uniform ${e.type} ${t}${e.arraySize || ""}; \n`, r.lastIndexOf(n) + n.length), e.isNeeded = !0;
|
|
3878
3878
|
}
|
|
3879
3879
|
return e.includes("mainImage") && (r = r.concat(Ra)), r;
|
|
3880
|
-
},
|
|
3880
|
+
}, L = (e) => {
|
|
3881
3881
|
let t = m.current;
|
|
3882
3882
|
if (!t || !g.current) return;
|
|
3883
3883
|
let n = w.current ? (e - w.current) / 1e3 : 0;
|
|
@@ -3936,16 +3936,16 @@ function fo({ fs: e, vs: t = Ba, textures: n = [], uniforms: r, clearColor: i =
|
|
|
3936
3936
|
t.activeTexture(t.TEXTURE0 + e), t.bindTexture(t.TEXTURE_2D, i), t.uniform1i(s, e), r && n.updateTexture(i, a, o);
|
|
3937
3937
|
}
|
|
3938
3938
|
}
|
|
3939
|
-
},
|
|
3939
|
+
}, ie = (e) => {
|
|
3940
3940
|
let t = m.current;
|
|
3941
3941
|
if (!t) return;
|
|
3942
|
-
t.viewport(0, 0, t.drawingBufferWidth, t.drawingBufferHeight), t.clear(t.COLOR_BUFFER_BIT | t.DEPTH_BUFFER_BIT), t.bindBuffer(t.ARRAY_BUFFER, h.current), t.vertexAttribPointer(_.current ?? 0, 3, t.FLOAT, !1, 0, 0),
|
|
3942
|
+
t.viewport(0, 0, t.drawingBufferWidth, t.drawingBufferHeight), t.clear(t.COLOR_BUFFER_BIT | t.DEPTH_BUFFER_BIT), t.bindBuffer(t.ARRAY_BUFFER, h.current), t.vertexAttribPointer(_.current ?? 0, 3, t.FLOAT, !1, 0, 0), L(e), t.drawArrays(t.TRIANGLE_STRIP, 0, 4);
|
|
3943
3943
|
let n = E.current.iMouse?.value;
|
|
3944
3944
|
if (E.current.iMouse?.isNeeded && c !== 1 && Array.isArray(n)) {
|
|
3945
3945
|
let e = n[0] ?? 0, t = n[1] ?? 0;
|
|
3946
3946
|
n[0] = lo(e, S.current[0] ?? 0, c), n[1] = lo(t, S.current[1] ?? 0, c);
|
|
3947
3947
|
}
|
|
3948
|
-
v.current = requestAnimationFrame(
|
|
3948
|
+
v.current = requestAnimationFrame(ie);
|
|
3949
3949
|
}, ae = () => {
|
|
3950
3950
|
let e = { passive: !0 };
|
|
3951
3951
|
E.current.iMouse?.isNeeded && p.current && (p.current.addEventListener("mousemove", M, e), p.current.addEventListener("mouseout", N, e), p.current.addEventListener("mouseup", N, e), p.current.addEventListener("mousedown", j, e), p.current.addEventListener("touchmove", M, e), p.current.addEventListener("touchend", N, e), p.current.addEventListener("touchstart", j, e)), E.current.iDeviceOrientation?.isNeeded && window.addEventListener("deviceorientation", A, e), p.current && (T.current = new ResizeObserver(P), T.current.observe(p.current), window.addEventListener("resize", P, e));
|
|
@@ -3960,7 +3960,7 @@ function fo({ fs: e, vs: t = Ba, textures: n = [], uniforms: r, clearColor: i =
|
|
|
3960
3960
|
function r() {
|
|
3961
3961
|
ee();
|
|
3962
3962
|
let n = m.current;
|
|
3963
|
-
n && p.current && (n.clearColor(...i), n.clearDepth(1), n.enable(n.DEPTH_TEST), n.depthFunc(n.LEQUAL), n.viewport(0, 0, p.current.width, p.current.height), p.current.height = p.current.clientHeight, p.current.width = p.current.clientWidth,
|
|
3963
|
+
n && p.current && (n.clearColor(...i), n.clearDepth(1), n.enable(n.DEPTH_TEST), n.depthFunc(n.LEQUAL), n.viewport(0, 0, p.current.width, p.current.height), p.current.height = p.current.clientHeight, p.current.width = p.current.clientWidth, te(), ne(), I(re(e || za), t || Ba), k(), requestAnimationFrame(ie), ae(), P());
|
|
3964
3964
|
}
|
|
3965
3965
|
return requestAnimationFrame(r), () => {
|
|
3966
3966
|
let e = m.current;
|
|
@@ -4107,7 +4107,7 @@ function _o({ size: e = "lg", state: t, color: n, colorShift: r = .05, audioTrac
|
|
|
4107
4107
|
}
|
|
4108
4108
|
//#endregion
|
|
4109
4109
|
//#region src/blocks/ai/F0HILActionConfirmation/F0HILActionConfirmation.tsx
|
|
4110
|
-
var vo = ({ text: e, description: t, avatar: n, confirmationText: r, onConfirm: i, cancelText: a, onCancel: o, stackAt: s = "sm" }) => /* @__PURE__ */ Y(
|
|
4110
|
+
var vo = ({ text: e, description: t, avatar: n, confirmationText: r, onConfirm: i, cancelText: a, onCancel: o, stackAt: s = "sm" }) => /* @__PURE__ */ Y(I, {
|
|
4111
4111
|
title: e,
|
|
4112
4112
|
description: t,
|
|
4113
4113
|
avatar: n,
|
|
@@ -4151,7 +4151,7 @@ var vo = ({ text: e, description: t, avatar: n, confirmationText: r, onConfirm:
|
|
|
4151
4151
|
1
|
|
4152
4152
|
]
|
|
4153
4153
|
},
|
|
4154
|
-
children: /* @__PURE__ */ Y(
|
|
4154
|
+
children: /* @__PURE__ */ Y(lt, {
|
|
4155
4155
|
size: "md",
|
|
4156
4156
|
label: i.ai.ask,
|
|
4157
4157
|
onClick: (e) => {
|
|
@@ -4181,7 +4181,7 @@ var vo = ({ text: e, description: t, avatar: n, confirmationText: r, onConfirm:
|
|
|
4181
4181
|
let { label: t } = e;
|
|
4182
4182
|
return e.content === "person" ? /* @__PURE__ */ Y(To, {
|
|
4183
4183
|
label: t,
|
|
4184
|
-
children: /* @__PURE__ */ Y(
|
|
4184
|
+
children: /* @__PURE__ */ Y(ht, {
|
|
4185
4185
|
firstName: e.avatar.firstName,
|
|
4186
4186
|
lastName: e.avatar.lastName,
|
|
4187
4187
|
src: e.avatar.src,
|
|
@@ -4279,7 +4279,7 @@ var jo = ({ cx: e, cy: t, index: n, dataLength: r, color: i }) => n !== r - 1 ||
|
|
|
4279
4279
|
className: "relative w-full flex-1",
|
|
4280
4280
|
role: "img",
|
|
4281
4281
|
"aria-label": `Sparkline chart showing ${i} trend`,
|
|
4282
|
-
children: [/* @__PURE__ */ Y(
|
|
4282
|
+
children: [/* @__PURE__ */ Y(ut, {
|
|
4283
4283
|
width: "100%",
|
|
4284
4284
|
height: "100%",
|
|
4285
4285
|
children: /* @__PURE__ */ X(ye, {
|
|
@@ -4307,7 +4307,7 @@ var jo = ({ cx: e, cy: t, index: n, dataLength: r, color: i }) => n !== r - 1 ||
|
|
|
4307
4307
|
stopOpacity: .02
|
|
4308
4308
|
})]
|
|
4309
4309
|
}) }),
|
|
4310
|
-
/* @__PURE__ */ Y(
|
|
4310
|
+
/* @__PURE__ */ Y(ae, {
|
|
4311
4311
|
hide: !0,
|
|
4312
4312
|
domain: ["dataMin - 1", "dataMax + 1"]
|
|
4313
4313
|
}),
|
|
@@ -4445,7 +4445,7 @@ function Wo(e) {
|
|
|
4445
4445
|
children: [
|
|
4446
4446
|
/* @__PURE__ */ X("div", {
|
|
4447
4447
|
className: "flex items-center gap-3 px-4 py-3",
|
|
4448
|
-
children: [t ? /* @__PURE__ */ Y(
|
|
4448
|
+
children: [t ? /* @__PURE__ */ Y(mt, {
|
|
4449
4449
|
module: t,
|
|
4450
4450
|
size: "md"
|
|
4451
4451
|
}) : null, /* @__PURE__ */ X("div", {
|
|
@@ -4500,7 +4500,7 @@ var Go = ({ icon: t, title: n, children: r }) => {
|
|
|
4500
4500
|
className: "mb-1 w-full",
|
|
4501
4501
|
open: i,
|
|
4502
4502
|
onOpenChange: a,
|
|
4503
|
-
children: [/* @__PURE__ */ X(
|
|
4503
|
+
children: [/* @__PURE__ */ X(A, {
|
|
4504
4504
|
className: "flex w-full items-center text-base text-f1-foreground-secondary transition-colors duration-150 hover:text-f1-foreground [&[data-state=open]>svg]:rotate-90",
|
|
4505
4505
|
children: [
|
|
4506
4506
|
/* @__PURE__ */ Y("span", {
|
|
@@ -4587,11 +4587,11 @@ Jo.displayName = "F0AiMessageSources";
|
|
|
4587
4587
|
//#endregion
|
|
4588
4588
|
//#region src/addons/ai/ai/F0AiTableCard/F0AiTableCard.tsx
|
|
4589
4589
|
async function Yo(e, t, n) {
|
|
4590
|
-
let r =
|
|
4590
|
+
let r = at(e), i = t === "xlsx" ? await ue([{
|
|
4591
4591
|
name: "Data",
|
|
4592
4592
|
rows: r
|
|
4593
4593
|
}]) : await se(r);
|
|
4594
|
-
|
|
4594
|
+
T(i, `${n}.${t}`);
|
|
4595
4595
|
}
|
|
4596
4596
|
function Xo({ dataset: e, title: t, filename: r }) {
|
|
4597
4597
|
let i = d(), a = K(null), o = t ?? i.ai.aiTable.title, s = U((e) => {
|
|
@@ -4599,14 +4599,14 @@ function Xo({ dataset: e, title: t, filename: r }) {
|
|
|
4599
4599
|
let t = r ?? (o.replace(/\s+/g, "_").toLowerCase() || "table");
|
|
4600
4600
|
Yo(a.current, e, t);
|
|
4601
4601
|
}, [o, r]);
|
|
4602
|
-
return e.columns?.length ? /* @__PURE__ */ X(
|
|
4602
|
+
return e.columns?.length ? /* @__PURE__ */ X(gt, {
|
|
4603
4603
|
display: "flex",
|
|
4604
4604
|
flexDirection: "column",
|
|
4605
4605
|
gap: "md",
|
|
4606
4606
|
borderRadius: "md",
|
|
4607
4607
|
border: "default",
|
|
4608
4608
|
borderColor: "secondary",
|
|
4609
|
-
children: [/* @__PURE__ */ X(
|
|
4609
|
+
children: [/* @__PURE__ */ X(gt, {
|
|
4610
4610
|
display: "flex",
|
|
4611
4611
|
alignItems: "center",
|
|
4612
4612
|
justifyContent: "between",
|
|
@@ -4620,20 +4620,20 @@ function Xo({ dataset: e, title: t, filename: r }) {
|
|
|
4620
4620
|
tag: "h2",
|
|
4621
4621
|
className: "text-base font-medium capitalize text-f1-foreground",
|
|
4622
4622
|
children: o
|
|
4623
|
-
}), /* @__PURE__ */ Y(
|
|
4624
|
-
icon:
|
|
4623
|
+
}), /* @__PURE__ */ Y(rt, {
|
|
4624
|
+
icon: z,
|
|
4625
4625
|
size: "md",
|
|
4626
4626
|
items: [{
|
|
4627
4627
|
label: i.ai.aiTable.downloadExcel,
|
|
4628
|
-
icon:
|
|
4628
|
+
icon: z,
|
|
4629
4629
|
onClick: () => s("xlsx")
|
|
4630
4630
|
}, {
|
|
4631
4631
|
label: i.ai.aiTable.downloadCsv,
|
|
4632
|
-
icon:
|
|
4632
|
+
icon: z,
|
|
4633
4633
|
onClick: () => s("csv")
|
|
4634
4634
|
}]
|
|
4635
4635
|
})]
|
|
4636
|
-
}), /* @__PURE__ */ Y(
|
|
4636
|
+
}), /* @__PURE__ */ Y(gt, {
|
|
4637
4637
|
overflowX: "auto",
|
|
4638
4638
|
children: /* @__PURE__ */ X("table", {
|
|
4639
4639
|
ref: a,
|
|
@@ -4922,7 +4922,7 @@ var ts = ({ credits: e, employeeCredits: t, trigger: n }) => t ? /* @__PURE__ */
|
|
|
4922
4922
|
}) : e ? /* @__PURE__ */ Y(Zo, {
|
|
4923
4923
|
credits: e,
|
|
4924
4924
|
trigger: n
|
|
4925
|
-
}) : null, ns = ts, rs = ({ historyEnabled: r = !1, title: i, currentThreadTitle: a, fullscreen: o = !1, lockVisualizationMode: s = !1, onToggleVisualizationMode: c, onClose: l, onNewChat: u, onOpenHistory: f, hasMessages: p = !1, credits: h, employeeCredits: g, compact: b = !1, actions:
|
|
4925
|
+
}) : null, ns = ts, rs = ({ historyEnabled: r = !1, title: i, currentThreadTitle: a, fullscreen: o = !1, lockVisualizationMode: s = !1, onToggleVisualizationMode: c, onClose: l, onNewChat: u, onOpenHistory: f, hasMessages: p = !1, credits: h, employeeCredits: g, compact: b = !1, actions: S }) => {
|
|
4926
4926
|
let C = d(), w = e(), { panelOverlays: T } = V(), E = !s && !T && /* @__PURE__ */ Y(_, {
|
|
4927
4927
|
variant: "ghost",
|
|
4928
4928
|
hideLabel: !0,
|
|
@@ -4933,9 +4933,9 @@ var ts = ({ credits: e, employeeCredits: t, trigger: n }) => t ? /* @__PURE__ */
|
|
|
4933
4933
|
variant: "ghost",
|
|
4934
4934
|
hideLabel: !0,
|
|
4935
4935
|
label: C.ai.closeChat,
|
|
4936
|
-
icon:
|
|
4936
|
+
icon: x,
|
|
4937
4937
|
onClick: l
|
|
4938
|
-
}), O =
|
|
4938
|
+
}), O = S?.map((e) => /* @__PURE__ */ Y(_, {
|
|
4939
4939
|
variant: "ghost",
|
|
4940
4940
|
hideLabel: !0,
|
|
4941
4941
|
label: e.label,
|
|
@@ -4979,7 +4979,7 @@ var ts = ({ credits: e, employeeCredits: t, trigger: n }) => t ? /* @__PURE__ */
|
|
|
4979
4979
|
className: "min-w-0 text-left",
|
|
4980
4980
|
children: a ?? C.ai.newConversation
|
|
4981
4981
|
}), /* @__PURE__ */ Y(m, {
|
|
4982
|
-
icon:
|
|
4982
|
+
icon: vt,
|
|
4983
4983
|
color: "default",
|
|
4984
4984
|
size: "md"
|
|
4985
4985
|
})]
|
|
@@ -5024,7 +5024,7 @@ var ts = ({ credits: e, employeeCredits: t, trigger: n }) => t ? /* @__PURE__ */
|
|
|
5024
5024
|
variant: "ghost",
|
|
5025
5025
|
hideLabel: !0,
|
|
5026
5026
|
label: C.ai.startNewChat,
|
|
5027
|
-
icon:
|
|
5027
|
+
icon: R,
|
|
5028
5028
|
onClick: u
|
|
5029
5029
|
}) : null,
|
|
5030
5030
|
/* @__PURE__ */ Y(ts, {
|
|
@@ -5042,12 +5042,12 @@ var ts = ({ credits: e, employeeCredits: t, trigger: n }) => t ? /* @__PURE__ */
|
|
|
5042
5042
|
//#region src/addons/ai/ai/F0AiChatHistory/utils.ts
|
|
5043
5043
|
function is(e) {
|
|
5044
5044
|
let t = new Date(e), n = /* @__PURE__ */ new Date();
|
|
5045
|
-
return Re(t) ? "today" :
|
|
5045
|
+
return Re(t) ? "today" : Ge(t) ? "yesterday" : Mt(t, n) ? "thisMonth" : "older";
|
|
5046
5046
|
}
|
|
5047
5047
|
function as(e, t, n) {
|
|
5048
5048
|
let r = new Date(e), i = zt(r, "p", { locale: n });
|
|
5049
5049
|
if (Re(r)) return `${t.today}, ${i}`;
|
|
5050
|
-
if (
|
|
5050
|
+
if (Ge(r)) return `${t.yesterday}, ${i}`;
|
|
5051
5051
|
let a = !Rt(r, /* @__PURE__ */ new Date());
|
|
5052
5052
|
return `${zt(r, a ? "MMM d yyyy" : "MMM d", { locale: n })}, ${i}`;
|
|
5053
5053
|
}
|
|
@@ -5074,11 +5074,11 @@ function os(e) {
|
|
|
5074
5074
|
function ss({ thread: e, isPinned: t, isActive: r = !1, isPending: i = !1, onSelect: a, onPin: o, onUnpin: s, onDelete: c, className: l }) {
|
|
5075
5075
|
let u = d(), f = Lt(), p = G(() => [{
|
|
5076
5076
|
label: t ? u.ai.unpinChat : u.ai.pinChat,
|
|
5077
|
-
icon: t ? ce :
|
|
5077
|
+
icon: t ? ce : E,
|
|
5078
5078
|
onClick: () => t ? s(e.id) : o(e.id)
|
|
5079
5079
|
}, {
|
|
5080
5080
|
label: u.ai.deleteChat,
|
|
5081
|
-
icon:
|
|
5081
|
+
icon: te,
|
|
5082
5082
|
critical: !0,
|
|
5083
5083
|
onClick: () => c(e.id)
|
|
5084
5084
|
}], [
|
|
@@ -5136,10 +5136,10 @@ function ss({ thread: e, isPinned: t, isActive: r = !1, isPending: i = !1, onSel
|
|
|
5136
5136
|
children: /* @__PURE__ */ Y(At, { size: "small" })
|
|
5137
5137
|
}) : /* @__PURE__ */ Y("div", {
|
|
5138
5138
|
className: y("hidden items-center", "group-hover:flex group-focus-within:flex", "has-[[aria-expanded=true]]:flex"),
|
|
5139
|
-
children: /* @__PURE__ */ Y(
|
|
5139
|
+
children: /* @__PURE__ */ Y(rt, {
|
|
5140
5140
|
items: p,
|
|
5141
5141
|
children: /* @__PURE__ */ Y(_, {
|
|
5142
|
-
icon:
|
|
5142
|
+
icon: O,
|
|
5143
5143
|
variant: "ghost",
|
|
5144
5144
|
size: "sm",
|
|
5145
5145
|
label: u.ai.threadOptions,
|
|
@@ -5168,7 +5168,7 @@ function cs({ label: e, threads: t, pinnedIds: n, onSelect: r, onPin: i, onUnpin
|
|
|
5168
5168
|
className: "text-sm font-medium capitalize tracking-wide text-f1-foreground-secondary",
|
|
5169
5169
|
children: e
|
|
5170
5170
|
}), /* @__PURE__ */ Y(m, {
|
|
5171
|
-
icon: s ?
|
|
5171
|
+
icon: s ? vt : Tt,
|
|
5172
5172
|
color: "secondary",
|
|
5173
5173
|
size: "xs"
|
|
5174
5174
|
})]
|
|
@@ -5282,7 +5282,7 @@ var ps = ({ onClose: e, onSelectThread: r, onNewChat: i, threads: a, isLoading:
|
|
|
5282
5282
|
children: /* @__PURE__ */ X("div", {
|
|
5283
5283
|
className: "flex w-full items-center gap-2",
|
|
5284
5284
|
children: [/* @__PURE__ */ Y(m, {
|
|
5285
|
-
icon:
|
|
5285
|
+
icon: R,
|
|
5286
5286
|
color: "default",
|
|
5287
5287
|
size: "md"
|
|
5288
5288
|
}), /* @__PURE__ */ Y(n, {
|
|
@@ -5325,11 +5325,11 @@ var ps = ({ onClose: e, onSelectThread: r, onNewChat: i, threads: a, isLoading:
|
|
|
5325
5325
|
})] }), document.body);
|
|
5326
5326
|
}, ms = "f0-ai-pinned-threads";
|
|
5327
5327
|
function hs() {
|
|
5328
|
-
let e =
|
|
5328
|
+
let e = ie(ms, []);
|
|
5329
5329
|
return new Set(Array.isArray(e) ? e : []);
|
|
5330
5330
|
}
|
|
5331
5331
|
function gs(e) {
|
|
5332
|
-
|
|
5332
|
+
S(ms, [...e]);
|
|
5333
5333
|
}
|
|
5334
5334
|
function _s({ enabled: e = !1, fetchThreads: t, deleteThread: n, pinThread: r, unpinThread: i }) {
|
|
5335
5335
|
let [a, o] = q([]), [s, c] = q(!1), [l, u] = q(null), [d, f] = q(hs), [p, m] = q(() => /* @__PURE__ */ new Set()), h = U(async () => {
|
|
@@ -5399,7 +5399,7 @@ function _s({ enabled: e = !1, fetchThreads: t, deleteThread: n, pinThread: r, u
|
|
|
5399
5399
|
}
|
|
5400
5400
|
//#endregion
|
|
5401
5401
|
//#region src/addons/ai/ai/F0AiChatUsageLimits/types.ts
|
|
5402
|
-
var vs = ["top", "bottom"], ys = v.create(
|
|
5402
|
+
var vs = ["top", "bottom"], ys = v.create(re), bs = ({ label: e, reduceMotion: t }) => /* @__PURE__ */ X("div", {
|
|
5403
5403
|
role: "status",
|
|
5404
5404
|
"aria-live": "polite",
|
|
5405
5405
|
className: "flex flex-row items-center gap-1 rounded-full border border-solid border-f1-border-secondary bg-f1-background px-2 py-1.5 pr-2.5 shadow-md",
|