@floegence/floe-webapp-core 0.86.76 → 0.87.1

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 (54) hide show
  1. package/dist/components/index.d.ts +2 -0
  2. package/dist/components/ui/Accordion.d.ts +16 -0
  3. package/dist/components/ui/Accordion.js +59 -0
  4. package/dist/components/ui/Breadcrumb.d.ts +14 -0
  5. package/dist/components/ui/Breadcrumb.js +72 -0
  6. package/dist/components/ui/Calendar.d.ts +17 -0
  7. package/dist/components/ui/Calendar.js +151 -0
  8. package/dist/components/ui/Checkbox.js +137 -130
  9. package/dist/components/ui/DataTable.d.ts +33 -0
  10. package/dist/components/ui/DataTable.js +269 -0
  11. package/dist/components/ui/DatePicker.d.ts +35 -0
  12. package/dist/components/ui/DatePicker.js +198 -0
  13. package/dist/components/ui/Dropdown.d.ts +4 -20
  14. package/dist/components/ui/Dropdown.js +195 -231
  15. package/dist/components/ui/Form.d.ts +24 -5
  16. package/dist/components/ui/Form.js +179 -128
  17. package/dist/components/ui/Input.d.ts +6 -0
  18. package/dist/components/ui/Input.js +237 -189
  19. package/dist/components/ui/Pagination.js +211 -162
  20. package/dist/components/ui/Popover.d.ts +6 -1
  21. package/dist/components/ui/Popover.js +75 -56
  22. package/dist/components/ui/Select.d.ts +46 -0
  23. package/dist/components/ui/Select.js +414 -0
  24. package/dist/components/ui/Slider.d.ts +7 -0
  25. package/dist/components/ui/Slider.js +28 -0
  26. package/dist/components/ui/Switch.js +41 -32
  27. package/dist/components/ui/Table.d.ts +9 -0
  28. package/dist/components/ui/Table.js +97 -0
  29. package/dist/components/ui/calendarModel.d.ts +6 -0
  30. package/dist/components/ui/calendarModel.js +37 -0
  31. package/dist/components/ui/controllable.d.ts +7 -0
  32. package/dist/components/ui/controllable.js +10 -0
  33. package/dist/components/ui/dataTableModel.d.ts +18 -0
  34. package/dist/components/ui/dataTableModel.js +18 -0
  35. package/dist/components/ui/formFieldContext.d.ts +26 -0
  36. package/dist/components/ui/formFieldContext.js +40 -0
  37. package/dist/components/ui/index.d.ts +13 -1
  38. package/dist/components/ui/picker/PickerBase.js +106 -112
  39. package/dist/context/LocaleContext.d.ts +55 -0
  40. package/dist/context/LocaleContext.js +80 -0
  41. package/dist/context/index.d.ts +1 -0
  42. package/dist/floe.css +1 -0
  43. package/dist/full.d.ts +2 -0
  44. package/dist/full.js +776 -737
  45. package/dist/index.js +111 -107
  46. package/dist/standalone.css +1 -0
  47. package/dist/styles/themes/presets.d.ts +7 -3
  48. package/dist/styles/themes/presets.js +91 -39
  49. package/dist/styles.css +1 -1
  50. package/dist/themes/porcelain-light.css +19 -0
  51. package/dist/themes/shell-presets.generated.css +62 -49
  52. package/dist/ui.js +223 -184
  53. package/dist/workbench-themes.css +3 -0
  54. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,42 +1,43 @@
1
1
  import { FloeProvider as r } from "./app/FloeProvider.js";
2
- import { applyShellThemeAttribute as i, applySurfaceStyleAttribute as s, applyTheme as n, builtInThemes as a, getSystemTheme as m, isFloeSurfaceStyle as l, isThemeType as p, mergeThemeTokenMaps as f, resolveThemeTokenOverrides as d, resolveThemeTokens as T, syncThemeTokenOverrides as u } from "./styles/themes/index.js";
2
+ import { applyShellThemeAttribute as i, applySurfaceStyleAttribute as s, applyTheme as a, builtInThemes as n, getSystemTheme as m, isFloeSurfaceStyle as l, isThemeType as p, mergeThemeTokenMaps as f, resolveThemeTokenOverrides as d, resolveThemeTokens as T, syncThemeTokenOverrides as u } from "./styles/themes/index.js";
3
3
  import { floeColorTokenCategories as x, floeDesignTokens as g, floeFontFamilyTokens as y, floeMotionTokens as C, floeRadiusTokens as S, floeSharedCssVariables as h, floeSpacingTokens as F, floeSurfaceTokens as v, floeThemeColorVariables as P, floeTypographyTokens as k, getFloeColorTokenValue as R } from "./styles/tokens.js";
