@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.
Files changed (103) hide show
  1. package/dist/components/chat/blocks/BlockRenderer.js +1 -1
  2. package/dist/components/chat/blocks/CodeDiffBlock.js +56 -56
  3. package/dist/components/chat/blocks/ImageBlock.js +1 -1
  4. package/dist/components/chat/blocks/ToolCallBlock.js +57 -57
  5. package/dist/components/chat/status/ConnectionStatus.js +10 -10
  6. package/dist/components/deck/DeckCell.js +25 -25
  7. package/dist/components/deck/DeckContextMenu.js +20 -20
  8. package/dist/components/deck/DeckGrid.js +1 -1
  9. package/dist/components/deck/DeckTopBar.js +42 -42
  10. package/dist/components/deck/DropZonePreview.js +6 -6
  11. package/dist/components/deck/LayoutSelector.js +53 -53
  12. package/dist/components/deck/WidgetFrame.js +28 -28
  13. package/dist/components/deck/WidgetPalette.js +31 -31
  14. package/dist/components/deck/WidgetTypeSwitcher.js +31 -31
  15. package/dist/components/file-browser/Breadcrumb.js +27 -27
  16. package/dist/components/file-browser/DirectoryTree.js +15 -15
  17. package/dist/components/file-browser/DragPreview.js +58 -58
  18. package/dist/components/file-browser/FileBrowser.js +17 -17
  19. package/dist/components/file-browser/FileBrowserStatusBar.js +18 -18
  20. package/dist/components/file-browser/FileBrowserToolbar.js +27 -27
  21. package/dist/components/file-browser/FileContextMenu.js +47 -47
  22. package/dist/components/file-browser/FileGridView.js +53 -51
  23. package/dist/components/file-browser/FileItemDecorations.js +30 -27
  24. package/dist/components/file-browser/FileListView.js +114 -114
  25. package/dist/components/icons/index.js +1357 -1357
  26. package/dist/components/launchpad/Launchpad.js +14 -14
  27. package/dist/components/launchpad/LaunchpadGrid.js +7 -7
  28. package/dist/components/launchpad/LaunchpadItem.js +11 -11
  29. package/dist/components/launchpad/LaunchpadPagination.js +16 -16
  30. package/dist/components/launchpad/LaunchpadSearch.js +9 -9
  31. package/dist/components/layout/ActivityBar.js +52 -55
  32. package/dist/components/layout/BottomBar.js +17 -17
  33. package/dist/components/layout/MobileNavigationPanel.js +36 -36
  34. package/dist/components/layout/MobileTabBar.js +39 -39
  35. package/dist/components/layout/Panel.js +16 -16
  36. package/dist/components/layout/ResizeHandle.js +19 -19
  37. package/dist/components/layout/Shell.js +50 -50
  38. package/dist/components/layout/Sidebar.js +37 -36
  39. package/dist/components/layout/SidebarPane.js +19 -19
  40. package/dist/components/layout/TopBar.js +16 -16
  41. package/dist/components/layout/TopBarIconButton.js +15 -15
  42. package/dist/components/loading/LoadingOverlay.js +9 -9
  43. package/dist/components/loading/Skeleton.js +11 -11
  44. package/dist/components/ui/Button.js +36 -36
  45. package/dist/components/ui/Card.d.ts +11 -62
  46. package/dist/components/ui/Card.js +64 -237
  47. package/dist/components/ui/Checkbox.js +79 -79
  48. package/dist/components/ui/CommandPalette.js +56 -55
  49. package/dist/components/ui/Dialog.js +91 -93
  50. package/dist/components/ui/DirectoryInput.js +22 -22
  51. package/dist/components/ui/DirectoryPicker.js +8 -8
  52. package/dist/components/ui/Dropdown.js +89 -87
  53. package/dist/components/ui/FeedbackIndicator.js +57 -57
  54. package/dist/components/ui/FileOpenPicker.js +37 -37
  55. package/dist/components/ui/FileSavePicker.js +41 -41
  56. package/dist/components/ui/FloatingWindow.js +266 -261
  57. package/dist/components/ui/Form.js +76 -76
  58. package/dist/components/ui/HighlightBlock.js +14 -14
  59. package/dist/components/ui/Input.js +106 -109
  60. package/dist/components/ui/Pagination.js +86 -86
  61. package/dist/components/ui/Popover.d.ts +33 -0
  62. package/dist/components/ui/Popover.js +133 -0
  63. package/dist/components/ui/ProcessingIndicator.js +344 -345
  64. package/dist/components/ui/Progress.js +94 -97
  65. package/dist/components/ui/QuoteBlock.js +25 -25
  66. package/dist/components/ui/Radio.js +91 -91
  67. package/dist/components/ui/SegmentedControl.js +24 -24
  68. package/dist/components/ui/Stepper.js +68 -60
  69. package/dist/components/ui/Switch.js +25 -25
  70. package/dist/components/ui/Tabs.js +99 -87
  71. package/dist/components/ui/Tag.js +12 -9
  72. package/dist/components/ui/Tooltip.js +30 -30
  73. package/dist/components/ui/floatingPresence.d.ts +7 -0
  74. package/dist/components/ui/floatingPresence.js +80 -39
  75. package/dist/components/ui/index.d.ts +2 -1
  76. package/dist/components/ui/picker/DirectoryFavorites.js +27 -27
  77. package/dist/components/ui/picker/PickerBase.js +107 -107
  78. package/dist/context/NotificationContext.js +4 -4
  79. package/dist/context/ThemeContext.js +71 -70
  80. package/dist/floe.css +205 -43
  81. package/dist/full.js +650 -652
  82. package/dist/language.css +320 -0
  83. package/dist/primitives.css +23 -17
  84. package/dist/standalone.css +1 -0
  85. package/dist/styles/themes/classicSemanticTokens.d.ts +122 -122
  86. package/dist/styles/themes/classicSemanticTokens.js +140 -138
  87. package/dist/styles/themes/index.d.ts +3 -1
  88. package/dist/styles/themes/index.js +10 -10
  89. package/dist/styles/themes/presets.d.ts +2 -2
  90. package/dist/styles/themes/presets.js +34 -34
  91. package/dist/styles/tokens.d.ts +152 -68
  92. package/dist/styles/tokens.js +87 -49
  93. package/dist/styles.css +1 -1
  94. package/dist/surface.css +161 -116
  95. package/dist/themes/dark.css +64 -64
  96. package/dist/themes/light.css +64 -64
  97. package/dist/ui.css +171 -255
  98. package/dist/ui.js +176 -178
  99. package/dist/utils/hotInteraction.d.ts +7 -0
  100. package/dist/utils/hotInteraction.js +12 -12
  101. package/dist/widgets/TerminalWidget.js +28 -28
  102. package/dist/workbench-composition.css +15 -15
  103. 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 { AnimatedBorderCard as c, Card as l, CardContent as m, CardDescription as p, CardFooter as T, CardHeader as f, CardTitle as s, Interactive3DCard as S, MorphCard as C, NeonCard as E } from "./components/ui/Card.js";
