@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.
Files changed (41) hide show
  1. package/README.md +2 -2
  2. package/dist/nuvoui.css +21899 -22748
  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 +81 -47
  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.scss +1085 -1
  16. package/src/styles/themes/_theme.scss +127 -91
  17. package/src/styles/utilities/_alignment.scss +40 -13
  18. package/src/styles/utilities/_animations.scss +165 -105
  19. package/src/styles/utilities/_backdrop-filters.scss +111 -83
  20. package/src/styles/utilities/_borders.scss +329 -143
  21. package/src/styles/utilities/_colors.scss +24 -25
  22. package/src/styles/utilities/_container-queries.scss +7 -7
  23. package/src/styles/utilities/_cursor.scss +10 -17
  24. package/src/styles/utilities/_display.scss +234 -85
  25. package/src/styles/utilities/_helpers.scss +5 -5
  26. package/src/styles/utilities/_media-queries.scss +24 -27
  27. package/src/styles/utilities/_opacity.scss +15 -31
  28. package/src/styles/utilities/_position.scss +129 -66
  29. package/src/styles/utilities/_shadows.scss +23 -29
  30. package/src/styles/utilities/_sizing.scss +269 -108
  31. package/src/styles/utilities/_spacing.scss +254 -156
  32. package/src/styles/utilities/_tooltips.scss +35 -31
  33. package/src/styles/utilities/_transforms.scss +179 -156
  34. package/src/styles/utilities/_transitions.scss +134 -68
  35. package/src/styles/utilities/_typography.scss +341 -127
  36. package/src/styles/utilities/_z-index.scss +79 -49
  37. package/src/styles/abstracts/_index.scss +0 -1
  38. package/src/styles/base/_index.scss +0 -2
  39. package/src/styles/layouts/_index.scss +0 -3
  40. package/src/styles/themes/_index.scss +0 -1
  41. package/src/styles/utilities/_index.scss +0 -23
@@ -1,12 +1,11 @@
1
1
  // Section: Text
2
2
  // Module: Text
3
3
 
4
- @use 'sass:map';
5
- @use 'sass:meta';
4
+ @use "sass:map";
5
+ @use "sass:meta";
6
6
 
7
7
  // Import variables
8
- @use '../abstracts' as VAR;
9
-
8
+ @use "../abstracts/config" as VAR;
10
9
 
11
10
  /**
12
11
  * Typography Utilities
@@ -30,41 +29,58 @@
30
29
  /**
31
30
  * Text size utility
32
31
  * @param {string} $size - The size of the text.
33
- */
32
+ */
34
33
  @mixin text-size($size) {
35
- @if map.has-key(VAR.$font-sizes, $size) {
36
- font-size: map.get(VAR.$font-sizes, $size);
37
- } @else {
38
- font-size: $size;
39
- }
34
+ @if map.has-key(VAR.$font-sizes, $size) {
35
+ font-size: map.get(VAR.$font-sizes, $size);
36
+ } @else {
37
+ font-size: $size;
38
+ }
40
39
  }
41
40
 
42
41
  // Font weights
