@floegence/floe-webapp-core 0.87.0 → 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.
- package/dist/floe.css +1 -0
- package/dist/standalone.css +1 -0
- package/dist/styles/themes/presets.d.ts +7 -3
- package/dist/styles/themes/presets.js +91 -39
- package/dist/styles.css +1 -1
- package/dist/themes/porcelain-light.css +19 -0
- package/dist/themes/shell-presets.generated.css +62 -49
- package/dist/workbench-themes.css +3 -0
- package/package.json +1 -1
package/dist/floe.css
CHANGED
package/dist/standalone.css
CHANGED
|
@@ -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",
|
|
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",
|
|
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
|
|
2
|
-
import { DARK_WINDOW_TOKENS as
|
|
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" ?
|
|
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,
|
|
186
|
-
for (const [
|
|
187
|
-
g[`--floe-file-icon-${
|
|
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
|
-
},
|
|
334
|
+
}, h = [
|
|
333
335
|
o({
|
|
334
336
|
name: "porcelain-light",
|
|
335
|
-
inlineCode: { foreground: "#
|
|
337
|
+
inlineCode: { foreground: "#674778", background: "#F0F0F0" },
|
|
336
338
|
displayName: "Porcelain Light",
|
|
337
|
-
description: "
|
|
339
|
+
description: "Clean porcelain whites, neutral layers, and restrained charcoal.",
|
|
338
340
|
fileIconColors: {
|
|
339
|
-
primary: "
|
|
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: "#
|
|
347
|
-
foreground: "#
|
|
348
|
-
card: "#
|
|
349
|
-
muted: "#
|
|
350
|
-
accent: "#
|
|
351
|
-
mutedForeground: "#
|
|
352
|
-
primary: "#
|
|
353
|
-
primaryForeground: "#
|
|
354
|
-
border: "#
|
|
355
|
-
input: "#
|
|
356
|
-
sidebar: "#
|
|
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: "#
|
|
361
|
+
selectionBackground: "#343434",
|
|
360
362
|
selectionForeground: "#FFFFFF",
|
|
361
|
-
chart: ["#
|
|
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: "#
|
|
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
|
|
1140
|
+
function f(r, e) {
|
|
1089
1141
|
const n = r.mode ?? "both";
|
|
1090
1142
|
return n === "both" || n === e;
|
|
1091
1143
|
}
|
|
1092
|
-
function
|
|
1093
|
-
return r.filter((n) =>
|
|
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
|
|
1104
|
-
const c =
|
|
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:
|
|
1112
|
-
dark:
|
|
1163
|
+
light: l(e, "light", u, n.light),
|
|
1164
|
+
dark: l(e, "dark", i, n.dark)
|
|
1113
1165
|
};
|
|
1114
1166
|
}
|
|
1115
|
-
w(
|
|
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
|
-
|
|
1172
|
+
h as builtInShellThemePresets,
|
|
1121
1173
|
o as createShellThemePreset,
|
|
1122
|
-
|
|
1174
|
+
D as getShellThemePresetsForMode,
|
|
1123
1175
|
L as normalizeShellThemeSelection,
|
|
1124
|
-
|
|
1125
|
-
|
|
1176
|
+
f as presetSupportsMode,
|
|
1177
|
+
l as resolveShellThemePresetName
|
|
1126
1178
|
};
|