@nuvoui/core 1.2.4 → 1.2.6
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/README.md +2 -2
- package/dist/nuvoui.css +27685 -22739
- package/dist/nuvoui.css.map +1 -1
- package/dist/nuvoui.min.css +1 -1
- package/dist/nuvoui.min.css.map +1 -1
- package/package.json +7 -8
- package/src/styles/abstracts/_config.scss +87 -34
- package/src/styles/abstracts/_functions.scss +70 -37
- package/src/styles/base/_base.scss +79 -59
- package/src/styles/base/_reset.scss +11 -8
- package/src/styles/index.scss +32 -17
- package/src/styles/layouts/_container.scss +1 -2
- package/src/styles/layouts/_flex.scss +442 -154
- package/src/styles/layouts/_grid.scss +145 -75
- package/src/styles/mixins-map.scss +1085 -1
- package/src/styles/themes/_theme.scss +95 -106
- package/src/styles/utilities/_alignment.scss +40 -13
- package/src/styles/utilities/_animations.scss +361 -92
- package/src/styles/utilities/_backdrop-filters.scss +297 -0
- package/src/styles/utilities/_borders.scss +360 -159
- package/src/styles/utilities/_colors.scss +24 -34
- package/src/styles/utilities/_container-queries.scss +7 -7
- package/src/styles/utilities/_cursor.scss +10 -17
- package/src/styles/utilities/_display.scss +234 -85
- package/src/styles/utilities/_helpers.scss +5 -5
- package/src/styles/utilities/_media-queries.scss +24 -27
- package/src/styles/utilities/_opacity.scss +15 -31
- package/src/styles/utilities/_position.scss +129 -66
- package/src/styles/utilities/_shadows.scss +23 -29
- package/src/styles/utilities/_sizing.scss +270 -92
- package/src/styles/utilities/_spacing.scss +317 -169
- package/src/styles/utilities/_tooltips.scss +36 -29
- package/src/styles/utilities/_transforms.scss +243 -154
- package/src/styles/utilities/_transitions.scss +129 -75
- package/src/styles/utilities/_typography.scss +341 -127
- package/src/styles/utilities/_z-index.scss +144 -0
- package/src/styles/abstracts/_index.scss +0 -1
- package/src/styles/base/_index.scss +0 -2
- package/src/styles/layouts/_index.scss +0 -3
- package/src/styles/themes/_index.scss +0 -1
- package/src/styles/utilities/_index.scss +0 -20
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
@use "sass:map";
|
|
2
|
+
@use "sass:meta";
|
|
3
|
+
@use "../abstracts/config" as VAR;
|
|
4
|
+
@use "../abstracts/functions" as FN;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Backdrop Filter Utilities
|
|
8
|
+
*
|
|
9
|
+
* Provides utility classes and mixins for backdrop-filter effects.
|
|
10
|
+
* All utilities come with responsive variants.
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* <div class="backdrop-blur-md">Blurred backdrop</div>
|
|
14
|
+
* <div class="backdrop-blur-lg@md">Blurred backdrop on medium screens and up</div>
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
// Blur values
|
|
18
|
+
$backdrop-blur-values: (
|
|
19
|
+
"none": 0,
|
|
20
|
+
"sm": 4px,
|
|
21
|
+
"md": 8px,
|
|
22
|
+
"lg": 12px,
|
|
23
|
+
"xl": 24px,
|
|
24
|
+
"2xl": 40px,
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
// Brightness values
|
|
28
|
+
$backdrop-brightness-values: (
|
|
29
|
+
"none": 100%,
|
|
30
|
+
"75": 75%,
|
|
31
|
+
"90": 90%,
|
|
32
|
+
"110": 110%,
|
|
33
|
+
"125": 125%,
|
|
34
|
+
"150": 150%,
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
// Contrast values
|
|
38
|
+
$backdrop-contrast-values: (
|
|
39
|
+
"none": 100%,
|
|
40
|
+
"75": 75%,
|
|
41
|
+
"90": 90%,
|
|
42
|
+
"110": 110%,
|
|
43
|
+
"125": 125%,
|
|
44
|
+
"150": 150%,
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
// Grayscale values
|
|
48
|
+
$backdrop-grayscale-values: (
|
|
49
|
+
"none": 0,
|
|
50
|
+
"25": 25%,
|
|
51
|
+
"50": 50%,
|
|
52
|
+
"75": 75%,
|
|
53
|
+
"100": 100%,
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
// Saturate values
|
|
57
|
+
$backdrop-saturate-values: (
|
|
58
|
+
"none": 100%,
|
|
59
|
+
"50": 50%,
|
|
60
|
+
"75": 75%,
|
|
61
|
+
"125": 125%,
|
|
62
|
+
"150": 150%,
|
|
63
|
+
"200": 200%,
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
// Sepia values
|
|
67
|
+
$backdrop-sepia-values: (
|
|
68
|
+
"none": 0,
|
|
69
|
+
"25": 25%,
|
|
70
|
+
"50": 50%,
|
|
71
|
+
"75": 75%,
|
|
72
|
+
"100": 100%,
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
// Hue-rotate values
|
|
76
|
+
$backdrop-hue-rotate-values: (
|
|
77
|
+
"0": 0deg,
|
|
78
|
+
"90": 90deg,
|
|
79
|
+
"180": 180deg,
|
|
80
|
+
"270": 270deg,
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
// Invert values
|
|
84
|
+
$backdrop-invert-values: (
|
|
85
|
+
"none": 0,
|
|
86
|
+
"25": 25%,
|
|
87
|
+
"50": 50%,
|
|
88
|
+
"75": 75%,
|
|
89
|
+
"100": 100%,
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
// Common backdrop-filter presets
|
|
93
|
+
$backdrop-filter-presets: (
|
|
94
|
+
"frosted": blur(8px) saturate(90%) brightness(120%),
|
|
95
|
+
"glass": blur(8px) saturate(120%) contrast(90%),
|
|
96
|
+
"dark-glass": blur(8px) saturate(180%) brightness(70%) contrast(90%),
|
|
97
|
+
"crystal": blur(8px) saturate(150%),
|
|
98
|
+
"matte": blur(20px) saturate(90%) brightness(90%),
|
|
99
|
+
);
|
|
100
|
+
|
|
101
|
+
// Base backdrop-filter
|
|
102
|
+
@mixin backdrop-filter($value) {
|
|
103
|
+
backdrop-filter: $value;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// Specific filter mixins
|
|
107
|
+
@mixin backdrop-blur($value) {
|
|
108
|
+
@if map.has-key($backdrop-blur-values, $value) {
|
|
109
|
+
@include backdrop-filter(blur(map.get($backdrop-blur-values, $value)));
|
|
110
|
+
} @else {
|
|
111
|
+
@include backdrop-filter(blur($value));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@mixin backdrop-brightness($value) {
|
|
116
|
+
@if map.has-key($backdrop-brightness-values, $value) {
|
|
117
|
+
@include backdrop-filter(brightness(map.get($backdrop-brightness-values, $value)));
|
|
118
|
+
} @else {
|
|
119
|
+
@include backdrop-filter(brightness($value));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
@mixin backdrop-contrast($value) {
|
|
124
|
+
@if map.has-key($backdrop-contrast-values, $value) {
|
|
125
|
+
@include backdrop-filter(contrast(map.get($backdrop-contrast-values, $value)));
|
|
126
|
+
} @else {
|
|
127
|
+
@include backdrop-filter(contrast($value));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
@mixin backdrop-grayscale($value) {
|
|
132
|
+
@if map.has-key($backdrop-grayscale-values, $value) {
|
|
133
|
+
@include backdrop-filter(grayscale(map.get($backdrop-grayscale-values, $value)));
|
|
134
|
+
} @else {
|
|
135
|
+
@include backdrop-filter(grayscale($value));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
@mixin backdrop-hue-rotate($value) {
|
|
140
|
+
@if map.has-key($backdrop-hue-rotate-values, $value) {
|
|
141
|
+
@include backdrop-filter(hue-rotate(map.get($backdrop-hue-rotate-values, $value)));
|
|
142
|
+
} @else {
|
|
143
|
+
@include backdrop-filter(hue-rotate($value));
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
@mixin backdrop-invert($value) {
|
|
148
|
+
@if map.has-key($backdrop-invert-values, $value) {
|
|
149
|
+
@include backdrop-filter(invert(map.get($backdrop-invert-values, $value)));
|
|
150
|
+
} @else {
|
|
151
|
+
@include backdrop-filter(invert($value));
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
@mixin backdrop-saturate($value) {
|
|
156
|
+
@if map.has-key($backdrop-saturate-values, $value) {
|
|
157
|
+
@include backdrop-filter(saturate(map.get($backdrop-saturate-values, $value)));
|
|
158
|
+
} @else {
|
|
159
|
+
@include backdrop-filter(saturate($value));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@mixin backdrop-sepia($value) {
|
|
164
|
+
@if map.has-key($backdrop-sepia-values, $value) {
|
|
165
|
+
@include backdrop-filter(sepia(map.get($backdrop-sepia-values, $value)));
|
|
166
|
+
} @else {
|
|
167
|
+
@include backdrop-filter(sepia($value));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// Preset backdrop effects
|
|
172
|
+
@mixin backdrop-frosted {
|
|
173
|
+
@include backdrop-filter(map.get($backdrop-filter-presets, "frosted"));
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
@mixin backdrop-glass {
|
|
177
|
+
@include backdrop-filter(map.get($backdrop-filter-presets, "glass"));
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
@mixin backdrop-dark-glass {
|
|
181
|
+
@include backdrop-filter(map.get($backdrop-filter-presets, "dark-glass"));
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
@mixin backdrop-crystal {
|
|
185
|
+
@include backdrop-filter(map.get($backdrop-filter-presets, "crystal"));
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
@mixin backdrop-matte {
|
|
189
|
+
@include backdrop-filter(map.get($backdrop-filter-presets, "matte"));
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
// Reset filter
|
|
193
|
+
@mixin backdrop-none {
|
|
194
|
+
backdrop-filter: none;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// Generate utility classes
|
|
198
|
+
@mixin generate-backdrop-filter-utilities($breakpoint: null) {
|
|
199
|
+
$suffix: if($breakpoint, "\\@#{$breakpoint}", "");
|
|
200
|
+
|
|
201
|
+
// Basic backdrop utilities
|
|
202
|
+
#{VAR.$parent-selector} .backdrop-none#{$suffix} {
|
|
203
|
+
@include backdrop-none;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// Blur utilities
|
|
207
|
+
@each $key, $value in $backdrop-blur-values {
|
|
208
|
+
#{VAR.$parent-selector} .backdrop-blur-#{$key}#{$suffix} {
|
|
209
|
+
@include backdrop-blur($key);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// Brightness utilities
|
|
214
|
+
@each $key, $value in $backdrop-brightness-values {
|
|
215
|
+
#{VAR.$parent-selector} .backdrop-brightness-#{$key}#{$suffix} {
|
|
216
|
+
@include backdrop-brightness($key);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
// Contrast utilities
|
|
221
|
+
@each $key, $value in $backdrop-contrast-values {
|
|
222
|
+
#{VAR.$parent-selector} .backdrop-contrast-#{$key}#{$suffix} {
|
|
223
|
+
@include backdrop-contrast($key);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
// Grayscale utilities
|
|
228
|
+
@each $key, $value in $backdrop-grayscale-values {
|
|
229
|
+
#{VAR.$parent-selector} .backdrop-grayscale-#{$key}#{$suffix} {
|
|
230
|
+
@include backdrop-grayscale($key);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// Saturate utilities
|
|
235
|
+
@each $key, $value in $backdrop-saturate-values {
|
|
236
|
+
#{VAR.$parent-selector} .backdrop-saturate-#{$key}#{$suffix} {
|
|
237
|
+
@include backdrop-saturate($key);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// Sepia utilities
|
|
242
|
+
@each $key, $value in $backdrop-sepia-values {
|
|
243
|
+
#{VAR.$parent-selector} .backdrop-sepia-#{$key}#{$suffix} {
|
|
244
|
+
@include backdrop-sepia($key);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// Hue-rotate utilities
|
|
249
|
+
@each $key, $value in $backdrop-hue-rotate-values {
|
|
250
|
+
#{VAR.$parent-selector} .backdrop-hue-#{$key}#{$suffix} {
|
|
251
|
+
@include backdrop-hue-rotate($key);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// Invert utilities
|
|
256
|
+
@each $key, $value in $backdrop-invert-values {
|
|
257
|
+
#{VAR.$parent-selector} .backdrop-invert-#{$key}#{$suffix} {
|
|
258
|
+
@include backdrop-invert($key);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
// Preset utilities
|
|
263
|
+
#{VAR.$parent-selector} .backdrop-frosted#{$suffix} {
|
|
264
|
+
@include backdrop-frosted;
|
|
265
|
+
}
|
|
266
|
+
#{VAR.$parent-selector} .backdrop-glass#{$suffix} {
|
|
267
|
+
@include backdrop-glass;
|
|
268
|
+
}
|
|
269
|
+
#{VAR.$parent-selector} .backdrop-dark-glass#{$suffix} {
|
|
270
|
+
@include backdrop-dark-glass;
|
|
271
|
+
}
|
|
272
|
+
#{VAR.$parent-selector} .backdrop-crystal#{$suffix} {
|
|
273
|
+
@include backdrop-crystal;
|
|
274
|
+
}
|
|
275
|
+
#{VAR.$parent-selector} .backdrop-matte#{$suffix} {
|
|
276
|
+
@include backdrop-matte;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
@if VAR.$generate-utility-classes {
|
|
281
|
+
// Generate base utilities
|
|
282
|
+
@include generate-backdrop-filter-utilities;
|
|
283
|
+
|
|
284
|
+
// Generate responsive variants
|
|
285
|
+
@each $breakpoint, $width in VAR.$breakpoints {
|
|
286
|
+
@media (min-width: #{$width}) {
|
|
287
|
+
@include generate-backdrop-filter-utilities($breakpoint);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// Update your mixins-map.scss to include these mixins:
|
|
293
|
+
// @else if str.index($ms, 'backdrop-blur(') == 1 {
|
|
294
|
+
// $param1: list.nth($params, 1);
|
|
295
|
+
// @include backdrop-blur($param1);
|
|
296
|
+
// }
|
|
297
|
+
// Add similar entries for all other backdrop filter mixins
|