@factorialco/f0-react 7.35.1 → 7.37.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 (30) hide show
  1. package/dist/{ChatPdfThumbnail-CP8J1TgU.js → ChatPdfThumbnail-J_rUFE-m.js} +1 -1
  2. package/dist/{ChatPostComposerDialog-CW6k7zUO.js → ChatPostComposerDialog-DF0gSTfA.js} +3 -3
  3. package/dist/{DocumentToolbar-DRVoTpae.js → DocumentToolbar-BvjptWbC.js} +2 -2
  4. package/dist/{DocxViewer-gChAIutZ.js → DocxViewer-NVagHR1x.js} +2 -2
  5. package/dist/{F0AiProcessingOverlay-BsKOOcJf.js → F0AiProcessingOverlay-rN9DzM28.js} +2648 -2524
  6. package/dist/{F0CanvasPanel-B8GTWbHT.js → F0CanvasPanel-BlJYT_pW.js} +21530 -21415
  7. package/dist/{F0Map-Cg8XuZ1A.js → F0Map-BqHziZ77.js} +4 -4
  8. package/dist/{F0VideoPlayer-o4yCeeor.js → F0VideoPlayer-7TmDgXTT.js} +2 -2
  9. package/dist/{MapProvider-DVrIr6zm.js → MapProvider-BwPbztrL.js} +8656 -8626
  10. package/dist/{SheetViewer-Bj_g_o7k.js → SheetViewer-Br7dSUQX.js} +2 -2
  11. package/dist/{TextViewer-u0RHT2X8.js → TextViewer-J8flQHdz.js} +2 -2
  12. package/dist/ai.d.ts +149 -7
  13. package/dist/ai.js +2 -2
  14. package/dist/component-status.js +1 -1
  15. package/dist/{experimental-i8ZkeQnG.js → experimental-VOPRyPdY.js} +7 -7
  16. package/dist/experimental.d.ts +74 -17
  17. package/dist/experimental.js +58 -58
  18. package/dist/f0.d.ts +155 -7
  19. package/dist/f0.js +10 -10
  20. package/dist/i18n-provider-defaults.d.ts +2 -0
  21. package/dist/i18n-provider-defaults.js +2 -0
  22. package/dist/index-4d26WVNj.js +4 -0
  23. package/dist/{index-afOc7BBN.js → index-Be-5PLy6.js} +3 -3
  24. package/dist/{index-DBv7E55t.js → index-DaYE-J88.js} +2 -2
  25. package/dist/{index-CoR8O7is.js → index-DlNTBsNK.js} +1 -1
  26. package/dist/{index-Dc6gkOtm.js → index-cmmW6PJw.js} +3 -3
  27. package/dist/{pdfWorker-DhZN-GI-.js → pdfWorker-B-WyhGDu.js} +2 -2
  28. package/dist/styles.css +1 -1
  29. package/package.json +1 -1
  30. package/dist/index-CXEDu0Pr.js +0 -4
package/dist/f0.d.ts CHANGED
@@ -462,6 +462,73 @@ declare type AIButton = {
462
462
  editable?: boolean;
463
463
  };
464
464
 
