@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
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
@use "sass:list";
|
|
2
|
-
@use "sass:map";
|
|
3
|
-
@use "sass:math";
|
|
4
|
-
@use "sass:meta";
|
|
5
|
-
@use "sass:string";
|
|
6
|
-
|
|
7
|
-
//
|
|
8
|
-
@use "utils" as _;
|
|
9
|
-
|
|
10
|
-
//
|
|
11
|
-
// Motion durations
|
|
12
|
-
$md3-motion-durations: (
|
|
13
|
-
fast: 120ms,
|
|
14
|
-
normal: 160ms,
|
|
15
|
-
slow: 220ms,
|
|
16
|
-
long: 320ms,
|
|
17
|
-
extra-long: 420ms,
|
|
18
|
-
);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
//
|
|
22
|
-
// Motion easing
|
|
23
|
-
$md3-motion-easing: (
|
|
24
|
-
standard: cubic-bezier(0.4, 0, 0.2, 1),
|
|
25
|
-
emphasized: cubic-bezier(0.2, 0, 0, 1),
|
|
26
|
-
decelerate: cubic-bezier(0, 0, 0.2, 1),
|
|
27
|
-
accelerate: cubic-bezier(0.4, 0, 1, 1),
|
|
28
|
-
bounce: cubic-bezier(0.34, 1.56, 0.64, 1),
|
|
29
|
-
);
|
|
30
|
-
|
|
31
|
-
$md3-easing-aliases: (
|
|
32
|
-
out: standard,
|
|
33
|
-
"in-out": decelerate,
|
|
34
|
-
"in": accelerate,
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
$md3-transition-definitions: (
|
|
38
|
-
colors: (
|
|
39
|
-
properties: (color, background-color, border-color),
|
|
40
|
-
duration: normal,
|
|
41
|
-
easing: out,
|
|
42
|
-
),
|
|
43
|
-
transform: (
|
|
44
|
-
properties: transform,
|
|
45
|
-
duration: slow,
|
|
46
|
-
easing: "in-out",
|
|
47
|
-
),
|
|
48
|
-
opacity: (
|
|
49
|
-
properties: opacity,
|
|
50
|
-
duration: fast,
|
|
51
|
-
easing: out,
|
|
52
|
-
),
|
|
53
|
-
all: (
|
|
54
|
-
properties: all,
|
|
55
|
-
duration: normal,
|
|
56
|
-
easing: out,
|
|
57
|
-
),
|
|
58
|
-
);
|
|
59
|
-
|
|
60
|
-
$md3-transition-aliases: (
|
|
61
|
-
fast: opacity,
|
|
62
|
-
normal: colors,
|
|
63
|
-
slow: transform,
|
|
64
|
-
);
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
//
|
|
68
|
-
// Easing function
|
|
69
|
-
@function md3-easing($token: standard) {
|
|
70
|
-
@return _.md3-fetch($md3-motion-easing, $token, "easing token");
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
//
|
|
75
|
-
// Duration function
|
|
76
|
-
@function md3-duration($token: normal) {
|
|
77
|
-
@return _.md3-fetch($md3-motion-durations, $token, "duration token");
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
//
|
|
81
|
-
// Motion helper functions
|
|
82
|
-
@function duration-var($token: normal) {
|
|
83
|
-
$value: _.md3-fetch($md3-motion-durations, $token, "duration token");
|
|
84
|
-
@return var(--duration-#{$token}, #{$value});
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
@function easing-var($token: standard) {
|
|
88
|
-
@if map.has-key($md3-motion-easing, $token) {
|
|
89
|
-
$value: _.md3-fetch($md3-motion-easing, $token, "easing token");
|
|
90
|
-
@return var(--ease-#{$token}, #{$value});
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
@if map.has-key($md3-easing-aliases, $token) {
|
|
94
|
-
$resolved: map.get($md3-easing-aliases, $token);
|
|
95
|
-
$value: _.md3-fetch($md3-motion-easing, $resolved, "easing token");
|
|
96
|
-
@return var(--ease-#{$token}, var(--ease-#{$resolved}, #{$value}));
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
@error "Unknown easing token `#{$token}`.";
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
@function _transition-props($properties) {
|
|
103
|
-
@return sass(if(sass(meta.type-of($properties) == "list"): list.join($properties, ", "); else: $properties));
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
@function _transition-definition($config) {
|
|
107
|
-
$properties: map.get($config, properties);
|
|
108
|
-
$duration-token: map.get($config, duration);
|
|
109
|
-
$easing-token: map.get($config, easing);
|
|
110
|
-
$delay: map.get($config, delay);
|
|
111
|
-
|
|
112
|
-
@if $properties == null {
|
|
113
|
-
$properties: all;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
@if $duration-token == null {
|
|
117
|
-
$duration-token: normal;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
@if $easing-token == null {
|
|
121
|
-
$easing-token: standard;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
$sequence: ();
|
|
125
|
-
$sequence: list.append($sequence, _transition-props($properties), "space");
|
|
126
|
-
$sequence: list.append($sequence, duration-var($duration-token), "space");
|
|
127
|
-
$sequence: list.append($sequence, easing-var($easing-token), "space");
|
|
128
|
-
|
|
129
|
-
@if $delay != null {
|
|
130
|
-
$sequence: list.append($sequence, $delay, "space");
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
@return list.join($sequence, " ");
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
@mixin _export-duration-vars($durations) {
|
|
137
|
-
@each $token, $value in $durations {
|
|
138
|
-
--md3-duration-#{$token}: #{$value};
|
|
139
|
-
@if $token != fast and $token != normal and $token != slow {
|
|
140
|
-
--duration-#{$token}: #{$value};
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
@mixin _export-easing-vars($easing, $aliases) {
|
|
146
|
-
@each $token, $value in $easing {
|
|
147
|
-
--ease-#{$token}: #{$value};
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
@each $alias, $target in $aliases {
|
|
151
|
-
@if map.has-key($easing, $target) {
|
|
152
|
-
--ease-#{$alias}: var(--ease-#{$target});
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
@mixin _export-transition-vars($definitions, $aliases) {
|
|
158
|
-
@each $name, $config in $definitions {
|
|
159
|
-
--md3-transition-#{$name}: #{_transition-definition($config)};
|
|
160
|
-
@if $name != fast and $name != normal and $name != slow {
|
|
161
|
-
--transition-#{$name}: #{_transition-definition($config)};
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
@each $alias, $target in $aliases {
|
|
166
|
-
@if $alias != fast and $alias != normal and $alias != slow and map.has-key($definitions, $target) {
|
|
167
|
-
--transition-#{$alias}: var(--transition-#{$target});
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
//
|
|
173
|
-
// Transition variables
|
|
174
|
-
$transition-fast: md3-duration(fast);
|
|
175
|
-
$transition-base: md3-duration(normal);
|
|
176
|
-
$transition-slow: md3-duration(slow);
|
|
177
|
-
$transition-bounce: md3-easing(bounce);
|
|
178
|
-
|
|
179
|
-
//
|
|
180
|
-
// UI duration variables
|
|
181
|
-
$ui-duration-fast: md3-duration(fast) !default;
|
|
182
|
-
$ui-duration-standard: md3-duration(normal) !default;
|
|
183
|
-
$ui-ease-standard: md3-easing(standard) !default;
|
|
184
|
-
|
|
185
|
-
//
|
|
186
|
-
// Export motion vars mixin
|
|
187
|
-
@mixin md3-export-motion-vars(
|
|
188
|
-
$durations: $md3-motion-durations,
|
|
189
|
-
$easing: $md3-motion-easing,
|
|
190
|
-
$easing-aliases: $md3-easing-aliases,
|
|
191
|
-
$transition-definitions: $md3-transition-definitions,
|
|
192
|
-
$transition-aliases: $md3-transition-aliases
|
|
193
|
-
) {
|
|
194
|
-
// =============================================================================
|
|
195
|
-
// ANIMATIONS & TRANSITIONS
|
|
196
|
-
// =============================================================================
|
|
197
|
-
|
|
198
|
-
@include _export-duration-vars($durations);
|
|
199
|
-
@include _export-easing-vars($easing, $easing-aliases);
|
|
200
|
-
@include _export-transition-vars($transition-definitions, $transition-aliases);
|
|
201
|
-
|
|
202
|
-
--transition-delay: 0s;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
//
|
|
206
|
-
// Motion animation mixin
|
|
207
|
-
@mixin motion-animation(
|
|
208
|
-
$name,
|
|
209
|
-
$duration: duration-var(normal),
|
|
210
|
-
$timing: easing-var(out),
|
|
211
|
-
$delay: null,
|
|
212
|
-
$fill: null,
|
|
213
|
-
$iteration: null,
|
|
214
|
-
$direction: null,
|
|
215
|
-
$state: null
|
|
216
|
-
) {
|
|
217
|
-
$sequence: ($name, $duration, $timing);
|
|
218
|
-
|
|
219
|
-
@if $delay != null {
|
|
220
|
-
$sequence: list.append($sequence, $delay, "space");
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
@if $iteration != null {
|
|
224
|
-
$sequence: list.append($sequence, $iteration, "space");
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
@if $direction != null {
|
|
228
|
-
$sequence: list.append($sequence, $direction, "space");
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
@if $fill != null {
|
|
232
|
-
$sequence: list.append($sequence, $fill, "space");
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
@if $state != null {
|
|
236
|
-
$sequence: list.append($sequence, $state, "space");
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
animation: $sequence;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
//
|
|
243
|
-
// Fade in mixin
|
|
244
|
-
@mixin fade-in($duration: duration-var(normal), $timing: easing-var(out), $delay: null, $fill: null, $iteration: null, $direction: null, $state: null) {
|
|
245
|
-
@include motion-animation(fade-in, $duration, $timing, $delay, $fill, $iteration, $direction, $state);
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
//
|
|
249
|
-
// Slide up mixin
|
|
250
|
-
@mixin slide-up($duration: duration-var(normal), $timing: easing-var(out), $delay: null, $fill: null, $iteration: null, $direction: null, $state: null) {
|
|
251
|
-
@include motion-animation(slide-up, $duration, $timing, $delay, $fill, $iteration, $direction, $state);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
//
|
|
255
|
-
// Scale in mixin
|
|
256
|
-
@mixin scale-in($duration: duration-var(fast), $timing: easing-var(bounce), $delay: null, $fill: null, $iteration: null, $direction: null, $state: null) {
|
|
257
|
-
@include motion-animation(scale-in, $duration, $timing, $delay, $fill, $iteration, $direction, $state);
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
//
|
|
261
|
-
// Focus ring mixin
|
|
262
|
-
@mixin focus-ring($tint: var(--outline-tint), $thickness: 2px, $offset: 2px) {
|
|
263
|
-
&:focus-visible {
|
|
264
|
-
outline: $thickness solid oklch(
|
|
265
|
-
from --c2-on-surface(
|
|
266
|
-
$tint,
|
|
267
|
-
var(--current, var(--color-on-surface, var(--md-on-surface, #1c1b1f)))
|
|
268
|
-
) l c h / var(--outline-opacity)
|
|
269
|
-
);
|
|
270
|
-
outline-offset: $offset;
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
//
|
|
275
|
-
// Reduced motion mixin
|
|
276
|
-
@mixin reduced-motion($preference: reduce) {
|
|
277
|
-
@media (prefers-reduced-motion: #{$preference}) {
|
|
278
|
-
@content;
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
//
|
|
283
|
-
// High contrast mixin
|
|
284
|
-
@mixin high-contrast($preference: more) {
|
|
285
|
-
@media (prefers-contrast: #{$preference}) {
|
|
286
|
-
@content;
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
//
|
|
291
|
-
// Transition mixin
|
|
292
|
-
@mixin transition($properties: all, $duration: null, $timing: null, $delay: null) {
|
|
293
|
-
& {
|
|
294
|
-
$prop-list: _transition-props($properties);
|
|
295
|
-
--transition-props: #{$prop-list};
|
|
296
|
-
|
|
297
|
-
@if $duration != null {
|
|
298
|
-
@if map.has-key($md3-motion-durations, $duration) {
|
|
299
|
-
--transition-duration: #{duration-var($duration)};
|
|
300
|
-
} @else {
|
|
301
|
-
--transition-duration: #{$duration};
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
@if $timing != null {
|
|
306
|
-
@if map.has-key($md3-motion-easing, $timing) or map.has-key($md3-easing-aliases, $timing) {
|
|
307
|
-
--transition-timing: #{easing-var($timing)};
|
|
308
|
-
} @else {
|
|
309
|
-
--transition-timing: #{$timing};
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
@if $delay != null {
|
|
314
|
-
--transition-delay: #{$delay};
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
transition:
|
|
318
|
-
var(--transition-props)
|
|
319
|
-
var(--transition-duration, #{duration-var(normal)})
|
|
320
|
-
var(--transition-timing, #{easing-var(out)})
|
|
321
|
-
var(--transition-delay, 0s);
|
|
322
|
-
}
|
|
323
|
-
}
|
|
@@ -1,328 +0,0 @@
|
|
|
1
|
-
@use "sass:list";
|
|
2
|
-
@use "sass:map";
|
|
3
|
-
@use "sass:math";
|
|
4
|
-
@use "sass:meta";
|
|
5
|
-
@use "sass:string";
|
|
6
|
-
|
|
7
|
-
//
|
|
8
|
-
@use "utils" as _;
|
|
9
|
-
|
|
10
|
-
//
|
|
11
|
-
// Surface role map
|
|
12
|
-
$md3-surface-role-map: (
|
|
13
|
-
primary: on-primary,
|
|
14
|
-
primary-container: on-primary-container,
|
|
15
|
-
primary-fixed: on-primary-fixed,
|
|
16
|
-
primary-fixed-dim: on-primary-fixed,
|
|
17
|
-
secondary: on-secondary,
|
|
18
|
-
secondary-container: on-secondary-container,
|
|
19
|
-
secondary-fixed: on-secondary-fixed,
|
|
20
|
-
secondary-fixed-dim: on-secondary-fixed,
|
|
21
|
-
tertiary: on-tertiary,
|
|
22
|
-
tertiary-container: on-tertiary-container,
|
|
23
|
-
tertiary-fixed: on-tertiary-fixed,
|
|
24
|
-
tertiary-fixed-dim: on-tertiary-fixed,
|
|
25
|
-
error: on-error,
|
|
26
|
-
error-container: on-error-container,
|
|
27
|
-
surface: on-surface,
|
|
28
|
-
surface-dim: on-surface,
|
|
29
|
-
surface-bright: on-surface,
|
|
30
|
-
surface-variant: on-surface-variant,
|
|
31
|
-
surface-container-lowest: on-surface,
|
|
32
|
-
surface-container-low: on-surface,
|
|
33
|
-
surface-container: on-surface,
|
|
34
|
-
surface-container-high: on-surface,
|
|
35
|
-
surface-container-highest: on-surface,
|
|
36
|
-
background: on-background,
|
|
37
|
-
inverse-surface: inverse-on-surface,
|
|
38
|
-
outline: on-surface,
|
|
39
|
-
outline-variant: on-surface,
|
|
40
|
-
surface-tint: on-surface,
|
|
41
|
-
);
|
|
42
|
-
|
|
43
|
-
//
|
|
44
|
-
// State opacity
|
|
45
|
-
$md3-state-opacity: (
|
|
46
|
-
hover: 0.08,
|
|
47
|
-
focus: 0.12,
|
|
48
|
-
focus-visible: 0.12,
|
|
49
|
-
focus-ring: 0.22,
|
|
50
|
-
press: 0.12,
|
|
51
|
-
drag: 0.16,
|
|
52
|
-
selected: 0.16,
|
|
53
|
-
disabled: 0.38,
|
|
54
|
-
icon: 0.54,
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
//
|
|
58
|
-
// State function
|
|
59
|
-
@function md3-state($state) {
|
|
60
|
-
@return _.md3-fetch($md3-state-opacity, $state, "state");
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
//
|
|
64
|
-
// Variable function
|
|
65
|
-
@function md3-var($role) {
|
|
66
|
-
@return "--md-#{$role}";
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
//
|
|
70
|
-
// Material role map
|
|
71
|
-
$material-role-map: (
|
|
72
|
-
primary: "--md-sys-color-primary",
|
|
73
|
-
on-primary: "--md-sys-color-on-primary",
|
|
74
|
-
primary-container: "--md-sys-color-primary-container",
|
|
75
|
-
on-primary-container: "--md-sys-color-on-primary-container",
|
|
76
|
-
secondary: "--md-sys-color-secondary",
|
|
77
|
-
on-secondary: "--md-sys-color-on-secondary",
|
|
78
|
-
secondary-container: "--md-sys-color-secondary-container",
|
|
79
|
-
on-secondary-container: "--md-sys-color-on-secondary-container",
|
|
80
|
-
tertiary: "--md-sys-color-tertiary",
|
|
81
|
-
on-tertiary: "--md-sys-color-on-tertiary",
|
|
82
|
-
tertiary-container: "--md-sys-color-tertiary-container",
|
|
83
|
-
on-tertiary-container: "--md-sys-color-on-tertiary-container",
|
|
84
|
-
error: "--md-sys-color-error",
|
|
85
|
-
on-error: "--md-sys-color-on-error",
|
|
86
|
-
error-container: "--md-sys-color-error-container",
|
|
87
|
-
on-error-container: "--md-sys-color-on-error-container",
|
|
88
|
-
surface: "--md-sys-color-surface",
|
|
89
|
-
on-surface: "--md-sys-color-on-surface",
|
|
90
|
-
surface-variant: "--md-sys-color-surface-variant",
|
|
91
|
-
on-surface-variant: "--md-sys-color-on-surface-variant",
|
|
92
|
-
outline: "--md-sys-color-outline",
|
|
93
|
-
outline-variant: "--md-sys-color-outline-variant",
|
|
94
|
-
background: "--md-sys-color-background",
|
|
95
|
-
on-background: "--md-sys-color-on-background",
|
|
96
|
-
inverse-surface: "--md-sys-color-inverse-surface",
|
|
97
|
-
inverse-on-surface: "--md-sys-color-inverse-on-surface",
|
|
98
|
-
inverse-primary: "--md-sys-color-inverse-primary",
|
|
99
|
-
surface-tint: "--md-sys-color-surface-tint",
|
|
100
|
-
);
|
|
101
|
-
|
|
102
|
-
//
|
|
103
|
-
// Material mode suffix
|
|
104
|
-
$material-mode-suffix: (
|
|
105
|
-
light: "",
|
|
106
|
-
dark: "-dark",
|
|
107
|
-
);
|
|
108
|
-
|
|
109
|
-
//
|
|
110
|
-
// Helpers
|
|
111
|
-
@function md3-tone-scale($factor, $direction: "--interaction-tone-direction") {
|
|
112
|
-
@return calc(#{$factor} * var(#{$direction}, 1));
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
@function md3-shadow-mix($base-property, $weight, $shadow-property: "--md-shadow") {
|
|
116
|
-
$base-weight: math.percentage($weight);
|
|
117
|
-
$shadow-weight: math.percentage(1 - $weight);
|
|
118
|
-
|
|
119
|
-
@return color-mix(in oklch, var(#{$base-property}) #{$base-weight}, var(#{$shadow-property}) #{$shadow-weight});
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
@function md3-resolve($overrides, $property, $fallback) {
|
|
123
|
-
@if meta.type-of($overrides) == "map" and map.has-key($overrides, $property) {
|
|
124
|
-
@return map.get($overrides, $property);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
@return $fallback;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
@mixin md3-emit-properties($properties, $overrides) {
|
|
131
|
-
@each $property, $value in $properties {
|
|
132
|
-
#{$property}: #{md3-resolve($overrides, $property, $value)};
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
//
|
|
137
|
-
// Layer variables
|
|
138
|
-
$md3-backdrop-filters: (
|
|
139
|
-
"--backdrop-blur-subtle": blur(6px) saturate(110%),
|
|
140
|
-
"--backdrop-blur-default": blur(12px) saturate(120%),
|
|
141
|
-
"--backdrop-blur-strong": blur(18px) saturate(140%),
|
|
142
|
-
);
|
|
143
|
-
|
|
144
|
-
$md3-surface-opacity-levels: (
|
|
145
|
-
"--surface-opacity-subtle": 0.02,
|
|
146
|
-
"--surface-opacity-muted": 0.04,
|
|
147
|
-
"--surface-opacity-default": 0.08,
|
|
148
|
-
"--surface-opacity-emphasis": 0.12,
|
|
149
|
-
"--surface-opacity-strong": 0.16,
|
|
150
|
-
);
|
|
151
|
-
|
|
152
|
-
$md3-contrast-opacity-levels: (
|
|
153
|
-
"--contrast-opacity-subtle": 0.04,
|
|
154
|
-
"--contrast-opacity-muted": 0.08,
|
|
155
|
-
"--contrast-opacity-default": 0.12,
|
|
156
|
-
"--contrast-opacity-emphasis": 0.16,
|
|
157
|
-
"--contrast-opacity-strong": 0.24,
|
|
158
|
-
);
|
|
159
|
-
|
|
160
|
-
$md3-text-tint-levels: (
|
|
161
|
-
"--text-tint-primary": 0,
|
|
162
|
-
"--text-tint-secondary": 0.04,
|
|
163
|
-
"--text-tint-muted": 0.06,
|
|
164
|
-
"--text-tint-disabled": 0.12,
|
|
165
|
-
);
|
|
166
|
-
|
|
167
|
-
$md3-border-opacity-levels: (
|
|
168
|
-
"--border-opacity-subtle": 0.14,
|
|
169
|
-
"--border-opacity-default": 0.2,
|
|
170
|
-
"--border-opacity-emphasis": 0.24,
|
|
171
|
-
"--border-opacity-strong": 0.4,
|
|
172
|
-
"--border-opacity-dashed": 0.18,
|
|
173
|
-
);
|
|
174
|
-
|
|
175
|
-
$md3-outline-properties: (
|
|
176
|
-
"--outline-opacity": 0.4,
|
|
177
|
-
"--outline-tint": 0,
|
|
178
|
-
);
|
|
179
|
-
|
|
180
|
-
$md3-scrollbar-properties: (
|
|
181
|
-
"--scrollbar-opacity": 0.4,
|
|
182
|
-
"--scrollbar-tint": 0.1,
|
|
183
|
-
);
|
|
184
|
-
|
|
185
|
-
//
|
|
186
|
-
// Interaction variables
|
|
187
|
-
$md3-interaction-lift-factors: (
|
|
188
|
-
"--hover-lift": 0.03,
|
|
189
|
-
"--active-lift": 0.05,
|
|
190
|
-
"--focus-lift": 0.02,
|
|
191
|
-
);
|
|
192
|
-
|
|
193
|
-
$md3-interaction-properties: (
|
|
194
|
-
"--selection-opacity": 0.1,
|
|
195
|
-
);
|
|
196
|
-
|
|
197
|
-
//
|
|
198
|
-
// State opacity custom properties
|
|
199
|
-
$md3-state-opacity-properties: (
|
|
200
|
-
"--state-opacity-hover": hover,
|
|
201
|
-
"--state-opacity-focus": focus,
|
|
202
|
-
"--state-opacity-focus-visible": focus-visible,
|
|
203
|
-
"--state-opacity-focus-ring": focus-ring,
|
|
204
|
-
"--state-opacity-press": press,
|
|
205
|
-
"--state-opacity-drag": drag,
|
|
206
|
-
"--state-opacity-selected": selected,
|
|
207
|
-
"--state-opacity-disabled": disabled,
|
|
208
|
-
"--state-opacity-icon": icon,
|
|
209
|
-
);
|
|
210
|
-
|
|
211
|
-
//
|
|
212
|
-
// Semantic palettes
|
|
213
|
-
$md3-spectrum-colors: (
|
|
214
|
-
"--color-red": oklch(0.5 0.2 30 / 1),
|
|
215
|
-
"--color-orange": oklch(0.5 0.2 80 / 1),
|
|
216
|
-
"--color-yellow": oklch(0.7 0.2 100 / 1),
|
|
217
|
-
"--color-green": oklch(0.5 0.2 140 / 1),
|
|
218
|
-
"--color-blue": oklch(0.5 0.2 260 / 1),
|
|
219
|
-
"--color-purple": oklch(0.5 0.2 320 / 1),
|
|
220
|
-
);
|
|
221
|
-
|
|
222
|
-
$md3-semantic-base-colors: (
|
|
223
|
-
"--color-primary": #2c3e50,
|
|
224
|
-
"--color-secondary": #34495e,
|
|
225
|
-
"--color-accent": #3498db,
|
|
226
|
-
"--color-success": #2cda9d,
|
|
227
|
-
"--color-warning": #ffb347,
|
|
228
|
-
"--color-danger": #ff6b6b,
|
|
229
|
-
"--color-info": #17a2b8,
|
|
230
|
-
);
|
|
231
|
-
|
|
232
|
-
$md3-semantic-aliases: (
|
|
233
|
-
"--color-error": var(--color-danger),
|
|
234
|
-
);
|
|
235
|
-
|
|
236
|
-
$md3-semantic-tones: (
|
|
237
|
-
"--color-success-dark": (base: "--color-success", weight: 0.4),
|
|
238
|
-
"--color-warning-dark": (base: "--color-warning", weight: 0.38),
|
|
239
|
-
"--color-danger-dark": (base: "--color-danger", weight: 0.42),
|
|
240
|
-
"--color-error-dark": (base: "--color-danger", weight: 0.42),
|
|
241
|
-
);
|
|
242
|
-
|
|
243
|
-
//
|
|
244
|
-
// Layer mixins
|
|
245
|
-
@mixin md3-export-backdrop-filters($overrides) {
|
|
246
|
-
@include md3-emit-properties($md3-backdrop-filters, $overrides);
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
@mixin md3-export-layer-opacities($overrides) {
|
|
250
|
-
@include md3-emit-properties($md3-surface-opacity-levels, $overrides);
|
|
251
|
-
@include md3-emit-properties($md3-contrast-opacity-levels, $overrides);
|
|
252
|
-
@include md3-emit-properties($md3-text-tint-levels, $overrides);
|
|
253
|
-
@include md3-emit-properties($md3-border-opacity-levels, $overrides);
|
|
254
|
-
@include md3-emit-properties($md3-outline-properties, $overrides);
|
|
255
|
-
@include md3-emit-properties($md3-scrollbar-properties, $overrides);
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
@mixin md3-export-state-opacities($overrides) {
|
|
259
|
-
@each $property, $state in $md3-state-opacity-properties {
|
|
260
|
-
#{$property}: #{md3-resolve($overrides, $property, md3-state($state))};
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
@mixin md3-export-interaction-tuning($overrides) {
|
|
265
|
-
--interaction-tone-direction: #{md3-resolve($overrides, "--interaction-tone-direction", 1)};
|
|
266
|
-
|
|
267
|
-
@each $property, $factor in $md3-interaction-lift-factors {
|
|
268
|
-
#{$property}: #{md3-resolve($overrides, $property, md3-tone-scale($factor))};
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
@include md3-emit-properties($md3-interaction-properties, $overrides);
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
@mixin md3-export-semantic-colors($overrides) {
|
|
275
|
-
@include md3-emit-properties($md3-spectrum-colors, $overrides);
|
|
276
|
-
@include md3-emit-properties($md3-semantic-base-colors, $overrides);
|
|
277
|
-
@include md3-emit-properties($md3-semantic-aliases, $overrides);
|
|
278
|
-
|
|
279
|
-
@each $property, $config in $md3-semantic-tones {
|
|
280
|
-
$base: map.get($config, base);
|
|
281
|
-
$weight: map.get($config, weight);
|
|
282
|
-
#{$property}: #{md3-resolve($overrides, $property, md3-shadow-mix($base, $weight))};
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
//
|
|
287
|
-
// Export state vars mixin
|
|
288
|
-
@mixin md3-export-state-vars($overrides: ()) {
|
|
289
|
-
$config: if(sass(meta.type-of($overrides) == "map"): $overrides; else: ());
|
|
290
|
-
|
|
291
|
-
@include md3-export-backdrop-filters($config);
|
|
292
|
-
@include md3-export-layer-opacities($config);
|
|
293
|
-
@include md3-export-state-opacities($config);
|
|
294
|
-
@include md3-export-interaction-tuning($config);
|
|
295
|
-
@include md3-export-semantic-colors($config);
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
//
|
|
299
|
-
// Material color utilities theme mixin
|
|
300
|
-
@mixin material-color-utilities-theme($mode, $selector) {
|
|
301
|
-
$suffix: map.get($material-mode-suffix, $mode);
|
|
302
|
-
|
|
303
|
-
#{$selector} {
|
|
304
|
-
@each $role, $source in $material-role-map {
|
|
305
|
-
#{md3-var($role)}: var(#{$source}#{$suffix}, #{md3-color($role, $mode)});
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
//
|
|
311
|
-
// Material color utilities remap mixin
|
|
312
|
-
@mixin material-color-utilities-remap($system-selector: ":where(:root, :host, :scope, body, div, section, html)") {
|
|
313
|
-
@at-root {
|
|
314
|
-
@layer md3.mcu {
|
|
315
|
-
#{$system-selector}:not([data-scheme]):not([data-theme]),
|
|
316
|
-
#{$system-selector}:where([data-scheme="auto"], [data-theme="auto"]),
|
|
317
|
-
#{$system-selector}:where([data-scheme="system"], [data-theme="system"])
|
|
318
|
-
{
|
|
319
|
-
@media (prefers-color-scheme: light) { @include material-color-utilities-theme(light, "&"); }
|
|
320
|
-
@media (prefers-color-scheme: dark) { @include material-color-utilities-theme(dark, "&"); }
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
//
|
|
324
|
-
#{$system-selector}:where([data-theme="dark"] , [data-scheme="dark"] ) { @include material-color-utilities-theme(dark , "&"); }
|
|
325
|
-
#{$system-selector}:where([data-theme="light"], [data-scheme="light"]) { @include material-color-utilities-theme(light, "&"); }
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
}
|