43
- @mixin font-thin { font-weight: 100; }
44
- @mixin font-extralight { font-weight: 200; }
45
- @mixin font-light { font-weight: 300; }
46
- @mixin font-normal { font-weight: 400; }
47
- @mixin font-medium { font-weight: 500; }
48
- @mixin font-semibold { font-weight: 600; }
49
- @mixin font-bold { font-weight: 700; }
50
- @mixin font-extrabold { font-weight: 800; }
51
- @mixin font-black { font-weight: 900; }
52
-
53
-
54
- @mixin leading($value){
55
- @if meta.type-of($value) == 'number' {
42
+ @mixin font-thin {
43
+ font-weight: 100;
44
+ }
45
+ @mixin font-extralight {
46
+ font-weight: 200;
47
+ }
48
+ @mixin font-light {
49
+ font-weight: 300;
50
+ }
51
+ @mixin font-normal {
52
+ font-weight: 400;
53
+ }
54
+ @mixin font-medium {
55
+ font-weight: 500;
56
+ }
57
+ @mixin font-semibold {
58
+ font-weight: 600;
59
+ }
60
+ @mixin font-bold {
61
+ font-weight: 700;
62
+ }
63
+ @mixin font-extrabold {
64
+ font-weight: 800;
65
+ }
66
+ @mixin font-black {
67
+ font-weight: 900;
68
+ }
69
+
70
+ @mixin leading($value) {
71
+ @if meta.type-of($value) == "number" {
56
72
  line-height: $value;
57
- } @else if $value == 'none' {
73
+ } @else if $value == "none" {
58
74
  line-height: 1;
59
- } @else if $value == 'tight' {
75
+ } @else if $value == "tight" {
60
76
  line-height: 1.25;
61
- } @else if $value == 'snug' {
77
+ } @else if $value == "snug" {
62
78
  line-height: 1.375;
63
- } @else if $value == 'normal' {
79
+ } @else if $value == "normal" {
64
80
  line-height: 1.5;
65
- } @else if $value == 'relaxed' {
81
+ } @else if $value == "relaxed" {
66
82
  line-height: 1.625;
67
- } @else if $value == 'loose' {
83
+ } @else if $value == "loose" {
68
84
  line-height: 2;
69
85
  } @else {
70
86
  line-height: $value;
@@ -72,40 +88,77 @@
72
88
  }
73
89
 
74
90
  // Line heights
75
- @mixin leading-none { @include leading(none);}
76
- @mixin leading-tight { @include leading(tight);}
77
- @mixin leading-snug { @include leading(snug);}
78
- @mixin leading-normal { @include leading(normal);}
79
- @mixin leading-relaxed { @include leading(relaxed);}
80
- @mixin leading-loose { @include leading(loose);}
91
+ @mixin leading-none {
92
+ @include leading(none);
93
+ }
94
+ @mixin leading-tight {
95
+ @include leading(tight);
96
+ }
97
+ @mixin leading-snug {
98
+ @include leading(snug);
99
+ }
100
+ @mixin leading-normal {
101
+ @include leading(normal);
102
+ }
103
+ @mixin leading-relaxed {
104
+ @include leading(relaxed);
105
+ }
106
+ @mixin leading-loose {
107
+ @include leading(loose);
108
+ }
81
109
 
82
110
  // Text alignment
83
- @mixin text-left { text-align: left; }
84
- @mixin text-center { text-align: center; }
85
- @mixin text-right { text-align: right; }
86
- @mixin text-justify { text-align: justify; }
87
-
111
+ @mixin text-left {
112
+ text-align: left;
113
+ }
114
+ @mixin text-center {
115
+ text-align: center;
116
+ }
117
+ @mixin text-right {
118
+ text-align: right;
119
+ }
120
+ @mixin text-justify {
121
+ text-align: justify;
122
+ }
88
123
 
89
124
  // Text transform mixins
90
- @mixin uppercase { text-transform: uppercase; }
91
- @mixin lowercase { text-transform: lowercase; }
92
- @mixin capitalize { text-transform: capitalize; }
93
- @mixin normal-case { text-transform: none; }
125
+ @mixin uppercase {
126
+ text-transform: uppercase;
127
+ }
128
+ @mixin lowercase {
129
+ text-transform: lowercase;
130
+ }
131
+ @mixin capitalize {
132
+ text-transform: capitalize;
133
+ }
134
+ @mixin normal-case {
135
+ text-transform: none;
136
+ }
94
137
 
95
138
  // Font style mixins
96
- @mixin italic { font-style: italic; }
97
- @mixin not-italic { font-style: normal; }
139
+ @mixin italic {
140
+ font-style: italic;
141
+ }
142
+ @mixin not-italic {
143
+ font-style: normal;
144
+ }
98
145
 
99
146
  // Text decoration mixins
100
- @mixin underline { text-decoration: underline; }
101
- @mixin line-through { text-decoration: line-through; }
102
- @mixin no-underline { text-decoration: none; }
147
+ @mixin underline {
148
+ text-decoration: underline;
149
+ }
150
+ @mixin line-through {
151
+ text-decoration: line-through;
152
+ }
153
+ @mixin no-underline {
154
+ text-decoration: none;
155
+ }
103
156
 
104
157
  // Text overflow mixin
105
- @mixin truncate {
106
- overflow: hidden;
107
- text-overflow: ellipsis;
108
- white-space: nowrap;
158
+ @mixin truncate {
159
+ overflow: hidden;
160
+ text-overflow: ellipsis;
161
+ white-space: nowrap;
109
162
  }
110
163
 
111
164
  @mixin overflow-label {
@@ -124,127 +177,288 @@
124
177
  text-overflow: ellipsis;
125
178
  }
126
179
 
127
-
128
180
  @mixin break-normal {
129
181
  overflow-wrap: normal;
130
182
  word-break: normal;
131
183
  }
132
184
 
133
- @mixin break-words { overflow-wrap: break-word; }
134
- @mixin break-all { word-break: break-all; }
135
- @mixin whitespace-normal { white-space: normal; }
136
- @mixin whitespace-nowrap { white-space: nowrap; }
137
- @mixin whitespace-pre { white-space: pre; }
138
- @mixin whitespace-pre-line { white-space: pre-line; }
139
- @mixin whitespace-pre-wrap { white-space: pre-wrap; }
140
-
185
+ @mixin break-words {
186
+ overflow-wrap: break-word;
187
+ }
188
+ @mixin break-all {
189
+ word-break: break-all;
190
+ }
191
+ @mixin whitespace-normal {
192
+ white-space: normal;
193
+ }
194
+ @mixin whitespace-nowrap {
195
+ white-space: nowrap;
196
+ }
197
+ @mixin whitespace-pre {
198
+ white-space: pre;
199
+ }
200
+ @mixin whitespace-pre-line {
201
+ white-space: pre-line;
202
+ }
203
+ @mixin whitespace-pre-wrap {
204
+ white-space: pre-wrap;
205
+ }
141
206
 
142
207
  // Custom letter spacing mixin with value
143
208
  @mixin tracking($value) {
144
- @if meta.type-of($value) == 'number' {
209
+ @if meta.type-of($value) == "number" {
145
210
  letter-spacing: $value;
146
- } @else if $value == 'tighter' {
211
+ } @else if $value == "tighter" {
147
212
  letter-spacing: -0.05em;
148
- } @else if $value == 'tight' {
213
+ } @else if $value == "tight" {
149
214
  letter-spacing: -0.025em;
150
- } @else if $value == 'normal' {
215
+ } @else if $value == "normal" {
151
216
  letter-spacing: 0;
152
- } @else if $value == 'wide' {
217
+ } @else if $value == "wide" {
153
218
  letter-spacing: 0.025em;
154
- } @else if $value == 'wider' {
219
+ } @else if $value == "wider" {
155
220
  letter-spacing: 0.05em;
156
- } @else if $value == 'widest' {
221
+ } @else if $value == "widest" {
157
222
  letter-spacing: 0.1em;
158
223
  } @else {
159
224
  letter-spacing: $value;
160
225
  }
161
226
  }
162
227
 
163
- @mixin tracking-tighter { @include tracking(tighter) };
164
- @mixin tracking-tight { @include tracking(tight) };
165
- @mixin tracking-normal { @include tracking(normal) };
166
- @mixin tracking-wide { @include tracking(wide) };
167
- @mixin tracking-wider { @include tracking(wider) };
168
- @mixin tracking-widest { @include tracking(widest) };
169
-
228
+ @mixin tracking-tighter {
229
+ @include tracking(tighter);
230
+ }
231
+ @mixin tracking-tight {
232
+ @include tracking(tight);
233
+ }
234
+ @mixin tracking-normal {
235
+ @include tracking(normal);
236
+ }
237
+ @mixin tracking-wide {
238
+ @include tracking(wide);
239
+ }
240
+ @mixin tracking-wider {
241
+ @include tracking(wider);
242
+ }
243
+ @mixin tracking-widest {
244
+ @include tracking(widest);
245
+ }
170
246
 
171
247
  @mixin responsive-typography($breakpoint: null) {
172
248
  $suffix: if($breakpoint, "\\@#{$breakpoint}", "");
173
249
 
174
250
  @each $size, $val in VAR.$font-sizes {
175
- .text-#{$size}#{$suffix} { @include text-size($size); }
251
+ #{VAR.$parent-selector} .text-#{$size}#{$suffix} {
252
+ @include text-size($size);
253
+ }
176
254
  }
177
255
 
178
256
  // Generate font weight utilities
179
- .font-thin#{$suffix} { @include font-thin; }
180
- .font-extralight#{$suffix} { @include font-extralight; }
181
- .font-light#{$suffix} { @include font-light; }
182
- .font-normal#{$suffix} { @include font-normal; }
183
- .font-medium#{$suffix} { @include font-medium; }
184
- .font-semibold#{$suffix} { @include font-semibold; }
185
- .font-bold#{$suffix} { @include font-bold; }
186
- .font-extrabold#{$suffix} { @include font-extrabold; }
187
- .font-black#{$suffix} { @include font-black; }
257
+ #{VAR.$parent-selector} .font-thin#{$suffix} {
258
+ @include font-thin;
259
+ }
260
+
261
+ #{VAR.$parent-selector} .font-extralight#{$suffix} {
262
+ @include font-extralight;
263
+ }
264
+
265
+ #{VAR.$parent-selector} .font-light#{$suffix} {
266
+ @include font-light;
267
+ }
268
+
269
+ #{VAR.$parent-selector} .font-normal#{$suffix} {
270
+ @include font-normal;
271
+ }
272
+
273
+ #{VAR.$parent-selector} .font-medium#{$suffix} {
274
+ @include font-medium;
275
+ }
276
+
277
+ #{VAR.$parent-selector} .font-semibold#{$suffix} {
278
+ @include font-semibold;
279
+ }
280
+
281
+ #{VAR.$parent-selector} .font-bold#{$suffix} {
282
+ @include font-bold;
283
+ }
284
+
285
+ #{VAR.$parent-selector} .font-extrabold#{$suffix} {
286
+ @include font-extrabold;
287
+ }
288
+
289
+ #{VAR.$parent-selector} .font-black#{$suffix} {
290
+ @include font-black;
291
+ }
188
292
 
