@factorialco/f0-react 12.21.0 → 13.0.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.
Files changed (49) hide show
  1. package/dist/{ArchiveThumbnail-DjGqm8M-.js → ArchiveThumbnail-Bz26vD3k.js} +1 -1
  2. package/dist/{ArchiveViewer-BJJfbi_U.js → ArchiveViewer-Br_UrMQq.js} +2 -2
  3. package/dist/{ChatPostComposerDialog-_EwTp6mL.js → ChatPostComposerDialog-D6aHVIXd.js} +2 -2
  4. package/dist/{CoachmarkProvider-Dp5MKO1j.js → CoachmarkProvider-BzKJ-Ta0.js} +20244 -20275
  5. package/dist/{CodeThumbnail-CPLxU3Ih.js → CodeThumbnail-gCUveng3.js} +1 -1
  6. package/dist/{CodeViewer-rQ7Em-Gy.js → CodeViewer-DIWvig04.js} +4 -4
  7. package/dist/{DocumentToolbar-Ds1E9q0M.js → DocumentToolbar-KSR6JvwX.js} +4 -4
  8. package/dist/{DocxViewer-C0T0z8Vs.js → DocxViewer-BaJCyWOv.js} +1 -1
  9. package/dist/{F0AiProcessingOverlay-BFpxgMh2.js → F0AiProcessingOverlay-BOFAcdmY.js} +367 -380
  10. package/dist/{F0Alert-Bjvtxn3H.js → F0Alert-BkFPrwRK.js} +3 -3
  11. package/dist/F0AudioPlayer-Dq4-9QDJ.js +2 -0
  12. package/dist/{F0Button-d91IgOnc.js → F0Button-C1-0hRRA.js} +1334 -1363
  13. package/dist/{F0CanvasPanel-CKf9KGYf.js → F0CanvasPanel-DUZAHcRh.js} +6573 -6614
  14. package/dist/{F0DocumentViewer-keL5XY86.js → F0DocumentViewer-D4NVYpen.js} +1 -1
  15. package/dist/{F0DocumentViewer-Db7Df7NG.js → F0DocumentViewer-DaymVJJ7.js} +2 -2
  16. package/dist/{F0Map-Bd3wEarQ.js → F0Map-CWspTgyA.js} +5 -5
  17. package/dist/{F0Select-CvMv06GW.js → F0Select-DDqZWGSC.js} +1559 -1569
  18. package/dist/{F0Text-CXHuzMbj.js → F0Text-KD9_ThWl.js} +1 -1
  19. package/dist/F0VideoPlayer-D3U1y8RL.js +1 -0
  20. package/dist/{F0VideoPlayer-CNjhk2KG.js → F0VideoPlayer-_ThwtIuS.js} +2 -2
  21. package/dist/{HtmlThumbnail-BJuJkuvu.js → HtmlThumbnail-CGNpFG13.js} +1 -1
  22. package/dist/{HtmlViewer-DLFZ5Ssa.js → HtmlViewer-Bqei9VAg.js} +6 -6
  23. package/dist/{LayoutGroup-BGb5jMxE.js → LayoutGroup-88jf2Qrz.js} +1 -1
  24. package/dist/{Map-BQ0v7igE.js → Map-Co_dgN5b.js} +7 -7
  25. package/dist/{PdfThumbnail-COj6Xf_h.js → PdfThumbnail-B20soGGL.js} +1 -1
  26. package/dist/{PdfViewer-BFlZkPXF.js → PdfViewer-06FXAmNj.js} +9 -9
  27. package/dist/{SandboxedHtmlFrame-B95lWsIP.js → SandboxedHtmlFrame-B29PHJ6m.js} +1 -1
  28. package/dist/{SheetViewer-BiG8XWoD.js → SheetViewer-C3Phf24V.js} +3 -3
  29. package/dist/{TextViewer-d55mf95-.js → TextViewer-DCVutuqX.js} +2 -2
  30. package/dist/ai.d.ts +2 -2
  31. package/dist/ai.js +2 -2
  32. package/dist/component-status.js +1 -1
  33. package/dist/{dist-DtILhk4w.js → dist-CBheMQQo.js} +1 -1
  34. package/dist/experimental.d.ts +3 -3
  35. package/dist/experimental.js +3914 -3914
  36. package/dist/{exports-uEdbdS0t.d.ts → exports-BPCb_V_l.d.ts} +2 -9
  37. package/dist/f0.d.ts +18 -14
  38. package/dist/f0.js +1640 -1646
  39. package/dist/{highlight-Dsp6kNdi.js → highlight-BfB_NSI3.js} +1 -1
  40. package/dist/{index-CeS2Wdhj.d.ts → index-BrWCSgfc.d.ts} +216 -176
  41. package/dist/{maplibre-KrZthfWQ.js → maplibre-CQIf84Qp.js} +1 -1
  42. package/dist/{pdfWorker-CWeWN68D.js → pdfWorker-BhhAlqi1.js} +1 -1
  43. package/dist/{scrollarea-cxaFAWG5.js → scrollarea-BbCUnpY7.js} +1 -1
  44. package/dist/{toolbarStyles-lTj_42zD.js → toolbarStyles-BffylLUB.js} +1 -1
  45. package/dist/{types-DBBkQ3Ea.d.ts → types-DTokfjgM.d.ts} +210 -47
  46. package/dist/{useData-BYkiGUHX.js → useData-DikJqoNa.js} +2 -2
  47. package/package.json +1 -1
  48. package/dist/F0AudioPlayer-0tGyuoCw.js +0 -2
  49. package/dist/F0VideoPlayer-BRfsQaLa.js +0 -1
@@ -1,17 +1,17 @@
1
1
  import { a as e, r as t } from "./i18n-provider-Bdgo-LeP.js";
2
2
  import { n, t as r } from "./skeleton-AC0Fb8zj.js";
3
3
  import { L as i, R as a } from "./tooltip-BX4dSfeL.js";
4
- import { R as o, T as s, U as c, h as l, n as u, r as d, t as f, wt as p, y as m } from "./F0Button-d91IgOnc.js";
5
- import { $ as h, $o as g, $t as _, A as v, At as y, B as b, C as x, Ct as S, Ds as C, Fo as w, G as T, Go as E, Gt as D, H as O, Hc as ee, Io as k, K as A, Ka as j, Kt as M, Lt as N, M as P, Mc as F, Ms as te, Mt as ne, Ni as re, No as I, Nt as ie, O as L, Ot as R, Po as ae, Pt as oe, Rr as se, Rt as ce, S as le, So as ue, St as de, Tr as fe, Tt as pe, U as me, V as he, Vc as ge, Vt as _e, W as ve, Wt as ye, X as be, Xt as xe, Yo as Se, Z as Ce, Za as we, Zo as Te, Zt as Ee, _i as De, _t as Oe, a as ke, ac as z, b as Ae, bs as je, bt as Me, co as Ne, cs as Pe, es as Fe, g as Ie, gi as Le, gt as Re, h as ze, hi as Be, hs as Ve, in as He, j as Ue, ji as We, k as Ge, ki as Ke, ko as qe, kr as Je, lc as Ye, ln as Xe, m as Ze, mi as Qe, nt as $e, q as et, qa as tt, qt as nt, r as rt, rt as it, si as at, tt as B, uc as ot, ut as st, va as ct, vo as lt, vs as ut, x as dt, y as ft, yr as pt, yt as mt, zr as ht } from "./F0CanvasPanel-CKf9KGYf.js";
6
- import { o as gt, t as V } from "./F0Icon-DmCBV0gK.js";
7
- import { t as _t } from "./i18n-provider-defaults-B9vdZZeS.js";
8
- import { C as vt, H as yt, I as bt, N as xt, U as St, b as Ct, g as wt, h as Tt, k as Et, l as Dt, m as Ot } from "./useData-BYkiGUHX.js";
9
- import { Cr as kt, Dr as At, En as jt, Et as Mt, Nt, Sr as Pt, Tn as Ft, Tr as It, _t as Lt, an as Rt, cn as zt, en as Bt, gt as Vt, lt as Ht, on as Ut, vt as Wt, xr as Gt } from "./F0Select-CvMv06GW.js";
10
- import { t as Kt } from "./Ellipsis-CBouJQYY.js";
11
- import { t as qt } from "./ExternalLink-RdKU698E.js";
12
- import { a as Jt, gt as Yt, i as Xt, n as Zt, t as Qt } from "./popover-ics24JxK.js";
13
- import { a as $t } from "./dist-Cuwaibqg.js";
14
- import { createContext as en, createElement as tn, forwardRef as H, memo as nn, useCallback as U, useContext as rn, useEffect as W, useId as an, useInsertionEffect as on, useLayoutEffect as sn, useMemo as G, useRef as K, useState as q } from "react";
4
+ import { R as o, T as s, U as c, h as l, n as u, r as d, t as f, wt as p, y as m } from "./F0Button-C1-0hRRA.js";
5
+ import { $ as h, $o as g, $t as _, A as v, At as y, B as b, C as x, Ct as S, Ds as C, Fo as w, G as T, Go as E, Gt as D, H as O, Hc as ee, Io as k, K as A, Ka as j, Kt as M, Lt as N, M as P, Mc as F, Ms as te, Mt as ne, Ni as re, No as I, Nt as ie, O as L, Ot as R, Po as ae, Pt as oe, Rr as se, Rt as z, S as ce, So as le, St as ue, Tr as de, Tt as fe, U as pe, V as me, Vc as he, Vt as ge, W as _e, Wt as ve, X as ye, Xt as be, Yo as xe, Z as Se, Za as Ce, Zo as we, Zt as Te, _i as Ee, _t as De, a as Oe, ac as B, b as ke, bs as Ae, bt as je, co as Me, cs as Ne, es as Pe, g as Fe, gi as Ie, gt as Le, h as Re, hi as ze, hs as Be, in as Ve, j as He, ji as Ue, k as We, ki as Ge, ko as Ke, kr as qe, lc as Je, ln as Ye, m as Xe, mi as Ze, nt as Qe, q as $e, qa as et, qt as tt, r as nt, rt, si as it, tt as V, uc as at, ut as ot, va as st, vo as ct, vs as lt, x as ut, y as dt, yr as ft, yt as pt, zr as mt } from "./F0CanvasPanel-DUZAHcRh.js";
6
+ import { o as ht, t as H } from "./F0Icon-DmCBV0gK.js";
7
+ import { t as gt } from "./i18n-provider-defaults-B9vdZZeS.js";
8
+ import { C as _t, H as vt, I as yt, N as bt, U as xt, b as St, g as Ct, h as wt, k as Tt, l as Et, m as Dt } from "./useData-DikJqoNa.js";
9
+ import { $t as Ot, Er as kt, Mt as At, Sr as jt, Tn as Mt, Tt as Nt, _t as Pt, an as Ft, br as It, ct as Lt, gt as Rt, ht as zt, in as Bt, sn as Vt, wn as Ht, wr as Ut, xr as Wt } from "./F0Select-DDqZWGSC.js";
10
+ import { t as Gt } from "./Ellipsis-CBouJQYY.js";
11
+ import { t as Kt } from "./ExternalLink-RdKU698E.js";
12
+ import { a as qt, gt as Jt, i as Yt, n as Xt, t as Zt } from "./popover-ics24JxK.js";
13
+ import { a as Qt } from "./dist-Cuwaibqg.js";
14
+ import { createContext as $t, createElement as en, forwardRef as tn, memo as nn, useCallback as U, useContext as rn, useEffect as W, useId as an, useInsertionEffect as on, useLayoutEffect as sn, useMemo as G, useRef as K, useState as q } from "react";
15
15
  import { Fragment as cn, jsx as J, jsxs as Y } from "react/jsx-runtime";
16
16
  import { createPortal as ln } from "react-dom";
17
17
  import { useTrackVolume as un } from "@livekit/components-react";
