@floegence/floe-webapp-core 0.56.11 → 0.56.14

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/ui.css CHANGED
@@ -1867,3 +1867,57 @@
1867
1867
  outline-offset: 0;
1868
1868
  }
1869
1869
  }
1870
+
1871
+ [data-floe-horizontal-scroll-viewport] {
1872
+ scrollbar-width: thin;
1873
+ scrollbar-color: color-mix(in srgb, var(--muted-foreground) 55%, transparent) color-mix(in srgb, var(--muted) 72%, transparent);
1874
+ }
1875
+ @supports selector(::-webkit-scrollbar) {
1876
+ [data-floe-horizontal-scroll-viewport] { scrollbar-width: auto; scrollbar-color: auto; }
1877
+ }
1878
+ [data-floe-horizontal-scroll-viewport]::-webkit-scrollbar { width: 10px; height: 0; }
1879
+ [data-floe-horizontal-scroll-viewport]::-webkit-scrollbar-track { background: color-mix(in srgb, var(--muted) 72%, transparent); }
1880
+ [data-floe-horizontal-scroll-viewport]::-webkit-scrollbar-thumb {
1881
+ border: 2px solid transparent;
1882
+ border-radius: 999px;
1883
+ background-clip: padding-box;
1884
+ background-color: color-mix(in srgb, var(--muted-foreground) 55%, transparent);
1885
+ }
1886
+ [data-floe-horizontal-scroll-viewport]::-webkit-scrollbar-thumb:hover { background-color: color-mix(in srgb, var(--foreground) 62%, transparent); }
1887
+ .floe-horizontal-scrollbar {
1888
+ position: relative;
1889
+ flex: 0 0 14px;
1890
+ min-height: 14px;
1891
+ margin: 0 4px 3px;
1892
+ border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
1893
+ border-radius: 999px;
1894
+ background: color-mix(in srgb, var(--muted) 72%, transparent);
1895
+ cursor: pointer;
1896
+ outline: none;
1897
+ touch-action: none;
1898
+ user-select: none;
1899
+ }
1900
+ .floe-horizontal-scrollbar:focus-visible {
1901
+ border-color: var(--ring);
1902
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--ring) 28%, transparent);
1903
+ }
1904
+ .floe-horizontal-scrollbar-thumb {
1905
+ position: absolute;
1906
+ top: 1px;
1907
+ bottom: 1px;
1908
+ border-radius: 999px;
1909
+ background: color-mix(in srgb, var(--muted-foreground) 68%, transparent);
1910
+ cursor: grab;
1911
+ transition: background-color 120ms ease-out;
1912
+ }
1913
+ .floe-horizontal-scrollbar-thumb:hover,
1914
+ .floe-horizontal-scrollbar-thumb:active { background: color-mix(in srgb, var(--foreground) 72%, transparent); }
1915
+ .floe-horizontal-scrollbar-thumb:active { cursor: grabbing; }
1916
+
1917
+ @media (prefers-reduced-motion: reduce) {
1918
+ .floe-horizontal-scrollbar-thumb { transition: none; }
1919
+ }
1920
+ @media (forced-colors: active) {
1921
+ .floe-horizontal-scrollbar { border-color: ButtonBorder; background: ButtonFace; }
1922
+ .floe-horizontal-scrollbar-thumb { background: ButtonText; }
1923
+ }
package/dist/ui.js CHANGED
@@ -1,13 +1,13 @@
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";
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 T, CardDescription as m, CardFooter as p, CardHeader as f, CardTitle as s, Interactive3DCard as C, 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
4
  import { Button as L } from "./components/ui/Button.js";