3
- import { AreaChart as _, DataBarChart as R, DataPieChart as A, LineChart as u, MonitoringChart as d } from "./components/ui/Charts.js";
4
- import { Button as F } from "./components/ui/Button.js";
5
- import { CANVAS_WHEEL_INTERACTIVE_ATTR as P, DEFAULT_CANVAS_WHEEL_INTERACTIVE_SELECTOR as I, DEFAULT_LOCAL_INTERACTION_SURFACE_SELECTOR as O, DEFAULT_WORKBENCH_TEXT_SELECTION_SURFACE_SELECTOR as W, DEFAULT_WORKBENCH_WIDGET_ACTIVATION_SURFACE_SELECTOR as v, DEFAULT_WORKBENCH_WIDGET_SHELL_SELECTOR as D, LOCAL_INTERACTION_SURFACE_ATTR as N, WORKBENCH_TEXT_SELECTION_SURFACE_ATTR as h, WORKBENCH_WIDGET_ACTIVATION_SURFACE_ATTR as k, WORKBENCH_WIDGET_SHELL_ATTR as B, isLocalInteractionSurfaceTarget as b, resolveSurfaceInteractionTargetRole as U, resolveSurfaceWheelRouting as H, resolveWorkbenchWidgetEventOwnership as M, resolveWorkbenchWidgetLocalTypingTarget as y, resolveWorkbenchWidgetTextSelectionTarget as w, shouldActivateWorkbenchWidgetLocalTarget as K } from "./components/ui/localInteractionSurface.js";
6
- import { Checkbox as V, CheckboxGroup as z, CheckboxList as j } from "./components/ui/Checkbox.js";
7
- import { CircularProgress as Y, LinearProgress as Q, SegmentedProgress as Z, StepsProgress as q } from "./components/ui/Progress.js";
8
- import { CommandPalette as $ } from "./components/ui/CommandPalette.js";
9
- import { ConfirmDialog as or, Dialog as er } from "./components/ui/Dialog.js";
10
- import { DIALOG_SURFACE_BOUNDARY_ATTR as ar, DIALOG_SURFACE_HOST_ATTR as ir, SURFACE_PORTAL_HOST_ATTR as nr, SURFACE_PORTAL_LAYER_ATTR as cr, __resetSurfacePortalScopeForTests as lr, ensureSurfacePortalInteractionTracking as mr, isSurfacePortalMode as pr, projectSurfacePortalPosition as Tr, projectSurfacePortalRect as fr, resolveSurfacePortalBoundaryRect as sr, resolveSurfacePortalHost as Sr, resolveSurfacePortalMount as Cr, resolveSurfacePortalMountRect as Er } from "./components/ui/dialogSurfaceScope.js";
11
- import { DialogPlacementProvider as _r } from "./components/ui/DialogPlacementContext.js";
12
- import { DirectoryFavoriteButton as Ar } from "./components/ui/picker/DirectoryFavorites.js";
13
- import { DirectoryInput as dr } from "./components/ui/DirectoryInput.js";
14
- import { DirectoryPicker as Fr } from "./components/ui/DirectoryPicker.js";
15
- import { Dropdown as Pr, Select as Ir } from "./components/ui/Dropdown.js";
16
- import { ErrorBlock as Wr, HighlightBlock as vr, InfoBlock as Dr, NoteBlock as Nr, SuccessBlock as hr, TipBlock as kr, WarningBlock as Br } from "./components/ui/HighlightBlock.js";
17
- import { FeedbackIndicator as Ur } from "./components/ui/FeedbackIndicator.js";
18
- import { FileOpenPicker as Mr, normalizeFileOpenSelection as yr, updateFileOpenSelection as wr } from "./components/ui/FileOpenPicker.js";
19
- import { FileSavePicker as Gr } from "./components/ui/FileSavePicker.js";
20
- import { FloatingWindow as zr } from "./components/ui/FloatingWindow.js";
21
- import { Form as Xr, FormActions as Yr, FormControl as Qr, FormDescription as Zr, FormDivider as qr, FormField as Jr, FormLabel as $r, FormMessage as ro, FormRow as oo, FormSection as eo, useFormSubmitting as to } from "./components/ui/Form.js";
22
- import { InfiniteCanvas as io } from "./components/ui/InfiniteCanvas.js";
23
- import { KeyedFor as co } from "./components/ui/KeyedFor.js";
24
- import { MENU_ITEM_SELECTOR as mo, focusMenuItem as po, getMenuItems as To, handleMenuKeyboardNavigation as fo, moveMenuFocus as so } from "./components/ui/menuUtils.js";
25
- import { MobileKeyboard as Co } from "./components/ui/MobileKeyboard.js";
26
- import { Pagination as xo } from "./components/ui/Pagination.js";
27
- import { PersistentHorizontalScrollbar as Ro } from "./components/ui/PersistentHorizontalScrollbar.js";
28
- import { PickerNavigationError as uo, createFilesystemPickerDataSource as go, formatPickerPath as Fo, parsePickerPath as Lo } from "./components/ui/picker/PickerNavigation.js";
29
- import { ProcessingIndicator as Io } from "./components/ui/ProcessingIndicator.js";
30
- import { QuoteBlock as Wo } from "./components/ui/QuoteBlock.js";
31
- import { RadioGroup as Do, RadioList as No, RadioOption as ho } from "./components/ui/Radio.js";
32
- import { SegmentedControl as Bo } from "./components/ui/SegmentedControl.js";
33
- import { SettingRow as Uo, SettingsLayout as Ho, SettingsList as Mo, SettingsNavigation as yo, SettingsSection as wo } from "./components/ui/Settings.js";
34
- import { StableText as Go } from "./components/ui/StableText.js";
35
- import { StatusRegion as zo } from "./components/ui/StatusRegion.js";
36
- import { Stepper as Xo, Wizard as Yo, useWizard as Qo } from "./components/ui/Stepper.js";
37
- import { SurfaceAnchoredLayer as qo } from "./components/ui/SurfaceAnchoredLayer.js";
38
- import { SurfaceFloatingLayer as $o } from "./components/ui/SurfaceFloatingLayer.js";
39
- import { SurfaceFloatingPanel as oe } from "./components/ui/SurfaceFloatingPanel.js";
40
- import { Switch as te } from "./components/ui/Switch.js";
41
- import { TabPanel as ie, Tabs as ne } from "./components/ui/Tabs.js";
42
- import { Tag as le } from "./components/ui/Tag.js";
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 fe, clientToCanvasWorld as se, createViewportFromZoomAnchor as Se, isPointInsideCanvasRect as Ce, localToCanvasWorld as Ee } from "./components/ui/canvasGeometry.js";
45
- import { createFloatingPresence as _e } from "./components/ui/floatingPresence.js";
46
- import { intersectSurfaceRects as Ae } from "./components/ui/surfaceFloatingBoundary.js";
47
- import { resolveFloatingWindowViewport as de } from "./components/ui/floatingWindowGeometry.js";
48
- import { startPointerSession as Fe } from "./components/ui/pointerSession.js";
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 AnimatedBorderCard,
52
- _ as AreaChart,
53
- F as Button,
54
- P as CANVAS_WHEEL_INTERACTIVE_ATTR,
55
- l as Card,
56
- m as CardContent,
57
- p as CardDescription,
58
- T as CardFooter,
59
- f as CardHeader,
60
- s as CardTitle,
61
- V as Checkbox,
62
- z as CheckboxGroup,
63
- j as CheckboxList,
64
- Y as CircularProgress,
65
- $ as CommandPalette,
66
- or as ConfirmDialog,
67
- I as DEFAULT_CANVAS_WHEEL_INTERACTIVE_SELECTOR,
68
- O as DEFAULT_LOCAL_INTERACTION_SURFACE_SELECTOR,
69
- W as DEFAULT_WORKBENCH_TEXT_SELECTION_SURFACE_SELECTOR,
70
- v as DEFAULT_WORKBENCH_WIDGET_ACTIVATION_SURFACE_SELECTOR,
71
- D as DEFAULT_WORKBENCH_WIDGET_SHELL_SELECTOR,
72
- ar as DIALOG_SURFACE_BOUNDARY_ATTR,
73
- ir as DIALOG_SURFACE_HOST_ATTR,
74
- R as DataBarChart,
75
- A as DataPieChart,
76
- er as Dialog,
77
- _r as DialogPlacementProvider,
78
- Ar as DirectoryFavoriteButton,
79
- dr as DirectoryInput,
80
- Fr as DirectoryPicker,
81
- Pr as Dropdown,
82
- Wr as ErrorBlock,
83
- Ur as FeedbackIndicator,
84
- Mr as FileOpenPicker,
85
- Gr as FileSavePicker,
86
- zr as FloatingWindow,
87
- Xr as Form,
88
- Yr as FormActions,
89
- Qr as FormControl,
90
- Zr as FormDescription,
91
- qr as FormDivider,
92
- Jr as FormField,
93
- $r as FormLabel,
94
- ro as FormMessage,
95
- oo as FormRow,
96
- eo as FormSection,
97
- vr as HighlightBlock,
98
- io as InfiniteCanvas,
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
- S as Interactive3DCard,
102
- co as KeyedFor,
103
- N as LOCAL_INTERACTION_SURFACE_ATTR,
104
- u as LineChart,
105
- Q as LinearProgress,
106
- mo as MENU_ITEM_SELECTOR,
107
- Co as MobileKeyboard,
108
- d as MonitoringChart,
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
- xo as Pagination,
114
- Ro as PersistentHorizontalScrollbar,
115
- uo as PickerNavigationError,
116
- Io as ProcessingIndicator,
117
- Wo as QuoteBlock,
118
- Do as RadioGroup,
119
- No as RadioList,
120
- ho as RadioOption,
121
- nr as SURFACE_PORTAL_HOST_ATTR,
122
- cr as SURFACE_PORTAL_LAYER_ATTR,
123
- Bo as SegmentedControl,
124
- Z as SegmentedProgress,
125
- Ir as Select,
126
- Uo as SettingRow,
127
- Ho as SettingsLayout,
128
- Mo as SettingsList,
129
- yo as SettingsNavigation,
130
- wo as SettingsSection,
131
- Go as StableText,
132
- zo as StatusRegion,
133
- Xo as Stepper,
134
- q as StepsProgress,
135
- hr as SuccessBlock,
136
- qo as SurfaceAnchoredLayer,
137
- $o as SurfaceFloatingLayer,
138
- oe as SurfaceFloatingPanel,
139
- te as Switch,
140
- ie as TabPanel,
141
- ne as Tabs,
142
- le as Tag,
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
- kr as TipBlock,
142
+ Do as TipBlock,
145
143
  pe as Tooltip,
