@fest-lib/veela 0.1.9 → 0.1.11

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fest-lib/veela",
3
- "description": "Veela CSS framework and runtime loaders (fest-lib)",
4
- "version": "0.1.9",
3
+ "description": "fest-lib Veela: CSS tokens, --c2 color functions, Agate.UX, SCSS + runtime loaders",
4
+ "version": "0.1.11",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "sideEffects": true,
@@ -43,9 +43,17 @@
43
43
  "./dist/index.js": "./dist/veela.js",
44
44
  "./index.js": "./dist/veela.js"
45
45
  },
46
+ "dependencies": {
47
+ "@fest-lib/object": "github:fest-live/object.ts#main",
48
+ "@fest-lib/core": "github:fest-live/core.ts#main",
49
+ "@fest-lib/dom": "github:fest-live/dom.ts#main",
50
+ "@fest-lib/lure": "github:fest-live/lur.e#main"
51
+ },
46
52
  "peerDependencies": {
53
+ "@fest-lib/object": ">=0.1.0",
47
54
  "@fest-lib/core": ">=0.1.0",
48
- "@fest-lib/dom": ">=0.1.0"
55
+ "@fest-lib/dom": ">=0.1.0",
56
+ "@fest-lib/lure": ">=0.1.0"
49
57
  },
