@floegence/floe-webapp-core 0.52.13 → 0.53.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 (41) hide show
  1. package/dist/components/chat/ChatProvider.js +31 -30
  2. package/dist/components/chat/hooks/useAttachments.js +27 -26
  3. package/dist/components/chat/hooks/useCodeDiff.js +24 -23
  4. package/dist/components/chat/hooks/useCodeHighlight.js +21 -20
  5. package/dist/components/chat/hooks/useMarkdown.js +27 -26
  6. package/dist/components/chat/hooks/useMermaid.js +21 -20
  7. package/dist/components/layout/BottomBar.js +22 -22
  8. package/dist/components/layout/TopBar.js +7 -7
  9. package/dist/components/ui/Button.js +1 -1
  10. package/dist/components/ui/Card.js +1 -1
  11. package/dist/components/ui/Checkbox.js +69 -69
  12. package/dist/components/ui/CommandPalette.js +29 -30
  13. package/dist/components/ui/Dialog.js +1 -1
  14. package/dist/components/ui/Dropdown.js +36 -38
  15. package/dist/components/ui/FloatingWindow.js +2 -3
  16. package/dist/components/ui/Input.js +3 -3
  17. package/dist/components/ui/Radio.js +26 -26
  18. package/dist/components/ui/SegmentedControl.js +6 -6
  19. package/dist/components/ui/Tabs.js +43 -43
  20. package/dist/components/ui/floatingPresence.js +1 -1
  21. package/dist/components/workbench/workbenchHelpers.js +96 -96
  22. package/dist/context/ThemeContext.js +75 -65
  23. package/dist/floe.css +27 -55
  24. package/dist/full.js +61 -59
  25. package/dist/index.js +26 -24
  26. package/dist/styles/themes/classicSemanticTokens.d.ts +142 -0
  27. package/dist/styles/themes/classicSemanticTokens.js +100 -94
  28. package/dist/styles/themes/presets.d.ts +3 -1
  29. package/dist/styles/themes/presets.js +126 -63
  30. package/dist/styles/tokens.d.ts +252 -252
  31. package/dist/styles/tokens.js +165 -164
  32. package/dist/styles.css +1 -1
  33. package/dist/surface.css +17 -42
  34. package/dist/themes/dark.css +41 -95
  35. package/dist/themes/light.css +43 -95
  36. package/dist/themes/shell-presets.generated.css +146 -4
  37. package/dist/utils/index.d.ts +1 -0
  38. package/dist/utils/secureRandom.d.ts +2 -0
  39. package/dist/utils/secureRandom.js +11 -0
  40. package/dist/utils/secureRandom.test.d.ts +1 -0
  41. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { DARK_WINDOW_TOKENS as s, LIGHT_WINDOW_TOKENS as m } from "./windowTokens.js";