465
+ /**
466
+ * An entry in the composer's attachment menu — see `composerActions` on
467
+ * `F0AiChatTextArea`. Attaching a file is NOT one of these: the composer
468
+ * contributes that entry itself from `fileAttachments`, so a host adding
469
+ * "Connectors" doesn't have to rewire the file picker to keep it.
470
+ */
471
+ export declare type AiChatComposerAction = AiChatComposerActionItem | AiChatComposerActionSubmenu | AiChatComposerActionToggle | AiChatComposerActionSeparator;
472
+
473
+ /** What every composer-menu entry shows, whatever choosing it does. */
474
+ declare type AiChatComposerActionBase = {
475
+ /**
476
+ * Host-side bookkeeping — a key for the host's own list, and what it reads
477
+ * back in analytics. The composer neither renders it nor keys the menu by it.
478
+ */
479
+ id: string;
480
+ label: string;
481
+ icon?: IconType;
482
+ /** A partner's logo, where an f0 icon would be wrong — a connector's mark. */
483
+ avatar?: AvatarVariant;
484
+ /** Short trailing tag beside the label, e.g. "New". Not a sentence. */
485
+ tag?: string;
486
+ /** Secondary line under the label. */
487
+ description?: string;
488
+ disabled?: boolean;
489
+ /**
490
+ * Shown on hover while `disabled` — say why the action is unavailable.
491
+ * HOVER-ONLY: a disabled menu entry is not focusable, so this text never
492
+ * reaches the keyboard or a screen reader. Never put anything here that the
493
+ * label alone doesn't already imply.
494
+ */
495
+ disabledTooltip?: string;
496
+ };
497
+
498
+ /** An entry that DOES something and closes the menu. */
499
+ export declare type AiChatComposerActionItem = AiChatComposerActionBase & {
500
+ type?: "action";
501
+ onClick: () => void;
502
+ };
503
+
504
+ /** A rule between groups of entries. Carries no label and nothing to press. */
505
+ export declare type AiChatComposerActionSeparator = {
506
+ type: "separator";
507
+ };
508
+
509
+ /**
510
+ * An entry that opens a menu of its own beside this one. Use it to keep a long
511
+ * or stateful list one step in — the connectors this chat can reach — instead
512
+ * of unrolling it where the file picker lives.
513
+ */
514
+ export declare type AiChatComposerActionSubmenu = AiChatComposerActionBase & {
515
+ type: "submenu";
516
+ actions: AiChatComposerAction[];
517
+ /** Shown inside the submenu while `actions` is empty, so it never opens bare. */
518
+ emptyLabel?: string;
519
+ };
520
+
521
+ /**
522
+ * An entry you flip rather than press: it carries a switch and the menu STAYS
523
+ * OPEN, so several can be set in one visit. The host owns `checked` — the
524
+ * composer renders what it is told and reports back through `onCheckedChange`.
525
+ */
526
+ export declare type AiChatComposerActionToggle = AiChatComposerActionBase & {
527
+ type: "toggle";
528
+ checked: boolean;
529
+ onCheckedChange: (checked: boolean) => void;
530
+ };
531
+
465
532
  /**
466
533
  * Credits configuration for the AI chat.
467
534
  * Groups all credits-related props into a single object.
@@ -1202,6 +1269,8 @@ export declare const aiTranslations: {
1202
1269
  readonly dismiss: "Dismiss";
1203
1270
  };
1204
1271
  readonly attachFile: "Attach file";
1272
+ readonly addToConversation: "Add to this conversation";
1273
+ readonly addFilesOrPhotos: "Add files or photos";
1205
1274
  readonly recordAudio: "Record audio";
1206
1275
  readonly listening: "Listening…";
1207
1276
  readonly stopRecording: "Stop and transcribe";
@@ -5748,6 +5817,8 @@ export declare const defaultTranslations: {
5748
5817
  readonly dismiss: "Dismiss";
5749
5818
  };
5750
5819
  readonly attachFile: "Attach file";
5820
+ readonly addToConversation: "Add to this conversation";
5821
+ readonly addFilesOrPhotos: "Add files or photos";
5751
5822
  readonly recordAudio: "Record audio";
5752
5823
  readonly listening: "Listening…";
5753
5824
  readonly stopRecording: "Stop and transcribe";
@@ -6818,20 +6889,16 @@ declare type DropdownContentVariant = (typeof dropdownContentVariants)[number];
6818
6889
 
6819
6890
  declare const dropdownContentVariants: readonly ["expanded", "reduced"];
6820
6891
 
6821
- export declare type DropdownItem = DropdownItemObject | DropdownItemSeparator | DropdownItemLabel;
6892
+ export declare type DropdownItem = DropdownItemObject | DropdownItemSeparator | DropdownItemLabel | DropdownItemSubmenu | DropdownItemSwitch;
6822
6893
 
6823
6894
  declare type DropdownItemLabel = {
6824
6895
  type: "label";
6825
6896
  text: string;
6826
6897
  };
6827
6898
 
6828
- declare type DropdownItemObject = Pick<NavigationItem, "label" | "href"> & {
6899
+ declare type DropdownItemObject = Pick<NavigationItem, "label" | "href"> & Omit<DropdownItemVisuals, "label"> & {
6829
6900
  type?: "item";
6830
6901
  onClick?: () => void;
6831
- icon?: IconType;
6832
- description?: string;
6833
- critical?: boolean;
6834
- avatar?: AvatarVariant;
6835
6902
  disabled?: boolean;
6836
6903
  /**
6837
6904
  * Tooltip shown on hover while the item is `disabled` — use it to explain why
@@ -6846,6 +6913,48 @@ declare type DropdownItemSeparator = {
6846
6913
  type: "separator";
6847
6914
  };
6848
6915
 
6916
+ /**
6917
+ * A row that opens a menu of its own beside this one, rather than doing
6918
+ * something. Use it to keep a long list one step in — the connectors a chat can
6919
+ * reach, say — instead of unrolling it into the parent menu.
6920
+ */
6921
+ declare type DropdownItemSubmenu = DropdownItemVisuals & {
6922
+ type: "submenu";
6923
+ items: DropdownItem[];
6924
+ disabled?: boolean;
6925
+ /**
6926
+ * Shown INSIDE the submenu when `items` is empty, so choosing it never opens
6927
+ * an empty panel. Without it an empty submenu renders nothing.
6928
+ */
6929
+ emptyLabel?: string;
6930
+ };
6931
+
6932
+ /**
6933
+ * A row you flip rather than press: it carries a switch, and choosing it keeps
6934
+ * the menu open so several can be set in a row. The item itself is what the
6935
+ * keyboard and the accessibility tree see (`aria-checked`); the switch is drawn
6936
+ * for the eye only.
6937
+ */
6938
+ declare type DropdownItemSwitch = DropdownItemVisuals & {
6939
+ type: "switch";
6940
+ checked: boolean;
6941
+ onCheckedChange: (checked: boolean) => void;
6942
+ disabled?: boolean;
6943
+ /** Tooltip shown on hover while `disabled`, as on `DropdownItemObject`. */
6944
+ disabledTooltip?: string;
6945
+ };
6946
+
6947
+ /** What any row shows, whatever it does when you choose it. */
6948
+ declare type DropdownItemVisuals = {
6949
+ label: string;
6950
+ icon?: IconType;
6951
+ description?: string;
6952
+ avatar?: AvatarVariant;
6953
+ /** Short trailing tag beside the label, e.g. "New". Not a sentence. */
6954
+ tag?: string;
6955
+ critical?: boolean;
6956
+ };
6957
+
6849
6958
  declare type DropdownMultiQuestionProps = BaseQuestionPropsForOtherQuestionComponents & {
6850
6959
  type: "dropdown-multi";
6851
6960
  datasetKey: string;
@@ -7611,7 +7720,7 @@ export declare const F0AiChatProvider: ({ enabled, side, panelContentSide, initi
7611
7720
  * coupling to `useAiChat()` or CopilotKit — wrappers like F0AiChat
7612
7721
  * provide the wiring.
7613
7722
  */
7614
- export declare const F0AiChatTextArea: ({ onSubmit, onStop, inProgress, onBeforeSubmit, placeholders, creditWarning, clarifyingUI, pendingContext, onPendingContextChange, pendingQuote, onPendingQuoteChange, fileAttachments, toolbarStart, onTranscribe, searchPersons, mentionSources, onProcessFilesRef, disclaimer, usageLimits, footer, isWelcomeScreen, fullscreen, welcomeScreenSuggestions, onSuggestionClick, welcomeScreenSuggestionsPlacement, welcomeScreenSuggestionsCollapsedByDefault, welcomeScreenCards, padding, ref, }: F0AiChatTextAreaProps) => JSX_2.Element;
7723
+ export declare const F0AiChatTextArea: ({ onSubmit, onStop, inProgress, onBeforeSubmit, placeholders, creditWarning, clarifyingUI, pendingContext, onPendingContextChange, pendingQuote, onPendingQuoteChange, fileAttachments, toolbarStart, composerActions, onComposerActionsOpenChange, onTranscribe, searchPersons, mentionSources, onProcessFilesRef, disclaimer, usageLimits, footer, isWelcomeScreen, fullscreen, welcomeScreenSuggestions, onSuggestionClick, welcomeScreenSuggestionsPlacement, welcomeScreenSuggestionsCollapsedByDefault, welcomeScreenCards, padding, ref, }: F0AiChatTextAreaProps) => JSX_2.Element;
7615
7724
 
7616
7725
  export declare type F0AiChatTextAreaProps = {
7617
7726
  ref: RefObject<HTMLDivElement>;
@@ -7649,6 +7758,39 @@ export declare type F0AiChatTextAreaProps = {
7649
7758
  onPendingQuoteChange?: (quote: PendingQuote | null) => void;
7650
7759
  /** File attachment configuration. When omitted, attachments are disabled. */
7651
7760
  fileAttachments?: AiChatFileAttachmentConfig;
7761
+ /**
7762
+ * Extra actions offered where the attachment control sits.
7763
+ *
7764
+ * Omitted or empty — the default — leaves the paperclip exactly as it is: one
7765
+ * button that opens the file picker. With at least one action the paperclip
7766
+ * becomes a `+` that opens a menu, and attaching a file becomes the FIRST
7767
+ * entry in it rather than disappearing. The composer contributes that entry
7768
+ * from `fileAttachments`, so a host adding "Connectors" doesn't have to
7769
+ * rewire the file picker to keep it.
7770
+ *
7771
+ * Without `fileAttachments` the menu holds only these actions and no file
7772
+ * entry, which is how a host offers "add context" on a composer that takes
7773
+ * no uploads.
7774
+ *
7775
+ * Reaching `maxFiles` disables the file entry alone — the host's actions have
7776
+ * nothing to do with the file count and stay live. Transcribing disables the
7777
+ * whole trigger, as it does the paperclip today.
7778
+ */
7779
+ composerActions?: AiChatComposerAction[];
7780
+ /**
7781
+ * Told when the `+` menu opens and when it closes.
7782
+ *
7783
+ * There for hosts whose entries cost something to produce: a list that has to
7784
+ * be fetched can stay unfetched until the menu is actually opened, instead of
7785
+ * loading on every composer that might never be opened at all. Fires only
7786
+ * where there IS a menu — with no `composerActions` the control is the plain
7787
+ * paperclip and there is nothing to open.
7788
+ *
7789
+ * It reports the ROOT menu, not a submenu: on a phone a submenu flattens into
7790
+ * the same sheet, so there is no second moment to report and a host that
7791
+ * loaded on this one has its entries ready either way.
7792
+ */
7793
+ onComposerActionsOpenChange?: (open: boolean) => void;
7652
7794
  /**
7653
7795
  * Host-owned compact controls rendered after the attachment action in the
7654
7796
  * normal action row. Controls render inside the chat form, so buttons must
@@ -15696,6 +15838,11 @@ export declare type GroupingDefinition<R extends RecordType> = {
15696
15838
  label: (groupId: RecordPathValue<R, K>, filters: FiltersState<FiltersDefinition>) => string | Promise<string>;
15697
15839
  defaultDirection?: SortOrder;
15698
15840
  itemCount?: (groupId: RecordPathValue<R, K>, filters: FiltersState<FiltersDefinition>) => number | undefined | Promise<number | undefined>;
15841
+ /**
15842
+ * Shown at the end of the group's row, like `itemActions`. Only the table
15843
+ * visualizations render them, on first-level groups.
15844
+ */
15845
+ actions?: (groupId: RecordPathValue<R, K>, filters: FiltersState<FiltersDefinition>) => ActionDefinition[] | undefined;
15699
15846
  };
15700
15847
  };
15701
15848
  } & ({
@@ -15745,6 +15892,7 @@ export declare type GroupRecord<RecordType> = {
15745
15892
  key: string;
15746
15893
  label: string | Promise<string>;
15747
15894
  itemCount: number | undefined | Promise<number | undefined>;
15895
+ actions?: ActionDefinition[];
15748
15896
  records: RecordType[];
15749
15897
  /**
15750
15898
  * The next grouping level cut out of `records`, present only when the
package/dist/f0.js CHANGED
@@ -1,19 +1,19 @@
1
- import { iy as DI, B as vt, eu as vx, cQ as Hn, hN as AI, gf as Z5, ab as Va, fL as j5, iz as K5, iA as MI, E as sr, cC as If, iB as RS, iC as Rr, iD as no, iE as Q5, iF as Mi, u as Be, ad as Ep, iG as nu, iH as J5, iI as EI, co as yl, hJ as T0, iJ as eG, S as ae, G as px, iK as tG, iL as rG, iM as OS, cV as nG, iN as iG, iO as aG, iP as LI, iQ as oG, H as Pf, J as kf, y as lt, K as Rf, L as qr, $ as sG, a0 as lG, M as Il, N as Pl, aY as Fa, Q as kl, gV as D0, dR as Ft, v as ut, aG as Rl, ea as Ga, dk as gx, iR as uG, s as cG, t as BS, z as NI, w as Ol, aa as II, x as fG, e$ as tv, eq as PI, iS as dG, hM as zS, de as hG, iT as VS, a4 as vG, iU as pG, ct as kI, em as RI, gF as A0, hf as iu, hg as Of, hU as gG, gD as OI, r as mG, av as M0, au as mx, hi as BI, o as yG, gB as bG, iV as Lp, bx as yx, hw as _G, cA as zI, gn as xG, aV as wG, it as bx, bA as VI, cw as SG, cx as CG, cy as TG, d as DG, c6 as FI, aI as ps, cb as GI, bw as HI, aE as _x, cd as WI, a7 as xx, U as bl, V as _l, X as xl, Y as wl, gW as Fi, an as $I, j as AG, W as zr, eL as MG, bu as rv, aS as Bl, cn as Sx, by as E0, cN as Yc, cK as EG, bj as Bf, ai as au, aH as UI, dI as YI, dv as XI, hq as Wr, iW as LG, iX as NG, iY as IG, iZ as Cx, i_ as PG, i$ as kG, a3 as si, a1 as qI, a2 as ZI, m as RG, j0 as OG, cD as jI, ek as BG, el as zG, ck as Sl, dh as ou, ex as su, fm as zf, ce as VG, ev as FG, bY as GG, aK as KI, a9 as QI, aJ as HG, bo as FS, ca as Xc, hS as WG, be as $G, j1 as UG, j2 as YG, j3 as XG, b as JI, df as e2, cJ as qG, br as ZG, l as t2, aw as jG, at as KG, j4 as QG, j5 as JG, j6 as eH, hR as tH, af as r2, j7 as rH, cv as nH, d4 as iH, j8 as n2, j9 as aH, ja as oH, I as sH, jb as lH, jc as uH, jd as cH, je as fH } from "./F0CanvasPanel-B8GTWbHT.js";
2
- import { jw as dme, C as hme, D as vme, dC as pme, c as gme, F as mme, a as yme, jo as bme, f as _me, cT as xme, dD as wme, ez as Sme, cE as Cme, cF as Tme, q as Dme, cB as Ame, cS as Mme, dq as Eme, eH as Lme, g as Nme, cz as Ime, cp as Pme, jj as kme, jC as Rme, cm as Ome, e as Bme, es as zme, k as Vme, jq as Fme, cU as Gme, jr as Hme, dO as Wme, js as $me, ju as Ume, jv as Yme, f2 as Xme, jy as qme, jz as Zme, eX as jme, eY as Kme, P as Qme, f0 as Jme, jt as eye, eZ as tye, jx as rye, jD as nye, jg as iye, jh as aye, ji as oye, jf as sye, e_ as lye, jB as uye, jp as cye, jm as fye, jl as dye, f1 as hye, gR as vye, hD as pye, jA as gye, dF as mye, eW as yye, eT as bye, eV as _ye, eR as xye, jn as wye, hy as Sye, ht as Cye, hj as Tye, jG as Dye, eD as Aye, eU as Mye, jF as Eye, eg as Lye, eS as Nye, cH as Iye, gQ as Pye, hk as kye, ej as Rye, hT as Oye, dE as Bye, cI as zye, jk as Vye, hv as Fye, hu as Gye, jE as Hye } from "./F0CanvasPanel-B8GTWbHT.js";
1
+ import { iy as DI, B as vt, eu as vx, cQ as Hn, hN as AI, gf as Z5, ab as Va, fL as j5, iz as K5, iA as MI, E as sr, ck as If, iB as RS, iC as Rr, iD as no, iE as Q5, iF as Mi, u as Be, ad as Ep, iG as nu, iH as J5, iI as EI, cp as yl, hJ as T0, iJ as eG, S as ae, G as px, iK as tG, iL as rG, iM as OS, cV as nG, iN as iG, iO as aG, iP as LI, iQ as oG, H as Pf, J as kf, y as lt, K as Rf, L as qr, $ as sG, a0 as lG, M as Il, N as Pl, aY as Fa, Q as kl, gV as D0, dR as Ft, v as ut, aG as Rl, ea as Ga, dk as gx, iR as uG, s as cG, t as BS, z as NI, w as Ol, aa as II, x as fG, e$ as tv, eq as PI, iS as dG, hM as zS, de as hG, iT as VS, a4 as vG, iU as pG, cu as kI, em as RI, gF as A0, hf as iu, hg as Of, hU as gG, gD as OI, r as mG, av as M0, au as mx, hi as BI, o as yG, gB as bG, iV as Lp, bx as yx, hw as _G, cB as zI, gn as xG, aV as wG, it as bx, bA as VI, cx as SG, cy as CG, cz as TG, d as DG, c6 as FI, aI as ps, cb as GI, bw as HI, aE as _x, cd as WI, a7 as xx, U as bl, V as _l, X as xl, Y as wl, gW as Fi, an as $I, j as AG, W as zr, eL as MG, bu as rv, aS as Bl, co as Sx, by as E0, cN as Yc, cK as EG, bj as Bf, ai as au, aH as UI, dI as YI, dv as XI, hq as Wr, iW as LG, iX as NG, iY as IG, iZ as Cx, i_ as PG, i$ as kG, a3 as si, a1 as qI, a2 as ZI, m as RG, j0 as OG, cD as jI, ek as BG, el as zG, cl as Sl, dh as ou, ex as su, fm as zf, ce as VG, ev as FG, bY as GG, aK as KI, a9 as QI, aJ as HG, bo as FS, ca as Xc, hS as WG, be as $G, j1 as UG, j2 as YG, j3 as XG, b as JI, df as e2, cJ as qG, br as ZG, l as t2, aw as jG, at as KG, j4 as QG, j5 as JG, j6 as eH, hR as tH, af as r2, j7 as rH, cw as nH, d4 as iH, j8 as n2, j9 as aH, ja as oH, I as sH, jb as lH, jc as uH, jd as cH, je as fH } from "./F0CanvasPanel-BlJYT_pW.js";
2
+ import { jw as dme, C as hme, D as vme, dC as pme, c as gme, F as mme, a as yme, jo as bme, f as _me, cT as xme, dD as wme, ez as Sme, cE as Cme, cF as Tme, q as Dme, cC as Ame, cS as Mme, dq as Eme, eH as Lme, g as Nme, cA as Ime, cq as Pme, jj as kme, jC as Rme, cn as Ome, e as Bme, es as zme, k as Vme, jq as Fme, cU as Gme, jr as Hme, dO as Wme, js as $me, ju as Ume, jv as Yme, f2 as Xme, jy as qme, jz as Zme, eX as jme, eY as Kme, P as Qme, f0 as Jme, jt as eye, eZ as tye, jx as rye, jD as nye, jg as iye, jh as aye, ji as oye, jf as sye, e_ as lye, jB as uye, jp as cye, jm as fye, jl as dye, f1 as hye, gR as vye, hD as pye, jA as gye, dF as mye, eW as yye, eT as bye, eV as _ye, eR as xye, jn as wye, hy as Sye, ht as Cye, hj as Tye, jG as Dye, eD as Aye, eU as Mye, jF as Eye, eg as Lye, eS as Nye, cH as Iye, gQ as Pye, hk as kye, ej as Rye, hT as Oye, dE as Bye, cI as zye, jk as Vye, hv as Fye, hu as Gye, jE as Hye } from "./F0CanvasPanel-BlJYT_pW.js";
3
3
  import { jsx as x, jsxs as B, Fragment as nt } from "react/jsx-runtime";
4
- import { s as dH, W as hH, a1 as vH, a2 as pH, a3 as gH, a4 as GS, b8 as mH, b9 as yH, ab as bH, a5 as _H, a7 as xH, a9 as wH, aa as SH, G as CH, a as qc, ag as i2, ba as TH, bb as DH, bc as AH, bd as MH, be as EH, bf as a2, bg as LH, n as Tx, bh as io, bi as Ls, bj as o2, bk as NH, bl as IH, bm as PH, bn as kH, bo as RH, bp as OH, $ as Dx, bq as Ax, at as BH, br as zH, bs as VH, bt as FH, bu as GH, aK as HH, aZ as WH, bv as $H, aD as UH, E as YH, h as XH, v as Np, R as Mx, w as Ex, aI as s2, O as Lx, bw as l2, bx as HS, U as Nx, ah as qH, by as L0, I as ZH, x as u2, aO as c2, bz as jH, bA as KH, bB as QH, bC as JH, bD as e3, p as t3, bE as Ng, bF as r3, bG as n3, bH as i3, a_ as a3, bI as o3, M as s3 } from "./MapProvider-DVrIr6zm.js";
5
- import { aj as $ye, ak as Uye, au as Yye, al as Xye, aq as qye, c4 as Zye, c3 as jye, bY as Kye, bL as Qye, bJ as Jye, bK as e0e, bM as t0e, bN as r0e, bP as n0e, a0 as i0e, b0 as a0e, a$ as o0e, aE as s0e, F as l0e, aG as u0e, aH as c0e, aB as f0e, az as d0e, b4 as h0e, bT as v0e, aA as p0e, am as g0e, c5 as m0e, b1 as y0e, b2 as b0e, aC as _0e, an as x0e, t as w0e, ap as S0e, ar as C0e, b3 as T0e, aF as D0e, b5 as A0e, ao as M0e, as as E0e, c7 as L0e, af as N0e, ad as I0e, ae as P0e, bX as k0e, c1 as R0e, c1 as O0e, c2 as B0e, bS as z0e, bR as V0e, c6 as F0e, aX as G0e, bV as H0e, bW as W0e, ay as $0e, ax as U0e, c8 as Y0e, c9 as X0e, D as q0e, y as Z0e, bZ as j0e, b_ as K0e, b$ as Q0e, bO as J0e, bU as ebe, z as tbe, c0 as rbe, bQ as nbe, ca as ibe } from "./MapProvider-DVrIr6zm.js";
4
+ import { s as dH, W as hH, a1 as vH, a2 as pH, a3 as gH, a4 as GS, b8 as mH, b9 as yH, ab as bH, a5 as _H, a7 as xH, a9 as wH, aa as SH, G as CH, a as qc, ag as i2, ba as TH, bb as DH, bc as AH, bd as MH, be as EH, bf as a2, bg as LH, n as Tx, bh as io, bi as Ls, bj as o2, bk as NH, bl as IH, bm as PH, bn as kH, bo as RH, bp as OH, $ as Dx, bq as Ax, at as BH, br as zH, bs as VH, bt as FH, bu as GH, aK as HH, aZ as WH, bv as $H, aD as UH, E as YH, h as XH, v as Np, R as Mx, w as Ex, aI as s2, O as Lx, bw as l2, bx as HS, U as Nx, ah as qH, by as L0, I as ZH, x as u2, aO as c2, bz as jH, bA as KH, bB as QH, bC as JH, bD as e3, p as t3, bE as Ng, bF as r3, bG as n3, bH as i3, a_ as a3, bI as o3, M as s3 } from "./MapProvider-BwPbztrL.js";
5
+ import { aj as $ye, ak as Uye, au as Yye, al as Xye, aq as qye, c4 as Zye, c3 as jye, bY as Kye, bL as Qye, bJ as Jye, bK as e0e, bM as t0e, bN as r0e, bP as n0e, a0 as i0e, b0 as a0e, a$ as o0e, aE as s0e, F as l0e, aG as u0e, aH as c0e, aB as f0e, az as d0e, b4 as h0e, bT as v0e, aA as p0e, am as g0e, c5 as m0e, b1 as y0e, b2 as b0e, aC as _0e, an as x0e, t as w0e, ap as S0e, ar as C0e, b3 as T0e, aF as D0e, b5 as A0e, ao as M0e, as as E0e, c7 as L0e, af as N0e, ad as I0e, ae as P0e, bX as k0e, c1 as R0e, c1 as O0e, c2 as B0e, bS as z0e, bR as V0e, c6 as F0e, aX as G0e, bV as H0e, bW as W0e, ay as $0e, ax as U0e, c8 as Y0e, c9 as X0e, D as q0e, y as Z0e, bZ as j0e, b_ as K0e, b$ as Q0e, bO as J0e, bU as ebe, z as tbe, c0 as rbe, bQ as nbe, ca as ibe } from "./MapProvider-BwPbztrL.js";
6
6
  import * as pe from "react";
7
7
  import l3, { forwardRef as Pr, useRef as ce, useImperativeHandle as f2, Children as nv, createContext as na, useContext as ia, useState as de, useMemo as be, useEffect as we, useCallback as he, useLayoutEffect as zl, isValidElement as d2, Fragment as lu, memo as Ix, useSyncExternalStore as Zc, useId as Cl, createElement as WS } from "react";
8
8
  import * as Px from "react-dom";
9
9
  import { createPortal as Vf } from "react-dom";
10
10
  import { d as ie, u as Ff, h as u3, i as cl, j as Gf, g as uu, k as c3, f as _n } from "./tooltip-CrXp1Uaz.js";
11
- import { l as N0, c as h2, d as iv, r as I0 } from "./F0VideoPlayer-o4yCeeor.js";
12
- import { F as obe } from "./F0VideoPlayer-o4yCeeor.js";
13
- import { F as lbe, p as ube } from "./index-Dc6gkOtm.js";
14
- import { c as fbe } from "./pdfWorker-DhZN-GI-.js";
15
- import { H as f3, I as av, J as kx, K as v2, L as d3, M as h3, N as v3, O as p3, P as g3, F as m3 } from "./F0AiProcessingOverlay-BsKOOcJf.js";
16
- import { A as hbe, C as vbe, t as pbe, s as gbe, v as mbe, y as ybe, B as bbe, l as _be, i as xbe, q as wbe, E as Sbe, G as Cbe, p as Tbe, r as Dbe, j as Abe, e as Mbe, g as Ebe, k as Lbe, T as Nbe, w as Ibe, h as Pbe, a as kbe, n as Rbe, z as Obe, m as Bbe, o as zbe, D as Vbe, b as Fbe, f as Gbe, x as Hbe, c as Wbe, d as $be, u as Ube } from "./F0AiProcessingOverlay-BsKOOcJf.js";
11
+ import { l as N0, c as h2, d as iv, r as I0 } from "./F0VideoPlayer-7TmDgXTT.js";
12
+ import { F as obe } from "./F0VideoPlayer-7TmDgXTT.js";
13
+ import { F as lbe, p as ube } from "./index-cmmW6PJw.js";
14
+ import { c as fbe } from "./pdfWorker-B-WyhGDu.js";
15
+ import { H as f3, I as av, J as kx, K as v2, L as d3, M as h3, N as v3, O as p3, P as g3, F as m3 } from "./F0AiProcessingOverlay-rN9DzM28.js";
16
+ import { A as hbe, C as vbe, t as pbe, s as gbe, v as mbe, y as ybe, B as bbe, l as _be, i as xbe, q as wbe, E as Sbe, G as Cbe, p as Tbe, r as Dbe, j as Abe, e as Mbe, g as Ebe, k as Lbe, T as Nbe, w as Ibe, h as Pbe, a as kbe, n as Rbe, z as Obe, m as Bbe, o as zbe, D as Vbe, b as Fbe, f as Gbe, x as Hbe, c as Wbe, d as $be, u as Ube } from "./F0AiProcessingOverlay-rN9DzM28.js";
17
17
  import { utils as Tl, write as p2 } from "./xlsx-CzlURDDb.js";
18
18
  import { defaultTranslations as Xbe } from "./i18n-provider-defaults.js";
19
19
  import './f0.css';const y3 = {
@@ -773,6 +773,8 @@ export declare const defaultTranslations: {
773
773
  readonly dismiss: "Dismiss";
774
774
  };
775
775
  readonly attachFile: "Attach file";
776
+ readonly addToConversation: "Add to this conversation";
777
+ readonly addFilesOrPhotos: "Add files or photos";
776
778
  readonly recordAudio: "Record audio";
777
779
  readonly listening: "Listening…";
778
780
  readonly stopRecording: "Stop and transcribe";
@@ -773,6 +773,8 @@ const e = {
773
773
  dismiss: "Dismiss"
774
774
  },
775
775
  attachFile: "Attach file",
776
+ addToConversation: "Add to this conversation",
777
+ addFilesOrPhotos: "Add files or photos",
776
778
  recordAudio: "Record audio",
777
779
  listening: "Listening…",
778
780
  stopRecording: "Stop and transcribe",
@@ -0,0 +1,4 @@
1
+ import { F as r } from "./F0VideoPlayer-7TmDgXTT.js";
2
+ export {
3
+ r as F0VideoPlayer
4
+ };
@@ -1,9 +1,9 @@
1
1
  import { jsxs as k, jsx as o, Fragment as rn } from "react/jsx-runtime";
2
2
  import { useRef as p, useEffect as v, useMemo as M, useCallback as A, useState as w } from "react";
3
- import { o as En, q as Fn, r as ln, s as Tn, t as Dn, v as Pn, w as Bn, x as Ln, u as sn } from "./F0CanvasPanel-B8GTWbHT.js";
3
+ import { o as En, q as Fn, r as ln, s as Tn, t as Dn, v as Pn, w as Bn, x as Ln, u as sn } from "./F0CanvasPanel-BlJYT_pW.js";
4
4
  import { d as L, f as on, u as In } from "./tooltip-CrXp1Uaz.js";
5
- import { a as cn, u as Qn, S as jn } from "./MapProvider-DVrIr6zm.js";
6
- import { a as Kn, b as Un, R as tn } from "./F0Map-Cg8XuZ1A.js";
5
+ import { a as cn, u as Qn, S as jn } from "./MapProvider-BwPbztrL.js";
6
+ import { a as Kn, b as Un, R as tn } from "./F0Map-BqHziZ77.js";
7
7
  const R = 3, _n = ({
8
8
  title: e,
9
9
  count: t,