@@ -36,10 +36,10 @@ var fn = [
36
36
  "sm",
37
37
  "md",
38
38
  "lg"
39
- ], mn = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), hn = /[\\`*_{}[\]()#+\-.!|~>]/g, gn = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(hn, "\\$&"), _n = (e) => `<entity-ref type="${mn(e.type)}" id="${mn(e.id)}">${mn(e.label)}</entity-ref>`, vn = (e, t) => e.slice(t.start, it(t)).normalize("NFC") === `@${t.label}`.normalize("NFC");
39
+ ], mn = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), hn = /[\\`*_{}[\]()#+\-.!|~>]/g, gn = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(hn, "\\$&"), _n = (e) => `<entity-ref type="${mn(e.type)}" id="${mn(e.id)}">${mn(e.label)}</entity-ref>`, vn = (e, t) => e.slice(t.start, rt(t)).normalize("NFC") === `@${t.label}`.normalize("NFC");
40
40
  function yn(e, t) {
41
41
  let n = e.length - e.trimStart().length, r = e.trimEnd().length, i = t.filter((t) => t.start >= n && vn(e, t)).sort((e, t) => e.start - t.start), a = "", o = n;
42
- for (let t of i) t.start < o || it(t) > r || (a += gn(e.slice(o, t.start)) + _n(t), o = it(t));
42
+ for (let t of i) t.start < o || rt(t) > r || (a += gn(e.slice(o, t.start)) + _n(t), o = rt(t));
43
43
  return a + gn(e.slice(o, r));
44
44
  }
45
45
  //#endregion
@@ -143,10 +143,10 @@ var xn = 14, Sn = 2.31, Cn = ({ percentage: e, tone: t }) => {
143
143
  let c = t(), [l, u] = q(!1), d = K(null), f = U((e) => {
144
144
  u(e), r?.(e);
145
145
  }, [r]), p = e ? Tn(e.usedPercentage) : 0, m = e?.unlimited ?? !1, h = m ? "unlimited" : p >= 100 ? "exhausted" : "default", g = e?.sections ?? [], _ = !!e?.onSeeCompany || g.length > 0, v = c.t("ai.usageLimits.title"), y = m ? c.t("ai.usageLimits.unlimited") : c.t("ai.usageLimits.used", { percentage: p }), b = e ? `${v}: ${y}` : v;
146
- return /* @__PURE__ */ Y(Qt, {
146
+ return /* @__PURE__ */ Y(Zt, {
147
147
  open: l,
148
148
  onOpenChange: f,
149
- children: [/* @__PURE__ */ J(Jt, {
149
+ children: [/* @__PURE__ */ J(qt, {
150
150
  asChild: !0,
151
151
  children: o ?? /* @__PURE__ */ Y("button", {
152
152
  type: "button",
@@ -161,7 +161,7 @@ var xn = 14, Sn = 2.31, Cn = ({ percentage: e, tone: t }) => {
161
161
  children: b
162
162
  })]
163
163
  })
164
- }), /* @__PURE__ */ Y(Xt, {
164
+ }), /* @__PURE__ */ Y(Yt, {
165
165
  ref: d,
166
166
  side: s,
167
167
  align: "end",
@@ -192,8 +192,8 @@ var xn = 14, Sn = 2.31, Cn = ({ percentage: e, tone: t }) => {
192
192
  children: [/* @__PURE__ */ J("span", {
193
193
  className: "min-w-0 flex-1 truncate",
194
194
  children: c.t("ai.usageLimits.yourCompany")
195
- }), /* @__PURE__ */ J(V, {
196
- icon: Pt,
195
+ }), /* @__PURE__ */ J(H, {
196
+ icon: Wt,
197
197
  size: "md",
198
198
  color: "default"
199
199
  })]
@@ -210,8 +210,8 @@ var xn = 14, Sn = 2.31, Cn = ({ percentage: e, tone: t }) => {
210
210
  })]
211
211
  });
212
212
  }, On = (e) => {
213
- let { provided: t } = Me();
214
- return t ? /* @__PURE__ */ J(kn, { ...e }) : /* @__PURE__ */ J(mt, { children: /* @__PURE__ */ J(kn, { ...e }) });
213
+ let { provided: t } = je();
214
+ return t ? /* @__PURE__ */ J(kn, { ...e }) : /* @__PURE__ */ J(pt, { children: /* @__PURE__ */ J(kn, { ...e }) });
215
215
  }, kn = ({ attachedFiles: e, isUploading: n, onRemove: r, removeLabel: i, reducedMotion: a }) => {
216
216
  let o = t(), s = An(e), c = G(() => e.flatMap((e) => {
217
217
  let t = s.get(e.id);
@@ -241,10 +241,10 @@ var xn = 14, Sn = 2.31, Cn = ({ percentage: e, tone: t }) => {
241
241
  }];
242
242
  }), [e, s]), l = G(() => c.map(({ att: e, attachment: t }, n) => ({
243
243
  file: t,
244
- item: e.status === "uploaded" ? S(t, pe(n, t.url)) : null
245
- })), [c]), u = he(l, "composer"), d = c.map(({ att: e, attachment: t }) => ({
244
+ item: e.status === "uploaded" ? S(t, fe(n, t.url)) : null
245
+ })), [c]), u = me(l, "composer"), d = c.map(({ att: e, attachment: t }) => ({
246
246
  id: e.id,
247
- content: /* @__PURE__ */ J(me, {
247
+ content: /* @__PURE__ */ J(pe, {
248
248
  attachment: t,
249
249
  status: e.status === "uploaded" ? "ready" : e.status === "error" ? "error" : "uploading",
250
250
  errorMessage: e.errorMessage,
@@ -303,14 +303,14 @@ var xn = 14, Sn = 2.31, Cn = ({ percentage: e, tone: t }) => {
303
303
  d(e), s?.(e);
304
304
  }, p = [...n ? [{
305
305
  label: c.ai.addFilesOrPhotos,
306
- icon: Pe,
306
+ icon: Ne,
307
307
  onClick: r,
308
308
  disabled: i,
309
309
  disabledTooltip: a
310
310
  }, ...e.length > 0 ? [{ type: "separator" }] : []] : [], ...jn(e)];
311
311
  return /* @__PURE__ */ J("div", {
312
312
  onClick: (e) => e.stopPropagation(),
313
- children: /* @__PURE__ */ J(we, {
313
+ children: /* @__PURE__ */ J(Ce, {
314
314
  items: p,
315
315
  align: "start",
316
316
  disabled: o,
@@ -321,7 +321,7 @@ var xn = 14, Sn = 2.31, Cn = ({ percentage: e, tone: t }) => {
321
321
  label: c.ai.addToConversation,
322
322
  hideLabel: !0,
323
323
  type: "button",
324
- icon: St,
324
+ icon: xt,
325
325
  variant: "outline",
326
326
  size: "md",
327
327
  pressed: l,
@@ -343,7 +343,7 @@ var xn = 14, Sn = 2.31, Cn = ({ percentage: e, tone: t }) => {
343
343
  label: d.ai.attachFile,
344
344
  hideLabel: !0,
345
345
  type: "button",
346
- icon: Pe,
346
+ icon: Ne,
347
347
  variant: "outline",
348
348
  size: "md",
349
349
  disabled: r || f,
@@ -391,7 +391,7 @@ var xn = 14, Sn = 2.31, Cn = ({ percentage: e, tone: t }) => {
391
391
  label: r.ai.creditWarning.dismiss ?? "",
392
392
  size: "sm",
393
393
  variant: "ghost",
394
- icon: ot,
394
+ icon: at,
395
395
  hideLabel: !0,
396
396
  onClick: e.onDismiss
397
397
  }) : null]
@@ -410,8 +410,8 @@ var xn = 14, Sn = 2.31, Cn = ({ percentage: e, tone: t }) => {
410
410
  children: [
411
411
  /* @__PURE__ */ J("div", {
412
412
  className: "flex items-center py-0.5",
413
- children: /* @__PURE__ */ J(V, {
414
- icon: Se,
413
+ children: /* @__PURE__ */ J(H, {
414
+ icon: xe,
415
415
  size: "md",
416
416
  color: "default"
417
417
  })
@@ -426,7 +426,7 @@ var xn = 14, Sn = 2.31, Cn = ({ percentage: e, tone: t }) => {
426
426
  variant: "ghost",
427
427
  label: r.ai.removeQuote,
428
428
  onClick: n,
429
- icon: ot,
429
+ icon: at,
430
430
  hideLabel: !0,
431
431
  size: "sm"
432
432
  })
@@ -486,14 +486,14 @@ function Wn(e, t = zn) {
486
486
  }
487
487
  var Gn = ({ suggestions: e, onItemClick: t, onItemHover: n, side: r = "top", reserveTwoRows: a = !0, overflow: o = "wrap" }) => {
488
488
  let [s, c] = q(null), l = K(null), d = o === "scroll", f = Rn(), p = K(null), m = K(!1), h = an(), g = an(), _ = s === null ? null : e[s];
489
- return e.length === 0 ? null : /* @__PURE__ */ Y(Qt, {
489
+ return e.length === 0 ? null : /* @__PURE__ */ Y(Zt, {
490
490
  open: _ !== null,
491
491
  onOpenChange: (e) => {
492
492
  e || (c(null), n?.(null));
493
493
  },
494
494
  children: [/* @__PURE__ */ J("div", {
495
495
  className: i("flex w-full items-end", a && "min-h-[72px]"),
496
- children: /* @__PURE__ */ J(Zt, {
496
+ children: /* @__PURE__ */ J(Xt, {
497
497
  asChild: !0,
498
498
  children: /* @__PURE__ */ J("div", {
499
499
  ref: (e) => {
@@ -517,7 +517,7 @@ var Gn = ({ suggestions: e, onItemClick: t, onItemHover: n, side: r = "top", res
517
517
  }, `${e.label}-${t}`))
518
518
  })
519
519
  })
520
- }), _ ? /* @__PURE__ */ Y(Xt, {
520
+ }), _ ? /* @__PURE__ */ Y(Yt, {
521
521
  side: r,
522
522
  align: "start",
523
523
  sideOffset: 8,
@@ -538,7 +538,7 @@ var Gn = ({ suggestions: e, onItemClick: t, onItemHover: n, side: r = "top", res
538
538
  children: [/* @__PURE__ */ Y("div", {
539
539
  id: g,
540
540
  className: "flex items-center gap-1.5 p-2 pb-1 text-sm font-medium text-f1-foreground-secondary",
541
- children: [/* @__PURE__ */ J(V, {
541
+ children: [/* @__PURE__ */ J(H, {
542
542
  "aria-hidden": !0,
543
543
  icon: _.icon,
544
544
  size: "sm"
@@ -602,8 +602,8 @@ function Kn({ item: e, onSelect: t, onHover: n }) {
602
602
  }), /* @__PURE__ */ J("span", {
603
603
  "aria-hidden": !0,
604
604
  className: "flex flex-shrink-0 items-center text-f1-foreground-secondary opacity-0 transition-opacity group-hover:opacity-100 group-focus-visible:opacity-100",
605
- children: /* @__PURE__ */ J(V, {
606
- icon: It,
605
+ children: /* @__PURE__ */ J(H, {
606
+ icon: Ut,
607
607
  size: "sm"
608
608
  })
609
609
  })]
@@ -742,45 +742,45 @@ function Qn(e) {
742
742
  //#endregion
743
743
  //#region src/addons/ai/F0AiChatTextArea/AiChatComposer.tsx
744
744
  var $n = ({ onSubmit: e, onStop: n, inProgress: r, onBeforeSubmit: a, placeholders: s, creditWarning: u, clarifyingUI: f, pendingContext: m = null, onPendingContextChange: h, pendingQuote: g = null, onPendingQuoteChange: v, fileAttachments: y, toolbarStart: b, composerActions: x, onComposerActionsOpenChange: S, onTranscribe: C, searchPersons: w, 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: te = "default", name: ne, ref: re }) => {
745
- let I = t(), ie = l(), L = !!ie, R = K(null), [ae, oe] = q(null), [se, ce] = q(!1), [le, ue] = q({
745
+ let I = t(), ie = l(), L = !!ie, R = K(null), [ae, oe] = q(null), [se, z] = q(!1), [ce, le] = q({
746
746
  isEmpty: !0,
747
747
  recorder: "idle"
748
- }), de = K(null), fe = K(null);
748
+ }), ue = K(null), de = K(null);
749
749
  W(() => () => {
750
- fe.current && clearTimeout(fe.current);
750
+ de.current && clearTimeout(de.current);
751
751
  }, []);
752
- let pe = f != null, me = K(m), he = K(g);
752
+ let fe = f != null, pe = K(m), me = K(g);
753
753
  sn(() => {
754
- me.current = m, he.current = g;
754
+ pe.current = m, me.current = g;
755
755
  });
756
- let { tracking: ge, setFocusChatInputFunction: _e } = B(), ve = U((e, t) => {
757
- ge?.onWelcomeSuggestionClick?.({
756
+ let { tracking: he, setFocusChatInputFunction: ge } = V(), _e = U((e, t) => {
757
+ he?.onWelcomeSuggestionClick?.({
758
758
  item: e,
759
759
  group: t,
760
760
  prompt: e.prompt || e.title
761
761
  }), M?.(e, t);
762
- }, [ge, M]), { attachedFiles: ye, fileInputRef: be, onUploadFiles: xe, acceptValue: Se, isAtMaxFiles: Ce, maxFiles: we, processFiles: Te, handleFileSelect: Ee, handleRemoveFile: De, transientError: Oe, showTransientError: ke } = Qn(y), z = Jn({
762
+ }, [he, M]), { attachedFiles: ve, fileInputRef: ye, onUploadFiles: be, acceptValue: xe, isAtMaxFiles: Se, maxFiles: Ce, processFiles: we, handleFileSelect: Te, handleRemoveFile: Ee, transientError: De, showTransientError: Oe } = Qn(y), B = Jn({
763
763
  searchPersons: w,
764
764
  mentionSources: T
765
765
  });
766
766
  W(() => {
767
767
  P || typeof window < "u" && window.location.hash.length === 0 && R.current?.focus();
768
768
  }, []), W(() => {
769
- if (pe) _e(null);
770
- else return _e(() => {
769
+ if (fe) ge(null);
770
+ else return ge(() => {
771
771
  R.current?.focus();
772
- }), () => _e(null);
773
- }, [pe, _e]), W(() => {
772
+ }), () => ge(null);
773
+ }, [fe, ge]), W(() => {
774
774
  if (E) return E((e) => {
775
- Te(e);
775
+ we(e);
776
776
  }), () => {
777
777
  E(null);
778
778
  };
779
- }, [E, Te]);
780
- let Ae = U((e) => void Te(e), [Te]), je = ye.filter((e) => e.status === "uploaded"), Me = ye.some((e) => e.status === "uploading"), Ne = ye.some((e) => e.status === "error"), Pe = !le.isEmpty || je.length > 0, Fe = async ({ text: t, mentions: n }) => {
781
- if (Ne) return ke(I.ai.fileUploadBlockedSubmit), !1;
779
+ }, [E, we]);
780
+ let ke = U((e) => void we(e), [we]), Ae = ve.filter((e) => e.status === "uploaded"), je = ve.some((e) => e.status === "uploading"), Me = ve.some((e) => e.status === "error"), Ne = !ce.isEmpty || Ae.length > 0, Pe = async ({ text: t, mentions: n }) => {
781
+ if (Me) return Oe(I.ai.fileUploadBlockedSubmit), !1;
782
782
  if (a && await a() === !1) return !1;
783
- let r = je, i = r.flatMap((e) => e.uploadedFile ? [e.uploadedFile] : []), o = m, s = g;
783
+ let r = Ae, i = r.flatMap((e) => e.uploadedFile ? [e.uploadedFile] : []), o = m, s = g;
784
784
  o && h?.(null), s && v?.(null);
785
785
  try {
786
786
  await e({
@@ -790,25 +790,25 @@ var $n = ({ onSubmit: e, onStop: n, inProgress: r, onBeforeSubmit: a, placeholde
790
790
  quote: s
791
791
  });
792
792
  } catch {
793
- return o && (me.current == null || me.current === o) && h?.(o), s && (he.current == null || he.current === s) && v?.(s), !1;
793
+ return o && (pe.current == null || pe.current === o) && h?.(o), s && (me.current == null || me.current === s) && v?.(s), !1;
794
794
  }
795
- for (let e of r) De(e.id);
795
+ for (let e of r) Ee(e.id);
796
796
  return !0;
797
- }, Ie = ae ? ae.prompt ?? ae.title : null, Le = Ie ? [Ie] : s ?? [], Re = N === "inside", ze = k && j && j.length > 0 && M ? /* @__PURE__ */ J(Gn, {
797
+ }, Fe = ae ? ae.prompt ?? ae.title : null, Ie = Fe ? [Fe] : s ?? [], Le = N === "inside", Re = k && j && j.length > 0 && M ? /* @__PURE__ */ J(Gn, {
798
798
  suggestions: j,
799
- onItemClick: ve,
799
+ onItemClick: _e,
800
800
  onItemHover: oe,
801
- side: Re ? "bottom" : "top",
802
- reserveTwoRows: !Re,
803
- overflow: Re ? "scroll" : "wrap"
804
- }) : null, Be = !P || se || Pe || le.recorder !== "idle", Ve = (e) => e instanceof Node ? de.current?.contains(e) ? !0 : e instanceof Element && e.closest("[data-radix-popper-content-wrapper]") !== null : !1, He = () => {
805
- fe.current && clearTimeout(fe.current), fe.current = setTimeout(() => {
806
- Ve(document.activeElement) || ce(!1);
801
+ side: Le ? "bottom" : "top",
802
+ reserveTwoRows: !Le,
803
+ overflow: Le ? "scroll" : "wrap"
804
+ }) : null, ze = !P || se || Ne || ce.recorder !== "idle", Be = (e) => e instanceof Node ? ue.current?.contains(e) ? !0 : e instanceof Element && e.closest("[data-radix-popper-content-wrapper]") !== null : !1, Ve = () => {
805
+ de.current && clearTimeout(de.current), de.current = setTimeout(() => {
806
+ Be(document.activeElement) || z(!1);
807
807
  }, 0);
808
- }, Ue = Re, We = Ue && P, Ge = We && !Be, Ke = Ue && ze ? /* @__PURE__ */ J("div", {
808
+ }, He = Le, Ue = He && P, We = Ue && !ze, Ge = He && Re ? /* @__PURE__ */ J("div", {
809
809
  onClick: (e) => e.stopPropagation(),
810
- children: ze
811
- }) : void 0, qe = {
810
+ children: Re
811
+ }) : void 0, Ke = {
812
812
  duration: L ? 0 : .32,
813
813
  ease: [
814
814
  .4,
@@ -816,18 +816,18 @@ var $n = ({ onSubmit: e, onStop: n, inProgress: r, onBeforeSubmit: a, placeholde
816
816
  .2,
817
817
  1
818
818
  ]
819
- }, Je = k && A && !!F && F.length > 0, Ye = A && k, { motionProps: Xe } = bn(k, 160, .5);
819
+ }, qe = k && A && !!F && F.length > 0, Je = A && k, { motionProps: Ye } = bn(k, 160, .5);
820
820
  return /* @__PURE__ */ Y(c.div, {
821
821
  ref: re,
822
- "data-composer-layout": Ye ? "welcome" : "docked",
823
- className: i("flex flex-col items-center gap-2", te === "default" && "px-4 pb-3 pt-2", Ye && "min-h-0 flex-1 justify-start -mt-20"),
824
- ...A ? Xe : {},
822
+ "data-composer-layout": Je ? "welcome" : "docked",
823
+ className: i("flex flex-col items-center gap-2", te === "default" && "px-4 pb-3 pt-2", Je && "min-h-0 flex-1 justify-start -mt-20"),
824
+ ...A ? Ye : {},
825
825
  children: [
826
826
  /* @__PURE__ */ Y("div", {
827
827
  className: "flex w-full max-w-content flex-col gap-2",
828
- children: [ze && !Re ? /* @__PURE__ */ J("div", { children: P ? /* @__PURE__ */ J(p, {
828
+ children: [Re && !Le ? /* @__PURE__ */ J("div", { children: P ? /* @__PURE__ */ J(p, {
829
829
  initial: !1,
830
- children: Be ? /* @__PURE__ */ J(c.div, {
830
+ children: ze ? /* @__PURE__ */ J(c.div, {
831
831
  className: "overflow-hidden",
832
832
  initial: {
833
833
  opacity: 0,
@@ -841,30 +841,30 @@ var $n = ({ onSubmit: e, onStop: n, inProgress: r, onBeforeSubmit: a, placeholde
841
841
  opacity: 0,
842
842
  height: 0
843
843
  },
844
- transition: qe,
845
- children: ze
844
+ transition: Ke,
845
+ children: Re
846
846
  }, "welcome-suggestions") : null
847
- }) : ze }) : null, /* @__PURE__ */ J(Fn, {
847
+ }) : Re }) : null, /* @__PURE__ */ J(Fn, {
848
848
  creditWarning: u,
849
- children: /* @__PURE__ */ J($e, {
849
+ children: /* @__PURE__ */ J(Qe, {
850
850
  asForm: !0,
851
- surfaceRef: de,
851
+ surfaceRef: ue,
852
852
  handleRef: R,
853
853
  className: "isolate z-20 items-stretch p-0 hover:cursor-text",
854
- accent: pe,
855
- replacement: pe ? f : null,
856
- onSurfaceFocus: () => ce(!0),
857
- onSurfaceBlur: He,
858
- onStateChange: ue,
859
- onSend: Fe,
854
+ accent: fe,
855
+ replacement: fe ? f : null,
856
+ onSurfaceFocus: () => z(!0),
857
+ onSurfaceBlur: Ve,
858
+ onStateChange: le,
859
+ onSend: Pe,
860
860
  inProgress: r,
861
861
  onStop: n,
862
- hasAttachments: je.length > 0,
863
- sendBlocked: Me,
864
- error: Oe,
862
+ hasAttachments: Ae.length > 0,
863
+ sendBlocked: je,
864
+ error: De,
865
865
  role: "textbox",
866
866
  name: ne,
867
- placeholders: Le,
867
+ placeholders: Ie,
868
868
  placeholdersPaused: r,
869
869
  labels: {
870
870
  placeholder: I.ai.inputPlaceholder,
@@ -880,57 +880,57 @@ var $n = ({ onSubmit: e, onStop: n, inProgress: r, onBeforeSubmit: a, placeholde
880
880
  mentionSuggestions: I.ai.mentions.suggestions
881
881
  },
882
882
  mentions: {
883
- sources: z,
884
- showGroupLabels: z.length > 1
883
+ sources: B,
884
+ showGroupLabels: B.length > 1
885
885
  },
886
886
  voice: C ? {
887
887
  onTranscribe: C,
888
- onPress: ge?.onDictationStart,
889
- onCancelled: ge?.onDictationCancel
888
+ onPress: he?.onDictationStart,
889
+ onCancelled: he?.onDictationCancel
890
890
  } : void 0,
891
- onPasteFiles: y?.onUploadFiles ? Ae : void 0,
891
+ onPasteFiles: y?.onUploadFiles ? ke : void 0,
892
892
  pastePreferText: !0,
893
893
  header: g ? /* @__PURE__ */ J(In, {
894
894
  quote: g,
895
895
  onRemove: () => v?.(null)
896
896
  }) : null,
897
897
  tray: /* @__PURE__ */ J(On, {
898
- attachedFiles: ye,
899
- isUploading: Me,
900
- onRemove: De,
898
+ attachedFiles: ve,
899
+ isUploading: je,
900
+ onRemove: Ee,
901
901
  removeLabel: I.ai.removeFile,
902
902
  reducedMotion: L
903
903
  }),
904
- leading: Ue ? /* @__PURE__ */ J("div", {
904
+ leading: He ? /* @__PURE__ */ J("div", {
905
905
  className: "flex shrink-0 self-center pl-3",
906
906
  children: /* @__PURE__ */ J(_, {
907
907
  size: "sm",
908
908
  spin: r
909
909
  })
910
910
  }) : void 0,
911
- toolbarStart: xe || b || x?.length ? (e) => /* @__PURE__ */ Y(cn, { children: [/* @__PURE__ */ J(Nn, {
912
- onUploadFiles: xe,
911
+ toolbarStart: be || b || x?.length ? (e) => /* @__PURE__ */ Y(cn, { children: [/* @__PURE__ */ J(Nn, {
912
+ onUploadFiles: be,
913
913
  composerActions: x,
914
914
  onComposerActionsOpenChange: S,
915
- isAtMaxFiles: Ce,
916
- maxFiles: we,
917
- acceptValue: Se,
918
- fileInputRef: be,
919
- handleFileSelect: Ee,
915
+ isAtMaxFiles: Se,
916
+ maxFiles: Ce,
917
+ acceptValue: xe,
918
+ fileInputRef: ye,
919
+ handleFileSelect: Te,
920
920
  recordingStatus: e
921
921
  }), b ? /* @__PURE__ */ J("div", {
922
922
  className: "min-w-0 cursor-default",
923
923
  onClick: (e) => e.stopPropagation(),
924
924
  children: b
925
925
  }) : null] }) : void 0,
926
- toolbarCenter: Ke,
927
- collapsible: We,
928
- collapsed: Ge,
926
+ toolbarCenter: Ge,
927
+ collapsible: Ue,
928
+ collapsed: We,
929
929
  reducedMotion: L
930
930
  })
931
931
  })]
932
932
  }),
933
- Je ? /* @__PURE__ */ J("div", {
933
+ qe ? /* @__PURE__ */ J("div", {
934
934
  className: "w-full max-w-content pt-2",
935
935
  children: /* @__PURE__ */ J(Ln, { cards: F })
936
936
  }) : null,
@@ -941,7 +941,7 @@ var $n = ({ onSubmit: e, onStop: n, inProgress: r, onBeforeSubmit: a, placeholde
941
941
  /* @__PURE__ */ J(p, {
942
942
  mode: "wait",
943
943
  initial: !1,
944
- children: pe ? /* @__PURE__ */ Y(c.div, {
944
+ children: fe ? /* @__PURE__ */ Y(c.div, {
945
945
  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",
946
946
  initial: { opacity: 0 },
947
947
  animate: { opacity: 1 },
@@ -976,7 +976,7 @@ var $n = ({ onSubmit: e, onStop: n, inProgress: r, onBeforeSubmit: a, placeholde
976
976
  I.ai.clarifyingQuestion.navHint.cancel
977
977
  ] })
978
978
  ]
979
- }, "clarifying-nav-hint") : (D?.text || O) && !Ye && /* @__PURE__ */ Y(c.div, {
979
+ }, "clarifying-nav-hint") : (D?.text || O) && !Je && /* @__PURE__ */ Y(c.div, {
980
980
  className: i("flex w-full max-w-content flex-row items-center gap-1", O ? "justify-between" : "justify-center"),
981
981
  initial: { opacity: 0 },
982
982
  animate: { opacity: 1 },
@@ -1049,12 +1049,12 @@ function ir({ ...e }) {
1049
1049
  //#endregion
1050
1050
  //#region src/addons/ai/F0AiChat/components/markdownRenderers/components/Image.tsx
1051
1051
  function ar({ src: e, alt: n, ...r }) {
1052
- let o = t(), s = ye(), c = D(), l = nt(e || void 0), [u, d] = q(!1), [p, m] = q(!1), h = n || (e ? R(e) : "") || "image";
1052
+ let o = t(), s = ve(), c = D(), l = tt(e || void 0), [u, d] = q(!1), [p, m] = q(!1), h = n || (e ? R(e) : "") || "image";
1053
1053
  if (!e || u || l.status === "error") return n ? /* @__PURE__ */ J("span", {
1054
1054
  className: "text-f1-foreground-secondary",
1055
1055
  children: n
1056
1056
  }) : null;
1057
- let g = l.status === "ready" ? /* @__PURE__ */ J(_e, {
1057
+ let g = l.status === "ready" ? /* @__PURE__ */ J(ge, {
1058
1058
  ...r,
1059
1059
  src: l.url,
1060
1060
  alt: n,
@@ -1082,7 +1082,7 @@ function ar({ src: e, alt: n, ...r }) {
1082
1082
  variant: "neutral",
1083
1083
  label: o.chat.download,
1084
1084
  hideLabel: !0,
1085
- icon: z,
1085
+ icon: B,
1086
1086
  onClick: () => c(e, h)
1087
1087
  })
1088
1088
  })]
@@ -1091,7 +1091,7 @@ function ar({ src: e, alt: n, ...r }) {
1091
1091
  //#endregion
1092
1092
  //#region src/addons/ai/F0AiChat/components/markdownRenderers/components/Link.tsx
1093
1093
  function or({ children: e, ...t }) {
1094
- return /* @__PURE__ */ J(De, {
1094
+ return /* @__PURE__ */ J(Ee, {
1095
1095
  ...t,
1096
1096
  variant: "link",
1097
1097
  href: t.href,
@@ -1144,26 +1144,26 @@ function ur({ id: e, trigger: t, resolver: n, contentClassName: r = "w-64", ...a
1144
1144
  s,
1145
1145
  l
1146
1146
  ]), h = d ? null : s;
1147
- return /* @__PURE__ */ Y(Vt, {
1147
+ return /* @__PURE__ */ Y(zt, {
1148
1148
  openDelay: 300,
1149
1149
  closeDelay: 100,
1150
1150
  onOpenChange: (e) => {
1151
1151
  e && m();
1152
1152
  },
1153
- children: [/* @__PURE__ */ J(Wt, {
1153
+ children: [/* @__PURE__ */ J(Pt, {
1154
1154
  asChild: !0,
1155
1155
  children: t
1156
- }), /* @__PURE__ */ J(Lt, {
1156
+ }), /* @__PURE__ */ J(Rt, {
1157
1157
  side: "top",
1158
1158
  align: "start",
1159
1159
  className: i(r, "rounded-2xl border-none p-0 shadow-md"),
1160
- children: l ? /* @__PURE__ */ J(at.Skeleton, {}) : a.renderCard ? a.renderCard(h) : /* @__PURE__ */ J(at, { ...h ? a.mapToCard(h) : a.fallbackCard })
1160
+ children: l ? /* @__PURE__ */ J(it.Skeleton, {}) : a.renderCard ? a.renderCard(h) : /* @__PURE__ */ J(it, { ...h ? a.mapToCard(h) : a.fallbackCard })
1161
1161
  })]
1162
1162
  });
1163
1163
  }
1164
1164
  //#endregion
1165
1165
  //#region src/addons/ai/F0AiChat/components/markdownRenderers/entityRef/components/MentionTrigger.tsx
1166
- var dr = H(({ label: e, ...t }, n) => /* @__PURE__ */ Y("button", {
1166
+ var dr = tn(({ label: e, ...t }, n) => /* @__PURE__ */ Y("button", {
1167
1167
  ref: n,
1168
1168
  type: "button",
1169
1169
  className: i("cursor-pointer font-medium text-f1-foreground-secondary hover:text-f1-foreground", a()),
@@ -1196,7 +1196,7 @@ function fr({ id: e, label: n, config: r }) {
1196
1196
  }
1197
1197
  //#endregion
1198
1198
  //#region src/addons/ai/F0AiChat/components/markdownRenderers/entityRef/entities/candidate/CandidateEntityRef.tsx
1199
- var pr = H(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1199
+ var pr = tn(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1200
1200
  ref: n,
1201
1201
  type: "button",
1202
1202
  className: i("cursor-pointer font-medium text-f1-foreground-secondary hover:text-f1-foreground", a()),
@@ -1205,7 +1205,7 @@ var pr = H(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1205
1205
  }));
1206
1206
  pr.displayName = "CandidateTrigger";
1207
1207
  function mr({ id: e, label: n }) {
1208
- let { entityRefs: r } = B(), i = r?.resolvers?.candidate, a = t(), o = r?.urls?.candidate?.(e), s = G(() => (e) => {
1208
+ let { entityRefs: r } = V(), i = r?.resolvers?.candidate, a = t(), o = r?.urls?.candidate?.(e), s = G(() => (e) => {
1209
1209
  let t = [];
1210
1210
  return e.source && t.push({
1211
1211
  title: a.t("ai.entityRef.candidate.source"),
@@ -1260,7 +1260,7 @@ function mr({ id: e, label: n }) {
1260
1260
  }
1261
1261
  //#endregion
1262
1262
  //#region src/addons/ai/F0AiChat/components/markdownRenderers/entityRef/entities/expense/ExpenseEntityRef.tsx
1263
- var hr = H(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1263
+ var hr = tn(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1264
1264
  ref: n,
1265
1265
  type: "button",
1266
1266
  className: i("cursor-pointer font-medium text-f1-foreground-secondary hover:text-f1-foreground", a()),
@@ -1269,10 +1269,10 @@ var hr = H(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1269
1269
  }));
1270
1270
  hr.displayName = "ExpenseTrigger";
1271
1271
  function gr({ id: e, label: n }) {
1272
- let { entityRefs: r } = B(), i = r?.resolvers?.expense, a = t(), o = r?.urls?.expense?.(e), s = G(() => (e) => ({
1272
+ let { entityRefs: r } = V(), i = r?.resolvers?.expense, a = t(), o = r?.urls?.expense?.(e), s = G(() => (e) => ({
1273
1273
  avatar: {
1274
1274
  type: "icon",
1275
- icon: ut
1275
+ icon: lt
1276
1276
  },
1277
1277
  title: e.description || `Expense #${e.id}`,
1278
1278
  description: [e.amount, e.status].filter(Boolean).join(" · "),
@@ -1301,7 +1301,7 @@ function gr({ id: e, label: n }) {
1301
1301
  }
1302
1302
  //#endregion
1303
1303
  //#region src/addons/ai/F0AiChat/components/markdownRenderers/entityRef/entities/jobPosting/JobPostingEntityRef.tsx
1304
- var _r = H(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1304
+ var _r = tn(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1305
1305
  ref: n,
1306
1306
  type: "button",
1307
1307
  className: i("cursor-pointer font-medium text-f1-foreground-secondary hover:text-f1-foreground", a()),
@@ -1310,7 +1310,7 @@ var _r = H(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1310
1310
  }));
1311
1311
  _r.displayName = "JobPostingTrigger";
1312
1312
  function vr({ id: e, label: n }) {
1313
- let { entityRefs: r } = B(), i = r?.resolvers?.jobPosting, a = t(), o = r?.urls?.jobPosting?.(e), s = G(() => (e) => ({
1313
+ let { entityRefs: r } = V(), i = r?.resolvers?.jobPosting, a = t(), o = r?.urls?.jobPosting?.(e), s = G(() => (e) => ({
1314
1314
  title: e.title,
1315
1315
  description: [e.status, e.location].filter(Boolean).join(" · "),
1316
1316
  ...o && { secondaryActions: {
@@ -1339,7 +1339,7 @@ function vr({ id: e, label: n }) {
1339
1339
  //#endregion
1340
1340
  //#region src/addons/ai/F0AiChat/components/markdownRenderers/entityRef/entities/person/PersonEntityRef.tsx
1341
1341
  function yr({ id: e, label: t }) {
1342
- let { entityRefs: n } = B(), r = n?.resolvers?.person, i = n?.urls?.person?.(e);
1342
+ let { entityRefs: n } = V(), r = n?.resolvers?.person, i = n?.urls?.person?.(e);
1343
1343
  return r ? /* @__PURE__ */ J(ur, {
1344
1344
  id: e,
1345
1345
  trigger: /* @__PURE__ */ J(dr, { label: t }),
@@ -1382,7 +1382,7 @@ function br({ rows: e }) {
1382
1382
  }
1383
1383
  //#endregion
1384
1384
  //#region src/addons/ai/F0AiChat/components/markdownRenderers/entityRef/entities/requisition/RequisitionEntityRef.tsx
1385
- var xr = H(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1385
+ var xr = tn(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1386
1386
  ref: n,
1387
1387
  type: "button",
1388
1388
  className: i("cursor-pointer font-medium text-f1-foreground-secondary hover:text-f1-foreground", a()),
@@ -1391,13 +1391,13 @@ var xr = H(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1391
1391
  }));
1392
1392
  xr.displayName = "RequisitionTrigger";
1393
1393
  function Sr({ id: e, label: n }) {
1394
- let { entityRefs: r } = B(), i = r?.resolvers?.requisition, a = t(), o = r?.urls?.requisition?.(e), s = G(() => (e) => {
1394
+ let { entityRefs: r } = V(), i = r?.resolvers?.requisition, a = t(), o = r?.urls?.requisition?.(e), s = G(() => (e) => {
1395
1395
  let t = e.lineManager ? `${e.lineManager.firstName} ${e.lineManager.lastName}` : void 0, n = [
1396
1396
  e.status ? {
1397
1397
  label: a.t("ai.entityRef.requisition.status"),
1398
1398
  value: /* @__PURE__ */ J("div", {
1399
1399
  className: "flex items-center pt-1",
1400
- children: /* @__PURE__ */ J(Ft, {
1400
+ children: /* @__PURE__ */ J(Ht, {
1401
1401
  text: e.status,
1402
1402
  variant: e.statusVariant ?? "neutral"
1403
1403
  })
@@ -1407,7 +1407,7 @@ function Sr({ id: e, label: n }) {
1407
1407
  label: a.t("ai.entityRef.requisition.lineManager"),
1408
1408
  value: /* @__PURE__ */ Y("div", {
1409
1409
  className: "flex items-center gap-1.5 pt-1",
1410
- children: [/* @__PURE__ */ J(Tt, {
1410
+ children: [/* @__PURE__ */ J(wt, {
1411
1411
  firstName: e.lineManager.firstName,
1412
1412
  lastName: e.lineManager.lastName,
1413
1413
  src: e.lineManager.avatarUrl,
@@ -1450,7 +1450,7 @@ function Sr({ id: e, label: n }) {
1450
1450
  }
1451
1451
  //#endregion
1452
1452
  //#region src/addons/ai/F0AiChat/components/markdownRenderers/entityRef/entities/vacancy/VacancyEntityRef.tsx
1453
- var Cr = H(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1453
+ var Cr = tn(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1454
1454
  ref: n,
1455
1455
  type: "button",
1456
1456
  className: i("cursor-pointer font-medium text-f1-foreground-secondary hover:text-f1-foreground", a()),
@@ -1459,7 +1459,7 @@ var Cr = H(({ label: e, ...t }, n) => /* @__PURE__ */ J("button", {
1459
1459
  }));
1460
1460
  Cr.displayName = "VacancyTrigger";
1461
1461
  function wr({ id: e, label: n }) {
1462
- let { entityRefs: r } = B(), i = r?.resolvers?.vacancy, a = t(), o = r?.urls?.vacancy?.(e), s = G(() => (e) => ({
1462
+ let { entityRefs: r } = V(), i = r?.resolvers?.vacancy, a = t(), o = r?.urls?.vacancy?.(e), s = G(() => (e) => ({
1463
1463
  title: e.name,
1464
1464
  description: [e.status, e.vacancyType].filter(Boolean).join(" · "),
1465
1465
  ...o && { secondaryActions: {
@@ -1507,7 +1507,7 @@ function Or(e) {
1507
1507
  return typeof e == "string" ? e : typeof e == "number" ? String(e) : Array.isArray(e) ? e.map(Or).join("") : e && typeof e == "object" && "props" in e ? Or(e.props.children) : "";
1508
1508
  }
1509
1509
  function kr({ type: e, id: t, children: n }) {
1510
- let { entityRefs: r } = B();
1510
+ let { entityRefs: r } = V();
1511
1511
  if (!t || !e) return /* @__PURE__ */ J("span", { children: n });
1512
1512
  let i = Or(n), a = Er(e);
1513
1513
  if (a) return /* @__PURE__ */ J(a, {
@@ -1524,10 +1524,10 @@ function kr({ type: e, id: t, children: n }) {
1524
1524
  //#endregion
1525
1525
  //#region src/addons/ai/F0AiChat/components/markdownRenderers/components/Table.tsx
1526
1526
  async function Ar(e, t, n) {
1527
- let r = Ue(e), i = t === "xlsx" ? await P([{
1527
+ let r = He(e), i = t === "xlsx" ? await P([{
1528
1528
  name: "Data",
1529
1529
  rows: r
1530
- }]) : await Ge(r);
1530
+ }]) : await We(r);
1531
1531
  v(i, `${n}.${t}`);
1532
1532
  }
1533
1533
  function jr({ children: e, title: n, ...r }) {
@@ -1544,16 +1544,16 @@ function jr({ children: e, title: n, ...r }) {
1544
1544
  tag: "h2",
1545
1545
  className: "text-base font-medium capitalize text-f1-foreground",
1546
1546
  children: n ?? a.ai.reportCard.tableLabel
1547
- }), /* @__PURE__ */ J(we, {
1548
- icon: z,
1547
+ }), /* @__PURE__ */ J(Ce, {
1548
+ icon: B,
1549
1549
  size: "md",
1550
1550
  items: [{
1551
1551
  label: a.t("ai.dataDownload.download", { format: "Excel" }),
1552
- icon: z,
1552
+ icon: B,
1553
1553
  onClick: () => s("xlsx")
1554
1554
  }, {
1555
1555
  label: a.t("ai.dataDownload.download", { format: "CSV" }),
1556
- icon: z,
1556
+ icon: B,
1557
1557
  onClick: () => s("csv")
1558
1558
  }]
1559
1559
  })]
@@ -1712,16 +1712,16 @@ var Br = {
1712
1712
  mimeType: e.mimeType,
1713
1713
  size: e.bytes,
1714
1714
  previewUrl: e.preview ? t?.(e.preview.path) ?? e.preview.url : void 0
1715
- }), $r = (e) => ie(e) ?? "", ei = en(!1), ti = () => rn(ei), ni = (e, t) => {
1715
+ }), $r = (e) => ie(e) ?? "", ei = $t(!1), ti = () => rn(ei), ni = (e, t) => {
1716
1716
  let [n, r] = q(() => t ? null : new Set(e));
1717
1717
  return t && n !== null ? r(null) : !t && n === null && r(new Set(e)), (e) => e !== void 0 && n !== null && !n.has(e);
1718
- }, ri = ({ avatar: e }) => e?.type === "module" ? /* @__PURE__ */ J(Et, {
1718
+ }, ri = ({ avatar: e }) => e?.type === "module" ? /* @__PURE__ */ J(Tt, {
1719
1719
  module: e.module,
1720
1720
  size: "md"
1721
- }) : e?.type === "file" ? /* @__PURE__ */ J(Ct, {
1721
+ }) : e?.type === "file" ? /* @__PURE__ */ J(St, {
1722
1722
  file: e.file,
1723
1723
  size: "lg"
1724
- }) : e?.type === "icon" ? /* @__PURE__ */ J(wt, {
1724
+ }) : e?.type === "icon" ? /* @__PURE__ */ J(Ct, {
1725
1725
  icon: e.icon,
1726
1726
  size: "md"
1727
1727
  }) : null, ii = ({ action: e, isActive: n }) => {
@@ -1774,7 +1774,7 @@ function ai({ avatar: e, title: t, description: n, isActive: r = !1, action: a,
1774
1774
  ai.displayName = "F0CanvasCard";
1775
1775
  //#endregion
1776
1776
  //#region src/addons/ai/F0AiChat/providers/FormCardValueFormatterProvider.tsx
1777
- var oi = en(null);
1777
+ var oi = $t(null);
1778
1778
  function si({ children: e }) {
1779
1779
  let [t, n] = q(0), r = K([]), i = U((e) => {
1780
1780
  let t = r.current, i = t.findIndex((t) => t.formName === e.formName && t.customFieldName === e.customFieldName), a = e;
@@ -1819,7 +1819,7 @@ function mi(e) {
1819
1819
  return e && e.charAt(0).toUpperCase() + e.slice(1);
1820
1820
  }
1821
1821
  function hi(e) {
1822
- let { days: t, hours: n, minutes: r, seconds: i } = fe(e), a = [];
1822
+ let { days: t, hours: n, minutes: r, seconds: i } = de(e), a = [];
1823
1823
  return t > 0 && a.push(`${t}d`), n > 0 && a.push(`${n}h`), r > 0 && a.push(`${r}m`), (i > 0 || a.length === 0) && a.push(`${i}s`), a.join(" ");
1824
1824
  }
1825
1825
  function gi(e) {
@@ -1894,7 +1894,7 @@ function yi(e, t) {
1894
1894
  };
1895
1895
  }
1896
1896
  function bi({ formName: e, formDescription: t, module: n, cardTitle: r, cardDescription: i, fieldDescriptions: a, formValues: o, valueFormatter: s }) {
1897
- let { canvasContent: c, openCanvas: l, closeCanvas: u, dismissCanvas: d } = B(), f = ci(e), p = s ?? f, m = K(() => {}), h = r ?? e, g = i ?? t ?? "", _ = c?.type === "form" && c.formName === e, v = () => l({
1897
+ let { canvasContent: c, openCanvas: l, closeCanvas: u, dismissCanvas: d } = V(), f = ci(e), p = s ?? f, m = K(() => {}), h = r ?? e, g = i ?? t ?? "", _ = c?.type === "form" && c.formName === e, v = () => l({
1898
1898
  type: "form",
1899
1899
  title: h,
1900
1900
  description: g,
@@ -1955,7 +1955,7 @@ bi.displayName = "FormCard";
1955
1955
  //#endregion
1956
1956
  //#region src/addons/ai/F0AiMessagesContainer/components/ActiveFormCard.tsx
1957
1957
  function xi() {
1958
- let e = Xe(), t = e?.activeForm;
1958
+ let e = Ye(), t = e?.activeForm;
1959
1959
  if (!t) return null;
1960
1960
  let n = t.cardTitle, r = t.cardDescription, i = (e?.getFillVersion(t.formName) ?? 0) > 0;
1961
1961
  return !n || !r || !i ? null : /* @__PURE__ */ J("div", {
@@ -1973,7 +1973,7 @@ function xi() {
1973
1973
  }
1974
1974
  //#endregion
1975
1975
  //#region src/addons/ai/F0AiMessagesContainer/hooks/useScrollAnchor.ts
1976
- var Si = $t.settleMs, Ci = 1e3, wi = 2, Ti = "data-ai-anchor", Ei = "data-turn-index", Di = (e) => {
1976
+ var Si = Qt.settleMs, Ci = 1e3, wi = 2, Ti = "data-ai-anchor", Ei = "data-turn-index", Di = (e) => {
1977
1977
  if (!e) return null;
1978
1978
  let t = e.closest(`[${Ti}]`);
1979
1979
  if (t) return t;
@@ -2047,9 +2047,9 @@ function Ai({ viewportRef: e, contentRef: t }) {
2047
2047
  //#endregion
2048
2048
  //#region src/addons/ai/F0AiFileAttachments/components/FileCanvasCards.tsx
2049
2049
  var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile: t, onCanvasUnavailable: n }) => {
2050
- let { canvasContent: r, tryOpenCanvas: i, closeCanvas: a, dismissCanvas: o, panelOverlays: s } = B(), c = xe(), l = ti(), u = e.map((e) => e.file), d = (r, { fallback: a = !0 } = {}) => {
2050
+ let { canvasContent: r, tryOpenCanvas: i, closeCanvas: a, dismissCanvas: o, panelOverlays: s } = V(), c = be(), l = ti(), u = e.map((e) => e.file), d = (r, { fallback: a = !0 } = {}) => {
2051
2051
  let o = e[r];
2052
- o && t?.(o.file, "document", { documentKind: o.documentKind }) !== !1 && !(i?.(rt({
2052
+ o && t?.(o.file, "document", { documentKind: o.documentKind }) !== !1 && !(i?.(nt({
2053
2053
  files: u,
2054
2054
  index: r,
2055
2055
  config: c
@@ -2069,7 +2069,7 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2069
2069
  className: "flex w-full max-w-sm flex-col gap-2",
2070
2070
  "data-testid": "ai-chat-file-canvas-cards",
2071
2071
  children: e.map(({ file: e }, t) => {
2072
- let n = ke(r, e.url);
2072
+ let n = Oe(r, e.url);
2073
2073
  return /* @__PURE__ */ J("div", {
2074
2074
  "data-active": n || void 0,
2075
2075
  "data-testid": "ai-chat-file-canvas-card",
@@ -2083,7 +2083,7 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2083
2083
  }
2084
2084
  },
2085
2085
  title: e.name,
2086
- description: e.size ? ne(e.size) : de(e.name, $r(e)),
2086
+ description: e.size ? ne(e.size) : ue(e.name, $r(e)),
2087
2087
  isActive: n,
2088
2088
  action: {
2089
2089
  type: "open",
@@ -2095,8 +2095,8 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2095
2095
  })
2096
2096
  });
2097
2097
  }, Pi = "rounded-xl", Z = "ai-chat", Fi = (e) => {
2098
- let { provided: t } = Me();
2099
- return t ? /* @__PURE__ */ J(Ri, { ...e }) : /* @__PURE__ */ J(mt, { children: /* @__PURE__ */ J(Ri, { ...e }) });
2098
+ let { provided: t } = je();
2099
+ return t ? /* @__PURE__ */ J(Ri, { ...e }) : /* @__PURE__ */ J(pt, { children: /* @__PURE__ */ J(Ri, { ...e }) });
2100
2100
  }, Ii = {
2101
2101
  image: 0,
2102
2102
  video: 1,
@@ -2104,11 +2104,11 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2104
2104
  audio: 3,
2105
2105
  file: 4
2106
2106
  }, Li = (e) => e.bucket === "image" || e.bucket === "video" || e.bucket === "audio" || e.bucket === "document" ? e.bucket : "file", Ri = ({ files: e, align: t = "start", onOpenFile: n, onFileDownloaded: r, size: i = "default", opensIn: a }) => {
2107
- let { remotePreviews: o } = Me(), s = st(), c = i === "default" && (a ?? (t === "start" && s ? "canvas" : "viewer")) === "canvas", [l, u] = q(() => /* @__PURE__ */ new Set()), d = G(() => zi(e, o, l), [
2107
+ let { remotePreviews: o } = je(), s = ot(), c = i === "default" && (a ?? (t === "start" && s ? "canvas" : "viewer")) === "canvas", [l, u] = q(() => /* @__PURE__ */ new Set()), d = G(() => zi(e, o, l), [
2108
2108
  e,
2109
2109
  o,
2110
2110
  l
2111
- ]), f = G(() => i === "compact" ? d : [...d].sort((e, t) => Ii[e.cls.bucket] - Ii[t.cls.bucket]), [d, i]), p = he(f, "transcript");
2111
+ ]), f = G(() => i === "compact" ? d : [...d].sort((e, t) => Ii[e.cls.bucket] - Ii[t.cls.bucket]), [d, i]), p = me(f, "transcript");
2112
2112
  return e.length === 0 ? null : J(i === "compact" ? Hi : Vi, {
2113
2113
  entries: d,
2114
2114
  canvas: c,
@@ -2121,12 +2121,12 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2121
2121
  onImageError: (e) => u((t) => new Set(t).add(e.url))
2122
2122
  });
2123
2123
  }, zi = (e, t, n) => e.map((e, r) => {
2124
- let i = y(e), a = !(t || Ee(e.url)) || i.bucket === "file" || i.bucket === "image" && n.has(e.url);
2124
+ let i = y(e), a = !(t || Te(e.url)) || i.bucket === "file" || i.bucket === "image" && n.has(e.url);
2125
2125
  return {
2126
2126
  file: e,
2127
2127
  cls: i,
2128
2128
  generic: a,
2129
- item: a ? null : S(e, pe(r, e.url))
2129
+ item: a ? null : S(e, fe(r, e.url))
2130
2130
  };
2131
2131
  }), Bi = ({ align: e, compact: t = !1, children: n }) => /* @__PURE__ */ J("div", {
2132
2132
  className: i("flex w-full min-w-0 flex-col gap-1.5", e === "end" ? "items-end" : "items-start"),
@@ -2158,8 +2158,8 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2158
2158
  }) : null,
2159
2159
  c.map((e, t) => {
2160
2160
  let { file: n, cls: r } = e, i = `${n.name}-${t}`;
2161
- return r.bucket === "video" ? /* @__PURE__ */ J(ft, {
2162
- file: ce(n),
2161
+ return r.bucket === "video" ? /* @__PURE__ */ J(dt, {
2162
+ file: z(n),
2163
2163
  cornerClass: "rounded-xl",
2164
2164
  testIdPrefix: Z,
2165
2165
  onDownloaded: () => s?.(n)
@@ -2167,8 +2167,8 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2167
2167
  }),
2168
2168
  f || t ? null : d.map((e, t) => {
2169
2169
  let { file: n, cls: i } = e;
2170
- return i.bucket === "document" ? /* @__PURE__ */ J(Ce, {
2171
- file: ce(n),
2170
+ return i.bucket === "document" ? /* @__PURE__ */ J(Se, {
2171
+ file: z(n),
2172
2172
  kind: i.kind,
2173
2173
  cornerClass: "rounded-xl",
2174
2174
  testIdPrefix: Z,
@@ -2180,8 +2180,8 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2180
2180
  onDownloaded: () => s?.(n)
2181
2181
  }, `${n.name}-${t}`) : null;
2182
2182
  }),
2183
- c.map((e, t) => e.cls.bucket === "audio" ? /* @__PURE__ */ J(dt, {
2184
- file: ce(e.file),
2183
+ c.map((e, t) => e.cls.bucket === "audio" ? /* @__PURE__ */ J(ut, {
2184
+ file: z(e.file),
2185
2185
  testIdPrefix: Z,
2186
2186
  onDownloaded: () => s?.(e.file)
2187
2187
  }, `${e.file.name}-${t}`) : null),
@@ -2191,8 +2191,8 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2191
2191
  "data-testid": f ? `${Z}-file-shelf` : void 0,
2192
2192
  children: [g.length > 0 ? g.map((e, t) => {
2193
2193
  let { file: n, cls: i } = e;
2194
- return i.bucket === "document" ? /* @__PURE__ */ J(Ce, {
2195
- file: ce(n),
2194
+ return i.bucket === "document" ? /* @__PURE__ */ J(Se, {
2195
+ file: z(n),
2196
2196
  kind: i.kind,
2197
2197
  cornerClass: "rounded-xl",
2198
2198
  compact: !0,
@@ -2227,12 +2227,12 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2227
2227
  }, c) : s.bucket === "video" ? /* @__PURE__ */ J(Ki, {
2228
2228
  file: i,
2229
2229
  onOpen: () => n(e)
2230
- }, c) : s.bucket === "audio" ? /* @__PURE__ */ J(le, {
2231
- file: ce(i),
2230
+ }, c) : s.bucket === "audio" ? /* @__PURE__ */ J(ce, {
2231
+ file: z(i),
2232
2232
  testIdPrefix: Z,
2233
2233
  onOpen: () => n(e)
2234
- }, c) : s.bucket === "document" ? /* @__PURE__ */ J(Ce, {
2235
- file: ce(i),
2234
+ }, c) : s.bucket === "document" ? /* @__PURE__ */ J(Se, {
2235
+ file: z(i),
2236
2236
  kind: s.kind,
2237
2237
  cornerClass: "rounded-xl",
2238
2238
  compact: !0,
@@ -2256,14 +2256,14 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2256
2256
  testId: `${Z}-file-tile`,
2257
2257
  action: {
2258
2258
  label: r.t("chat.downloadNamedFile", { name: e.name }),
2259
- icon: z,
2259
+ icon: B,
2260
2260
  onClick: () => {
2261
2261
  i(e.url, e.name), n?.(e);
2262
2262
  }
2263
2263
  }
2264
2264
  });
2265
2265
  }, Wi = "relative box-border h-[132px] w-[168px] shrink-0 overflow-hidden rounded-xl border border-solid border-f1-border-secondary bg-f1-background-secondary p-0 transition-opacity hover:opacity-90", Gi = ({ file: e, onOpen: n, onError: r }) => {
2266
- let o = t(), s = nt(e.thumbnailUrl ?? e.url);
2266
+ let o = t(), s = tt(e.thumbnailUrl ?? e.url);
2267
2267
  return M(s.status, r), /* @__PURE__ */ J("button", {
2268
2268
  type: "button",
2269
2269
  onClick: n,
@@ -2271,7 +2271,7 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2271
2271
  "aria-label": o.t("chat.openNamedDocument", { name: e.name }),
2272
2272
  className: i(Wi, a()),
2273
2273
  "data-testid": "ai-chat-image-attachment",
2274
- children: s.status === "ready" ? /* @__PURE__ */ J(_e, {
2274
+ children: s.status === "ready" ? /* @__PURE__ */ J(ge, {
2275
2275
  src: s.url,
2276
2276
  alt: e.name,
2277
2277
  draggable: !1,
@@ -2280,7 +2280,7 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2280
2280
  }) : null
2281
2281
  });
2282
2282
  }, Ki = ({ file: e, onOpen: n }) => {
2283
- let r = t(), { urlCache: o } = xe(), s = nt(e.thumbnailUrl), c = !e.thumbnailUrl && o === null, [l, u] = q(!1);
2283
+ let r = t(), { urlCache: o } = be(), s = tt(e.thumbnailUrl), c = !e.thumbnailUrl && o === null, [l, u] = q(!1);
2284
2284
  return /* @__PURE__ */ Y("button", {
2285
2285
  type: "button",
2286
2286
  onClick: n,
@@ -2291,19 +2291,19 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2291
2291
  url: e.url,
2292
2292
  posterUrl: s.status === "ready" ? s.url : void 0,
2293
2293
  onError: () => u(!0)
2294
- }) : null, /* @__PURE__ */ J(ve, {})]
2294
+ }) : null, /* @__PURE__ */ J(_e, {})]
2295
2295
  });
2296
2296
  }, qi = ({ images: e, onOpen: n, onImageError: r }) => {
2297
- let a = t(), o = e.length === 1 ? e[0] : void 0, s = nt(o ? o.thumbnailUrl ?? o.url : void 0), c = Ie(o && s.status === "ready" ? s.url : void 0, o) ?? void 0, l = o ? ze(c?.width, c?.height) : null;
2297
+ let a = t(), o = e.length === 1 ? e[0] : void 0, s = tt(o ? o.thumbnailUrl ?? o.url : void 0), c = Fe(o && s.status === "ready" ? s.url : void 0, o) ?? void 0, l = o ? Re(c?.width, c?.height) : null;
2298
2298
  return /* @__PURE__ */ J("div", {
2299
2299
  style: l ? { width: l.width } : void 0,
2300
- className: i("grid grid-cols-2 overflow-hidden border border-solid border-f1-border-secondary", l ? "max-w-full" : be, A, Pi),
2300
+ className: i("grid grid-cols-2 overflow-hidden border border-solid border-f1-border-secondary", l ? "max-w-full" : ye, A, Pi),
2301
2301
  "data-testid": "ai-chat-image-album",
2302
- children: Ze(c ? [c] : e).map((t, o, s) => {
2302
+ children: Xe(c ? [c] : e).map((t, o, s) => {
2303
2303
  let c = e[t.index];
2304
2304
  if (!c) return null;
2305
2305
  let l = o === s.length - 1;
2306
- return /* @__PURE__ */ J(Ae, {
2306
+ return /* @__PURE__ */ J(ke, {
2307
2307
  image: N(c),
2308
2308
  aspectRatio: t.aspectRatio,
2309
2309
  spanFull: t.span === 2,
@@ -2320,7 +2320,7 @@ var ji = 625, Mi = /* @__PURE__ */ new Set(), Ni = ({ documents: e, onOpenFile:
2320
2320
  testIdPrefix: Z,
2321
2321
  overlay: t.hiddenCount > 0 ? /* @__PURE__ */ J("span", {
2322
2322
  "aria-hidden": !0,
2323
- className: i("absolute inset-0 flex items-center justify-center text-2xl font-semibold text-f1-foreground-inverse", et),
2323
+ className: i("absolute inset-0 flex items-center justify-center text-2xl font-semibold text-f1-foreground-inverse", $e),
2324
2324
  "data-testid": "ai-chat-image-album-more",
2325
2325
  children: `+${t.hiddenCount}`
2326
2326
  }) : void 0
@@ -2399,7 +2399,7 @@ function ea({ anchor: e, onReply: n }) {
2399
2399
  type: "button",
2400
2400
  variant: "ghost",
2401
2401
  label: c,
2402
- icon: Te,
2402
+ icon: we,
2403
2403
  onClick: () => {
2404
2404
  n(e.text);
2405
2405
  }
@@ -2408,7 +2408,7 @@ function ea({ anchor: e, onReply: n }) {
2408
2408
  }
2409
2409
  //#endregion
2410
2410
  //#region src/addons/ai/F0AiMessagesContainer/components/AssistantMessage.tsx
2411
- var ta = en(void 0), na = () => rn(ta), ra = (e) => /* @__PURE__ */ J(ht, {
2411
+ var ta = $t(void 0), na = () => rn(ta), ra = (e) => /* @__PURE__ */ J(mt, {
2412
2412
  content: e,
2413
2413
  format: "markdown"
2414
2414
  }), ia = ({ isGenerating: e, isLoading: t, isLive: n = !1, message: r, renderToolCall: i, onReplyQuote: a, onRendered: o, renderMarkdown: s }) => {
@@ -2473,7 +2473,7 @@ var ta = en(void 0), na = () => rn(ta), ra = (e) => /* @__PURE__ */ J(ht, {
2473
2473
  return document.addEventListener("keydown", e), () => {
2474
2474
  document.removeEventListener("keydown", e);
2475
2475
  };
2476
- }, [d]), /* @__PURE__ */ J(Je, {
2476
+ }, [d]), /* @__PURE__ */ J(qe, {
2477
2477
  position: "center",
2478
2478
  isOpen: !0,
2479
2479
  onClose: f,
@@ -2490,7 +2490,7 @@ var ta = en(void 0), na = () => rn(ta), ra = (e) => /* @__PURE__ */ J(ht, {
2490
2490
  },
2491
2491
  children: /* @__PURE__ */ J("div", {
2492
2492
  className: "flex flex-col gap-6",
2493
- children: /* @__PURE__ */ J(pt, {
2493
+ children: /* @__PURE__ */ J(ft, {
2494
2494
  autoFocus: !0,
2495
2495
  label: l,
2496
2496
  placeholder: u,
@@ -2501,7 +2501,7 @@ var ta = en(void 0), na = () => rn(ta), ra = (e) => /* @__PURE__ */ J(ht, {
2501
2501
  })
2502
2502
  })
2503
2503
  });
2504
- }, oa = en(null), sa = ({ children: e }) => {
2504
+ }, oa = $t(null), sa = ({ children: e }) => {
2505
2505
  let [t, n] = q(null), r = t ? {
2506
2506
  isOpen: !0,
2507
2507
  currentReaction: t.action,
@@ -2574,7 +2574,7 @@ var ua = ({ content: e, targetMessage: n, onCopy: r }) => {
2574
2574
  "aria-label": i.actions.thumbsUp,
2575
2575
  children: /* @__PURE__ */ J("div", {
2576
2576
  className: "flex min-w-0 flex-1 items-center justify-center gap-1",
2577
- children: /* @__PURE__ */ J(V, {
2577
+ children: /* @__PURE__ */ J(H, {
2578
2578
  size: "md",
2579
2579
  icon: o === "like" ? I : ae,
2580
2580
  color: "default"
@@ -2592,7 +2592,7 @@ var ua = ({ content: e, targetMessage: n, onCopy: r }) => {
2592
2592
  "aria-label": i.actions.thumbsDown,
2593
2593
  children: /* @__PURE__ */ J("div", {
2594
2594
  className: "flex min-w-0 flex-1 items-center justify-center gap-1",
2595
- children: /* @__PURE__ */ J(V, {
2595
+ children: /* @__PURE__ */ J(H, {
2596
2596
  size: "md",
2597
2597
  icon: o === "dislike" ? w : k,
2598
2598
  color: "default"
@@ -2619,19 +2619,19 @@ var ua = ({ content: e, targetMessage: n, onCopy: r }) => {
2619
2619
  ])
2620
2620
  }), fa = ({ icon: e, title: t, children: n, open: r, defaultOpen: a = !1, onOpenChange: o, lockOpen: s = !1 }) => {
2621
2621
  let [u, d] = q(a), f = l(), p = r !== void 0, m = p ? r : u;
2622
- return /* @__PURE__ */ Y(Qe, {
2622
+ return /* @__PURE__ */ Y(Ze, {
2623
2623
  className: "mb-1 w-full",
2624
2624
  open: m,
2625
2625
  onOpenChange: (e) => {
2626
2626
  s || (p || d(e), o?.(e));
2627
2627
  },
2628
- children: [/* @__PURE__ */ Y(Le, {
2628
+ children: [/* @__PURE__ */ Y(Ie, {
2629
2629
  disabled: s,
2630
2630
  className: i("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"),
2631
2631
  children: [
2632
2632
  /* @__PURE__ */ J("span", {
2633
2633
  className: "flex items-center justify-start h-6 w-6",
2634
- children: /* @__PURE__ */ J(V, {
2634
+ children: /* @__PURE__ */ J(H, {
2635
2635
  icon: e,
2636
2636
  className: "block"
2637
2637
  })
@@ -2640,9 +2640,9 @@ var ua = ({ content: e, targetMessage: n, onCopy: r }) => {
2640
2640
  className: "min-h-6 flex items-center",
2641
2641
  children: /* @__PURE__ */ J("span", { children: t })
2642
2642
  }),
2643
- s ? null : /* @__PURE__ */ J(V, { icon: Pt })
2643
+ s ? null : /* @__PURE__ */ J(H, { icon: Wt })
2644
2644
  ]
2645
- }), /* @__PURE__ */ J(Be, {
2645
+ }), /* @__PURE__ */ J(ze, {
2646
2646
  forceMount: !0,
2647
2647
  className: "data-[state=open]:mt-3",
2648
2648
  children: /* @__PURE__ */ J(c.div, {
@@ -2707,7 +2707,7 @@ var ua = ({ content: e, targetMessage: n, onCopy: r }) => {
2707
2707
  className: "flex flex-col gap-3 pb-4",
2708
2708
  children: e.map((t, n) => /* @__PURE__ */ Y("div", {
2709
2709
  className: "relative",
2710
- children: [/* @__PURE__ */ J(He, {
2710
+ children: [/* @__PURE__ */ J(Ve, {
2711
2711
  title: t,
2712
2712
  status: f(n),
2713
2713
  suffix: f(n) === "executing" ? /* @__PURE__ */ J(ha, { startedAt: a }) : void 0,
@@ -2719,14 +2719,14 @@ var ua = ({ content: e, targetMessage: n, onCopy: r }) => {
2719
2719
  }, n))
2720
2720
  })
2721
2721
  });
2722
- }, _a = (e) => /* @__PURE__ */ J(ht, {
2722
+ }, _a = (e) => /* @__PURE__ */ J(mt, {
2723
2723
  content: e,
2724
2724
  format: "markdown"
2725
2725
  }), va = ({ text: e, renderMarkdown: t }) => /* @__PURE__ */ Y("div", {
2726
2726
  className: "flex max-w-[90%] items-start gap-2 self-end pb-1 pr-2 text-f1-foreground-tertiary",
2727
2727
  children: [/* @__PURE__ */ J("div", {
2728
2728
  className: "flex h-5 items-center",
2729
- children: /* @__PURE__ */ J(V, { icon: Se })
2729
+ children: /* @__PURE__ */ J(H, { icon: xe })
2730
2730
  }), /* @__PURE__ */ J("div", {
2731
2731
  className: "min-w-0 whitespace-pre-wrap text-base leading-5 [&>div]:flex [&>div]:flex-col [&>div]:gap-1 [&_p]:m-0",
2732
2732
  children: (t ?? _a)(e)
@@ -2908,8 +2908,8 @@ var ka = {
2908
2908
  onThumbsUp: () => {},
2909
2909
  onThumbsDown: () => {}
2910
2910
  }, Aa = (e) => {
2911
- let t = Me(), n = /* @__PURE__ */ J(sa, { children: /* @__PURE__ */ J(ja, { ...e }) });
2912
- return e.filePreviews || !t.provided ? /* @__PURE__ */ J(mt, {
2911
+ let t = je(), n = /* @__PURE__ */ J(sa, { children: /* @__PURE__ */ J(ja, { ...e }) });
2912
+ return e.filePreviews || !t.provided ? /* @__PURE__ */ J(pt, {
2913
2913
  filePreviews: e.filePreviews,
2914
2914
  children: n
2915
2915
  }) : n;
@@ -2929,7 +2929,7 @@ var ka = {
2929
2929
  viewportRef: P,
2930
2930
  contentRef: F
2931
2931
  });
2932
- let R = e[e.length - 1], ae = Da(!(!R || R.endIndicator !== "thinking" && !R.thinking?.inProgress), R?.thinking?.startedAt), oe = R?.endIndicator === "asking", se = ni(e.flatMap((e) => e.assistantMessages.flatMap((e) => e.id ? [e.id] : [])), n), ce = (t, n) => {
2932
+ let R = e[e.length - 1], ae = Da(!(!R || R.endIndicator !== "thinking" && !R.thinking?.inProgress), R?.thinking?.startedAt), oe = R?.endIndicator === "asking", se = ni(e.flatMap((e) => e.assistantMessages.flatMap((e) => e.id ? [e.id] : [])), n), z = (t, n) => {
2933
2933
  let r = n === e.length - 1, a = {
2934
2934
  renderToolCall: f,
2935
2935
  onReplyQuote: m,
@@ -2985,13 +2985,13 @@ var ka = {
2985
2985
  startedAt: r ? ae : null
2986
2986
  }) : null,
2987
2987
  t.assistantMessages.map((e, t) => s(e, t)),
2988
- t.endIndicator === "thinking" ? /* @__PURE__ */ J(He, {
2988
+ t.endIndicator === "thinking" ? /* @__PURE__ */ J(Ve, {
2989
2989
  title: k.ai.thinking,
2990
2990
  status: "executing",
2991
2991
  suffix: /* @__PURE__ */ J(ha, { startedAt: ae })
2992
2992
  }) : null,
2993
- t.endIndicator === "activity" ? /* @__PURE__ */ J(He, { status: "writing" }) : null,
2994
- t.endIndicator === "asking" ? /* @__PURE__ */ J(He, {
2993
+ t.endIndicator === "activity" ? /* @__PURE__ */ J(Ve, { status: "writing" }) : null,
2994
+ t.endIndicator === "asking" ? /* @__PURE__ */ J(Ve, {
2995
2995
  title: k.ai.askingQuestions,
2996
2996
  status: "asking"
2997
2997
  }) : null,
@@ -3031,7 +3031,7 @@ var ka = {
3031
3031
  onClick: d,
3032
3032
  fullscreen: x
3033
3033
  }) : null,
3034
- n ? null : e.map((e, t) => ce(e, t)),
3034
+ n ? null : e.map((e, t) => z(e, t)),
3035
3035
  r
3036
3036
  ]
3037
3037
  }),
@@ -3064,7 +3064,7 @@ var ka = {
3064
3064
  onClick: () => L(),
3065
3065
  label: k.ai.scrollToBottom,
3066
3066
  variant: "neutral",
3067
- icon: At,
3067
+ icon: kt,
3068
3068
  hideLabel: !0
3069
3069
  })
3070
3070
  }) : null })
@@ -3093,7 +3093,7 @@ var ka = {
3093
3093
  /* @__PURE__ */ J(r, { className: "h-5 w-4/5 rounded-md" })
3094
3094
  ]
3095
3095
  })
3096
- }), Pa = { ai: _t.ai }, Fa = en(null);
3096
+ }), Pa = { ai: gt.ai }, Fa = $t(null);
3097
3097
  function Ia({ children: e, translations: t }) {
3098
3098
  return /* @__PURE__ */ J(Fa.Provider, {
3099
3099
  value: t,
@@ -3108,7 +3108,7 @@ function La() {
3108
3108
  //#endregion
3109
3109
  //#region src/addons/ai/F0AiChat/providers/useCanvasEntities.ts
3110
3110
  function Ra() {
3111
- let { canvasEntities: e } = B();
3111
+ let { canvasEntities: e } = V();
3112
3112
  return e;
3113
3113
  }
3114
3114
  //#endregion
@@ -3144,7 +3144,7 @@ var Ba = ({ canProceed: e, submitDisabled: n, label: r, onConfirm: i, onSkip: a,
3144
3144
  className: i("flex h-5 w-5 shrink-0 items-center justify-center rounded-full transition-colors", e ? "bg-f1-background-selected-bold" : "border-2 border-solid border-f1-border bg-f1-background"),
3145
3145
  children: e ? /* @__PURE__ */ J("div", { className: "h-2 w-2 rounded-full bg-f1-background" }) : null
3146
3146
  }), Ha = 132, Ua = ({ mode: e, hasSelection: n, hasCustomText: r, customAnswerText: a, isCustomAnswerActive: o, canProceed: s, inputRef: c, onActivate: l, onChangeText: u, onToggleActive: d, onConfirm: f }) => {
3147
- let p = t().ai.clarifyingQuestion.typeYourAnswer, m = K(null), h = Yt(m, c);
3147
+ let p = t().ai.clarifyingQuestion.typeYourAnswer, m = K(null), h = Jt(m, c);
3148
3148
  sn(() => {
3149
3149
  let e = m.current;
3150
3150
  if (!e) return;
@@ -3152,7 +3152,7 @@ var Ba = ({ canProceed: e, submitDisabled: n, label: r, onConfirm: i, onSkip: a,
3152
3152
  let t = Math.min(e.scrollHeight, Ha);
3153
3153
  e.style.height = `${t}px`, e.style.overflowY = e.scrollHeight > Ha ? "auto" : "hidden";
3154
3154
  }, [a]);
3155
- let g = e === "single" ? /* @__PURE__ */ J(Va, { isSelected: r && !n }) : /* @__PURE__ */ J(Ht, {
3155
+ let g = e === "single" ? /* @__PURE__ */ J(Va, { isSelected: r && !n }) : /* @__PURE__ */ J(Lt, {
3156
3156
  checked: o,
3157
3157
  onCheckedChange: () => d(!o),
3158
3158
  title: p,
@@ -3174,7 +3174,7 @@ var Ba = ({ canProceed: e, submitDisabled: n, label: r, onConfirm: i, onSkip: a,
3174
3174
  className: "min-w-0 flex-1 resize-none bg-transparent text-base text-f1-foreground outline-none placeholder:text-f1-foreground-tertiary"
3175
3175
  })]
3176
3176
  });
3177
- }, Wa = H(({ option: e, isSelected: t, mode: n, isTabStop: r, onToggle: o, onKeyNavigate: s }, c) => n === "single" ? /* @__PURE__ */ Y("div", {
3177
+ }, Wa = tn(({ option: e, isSelected: t, mode: n, isTabStop: r, onToggle: o, onKeyNavigate: s }, c) => n === "single" ? /* @__PURE__ */ Y("div", {
3178
3178
  ref: c,
3179
3179
  role: "radio",
3180
3180
  "aria-checked": t,
@@ -3191,7 +3191,7 @@ var Ba = ({ canProceed: e, submitDisabled: n, label: r, onConfirm: i, onSkip: a,
3191
3191
  }) : /* @__PURE__ */ Y("div", {
3192
3192
  ref: c,
3193
3193
  className: i("flex cursor-pointer items-center rounded-md pl-2 transition-[background-color,transform] hover:bg-f1-background-secondary active:scale-[0.99]"),
3194
- children: [/* @__PURE__ */ J(Ht, {
3194
+ children: [/* @__PURE__ */ J(Lt, {
3195
3195
  checked: t,
3196
3196
  onCheckedChange: () => o(e.id),
3197
3197
  title: e.label,
@@ -3312,7 +3312,7 @@ var Ga = [
3312
3312
  disabled: r,
3313
3313
  label: l.ai.clarifyingQuestion.back,
3314
3314
  hideLabel: !0,
3315
- icon: kt
3315
+ icon: jt
3316
3316
  }),
3317
3317
  /* @__PURE__ */ J("span", {
3318
3318
  className: "translate-y-px text-sm font-semibold text-f1-foreground-tertiary",
@@ -3326,7 +3326,7 @@ var Ga = [
3326
3326
  disabled: i || !a,
3327
3327
  label: l.ai.clarifyingQuestion.next,
3328
3328
  hideLabel: !0,
3329
- icon: Pt
3329
+ icon: Wt
3330
3330
  })
3331
3331
  ]
3332
3332
  }) : null,
@@ -3337,7 +3337,7 @@ var Ga = [
3337
3337
  onClick: c,
3338
3338
  label: l.actions.cancel,
3339
3339
  hideLabel: !0,
3340
- icon: ot
3340
+ icon: at
3341
3341
  })
3342
3342
  ]
3343
3343
  });
@@ -3754,7 +3754,7 @@ function _o(e) {
3754
3754
  motionValue: r,
3755
3755
  controls: i,
3756
3756
  animate: U((e, t) => {
3757
- i.current = ge(r, e, t);
3757
+ i.current = he(r, e, t);
3758
3758
  }, [r])
3759
3759
  };
3760
3760
  }
@@ -4239,7 +4239,7 @@ function qo({ fs: e, vs: t = So, textures: n = [], uniforms: r, clearColor: i =
4239
4239
  }
4240
4240
  //#endregion
4241
4241
  //#region src/addons/ai/F0AuraVoiceAnimation/components/shaderSource.ts
4242
- var Jo = "\nconst float TAU = 6.283185;\n\n// Noise for dithering\nvec2 randFibo(vec2 p) {\n p = fract(p * vec2(443.897, 441.423));\n p += dot(p, p.yx + 19.19);\n return fract((p.xx + p.yx) * p.xy);\n}\n\n// Tonemap\nvec3 Tonemap(vec3 x) {\n x *= 4.0;\n return x / (1.0 + x);\n}\n\n// Luma for alpha\nfloat luma(vec3 color) {\n return dot(color, vec3(0.299, 0.587, 0.114));\n}\n\n// RGB to HSV\nvec3 rgb2hsv(vec3 c) {\n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));\n vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));\n float d = q.x - min(q.w, q.y);\n float e = 1.0e-10;\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);\n}\n\n// HSV to RGB\nvec3 hsv2rgb(vec3 c) {\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\n}\n\n// SDF shapes\nfloat sdCircle(vec2 st, float r) {\n return length(st) - r;\n}\n\nfloat sdLine(vec2 p, float r) {\n float halfLen = r * 2.0;\n vec2 a = vec2(-halfLen, 0.0);\n vec2 b = vec2(halfLen, 0.0);\n vec2 pa = p - a;\n vec2 ba = b - a;\n float h = clamp(dot(pa, ba) / dot(ba, ba), 0.0, 1.0);\n return length(pa - ba * h);\n}\n\nfloat getSdf(vec2 st) {\n if(uShape == 1.0) return sdCircle(st, uScale);\n else if(uShape == 2.0) return sdLine(st, uScale);\n return sdCircle(st, uScale); // Default\n}\n\nvec2 turb(vec2 pos, float t, float it) {\n // Initial rotation matrix for swirl direction\n mat2 rotation = mat2(0.6, -0.25, 0.25, 0.9);\n // Secondary rotation applied each iteration (approx 53 degree rotation)\n mat2 layerRotation = mat2(0.6, -0.8, 0.8, 0.6);\n\n float frequency = mix(2.0, 15.0, uFrequency);\n float amplitude = uAmplitude;\n float frequencyGrowth = 1.4;\n float animTime = t * 0.1 * uSpeed;\n\n const int LAYERS = 4;\n for(int i = 0; i < LAYERS; i++) {\n // Calculate wave displacement for this layer\n vec2 rotatedPos = pos * rotation;\n vec2 wave = sin(frequency * rotatedPos + float(i) * animTime + it);\n\n // Apply displacement along rotation direction\n pos += (amplitude / frequency) * rotation[0] * wave;\n\n // Evolve parameters for next layer\n rotation *= layerRotation;\n amplitude *= mix(1.0, max(wave.x, wave.y), uVariance);\n frequency *= frequencyGrowth;\n }\n\n return pos;\n}\n\nconst float ITERATIONS = 36.0;\n\nvoid mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = fragCoord / iResolution.xy;\n\n vec3 pp = vec3(0.0);\n vec3 bloom = vec3(0.0);\n float t = iTime * 0.5;\n vec2 pos = uv - 0.5;\n\n vec2 prevPos = turb(pos, t, 0.0 - 1.0 / ITERATIONS);\n float spacing = mix(1.0, TAU, uSpacing);\n\n for(float i = 1.0; i < ITERATIONS + 1.0; i++) {\n float iter = i / ITERATIONS;\n vec2 st = turb(pos, t, iter * spacing);\n float d = abs(getSdf(st));\n float pd = distance(st, prevPos);\n prevPos = st;\n float dynamicBlur = exp2(pd * 2.0 * 1.4426950408889634) - 1.0;\n float ds = smoothstep(0.0, uBlur * 0.05 + max(dynamicBlur * uSmoothing, 0.001), d);\n\n // Shift color based on iteration using uColorScale\n vec3 color = uColor;\n if(uColorShift > 0.01) {\n vec3 hsv = rgb2hsv(color);\n // Shift hue by iteration\n hsv.x = fract(hsv.x + (1.0 - iter) * uColorShift * 0.3);\n color = hsv2rgb(hsv);\n }\n\n float invd = 1.0 / max(d + dynamicBlur, 0.001);\n pp += (ds - 1.0) * color;\n bloom += clamp(invd, 0.0, 250.0) * color;\n }\n\n pp *= 1.0 / ITERATIONS;\n\n vec3 color;\n\n // Dark mode (default)\n if(uMode < 0.5) {\n // use bloom effect\n bloom = bloom / (bloom + 2e4);\n color = (-pp + bloom * 3.0 * uBloom) * 1.2;\n color += (randFibo(fragCoord).x - 0.5) / 255.0;\n color = Tonemap(color);\n float alpha = luma(color) * uMix;\n fragColor = vec4(color * uMix, alpha);\n }\n\n // Light mode\n else {\n // no bloom effect\n color = -pp;\n color += (randFibo(fragCoord).x - 0.5) / 255.0;\n\n // Preserve hue by tone mapping brightness only\n float brightness = length(color);\n vec3 direction = brightness > 0.0 ? color / brightness : color;\n\n // Reinhard on brightness\n float factor = 2.0;\n float mappedBrightness = (brightness * factor) / (1.0 + brightness * factor);\n color = direction * mappedBrightness;\n\n // Boost saturation to compensate for white background bleed-through\n // When alpha < 1.0, white bleeds through making colors look desaturated\n // So we increase saturation to maintain vibrant appearance\n float gray = dot(color, vec3(0.2, 0.5, 0.1));\n float saturationBoost = 3.0;\n color = mix(vec3(gray), color, saturationBoost);\n\n // Clamp between 0-1\n color = clamp(color, 0.0, 1.0);\n\n float alpha = mappedBrightness * clamp(uMix, 1.0, 2.0);\n fragColor = vec4(color, alpha);\n }\n}", Yo = gt({
4242
+ var Jo = "\nconst float TAU = 6.283185;\n\n// Noise for dithering\nvec2 randFibo(vec2 p) {\n p = fract(p * vec2(443.897, 441.423));\n p += dot(p, p.yx + 19.19);\n return fract((p.xx + p.yx) * p.xy);\n}\n\n// Tonemap\nvec3 Tonemap(vec3 x) {\n x *= 4.0;\n return x / (1.0 + x);\n}\n\n// Luma for alpha\nfloat luma(vec3 color) {\n return dot(color, vec3(0.299, 0.587, 0.114));\n}\n\n// RGB to HSV\nvec3 rgb2hsv(vec3 c) {\n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));\n vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));\n float d = q.x - min(q.w, q.y);\n float e = 1.0e-10;\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);\n}\n\n// HSV to RGB\nvec3 hsv2rgb(vec3 c) {\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\n}\n\n// SDF shapes\nfloat sdCircle(vec2 st, float r) {\n return length(st) - r;\n}\n\nfloat sdLine(vec2 p, float r) {\n float halfLen = r * 2.0;\n vec2 a = vec2(-halfLen, 0.0);\n vec2 b = vec2(halfLen, 0.0);\n vec2 pa = p - a;\n vec2 ba = b - a;\n float h = clamp(dot(pa, ba) / dot(ba, ba), 0.0, 1.0);\n return length(pa - ba * h);\n}\n\nfloat getSdf(vec2 st) {\n if(uShape == 1.0) return sdCircle(st, uScale);\n else if(uShape == 2.0) return sdLine(st, uScale);\n return sdCircle(st, uScale); // Default\n}\n\nvec2 turb(vec2 pos, float t, float it) {\n // Initial rotation matrix for swirl direction\n mat2 rotation = mat2(0.6, -0.25, 0.25, 0.9);\n // Secondary rotation applied each iteration (approx 53 degree rotation)\n mat2 layerRotation = mat2(0.6, -0.8, 0.8, 0.6);\n\n float frequency = mix(2.0, 15.0, uFrequency);\n float amplitude = uAmplitude;\n float frequencyGrowth = 1.4;\n float animTime = t * 0.1 * uSpeed;\n\n const int LAYERS = 4;\n for(int i = 0; i < LAYERS; i++) {\n // Calculate wave displacement for this layer\n vec2 rotatedPos = pos * rotation;\n vec2 wave = sin(frequency * rotatedPos + float(i) * animTime + it);\n\n // Apply displacement along rotation direction\n pos += (amplitude / frequency) * rotation[0] * wave;\n\n // Evolve parameters for next layer\n rotation *= layerRotation;\n amplitude *= mix(1.0, max(wave.x, wave.y), uVariance);\n frequency *= frequencyGrowth;\n }\n\n return pos;\n}\n\nconst float ITERATIONS = 36.0;\n\nvoid mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = fragCoord / iResolution.xy;\n\n vec3 pp = vec3(0.0);\n vec3 bloom = vec3(0.0);\n float t = iTime * 0.5;\n vec2 pos = uv - 0.5;\n\n vec2 prevPos = turb(pos, t, 0.0 - 1.0 / ITERATIONS);\n float spacing = mix(1.0, TAU, uSpacing);\n\n for(float i = 1.0; i < ITERATIONS + 1.0; i++) {\n float iter = i / ITERATIONS;\n vec2 st = turb(pos, t, iter * spacing);\n float d = abs(getSdf(st));\n float pd = distance(st, prevPos);\n prevPos = st;\n float dynamicBlur = exp2(pd * 2.0 * 1.4426950408889634) - 1.0;\n float ds = smoothstep(0.0, uBlur * 0.05 + max(dynamicBlur * uSmoothing, 0.001), d);\n\n // Shift color based on iteration using uColorScale\n vec3 color = uColor;\n if(uColorShift > 0.01) {\n vec3 hsv = rgb2hsv(color);\n // Shift hue by iteration\n hsv.x = fract(hsv.x + (1.0 - iter) * uColorShift * 0.3);\n color = hsv2rgb(hsv);\n }\n\n float invd = 1.0 / max(d + dynamicBlur, 0.001);\n pp += (ds - 1.0) * color;\n bloom += clamp(invd, 0.0, 250.0) * color;\n }\n\n pp *= 1.0 / ITERATIONS;\n\n vec3 color;\n\n // Dark mode (default)\n if(uMode < 0.5) {\n // use bloom effect\n bloom = bloom / (bloom + 2e4);\n color = (-pp + bloom * 3.0 * uBloom) * 1.2;\n color += (randFibo(fragCoord).x - 0.5) / 255.0;\n color = Tonemap(color);\n float alpha = luma(color) * uMix;\n fragColor = vec4(color * uMix, alpha);\n }\n\n // Light mode\n else {\n // no bloom effect\n color = -pp;\n color += (randFibo(fragCoord).x - 0.5) / 255.0;\n\n // Preserve hue by tone mapping brightness only\n float brightness = length(color);\n vec3 direction = brightness > 0.0 ? color / brightness : color;\n\n // Reinhard on brightness\n float factor = 2.0;\n float mappedBrightness = (brightness * factor) / (1.0 + brightness * factor);\n color = direction * mappedBrightness;\n\n // Boost saturation to compensate for white background bleed-through\n // When alpha < 1.0, white bleeds through making colors look desaturated\n // So we increase saturation to maintain vibrant appearance\n float gray = dot(color, vec3(0.2, 0.5, 0.1));\n float saturationBoost = 3.0;\n color = mix(vec3(gray), color, saturationBoost);\n\n // Clamp between 0-1\n color = clamp(color, 0.0, 1.0);\n\n float alpha = mappedBrightness * clamp(uMix, 1.0, 2.0);\n fragColor = vec4(color, alpha);\n }\n}", Yo = ht({
4243
4243
  base: "aspect-square",
4244
4244
  variants: { size: {
4245
4245
  icon: "h-[24px]",
@@ -4378,7 +4378,7 @@ var $o = ({ text: e, description: t, avatar: n, confirmationText: r, onConfirm:
4378
4378
  label: a,
4379
4379
  onClick: o
4380
4380
  }
4381
- }), es = gt({
4381
+ }), es = ht({
4382
4382
  base: [
4383
4383
  "relative flex flex-col rounded-2xl bg-f1-background",
4384
4384
  "border border-solid border-f1-border-secondary",
@@ -4390,7 +4390,7 @@ var $o = ({ text: e, description: t, avatar: n, confirmationText: r, onConfirm:
4390
4390
  false: "hover:shadow-md"
4391
4391
  } },
4392
4392
  defaultVariants: { selected: !1 }
4393
- }), ts = gt({ base: "text-lg font-semibold text-f1-foreground line-clamp-3" }), ns = gt({ base: "text-sm text-f1-foreground-secondary leading-normal" }), rs = gt({ base: "text-sm font-medium text-f1-foreground leading-normal" }), is = ({ description: e, isRevealed: n, onAskOne: r }) => {
4393
+ }), ts = ht({ base: "text-lg font-semibold text-f1-foreground line-clamp-3" }), ns = ht({ base: "text-sm text-f1-foreground-secondary leading-normal" }), rs = ht({ base: "text-sm font-medium text-f1-foreground leading-normal" }), is = ({ description: e, isRevealed: n, onAskOne: r }) => {
4394
4394
  let a = t(), o = l();
4395
4395
  return /* @__PURE__ */ Y(cn, { children: [e ? /* @__PURE__ */ J("span", {
4396
4396
  className: i(ns(), "truncate"),
@@ -4409,7 +4409,7 @@ var $o = ({ text: e, description: t, avatar: n, confirmationText: r, onConfirm:
4409
4409
  1
4410
4410
  ]
4411
4411
  },
4412
- children: /* @__PURE__ */ J(lt, {
4412
+ children: /* @__PURE__ */ J(ct, {
4413
4413
  size: "md",
4414
4414
  label: a.ai.ask,
4415
4415
  onClick: (e) => {
@@ -4430,7 +4430,7 @@ var $o = ({ text: e, description: t, avatar: n, confirmationText: r, onConfirm:
4430
4430
  className: i(rs()),
4431
4431
  children: e
4432
4432
  }) : null]
4433
- }), ss = ({ balance: e }) => /* @__PURE__ */ J(Nt, {
4433
+ }), ss = ({ balance: e }) => /* @__PURE__ */ J(At, {
4434
4434
  amount: e.amount,
4435
4435
  percentage: e.percentage ?? void 0,
4436
4436
  invertStatus: e.invertStatus,
@@ -4439,32 +4439,32 @@ var $o = ({ text: e, description: t, avatar: n, confirmationText: r, onConfirm:
4439
4439
  let { label: t } = e;
4440
4440
  return e.content === "person" ? /* @__PURE__ */ J(os, {
4441
4441
  label: t,
4442
- children: /* @__PURE__ */ J(Tt, {
4442
+ children: /* @__PURE__ */ J(wt, {
4443
4443
  firstName: e.avatar.firstName,
4444
4444
  lastName: e.avatar.lastName,
4445
4445
  src: e.avatar.src,
4446
4446
  size: "xs"
4447
4447
  })
4448
- }) : e.content === "people" ? /* @__PURE__ */ J(Dt, {
4448
+ }) : e.content === "people" ? /* @__PURE__ */ J(Et, {
4449
4449
  type: "person",
4450
4450
  avatars: e.avatars,
4451
4451
  size: "md",
4452
4452
  max: 3
4453
4453
  }) : e.content === "team" ? /* @__PURE__ */ J(os, {
4454
4454
  label: t,
4455
- children: /* @__PURE__ */ J(Ot, {
4455
+ children: /* @__PURE__ */ J(Dt, {
4456
4456
  name: e.avatar.name,
4457
4457
  src: e.avatar.src,
4458
4458
  size: "xs"
4459
4459
  })
4460
4460
  }) : e.content === "company" ? /* @__PURE__ */ J(os, {
4461
4461
  label: t,
4462
- children: /* @__PURE__ */ J(vt, {
4462
+ children: /* @__PURE__ */ J(_t, {
4463
4463
  name: e.avatar.name,
4464
4464
  src: e.avatar.src,
4465
4465
  size: "xs"
4466
4466
  })
4467
- }) : e.content === "alert" ? /* @__PURE__ */ J(jt, {
4467
+ }) : e.content === "alert" ? /* @__PURE__ */ J(Mt, {
4468
4468
  text: e.alertLabel,
4469
4469
  level: e.level
4470
4470
  }) : e.content === "balance" ? /* @__PURE__ */ J(ss, { balance: e.balance }) : null;
@@ -4537,10 +4537,10 @@ var fs = ({ cx: e, cy: t, index: n, dataLength: r, color: i }) => n !== r - 1 ||
4537
4537
  className: "relative w-full flex-1",
4538
4538
  role: "img",
4539
4539
  "aria-label": `Sparkline chart showing ${i} trend`,
4540
- children: [/* @__PURE__ */ J(ct, {
4540
+ children: [/* @__PURE__ */ J(st, {
4541
4541
  width: "100%",
4542
4542
  height: "100%",
4543
- children: /* @__PURE__ */ Y(Ke, {
4543
+ children: /* @__PURE__ */ Y(Ge, {
4544
4544
  data: e,
4545
4545
  margin: {
4546
4546
  top: 4,
@@ -4565,7 +4565,7 @@ var fs = ({ cx: e, cy: t, index: n, dataLength: r, color: i }) => n !== r - 1 ||
4565
4565
  stopOpacity: .02
4566
4566
  })]
4567
4567
  }) }),
4568
- /* @__PURE__ */ J(We, {
4568
+ /* @__PURE__ */ J(Ue, {
4569
4569
  hide: !0,
4570
4570
  domain: ["dataMin - 1", "dataMax + 1"]
4571
4571
  }),
@@ -4577,7 +4577,7 @@ var fs = ({ cx: e, cy: t, index: n, dataLength: r, color: i }) => n !== r - 1 ||
4577
4577
  fill: `url(#${r})`,
4578
4578
  fillOpacity: 1,
4579
4579
  isAnimationActive: !1,
4580
- dot: (t) => /* @__PURE__ */ tn(fs, {
4580
+ dot: (t) => /* @__PURE__ */ en(fs, {
4581
4581
  ...t,
4582
4582
  key: t.index,
4583
4583
  dataLength: e.length,
@@ -4593,83 +4593,70 @@ var fs = ({ cx: e, cy: t, index: n, dataLength: r, color: i }) => n !== r - 1 ||
4593
4593
  })]
4594
4594
  })
4595
4595
  });
4596
- }, hs = H((e, t) => {
4597
- let { description: n, heading: r, label: o, selected: s = !1, onClick: u, onAskOne: d, className: f, ...p } = e, [m, h] = q(!1), [g, _] = q(!1), v = m || g, y = l(), b = v && !!d, x = {
4598
- duration: y ? 0 : .2,
4596
+ }, hs = tn((e, t) => {
4597
+ let { description: n, heading: r, label: o, selected: s = !1, onClick: u, onAskOne: d, ...f } = e, [p, m] = q(!1), [h, g] = q(!1), _ = p || h, v = l(), y = _ && !!d, b = {
4598
+ duration: v ? 0 : .2,
4599
4599
  ease: [
4600
4600
  .33,
4601
4601
  1,
4602
4602
  .68,
4603
4603
  1
4604
4604
  ]
4605
- }, S = () => {
4605
+ }, x = () => {
4606
4606
  u?.();
4607
- }, C = (e) => {
4607
+ }, S = (e) => {
4608
4608
  e.currentTarget === e.target && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), u?.());
4609
- }, w = m ? "[animation:rotate-gradient_2s_linear_infinite_running]" : "[animation:rotate-gradient_2s_linear_infinite_paused]";
4609
+ }, C = p ? "[animation:rotate-gradient_2s_linear_infinite_running]" : "[animation:rotate-gradient_2s_linear_infinite_paused]";
4610
4610
  return /* @__PURE__ */ Y("div", {
4611
4611
  className: "relative",
4612
4612
  children: [s ? /* @__PURE__ */ Y(cn, { children: [/* @__PURE__ */ J("div", {
4613
4613
  "data-testid": "selected-border",
4614
- className: i("absolute -inset-px rounded-2xl", "[--gradient-angle:0deg]", "bg-[conic-gradient(from_var(--gradient-angle),hsla(229,57%,76%,0.7),hsla(348,80%,50%,0.7),hsla(348,80%,50%,0.7),hsla(18,80%,50%,0.7),hsla(229,57%,76%,0.7),hsla(229,57%,76%,0.7))]", w)
4614
+ className: i("absolute -inset-px rounded-2xl", "[--gradient-angle:0deg]", "bg-[conic-gradient(from_var(--gradient-angle),hsla(229,57%,76%,0.7),hsla(348,80%,50%,0.7),hsla(348,80%,50%,0.7),hsla(18,80%,50%,0.7),hsla(229,57%,76%,0.7),hsla(229,57%,76%,0.7))]", C)
4615
4615
  }), /* @__PURE__ */ J("div", {
4616
4616
  "aria-hidden": !0,
4617
- className: i("pointer-events-none absolute -inset-px rounded-2xl", "[--gradient-angle:0deg]", "bg-[conic-gradient(from_var(--gradient-angle),hsla(229,57%,76%,0.7),hsla(348,80%,50%,0.7),hsla(348,80%,50%,0.7),hsla(18,80%,50%,0.7),hsla(229,57%,76%,0.7),hsla(229,57%,76%,0.7))]", w, "opacity-80 blur-sm")
4617
+ className: i("pointer-events-none absolute -inset-px rounded-2xl", "[--gradient-angle:0deg]", "bg-[conic-gradient(from_var(--gradient-angle),hsla(229,57%,76%,0.7),hsla(348,80%,50%,0.7),hsla(348,80%,50%,0.7),hsla(18,80%,50%,0.7),hsla(229,57%,76%,0.7),hsla(229,57%,76%,0.7))]", C, "opacity-80 blur-sm")
4618
4618
  })] }) : null, /* @__PURE__ */ Y("div", {
4619
4619
  ref: t,
4620
4620
  role: u ? "button" : void 0,
4621
4621
  tabIndex: u ? 0 : void 0,
4622
- className: i(es({ selected: s }), s && "relative border-transparent", u && "cursor-pointer select-none", u && a(), f),
4623
- onClick: u ? S : void 0,
4624
- onKeyDown: u ? C : void 0,
4625
- onMouseEnter: () => h(!0),
4626
- onMouseLeave: () => h(!1),
4627
- onFocus: () => _(!0),
4628
- onBlur: () => _(!1),
4622
+ className: i(es({ selected: s }), s && "relative border-transparent", u && "cursor-pointer select-none", u && a()),
4623
+ onClick: u ? x : void 0,
4624
+ onKeyDown: u ? S : void 0,
4625
+ onMouseEnter: () => m(!0),
4626
+ onMouseLeave: () => m(!1),
4627
+ onFocus: () => g(!0),
4628
+ onBlur: () => g(!1),
4629
4629
  children: [/* @__PURE__ */ J(is, {
4630
4630
  description: n,
4631
- isRevealed: v,
4631
+ isRevealed: _,
4632
4632
  onAskOne: d
4633
- }), p.content === "sparkline" ? /* @__PURE__ */ Y("div", {
4633
+ }), f.content === "sparkline" ? /* @__PURE__ */ Y("div", {
4634
4634
  className: "flex flex-1 flex-col gap-2",
4635
4635
  children: [/* @__PURE__ */ J("span", {
4636
4636
  className: i(ts()),
4637
4637
  children: r
4638
4638
  }), /* @__PURE__ */ J(c.div, {
4639
4639
  className: "-ml-4 flex flex-1 flex-col",
4640
- animate: { opacity: +!b },
4641
- transition: x,
4640
+ animate: { opacity: +!y },
4641
+ transition: b,
4642
4642
  children: /* @__PURE__ */ J(ms, {
4643
- data: p.data,
4643
+ data: f.data,
4644
4644
  label: o ?? "",
4645
- invertStatus: p.invertStatus
4645
+ invertStatus: f.invertStatus
4646
4646
  })
4647
4647
  })]
4648
4648
  }) : /* @__PURE__ */ J(ls, {
4649
4649
  heading: r,
4650
4650
  label: o,
4651
- shouldFadeContent: b,
4652
- fadeTransition: x,
4653
- ...p
4651
+ shouldFadeContent: y,
4652
+ fadeTransition: b,
4653
+ ...f
4654
4654
  })]
4655
4655
  })]
4656
4656
  });
4657
4657
  });
4658
- hs.displayName = "F0AiInsightCardInternal";
4659
- //#endregion
4660
- //#region src/addons/ai/F0AiInsightCard/F0AiInsightCard.tsx
4661
- var gs = ["className"], _s = H((e, t) => {
4662
- let n = gs.reduce((e, t) => {
4663
- let { [t]: n, ...r } = e;
4664
- return r;
4665
- }, e);
4666
- return /* @__PURE__ */ J(hs, {
4667
- ref: t,
4668
- ...n
4669
- });
4670
- });
4671
- _s.displayName = "F0AiInsightCard";
4672
- var vs = e(Ne(_s, () => /* @__PURE__ */ Y("div", {
4658
+ hs.displayName = "F0AiInsightCard";
4659
+ var gs = e(Me(hs, () => /* @__PURE__ */ Y("div", {
4673
4660
  className: "flex w-[217px] h-[200px] flex-col gap-2 rounded-2xl border border-solid border-f1-border-secondary bg-f1-background p-4",
4674
4661
  "aria-busy": "true",
4675
4662
  "aria-live": "polite",
@@ -4683,7 +4670,7 @@ var vs = e(Ne(_s, () => /* @__PURE__ */ Y("div", {
4683
4670
  children: [/* @__PURE__ */ J(r, { className: "h-5 w-5 rounded-full" }), /* @__PURE__ */ J(r, { className: "h-3 w-20 rounded" })]
4684
4671
  })]
4685
4672
  })]
4686
- }))), ys = [
4673
+ }))), _s = [
4687
4674
  "text",
4688
4675
  "person",
4689
4676
  "people",
@@ -4692,9 +4679,9 @@ var vs = e(Ne(_s, () => /* @__PURE__ */ Y("div", {
4692
4679
  "alert",
4693
4680
  "balance",
4694
4681
  "sparkline"
4695
- ], bs = 180, xs = (e) => Number.isFinite(e) ? Math.max(0, Math.floor(e)) : bs, Ss = (e, t) => e.length <= t ? e : `${e.slice(0, t).trimEnd()}...`, Cs = (e) => e.showActions !== !1, ws = (e) => Object.fromEntries(Object.entries(e).filter(([e]) => e.startsWith("data-")));
4696
- function Ts(e) {
4697
- let { module: t, heading: n, title: r, subtitle: o, description: s, seeMoreLabel: c, maxCollapsedDescriptionLength: l = bs } = e, [u, d] = q(!1), p = an(), m = K(null), h = xs(l), g = s.length > h, _ = u ? s : Ss(s, h), v = Cs(e) ? e : null, y = ws(e);
4682
+ ], vs = 180, ys = (e) => Number.isFinite(e) ? Math.max(0, Math.floor(e)) : vs, bs = (e, t) => e.length <= t ? e : `${e.slice(0, t).trimEnd()}...`, xs = (e) => e.showActions !== !1, Ss = (e) => Object.fromEntries(Object.entries(e).filter(([e]) => e.startsWith("data-")));
4683
+ function Cs(e) {
4684
+ let { module: t, heading: n, title: r, subtitle: o, description: s, seeMoreLabel: c, maxCollapsedDescriptionLength: l = vs } = e, [u, d] = q(!1), p = an(), m = K(null), h = ys(l), g = s.length > h, _ = u ? s : bs(s, h), v = xs(e) ? e : null, y = Ss(e);
4698
4685
  return W(() => {
4699
4686
  u && m.current?.focus();
4700
4687
  }, [u]), /* @__PURE__ */ Y("section", {
@@ -4703,7 +4690,7 @@ function Ts(e) {
4703
4690
  children: [
4704
4691
  /* @__PURE__ */ Y("div", {
4705
4692
  className: "flex items-center gap-3 px-4 py-3",
4706
- children: [t ? /* @__PURE__ */ J(Et, {
4693
+ children: [t ? /* @__PURE__ */ J(Tt, {
4707
4694
  module: t,
4708
4695
  size: "md"
4709
4696
  }) : null, /* @__PURE__ */ Y("div", {
@@ -4749,21 +4736,21 @@ function Ts(e) {
4749
4736
  ]
4750
4737
  });
4751
4738
  }
4752
- Ts.displayName = "F0AiProposalCard";
4739
+ Cs.displayName = "F0AiProposalCard";
4753
4740
  //#endregion
4754
4741
  //#region src/blocks/ai/F0AiMessageSources/components/CollapsibleMessage.tsx
4755
- var Es = ({ icon: e, title: t, children: n }) => {
4742
+ var ws = ({ icon: e, title: t, children: n }) => {
4756
4743
  let [r, i] = q(!1), a = l();
4757
- return /* @__PURE__ */ Y(Qe, {
4744
+ return /* @__PURE__ */ Y(Ze, {
4758
4745
  className: "mb-1 w-full",
4759
4746
  open: r,
4760
4747
  onOpenChange: i,
4761
- children: [/* @__PURE__ */ Y(Le, {
4748
+ children: [/* @__PURE__ */ Y(Ie, {
4762
4749
  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",
4763
4750
  children: [
4764
4751
  /* @__PURE__ */ J("span", {
4765
4752
  className: "mr-2 *:block",
4766
- children: /* @__PURE__ */ J(V, {
4753
+ children: /* @__PURE__ */ J(H, {
4767
4754
  icon: e,
4768
4755
  className: "block"
4769
4756
  })
@@ -4772,12 +4759,12 @@ var Es = ({ icon: e, title: t, children: n }) => {
4772
4759
  className: "mr-[2px]",
4773
4760
  children: t
4774
4761
  }),
4775
- /* @__PURE__ */ J(V, {
4776
- icon: Pt,
4762
+ /* @__PURE__ */ J(H, {
4763
+ icon: Wt,
4777
4764
  className: "h-4 w-4 transition-transform duration-200"
4778
4765
  })
4779
4766
  ]
4780
- }), /* @__PURE__ */ J(Be, {
4767
+ }), /* @__PURE__ */ J(ze, {
4781
4768
  forceMount: !0,
4782
4769
  className: "data-[state=open]:mt-3",
4783
4770
  children: /* @__PURE__ */ J(c.div, {
@@ -4801,25 +4788,25 @@ var Es = ({ icon: e, title: t, children: n }) => {
4801
4788
  })
4802
4789
  })]
4803
4790
  });
4804
- }, Ds = (e) => ue[e] ?? qt, Os = ({ iconName: e }) => e ? /* @__PURE__ */ J("div", {
4791
+ }, Ts = (e) => le[e] ?? Kt, Es = ({ iconName: e }) => e ? /* @__PURE__ */ J("div", {
4805
4792
  className: "mr-1 flex items-center justify-center",
4806
- children: /* @__PURE__ */ J(V, {
4807
- icon: Ds(e),
4793
+ children: /* @__PURE__ */ J(H, {
4794
+ icon: Ts(e),
4808
4795
  size: "md",
4809
4796
  color: "default"
4810
4797
  })
4811
4798
  }) : null;
4812
- function ks({ sources: e, title: n }) {
4799
+ function Ds({ sources: e, title: n }) {
4813
4800
  let r = t();
4814
4801
  if (!e || e.length === 0 || !Array.isArray(e)) return null;
4815
4802
  let i = n ?? r.ai.resourcesGroupTitle;
4816
- return /* @__PURE__ */ J(Es, {
4817
- icon: bt,
4803
+ return /* @__PURE__ */ J(ws, {
4804
+ icon: yt,
4818
4805
  title: i,
4819
4806
  children: /* @__PURE__ */ J("div", {
4820
4807
  className: "flex flex-col gap-1 rounded-lg border border-solid border-f1-border-secondary p-2",
4821
4808
  children: e.map((e, t) => {
4822
- let n = /* @__PURE__ */ J(Os, { iconName: e.icon });
4809
+ let n = /* @__PURE__ */ J(Es, { iconName: e.icon });
4823
4810
  return e.link ? /* @__PURE__ */ J(s, {
4824
4811
  "aria-label": e.title,
4825
4812
  href: e.link,
@@ -4841,30 +4828,30 @@ function ks({ sources: e, title: n }) {
4841
4828
  })
4842
4829
  });
4843
4830
  }
4844
- ks.displayName = "F0AiMessageSources";
4831
+ Ds.displayName = "F0AiMessageSources";
4845
4832
  //#endregion
4846
4833
  //#region src/addons/ai/F0AiTableCard/F0AiTableCard.tsx
4847
- async function As(e, t, n) {
4848
- let r = Ue(e), i = t === "xlsx" ? await P([{
4834
+ async function Os(e, t, n) {
4835
+ let r = He(e), i = t === "xlsx" ? await P([{
4849
4836
  name: "Data",
4850
4837
  rows: r
4851
- }]) : await Ge(r);
4838
+ }]) : await We(r);
4852
4839
  v(i, `${n}.${t}`);
4853
4840
  }
4854
- function js({ dataset: e, title: n, filename: r }) {
4841
+ function ks({ dataset: e, title: n, filename: r }) {
4855
4842
  let a = t(), o = K(null), s = n ?? a.ai.aiTable.title, c = U((e) => {
4856
4843
  if (!o.current) return;
4857
4844
  let t = r ?? (s.replace(/\s+/g, "_").toLowerCase() || "table");
4858
- As(o.current, e, t);
4845
+ Os(o.current, e, t);
4859
4846
  }, [s, r]);
4860
- return e.columns?.length ? /* @__PURE__ */ Y(xt, {
4847
+ return e.columns?.length ? /* @__PURE__ */ Y(bt, {
4861
4848
  display: "flex",
4862
4849
  flexDirection: "column",
4863
4850
  gap: "md",
4864
4851
  borderRadius: "md",
4865
4852
  border: "default",
4866
4853
  borderColor: "secondary",
4867
- children: [/* @__PURE__ */ Y(xt, {
4854
+ children: [/* @__PURE__ */ Y(bt, {
4868
4855
  display: "flex",
4869
4856
  alignItems: "center",
4870
4857
  justifyContent: "between",
@@ -4878,20 +4865,20 @@ function js({ dataset: e, title: n, filename: r }) {
4878
4865
  tag: "h2",
4879
4866
  className: "text-base font-medium capitalize text-f1-foreground",
4880
4867
  children: s
4881
- }), /* @__PURE__ */ J(we, {
4882
- icon: z,
4868
+ }), /* @__PURE__ */ J(Ce, {
4869
+ icon: B,
4883
4870
  size: "md",
4884
4871
  items: [{
4885
4872
  label: a.ai.aiTable.downloadExcel,
4886
- icon: z,
4873
+ icon: B,
4887
4874
  onClick: () => c("xlsx")
4888
4875
  }, {
4889
4876
  label: a.ai.aiTable.downloadCsv,
4890
- icon: z,
4877
+ icon: B,
4891
4878
  onClick: () => c("csv")
4892
4879
  }]
4893
4880
  })]
4894
- }), /* @__PURE__ */ J(xt, {
4881
+ }), /* @__PURE__ */ J(bt, {
4895
4882
  overflowX: "auto",
4896
4883
  children: /* @__PURE__ */ Y("table", {
4897
4884
  ref: o,
@@ -4910,10 +4897,10 @@ function js({ dataset: e, title: n, filename: r }) {
4910
4897
  })]
4911
4898
  }) : null;
4912
4899
  }
4913
- js.displayName = "F0AiTableCard";
4900
+ ks.displayName = "F0AiTableCard";
4914
4901
  //#endregion
4915
4902
  //#region src/addons/ai/F0AiChatHeader/components/CreditsPopover.tsx
4916
- function Ms({ credits: e, trigger: n }) {
4903
+ function As({ credits: e, trigger: n }) {
4917
4904
  let r = t(), [i, a] = q(!1), [o, s] = q(!1), [l, p] = q(!1), [m, h] = q(null), g = U((t) => {
4918
4905
  a(t), t && e?.fetchUsage && (s(!0), p(!1), e.fetchUsage().then((e) => {
4919
4906
  h(e), p(!1);
@@ -4925,10 +4912,10 @@ function Ms({ credits: e, trigger: n }) {
4925
4912
  }, [e]);
4926
4913
  if (!e) return null;
4927
4914
  let _ = m ? Math.min(100, Math.round(m.used / m.total * 100)) : 0, v = e.companyName;
4928
- return /* @__PURE__ */ Y(Qt, {
4915
+ return /* @__PURE__ */ Y(Zt, {
4929
4916
  open: i,
4930
4917
  onOpenChange: g,
4931
- children: [/* @__PURE__ */ J(Jt, {
4918
+ children: [/* @__PURE__ */ J(qt, {
4932
4919
  asChild: !0,
4933
4920
  children: n ?? /* @__PURE__ */ J(u, {
4934
4921
  variant: "ghost",
@@ -4937,7 +4924,7 @@ function Ms({ credits: e, trigger: n }) {
4937
4924
  icon: E,
4938
4925
  pressed: i
4939
4926
  })
4940
- }), /* @__PURE__ */ Y(Xt, {
4927
+ }), /* @__PURE__ */ Y(Yt, {
4941
4928
  side: "bottom",
4942
4929
  align: "end",
4943
4930
  alignOffset: -68,
@@ -4946,7 +4933,7 @@ function Ms({ credits: e, trigger: n }) {
4946
4933
  className: "flex w-[324px] flex-col gap-3 rounded-md border border-solid border-f1-border-secondary p-3",
4947
4934
  children: [v ? /* @__PURE__ */ Y("div", {
4948
4935
  className: "flex min-w-0 max-w-full flex-1 items-center gap-2 overflow-hidden text-left text-lg text-f1-foreground",
4949
- children: [/* @__PURE__ */ J(vt, {
4936
+ children: [/* @__PURE__ */ J(_t, {
4950
4937
  name: e.companyName ?? "",
4951
4938
  src: e.companyLogoUrl,
4952
4939
  size: "lg"
@@ -5032,7 +5019,7 @@ function Ms({ credits: e, trigger: n }) {
5032
5019
  variant: "outlinePromote",
5033
5020
  href: e.upgradePlanUrl,
5034
5021
  label: r.t("ai.credits.upgradePlan"),
5035
- icon: qe
5022
+ icon: Ke
5036
5023
  })]
5037
5024
  }) : null]
5038
5025
  })]
@@ -5041,7 +5028,7 @@ function Ms({ credits: e, trigger: n }) {
5041
5028
  }
5042
5029
  //#endregion
5043
5030
  //#region src/addons/ai/F0AiChatHeader/components/EmployeeCreditsPopover.tsx
5044
- var Ns = "linear-gradient(90deg, #E55619, #A1ADE5, #E51943, #E55619)", Ps = ({ loading: e, error: n, data: r }) => {
5031
+ var js = "linear-gradient(90deg, #E55619, #A1ADE5, #E51943, #E55619)", Ms = ({ loading: e, error: n, data: r }) => {
5045
5032
  let i = t(), a = l(), o = r && r.total > 0 ? Math.min(100, Math.round(r.used / r.total * 100)) : 0, s = r ? Math.max(0, r.total - r.used) : 0;
5046
5033
  return /* @__PURE__ */ J("div", {
5047
5034
  className: "flex flex-col rounded border border-solid border-f1-border-secondary",
@@ -5089,7 +5076,7 @@ var Ns = "linear-gradient(90deg, #E55619, #A1ADE5, #E51943, #E55619)", Ps = ({ l
5089
5076
  className: "h-full rounded-full",
5090
5077
  style: {
5091
5078
  width: `${o}%`,
5092
- backgroundImage: Ns,
5079
+ backgroundImage: js,
5093
5080
  backgroundSize: "300% 100%"
5094
5081
  },
5095
5082
  animate: a ? void 0 : { backgroundPosition: ["0% 0%", "100% 0%"] },
@@ -5115,7 +5102,7 @@ var Ns = "linear-gradient(90deg, #E55619, #A1ADE5, #E51943, #E55619)", Ps = ({ l
5115
5102
  })
5116
5103
  });
5117
5104
  };
5118
- function Fs({ employeeCredits: e, trigger: n }) {
5105
+ function Ns({ employeeCredits: e, trigger: n }) {
5119
5106
  let r = t(), [i, a] = q(!1), [o, s] = q(!1), [c, l] = q(!1), [f, p] = q(null), m = U((t) => {
5120
5107
  a(t), t && e?.fetchUsage && (s(!0), l(!1), e.fetchUsage().then((e) => {
5121
5108
  p(e), l(!1);
@@ -5127,10 +5114,10 @@ function Fs({ employeeCredits: e, trigger: n }) {
5127
5114
  }, [e]);
5128
5115
  if (!e) return null;
5129
5116
  let h = !!e.companyName;
5130
- return /* @__PURE__ */ Y(Qt, {
5117
+ return /* @__PURE__ */ Y(Zt, {
5131
5118
  open: i,
5132
5119
  onOpenChange: m,
5133
- children: [/* @__PURE__ */ J(Jt, {
5120
+ children: [/* @__PURE__ */ J(qt, {
5134
5121
  asChild: !0,
5135
5122
  children: n ?? /* @__PURE__ */ J(u, {
5136
5123
  variant: "ghost",
@@ -5139,7 +5126,7 @@ function Fs({ employeeCredits: e, trigger: n }) {
5139
5126
  icon: E,
5140
5127
  pressed: i
5141
5128
  })
5142
- }), /* @__PURE__ */ Y(Xt, {
5129
+ }), /* @__PURE__ */ Y(Yt, {
5143
5130
  side: "bottom",
5144
5131
  align: "end",
5145
5132
  alignOffset: -68,
@@ -5148,7 +5135,7 @@ function Fs({ employeeCredits: e, trigger: n }) {
5148
5135
  className: "flex w-[324px] flex-col gap-3 rounded-md border border-solid border-f1-border-secondary p-3",
5149
5136
  children: [h ? /* @__PURE__ */ Y("div", {
5150
5137
  className: "flex min-w-0 max-w-full flex-1 items-center gap-2 overflow-hidden text-left text-lg text-f1-foreground",
5151
- children: [/* @__PURE__ */ J(vt, {
5138
+ children: [/* @__PURE__ */ J(_t, {
5152
5139
  name: e.companyName ?? "",
5153
5140
  src: e.companyLogoUrl,
5154
5141
  size: "lg"
@@ -5164,7 +5151,7 @@ function Fs({ employeeCredits: e, trigger: n }) {
5164
5151
  children: e.planName
5165
5152
  }) : null]
5166
5153
  })]
5167
- }) : null, /* @__PURE__ */ J(Ps, {
5154
+ }) : null, /* @__PURE__ */ J(Ms, {
5168
5155
  loading: o,
5169
5156
  error: c,
5170
5157
  data: f
@@ -5174,24 +5161,24 @@ function Fs({ employeeCredits: e, trigger: n }) {
5174
5161
  }
5175
5162
  //#endregion
5176
5163
  //#region src/addons/ai/F0AiChatHeader/F0AiChatHeader.tsx
5177
- var Is = ({ credits: e, employeeCredits: t, trigger: n }) => t ? /* @__PURE__ */ J(Fs, {
5164
+ var Ps = ({ credits: e, employeeCredits: t, trigger: n }) => t ? /* @__PURE__ */ J(Ns, {
5178
5165
  employeeCredits: t,
5179
5166
  trigger: n
5180
- }) : e ? /* @__PURE__ */ J(Ms, {
5167
+ }) : e ? /* @__PURE__ */ J(As, {
5181
5168
  credits: e,
5182
5169
  trigger: n
5183
- }) : null, Ls = Is, Rs = ({ historyEnabled: e = !1, title: n, currentThreadTitle: r, fullscreen: a = !1, lockVisualizationMode: o = !1, onToggleVisualizationMode: f, onClose: p, onNewChat: m, onOpenHistory: h, hasMessages: g = !1, credits: _, employeeCredits: v, compact: y = !1, actions: b }) => {
5184
- let x = t(), S = l(), { panelOverlays: w } = B(), T = !o && !w && /* @__PURE__ */ J(u, {
5170
+ }) : null, Fs = Ps, Is = ({ historyEnabled: e = !1, title: n, currentThreadTitle: r, fullscreen: a = !1, lockVisualizationMode: o = !1, onToggleVisualizationMode: f, onClose: p, onNewChat: m, onOpenHistory: h, hasMessages: g = !1, credits: _, employeeCredits: v, compact: y = !1, actions: b }) => {
5171
+ let x = t(), S = l(), { panelOverlays: w } = V(), T = !o && !w && /* @__PURE__ */ J(u, {
5185
5172
  variant: "ghost",
5186
5173
  hideLabel: !0,
5187
5174
  label: a ? x.ai.collapseChat : x.ai.expandChat,
5188
- icon: a ? je : C,
5175
+ icon: a ? Ae : C,
5189
5176
  onClick: f
5190
5177
  }), E = /* @__PURE__ */ J(u, {
5191
5178
  variant: "ghost",
5192
5179
  hideLabel: !0,
5193
5180
  label: x.ai.closeChat,
5194
- icon: ot,
5181
+ icon: at,
5195
5182
  onClick: p
5196
5183
  }), D = b?.map((e) => /* @__PURE__ */ J(u, {
5197
5184
  variant: "ghost",
@@ -5236,8 +5223,8 @@ var Is = ({ credits: e, employeeCredits: t, trigger: n }) => t ? /* @__PURE__ */
5236
5223
  lines: 1,
5237
5224
  className: "min-w-0 text-left",
5238
5225
  children: r ?? x.ai.newConversation
5239
- }), /* @__PURE__ */ J(V, {
5240
- icon: yt,
5226
+ }), /* @__PURE__ */ J(H, {
5227
+ icon: vt,
5241
5228
  color: "default",
5242
5229
  size: "md"
5243
5230
  })]
@@ -5252,7 +5239,7 @@ var Is = ({ credits: e, employeeCredits: t, trigger: n }) => t ? /* @__PURE__ */
5252
5239
  ease: "easeOut"
5253
5240
  },
5254
5241
  children: [
5255
- /* @__PURE__ */ J(Is, {
5242
+ /* @__PURE__ */ J(Ps, {
5256
5243
  credits: _,
5257
5244
  employeeCredits: v
5258
5245
  }),
@@ -5282,10 +5269,10 @@ var Is = ({ credits: e, employeeCredits: t, trigger: n }) => t ? /* @__PURE__ */
5282
5269
  variant: "ghost",
5283
5270
  hideLabel: !0,
5284
5271
  label: x.ai.startNewChat,
5285
- icon: Ve,
5272
+ icon: Be,
5286
5273
  onClick: m
5287
5274
  }) : null,
5288
- /* @__PURE__ */ J(Is, {
5275
+ /* @__PURE__ */ J(Ps, {
5289
5276
  credits: _,
5290
5277
  employeeCredits: v
5291
5278
  }),
@@ -5298,25 +5285,25 @@ var Is = ({ credits: e, employeeCredits: t, trigger: n }) => t ? /* @__PURE__ */
5298
5285
  };
5299
5286
  //#endregion
5300
5287
  //#region src/addons/ai/F0AiChatHistory/utils.ts
5301
- function zs(e) {
5288
+ function Ls(e) {
5302
5289
  let t = new Date(e), n = /* @__PURE__ */ new Date();
5303
- return tt(t) ? "today" : j(t) ? "yesterday" : Ut(t, n) ? "thisMonth" : "older";
5290
+ return et(t) ? "today" : j(t) ? "yesterday" : Ft(t, n) ? "thisMonth" : "older";
5304
5291
  }
5305
- function Bs(e, t, n) {
5306
- let r = new Date(e), i = zt(r, "p", { locale: n });
5307
- if (tt(r)) return `${t.today}, ${i}`;
5292
+ function Rs(e, t, n) {
5293
+ let r = new Date(e), i = Vt(r, "p", { locale: n });
5294
+ if (et(r)) return `${t.today}, ${i}`;
5308
5295
  if (j(r)) return `${t.yesterday}, ${i}`;
5309
- let a = !Rt(r, /* @__PURE__ */ new Date());
5310
- return `${zt(r, a ? "MMM d yyyy" : "MMM d", { locale: n })}, ${i}`;
5296
+ let a = !Bt(r, /* @__PURE__ */ new Date());
5297
+ return `${Vt(r, a ? "MMM d yyyy" : "MMM d", { locale: n })}, ${i}`;
5311
5298
  }
5312
- function Vs(e) {
5299
+ function zs(e) {
5313
5300
  let t = {
5314
5301
  today: [],
5315
5302
  yesterday: [],
5316
5303
  thisMonth: [],
5317
5304
  older: []
5318
5305
  };
5319
- for (let n of e) t[zs(n.updatedAt)].push(n);
5306
+ for (let n of e) t[Ls(n.updatedAt)].push(n);
5320
5307
  return [
5321
5308
  "today",
5322
5309
  "yesterday",
@@ -5329,14 +5316,14 @@ function Vs(e) {
5329
5316
  }
5330
5317
  //#endregion
5331
5318
  //#region src/addons/ai/F0AiChatHistory/components/ThreadItem.tsx
5332
- function Hs({ thread: e, isPinned: n, isActive: r = !1, isPending: o = !1, onSelect: s, onPin: c, onUnpin: l, onDelete: f, className: p }) {
5333
- let m = t(), h = Bt(), _ = G(() => [{
5319
+ function Bs({ thread: e, isPinned: n, isActive: r = !1, isPending: o = !1, onSelect: s, onPin: c, onUnpin: l, onDelete: f, className: p }) {
5320
+ let m = t(), h = Ot(), _ = G(() => [{
5334
5321
  label: n ? m.ai.unpinChat : m.ai.pinChat,
5335
- icon: n ? g : Fe,
5322
+ icon: n ? g : Pe,
5336
5323
  onClick: () => n ? l(e.id) : c(e.id)
5337
5324
  }, {
5338
5325
  label: m.ai.deleteChat,
5339
- icon: Ye,
5326
+ icon: Je,
5340
5327
  critical: !0,
5341
5328
  onClick: () => f(e.id)
5342
5329
  }], [
@@ -5345,7 +5332,7 @@ function Hs({ thread: e, isPinned: n, isActive: r = !1, isPending: o = !1, onSel
5345
5332
  c,
5346
5333
  l,
5347
5334
  f
5348
- ]), v = G(() => Bs(e.updatedAt, {
5335
+ ]), v = G(() => Rs(e.updatedAt, {
5349
5336
  today: m.ai.today,
5350
5337
  yesterday: m.ai.yesterday
5351
5338
  }, h), [
@@ -5367,7 +5354,7 @@ function Hs({ thread: e, isPinned: n, isActive: r = !1, isPending: o = !1, onSel
5367
5354
  className: "flex w-full min-w-0 items-center gap-1",
5368
5355
  onClick: () => s(e.id, e.title),
5369
5356
  children: [
5370
- e.icon ? /* @__PURE__ */ J(V, {
5357
+ e.icon ? /* @__PURE__ */ J(H, {
5371
5358
  icon: e.icon,
5372
5359
  size: "sm",
5373
5360
  className: "mr-1 shrink-0 text-f1-icon",
@@ -5391,13 +5378,13 @@ function Hs({ thread: e, isPinned: n, isActive: r = !1, isPending: o = !1, onSel
5391
5378
  o ? /* @__PURE__ */ J("div", {
5392
5379
  className: "flex h-7 w-7 shrink-0 items-center justify-center",
5393
5380
  "aria-label": m.ai.threadOptions,
5394
- children: /* @__PURE__ */ J(Mt, { size: "small" })
5381
+ children: /* @__PURE__ */ J(Nt, { size: "small" })
5395
5382
  }) : /* @__PURE__ */ J("div", {
5396
5383
  className: i("hidden items-center", "group-hover:flex group-focus-within:flex", "has-[[aria-expanded=true]]:flex"),
5397
- children: /* @__PURE__ */ J(we, {
5384
+ children: /* @__PURE__ */ J(Ce, {
5398
5385
  items: _,
5399
5386
  children: /* @__PURE__ */ J(u, {
5400
- icon: Kt,
5387
+ icon: Gt,
5401
5388
  variant: "ghost",
5402
5389
  size: "sm",
5403
5390
  label: m.ai.threadOptions,
@@ -5410,7 +5397,7 @@ function Hs({ thread: e, isPinned: n, isActive: r = !1, isPending: o = !1, onSel
5410
5397
  }
5411
5398
  //#endregion
5412
5399
  //#region src/addons/ai/F0AiChatHistory/components/CollapsibleGroup.tsx
5413
- function Us({ label: e, threads: t, pinnedIds: n, onSelect: r, onPin: o, onUnpin: s, onDelete: c }) {
5400
+ function Vs({ label: e, threads: t, pinnedIds: n, onSelect: r, onPin: o, onUnpin: s, onDelete: c }) {
5414
5401
  let [l, u] = q(!0), d = U(() => {
5415
5402
  u((e) => !e);
5416
5403
  }, []), f = U((e) => {
@@ -5425,14 +5412,14 @@ function Us({ label: e, threads: t, pinnedIds: n, onSelect: r, onPin: o, onUnpin
5425
5412
  children: [/* @__PURE__ */ J("span", {
5426
5413
  className: "text-sm font-medium capitalize tracking-wide text-f1-foreground-secondary",
5427
5414
  children: e
5428
- }), /* @__PURE__ */ J(V, {
5429
- icon: l ? yt : Gt,
5415
+ }), /* @__PURE__ */ J(H, {
5416
+ icon: l ? vt : It,
5430
5417
  color: "secondary",
5431
5418
  size: "xs"
5432
5419
  })]
5433
5420
  }), l ? /* @__PURE__ */ J("div", {
5434
5421
  className: "flex flex-col",
5435
- children: t.map((e) => /* @__PURE__ */ J(Hs, {
5422
+ children: t.map((e) => /* @__PURE__ */ J(Bs, {
5436
5423
  thread: e,
5437
5424
  isPinned: n.has(e.id),
5438
5425
  onSelect: r,
@@ -5444,39 +5431,39 @@ function Us({ label: e, threads: t, pinnedIds: n, onSelect: r, onPin: o, onUnpin
5444
5431
  }
5445
5432
  //#endregion
5446
5433
  //#region src/addons/ai/F0AiChatHistory/components/ThreadListSkeleton.tsx
5447
- var Ws = [
5434
+ var Hs = [
5448
5435
  "w-3/5",
5449
5436
  "w-4/5",
5450
5437
  "w-2/5",
5451
5438
  "w-3/4",
5452
5439
  "w-1/2",
5453
5440
  "w-2/3"
5454
- ], Gs = ({ width: e }) => /* @__PURE__ */ J("div", {
5441
+ ], Us = ({ width: e }) => /* @__PURE__ */ J("div", {
5455
5442
  className: "flex items-center py-1.5 pl-1.5 pr-2",
5456
5443
  children: /* @__PURE__ */ J(r, { className: i("h-4 rounded", e) })
5457
- }), Ks = ({ titleWidth: e, rows: t }) => /* @__PURE__ */ Y("div", {
5444
+ }), Ws = ({ titleWidth: e, rows: t }) => /* @__PURE__ */ Y("div", {
5458
5445
  className: "flex flex-col gap-0.5",
5459
5446
  children: [/* @__PURE__ */ J("div", {
5460
5447
  className: "flex items-center p-1.5",
5461
5448
  children: /* @__PURE__ */ J(r, { className: i("h-3 rounded", e) })
5462
- }), t.map((e, t) => /* @__PURE__ */ J(Gs, { width: e }, t))]
5449
+ }), t.map((e, t) => /* @__PURE__ */ J(Us, { width: e }, t))]
5463
5450
  });
5464
- function qs() {
5451
+ function Gs() {
5465
5452
  return /* @__PURE__ */ Y("div", {
5466
5453
  "aria-hidden": "true",
5467
5454
  className: "flex flex-col gap-4",
5468
- children: [/* @__PURE__ */ J(Ks, {
5455
+ children: [/* @__PURE__ */ J(Ws, {
5469
5456
  titleWidth: "w-12",
5470
- rows: Ws.slice(0, 2)
5471
- }), /* @__PURE__ */ J(Ks, {
5457
+ rows: Hs.slice(0, 2)
5458
+ }), /* @__PURE__ */ J(Ws, {
5472
5459
  titleWidth: "w-24",
5473
- rows: Ws
5460
+ rows: Hs
5474
5461
  })]
5475
5462
  });
5476
5463
  }
5477
5464
  //#endregion
5478
5465
  //#region src/addons/ai/F0AiChatHistory/F0AiChatHistory.tsx
5479
- var Js = ({ onClose: e, onSelectThread: n, onNewChat: r, threads: a, isLoading: o, error: c, pinnedIds: l, onPinThread: u, onUnpinThread: f, onDeleteThread: p }) => {
5466
+ var Ks = ({ onClose: e, onSelectThread: n, onNewChat: r, threads: a, isLoading: o, error: c, pinnedIds: l, onPinThread: u, onUnpinThread: f, onDeleteThread: p }) => {
5480
5467
  let m = t(), [h, g] = q("");
5481
5468
  W(() => {
5482
5469
  let t = (t) => {
@@ -5498,7 +5485,7 @@ var Js = ({ onClose: e, onSelectThread: n, onNewChat: r, threads: a, isLoading:
5498
5485
  if (!h.trim()) return a;
5499
5486
  let e = h.toLowerCase();
5500
5487
  return a.filter((t) => t.title.toLowerCase().includes(e));
5501
- }, [a, h]), y = G(() => v.filter((e) => l.has(e.id)), [v, l]), b = G(() => v.filter((e) => !l.has(e.id)), [v, l]), x = G(() => Vs(b), [b]), S = U((t, r) => {
5488
+ }, [a, h]), y = G(() => v.filter((e) => l.has(e.id)), [v, l]), b = G(() => v.filter((e) => !l.has(e.id)), [v, l]), x = G(() => zs(b), [b]), S = U((t, r) => {
5502
5489
  n(t, r), e();
5503
5490
  }, [n, e]), C = U(() => {
5504
5491
  r(), e();
@@ -5518,8 +5505,8 @@ var Js = ({ onClose: e, onSelectThread: n, onNewChat: r, threads: a, isLoading:
5518
5505
  className: i("pointer-events-auto relative flex w-full max-w-[600px] flex-col", "rounded-xl bg-f1-background shadow-lg", "max-h-[min(600px,80vh)]"),
5519
5506
  children: [/* @__PURE__ */ Y("div", {
5520
5507
  className: "flex flex-shrink-0 items-center gap-2 border-0 border-b border-solid border-f1-border-secondary py-2 pl-5 pr-3",
5521
- children: [/* @__PURE__ */ J(V, {
5522
- icon: bt,
5508
+ children: [/* @__PURE__ */ J(H, {
5509
+ icon: yt,
5523
5510
  color: "secondary",
5524
5511
  size: "md"
5525
5512
  }), /* @__PURE__ */ J("input", {
@@ -5539,8 +5526,8 @@ var Js = ({ onClose: e, onSelectThread: n, onNewChat: r, threads: a, isLoading:
5539
5526
  onClick: C,
5540
5527
  children: /* @__PURE__ */ Y("div", {
5541
5528
  className: "flex w-full items-center gap-2",
5542
- children: [/* @__PURE__ */ J(V, {
5543
- icon: Ve,
5529
+ children: [/* @__PURE__ */ J(H, {
5530
+ icon: Be,
5544
5531
  color: "default",
5545
5532
  size: "md"
5546
5533
  }), /* @__PURE__ */ J(d, {
@@ -5550,7 +5537,7 @@ var Js = ({ onClose: e, onSelectThread: n, onNewChat: r, threads: a, isLoading:
5550
5537
  })]
5551
5538
  })
5552
5539
  }),
5553
- o ? /* @__PURE__ */ J(qs, {}) : null,
5540
+ o ? /* @__PURE__ */ J(Gs, {}) : null,
5554
5541
  !o && c ? /* @__PURE__ */ J("p", {
5555
5542
  className: "py-8 text-center text-base text-f1-foreground-tertiary",
5556
5543
  children: c
@@ -5559,7 +5546,7 @@ var Js = ({ onClose: e, onSelectThread: n, onNewChat: r, threads: a, isLoading:
5559
5546
  className: "py-8 text-center text-base text-f1-foreground-tertiary",
5560
5547
  children: m.ai.noPreviousChats
5561
5548
  }) : null,
5562
- !o && !c && y.length > 0 ? /* @__PURE__ */ J(Us, {
5549
+ !o && !c && y.length > 0 ? /* @__PURE__ */ J(Vs, {
5563
5550
  label: m.ai.pinnedChats,
5564
5551
  threads: y,
5565
5552
  pinnedIds: l,
@@ -5568,7 +5555,7 @@ var Js = ({ onClose: e, onSelectThread: n, onNewChat: r, threads: a, isLoading:
5568
5555
  onUnpin: f,
5569
5556
  onDelete: w
5570
5557
  }) : null,
5571
- !o && !c ? x.map((e) => /* @__PURE__ */ J(Us, {
5558
+ !o && !c ? x.map((e) => /* @__PURE__ */ J(Vs, {
5572
5559
  label: _[e.key],
5573
5560
  threads: e.threads,
5574
5561
  pinnedIds: l,
@@ -5581,16 +5568,16 @@ var Js = ({ onClose: e, onSelectThread: n, onNewChat: r, threads: a, isLoading:
5581
5568
  })]
5582
5569
  })
5583
5570
  })] }), document.body);
5584
- }, Ys = "f0-ai-pinned-threads";
5585
- function Xs() {
5586
- let e = Re(Ys, []);
5571
+ }, qs = "f0-ai-pinned-threads";
5572
+ function Js() {
5573
+ let e = Le(qs, []);
5587
5574
  return new Set(Array.isArray(e) ? e : []);
5588
5575
  }
5589
- function Zs(e) {
5590
- Oe(Ys, [...e]);
5576
+ function Ys(e) {
5577
+ De(qs, [...e]);
5591
5578
  }
5592
- function Qs({ enabled: e = !1, fetchThreads: t, deleteThread: n, pinThread: r, unpinThread: i }) {
5593
- let [a, o] = q([]), [s, c] = q(!1), [l, u] = q(null), [d, f] = q(Xs), [p, m] = q(() => /* @__PURE__ */ new Set()), h = U(async () => {
5579
+ function Xs({ enabled: e = !1, fetchThreads: t, deleteThread: n, pinThread: r, unpinThread: i }) {
5580
+ let [a, o] = q([]), [s, c] = q(!1), [l, u] = q(null), [d, f] = q(Js), [p, m] = q(() => /* @__PURE__ */ new Set()), h = U(async () => {
5594
5581
  c(!0), u(null);
5595
5582
  try {
5596
5583
  let e = await t();
@@ -5609,7 +5596,7 @@ function Qs({ enabled: e = !1, fetchThreads: t, deleteThread: n, pinThread: r, u
5609
5596
  f((n) => {
5610
5597
  if (t === n.has(e)) return n;
5611
5598
  let r = new Set(n);
5612
- return t ? r.add(e) : r.delete(e), Zs(r), r;
5599
+ return t ? r.add(e) : r.delete(e), Ys(r), r;
5613
5600
  });
5614
5601
  }, []), _ = U((e, t) => {
5615
5602
  m((n) => {
@@ -5641,7 +5628,7 @@ function Qs({ enabled: e = !1, fetchThreads: t, deleteThread: n, pinThread: r, u
5641
5628
  await n(e), o((t) => t.filter((t) => t.id !== e)), f((t) => {
5642
5629
  if (!t.has(e)) return t;
5643
5630
  let n = new Set(t);
5644
- return n.delete(e), Zs(n), n;
5631
+ return n.delete(e), Ys(n), n;
5645
5632
  });
5646
5633
  } catch {
5647
5634
  h();
@@ -5657,11 +5644,11 @@ function Qs({ enabled: e = !1, fetchThreads: t, deleteThread: n, pinThread: r, u
5657
5644
  }
5658
5645
  //#endregion
5659
5646
  //#region src/addons/ai/F0AiChatUsageLimits/types.ts
5660
- var $s = ["top", "bottom"], ec = c.create(_), tc = ({ label: e, reduceMotion: t }) => /* @__PURE__ */ Y("div", {
5647
+ var Zs = ["top", "bottom"], Qs = c.create(_), $s = ({ label: e, reduceMotion: t }) => /* @__PURE__ */ Y("div", {
5661
5648
  role: "status",
5662
5649
  "aria-live": "polite",
5663
5650
  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",
5664
- children: [/* @__PURE__ */ J(ec, {
5651
+ children: [/* @__PURE__ */ J(Qs, {
5665
5652
  size: "xs",
5666
5653
  animate: t ? void 0 : {
5667
5654
  rotate: [0, 360],
@@ -5710,7 +5697,7 @@ var $s = ["top", "bottom"], ec = c.create(_), tc = ({ label: e, reduceMotion: t
5710
5697
  className: "font-medium",
5711
5698
  children: e
5712
5699
  })]
5713
- }), nc = nn(function({ active: e, label: n, className: r, children: a }) {
5700
+ }), ec = nn(function({ active: e, label: n, className: r, children: a }) {
5714
5701
  let { t: o } = t(), s = l(), u = n ?? o("ai.applyingChanges");
5715
5702
  return W(() => {
5716
5703
  if (!e) return;
@@ -5734,7 +5721,7 @@ var $s = ["top", "bottom"], ec = c.create(_), tc = ({ label: e, reduceMotion: t
5734
5721
  },
5735
5722
  children: /* @__PURE__ */ J("div", {
5736
5723
  className: "mt-[40vh]",
5737
- children: /* @__PURE__ */ J(tc, {
5724
+ children: /* @__PURE__ */ J($s, {
5738
5725
  label: u,
5739
5726
  reduceMotion: s
5740
5727
  })
@@ -5749,4 +5736,4 @@ var $s = ["top", "bottom"], ec = c.create(_), tc = ({ label: e, reduceMotion: t
5749
5736
  });
5750
5737
  });
5751
5738
  //#endregion
5752
- export { Qr as A, Aa as C, ci as D, si as E, er as F, qn as I, Dn as L, Xr as M, Zr as N, li as O, Br as P, pn as R, Pa as S, Ji as T, lo as _, qs as a, Ia as b, Ls as c, ks as d, Ts as f, Qo as g, $o as h, Js as i, Jr as j, ai as k, Rs as l, vs as m, $s as n, Us as o, ys as p, Qs as r, Hs as s, nc as t, js as u, eo as v, na as w, La as x, za as y, fn as z };
5739
+ export { Qr as A, Aa as C, ci as D, si as E, er as F, qn as I, Dn as L, Xr as M, Zr as N, li as O, Br as P, pn as R, Pa as S, Ji as T, lo as _, Gs as a, Ia as b, Fs as c, Ds as d, Cs as f, Qo as g, $o as h, Ks as i, Jr as j, ai as k, Is as l, gs as m, Zs as n, Vs as o, _s as p, Xs as r, Bs as s, ec as t, ks as u, eo as v, na as w, La as x, za as y, fn as z };