2
- import { CLASSIC_LIGHT_SEMANTIC_TOKENS as l, CLASSIC_DARK_SEMANTIC_TOKENS as b } from "./classicSemanticTokens.js";
1
+ import { DARK_WINDOW_TOKENS as l, LIGHT_WINDOW_TOKENS as p } from "./windowTokens.js";
2
+ import { CLASSIC_LIGHT_SEMANTIC_TOKENS as d, CLASSIC_DARK_SEMANTIC_TOKENS as F } from "./classicSemanticTokens.js";
3
3
  const w = [
4
4
  "--floe-window-background",
5
5
  "--floe-window-foreground",
@@ -70,7 +70,7 @@ const w = [
70
70
  "--selection-code-bg",
71
71
  "--selection-code-fg",
72
72
  "--glow"
73
- ], p = {
73
+ ], b = {
74
74
  success: "#287A4B",
75
75
  successForeground: "#FFFFFF",
76
76
  warning: "#835800",
@@ -94,19 +94,19 @@ const w = [
94
94
  tip: "#71C8C0"
95
95
  };
96
96
  function o(r) {
97
- const e = r.mode === "light" ? p : B, n = r.mode === "light" ? { background: "#F4C95D", foreground: "#243447" } : {
97
+ const e = r.mode === "light" ? b : B, n = r.mode === "light" ? { background: "#F4C95D", foreground: "#243447" } : {
98
98
  background: r.background,
99
99
  foreground: r.foreground
100
- }, [t, d, F, c, g] = r.chart, a = r.syntax ?? {
100
+ }, [t, c, u, g, s] = r.chart, a = r.syntax ?? {
101
101
  comment: r.mutedForeground,
102
102
  keyword: t,
103
- string: d,
104
- number: c,
105
- type: F,
106
- function: g,
107
- constant: c
108
- }, u = {
109
- ...r.mode === "dark" ? s : m,
103
+ string: c,
104
+ number: g,
105
+ type: u,
106
+ function: s,
107
+ constant: g
108
+ }, i = {
109
+ ...r.mode === "dark" ? l : p,
110
110
  "--background": r.background,
111
111
  "--foreground": r.foreground,
112
112
  "--primary": r.primary,
@@ -115,11 +115,11 @@ function o(r) {
115
115
  "--secondary-foreground": r.foreground,
116
116
  "--muted": r.muted,
117
117
  "--muted-foreground": r.mutedForeground,
118
- "--accent": r.muted,
118
+ "--accent": r.accent ?? r.muted,
119
119
  "--accent-foreground": r.foreground,
120
120
  "--border": r.border,
121
121
  "--input": r.input,
122
- "--ring": r.primary,
122
+ "--ring": r.ring ?? r.primary,
123
123
  "--chrome-border": r.border,
124
124
  "--top-bar-border": r.border,
125
125
  "--activity-bar-border": r.border,
@@ -147,10 +147,10 @@ function o(r) {
147
147
  "--sidebar-foreground": r.foreground,
148
148
  "--sidebar-primary": r.primary,
149
149
  "--sidebar-primary-foreground": r.primaryForeground,
150
- "--sidebar-accent": r.muted,
150
+ "--sidebar-accent": r.accent ?? r.muted,
151
151
  "--sidebar-accent-foreground": r.foreground,
152
152
  "--sidebar-border": r.border,
153
- "--sidebar-ring": r.primary,
153
+ "--sidebar-ring": r.ring ?? r.primary,
154
154
  "--activity-bar": r.sidebar,
155
155
  "--activity-bar-foreground": r.mutedForeground,
156
156
  "--activity-bar-foreground-active": r.foreground,
@@ -159,10 +159,10 @@ function o(r) {
159
159
  "--terminal-background": r.terminalBackground,
160
160
  "--terminal-foreground": r.terminalForeground,
161
161
  "--chart-1": t,
162
- "--chart-2": d,
163
- "--chart-3": F,
164
- "--chart-4": c,
165
- "--chart-5": g,
162
+ "--chart-2": c,
163
+ "--chart-3": u,
164
+ "--chart-4": g,
165
+ "--chart-5": s,
166
166
  "--selection-bg": r.selectionBackground,
167
167
  "--selection-fg": r.selectionForeground,
168
168
  "--selection-on-primary-bg": n.background,
@@ -186,7 +186,7 @@ function o(r) {
186
186
  border: r.border,
187
187
  colors: r.chart
188
188
  },
189
- semanticTokens: u,
189
+ semanticTokens: i,
190
190
  monaco: {
191
191
  [r.mode]: {
192
192
  base: r.mode === "light" ? "vs" : "vs-dark",
@@ -246,25 +246,25 @@ function o(r) {
246
246
  }
247
247
  }
248
248
  },
249
- tokens: r.mode === "light" ? { light: u } : { dark: u }
249
+ tokens: r.mode === "light" ? { light: i } : { dark: i }
250
250
  };
251
251
  }
252
252
  const E = {
253
253
  ...o({
254
254
  name: "classic-light",
255
255
  displayName: "Classic Light",
256
- description: "The original Floe warm-paper light theme.",
256
+ description: "Warm paper and quiet sage accents.",
257
257
  mode: "light",
258
- background: "#F3F0EC",
259
- foreground: "#202A37",
260
- card: "#FFFDFA",
261
- muted: "#F2F0ED",
262
- mutedForeground: "#5A687C",
263
- primary: "#202A37",
264
- primaryForeground: "#FFFDFA",
265
- border: "#D7D2CB",
266
- input: "#CBC4B9",
267
- sidebar: "#EDEBE8",
258
+ background: d["--background"],
259
+ foreground: d["--foreground"],
260
+ card: d["--card"],
261
+ muted: d["--muted"],
262
+ mutedForeground: d["--muted-foreground"],
263
+ primary: d["--primary"],
264
+ primaryForeground: d["--primary-foreground"],
265
+ border: d["--border"],
266
+ input: d["--input"],
267
+ sidebar: d["--sidebar"],
268
268
  terminalBackground: "#202A37",
269
269
  terminalForeground: "#EBEBEB",
270
270
  selectionBackground: "#2671D9",
@@ -281,24 +281,24 @@ const E = {
281
281
  }
282
282
  }),
283
283
  inheritsBaseTokens: !0,
284
- semanticTokens: l,
284
+ semanticTokens: d,
285
285
  tokens: void 0
286
- }, k = {
286
+ }, A = {
287
287
  ...o({
288
288
  name: "classic-dark",
289
289
  displayName: "Classic Dark",
290
- description: "The original Floe blue-black dark theme.",
290
+ description: "Soft graphite and quiet sage accents.",
291
291
  mode: "dark",
292
- background: "#0E121B",
293
- foreground: "#F9FAFB",
294
- card: "#121721",
295
- muted: "#1B212D",
296
- mutedForeground: "#8596AD",
297
- primary: "#F9FAFB",
298
- primaryForeground: "#121621",
299
- border: "#252B37",
300
- input: "#52627A",
301
- sidebar: "#121721",
292
+ background: F["--background"],
293
+ foreground: F["--foreground"],
294
+ card: F["--card"],
295
+ muted: F["--muted"],
296
+ mutedForeground: F["--muted-foreground"],
297
+ primary: F["--primary"],
298
+ primaryForeground: F["--primary-foreground"],
299
+ border: F["--border"],
300
+ input: F["--input"],
301
+ sidebar: F["--sidebar"],
302
302
  terminalBackground: "#0C1018",
303
303
  terminalForeground: "#E8EBEE",
304
304
  selectionBackground: "#2671D9",
@@ -315,9 +315,9 @@ const E = {
315
315
  }
316
316
  }),
317
317
  inheritsBaseTokens: !0,
318
- semanticTokens: b,
318
+ semanticTokens: F,
319
319
  tokens: void 0
320
- }, A = [
320
+ }, k = [
321
321
  E,
322
322
  o({
323
323
  name: "paper",
@@ -574,7 +574,7 @@ const E = {
574
574
  constant: "#745500"
575
575
  }
576
576
  }),
577
- k,
577
+ A,
578
578
  o({
579
579
  name: "ink",
580
580
  displayName: "Ink",
@@ -839,7 +839,7 @@ const E = {
839
839
  foreground: "#E0E0E4",
840
840
  card: "#222226",
841
841
  muted: "#2C2C30",
842
- mutedForeground: "#909098",
842
+ mutedForeground: "#93939B",
843
843
  primary: "#E0E0E4",
844
844
  primaryForeground: "#1A1A1C",
845
845
  border: "#323236",
@@ -874,6 +874,7 @@ const E = {
874
874
  primaryForeground: "#FFFFFF",
875
875
  border: "#38383A",
876
876
  input: "#888888",
877
+ ring: "#0A84FF",
877
878
  sidebar: "#242426",
878
879
  terminalBackground: "#141416",
879
880
  terminalForeground: "#E5E5EA",
@@ -889,6 +890,68 @@ const E = {
889
890
  function: "#0A84FF",
890
891
  constant: "#BF5AF2"
891
892
  }
893
+ }),
894
+ o({
895
+ name: "porcelain-light",
896
+ displayName: "Porcelain Light",
897
+ description: "Original Redeven warm ivory and blue-gray ink, with quiet modern surfaces.",
898
+ mode: "light",
899
+ background: "#F4F1ED",
900
+ foreground: "#202A37",
901
+ card: "#FFFDFA",
902
+ muted: "#F1EFEC",
903
+ accent: "#E4E1DD",
904
+ mutedForeground: "#576579",
905
+ primary: "#202A37",
906
+ primaryForeground: "#FFFDFA",
907
+ border: "#D8D3CC",
908
+ input: "#828891",
909
+ sidebar: "#EEECE9",
910
+ terminalBackground: "#202A37",
911
+ terminalForeground: "#EBEBEB",
912
+ selectionBackground: "#2671D9",
913
+ selectionForeground: "#FFFFFF",
914
+ chart: ["#202A37", "#5A687C", "#2671D9", "#287A4B", "#835800"],
915
+ syntax: {
916
+ comment: "#5A687C",
917
+ keyword: "#005FB8",
918
+ string: "#26736F",
919
+ number: "#8A5A00",
920
+ type: "#245B9B",
921
+ function: "#6847A0",
922
+ constant: "#9C225E"
923
+ }
924
+ }),
925
+ o({
926
+ name: "porcelain-dark",
927
+ displayName: "Porcelain Dark",
928
+ description: "Warm ivory text and soft blue-gray accents on a quiet slate canvas.",
929
+ mode: "dark",
930
+ background: "#20242A",
931
+ foreground: "#E6E3DD",
932
+ card: "#292E35",
933
+ muted: "#343A43",
934
+ mutedForeground: "#A2ABB8",
935
+ primary: "#BCC8D5",
936
+ primaryForeground: "#202A37",
937
+ border: "#3E444D",
938
+ input: "#7A8491",
939
+ ring: "#A8BCD0",
940
+ sidebar: "#1C2026",
941
+ terminalBackground: "#181C22",
942
+ terminalForeground: "#E6E3DD",
943
+ selectionBackground: "#3B6592",
944
+ selectionForeground: "#FFFFFF",
945
+ chart: ["#BCC8D5", "#79B8FF", "#C19BE8", "#72D39C", "#F0C36A"],
946
+ syntax: {
947
+ comment: "#A2ABB8",
948
+ keyword: "#C19BE8",
949
+ string: "#9AD49D",
950
+ number: "#F0C36A",
951
+ type: "#79B8FF",
952
+ function: "#71C8C0",
953
+ constant: "#E9A4A0"
954
+ }
892
955
  })
893
956
  ], v = {
894
957
  light: "classic-light",
@@ -898,10 +961,10 @@ function y(r, e) {
898
961
  const n = r.mode ?? "both";
899
962
  return n === "both" || n === e;
900
963
  }
901
- function h(r, e) {
964
+ function C(r, e) {
902
965
  return r.filter((n) => y(n, e));
903
966
  }
904
- function C(r) {
967
+ function h(r) {
905
968
  const e = /* @__PURE__ */ new Set();
906
969
  for (const n of r) {
907
970
  if (e.has(n.name))
@@ -909,27 +972,27 @@ function C(r) {
909
972
  e.add(n.name);
910
973
  }
911
974
  }
912
- function i(r, e, n, t) {
913
- const d = h(r, e);
914
- return n && d.some((F) => F.name === n) ? n : t && d.some((F) => F.name === t) ? t : d[0]?.name;
975
+ function m(r, e, n, t) {
976
+ const c = C(r, e);
977
+ return n && c.some((u) => u.name === n) ? n : t && c.some((u) => u.name === t) ? t : c[0]?.name;
915
978
  }
916
979
  function S(r, e, n = {}) {
917
- const t = typeof r == "object" && r !== null && !Array.isArray(r) ? r : void 0, d = t?.version === 1, F = d && typeof t.light == "string" ? t.light : void 0, c = d && typeof t.dark == "string" ? t.dark : void 0;
980
+ 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;
918
981
  return {
919
982
  version: 1,
920
- light: i(e, "light", F, n.light),
921
- dark: i(e, "dark", c, n.dark)
983
+ light: m(e, "light", u, n.light),
984
+ dark: m(e, "dark", g, n.dark)
922
985
  };
923
986
  }
924
- C(A);
987
+ h(k);
925
988
  export {
926
989
  v as BUILT_IN_SHELL_THEME_DEFAULTS,
927
990
  w as REQUIRED_SHELL_THEME_TOKENS,
928
- C as assertUniqueThemePresetNames,
929
- A as builtInShellThemePresets,
991
+ h as assertUniqueThemePresetNames,
992
+ k as builtInShellThemePresets,
930
993
  o as createShellThemePreset,
931
- h as getShellThemePresetsForMode,
994
+ C as getShellThemePresetsForMode,
932
995
  S as normalizeShellThemeSelection,
933
996
  y as presetSupportsMode,
934
- i as resolveShellThemePresetName
997
+ m as resolveShellThemePresetName
935
998
  };