@factorialco/f0-react 13.7.0 → 13.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/{ArchiveThumbnail-BI7pgnAC.js → ArchiveThumbnail-BWmaJU-e.js} +3 -3
  2. package/dist/{ArchiveViewer-mhv-yGtw.js → ArchiveViewer-BCS5O2Lm.js} +5 -5
  3. package/dist/{ChatPostComposerDialog-DpGmDp-T.js → ChatPostComposerDialog-B70a2ifd.js} +4 -4
  4. package/dist/{CoachmarkProvider-DEQCQBiS.js → CoachmarkProvider-Yf3g4I7H.js} +9605 -9605
  5. package/dist/{CodeThumbnail-BTH-wEBR.js → CodeThumbnail-t7uhUafH.js} +1 -1
  6. package/dist/{CodeViewer-B-WvPLtI.js → CodeViewer-CwhnIZQq.js} +8 -8
  7. package/dist/{DocumentToolbar-DS3PyBTl.js → DocumentToolbar-BUQCMtP6.js} +5 -5
  8. package/dist/{DocxViewer-DXlgCicZ.js → DocxViewer-1lNOLaA3.js} +3 -3
  9. package/dist/{F0AiProcessingOverlay-CJvxxlsA.js → F0AiProcessingOverlay-DrGj9rE0.js} +72 -72
  10. package/dist/{F0Alert-PwH28ciS.js → F0Alert-13k-qqDG.js} +5 -5
  11. package/dist/F0AudioPlayer-1a2sNIGA.js +2 -0
  12. package/dist/{F0Button-xbk-nrvL.js → F0Button-CxSs_bhW.js} +3 -3
  13. package/dist/{F0CanvasPanel-DxGAla5J.js → F0CanvasPanel-Dh4gV-qY.js} +4255 -4259
  14. package/dist/{F0DocumentViewer-xr-beeYT.js → F0DocumentViewer-CViOPGOd.js} +1 -1
  15. package/dist/{F0DocumentViewer-CnkhmQ7D.js → F0DocumentViewer-foMKH9Vp.js} +4 -4
  16. package/dist/{F0Icon-Dr2xuQq2.js → F0Icon-VifF8rpX.js} +1 -1
  17. package/dist/{F0Map-h_d1Gu-_.js → F0Map-DK-hI3Ok.js} +7 -7
  18. package/dist/{F0Select-DD_AdtqV.js → F0Select-BOphvJId.js} +8 -8
  19. package/dist/{F0Text-DzVOqGyO.js → F0Text-Bpa7KaaM.js} +2 -2
  20. package/dist/F0VideoPlayer-CVY4ixC5.js +1 -0
  21. package/dist/{F0VideoPlayer-DU_Cro6a.js → F0VideoPlayer-DnYPLTim.js} +6 -6
  22. package/dist/{HtmlThumbnail-BNAinxys.js → HtmlThumbnail-Dq-0M596.js} +1 -1
  23. package/dist/{HtmlViewer-D3wKqOzs.js → HtmlViewer-BHPLaNhE.js} +9 -9
  24. package/dist/{LayoutGroup-CXsoUZn_.js → LayoutGroup-BWnUhPYF.js} +1 -1
  25. package/dist/{Map-B1sIoNac.js → Map-DMC3i8yl.js} +10 -10
  26. package/dist/{PdfThumbnail-kBD_x9E3.js → PdfThumbnail-CKueINHk.js} +1 -1
  27. package/dist/{PdfViewer-CsIZKhkG.js → PdfViewer-DooVnDas.js} +8 -8
  28. package/dist/{SandboxedHtmlFrame-Pi5lxvZj.js → SandboxedHtmlFrame-DR9md8QY.js} +2 -2
  29. package/dist/{SheetViewer-BjMKD7JX.js → SheetViewer-BJ8Mvwkc.js} +5 -5
  30. package/dist/{TextViewer-DQWC74l9.js → TextViewer-pQIs_OJV.js} +4 -4
  31. package/dist/ai.d.ts +3 -3
  32. package/dist/ai.js +4 -4
  33. package/dist/component-status.js +1 -1
  34. package/dist/{dist-Bvf79ox7.js → dist-Bp4vM3bZ.js} +4 -4
  35. package/dist/{dist-CvYOoTs5.js → dist-Cfr_PHiv.js} +1 -1
  36. package/dist/{dist-BgfZJh24.js → dist-DPcRzPjW.js} +1 -1
  37. package/dist/experimental.d.ts +70 -6
  38. package/dist/experimental.js +6622 -6102
  39. package/dist/{exports-DBaGx_h5.d.ts → exports-v_F99St1.d.ts} +1 -1
  40. package/dist/f0.d.ts +4 -4
  41. package/dist/f0.js +182 -182
  42. package/dist/{highlight-D78L3lJD.js → highlight-BHqxjdF6.js} +1 -1
  43. package/dist/{i18n-provider-aZCxX7lT.js → i18n-provider-BniRK15h.js} +1 -1
  44. package/dist/{i18n-provider-defaults-BpglikGz.js → i18n-provider-defaults-BkMw-qG7.js} +30 -0
  45. package/dist/{i18n-provider-defaults-BUY-YS7I.d.ts → i18n-provider-defaults-Q9twuwTp.d.ts} +30 -0
  46. package/dist/i18n-provider-defaults.d.ts +1 -1
  47. package/dist/i18n-provider-defaults.js +1 -1
  48. package/dist/{index-BHnszH8I.d.ts → index-BOITzsxP.d.ts} +3 -1
  49. package/dist/{maplibre-DNAzGJNy.js → maplibre-C_u6rvlI.js} +1 -1
  50. package/dist/{pdfWorker-Bx_18LOR.js → pdfWorker-BAWd_kWz.js} +1 -1
  51. package/dist/{popover-CT3rox5D.js → popover-CwQ7JDZU.js} +1 -1
  52. package/dist/{posts-i2uZfohA.js → posts-BBvCiBdi.js} +12 -9
  53. package/dist/{scrollarea-iuapGs70.js → scrollarea-HcC-Gf8H.js} +3 -3
  54. package/dist/{skeleton-C5JQM5pK.js → skeleton-DTPG1VHE.js} +1 -1
  55. package/dist/styles.css +1 -1
  56. package/dist/{toolbarStyles-DblQOIMP.js → toolbarStyles-TdJVpkJ0.js} +1 -1
  57. package/dist/{types-BYO_PD6I.d.ts → types-NNoGnjGf.d.ts} +2 -2
  58. package/dist/{useData-Af3QuQSP.js → useData-IY6E4kFy.js} +6 -6
  59. package/package.json +1 -1
  60. package/dist/F0AudioPlayer-BFx1oHaA.js +0 -2
  61. package/dist/F0VideoPlayer-BFFYbcYS.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import { L as e } from "./tooltip-BX4dSfeL.js";
