@floegence/floe-webapp-core 0.61.0 → 0.62.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/chat.js CHANGED
@@ -5,16 +5,16 @@ import { ChatInput as n } from "./components/chat/input/ChatInput.js";
5
5
  import { ChatProvider as d, useChatContext as p } from "./components/chat/ChatProvider.js";
6
6
  import { ChecklistBlock as c } from "./components/chat/blocks/ChecklistBlock.js";
7
7
  import { CodeBlock as s } from "./components/chat/blocks/CodeBlock.js";
8
- import { CodeDiffBlock as g } from "./components/chat/blocks/CodeDiffBlock.js";
8
+ import { CodeDiffBlock as u } from "./components/chat/blocks/CodeDiffBlock.js";
9
9
  import { ConnectionStatus as h } from "./components/chat/status/ConnectionStatus.js";
10
- import { DEFAULT_VIRTUAL_LIST_CONFIG as C } from "./components/chat/types.js";
10
+ import { DEFAULT_VIRTUAL_LIST_CONFIG as w } from "./components/chat/types.js";
11
11
  import { FileBlock as W } from "./components/chat/blocks/FileBlock.js";
12
12
  import { ImageBlock as D } from "./components/chat/blocks/ImageBlock.js";
13
- import { MarkdownBlock as v } from "./components/chat/blocks/MarkdownBlock.js";
13
+ import { MarkdownBlock as I } from "./components/chat/blocks/MarkdownBlock.js";
14
14
  import { MarkdownMedia as L } from "./components/chat/blocks/MarkdownMedia.js";
15
- import { MermaidBlock as F } from "./components/chat/blocks/MermaidBlock.js";
16
- import { MessageActions as y } from "./components/chat/message/MessageActions.js";
17
- import { MessageAvatar as P } from "./components/chat/message/MessageAvatar.js";
15
+ import { MermaidBlock as y } from "./components/chat/blocks/MermaidBlock.js";
16
+ import { MessageActions as b } from "./components/chat/message/MessageActions.js";
17
+ import { MessageAvatar as H } from "./components/chat/message/MessageAvatar.js";
18
18
  import { MessageBubble as R } from "./components/chat/message/MessageBubble.js";
19
19
  import { MessageItem as V } from "./components/chat/message/MessageItem.js";
20
20
  import { MessageMeta as N } from "./components/chat/message/MessageMeta.js";
@@ -28,13 +28,14 @@ import { VirtualMessageList as er } from "./components/chat/message-list/Virtual
28
28
  import { WorkingIndicator as tr } from "./components/chat/status/WorkingIndicator.js";
29
29
  import { buildAssistantNoticeEvents as ir, createStreamEventBuilder as fr, isStreamEvent as mr } from "./components/chat/streamEvents.js";
30
30
  import { computeCodeDiff as kr, computeCodeDiffSync as dr, configureDiffWorker as pr, createDiffWorker as xr, hasDiffWorker as cr, terminateDiffWorker as lr, waitForDiffWorker as sr } from "./components/chat/hooks/useCodeDiff.js";