4
- import { BUILT_IN_SHELL_THEME_DEFAULTS as D, REQUIRED_SHELL_THEME_TOKENS as E, assertUniqueThemePresetNames as b, builtInShellThemePresets as L, createShellThemePreset as _, getShellThemePresetsForMode as A, normalizeShellThemeSelection as O, presetSupportsMode as M, resolveShellThemePresetName as N } from "./styles/themes/presets.js";
4
+ import { BUILT_IN_SHELL_THEME_DEFAULTS as D, REQUIRED_SHELL_THEME_TOKENS as E, assertUniqueThemePresetNames as L, builtInShellThemePresets as b, createShellThemePreset as _, getShellThemePresetsForMode as A, normalizeShellThemeSelection as M, presetSupportsMode as O, resolveShellThemePresetName as N } from "./styles/themes/presets.js";
5
5
  import { CommandProvider as U, createCommandService as w, useCommand as G } from "./context/CommandContext.js";
6
6
  import { ComponentRegistryProvider as W, createComponentRegistry as K, hasComponentRegistryContext as V, useComponentContextFactory as z, useComponentRegistry as Q, useOptionalComponentRegistry as q } from "./context/ComponentRegistry.js";
7
7
  import { DEFAULT_FLOE_CONFIG as j, FloeConfigProvider as J, useFloeConfig as X, useResolvedFloeConfig as Z } from "./context/FloeConfigContext.js";
8
8
  import { DeckProvider as ee, createDeckService as oe, useDeck as re } from "./context/DeckContext.js";
9
- import { FLOE_GEOMETRY_SURFACE_ATTR as ie, FLOE_HOT_INTERACTION_ATTR as se, startHotInteraction as ne } from "./utils/hotInteraction.js";
9
+ import { FLOE_GEOMETRY_SURFACE_ATTR as ie, FLOE_HOT_INTERACTION_ATTR as se, startHotInteraction as ae } from "./utils/hotInteraction.js";
10
10
  import { FileBrowserDragProvider as me, hasFileBrowserDragContext as le, useFileBrowserDrag as pe } from "./context/FileBrowserDragContext.js";
11
11
  import { LayoutProvider as de, createLayoutService as Te, useLayout as ue, useMobileLayout as ce } from "./context/LayoutContext.js";
