@floegence/floe-webapp-core 0.53.3 → 0.54.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/components/ui/InfiniteCanvas.js +111 -100
- package/dist/components/ui/SurfaceAnchoredLayer.d.ts +10 -0
- package/dist/components/ui/SurfaceAnchoredLayer.js +89 -0
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/workbench/WorkbenchCanvas.d.ts +1 -1
- package/dist/components/workbench/WorkbenchCanvas.js +26 -24
- package/dist/components/workbench/WorkbenchCanvasField.d.ts +1 -1
- package/dist/components/workbench/WorkbenchCanvasField.js +46 -42
- package/dist/components/workbench/WorkbenchLayerObjects.d.ts +9 -1
- package/dist/components/workbench/WorkbenchLayerObjects.js +896 -707
- package/dist/components/workbench/WorkbenchSurface.d.ts +2 -0
- package/dist/components/workbench/WorkbenchSurface.js +442 -420
- package/dist/components/workbench/index.d.ts +1 -0
- package/dist/components/workbench/types.d.ts +6 -3
- package/dist/components/workbench/useWorkbenchModel.js +53 -53
- package/dist/components/workbench/workbenchCompositionMessages.d.ts +62 -0
- package/dist/components/workbench/workbenchCompositionMessages.js +67 -0
- package/dist/components/workbench/workbenchHelpers.js +19 -6
- package/dist/components/workbench/workbenchOptions.d.ts +4 -4
- package/dist/components/workbench/workbenchOptions.js +18 -16
- package/dist/full.js +182 -180
- package/dist/input-focus.css +39 -5
- package/dist/styles/themes/presets.js +5 -5
- package/dist/styles.css +1 -1
- package/dist/surface.css +16 -3
- package/dist/themes/shell-presets.generated.css +6 -6
- package/dist/ui.css +4 -23
- package/dist/ui.js +86 -84
- package/dist/workbench-themes.css +60 -0
- package/dist/workbench.css +332 -524
- package/dist/workbench.js +24 -22
- package/package.json +1 -1
package/dist/surface.css
CHANGED
|
@@ -287,10 +287,14 @@
|
|
|
287
287
|
& [data-floe-surface-part='choice'][data-floe-selected='true'] {
|
|
288
288
|
background-color: var(--accent);
|
|
289
289
|
}
|
|
290
|
-
|
|
291
|
-
|
|
290
|
+
/* Compact choices need a clear selected face, independent of material.
|
|
291
|
+
* Large choice cards retain their native dot/checkmark and quiet tint. */
|
|
292
|
+
& [data-floe-choice-variant='button'][data-floe-selected='true'],
|
|
293
|
+
& [data-floe-surface-part='segment'][aria-checked='true'] {
|
|
294
|
+
background-color: var(--primary);
|
|
295
|
+
color: var(--primary-foreground);
|
|
296
|
+
--floe-surface-decoration: 0 0 transparent;
|
|
292
297
|
}
|
|
293
|
-
& [data-floe-surface-part='segment'][aria-checked='true'],
|
|
294
298
|
& [data-floe-surface-part='tab'][aria-selected='true'] {
|
|
295
299
|
background-color: var(--accent);
|
|
296
300
|
color: var(--foreground);
|
|
@@ -493,6 +497,15 @@
|
|
|
493
497
|
border-color: var(--wb-accent);
|
|
494
498
|
}
|
|
495
499
|
@media (forced-colors: active) {
|
|
500
|
+
.floe-segmented-control__item[aria-checked='true'],
|
|
501
|
+
[data-floe-choice-variant='button'][data-floe-selected='true'] {
|
|
502
|
+
forced-color-adjust: none;
|
|
503
|
+
background-color: Highlight;
|
|
504
|
+
border-color: Highlight;
|
|
505
|
+
color: HighlightText;
|
|
506
|
+
box-shadow: none;
|
|
507
|
+
transition: none;
|
|
508
|
+
}
|
|
496
509
|
[data-floe-surface-style='soft-neumorphic'] [data-floe-surface] {
|
|
497
510
|
--floe-surface-decoration: 0 0 transparent;
|
|
498
511
|
}
|
|
@@ -1499,8 +1499,8 @@
|
|
|
1499
1499
|
--floe-window-shadow: 0 1px 3px rgb(0 0 0 / 30%), 0 12px 28px -8px rgb(0 0 0 / 32%);
|
|
1500
1500
|
--background: #1c1c1e;
|
|
1501
1501
|
--foreground: #f2f2f7;
|
|
1502
|
-
--primary: #
|
|
1503
|
-
--primary-foreground: #
|
|
1502
|
+
--primary: #0a84ff;
|
|
1503
|
+
--primary-foreground: #101012;
|
|
1504
1504
|
--secondary: #3a3a3c;
|
|
1505
1505
|
--secondary-foreground: #f2f2f7;
|
|
1506
1506
|
--muted: #3a3a3c;
|
|
@@ -1535,8 +1535,8 @@
|
|
|
1535
1535
|
--highlight-block-tip-accent: #71c8c0;
|
|
1536
1536
|
--sidebar: #242426;
|
|
1537
1537
|
--sidebar-foreground: #f2f2f7;
|
|
1538
|
-
--sidebar-primary: #
|
|
1539
|
-
--sidebar-primary-foreground: #
|
|
1538
|
+
--sidebar-primary: #0a84ff;
|
|
1539
|
+
--sidebar-primary-foreground: #101012;
|
|
1540
1540
|
--sidebar-accent: #3a3a3c;
|
|
1541
1541
|
--sidebar-accent-foreground: #f2f2f7;
|
|
1542
1542
|
--sidebar-border: #38383a;
|
|
@@ -1544,8 +1544,8 @@
|
|
|
1544
1544
|
--activity-bar: #242426;
|
|
1545
1545
|
--activity-bar-foreground: #aeaeb2;
|
|
1546
1546
|
--activity-bar-foreground-active: #f2f2f7;
|
|
1547
|
-
--activity-bar-badge: #
|
|
1548
|
-
--activity-bar-badge-foreground: #
|
|
1547
|
+
--activity-bar-badge: #0a84ff;
|
|
1548
|
+
--activity-bar-badge-foreground: #101012;
|
|
1549
1549
|
--terminal-background: #141416;
|
|
1550
1550
|
--terminal-foreground: #e5e5ea;
|
|
1551
1551
|
--chart-1: #2dd4d4;
|
package/dist/ui.css
CHANGED
|
@@ -762,16 +762,10 @@
|
|
|
762
762
|
--segmented-control-item-color: var(--muted-foreground);
|
|
763
763
|
--segmented-control-item-hover-bg: color-mix(in srgb, var(--background) 74%, var(--muted) 26%);
|
|
764
764
|
--segmented-control-item-hover-color: var(--foreground);
|
|
765
|
-
--segmented-control-item-active-bg:
|
|
766
|
-
--segmented-control-item-active-border:
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
var(--foreground) 30%
|
|
770
|
-
);
|
|
771
|
-
--segmented-control-item-active-color: var(--foreground);
|
|
772
|
-
--segmented-control-item-active-shadow:
|
|
773
|
-
inset 0 1px 0 color-mix(in srgb, white 55%, transparent),
|
|
774
|
-
0 1px 2px color-mix(in srgb, black 10%, transparent);
|
|
765
|
+
--segmented-control-item-active-bg: var(--primary);
|
|
766
|
+
--segmented-control-item-active-border: var(--primary);
|
|
767
|
+
--segmented-control-item-active-color: var(--primary-foreground);
|
|
768
|
+
--segmented-control-item-active-shadow: none;
|
|
775
769
|
|
|
776
770
|
background-color: var(--segmented-control-bg);
|
|
777
771
|
border-color: var(--segmented-control-border);
|
|
@@ -785,19 +779,6 @@
|
|
|
785
779
|
var(--foreground) 8%,
|
|
786
780
|
var(--background) 92%
|
|
787
781
|
);
|
|
788
|
-
--segmented-control-item-active-bg: color-mix(
|
|
789
|
-
in srgb,
|
|
790
|
-
var(--foreground) 14%,
|
|
791
|
-
var(--background) 86%
|
|
792
|
-
);
|
|
793
|
-
--segmented-control-item-active-border: color-mix(
|
|
794
|
-
in srgb,
|
|
795
|
-
var(--foreground) 28%,
|
|
796
|
-
var(--border) 72%
|
|
797
|
-
);
|
|
798
|
-
--segmented-control-item-active-shadow:
|
|
799
|
-
inset 0 1px 0 color-mix(in srgb, white 12%, transparent),
|
|
800
|
-
0 1px 2px color-mix(in srgb, black 30%, transparent);
|
|
801
782
|
}
|
|
802
783
|
|
|
803
784
|
.floe-segmented-control__item {
|
package/dist/ui.js
CHANGED
|
@@ -1,61 +1,62 @@
|
|
|
1
|
-
import { AffixInput as
|
|
2
|
-
import { AnimatedBorderCard as c, Card as T, CardContent as l, CardDescription as m, CardFooter as p, CardHeader as
|
|
1
|
+
import { AffixInput as o, Input as t, NumberInput as a, Textarea as i } from "./components/ui/Input.js";
|
|
2
|
+
import { AnimatedBorderCard as c, Card as T, CardContent as l, CardDescription as m, CardFooter as p, CardHeader as f, CardTitle as C, Interactive3DCard as s, MorphCard as E, NeonCard as S } from "./components/ui/Card.js";
|
|
3
3
|
import { AreaChart as A, DataBarChart as R, DataPieChart as x, LineChart as u, MonitoringChart as d } from "./components/ui/Charts.js";
|
|
4
|
-
import { Button as
|
|
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 D, DEFAULT_WORKBENCH_WIDGET_SHELL_SELECTOR as N, LOCAL_INTERACTION_SURFACE_ATTR as
|
|
4
|
+
import { Button as L } 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 D, DEFAULT_WORKBENCH_WIDGET_SHELL_SELECTOR as N, LOCAL_INTERACTION_SURFACE_ATTR as h, WORKBENCH_TEXT_SELECTION_SURFACE_ATTR as v, WORKBENCH_WIDGET_ACTIVATION_SURFACE_ATTR as k, WORKBENCH_WIDGET_SHELL_ATTR as B, isLocalInteractionSurfaceTarget as U, resolveSurfaceInteractionTargetRole as b, resolveSurfaceWheelRouting as H, resolveWorkbenchWidgetEventOwnership as M, resolveWorkbenchWidgetLocalTypingTarget as y, resolveWorkbenchWidgetTextSelectionTarget as w, shouldActivateWorkbenchWidgetLocalTarget as G } from "./components/ui/localInteractionSurface.js";
|
|
6
6
|
import { Checkbox as V, CheckboxGroup as z, CheckboxList as j } from "./components/ui/Checkbox.js";
|
|
7
7
|
import { CircularProgress as Y, LinearProgress as Q, SegmentedProgress as Z, StepsProgress as q } from "./components/ui/Progress.js";
|
|
8
8
|
import { CommandPalette as $ } from "./components/ui/CommandPalette.js";
|
|
9
|
-
import { ConfirmDialog as
|
|
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 Tr, ensureSurfacePortalInteractionTracking as lr, isSurfacePortalMode as mr, projectSurfacePortalPosition as pr, projectSurfacePortalRect as
|
|
9
|
+
import { ConfirmDialog as er, Dialog as or } 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 Tr, ensureSurfacePortalInteractionTracking as lr, isSurfacePortalMode as mr, projectSurfacePortalPosition as pr, projectSurfacePortalRect as fr, resolveSurfacePortalBoundaryRect as Cr, resolveSurfacePortalHost as sr, resolveSurfacePortalMount as Er, resolveSurfacePortalMountRect as Sr } from "./components/ui/dialogSurfaceScope.js";
|
|
11
11
|
import { DialogPlacementProvider as Ar } from "./components/ui/DialogPlacementContext.js";
|
|
12
12
|
import { DirectoryInput as xr } from "./components/ui/DirectoryInput.js";
|
|
13
13
|
import { DirectoryPicker as dr } from "./components/ui/DirectoryPicker.js";
|
|
14
|
-
import { Dropdown as
|
|
15
|
-
import { ErrorBlock as Ir, HighlightBlock as Or, InfoBlock as Wr, NoteBlock as Dr, SuccessBlock as Nr, TipBlock as
|
|
14
|
+
import { Dropdown as Lr, Select as gr } from "./components/ui/Dropdown.js";
|
|
15
|
+
import { ErrorBlock as Ir, HighlightBlock as Or, InfoBlock as Wr, NoteBlock as Dr, SuccessBlock as Nr, TipBlock as hr, WarningBlock as vr } from "./components/ui/HighlightBlock.js";
|
|
16
16
|
import { FileOpenPicker as Br, normalizeFileOpenSelection as Ur, updateFileOpenSelection as br } from "./components/ui/FileOpenPicker.js";
|
|
17
17
|
import { FileSavePicker as Mr } from "./components/ui/FileSavePicker.js";
|
|
18
|
-
import { FloatingWindow as
|
|
18
|
+
import { FloatingWindow as wr } from "./components/ui/FloatingWindow.js";
|
|
19
19
|
import { Form as Kr, FormActions as Vr, FormControl as zr, FormDescription as jr, FormDivider as Xr, FormField as Yr, FormLabel as Qr, FormMessage as Zr, FormRow as qr, FormSection as Jr, useFormSubmitting as $r } from "./components/ui/Form.js";
|
|
20
|
-
import { InfiniteCanvas as
|
|
21
|
-
import { MENU_ITEM_SELECTOR as
|
|
22
|
-
import { MobileKeyboard as
|
|
23
|
-
import { Pagination as
|
|
24
|
-
import { PickerNavigationError as
|
|
25
|
-
import { ProcessingIndicator as
|
|
26
|
-
import { QuoteBlock as
|
|
27
|
-
import { RadioGroup as
|
|
28
|
-
import { SegmentedControl as
|
|
29
|
-
import { Stepper as
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
20
|
+
import { InfiniteCanvas as ee } from "./components/ui/InfiniteCanvas.js";
|
|
21
|
+
import { MENU_ITEM_SELECTOR as te, focusMenuItem as ae, getMenuItems as ie, handleMenuKeyboardNavigation as ne, moveMenuFocus as ce } from "./components/ui/menuUtils.js";
|
|
22
|
+
import { MobileKeyboard as le } from "./components/ui/MobileKeyboard.js";
|
|
23
|
+
import { Pagination as pe } from "./components/ui/Pagination.js";
|
|
24
|
+
import { PickerNavigationError as Ce, createFilesystemPickerDataSource as se, formatPickerPath as Ee, parsePickerPath as Se } from "./components/ui/picker/PickerNavigation.js";
|
|
25
|
+
import { ProcessingIndicator as Ae } from "./components/ui/ProcessingIndicator.js";
|
|
26
|
+
import { QuoteBlock as xe } from "./components/ui/QuoteBlock.js";
|
|
27
|
+
import { RadioGroup as de, RadioList as Fe, RadioOption as Le } from "./components/ui/Radio.js";
|
|
28
|
+
import { SegmentedControl as Pe } from "./components/ui/SegmentedControl.js";
|
|
29
|
+
import { Stepper as Oe, Wizard as We, useWizard as De } from "./components/ui/Stepper.js";
|
|
30
|
+
import { SurfaceAnchoredLayer as he } from "./components/ui/SurfaceAnchoredLayer.js";
|
|
31
|
+
import { SurfaceFloatingLayer as ke } from "./components/ui/SurfaceFloatingLayer.js";
|
|
32
|
+
import { SurfaceFloatingPanel as Ue } from "./components/ui/SurfaceFloatingPanel.js";
|
|
33
|
+
import { Switch as He } from "./components/ui/Switch.js";
|
|
34
|
+
import { TabPanel as ye, Tabs as we } from "./components/ui/Tabs.js";
|
|
35
|
+
import { Tag as Ke } from "./components/ui/Tag.js";
|
|
36
|
+
import { Tooltip as ze } from "./components/ui/Tooltip.js";
|
|
37
|
+
import { clientToCanvasLocal as Xe, clientToCanvasWorld as Ye, createViewportFromZoomAnchor as Qe, isPointInsideCanvasRect as Ze, localToCanvasWorld as qe } from "./components/ui/canvasGeometry.js";
|
|
38
|
+
import { createFloatingPresence as $e } from "./components/ui/floatingPresence.js";
|
|
39
|
+
import { intersectSurfaceRects as eo } from "./components/ui/surfaceFloatingBoundary.js";
|
|
40
|
+
import { resolveFloatingWindowViewport as to } from "./components/ui/floatingWindowGeometry.js";
|
|
41
|
+
import { startPointerSession as io } from "./components/ui/pointerSession.js";
|
|
41
42
|
export {
|
|
42
|
-
|
|
43
|
+
o as AffixInput,
|
|
43
44
|
c as AnimatedBorderCard,
|
|
44
45
|
A as AreaChart,
|
|
45
|
-
|
|
46
|
+
L as Button,
|
|
46
47
|
P as CANVAS_WHEEL_INTERACTIVE_ATTR,
|
|
47
48
|
T as Card,
|
|
48
49
|
l as CardContent,
|
|
49
50
|
m as CardDescription,
|
|
50
51
|
p as CardFooter,
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
f as CardHeader,
|
|
53
|
+
C as CardTitle,
|
|
53
54
|
V as Checkbox,
|
|
54
55
|
z as CheckboxGroup,
|
|
55
56
|
j as CheckboxList,
|
|
56
57
|
Y as CircularProgress,
|
|
57
58
|
$ as CommandPalette,
|
|
58
|
-
|
|
59
|
+
er as ConfirmDialog,
|
|
59
60
|
I as DEFAULT_CANVAS_WHEEL_INTERACTIVE_SELECTOR,
|
|
60
61
|
O as DEFAULT_LOCAL_INTERACTION_SURFACE_SELECTOR,
|
|
61
62
|
W as DEFAULT_WORKBENCH_TEXT_SELECTION_SURFACE_SELECTOR,
|
|
@@ -65,15 +66,15 @@ export {
|
|
|
65
66
|
ir as DIALOG_SURFACE_HOST_ATTR,
|
|
66
67
|
R as DataBarChart,
|
|
67
68
|
x as DataPieChart,
|
|
68
|
-
|
|
69
|
+
or as Dialog,
|
|
69
70
|
Ar as DialogPlacementProvider,
|
|
70
71
|
xr as DirectoryInput,
|
|
71
72
|
dr as DirectoryPicker,
|
|
72
|
-
|
|
73
|
+
Lr as Dropdown,
|
|
73
74
|
Ir as ErrorBlock,
|
|
74
75
|
Br as FileOpenPicker,
|
|
75
76
|
Mr as FileSavePicker,
|
|
76
|
-
|
|
77
|
+
wr as FloatingWindow,
|
|
77
78
|
Kr as Form,
|
|
78
79
|
Vr as FormActions,
|
|
79
80
|
zr as FormControl,
|
|
@@ -85,83 +86,84 @@ export {
|
|
|
85
86
|
qr as FormRow,
|
|
86
87
|
Jr as FormSection,
|
|
87
88
|
Or as HighlightBlock,
|
|
88
|
-
|
|
89
|
+
ee as InfiniteCanvas,
|
|
89
90
|
Wr as InfoBlock,
|
|
90
91
|
t as Input,
|
|
91
92
|
s as Interactive3DCard,
|
|
92
|
-
|
|
93
|
+
h as LOCAL_INTERACTION_SURFACE_ATTR,
|
|
93
94
|
u as LineChart,
|
|
94
95
|
Q as LinearProgress,
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
te as MENU_ITEM_SELECTOR,
|
|
97
|
+
le as MobileKeyboard,
|
|
97
98
|
d as MonitoringChart,
|
|
98
99
|
E as MorphCard,
|
|
99
100
|
S as NeonCard,
|
|
100
101
|
Dr as NoteBlock,
|
|
101
102
|
a as NumberInput,
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
103
|
+
pe as Pagination,
|
|
104
|
+
Ce as PickerNavigationError,
|
|
105
|
+
Ae as ProcessingIndicator,
|
|
106
|
+
xe as QuoteBlock,
|
|
107
|
+
de as RadioGroup,
|
|
108
|
+
Fe as RadioList,
|
|
109
|
+
Le as RadioOption,
|
|
109
110
|
nr as SURFACE_PORTAL_HOST_ATTR,
|
|
110
111
|
cr as SURFACE_PORTAL_LAYER_ATTR,
|
|
111
|
-
|
|
112
|
+
Pe as SegmentedControl,
|
|
112
113
|
Z as SegmentedProgress,
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
gr as Select,
|
|
115
|
+
Oe as Stepper,
|
|
115
116
|
q as StepsProgress,
|
|
116
117
|
Nr as SuccessBlock,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
he as SurfaceAnchoredLayer,
|
|
119
|
+
ke as SurfaceFloatingLayer,
|
|
120
|
+
Ue as SurfaceFloatingPanel,
|
|
121
|
+
He as Switch,
|
|
122
|
+
ye as TabPanel,
|
|
123
|
+
we as Tabs,
|
|
124
|
+
Ke as Tag,
|
|
123
125
|
i as Textarea,
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
126
|
+
hr as TipBlock,
|
|
127
|
+
ze as Tooltip,
|
|
128
|
+
v as WORKBENCH_TEXT_SELECTION_SURFACE_ATTR,
|
|
127
129
|
k as WORKBENCH_WIDGET_ACTIVATION_SURFACE_ATTR,
|
|
128
130
|
B as WORKBENCH_WIDGET_SHELL_ATTR,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
+
vr as WarningBlock,
|
|
132
|
+
We as Wizard,
|
|
131
133
|
Tr as __resetSurfacePortalScopeForTests,
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
134
|
+
Xe as clientToCanvasLocal,
|
|
135
|
+
Ye as clientToCanvasWorld,
|
|
136
|
+
se as createFilesystemPickerDataSource,
|
|
137
|
+
$e as createFloatingPresence,
|
|
138
|
+
Qe as createViewportFromZoomAnchor,
|
|
137
139
|
lr as ensureSurfacePortalInteractionTracking,
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
140
|
+
ae as focusMenuItem,
|
|
141
|
+
Ee as formatPickerPath,
|
|
142
|
+
ie as getMenuItems,
|
|
143
|
+
ne as handleMenuKeyboardNavigation,
|
|
144
|
+
eo as intersectSurfaceRects,
|
|
143
145
|
U as isLocalInteractionSurfaceTarget,
|
|
144
|
-
|
|
146
|
+
Ze as isPointInsideCanvasRect,
|
|
145
147
|
mr as isSurfacePortalMode,
|
|
146
|
-
|
|
147
|
-
|
|
148
|
+
qe as localToCanvasWorld,
|
|
149
|
+
ce as moveMenuFocus,
|
|
148
150
|
Ur as normalizeFileOpenSelection,
|
|
149
|
-
|
|
151
|
+
Se as parsePickerPath,
|
|
150
152
|
pr as projectSurfacePortalPosition,
|
|
151
|
-
|
|
152
|
-
|
|
153
|
+
fr as projectSurfacePortalRect,
|
|
154
|
+
to as resolveFloatingWindowViewport,
|
|
153
155
|
b as resolveSurfaceInteractionTargetRole,
|
|
154
|
-
|
|
156
|
+
Cr as resolveSurfacePortalBoundaryRect,
|
|
155
157
|
sr as resolveSurfacePortalHost,
|
|
156
158
|
Er as resolveSurfacePortalMount,
|
|
157
159
|
Sr as resolveSurfacePortalMountRect,
|
|
158
160
|
H as resolveSurfaceWheelRouting,
|
|
159
161
|
M as resolveWorkbenchWidgetEventOwnership,
|
|
160
|
-
|
|
161
|
-
|
|
162
|
+
y as resolveWorkbenchWidgetLocalTypingTarget,
|
|
163
|
+
w as resolveWorkbenchWidgetTextSelectionTarget,
|
|
162
164
|
G as shouldActivateWorkbenchWidgetLocalTarget,
|
|
163
|
-
|
|
165
|
+
io as startPointerSession,
|
|
164
166
|
br as updateFileOpenSelection,
|
|
165
167
|
$r as useFormSubmitting,
|
|
166
|
-
|
|
168
|
+
De as useWizard
|
|
167
169
|
};
|
|
@@ -1113,3 +1113,63 @@
|
|
|
1113
1113
|
box-shadow: 0 0 18px var(--wb-accent-ring);
|
|
1114
1114
|
}
|
|
1115
1115
|
}
|
|
1116
|
+
|
|
1117
|
+
/* Shared matte surfaces keep all appearance variants legible in every shell palette. */
|
|
1118
|
+
@layer components {
|
|
1119
|
+
.workbench-surface[data-workbench-theme] {
|
|
1120
|
+
--wb-canvas: oklch(from var(--background) clamp(0.78, calc(l - 0.085), 0.91) c h);
|
|
1121
|
+
--wb-window: var(--card);
|
|
1122
|
+
--wb-window-edge: oklch(from var(--wb-window) calc(l - 0.19) calc(c * 0.25) h);
|
|
1123
|
+
--wb-window-active: oklch(from var(--wb-window) calc(l - 0.36) calc(c * 0.25) h);
|
|
1124
|
+
--wb-window-title: color-mix(in oklab, var(--wb-window) 97%, var(--foreground));
|
|
1125
|
+
--wb-window-shadow: 0 6px 16px -8px rgb(0 0 0 / 22%);
|
|
1126
|
+
--wb-text: var(--foreground);
|
|
1127
|
+
}
|
|
1128
|
+
html.dark .workbench-surface[data-workbench-theme] {
|
|
1129
|
+
--wb-canvas: oklch(from var(--background) clamp(0.175, calc(l - 0.08), 0.28) c h);
|
|
1130
|
+
--wb-window: color-mix(in oklab, var(--background) 94%, var(--foreground));
|
|
1131
|
+
--wb-window-title: color-mix(in oklab, var(--wb-window) 94%, var(--foreground));
|
|
1132
|
+
--wb-window-edge: oklch(from var(--wb-window) calc(l + 0.075) calc(c * 0.25) h);
|
|
1133
|
+
--wb-window-active: oklch(from var(--wb-window) calc(l + 0.17) calc(c * 0.25) h);
|
|
1134
|
+
--wb-window-shadow: 0 6px 16px -8px rgb(0 0 0 / 48%);
|
|
1135
|
+
}
|
|
1136
|
+
.workbench-surface[data-workbench-theme] .workbench-canvas {
|
|
1137
|
+
background: var(--wb-canvas);
|
|
1138
|
+
}
|
|
1139
|
+
.workbench-surface[data-workbench-theme] .workbench-widget {
|
|
1140
|
+
background: var(--wb-window);
|
|
1141
|
+
border-color: var(--wb-window-edge);
|
|
1142
|
+
box-shadow: var(--wb-window-shadow);
|
|
1143
|
+
backdrop-filter: none;
|
|
1144
|
+
-webkit-backdrop-filter: none;
|
|
1145
|
+
}
|
|
1146
|
+
.workbench-surface[data-workbench-theme] .workbench-widget:hover {
|
|
1147
|
+
border-color: var(--wb-window-edge);
|
|
1148
|
+
box-shadow: var(--wb-window-shadow);
|
|
1149
|
+
}
|
|
1150
|
+
.workbench-surface[data-workbench-theme]
|
|
1151
|
+
.workbench-widget:is(.is-selected, .is-dragging, .is-resizing) {
|
|
1152
|
+
border-color: var(--wb-window-active);
|
|
1153
|
+
box-shadow: var(--wb-window-shadow);
|
|
1154
|
+
}
|
|
1155
|
+
.workbench-surface[data-workbench-theme] .workbench-widget__header {
|
|
1156
|
+
background: var(--wb-window-title);
|
|
1157
|
+
border-bottom: 1px solid var(--wb-window-edge);
|
|
1158
|
+
color: var(--foreground);
|
|
1159
|
+
}
|
|
1160
|
+
.workbench-surface[data-workbench-theme] .workbench-widget__body {
|
|
1161
|
+
background: var(--wb-window);
|
|
1162
|
+
}
|
|
1163
|
+
.workbench-surface[data-workbench-theme] .workbench-widget__title {
|
|
1164
|
+
color: var(--foreground);
|
|
1165
|
+
}
|
|
1166
|
+
.workbench-surface[data-workbench-theme] .workbench-widget__title-area svg {
|
|
1167
|
+
color: var(--foreground);
|
|
1168
|
+
}
|
|
1169
|
+
html[data-floe-shell-theme='hc-light'] .workbench-surface[data-workbench-theme] {
|
|
1170
|
+
--wb-window-edge: var(--foreground);
|
|
1171
|
+
--wb-window-active: var(--foreground);
|
|
1172
|
+
--wb-canvas: var(--muted);
|
|
1173
|
+
--wb-window-shadow: none;
|
|
1174
|
+
}
|
|
1175
|
+
}
|