@nuvoui/core 1.2.5 → 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 +21899 -22748
- 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 +2 -2
- package/src/styles/abstracts/_config.scss +81 -47
- package/src/styles/abstracts/_functions.scss +21 -61
- package/src/styles/base/_base.scss +67 -59
- package/src/styles/base/_reset.scss +11 -8
- package/src/styles/index.scss +28 -10
- 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 +127 -91
- package/src/styles/utilities/_alignment.scss +40 -13
- package/src/styles/utilities/_animations.scss +165 -105
- package/src/styles/utilities/_backdrop-filters.scss +111 -83
- package/src/styles/utilities/_borders.scss +329 -143
- package/src/styles/utilities/_colors.scss +24 -25
- 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 +269 -108
- package/src/styles/utilities/_spacing.scss +254 -156
- package/src/styles/utilities/_tooltips.scss +35 -31
- package/src/styles/utilities/_transforms.scss +179 -156
- package/src/styles/utilities/_transitions.scss +134 -68
- package/src/styles/utilities/_typography.scss +341 -127
- package/src/styles/utilities/_z-index.scss +79 -49
- 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 -23
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
@use "sass:list";
|
|
2
|
-
|
|
2
|
+
@use "sass:math";
|
|
3
3
|
@use "sass:map";
|
|
4
|
+
|
|
4
5
|
@use "../abstracts/functions" as *;
|
|
5
|
-
@use "../abstracts" as VAR;
|
|
6
|
+
@use "../abstracts/config" as VAR;
|
|
6
7
|
|
|
7
8
|
$generated-keyframes: ();
|
|
8
9
|
|
|
9
10
|
@mixin ensure-keyframes($name) {
|
|
10
11
|
@if not list.index($generated-keyframes, $name) {
|
|
11
12
|
$generated-keyframes: list.append($generated-keyframes, $name) !global;
|
|
12
|
-
|
|
13
|
+
|
|
13
14
|
@keyframes #{$name} {
|
|
14
15
|
@content;
|
|
15
16
|
}
|
|
@@ -21,7 +22,7 @@ $generated-keyframes: ();
|
|
|
21
22
|
* @description Creates a bouncing animation
|
|
22
23
|
* @param {Map} $props - Animation properties
|
|
23
24
|
*/
|
|
24
|
-
|
|
25
|
+
@mixin animate-bounce($props: ()) {
|
|
25
26
|
$defaults: (
|
|
26
27
|
vertical: 0.5rem,
|
|
27
28
|
horizontal: 0,
|
|
@@ -39,38 +40,37 @@ $generated-keyframes: ();
|
|
|
39
40
|
$iteration: map.get($props, "iteration");
|
|
40
41
|
|
|
41
42
|
// Handle units
|
|
42
|
-
$x-unit: if($x, safe-unit-name(
|
|
43
|
-
$y-unit: if($y, safe-unit-name(
|
|
44
|
-
|
|
43
|
+
$x-unit: if($x, safe-unit-name(math.unit($x)), "-");
|
|
44
|
+
$y-unit: if($y, safe-unit-name(math.unit($y)), "-");
|
|
45
|
+
|
|
45
46
|
// Clean values (remove units)
|
|
46
47
|
$clean-x: if($x, strip-unit($x), 0);
|
|
47
48
|
$clean-y: if($y, strip-unit($y), 0);
|
|
48
|
-
|
|
49
|
-
$animation-name: anim-bounce-#{$clean-x}#{$x-unit}-#{$clean-y}#{$y-unit};
|
|
50
49
|
|
|
50
|
+
$animation-name: anim-bounce-#{$clean-x}#{$x-unit}-#{$clean-y}#{$y-unit};
|
|
51
51
|
|
|
52
52
|
// Apply the animation
|
|
53
53
|
animation: #{$animation-name} $duration $easing $iteration;
|
|
54
54
|
|
|
55
55
|
// Generate keyframes with ensure-keyframes pattern
|
|
56
56
|
@include ensure-keyframes($animation-name) {
|
|
57
|
-
0%,
|
|
57
|
+
0%,
|
|
58
|
+
100% {
|
|
58
59
|
transform: translate(0, 0);
|
|
59
60
|
animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
|
|
60
61
|
}
|
|
61
|
-
|
|
62
|
+
|
|
62
63
|
50% {
|
|
63
64
|
transform: translate($x, $y);
|
|
64
65
|
animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
|
-
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
@mixin hover-ready {
|
|
71
71
|
transition-property: all;
|
|
72
72
|
transition-duration: 0.2s;
|
|
73
|
-
transition-timing-function: ease-in-out;
|
|
73
|
+
transition-timing-function: ease-in-out;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
/**
|
|
@@ -78,7 +78,7 @@ $generated-keyframes: ();
|
|
|
78
78
|
* @description Creates a pulsing opacity animation
|
|
79
79
|
* @param {Map} $props - Animation properties
|
|
80
80
|
*/
|
|
81
|
-
|
|
81
|
+
@mixin animate-pulse($props: ()) {
|
|
82
82
|
$defaults: (
|
|
83
83
|
min-opacity: 0.5,
|
|
84
84
|
max-opacity: 1,
|
|
@@ -100,19 +100,23 @@ $generated-keyframes: ();
|
|
|
100
100
|
animation: #{$animation-name} $duration $timing $iteration;
|
|
101
101
|
|
|
102
102
|
@include ensure-keyframes($animation-name) {
|
|
103
|
-
0%,
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
0%,
|
|
104
|
+
100% {
|
|
105
|
+
opacity: $max-opacity;
|
|
106
|
+
}
|
|
106
107
|
|
|
108
|
+
50% {
|
|
109
|
+
opacity: $min-opacity;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
107
112
|
}
|
|
108
113
|
|
|
109
|
-
|
|
110
114
|
/**
|
|
111
115
|
* @mixin animate-spin
|
|
112
116
|
* @description Creates a spinning animation
|
|
113
117
|
* @param {Map} $props - Animation properties
|
|
114
118
|
*/
|
|
115
|
-
|
|
119
|
+
@mixin animate-spin($props: ()) {
|
|
116
120
|
$defaults: (
|
|
117
121
|
direction: normal,
|
|
118
122
|
duration: 1s,
|
|
@@ -132,17 +136,18 @@ $generated-keyframes: ();
|
|
|
132
136
|
animation: #{$animation-name} $duration $timing $iteration;
|
|
133
137
|
|
|
134
138
|
@include ensure-keyframes($animation-name) {
|
|
135
|
-
from {
|
|
139
|
+
from {
|
|
140
|
+
transform: rotate(0deg);
|
|
141
|
+
}
|
|
136
142
|
|
|
137
|
-
to {
|
|
138
|
-
@if $direction ==
|
|
139
|
-
transform: rotate(360deg);
|
|
143
|
+
to {
|
|
144
|
+
@if $direction == "normal" {
|
|
145
|
+
transform: rotate(360deg);
|
|
140
146
|
} @else {
|
|
141
|
-
transform: rotate(-360deg);
|
|
147
|
+
transform: rotate(-360deg);
|
|
142
148
|
}
|
|
143
149
|
}
|
|
144
150
|
}
|
|
145
|
-
|
|
146
151
|
}
|
|
147
152
|
|
|
148
153
|
/**
|
|
@@ -150,7 +155,7 @@ $generated-keyframes: ();
|
|
|
150
155
|
* @description Creates a ping animation (scale + fade)
|
|
151
156
|
* @param {Map} $props - Animation properties
|
|
152
157
|
*/
|
|
153
|
-
|
|
158
|
+
@mixin animate-ping($props: ()) {
|
|
154
159
|
$defaults: (
|
|
155
160
|
scale: 2,
|
|
156
161
|
duration: 1s,
|
|
@@ -170,12 +175,12 @@ $generated-keyframes: ();
|
|
|
170
175
|
animation: #{$animation-name} $duration $timing $iteration;
|
|
171
176
|
|
|
172
177
|
@include ensure-keyframes($animation-name) {
|
|
173
|
-
75%,
|
|
178
|
+
75%,
|
|
179
|
+
100% {
|
|
174
180
|
transform: scale($scale);
|
|
175
181
|
opacity: 0;
|
|
176
182
|
}
|
|
177
183
|
}
|
|
178
|
-
|
|
179
184
|
}
|
|
180
185
|
|
|
181
186
|
/**
|
|
@@ -183,7 +188,7 @@ $generated-keyframes: ();
|
|
|
183
188
|
* @description Creates fade in/out animation
|
|
184
189
|
* @param {Map} $props - Animation properties
|
|
185
190
|
*/
|
|
186
|
-
|
|
191
|
+
@mixin animate-fade($props: ()) {
|
|
187
192
|
$defaults: (
|
|
188
193
|
type: in,
|
|
189
194
|
duration: 0.5s,
|
|
@@ -203,35 +208,44 @@ $generated-keyframes: ();
|
|
|
203
208
|
animation: #{$animation-name} $duration $timing $iteration;
|
|
204
209
|
|
|
205
210
|
@include ensure-keyframes($animation-name) {
|
|
206
|
-
@if $type ==
|
|
207
|
-
from {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
to {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
211
|
+
@if $type == "in" {
|
|
212
|
+
from {
|
|
213
|
+
opacity: 0;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
to {
|
|
217
|
+
opacity: 1;
|
|
218
|
+
}
|
|
219
|
+
} @else if $type == "out" {
|
|
220
|
+
from {
|
|
221
|
+
opacity: 1;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
to {
|
|
225
|
+
opacity: 0;
|
|
226
|
+
}
|
|
227
|
+
} @else if $type == "in-up" {
|
|
228
|
+
from {
|
|
229
|
+
opacity: 0;
|
|
215
230
|
transform: translateY(20px);
|
|
216
231
|
}
|
|
217
232
|
|
|
218
|
-
to {
|
|
219
|
-
opacity: 1;
|
|
233
|
+
to {
|
|
234
|
+
opacity: 1;
|
|
220
235
|
transform: translateY(0);
|
|
221
236
|
}
|
|
222
|
-
} @else if $type ==
|
|
223
|
-
from {
|
|
224
|
-
opacity: 0;
|
|
237
|
+
} @else if $type == "in-down" {
|
|
238
|
+
from {
|
|
239
|
+
opacity: 0;
|
|
225
240
|
transform: translateY(-20px);
|
|
226
241
|
}
|
|
227
242
|
|
|
228
|
-
to {
|
|
229
|
-
opacity: 1;
|
|
243
|
+
to {
|
|
244
|
+
opacity: 1;
|
|
230
245
|
transform: translateY(0);
|
|
231
246
|
}
|
|
232
247
|
}
|
|
233
248
|
}
|
|
234
|
-
|
|
235
249
|
}
|
|
236
250
|
|
|
237
251
|
/**
|
|
@@ -239,7 +253,7 @@ $generated-keyframes: ();
|
|
|
239
253
|
* @description Creates a shake animation
|
|
240
254
|
* @param {Map} $props - Animation properties
|
|
241
255
|
*/
|
|
242
|
-
|
|
256
|
+
@mixin animate-shake($props: ()) {
|
|
243
257
|
$defaults: (
|
|
244
258
|
intensity: 5px,
|
|
245
259
|
duration: 0.5s,
|
|
@@ -260,87 +274,133 @@ $generated-keyframes: ();
|
|
|
260
274
|
animation: #{$animation-name} $duration $timing $iteration;
|
|
261
275
|
|
|
262
276
|
@include ensure-keyframes($animation-name) {
|
|
263
|
-
0%,
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
277
|
+
0%,
|
|
278
|
+
100% {
|
|
279
|
+
transform: translateX(0);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
10%,
|
|
283
|
+
30%,
|
|
284
|
+
50%,
|
|
285
|
+
70%,
|
|
286
|
+
90% {
|
|
287
|
+
transform: translateX(-$intensity);
|
|
288
|
+
}
|
|
267
289
|
|
|
290
|
+
20%,
|
|
291
|
+
40%,
|
|
292
|
+
60%,
|
|
293
|
+
80% {
|
|
294
|
+
transform: translateX($intensity);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
268
297
|
}
|
|
269
298
|
|
|
270
299
|
@if VAR.$generate-utility-classes {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
300
|
+
// Add to your existing animation utilities
|
|
301
|
+
|
|
302
|
+
#{VAR.$parent-selector} .animate-pulse {
|
|
274
303
|
@include animate-pulse;
|
|
275
304
|
}
|
|
276
|
-
|
|
277
|
-
.animate-spin {
|
|
305
|
+
|
|
306
|
+
#{VAR.$parent-selector} .animate-spin {
|
|
278
307
|
@include animate-spin;
|
|
279
308
|
}
|
|
280
|
-
|
|
281
|
-
.animate-ping {
|
|
309
|
+
|
|
310
|
+
#{VAR.$parent-selector} .animate-ping {
|
|
282
311
|
@include animate-ping;
|
|
283
312
|
}
|
|
284
|
-
|
|
285
|
-
.animate-fade-in {
|
|
286
|
-
@include animate-fade(
|
|
313
|
+
|
|
314
|
+
#{VAR.$parent-selector} .animate-fade-in {
|
|
315
|
+
@include animate-fade(
|
|
316
|
+
(
|
|
317
|
+
type: in,
|
|
318
|
+
)
|
|
319
|
+
);
|
|
287
320
|
}
|
|
288
|
-
|
|
289
|
-
.animate-fade-out {
|
|
290
|
-
@include animate-fade(
|
|
321
|
+
|
|
322
|
+
#{VAR.$parent-selector} .animate-fade-out {
|
|
323
|
+
@include animate-fade(
|
|
324
|
+
(
|
|
325
|
+
type: out,
|
|
326
|
+
)
|
|
327
|
+
);
|
|
291
328
|
}
|
|
292
|
-
|
|
293
|
-
.animate-fade-in-up {
|
|
294
|
-
@include animate-fade(
|
|
329
|
+
|
|
330
|
+
#{VAR.$parent-selector} .animate-fade-in-up {
|
|
331
|
+
@include animate-fade(
|
|
332
|
+
(
|
|
333
|
+
type: in-up,
|
|
334
|
+
)
|
|
335
|
+
);
|
|
295
336
|
}
|
|
296
|
-
|
|
297
|
-
.animate-fade-in-down {
|
|
298
|
-
@include animate-fade(
|
|
337
|
+
|
|
338
|
+
#{VAR.$parent-selector} .animate-fade-in-down {
|
|
339
|
+
@include animate-fade(
|
|
340
|
+
(
|
|
341
|
+
type: in-down,
|
|
342
|
+
)
|
|
343
|
+
);
|
|
299
344
|
}
|
|
300
|
-
|
|
301
|
-
.animate-shake {
|
|
345
|
+
|
|
346
|
+
#{VAR.$parent-selector} .animate-shake {
|
|
302
347
|
@include animate-shake;
|
|
303
348
|
}
|
|
304
349
|
|
|
305
350
|
// Add responsive variants if needed
|
|
306
351
|
@each $breakpoint, $width in VAR.$breakpoints {
|
|
307
352
|
@media (min-width: #{$width}) {
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
353
|
+
#{VAR.$parent-selector} .animate-pulse\@#{$breakpoint} {
|
|
354
|
+
@include animate-pulse;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
#{VAR.$parent-selector} .animate-spin\@#{$breakpoint} {
|
|
358
|
+
@include animate-spin;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
#{VAR.$parent-selector} .animate-ping\@#{$breakpoint} {
|
|
362
|
+
@include animate-ping;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
#{VAR.$parent-selector} .animate-fade-in\@#{$breakpoint} {
|
|
366
|
+
@include animate-fade(
|
|
367
|
+
(
|
|
368
|
+
type: in,
|
|
369
|
+
)
|
|
370
|
+
);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
#{VAR.$parent-selector} .animate-fade-out\@#{$breakpoint} {
|
|
374
|
+
@include animate-fade(
|
|
375
|
+
(
|
|
376
|
+
type: out,
|
|
377
|
+
)
|
|
378
|
+
);
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
#{VAR.$parent-selector} .animate-fade-in-up\@#{$breakpoint} {
|
|
382
|
+
@include animate-fade(
|
|
383
|
+
(
|
|
384
|
+
type: in-up,
|
|
385
|
+
)
|
|
386
|
+
);
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
#{VAR.$parent-selector} .animate-fade-in-down\@#{$breakpoint} {
|
|
390
|
+
@include animate-fade(
|
|
391
|
+
(
|
|
392
|
+
type: in-down,
|
|
393
|
+
)
|
|
394
|
+
);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
#{VAR.$parent-selector} .animate-shake\@#{$breakpoint} {
|
|
398
|
+
@include animate-shake;
|
|
399
|
+
}
|
|
340
400
|
}
|
|
341
401
|
}
|
|
342
402
|
|
|
343
|
-
.hover-ready{
|
|
403
|
+
#{VAR.$parent-selector} .hover-ready {
|
|
344
404
|
@include hover-ready;
|
|
345
405
|
}
|
|
346
406
|
}
|