146
- h as WORKBENCH_TEXT_SELECTION_SURFACE_ATTR,
147
- k as WORKBENCH_WIDGET_ACTIVATION_SURFACE_ATTR,
148
- B as WORKBENCH_WIDGET_SHELL_ATTR,
149
- Br as WarningBlock,
150
- Yo as Wizard,
151
- lr as __resetSurfacePortalScopeForTests,
152
- fe as clientToCanvasLocal,
153
- se as clientToCanvasWorld,
154
- go as createFilesystemPickerDataSource,
155
- _e as createFloatingPresence,
156
- Se as createViewportFromZoomAnchor,
157
- mr as ensureSurfacePortalInteractionTracking,
158
- po as focusMenuItem,
159
- Fo as formatPickerPath,
160
- To as getMenuItems,
161
- fo as handleMenuKeyboardNavigation,
162
- Ae as intersectSurfaceRects,
163
- b as isLocalInteractionSurfaceTarget,
164
- Ce as isPointInsideCanvasRect,
165
- pr as isSurfacePortalMode,
166
- Ee as localToCanvasWorld,
167
- so as moveMenuFocus,
168
- yr as normalizeFileOpenSelection,
169
- Lo as parsePickerPath,
170
- Tr as projectSurfacePortalPosition,
171
- fr as projectSurfacePortalRect,
172
- de as resolveFloatingWindowViewport,
173
- U as resolveSurfaceInteractionTargetRole,
174
- sr as resolveSurfacePortalBoundaryRect,
175
- Sr as resolveSurfacePortalHost,
176
- Cr as resolveSurfacePortalMount,
177
- Er as resolveSurfacePortalMountRect,
178
- H as resolveSurfaceWheelRouting,
179
- M as resolveWorkbenchWidgetEventOwnership,
180
- y as resolveWorkbenchWidgetLocalTypingTarget,
181
- w as resolveWorkbenchWidgetTextSelectionTarget,
182
- K as shouldActivateWorkbenchWidgetLocalTarget,
183
- Fe as startPointerSession,
184
- wr as updateFileOpenSelection,
185
- to as useFormSubmitting,
186
- Qo as useWizard
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 s } from "./bodyStyleLock.js";
2
- const u = "data-floe-hot-interaction", d = "data-floe-geometry-surface", e = /* @__PURE__ */ new Map();
3
- function l() {
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 i() {
7
- const t = l();
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 a(t) {
16
+ function d(t) {
17
17
  const r = (e.get(t.kind) ?? 0) + 1;
18
- e.set(t.kind, r), i();
19
- const n = s({
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), i();
28
+ c <= 1 ? e.delete(t.kind) : e.set(t.kind, c - 1), l();
29
29
  };
30
30
  }
31
31
  export {
32
- d as FLOE_GEOMETRY_SURFACE_ATTR,
32
+ a as FLOE_GEOMETRY_SURFACE_ATTR,
33
33
  u as FLOE_HOT_INTERACTION_ATTR,
34
- a as startHotInteraction
34
+ d as startHotInteraction
35
35
  };
@@ -1,18 +1,18 @@
1
- import { insert as o, createComponent as d, memo as D, effect as h, 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";
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 le, applyTerminalSessionSuggestion as se, setTerminalSessionInputValue as ae, dispatchTerminalSessionKey as ue, submitTerminalSession as de } from "../terminal/sessionModel.js";
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-[10px] 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-[11px]"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-200"><div class="mt-2 rounded-xl 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] rounded-[2px] bg-terminal-foreground text-terminal-background">');
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 (l) => d(ve, F(l, n));
12
+ return (s) => d(ve, F(s, n));
13
13
  }
14
14
  function ve(n) {
15
- const l = Z(), [M, y] = k([{
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()), [x, m] = k(!1);
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(() => le(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
- $((s) => ae(s, e));
29
+ $((l) => ae(l, e));
30
30
  }, z = (e) => {
31
31
  e.preventDefault(), J();
32
32
  }, A = () => {
33
33
  if (!n.isEditMode) {
34
- if (l()) {
34
+ if (s()) {
35
35
  m(!0);
36
36
  return;
37
37
  }
38
38
  w?.focus();
39
39
  }
40
40
  }, _ = (e) => {
41
- e.length && y((s) => [...s, ...e]);
42
- }, B = (e, s) => {
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 = s.lines.map((b) => ({
47
+ }, a = l.lines.map((b) => ({
48
48
  id: f++,
49
49
  type: b.type,
50
50
  content: b.content
51
51
  }));
52
- if (s.clear) {
53
- y([]);
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
- y([]);
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(), x(), p && (p.scrollTop = p.scrollHeight);
95
+ M(), E(), h(), p && (p.scrollTop = p.scrollHeight);
96
96
  }), N(() => {
97
- (!l() || n.isEditMode) && m(!1);
97
+ (!s() || n.isEditMode) && m(!1);
98
98
  }), (() => {
99
- var e = fe(), s = e.firstChild, g = s.firstChild;
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(() => !!l())() && !n.isEditMode;
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, () => x() ? "Hide Keys" : "Show Keys"), 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), h(() => R(r, q("whitespace-pre-wrap break-all leading-6", t.type === "error" && "text-rose-300", t.type === "input" && "text-emerald-300"))), r;
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 !l();
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, h(() => r.disabled = n.isEditMode), h(() => r.value = E()), t;
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(() => !!l())() && !n.isEditMode;
150
+ return D(() => !!s())() && !n.isEditMode;
151
151
  },
152
152
  get children() {
153
153
  return d(ee, {
154
154
  get visible() {
155
- return x();
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) => se(r, t))
165
+ onSuggestionSelect: (t) => $((r) => le(r, t))
166
166
  });
167
167
  }
168
- }), null), h((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 = l() && x() ? `calc(${I().length > 0 ? "16.5rem" : "15rem"} + env(safe-area-inset-bottom))` : void 0;
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,