@factorialco/f0-react 13.2.1 → 13.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ArchiveThumbnail-BGWiJFfA.js → ArchiveThumbnail-DE-7sJWg.js} +7 -7
- package/dist/{ArchiveViewer-gaakCGJ3.js → ArchiveViewer-BWwxiUPk.js} +5 -5
- package/dist/{ChatPostComposerDialog-GQrKR74F.js → ChatPostComposerDialog-VndTGrCJ.js} +3 -3
- package/dist/{CoachmarkProvider-Bdo8Y_D0.js → CoachmarkProvider-CO8N8XkM.js} +20534 -20534
- package/dist/{CodeThumbnail-Bm_GaLxm.js → CodeThumbnail-CWpheiRo.js} +1 -1
- package/dist/{CodeViewer-Ia0NwKX_.js → CodeViewer-C4nK3eTH.js} +8 -8
- package/dist/{DocumentToolbar-D4KElA1V.js → DocumentToolbar-Bcq9vnMb.js} +5 -5
- package/dist/{DocxViewer-C6otSnj3.js → DocxViewer-BiiQxtjC.js} +3 -3
- package/dist/{F0AiProcessingOverlay-DMkI1tRu.js → F0AiProcessingOverlay-B_1oa6l9.js} +1949 -1729
- package/dist/{F0Alert-D664MgOC.js → F0Alert-dtsA7_Bi.js} +15 -15
- package/dist/F0AudioPlayer-DAHaRMfe.js +2 -0
- package/dist/{F0Button-Bo-Zw0Zx.js → F0Button-BOJbiGlH.js} +3 -3
- package/dist/{F0CanvasPanel-BWbAs38E.js → F0CanvasPanel-H836Fmqi.js} +8872 -9040
- package/dist/{F0DocumentViewer-D8VcE-pQ.js → F0DocumentViewer-C0yioq_b.js} +4 -4
- package/dist/{F0DocumentViewer-DGk2W39u.js → F0DocumentViewer-Dx5L4P14.js} +1 -1
- package/dist/{F0Icon-P9uOVsGz.js → F0Icon-BSVFNf1Y.js} +1 -1
- package/dist/{F0Map-C510FLet.js → F0Map-ClVEqAjb.js} +47 -47
- package/dist/{F0Select-CzWp91j0.js → F0Select-DtUpCyWB.js} +8 -8
- package/dist/{F0Text-BG36S9Xx.js → F0Text-Dg8LDCbh.js} +2 -2
- package/dist/{F0VideoPlayer-C_fMkaxj.js → F0VideoPlayer-C2RAQ75Q.js} +19 -19
- package/dist/F0VideoPlayer-igQASWco.js +1 -0
- package/dist/{HtmlThumbnail-BiphE7Y5.js → HtmlThumbnail-CIErVI_5.js} +1 -1
- package/dist/{HtmlViewer-DZHyuKz5.js → HtmlViewer-Dyk69a7g.js} +9 -9
- package/dist/{LayoutGroup-DLtALSqH.js → LayoutGroup-DHQLU3Qz.js} +1 -1
- package/dist/{Map-YloQD9VT.js → Map-fdzmV-FZ.js} +13 -13
- package/dist/{PdfThumbnail-9X44csq5.js → PdfThumbnail-CEu-goqa.js} +1 -1
- package/dist/{PdfViewer-DtdRvpvP.js → PdfViewer-BqLpoTH9.js} +10 -10
- package/dist/{SandboxedHtmlFrame-DeAt348C.js → SandboxedHtmlFrame-qI98ZJP_.js} +2 -2
- package/dist/{SheetViewer-_iq4uwXW.js → SheetViewer-DiG8X0Dw.js} +5 -5
- package/dist/{TextViewer-C7xx-4YQ.js → TextViewer-B0wNAnm7.js} +4 -4
- package/dist/ai.d.ts +3 -3
- package/dist/ai.js +5 -5
- package/dist/component-status.js +29 -7
- package/dist/{dist-Ol7JA7z9.js → dist-Ck4g55y_.js} +1 -1
- package/dist/{dist-C_W2CLtJ.js → dist-CmM3ft9W.js} +4 -4
- package/dist/{dist-Do5FlVaY.js → dist-Sh1ldC1s.js} +1 -1
- package/dist/experimental.d.ts +225 -8
- package/dist/experimental.js +7545 -5986
- package/dist/{exports-CebiqGLM.d.ts → exports-BKfAhNhL.d.ts} +7 -255
- package/dist/f0.d.ts +4 -4
- package/dist/f0.js +773 -773
- package/dist/{highlight-izD68Eru.js → highlight-B4Cl_jjy.js} +1 -1
- package/dist/{i18n-provider-C_PTccYX.js → i18n-provider-B5wHRgHI.js} +1 -1
- package/dist/{i18n-provider-defaults-DD3oVvPp.d.ts → i18n-provider-defaults-BwofiXzd.d.ts} +31 -0
- package/dist/{i18n-provider-defaults-JkDaKXzI.js → i18n-provider-defaults-baET2H4E.js} +31 -0
- package/dist/i18n-provider-defaults.d.ts +1 -1
- package/dist/i18n-provider-defaults.js +1 -1
- package/dist/{index-CpTdsnxc.d.ts → index-C7jlLoz3.d.ts} +438 -3
- package/dist/{maplibre-CHP-aU_V.js → maplibre-_-bgBeh8.js} +1 -1
- package/dist/{pdfWorker-kyGjjW4X.js → pdfWorker-Cg2FuDv6.js} +1 -1
- package/dist/{popover-DhWTWc7-.js → popover-8eEX9DAq.js} +1 -1
- package/dist/{scrollarea-pyluD6aV.js → scrollarea-BmNp-nfD.js} +3 -3
- package/dist/{skeleton-CyLv1Ytt.js → skeleton-BhWTSy4e.js} +1 -1
- package/dist/styles.css +1 -1
- package/dist/{toolbarStyles-stzlyka-.js → toolbarStyles-BbcgWVlR.js} +1 -1
- package/dist/{types-ei71RXBT.d.ts → types-tvV1FcU2.d.ts} +2 -2
- package/dist/{useData-BmoyjoRL.js → useData-DjZGrAz5.js} +6 -6
- package/package.json +1 -1
- package/dist/F0AudioPlayer-CgoLw3-_.js +0 -2
- package/dist/F0VideoPlayer-BDUW3ILk.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Qt as e, Ut as t, Zt as n } from "./F0CanvasPanel-H836Fmqi.js";
|
|
2
2
|
import { t as r } from "./purify.es-ZpfdAuNV.js";
|
|
3
3
|
import { t as i } from "./ownValue-D4uSXt0d.js";
|
|
4
4
|
//#region src/addons/documents/lib/codeLanguages.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./i18n-provider-defaults-
|
|
1
|
+
import { t as e } from "./i18n-provider-defaults-baET2H4E.js";
|
|
2
2
|
import { createContext as t, forwardRef as n, memo as r, useContext as i, useEffect as a, useMemo as o, useState as s } from "react";
|
|
3
3
|
import { jsx as c } from "react/jsx-runtime";
|
|
4
4
|
//#region src/elements/providers/user-platafform/user-platform.ts
|
|
@@ -908,6 +908,34 @@ declare const defaultTranslations: {
|
|
|
908
908
|
readonly seeAllInGroup: "See all in {{group}}, {{count}} more";
|
|
909
909
|
readonly seeLess: "See less";
|
|
910
910
|
readonly seeLessInGroup: "See less in {{group}}";
|
|
911
|
+
readonly search: {
|
|
912
|
+
readonly chats: "Chats";
|
|
913
|
+
readonly sectionLoading: "Loading results";
|
|
914
|
+
readonly sectionError: "Couldn't load results";
|
|
915
|
+
};
|
|
916
|
+
readonly organize: {
|
|
917
|
+
readonly chatMenu: "Chat options";
|
|
918
|
+
readonly sectionMenu: "Section options";
|
|
919
|
+
readonly moveTo: "Move to…";
|
|
920
|
+
readonly moveToEmpty: "No sections yet";
|
|
921
|
+
readonly newSection: "New section…";
|
|
922
|
+
readonly removeFrom: "Remove from {{section}}";
|
|
923
|
+
readonly moveSectionUp: "Move section up";
|
|
924
|
+
readonly moveSectionDown: "Move section down";
|
|
925
|
+
readonly rename: "Rename";
|
|
926
|
+
readonly dropHere: "Drag chats here";
|
|
927
|
+
readonly dropInto: "Move to {{section}}";
|
|
928
|
+
readonly createTitle: "New section";
|
|
929
|
+
readonly renameTitle: "Rename section";
|
|
930
|
+
readonly nameLabel: "Name";
|
|
931
|
+
readonly namePlaceholder: "e.g. Projects";
|
|
932
|
+
readonly create: "Create";
|
|
933
|
+
readonly movedTo: "{{chat}} moved to {{section}}";
|
|
934
|
+
readonly sectionMoved: "{{section}} moved";
|
|
935
|
+
readonly sectionCreated: "{{section}} created";
|
|
936
|
+
readonly sectionRenamed: "Section renamed to {{section}}";
|
|
937
|
+
readonly removedFrom: "{{chat}} removed from {{section}}";
|
|
938
|
+
};
|
|
911
939
|
readonly forward: "Forward";
|
|
912
940
|
readonly forwardTo: "Forward to…";
|
|
913
941
|
readonly forwarded: "Forwarded";
|
|
@@ -938,6 +966,9 @@ declare const defaultTranslations: {
|
|
|
938
966
|
readonly voiceNote: "Voice note";
|
|
939
967
|
readonly sendVoiceNote: "Send voice note";
|
|
940
968
|
readonly sendingVoiceNote: "Sending voice note…";
|
|
969
|
+
readonly queueMessage: "Send when the response ends";
|
|
970
|
+
readonly queuedMessage: "Sends when the response ends";
|
|
971
|
+
readonly removeQueuedMessage: "Remove queued message";
|
|
941
972
|
readonly sending: "Sending…";
|
|
942
973
|
readonly notSent: "Not sent";
|
|
943
974
|
readonly retry: "Retry";
|
|
@@ -877,6 +877,34 @@ var e = {
|
|
|
877
877
|
seeAllInGroup: "See all in {{group}}, {{count}} more",
|
|
878
878
|
seeLess: "See less",
|
|
879
879
|
seeLessInGroup: "See less in {{group}}",
|
|
880
|
+
search: {
|
|
881
|
+
chats: "Chats",
|
|
882
|
+
sectionLoading: "Loading results",
|
|
883
|
+
sectionError: "Couldn't load results"
|
|
884
|
+
},
|
|
885
|
+
organize: {
|
|
886
|
+
chatMenu: "Chat options",
|
|
887
|
+
sectionMenu: "Section options",
|
|
888
|
+
moveTo: "Move to…",
|
|
889
|
+
moveToEmpty: "No sections yet",
|
|
890
|
+
newSection: "New section…",
|
|
891
|
+
removeFrom: "Remove from {{section}}",
|
|
892
|
+
moveSectionUp: "Move section up",
|
|
893
|
+
moveSectionDown: "Move section down",
|
|
894
|
+
rename: "Rename",
|
|
895
|
+
dropHere: "Drag chats here",
|
|
896
|
+
dropInto: "Move to {{section}}",
|
|
897
|
+
createTitle: "New section",
|
|
898
|
+
renameTitle: "Rename section",
|
|
899
|
+
nameLabel: "Name",
|
|
900
|
+
namePlaceholder: "e.g. Projects",
|
|
901
|
+
create: "Create",
|
|
902
|
+
movedTo: "{{chat}} moved to {{section}}",
|
|
903
|
+
sectionMoved: "{{section}} moved",
|
|
904
|
+
sectionCreated: "{{section}} created",
|
|
905
|
+
sectionRenamed: "Section renamed to {{section}}",
|
|
906
|
+
removedFrom: "{{chat}} removed from {{section}}"
|
|
907
|
+
},
|
|
880
908
|
forward: "Forward",
|
|
881
909
|
forwardTo: "Forward to…",
|
|
882
910
|
forwarded: "Forwarded",
|
|
@@ -907,6 +935,9 @@ var e = {
|
|
|
907
935
|
voiceNote: "Voice note",
|
|
908
936
|
sendVoiceNote: "Send voice note",
|
|
909
937
|
sendingVoiceNote: "Sending voice note…",
|
|
938
|
+
queueMessage: "Send when the response ends",
|
|
939
|
+
queuedMessage: "Sends when the response ends",
|
|
940
|
+
removeQueuedMessage: "Remove queued message",
|
|
910
941
|
sending: "Sending…",
|
|
911
942
|
notSent: "Not sent",
|
|
912
943
|
retry: "Retry",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as TranslationsType, r as defaultTranslations, t as TranslationKey } from "./i18n-provider-defaults-
|
|
1
|
+
import { n as TranslationsType, r as defaultTranslations, t as TranslationKey } from "./i18n-provider-defaults-BwofiXzd.js";
|
|
2
2
|
export { TranslationKey, TranslationsType, defaultTranslations };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as defaultTranslations } from "./i18n-provider-defaults-
|
|
1
|
+
export { t as defaultTranslations } from "./i18n-provider-defaults-baET2H4E.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as TranslationsType, t as TranslationKey } from "./i18n-provider-defaults-
|
|
1
|
+
import { n as TranslationsType, t as TranslationKey } from "./i18n-provider-defaults-BwofiXzd.js";
|
|
2
2
|
import * as React$2 from "react";
|
|
3
|
-
import React$1, { AnchorHTMLAttributes, ComponentProps, ComponentType, FC, ForwardRefExoticComponent, ForwardedRef, HTMLAttributeAnchorTarget, HTMLAttributes, PropsWithChildren, ReactElement, ReactNode, RefAttributes, RefObject, SVGProps } from "react";
|
|
3
|
+
import React$1, { AnchorHTMLAttributes, ComponentProps, ComponentType, FC, ForwardRefExoticComponent, ForwardedRef, HTMLAttributeAnchorTarget, HTMLAttributes, KeyboardEvent, PropsWithChildren, ReactElement, ReactNode, Ref, RefAttributes, RefObject, SVGProps } from "react";
|
|
4
4
|
import { VariantProps } from "cva";
|
|
5
5
|
import { baseColors } from "@factorialco/f0-core";
|
|
6
6
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
@@ -4650,6 +4650,8 @@ interface RenderableTurn {
|
|
|
4650
4650
|
* footer meanwhile: there is no answer yet to copy or rate.
|
|
4651
4651
|
*/
|
|
4652
4652
|
endIndicator?: "thinking" | "activity" | "asking";
|
|
4653
|
+
/** The reader stopped this turn's response: it ends on a note saying so. */
|
|
4654
|
+
stopped?: boolean;
|
|
4653
4655
|
/**
|
|
4654
4656
|
* Optional feedback footer (thumbs + copy button). When omitted, the
|
|
4655
4657
|
* turn renders without feedback affordances.
|
|
@@ -5530,6 +5532,439 @@ declare const F0CardHorizontal: WithDataTestIdReturnType<import("react").Forward
|
|
|
5530
5532
|
Skeleton: typeof F0CardHorizontalSkeleton;
|
|
5531
5533
|
}>;
|
|
5532
5534
|
//#endregion
|
|
5535
|
+
//#region src/elements/F0Composer/mentions/types.d.ts
|
|
5536
|
+
/** One row of the mention popover, as a source returns it. */
|
|
5537
|
+
interface ComposerMentionItem {
|
|
5538
|
+
/** What kind of thing it is (`person`, an entity type…). */
|
|
5539
|
+
type: string;
|
|
5540
|
+
id: string;
|
|
5541
|
+
/** Inserted after the `@` and painted as the mention. */
|
|
5542
|
+
label: string;
|
|
5543
|
+
/** Secondary line under the label. */
|
|
5544
|
+
description?: string;
|
|
5545
|
+
/** Leading slot of the row: an avatar, or an icon for entities. */
|
|
5546
|
+
avatar?: AvatarVariant;
|
|
5547
|
+
/** Host data carried through untouched (e.g. a chat user's profile link). */
|
|
5548
|
+
data?: unknown;
|
|
5549
|
+
}
|
|
5550
|
+
/**
|
|
5551
|
+
* A mention in the composer text, anchored where its `@` is.
|
|
5552
|
+
*
|
|
5553
|
+
* The anchor is maintained across edits instead of being re-derived from the
|
|
5554
|
+
* text, so a mention survives whatever follows it (a comma, the end of the
|
|
5555
|
+
* message) and an edit that lands inside it removes the whole token.
|
|
5556
|
+
*/
|
|
5557
|
+
type ComposerMention = ComposerMentionItem & {
|
|
5558
|
+
/** Index of the `@` in the composer text. */
|
|
5559
|
+
start: number;
|
|
5560
|
+
/**
|
|
5561
|
+
* Length of the `@label` occurrence as spelled in the text. Recorded rather
|
|
5562
|
+
* than derived from `label.length`: a saved body can spell a name in another
|
|
5563
|
+
* Unicode normal form than the entry does.
|
|
5564
|
+
*/
|
|
5565
|
+
length: number;
|
|
5566
|
+
};
|
|
5567
|
+
/** A mention as the search context exposes it: no extent, no host data. */
|
|
5568
|
+
interface ComposerMentionRef {
|
|
5569
|
+
type: string;
|
|
5570
|
+
id: string;
|
|
5571
|
+
label: string;
|
|
5572
|
+
start: number;
|
|
5573
|
+
}
|
|
5574
|
+
/** What a source knows about the message when it is asked to search. */
|
|
5575
|
+
interface ComposerMentionSearchContext {
|
|
5576
|
+
text: string;
|
|
5577
|
+
cursor: number;
|
|
5578
|
+
/** Completed mentions that end before the `@` being typed, in text order. */
|
|
5579
|
+
mentionsBefore: ComposerMentionRef[];
|
|
5580
|
+
}
|
|
5581
|
+
/** A typed source of mention suggestions: one popover group each. */
|
|
5582
|
+
interface ComposerMentionSource {
|
|
5583
|
+
type: string;
|
|
5584
|
+
/** Heading of the group, shown when more than one source is configured. */
|
|
5585
|
+
label: string;
|
|
5586
|
+
search: (query: string, context: ComposerMentionSearchContext) => Promise<ComposerMentionItem[]>;
|
|
5587
|
+
/** Groups sort ascending (`0` when unset); ties keep the array order. */
|
|
5588
|
+
order?: number | ((context: ComposerMentionSearchContext) => number);
|
|
5589
|
+
}
|
|
5590
|
+
/** A source and the rows it returned for the current query. */
|
|
5591
|
+
interface ComposerMentionGroup {
|
|
5592
|
+
source: ComposerMentionSource;
|
|
5593
|
+
items: ComposerMentionItem[];
|
|
5594
|
+
}
|
|
5595
|
+
/**
|
|
5596
|
+
* A row pinned above every group and matched without a search — the chat's
|
|
5597
|
+
* `@here`. It is not a source: it answers synchronously and never dismisses.
|
|
5598
|
+
*/
|
|
5599
|
+
interface ComposerMentionPinned {
|
|
5600
|
+
item: ComposerMentionItem;
|
|
5601
|
+
matches: (query: string) => boolean;
|
|
5602
|
+
}
|
|
5603
|
+
type PopoverPosition = {
|
|
5604
|
+
left: number;
|
|
5605
|
+
bottom: number;
|
|
5606
|
+
} | null;
|
|
5607
|
+
//#endregion
|
|
5608
|
+
//#region src/elements/F0Composer/mentions/useComposerMentions.d.ts
|
|
5609
|
+
/** A popover row: the pinned one, or an item from a source's group. */
|
|
5610
|
+
interface ComposerMentionRow {
|
|
5611
|
+
item: ComposerMentionItem;
|
|
5612
|
+
/** The source the row came from; absent for the pinned row. */
|
|
5613
|
+
source?: ComposerMentionSource;
|
|
5614
|
+
}
|
|
5615
|
+
interface UseComposerMentionsReturn {
|
|
5616
|
+
isOpen: boolean;
|
|
5617
|
+
query: string;
|
|
5618
|
+
/** Non-empty groups in display order (the pinned row is not one). */
|
|
5619
|
+
groups: ComposerMentionGroup[];
|
|
5620
|
+
/** Every row in display order: the pinned row first, then the groups'. */
|
|
5621
|
+
rows: ComposerMentionRow[];
|
|
5622
|
+
isLoading: boolean;
|
|
5623
|
+
selectedIndex: number;
|
|
5624
|
+
setSelectedIndex: (index: number) => void;
|
|
5625
|
+
/** Mentions anchored in the current text. */
|
|
5626
|
+
mentions: ComposerMention[];
|
|
5627
|
+
popoverPosition: PopoverPosition;
|
|
5628
|
+
/** Ghost-text completion for the selected row, or null. */
|
|
5629
|
+
inlineCompletion: string | null;
|
|
5630
|
+
/** Handle a keydown — returns true when consumed. */
|
|
5631
|
+
handleKeyDown: (e: React.KeyboardEvent<HTMLTextAreaElement>) => boolean;
|
|
5632
|
+
/** Insert `row` at the active `@`. */
|
|
5633
|
+
selectRow: (row: ComposerMentionRow) => void;
|
|
5634
|
+
/** Replace the anchors from a set of entries found in `forText`. */
|
|
5635
|
+
seedMentions: (entries: ComposerMentionItem[], forText?: string) => void;
|
|
5636
|
+
/** Put back an exact set of anchors for `forText` (undo/redo). */
|
|
5637
|
+
restoreMentions: (anchored: ComposerMention[], forText: string) => void;
|
|
5638
|
+
close: () => void;
|
|
5639
|
+
/** Keep the popover shut for the current `@` until the caret leaves it. */
|
|
5640
|
+
dismissCurrentTrigger: () => void;
|
|
5641
|
+
}
|
|
5642
|
+
//#endregion
|
|
5643
|
+
//#region src/elements/F0Composer/hooks/useComposerEditor.d.ts
|
|
5644
|
+
interface ComposerEditor {
|
|
5645
|
+
value: string;
|
|
5646
|
+
setValue: (value: string) => void;
|
|
5647
|
+
cursorPosition: number;
|
|
5648
|
+
setCursorPosition: (position: number) => void;
|
|
5649
|
+
textareaRef: React.RefObject<HTMLTextAreaElement>;
|
|
5650
|
+
highlightRef: React.RefObject<HTMLDivElement>;
|
|
5651
|
+
mentions: UseComposerMentionsReturn;
|
|
5652
|
+
/** Field `onChange`. */
|
|
5653
|
+
handleChange: (next: string, cursorPos: number) => void;
|
|
5654
|
+
updateCursorPosition: () => void;
|
|
5655
|
+
syncHighlightScroll: () => void;
|
|
5656
|
+
/** Put the caret at `caret` once `forText` is committed. */
|
|
5657
|
+
requestSelection: (caret: number, forText: string, focus?: boolean) => void;
|
|
5658
|
+
/** Cmd/Ctrl+Z, Shift+Cmd+Z and Ctrl+Y. Returns true when consumed. */
|
|
5659
|
+
handleUndoRedoKeyDown: (e: KeyboardEvent<HTMLTextAreaElement>) => boolean;
|
|
5660
|
+
/**
|
|
5661
|
+
* Escape on a field with text: the first press arms, a second one within
|
|
5662
|
+
* {@link ESCAPE_CLEAR_WINDOW_MS} clears (undoable). An empty field leaves the
|
|
5663
|
+
* key to the host. Returns true when consumed.
|
|
5664
|
+
*/
|
|
5665
|
+
handleClearKeyDown: (e: KeyboardEvent<HTMLTextAreaElement>) => boolean;
|
|
5666
|
+
/** Whether the next Escape clears the text. */
|
|
5667
|
+
escapeArmed: boolean;
|
|
5668
|
+
/** Empty the text and its mentions. Undo can bring it back. */
|
|
5669
|
+
clearText: () => void;
|
|
5670
|
+
/** Load a new draft: undo does not walk back into the previous one. */
|
|
5671
|
+
loadDraft: (draft: {
|
|
5672
|
+
value: string;
|
|
5673
|
+
mentions?: ComposerMentionItem[];
|
|
5674
|
+
}) => void;
|
|
5675
|
+
/** Start the undo stack afresh from the next change (after a send). */
|
|
5676
|
+
breakHistory: () => void;
|
|
5677
|
+
}
|
|
5678
|
+
//#endregion
|
|
5679
|
+
//#region src/elements/F0Composer/voice/types.d.ts
|
|
5680
|
+
/** Options handed to a {@link ComposerTranscribeFn}. */
|
|
5681
|
+
interface ComposerTranscribeOptions {
|
|
5682
|
+
/** Cumulative transcript as it streams in. */
|
|
5683
|
+
onPartial: (text: string) => void;
|
|
5684
|
+
/** Aborted when the user cancels an in-flight transcription. */
|
|
5685
|
+
signal?: AbortSignal;
|
|
5686
|
+
}
|
|
5687
|
+
/** Transcribes a recorded audio blob to text (voice dictation). */
|
|
5688
|
+
type ComposerTranscribeFn = (audio: Blob, options: ComposerTranscribeOptions) => Promise<string>;
|
|
5689
|
+
//#endregion
|
|
5690
|
+
//#region src/elements/F0Composer/voice/useAudioRecorder.d.ts
|
|
5691
|
+
type RecorderStatus = "idle" | "recording" | "transcribing";
|
|
5692
|
+
//#endregion
|
|
5693
|
+
//#region src/elements/F0Composer/types.d.ts
|
|
5694
|
+
declare const composerVariants: readonly ["default", "compact"];
|
|
5695
|
+
type F0ComposerVariant = (typeof composerVariants)[number];
|
|
5696
|
+
/** What the composer hands to `onSend`: the text as typed and its mentions. */
|
|
5697
|
+
interface F0ComposerDraft {
|
|
5698
|
+
text: string;
|
|
5699
|
+
mentions: ComposerMention[];
|
|
5700
|
+
}
|
|
5701
|
+
interface F0ComposerLabels {
|
|
5702
|
+
/** The field's accessible name, and its placeholder when no `placeholders`. */
|
|
5703
|
+
placeholder: string;
|
|
5704
|
+
/** The placeholder while the microphone is recording. */
|
|
5705
|
+
listening: string;
|
|
5706
|
+
send: string;
|
|
5707
|
+
/** Send, when `sendKind` is `save` (editing a sent message). */
|
|
5708
|
+
save: string;
|
|
5709
|
+
/** Stop, which replaces the microphone and send while a response streams. */
|
|
5710
|
+
stop: string;
|
|
5711
|
+
recordAudio: string;
|
|
5712
|
+
/** The microphone while a voice note uploads (`voice.busy`). */
|
|
5713
|
+
sendingVoice: string;
|
|
5714
|
+
cancelRecording: string;
|
|
5715
|
+
/** The confirm button of a recording: send the note, or transcribe it. */
|
|
5716
|
+
confirmRecording: string;
|
|
5717
|
+
micPermissionDenied: string;
|
|
5718
|
+
micError: string;
|
|
5719
|
+
transcriptionError: string;
|
|
5720
|
+
/** The mention list's accessible name. */
|
|
5721
|
+
mentionSuggestions?: string;
|
|
5722
|
+
/** Second line of the pinned mention row (`@here`). */
|
|
5723
|
+
mentionPinnedDescription?: string;
|
|
5724
|
+
/** The `+` (`addMenu`). */
|
|
5725
|
+
add: string;
|
|
5726
|
+
dismissNotice: string;
|
|
5727
|
+
/** The keys under a `replacement` (`replacementHint`). */
|
|
5728
|
+
hintNavigate: string;
|
|
5729
|
+
hintSelect: string;
|
|
5730
|
+
hintCancel: string;
|
|
5731
|
+
/** Send while a response streams (`queueWhileInProgress`). */
|
|
5732
|
+
queue: string;
|
|
5733
|
+
/** Over the queued message. */
|
|
5734
|
+
queued: string;
|
|
5735
|
+
removeQueued: string;
|
|
5736
|
+
}
|
|
5737
|
+
/** A second autocomplete next to mentions (emoji `:shortcodes:`). */
|
|
5738
|
+
interface ComposerAutocomplete {
|
|
5739
|
+
isOpen: boolean;
|
|
5740
|
+
listboxId: string;
|
|
5741
|
+
activeDescendantId?: string;
|
|
5742
|
+
/** Returns true when it consumed the key. */
|
|
5743
|
+
handleKeyDown: (event: KeyboardEvent<HTMLTextAreaElement>) => boolean;
|
|
5744
|
+
handleFocus?: () => void;
|
|
5745
|
+
handleBlur?: () => void;
|
|
5746
|
+
/** Its list, rendered over the field. */
|
|
5747
|
+
popover: ReactNode;
|
|
5748
|
+
}
|
|
5749
|
+
interface ComposerAutocompletePlugin {
|
|
5750
|
+
/**
|
|
5751
|
+
* Called on every render with the composer's editor, so it must be a hook
|
|
5752
|
+
* with a stable identity: a module-level function, never an inline one.
|
|
5753
|
+
*/
|
|
5754
|
+
useAutocomplete: (editor: ComposerEditor) => ComposerAutocomplete;
|
|
5755
|
+
/** Rewrites a change before it lands (a closed `:shortcode:` → emoji). */
|
|
5756
|
+
transformChange?: (next: string, caret: number) => {
|
|
5757
|
+
value: string;
|
|
5758
|
+
cursorPosition: number;
|
|
5759
|
+
} | null;
|
|
5760
|
+
}
|
|
5761
|
+
interface F0ComposerVoice {
|
|
5762
|
+
/** Dictation: the recording is transcribed into the field. */
|
|
5763
|
+
onTranscribe?: ComposerTranscribeFn;
|
|
5764
|
+
/** Voice notes: the recording is handed over as audio, text untouched. */
|
|
5765
|
+
onAudio?: (audio: Blob, durationMs: number) => void;
|
|
5766
|
+
/** Shown but not usable (editing a sent message). */
|
|
5767
|
+
disabled?: boolean;
|
|
5768
|
+
/** A recording is still being delivered (a voice note uploading). */
|
|
5769
|
+
busy?: boolean;
|
|
5770
|
+
/** The microphone was pressed — before any permission prompt. */
|
|
5771
|
+
onPress?: () => void;
|
|
5772
|
+
/** Capture actually began. */
|
|
5773
|
+
onStarted?: () => void;
|
|
5774
|
+
/** The reader threw a recording away. */
|
|
5775
|
+
onCancelled?: () => void;
|
|
5776
|
+
}
|
|
5777
|
+
interface F0ComposerState {
|
|
5778
|
+
/** No text in the field. */
|
|
5779
|
+
isEmpty: boolean;
|
|
5780
|
+
recorder: RecorderStatus;
|
|
5781
|
+
}
|
|
5782
|
+
interface F0ComposerHandle {
|
|
5783
|
+
/** Focus the field, caret at the end. No-op while `replacement` shows. */
|
|
5784
|
+
focus: (options?: {
|
|
5785
|
+
preventScroll?: boolean;
|
|
5786
|
+
}) => void;
|
|
5787
|
+
/** Empty the text and its mentions (undoable). */
|
|
5788
|
+
clear: () => void;
|
|
5789
|
+
/** Replace the draft; undo does not walk back into the previous one. */
|
|
5790
|
+
loadDraft: (draft: {
|
|
5791
|
+
value: string;
|
|
5792
|
+
mentions?: ComposerMentionItem[];
|
|
5793
|
+
}) => void;
|
|
5794
|
+
/** What is in the field now: the text and its mentions. */
|
|
5795
|
+
getDraft: () => F0ComposerDraft;
|
|
5796
|
+
/** Insert at the caret (or over the selection) and focus. */
|
|
5797
|
+
insertText: (text: string) => void;
|
|
5798
|
+
/** Throw away a recording or transcription in flight. */
|
|
5799
|
+
cancelRecording: () => void;
|
|
5800
|
+
/** Start the undo stack afresh from the next change. */
|
|
5801
|
+
breakHistory: () => void;
|
|
5802
|
+
}
|
|
5803
|
+
/** A prompt in a suggestion group; `prompt` defaults to `title`. */
|
|
5804
|
+
interface F0ComposerSuggestion {
|
|
5805
|
+
title: string;
|
|
5806
|
+
prompt?: string;
|
|
5807
|
+
}
|
|
5808
|
+
/** A button above the composer that opens its group's prompts. */
|
|
5809
|
+
interface F0ComposerSuggestionGroup {
|
|
5810
|
+
icon: IconType;
|
|
5811
|
+
label: string;
|
|
5812
|
+
items: F0ComposerSuggestion[];
|
|
5813
|
+
}
|
|
5814
|
+
/** A banner the composer sits in (running low on credits). */
|
|
5815
|
+
interface F0ComposerNotice {
|
|
5816
|
+
text: string;
|
|
5817
|
+
action?: {
|
|
5818
|
+
label: string;
|
|
5819
|
+
icon?: IconType;
|
|
5820
|
+
onClick: () => void;
|
|
5821
|
+
};
|
|
5822
|
+
onDismiss?: () => void;
|
|
5823
|
+
}
|
|
5824
|
+
/** The line under the composer. */
|
|
5825
|
+
interface F0ComposerDisclaimer {
|
|
5826
|
+
text?: string;
|
|
5827
|
+
link?: string;
|
|
5828
|
+
linkText?: string;
|
|
5829
|
+
/** Makes the text a button (an easter egg). */
|
|
5830
|
+
onClick?: () => void;
|
|
5831
|
+
/** At the right end of the line; the text then aligns left (a usage ring). */
|
|
5832
|
+
trailing?: ReactNode;
|
|
5833
|
+
}
|
|
5834
|
+
/** The composer's `+`. */
|
|
5835
|
+
interface F0ComposerAddMenu {
|
|
5836
|
+
items: DropdownItem[];
|
|
5837
|
+
/** @default labels.add */
|
|
5838
|
+
label?: string;
|
|
5839
|
+
onOpenChange?: (open: boolean) => void;
|
|
5840
|
+
/** A panel an entry opens from the `+` (an emoji picker). */
|
|
5841
|
+
panel?: {
|
|
5842
|
+
open: boolean;
|
|
5843
|
+
onOpenChange: (open: boolean) => void;
|
|
5844
|
+
content: ReactNode;
|
|
5845
|
+
};
|
|
5846
|
+
}
|
|
5847
|
+
/** A ghost button after send, on the composer's line (open a side panel). */
|
|
5848
|
+
interface F0ComposerAction {
|
|
5849
|
+
label: string;
|
|
5850
|
+
icon: IconType;
|
|
5851
|
+
onClick: () => void;
|
|
5852
|
+
disabled?: boolean;
|
|
5853
|
+
}
|
|
5854
|
+
interface F0ComposerProps {
|
|
5855
|
+
/** Called with the draft on Enter or send. Return (or resolve) `false` to
|
|
5856
|
+
* keep the draft; a rejection keeps it too. An async send clears the field
|
|
5857
|
+
* once it resolves, unless the text changed meanwhile: then the field keeps
|
|
5858
|
+
* all of it, the sent part included, for the reader to edit. */
|
|
5859
|
+
onSend: (draft: F0ComposerDraft) => void | boolean | Promise<void | boolean>;
|
|
5860
|
+
/** While true, the microphone and send give way to stop, which calls
|
|
5861
|
+
* `onStop`. */
|
|
5862
|
+
inProgress?: boolean;
|
|
5863
|
+
onStop?: () => void;
|
|
5864
|
+
/** While `inProgress`, sending queues the message instead: it waits above
|
|
5865
|
+
* the field, and the queue goes out through `onSend` in order, one message
|
|
5866
|
+
* per response. Once there is text to queue, a neutral send takes stop's
|
|
5867
|
+
* place. Text only (attachments wait for the response). @default false */
|
|
5868
|
+
queueWhileInProgress?: boolean;
|
|
5869
|
+
/** How many messages the queue holds; at the cap, stop stays and Enter
|
|
5870
|
+
* keeps the text in the field. `Infinity` for no cap. @default 1 */
|
|
5871
|
+
maxQueued?: number;
|
|
5872
|
+
/** `save` while editing a sent message. @default "send" */
|
|
5873
|
+
sendKind?: "send" | "save";
|
|
5874
|
+
/** Attachments ready to go: sendable with no text. */
|
|
5875
|
+
hasAttachments?: boolean;
|
|
5876
|
+
/** Send stays disabled (files still uploading). */
|
|
5877
|
+
sendBlocked?: boolean;
|
|
5878
|
+
/** Longer text is refused on send, with `maxLengthError` shown. */
|
|
5879
|
+
maxLength?: number;
|
|
5880
|
+
maxLengthError?: string;
|
|
5881
|
+
/** The host's error (an upload that failed). */
|
|
5882
|
+
error?: string | null;
|
|
5883
|
+
labels?: Partial<F0ComposerLabels>;
|
|
5884
|
+
/** Rotating placeholders painted on one line; without them, the native
|
|
5885
|
+
* placeholder shows `labels.placeholder`. */
|
|
5886
|
+
placeholders?: string[];
|
|
5887
|
+
/** Stop typing the placeholders out (a response streams). */
|
|
5888
|
+
placeholdersPaused?: boolean;
|
|
5889
|
+
/** `combobox` (the chat) or `textbox`. @default "combobox" */
|
|
5890
|
+
role?: "combobox" | "textbox";
|
|
5891
|
+
/** The textarea's `name`. */
|
|
5892
|
+
name?: string;
|
|
5893
|
+
mentions?: {
|
|
5894
|
+
sources: ComposerMentionSource[];
|
|
5895
|
+
pinned?: ComposerMentionPinned;
|
|
5896
|
+
/** Results from another scope (a channel) never land in this one. */
|
|
5897
|
+
scopeKey?: string;
|
|
5898
|
+
onInserted?: (item: ComposerMentionItem, options: {
|
|
5899
|
+
pinned: boolean;
|
|
5900
|
+
}) => void;
|
|
5901
|
+
/** Group headings in the list (more than one source). */
|
|
5902
|
+
showGroupLabels?: boolean;
|
|
5903
|
+
};
|
|
5904
|
+
autocomplete?: ComposerAutocompletePlugin;
|
|
5905
|
+
/** Without `onTranscribe` or `onAudio` there is no microphone. Send is always
|
|
5906
|
+
* there, disabled while there is nothing to send. */
|
|
5907
|
+
voice?: F0ComposerVoice;
|
|
5908
|
+
/** Every change the reader makes to the text: typing, dictation, undo and
|
|
5909
|
+
* redo, and picking or erasing a mention. Not text the host loads with
|
|
5910
|
+
* `loadDraft` or clears. */
|
|
5911
|
+
onTextChange?: (value: string) => void;
|
|
5912
|
+
/** The double Escape cleared the text. */
|
|
5913
|
+
onCleared?: () => void;
|
|
5914
|
+
/** Escape, before the composer's own layers (recording, clear). Return true
|
|
5915
|
+
* when consumed — dismissing a reply chip. The event comes from the field,
|
|
5916
|
+
* or from a recording control while a recording holds the focus. */
|
|
5917
|
+
onEscape?: (event: KeyboardEvent<HTMLElement>) => boolean;
|
|
5918
|
+
/** ↑ on an empty field. Return true when consumed (edit the last message). */
|
|
5919
|
+
onArrowUpWhenEmpty?: () => boolean;
|
|
5920
|
+
/** Files pasted into the field. Without it, a paste is always text. */
|
|
5921
|
+
onPasteFiles?: (files: File[]) => void;
|
|
5922
|
+
/** A clipboard with text and an image pastes the text. */
|
|
5923
|
+
pastePreferText?: boolean;
|
|
5924
|
+
onStateChange?: (state: F0ComposerState) => void;
|
|
5925
|
+
/** Above the text: reply/edit chips, a quoted fragment. */
|
|
5926
|
+
header?: ReactNode;
|
|
5927
|
+
/** Attachments being sent. */
|
|
5928
|
+
tray?: ReactNode;
|
|
5929
|
+
/** Before the text, on its line: attach, emoji, host controls. Once the text
|
|
5930
|
+
* opens the composer, it leads the row under it. Called with the recorder
|
|
5931
|
+
* status so controls can step aside while it transcribes. */
|
|
5932
|
+
leading?: ReactNode | ((recorder: RecorderStatus) => ReactNode);
|
|
5933
|
+
/** Ghost buttons after send, behind a separator. */
|
|
5934
|
+
actions?: F0ComposerAction[];
|
|
5935
|
+
/** Shown instead of the field and its rows (a question the reader answers
|
|
5936
|
+
* first). The draft survives it. Pass `null` while there is none: the swap
|
|
5937
|
+
* only animates when this is defined, and `undefined` means it never swaps. */
|
|
5938
|
+
replacement?: ReactNode;
|
|
5939
|
+
/**
|
|
5940
|
+
* `default`: always open, the text on its own line and the controls under it.
|
|
5941
|
+
* `compact`: one line that opens once the text wraps.
|
|
5942
|
+
* @default "default"
|
|
5943
|
+
*/
|
|
5944
|
+
variant?: F0ComposerVariant;
|
|
5945
|
+
/** Above the composer; picking one calls `onSelect`, hovering previews it
|
|
5946
|
+
* in the placeholder. */
|
|
5947
|
+
suggestions?: {
|
|
5948
|
+
groups: F0ComposerSuggestionGroup[];
|
|
5949
|
+
onSelect: (item: F0ComposerSuggestion, group: F0ComposerSuggestionGroup) => void;
|
|
5950
|
+
};
|
|
5951
|
+
notice?: F0ComposerNotice | null;
|
|
5952
|
+
disclaimer?: F0ComposerDisclaimer | null;
|
|
5953
|
+
/** Under a `replacement`: the keys that answer it (↑↓, Enter, Esc). */
|
|
5954
|
+
replacementHint?: boolean;
|
|
5955
|
+
/** A `+` before the text, ahead of `leading`. */
|
|
5956
|
+
addMenu?: F0ComposerAddMenu;
|
|
5957
|
+
/** Render the surface as a `<form>`: send/stop submit it. */
|
|
5958
|
+
asForm?: boolean;
|
|
5959
|
+
className?: string;
|
|
5960
|
+
surfaceRef?: Ref<HTMLFormElement & HTMLDivElement>;
|
|
5961
|
+
onSurfaceFocus?: () => void;
|
|
5962
|
+
onSurfaceBlur?: () => void;
|
|
5963
|
+
handleRef?: Ref<F0ComposerHandle>;
|
|
5964
|
+
reducedMotion?: boolean;
|
|
5965
|
+
"data-testid"?: string;
|
|
5966
|
+
}
|
|
5967
|
+
//#endregion
|
|
5533
5968
|
//#region src/elements/providers/i18n/i18n-provider.d.ts
|
|
5534
5969
|
interface I18nProviderProps {
|
|
5535
5970
|
children: ReactNode;
|
|
@@ -5541,4 +5976,4 @@ declare function useI18n(): TranslationsType & {
|
|
|
5541
5976
|
};
|
|
5542
5977
|
declare const buildTranslations: (translations: TranslationsType) => TranslationsType;
|
|
5543
5978
|
//#endregion
|
|
5544
|
-
export {
|
|
5979
|
+
export { F0TagRaw as $, F0IconProps as $a, F0PdfViewerAction as $i, chartColorTokens as $n, AutofillTimesheetShift as $r, SidePanelLayout as $t, F0CardHorizontal as A, CountryCode as Aa, DataDownloadCanvasContent as Ai, F0TagCompanyProps as An, buttonVariants as Ar, AiChatTrackingOptions as At, DetailsItemType as B, F0AvatarColor as Ba, ScatterComputation as Bi, F0ProgressSeriesOptions as Bn, F0TagStatus as Br, F0Message as Bt, ComposerEditor as C, TeamAvatarVariant as Ca, ChatDashboardRadarChartConfig as Ci, TagVariant as Cn, LinkContextValue as Cr, AiChatCreditWarning as Ct, ComposerMentionRef as D, F0AvatarPersonProps as Da, DashboardCanvasContent as Di, F0TagPerson as Dn, ButtonSize as Dr, AiChatFileAttachmentConfig as Dt, ComposerMentionPinned as E, F0AvatarTeamProps as Ea, DashboardCanvasActions as Ei, F0TagRawProps as En, ButtonNavProps as Er, AiChatEmployeeCredits as Et, FormCardValueFormatterProvider as F, F0AvatarEmojiProps as Fa, GaugeComputation as Fi, NumericWithFormatter as Fn, useEmojiConfetti as Fr, AppendMessage as Ft, FileAction as G, BadgeProps as Ga, AiChatShowFilesItem as Gi, Tooltip as Gn, CandidateProfile as Gr, UploadedFile as Gt, F0FileItem as H, AvatarBadge as Ha, AiChatFileKind as Hi, F0ProgressSeriesSize as Hn, StatusVariant as Hr, PendingContext as Ht, useFormCardValueFormatter as I, BaseAvatar as Ia, HeatmapComputation as Ii, RelaxedNumericWithFormatter as In, ActionButtonVariant as Ir, AppendToolCall as It, FileItemSize as J, NewColor as Ja, F0VideoPlayerProps as Ji, TooltipProps as Jn, F0PersonCardAction as Jr, WelcomeScreenSuggestionItem as Jt, FileItem as K, ModuleId as Ka, AttachmentDocumentKind as Ki, TooltipGroup as Kn, PersonProfile as Kr, VisualizationMode as Kt, useSetFormCardValueFormatter as L, F0AvatarCompanyProps as La, MetricComputation as Li, F0ProgressSeries as Ln, ExpenseProfile as Lr, CreditsUsage as Lt, Dropdown as M, F0AvatarFileProps as Ma, FileCanvasContent as Mi, BalanceStatus as Mn, EmojiImageProps as Mr, AiChatTranslationsProviderProps as Mt, MobileDropdown as N, FileDef as Na, FormCanvasContent as Ni, F0TagBalanceProps as Nn, EmojiRenderMode as Nr, AiChatUsageLimits as Nt, ComposerMentionSearchContext as O, F0AvatarIcon as Oa, DashboardFetchSpec as Oi, F0TagPersonProps as On, ButtonVariant as Or, AiChatMode as Ot, FormCardValueFormatterEntry as P, F0AvatarEmoji as Pa, FormatPreset as Pi, Numeric as Pn, getEmojiLabel as Pr, AiChatUsageLimitsSection as Pt, TagCounterItem as Q, F0Icon as Qa, F0PdfViewer as Qi, ChartColorToken as Qn, AutofillTimesheetCanvasContent as Qr, SidePanelContextValue as Qt, DetailsItem as R, F0AvatarColorList as Ra, PieComputation as Ri, F0ProgressSeriesBar as Rn, VacancyProfile as Rr, F0AIMessage as Rt, ComposerTranscribeFn as S, PersonAvatarVariant as Sa, ChatDashboardPieChartConfig as Si, Tag as Sn, NavigationItem as Sr, AiChatComposerActionToggle as St, ComposerMentionItem as T, F0AvatarTeam as Ta, CollectionComputation as Ti, F0TagTeamProps as Tn, F0ButtonProps as Tr, AiChatDisclaimer as Tt, F0FileItemProps as U, BaseAvatarProps as Ua, AiChatFilePreviewConfig as Ui, f0ProgressSeriesColors as Un, Variant as Ur, PendingQuote as Ut, F0FileAction as V, F0AvatarColorProps as Va, AiChatFile as Vi, F0ProgressSeriesProps as Vn, F0TagStatusProps as Vr, F0ToolCall as Vt, F0FileItemSize as W, Badge as Wa, AiChatFileUrlResolver as Wi, f0ProgressSeriesSizes as Wn, JobPostingProfile as Wr, TranscribeFn as Wt, F0TagList as X, tagDotColors as Xa, Localized as Xi, HourDistributionCellValue as Xn, F0Avatar as Xr, aiTranslations as Xt, f0FileItemSizes as Y, Props$2 as Ya, VideoPlayerContent as Yi, Shortcut as Yn, F0PersonCardProps as Yr, WelcomeSuggestionClickEvent as Yt, TagCounter as Z, DistributiveOmit as Za, F0DocumentViewer as Zi, HourDistributionDataPoint as Zn, AggregationType as Zr, SidePanelContent as Zt, F0ComposerSuggestionGroup as _, ColorListAvatarVariant as _a, ChatDashboardItem as _i, CardMetadata as _n, DropdownItemObject as _r, F0AiChatProvider as _t, ComposerAutocomplete as a, F0DocumentViewerAction as aa, ChartComputation as ai, EntityUrlBuilders as an, withDataTestId as ao, Props$1 as ar, F0AiMessagesContainer as at, composerVariants as b, FlagAvatarVariant as ba, ChatDashboardMetricItem as bi, F0TagListProps as bn, DropdownItemSubmenu as br, AiChatComposerActionSeparator as bt, F0ComposerAddMenu as c, F0PdfScale as ca, ChatDashboardChartItem as ci, CardImageAspectRatio as cn, F0AvatarAlert as cr, FeedbackConfig as ct, F0ComposerHandle as d, F0AvatarModule as da, ChatDashboardConfig as di, cardImageAspectRatios as dn, F0Link as dr, RenderableTurn as dt, F0PdfViewerProps as ea, BulkResolveInconsistenciesCanvasContent as ei, SidePanelViewDefinition as en, IconType as eo, BarSeriesStyle as er, F0TagDot as et, F0ComposerLabels as f, F0AvatarModuleProps as fa, ChatDashboardDateNavigationGranularity as fi, cardImageFits as fn, F0LinkProps as fr, ThinkingProps as ft, F0ComposerSuggestion as g, ColorAvatarVariant as ga, ChatDashboardHeatmapChartConfig as gi, CardAlertVariant as gn, DropdownItemLabel as gr, F0AiChatProps as gt, F0ComposerState as h, AvatarVariants as ha, ChatDashboardGaugeChartConfig as hi, CardAlertProps as hn, DropdownItem as hr, F0AiChat as ht, useI18n as i, F0DocumentKind as ia, CanvasEntityDefinition as ii, EntityResolvers as in, WithDataTestIdReturnType as io, Level as ir, useAiChat as it, F0CardHorizontalProps as j, F0AvatarFile as ja, DataDownloadDataset as ji, F0TagBalance as jn, EmojiImage as jr, AiChatTranslations as jt, ComposerMentionSource as k, F0AvatarIconProps as ka, DashboardMetadata as ki, F0TagCompany as kn, buttonSizes as kr, AiChatProviderProps as kt, F0ComposerDisclaimer as l, pdfScales as la, ChatDashboardCollectionItem as li, CardImageFit as ln, alertAvatarTypes as lr, UserReaction as lt, F0ComposerProps as m, AvatarVariant$1 as ma, ChatDashboardFunnelChartConfig as mi, CardAlertAction as mn, DropdownInternalProps as mr, markdownRenderers as mt, I18nProviderProps as n, F0DocumentHtmlExecution as na, CanvasContent as ni, CustomEntityRefConfig as nn, WithDataTestIdProps as no, F0AvatarListProps as nr, AiChatTranslationsProvider as nt, ComposerAutocompletePlugin as o, F0DocumentViewerProps as oa, ChatDashboardBarChartConfig as oi, F0Card as on, CardAvatarVariant as or, F0AiMessagesContainerProps as ot, F0ComposerNotice as p, AvatarAction as pa, ChatDashboardFilterDefinition as pi, cardImageSizes as pn, DropdownContentVariant as pr, MarkdownTagRenderers as pt, FileItemProps as q, modules as qa, F0VideoPlayer as qi, TooltipGroupProps as qn, F0PersonCard as qr, WelcomeScreenSuggestion as qt, buildTranslations as r, F0DocumentHtmlSandbox as ra, CanvasContentBase as ri, EntityRefs as rn, WithDataTestIdPropsOf as ro, F0TagAlert as rr, useAiChatTranslations as rt, F0ComposerAction as s, F0DocumentViewerToolbarPlacement as sa, ChatDashboardChartConfig as si, F0CardProps as sn, AlertAvatarProps as sr, WelcomeScreenCta as st, I18nProvider as t, F0PdfViewerToolbarPlacement as ta, CanvasActions as ti, CustomEntityRefCard as tn, DataTestIdWrapper as to, AvatarListSize as tr, Weekdays as tt, F0ComposerDraft as u, DataAttributes as ua, ChatDashboardColumn as ui, CardImageSize as un, CardSecondaryAction as ur, useToolCallId as ut, F0ComposerVariant as v, CompanyAvatarVariant as va, ChatDashboardLineChartConfig as vi, cardAlertVariants as vn, DropdownItemPanel as vr, AiChatComposerAction as vt, ComposerMention as w, avatarVariants as wa, ChatDashboardScatterChartConfig as wi, F0TagTeam as wn, F0Button as wr, AiChatCredits as wt, RecorderStatus as x, IconAvatarVariant as xa, ChatDashboardNavigationFilterDefinition as xi, TagType as xn, DropdownItemSwitch as xr, AiChatComposerActionSubmenu as xt, F0ComposerVoice as y, FileAvatarVariant as ya, ChatDashboardMetricFormat as yi, ValueDisplayRendererDefinition as yn, DropdownItemSeparator as yr, AiChatComposerActionItem as yt, DetailsItemContent as z, F0AvatarColorListProps as za, RadarComputation as zi, F0ProgressSeriesColor as zn, RequisitionProfile as zr, F0AiChatWelcomeCard as zt };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as e } from "./rolldown-runtime-BItFwnF5.js";
|
|
2
2
|
import { t } from "./dist-Cuwaibqg.js";
|
|
3
|
-
import { s as n } from "./F0Map-
|
|
3
|
+
import { s as n } from "./F0Map-ClVEqAjb.js";
|
|
4
4
|
import './maplibre-gl.css';import './maplibre.css';/* empty css */
|
|
5
5
|
import { t as r } from "./maplibre-gl-DVldSYfz.js";
|
|
6
6
|
//#region ../../node_modules/.pnpm/@mapbox+mapbox-gl-rtl-text@0.2.3_mapbox-gl@1.13.3/node_modules/@mapbox/mapbox-gl-rtl-text/mapbox-gl-rtl-text.js?url
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as __require, o as __toESM, t as __commonJSMin } from "./rolldown-runtime-BItFwnF5.js";
|
|
2
2
|
import { z as clsx } from "./tooltip-BX4dSfeL.js";
|
|
3
|
-
import {
|
|
3
|
+
import { ya as invariant } from "./F0CanvasPanel-H836Fmqi.js";
|
|
4
4
|
import { t as dequal } from "./dist-Dt-cTb6D.js";
|
|
5
5
|
import { n as pdfWorkerOverride, r as registerPdfWorkerApplier } from "./pdfWorkerConfig-BwllKt1K.js";
|
|
6
6
|
import { createContext, forwardRef, useCallback, useContext, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef } from "react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { L as e, s as t } from "./tooltip-BX4dSfeL.js";
|
|
2
|
-
import { n } from "./F0Icon-
|
|
2
|
+
import { n } from "./F0Icon-BSVFNf1Y.js";
|
|
3
3
|
import * as r from "react";
|
|
4
4
|
import i, { createElement as a, forwardRef as o, useEffect as s, useLayoutEffect as c, useState as l } from "react";
|
|
5
5
|
import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { L as e } from "./tooltip-BX4dSfeL.js";
|
|
2
|
-
import { i as t, r as n } from "./F0Button-
|
|
3
|
-
import { o as r } from "./F0Icon-
|
|
4
|
-
import { E as i, O as a, T as o, b as s, p as c, w as l, y as u } from "./popover-
|
|
2
|
+
import { i as t, r as n } from "./F0Button-BOJbiGlH.js";
|
|
3
|
+
import { o as r } from "./F0Icon-BSVFNf1Y.js";
|
|
4
|
+
import { E as i, O as a, T as o, b as s, p as c, w as l, y as u } from "./popover-8eEX9DAq.js";
|
|
5
5
|
import * as d from "react";
|
|
6
6
|
import { createElement as f, forwardRef as p, useEffect as m, useRef as h } from "react";
|
|
7
7
|
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|