@floegence/floe-webapp-core 0.39.9 → 0.40.0

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.
@@ -11,33 +11,39 @@
11
11
  --primary-foreground: hsl(222 30% 10%);
12
12
 
13
13
  /* Secondary */
14
- --secondary: hsl(220 25% 14%);
14
+ --secondary: hsl(220 18% 15%);
15
15
  --secondary-foreground: hsl(210 20% 98%);
16
16
 
17
- /* Muted */
18
- --muted: hsl(220 25% 14%);
19
- --muted-foreground: hsl(215 20% 60%);
17
+ /* Muted — hover/inactive fill, one step above card */
18
+ --muted: hsl(220 16% 16%);
19
+ --muted-foreground: hsl(215 16% 56%);
20
20
 
21
- /* Accent */
22
- --accent: hsl(220 25% 16%);
21
+ /* Accent — selected/active fill, one step above muted */
22
+ --accent: hsl(220 14% 19%);
23
23
  --accent-foreground: hsl(210 20% 98%);
24
24
 
25
25
  /* Border */
26
- --border: hsl(220 20% 18%);
27
- --input: hsl(220 25% 14%);
26
+ --border: hsl(220 16% 20%);
27
+ --input: hsl(220 18% 15%);
28
28
  --ring: hsl(215 25% 70%);
29
- --chrome-border: var(--border);
29
+ /* chrome-border: hairline seams between shell chrome panels */
30
+ --chrome-border: hsl(220 16% 13%);
31
+ /* glow: dedicated accent color for glow/bloom effects.
32
+ --primary in dark mode is near-white (hsl 210 20% 98%), which creates
33
+ an overpowering white bloom when used as a glow source. This token
34
+ maps to a specific blue that reads as luminous without burning. */
35
+ --glow: hsl(217 65% 52%);
30
36
  --top-bar-border: var(--chrome-border);
31
37
  --activity-bar-border: var(--chrome-border);
32
38
  --bottom-bar-border: var(--chrome-border);
33
39
  --terminal-panel-border: var(--chrome-border);
34
40
 
35
- /* Card */
36
- --card: hsl(222 28% 10%);
41
+ /* Card — one clear step above sidebar */
42
+ --card: hsl(220 20% 13%);
37
43
  --card-foreground: hsl(210 20% 98%);
38
44
 
39
- /* Popover */
40
- --popover: hsl(222 28% 10%);
45
+ /* Popover — floating layer, one step above card */
46
+ --popover: hsl(220 18% 15%);
41
47
  --popover-foreground: hsl(210 20% 98%);
42
48
 
43
49
  /* Status colors */
@@ -58,20 +64,20 @@
58
64
  --highlight-block-note-accent: oklch(0.62 0.14 285);
59
65
  --highlight-block-tip-accent: oklch(0.6 0.1 175);
60
66
 
61
- /* Sidebar */
62
- --sidebar: hsl(222 28% 10%);
67
+ /* Sidebar — distinct structural plane between background and card */
68
+ --sidebar: hsl(221 22% 11%);
63
69
  --sidebar-foreground: hsl(210 20% 98%);
64
70
  --sidebar-primary: hsl(217 80% 55%);
65
71
  --sidebar-primary-foreground: hsl(0 0% 100%);
66
- --sidebar-accent: hsl(220 25% 16%);
72
+ --sidebar-accent: hsl(220 14% 19%);
67
73
  --sidebar-accent-foreground: hsl(210 20% 98%);
68
- --sidebar-border: hsl(220 20% 18%);
74
+ --sidebar-border: hsl(220 16% 13%);
69
75
  --sidebar-ring: hsl(217 80% 55%);
70
76
 
71
- /* Activity bar */
72
- --activity-bar: hsl(222 30% 9%);
73
- --activity-bar-foreground: hsl(215 20% 55%);
74
- --activity-bar-foreground-active: hsl(210 20% 98%);
77
+ /* Activity bar — deepest surface, anchors the left edge of the layout */
78
+ --activity-bar: hsl(222 28% 7%);
79
+ --activity-bar-foreground: hsl(215 16% 50%);
80
+ --activity-bar-foreground-active: hsl(210 20% 96%);
75
81
  --activity-bar-badge: hsl(217 80% 55%);
76
82
  --activity-bar-badge-foreground: hsl(0 0% 100%);