189
293
  // Generate line height utilities
190
- .leading-none#{$suffix} { @include leading-none; }
191
- .leading-tight#{$suffix} { @include leading-tight; }
192
- .leading-snug#{$suffix} { @include leading-snug; }
193
- .leading-normal#{$suffix} { @include leading-normal; }
194
- .leading-relaxed#{$suffix} { @include leading-relaxed; }
195
- .leading-loose#{$suffix} { @include leading-loose; }
294
+ #{VAR.$parent-selector} .leading-none#{$suffix} {
295
+ @include leading-none;
296
+ }
297
+
298
+ #{VAR.$parent-selector} .leading-tight#{$suffix} {
299
+ @include leading-tight;
300
+ }
301
+
302
+ #{VAR.$parent-selector} .leading-snug#{$suffix} {
303
+ @include leading-snug;
304
+ }
305
+
306
+ #{VAR.$parent-selector} .leading-normal#{$suffix} {
307
+ @include leading-normal;
308
+ }
309
+
310
+ #{VAR.$parent-selector} .leading-relaxed#{$suffix} {
311
+ @include leading-relaxed;
312
+ }
313
+
314
+ #{VAR.$parent-selector} .leading-loose#{$suffix} {
315
+ @include leading-loose;
316
+ }
196
317
 