2
- import { i as t, t as n } from "./highlight-D78L3lJD.js";
2
+ import { i as t, t as n } from "./highlight-BHqxjdF6.js";
3
3
  import { t as r } from "./useThumbnailText-DwXQvLIe.js";
4
4
  import { useEffect as i, useState as a } from "react";
5
5
  import { jsx as o } from "react/jsx-runtime";
@@ -1,11 +1,11 @@
1
- import { r as e } from "./i18n-provider-aZCxX7lT.js";
2
- import { t } from "./skeleton-C5JQM5pK.js";
1
+ import { r as e } from "./i18n-provider-BniRK15h.js";
2
+ import { t } from "./skeleton-DTPG1VHE.js";
3
3
  import { L as n } from "./tooltip-BX4dSfeL.js";
4
- import { Xr as r, qc as i } from "./F0CanvasPanel-DxGAla5J.js";
5
- import { xt as a } from "./F0Select-DD_AdtqV.js";
4
+ import { Jc as r, Xr as i } from "./F0CanvasPanel-Dh4gV-qY.js";
5
+ import { xt as a } from "./F0Select-BOphvJId.js";
6
6
  import { t as o } from "./purify.es-ZpfdAuNV.js";
7
- import { n as s, t as c } from "./DocumentToolbar-DS3PyBTl.js";
8
- import { a as l, i as u, n as d, o as f, r as p, t as m } from "./highlight-D78L3lJD.js";
7
+ import { n as s, t as c } from "./DocumentToolbar-BUQCMtP6.js";
8
+ import { a as l, i as u, n as d, o as f, r as p, t as m } from "./highlight-BHqxjdF6.js";
9
9
  import { t as h } from "./useFetchedText-BR3_KLXx.js";
10
10
  import { useEffect as g, useMemo as _, useState as v } from "react";
11
11
  import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
