@floegence/floe-webapp-core 0.53.1 → 0.53.2

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.
@@ -7,7 +7,7 @@ const v = {
7
7
  default: "bg-primary text-primary-foreground shadow-sm hover:bg-primary/90 active:bg-primary/80",
8
8
  primary: "bg-primary text-primary-foreground shadow-sm hover:bg-primary/90 active:bg-primary/80",
9
9
  secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80 active:bg-secondary/70",
10
- outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground active:bg-accent/80",
10
+ outline: "border border-border bg-background shadow-sm hover:bg-accent hover:text-accent-foreground active:bg-accent/80",
11
11
  ghost: "hover:bg-accent hover:text-accent-foreground active:bg-accent/80",
12
12
  "ghost-destructive": "bg-transparent text-muted-foreground hover:bg-error hover:text-error-foreground active:bg-error/80",
13
13
  destructive: "bg-error text-error-foreground shadow-sm hover:bg-error/90 active:bg-error/80"
@@ -39,6 +39,8 @@ interface ShellThemePaletteDefinition {
39
39
  * avoids the white-bloom problem that comes from using a near-white primary)
40
40
  */
41
41
  glow?: string;
42
+ /** File identification paint is independent of status text contrast. */
43
+ fileIconColors?: Partial<Record<'primary' | 'warning' | 'info' | 'success' | 'error', string>>;
42
44
  syntax?: {
43
45
  comment: string;
44
46
  keyword: string;
@@ -1,6 +1,6 @@
1
- import { DARK_WINDOW_TOKENS as l, LIGHT_WINDOW_TOKENS as p } from "./windowTokens.js";
1
+ import { DARK_WINDOW_TOKENS as b, LIGHT_WINDOW_TOKENS as B } from "./windowTokens.js";
2
2
  import { CLASSIC_LIGHT_SEMANTIC_TOKENS as d, CLASSIC_DARK_SEMANTIC_TOKENS as F } from "./classicSemanticTokens.js";
3
- const w = [
3
+ const S = [
4
4
  "--floe-window-background",
5
5
  "--floe-window-foreground",
6
6
  "--floe-window-muted-foreground",
@@ -70,7 +70,7 @@ const w = [
70
70
  "--selection-code-bg",
71
71
  "--selection-code-fg",
72
72
  "--glow"
73
- ], b = {
73
+ ], E = {
74
74
  success: "#287A4B",
75
75
  successForeground: "#FFFFFF",
76
76
  warning: "#835800",
@@ -81,7 +81,7 @@ const w = [
81
81
  infoForeground: "#FFFFFF",
82
82
  note: "#6847A0",
83
83
  tip: "#1E6F73"
84
- }, B = {
84
+ }, A = {
85
85
  success: "#72D39C",
86
86
  successForeground: "#07160E",
87
87
  warning: "#F0C36A",
@@ -94,7 +94,7 @@ const w = [
94
94
  tip: "#71C8C0"
95
95
  };
96
96
  function o(r) {
97
- const e = r.mode === "light" ? b : B, n = r.mode === "light" ? { background: "#F4C95D", foreground: "#243447" } : {
97
+ const e = r.mode === "light" ? E : A, n = r.mode === "light" ? { background: "#F4C95D", foreground: "#243447" } : {
98
98
  background: r.background,
99
99
  foreground: r.foreground
100
100
  }, [t, c, u, g, s] = r.chart, a = r.syntax ?? {
@@ -106,7 +106,7 @@ function o(r) {
106
106
  function: s,
107
107
  constant: g
108
108
  }, i = {
109
- ...r.mode === "dark" ? l : p,
109
+ ...r.mode === "dark" ? b : B,
110
110
  "--background": r.background,
111
111
  "--foreground": r.foreground,
112
112
  "--primary": r.primary,
@@ -173,6 +173,8 @@ function o(r) {
173
173
  // selectionBackground so we don't inherit a near-white primary as glow source.
174
174
  "--glow": r.glow ?? (r.mode === "light" ? r.primary : r.selectionBackground)
175
175
  };
176
+ for (const [l, p] of Object.entries(r.fileIconColors ?? {}))
177
+ i[`--floe-file-icon-${l}`] = p;
176
178
  return {
177
179
  name: r.name,
178
180
  displayName: r.displayName,
@@ -249,7 +251,7 @@ function o(r) {
249
251
  tokens: r.mode === "light" ? { light: i } : { dark: i }
250
252
  };
251
253
  }
252
- const E = {
254
+ const k = {
253
255
  ...o({
254
256
  name: "classic-light",
255
257
  displayName: "Classic Light",
@@ -283,7 +285,7 @@ const E = {
283
285
  inheritsBaseTokens: !0,
284
286
  semanticTokens: d,
285
287
  tokens: void 0
286
- }, A = {
288
+ }, y = {
287
289
  ...o({
288
290
  name: "classic-dark",
289
291
  displayName: "Classic Dark",
@@ -317,8 +319,8 @@ const E = {
317
319
  inheritsBaseTokens: !0,
318
320
  semanticTokens: F,
319
321
  tokens: void 0
320
- }, k = [
321
- E,
322
+ }, C = [
323
+ k,
322
324
  o({
323
325
  name: "paper",
324
326
  displayName: "Paper",
@@ -574,7 +576,7 @@ const E = {
574
576
  constant: "#745500"
575
577
  }
576
578
  }),
577
- A,
579
+ y,
578
580
  o({
579
581
  name: "ink",
580
582
  displayName: "Ink",
@@ -895,6 +897,13 @@ const E = {
895
897
  name: "porcelain-light",
896
898
  displayName: "Porcelain Light",
897
899
  description: "Original Redeven warm ivory and blue-gray ink, with quiet modern surfaces.",
900
+ fileIconColors: {
901
+ primary: "hsl(214 26% 17%)",
902
+ warning: "hsl(38 92% 50%)",
903
+ info: "hsl(217 91% 60%)",
904
+ success: "oklch(0.68 0.16 150)",
905
+ error: "oklch(0.65 0.2 25)"
906
+ },
898
907
  mode: "light",
899
908
  background: "#F4F1ED",
900
909
  foreground: "#202A37",
@@ -953,18 +962,18 @@ const E = {
953
962
  constant: "#E9A4A0"
954
963
  }
955
964
  })
956
- ], v = {
965
+ ], N = {
957
966
  light: "classic-light",
958
967
  dark: "classic-dark"
959
968
  };
960
- function y(r, e) {
969
+ function h(r, e) {
961
970
  const n = r.mode ?? "both";
962
971
  return n === "both" || n === e;
963
972
  }
964
- function C(r, e) {
965
- return r.filter((n) => y(n, e));
973
+ function D(r, e) {
974
+ return r.filter((n) => h(n, e));
966
975
  }
967
- function h(r) {
976
+ function f(r) {
968
977
  const e = /* @__PURE__ */ new Set();
969
978
  for (const n of r) {
970
979
  if (e.has(n.name))
@@ -973,10 +982,10 @@ function h(r) {
973
982
  }
974
983
  }
975
984
  function m(r, e, n, t) {
976
- const c = C(r, e);
985
+ const c = D(r, e);
977
986
  return n && c.some((u) => u.name === n) ? n : t && c.some((u) => u.name === t) ? t : c[0]?.name;
978
987
  }
979
- function S(r, e, n = {}) {
988
+ function T(r, e, n = {}) {
980
989
  const t = typeof r == "object" && r !== null && !Array.isArray(r) ? r : void 0, c = t?.version === 1, u = c && typeof t.light == "string" ? t.light : void 0, g = c && typeof t.dark == "string" ? t.dark : void 0;
981
990
  return {
982
991
  version: 1,
@@ -984,15 +993,15 @@ function S(r, e, n = {}) {
984
993
  dark: m(e, "dark", g, n.dark)
985
994
  };
986
995
  }
987
- h(k);
996
+ f(C);
988
997
  export {
989
- v as BUILT_IN_SHELL_THEME_DEFAULTS,
990
- w as REQUIRED_SHELL_THEME_TOKENS,
991
- h as assertUniqueThemePresetNames,
992
- k as builtInShellThemePresets,
998
+ N as BUILT_IN_SHELL_THEME_DEFAULTS,
999
+ S as REQUIRED_SHELL_THEME_TOKENS,
1000
+ f as assertUniqueThemePresetNames,
1001
+ C as builtInShellThemePresets,
993
1002
  o as createShellThemePreset,
994
- C as getShellThemePresetsForMode,
995
- S as normalizeShellThemeSelection,
996
- y as presetSupportsMode,
1003
+ D as getShellThemePresetsForMode,
1004
+ T as normalizeShellThemeSelection,
1005
+ h as presetSupportsMode,
997
1006
  m as resolveShellThemePresetName
998
1007
  };