77
83
 
@@ -19,8 +19,8 @@
19
19
  --muted: hsl(36 15% 94%);
20
20
  --muted-foreground: hsl(215 16% 42%);
21
21
 
22
- /* Accent - Subtle warm highlight */
23
- --accent: hsl(34 11% 88%);
22
+ /* Accent - Subtle warm highlight, darker than sidebar for visible hover/active fills */
23
+ --accent: hsl(34 9% 85%);
24
24
  --accent-foreground: hsl(214 26% 17%);
25
25
 
26
26
  /* Border - Warm gray */
@@ -33,6 +33,9 @@
33
33
  --bottom-bar-border: var(--chrome-border);
34
34
  --terminal-panel-border: var(--chrome-border);
35
35
 
36
+ /* glow: in light mode primary is dark ink — works well as a depth/shadow glow accent */
37
+ --glow: var(--primary);
38
+
36
39
  /* Card */
37
40
  --card: hsl(36 100% 99%);
38
41
  --card-foreground: hsl(214 26% 17%);
@@ -59,19 +62,20 @@
59
62
  --highlight-block-note-accent: oklch(0.52 0.16 285);
60
63
  --highlight-block-tip-accent: oklch(0.52 0.12 175);
61
64
 
62
- /* Sidebar */
63
- --sidebar: hsl(36 13% 92%);
65
+ /* Sidebar — distinct from background, slightly deeper */
66
+ --sidebar: hsl(34 13% 90%);
64
67
  --sidebar-foreground: hsl(214 26% 17%);
65
68
  --sidebar-primary: hsl(214 26% 17%);
66
69
  --sidebar-primary-foreground: hsl(36 100% 99%);
67
- --sidebar-accent: hsl(34 11% 88%);
70
+ --sidebar-accent: hsl(34 9% 84%);
68
71
  --sidebar-accent-foreground: hsl(214 26% 17%);
69
- --sidebar-border: hsl(33 11% 84%);
72
+ --sidebar-border: hsl(33 9% 82%);
70
73
  --sidebar-ring: hsl(214 26% 17%);
71
74
 
72
- /* Activity bar */
73
- --activity-bar: hsl(36 13% 92%);
74
- --activity-bar-foreground: hsl(215 16% 42%);
75
+ /* Activity bar — deepest light-mode surface, clearly separate from sidebar.
76
+ L90% keeps --muted-foreground contrast ratio ≥ 4.5 on this surface (WCAG AA). */
77
+ --activity-bar: hsl(34 11% 90%);
78
+ --activity-bar-foreground: hsl(215 14% 46%);
75
79
  --activity-bar-foreground-active: hsl(214 26% 17%);
76
80
  --activity-bar-badge: hsl(214 26% 17%);
77
81
  --activity-bar-badge-foreground: hsl(36 100% 99%);
@@ -62,6 +62,7 @@
62
62
  --selection-on-primary-fg: #243447;
63
63
  --selection-code-bg: #58a6ff;
64
64
  --selection-code-fg: #08111d;
65
+ --glow: #243447;
65
66
  }
66
67
  :root[data-floe-shell-theme='mist'] {
67
68
  --background: #eef3f7;
@@ -126,6 +127,7 @@
126
127
  --selection-on-primary-fg: #243447;
127
128
  --selection-code-bg: #58a6ff;
128
129
  --selection-code-fg: #08111d;
130
+ --glow: #234e63;
129
131
  }
130
132
  :root[data-floe-shell-theme='meadow'] {
131
133
  --background: #eef4ec;
@@ -190,6 +192,7 @@
190
192
  --selection-on-primary-fg: #243447;
191
193
  --selection-code-bg: #58a6ff;
192
194
  --selection-code-fg: #08111d;
195
+ --glow: #24523d;
193
196
  }
194
197
  :root[data-floe-shell-theme='citrus'] {
195
198
  --background: #fff5e1;
@@ -254,6 +257,7 @@
254
257
  --selection-on-primary-fg: #243447;
255
258
  --selection-code-bg: #58a6ff;
256
259
  --selection-code-fg: #08111d;
260
+ --glow: #874000;
257
261
  }