12
- import { NotificationContainer as ge, NotificationProvider as ye, createNotificationService as Ce, useNotification as Se } from "./context/NotificationContext.js";
13
- import { ThemeProvider as Fe, createThemeService as ve, useTheme as Pe } from "./context/ThemeContext.js";
14
- import { ViewActivationProvider as Re, useViewActivation as Ie } from "./context/ViewActivationContext.js";
15
- import { WidgetRegistryProvider as Ee, createWidgetRegistry as be, useWidgetRegistry as Le } from "./context/WidgetRegistry.js";
16
- import { WidgetStateProvider as Ae, useCurrentWidgetId as Oe, useWidgetState as Me, useWidgetStateContext as Ne } from "./context/WidgetStateContext.js";
17
- import { applyDragDelta as Ue, applyResizeDelta as we, getGridCellSize as Ge, pixelDeltaToGridDelta as He, positionToGridArea as We, snapToGrid as Ke } from "./utils/gridLayout.js";
18
- import { calculateFitScale as ze } from "./utils/fitScale.js";
19
- import { checkCollision as qe, constrainPosition as Ye, findFreePosition as je, hasCollision as Je, sameGridPosition as Xe } from "./utils/gridCollision.js";
20
- import { cn as $e } from "./utils/cn.js";
21
- import { createAdaptiveSidebar as oo } from "./hooks/createAdaptiveSidebar.js";
22
- import { createRetainedContent as to } from "./hooks/createRetainedContent.js";
23
- import { createSimpleContext as so } from "./context/createSimpleContext.js";
24
- import { createUIFirstSelection as ao } from "./utils/uiFirstSelection.js";
25
- import { deferAfterPaint as lo, deferNonBlocking as po } from "./utils/defer.js";
26
- import { duration as To, easing as uo, fadeIn as co, listContainer as xo, listItem as go, panelResize as yo, popIn as Co, scaleIn as So, sidebarVariants as ho, slideInFromBottom as Fo, slideInFromLeft as vo, slideInFromRight as Po, slideInFromTop as ko, springConfig as Ro } from "./utils/animations.js";
27
- import { formatKeybind as Do, isMacLikePlatform as Eo, isPrimaryModKeyPressed as bo, matchKeybind as Lo, parseKeybind as _o } from "./utils/keybind.js";
28
- import { isTypingElement as Oo, shouldIgnoreHotkeys as Mo } from "./utils/dom.js";
29
- import { lockBodyStyle as Bo } from "./utils/bodyStyleLock.js";
30
- import { registerCommandContributions as wo, useCommandContributions as Go } from "./hooks/useCommandContributions.js";
31
- import { secureRandomUUID as Wo } from "./utils/secureRandom.js";
32
- import { useDebounce as Vo } from "./hooks/useDebounce.js";
33
- import { useDeckDrag as Qo } from "./hooks/useDeckDrag.js";
34
- import { useFileBrowserDropTarget as Yo, useFileBrowserItemDrag as jo } from "./hooks/useFileBrowserDrag.js";
35
- import { useKeybind as Xo } from "./hooks/useKeybind.js";
36
- import { useMediaQuery as $o } from "./hooks/useMediaQuery.js";
37
- import { useOverlayMask as or } from "./hooks/useOverlayMask.js";
38
- import { usePersisted as tr } from "./hooks/usePersisted.js";
39
- import { useResizeObserver as sr } from "./hooks/useResizeObserver.js";
12
+ import { LocaleProvider as ge, defaultFloeMessages as ye, useFloeLocale as Ce } from "./context/LocaleContext.js";
13
+ import { NotificationContainer as he, NotificationProvider as Fe, createNotificationService as ve, useNotification as Pe } from "./context/NotificationContext.js";
14
+ import { ThemeProvider as Re, createThemeService as Ie, useTheme as De } from "./context/ThemeContext.js";
15
+ import { ViewActivationProvider as Le, useViewActivation as be } from "./context/ViewActivationContext.js";
16
+ import { WidgetRegistryProvider as Ae, createWidgetRegistry as Me, useWidgetRegistry as Oe } from "./context/WidgetRegistry.js";
17
+ import { WidgetStateProvider as Be, useCurrentWidgetId as Ue, useWidgetState as we, useWidgetStateContext as Ge } from "./context/WidgetStateContext.js";
18
+ import { applyDragDelta as We, applyResizeDelta as Ke, getGridCellSize as Ve, pixelDeltaToGridDelta as ze, positionToGridArea as Qe, snapToGrid as qe } from "./utils/gridLayout.js";
19
+ import { calculateFitScale as je } from "./utils/fitScale.js";
20
+ import { checkCollision as Xe, constrainPosition as Ze, findFreePosition as $e, hasCollision as eo, sameGridPosition as oo } from "./utils/gridCollision.js";
21
+ import { cn as to } from "./utils/cn.js";
22
+ import { createAdaptiveSidebar as so } from "./hooks/createAdaptiveSidebar.js";
23
+ import { createRetainedContent as no } from "./hooks/createRetainedContent.js";
24
+ import { createSimpleContext as lo } from "./context/createSimpleContext.js";
25
+ import { createUIFirstSelection as fo } from "./utils/uiFirstSelection.js";
26
+ import { deferAfterPaint as uo, deferNonBlocking as co } from "./utils/defer.js";
27
+ import { duration as go, easing as yo, fadeIn as Co, listContainer as So, listItem as ho, panelResize as Fo, popIn as vo, scaleIn as Po, sidebarVariants as ko, slideInFromBottom as Ro, slideInFromLeft as Io, slideInFromRight as Do, slideInFromTop as Eo, springConfig as Lo } from "./utils/animations.js";
28
+ import { formatKeybind as _o, isMacLikePlatform as Ao, isPrimaryModKeyPressed as Mo, matchKeybind as Oo, parseKeybind as No } from "./utils/keybind.js";
29
+ import { isTypingElement as Uo, shouldIgnoreHotkeys as wo } from "./utils/dom.js";
30
+ import { lockBodyStyle as Ho } from "./utils/bodyStyleLock.js";
31
+ import { registerCommandContributions as Ko, useCommandContributions as Vo } from "./hooks/useCommandContributions.js";
32
+ import { secureRandomUUID as Qo } from "./utils/secureRandom.js";
33
+ import { useDebounce as Yo } from "./hooks/useDebounce.js";
34
+ import { useDeckDrag as Jo } from "./hooks/useDeckDrag.js";
35
+ import { useFileBrowserDropTarget as Zo, useFileBrowserItemDrag as $o } from "./hooks/useFileBrowserDrag.js";
36
+ import { useKeybind as or } from "./hooks/useKeybind.js";
37
+ import { useMediaQuery as tr } from "./hooks/useMediaQuery.js";
38
+ import { useOverlayMask as sr } from "./hooks/useOverlayMask.js";
39
+ import { usePersisted as nr } from "./hooks/usePersisted.js";
40
+ import { useResizeObserver as lr } from "./hooks/useResizeObserver.js";
40
41
  export {
41
42
  D as BUILT_IN_SHELL_THEME_DEFAULTS,
42
43
  U as CommandProvider,
@@ -49,43 +50,45 @@ export {
49
50
  J as FloeConfigProvider,
50
51
  r as FloeProvider,
51
52
  de as LayoutProvider,
52
- ge as NotificationContainer,
53
- ye as NotificationProvider,
53
+ ge as LocaleProvider,
54
+ he as NotificationContainer,
55
+ Fe as NotificationProvider,
54
56
  E as REQUIRED_SHELL_THEME_TOKENS,
55
- Fe as ThemeProvider,
56
- Re as ViewActivationProvider,
57
- Ee as WidgetRegistryProvider,
58
- Ae as WidgetStateProvider,
59
- Ue as applyDragDelta,
60
- we as applyResizeDelta,
57
+ Re as ThemeProvider,
58
+ Le as ViewActivationProvider,
59
+ Ae as WidgetRegistryProvider,
60
+ Be as WidgetStateProvider,
61
+ We as applyDragDelta,
62
+ Ke as applyResizeDelta,
61
63
  i as applyShellThemeAttribute,
62
64
  s as applySurfaceStyleAttribute,
63
- n as applyTheme,
64
- b as assertUniqueThemePresetNames,
65
- L as builtInShellThemePresets,
66
- a as builtInThemes,
67
- ze as calculateFitScale,
68
- qe as checkCollision,
69
- $e as cn,
70
- Ye as constrainPosition,
71
- oo as createAdaptiveSidebar,
65
+ a as applyTheme,
66
+ L as assertUniqueThemePresetNames,
67
+ b as builtInShellThemePresets,
68
+ n as builtInThemes,
69
+ je as calculateFitScale,
70
+ Xe as checkCollision,
71
+ to as cn,
72
+ Ze as constrainPosition,
73
+ so as createAdaptiveSidebar,
72
74
  w as createCommandService,
73
75
  K as createComponentRegistry,
74
76
  oe as createDeckService,
75
77
  Te as createLayoutService,
76
- Ce as createNotificationService,
77
- to as createRetainedContent,
78
+ ve as createNotificationService,
79
+ no as createRetainedContent,
78
80
  _ as createShellThemePreset,
79
- so as createSimpleContext,
80
- ve as createThemeService,
81
- ao as createUIFirstSelection,
82
- be as createWidgetRegistry,
83
- lo as deferAfterPaint,
84
- po as deferNonBlocking,
85
- To as duration,
86
- uo as easing,
87
- co as fadeIn,
88
- je as findFreePosition,
81
+ lo as createSimpleContext,
82
+ Ie as createThemeService,
83
+ fo as createUIFirstSelection,
84
+ Me as createWidgetRegistry,
85
+ ye as defaultFloeMessages,
86
+ uo as deferAfterPaint,
87
+ co as deferNonBlocking,
88
+ go as duration,
89
+ yo as easing,
90
+ Co as fadeIn,
91
+ $e as findFreePosition,
89
92
  x as floeColorTokenCategories,
90
93
  g as floeDesignTokens,
91
94
  y as floeFontFamilyTokens,
@@ -96,73 +99,74 @@ export {
96
99
  v as floeSurfaceTokens,
97
100
  P as floeThemeColorVariables,
98
101
  k as floeTypographyTokens,
99
- Do as formatKeybind,
102
+ _o as formatKeybind,
100
103
  R as getFloeColorTokenValue,
101
- Ge as getGridCellSize,
104
+ Ve as getGridCellSize,
102
105
  A as getShellThemePresetsForMode,
103
106
  m as getSystemTheme,
104
- Je as hasCollision,
107
+ eo as hasCollision,
105
108
  V as hasComponentRegistryContext,
106
109
  le as hasFileBrowserDragContext,
107
110
  l as isFloeSurfaceStyle,
108
- Eo as isMacLikePlatform,
109
- bo as isPrimaryModKeyPressed,
111
+ Ao as isMacLikePlatform,
112
+ Mo as isPrimaryModKeyPressed,
110
113
  p as isThemeType,
111
- Oo as isTypingElement,
112
- xo as listContainer,
113
- go as listItem,
114
- Bo as lockBodyStyle,
115
- Lo as matchKeybind,
114
+ Uo as isTypingElement,
115
+ So as listContainer,
116
+ ho as listItem,
117
+ Ho as lockBodyStyle,
118
+ Oo as matchKeybind,
116
119
  f as mergeThemeTokenMaps,
117
- O as normalizeShellThemeSelection,
118
- yo as panelResize,
119
- _o as parseKeybind,
120
- He as pixelDeltaToGridDelta,
121
- Co as popIn,
122
- We as positionToGridArea,
123
- M as presetSupportsMode,
124
- wo as registerCommandContributions,
120
+ M as normalizeShellThemeSelection,
121
+ Fo as panelResize,
122
+ No as parseKeybind,
123
+ ze as pixelDeltaToGridDelta,
124
+ vo as popIn,
125
+ Qe as positionToGridArea,
126
+ O as presetSupportsMode,
127
+ Ko as registerCommandContributions,
125
128
  N as resolveShellThemePresetName,
126
129
  d as resolveThemeTokenOverrides,
127
130
  T as resolveThemeTokens,
128
- Xe as sameGridPosition,
129
- So as scaleIn,
130
- Wo as secureRandomUUID,
131
- Mo as shouldIgnoreHotkeys,
132
- ho as sidebarVariants,
133
- Fo as slideInFromBottom,
134
- vo as slideInFromLeft,
135
- Po as slideInFromRight,
136
- ko as slideInFromTop,
137
- Ke as snapToGrid,
138
- Ro as springConfig,
139
- ne as startHotInteraction,
131
+ oo as sameGridPosition,
132
+ Po as scaleIn,
133
+ Qo as secureRandomUUID,
134
+ wo as shouldIgnoreHotkeys,
135
+ ko as sidebarVariants,
136
+ Ro as slideInFromBottom,
137
+ Io as slideInFromLeft,
138
+ Do as slideInFromRight,
139
+ Eo as slideInFromTop,
140
+ qe as snapToGrid,
141
+ Lo as springConfig,
142
+ ae as startHotInteraction,
140
143
  u as syncThemeTokenOverrides,
141
144
  G as useCommand,
142
- Go as useCommandContributions,
145
+ Vo as useCommandContributions,
143
146
  z as useComponentContextFactory,
144
147
  Q as useComponentRegistry,
145
- Oe as useCurrentWidgetId,
146
- Vo as useDebounce,
148
+ Ue as useCurrentWidgetId,
149
+ Yo as useDebounce,
147
150
  re as useDeck,
148
- Qo as useDeckDrag,
151
+ Jo as useDeckDrag,
149
152
  pe as useFileBrowserDrag,
150
- Yo as useFileBrowserDropTarget,
151
- jo as useFileBrowserItemDrag,
153
+ Zo as useFileBrowserDropTarget,
154
+ $o as useFileBrowserItemDrag,
152
155
  X as useFloeConfig,
153
- Xo as useKeybind,
156
+ Ce as useFloeLocale,
157
+ or as useKeybind,
154
158
  ue as useLayout,
155
- $o as useMediaQuery,
159
+ tr as useMediaQuery,
156
160
  ce as useMobileLayout,
157
- Se as useNotification,
161
+ Pe as useNotification,
158
162
  q as useOptionalComponentRegistry,
159
- or as useOverlayMask,
160
- tr as usePersisted,
161
- sr as useResizeObserver,
163
+ sr as useOverlayMask,
164
+ nr as usePersisted,
165
+ lr as useResizeObserver,
162
166
  Z as useResolvedFloeConfig,
163
- Pe as useTheme,
164
- Ie as useViewActivation,
165
- Le as useWidgetRegistry,
166
- Me as useWidgetState,
167
- Ne as useWidgetStateContext
167
+ De as useTheme,
168
+ be as useViewActivation,
169
+ Oe as useWidgetRegistry,
170
+ we as useWidgetState,
171
+ Ge as useWidgetStateContext
168
172
  };
@@ -9,5 +9,6 @@
9
9
  @import './themes/light.css';
10
10
  @import './themes/dark.css';
11
11
  @import './themes/shell-presets.generated.css';
12
+ @import './themes/porcelain-light.css';
12
13
  @import './surface.css';
13
14
  @import './input-focus.css';
@@ -1,5 +1,5 @@
1
1
  import { LIGHT_WINDOW_TOKENS } from './windowTokens.ts';
2
- import type { FloeThemePreset, FloeThemePresetMode } from './index';
2
+ import type { FloeMonacoThemeDefinition, FloeThemePreset, FloeThemePresetMode, FloeThemeTokenMap } from './index';
3
3
  export type FloeShellThemeMode = 'light' | 'dark';
4
4
  export interface FloeShellThemeSelection {
5
5
  version: 1;
@@ -49,6 +49,10 @@ interface ShellThemePaletteDefinition {
49
49
  fileIconColors?: Partial<Record<'primary' | 'warning' | 'info' | 'success' | 'error', string>>;
50
50
  status?: Partial<Record<keyof typeof LIGHT_STATUS, string>>;
51
51
  windowTokens?: Partial<Record<keyof typeof LIGHT_WINDOW_TOKENS, string>>;
52
+ /** Authored material and reading roles, shared by CSS and non-renderer hosts. */
53
+ semanticTokens?: FloeThemeTokenMap;
54
+ /** Complete inherited editor roles when the base syntax is unsuitable. */
55
+ monaco?: Partial<Pick<FloeMonacoThemeDefinition, 'rules' | 'colors'>>;
52
56
  syntax?: {
53
57
  comment: string;
54
58
  keyword: string;
@@ -88,7 +92,7 @@ export declare const builtInShellThemePresets: readonly [FloeThemePreset, FloeTh
88
92
  border?: string;
89
93
  colors: readonly [string, string, string, string, string];
90
94
  };
91
- monaco?: Partial<Record<"light" | "dark", import("./index").FloeMonacoThemeDefinition>>;
95
+ monaco?: Partial<Record<"light" | "dark", FloeMonacoThemeDefinition>>;
92
96
  }, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, {
93
97
  inheritsBaseTokens: true;
94
98
  semanticTokens: Readonly<Partial<Record<`--${string}`, string>>>;
@@ -105,7 +109,7 @@ export declare const builtInShellThemePresets: readonly [FloeThemePreset, FloeTh
105
109
  border?: string;
106
110
  colors: readonly [string, string, string, string, string];
107
111
  };
108
- monaco?: Partial<Record<"light" | "dark", import("./index").FloeMonacoThemeDefinition>>;
112
+ monaco?: Partial<Record<"light" | "dark", FloeMonacoThemeDefinition>>;
109
113
  }, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset, FloeThemePreset];
110
114
  export declare const BUILT_IN_SHELL_THEME_DEFAULTS: {
111
115
  readonly light: "classic-light";
@@ -1,5 +1,5 @@
1
- import { createProgressTokens as B } from "./progressTokens.js";
2
- import { DARK_WINDOW_TOKENS as k, LIGHT_WINDOW_TOKENS as E } from "./windowTokens.js";
1
+ import { createProgressTokens as k } from "./progressTokens.js";
2
+ import { DARK_WINDOW_TOKENS as B, LIGHT_WINDOW_TOKENS as E } from "./windowTokens.js";
3
3
  import { CLASSIC_LIGHT_SEMANTIC_TOKENS as t, CLASSIC_DARK_SEMANTIC_TOKENS as F } from "./classicSemanticTokens.js";
4
4
  const T = [
5
5
  "--floe-window-background",
@@ -112,7 +112,7 @@ function o(r) {
112
112
  function: s,
113
113
  constant: i
114
114
  }, g = {
115
- ...r.mode === "dark" ? k : E,
115
+ ...r.mode === "dark" ? B : E,
116
116
  ...r.windowTokens,
117
117
  "--background": r.background,
118
118
  "--foreground": r.foreground,
@@ -182,10 +182,10 @@ function o(r) {
182
182
  // selectionBackground so we don't inherit a near-white primary as glow source.
183
183
  "--glow": r.glow ?? (r.mode === "light" ? r.primary : r.selectionBackground)
184
184
  };
185
- Object.assign(g, B(r.mode, g));
186
- for (const [l, b] of Object.entries(r.fileIconColors ?? {}))
187
- g[`--floe-file-icon-${l}`] = b;
188
- return {
185
+ Object.assign(g, k(r.mode, g));
186
+ for (const [m, b] of Object.entries(r.fileIconColors ?? {}))
187
+ g[`--floe-file-icon-${m}`] = b;
188
+ return Object.assign(g, r.semanticTokens), {
189
189
  name: r.name,
190
190
  displayName: r.displayName,
191
191
  description: r.description,
@@ -220,7 +220,8 @@ function o(r) {
220
220
  { token: "entity.name.function", foreground: a.function },
221
221
  { token: "support.function", foreground: a.function },
222
222
  { token: "constant.language", foreground: a.constant },
223
- { token: "variable.predefined", foreground: a.constant }
223
+ { token: "variable.predefined", foreground: a.constant },
224
+ ...r.monaco?.rules ?? []
224
225
  ],
225
226
  colors: {
226
227
  "editor.background": r.background,
@@ -254,7 +255,8 @@ function o(r) {
254
255
  "editorInfo.foreground": e.info,
255
256
  "scrollbarSlider.background": `${r.input}66`,
256
257
  "scrollbarSlider.hoverBackground": `${r.input}99`,
257
- "scrollbarSlider.activeBackground": `${r.input}CC`
258
+ "scrollbarSlider.activeBackground": `${r.input}CC`,
259
+ ...r.monaco?.colors
258
260
  }
259
261
  }
260
262
  },
@@ -329,38 +331,88 @@ const C = {
329
331
  inheritsBaseTokens: !0,
330
332
  semanticTokens: F,
331
333
  tokens: void 0
332
- }, D = [
334
+ }, h = [
333
335
  o({
334
336
  name: "porcelain-light",
335
- inlineCode: { foreground: "#006A85", background: "#E9EBE8" },
337
+ inlineCode: { foreground: "#674778", background: "#F0F0F0" },
336
338
  displayName: "Porcelain Light",
337
- description: "Original Redeven warm ivory and blue-gray ink, with quiet modern surfaces.",
339
+ description: "Clean porcelain whites, neutral layers, and restrained charcoal.",
338
340
  fileIconColors: {
339
- primary: "hsl(214 26% 17%)",
341
+ primary: "#343434",
340
342
  warning: "hsl(38 92% 50%)",
341
343
  info: "hsl(217 91% 60%)",
342
344
  success: "oklch(0.68 0.16 150)",
343
345
  error: "oklch(0.65 0.2 25)"
344
346
  },
345
347
  mode: "light",
346
- background: "#F4F1ED",
347
- foreground: "#202A37",
348
- card: "#FFFDFA",
349
- muted: "#F1EFEC",
350
- accent: "#E4E1DD",
351
- mutedForeground: "#576579",
352
- primary: "#202A37",
353
- primaryForeground: "#FFFDFA",
354
- border: "#D8D3CC",
355
- input: "#828891",
356
- sidebar: "#EEECE9",
348
+ background: "#FAFAFA",
349
+ foreground: "#292929",
350
+ card: "#FFFFFF",
351
+ muted: "#F4F4F4",
352
+ accent: "#EEEEEE",
353
+ mutedForeground: "#686868",
354
+ primary: "#343434",
355
+ primaryForeground: "#FFFFFF",
356
+ border: "#DEDEDE",
357
+ input: "#878787",
358
+ sidebar: "#F7F7F7",
357
359
  terminalBackground: "#202A37",
358
360
  terminalForeground: "#EBEBEB",
359
- selectionBackground: "#2671D9",
361
+ selectionBackground: "#343434",
360
362
  selectionForeground: "#FFFFFF",
361
- chart: ["#202A37", "#5A687C", "#2671D9", "#287A4B", "#835800"],
363
+ chart: ["#343434", "#626262", "#2671D9", "#287A4B", "#835800"],
364
+ semanticTokens: {
365
+ "--accent-foreground": "#353535",
366
+ "--sidebar-accent": "#E9E9E9",
367
+ "--sidebar-accent-foreground": "#353535",
368
+ "--activity-bar-foreground-active": "#343434",
369
+ "--selection-on-primary-bg": "#EAEAEA",
370
+ "--selection-on-primary-fg": "#292929",
371
+ "--selection-code-bg": "#EAEAEA",
372
+ "--selection-code-fg": "#292929",
373
+ "--floe-progress-text-base": "#292929",
374
+ "--floe-progress-text-peak": "#686868",
375
+ "--floe-progress-primary-base": "#343434",
376
+ "--floe-field-fill": "#FAFAFA",
377
+ "--floe-field-fill-hover": "#F5F5F5",
378
+ "--floe-field-placeholder": "#686868",
379
+ "--floe-ink-quiet": "#686868",
380
+ "--floe-ink-ghost": "#686868",
381
+ "--floe-field-edge": "#C4C4C4",
382
+ "--floe-field-edge-hover": "#A3A3A3",
383
+ "--floe-control-edge": "#878787",
384
+ "--floe-control-edge-hover": "#686868",
385
+ "--floe-well": "#F6F6F6",
386
+ "--floe-well-strong": "#F0F0F0",
387
+ "--floe-well-on-plane": "#F6F6F6",
388
+ "--floe-workbench-canvas": "#F4F4F4"
389
+ },
390
+ monaco: {
391
+ rules: [
392
+ { token: "attribute.name", foreground: "#9C225E" },
393
+ { token: "attribute.value", foreground: "#26736F" },
394
+ { token: "attribute.value.number", foreground: "#8A5A00" },
395
+ { token: "attribute.value.unit", foreground: "#8A5A00" },
396
+ { token: "tag", foreground: "#245B9B" },
397
+ { token: "metatag", foreground: "#005FB8" },
398
+ { token: "metatag.content", foreground: "#26736F" },
399
+ { token: "delimiter", foreground: "#292929" },
400
+ { token: "delimiter.bracket", foreground: "#292929" },
401
+ { token: "operator", foreground: "#292929" },
402
+ { token: "regexp", foreground: "#26736F" },
403
+ { token: "invalid", foreground: "#B32635" },
404
+ { token: "string.invalid", foreground: "#B32635" }
405
+ ],
406
+ colors: {
407
+ "editor.inactiveSelectionBackground": "#EAEAEA",
408
+ "editor.selectionHighlightBackground": "#EAEAEA",
409
+ "editor.findMatchBackground": "#EAEAEA",
410
+ "editor.findMatchHighlightBackground": "#EEEEEE",
411
+ "editor.findMatchBorder": "#343434"
412
+ }
413
+ },
362
414
  syntax: {
363
- comment: "#5A687C",
415
+ comment: "#686868",
364
416
  keyword: "#005FB8",
365
417
  string: "#26736F",
366
418
  number: "#8A5A00",
@@ -1085,12 +1137,12 @@ const C = {
1085
1137
  light: "classic-light",
1086
1138
  dark: "classic-dark"
1087
1139
  };
1088
- function h(r, e) {
1140
+ function f(r, e) {
1089
1141
  const n = r.mode ?? "both";
1090
1142
  return n === "both" || n === e;
1091
1143
  }
1092
- function f(r, e) {
1093
- return r.filter((n) => h(n, e));
1144
+ function D(r, e) {
1145
+ return r.filter((n) => f(n, e));
1094
1146
  }
1095
1147
  function w(r) {
1096
1148
  const e = /* @__PURE__ */ new Set();
@@ -1100,27 +1152,27 @@ function w(r) {
1100
1152
  e.add(n.name);
1101
1153
  }
1102
1154
  }
1103
- function m(r, e, n, d) {
1104
- const c = f(r, e);
1155
+ function l(r, e, n, d) {
1156
+ const c = D(r, e);
1105
1157
  return n && c.some((u) => u.name === n) ? n : d && c.some((u) => u.name === d) ? d : c[0]?.name;
1106
1158
  }
1107
1159
  function L(r, e, n = {}) {
1108
1160
  const d = typeof r == "object" && r !== null && !Array.isArray(r) ? r : void 0, c = d?.version === 1, u = c && typeof d.light == "string" ? d.light : void 0, i = c && typeof d.dark == "string" ? d.dark : void 0;
1109
1161
  return {
1110
1162
  version: 1,
1111
- light: m(e, "light", u, n.light),
1112
- dark: m(e, "dark", i, n.dark)
1163
+ light: l(e, "light", u, n.light),
1164
+ dark: l(e, "dark", i, n.dark)
1113
1165
  };
1114
1166
  }
1115
- w(D);
1167
+ w(h);
1116
1168
  export {
1117
1169
  x as BUILT_IN_SHELL_THEME_DEFAULTS,
1118
1170
  T as REQUIRED_SHELL_THEME_TOKENS,
1119
1171
  w as assertUniqueThemePresetNames,
1120
- D as builtInShellThemePresets,
1172
+ h as builtInShellThemePresets,
1121
1173
  o as createShellThemePreset,
1122
- f as getShellThemePresetsForMode,
1174
+ D as getShellThemePresetsForMode,
1123
1175
  L as normalizeShellThemeSelection,
1124
- h as presetSupportsMode,
1125
- m as resolveShellThemePresetName
1176
+ f as presetSupportsMode,
1177
+ l as resolveShellThemePresetName
1126
1178
  };