197
318
  // Generate text alignment utilities
198
- .text-left#{$suffix} { @include text-left; }
199
- .text-center#{$suffix} { @include text-center; }
200
- .text-right#{$suffix} { @include text-right; }
201
- .text-justify#{$suffix} { @include text-justify; }
319
+ #{VAR.$parent-selector} .text-left#{$suffix} {
320
+ @include text-left;
321
+ }
322
+
323
+ #{VAR.$parent-selector} .text-center#{$suffix} {
324
+ @include text-center;
325
+ }
326
+
327
+ #{VAR.$parent-selector} .text-right#{$suffix} {
328
+ @include text-right;
329
+ }
330
+
331
+ #{VAR.$parent-selector} .text-justify#{$suffix} {
332
+ @include text-justify;
333
+ }
202
334
 
203
335
  // Classes using mixins
204
- .uppercase#{$suffix} { @include uppercase; }
205
- .lowercase#{$suffix} { @include lowercase; }
206
- .capitalize#{$suffix} { @include capitalize; }
207
- .normal-case#{$suffix} { @include normal-case; }
336
+ #{VAR.$parent-selector} .uppercase#{$suffix} {
337
+ @include uppercase;
338
+ }
339
+
340
+ #{VAR.$parent-selector} .lowercase#{$suffix} {
341
+ @include lowercase;
342
+ }
343
+
344
+ #{VAR.$parent-selector} .capitalize#{$suffix} {
345
+ @include capitalize;
346
+ }
347
+
348
+ #{VAR.$parent-selector} .normal-case#{$suffix} {
349
+ @include normal-case;
350
+ }
351
+
352
+ #{VAR.$parent-selector} .italic#{$suffix} {
353
+ @include italic;
354
+ }
208
355
 
209
- .italic#{$suffix} { @include italic; }
210
- .not-italic#{$suffix} { @include not-italic; }
356
+ #{VAR.$parent-selector} .not-italic#{$suffix} {
357
+ @include not-italic;
358
+ }
211
359
 
212
- .underline#{$suffix} { @include underline; }
213
- .line-through#{$suffix} { @include line-through; }
214
- .no-underline#{$suffix} { @include no-underline; }
360
+ #{VAR.$parent-selector} .underline#{$suffix} {
361
+ @include underline;
362
+ }
215
363
 
216
- .truncate#{$suffix} { @include truncate; }
364
+ #{VAR.$parent-selector} .line-through#{$suffix} {
365
+ @include line-through;
366
+ }
217
367
 
