@nuvoui/core 1.2.5 → 1.2.7

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.
Files changed (42) hide show
  1. package/README.md +2 -2
  2. package/dist/nuvoui.css +22277 -22831
  3. package/dist/nuvoui.css.map +1 -1
  4. package/dist/nuvoui.min.css +1 -1
  5. package/dist/nuvoui.min.css.map +1 -1
  6. package/package.json +2 -2
  7. package/src/styles/abstracts/_config.scss +124 -56
  8. package/src/styles/abstracts/_functions.scss +21 -61
  9. package/src/styles/base/_base.scss +67 -59
  10. package/src/styles/base/_reset.scss +11 -8
  11. package/src/styles/index.scss +28 -10
  12. package/src/styles/layouts/_container.scss +1 -2
  13. package/src/styles/layouts/_flex.scss +442 -154
  14. package/src/styles/layouts/_grid.scss +145 -75
  15. package/src/styles/mixins-map.json +482 -0
  16. package/src/styles/mixins-map.scss +1 -1
  17. package/src/styles/themes/_theme.scss +114 -94
  18. package/src/styles/utilities/_alignment.scss +40 -13
  19. package/src/styles/utilities/_animations.scss +165 -105
  20. package/src/styles/utilities/_backdrop-filters.scss +156 -107
  21. package/src/styles/utilities/_borders.scss +329 -143
  22. package/src/styles/utilities/_colors.scss +24 -25
  23. package/src/styles/utilities/_container-queries.scss +7 -7
  24. package/src/styles/utilities/_cursor.scss +10 -17
  25. package/src/styles/utilities/_display.scss +234 -85
  26. package/src/styles/utilities/_helpers.scss +5 -5
  27. package/src/styles/utilities/_media-queries.scss +24 -27
  28. package/src/styles/utilities/_opacity.scss +15 -31
  29. package/src/styles/utilities/_position.scss +129 -66
  30. package/src/styles/utilities/_shadows.scss +25 -31
  31. package/src/styles/utilities/_sizing.scss +269 -108
  32. package/src/styles/utilities/_spacing.scss +254 -156
  33. package/src/styles/utilities/_tooltips.scss +35 -31
  34. package/src/styles/utilities/_transforms.scss +179 -156
  35. package/src/styles/utilities/_transitions.scss +134 -68
  36. package/src/styles/utilities/_typography.scss +341 -127
  37. package/src/styles/utilities/_z-index.scss +79 -49
  38. package/src/styles/abstracts/_index.scss +0 -1
  39. package/src/styles/base/_index.scss +0 -2
  40. package/src/styles/layouts/_index.scss +0 -3
  41. package/src/styles/themes/_index.scss +0 -1
  42. 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
- @mixin animate-bounce($props: ()) {
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(get-unit($x)), "-");
43
- $y-unit: if($y, safe-unit-name(get-unit($y)), "-");
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%, 100% {
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
- @mixin animate-pulse($props: ()) {
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%, 100% { opacity: $max-opacity; }
104
- 50% { opacity: $min-opacity; }
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
- @mixin animate-spin($props: ()) {
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 { transform: rotate(0deg); }
139
+ from {
140
+ transform: rotate(0deg);
141
+ }
136
142
 
137
- to {
138
- @if $direction == 'normal' {
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
- @mixin animate-ping($props: ()) {
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%, 100% {
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
- @mixin animate-fade($props: ()) {
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 == 'in' {
207
- from { opacity: 0; }
208
- to { opacity: 1; }
209
- } @else if $type == 'out' {
210
- from { opacity: 1; }
211
- to { opacity: 0; }
212
- } @else if $type == 'in-up' {
213
- from {
214
- opacity: 0;
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 == 'in-down' {
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
- @mixin animate-shake($props: ()) {
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%, 100% { transform: translateX(0); }
264
- 10%, 30%, 50%, 70%, 90% { transform: translateX(-$intensity); }
265
- 20%, 40%, 60%, 80% { transform: translateX($intensity); }
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
- // Add to your existing animation utilities
272
-
273
- .animate-pulse {
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((type: in));
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((type: out));
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((type: in-up));
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((type: in-down));
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
- .animate-pulse\@#{$breakpoint} {
310
- @include animate-pulse;
311
- }
312
-
313
- .animate-spin\@#{$breakpoint} {
314
- @include animate-spin;
315
- }
316
-
317
- .animate-ping\@#{$breakpoint} {
318
- @include animate-ping;
319
- }
320
-
321
- .animate-fade-in\@#{$breakpoint} {
322
- @include animate-fade((type: in));
323
- }
324
-
325
- .animate-fade-out\@#{$breakpoint} {
326
- @include animate-fade((type: out));
327
- }
328
-
329
- .animate-fade-in-up\@#{$breakpoint} {
330
- @include animate-fade((type: in-up));
331
- }
332
-
333
- .animate-fade-in-down\@#{$breakpoint} {
334
- @include animate-fade((type: in-down));
335
- }
336
-
337
- .animate-shake\@#{$breakpoint} {
338
- @include animate-shake;
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
  }