258
262
  :root[data-floe-shell-theme='lilac'] {
259
263
  --background: #f5f0fa;
@@ -318,6 +322,7 @@
318
322
  --selection-on-primary-fg: #243447;
319
323
  --selection-code-bg: #58a6ff;
320
324
  --selection-code-fg: #08111d;
325
+ --glow: #51407e;
321
326
  }
322
327
  :root[data-floe-shell-theme='light-plus'] {
323
328
  --background: #ffffff;
@@ -382,6 +387,7 @@
382
387
  --selection-on-primary-fg: #243447;
383
388
  --selection-code-bg: #58a6ff;
384
389
  --selection-code-fg: #08111d;
390
+ --glow: #005fb8;
385
391
  }
386
392
  :root[data-floe-shell-theme='quiet-light'] {
387
393
  --background: #f5f5f5;
@@ -446,6 +452,7 @@
446
452
  --selection-on-primary-fg: #243447;
447
453
  --selection-code-bg: #58a6ff;
448
454
  --selection-code-fg: #08111d;
455
+ --glow: #4b61b9;
449
456
  }
450
457
  :root[data-floe-shell-theme='solarized-light'] {
451
458
  --background: #fdf6e3;
@@ -510,6 +517,7 @@
510
517
  --selection-on-primary-fg: #243447;
511
518
  --selection-code-bg: #58a6ff;
512
519
  --selection-code-fg: #08111d;
520
+ --glow: #075e73;
513
521
  }
514
522
  :root[data-floe-shell-theme='github-light'] {
515
523
  --background: #f6f8fa;
@@ -574,6 +582,7 @@
574
582
  --selection-on-primary-fg: #243447;
575
583
  --selection-code-bg: #58a6ff;
576
584
  --selection-code-fg: #08111d;
585
+ --glow: #0969da;
577
586
  }
578
587
  :root[data-floe-shell-theme='hc-light'] {
579
588
  --background: #ffffff;
@@ -638,6 +647,7 @@
638
647
  --selection-on-primary-fg: #243447;
639
648
  --selection-code-bg: #58a6ff;
640
649
  --selection-code-fg: #08111d;
650
+ --glow: #0000a8;
641
651
  }
642
652
  :root[data-floe-shell-theme='ink'] {
643
653
  --background: #0b1420;
@@ -702,6 +712,7 @@
702
712
  --selection-on-primary-fg: #eaf2f7;
703
713
  --selection-code-bg: #58a6ff;
704
714
  --selection-code-fg: #08111d;
715
+ --glow: #395c9f;
705
716
  }
706
717
  :root[data-floe-shell-theme='slate'] {
707
718
  --background: #171b22;
@@ -766,6 +777,7 @@
766
777
  --selection-on-primary-fg: #eef1f5;
767
778
  --selection-code-bg: #58a6ff;
768
779
  --selection-code-fg: #08111d;
780
+ --glow: #52677e;
769
781
  }
770
782
  :root[data-floe-shell-theme='forest'] {
771
783
  --background: #0b1a17;
@@ -830,6 +842,7 @@
830
842
  --selection-on-primary-fg: #edf6f1;
831
843
  --selection-code-bg: #58a6ff;
832
844
  --selection-code-fg: #08111d;
845
+ --glow: #2d7d67;
833
846
  }
834
847
  :root[data-floe-shell-theme='ember'] {
835
848
  --background: #1d1115;
@@ -894,6 +907,7 @@
894
907
  --selection-on-primary-fg: #fff1f1;
895
908
  --selection-code-bg: #58a6ff;
896
909
  --selection-code-fg: #08111d;
910
+ --glow: #a94632;
897
911
  }
898
912
  :root[data-floe-shell-theme='ocean'] {
899
913
  --background: #071a25;
@@ -958,6 +972,7 @@
958
972
  --selection-on-primary-fg: #e9f7fc;
959
973
  --selection-code-bg: #58a6ff;
960
974
  --selection-code-fg: #08111d;
975
+ --glow: #176c8e;
961
976
  }
962
977
  :root[data-floe-shell-theme='dark-plus'] {
963
978
  --background: #1e1e1e;
@@ -1022,6 +1037,7 @@
1022
1037
  --selection-on-primary-fg: #d4d4d4;
1023
1038
  --selection-code-bg: #58a6ff;
1024
1039
  --selection-code-fg: #08111d;
1040
+ --glow: #264f78;
1025
1041
  }