218
- .truncate-2#{$suffix} { @include truncate-lines(2); }
219
- .truncate-3#{$suffix} { @include truncate-lines(3); }
220
- .truncate-4#{$suffix} { @include truncate-lines(4); }
221
- .truncate-5#{$suffix} { @include truncate-lines(5); }
368
+ #{VAR.$parent-selector} .no-underline#{$suffix} {
369
+ @include no-underline;
370
+ }
371
+
372
+ #{VAR.$parent-selector} .truncate#{$suffix} {
373
+ @include truncate;
374
+ }
375
+
376
+ #{VAR.$parent-selector} .truncate-2#{$suffix} {
377
+ @include truncate-lines(2);
378
+ }
222
379
 
223
- .tracking-tighter#{$suffix} { @include tracking(tighter) };
224
- .tracking-tight#{$suffix} { @include tracking(tight) };
225
- .tracking-normal#{$suffix} { @include tracking(normal) };
226
- .tracking-wide#{$suffix} { @include tracking(wide) };
227
- .tracking-wider#{$suffix} { @include tracking(wider) };
228
- .tracking-widest#{$suffix} { @include tracking(widest) };
229
-
230
- .overflow-label#{$suffix}{@include overflow-label};
380
+ #{VAR.$parent-selector} .truncate-3#{$suffix} {
381
+ @include truncate-lines(3);
382
+ }
383
+
384
+ #{VAR.$parent-selector} .truncate-4#{$suffix} {
385
+ @include truncate-lines(4);
386
+ }
387
+
388
+ #{VAR.$parent-selector} .truncate-5#{$suffix} {
389
+ @include truncate-lines(5);
390
+ }
391
+
392
+ #{VAR.$parent-selector} .tracking-tighter#{$suffix} {
393
+ @include tracking(tighter);
394
+ }
395
+
396
+ #{VAR.$parent-selector} .tracking-tight#{$suffix} {
397
+ @include tracking(tight);
398
+ }
399
+
400
+ #{VAR.$parent-selector} .tracking-normal#{$suffix} {
401
+ @include tracking(normal);
402
+ }
403
+
404
+ #{VAR.$parent-selector} .tracking-wide#{$suffix} {
405
+ @include tracking(wide);
406
+ }
407
+
408
+ #{VAR.$parent-selector} .tracking-wider#{$suffix} {
409
+ @include tracking(wider);
410
+ }
411
+
412
+ #{VAR.$parent-selector} .tracking-widest#{$suffix} {
413
+ @include tracking(widest);
414
+ }
415
+
416
+ #{VAR.$parent-selector} .overflow-label#{$suffix} {
417
+ @include overflow-label;
418
+ }
231
419
  }
232
420
 
233
421
  @if VAR.$generate-utility-classes {
234
422
  @include responsive-typography;
235
- .break-normal { @include break-normal; }
236
- .break-words { @include break-words; }
237
- .break-all { @include break-all; }
238
- .whitespace-normal { @include whitespace-normal; }
239
- .whitespace-nowrap { @include whitespace-nowrap; }
240
- .whitespace-pre { @include whitespace-pre; }
241
- .whitespace-pre-line { @include whitespace-pre-line; }
242
- .whitespace-pre-wrap { @include whitespace-pre-wrap; }
423
+
424
+ #{VAR.$parent-selector} .break-normal {
425
+ @include break-normal;
426
+ }
427
+
428
+ #{VAR.$parent-selector} .break-words {
429
+ @include break-words;
430
+ }
431
+
432
+ #{VAR.$parent-selector} .break-all {
433
+ @include break-all;
434
+ }
435
+
436
+ #{VAR.$parent-selector} .whitespace-normal {
437
+ @include whitespace-normal;
438
+ }
439
+
440
+ #{VAR.$parent-selector} .whitespace-nowrap {
441
+ @include whitespace-nowrap;
442
+ }
443
+
444
+ #{VAR.$parent-selector} .whitespace-pre {
445
+ @include whitespace-pre;
446
+ }
447
+
448
+ #{VAR.$parent-selector} .whitespace-pre-line {
449
+ @include whitespace-pre-line;
450
+ }
451
+
452
+ #{VAR.$parent-selector} .whitespace-pre-wrap {
453
+ @include whitespace-pre-wrap;
454
+ }
243
455
 
244
456
  @each $breakpoint, $width in VAR.$breakpoints {
245
457
  @media (min-width: #{$width}) {
246
458
  @each $size, $val in VAR.$font-sizes {
247
- .text-#{$size}\@#{$breakpoint} { @include text-size($size); }
459
+ #{VAR.$parent-selector} .text-#{$size}\@#{$breakpoint} {
460
+ @include text-size($size);
461
+ }
248
462
  }
249
463
  @include responsive-typography($breakpoint);
250
464
  }