@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.
Files changed (60) hide show
  1. package/dist/{ArchiveThumbnail-BGWiJFfA.js → ArchiveThumbnail-DE-7sJWg.js} +7 -7
  2. package/dist/{ArchiveViewer-gaakCGJ3.js → ArchiveViewer-BWwxiUPk.js} +5 -5
  3. package/dist/{ChatPostComposerDialog-GQrKR74F.js → ChatPostComposerDialog-VndTGrCJ.js} +3 -3
  4. package/dist/{CoachmarkProvider-Bdo8Y_D0.js → CoachmarkProvider-CO8N8XkM.js} +20534 -20534
  5. package/dist/{CodeThumbnail-Bm_GaLxm.js → CodeThumbnail-CWpheiRo.js} +1 -1
  6. package/dist/{CodeViewer-Ia0NwKX_.js → CodeViewer-C4nK3eTH.js} +8 -8
  7. package/dist/{DocumentToolbar-D4KElA1V.js → DocumentToolbar-Bcq9vnMb.js} +5 -5
  8. package/dist/{DocxViewer-C6otSnj3.js → DocxViewer-BiiQxtjC.js} +3 -3
  9. package/dist/{F0AiProcessingOverlay-DMkI1tRu.js → F0AiProcessingOverlay-B_1oa6l9.js} +1949 -1729
  10. package/dist/{F0Alert-D664MgOC.js → F0Alert-dtsA7_Bi.js} +15 -15
  11. package/dist/F0AudioPlayer-DAHaRMfe.js +2 -0
  12. package/dist/{F0Button-Bo-Zw0Zx.js → F0Button-BOJbiGlH.js} +3 -3
  13. package/dist/{F0CanvasPanel-BWbAs38E.js → F0CanvasPanel-H836Fmqi.js} +8872 -9040
  14. package/dist/{F0DocumentViewer-D8VcE-pQ.js → F0DocumentViewer-C0yioq_b.js} +4 -4
  15. package/dist/{F0DocumentViewer-DGk2W39u.js → F0DocumentViewer-Dx5L4P14.js} +1 -1
  16. package/dist/{F0Icon-P9uOVsGz.js → F0Icon-BSVFNf1Y.js} +1 -1
  17. package/dist/{F0Map-C510FLet.js → F0Map-ClVEqAjb.js} +47 -47
  18. package/dist/{F0Select-CzWp91j0.js → F0Select-DtUpCyWB.js} +8 -8
  19. package/dist/{F0Text-BG36S9Xx.js → F0Text-Dg8LDCbh.js} +2 -2
  20. package/dist/{F0VideoPlayer-C_fMkaxj.js → F0VideoPlayer-C2RAQ75Q.js} +19 -19
  21. package/dist/F0VideoPlayer-igQASWco.js +1 -0
  22. package/dist/{HtmlThumbnail-BiphE7Y5.js → HtmlThumbnail-CIErVI_5.js} +1 -1
  23. package/dist/{HtmlViewer-DZHyuKz5.js → HtmlViewer-Dyk69a7g.js} +9 -9
  24. package/dist/{LayoutGroup-DLtALSqH.js → LayoutGroup-DHQLU3Qz.js} +1 -1
  25. package/dist/{Map-YloQD9VT.js → Map-fdzmV-FZ.js} +13 -13
  26. package/dist/{PdfThumbnail-9X44csq5.js → PdfThumbnail-CEu-goqa.js} +1 -1
  27. package/dist/{PdfViewer-DtdRvpvP.js → PdfViewer-BqLpoTH9.js} +10 -10
  28. package/dist/{SandboxedHtmlFrame-DeAt348C.js → SandboxedHtmlFrame-qI98ZJP_.js} +2 -2
  29. package/dist/{SheetViewer-_iq4uwXW.js → SheetViewer-DiG8X0Dw.js} +5 -5
  30. package/dist/{TextViewer-C7xx-4YQ.js → TextViewer-B0wNAnm7.js} +4 -4
  31. package/dist/ai.d.ts +3 -3
  32. package/dist/ai.js +5 -5
  33. package/dist/component-status.js +29 -7
  34. package/dist/{dist-Ol7JA7z9.js → dist-Ck4g55y_.js} +1 -1
  35. package/dist/{dist-C_W2CLtJ.js → dist-CmM3ft9W.js} +4 -4
  36. package/dist/{dist-Do5FlVaY.js → dist-Sh1ldC1s.js} +1 -1
  37. package/dist/experimental.d.ts +225 -8
  38. package/dist/experimental.js +7545 -5986
  39. package/dist/{exports-CebiqGLM.d.ts → exports-BKfAhNhL.d.ts} +7 -255
  40. package/dist/f0.d.ts +4 -4
  41. package/dist/f0.js +773 -773
  42. package/dist/{highlight-izD68Eru.js → highlight-B4Cl_jjy.js} +1 -1
  43. package/dist/{i18n-provider-C_PTccYX.js → i18n-provider-B5wHRgHI.js} +1 -1
  44. package/dist/{i18n-provider-defaults-DD3oVvPp.d.ts → i18n-provider-defaults-BwofiXzd.d.ts} +31 -0
  45. package/dist/{i18n-provider-defaults-JkDaKXzI.js → i18n-provider-defaults-baET2H4E.js} +31 -0
  46. package/dist/i18n-provider-defaults.d.ts +1 -1
  47. package/dist/i18n-provider-defaults.js +1 -1
  48. package/dist/{index-CpTdsnxc.d.ts → index-C7jlLoz3.d.ts} +438 -3
  49. package/dist/{maplibre-CHP-aU_V.js → maplibre-_-bgBeh8.js} +1 -1
  50. package/dist/{pdfWorker-kyGjjW4X.js → pdfWorker-Cg2FuDv6.js} +1 -1
  51. package/dist/{popover-DhWTWc7-.js → popover-8eEX9DAq.js} +1 -1
  52. package/dist/{scrollarea-pyluD6aV.js → scrollarea-BmNp-nfD.js} +3 -3
  53. package/dist/{skeleton-CyLv1Ytt.js → skeleton-BhWTSy4e.js} +1 -1
  54. package/dist/styles.css +1 -1
  55. package/dist/{toolbarStyles-stzlyka-.js → toolbarStyles-BbcgWVlR.js} +1 -1
  56. package/dist/{types-ei71RXBT.d.ts → types-tvV1FcU2.d.ts} +2 -2
  57. package/dist/{useData-BmoyjoRL.js → useData-DjZGrAz5.js} +6 -6
  58. package/package.json +1 -1
  59. package/dist/F0AudioPlayer-CgoLw3-_.js +0 -2
  60. package/dist/F0VideoPlayer-BDUW3ILk.js +0 -1