50
58
  "scripts": {
51
59
  "test": "npm run test:puppeteer",
@@ -1,16 +1,42 @@
1
- /**
2
- * Veela CSS Layer Order
3
- *
4
- * Defines the cascade layer order for all veela style variants.
5
- * Imported by core/basic/advanced/beercss entry points.
1
+ /*
2
+ * Filename: _layers.scss
3
+ * FullPath: modules/projects/veela.css/src/scss/_layers.scss
4
+ * Reason for changes: One cascade-order registry; include view-transitions before overrides.
6
5
  */
7
6
 
7
+ /*
8
+ * INVARIANT: legacy layer names remain in the registry while their consumers
9
+ * migrate. New component rules use the `ux-*` names; no host may establish a
10
+ * competing layer order by importing a second prelude.
11
+ */
8
12
  @layer
9
13
  ux-normalize,
14
+ tokens,
10
15
  ux-tokens,
16
+ base,
11
17
  ux-base,
18
+ layout,
12
19
  ux-layout,
20
+ shells,
21
+ shell,
22
+ views,
23
+ view,
24
+ viewer,
25
+ components,
13
26
  ux-components,
27
+ ux-layer,
28
+ ui-icon,
29
+ ui-icon-reset,
30
+ ux-file-manager,
31
+ ux-file-manager-content,
32
+ utilities,
14
33
  ux-utilities,
34
+ theme,
15
35
  ux-theme,
36
+ markdown,
37
+ essentials,
38
+ print,
39
+ print-breaks,
40
+ view-transitions,
41
+ overrides,
16
42
  ux-overrides;
@@ -135,7 +135,10 @@ $md3-transition-aliases: (
135
135
 
136
136
  @mixin _export-duration-vars($durations) {
137
137
  @each $token, $value in $durations {
138
- --duration-#{$token}: #{$value};
138
+ --md3-duration-#{$token}: #{$value};
139
+ @if $token != fast and $token != normal and $token != slow {
140
+ --duration-#{$token}: #{$value};
141
+ }
139
142
  }
140
143
  }
141
144
 
@@ -153,11 +156,14 @@ $md3-transition-aliases: (
153
156
 
154
157
  @mixin _export-transition-vars($definitions, $aliases) {
155
158
  @each $name, $config in $definitions {
156
- --transition-#{$name}: #{_transition-definition($config)};
159
+ --md3-transition-#{$name}: #{_transition-definition($config)};
160
+ @if $name != fast and $name != normal and $name != slow {
161
+ --transition-#{$name}: #{_transition-definition($config)};
162
+ }
157
163
  }
158
164
 
159
165
  @each $alias, $target in $aliases {
160
- @if map.has-key($definitions, $target) {
166
+ @if $alias != fast and $alias != normal and $alias != slow and map.has-key($definitions, $target) {
161
167
  --transition-#{$alias}: var(--transition-#{$target});
162
168
  }
163
169
  }
@@ -36,9 +36,9 @@ $state-opacity-map: (
36
36
  // ============================================================================
37
37
  // Used for transitions on interactive elements
38
38
 
39
- $duration-fast: 140ms !default;
40
- $duration-normal: 160ms !default;
41
- $duration-slow: 200ms !default;
39
+ $duration-fast: var(--duration-fast, 140ms) !default;
40
+ $duration-normal: var(--duration-normal, 220ms) !default;
41
+ $duration-slow: var(--duration-slow, 360ms) !default;
42
42
 
43
43
  $motion-timing-map: (
44
44
  fast: $duration-fast,
@@ -428,32 +428,33 @@ $font-weight-extrabold: md3-font-weight-value("extrabold");
428
428
 
429
429
  @each $alias, $definition in $sizes {
430
430
  $value: md3-resolve-type-value($definition, size);
431
- --font-size-#{$alias}: #{$value};
432
- }
433
-
434
- --font-size: var(--font-size-base);
435
-
436
- @each $alias in map.keys($sizes) {
437
- --font-#{$alias}: var(--font-size-#{$alias});
431
+ --md3-font-size-#{$alias}: #{$value};
432
+ @if $alias != xs and $alias != sm and $alias != base and $alias != md and $alias != lg and $alias != xl and $alias != 2xl {
433
+ --font-size-#{$alias}: #{$value};
434
+ --font-#{$alias}: var(--font-size-#{$alias});
435
+ }
438
436
  }
439
437
 
440
438
  @each $alias, $definition in $weights {
441
439
  $value: md3-font-weight-value($definition);
442
- --font-weight-#{$alias}: #{$value};
440
+ @if $alias != normal and $alias != medium and $alias != semibold and $alias != bold {
441
+ --font-weight-#{$alias}: #{$value};
442
+ }
443
443
  }
444
444
 
445
445
  --font-weight: var(--font-weight-normal);
446
446
 
447
447
  @each $alias, $stack in $families {
448
- --font-family-#{$alias}: #{md3-font-family-value($stack)};
448
+ --md3-font-family-#{$alias}: #{md3-font-family-value($stack)};
449
+ @if $alias != base and $alias != sans and $alias != mono {
450
+ --font-family-#{$alias}: #{md3-font-family-value($stack)};
451
+ }
449
452
  }
450
453
 
451
- --font-family-base: #{md3-font-family-value("base")};
452
- --font-family-mono: #{md3-font-family-value("mono")};
453
- --font-family: var(--font-family-base);
454
-
455
454
  @each $alias, $value in $leadings {
456
- --leading-#{$alias}: #{$value};
455
+ @if $alias != tight and $alias != normal and $alias != relaxed {
456
+ --leading-#{$alias}: #{$value};
457
+ }
457
458
  }
458
459
 
459
460
  @if meta.type-of($extra-overrides) == "map" {
@@ -512,8 +512,9 @@
512
512
  /* -------------------------------------------------------------------------- */
513
513
 
514
514
  :where(canvas):is([is="ui-canvas"]) {
515
- position: absolute;
515
+ position: fixed;
516
516
  inset: 0;
517
+ inset-block-end: auto;
517
518
  pointer-events: none;
518
519
  z-index: 0;
519
520
  padding: 0px;
@@ -521,10 +522,10 @@
521
522
  border: none 0px transparent;
522
523
  outline: none 0px transparent;
523
524
 
524
- inline-size: stretch;
525
- block-size: stretch;
526
- max-inline-size: min(100%, min(100cqi, 100dvi)) !important;
527
- max-block-size: min(100%, min(100cqb, 100dvb)) !important;
525
+ max-inline-size: max(100%, min(100cqi, 100lvi)) !important;
526
+ max-block-size: max(100%, min(100cqb, 100lvb)) !important;
527
+ max-inline-size: max(100%, min(100cqi, 100lvi)) !important;
528
+ max-block-size: max(100%, min(100cqb, 100lvb)) !important;
528
529
  box-sizing: border-box !important;
529
530
  min-inline-size: 0px;
530
531
  min-block-size: 0px;
@@ -89,13 +89,7 @@
89
89
  // Export layout vars mixin
90
90
  @mixin md3-export-density-vars() {
91
91
  @each $token, $value in $md3-space-scale {
92
- --space-#{$token}: #{$value};
93
- --gap-#{$token}: #{$value};
94
- --padding-#{$token}: #{$value};
95
- }
96
-
97
- @each $token, $value in $md3-shape-scale {
98
- --radius-#{$token}: #{$value};
92
+ --md3-space-#{$token}: #{$value};
99
93
  }
100
94
  }
101
95
 
@@ -155,33 +149,6 @@
155
149
  // Spacing tokens
156
150
  @each $token, $value in $md3-space-scale {
157
151
  --space-#{$token}-base: #{$value};
158
- --space-#{$token}: var(--space-#{$token}-base);
159
- --gap-#{$token}: var(--space-#{$token});
160
- --padding-#{$token}: var(--space-#{$token});
161
- }
162
-
163
-
164
- //
165
- @each $alias, $token in $md3-radius-aliases {
166
- --radius-#{$alias}: var(--radius-#{$token}, #{md3-radius($token)});
167
- }
168
-
169
- // Radius tokens
170
- @each $token, $value in $md3-radius-scale {
171
- --radius-#{$token}: #{$value};
172
- }
173
-
174
- --radius-full: #{md3-radius(full)};
175
-
176
-
177
- //
178
- @each $alias, $token in $md3-shape-aliases {
179
- --shape-#{$alias}: var(--shape-#{$token}, #{md3-shape($token)});
180
- }
181
-
182
- // Shape tokens
183
- @each $token, $value in $md3-shape-scale {
184
- --shape-#{$token}: #{$value};
185
152
  }
186
153
 
187
154
 
@@ -198,18 +165,6 @@
198
165
  --avatar-size: #{md3-avatar-size(md)};
199
166
  --avatar-size-lg: #{md3-avatar-size(lg)};
200
167
 
201
- // Typography scale
202
- --text-xs: clamp(calc(0.7rem * var(--font-scale)), 0.3cqi + 0.6rem, calc(0.75rem * var(--font-scale)));
203
- --text-sm: clamp(calc(0.75rem * var(--font-scale)), 0.4cqi + 0.65rem, calc(0.85rem * var(--font-scale)));
204
- --text-base: clamp(calc(0.8rem * var(--font-scale)), 0.5cqi + 0.7rem, calc(0.95rem * var(--font-scale)));
205
- --text-lg: clamp(calc(0.9rem * var(--font-scale)), 0.6cqi + 0.8rem, calc(1.1rem * var(--font-scale)));
206
- --text-xl: clamp(calc(1rem * var(--font-scale)), 0.8cqi + 0.9rem, calc(1.3rem * var(--font-scale)));
207
-
208
- // Motion tokens
209
- --transition-fast: 140ms ease;
210
- --transition-normal: 160ms ease;
211
- --transition-slow: 200ms ease;
212
-
213
168
  --text-opacity-disabled: #{md3-state(disabled)};
214
169
  }
215
170
 
@@ -390,13 +345,7 @@ $is-windowed: "@container u2-windowed #{$is-not-wide}";
390
345
  // Export layout vars mixin
391
346
  @mixin md3-export-density-vars() {
392
347
  @each $token, $value in $md3-space-scale {
393
- --space-#{$token}: #{$value};
394
- --gap-#{$token}: #{$value};
395
- --padding-#{$token}: #{$value};
396
- }
397
-
398
- @each $token, $value in $md3-shape-scale {
399
- --radius-#{$token}: #{$value};
348
+ --md3-space-#{$token}: #{$value};
400
349
  }
401
350
  }
402
351
 
@@ -456,33 +405,6 @@ $is-windowed: "@container u2-windowed #{$is-not-wide}";
456
405
  // Spacing tokens
457
406
  @each $token, $value in $md3-space-scale {
458
407
  --space-#{$token}-base: #{$value};
459
- --space-#{$token}: var(--space-#{$token}-base);
460
- --gap-#{$token}: var(--space-#{$token});
461
- --padding-#{$token}: var(--space-#{$token});
462
- }
463
-
464
-
465
- //
466
- @each $alias, $token in $md3-radius-aliases {
467
- --radius-#{$alias}: var(--radius-#{$token}, #{md3-radius($token)});
468
- }
469
-
470
- // Radius tokens
471
- @each $token, $value in $md3-radius-scale {
472
- --radius-#{$token}: #{$value};
473
- }
474
-
475
- --radius-full: #{md3-radius(full)};
476
-
477
-
478
- //
479
- @each $alias, $token in $md3-shape-aliases {
480
- --shape-#{$alias}: var(--shape-#{$token}, #{md3-shape($token)});
481
- }
482
-
483
- // Shape tokens
484
- @each $token, $value in $md3-shape-scale {
485
- --shape-#{$token}: #{$value};
486
408
  }
487
409
 
488
410
 
@@ -499,18 +421,6 @@ $is-windowed: "@container u2-windowed #{$is-not-wide}";
499
421
  --avatar-size: #{md3-avatar-size(md)};
500
422
  --avatar-size-lg: #{md3-avatar-size(lg)};
501
423
 
502
- // Typography scale
503
- --text-xs: clamp(calc(0.7rem * var(--font-scale)), 0.3cqi + 0.6rem, calc(0.75rem * var(--font-scale)));
504
- --text-sm: clamp(calc(0.75rem * var(--font-scale)), 0.4cqi + 0.65rem, calc(0.85rem * var(--font-scale)));
505
- --text-base: clamp(calc(0.8rem * var(--font-scale)), 0.5cqi + 0.7rem, calc(0.95rem * var(--font-scale)));
506
- --text-lg: clamp(calc(0.9rem * var(--font-scale)), 0.6cqi + 0.8rem, calc(1.1rem * var(--font-scale)));
507
- --text-xl: clamp(calc(1rem * var(--font-scale)), 0.8cqi + 0.9rem, calc(1.3rem * var(--font-scale)));
508
-
509
- // Motion tokens
510
- --transition-fast: 140ms ease;
511
- --transition-normal: 160ms ease;
512
- --transition-slow: 200ms ease;
513
-
514
424
  --text-opacity-disabled: #{md3-state(disabled)};
515
425
  }
516
426
 
@@ -113,7 +113,7 @@
113
113
  display: inline-flex;
114
114
  align-items: center;
115
115
  gap: $gap;
116
- flex-wrap: wrap;
116
+ flex-wrap: nowrap;
117
117
  }
118
118
 
119
119
  // Input helpers
@@ -202,7 +202,7 @@
202
202
  * @param $radius [var(--radius-sm, 8px)] - border radius
203
203
  * @usage: @include focus-ring(var(--color-primary));
204
204
  */
205
- @mixin focus-ring($color: var(--color-primary, #0066cc), $radius: var(--radius-sm, 8px)) {
205
+ @mixin focus-ring($color: var(--color-primary, #5a7fff), $radius: var(--radius-sm)) {
206
206
  outline: none;
207
207
  box-shadow: 0 0 0 3px color-mix(in oklab, $color 35%, transparent);
208
208
  border-radius: $radius;
@@ -11,9 +11,9 @@
11
11
  display: flex;
12
12
  place-content: center;
13
13
  place-items: center;
14
- aspect-ratio: 1 / 1;
14
+ aspect-ratio: 1 / 1 !important;
15
15
  inline-size: stretch;
16
- block-size: stretch;
16
+ block-size: fit-content;
17
17
  padding: 1.25rem;
18
18
 
19
19
  // Containment & Overflow
@@ -36,7 +36,11 @@
36
36
  // Nested elements
37
37
  & span, & ui-icon {
38
38
  inline-size: stretch;
39
- block-size: stretch;
39
+ block-size: fit-content;
40
+ }
41
+
42
+ & ui-icon {
43
+ aspect-ratio: 1 / 1 !important;
40
44
  }
41
45
  }
42
46
 
@@ -61,7 +65,7 @@
61
65
  &[data-shape] {
62
66
  contain: strict;
63
67
  overflow: hidden;
64
- aspect-ratio: 1 / 1;
68
+ aspect-ratio: 1 / 1 !important;
65
69
  pointer-events: auto;
66
70
  touch-action: none;
67
71
  }
@@ -49,15 +49,15 @@
49
49
 
50
50
  //
51
51
  min-inline-size: min(100cqi, 100dvi);
52
- min-block-size: min(100cqb, 100dvb);
52
+ min-block-size: min(100cqb, var(--lv-height, 100lvb));
53
53
 
54
54
  //
55
55
  inline-size: stretch;
56
- block-size: stretch;
56
+ block-size: var(--lv-height, 100lvb);
57
57
 
58
58
  //
59
59
  max-inline-size: min(100%, min(100cqi, 100dvi)) !important;
60
- max-block-size: min(100%, min(100cqb, 100dvb)) !important;
60
+ max-block-size: min(100%, min(100cqb, var(--lv-height, 100lvb))) !important;
61
61
 
62
62
  //
63
63
  place-content: start;
@@ -116,7 +116,7 @@
116
116
 
117
117
  //
118
118
  max-inline-size: min(100%, min(100cqi, 100dvi));
119
- max-block-size: min(100%, min(100cqb, 100dvb));
119
+ max-block-size: min(100%, min(100cqb, var(--lv-height, 100lvb)));
120
120
  }
121
121
 
122
122
  //
@@ -126,13 +126,13 @@
126
126
  min-inline-size: 0px;
127
127
  min-block-size: 0px;
128
128
  max-inline-size: min(100%, min(100cqi, 100dvi));
129
- max-block-size: min(100%, min(100cqb, 100dvb));
129
+ max-block-size: min(100%, min(100cqb, var(--lv-height, 100lvb)));
130
130
  }
131
131
 
132
132
  //
133
133
  & > :where(*) {
134
134
  max-inline-size: min(100%, min(100cqi, 100dvi));
135
- max-block-size: min(100%, min(100cqb, 100dvb));
135
+ max-block-size: min(100%, min(100cqb, var(--lv-height, 100lvb)));
136
136
  }
137
137
  }
138
138
 
@@ -184,15 +184,15 @@
184
184
 
185
185
  //
186
186
  min-inline-size: min(100cqi, 100dvi);
187
- min-block-size: min(100cqb, 100dvb);
187
+ min-block-size: min(100cqb, var(--lv-height, 100lvb));
188
188
 
189
189
  //
190
190
  inline-size: stretch;
191
- block-size: stretch;
191
+ block-size: var(--lv-height, 100lvb);
192
192
 
193
193
  //
194
194
  max-inline-size: min(100%, min(100cqi, 100dvi)) !important;
195
- max-block-size: min(100%, min(100cqb, 100dvb)) !important;
195
+ max-block-size: min(100%, min(100cqb, var(--lv-height, 100lvb))) !important;
196
196
 
197
197
  //
198
198
  place-content: start;
@@ -248,7 +248,7 @@
248
248
 
249
249
  //
250
250
  max-inline-size: min(100%, min(100cqi, 100dvi));
251
- max-block-size: min(100%, min(100cqb, 100dvb));
251
+ max-block-size: min(100%, min(100cqb, var(--lv-height, 100lvb)));
252
252
  }
253
253
 
254
254
  //
@@ -258,13 +258,13 @@
258
258
  min-inline-size: 0px;
259
259
  min-block-size: 0px;
260
260
  max-inline-size: min(100%, min(100cqi, 100dvi));
261
- max-block-size: min(100%, min(100cqb, 100dvb));
261
+ max-block-size: min(100%, min(100cqb, var(--lv-height, 100lvb)));
262
262
  }
263
263
 
264
264
  //
265
265
  & > :where(*) {
266
266
  max-inline-size: min(100%, min(100cqi, 100dvi));
267
- max-block-size: min(100%, min(100cqb, 100dvb));
267
+ max-block-size: min(100%, min(100cqb, var(--lv-height, 100lvb)));
268
268
  }
269
269
  }
270
270
  };
@@ -895,18 +895,18 @@ $is-windowed: "@container u2-windowed #{$is-not-wide}";
895
895
  @mixin surface($tone: 0) {
896
896
  // Fallback surface colors using CSS variables
897
897
  // Can be overridden by any theming system
898
- background-color: var(--fl-surface, #fff);
899
- color: var(--fl-on-surface, #111);
898
+ background-color: var(--color-surface, var(--fl-surface, #fff));
899
+ color: var(--color-on-surface, var(--fl-on-surface, #111));
900
900
  }
901
901
 
902
902
  @mixin primary-surface {
903
- background-color: var(--fl-primary, #1a73e8);
904
- color: var(--fl-on-primary, #fff);
903
+ background-color: var(--color-primary, var(--fl-primary, #5a7fff));
904
+ color: var(--color-on-primary, var(--fl-on-primary, #fff));
905
905
  }
906
906
 
907
907
  @mixin secondary-surface {
908
- background-color: var(--fl-secondary, #5f6368);
909
- color: var(--fl-on-secondary, #fff);
908
+ background-color: var(--color-secondary, var(--fl-secondary, #5f6368));
909
+ color: var(--color-on-secondary, var(--fl-on-secondary, #fff));
910
910
  }
911
911
 
912
912
  // Border mixins - veela-independent fallbacks
@@ -113,7 +113,7 @@
113
113
  display: inline-flex;
114
114
  align-items: center;
115
115
  gap: $gap;
116
- flex-wrap: wrap;
116
+ flex-wrap: nowrap;
117
117
  }
118
118
 
119
119
  // Input helpers
@@ -5,6 +5,7 @@
5
5
  * Reason for changes: vl-basic palette via --u2-color-mod (token names kept).
6
6
  */
7
7
  @use "./shared" as *;
8
+ @use "layers";
8
9
 
9
10
  // COMPAT: vl-basic may load without veela _tokens.scss — keep function local.
10
11
  @#{"function --u2-color-mod(--base-color <color>, --index <number> : 550) returns <color>"} {
@@ -26,8 +27,6 @@
26
27
  );
27
28
  }
28
29
 
29
- @layer tokens, base, layout, utilities, shells, shell, views, view, viewer, components, ux-layer, markdown, essentials, print, print-breaks, overrides;
30
-
31
30
  @layer tokens {
32
31
  :where(:root, html) {
33
32
  color-scheme: light dark;
@@ -41,8 +40,8 @@
41
40
  --color-primary: light-dark(#91b6e3, #2e3a64);
42
41
  --base-color: var(--color-primary);
43
42
  --color-bg: light-dark(
44
- --u2-color-mod(var(--base-color), 70),
45
- --u2-color-mod(var(--base-color), 940)
43
+ --u2-color-mod(var(--base-color), 20),
44
+ --u2-color-mod(var(--base-color), 980)
46
45
  );
47
46
  --color-text: light-dark(
48
47
  --u2-color-mod(var(--base-color), 900),
@@ -148,7 +147,7 @@
148
147
  margin: 0;
149
148
  padding: 0;
150
149
  border: none;
151
- min-block-size: min(100dvb, 100cqb);
150
+ min-block-size: min(var(--lv-height, 100lvb), 100cqb);
152
151
  block-size: fit-content;
153
152
  background: var(--color-bg);
154
153
  color: var(--color-text);
@@ -703,17 +702,18 @@
703
702
  }
704
703
 
705
704
  :where(canvas):is([is="ui-canvas"]) {
706
- position: absolute;
705
+ position: fixed;
707
706
  inset: 0;
707
+ inset-block-end: auto;
708
708
  pointer-events: none;
709
709
  z-index: 0;
710
710
  padding: 0;
711
711
  margin: 0;
712
712
  border: none;
713
- inline-size: stretch;
714
- block-size: stretch;
715
- max-inline-size: min(100%, min(100cqi, 100dvi)) !important;
716
- max-block-size: min(100%, min(100cqb, 100dvb)) !important;
713
+ max-inline-size: max(100%, min(100cqi, 100lvi)) !important;
714
+ max-block-size: max(100%, min(100cqb, 100lvb)) !important;
715
+ max-inline-size: max(100%, min(100cqi, 100lvi)) !important;
716
+ max-block-size: max(100%, min(100cqb, 100lvb)) !important;
717
717
  box-sizing: border-box !important;
718
718
  min-inline-size: 0;
719
719
  min-block-size: 0;
@@ -198,11 +198,11 @@
198
198
 
199
199
  /**
200
200
  * Focus ring without outline (M3-style)
201
- * @param $color [var(--color-primary, #0066cc)] - focus color
202
- * @param $radius [var(--radius-sm, 8px)] - border radius
201
+ * @param $color [var(--color-primary, #5a7fff)] - focus color
202
+ * @param $radius [var(--radius-sm)] - border radius
203
203
  * @usage: @include focus-ring(var(--color-primary));
204
204
  */
205
- @mixin focus-ring($color: var(--color-primary, #0066cc), $radius: var(--radius-sm, 8px)) {
205
+ @mixin focus-ring($color: var(--color-primary, #5a7fff), $radius: var(--radius-sm)) {
206
206
  outline: none;
207
207
  box-shadow: 0 0 0 3px color-mix(in oklab, $color 35%, transparent);
208
208
  border-radius: $radius;
@@ -1,8 +1,8 @@
1
1
  /*
2
2
  * Filename: _color-properties.scss
3
3
  * FullPath: modules/projects/veela.css/src/scss/core/misc/_color-properties.scss
4
- * Change date and time: 09.05.00_02.08.2026
5
- * Reason for changes: Only seed hues as @property semantic light-dark() must stay unregistered.
4
+ * Change date and time: 15.50.00_22.08.2026
5
+ * Reason for changes: Seed initial-value is the desktop cyan-blue fallback (#5a9ec8).
6
6
  */
7
7
 
8
8
  /*
@@ -18,13 +18,13 @@
18
18
  @property --color-primary {
19
19
  syntax: "<color>";
20
20
  inherits: true;
21
- initial-value: #5a7fff;
21
+ initial-value: #5a9ec8;
22
22
  }
23
23
 
24
24
  @property --base-color {
25
25
  syntax: "<color>";
26
26
  inherits: true;
27
- initial-value: #5a7fff;
27
+ initial-value: #5a9ec8;
28
28
  }
29
29
 
30
30
  @property --color-secondary {
@@ -117,7 +117,7 @@ $design-system: (
117
117
  )
118
118
  ),
119
119
  "colors": (
120
- "primary": (#5a7fff, #7ca7ff),
120
+ "primary": (#4e8fad, #8ec4d4),
121
121
  "secondary": (#6b7280, #94a3b8),
122
122
  "accent": (#64748b, #94a3b8),
123
123
  "success": (#10b981, #34d399),