@@ -60,10 +60,10 @@ var S = ({ text: e, language: t, wrap: r = !1, label: i, zoom: a = 1, className:
60
60
  hideDownload: _,
61
61
  endContent: E === null ? null : /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(a, {
62
62
  label: w.pdfViewer.wrapLines,
63
- icon: i,
63
+ icon: r,
64
64
  selected: A,
65
65
  onSelectedChange: k
66
- }), /* @__PURE__ */ b(r, {
66
+ }), /* @__PURE__ */ b(i, {
67
67
  valueToCopy: E,
68
68
  variant: "outline",
69
69
  size: "md",
@@ -1,8 +1,8 @@
1
- import { r as e } from "./i18n-provider-aZCxX7lT.js";
2
- import { vc as t } from "./F0CanvasPanel-DxGAla5J.js";
3
- import { z as n } from "./useData-Af3QuQSP.js";
4
- import { sr as r, t as i } from "./F0Select-DD_AdtqV.js";
5
- import { a, c as o, n as s, o as c, r as l, s as u, t as d } from "./toolbarStyles-DblQOIMP.js";
1
+ import { r as e } from "./i18n-provider-BniRK15h.js";
2
+ import { vc as t } from "./F0CanvasPanel-Dh4gV-qY.js";
3
+ import { z as n } from "./useData-IY6E4kFy.js";
4
+ import { sr as r, t as i } from "./F0Select-BOphvJId.js";
5
+ import { a, c as o, n as s, o as c, r as l, s as u, t as d } from "./toolbarStyles-TdJVpkJ0.js";
6
6
  import { useCallback as f, useMemo as p, useState as m } from "react";
7
7
  import { jsx as h, jsxs as g } from "react/jsx-runtime";
8
8
  //#region src/addons/documents/F0DocumentViewer/components/DocumentToolbar.tsx
@@ -1,6 +1,6 @@
1
- import { r as e } from "./i18n-provider-aZCxX7lT.js";
2
- import { t } from "./skeleton-C5JQM5pK.js";
3
- import { n, t as r } from "./DocumentToolbar-DS3PyBTl.js";
1
+ import { r as e } from "./i18n-provider-BniRK15h.js";
2
+ import { t } from "./skeleton-DTPG1VHE.js";
3
+ import { n, t as r } from "./DocumentToolbar-BUQCMtP6.js";
4
4
  import { t as i } from "./renderDocx-BW-uDyaZ.js";
5
5
  import { useEffect as a, useRef as o, useState as s } from "react";
6
6
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
@@ -1,16 +1,16 @@
1
- import { a as e, r as t } from "./i18n-provider-aZCxX7lT.js";
2
- import { n, t as r } from "./skeleton-C5JQM5pK.js";
1
+ import { a as e, r as t } from "./i18n-provider-BniRK15h.js";
2
+ import { n, t as r } from "./skeleton-DTPG1VHE.js";
3
3
  import { L as i, R as a } from "./tooltip-BX4dSfeL.js";
4
- import { T as o, U as s, h as c, n as l, r as u, t as d, wt as f, y as p } from "./F0Button-xbk-nrvL.js";
5
- import { $ as m, $t as h, A as g, Aa as _, Ao as v, As as y, B as b, Bt as x, C as S, Cc as C, Di as w, Ds as T, Ei as E, Ft as D, G as O, Gc as ee, Gi as k, Go as A, Gt as j, H as M, Ht as N, J as P, Jo as F, K as I, Ko as L, Kt as te, Lr as ne, Lt as re, M as ie, Ms as ae, Mt as R, O as oe, Oi as z, Ot as B, Po as se, Ps as ce, Pt as le, Q as ue, S as de, Sc as fe, St as pe, U as me, Ui as he, Vi as V, Vo as ge, Vr as _e, W as ve, Ws as ye, Wt as be, Xr as xe, Xt as Se, Y as Ce, Yt as we, Zr as Te, _t as Ee, a as De, an as H, ao as Oe, at as ke, b as U, bo as Ae, bs as je, cn as Me, ct as Ne, dn as Pe, ds as Fe, dt as Ie, el as Le, en as Re, fn as ze, fs as Be, ft as Ve, g as He, gn as Ue, gt as We, h as Ge, in as Ke, io as qe, it as Je, j as Ye, jr as Xe, jt as Ze, k as Qe, ki as $e, kt as et, ln as tt, lo as nt, ls as rt, lt as it, m as at, nn as ot, ns as st, ot as ct, q as lt, qo as ut, r as dt, rn as ft, rs as pt, rt as W, ss as mt, st as ht, tl as gt, tt as _t, ut as vt, vc as yt, vn as bt, vt as xt, x as St, xn as Ct, y as wt, yi as Tt, yt as Et, zs as Dt } from "./F0CanvasPanel-DxGAla5J.js";
6
- import { o as Ot, t as G } from "./F0Icon-Dr2xuQq2.js";
7
- import { t as kt } from "./i18n-provider-defaults-BpglikGz.js";
8
- import { C as At, H as jt, I as Mt, N as Nt, U as Pt, b as Ft, g as It, h as Lt, k as Rt, l as zt, m as Bt } from "./useData-Af3QuQSP.js";
9
- import { $t as Vt, Er as Ht, Mt as Ut, Sr as Wt, Tn as Gt, Tt as Kt, _t as qt, an as Jt, br as Yt, ct as Xt, gt as Zt, ht as Qt, in as $t, sn as en, wn as tn, wr as nn, xr as rn } from "./F0Select-DD_AdtqV.js";
4
+ import { T as o, U as s, h as c, n as l, r as u, t as d, wt as f, y as p } from "./F0Button-CxSs_bhW.js";
5
+ import { $ as m, $t as h, A as g, Aa as _, Ao as v, As as y, B as b, Bt as x, C as S, Cc as C, Di as w, Ds as T, Ei as E, Ft as D, G as O, Gi as ee, Go as k, Gt as A, H as j, Ht as M, J as N, Jo as P, K as F, Kc as I, Ko as L, Kt as te, Lr as ne, Lt as re, M as ie, Ms as ae, Mt as R, O as oe, Oi as z, Ot as B, Po as se, Ps as ce, Pt as le, Q as ue, S as de, Sc as fe, St as pe, U as me, Ui as he, Vi as V, Vo as ge, Vr as _e, W as ve, Ws as ye, Wt as be, Xr as xe, Xt as Se, Y as Ce, Yt as we, Zr as Te, _t as Ee, a as De, an as H, ao as Oe, at as ke, b as U, bo as Ae, bs as je, cn as Me, ct as Ne, dn as Pe, ds as Fe, dt as Ie, en as Le, fn as Re, fs as ze, ft as Be, g as Ve, gn as He, gt as Ue, h as We, in as Ge, io as Ke, it as qe, j as Je, jr as Ye, jt as Xe, k as Ze, ki as Qe, kt as $e, ln as et, lo as tt, ls as nt, lt as rt, m as it, nl as at, nn as ot, ns as st, ot as ct, q as lt, qo as ut, r as dt, rn as ft, rs as pt, rt as W, ss as mt, st as ht, tl as gt, tt as _t, ut as vt, vc as yt, vn as bt, vt as xt, x as St, xn as Ct, y as wt, yi as Tt, yt as Et, zs as Dt } from "./F0CanvasPanel-Dh4gV-qY.js";
6
+ import { o as Ot, t as G } from "./F0Icon-VifF8rpX.js";
7
+ import { t as kt } from "./i18n-provider-defaults-BkMw-qG7.js";
8
+ import { C as At, H as jt, I as Mt, N as Nt, U as Pt, b as Ft, g as It, h as Lt, k as Rt, l as zt, m as Bt } from "./useData-IY6E4kFy.js";
9
+ import { $t as Vt, Er as Ht, Mt as Ut, Sr as Wt, Tn as Gt, Tt as Kt, _t as qt, an as Jt, br as Yt, ct as Xt, gt as Zt, ht as Qt, in as $t, sn as en, wn as tn, wr as nn, xr as rn } from "./F0Select-BOphvJId.js";
10
10
  import { t as an } from "./Check-DAp9gCRh.js";
11
11
  import { t as on } from "./Ellipsis-CBouJQYY.js";
12
12
  import { t as sn } from "./ExternalLink-RdKU698E.js";
13
- import { a as cn, gt as ln, i as un, t as dn } from "./popover-CT3rox5D.js";
13
+ import { a as cn, gt as ln, i as un, t as dn } from "./popover-CwQ7JDZU.js";
14
14
  import { a as fn } from "./dist-Cuwaibqg.js";
15
15
  import { createContext as pn, createElement as mn, forwardRef as hn, memo as gn, useCallback as K, useContext as _n, useEffect as q, useId as vn, useImperativeHandle as yn, useInsertionEffect as bn, useLayoutEffect as xn, useMemo as J, useRef as Y, useState as X } from "react";
16
16
  import { Fragment as Sn, jsx as Z, jsxs as Q } from "react/jsx-runtime";
@@ -46,7 +46,7 @@ function Nn(e, t) {
46
46
  //#endregion
47
47
  //#region src/elements/F0Composer/parts/surface.ts
48
48
  var Pn = "relative flex flex-col rounded-lg border border-solid border-f1-border-secondary bg-f1-background/95 shadow-md transition-colors", Fn = [], In = () => null, Ln = ({ onSend: e, inProgress: t = !1, onStop: n, sendKind: r = "send", hasAttachments: a = !1, sendBlocked: o = !1, maxLength: c, maxLengthError: u, error: d = null, labels: p, placeholders: m, placeholdersPaused: h, role: g = "combobox", name: _, mentions: v, autocomplete: y, voice: b, onTextChange: x, onCleared: S, onEscape: w, onArrowUpWhenEmpty: T, onPasteFiles: E, pastePreferText: D = !1, onStateChange: O, header: ee, tray: k, leading: A, toolbarStart: j, toolbarCenter: M, collapsible: N = !1, collapsed: P = !1, replacement: F, accent: I = !1, asForm: L = !1, className: te, surfaceRef: ne, onSurfaceFocus: re, onSurfaceBlur: ie, handleRef: ae, reducedMotion: R = !1, "data-testid": oe }) => {
49
- let z = it(p, b), B = F != null, { error: se, show: le, clear: ue } = Ne(), de = Y(() => {}), fe = Y(() => {}), pe = Y(""), me = K((e) => {
49
+ let z = rt(p, b), B = F != null, { error: se, show: le, clear: ue } = Ne(), de = Y(() => {}), fe = Y(() => {}), pe = Y(""), me = K((e) => {
50
50
  let t = pe.current, n = t && !/\s$/.test(t) ? " " : "";
51
51
  de.current(`${t}${n}${e}`);
52
52
  }, []), he = {
@@ -80,11 +80,11 @@ var Pn = "relative flex flex-col rounded-lg border border-solid border-f1-border
80
80
  Pe.current = Te;
81
81
  let Fe = Y(U.mentions);
82
82
  Fe.current = U.mentions;
83
- let Le = (y?.useAutocomplete ?? In)(we), Be = Le?.isOpen ?? !1, He = U.dismissCurrentTrigger;
83
+ let ze = (y?.useAutocomplete ?? In)(we), Ve = ze?.isOpen ?? !1, He = U.dismissCurrentTrigger;
84
84
  q(() => {
85
- Ce(Be), Be && He();
86
- }, [Be, He]);
87
- let { highlightSegments: Ue, hasOverlay: Ge } = Ve(we, { suppressGhost: Be }), Ke = K((e) => {
85
+ Ce(Ve), Ve && He();
86
+ }, [Ve, He]);
87
+ let { highlightSegments: We, hasOverlay: Ge } = Be(we, { suppressGhost: Ve }), Ke = K((e) => {
88
88
  let t = H.current;
89
89
  if (!t) return;
90
90
  t.focus(e);
@@ -92,10 +92,10 @@ var Pn = "relative flex flex-col rounded-lg border border-solid border-f1-border
92
92
  t.setSelectionRange(n, n);
93
93
  }, [H]);
94
94
  fe.current = () => H.current?.focus();
95
- let qe = U.close;
95
+ let Je = U.close;
96
96
  q(() => {
97
- B && qe();
98
- }, [B, qe]);
97
+ B && Je();
98
+ }, [B, Je]);
99
99
  let Ye = Te.length === 0;
100
100
  q(() => {
101
101
  O?.({
@@ -111,8 +111,8 @@ var Pn = "relative flex flex-col rounded-lg border border-solid border-f1-border
111
111
  q(() => {
112
112
  Qe || Ze(!1);
113
113
  }, [Qe]);
114
- let $e = Xe && Qe ? u ?? null : null, et = $e ?? d ?? se, [tt, nt] = X(!1), rt = Y(!1), at = (Te.trim().length > 0 || a) && !xe && !o && !tt && !B, ot = t && !ye, lt = K(() => {
115
- if (!at || rt.current) return;
114
+ let $e = Xe && Qe ? u ?? null : null, et = $e ?? d ?? se, [tt, nt] = X(!1), it = Y(!1), at = (Te.trim().length > 0 || a) && !xe && !o && !tt && !B, ot = t && !ye, lt = K(() => {
115
+ if (!at || it.current) return;
116
116
  if (Qe) {
117
117
  Ze(!0);
118
118
  return;
@@ -130,10 +130,10 @@ var Pn = "relative flex flex-col rounded-lg border border-solid border-f1-border
130
130
  n(!0);
131
131
  return;
132
132
  }
133
- r instanceof Promise ? (rt.current = !0, nt(!0), r.then((e) => {
134
- rt.current = !1, nt(!1), n(e === !1);
133
+ r instanceof Promise ? (it.current = !0, nt(!0), r.then((e) => {
134
+ it.current = !1, nt(!1), n(e === !1);
135
135
  }, () => {
136
- rt.current = !1, nt(!1), n(!0);
136
+ it.current = !1, nt(!1), n(!0);
137
137
  })) : n(r === !1);
138
138
  }, [
139
139
  at,
@@ -199,14 +199,14 @@ var Pn = "relative flex flex-col rounded-lg border border-solid border-f1-border
199
199
  let t = yt;
200
200
  return xt(e) ? (t && (Ze(!1), S?.()), !0) : !1;
201
201
  }, wt = (e) => {
202
- B || vt(e) || St(e) || Le?.handleKeyDown(e) || U.handleKeyDown(e) || Ct(e) || (e.key === "ArrowUp" && !e.shiftKey && !e.altKey && !e.metaKey && !e.ctrlKey && Te === "" && V.status === "idle" && !ge && !b?.busy && T?.() ? e.preventDefault() : e.key === "Enter" && !e.shiftKey && (e.preventDefault(), t || lt()));
202
+ B || vt(e) || St(e) || ze?.handleKeyDown(e) || U.handleKeyDown(e) || Ct(e) || (e.key === "ArrowUp" && !e.shiftKey && !e.altKey && !e.metaKey && !e.ctrlKey && Te === "" && V.status === "idle" && !ge && !b?.busy && T?.() ? e.preventDefault() : e.key === "Enter" && !e.shiftKey && (e.preventDefault(), t || lt()));
203
203
  }, Tt = (e) => {
204
204
  e.preventDefault(), !B && (t && !xe ? (U.close(), n?.(), H.current?.focus()) : lt());
205
- }, Et = Je({
205
+ }, Et = qe({
206
206
  enabled: !!E && !B,
207
207
  onFiles: E ?? (() => {}),
208
208
  preferText: D
209
- }), Dt = vn(), Ot = vn(), G = `chat-composer-mentions-${Dt.replace(/:/g, "")}`, kt = U.isOpen && !Be && !B && (U.isLoading || U.rows.length > 0), At = U.rows[U.selectedIndex] ?? U.rows[0], jt = kt && At ? ht(G, At.item) : void 0, Mt = (e) => be ? /* @__PURE__ */ Z(l, {
209
+ }), Dt = vn(), Ot = vn(), G = `chat-composer-mentions-${Dt.replace(/:/g, "")}`, kt = U.isOpen && !Ve && !B && (U.isLoading || U.rows.length > 0), At = U.rows[U.selectedIndex] ?? U.rows[0], jt = kt && At ? ht(G, At.item) : void 0, Mt = (e) => be ? /* @__PURE__ */ Z(l, {
210
210
  type: "button",
211
211
  variant: "outline",
212
212
  size: e,
@@ -235,7 +235,7 @@ var Pn = "relative flex flex-col rounded-lg border border-solid border-f1-border
235
235
  },
236
236
  transition: {
237
237
  duration: .15,
238
- ease: Re
238
+ ease: Le
239
239
  },
240
240
  children: ot ? /* @__PURE__ */ Z(l, {
241
241
  type: L ? "submit" : "button",
@@ -268,7 +268,7 @@ var Pn = "relative flex flex-col rounded-lg border border-solid border-f1-border
268
268
  animate: { opacity: 1 },
269
269
  exit: { opacity: 0 },
270
270
  transition: Ft,
271
- children: [/* @__PURE__ */ Z(ze, {
271
+ children: [/* @__PURE__ */ Z(Re, {
272
272
  stream: V.stream,
273
273
  className: "min-w-0 flex-1"
274
274
  }), /* @__PURE__ */ Q("div", {
@@ -333,7 +333,7 @@ var Pn = "relative flex flex-col rounded-lg border border-solid border-f1-border
333
333
  className: i((A || P) && "flex items-end", P && "pr-3"),
334
334
  children: [
335
335
  A,
336
- /* @__PURE__ */ Z(We, {
336
+ /* @__PURE__ */ Z(Ue, {
337
337
  className: "min-w-0 flex-1",
338
338
  textareaRef: H,
339
339
  highlightRef: Oe,
@@ -353,15 +353,15 @@ var Pn = "relative flex flex-col rounded-lg border border-solid border-f1-border
353
353
  onChange: we.handleChange,
354
354
  onKeyDown: wt,
355
355
  onPaste: Et,
356
- onFocus: Le?.handleFocus,
357
- onBlur: Le?.handleBlur,
356
+ onFocus: ze?.handleFocus,
357
+ onBlur: ze?.handleBlur,
358
358
  onCursorUpdate: we.updateCursorPosition,
359
359
  onScroll: we.syncHighlightScroll,
360
- highlightSegments: Ue,
360
+ highlightSegments: We,
361
361
  hasOverlay: Ge,
362
- isAutocompleteOpen: Be || kt,
363
- autocompleteListboxId: Be ? Le?.listboxId : kt ? G : void 0,
364
- activeAutocompleteOptionId: (Be ? Le?.activeDescendantId : void 0) ?? jt,
362
+ isAutocompleteOpen: Ve || kt,
363
+ autocompleteListboxId: Ve ? ze?.listboxId : kt ? G : void 0,
364
+ activeAutocompleteOptionId: (Ve ? ze?.activeDescendantId : void 0) ?? jt,
365
365
  isInvalid: $e !== null,
366
366
  errorMessageId: Ot
367
367
  }),
@@ -393,7 +393,7 @@ var Pn = "relative flex flex-col rounded-lg border border-solid border-f1-border
393
393
  }, "action-row")
394
394
  }) : Lt
395
395
  ] }), Bt = /* @__PURE__ */ Q(Sn, { children: [
396
- Le?.popover,
396
+ ze?.popover,
397
397
  /* @__PURE__ */ Z(ct, {
398
398
  isOpen: kt,
399
399
  listboxId: G,
@@ -529,12 +529,12 @@ function Rn(e, t, n = .2) {
529
529
  //#region src/addons/ai/F0AiChatTextArea/components/AttachedFilesList.tsx
530
530
  var zn = (e) => {
531
531
  let { provided: t } = R();
532
- return t ? /* @__PURE__ */ Z(Bn, { ...e }) : /* @__PURE__ */ Z(Ze, { children: /* @__PURE__ */ Z(Bn, { ...e }) });
532
+ return t ? /* @__PURE__ */ Z(Bn, { ...e }) : /* @__PURE__ */ Z(Xe, { children: /* @__PURE__ */ Z(Bn, { ...e }) });
533
533
  }, Bn = ({ attachedFiles: e, isUploading: n, onRemove: r, removeLabel: i, reducedMotion: a }) => {
534
534
  let o = t(), s = Vn(e), c = J(() => e.flatMap((e) => {
535
535
  let t = s.get(e.id);
536
536
  if (!t) return [];
537
- let n = e.file.name, r = e.file.type || j({
537
+ let n = e.file.name, r = e.file.type || A({
538
538
  name: n,
539
539
  url: t
540
540
  });
@@ -628,7 +628,7 @@ var zn = (e) => {
628
628
  }, ...e.length > 0 ? [{ type: "separator" }] : []] : [], ...Hn(e)];
629
629
  return /* @__PURE__ */ Z("div", {
630
630
  onClick: (e) => e.stopPropagation(),
631
- children: /* @__PURE__ */ Z(nt, {
631
+ children: /* @__PURE__ */ Z(tt, {
632
632
  items: p,
633
633
  align: "start",
634
634
  disabled: o,
@@ -692,7 +692,7 @@ var zn = (e) => {
692
692
  };
693
693
  }, Kn = ({ creditWarning: e, children: n }) => {
694
694
  let r = t(), i = Gn(e);
695
- return /* @__PURE__ */ Z(M, {
695
+ return /* @__PURE__ */ Z(j, {
696
696
  notice: i,
697
697
  dismissLabel: r.ai.creditWarning.dismiss ?? "",
698
698
  className: "[&_form]:border-f1-border",
@@ -1307,7 +1307,7 @@ function hr({ src: e, alt: n, ...r }) {
1307
1307
  //#endregion
1308
1308
  //#region src/addons/ai/F0AiChat/components/markdownRenderers/components/Link.tsx
1309
1309
  function gr({ children: e, ...t }) {
1310
- return /* @__PURE__ */ Z($e, {
1310
+ return /* @__PURE__ */ Z(Qe, {
1311
1311
  ...t,
1312
1312
  variant: "link",
1313
1313
  href: t.href,
@@ -1740,10 +1740,10 @@ function zr({ type: e, id: t, children: n }) {
1740
1740
  //#endregion
1741
1741
  //#region src/addons/ai/F0AiChat/components/markdownRenderers/components/Table.tsx
1742
1742
  async function Br(e, t, n) {
1743
- let r = Ye(e), i = t === "xlsx" ? await ie([{
1743
+ let r = Je(e), i = t === "xlsx" ? await ie([{
1744
1744
  name: "Data",
1745
1745
  rows: r
1746
- }]) : await Qe(r);
1746
+ }]) : await Ze(r);
1747
1747
  g(i, `${n}.${t}`);
1748
1748
  }
1749
1749
  function Vr({ children: e, title: n, ...r }) {
@@ -1760,7 +1760,7 @@ function Vr({ children: e, title: n, ...r }) {
1760
1760
  tag: "h2",
1761
1761
  className: "text-base font-medium capitalize text-f1-foreground",
1762
1762
  children: n ?? a.ai.reportCard.tableLabel
1763
- }), /* @__PURE__ */ Z(nt, {
1763
+ }), /* @__PURE__ */ Z(tt, {
1764
1764
  icon: yt,
1765
1765
  size: "md",
1766
1766
  items: [{
@@ -1928,7 +1928,7 @@ var Xr = {
1928
1928
  mimeType: e.mimeType,
1929
1929
  size: e.bytes,
1930
1930
  previewUrl: e.preview ? t?.(e.preview.path) ?? e.preview.url : void 0
1931
- }), li = (e) => j(e) ?? "", ui = pn(!1), di = () => _n(ui), fi = (e, t) => {
1931
+ }), li = (e) => A(e) ?? "", ui = pn(!1), di = () => _n(ui), fi = (e, t) => {
1932
1932
  let [n, r] = X(() => t ? null : new Set(e));
1933
1933
  return t && n !== null ? r(null) : !t && n === null && r(new Set(e)), (e) => e !== void 0 && n !== null && !n.has(e);
1934
1934
  }, pi = ({ avatar: e }) => e?.type === "module" ? /* @__PURE__ */ Z(Rt, {
@@ -2312,7 +2312,7 @@ var Vi = 625, Hi = /* @__PURE__ */ new Set(), Ui = ({ documents: e, onOpenFile:
2312
2312
  });
2313
2313
  }, Wi = "rounded-xl", Gi = "ai-chat", Ki = (e) => {
2314
2314
  let { provided: t } = R();
2315
- return t ? /* @__PURE__ */ Z(Yi, { ...e }) : /* @__PURE__ */ Z(Ze, { children: /* @__PURE__ */ Z(Yi, { ...e }) });
2315
+ return t ? /* @__PURE__ */ Z(Yi, { ...e }) : /* @__PURE__ */ Z(Xe, { children: /* @__PURE__ */ Z(Yi, { ...e }) });
2316
2316
  }, qi = {
2317
2317
  image: 0,
2318
2318
  video: 1,
@@ -2337,7 +2337,7 @@ var Vi = 625, Hi = /* @__PURE__ */ new Set(), Ui = ({ documents: e, onOpenFile:
2337
2337
  onImageError: (e) => u((t) => new Set(t).add(e.url))
2338
2338
  });
2339
2339
  }, Xi = (e, t, n) => e.map((e, r) => {
2340
- let i = N(e), a = !(t || tt(e.url)) || i.bucket === "file" || i.bucket === "image" && n.has(e.url);
2340
+ let i = M(e), a = !(t || et(e.url)) || i.bucket === "file" || i.bucket === "image" && n.has(e.url);
2341
2341
  return {
2342
2342
  file: e,
2343
2343
  cls: i,
@@ -2468,7 +2468,7 @@ var Vi = 625, Hi = /* @__PURE__ */ new Set(), Ui = ({ documents: e, onOpenFile:
2468
2468
  ...e,
2469
2469
  mimeType: a
2470
2470
  },
2471
- icon: a === "application/zip" ? ee : void 0,
2471
+ icon: a === "application/zip" ? I : void 0,
2472
2472
  testId: `${Gi}-file-tile`,
2473
2473
  action: {
2474
2474
  label: r.t("chat.downloadNamedFile", { name: e.name }),
@@ -2480,7 +2480,7 @@ var Vi = 625, Hi = /* @__PURE__ */ new Set(), Ui = ({ documents: e, onOpenFile:
2480
2480
  });
2481
2481
  }, ta = "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", na = ({ file: e, onOpen: n, onError: r }) => {
2482
2482
  let o = t(), s = H(e.thumbnailUrl ?? e.url);
2483
- return Ke(s.status, r), /* @__PURE__ */ Z("button", {
2483
+ return Ge(s.status, r), /* @__PURE__ */ Z("button", {
2484
2484
  type: "button",
2485
2485
  onClick: n,
2486
2486
  draggable: !1,
@@ -2507,15 +2507,15 @@ var Vi = 625, Hi = /* @__PURE__ */ new Set(), Ui = ({ documents: e, onOpenFile:
2507
2507
  url: e.url,
2508
2508
  posterUrl: s.status === "ready" ? s.url : void 0,
2509
2509
  onError: () => u(!0)
2510
- }) : null, /* @__PURE__ */ Z(I, {})]
2510
+ }) : null, /* @__PURE__ */ Z(F, {})]
2511
2511
  });
2512
2512
  }, ia = ({ images: e, onOpen: n, onImageError: r }) => {
2513
- let a = t(), o = e.length === 1 ? e[0] : void 0, s = H(o ? o.thumbnailUrl ?? o.url : void 0), c = He(o && s.status === "ready" ? s.url : void 0, o) ?? void 0, l = o ? Ge(c?.width, c?.height) : null;
2513
+ let a = t(), o = e.length === 1 ? e[0] : void 0, s = H(o ? o.thumbnailUrl ?? o.url : void 0), c = Ve(o && s.status === "ready" ? s.url : void 0, o) ?? void 0, l = o ? We(c?.width, c?.height) : null;
2514
2514
  return /* @__PURE__ */ Z("div", {
2515
2515
  style: l ? { width: l.width } : void 0,
2516
- className: i("grid grid-cols-2 overflow-hidden border border-solid border-f1-border-secondary", l ? "max-w-full" : ue, P, Wi),
2516
+ className: i("grid grid-cols-2 overflow-hidden border border-solid border-f1-border-secondary", l ? "max-w-full" : ue, N, Wi),
2517
2517
  "data-testid": "ai-chat-image-album",
2518
- children: at(c ? [c] : e).map((t, o, s) => {
2518
+ children: it(c ? [c] : e).map((t, o, s) => {
2519
2519
  let c = e[t.index];
2520
2520
  if (!c) return null;
2521
2521
  let l = o === s.length - 1;
@@ -2615,7 +2615,7 @@ function da({ anchor: e, onReply: n }) {
2615
2615
  type: "button",
2616
2616
  variant: "ghost",
2617
2617
  label: c,
2618
- icon: rt,
2618
+ icon: nt,
2619
2619
  onClick: () => {
2620
2620
  n(e.text);
2621
2621
  }
@@ -2706,7 +2706,7 @@ var fa = pn(void 0), pa = () => _n(fa), ma = (e) => /* @__PURE__ */ Z(Te, {
2706
2706
  },
2707
2707
  children: /* @__PURE__ */ Z("div", {
2708
2708
  className: "flex flex-col gap-6",
2709
- children: /* @__PURE__ */ Z(Xe, {
2709
+ children: /* @__PURE__ */ Z(Ye, {
2710
2710
  autoFocus: !0,
2711
2711
  label: l,
2712
2712
  placeholder: u,
@@ -2792,7 +2792,7 @@ var xa = ({ content: e, targetMessage: n, onCopy: r }) => {
2792
2792
  className: "flex min-w-0 flex-1 items-center justify-center gap-1",
2793
2793
  children: /* @__PURE__ */ Z(G, {
2794
2794
  size: "md",
2795
- icon: s === "like" ? A : L,
2795
+ icon: s === "like" ? k : L,
2796
2796
  color: "default"
2797
2797
  })
2798
2798
  })
@@ -2810,7 +2810,7 @@ var xa = ({ content: e, targetMessage: n, onCopy: r }) => {
2810
2810
  className: "flex min-w-0 flex-1 items-center justify-center gap-1",
2811
2811
  children: /* @__PURE__ */ Z(G, {
2812
2812
  size: "md",
2813
- icon: s === "dislike" ? ut : F,
2813
+ icon: s === "dislike" ? ut : P,
2814
2814
  color: "default"
2815
2815
  })
2816
2816
  })
@@ -2923,7 +2923,7 @@ var xa = ({ content: e, targetMessage: n, onCopy: r }) => {
2923
2923
  className: "flex flex-col gap-3 pb-4",
2924
2924
  children: e.map((t, n) => /* @__PURE__ */ Q("div", {
2925
2925
  className: "relative",
2926
- children: [/* @__PURE__ */ Z(Ue, {
2926
+ children: [/* @__PURE__ */ Z(He, {
2927
2927
  title: t,
2928
2928
  status: f(n),
2929
2929
  suffix: f(n) === "executing" ? /* @__PURE__ */ Z(Ea, { startedAt: a }) : void 0,
@@ -3125,7 +3125,7 @@ var Ba = {
3125
3125
  onThumbsDown: () => {}
3126
3126
  }, Va = (e) => {
3127
3127
  let t = R(), n = /* @__PURE__ */ Z(va, { children: /* @__PURE__ */ Z(Ha, { ...e }) });
3128
- return e.filePreviews || !t.provided ? /* @__PURE__ */ Z(Ze, {
3128
+ return e.filePreviews || !t.provided ? /* @__PURE__ */ Z(Xe, {
3129
3129
  filePreviews: e.filePreviews,
3130
3130
  children: n
3131
3131
  }) : n;
@@ -3205,13 +3205,13 @@ var Ba = {
3205
3205
  className: "text-base italic text-f1-foreground-secondary",
3206
3206
  children: k.ai.responseStopped
3207
3207
  }) : null,
3208
- t.endIndicator === "thinking" ? /* @__PURE__ */ Z(Ue, {
3208
+ t.endIndicator === "thinking" ? /* @__PURE__ */ Z(He, {
3209
3209
  title: k.ai.thinking,
3210
3210
  status: "executing",
3211
3211
  suffix: /* @__PURE__ */ Z(Ea, { startedAt: R })
3212
3212
  }) : null,
3213
- t.endIndicator === "activity" ? /* @__PURE__ */ Z(Ue, { status: "writing" }) : null,
3214
- t.endIndicator === "asking" ? /* @__PURE__ */ Z(Ue, {
3213
+ t.endIndicator === "activity" ? /* @__PURE__ */ Z(He, { status: "writing" }) : null,
3214
+ t.endIndicator === "asking" ? /* @__PURE__ */ Z(He, {
3215
3215
  title: k.ai.askingQuestions,
3216
3216
  status: "asking"
3217
3217
  }) : null,
@@ -3968,13 +3968,13 @@ var xo = class {
3968
3968
  repeatType: "mirror"
3969
3969
  };
3970
3970
  function ko(e) {
3971
- let [t, n] = X(e), r = gt(e), i = Y(null);
3971
+ let [t, n] = X(e), r = at(e), i = Y(null);
3972
3972
  return Tn(r, "change", (e) => n(e)), {
3973
3973
  value: t,
3974
3974
  motionValue: r,
3975
3975
  controls: i,
3976
3976
  animate: K((e, t) => {
3977
- i.current = Le(r, e, t);
3977
+ i.current = gt(r, e, t);
3978
3978
  }, [r])
3979
3979
  };
3980
3980
  }
@@ -4789,7 +4789,7 @@ var Ts = ({ cx: e, cy: t, index: n, dataLength: r, color: i }) => n !== r - 1 ||
4789
4789
  hide: !0,
4790
4790
  domain: ["dataMin - 1", "dataMax + 1"]
4791
4791
  }),
4792
- /* @__PURE__ */ Z(k, {
4792
+ /* @__PURE__ */ Z(ee, {
4793
4793
  type: "linear",
4794
4794
  dataKey: "value",
4795
4795
  stroke: a.stroke,
@@ -5052,10 +5052,10 @@ Bs.displayName = "F0AiMessageSources";
5052
5052
  //#endregion
5053
5053
  //#region src/addons/ai/F0AiTableCard/F0AiTableCard.tsx
5054
5054
  async function Vs(e, t, n) {
5055
- let r = Ye(e), i = t === "xlsx" ? await ie([{
5055
+ let r = Je(e), i = t === "xlsx" ? await ie([{
5056
5056
  name: "Data",
5057
5057
  rows: r
5058
- }]) : await Qe(r);
5058
+ }]) : await Ze(r);
5059
5059
  g(i, `${n}.${t}`);
5060
5060
  }
5061
5061
  function Hs({ dataset: e, title: n, filename: r }) {
@@ -5085,7 +5085,7 @@ function Hs({ dataset: e, title: n, filename: r }) {
5085
5085
  tag: "h2",
5086
5086
  className: "text-base font-medium capitalize text-f1-foreground",
5087
5087
  children: s
5088
- }), /* @__PURE__ */ Z(nt, {
5088
+ }), /* @__PURE__ */ Z(tt, {
5089
5089
  icon: yt,
5090
5090
  size: "md",
5091
5091
  items: [{
@@ -5507,12 +5507,12 @@ var qs = ({ credits: e, employeeCredits: t, trigger: n }) => t ? /* @__PURE__ */
5507
5507
  //#region src/addons/ai/F0AiChatHistory/utils.ts
5508
5508
  function Xs(e) {
5509
5509
  let t = new Date(e), n = /* @__PURE__ */ new Date();
5510
- return Oe(t) ? "today" : qe(t) ? "yesterday" : Jt(t, n) ? "thisMonth" : "older";
5510
+ return Oe(t) ? "today" : Ke(t) ? "yesterday" : Jt(t, n) ? "thisMonth" : "older";
5511
5511
  }
5512
5512
  function Zs(e, t, n) {
5513
5513
  let r = new Date(e), i = en(r, "p", { locale: n });
5514
5514
  if (Oe(r)) return `${t.today}, ${i}`;
5515
- if (qe(r)) return `${t.yesterday}, ${i}`;
5515
+ if (Ke(r)) return `${t.yesterday}, ${i}`;
5516
5516
  let a = !$t(r, /* @__PURE__ */ new Date());
5517
5517
  return `${en(r, a ? "MMM d yyyy" : "MMM d", { locale: n })}, ${i}`;
5518
5518
  }
@@ -5539,7 +5539,7 @@ function Qs(e) {
5539
5539
  function $s({ thread: e, isPinned: n, isActive: r = !1, isPending: o = !1, onSelect: s, onPin: c, onUnpin: d, onDelete: f, className: p }) {
5540
5540
  let m = t(), h = Vt(), g = J(() => [{
5541
5541
  label: n ? m.ai.unpinChat : m.ai.pinChat,
5542
- icon: n ? Fe : Be,
5542
+ icon: n ? Fe : ze,
5543
5543
  onClick: () => n ? d(e.id) : c(e.id)
5544
5544
  }, {
5545
5545
  label: m.ai.deleteChat,
@@ -5601,7 +5601,7 @@ function $s({ thread: e, isPinned: n, isActive: r = !1, isPending: o = !1, onSel
5601
5601
  children: /* @__PURE__ */ Z(Kt, { size: "small" })
5602
5602
  }) : /* @__PURE__ */ Z("div", {
5603
5603
  className: i("hidden items-center", "group-hover:flex group-focus-within:flex", "has-[[aria-expanded=true]]:flex"),
5604
- children: /* @__PURE__ */ Z(nt, {
5604
+ children: /* @__PURE__ */ Z(tt, {
5605
5605
  items: g,
5606
5606
  children: /* @__PURE__ */ Z(l, {
5607
5607
  icon: on,
@@ -5794,7 +5794,7 @@ function sc() {
5794
5794
  return new Set(Array.isArray(e) ? e : []);
5795
5795
  }
5796
5796
  function cc(e) {
5797
- et(oc, [...e]);
5797
+ $e(oc, [...e]);
5798
5798
  }
5799
5799
  function lc({ enabled: e = !1, fetchThreads: t, deleteThread: n, pinThread: r, unpinThread: i }) {
5800
5800
  let [a, o] = X([]), [s, c] = X(!1), [l, u] = X(null), [d, f] = X(sc), [p, m] = X(() => /* @__PURE__ */ new Set()), h = K(async () => {
@@ -1,9 +1,9 @@
1
- import { a as e, r as t } from "./i18n-provider-aZCxX7lT.js";
1
+ import { a as e, r as t } from "./i18n-provider-BniRK15h.js";
2
2
  import { L as n } from "./tooltip-BX4dSfeL.js";
3
- import { t as r } from "./F0Button-xbk-nrvL.js";
4
- import { Cc as i, co as a, ki as o, ms as s } from "./F0CanvasPanel-DxGAla5J.js";
5
- import { o as c } from "./F0Icon-Dr2xuQq2.js";
6
- import { g as l } from "./useData-Af3QuQSP.js";
3
+ import { t as r } from "./F0Button-CxSs_bhW.js";
4
+ import { Cc as i, co as a, ki as o, ms as s } from "./F0CanvasPanel-Dh4gV-qY.js";
5
+ import { o as c } from "./F0Icon-VifF8rpX.js";
6
+ import { g as l } from "./useData-IY6E4kFy.js";
7
7
  import { useRef as u } from "react";
8
8
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
9
9
  //#region src/elements/F0Alert/F0Alert.tsx
@@ -0,0 +1,2 @@
1
+ export { Ai as F0AudioPlayer } from "./F0CanvasPanel-Dh4gV-qY.js";
2
+ import "./f0.js";
@@ -1,8 +1,8 @@
1
1
  import { a as e, n as t, o as n, r, t as i } from "./rolldown-runtime-BItFwnF5.js";
2
- import { a, r as o, u as s } from "./i18n-provider-aZCxX7lT.js";
3
- import { n as c, t as l } from "./skeleton-C5JQM5pK.js";
2
+ import { a, r as o, u as s } from "./i18n-provider-BniRK15h.js";
3
+ import { n as c, t as l } from "./skeleton-DTPG1VHE.js";
4
4
  import { L as u, R as d, i as f, n as p, r as m, t as h } from "./tooltip-BX4dSfeL.js";
5
- import { o as g, t as _ } from "./F0Icon-Dr2xuQq2.js";
5
+ import { o as g, t as _ } from "./F0Icon-VifF8rpX.js";
6
6
  import { t as v } from "./purify.es-ZpfdAuNV.js";
7
7
  import * as y from "react";
8
8
  import b, { Children as x, Component as S, Fragment as C, cloneElement as w, createContext as T, createElement as E, forwardRef as D, isValidElement as O, useCallback as k, useContext as A, useEffect as j, useId as M, useInsertionEffect as N, useLayoutEffect as ee, useMemo as P, useRef as F, useState as I } from "react";