@@ -1,4 +1,4 @@
1
- import { Bt as e, jt as t, zt as n } from "./F0CanvasPanel-BWbAs38E.js";
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-JkDaKXzI.js";
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-DD3oVvPp.js";
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-JkDaKXzI.js";
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-DD3oVvPp.js";
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 { AiChatCredits as $, avatarVariants as $i, F0Button as $n, ChatDashboardScatterChartConfig as $r, F0TagTeam as $t, Weekdays as A, DataTestIdWrapper as Aa, F0PdfViewerToolbarPlacement as Ai, AvatarListSize as An, CanvasActions as Ar, CustomEntityRefCard as At, RenderableTurn as B, F0AvatarModule as Bi, F0Link as Bn, ChatDashboardConfig as Br, cardImageAspectRatios as Bt, FileItemSize as C, NewColor as Ca, F0VideoPlayerProps as Ci, TooltipProps as Cn, F0PersonCardAction as Cr, WelcomeScreenSuggestionItem as Ct, TagCounterItem as D, F0Icon as Da, F0PdfViewer as Di, ChartColorToken as Dn, AutofillTimesheetCanvasContent as Dr, SidePanelContextValue as Dt, TagCounter as E, DistributiveOmit as Ea, F0DocumentViewer as Ei, HourDistributionDataPoint as En, AggregationType as Er, SidePanelContent as Et, F0AiMessagesContainerProps as F, F0DocumentViewerProps as Fi, CardAvatarVariant as Fn, ChatDashboardBarChartConfig as Fr, F0Card as Ft, F0AiChatProps as G, ColorAvatarVariant as Gi, DropdownItemLabel as Gn, ChatDashboardHeatmapChartConfig as Gr, CardAlertVariant as Gt, MarkdownTagRenderers as H, AvatarAction as Hi, DropdownContentVariant as Hn, ChatDashboardFilterDefinition as Hr, cardImageSizes as Ht, WelcomeScreenCta as I, F0DocumentViewerToolbarPlacement as Ii, AlertAvatarProps as In, ChatDashboardChartConfig as Ir, F0CardProps as It, AiChatComposerActionItem as J, FileAvatarVariant as Ji, DropdownItemSeparator as Jn, ChatDashboardMetricFormat as Jr, ValueDisplayRendererDefinition as Jt, F0AiChatProvider as K, ColorListAvatarVariant as Ki, DropdownItemObject as Kn, ChatDashboardItem as Kr, CardMetadata as Kt, FeedbackConfig as L, F0PdfScale as Li, F0AvatarAlert as Ln, ChatDashboardChartItem as Lr, CardImageAspectRatio as Lt, useAiChatTranslations as M, WithDataTestIdPropsOf as Ma, F0DocumentHtmlSandbox as Mi, F0TagAlert as Mn, CanvasContentBase as Mr, EntityRefs as Mt, useAiChat as N, WithDataTestIdReturnType as Na, F0DocumentKind as Ni, Level as Nn, CanvasEntityDefinition as Nr, EntityResolvers as Nt, F0TagRaw as O, F0IconProps as Oa, F0PdfViewerAction as Oi, chartColorTokens as On, AutofillTimesheetShift as Or, SidePanelLayout as Ot, F0AiMessagesContainer as P, withDataTestId as Pa, F0DocumentViewerAction as Pi, Props$1 as Pn, ChartComputation as Pr, EntityUrlBuilders as Pt, AiChatCreditWarning as Q, TeamAvatarVariant as Qi, LinkContextValue as Qn, ChatDashboardRadarChartConfig as Qr, TagVariant as Qt, UserReaction as R, pdfScales as Ri, alertAvatarTypes as Rn, ChatDashboardCollectionItem as Rr, CardImageFit as Rt, FileItemProps as S, modules as Sa, F0VideoPlayer as Si, TooltipGroupProps as Sn, F0PersonCard as Sr, WelcomeScreenSuggestion as St, F0TagList as T, tagDotColors as Ta, Localized as Ti, HourDistributionCellValue as Tn, F0Avatar as Tr, aiTranslations as Tt, markdownRenderers as U, AvatarVariant$1 as Ui, DropdownInternalProps as Un, ChatDashboardFunnelChartConfig as Ur, CardAlertAction as Ut, ThinkingProps as V, F0AvatarModuleProps as Vi, F0LinkProps as Vn, ChatDashboardDateNavigationGranularity as Vr, cardImageFits as Vt, F0AiChat as W, AvatarVariants as Wi, DropdownItem as Wn, ChatDashboardGaugeChartConfig as Wr, CardAlertProps as Wt, AiChatComposerActionSubmenu as X, IconAvatarVariant as Xi, DropdownItemSwitch as Xn, ChatDashboardNavigationFilterDefinition as Xr, TagType as Xt, AiChatComposerActionSeparator as Y, FlagAvatarVariant as Yi, DropdownItemSubmenu as Yn, ChatDashboardMetricItem as Yr, F0TagListProps as Yt, AiChatComposerActionToggle as Z, PersonAvatarVariant as Zi, NavigationItem as Zn, ChatDashboardPieChartConfig as Zr, Tag as Zt, F0FileItem as _, AvatarBadge as _a, AiChatFileKind as _i, F0ProgressSeriesSize as _n, StatusVariant as _r, PendingContext as _t, F0CardHorizontal as a, CountryCode as aa, DataDownloadCanvasContent as ai, F0TagCompanyProps as an, buttonVariants as ar, AiChatTrackingOptions as at, FileAction as b, BadgeProps as ba, AiChatShowFilesItem as bi, Tooltip as bn, CandidateProfile as br, UploadedFile as bt, MobileDropdown as c, FileDef as ca, FormCanvasContent as ci, F0TagBalanceProps as cn, EmojiRenderMode as cr, AiChatUsageLimits as ct, useFormCardValueFormatter as d, BaseAvatar as da, HeatmapComputation as di, RelaxedNumericWithFormatter as dn, ActionButtonVariant as dr, AppendToolCall as dt, F0AvatarTeam as ea, CollectionComputation as ei, F0TagTeamProps as en, F0ButtonProps as er, AiChatDisclaimer as et, useSetFormCardValueFormatter as f, F0AvatarCompanyProps as fa, MetricComputation as fi, F0ProgressSeries as fn, ExpenseProfile as fr, CreditsUsage as ft, F0FileAction as g, F0AvatarColorProps as ga, AiChatFile as gi, F0ProgressSeriesProps as gn, F0TagStatusProps as gr, F0ToolCall as gt, DetailsItemType as h, F0AvatarColor as ha, ScatterComputation as hi, F0ProgressSeriesOptions as hn, F0TagStatus as hr, F0Message as ht, useI18n as i, F0AvatarIconProps as ia, DashboardMetadata as ii, F0TagCompany as in, buttonSizes as ir, AiChatProviderProps as it, AiChatTranslationsProvider as j, WithDataTestIdProps as ja, F0DocumentHtmlExecution as ji, F0AvatarListProps as jn, CanvasContent as jr, CustomEntityRefConfig as jt, F0TagDot as k, IconType as ka, F0PdfViewerProps as ki, BarSeriesStyle as kn, BulkResolveInconsistenciesCanvasContent as kr, SidePanelViewDefinition as kt, FormCardValueFormatterEntry as l, F0AvatarEmoji as la, FormatPreset as li, Numeric as ln, getEmojiLabel as lr, AiChatUsageLimitsSection as lt, DetailsItemContent as m, F0AvatarColorListProps as ma, RadarComputation as mi, F0ProgressSeriesColor as mn, RequisitionProfile as mr, F0AiChatWelcomeCard as mt, I18nProviderProps as n, F0AvatarPersonProps as na, DashboardCanvasContent as ni, F0TagPerson as nn, ButtonSize as nr, AiChatFileAttachmentConfig as nt, F0CardHorizontalProps as o, F0AvatarFile as oa, DataDownloadDataset as oi, F0TagBalance as on, EmojiImage as or, AiChatTranslations as ot, DetailsItem as p, F0AvatarColorList as pa, PieComputation as pi, F0ProgressSeriesBar as pn, VacancyProfile as pr, F0AIMessage as pt, AiChatComposerAction as q, CompanyAvatarVariant as qi, DropdownItemPanel as qn, ChatDashboardLineChartConfig as qr, cardAlertVariants as qt, buildTranslations as r, F0AvatarIcon as ra, DashboardFetchSpec as ri, F0TagPersonProps as rn, ButtonVariant as rr, AiChatMode as rt, Dropdown as s, F0AvatarFileProps as sa, FileCanvasContent as si, BalanceStatus as sn, EmojiImageProps as sr, AiChatTranslationsProviderProps as st, I18nProvider as t, F0AvatarTeamProps as ta, DashboardCanvasActions as ti, F0TagRawProps as tn, ButtonNavProps as tr, AiChatEmployeeCredits as tt, FormCardValueFormatterProvider as u, F0AvatarEmojiProps as ua, GaugeComputation as ui, NumericWithFormatter as un, useEmojiConfetti as ur, AppendMessage as ut, F0FileItemProps as v, BaseAvatarProps as va, AiChatFilePreviewConfig as vi, f0ProgressSeriesColors as vn, Variant as vr, PendingQuote as vt, f0FileItemSizes as w, Props$2 as wa, VideoPlayerContent as wi, Shortcut as wn, F0PersonCardProps as wr, WelcomeSuggestionClickEvent as wt, FileItem as x, ModuleId as xa, AttachmentDocumentKind as xi, TooltipGroup as xn, PersonProfile as xr, VisualizationMode as xt, F0FileItemSize as y, Badge as ya, AiChatFileUrlResolver as yi, f0ProgressSeriesSizes as yn, JobPostingProfile as yr, TranscribeFn as yt, useToolCallId as z, DataAttributes as zi, CardSecondaryAction as zn, ChatDashboardColumn as zr, CardImageSize as zt };
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-C510FLet.js";
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 { sa as invariant } from "./F0CanvasPanel-BWbAs38E.js";
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-P9uOVsGz.js";
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-Bo-Zw0Zx.js";
3
- import { o as r } from "./F0Icon-P9uOVsGz.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-DhWTWc7-.js";
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";