@floegence/floe-webapp-core 0.52.12 → 0.53.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/full.js CHANGED
@@ -1,19 +1,19 @@
1
1
  import { FloeProvider as r } from "./app/FloeProvider.js";
2
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 T } from "./styles/themes/index.js";
3
3
  import { floeColorTokenCategories as I, floeDesignTokens as x, floeFontFamilyTokens as C, floeMotionTokens as u, 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 _, ActivityIcon as D, AlertCircle as R, AlertTriangle as y, ArchiveIcon as v, ArrowDown as B, ArrowLeft as M, ArrowRight as O, ArrowRightLeft as W, ArrowUp as N, AtSign as b, AwardIcon as w, 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 Te, CodeIcon as Se, CompassIcon as Ie, Copy as xe, CopyCheck as Ce, CopyCheckIcon as ue, 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 _e, ErrorIcon as De, ExternalLink as Re, Eye as ye, EyeIcon as ve, EyeOff as Be, FileCode as Me, FilePlus as Oe, FilePlusIcon as We, FileText as Ne, Files as be, Filter as we, 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 To, KeyIcon as So, Layers as Io, LayersIcon as xo, LayoutDashboard as Co, Link as uo, 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 _o, Maximize as Do, Menu as Ro, MessageIcon as yo, MessageSquare as vo, Mic as Bo, MicIcon as Mo, MicOff as Oo, Minus as Wo, MinusIcon as No, MonitorPointer as bo, Moon as wo, 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 Tr, SaveIcon as Sr, Search as Ir, SearchIcon as xr, Send as Cr, SendIcon as ur, 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 _r, StarIcon as Dr, Stop as Rr, StopFilled as yr, SuccessIcon as vr, Sun as Br, SunIcon as Mr, TagIcon as Or, TargetIcon as Wr, Terminal as Nr, TerminalIcon as br, TextTool as wr, 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 _, ActivityIcon as D, AlertCircle as R, AlertTriangle as y, ArchiveIcon as v, ArrowDown as B, ArrowLeft as M, ArrowRight as O, ArrowRightLeft as W, ArrowUp as N, AtSign as b, AwardIcon as w, BarChart as U, BatteryIcon as H, 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 Te, CodeIcon as Se, CompassIcon as Ie, Copy as xe, CopyCheck as Ce, CopyCheckIcon as ue, 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 _e, ErrorIcon as De, ExternalLink as Re, Eye as ye, EyeIcon as ve, EyeOff as Be, FileCode as Me, FilePlus as Oe, FilePlusIcon as We, FileText as Ne, Files as be, Filter as we, FilterIcon as Ue, FireIcon as He, 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 To, KeyIcon as So, Layers as Io, LayersIcon as xo, LayoutDashboard as Co, Link as uo, 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 _o, Maximize as Do, Menu as Ro, MessageIcon as yo, MessageSquare as vo, Mic as Bo, MicIcon as Mo, MicOff as Oo, Minus as Wo, MinusIcon as No, MonitorPointer as bo, Moon as wo, MoonIcon as Uo, MoreHorizontal as Ho, 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 Tr, SaveIcon as Sr, Search as Ir, SearchIcon as xr, Send as Cr, SendIcon as ur, 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 _r, StarIcon as Dr, Stop as Rr, StopFilled as yr, SuccessIcon as vr, Sun as Br, SunIcon as Mr, TagIcon as Or, TargetIcon as Wr, Terminal as Nr, TerminalIcon as br, TextTool as wr, ThumbsDownIcon as Ur, ThumbsUpIcon as Hr, 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";
5
5
  import { DEFAULT_TERMINAL_WORKSPACE_PROFILE as dt, normalizeTerminalWorkspaceProfile as Tt } from "./terminal/workspaceProfile.js";
6
6
  import { clampTerminalCursor as It, createTerminalEditorState as xt, deleteTerminalTextBackward as Ct, insertTerminalText as ut, 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 _t, submitTerminalSession as Dt } from "./terminal/sessionModel.js";
8
8
  import { runTerminalMockCommand as yt } from "./terminal/mockRuntime.js";
9
- import { DEFAULT_TERMINAL_SUGGESTION_PROVIDERS as Bt, applyTerminalSuggestion as Mt, autocompleteTerminalInput as Ot, createTerminalFullLineSuggestion as Wt, createTerminalTokenSuggestion as Nt, getTerminalSuggestions as bt, matchesTerminalSuggestionPrefix as wt, parseTerminalSuggestionContext as Ht, terminalCommandTokenSuggestionProvider as Ut, terminalHistorySuggestionProvider as Gt, terminalPathSuggestionProvider as Vt, terminalRootSuggestionProvider as Kt, terminalSnippetSuggestionProvider as zt } from "./terminal/suggestionEngine.js";
9
+ import { DEFAULT_TERMINAL_SUGGESTION_PROVIDERS as Bt, applyTerminalSuggestion as Mt, autocompleteTerminalInput as Ot, createTerminalFullLineSuggestion as Wt, createTerminalTokenSuggestion as Nt, getTerminalSuggestions as bt, matchesTerminalSuggestionPrefix as wt, parseTerminalSuggestionContext as Ut, terminalCommandTokenSuggestionProvider as Ht, terminalHistorySuggestionProvider as Gt, terminalPathSuggestionProvider as Vt, terminalRootSuggestionProvider as Kt, terminalSnippetSuggestionProvider as zt } from "./terminal/suggestionEngine.js";
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
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";
14
14
  import { ArchiveFileIcon as di, AudioFileIcon as Ti, BrokenSymlinkIcon as Si, CodeFileIcon as Ii, ConfigFileIcon as xi, DocumentFileIcon as Ci, FileIcon as ui, 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 _i, SymlinkFolderOpenIcon as Di, TypeScriptFileIcon as Ri, VideoFileIcon as yi, getFileIcon as vi, resolveFileItemIcon as Bi } from "./components/file-browser/FileIcons.js";
15
15
  import { AreaChart as Oi, DataBarChart as Wi, DataPieChart as Ni, LineChart as bi, MonitoringChart as wi } from "./components/ui/Charts.js";
16
- import { AttachmentPreview as Ui } from "./components/chat/input/AttachmentPreview.js";
16
+ import { AttachmentPreview as Hi } from "./components/chat/input/AttachmentPreview.js";
17
17
  import { BUILT_IN_SHELL_THEME_DEFAULTS as Vi, REQUIRED_SHELL_THEME_TOKENS as Ki, assertUniqueThemePresetNames as zi, builtInShellThemePresets as Xi, createShellThemePreset as Zi, getShellThemePresetsForMode as Qi, normalizeShellThemeSelection as Yi, presetSupportsMode as qi, resolveShellThemePresetName as ji } from "./styles/themes/presets.js";
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";
@@ -25,7 +25,7 @@ import { ChatContainer as Rn } from "./components/chat/ChatContainer.js";
25
25
  import { ChatInput as vn } from "./components/chat/input/ChatInput.js";
26
26
  import { ChatProvider as Mn, useChatContext as On } from "./components/chat/ChatProvider.js";
27
27
  import { Checkbox as Nn, CheckboxGroup as bn, CheckboxList as wn } from "./components/ui/Checkbox.js";
28
- import { ChecklistBlock as Un } from "./components/chat/blocks/ChecklistBlock.js";
28
+ import { ChecklistBlock as Hn } from "./components/chat/blocks/ChecklistBlock.js";
29
29
  import { CircularProgress as Vn, LinearProgress as Kn, SegmentedProgress as zn, StepsProgress as Xn } from "./components/ui/Progress.js";
30
30
  import { CodeBlock as Qn } from "./components/chat/blocks/CodeBlock.js";
31
31
  import { CodeDiffBlock as qn } from "./components/chat/blocks/CodeDiffBlock.js";
@@ -38,7 +38,7 @@ import { DECK_GRID_CONFIG as Ia, getGridConfigFromElement as xa } from "./compon
38
38
  import { DEFAULT_FLOE_CONFIG as ua, FloeConfigProvider as ga, useFloeConfig as ha, useResolvedFloeConfig as ka } from "./context/FloeConfigContext.js";
39
39
  import { DEFAULT_VIRTUAL_LIST_CONFIG as Ea } from "./components/chat/types.js";
40
40
  import { DIALOG_SURFACE_BOUNDARY_ATTR as Aa, DIALOG_SURFACE_HOST_ATTR as La, SURFACE_PORTAL_HOST_ATTR as _a, SURFACE_PORTAL_LAYER_ATTR as Da, __resetSurfacePortalScopeForTests as Ra, ensureSurfacePortalInteractionTracking as ya, isSurfacePortalMode as va, projectSurfacePortalPosition as Ba, projectSurfacePortalRect as Ma, resolveSurfacePortalBoundaryRect as Oa, resolveSurfacePortalHost as Wa, resolveSurfacePortalMount as Na, resolveSurfacePortalMountRect as ba } from "./components/ui/dialogSurfaceScope.js";
41
- import { DeckCell as Ha } from "./components/deck/DeckCell.js";
41
+ import { DeckCell as Ua } from "./components/deck/DeckCell.js";
42
42
  import { DeckContextMenu as Ga } from "./components/deck/DeckContextMenu.js";
43
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";
@@ -53,7 +53,7 @@ import { DockActivity as pc, DockBot as fc, DockCode as dc, DockCpu as Tc, DockF
53
53
  import { DropZonePreview as Lc } from "./components/deck/DropZonePreview.js";
54
54
  import { Dropdown as Dc, Select as Rc } from "./components/ui/Dropdown.js";
55
55
  import { ErrorBlock as vc, HighlightBlock as Bc, InfoBlock as Mc, NoteBlock as Oc, SuccessBlock as Wc, TipBlock as Nc, WarningBlock as bc } 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";
56
+ import { FLOE_GEOMETRY_SURFACE_ATTR as Uc, FLOE_HOT_INTERACTION_ATTR as Hc, startHotInteraction as Gc } from "./utils/hotInteraction.js";
57
57
  import { FileBlock as Kc } from "./components/chat/blocks/FileBlock.js";
58
58
  import { FileBrowser as Xc } from "./components/file-browser/FileBrowser.js";
59
59
  import { FileBrowserDragPreview as Qc } from "./components/file-browser/DragPreview.js";
@@ -71,7 +71,7 @@ import { FloatingWindow as Pl } from "./components/ui/FloatingWindow.js";
71
71
  import { FloeApp as Ll } from "./app/FloeApp.js";
72
72
  import { FloeRegistryContributions as Dl } from "./app/FloeRegistryContributions.js";
73
73
  import { FloeRegistryRuntime as yl } from "./app/FloeRegistryRuntime.js";
74
- import { Form as Bl, FormActions as Ml, FormControl as Ol, FormDescription as Wl, FormDivider as Nl, FormField as bl, FormLabel as wl, FormMessage as Hl, FormRow as Ul, FormSection as Gl, useFormSubmitting as Vl } from "./components/ui/Form.js";
74
+ import { Form as Bl, FormActions as Ml, FormControl as Ol, FormDescription as Wl, FormDivider as Nl, FormField as bl, FormLabel as wl, FormMessage as Ul, FormRow as Hl, FormSection as Gl, useFormSubmitting as Vl } from "./components/ui/Form.js";
75
75
  import { ImageBlock as zl } from "./components/chat/blocks/ImageBlock.js";
76
76
  import { InfiniteCanvas as Zl } from "./components/ui/InfiniteCanvas.js";
77
77
  import { KeepAliveStack as Yl } from "./components/layout/KeepAliveStack.js";
@@ -94,7 +94,7 @@ import { MessageItem as Bm } from "./components/chat/message/MessageItem.js";
94
94
  import { MessageMeta as Om } from "./components/chat/message/MessageMeta.js";
95
95
  import { MetricsWidget as Nm } from "./widgets/MetricsWidget.js";
96
96
  import { MobileKeyboard as wm } from "./components/ui/MobileKeyboard.js";
97
- import { MobileTabBar as Um } from "./components/layout/MobileTabBar.js";
97
+ import { MobileTabBar as Hm } from "./components/layout/MobileTabBar.js";
98
98
  import { NOTES_CONTEXT_MENU_WIDTH_PX as Vm, NotesContextMenu as Km, estimateNotesContextMenuHeight as zm } from "./components/notes/NotesContextMenu.js";
99
99
  import { NOTES_SCALE_MAX as Zm, NOTES_SCALE_MIN as Qm, NOTE_BUCKET_METRICS as Ym, NOTE_COLOR_TOKENS as qm, TOPIC_ACCENT_TOKENS as jm, TOPIC_ICON_KEYS as Jm, applyNotesEvent as $m, centerViewportOnWorldPoint as es, clampScale as os, computeBoardBounds as rs, createDefaultNotesSnapshot as ts, groupTrashItems as is, mergeBoardBounds as ns, nextLocalZIndex as as, normalizeNotesSnapshot as cs, noteBucketMetrics as ls, promoteLocalItem as ms, removeSnapshotItem as ss, removeSnapshotTopic as ps, removeSnapshotTrashItem as fs, replaceSnapshotItem as ds, replaceSnapshotTopic as Ts, replaceSnapshotTrashItem as Ss, screenToWorld as Is, visibleWorldRect as xs, worldToScreen as Cs, zoomViewportAtPoint as us } from "./components/notes/types.js";
100
100
  import { NOTE_COLOR_LABELS as hs, NotesAnimalIcon as ks, NotesOverlayIcon as Fs, NotesTrashCanIcon as Es, TOPIC_ACCENT_LABELS as Ps } from "./components/notes/notesAppearance.js";
@@ -102,7 +102,7 @@ import { NotesOverlay as Ls } from "./components/notes/NotesOverlay.js";
102
102
  import { NotificationContainer as Ds, NotificationProvider as Rs, createNotificationService as ys, useNotification as vs } from "./context/NotificationContext.js";
103
103
  import { Pagination as Ms } from "./components/ui/Pagination.js";
104
104
  import { Panel as Ws, PanelContent as Ns, PanelHeader as bs } from "./components/layout/Panel.js";
105
- import { PickerNavigationError as Hs, createFilesystemPickerDataSource as Us, formatPickerPath as Gs, parsePickerPath as Vs } from "./components/ui/picker/PickerNavigation.js";
105
+ import { PickerNavigationError as Us, createFilesystemPickerDataSource as Hs, formatPickerPath as Gs, parsePickerPath as Vs } from "./components/ui/picker/PickerNavigation.js";
106
106
  import { ProcessingIndicator as zs } from "./components/ui/ProcessingIndicator.js";
107
107
  import { QuoteBlock as Zs } from "./components/ui/QuoteBlock.js";
108
108
  import { RadioGroup as Ys, RadioList as qs, RadioOption as js } from "./components/ui/Radio.js";
@@ -122,7 +122,7 @@ import { SvgBlock as vp } from "./components/chat/blocks/SvgBlock.js";
122
122
  import { Switch as Mp } from "./components/ui/Switch.js";
123
123
  import { TabPanel as Wp, Tabs as Np } from "./components/ui/Tabs.js";
124
124
  import { Tag as wp } from "./components/ui/Tag.js";
125
- import { TerminalWidget as Up, createTerminalWidget as Gp } from "./widgets/TerminalWidget.js";
125
+ import { TerminalWidget as Hp, createTerminalWidget as Gp } from "./widgets/TerminalWidget.js";
126
126
  import { TextBlock as Kp } from "./components/chat/blocks/TextBlock.js";
127
127
  import { ThemeProvider as Xp, createThemeService as Zp, useTheme as Qp } from "./context/ThemeContext.js";
128
128
  import { ThinkingBlock as qp } from "./components/chat/blocks/ThinkingBlock.js";
@@ -140,7 +140,7 @@ import { WidgetStateProvider as kf, useCurrentWidgetId as Ff, useWidgetState as
140
140
  import { WidgetTypeSwitcher as Lf } from "./components/deck/WidgetTypeSwitcher.js";
141
141
  import { WorkingIndicator as Df } from "./components/chat/status/WorkingIndicator.js";
142
142
  import { applyDragDelta as yf, applyResizeDelta as vf, getGridCellSize as Bf, pixelDeltaToGridDelta as Mf, positionToGridArea as Of, snapToGrid as Wf } from "./utils/gridLayout.js";
143
- import { buildAssistantNoticeEvents as bf, createStreamEventBuilder as wf, isStreamEvent as Hf } from "./components/chat/streamEvents.js";
143
+ import { buildAssistantNoticeEvents as bf, createStreamEventBuilder as wf, isStreamEvent as Uf } from "./components/chat/streamEvents.js";
144
144
  import { checkCollision as Gf, constrainPosition as Vf, findFreePosition as Kf, hasCollision as zf, sameGridPosition as Xf } from "./utils/gridCollision.js";
145
145
  import { classifyArchiveFileName as Qf } from "./components/file-browser/archiveFiles.js";
146
146
  import { clientToCanvasLocal as qf, clientToCanvasWorld as jf, createViewportFromZoomAnchor as Jf, isPointInsideCanvasRect as $f, localToCanvasWorld as ed } from "./components/ui/canvasGeometry.js";
@@ -153,7 +153,7 @@ import { createFloatingPresence as vd } from "./components/ui/floatingPresence.j
153
153
  import { createLongPressContextMenuHandlers as Md } from "./components/file-browser/longPressContextMenu.js";
154
154
  import { createSimpleContext as Wd } from "./context/createSimpleContext.js";
155
155
  import { createUIFirstSelection as bd } from "./utils/uiFirstSelection.js";
156
- import { deferAfterPaint as Hd, deferNonBlocking as Ud } from "./utils/defer.js";
156
+ import { deferAfterPaint as Ud, deferNonBlocking as Hd } from "./utils/defer.js";
157
157
  import { duration as Vd, easing as Kd, fadeIn as zd, listContainer as Xd, listItem as Zd, panelResize as Qd, popIn as Yd, scaleIn as qd, sidebarVariants as jd, slideInFromBottom as Jd, slideInFromLeft as $d, slideInFromRight as eT, slideInFromTop as oT, springConfig as rT } from "./utils/animations.js";
158
158
  import { formatKeybind as iT, isMacLikePlatform as nT, isPrimaryModKeyPressed as aT, matchKeybind as cT, parseKeybind as lT } from "./utils/keybind.js";
159
159
  import { intersectSurfaceRects as sT } from "./components/ui/surfaceFloatingBoundary.js";
@@ -161,17 +161,18 @@ import { isTypingElement as fT, shouldIgnoreHotkeys as dT } from "./utils/dom.js
161
161
  import { lockBodyStyle as ST } from "./utils/bodyStyleLock.js";
162
162
  import { registerCommandContributions as xT, useCommandContributions as CT } from "./hooks/useCommandContributions.js";
163
163
  import { resolveFloatingWindowViewport as gT } from "./components/ui/floatingWindowGeometry.js";
164
- import { startPointerSession as kT } from "./components/ui/pointerSession.js";
165
- import { useAttachments as ET } from "./components/chat/hooks/useAttachments.js";
166
- import { useAutoScroll as AT } from "./components/chat/hooks/useAutoScroll.js";
167
- import { useDebounce as _T } from "./hooks/useDebounce.js";
168
- import { useDeckDrag as RT } from "./hooks/useDeckDrag.js";
169
- import { useFileBrowserDropTarget as vT, useFileBrowserItemDrag as BT } from "./hooks/useFileBrowserDrag.js";
170
- import { useKeybind as OT } from "./hooks/useKeybind.js";
171
- import { useMediaQuery as NT } from "./hooks/useMediaQuery.js";
172
- import { usePersisted as wT } from "./hooks/usePersisted.js";
173
- import { useResizeObserver as UT } from "./hooks/useResizeObserver.js";
174
- import { useVirtualList as VT } from "./components/chat/hooks/useVirtualList.js";
164
+ import { secureRandomUUID as kT } from "./utils/secureRandom.js";
165
+ import { startPointerSession as ET } from "./components/ui/pointerSession.js";
166
+ import { useAttachments as AT } from "./components/chat/hooks/useAttachments.js";
167
+ import { useAutoScroll as _T } from "./components/chat/hooks/useAutoScroll.js";
168
+ import { useDebounce as RT } from "./hooks/useDebounce.js";
169
+ import { useDeckDrag as vT } from "./hooks/useDeckDrag.js";
170
+ import { useFileBrowserDropTarget as MT, useFileBrowserItemDrag as OT } from "./hooks/useFileBrowserDrag.js";
171
+ import { useKeybind as NT } from "./hooks/useKeybind.js";
172
+ import { useMediaQuery as wT } from "./hooks/useMediaQuery.js";
173
+ import { usePersisted as HT } from "./hooks/usePersisted.js";
174
+ import { useResizeObserver as VT } from "./hooks/useResizeObserver.js";
175
+ import { useVirtualList as zT } from "./components/chat/hooks/useVirtualList.js";
175
176
  export {
176
177
  _ as Activity,
177
178
  Zt as ActivityAppsMain,
@@ -190,12 +191,12 @@ export {
190
191
  W as ArrowRightLeft,
191
192
  N as ArrowUp,
192
193
  b as AtSign,
193
- Ui as AttachmentPreview,
194
+ Hi as AttachmentPreview,
194
195
  Ti as AudioFileIcon,
195
196
  w as AwardIcon,
196
197
  Vi as BUILT_IN_SHELL_THEME_DEFAULTS,
197
- H as BarChart,
198
- U as BatteryIcon,
198
+ U as BarChart,
199
+ H as BatteryIcon,
199
200
  G as Bell,
200
201
  V as BellIcon,
201
202
  $i as BlockRenderer,
@@ -231,7 +232,7 @@ export {
231
232
  Nn as Checkbox,
232
233
  bn as CheckboxGroup,
233
234
  wn as CheckboxList,
234
- Un as ChecklistBlock,
235
+ Hn as ChecklistBlock,
235
236
  te as ChevronDown,
236
237
  ie as ChevronLeft,
237
238
  ne as ChevronRight,
@@ -278,7 +279,7 @@ export {
278
279
  Ni as DataPieChart,
279
280
  Fe as Database,
280
281
  Ee as DatabaseIcon,
281
- Ha as DeckCell,
282
+ Ua as DeckCell,
282
283
  Ga as DeckContextMenu,
283
284
  Ka as DeckGrid,
284
285
  Xa as DeckProvider,
@@ -318,8 +319,8 @@ export {
318
319
  ye as Eye,
319
320
  ve as EyeIcon,
320
321
  Be as EyeOff,
321
- Hc as FLOE_GEOMETRY_SURFACE_ATTR,
322
- Uc as FLOE_HOT_INTERACTION_ATTR,
322
+ Uc as FLOE_GEOMETRY_SURFACE_ATTR,
323
+ Hc as FLOE_HOT_INTERACTION_ATTR,
323
324
  Kc as FileBlock,
324
325
  Xc as FileBrowser,
325
326
  Qc as FileBrowserDragPreview,
@@ -341,8 +342,8 @@ export {
341
342
  be as Files,
342
343
  ul as FilesSidebarWidget,
343
344
  we as Filter,
344
- He as FilterIcon,
345
- Ue as FireIcon,
345
+ Ue as FilterIcon,
346
+ He as FireIcon,
346
347
  Pl as FloatingWindow,
347
348
  Ll as FloeApp,
348
349
  ga as FloeConfigProvider,
@@ -362,8 +363,8 @@ export {
362
363
  Nl as FormDivider,
363
364
  bl as FormField,
364
365
  wl as FormLabel,
365
- Hl as FormMessage,
366
- Ul as FormRow,
366
+ Ul as FormMessage,
367
+ Hl as FormRow,
367
368
  Gl as FormSection,
368
369
  Xe as GiftIcon,
369
370
  Ze as GitBranch,
@@ -441,12 +442,12 @@ export {
441
442
  Wo as Minus,
442
443
  No as MinusIcon,
443
444
  wm as MobileKeyboard,
444
- Um as MobileTabBar,
445
+ Hm as MobileTabBar,
445
446
  bo as MonitorPointer,
446
447
  wi as MonitoringChart,
447
448
  wo as Moon,
448
- Ho as MoonIcon,
449
- Uo as MoreHorizontal,
449
+ Uo as MoonIcon,
450
+ Ho as MoreHorizontal,
450
451
  Go as MoreVertical,
451
452
  si as MorphCard,
452
453
  Vo as MuteIcon,
@@ -479,7 +480,7 @@ export {
479
480
  qo as PauseIcon,
480
481
  jo as Pencil,
481
482
  Jo as Phone,
482
- Hs as PickerNavigationError,
483
+ Us as PickerNavigationError,
483
484
  $o as PieChart,
484
485
  er as Pin,
485
486
  or as PinIcon,
@@ -569,14 +570,14 @@ export {
569
570
  Wr as TargetIcon,
570
571
  Nr as Terminal,
571
572
  br as TerminalIcon,
572
- Up as TerminalWidget,
573
+ Hp as TerminalWidget,
573
574
  Kp as TextBlock,
574
575
  wr as TextTool,
575
576
  ei as Textarea,
576
577
  Xp as ThemeProvider,
577
578
  qp as ThinkingBlock,
578
- Hr as ThumbsDownIcon,
579
- Ur as ThumbsUpIcon,
579
+ Ur as ThumbsDownIcon,
580
+ Hr as ThumbsUpIcon,
580
581
  Gr as Timer,
581
582
  Nc as TipBlock,
582
583
  Jp as ToolCallBlock,
@@ -659,7 +660,7 @@ export {
659
660
  Za as createDeckService,
660
661
  ts as createDefaultNotesSnapshot,
661
662
  cd as createDiffWorker,
662
- Us as createFilesystemPickerDataSource,
663
+ Hs as createFilesystemPickerDataSource,
663
664
  vd as createFloatingPresence,
664
665
  sm as createLayoutService,
665
666
  Md as createLongPressContextMenuHandlers,
@@ -677,8 +678,8 @@ export {
677
678
  bd as createUIFirstSelection,
678
679
  Jf as createViewportFromZoomAnchor,
679
680
  xf as createWidgetRegistry,
680
- Hd as deferAfterPaint,
681
- Ud as deferNonBlocking,
681
+ Ud as deferAfterPaint,
682
+ Hd as deferNonBlocking,
682
683
  Ct as deleteTerminalTextBackward,
683
684
  Pt as dispatchTerminalSessionKey,
684
685
  Vd as duration,
@@ -725,7 +726,7 @@ export {
725
726
  nT as isMacLikePlatform,
726
727
  $f as isPointInsideCanvasRect,
727
728
  aT as isPrimaryModKeyPressed,
728
- Hf as isStreamEvent,
729
+ Uf as isStreamEvent,
729
730
  va as isSurfacePortalMode,
730
731
  s as isThemeType,
731
732
  fT as isTypingElement,
@@ -749,7 +750,7 @@ export {
749
750
  Qd as panelResize,
750
751
  lT as parseKeybind,
751
752
  Vs as parsePickerPath,
752
- Ht as parseTerminalSuggestionContext,
753
+ Ut as parseTerminalSuggestionContext,
753
754
  Mf as pixelDeltaToGridDelta,
754
755
  Yd as popIn,
755
756
  Of as positionToGridArea,
@@ -786,6 +787,7 @@ export {
786
787
  mc as sanitizeDisplayMode,
787
788
  qd as scaleIn,
788
789
  Is as screenToWorld,
790
+ kT as secureRandomUUID,
789
791
  _t as setTerminalSessionInputValue,
790
792
  _n as shouldActivateWorkbenchWidgetLocalTarget,
791
793
  dT as shouldIgnoreHotkeys,
@@ -797,10 +799,10 @@ export {
797
799
  Wf as snapToGrid,
798
800
  rT as springConfig,
799
801
  Gc as startHotInteraction,
800
- kT as startPointerSession,
802
+ ET as startPointerSession,
801
803
  Dt as submitTerminalSession,
802
804
  T as syncThemeTokenOverrides,
803
- Ut as terminalCommandTokenSuggestionProvider,
805
+ Ht as terminalCommandTokenSuggestionProvider,
804
806
  Gt as terminalHistorySuggestionProvider,
805
807
  Vt as terminalPathSuggestionProvider,
806
808
  Kt as terminalRootSuggestionProvider,
@@ -810,8 +812,8 @@ export {
810
812
  Fd as terminateMermaidWorker,
811
813
  Dd as terminateShikiWorker,
812
814
  Sl as updateFileOpenSelection,
813
- ET as useAttachments,
814
- AT as useAutoScroll,
815
+ AT as useAttachments,
816
+ _T as useAutoScroll,
815
817
  On as useChatContext,
816
818
  Rd as useCodeHighlight,
817
819
  ra as useCommand,
@@ -819,27 +821,27 @@ export {
819
821
  ca as useComponentContextFactory,
820
822
  la as useComponentRegistry,
821
823
  Ff as useCurrentWidgetId,
822
- _T as useDebounce,
824
+ RT as useDebounce,
823
825
  Qa as useDeck,
824
- RT as useDeckDrag,
826
+ vT as useDeckDrag,
825
827
  ol as useFileBrowser,
826
828
  Jc as useFileBrowserDrag,
827
- vT as useFileBrowserDropTarget,
828
- BT as useFileBrowserItemDrag,
829
+ MT as useFileBrowserDropTarget,
830
+ OT as useFileBrowserItemDrag,
829
831
  ha as useFloeConfig,
830
832
  Vl as useFormSubmitting,
831
- OT as useKeybind,
833
+ NT as useKeybind,
832
834
  pm as useLayout,
833
- NT as useMediaQuery,
835
+ wT as useMediaQuery,
834
836
  Ed as useMermaid,
835
837
  vs as useNotification,
836
838
  ma as useOptionalComponentRegistry,
837
- wT as usePersisted,
838
- UT as useResizeObserver,
839
+ HT as usePersisted,
840
+ VT as useResizeObserver,
839
841
  ka as useResolvedFloeConfig,
840
842
  Qp as useTheme,
841
843
  lf as useViewActivation,
842
- VT as useVirtualList,
844
+ zT as useVirtualList,
843
845
  Cf as useWidgetRegistry,
844
846
  Ef as useWidgetState,
845
847
  Pf as useWidgetStateContext,
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { FloeProvider as r } from "./app/FloeProvider.js";
2
2
  import { applyShellThemeAttribute as i, applySurfaceStyleAttribute as s, applyTheme as n, builtInThemes as a, getSystemTheme as m, isFloeSurfaceStyle as l, isThemeType as p, mergeThemeTokenMaps as f, resolveThemeTokenOverrides as d, resolveThemeTokens as T, syncThemeTokenOverrides as u } from "./styles/themes/index.js";
3
3
  import { floeColorTokenCategories as g, floeDesignTokens as x, floeFontFamilyTokens as y, floeMotionTokens as C, floeRadiusTokens as h, floeSharedCssVariables as S, floeSpacingTokens as F, floeSurfaceTokens as v, floeThemeColorVariables as P, floeTypographyTokens as k, getFloeColorTokenValue as I } from "./styles/tokens.js";
4
4
  import { BUILT_IN_SHELL_THEME_DEFAULTS as D, REQUIRED_SHELL_THEME_TOKENS as E, assertUniqueThemePresetNames as b, builtInShellThemePresets as L, createShellThemePreset as _, getShellThemePresetsForMode as A, normalizeShellThemeSelection as N, presetSupportsMode as O, resolveShellThemePresetName as M } from "./styles/themes/presets.js";
5
- import { CommandProvider as w, createCommandService as G, useCommand as H } from "./context/CommandContext.js";
5
+ import { CommandProvider as U, createCommandService as w, useCommand as G } from "./context/CommandContext.js";
6
6
  import { ComponentRegistryProvider as W, createComponentRegistry as K, hasComponentRegistryContext as V, useComponentContextFactory as z, useComponentRegistry as Q, useOptionalComponentRegistry as q } from "./context/ComponentRegistry.js";
7
7
  import { DEFAULT_FLOE_CONFIG as j, FloeConfigProvider as J, useFloeConfig as X, useResolvedFloeConfig as Z } from "./context/FloeConfigContext.js";
8
8
  import { DeckProvider as ee, createDeckService as oe, useDeck as re } from "./context/DeckContext.js";
@@ -14,7 +14,7 @@ import { ThemeProvider as Se, createThemeService as Fe, useTheme as ve } from ".
14
14
  import { ViewActivationProvider as ke, useViewActivation as Ie } from "./context/ViewActivationContext.js";
15
15
  import { WidgetRegistryProvider as De, createWidgetRegistry as Ee, useWidgetRegistry as be } from "./context/WidgetRegistry.js";
16
16
  import { WidgetStateProvider as _e, useCurrentWidgetId as Ae, useWidgetState as Ne, useWidgetStateContext as Oe } from "./context/WidgetStateContext.js";
17
- import { applyDragDelta as Be, applyResizeDelta as we, getGridCellSize as Ge, pixelDeltaToGridDelta as He, positionToGridArea as Ue, snapToGrid as We } from "./utils/gridLayout.js";
17
+ import { applyDragDelta as Be, applyResizeDelta as Ue, getGridCellSize as we, pixelDeltaToGridDelta as Ge, positionToGridArea as He, snapToGrid as We } from "./utils/gridLayout.js";
18
18
  import { checkCollision as Ve, constrainPosition as ze, findFreePosition as Qe, hasCollision as qe, sameGridPosition as Ye } from "./utils/gridCollision.js";
19
19
  import { cn as Je } from "./utils/cn.js";
20
20
  import { createSimpleContext as Ze } from "./context/createSimpleContext.js";
@@ -25,16 +25,17 @@ import { formatKeybind as So, isMacLikePlatform as Fo, isPrimaryModKeyPressed as
25
25
  import { isTypingElement as Ro, shouldIgnoreHotkeys as Do } from "./utils/dom.js";
26
26
  import { lockBodyStyle as bo } from "./utils/bodyStyleLock.js";
27
27
  import { registerCommandContributions as _o, useCommandContributions as Ao } from "./hooks/useCommandContributions.js";
28
- import { useDebounce as Oo } from "./hooks/useDebounce.js";
29
- import { useDeckDrag as Bo } from "./hooks/useDeckDrag.js";
30
- import { useFileBrowserDropTarget as Go, useFileBrowserItemDrag as Ho } from "./hooks/useFileBrowserDrag.js";
31
- import { useKeybind as Wo } from "./hooks/useKeybind.js";
32
- import { useMediaQuery as Vo } from "./hooks/useMediaQuery.js";
33
- import { usePersisted as Qo } from "./hooks/usePersisted.js";
34
- import { useResizeObserver as Yo } from "./hooks/useResizeObserver.js";
28
+ import { secureRandomUUID as Oo } from "./utils/secureRandom.js";
29
+ import { useDebounce as Bo } from "./hooks/useDebounce.js";
30
+ import { useDeckDrag as wo } from "./hooks/useDeckDrag.js";
31
+ import { useFileBrowserDropTarget as Ho, useFileBrowserItemDrag as Wo } from "./hooks/useFileBrowserDrag.js";
32
+ import { useKeybind as Vo } from "./hooks/useKeybind.js";
33
+ import { useMediaQuery as Qo } from "./hooks/useMediaQuery.js";
34
+ import { usePersisted as Yo } from "./hooks/usePersisted.js";
35
+ import { useResizeObserver as Jo } from "./hooks/useResizeObserver.js";
35
36
  export {
36
37
  D as BUILT_IN_SHELL_THEME_DEFAULTS,
37
- w as CommandProvider,
38
+ U as CommandProvider,
38
39
  W as ComponentRegistryProvider,
39
40
  j as DEFAULT_FLOE_CONFIG,
40
41
  ee as DeckProvider,
@@ -52,7 +53,7 @@ export {
52
53
  De as WidgetRegistryProvider,
53
54
  _e as WidgetStateProvider,
54
55
  Be as applyDragDelta,
55
- we as applyResizeDelta,
56
+ Ue as applyResizeDelta,
56
57
  i as applyShellThemeAttribute,
57
58
  s as applySurfaceStyleAttribute,
58
59
  n as applyTheme,
@@ -62,7 +63,7 @@ export {
62
63
  Ve as checkCollision,
63
64
  Je as cn,
64
65
  ze as constrainPosition,
65
- G as createCommandService,
66
+ w as createCommandService,
66
67
  K as createComponentRegistry,
67
68
  oe as createDeckService,
68
69
  Te as createLayoutService,
@@ -90,7 +91,7 @@ export {
90
91
  k as floeTypographyTokens,
91
92
  So as formatKeybind,
92
93
  I as getFloeColorTokenValue,
93
- Ge as getGridCellSize,
94
+ we as getGridCellSize,
94
95
  A as getShellThemePresetsForMode,
95
96
  m as getSystemTheme,
96
97
  qe as hasCollision,
@@ -109,9 +110,9 @@ export {
109
110
  N as normalizeShellThemeSelection,
110
111
  po as panelResize,
111
112
  ko as parseKeybind,
112
- He as pixelDeltaToGridDelta,
113
+ Ge as pixelDeltaToGridDelta,
113
114
  fo as popIn,
114
- Ue as positionToGridArea,
115
+ He as positionToGridArea,
115
116
  O as presetSupportsMode,
116
117
  _o as registerCommandContributions,
117
118
  M as resolveShellThemePresetName,
@@ -119,6 +120,7 @@ export {
119
120
  T as resolveThemeTokens,
120
121
  Ye as sameGridPosition,
121
122
  To as scaleIn,
123
+ Oo as secureRandomUUID,
122
124
  Do as shouldIgnoreHotkeys,
123
125
  uo as sidebarVariants,
124
126
  co as slideInFromBottom,
@@ -129,25 +131,25 @@ export {
129
131
  Co as springConfig,
130
132
  ne as startHotInteraction,
131
133
  u as syncThemeTokenOverrides,
132
- H as useCommand,
134
+ G as useCommand,
133
135
  Ao as useCommandContributions,
134
136
  z as useComponentContextFactory,
135
137
  Q as useComponentRegistry,
136
138
  Ae as useCurrentWidgetId,
137
- Oo as useDebounce,
139
+ Bo as useDebounce,
138
140
  re as useDeck,
139
- Bo as useDeckDrag,
141
+ wo as useDeckDrag,
140
142
  pe as useFileBrowserDrag,
141
- Go as useFileBrowserDropTarget,
142
- Ho as useFileBrowserItemDrag,
143
+ Ho as useFileBrowserDropTarget,
144
+ Wo as useFileBrowserItemDrag,
143
145
  X as useFloeConfig,
144
- Wo as useKeybind,
146
+ Vo as useKeybind,
145
147
  ue as useLayout,
146
- Vo as useMediaQuery,
148
+ Qo as useMediaQuery,
147
149
  Ce as useNotification,
148
150
  q as useOptionalComponentRegistry,
149
- Qo as usePersisted,
150
- Yo as useResizeObserver,
151
+ Yo as usePersisted,
152
+ Jo as useResizeObserver,
151
153
  Z as useResolvedFloeConfig,
152
154
  ve as useTheme,
153
155
  Ie as useViewActivation,
@@ -8,3 +8,4 @@ export * from './gridCollision';
8
8
  export * from './gridLayout';
9
9
  export * from './hotInteraction';
10
10
  export * from './uiFirstSelection';
11
+ export { secureRandomUUID } from './secureRandom';
@@ -0,0 +1,2 @@
1
+ /** RFC 9562 UUIDv4 using the CSPRNG available on both HTTP and HTTPS origins. */
2
+ export declare function secureRandomUUID(): string;
@@ -0,0 +1,11 @@
1
+ function a() {
2
+ if (typeof globalThis.crypto?.getRandomValues != "function")
3
+ throw new Error("Cryptographically secure random values are unavailable");
4
+ const e = globalThis.crypto.getRandomValues(new Uint8Array(16));
5
+ e[6] = e[6] & 15 | 64, e[8] = e[8] & 63 | 128;
6
+ const r = Array.from(e, (o) => o.toString(16).padStart(2, "0")).join("");
7
+ return `${r.slice(0, 8)}-${r.slice(8, 12)}-${r.slice(12, 16)}-${r.slice(16, 20)}-${r.slice(20)}`;
8
+ }
9
+ export {
10
+ a as secureRandomUUID
11
+ };
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floegence/floe-webapp-core",
3
- "version": "0.52.12",
3
+ "version": "0.53.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",