5
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 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";
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 Tr, isSurfacePortalMode as mr, projectSurfacePortalPosition as pr, projectSurfacePortalRect as fr, resolveSurfacePortalBoundaryRect as sr, resolveSurfacePortalHost as Cr, 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";
@@ -17,46 +17,47 @@ import { FileOpenPicker as Br, normalizeFileOpenSelection as Ur, updateFileOpenS
17
17
  import { FileSavePicker as Mr } from "./components/ui/FileSavePicker.js";
18
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 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";
20
+ import { InfiniteCanvas as oo } from "./components/ui/InfiniteCanvas.js";
21
+ import { MENU_ITEM_SELECTOR as to, focusMenuItem as ao, getMenuItems as io, handleMenuKeyboardNavigation as no, moveMenuFocus as co } from "./components/ui/menuUtils.js";
22
+ import { MobileKeyboard as To } from "./components/ui/MobileKeyboard.js";
23
+ import { Pagination as po } from "./components/ui/Pagination.js";
24
+ import { PersistentHorizontalScrollbar as so } from "./components/ui/PersistentHorizontalScrollbar.js";
25
+ import { PickerNavigationError as Eo, createFilesystemPickerDataSource as So, formatPickerPath as _o, parsePickerPath as Ao } from "./components/ui/picker/PickerNavigation.js";
26
+ import { ProcessingIndicator as xo } from "./components/ui/ProcessingIndicator.js";
27
+ import { QuoteBlock as Fo } from "./components/ui/QuoteBlock.js";
28
+ import { RadioGroup as go, RadioList as Po, RadioOption as Io } from "./components/ui/Radio.js";
29
+ import { SegmentedControl as Wo } from "./components/ui/SegmentedControl.js";
30
+ import { Stepper as No, Wizard as ho, useWizard as vo } from "./components/ui/Stepper.js";
31
+ import { SurfaceAnchoredLayer as Bo } from "./components/ui/SurfaceAnchoredLayer.js";
32
+ import { SurfaceFloatingLayer as bo } from "./components/ui/SurfaceFloatingLayer.js";
33
+ import { SurfaceFloatingPanel as Mo } from "./components/ui/SurfaceFloatingPanel.js";
34
+ import { Switch as wo } from "./components/ui/Switch.js";
35
+ import { TabPanel as Ko, Tabs as Vo } from "./components/ui/Tabs.js";
36
+ import { Tag as jo } from "./components/ui/Tag.js";
37
+ import { Tooltip as Yo } from "./components/ui/Tooltip.js";
38
+ import { clientToCanvasLocal as Zo, clientToCanvasWorld as qo, createViewportFromZoomAnchor as Jo, isPointInsideCanvasRect as $o, localToCanvasWorld as re } from "./components/ui/canvasGeometry.js";
39
+ import { createFloatingPresence as ee } from "./components/ui/floatingPresence.js";
40
+ import { intersectSurfaceRects as ae } from "./components/ui/surfaceFloatingBoundary.js";
41
+ import { resolveFloatingWindowViewport as ne } from "./components/ui/floatingWindowGeometry.js";
42
+ import { startPointerSession as le } from "./components/ui/pointerSession.js";
42
43
  export {
43
- o as AffixInput,
44
+ e as AffixInput,
44
45
  c as AnimatedBorderCard,
45
46
  A as AreaChart,
46
47
  L as Button,
47
48
  P as CANVAS_WHEEL_INTERACTIVE_ATTR,
48
- T as Card,
49
- l as CardContent,
49
+ l as Card,
50
+ T as CardContent,
50
51
  m as CardDescription,
51
52
  p as CardFooter,
52
53
  f as CardHeader,
53
- C as CardTitle,
54
+ s as CardTitle,
54
55
  V as Checkbox,
55
56
  z as CheckboxGroup,
56
57
  j as CheckboxList,
57
58
  Y as CircularProgress,
58
59
  $ as CommandPalette,
59
- er as ConfirmDialog,
60
+ or as ConfirmDialog,
60
61
  I as DEFAULT_CANVAS_WHEEL_INTERACTIVE_SELECTOR,
61
62
  O as DEFAULT_LOCAL_INTERACTION_SURFACE_SELECTOR,
62
63
  W as DEFAULT_WORKBENCH_TEXT_SELECTION_SURFACE_SELECTOR,
@@ -66,7 +67,7 @@ export {
66
67
  ir as DIALOG_SURFACE_HOST_ATTR,
67
68
  R as DataBarChart,
68
69
  x as DataPieChart,
69
- or as Dialog,
70
+ er as Dialog,
70
71
  Ar as DialogPlacementProvider,
71
72
  xr as DirectoryInput,
72
73
  dr as DirectoryPicker,
@@ -86,75 +87,76 @@ export {
86
87
  qr as FormRow,
87
88
  Jr as FormSection,
88
89
  Or as HighlightBlock,
89
- ee as InfiniteCanvas,
90
+ oo as InfiniteCanvas,
90
91
  Wr as InfoBlock,
91
92
  t as Input,
92
- s as Interactive3DCard,
93
+ C as Interactive3DCard,
93
94
  h as LOCAL_INTERACTION_SURFACE_ATTR,
94
95
  u as LineChart,
95
96
  Q as LinearProgress,
96
- te as MENU_ITEM_SELECTOR,
97
- le as MobileKeyboard,
97
+ to as MENU_ITEM_SELECTOR,
98
+ To as MobileKeyboard,
98
99
  d as MonitoringChart,
99
100
  E as MorphCard,
100
101
  S as NeonCard,
101
102
  Dr as NoteBlock,
102
103
  a as NumberInput,
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,
104
+ po as Pagination,
105
+ so as PersistentHorizontalScrollbar,
106
+ Eo as PickerNavigationError,
107
+ xo as ProcessingIndicator,
108
+ Fo as QuoteBlock,
109
+ go as RadioGroup,
110
+ Po as RadioList,
111
+ Io as RadioOption,
110
112
  nr as SURFACE_PORTAL_HOST_ATTR,
111
113
  cr as SURFACE_PORTAL_LAYER_ATTR,
112
- Pe as SegmentedControl,
114
+ Wo as SegmentedControl,
113
115
  Z as SegmentedProgress,
114
116
  gr as Select,
115
- Oe as Stepper,
117
+ No as Stepper,
116
118
  q as StepsProgress,
117
119
  Nr as SuccessBlock,
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,
120
+ Bo as SurfaceAnchoredLayer,
121
+ bo as SurfaceFloatingLayer,
122
+ Mo as SurfaceFloatingPanel,
123
+ wo as Switch,
124
+ Ko as TabPanel,
125
+ Vo as Tabs,
126
+ jo as Tag,
125
127
  i as Textarea,
126
128
  hr as TipBlock,
127
- ze as Tooltip,
129
+ Yo as Tooltip,
128
130
  v as WORKBENCH_TEXT_SELECTION_SURFACE_ATTR,
129
131
  k as WORKBENCH_WIDGET_ACTIVATION_SURFACE_ATTR,
130
132
  B as WORKBENCH_WIDGET_SHELL_ATTR,
131
133
  vr as WarningBlock,
132
- We as Wizard,
133
- Tr as __resetSurfacePortalScopeForTests,
134
- Xe as clientToCanvasLocal,
135
- Ye as clientToCanvasWorld,
136
- se as createFilesystemPickerDataSource,
137
- $e as createFloatingPresence,
138
- Qe as createViewportFromZoomAnchor,
139
- lr as ensureSurfacePortalInteractionTracking,
140
- ae as focusMenuItem,
141
- Ee as formatPickerPath,
142
- ie as getMenuItems,
143
- ne as handleMenuKeyboardNavigation,
144
- eo as intersectSurfaceRects,
134
+ ho as Wizard,
135
+ lr as __resetSurfacePortalScopeForTests,
136
+ Zo as clientToCanvasLocal,
137
+ qo as clientToCanvasWorld,
138
+ So as createFilesystemPickerDataSource,
139
+ ee as createFloatingPresence,
140
+ Jo as createViewportFromZoomAnchor,
141
+ Tr as ensureSurfacePortalInteractionTracking,
142
+ ao as focusMenuItem,
143
+ _o as formatPickerPath,
144
+ io as getMenuItems,
145
+ no as handleMenuKeyboardNavigation,
146
+ ae as intersectSurfaceRects,
145
147
  U as isLocalInteractionSurfaceTarget,
146
- Ze as isPointInsideCanvasRect,
148
+ $o as isPointInsideCanvasRect,
147
149
  mr as isSurfacePortalMode,
148
- qe as localToCanvasWorld,
149
- ce as moveMenuFocus,
150
+ re as localToCanvasWorld,
151
+ co as moveMenuFocus,
150
152
  Ur as normalizeFileOpenSelection,
151
- Se as parsePickerPath,
153
+ Ao as parsePickerPath,
152
154
  pr as projectSurfacePortalPosition,
153
155
  fr as projectSurfacePortalRect,
154
- to as resolveFloatingWindowViewport,
156
+ ne as resolveFloatingWindowViewport,
155
157
  b as resolveSurfaceInteractionTargetRole,
156
- Cr as resolveSurfacePortalBoundaryRect,
157
- sr as resolveSurfacePortalHost,
158
+ sr as resolveSurfacePortalBoundaryRect,
159
+ Cr as resolveSurfacePortalHost,
158
160
  Er as resolveSurfacePortalMount,
159
161
  Sr as resolveSurfacePortalMountRect,
160
162
  H as resolveSurfaceWheelRouting,
@@ -162,8 +164,8 @@ export {
162
164
  y as resolveWorkbenchWidgetLocalTypingTarget,
163
165
  w as resolveWorkbenchWidgetTextSelectionTarget,
164
166
  G as shouldActivateWorkbenchWidgetLocalTarget,
165
- io as startPointerSession,
167
+ le as startPointerSession,
166
168
  br as updateFileOpenSelection,
167
169
  $r as useFormSubmitting,
168
- De as useWizard
170
+ vo as useWizard
169
171
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floegence/floe-webapp-core",
3
- "version": "0.56.11",
3
+ "version": "0.56.14",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",