1026
1042
  :root[data-floe-shell-theme='monokai'] {
1027
1043
  --background: #272822;
@@ -1086,6 +1102,7 @@
1086
1102
  --selection-on-primary-fg: #f8f8f2;
1087
1103
  --selection-code-bg: #58a6ff;
1088
1104
  --selection-code-fg: #08111d;
1105
+ --glow: #5a594e;
1089
1106
  }
1090
1107
  :root[data-floe-shell-theme='nord'] {
1091
1108
  --background: #2e3440;
@@ -1150,6 +1167,7 @@
1150
1167
  --selection-on-primary-fg: #eceff4;
1151
1168
  --selection-code-bg: #58a6ff;
1152
1169
  --selection-code-fg: #08111d;
1170
+ --glow: #4c668a;
1153
1171
  }
1154
1172
  :root[data-floe-shell-theme='dracula'] {
1155
1173
  --background: #282a36;
@@ -1214,6 +1232,7 @@
1214
1232
  --selection-on-primary-fg: #f8f8f2;
1215
1233
  --selection-code-bg: #58a6ff;
1216
1234
  --selection-code-fg: #08111d;
1235
+ --glow: #52566d;
1217
1236
  }
1218
1237
  :root[data-floe-shell-theme='abyss'] {
1219
1238
  --background: #000c18;
@@ -1278,4 +1297,135 @@
1278
1297
  --selection-on-primary-fg: #ddeeff;
1279
1298
  --selection-code-bg: #58a6ff;
1280
1299
  --selection-code-fg: #08111d;
1300
+ --glow: #005a8d;
1301
+ }
1302
+ :root[data-floe-shell-theme='studio'] {
1303
+ --background: #111116;
1304
+ --foreground: #e2e2ec;
1305
+ --primary: #9580ff;
1306
+ --primary-foreground: #111116;
1307
+ --secondary: #20202b;
1308
+ --secondary-foreground: #e2e2ec;
1309
+ --muted: #20202b;
1310
+ --muted-foreground: #8888a8;
1311
+ --accent: #20202b;
1312
+ --accent-foreground: #e2e2ec;
1313
+ --border: #2a2a3c;
1314
+ --input: #7070a8;
1315
+ --ring: #9580ff;
1316
+ --chrome-border: #2a2a3c;
1317
+ --top-bar-border: #2a2a3c;
1318
+ --activity-bar-border: #2a2a3c;
1319
+ --bottom-bar-border: #2a2a3c;
1320
+ --terminal-panel-border: #2a2a3c;
1321
+ --card: #18181f;
1322
+ --card-foreground: #e2e2ec;
1323
+ --popover: #18181f;
1324
+ --popover-foreground: #e2e2ec;
1325
+ --success: #72d39c;
1326
+ --success-foreground: #07160e;
1327
+ --warning: #f0c36a;
1328
+ --warning-foreground: #1b1405;
1329
+ --error: #ff8a82;
1330
+ --error-foreground: #210706;
1331
+ --info: #79b8ff;
1332
+ --info-foreground: #061321;
1333
+ --highlight-block-info-accent: #79b8ff;
1334
+ --highlight-block-warning-accent: #f0c36a;
1335
+ --highlight-block-success-accent: #72d39c;
1336
+ --highlight-block-error-accent: #ff8a82;
1337
+ --highlight-block-note-accent: #c19be8;
1338
+ --highlight-block-tip-accent: #71c8c0;
1339
+ --sidebar: #13131a;
1340
+ --sidebar-foreground: #e2e2ec;
1341
+ --sidebar-primary: #9580ff;
1342
+ --sidebar-primary-foreground: #111116;
1343
+ --sidebar-accent: #20202b;
1344
+ --sidebar-accent-foreground: #e2e2ec;
1345
+ --sidebar-border: #2a2a3c;
1346
+ --sidebar-ring: #9580ff;
1347
+ --activity-bar: #13131a;
1348
+ --activity-bar-foreground: #8888a8;
1349
+ --activity-bar-foreground-active: #e2e2ec;
1350
+ --activity-bar-badge: #9580ff;
1351
+ --activity-bar-badge-foreground: #111116;
1352
+ --terminal-background: #0c0c12;
1353
+ --terminal-foreground: #d8d8e8;
1354
+ --chart-1: #9580ff;
1355
+ --chart-2: #79d5f7;
1356
+ --chart-3: #8be08e;
1357
+ --chart-4: #f0c060;
1358
+ --chart-5: #f06090;
1359
+ --selection-bg: #4840a0;
1360
+ --selection-fg: #ffffff;
1361
+ --selection-on-primary-bg: #111116;
1362
+ --selection-on-primary-fg: #e2e2ec;
1363
+ --selection-code-bg: #58a6ff;
1364
+ --selection-code-fg: #08111d;
1365
+ --glow: #4840a0;
1366
+ }
1367
+ :root[data-floe-shell-theme='graphite'] {
1368
+ --background: #1c1c1e;
1369
+ --foreground: #f2f2f7;
1370
+ --primary: #0070e0;
1371
+ --primary-foreground: #ffffff;
1372
+ --secondary: #3a3a3c;
1373
+ --secondary-foreground: #f2f2f7;
1374
+ --muted: #3a3a3c;
1375
+ --muted-foreground: #aeaeb2;
1376
+ --accent: #3a3a3c;
1377
+ --accent-foreground: #f2f2f7;
1378
+ --border: #38383a;
1379
+ --input: #888888;
1380
+ --ring: #0070e0;
1381
+ --chrome-border: #38383a;
1382
+ --top-bar-border: #38383a;
1383
+ --activity-bar-border: #38383a;
1384
+ --bottom-bar-border: #38383a;
1385
+ --terminal-panel-border: #38383a;
1386
+ --card: #2c2c2e;
1387
+ --card-foreground: #f2f2f7;
1388
+ --popover: #2c2c2e;
1389
+ --popover-foreground: #f2f2f7;
1390
+ --success: #72d39c;
1391
+ --success-foreground: #07160e;
1392
+ --warning: #f0c36a;
1393
+ --warning-foreground: #1b1405;
1394
+ --error: #ff8a82;
1395
+ --error-foreground: #210706;
1396
+ --info: #79b8ff;
1397
+ --info-foreground: #061321;
1398
+ --highlight-block-info-accent: #79b8ff;
1399
+ --highlight-block-warning-accent: #f0c36a;
1400
+ --highlight-block-success-accent: #72d39c;
1401
+ --highlight-block-error-accent: #ff8a82;
1402
+ --highlight-block-note-accent: #c19be8;
1403
+ --highlight-block-tip-accent: #71c8c0;
1404
+ --sidebar: #242426;
1405
+ --sidebar-foreground: #f2f2f7;
1406
+ --sidebar-primary: #0070e0;
1407
+ --sidebar-primary-foreground: #ffffff;
1408
+ --sidebar-accent: #3a3a3c;
1409
+ --sidebar-accent-foreground: #f2f2f7;
1410
+ --sidebar-border: #38383a;
1411
+ --sidebar-ring: #0070e0;
1412
+ --activity-bar: #242426;
1413
+ --activity-bar-foreground: #aeaeb2;
1414
+ --activity-bar-foreground-active: #f2f2f7;
1415
+ --activity-bar-badge: #0070e0;
1416
+ --activity-bar-badge-foreground: #ffffff;
1417
+ --terminal-background: #141416;
1418
+ --terminal-foreground: #e5e5ea;
1419
+ --chart-1: #0a84ff;
1420
+ --chart-2: #32ade6;
1421
+ --chart-3: #34c759;
1422
+ --chart-4: #ff9f0a;
1423
+ --chart-5: #ff453a;
1424
+ --selection-bg: #0070e0;
1425
+ --selection-fg: #ffffff;
1426
+ --selection-on-primary-bg: #1c1c1e;
1427
+ --selection-on-primary-fg: #f2f2f7;
1428
+ --selection-code-bg: #58a6ff;
1429
+ --selection-code-fg: #08111d;
1430
+ --glow: #0070e0;
1281
1431
  }
package/dist/ui.css CHANGED
@@ -516,7 +516,7 @@
516
516
  }
517
517
 
518
518
  .processing-text-glow {
519
- color: var(--primary);
519
+ color: var(--glow);
520
520
  animation: text-glow 2s ease-in-out infinite;
521
521
  }
522
522
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floegence/floe-webapp-core",
3
- "version": "0.39.9",
3
+ "version": "0.40.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",