31
- import { configureMarkdownWorker as gr, createMarkdownWorker as ur, hasMarkdownWorker as hr, renderMarkdown as wr, renderMarkdownSync as Cr, terminateMarkdownWorker as Br, waitForMarkdownWorker as Wr } from "./components/chat/hooks/useMarkdown.js";
32
- import { configureMermaidWorker as Dr, configureSyncMermaid as Ar, renderMermaid as vr, terminateMermaidWorker as Ir, useMermaid as Lr } from "./components/chat/hooks/useMermaid.js";
33
- import { configureShikiWorker as Fr, configureSyncHighlighter as br, highlightCode as yr, terminateShikiWorker as Er, useCodeHighlight as Pr } from "./components/chat/hooks/useCodeHighlight.js";
34
- import { markdownMediaKind as Rr, markdownMediaPlaceholder as Ur, readMarkdownMediaPlaceholder as Vr, safeMarkdownMediaURL as _r, sandboxedMarkdownHtml as Nr } from "./components/chat/markdown/media.js";
35
- import { useAttachments as Kr } from "./components/chat/hooks/useAttachments.js";
36
- import { useAutoScroll as jr } from "./components/chat/hooks/useAutoScroll.js";
37
- import { useVirtualList as zr } from "./components/chat/hooks/useVirtualList.js";
31
+ import { configureMarkdownWorker as ur, createMarkdownWorker as gr, hasMarkdownWorker as hr, renderMarkdown as Cr, renderMarkdownSync as wr, terminateMarkdownWorker as Br, waitForMarkdownWorker as Wr } from "./components/chat/hooks/useMarkdown.js";
32
+ import { configureMermaidWorker as Dr, configureSyncMermaid as Ar, renderMermaid as Ir, terminateMermaidWorker as vr, useMermaid as Lr } from "./components/chat/hooks/useMermaid.js";
33
+ import { configureShikiWorker as yr, configureSyncHighlighter as Fr, highlightCode as br, terminateShikiWorker as Er, useCodeHighlight as Hr } from "./components/chat/hooks/useCodeHighlight.js";
34
+ import { createInputHistoryController as Rr } from "./components/chat/input/createInputHistoryController.js";
35
+ import { markdownMediaKind as Vr, markdownMediaPlaceholder as _r, readMarkdownMediaPlaceholder as Nr, safeMarkdownMediaURL as Gr, sandboxedMarkdownHtml as Kr } from "./components/chat/markdown/media.js";
36
+ import { useAttachments as jr } from "./components/chat/hooks/useAttachments.js";
37
+ import { useAutoScroll as zr } from "./components/chat/hooks/useAutoScroll.js";
38
+ import { useVirtualList as Qr } from "./components/chat/hooks/useVirtualList.js";
38
39
  export {
39
40
  o as AttachmentPreview,
40
41
  a as BlockRenderer,
@@ -43,16 +44,16 @@ export {
43
44
  d as ChatProvider,
44
45
  c as ChecklistBlock,
45
46
  s as CodeBlock,
46
- g as CodeDiffBlock,
47
+ u as CodeDiffBlock,
47
48
  h as ConnectionStatus,
48
- C as DEFAULT_VIRTUAL_LIST_CONFIG,
49
+ w as DEFAULT_VIRTUAL_LIST_CONFIG,
49
50
  W as FileBlock,
50
51
  D as ImageBlock,
51
- v as MarkdownBlock,
52
+ I as MarkdownBlock,
52
53
  L as MarkdownMedia,
53
- F as MermaidBlock,
54
- y as MessageActions,
55
- P as MessageAvatar,
54
+ y as MermaidBlock,
55
+ b as MessageActions,
56
+ H as MessageAvatar,
56
57
  R as MessageBubble,
57
58
  V as MessageItem,
58
59
  N as MessageMeta,
@@ -68,36 +69,37 @@ export {
68
69
  kr as computeCodeDiff,
69
70
  dr as computeCodeDiffSync,
70
71
  pr as configureDiffWorker,
71
- gr as configureMarkdownWorker,
72
+ ur as configureMarkdownWorker,
72
73
  Dr as configureMermaidWorker,
73
- Fr as configureShikiWorker,
74
- br as configureSyncHighlighter,
74
+ yr as configureShikiWorker,
75
+ Fr as configureSyncHighlighter,
75
76
  Ar as configureSyncMermaid,
76
77
  xr as createDiffWorker,
77
- ur as createMarkdownWorker,
78
+ Rr as createInputHistoryController,
79
+ gr as createMarkdownWorker,
78
80
  fr as createStreamEventBuilder,
79
81
  cr as hasDiffWorker,
80
82
  hr as hasMarkdownWorker,
81
- yr as highlightCode,
83
+ br as highlightCode,
82
84
  mr as isStreamEvent,
83
- Rr as markdownMediaKind,
84
- Ur as markdownMediaPlaceholder,
85
- Vr as readMarkdownMediaPlaceholder,
86
- wr as renderMarkdown,
87
- Cr as renderMarkdownSync,
88
- vr as renderMermaid,
89
- _r as safeMarkdownMediaURL,
90
- Nr as sandboxedMarkdownHtml,
85
+ Vr as markdownMediaKind,
86
+ _r as markdownMediaPlaceholder,
87
+ Nr as readMarkdownMediaPlaceholder,
88
+ Cr as renderMarkdown,
89
+ wr as renderMarkdownSync,
90
+ Ir as renderMermaid,
91
+ Gr as safeMarkdownMediaURL,
92
+ Kr as sandboxedMarkdownHtml,
91
93
  lr as terminateDiffWorker,
92
94
  Br as terminateMarkdownWorker,
93
- Ir as terminateMermaidWorker,
95
+ vr as terminateMermaidWorker,
94
96
  Er as terminateShikiWorker,
95
- Kr as useAttachments,
96
- jr as useAutoScroll,
97
+ jr as useAttachments,
98
+ zr as useAutoScroll,
97
99
  p as useChatContext,
98
- Pr as useCodeHighlight,
100
+ Hr as useCodeHighlight,
99
101
  Lr as useMermaid,
100
- zr as useVirtualList,
102
+ Qr as useVirtualList,
101
103
  sr as waitForDiffWorker,
102
104
  Wr as waitForMarkdownWorker
103
105
  };
@@ -8,5 +8,6 @@ export { VirtualMessageList, type VirtualMessageListProps } from './message-list
8
8
  export { MessageItem, MessageBubble, MessageAvatar, MessageMeta, MessageActions, type MessageItemProps, type MessageBubbleProps, type MessageAvatarProps, type MessageMetaProps, type MessageActionsProps, } from './message';
9
9
  export { BlockRenderer, TextBlock, MarkdownBlock, CodeBlock, CodeDiffBlock, ImageBlock, SvgBlock, MermaidBlock, ChecklistBlock, ShellBlock, FileBlock, ThinkingBlock, ToolCallBlock, type BlockRendererProps, type TextBlockProps, type MarkdownBlockProps, type CodeBlockProps, type CodeDiffBlockProps, type ImageBlockProps, type SvgBlockProps, type MermaidBlockProps, type ChecklistBlockProps, type ShellBlockProps, type FileBlockProps, type ThinkingBlockProps, type ToolCallBlockProps, } from './blocks';
10
10
  export { ChatInput, AttachmentPreview, type ChatInputProps, type AttachmentPreviewProps } from './input';
11
+ export { createInputHistoryController, type InputHistoryEntry, type InputHistoryContext, type InputHistoryState, type InputHistoryOptions, type InputHistoryEditor, type InputHistoryController, } from './input/createInputHistoryController';
11
12
  export { WorkingIndicator, StreamingCursor, ConnectionStatus, type WorkingIndicatorProps, type StreamingCursorProps, type ConnectionStatusProps, type ConnectionState, } from './status';
12
13
  export { useVirtualList, useCodeHighlight, useMermaid, useAutoScroll, useAttachments, highlightCode, renderMermaid, terminateShikiWorker, terminateMermaidWorker, configureShikiWorker, configureSyncHighlighter, configureMermaidWorker, configureSyncMermaid, createMarkdownWorker, configureMarkdownWorker, hasMarkdownWorker, waitForMarkdownWorker, renderMarkdown, renderMarkdownSync, terminateMarkdownWorker, createDiffWorker, configureDiffWorker, hasDiffWorker, waitForDiffWorker, computeCodeDiff, computeCodeDiffSync, terminateDiffWorker, type UseVirtualListOptions, type UseVirtualListReturn, type VirtualItem, type UseAutoScrollOptions, type UseAttachmentsOptions, } from './hooks';
@@ -0,0 +1,36 @@
1
+ export interface InputHistoryEntry {
2
+ readonly id: string;
3
+ readonly text: string;
4
+ }
5
+ export interface InputHistoryContext {
6
+ readonly scope: string;
7
+ readonly value: string;
8
+ /** Changes on every host draft mutation, including writes of the same text. */
9
+ readonly revision: unknown;
10
+ /** Oldest first. IDs are unique within the scope. Empty text is skipped. */
11
+ readonly entries: readonly InputHistoryEntry[];
12
+ readonly enabled: boolean;
13
+ }
14
+ export interface InputHistoryState {
15
+ /** One means the newest entry in the current browsing session. */
16
+ readonly position: number;
17
+ readonly total: number;
18
+ }
19
+ export interface InputHistoryOptions {
20
+ readonly read: () => InputHistoryContext;
21
+ /** Commit to the controlled editor synchronously; never submit the text. */
22
+ readonly write: (text: string) => void;
23
+ readonly onChange?: (state: InputHistoryState | null, reason: 'navigate' | 'reset') => void;
24
+ }
25
+ export type InputHistoryEditor = Pick<HTMLTextAreaElement, 'value' | 'selectionStart' | 'selectionEnd' | 'disabled' | 'readOnly' | 'setSelectionRange'>;
26
+ export interface InputHistoryController {
27
+ readonly state: () => InputHistoryState | null;
28
+ /** Call when the controlled draft, scope, eligibility or candidates change. */
29
+ readonly synchronize: () => void;
30
+ /** Call on input, paste, pointer selection, composition start, blur and hide. */
31
+ readonly reset: () => void;
32
+ /** Invoke after higher-priority menus. True means the event was consumed. */
33
+ readonly handleKeyDown: (event: KeyboardEvent, editor: InputHistoryEditor) => boolean;
34
+ }
35
+ /** Terminal-style recall for a host-owned controlled textarea. No persistence. */
36
+ export declare function createInputHistoryController(options: InputHistoryOptions): InputHistoryController;
@@ -0,0 +1,48 @@
1
+ function d(i) {
2
+ let t = null, c = !1;
3
+ const u = () => t ? { position: t.entries.length - t.index, total: t.entries.length } : null, a = () => {
4
+ t && (t = null, i.onChange?.(null, "reset"));
5
+ }, f = () => {
6
+ if (!t || c) return;
7
+ const e = i.read();
8
+ if (!e.enabled || e.scope !== t.scope || e.value !== t.value || !Object.is(e.revision, t.revision)) {
9
+ a();
10
+ return;
11
+ }
12
+ const r = new Map(e.entries.map((n) => [n.id, n.text]));
13
+ t.entries.some((n) => r.get(n.id) !== n.text) && a();
14
+ }, g = (e, r) => {
15
+ const n = t, l = n.entries[e]?.text ?? "";
16
+ c = !0;
17
+ try {
18
+ i.write(l);
19
+ } finally {
20
+ c = !1;
21
+ }
22
+ const s = i.read();
23
+ if (!s.enabled || s.scope !== n.scope || s.value !== l) {
24
+ a();
25
+ return;
26
+ }
27
+ t = e < n.entries.length ? { ...n, index: e, value: l, revision: s.revision } : null, r.setSelectionRange(l.length, l.length), i.onChange?.(u(), "navigate");
28
+ };
29
+ return { state: u, synchronize: f, reset: a, handleKeyDown: (e, r) => {
30
+ f();
31
+ const n = i.read();
32
+ if (e.defaultPrevented || e.isComposing || e.keyCode === 229 || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || !n.enabled || !n.scope || r.disabled || r.readOnly || r.selectionStart !== r.selectionEnd || r.value !== n.value)
33
+ return a(), !1;
34
+ if (e.key !== "ArrowUp" && e.key !== "ArrowDown" && e.key !== "Escape")
35
+ return ["Shift", "Control", "Alt", "Meta"].includes(e.key) || a(), !1;
36
+ if (!t) {
37
+ if (e.key !== "ArrowUp" || n.value.length !== 0) return !1;
38
+ const s = n.entries.filter((o) => o.text.length > 0).map((o) => ({ id: o.id, text: o.text }));
39
+ if (!s.length) return !1;
40
+ t = { scope: n.scope, entries: s, index: s.length, value: "", revision: n.revision };
41
+ }
42
+ const l = e.key === "Escape" ? t.entries.length : Math.max(0, Math.min(t.entries.length, t.index + (e.key === "ArrowUp" ? -1 : 1)));
43
+ return e.preventDefault(), e.stopPropagation(), l !== t.index && g(l, r), !0;
44
+ } };
45
+ }
46
+ export {
47
+ d as createInputHistoryController
48
+ };
package/dist/full.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { FloeProvider as r } from "./app/FloeProvider.js";
2
- import { applyShellThemeAttribute as i, applySurfaceStyleAttribute as n, applyTheme as a, builtInThemes as c, getSystemTheme as l, isFloeSurfaceStyle as m, isThemeType as s, mergeThemeTokenMaps as p, resolveThemeTokenOverrides as f, resolveThemeTokens as d, syncThemeTokenOverrides as S } from "./styles/themes/index.js";
2
+ import { applyShellThemeAttribute as i, applySurfaceStyleAttribute as n, applyTheme as a, builtInThemes as l, getSystemTheme as c, isFloeSurfaceStyle as m, isThemeType as s, mergeThemeTokenMaps as p, resolveThemeTokenOverrides as f, resolveThemeTokens as d, syncThemeTokenOverrides as S } from "./styles/themes/index.js";
3
3
  import { floeColorTokenCategories as x, floeDesignTokens as I, floeFontFamilyTokens as u, floeMotionTokens as C, floeRadiusTokens as g, floeSharedCssVariables as h, floeSpacingTokens as k, floeSurfaceTokens as F, floeThemeColorVariables as E, floeTypographyTokens as P, getFloeColorTokenValue as A } from "./styles/tokens.js";
4
- import { Activity as R, ActivityIcon as _, AlertCircle as D, AlertTriangle as y, ArchiveIcon as v, ArrowDown as M, ArrowLeft as B, ArrowRight as O, ArrowRightLeft as W, ArrowUp as N, AtSign as w, AwardIcon as b, BarChart as H, BatteryIcon as U, Bell as G, BellIcon as V, Bookmark as K, BookmarkIcon as z, Bot as X, BotIcon as Z, BugIcon as Q, Calendar as Y, CalendarIcon as q, Camera as j, CameraIcon as J, ChartIcon as $, Check as ee, CheckCircle as oe, CheckIcon as re, ChevronDown as te, ChevronLeft as ie, ChevronRight as ne, ChevronUp as ae, ChevronsUpDown as ce, CircleStop as le, Clock as me, ClockIcon as se, CloseIcon as pe, Cloud as fe, CloudIcon as de, Code as Se, CodeIcon as Te, CompassIcon as xe, Copy as Ie, CopyCheck as ue, CopyCheckIcon as Ce, CopyIcon as ge, Cpu as he, CreditCardIcon as ke, Database as Fe, DatabaseIcon as Ee, DollarIcon as Pe, Download as Ae, DownloadIcon as Le, EditIcon as Re, ErrorIcon as _e, ExternalLink as De, Eye as ye, EyeIcon as ve, EyeOff as Me, FileCode as Be, FilePlus as Oe, FilePlusIcon as We, FileText as Ne, Files as we, Filter as be, FilterIcon as He, FireIcon as Ue, Folder as Ge, FolderOpen as Ve, FolderPlus as Ke, FolderPlusIcon as ze, GiftIcon as Xe, GitBranch as Ze, GitBranchIcon as Qe, Globe as Ye, GlobeIcon as qe, Grid as je, Grid3x3 as Je, GripVertical as $e, Hash as eo, HeadphonesIcon as oo, Heart as ro, HeartIcon as to, HelpIcon as io, Highlighter as no, History as ao, Home as co, HomeIcon as lo, Image as mo, ImageIcon as so, Info as po, InfoIcon as fo, Key as So, KeyIcon as To, Layers as xo, LayersIcon as Io, LayoutDashboard as uo, Link as Co, LinkIcon as go, Loader2 as ho, LoadingIcon as ko, Lock as Fo, LockIcon as Eo, MagicIcon as Po, Mail as Ao, MailIcon as Lo, MapPinIcon as Ro, Maximize as _o, Menu as Do, MessageIcon as yo, MessageSquare as vo, Mic as Mo, MicIcon as Bo, MicOff as Oo, Minus as Wo, MinusIcon as No, MonitorPointer as wo, Moon as bo, MoonIcon as Ho, MoreHorizontal as Uo, MoreVertical as Go, MuteIcon as Vo, Package as Ko, PackageIcon as zo, Paperclip as Xo, Paste as Zo, PasteIcon as Qo, Pause as Yo, PauseIcon as qo, Pencil as jo, Phone as Jo, PieChart as $o, Pin as er, PinIcon as or, Play as rr, PlayIcon as tr, Plus as ir, PlusIcon as nr, PowerIcon as ar, PrinterIcon as cr, Quote as lr, Refresh as mr, RefreshIcon as sr, Region as pr, Restore as fr, RocketIcon as dr, Save as Sr, SaveIcon as Tr, Search as xr, SearchIcon as Ir, Send as ur, SendIcon as Cr, Settings as gr, SettingsIcon as hr, ShareIcon as kr, Shield as Fr, ShieldCheck as Er, ShieldIcon as Pr, SparkleIcon as Ar, Sparkles as Lr, Star as Rr, StarIcon as _r, Stop as Dr, StopFilled as yr, SuccessIcon as vr, Sun as Mr, SunIcon as Br, TagIcon as Or, TargetIcon as Wr, Terminal as Nr, TerminalIcon as wr, TextTool as br, ThumbsDownIcon as Hr, ThumbsUpIcon as Ur, Timer as Gr, Trash as Vr, TrashIcon as Kr, TrendingDown as zr, TrendingUp as Xr, Unlock as Zr, Upload as Qr, UploadIcon as Yr, User as qr, UserIcon as jr, Video as Jr, VideoIcon as $r, Volume as et, VolumeIcon as ot, VolumeOff as rt, Wand as tt, WarningIcon as it, WifiIcon as nt, WifiOffIcon as at, Workflow as ct, X as lt, XCircle as mt, Zap as st, ZapIcon as pt } from "./components/icons/index.js";
4
+ import { Activity as R, ActivityIcon as _, AlertCircle as D, AlertTriangle as y, ArchiveIcon as v, ArrowDown as M, ArrowLeft as B, ArrowRight as O, ArrowRightLeft as W, ArrowUp as N, AtSign as w, AwardIcon as b, BarChart as H, BatteryIcon as U, Bell as G, BellIcon as V, Bookmark as K, BookmarkIcon as z, Bot as X, BotIcon as Z, BugIcon as Q, Calendar as Y, CalendarIcon as q, Camera as j, CameraIcon as J, ChartIcon as $, Check as ee, CheckCircle as oe, CheckIcon as re, ChevronDown as te, ChevronLeft as ie, ChevronRight as ne, ChevronUp as ae, ChevronsUpDown as le, CircleStop as ce, Clock as me, ClockIcon as se, CloseIcon as pe, Cloud as fe, CloudIcon as de, Code as Se, CodeIcon as Te, CompassIcon as xe, Copy as Ie, CopyCheck as ue, CopyCheckIcon as Ce, CopyIcon as ge, Cpu as he, CreditCardIcon as ke, Database as Fe, DatabaseIcon as Ee, DollarIcon as Pe, Download as Ae, DownloadIcon as Le, EditIcon as Re, ErrorIcon as _e, ExternalLink as De, Eye as ye, EyeIcon as ve, EyeOff as Me, FileCode as Be, FilePlus as Oe, FilePlusIcon as We, FileText as Ne, Files as we, Filter as be, FilterIcon as He, FireIcon as Ue, Folder as Ge, FolderOpen as Ve, FolderPlus as Ke, FolderPlusIcon as ze, GiftIcon as Xe, GitBranch as Ze, GitBranchIcon as Qe, Globe as Ye, GlobeIcon as qe, Grid as je, Grid3x3 as Je, GripVertical as $e, Hash as eo, HeadphonesIcon as oo, Heart as ro, HeartIcon as to, HelpIcon as io, Highlighter as no, History as ao, Home as lo, HomeIcon as co, Image as mo, ImageIcon as so, Info as po, InfoIcon as fo, Key as So, KeyIcon as To, Layers as xo, LayersIcon as Io, LayoutDashboard as uo, Link as Co, LinkIcon as go, Loader2 as ho, LoadingIcon as ko, Lock as Fo, LockIcon as Eo, MagicIcon as Po, Mail as Ao, MailIcon as Lo, MapPinIcon as Ro, Maximize as _o, Menu as Do, MessageIcon as yo, MessageSquare as vo, Mic as Mo, MicIcon as Bo, MicOff as Oo, Minus as Wo, MinusIcon as No, MonitorPointer as wo, Moon as bo, MoonIcon as Ho, MoreHorizontal as Uo, MoreVertical as Go, MuteIcon as Vo, Package as Ko, PackageIcon as zo, Paperclip as Xo, Paste as Zo, PasteIcon as Qo, Pause as Yo, PauseIcon as qo, Pencil as jo, Phone as Jo, PieChart as $o, Pin as er, PinIcon as or, Play as rr, PlayIcon as tr, Plus as ir, PlusIcon as nr, PowerIcon as ar, PrinterIcon as lr, Quote as cr, Refresh as mr, RefreshIcon as sr, Region as pr, Restore as fr, RocketIcon as dr, Save as Sr, SaveIcon as Tr, Search as xr, SearchIcon as Ir, Send as ur, SendIcon as Cr, Settings as gr, SettingsIcon as hr, ShareIcon as kr, Shield as Fr, ShieldCheck as Er, ShieldIcon as Pr, SparkleIcon as Ar, Sparkles as Lr, Star as Rr, StarIcon as _r, Stop as Dr, StopFilled as yr, SuccessIcon as vr, Sun as Mr, SunIcon as Br, TagIcon as Or, TargetIcon as Wr, Terminal as Nr, TerminalIcon as wr, TextTool as br, ThumbsDownIcon as Hr, ThumbsUpIcon as Ur, Timer as Gr, Trash as Vr, TrashIcon as Kr, TrendingDown as zr, TrendingUp as Xr, Unlock as Zr, Upload as Qr, UploadIcon as Yr, User as qr, UserIcon as jr, Video as Jr, VideoIcon as $r, Volume as et, VolumeIcon as ot, VolumeOff as rt, Wand as tt, WarningIcon as it, WifiIcon as nt, WifiOffIcon as at, Workflow as lt, X as ct, XCircle as mt, Zap as st, ZapIcon as pt } from "./components/icons/index.js";
5
5
  import { DEFAULT_TERMINAL_WORKSPACE_PROFILE as dt, normalizeTerminalWorkspaceProfile as St } from "./terminal/workspaceProfile.js";
6
6
  import { clampTerminalCursor as xt, createTerminalEditorState as It, deleteTerminalTextBackward as ut, insertTerminalText as Ct, moveTerminalCursor as gt, navigateTerminalHistory as ht } from "./terminal/editorModel.js";
7
7
  import { applyTerminalSessionSuggestion as Ft, createTerminalSessionState as Et, dispatchTerminalSessionKey as Pt, getTerminalPromptPreview as At, getTerminalSessionSuggestions as Lt, setTerminalSessionInputValue as Rt, submitTerminalSession as _t } from "./terminal/sessionModel.js";
@@ -10,7 +10,7 @@ import { DEFAULT_TERMINAL_SUGGESTION_PROVIDERS as Mt, applyTerminalSuggestion as
10
10
  import { ActivityAppsMain as Zt } from "./app/ActivityAppsMain.js";
11
11
  import { ActivityBar as Yt } from "./components/layout/ActivityBar.js";
12
12
  import { AffixInput as jt, Input as Jt, NumberInput as $t, Textarea as ei } from "./components/ui/Input.js";
13
- import { AnimatedBorderCard as ri, Card as ti, CardContent as ii, CardDescription as ni, CardFooter as ai, CardHeader as ci, CardTitle as li, Interactive3DCard as mi, MorphCard as si, NeonCard as pi } from "./components/ui/Card.js";
13
+ import { AnimatedBorderCard as ri, Card as ti, CardContent as ii, CardDescription as ni, CardFooter as ai, CardHeader as li, CardTitle as ci, Interactive3DCard as mi, MorphCard as si, NeonCard as pi } from "./components/ui/Card.js";
14
14
  import { ArchiveFileIcon as di, AudioFileIcon as Si, BrokenSymlinkIcon as Ti, CodeFileIcon as xi, ConfigFileIcon as Ii, DocumentFileIcon as ui, FileIcon as Ci, FileItemIcon as gi, FolderIcon as hi, FolderOpenIcon as ki, ImageFileIcon as Fi, JavaScriptFileIcon as Ei, ShellScriptFileIcon as Pi, StyleFileIcon as Ai, SymlinkFileIcon as Li, SymlinkFolderIcon as Ri, SymlinkFolderOpenIcon as _i, TypeScriptFileIcon as Di, VideoFileIcon as yi, getFileIcon as vi, resolveFileItemIcon as Mi } from "./components/file-browser/FileIcons.js";
15
15
  import { AreaChart as Oi, DataBarChart as Wi, DataPieChart as Ni, LineChart as wi, MonitoringChart as bi } from "./components/ui/Charts.js";
16
16
  import { AttachmentPreview as Ui } from "./components/chat/input/AttachmentPreview.js";
@@ -18,7 +18,7 @@ import { BUILT_IN_SHELL_THEME_DEFAULTS as Vi, REQUIRED_SHELL_THEME_TOKENS as Ki,
18
18
  import { BlockRenderer as $i } from "./components/chat/blocks/BlockRenderer.js";
19
19
  import { BottomBar as on, BottomBarItem as rn, StatusIndicator as tn } from "./components/layout/BottomBar.js";
20
20
  import { BottomBarCompanion as an } from "./components/layout/BottomBarCompanion.js";
21
- import { Breadcrumb as ln } from "./components/file-browser/Breadcrumb.js";
21
+ import { Breadcrumb as cn } from "./components/file-browser/Breadcrumb.js";
22
22
  import { Button as sn } from "./components/ui/Button.js";
23
23
  import { CANVAS_WHEEL_INTERACTIVE_ATTR as fn, DEFAULT_CANVAS_WHEEL_INTERACTIVE_SELECTOR as dn, DEFAULT_LOCAL_INTERACTION_SURFACE_SELECTOR as Sn, DEFAULT_WORKBENCH_TEXT_SELECTION_SURFACE_SELECTOR as Tn, DEFAULT_WORKBENCH_WIDGET_ACTIVATION_SURFACE_SELECTOR as xn, DEFAULT_WORKBENCH_WIDGET_SHELL_SELECTOR as In, LOCAL_INTERACTION_SURFACE_ATTR as un, WORKBENCH_TEXT_SELECTION_SURFACE_ATTR as Cn, WORKBENCH_WIDGET_ACTIVATION_SURFACE_ATTR as gn, WORKBENCH_WIDGET_SHELL_ATTR as hn, isLocalInteractionSurfaceTarget as kn, resolveSurfaceInteractionTargetRole as Fn, resolveSurfaceWheelRouting as En, resolveWorkbenchWidgetEventOwnership as Pn, resolveWorkbenchWidgetLocalTypingTarget as An, resolveWorkbenchWidgetTextSelectionTarget as Ln, shouldActivateWorkbenchWidgetLocalTarget as Rn } from "./components/ui/localInteractionSurface.js";
24
24
  import { ChatContainer as Dn } from "./components/chat/ChatContainer.js";
@@ -31,7 +31,7 @@ import { CodeBlock as Qn } from "./components/chat/blocks/CodeBlock.js";
31
31
  import { CodeDiffBlock as qn } from "./components/chat/blocks/CodeDiffBlock.js";
32
32
  import { CommandPalette as Jn } from "./components/ui/CommandPalette.js";
33
33
  import { CommandProvider as ea, createCommandService as oa, useCommand as ra } from "./context/CommandContext.js";
34
- import { ComponentRegistryProvider as ia, createComponentRegistry as na, hasComponentRegistryContext as aa, useComponentContextFactory as ca, useComponentRegistry as la, useOptionalComponentRegistry as ma } from "./context/ComponentRegistry.js";
34
+ import { ComponentRegistryProvider as ia, createComponentRegistry as na, hasComponentRegistryContext as aa, useComponentContextFactory as la, useComponentRegistry as ca, useOptionalComponentRegistry as ma } from "./context/ComponentRegistry.js";
35
35
  import { ConfirmDialog as pa, Dialog as fa } from "./components/ui/Dialog.js";
36
36
  import { ConnectionStatus as Sa } from "./components/chat/status/ConnectionStatus.js";
37
37
  import { DECK_GRID_CONFIG as xa, getGridConfigFromElement as Ia } from "./components/deck/deckGridMetrics.js";
@@ -44,43 +44,43 @@ import { DeckGrid as Ka } from "./components/deck/DeckGrid.js";
44
44
  import { DeckProvider as Xa, createDeckService as Za, useDeck as Qa } from "./context/DeckContext.js";
45
45
  import { DeckTopBar as qa } from "./components/deck/DeckTopBar.js";
46
46
  import { DialogPlacementProvider as Ja } from "./components/ui/DialogPlacementContext.js";
47
- import { DirectoryInput as ec } from "./components/ui/DirectoryInput.js";
48
- import { DirectoryPicker as rc } from "./components/ui/DirectoryPicker.js";
49
- import { DirectoryTree as ic } from "./components/file-browser/DirectoryTree.js";
50
- import { DisplayModePageShell as ac } from "./components/layout/DisplayModePageShell.js";
51
- import { DisplayModeSwitcher as lc, sanitizeDisplayMode as mc } from "./components/layout/DisplayModeSwitcher.js";
52
- import { DockActivity as pc, DockBot as fc, DockCode as dc, DockCpu as Sc, DockFileCode as Tc, DockFolder as xc, DockGlobe as Ic, DockLayers as uc, DockLayoutDashboard as Cc, DockMessageSquare as gc, DockRegion as hc, DockSearch as kc, DockSparkles as Fc, DockTerminal as Ec, DockText as Pc } from "./components/icons/DockIcons.js";
53
- import { DropZonePreview as Lc } from "./components/deck/DropZonePreview.js";
54
- import { Dropdown as _c, Select as Dc } from "./components/ui/Dropdown.js";
55
- import { ErrorBlock as vc, HighlightBlock as Mc, InfoBlock as Bc, NoteBlock as Oc, SuccessBlock as Wc, TipBlock as Nc, WarningBlock as wc } from "./components/ui/HighlightBlock.js";
56
- import { FLOE_GEOMETRY_SURFACE_ATTR as Hc, FLOE_HOT_INTERACTION_ATTR as Uc, startHotInteraction as Gc } from "./utils/hotInteraction.js";
57
- import { FileBlock as Kc } from "./components/chat/blocks/FileBlock.js";
58
- import { FileBrowser as Xc } from "./components/file-browser/FileBrowser.js";
59
- import { FileBrowserDragPreview as Qc } from "./components/file-browser/DragPreview.js";
60
- import { FileBrowserDragProvider as qc, hasFileBrowserDragContext as jc, useFileBrowserDrag as Jc } from "./context/FileBrowserDragContext.js";
61
- import { FileBrowserProvider as el, useFileBrowser as ol } from "./components/file-browser/FileBrowserContext.js";
62
- import { FileBrowserStatusBar as tl } from "./components/file-browser/FileBrowserStatusBar.js";
63
- import { FileBrowserToolbar as nl } from "./components/file-browser/FileBrowserToolbar.js";
64
- import { FileContextMenu as cl } from "./components/file-browser/FileContextMenu.js";
65
- import { FileGridView as ml } from "./components/file-browser/FileGridView.js";
66
- import { FileListView as pl } from "./components/file-browser/FileListView.js";
67
- import { FileOpenPicker as dl, normalizeFileOpenSelection as Sl, updateFileOpenSelection as Tl } from "./components/ui/FileOpenPicker.js";
68
- import { FileSavePicker as Il } from "./components/ui/FileSavePicker.js";
69
- import { FilesSidebarWidget as Cl, SearchSidebarWidget as gl, SettingsSidebarWidget as hl, ShowcaseSidebarWidget as kl, SidebarWidget as Fl } from "./widgets/SidebarWidget.js";
70
- import { FloatingWindow as Pl } from "./components/ui/FloatingWindow.js";
71
- import { FloeApp as Ll } from "./app/FloeApp.js";
72
- import { FloeRegistryContributions as _l } from "./app/FloeRegistryContributions.js";
73
- import { FloeRegistryRuntime as yl } from "./app/FloeRegistryRuntime.js";
74
- import { Form as Ml, FormActions as Bl, FormControl as Ol, FormDescription as Wl, FormDivider as Nl, FormField as wl, FormLabel as bl, FormMessage as Hl, FormRow as Ul, FormSection as Gl, useFormSubmitting as Vl } from "./components/ui/Form.js";
75
- import { ImageBlock as zl } from "./components/chat/blocks/ImageBlock.js";
76
- import { InfiniteCanvas as Zl } from "./components/ui/InfiniteCanvas.js";
77
- import { KeepAliveStack as Yl } from "./components/layout/KeepAliveStack.js";
78
- import { Launchpad as jl } from "./components/launchpad/Launchpad.js";
79
- import { LaunchpadGrid as $l } from "./components/launchpad/LaunchpadGrid.js";
47
+ import { DirectoryInput as el } from "./components/ui/DirectoryInput.js";
48
+ import { DirectoryPicker as rl } from "./components/ui/DirectoryPicker.js";
49
+ import { DirectoryTree as il } from "./components/file-browser/DirectoryTree.js";
50
+ import { DisplayModePageShell as al } from "./components/layout/DisplayModePageShell.js";
51
+ import { DisplayModeSwitcher as cl, sanitizeDisplayMode as ml } from "./components/layout/DisplayModeSwitcher.js";
52
+ import { DockActivity as pl, DockBot as fl, DockCode as dl, DockCpu as Sl, DockFileCode as Tl, DockFolder as xl, DockGlobe as Il, DockLayers as ul, DockLayoutDashboard as Cl, DockMessageSquare as gl, DockRegion as hl, DockSearch as kl, DockSparkles as Fl, DockTerminal as El, DockText as Pl } from "./components/icons/DockIcons.js";
53
+ import { DropZonePreview as Ll } from "./components/deck/DropZonePreview.js";
54
+ import { Dropdown as _l, Select as Dl } from "./components/ui/Dropdown.js";
55
+ import { ErrorBlock as vl, HighlightBlock as Ml, InfoBlock as Bl, NoteBlock as Ol, SuccessBlock as Wl, TipBlock as Nl, WarningBlock as wl } from "./components/ui/HighlightBlock.js";
56
+ import { FLOE_GEOMETRY_SURFACE_ATTR as Hl, FLOE_HOT_INTERACTION_ATTR as Ul, startHotInteraction as Gl } from "./utils/hotInteraction.js";
57
+ import { FileBlock as Kl } from "./components/chat/blocks/FileBlock.js";
58
+ import { FileBrowser as Xl } from "./components/file-browser/FileBrowser.js";
59
+ import { FileBrowserDragPreview as Ql } from "./components/file-browser/DragPreview.js";
60
+ import { FileBrowserDragProvider as ql, hasFileBrowserDragContext as jl, useFileBrowserDrag as Jl } from "./context/FileBrowserDragContext.js";
61
+ import { FileBrowserProvider as ec, useFileBrowser as oc } from "./components/file-browser/FileBrowserContext.js";
62
+ import { FileBrowserStatusBar as tc } from "./components/file-browser/FileBrowserStatusBar.js";
63
+ import { FileBrowserToolbar as nc } from "./components/file-browser/FileBrowserToolbar.js";
64
+ import { FileContextMenu as lc } from "./components/file-browser/FileContextMenu.js";
65
+ import { FileGridView as mc } from "./components/file-browser/FileGridView.js";
66
+ import { FileListView as pc } from "./components/file-browser/FileListView.js";
67
+ import { FileOpenPicker as dc, normalizeFileOpenSelection as Sc, updateFileOpenSelection as Tc } from "./components/ui/FileOpenPicker.js";
68
+ import { FileSavePicker as Ic } from "./components/ui/FileSavePicker.js";
69
+ import { FilesSidebarWidget as Cc, SearchSidebarWidget as gc, SettingsSidebarWidget as hc, ShowcaseSidebarWidget as kc, SidebarWidget as Fc } from "./widgets/SidebarWidget.js";
70
+ import { FloatingWindow as Pc } from "./components/ui/FloatingWindow.js";
71
+ import { FloeApp as Lc } from "./app/FloeApp.js";
72
+ import { FloeRegistryContributions as _c } from "./app/FloeRegistryContributions.js";
73
+ import { FloeRegistryRuntime as yc } from "./app/FloeRegistryRuntime.js";
74
+ import { Form as Mc, FormActions as Bc, FormControl as Oc, FormDescription as Wc, FormDivider as Nc, FormField as wc, FormLabel as bc, FormMessage as Hc, FormRow as Uc, FormSection as Gc, useFormSubmitting as Vc } from "./components/ui/Form.js";
75
+ import { ImageBlock as zc } from "./components/chat/blocks/ImageBlock.js";
76
+ import { InfiniteCanvas as Zc } from "./components/ui/InfiniteCanvas.js";
77
+ import { KeepAliveStack as Yc } from "./components/layout/KeepAliveStack.js";
78
+ import { Launchpad as jc } from "./components/launchpad/Launchpad.js";
79
+ import { LaunchpadGrid as $c } from "./components/launchpad/LaunchpadGrid.js";
80
80
  import { LaunchpadItem as om } from "./components/launchpad/LaunchpadItem.js";
81
81
  import { LaunchpadModal as tm } from "./components/launchpad/LaunchpadModal.js";
82
82
  import { LaunchpadPagination as nm } from "./components/launchpad/LaunchpadPagination.js";
83
- import { LaunchpadSearch as cm } from "./components/launchpad/LaunchpadSearch.js";
83
+ import { LaunchpadSearch as lm } from "./components/launchpad/LaunchpadSearch.js";
84
84
  import { LayoutProvider as mm, createLayoutService as sm, useLayout as pm } from "./context/LayoutContext.js";
85
85
  import { LayoutSelector as dm } from "./components/deck/LayoutSelector.js";
86
86
  import { LoadingOverlay as Tm } from "./components/loading/LoadingOverlay.js";
@@ -97,7 +97,7 @@ import { MetricsWidget as bm } from "./widgets/MetricsWidget.js";
97
97
  import { MobileKeyboard as Um } from "./components/ui/MobileKeyboard.js";
98
98
  import { MobileTabBar as Vm } from "./components/layout/MobileTabBar.js";
99
99
  import { NOTES_CONTEXT_MENU_WIDTH_PX as zm, NotesContextMenu as Xm, estimateNotesContextMenuHeight as Zm } from "./components/notes/NotesContextMenu.js";
100
- import { NOTES_SCALE_MAX as Ym, NOTES_SCALE_MIN as qm, NOTE_BUCKET_METRICS as jm, NOTE_COLOR_TOKENS as Jm, TOPIC_ACCENT_TOKENS as $m, TOPIC_ICON_KEYS as es, applyNotesEvent as os, centerViewportOnWorldPoint as rs, clampScale as ts, computeBoardBounds as is, createDefaultNotesSnapshot as ns, groupTrashItems as as, mergeBoardBounds as cs, nextLocalZIndex as ls, normalizeNotesSnapshot as ms, noteBucketMetrics as ss, promoteLocalItem as ps, removeSnapshotItem as fs, removeSnapshotTopic as ds, removeSnapshotTrashItem as Ss, replaceSnapshotItem as Ts, replaceSnapshotTopic as xs, replaceSnapshotTrashItem as Is, screenToWorld as us, visibleWorldRect as Cs, worldToScreen as gs, zoomViewportAtPoint as hs } from "./components/notes/types.js";
100
+ import { NOTES_SCALE_MAX as Ym, NOTES_SCALE_MIN as qm, NOTE_BUCKET_METRICS as jm, NOTE_COLOR_TOKENS as Jm, TOPIC_ACCENT_TOKENS as $m, TOPIC_ICON_KEYS as es, applyNotesEvent as os, centerViewportOnWorldPoint as rs, clampScale as ts, computeBoardBounds as is, createDefaultNotesSnapshot as ns, groupTrashItems as as, mergeBoardBounds as ls, nextLocalZIndex as cs, normalizeNotesSnapshot as ms, noteBucketMetrics as ss, promoteLocalItem as ps, removeSnapshotItem as fs, removeSnapshotTopic as ds, removeSnapshotTrashItem as Ss, replaceSnapshotItem as Ts, replaceSnapshotTopic as xs, replaceSnapshotTrashItem as Is, screenToWorld as us, visibleWorldRect as Cs, worldToScreen as gs, zoomViewportAtPoint as hs } from "./components/notes/types.js";
101
101
  import { NOTE_COLOR_LABELS as Fs, NotesAnimalIcon as Es, NotesOverlayIcon as Ps, NotesTrashCanIcon as As, TOPIC_ACCENT_LABELS as Ls } from "./components/notes/notesAppearance.js";
102
102
  import { NotesOverlay as _s } from "./components/notes/NotesOverlay.js";
103
103
  import { NotificationContainer as ys, NotificationProvider as vs, createNotificationService as Ms, useNotification as Bs } from "./context/NotificationContext.js";
@@ -110,7 +110,7 @@ import { QuoteBlock as js } from "./components/ui/QuoteBlock.js";
110
110
  import { RadioGroup as $s, RadioList as ep, RadioOption as op } from "./components/ui/Radio.js";
111
111
  import { ResizeHandle as tp } from "./components/layout/ResizeHandle.js";
112
112
  import { SegmentedControl as np } from "./components/ui/SegmentedControl.js";
113
- import { SettingRow as cp, SettingsLayout as lp, SettingsList as mp, SettingsNavigation as sp, SettingsSection as pp } from "./components/ui/Settings.js";
113
+ import { SettingRow as lp, SettingsLayout as cp, SettingsList as mp, SettingsNavigation as sp, SettingsSection as pp } from "./components/ui/Settings.js";
114
114
  import { Shell as dp } from "./components/layout/Shell.js";
115
115
  import { ShellBlock as Tp } from "./components/chat/blocks/ShellBlock.js";
116
116
  import { Sidebar as Ip, SidebarContent as up, SidebarItem as Cp, SidebarItemList as gp, SidebarSection as hp } from "./components/layout/Sidebar.js";
@@ -128,7 +128,7 @@ import { TabPanel as Qp, Tabs as Yp } from "./components/ui/Tabs.js";
128
128
  import { Tag as jp } from "./components/ui/Tag.js";
129
129
  import { TerminalWidget as $p, createTerminalWidget as ef } from "./widgets/TerminalWidget.js";
130
130
  import { TextBlock as rf } from "./components/chat/blocks/TextBlock.js";
131
- import { ThemeProvider as nf, createThemeService as af, useTheme as cf } from "./context/ThemeContext.js";
131
+ import { ThemeProvider as nf, createThemeService as af, useTheme as lf } from "./context/ThemeContext.js";
132
132
  import { ThinkingBlock as mf } from "./components/chat/blocks/ThinkingBlock.js";
133
133
  import { ToolCallBlock as pf } from "./components/chat/blocks/ToolCallBlock.js";
134
134
  import { Tooltip as df } from "./components/ui/Tooltip.js";
@@ -147,7 +147,7 @@ import { applyDragDelta as Vf, applyResizeDelta as Kf, getGridCellSize as zf, pi
147
147
  import { buildAssistantNoticeEvents as qf, createStreamEventBuilder as jf, isStreamEvent as Jf } from "./components/chat/streamEvents.js";
148
148
  import { calculateFitScale as ed } from "./utils/fitScale.js";
149
149
  import { checkCollision as rd, constrainPosition as td, findFreePosition as id, hasCollision as nd, sameGridPosition as ad } from "./utils/gridCollision.js";
150
- import { classifyArchiveFileName as ld } from "./components/file-browser/archiveFiles.js";
150
+ import { classifyArchiveFileName as cd } from "./components/file-browser/archiveFiles.js";
151
151
  import { clientToCanvasLocal as sd, clientToCanvasWorld as pd, createViewportFromZoomAnchor as fd, isPointInsideCanvasRect as dd, localToCanvasWorld as Sd } from "./components/ui/canvasGeometry.js";
152
152
  import { cn as xd } from "./utils/cn.js";
153
153
  import { computeCodeDiff as ud, computeCodeDiffSync as Cd, configureDiffWorker as gd, createDiffWorker as hd, hasDiffWorker as kd, terminateDiffWorker as Fd, waitForDiffWorker as Ed } from "./components/chat/hooks/useCodeDiff.js";
@@ -155,30 +155,31 @@ import { configureMarkdownWorker as Ad, createMarkdownWorker as Ld, hasMarkdownW
155
155
  import { configureMermaidWorker as Bd, configureSyncMermaid as Od, renderMermaid as Wd, terminateMermaidWorker as Nd, useMermaid as wd } from "./components/chat/hooks/useMermaid.js";
156
156
  import { configureShikiWorker as Hd, configureSyncHighlighter as Ud, highlightCode as Gd, terminateShikiWorker as Vd, useCodeHighlight as Kd } from "./components/chat/hooks/useCodeHighlight.js";
157
157
  import { createFloatingPresence as Xd } from "./components/ui/floatingPresence.js";
158
- import { createLongPressContextMenuHandlers as Qd } from "./components/file-browser/longPressContextMenu.js";
159
- import { createSimpleContext as qd } from "./context/createSimpleContext.js";
160
- import { createUIFirstSelection as Jd } from "./utils/uiFirstSelection.js";
161
- import { deferAfterPaint as eS, deferNonBlocking as oS } from "./utils/defer.js";
162
- import { duration as tS, easing as iS, fadeIn as nS, listContainer as aS, listItem as cS, panelResize as lS, popIn as mS, scaleIn as sS, sidebarVariants as pS, slideInFromBottom as fS, slideInFromLeft as dS, slideInFromRight as SS, slideInFromTop as TS, springConfig as xS } from "./utils/animations.js";
163
- import { formatKeybind as uS, isMacLikePlatform as CS, isPrimaryModKeyPressed as gS, matchKeybind as hS, parseKeybind as kS } from "./utils/keybind.js";
164
- import { intersectSurfaceRects as ES } from "./components/ui/surfaceFloatingBoundary.js";
165
- import { isTypingElement as AS, shouldIgnoreHotkeys as LS } from "./utils/dom.js";
166
- import { lockBodyStyle as _S } from "./utils/bodyStyleLock.js";
167
- import { markdownMediaKind as yS, markdownMediaPlaceholder as vS, readMarkdownMediaPlaceholder as MS, safeMarkdownMediaURL as BS, sandboxedMarkdownHtml as OS } from "./components/chat/markdown/media.js";
168
- import { registerCommandContributions as NS, useCommandContributions as wS } from "./hooks/useCommandContributions.js";
169
- import { resolveFloatingWindowViewport as HS } from "./components/ui/floatingWindowGeometry.js";
170
- import { secureRandomUUID as GS } from "./utils/secureRandom.js";
171
- import { startPointerSession as KS } from "./components/ui/pointerSession.js";
172
- import { useAttachments as XS } from "./components/chat/hooks/useAttachments.js";
173
- import { useAutoScroll as QS } from "./components/chat/hooks/useAutoScroll.js";
174
- import { useDebounce as qS } from "./hooks/useDebounce.js";
175
- import { useDeckDrag as JS } from "./hooks/useDeckDrag.js";
176
- import { useFileBrowserDropTarget as eT, useFileBrowserItemDrag as oT } from "./hooks/useFileBrowserDrag.js";
177
- import { useKeybind as tT } from "./hooks/useKeybind.js";
178
- import { useMediaQuery as nT } from "./hooks/useMediaQuery.js";
179
- import { usePersisted as cT } from "./hooks/usePersisted.js";
180
- import { useResizeObserver as mT } from "./hooks/useResizeObserver.js";
181
- import { useVirtualList as pT } from "./components/chat/hooks/useVirtualList.js";
158
+ import { createInputHistoryController as Qd } from "./components/chat/input/createInputHistoryController.js";
159
+ import { createLongPressContextMenuHandlers as qd } from "./components/file-browser/longPressContextMenu.js";
160
+ import { createSimpleContext as Jd } from "./context/createSimpleContext.js";
161
+ import { createUIFirstSelection as eS } from "./utils/uiFirstSelection.js";
162
+ import { deferAfterPaint as rS, deferNonBlocking as tS } from "./utils/defer.js";
163
+ import { duration as nS, easing as aS, fadeIn as lS, listContainer as cS, listItem as mS, panelResize as sS, popIn as pS, scaleIn as fS, sidebarVariants as dS, slideInFromBottom as SS, slideInFromLeft as TS, slideInFromRight as xS, slideInFromTop as IS, springConfig as uS } from "./utils/animations.js";
164
+ import { formatKeybind as gS, isMacLikePlatform as hS, isPrimaryModKeyPressed as kS, matchKeybind as FS, parseKeybind as ES } from "./utils/keybind.js";
165
+ import { intersectSurfaceRects as AS } from "./components/ui/surfaceFloatingBoundary.js";
166
+ import { isTypingElement as RS, shouldIgnoreHotkeys as _S } from "./utils/dom.js";
167
+ import { lockBodyStyle as yS } from "./utils/bodyStyleLock.js";
168
+ import { markdownMediaKind as MS, markdownMediaPlaceholder as BS, readMarkdownMediaPlaceholder as OS, safeMarkdownMediaURL as WS, sandboxedMarkdownHtml as NS } from "./components/chat/markdown/media.js";
169
+ import { registerCommandContributions as bS, useCommandContributions as HS } from "./hooks/useCommandContributions.js";
170
+ import { resolveFloatingWindowViewport as GS } from "./components/ui/floatingWindowGeometry.js";
171
+ import { secureRandomUUID as KS } from "./utils/secureRandom.js";
172
+ import { startPointerSession as XS } from "./components/ui/pointerSession.js";
173
+ import { useAttachments as QS } from "./components/chat/hooks/useAttachments.js";
174
+ import { useAutoScroll as qS } from "./components/chat/hooks/useAutoScroll.js";
175
+ import { useDebounce as JS } from "./hooks/useDebounce.js";
176
+ import { useDeckDrag as eT } from "./hooks/useDeckDrag.js";
177
+ import { useFileBrowserDropTarget as rT, useFileBrowserItemDrag as tT } from "./hooks/useFileBrowserDrag.js";
178
+ import { useKeybind as nT } from "./hooks/useKeybind.js";
179
+ import { useMediaQuery as lT } from "./hooks/useMediaQuery.js";
180
+ import { usePersisted as mT } from "./hooks/usePersisted.js";
181
+ import { useResizeObserver as pT } from "./hooks/useResizeObserver.js";
182
+ import { useVirtualList as dT } from "./components/chat/hooks/useVirtualList.js";
182
183
  export {
183
184
  R as Activity,
184
185
  Zt as ActivityAppsMain,
@@ -213,7 +214,7 @@ export {
213
214
  on as BottomBar,
214
215
  an as BottomBarCompanion,
215
216
  rn as BottomBarItem,
216
- ln as Breadcrumb,
217
+ cn as Breadcrumb,
217
218
  Ti as BrokenSymlinkIcon,
218
219
  Q as BugIcon,
219
220
  sn as Button,
@@ -226,8 +227,8 @@ export {
226
227
  ii as CardContent,
227
228
  ni as CardDescription,
228
229
  ai as CardFooter,
229
- ci as CardHeader,
230
- li as CardTitle,
230
+ li as CardHeader,
231
+ ci as CardTitle,
231
232
  $ as ChartIcon,
232
233
  Dn as ChatContainer,
233
234
  vn as ChatInput,
@@ -243,8 +244,8 @@ export {
243
244
  ie as ChevronLeft,
244
245
  ne as ChevronRight,
245
246
  ae as ChevronUp,
246
- ce as ChevronsUpDown,
247
- le as CircleStop,
247
+ le as ChevronsUpDown,
248
+ ce as CircleStop,
248
249
  Vn as CircularProgress,
249
250
  me as Clock,
250
251
  se as ClockIcon,
@@ -292,86 +293,86 @@ export {
292
293
  qa as DeckTopBar,
293
294
  fa as Dialog,
294
295
  Ja as DialogPlacementProvider,
295
- ec as DirectoryInput,
296
- rc as DirectoryPicker,
297
- ic as DirectoryTree,
298
- ac as DisplayModePageShell,
299
- lc as DisplayModeSwitcher,
300
- pc as DockActivity,
301
- fc as DockBot,
302
- dc as DockCode,
303
- Sc as DockCpu,
304
- Tc as DockFileCode,
305
- xc as DockFolder,
306
- Ic as DockGlobe,
307
- uc as DockLayers,
308
- Cc as DockLayoutDashboard,
309
- gc as DockMessageSquare,
310
- hc as DockRegion,
311
- kc as DockSearch,
312
- Fc as DockSparkles,
313
- Ec as DockTerminal,
314
- Pc as DockText,
296
+ el as DirectoryInput,
297
+ rl as DirectoryPicker,
298
+ il as DirectoryTree,
299
+ al as DisplayModePageShell,
300
+ cl as DisplayModeSwitcher,
301
+ pl as DockActivity,
302
+ fl as DockBot,
303
+ dl as DockCode,
304
+ Sl as DockCpu,
305
+ Tl as DockFileCode,
306
+ xl as DockFolder,
307
+ Il as DockGlobe,
308
+ ul as DockLayers,
309
+ Cl as DockLayoutDashboard,
310
+ gl as DockMessageSquare,
311
+ hl as DockRegion,
312
+ kl as DockSearch,
313
+ Fl as DockSparkles,
314
+ El as DockTerminal,
315
+ Pl as DockText,
315
316
  ui as DocumentFileIcon,
316
317
  Pe as DollarIcon,
317
318
  Ae as Download,
318
319
  Le as DownloadIcon,
319
- Lc as DropZonePreview,
320
- _c as Dropdown,
320
+ Ll as DropZonePreview,
321
+ _l as Dropdown,
321
322
  Re as EditIcon,
322
- vc as ErrorBlock,
323
+ vl as ErrorBlock,
323
324
  _e as ErrorIcon,
324
325
  De as ExternalLink,
325
326
  ye as Eye,
326
327
  ve as EyeIcon,
327
328
  Me as EyeOff,
328
- Hc as FLOE_GEOMETRY_SURFACE_ATTR,
329
- Uc as FLOE_HOT_INTERACTION_ATTR,
330
- Kc as FileBlock,
331
- Xc as FileBrowser,
332
- Qc as FileBrowserDragPreview,
333
- qc as FileBrowserDragProvider,
334
- el as FileBrowserProvider,
335
- tl as FileBrowserStatusBar,
336
- nl as FileBrowserToolbar,
329
+ Hl as FLOE_GEOMETRY_SURFACE_ATTR,
330
+ Ul as FLOE_HOT_INTERACTION_ATTR,
331
+ Kl as FileBlock,
332
+ Xl as FileBrowser,
333
+ Ql as FileBrowserDragPreview,
334
+ ql as FileBrowserDragProvider,
335
+ ec as FileBrowserProvider,
336
+ tc as FileBrowserStatusBar,
337
+ nc as FileBrowserToolbar,
337
338
  Be as FileCode,
338
- cl as FileContextMenu,
339
- ml as FileGridView,
339
+ lc as FileContextMenu,
340
+ mc as FileGridView,
340
341
  Ci as FileIcon,
341
342
  gi as FileItemIcon,
342
- pl as FileListView,
343
- dl as FileOpenPicker,
343
+ pc as FileListView,
344
+ dc as FileOpenPicker,
344
345
  Oe as FilePlus,
345
346
  We as FilePlusIcon,
346
- Il as FileSavePicker,
347
+ Ic as FileSavePicker,
347
348
  Ne as FileText,
348
349
  we as Files,
349
- Cl as FilesSidebarWidget,
350
+ Cc as FilesSidebarWidget,
350
351
  be as Filter,
351
352
  He as FilterIcon,
352
353
  Ue as FireIcon,
353
- Pl as FloatingWindow,
354
- Ll as FloeApp,
354
+ Pc as FloatingWindow,
355
+ Lc as FloeApp,
355
356
  ga as FloeConfigProvider,
356
357
  r as FloeProvider,
357
- _l as FloeRegistryContributions,
358
- yl as FloeRegistryRuntime,
358
+ _c as FloeRegistryContributions,
359
+ yc as FloeRegistryRuntime,
359
360
  Ge as Folder,
360
361
  hi as FolderIcon,
361
362
  Ve as FolderOpen,
362
363
  ki as FolderOpenIcon,
363
364
  Ke as FolderPlus,
364
365
  ze as FolderPlusIcon,
365
- Ml as Form,
366
- Bl as FormActions,
367
- Ol as FormControl,
368
- Wl as FormDescription,
369
- Nl as FormDivider,
370
- wl as FormField,
371
- bl as FormLabel,
372
- Hl as FormMessage,
373
- Ul as FormRow,
374
- Gl as FormSection,
366
+ Mc as Form,
367
+ Bc as FormActions,
368
+ Oc as FormControl,
369
+ Wc as FormDescription,
370
+ Nc as FormDivider,
371
+ wc as FormField,
372
+ bc as FormLabel,
373
+ Hc as FormMessage,
374
+ Uc as FormRow,
375
+ Gc as FormSection,
375
376
  Xe as GiftIcon,
376
377
  Ze as GitBranch,
377
378
  Qe as GitBranchIcon,
@@ -385,32 +386,32 @@ export {
385
386
  ro as Heart,
386
387
  to as HeartIcon,
387
388
  io as HelpIcon,
388
- Mc as HighlightBlock,
389
+ Ml as HighlightBlock,
389
390
  no as Highlighter,
390
391
  ao as History,
391
- co as Home,
392
- lo as HomeIcon,
392
+ lo as Home,
393
+ co as HomeIcon,
393
394
  mo as Image,
394
- zl as ImageBlock,
395
+ zc as ImageBlock,
395
396
  Fi as ImageFileIcon,
396
397
  so as ImageIcon,
397
- Zl as InfiniteCanvas,
398
+ Zc as InfiniteCanvas,
398
399
  po as Info,
399
- Bc as InfoBlock,
400
+ Bl as InfoBlock,
400
401
  fo as InfoIcon,
401
402
  Jt as Input,
402
403
  mi as Interactive3DCard,
403
404
  Ei as JavaScriptFileIcon,
404
- Yl as KeepAliveStack,
405
+ Yc as KeepAliveStack,
405
406
  So as Key,
406
407
  To as KeyIcon,
407
408
  un as LOCAL_INTERACTION_SURFACE_ATTR,
408
- jl as Launchpad,
409
- $l as LaunchpadGrid,
409
+ jc as Launchpad,
410
+ $c as LaunchpadGrid,
410
411
  om as LaunchpadItem,
411
412
  tm as LaunchpadModal,
412
413
  nm as LaunchpadPagination,
413
- cm as LaunchpadSearch,
414
+ lm as LaunchpadSearch,
414
415
  xo as Layers,
415
416
  Io as LayersIcon,
416
417
  uo as LayoutDashboard,
@@ -465,7 +466,7 @@ export {
465
466
  Fs as NOTE_COLOR_LABELS,
466
467
  Jm as NOTE_COLOR_TOKENS,
467
468
  pi as NeonCard,
468
- Oc as NoteBlock,
469
+ Ol as NoteBlock,
469
470
  Es as NotesAnimalIcon,
470
471
  Xm as NotesContextMenu,
471
472
  _s as NotesOverlay,
@@ -497,9 +498,9 @@ export {
497
498
  ir as Plus,
498
499
  nr as PlusIcon,
499
500
  ar as PowerIcon,
500
- cr as PrinterIcon,
501
+ lr as PrinterIcon,
501
502
  Ys as ProcessingIndicator,
502
- lr as Quote,
503
+ cr as Quote,
503
504
  js as QuoteBlock,
504
505
  Ki as REQUIRED_SHELL_THEME_TOKENS,
505
506
  $s as RadioGroup,
@@ -517,20 +518,20 @@ export {
517
518
  Tr as SaveIcon,
518
519
  xr as Search,
519
520
  Ir as SearchIcon,
520
- gl as SearchSidebarWidget,
521
+ gc as SearchSidebarWidget,
521
522
  np as SegmentedControl,
522
523
  zn as SegmentedProgress,
523
- Dc as Select,
524
+ Dl as Select,
524
525
  ur as Send,
525
526
  Cr as SendIcon,
526
- cp as SettingRow,
527
+ lp as SettingRow,
527
528
  gr as Settings,
528
529
  hr as SettingsIcon,
529
- lp as SettingsLayout,
530
+ cp as SettingsLayout,
530
531
  mp as SettingsList,
531
532
  sp as SettingsNavigation,
532
533
  pp as SettingsSection,
533
- hl as SettingsSidebarWidget,
534
+ hc as SettingsSidebarWidget,
534
535
  kr as ShareIcon,
535
536
  dp as Shell,
536
537
  Tp as ShellBlock,
@@ -538,14 +539,14 @@ export {
538
539
  Fr as Shield,
539
540
  Er as ShieldCheck,
540
541
  Pr as ShieldIcon,
541
- kl as ShowcaseSidebarWidget,
542
+ kc as ShowcaseSidebarWidget,
542
543
  Ip as Sidebar,
543
544
  up as SidebarContent,
544
545
  Cp as SidebarItem,
545
546
  gp as SidebarItemList,
546
547
  Fp as SidebarPane,
547
548
  hp as SidebarSection,
548
- Fl as SidebarWidget,
549
+ Fc as SidebarWidget,
549
550
  Pp as Skeleton,
550
551
  Ap as SkeletonCard,
551
552
  Lp as SkeletonList,
@@ -562,7 +563,7 @@ export {
562
563
  yr as StopFilled,
563
564
  Wp as StreamingCursor,
564
565
  Ai as StyleFileIcon,
565
- Wc as SuccessBlock,
566
+ Wl as SuccessBlock,
566
567
  vr as SuccessIcon,
567
568
  Mr as Sun,
568
569
  Br as SunIcon,
@@ -593,7 +594,7 @@ export {
593
594
  Hr as ThumbsDownIcon,
594
595
  Ur as ThumbsUpIcon,
595
596
  Gr as Timer,
596
- Nc as TipBlock,
597
+ Nl as TipBlock,
597
598
  pf as ToolCallBlock,
598
599
  df as Tooltip,
599
600
  Tf as TopBar,
@@ -620,7 +621,7 @@ export {
620
621
  gn as WORKBENCH_WIDGET_ACTIVATION_SURFACE_ATTR,
621
622
  hn as WORKBENCH_WIDGET_SHELL_ATTR,
622
623
  tt as Wand,
623
- wc as WarningBlock,
624
+ wl as WarningBlock,
624
625
  it as WarningIcon,
625
626
  Ef as WidgetFrame,
626
627
  Af as WidgetPalette,
@@ -631,9 +632,9 @@ export {
631
632
  nt as WifiIcon,
632
633
  at as WifiOffIcon,
633
634
  Mp as Wizard,
634
- ct as Workflow,
635
+ lt as Workflow,
635
636
  Uf as WorkingIndicator,
636
- lt as X,
637
+ ct as X,
637
638
  mt as XCircle,
638
639
  st as Zap,
639
640
  pt as ZapIcon,
@@ -650,13 +651,13 @@ export {
650
651
  Ot as autocompleteTerminalInput,
651
652
  qf as buildAssistantNoticeEvents,
652
653
  Xi as builtInShellThemePresets,
653
- c as builtInThemes,
654
+ l as builtInThemes,
654
655
  ed as calculateFitScale,
655
656
  rs as centerViewportOnWorldPoint,
656
657
  rd as checkCollision,
657
658
  ts as clampScale,
658
659
  xt as clampTerminalCursor,
659
- ld as classifyArchiveFileName,
660
+ cd as classifyArchiveFileName,
660
661
  sd as clientToCanvasLocal,
661
662
  pd as clientToCanvasWorld,
662
663
  xd as cn,
@@ -677,12 +678,13 @@ export {
677
678
  hd as createDiffWorker,
678
679
  zs as createFilesystemPickerDataSource,
679
680
  Xd as createFloatingPresence,
681
+ Qd as createInputHistoryController,
680
682
  sm as createLayoutService,
681
- Qd as createLongPressContextMenuHandlers,
683
+ qd as createLongPressContextMenuHandlers,
682
684
  Ld as createMarkdownWorker,
683
685
  Ms as createNotificationService,
684
686
  Zi as createShellThemePreset,
685
- qd as createSimpleContext,
687
+ Jd as createSimpleContext,
686
688
  jf as createStreamEventBuilder,
687
689
  It as createTerminalEditorState,
688
690
  Wt as createTerminalFullLineSuggestion,
@@ -690,18 +692,18 @@ export {
690
692
  Nt as createTerminalTokenSuggestion,
691
693
  ef as createTerminalWidget,
692
694
  af as createThemeService,
693
- Jd as createUIFirstSelection,
695
+ eS as createUIFirstSelection,
694
696
  fd as createViewportFromZoomAnchor,
695
697
  _f as createWidgetRegistry,
696
- eS as deferAfterPaint,
697
- oS as deferNonBlocking,
698
+ rS as deferAfterPaint,
699
+ tS as deferNonBlocking,
698
700
  ut as deleteTerminalTextBackward,
699
701
  Pt as dispatchTerminalSessionKey,
700
- tS as duration,
701
- iS as easing,
702
+ nS as duration,
703
+ aS as easing,
702
704
  ya as ensureSurfacePortalInteractionTracking,
703
705
  Zm as estimateNotesContextMenuHeight,
704
- nS as fadeIn,
706
+ lS as fadeIn,
705
707
  id as findFreePosition,
706
708
  x as floeColorTokenCategories,
707
709
  I as floeDesignTokens,
@@ -714,7 +716,7 @@ export {
714
716
  E as floeThemeColorVariables,
715
717
  P as floeTypographyTokens,
716
718
  um as focusMenuItem,
717
- uS as formatKeybind,
719
+ gS as formatKeybind,
718
720
  Xs as formatPickerPath,
719
721
  vi as getFileIcon,
720
722
  A as getFloeColorTokenValue,
@@ -722,7 +724,7 @@ export {
722
724
  Ia as getGridConfigFromElement,
723
725
  Cm as getMenuItems,
724
726
  Qi as getShellThemePresetsForMode,
725
- l as getSystemTheme,
727
+ c as getSystemTheme,
726
728
  At as getTerminalPromptPreview,
727
729
  Lt as getTerminalSessionSuggestions,
728
730
  wt as getTerminalSuggestions,
@@ -731,52 +733,52 @@ export {
731
733
  nd as hasCollision,
732
734
  aa as hasComponentRegistryContext,
733
735
  kd as hasDiffWorker,
734
- jc as hasFileBrowserDragContext,
736
+ jl as hasFileBrowserDragContext,
735
737
  Rd as hasMarkdownWorker,
736
738
  Gd as highlightCode,
737
739
  Ct as insertTerminalText,
738
- ES as intersectSurfaceRects,
740
+ AS as intersectSurfaceRects,
739
741
  m as isFloeSurfaceStyle,
740
742
  kn as isLocalInteractionSurfaceTarget,
741
- CS as isMacLikePlatform,
743
+ hS as isMacLikePlatform,
742
744
  dd as isPointInsideCanvasRect,
743
- gS as isPrimaryModKeyPressed,
745
+ kS as isPrimaryModKeyPressed,
744
746
  Jf as isStreamEvent,
745
747
  va as isSurfacePortalMode,
746
748
  s as isThemeType,
747
- AS as isTypingElement,
748
- aS as listContainer,
749
- cS as listItem,
749
+ RS as isTypingElement,
750
+ cS as listContainer,
751
+ mS as listItem,
750
752
  Sd as localToCanvasWorld,
751
- _S as lockBodyStyle,
752
- yS as markdownMediaKind,
753
- vS as markdownMediaPlaceholder,
754
- hS as matchKeybind,
753
+ yS as lockBodyStyle,
754
+ MS as markdownMediaKind,
755
+ BS as markdownMediaPlaceholder,
756
+ FS as matchKeybind,
755
757
  bt as matchesTerminalSuggestionPrefix,
756
- cs as mergeBoardBounds,
758
+ ls as mergeBoardBounds,
757
759
  p as mergeThemeTokenMaps,
758
760
  hm as moveMenuFocus,
759
761
  gt as moveTerminalCursor,
760
762
  ht as navigateTerminalHistory,
761
- ls as nextLocalZIndex,
762
- Sl as normalizeFileOpenSelection,
763
+ cs as nextLocalZIndex,
764
+ Sc as normalizeFileOpenSelection,
763
765
  ms as normalizeNotesSnapshot,
764
766
  Yi as normalizeShellThemeSelection,
765
767
  St as normalizeTerminalWorkspaceProfile,
766
768
  ss as noteBucketMetrics,
767
- lS as panelResize,
768
- kS as parseKeybind,
769
+ sS as panelResize,
770
+ ES as parseKeybind,
769
771
  Zs as parsePickerPath,
770
772
  Ht as parseTerminalSuggestionContext,
771
773
  Xf as pixelDeltaToGridDelta,
772
- mS as popIn,
774
+ pS as popIn,
773
775
  Zf as positionToGridArea,
774
776
  qi as presetSupportsMode,
775
777
  Ma as projectSurfacePortalPosition,
776
778
  Ba as projectSurfacePortalRect,
777
779
  ps as promoteLocalItem,
778
- MS as readMarkdownMediaPlaceholder,
779
- NS as registerCommandContributions,
780
+ OS as readMarkdownMediaPlaceholder,
781
+ bS as registerCommandContributions,
780
782
  fs as removeSnapshotItem,
781
783
  ds as removeSnapshotTopic,
782
784
  Ss as removeSnapshotTrashItem,
@@ -787,7 +789,7 @@ export {
787
789
  xs as replaceSnapshotTopic,
788
790
  Is as replaceSnapshotTrashItem,
789
791
  Mi as resolveFileItemIcon,
790
- HS as resolveFloatingWindowViewport,
792
+ GS as resolveFloatingWindowViewport,
791
793
  ji as resolveShellThemePresetName,
792
794
  Fn as resolveSurfaceInteractionTargetRole,
793
795
  Oa as resolveSurfacePortalBoundaryRect,
@@ -801,25 +803,25 @@ export {
801
803
  An as resolveWorkbenchWidgetLocalTypingTarget,
802
804
  Ln as resolveWorkbenchWidgetTextSelectionTarget,
803
805
  yt as runTerminalMockCommand,
804
- BS as safeMarkdownMediaURL,
806
+ WS as safeMarkdownMediaURL,
805
807
  ad as sameGridPosition,
806
- OS as sandboxedMarkdownHtml,
807
- mc as sanitizeDisplayMode,
808
- sS as scaleIn,
808
+ NS as sandboxedMarkdownHtml,
809
+ ml as sanitizeDisplayMode,
810
+ fS as scaleIn,
809
811
  us as screenToWorld,
810
- GS as secureRandomUUID,
812
+ KS as secureRandomUUID,
811
813
  Rt as setTerminalSessionInputValue,
812
814
  Rn as shouldActivateWorkbenchWidgetLocalTarget,
813
- LS as shouldIgnoreHotkeys,
814
- pS as sidebarVariants,
815
- fS as slideInFromBottom,
816
- dS as slideInFromLeft,
817
- SS as slideInFromRight,
818
- TS as slideInFromTop,
815
+ _S as shouldIgnoreHotkeys,
816
+ dS as sidebarVariants,
817
+ SS as slideInFromBottom,
818
+ TS as slideInFromLeft,
819
+ xS as slideInFromRight,
820
+ IS as slideInFromTop,
819
821
  Qf as snapToGrid,
820
- xS as springConfig,
821
- Gc as startHotInteraction,
822
- KS as startPointerSession,
822
+ uS as springConfig,
823
+ Gl as startHotInteraction,
824
+ XS as startPointerSession,
823
825
  _t as submitTerminalSession,
824
826
  S as syncThemeTokenOverrides,
825
827
  Ut as terminalCommandTokenSuggestionProvider,
@@ -831,37 +833,37 @@ export {
831
833
  yd as terminateMarkdownWorker,
832
834
  Nd as terminateMermaidWorker,
833
835
  Vd as terminateShikiWorker,
834
- Tl as updateFileOpenSelection,
835
- XS as useAttachments,
836
- QS as useAutoScroll,
836
+ Tc as updateFileOpenSelection,
837
+ QS as useAttachments,
838
+ qS as useAutoScroll,
837
839
  On as useChatContext,
838
840
  Kd as useCodeHighlight,
839
841
  ra as useCommand,
840
- wS as useCommandContributions,
841
- ca as useComponentContextFactory,
842
- la as useComponentRegistry,
842
+ HS as useCommandContributions,
843
+ la as useComponentContextFactory,
844
+ ca as useComponentRegistry,
843
845
  Of as useCurrentWidgetId,
844
- qS as useDebounce,
846
+ JS as useDebounce,
845
847
  Qa as useDeck,
846
- JS as useDeckDrag,
847
- ol as useFileBrowser,
848
- Jc as useFileBrowserDrag,
849
- eT as useFileBrowserDropTarget,
850
- oT as useFileBrowserItemDrag,
848
+ eT as useDeckDrag,
849
+ oc as useFileBrowser,
850
+ Jl as useFileBrowserDrag,
851
+ rT as useFileBrowserDropTarget,
852
+ tT as useFileBrowserItemDrag,
851
853
  ha as useFloeConfig,
852
- Vl as useFormSubmitting,
853
- tT as useKeybind,
854
+ Vc as useFormSubmitting,
855
+ nT as useKeybind,
854
856
  pm as useLayout,
855
- nT as useMediaQuery,
857
+ lT as useMediaQuery,
856
858
  wd as useMermaid,
857
859
  Bs as useNotification,
858
860
  ma as useOptionalComponentRegistry,
859
- cT as usePersisted,
860
- mT as useResizeObserver,
861
+ mT as usePersisted,
862
+ pT as useResizeObserver,
861
863
  ka as useResolvedFloeConfig,
862
- cf as useTheme,
864
+ lf as useTheme,
863
865
  gf as useViewActivation,
864
- pT as useVirtualList,
866
+ dT as useVirtualList,
865
867
  Df as useWidgetRegistry,
866
868
  Wf as useWidgetState,
867
869
  Nf as useWidgetStateContext,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floegence/floe-webapp-core",
3
- "version": "0.61.0",
3
+ "version": "0.62.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",