@floegence/floe-webapp-core 0.86.58 → 0.86.62
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/components/chat/blocks/BlockRenderer.js +1 -1
- package/dist/components/chat/blocks/CodeDiffBlock.js +56 -56
- package/dist/components/chat/blocks/ImageBlock.js +1 -1
- package/dist/components/chat/blocks/ToolCallBlock.js +57 -57
- package/dist/components/chat/status/ConnectionStatus.js +10 -10
- package/dist/components/deck/DeckCell.js +25 -25
- package/dist/components/deck/DeckContextMenu.js +20 -20
- package/dist/components/deck/DeckGrid.js +1 -1
- package/dist/components/deck/DeckTopBar.js +42 -42
- package/dist/components/deck/DropZonePreview.js +6 -6
- package/dist/components/deck/LayoutSelector.js +53 -53
- package/dist/components/deck/WidgetFrame.js +28 -28
- package/dist/components/deck/WidgetPalette.js +31 -31
- package/dist/components/deck/WidgetTypeSwitcher.js +31 -31
- package/dist/components/file-browser/Breadcrumb.js +27 -27
- package/dist/components/file-browser/DirectoryTree.js +15 -15
- package/dist/components/file-browser/DragPreview.js +58 -58
- package/dist/components/file-browser/FileBrowser.js +17 -17
- package/dist/components/file-browser/FileBrowserStatusBar.js +18 -18
- package/dist/components/file-browser/FileBrowserToolbar.js +27 -27
- package/dist/components/file-browser/FileContextMenu.js +47 -47
- package/dist/components/file-browser/FileGridView.js +53 -51
- package/dist/components/file-browser/FileItemDecorations.js +30 -27
- package/dist/components/file-browser/FileListView.js +114 -114
- package/dist/components/icons/index.js +1357 -1357
- package/dist/components/launchpad/Launchpad.js +14 -14
- package/dist/components/launchpad/LaunchpadGrid.js +7 -7
- package/dist/components/launchpad/LaunchpadItem.js +11 -11
- package/dist/components/launchpad/LaunchpadPagination.js +16 -16
- package/dist/components/launchpad/LaunchpadSearch.js +9 -9
- package/dist/components/layout/ActivityBar.js +52 -55
- package/dist/components/layout/BottomBar.js +17 -17
- package/dist/components/layout/MobileNavigationPanel.js +36 -36
- package/dist/components/layout/MobileTabBar.js +39 -39
- package/dist/components/layout/Panel.js +16 -16
- package/dist/components/layout/ResizeHandle.js +19 -19
- package/dist/components/layout/Shell.js +50 -50
- package/dist/components/layout/Sidebar.js +37 -36
- package/dist/components/layout/SidebarPane.js +19 -19
- package/dist/components/layout/TopBar.js +16 -16
- package/dist/components/layout/TopBarIconButton.js +15 -15
- package/dist/components/loading/LoadingOverlay.js +9 -9
- package/dist/components/loading/Skeleton.js +11 -11
- package/dist/components/ui/Button.js +36 -36
- package/dist/components/ui/Card.d.ts +11 -62
- package/dist/components/ui/Card.js +64 -237
- package/dist/components/ui/Checkbox.js +79 -79
- package/dist/components/ui/CommandPalette.js +56 -55
- package/dist/components/ui/Dialog.js +91 -93
- package/dist/components/ui/DirectoryInput.js +22 -22
- package/dist/components/ui/DirectoryPicker.js +8 -8
- package/dist/components/ui/Dropdown.js +89 -87
- package/dist/components/ui/FeedbackIndicator.js +57 -57
- package/dist/components/ui/FileOpenPicker.js +37 -37
- package/dist/components/ui/FileSavePicker.js +41 -41
- package/dist/components/ui/FloatingWindow.js +266 -261
- package/dist/components/ui/Form.js +76 -76
- package/dist/components/ui/HighlightBlock.js +14 -14
- package/dist/components/ui/Input.js +106 -109
- package/dist/components/ui/Pagination.js +86 -86
- package/dist/components/ui/Popover.d.ts +33 -0
- package/dist/components/ui/Popover.js +133 -0
- package/dist/components/ui/ProcessingIndicator.js +344 -345
- package/dist/components/ui/Progress.js +94 -97
- package/dist/components/ui/QuoteBlock.js +25 -25
- package/dist/components/ui/Radio.js +91 -91
- package/dist/components/ui/SegmentedControl.js +24 -24
- package/dist/components/ui/Stepper.js +68 -60
- package/dist/components/ui/Switch.js +25 -25
- package/dist/components/ui/Tabs.js +99 -87
- package/dist/components/ui/Tag.js +12 -9
- package/dist/components/ui/Tooltip.js +30 -30
- package/dist/components/ui/floatingPresence.d.ts +7 -0
- package/dist/components/ui/floatingPresence.js +80 -39
- package/dist/components/ui/index.d.ts +2 -1
- package/dist/components/ui/picker/DirectoryFavorites.js +27 -27
- package/dist/components/ui/picker/PickerBase.js +107 -107
- package/dist/context/NotificationContext.js +4 -4
- package/dist/context/ThemeContext.js +71 -70
- package/dist/floe.css +205 -43
- package/dist/full.js +650 -652
- package/dist/language.css +320 -0
- package/dist/primitives.css +23 -17
- package/dist/standalone.css +1 -0
- package/dist/styles/themes/classicSemanticTokens.d.ts +122 -122
- package/dist/styles/themes/classicSemanticTokens.js +140 -138
- package/dist/styles/themes/index.d.ts +3 -1
- package/dist/styles/themes/index.js +10 -10
- package/dist/styles/themes/presets.d.ts +2 -2
- package/dist/styles/themes/presets.js +34 -34
- package/dist/styles/tokens.d.ts +152 -68
- package/dist/styles/tokens.js +87 -49
- package/dist/styles.css +1 -1
- package/dist/surface.css +161 -116
- package/dist/themes/dark.css +64 -64
- package/dist/themes/light.css +64 -64
- package/dist/ui.css +171 -255
- package/dist/ui.js +176 -178
- package/dist/utils/hotInteraction.d.ts +7 -0
- package/dist/utils/hotInteraction.js +12 -12
- package/dist/widgets/TerminalWidget.js +28 -28
- package/dist/workbench-composition.css +15 -15
- package/package.json +1 -1
package/dist/ui.js
CHANGED
|
@@ -1,187 +1,185 @@
|
|
|
1
1
|
import { AffixInput as e, Input as t, NumberInput as a, Textarea as i } from "./components/ui/Input.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { Checkbox as
|
|
7
|
-
import { CircularProgress as
|
|
8
|
-
import { CommandPalette as
|
|
9
|
-
import { ConfirmDialog as
|
|
10
|
-
import { DIALOG_SURFACE_BOUNDARY_ATTR as
|
|
11
|
-
import { DialogPlacementProvider as
|
|
12
|
-
import { DirectoryFavoriteButton as
|
|
13
|
-
import { DirectoryInput as
|
|
14
|
-
import { DirectoryPicker as
|
|
15
|
-
import { Dropdown as
|
|
16
|
-
import { ErrorBlock as
|
|
17
|
-
import { FeedbackIndicator as
|
|
18
|
-
import { FileOpenPicker as
|
|
19
|
-
import { FileSavePicker as
|
|
20
|
-
import { FloatingWindow as
|
|
21
|
-
import { Form as
|
|
22
|
-
import { InfiniteCanvas as
|
|
23
|
-
import { KeyedFor as
|
|
24
|
-
import { MENU_ITEM_SELECTOR as
|
|
25
|
-
import { MobileKeyboard as
|
|
26
|
-
import { Pagination as
|
|
27
|
-
import { PersistentHorizontalScrollbar as
|
|
28
|
-
import { PickerNavigationError as
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
2
|
+
import { AreaChart as c, DataBarChart as p, DataPieChart as l, LineChart as m, MonitoringChart as T } from "./components/ui/Charts.js";
|
|
3
|
+
import { Button as s } from "./components/ui/Button.js";
|
|
4
|
+
import { CANVAS_WHEEL_INTERACTIVE_ATTR as E, DEFAULT_CANVAS_WHEEL_INTERACTIVE_SELECTOR as C, DEFAULT_LOCAL_INTERACTION_SURFACE_SELECTOR as x, DEFAULT_WORKBENCH_TEXT_SELECTION_SURFACE_SELECTOR as _, DEFAULT_WORKBENCH_WIDGET_ACTIVATION_SURFACE_SELECTOR as R, DEFAULT_WORKBENCH_WIDGET_SHELL_SELECTOR as A, LOCAL_INTERACTION_SURFACE_ATTR as u, WORKBENCH_TEXT_SELECTION_SURFACE_ATTR as g, WORKBENCH_WIDGET_ACTIVATION_SURFACE_ATTR as F, WORKBENCH_WIDGET_SHELL_ATTR as L, isLocalInteractionSurfaceTarget as d, resolveSurfaceInteractionTargetRole as P, resolveSurfaceWheelRouting as I, resolveWorkbenchWidgetEventOwnership as O, resolveWorkbenchWidgetLocalTypingTarget as W, resolveWorkbenchWidgetTextSelectionTarget as v, shouldActivateWorkbenchWidgetLocalTarget as D } from "./components/ui/localInteractionSurface.js";
|
|
5
|
+
import { Card as k, CardContent as h, CardDescription as B, CardFooter as b, CardHeader as U, CardTitle as H } from "./components/ui/Card.js";
|
|
6
|
+
import { Checkbox as M, CheckboxGroup as w, CheckboxList as K } from "./components/ui/Checkbox.js";
|
|
7
|
+
import { CircularProgress as V, LinearProgress as z, SegmentedProgress as j, StepsProgress as X } from "./components/ui/Progress.js";
|
|
8
|
+
import { CommandPalette as Q } from "./components/ui/CommandPalette.js";
|
|
9
|
+
import { ConfirmDialog as q, Dialog as J } from "./components/ui/Dialog.js";
|
|
10
|
+
import { DIALOG_SURFACE_BOUNDARY_ATTR as oo, DIALOG_SURFACE_HOST_ATTR as ro, SURFACE_PORTAL_HOST_ATTR as eo, SURFACE_PORTAL_LAYER_ATTR as to, __resetSurfacePortalScopeForTests as ao, ensureSurfacePortalInteractionTracking as io, isSurfacePortalMode as no, projectSurfacePortalPosition as co, projectSurfacePortalRect as po, resolveSurfacePortalBoundaryRect as lo, resolveSurfacePortalHost as mo, resolveSurfacePortalMount as To, resolveSurfacePortalMountRect as fo } from "./components/ui/dialogSurfaceScope.js";
|
|
11
|
+
import { DialogPlacementProvider as So } from "./components/ui/DialogPlacementContext.js";
|
|
12
|
+
import { DirectoryFavoriteButton as Co } from "./components/ui/picker/DirectoryFavorites.js";
|
|
13
|
+
import { DirectoryInput as _o } from "./components/ui/DirectoryInput.js";
|
|
14
|
+
import { DirectoryPicker as Ao } from "./components/ui/DirectoryPicker.js";
|
|
15
|
+
import { Dropdown as go, Select as Fo } from "./components/ui/Dropdown.js";
|
|
16
|
+
import { ErrorBlock as Po, HighlightBlock as Io, InfoBlock as Oo, NoteBlock as Wo, SuccessBlock as vo, TipBlock as Do, WarningBlock as No } from "./components/ui/HighlightBlock.js";
|
|
17
|
+
import { FeedbackIndicator as ho } from "./components/ui/FeedbackIndicator.js";
|
|
18
|
+
import { FileOpenPicker as bo, normalizeFileOpenSelection as Uo, updateFileOpenSelection as Ho } from "./components/ui/FileOpenPicker.js";
|
|
19
|
+
import { FileSavePicker as Mo } from "./components/ui/FileSavePicker.js";
|
|
20
|
+
import { FloatingWindow as Ko } from "./components/ui/FloatingWindow.js";
|
|
21
|
+
import { Form as Vo, FormActions as zo, FormControl as jo, FormDescription as Xo, FormDivider as Yo, FormField as Qo, FormLabel as Zo, FormMessage as qo, FormRow as Jo, FormSection as $o, useFormSubmitting as or } from "./components/ui/Form.js";
|
|
22
|
+
import { InfiniteCanvas as er } from "./components/ui/InfiniteCanvas.js";
|
|
23
|
+
import { KeyedFor as ar } from "./components/ui/KeyedFor.js";
|
|
24
|
+
import { MENU_ITEM_SELECTOR as nr, focusMenuItem as cr, getMenuItems as pr, handleMenuKeyboardNavigation as lr, moveMenuFocus as mr } from "./components/ui/menuUtils.js";
|
|
25
|
+
import { MobileKeyboard as fr } from "./components/ui/MobileKeyboard.js";
|
|
26
|
+
import { Pagination as Sr } from "./components/ui/Pagination.js";
|
|
27
|
+
import { PersistentHorizontalScrollbar as Cr } from "./components/ui/PersistentHorizontalScrollbar.js";
|
|
28
|
+
import { PickerNavigationError as _r, createFilesystemPickerDataSource as Rr, formatPickerPath as Ar, parsePickerPath as ur } from "./components/ui/picker/PickerNavigation.js";
|
|
29
|
+
import { Popover as Fr } from "./components/ui/Popover.js";
|
|
30
|
+
import { ProcessingIndicator as dr } from "./components/ui/ProcessingIndicator.js";
|
|
31
|
+
import { QuoteBlock as Ir } from "./components/ui/QuoteBlock.js";
|
|
32
|
+
import { RadioGroup as Wr, RadioList as vr, RadioOption as Dr } from "./components/ui/Radio.js";
|
|
33
|
+
import { SegmentedControl as kr } from "./components/ui/SegmentedControl.js";
|
|
34
|
+
import { SettingRow as Br, SettingsLayout as br, SettingsList as Ur, SettingsNavigation as Hr, SettingsSection as yr } from "./components/ui/Settings.js";
|
|
35
|
+
import { StableText as wr } from "./components/ui/StableText.js";
|
|
36
|
+
import { StatusRegion as Gr } from "./components/ui/StatusRegion.js";
|
|
37
|
+
import { Stepper as zr, Wizard as jr, useWizard as Xr } from "./components/ui/Stepper.js";
|
|
38
|
+
import { SurfaceAnchoredLayer as Qr } from "./components/ui/SurfaceAnchoredLayer.js";
|
|
39
|
+
import { SurfaceFloatingLayer as qr } from "./components/ui/SurfaceFloatingLayer.js";
|
|
40
|
+
import { SurfaceFloatingPanel as $r } from "./components/ui/SurfaceFloatingPanel.js";
|
|
41
|
+
import { Switch as re } from "./components/ui/Switch.js";
|
|
42
|
+
import { TabPanel as te, Tabs as ae } from "./components/ui/Tabs.js";
|
|
43
|
+
import { Tag as ne } from "./components/ui/Tag.js";
|
|
43
44
|
import { Tooltip as pe } from "./components/ui/Tooltip.js";
|
|
44
|
-
import { clientToCanvasLocal as
|
|
45
|
-
import { createFloatingPresence as
|
|
46
|
-
import { intersectSurfaceRects as
|
|
47
|
-
import { resolveFloatingWindowViewport as
|
|
48
|
-
import { startPointerSession as
|
|
45
|
+
import { clientToCanvasLocal as me, clientToCanvasWorld as Te, createViewportFromZoomAnchor as fe, isPointInsideCanvasRect as se, localToCanvasWorld as Se } from "./components/ui/canvasGeometry.js";
|
|
46
|
+
import { createFloatingPresence as Ce } from "./components/ui/floatingPresence.js";
|
|
47
|
+
import { intersectSurfaceRects as _e } from "./components/ui/surfaceFloatingBoundary.js";
|
|
48
|
+
import { resolveFloatingWindowViewport as Ae } from "./components/ui/floatingWindowGeometry.js";
|
|
49
|
+
import { startPointerSession as ge } from "./components/ui/pointerSession.js";
|
|
49
50
|
export {
|
|
50
51
|
e as AffixInput,
|
|
51
|
-
c as
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
Dr as InfoBlock,
|
|
52
|
+
c as AreaChart,
|
|
53
|
+
s as Button,
|
|
54
|
+
E as CANVAS_WHEEL_INTERACTIVE_ATTR,
|
|
55
|
+
k as Card,
|
|
56
|
+
h as CardContent,
|
|
57
|
+
B as CardDescription,
|
|
58
|
+
b as CardFooter,
|
|
59
|
+
U as CardHeader,
|
|
60
|
+
H as CardTitle,
|
|
61
|
+
M as Checkbox,
|
|
62
|
+
w as CheckboxGroup,
|
|
63
|
+
K as CheckboxList,
|
|
64
|
+
V as CircularProgress,
|
|
65
|
+
Q as CommandPalette,
|
|
66
|
+
q as ConfirmDialog,
|
|
67
|
+
C as DEFAULT_CANVAS_WHEEL_INTERACTIVE_SELECTOR,
|
|
68
|
+
x as DEFAULT_LOCAL_INTERACTION_SURFACE_SELECTOR,
|
|
69
|
+
_ as DEFAULT_WORKBENCH_TEXT_SELECTION_SURFACE_SELECTOR,
|
|
70
|
+
R as DEFAULT_WORKBENCH_WIDGET_ACTIVATION_SURFACE_SELECTOR,
|
|
71
|
+
A as DEFAULT_WORKBENCH_WIDGET_SHELL_SELECTOR,
|
|
72
|
+
oo as DIALOG_SURFACE_BOUNDARY_ATTR,
|
|
73
|
+
ro as DIALOG_SURFACE_HOST_ATTR,
|
|
74
|
+
p as DataBarChart,
|
|
75
|
+
l as DataPieChart,
|
|
76
|
+
J as Dialog,
|
|
77
|
+
So as DialogPlacementProvider,
|
|
78
|
+
Co as DirectoryFavoriteButton,
|
|
79
|
+
_o as DirectoryInput,
|
|
80
|
+
Ao as DirectoryPicker,
|
|
81
|
+
go as Dropdown,
|
|
82
|
+
Po as ErrorBlock,
|
|
83
|
+
ho as FeedbackIndicator,
|
|
84
|
+
bo as FileOpenPicker,
|
|
85
|
+
Mo as FileSavePicker,
|
|
86
|
+
Ko as FloatingWindow,
|
|
87
|
+
Vo as Form,
|
|
88
|
+
zo as FormActions,
|
|
89
|
+
jo as FormControl,
|
|
90
|
+
Xo as FormDescription,
|
|
91
|
+
Yo as FormDivider,
|
|
92
|
+
Qo as FormField,
|
|
93
|
+
Zo as FormLabel,
|
|
94
|
+
qo as FormMessage,
|
|
95
|
+
Jo as FormRow,
|
|
96
|
+
$o as FormSection,
|
|
97
|
+
Io as HighlightBlock,
|
|
98
|
+
er as InfiniteCanvas,
|
|
99
|
+
Oo as InfoBlock,
|
|
100
100
|
t as Input,
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
C as MorphCard,
|
|
110
|
-
E as NeonCard,
|
|
111
|
-
Nr as NoteBlock,
|
|
101
|
+
ar as KeyedFor,
|
|
102
|
+
u as LOCAL_INTERACTION_SURFACE_ATTR,
|
|
103
|
+
m as LineChart,
|
|
104
|
+
z as LinearProgress,
|
|
105
|
+
nr as MENU_ITEM_SELECTOR,
|
|
106
|
+
fr as MobileKeyboard,
|
|
107
|
+
T as MonitoringChart,
|
|
108
|
+
Wo as NoteBlock,
|
|
112
109
|
a as NumberInput,
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
110
|
+
Sr as Pagination,
|
|
111
|
+
Cr as PersistentHorizontalScrollbar,
|
|
112
|
+
_r as PickerNavigationError,
|
|
113
|
+
Fr as Popover,
|
|
114
|
+
dr as ProcessingIndicator,
|
|
115
|
+
Ir as QuoteBlock,
|
|
116
|
+
Wr as RadioGroup,
|
|
117
|
+
vr as RadioList,
|
|
118
|
+
Dr as RadioOption,
|
|
119
|
+
eo as SURFACE_PORTAL_HOST_ATTR,
|
|
120
|
+
to as SURFACE_PORTAL_LAYER_ATTR,
|
|
121
|
+
kr as SegmentedControl,
|
|
122
|
+
j as SegmentedProgress,
|
|
123
|
+
Fo as Select,
|
|
124
|
+
Br as SettingRow,
|
|
125
|
+
br as SettingsLayout,
|
|
126
|
+
Ur as SettingsList,
|
|
127
|
+
Hr as SettingsNavigation,
|
|
128
|
+
yr as SettingsSection,
|
|
129
|
+
wr as StableText,
|
|
130
|
+
Gr as StatusRegion,
|
|
131
|
+
zr as Stepper,
|
|
132
|
+
X as StepsProgress,
|
|
133
|
+
vo as SuccessBlock,
|
|
134
|
+
Qr as SurfaceAnchoredLayer,
|
|
135
|
+
qr as SurfaceFloatingLayer,
|
|
136
|
+
$r as SurfaceFloatingPanel,
|
|
137
|
+
re as Switch,
|
|
138
|
+
te as TabPanel,
|
|
139
|
+
ae as Tabs,
|
|
140
|
+
ne as Tag,
|
|
143
141
|
i as Textarea,
|
|
144
|
-
|
|
142
|
+
Do as TipBlock,
|
|
145
143
|
pe as Tooltip,
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
144
|
+
g as WORKBENCH_TEXT_SELECTION_SURFACE_ATTR,
|
|
145
|
+
F as WORKBENCH_WIDGET_ACTIVATION_SURFACE_ATTR,
|
|
146
|
+
L as WORKBENCH_WIDGET_SHELL_ATTR,
|
|
147
|
+
No as WarningBlock,
|
|
148
|
+
jr as Wizard,
|
|
149
|
+
ao as __resetSurfacePortalScopeForTests,
|
|
150
|
+
me as clientToCanvasLocal,
|
|
151
|
+
Te as clientToCanvasWorld,
|
|
152
|
+
Rr as createFilesystemPickerDataSource,
|
|
153
|
+
Ce as createFloatingPresence,
|
|
154
|
+
fe as createViewportFromZoomAnchor,
|
|
155
|
+
io as ensureSurfacePortalInteractionTracking,
|
|
156
|
+
cr as focusMenuItem,
|
|
157
|
+
Ar as formatPickerPath,
|
|
158
|
+
pr as getMenuItems,
|
|
159
|
+
lr as handleMenuKeyboardNavigation,
|
|
160
|
+
_e as intersectSurfaceRects,
|
|
161
|
+
d as isLocalInteractionSurfaceTarget,
|
|
162
|
+
se as isPointInsideCanvasRect,
|
|
163
|
+
no as isSurfacePortalMode,
|
|
164
|
+
Se as localToCanvasWorld,
|
|
165
|
+
mr as moveMenuFocus,
|
|
166
|
+
Uo as normalizeFileOpenSelection,
|
|
167
|
+
ur as parsePickerPath,
|
|
168
|
+
co as projectSurfacePortalPosition,
|
|
169
|
+
po as projectSurfacePortalRect,
|
|
170
|
+
Ae as resolveFloatingWindowViewport,
|
|
171
|
+
P as resolveSurfaceInteractionTargetRole,
|
|
172
|
+
lo as resolveSurfacePortalBoundaryRect,
|
|
173
|
+
mo as resolveSurfacePortalHost,
|
|
174
|
+
To as resolveSurfacePortalMount,
|
|
175
|
+
fo as resolveSurfacePortalMountRect,
|
|
176
|
+
I as resolveSurfaceWheelRouting,
|
|
177
|
+
O as resolveWorkbenchWidgetEventOwnership,
|
|
178
|
+
W as resolveWorkbenchWidgetLocalTypingTarget,
|
|
179
|
+
v as resolveWorkbenchWidgetTextSelectionTarget,
|
|
180
|
+
D as shouldActivateWorkbenchWidgetLocalTarget,
|
|
181
|
+
ge as startPointerSession,
|
|
182
|
+
Ho as updateFileOpenSelection,
|
|
183
|
+
or as useFormSubmitting,
|
|
184
|
+
Xr as useWizard
|
|
187
185
|
};
|
|
@@ -5,5 +5,12 @@ export interface StartHotInteractionOptions {
|
|
|
5
5
|
kind: HotInteractionKind;
|
|
6
6
|
cursor: string;
|
|
7
7
|
lockUserSelect?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* `cursor` and `user-select` inherit, so writing them on `document.body`
|
|
10
|
+
* recalculates styles for the whole document. A surface that keeps the pointer
|
|
11
|
+
* inside its own bounds can declare the cursor itself and opt out; the
|
|
12
|
+
* hot-interaction attribute still suppresses animations for the gesture.
|
|
13
|
+
*/
|
|
14
|
+
lockDocumentStyles?: boolean;
|
|
8
15
|
}
|
|
9
16
|
export declare function startHotInteraction(options: StartHotInteractionOptions): () => void;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { lockBodyStyle as
|
|
2
|
-
const u = "data-floe-hot-interaction",
|
|
3
|
-
function
|
|
1
|
+
import { lockBodyStyle as i } from "./bodyStyleLock.js";
|
|
2
|
+
const u = "data-floe-hot-interaction", a = "data-floe-geometry-surface", e = /* @__PURE__ */ new Map();
|
|
3
|
+
function s() {
|
|
4
4
|
return typeof document > "u" ? null : document.documentElement;
|
|
5
5
|
}
|
|
6
|
-
function
|
|
7
|
-
const t =
|
|
6
|
+
function l() {
|
|
7
|
+
const t = s();
|
|
8
8
|
if (!t) return;
|
|
9
9
|
const r = [...e.entries()].filter(([, n]) => n > 0).map(([n]) => n).sort();
|
|
10
10
|
if (r.length === 0) {
|
|
@@ -13,23 +13,23 @@ function i() {
|
|
|
13
13
|
}
|
|
14
14
|
t.setAttribute(u, r.join(" "));
|
|
15
15
|
}
|
|
16
|
-
function
|
|
16
|
+
function d(t) {
|
|
17
17
|
const r = (e.get(t.kind) ?? 0) + 1;
|
|
18
|
-
e.set(t.kind, r),
|
|
19
|
-
const n =
|
|
18
|
+
e.set(t.kind, r), l();
|
|
19
|
+
const n = t.lockDocumentStyles === !1 ? null : i({
|
|
20
20
|
cursor: t.cursor,
|
|
21
21
|
...t.lockUserSelect === !1 ? {} : { "user-select": "none" }
|
|
22
22
|
});
|
|
23
23
|
let o = !0;
|
|
24
24
|
return () => {
|
|
25
25
|
if (!o) return;
|
|
26
|
-
o = !1, n();
|
|
26
|
+
o = !1, n?.();
|
|
27
27
|
const c = e.get(t.kind) ?? 0;
|
|
28
|
-
c <= 1 ? e.delete(t.kind) : e.set(t.kind, c - 1),
|
|
28
|
+
c <= 1 ? e.delete(t.kind) : e.set(t.kind, c - 1), l();
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
export {
|
|
32
|
-
|
|
32
|
+
a as FLOE_GEOMETRY_SURFACE_ATTR,
|
|
33
33
|
u as FLOE_HOT_INTERACTION_ATTR,
|
|
34
|
-
|
|
34
|
+
d as startHotInteraction
|
|
35
35
|
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { insert as o, createComponent as d, memo as D, effect as
|
|
1
|
+
import { insert as o, createComponent as d, memo as D, effect as y, className as R, spread as Q, mergeProps as F, setStyleProperty as U, template as v, use as W, delegateEvents as X } from "solid-js/web";
|
|
2
2
|
import { createSignal as k, createMemo as C, createEffect as N, Show as P, For as Y } from "solid-js";
|
|
3
3
|
import { useMobileLayout as Z } from "../context/LayoutContext.js";
|
|
4
4
|
import { MobileKeyboard as ee } from "../components/ui/MobileKeyboard.js";
|
|
5
5
|
import { cn as q } from "../utils/cn.js";
|
|
6
6
|
import { floeTouchSurfaceAttrs as te, preventTouchSurfacePointerDown as re } from "../utils/touchSurfaceGuard.js";
|
|
7
7
|
import { normalizeTerminalWorkspaceProfile as ne } from "../terminal/workspaceProfile.js";
|
|
8
|
-
import { createTerminalSessionState as ie, getTerminalPromptPreview as oe, getTerminalSessionSuggestions as
|
|
8
|
+
import { createTerminalSessionState as ie, getTerminalPromptPreview as oe, getTerminalSessionSuggestions as se, applyTerminalSessionSuggestion as le, setTerminalSessionInputValue as ae, dispatchTerminalSessionKey as ue, submitTerminalSession as de } from "../terminal/sessionModel.js";
|
|
9
9
|
import { runTerminalMockCommand as ce } from "../terminal/mockRuntime.js";
|
|
10
|
-
var me = /* @__PURE__ */ v('<button type=button class="rounded-full px-2.5 py-1 text-
|
|
10
|
+
var me = /* @__PURE__ */ v('<button type=button class="rounded-full px-2.5 py-1 text-caption font-semibold uppercase tracking-[0.16em] transition-colors"style="background:color-mix(in srgb, var(--terminal-foreground) 8%, transparent);color:color-mix(in srgb, var(--terminal-foreground) 82%, transparent)">'), pe = /* @__PURE__ */ v('<form class=flex-1><input type=text class="w-full bg-transparent text-terminal-foreground outline-none">'), fe = /* @__PURE__ */ v('<div><div class="flex h-full min-h-0 flex-col"><div class="flex items-center justify-between border-b px-3 py-2 text-caption"style="border-color:color-mix(in srgb, var(--terminal-foreground) 10%, transparent);color:color-mix(in srgb, var(--terminal-foreground) 72%, transparent)"><div class="flex items-center gap-2"><div class="flex items-center gap-1.5"><span class="h-2 w-2 rounded-full bg-rose-400/80"></span><span class="h-2 w-2 rounded-full bg-amber-300/80"></span><span class="h-2 w-2 rounded-full bg-emerald-400/80"></span></div><span>Terminal Session</span></div></div><div class="flex-1 overflow-y-auto px-3 py-3 transition-[padding] duration-[var(--floe-duration-base)]"><div class="mt-2 rounded-group px-3 py-2"style="background:color-mix(in srgb, var(--terminal-foreground) 5%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--terminal-foreground) 8%, transparent)"><div class="flex items-start gap-2"><span class="pt-0.5 text-emerald-300">$'), ge = /* @__PURE__ */ v("<div>"), be = /* @__PURE__ */ v('<button><span class="whitespace-pre-wrap break-all text-terminal-foreground"><span class="mx-[1px] inline-block min-w-[0.65ch] bg-terminal-foreground text-terminal-background">');
|
|
11
11
|
function Ce(n = {}) {
|
|
12
|
-
return (
|
|
12
|
+
return (s) => d(ve, F(s, n));
|
|
13
13
|
}
|
|
14
14
|
function ve(n) {
|
|
15
|
-
const
|
|
15
|
+
const s = Z(), [M, x] = k([{
|
|
16
16
|
id: 1,
|
|
17
17
|
type: "output",
|
|
18
18
|
content: "Welcome to Floe Terminal"
|
|
@@ -20,37 +20,37 @@ function ve(n) {
|
|
|
20
20
|
id: 2,
|
|
21
21
|
type: "output",
|
|
22
22
|
content: 'Type "help" for available commands'
|
|
23
|
-
}]), [c, $] = k(ie()), [
|
|
23
|
+
}]), [c, $] = k(ie()), [h, m] = k(!1);
|
|
24
24
|
let w, p, f = 3;
|
|
25
|
-
const E = () => c().editor.value, S = C(() => ne(n.profile)), H = () => n.runtime ?? ce, T = C(() => oe(c().editor)), I = C(() =>
|
|
25
|
+
const E = () => c().editor.value, S = C(() => ne(n.profile)), H = () => n.runtime ?? ce, T = C(() => oe(c().editor)), I = C(() => se(c(), {
|
|
26
26
|
profile: S(),
|
|
27
27
|
providers: n.suggestionProviders
|
|
28
28
|
})), j = (e) => {
|
|
29
|
-
$((
|
|
29
|
+
$((l) => ae(l, e));
|
|
30
30
|
}, z = (e) => {
|
|
31
31
|
e.preventDefault(), J();
|
|
32
32
|
}, A = () => {
|
|
33
33
|
if (!n.isEditMode) {
|
|
34
|
-
if (
|
|
34
|
+
if (s()) {
|
|
35
35
|
m(!0);
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
38
|
w?.focus();
|
|
39
39
|
}
|
|
40
40
|
}, _ = (e) => {
|
|
41
|
-
e.length &&
|
|
42
|
-
}, B = (e,
|
|
41
|
+
e.length && x((l) => [...l, ...e]);
|
|
42
|
+
}, B = (e, l) => {
|
|
43
43
|
const g = {
|
|
44
44
|
id: f++,
|
|
45
45
|
type: "input",
|
|
46
46
|
content: `$ ${e}`
|
|
47
|
-
}, a =
|
|
47
|
+
}, a = l.lines.map((b) => ({
|
|
48
48
|
id: f++,
|
|
49
49
|
type: b.type,
|
|
50
50
|
content: b.content
|
|
51
51
|
}));
|
|
52
|
-
if (
|
|
53
|
-
|
|
52
|
+
if (l.clear) {
|
|
53
|
+
x([]);
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
56
|
_([g, ...a]);
|
|
@@ -79,7 +79,7 @@ function ve(n) {
|
|
|
79
79
|
}]);
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
|
-
|
|
82
|
+
x([]);
|
|
83
83
|
}
|
|
84
84
|
}, K = (e) => {
|
|
85
85
|
$(e.state), G(e.effect);
|
|
@@ -92,22 +92,22 @@ function ve(n) {
|
|
|
92
92
|
}));
|
|
93
93
|
};
|
|
94
94
|
return N(() => {
|
|
95
|
-
M(), E(),
|
|
95
|
+
M(), E(), h(), p && (p.scrollTop = p.scrollHeight);
|
|
96
96
|
}), N(() => {
|
|
97
|
-
(!
|
|
97
|
+
(!s() || n.isEditMode) && m(!1);
|
|
98
98
|
}), (() => {
|
|
99
|
-
var e = fe(),
|
|
99
|
+
var e = fe(), l = e.firstChild, g = l.firstChild;
|
|
100
100
|
g.firstChild;
|
|
101
101
|
var a = g.nextSibling, b = a.firstChild, L = b.firstChild;
|
|
102
102
|
L.firstChild, e.$$click = A, o(g, d(P, {
|
|
103
103
|
get when() {
|
|
104
|
-
return D(() => !!
|
|
104
|
+
return D(() => !!s())() && !n.isEditMode;
|
|
105
105
|
},
|
|
106
106
|
get children() {
|
|
107
107
|
var t = me();
|
|
108
108
|
return t.$$click = (r) => {
|
|
109
109
|
r.stopPropagation(), m((i) => !i);
|
|
110
|
-
}, o(t, () =>
|
|
110
|
+
}, o(t, () => h() ? "Hide Keys" : "Show Keys"), t;
|
|
111
111
|
}
|
|
112
112
|
}), null);
|
|
113
113
|
var V = p;
|
|
@@ -117,11 +117,11 @@ function ve(n) {
|
|
|
117
117
|
},
|
|
118
118
|
children: (t) => (() => {
|
|
119
119
|
var r = ge();
|
|
120
|
-
return o(r, () => t.content),
|
|
120
|
+
return o(r, () => t.content), y(() => R(r, q("whitespace-pre-wrap break-all leading-6", t.type === "error" && "text-rose-300", t.type === "input" && "text-emerald-300"))), r;
|
|
121
121
|
})()
|
|
122
122
|
}), b), o(L, d(P, {
|
|
123
123
|
get when() {
|
|
124
|
-
return !
|
|
124
|
+
return !s();
|
|
125
125
|
},
|
|
126
126
|
get fallback() {
|
|
127
127
|
return (() => {
|
|
@@ -143,16 +143,16 @@ function ve(n) {
|
|
|
143
143
|
var t = pe(), r = t.firstChild;
|
|
144
144
|
t.addEventListener("submit", z), r.$$input = (u) => j(u.currentTarget.value);
|
|
145
145
|
var i = w;
|
|
146
|
-
return typeof i == "function" ? W(i, r) : w = r,
|
|
146
|
+
return typeof i == "function" ? W(i, r) : w = r, y(() => r.disabled = n.isEditMode), y(() => r.value = E()), t;
|
|
147
147
|
}
|
|
148
148
|
}), null), o(e, d(P, {
|
|
149
149
|
get when() {
|
|
150
|
-
return D(() => !!
|
|
150
|
+
return D(() => !!s())() && !n.isEditMode;
|
|
151
151
|
},
|
|
152
152
|
get children() {
|
|
153
153
|
return d(ee, {
|
|
154
154
|
get visible() {
|
|
155
|
-
return
|
|
155
|
+
return h();
|
|
156
156
|
},
|
|
157
157
|
get quickInserts() {
|
|
158
158
|
return n.quickInserts;
|
|
@@ -162,11 +162,11 @@ function ve(n) {
|
|
|
162
162
|
},
|
|
163
163
|
onKey: O,
|
|
164
164
|
onDismiss: () => m(!1),
|
|
165
|
-
onSuggestionSelect: (t) => $((r) =>
|
|
165
|
+
onSuggestionSelect: (t) => $((r) => le(r, t))
|
|
166
166
|
});
|
|
167
167
|
}
|
|
168
|
-
}), null),
|
|
169
|
-
var r = q("relative h-full overflow-hidden rounded-[inherit] bg-terminal-background text-terminal-foreground font-mono text-xs", n.isEditMode && "pointer-events-none"), i =
|
|
168
|
+
}), null), y((t) => {
|
|
169
|
+
var r = q("relative h-full overflow-hidden rounded-[inherit] bg-terminal-background text-terminal-foreground font-mono text-xs", n.isEditMode && "pointer-events-none"), i = s() && h() ? `calc(${I().length > 0 ? "16.5rem" : "15rem"} + env(safe-area-inset-bottom))` : void 0;
|
|
170
170
|
return r !== t.e && R(e, t.e = r), i !== t.t && U(a, "padding-bottom", t.t = i), t;
|
|
171
171
|
}, {
|
|
172
172
|
e: void 0,
|