@fest-lib/veela 0.1.20 → 1.0.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/veela.js +4 -33
- package/package.json +9 -2
- package/src/scss/_layers.scss +5 -34
- package/src/scss/basic/{misc/_core-layout.scss → _core-layout.scss} +1 -1
- package/src/scss/basic/_layers.scss +1 -0
- package/src/scss/basic/{misc/_layout.scss → _layout.scss} +15 -15
- package/src/scss/basic/{misc/_normalize.scss → _normalize.scss} +5 -103
- package/src/scss/basic/{misc/_states.scss → _states.scss} +2 -2
- package/src/scss/{core/misc → basic}/_utilities.scss +4 -4
- package/src/scss/basic/design/_keyframes.scss +1 -1
- package/src/scss/basic/design/_shapes.scss +1 -1
- package/src/scss/basic/index.scss +14 -16
- package/src/scss/chrome.scss +2 -0
- package/src/scss/core/_color-mod.scss +24 -0
- package/src/scss/core/{misc/_color-properties.scss → _color-properties.scss} +1 -1
- package/src/scss/core/{misc/_tokens.scss → _tokens.scss} +10 -93
- package/src/scss/core/index.scss +13 -1
- package/src/scss/index.scss +7 -2
- package/src/scss/index.ts +1 -1
- package/src/scss/{core/interact → interact}/_viewport.scss +1 -1
- package/src/scss/interact/index.scss +18 -0
- package/src/scss/theme/_effects.scss +60 -0
- package/src/scss/theme/index.scss +8 -0
- package/src/scss/{advanced/index.ts → theme/loader.ts} +3 -4
- package/src/scss/ui/_bar.scss +268 -0
- package/src/scss/ui/_buttons.scss +215 -0
- package/src/scss/ui/_chrome-mixins.scss +104 -0
- package/src/scss/ui/_color.scss +3 -0
- package/src/scss/ui/_colorize.scss +5 -0
- package/src/scss/{advanced/layout → ui}/_content.scss +0 -1
- package/src/scss/ui/_core-layout.scss +4 -0
- package/src/scss/ui/_essentials-options.scss +2 -0
- package/src/scss/ui/_essentials.scss +707 -0
- package/src/scss/ui/_explorer-content.scss +417 -0
- package/src/scss/ui/_explorer.scss +274 -0
- package/src/scss/ui/_forms-bare-host-elements.scss +25 -0
- package/src/scss/ui/_forms-options.scss +2 -0
- package/src/scss/ui/_forms.scss +279 -0
- package/src/scss/ui/_forms_misc.scss +201 -0
- package/src/scss/ui/_gridbox.scss +298 -0
- package/src/scss/ui/_home-host.scss +192 -0
- package/src/scss/ui/_index.scss +23 -0
- package/src/scss/ui/_launcher-typography.scss +31 -0
- package/src/scss/ui/_layers.scss +48 -0
- package/src/scss/ui/_layout.scss +3 -0
- package/src/scss/ui/_markdown.scss +1634 -0
- package/src/scss/ui/_modal.scss +309 -0
- package/src/scss/ui/_motion.scss +3 -0
- package/src/scss/ui/_native-host-button-chrome.scss +31 -0
- package/src/scss/ui/_normalize.scss +5 -0
- package/src/scss/ui/_orientation-functions.scss +273 -0
- package/src/scss/ui/_orientbox.scss +97 -0
- package/src/scss/ui/_scrollbar.scss +257 -0
- package/src/scss/ui/_shared-overlays.scss +16 -0
- package/src/scss/ui/_shared.scss +4 -0
- package/src/scss/ui/_sidebar.scss +478 -0
- package/src/scss/ui/_speed-dial.scss +47 -0
- package/src/scss/ui/_states.scss +4 -0
- package/src/scss/ui/_tables.scss +28 -0
- package/src/scss/ui/_tabs.scss +405 -0
- package/src/scss/ui/_taskbar.scss +215 -0
- package/src/scss/ui/_toolbars.scss +167 -0
- package/src/scss/ui/_typography.scss +11 -0
- package/src/scss/ui/_utils.scss +8 -0
- package/src/scss/ui/_viewport.scss +470 -0
- package/src/scss/ui/_window-frame.scss +658 -0
- package/src/scss/ui/components/app-menu.scss +817 -0
- package/src/scss/ui/components/appearance-desktop.scss +14 -0
- package/src/scss/ui/components/appearance-mobile.scss +14 -0
- package/src/scss/ui/components/calendar/flyout.scss +194 -0
- package/src/scss/ui/components/calendar/index.scss +627 -0
- package/src/scss/ui/components/explorer-settings.scss +232 -0
- package/src/scss/ui/components/file-manager-content.scss +2 -0
- package/src/scss/ui/components/file-manager.scss +2 -0
- package/src/scss/ui/components/launcher-icon-mask.scss +34 -0
- package/src/scss/ui/components/navbar.scss +133 -0
- package/src/scss/ui/components/quick-settings.scss +321 -0
- package/src/scss/ui/components/scrollframe.scss +58 -0
- package/src/scss/ui/components/slider.scss +188 -0
- package/src/scss/ui/components/speed-dial.scss +2288 -0
- package/src/scss/ui/components/statusbar.scss +255 -0
- package/src/scss/ui/components/task.scss +118 -0
- package/src/scss/ui/components/taskbar.scss +514 -0
- package/src/scss/ui/components/text.scss +241 -0
- package/src/scss/ui/components/window.scss +601 -0
- package/src/scss/ui/home-host-apply.scss +10 -0
- package/src/scss/ui/index.scss +7 -0
- package/src/scss/ui/native-controls.scss +17 -0
- package/src/scss/advanced/_index.scss +0 -0
- package/src/scss/advanced/animation/_motion.scss +0 -323
- package/src/scss/advanced/color/_color.scss +0 -328
- package/src/scss/advanced/color/_colorize.scss +0 -325
- package/src/scss/advanced/design/_design-tokens.scss +0 -118
- package/src/scss/advanced/design/_effects.scss +0 -275
- package/src/scss/advanced/design/_shadow.scss +0 -359
- package/src/scss/advanced/design/_surfaces.scss +0 -76
- package/src/scss/advanced/effects/_animations.scss +0 -124
- package/src/scss/advanced/effects/_shadows.scss +0 -50
- package/src/scss/advanced/font/_typography.scss +0 -601
- package/src/scss/advanced/index.scss +0 -11
- package/src/scss/advanced/layout/_index.scss +0 -5
- package/src/scss/advanced/layout/_normalize.scss +0 -543
- package/src/scss/advanced/layout/_shared-overlays.scss +0 -162
- package/src/scss/advanced/md3/_md3.scss +0 -506
- package/src/scss/advanced/md3/_utils.scss +0 -114
- package/src/scss/advanced/misc/_config.scss +0 -119
- package/src/scss/advanced/misc/_initials.scss +0 -298
- package/src/scss/advanced/misc/_mixins.scss +0 -179
- package/src/scss/advanced/misc/_rendering.scss +0 -82
- package/src/scss/advanced/misc/_tokens.scss +0 -74
- package/src/scss/advanced/theme/_shared.scss +0 -232
- package/src/scss/advanced/theme/_states.scss +0 -332
- package/src/scss/advanced/theme/_variants.scss +0 -354
- package/src/scss/advanced/tokens/_material-color.scss +0 -120
- package/src/scss/advanced/tokens/_variables.scss +0 -171
- package/src/scss/basic/misc/_index.scss +0 -18
- package/src/scss/basic/misc/_mixins.scss +0 -179
- package/src/scss/basic/misc/_queries.scss +0 -34
- package/src/scss/basic/misc/_tokens.scss +0 -78
- package/src/scss/basic/misc/_veela.scss +0 -12
- package/src/scss/core/misc/_index.scss +0 -6
- /package/src/scss/basic/{misc/_motion.scss → _motion.scss} +0 -0
- /package/src/scss/{advanced/misc → basic}/_queries.scss +0 -0
- /package/src/scss/basic/{misc/_shared.scss → _shared.scss} +0 -0
- /package/src/scss/core/{misc/_config.scss → _config.scss} +0 -0
- /package/src/scss/core/{misc/_functions.scss → _functions.scss} +0 -0
- /package/src/scss/core/{misc/_icons.scss → _icons.scss} +0 -0
- /package/src/scss/core/{misc/_layout.scss → _layout.scss} +0 -0
- /package/src/scss/core/{misc/_mixins.scss → _mixins.scss} +0 -0
- /package/src/scss/core/{misc/_properties.scss → _properties.scss} +0 -0
- /package/src/scss/core/{misc/_utils.scss → _utils.scss} +0 -0
- /package/src/scss/{core/interact → interact}/_draggable.scss +0 -0
- /package/src/scss/{core/interact → interact}/_position.scss +0 -0
- /package/src/scss/{core/interact → interact}/_ps-anchor.scss +0 -0
- /package/src/scss/{core/interact → interact}/_ps-centered.scss +0 -0
- /package/src/scss/{core/interact → interact}/_ps-cursor.scss +0 -0
- /package/src/scss/{core/interact → interact}/_ps-draggable.scss +0 -0
- /package/src/scss/{core/interact → interact}/_ps-mechanic.scss +0 -0
- /package/src/scss/{core/interact → interact}/_ps-properties.scss +0 -0
- /package/src/scss/{core/interact → interact}/_ps-resizable.scss +0 -0
- /package/src/scss/{core/interact → interact}/_resizable.scss +0 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fest-lib/veela",
|
|
3
3
|
"description": "fest-lib Veela: CSS tokens, --c2 color functions, Agate.UX, SCSS + runtime loaders",
|
|
4
|
-
"version": "0.1
|
|
4
|
+
"version": "1.0.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"sideEffects": true,
|
|
@@ -38,7 +38,13 @@
|
|
|
38
38
|
"import": "./dist/veela.js",
|
|
39
39
|
"default": "./dist/veela.js"
|
|
40
40
|
},
|
|
41
|
-
"./scss
|
|
41
|
+
"./scss": "./src/scss/index.scss",
|
|
42
|
+
"./scss/core": "./src/scss/core/index.scss",
|
|
43
|
+
"./scss/basic": "./src/scss/basic/index.scss",
|
|
44
|
+
"./scss/interact": "./src/scss/interact/index.scss",
|
|
45
|
+
"./scss/ui": "./src/scss/ui/index.scss",
|
|
46
|
+
"./scss/theme": "./src/scss/theme/index.scss",
|
|
47
|
+
"./scss/native-controls": "./src/scss/ui/native-controls.scss",
|
|
42
48
|
"./package.json": "./package.json",
|
|
43
49
|
"./dist/index.js": "./dist/veela.js",
|
|
44
50
|
"./index.js": "./dist/veela.js"
|
|
@@ -57,6 +63,7 @@
|
|
|
57
63
|
},
|
|
58
64
|
"scripts": {
|
|
59
65
|
"test": "npm run test:puppeteer",
|
|
66
|
+
"test:scss-contracts": "node test/scss-contracts.mjs",
|
|
60
67
|
"test:puppeteer": "node test/puppeteer/run.mjs",
|
|
61
68
|
"test:browser": "npm run demo",
|
|
62
69
|
"dev": "vite --host 0.0.0.0",
|
package/src/scss/_layers.scss
CHANGED
|
@@ -1,42 +1,13 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Filename: _layers.scss
|
|
3
3
|
* FullPath: modules/projects/veela.css/src/scss/_layers.scss
|
|
4
|
+
* FIND:veela-layers
|
|
5
|
+
* TAG:veela,style-lib
|
|
4
6
|
* Reason for changes: One cascade-order registry; include view-transitions before overrides.
|
|
5
7
|
*/
|
|
6
8
|
|
|
7
9
|
/*
|
|
8
|
-
* INVARIANT:
|
|
9
|
-
*
|
|
10
|
-
* competing layer order by importing a second prelude.
|
|
10
|
+
* INVARIANT: this is the only cascade-order registry. Component, view, and
|
|
11
|
+
* shell sheets join one of these layers instead of declaring local preludes.
|
|
11
12
|
*/
|
|
12
|
-
@layer
|
|
13
|
-
ux-normalize,
|
|
14
|
-
tokens,
|
|
15
|
-
ux-tokens,
|
|
16
|
-
base,
|
|
17
|
-
ux-base,
|
|
18
|
-
layout,
|
|
19
|
-
ux-layout,
|
|
20
|
-
shells,
|
|
21
|
-
shell,
|
|
22
|
-
views,
|
|
23
|
-
view,
|
|
24
|
-
viewer,
|
|
25
|
-
components,
|
|
26
|
-
ux-components,
|
|
27
|
-
ux-layer,
|
|
28
|
-
ui-icon,
|
|
29
|
-
ui-icon-reset,
|
|
30
|
-
ux-file-manager,
|
|
31
|
-
ux-file-manager-content,
|
|
32
|
-
utilities,
|
|
33
|
-
ux-utilities,
|
|
34
|
-
theme,
|
|
35
|
-
ux-theme,
|
|
36
|
-
markdown,
|
|
37
|
-
essentials,
|
|
38
|
-
print,
|
|
39
|
-
print-breaks,
|
|
40
|
-
view-transitions,
|
|
41
|
-
overrides,
|
|
42
|
-
ux-overrides;
|
|
13
|
+
@layer tokens, base, layout, components, utilities, theme, overrides, print;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@forward "../layers";
|
|
@@ -563,9 +563,9 @@ $is-windowed: "@container u2-windowed #{$is-not-wide}";
|
|
|
563
563
|
$limit: map.get($map, $size);
|
|
564
564
|
|
|
565
565
|
@if $limit {
|
|
566
|
-
@media (max-
|
|
566
|
+
@media (max-width: $limit) { @content; }
|
|
567
567
|
} @else {
|
|
568
|
-
@media (max-
|
|
568
|
+
@media (max-width: #{$size}) { @content; }
|
|
569
569
|
}
|
|
570
570
|
}
|
|
571
571
|
|
|
@@ -580,9 +580,9 @@ $is-windowed: "@container u2-windowed #{$is-not-wide}";
|
|
|
580
580
|
$limit: map.get($map, $size);
|
|
581
581
|
|
|
582
582
|
@if $limit {
|
|
583
|
-
@media (min-
|
|
583
|
+
@media (min-width: $limit) { @content; }
|
|
584
584
|
} @else {
|
|
585
|
-
@media (min-
|
|
585
|
+
@media (min-width: #{$size}) { @content; }
|
|
586
586
|
}
|
|
587
587
|
}
|
|
588
588
|
|
|
@@ -676,23 +676,23 @@ $is-windowed: "@container u2-windowed #{$is-not-wide}";
|
|
|
676
676
|
|
|
677
677
|
@mixin media-up($breakpoint) {
|
|
678
678
|
@if $breakpoint == sm {
|
|
679
|
-
@media (min-
|
|
679
|
+
@media (min-width: $breakpoint-sm) {
|
|
680
680
|
@content;
|
|
681
681
|
}
|
|
682
682
|
} @else if $breakpoint == md {
|
|
683
|
-
@media (min-
|
|
683
|
+
@media (min-width: $breakpoint-md) {
|
|
684
684
|
@content;
|
|
685
685
|
}
|
|
686
686
|
} @else if $breakpoint == lg {
|
|
687
|
-
@media (min-
|
|
687
|
+
@media (min-width: $breakpoint-lg) {
|
|
688
688
|
@content;
|
|
689
689
|
}
|
|
690
690
|
} @else if $breakpoint == xl {
|
|
691
|
-
@media (min-
|
|
691
|
+
@media (min-width: $breakpoint-xl) {
|
|
692
692
|
@content;
|
|
693
693
|
}
|
|
694
694
|
} @else if $breakpoint == 2xl {
|
|
695
|
-
@media (min-
|
|
695
|
+
@media (min-width: $breakpoint-2xl) {
|
|
696
696
|
@content;
|
|
697
697
|
}
|
|
698
698
|
}
|
|
@@ -701,30 +701,30 @@ $is-windowed: "@container u2-windowed #{$is-not-wide}";
|
|
|
701
701
|
//
|
|
702
702
|
@mixin media-down($breakpoint) {
|
|
703
703
|
@if $breakpoint == sm {
|
|
704
|
-
@media (max-
|
|
704
|
+
@media (max-width: #{$breakpoint-sm - 1px}) {
|
|
705
705
|
@content;
|
|
706
706
|
}
|
|
707
707
|
} @else if $breakpoint == md {
|
|
708
|
-
@media (max-
|
|
708
|
+
@media (max-width: #{$breakpoint-md - 1px}) {
|
|
709
709
|
@content;
|
|
710
710
|
}
|
|
711
711
|
} @else if $breakpoint == lg {
|
|
712
|
-
@media (max-
|
|
712
|
+
@media (max-width: #{$breakpoint-lg - 1px}) {
|
|
713
713
|
@content;
|
|
714
714
|
}
|
|
715
715
|
} @else if $breakpoint == xl {
|
|
716
|
-
@media (max-
|
|
716
|
+
@media (max-width: #{$breakpoint-xl - 1px}) {
|
|
717
717
|
@content;
|
|
718
718
|
}
|
|
719
719
|
} @else if $breakpoint == 2xl {
|
|
720
|
-
@media (max-
|
|
720
|
+
@media (max-width: #{$breakpoint-2xl - 1px}) {
|
|
721
721
|
@content;
|
|
722
722
|
}
|
|
723
723
|
}
|
|
724
724
|
}
|
|
725
725
|
|
|
726
726
|
@mixin media-between($min, $max) {
|
|
727
|
-
@media (min-
|
|
727
|
+
@media (min-width: $min) and (max-width: #{$max - 1px}) {
|
|
728
728
|
@content;
|
|
729
729
|
}
|
|
730
730
|
}
|
|
@@ -1,111 +1,12 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Filename: _normalize.scss
|
|
3
|
-
* FullPath: modules/projects/
|
|
3
|
+
* FullPath: modules/projects/veela.css/src/scss/basic/_normalize.scss
|
|
4
4
|
* Change date and time: 16.25.00_31.07.2026
|
|
5
|
-
* Reason for changes:
|
|
5
|
+
* Reason for changes: Basic consumes the canonical core token emitter.
|
|
6
6
|
*/
|
|
7
7
|
@use "./shared" as *;
|
|
8
|
-
@use "
|
|
9
|
-
|
|
10
|
-
// COMPAT: vl-basic may load without veela _tokens.scss — keep function local.
|
|
11
|
-
@#{"function --u2-color-mod(--base-color <color>, --index <number> : 550) returns <color>"} {
|
|
12
|
-
--i: clamp(0, var(--index), 1000);
|
|
13
|
-
--pivot: 550;
|
|
14
|
-
--white-distance: clamp(0, calc((var(--pivot) - var(--i)) / var(--pivot)), 1);
|
|
15
|
-
--black-distance: clamp(0, calc((var(--i) - var(--pivot)) / (1000 - var(--pivot))), 1);
|
|
16
|
-
--to-white: pow(var(--white-distance), 1.15);
|
|
17
|
-
--to-black: pow(var(--black-distance), 1.08);
|
|
18
|
-
--center-left: clamp(0, calc(var(--i) / var(--pivot)), 1);
|
|
19
|
-
--center-right: clamp(0, calc((1000 - var(--i)) / (1000 - var(--pivot))), 1);
|
|
20
|
-
--chroma-shape: sqrt(min(var(--center-left), var(--center-right)));
|
|
21
|
-
--chroma-scale: calc(0.08 + 0.92 * var(--chroma-shape));
|
|
22
|
-
result: oklch(
|
|
23
|
-
from var(--base-color)
|
|
24
|
-
calc(l + (0.985 - l) * var(--to-white) + (0.16 - l) * var(--to-black))
|
|
25
|
-
calc(c * var(--chroma-scale))
|
|
26
|
-
h
|
|
27
|
-
);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
@layer tokens {
|
|
31
|
-
:where(:root, html) {
|
|
32
|
-
color-scheme: light dark;
|
|
33
|
-
dynamic-range-limit: no-limit;
|
|
34
|
-
/*
|
|
35
|
-
* WHY: vl-basic loads only this runtime sheet; advanced MD3 tokens are not bundled.
|
|
36
|
-
* Body/normalize use var(--color-bg) etc. — without defaults, backgrounds stay transparent
|
|
37
|
-
* and light-dark() in views never resolves meaningfully.
|
|
38
|
-
* Native CSS light-dark() follows the used color-scheme (Theme.ts sets html.style.colorScheme).
|
|
39
|
-
*/
|
|
40
|
-
--color-primary: light-dark(#91b6e3, #2e3a64);
|
|
41
|
-
--base-color: var(--color-primary);
|
|
42
|
-
--color-bg: light-dark(
|
|
43
|
-
--u2-color-mod(var(--base-color), 20),
|
|
44
|
-
--u2-color-mod(var(--base-color), 980)
|
|
45
|
-
);
|
|
46
|
-
--color-text: light-dark(
|
|
47
|
-
--u2-color-mod(var(--base-color), 900),
|
|
48
|
-
--u2-color-mod(var(--base-color), 100)
|
|
49
|
-
);
|
|
50
|
-
--color-fg: var(--color-text);
|
|
51
|
-
--color-bg-secondary: light-dark(
|
|
52
|
-
--u2-color-mod(var(--base-color), 160),
|
|
53
|
-
--u2-color-mod(var(--base-color), 840)
|
|
54
|
-
);
|
|
55
|
-
--color-bg-alt: light-dark(
|
|
56
|
-
--u2-color-mod(var(--base-color), 200),
|
|
57
|
-
--u2-color-mod(var(--base-color), 880)
|
|
58
|
-
);
|
|
59
|
-
--color-text-secondary: light-dark(
|
|
60
|
-
--u2-color-mod(var(--base-color), 700),
|
|
61
|
-
--u2-color-mod(var(--base-color), 280)
|
|
62
|
-
);
|
|
63
|
-
--color-border: light-dark(
|
|
64
|
-
--u2-color-mod(var(--base-color), 300),
|
|
65
|
-
--u2-color-mod(var(--base-color), 640)
|
|
66
|
-
);
|
|
67
|
-
--color-table: light-dark(
|
|
68
|
-
--u2-color-mod(var(--base-color), 120),
|
|
69
|
-
--u2-color-mod(var(--base-color), 860)
|
|
70
|
-
);
|
|
71
|
-
--color-link: var(--color-primary);
|
|
72
|
-
--color-primary-hover: light-dark(
|
|
73
|
-
--u2-color-mod(var(--base-color), 620),
|
|
74
|
-
--u2-color-mod(var(--base-color), 480)
|
|
75
|
-
);
|
|
76
|
-
--color-secondary: light-dark(
|
|
77
|
-
--u2-color-mod(var(--base-color), 420),
|
|
78
|
-
--u2-color-mod(var(--base-color), 680)
|
|
79
|
-
);
|
|
80
|
-
--color-outline: light-dark(
|
|
81
|
-
--u2-color-mod(var(--base-color), 100),
|
|
82
|
-
--u2-color-mod(var(--base-color), 900)
|
|
83
|
-
);
|
|
84
|
-
--color-outline-variant: light-dark(
|
|
85
|
-
--u2-color-mod(var(--base-color), 100),
|
|
86
|
-
--u2-color-mod(var(--base-color), 900)
|
|
87
|
-
);
|
|
88
|
-
--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
89
|
-
--line-height: 1.5;
|
|
90
|
-
--border-radius: 0.5rem;
|
|
91
|
-
tab-size: 4;
|
|
92
|
-
text-size-adjust: 100%;
|
|
93
|
-
interpolate-size: allow-keywords;
|
|
94
|
-
font-size-adjust: from-font;
|
|
95
|
-
font-optical-sizing: auto;
|
|
96
|
-
font-size: 16px;
|
|
97
|
-
line-height: 1.5;
|
|
98
|
-
min-block-size: 0;
|
|
99
|
-
min-inline-size: 0;
|
|
100
|
-
padding: 0;
|
|
101
|
-
margin: 0;
|
|
102
|
-
border: none;
|
|
103
|
-
contain: strict;
|
|
104
|
-
overflow: hidden;
|
|
105
|
-
font-family: var(--font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
|
|
106
|
-
@include stretch-viewport;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
8
|
+
@use "../core/tokens";
|
|
9
|
+
@use "../layers";
|
|
109
10
|
|
|
110
11
|
@layer base {
|
|
111
12
|
@keyframes bottom-to-top {
|
|
@@ -131,6 +32,7 @@
|
|
|
131
32
|
|
|
132
33
|
:where(html) {
|
|
133
34
|
-webkit-text-size-adjust: 100%;
|
|
35
|
+
tab-size: 4;
|
|
134
36
|
font-size-adjust: from-font;
|
|
135
37
|
font-optical-sizing: auto;
|
|
136
38
|
-webkit-font-smoothing: antialiased;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@use "./shared" as *;
|
|
2
2
|
|
|
3
3
|
//
|
|
4
|
-
@layer
|
|
4
|
+
@layer base {
|
|
5
5
|
//
|
|
6
6
|
*[data-hidden]:not([data-hidden="false"]):not([data-opacity-animation]) {
|
|
7
7
|
&, * {
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
//
|
|
107
|
-
@layer
|
|
107
|
+
@layer base {
|
|
108
108
|
//
|
|
109
109
|
*[data-hidden]:not([data-hidden="false"]):not([data-opacity-animation]) {
|
|
110
110
|
&, * {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
@use "
|
|
2
|
-
@use "
|
|
3
|
-
@use "
|
|
1
|
+
@use "../core/mixins" as *;
|
|
2
|
+
@use "../core/functions" as cfg;
|
|
3
|
+
@use "./layout" as ux;
|
|
4
4
|
@use "../interact/position" as *;
|
|
5
5
|
@use "../interact/ps-anchor" as *;
|
|
6
6
|
@use "../interact/ps-cursor" as *;
|
|
@@ -849,7 +849,7 @@
|
|
|
849
849
|
@property --icon-image { syntax: "<image>"; initial-value: linear-gradient(#0000, #0000); inherits: true; };
|
|
850
850
|
|
|
851
851
|
//
|
|
852
|
-
@layer
|
|
852
|
+
@layer utilities {
|
|
853
853
|
@include ux.host-related(".grid-rows", "::slotted(*)") { @include ux.grid-row; }
|
|
854
854
|
@include ux.host-related(".grid-rows", "*") { @include ux.grid-row; }
|
|
855
855
|
@include ux.host-context(".grid-rows") {
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* Shared foundation styles for all veela variants.
|
|
6
|
-
* This module provides:
|
|
7
|
-
* - CSS layer definitions
|
|
8
|
-
* - Normalize/reset styles
|
|
9
|
-
* - Core layout utilities
|
|
10
|
-
* - Base tokens and properties
|
|
11
|
-
* - Essential state management
|
|
12
|
-
*
|
|
13
|
-
* Inherited by: basic, advanced, beercss
|
|
1
|
+
/*
|
|
2
|
+
* Filename: index.scss
|
|
3
|
+
* FullPath: modules/projects/veela.css/src/scss/basic/index.scss
|
|
4
|
+
* Reason for changes: Flatten base styles and remove the legacy misc facade.
|
|
14
5
|
*/
|
|
15
6
|
|
|
16
|
-
@
|
|
17
|
-
@
|
|
18
|
-
|
|
7
|
+
@forward "./motion";
|
|
8
|
+
@forward "./queries";
|
|
9
|
+
|
|
10
|
+
@use "../layers";
|
|
11
|
+
@use "./normalize";
|
|
12
|
+
@use "./core-layout";
|
|
13
|
+
@use "./shared";
|
|
14
|
+
@use "./states";
|
|
15
|
+
@use "./utilities";
|
|
16
|
+
@use "./design";
|
|
19
17
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Filename: _color-mod.scss
|
|
3
|
+
* FullPath: modules/projects/veela.css/src/scss/core/_color-mod.scss
|
|
4
|
+
* Reason for changes: Single source for the custom color modulation function.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
@#{"function --u2-color-mod(--base-color <color>, --index <number> : 550) returns <color>"} {
|
|
8
|
+
--i: clamp(0, var(--index), 1000);
|
|
9
|
+
--pivot: 550;
|
|
10
|
+
--white-distance: clamp(0, calc((var(--pivot) - var(--i)) / var(--pivot)), 1);
|
|
11
|
+
--black-distance: clamp(0, calc((var(--i) - var(--pivot)) / (1000 - var(--pivot))), 1);
|
|
12
|
+
--to-white: pow(var(--white-distance), 1.15);
|
|
13
|
+
--to-black: pow(var(--black-distance), 1.08);
|
|
14
|
+
--center-left: clamp(0, calc(var(--i) / var(--pivot)), 1);
|
|
15
|
+
--center-right: clamp(0, calc((1000 - var(--i)) / (1000 - var(--pivot))), 1);
|
|
16
|
+
--chroma-shape: sqrt(min(var(--center-left), var(--center-right)));
|
|
17
|
+
--chroma-scale: calc(0.08 + 0.92 * var(--chroma-shape));
|
|
18
|
+
result: oklch(
|
|
19
|
+
from var(--base-color)
|
|
20
|
+
calc(l + (0.985 - l) * var(--to-white) + (0.16 - l) * var(--to-black))
|
|
21
|
+
calc(c * var(--chroma-scale))
|
|
22
|
+
h
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Filename: _color-properties.scss
|
|
3
|
-
* FullPath: modules/projects/veela.css/src/scss/core/
|
|
3
|
+
* FullPath: modules/projects/veela.css/src/scss/core/_color-properties.scss
|
|
4
4
|
* Change date and time: 15.50.00_22.08.2026
|
|
5
5
|
* Reason for changes: Seed initial-value is the desktop cyan-blue fallback (#5a9ec8).
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Filename: _tokens.scss
|
|
3
|
-
* FullPath: modules/projects/veela.css/src/scss/core/
|
|
3
|
+
* FullPath: modules/projects/veela.css/src/scss/core/_tokens.scss
|
|
4
4
|
* Change date and time: 22.30.00_22.08.2026
|
|
5
5
|
* Reason for changes: Light/dark primary-container so Start plates and chrome ink flip.
|
|
6
6
|
*/
|
|
@@ -8,24 +8,16 @@
|
|
|
8
8
|
/*
|
|
9
9
|
* INVARIANT: This is the canonical color-token registry for the full veela bundle.
|
|
10
10
|
* All color token DEFAULTS live here on `:root, :host, :scope`.
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
13
|
-
* per-bundle SCSS alias shims (no CSS output) for the lightweight vl-basic / advanced
|
|
14
|
-
* bundles; they MUST NOT `@forward` this file (would pull the full `@layer tokens`
|
|
15
|
-
* CSS into those bundles and break their size semantics).
|
|
16
|
-
* - `basic/misc/_normalize.scss` carries a documented vl-basic fallback palette for
|
|
17
|
-
* standalone vl-basic loading (no advanced MD3 tokens bundled).
|
|
18
|
-
* - The advanced MD3/C2 system (`advanced/tokens/_variables.scss`, `_color.scss`,
|
|
19
|
-
* `_shadow.scss`) keeps its mixin/function definitions in place (depends on
|
|
20
|
-
* `veela-lib`); color-token EMISSION for that system is invoked from here where
|
|
21
|
-
* safe, otherwise remains in its layer with a pointer comment.
|
|
11
|
+
* - The core entry-point owns every default; basic and theme modules consume it.
|
|
12
|
+
* - Component/shell/view styles may only provide scoped semantic aliases.
|
|
22
13
|
* - Component/shell/view files keep only context overrides and shadow-DOM
|
|
23
14
|
* `var(--token, light-dark(...))` fallbacks; they never redefine a canonical default.
|
|
24
15
|
*/
|
|
25
16
|
|
|
26
17
|
@use "./config" as config;
|
|
27
18
|
@use "./color-properties";
|
|
28
|
-
@use "
|
|
19
|
+
@use "./color-mod";
|
|
20
|
+
@use "../layers";
|
|
29
21
|
|
|
30
22
|
// Design tokens: SCSS aliases for CSS custom properties
|
|
31
23
|
// Keep aliases small and meaningful to encourage reuse
|
|
@@ -90,85 +82,6 @@ $scrollbar-tint: var(--scrollbar-tint, 86%);
|
|
|
90
82
|
$z-modal-backdrop: var(--z-modal-backdrop);
|
|
91
83
|
$z-modal: var(--z-modal);
|
|
92
84
|
|
|
93
|
-
// use native custom CSS function syntax
|
|
94
|
-
@#{"function --u2-color-mod(--base-color <color>, --index <number> : 550) returns <color>"} {
|
|
95
|
-
/* Ограничиваем индекс */
|
|
96
|
-
--i: clamp(0, var(--index), 1000);
|
|
97
|
-
|
|
98
|
-
/* Переданный цвет считается оттенком 550 */
|
|
99
|
-
--pivot: 550;
|
|
100
|
-
|
|
101
|
-
/* Расстояние от базового цвета к белой и чёрной границам */
|
|
102
|
-
--white-distance:
|
|
103
|
-
clamp(
|
|
104
|
-
0,
|
|
105
|
-
calc((var(--pivot) - var(--i)) / var(--pivot)),
|
|
106
|
-
1
|
|
107
|
-
);
|
|
108
|
-
|
|
109
|
-
--black-distance:
|
|
110
|
-
clamp(
|
|
111
|
-
0,
|
|
112
|
-
calc(
|
|
113
|
-
(var(--i) - var(--pivot)) /
|
|
114
|
-
(1000 - var(--pivot))
|
|
115
|
-
),
|
|
116
|
-
1
|
|
117
|
-
);
|
|
118
|
-
|
|
119
|
-
/*
|
|
120
|
-
* Нелинейное изменение светлоты:
|
|
121
|
-
* близкие к 550 оттенки меньше отличаются от базового.
|
|
122
|
-
*/
|
|
123
|
-
--to-white: pow(var(--white-distance), 1.15);
|
|
124
|
-
--to-black: pow(var(--black-distance), 1.08);
|
|
125
|
-
|
|
126
|
-
/*
|
|
127
|
-
* Цветность максимальна около 550
|
|
128
|
-
* и плавно снижается к обоим краям.
|
|
129
|
-
*/
|
|
130
|
-
--center-left:
|
|
131
|
-
clamp(0, calc(var(--i) / var(--pivot)), 1);
|
|
132
|
-
|
|
133
|
-
--center-right:
|
|
134
|
-
clamp(
|
|
135
|
-
0,
|
|
136
|
-
calc(
|
|
137
|
-
(1000 - var(--i)) /
|
|
138
|
-
(1000 - var(--pivot))
|
|
139
|
-
),
|
|
140
|
-
1
|
|
141
|
-
);
|
|
142
|
-
|
|
143
|
-
--chroma-shape:
|
|
144
|
-
sqrt(min(var(--center-left), var(--center-right)));
|
|
145
|
-
|
|
146
|
-
/*
|
|
147
|
-
* На краях остаётся 8% исходной цветности:
|
|
148
|
-
* получается почти белый/чёрный, но с оттенком base-color.
|
|
149
|
-
*/
|
|
150
|
-
--chroma-scale:
|
|
151
|
-
calc(0.08 + 0.92 * var(--chroma-shape));
|
|
152
|
-
|
|
153
|
-
result:
|
|
154
|
-
oklch(
|
|
155
|
-
from var(--base-color)
|
|
156
|
-
|
|
157
|
-
/* 98.5% около белого, 16% около чёрного */
|
|
158
|
-
calc(
|
|
159
|
-
l
|
|
160
|
-
+ (0.985 - l) * var(--to-white)
|
|
161
|
-
+ (0.16 - l) * var(--to-black)
|
|
162
|
-
)
|
|
163
|
-
|
|
164
|
-
calc(c * var(--chroma-scale))
|
|
165
|
-
|
|
166
|
-
h
|
|
167
|
-
);
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
85
|
/* ==========================================================================
|
|
173
86
|
Meta / Declarations
|
|
174
87
|
========================================================================== */
|
|
@@ -593,6 +506,7 @@ $selectors: $md-roots;
|
|
|
593
506
|
--gap-lg: var(--space-lg);
|
|
594
507
|
--gap-xl: var(--space-xl);
|
|
595
508
|
--gap-2xl: var(--space-2xl);
|
|
509
|
+
--fl-ui-gap: var(--space-md);
|
|
596
510
|
|
|
597
511
|
/*
|
|
598
512
|
* Shape scale — M3 Expressive / Android 16–17 (dp≈rem at 16px).
|
|
@@ -609,6 +523,8 @@ $selectors: $md-roots;
|
|
|
609
523
|
--radius-2xl: 1.75rem;
|
|
610
524
|
--radius-3xl: 2rem;
|
|
611
525
|
--radius-full: 9999px;
|
|
526
|
+
--fl-ui-radius: var(--radius-md);
|
|
527
|
+
--border-radius: var(--radius-md);
|
|
612
528
|
--shape-extra-small: var(--radius-xs);
|
|
613
529
|
--shape-small: var(--radius-md);
|
|
614
530
|
--shape-medium: var(--radius-lg);
|
|
@@ -660,7 +576,7 @@ $selectors: $md-roots;
|
|
|
660
576
|
--ui-explorer-icon-size: 1.5rem;
|
|
661
577
|
--ui-explorer-icon-track: 2rem;
|
|
662
578
|
--ui-explorer-action-icon-size: 1.15rem;
|
|
663
|
-
--ui-explorer-row-height:
|
|
579
|
+
--ui-explorer-row-height: 3.25rem;
|
|
664
580
|
--icon-size-sm: var(--ui-icon-size);
|
|
665
581
|
--icon-size-md: var(--ui-icon-size);
|
|
666
582
|
--icon-size-lg: var(--ui-explorer-icon-size);
|
|
@@ -685,6 +601,7 @@ $selectors: $md-roots;
|
|
|
685
601
|
--leading-tight: 1.2;
|
|
686
602
|
--leading-normal: 1.5;
|
|
687
603
|
--leading-relaxed: 1.8;
|
|
604
|
+
--line-height: var(--leading-normal);
|
|
688
605
|
|
|
689
606
|
--ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
|
|
690
607
|
--ease-expressive: cubic-bezier(0.34, 1.25, 0.64, 1);
|
package/src/scss/core/index.scss
CHANGED
|
@@ -1 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Filename: index.scss
|
|
3
|
+
* FullPath: modules/projects/veela.css/src/scss/core/index.scss
|
|
4
|
+
* Reason for changes: Flatten the core SCSS surface behind one canonical entry.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
@forward "./config";
|
|
8
|
+
@forward "./functions";
|
|
9
|
+
@forward "./mixins";
|
|
10
|
+
@forward "./properties";
|
|
11
|
+
@forward "./tokens";
|
|
12
|
+
@forward "./icons";
|
|
13
|
+
@forward "../interact";
|
package/src/scss/index.scss
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/*
|
|
2
|
+
* FIND:veela-scss
|
|
3
|
+
* TAG:veela
|
|
4
|
+
* WHY: One style library. Trees: core (tokens/mixins), basic (normalize),
|
|
5
|
+
* interact (via core/interact), ui (chrome; also fl.ui/styles/ui symlink).
|
|
6
|
+
* Do not @forward ./ui here — vl-basic must stay a small foundation bundle.
|
|
7
|
+
*/
|
|
3
8
|
@forward "./core";
|
|
4
9
|
@forward "./basic" hide
|
|
5
10
|
aspect-ratio,
|
package/src/scss/index.ts
CHANGED
|
@@ -43,7 +43,7 @@ let _loadedVariant: VeelaVariant | null = null;
|
|
|
43
43
|
// ============================================================================
|
|
44
44
|
|
|
45
45
|
import { loadBasicStyles } from "./basic/index";
|
|
46
|
-
import { loadAdvancedStyles } from "./
|
|
46
|
+
import { loadAdvancedStyles } from "./theme/loader";
|
|
47
47
|
|
|
48
48
|
// ============================================================================
|
|
49
49
|
// UNIFIED LOADER
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Filename: index.scss
|
|
3
|
+
* FullPath: modules/projects/veela.css/src/scss/interact/index.scss
|
|
4
|
+
* Reason for changes: Curated public interaction entry-point.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
@use "../layers";
|
|
8
|
+
|
|
9
|
+
@forward "./position";
|
|
10
|
+
@forward "./viewport";
|
|
11
|
+
@forward "./draggable";
|
|
12
|
+
@forward "./resizable";
|
|
13
|
+
@forward "./ps-anchor";
|
|
14
|
+
@forward "./ps-centered";
|
|
15
|
+
@forward "./ps-cursor";
|
|
16
|
+
@forward "./ps-draggable";
|
|
17
|
+
@forward "./ps-properties";
|
|
18
|
+
@forward "./ps-resizable";
|