@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,6 +1,6 @@
1
1
  @use "sass:map";
2
2
  @use "sass:meta";
3
- @use "../abstracts" as *;
3
+ @use "../abstracts/config" as VAR;
4
4
  @use "../abstracts/functions" as FN;
5
5
 
6
6
  /**
@@ -16,86 +16,86 @@
16
16
 
17
17
  // Blur values
18
18
  $backdrop-blur-values: (
19
- 'none': 0,
20
- 'sm': 4px,
21
- 'md': 8px,
22
- 'lg': 12px,
23
- 'xl': 24px,
24
- '2xl': 40px,
19
+ "none": 0,
20
+ "sm": 4px,
21
+ "md": 8px,
22
+ "lg": 12px,
23
+ "xl": 24px,
24
+ "2xl": 40px,
25
25
  );
26
26
 
27
- // Brightness values
27
+ // Brightness values
28
28
  $backdrop-brightness-values: (
29
- 'none': 100%,
30
- '75': 75%,
31
- '90': 90%,
32
- '110': 110%,
33
- '125': 125%,
34
- '150': 150%,
29
+ "none": 100%,
30
+ "75": 75%,
31
+ "90": 90%,
32
+ "110": 110%,
33
+ "125": 125%,
34
+ "150": 150%,
35
35
  );
36
36
 
37
37
  // Contrast values
38
38
  $backdrop-contrast-values: (
39
- 'none': 100%,
40
- '75': 75%,
41
- '90': 90%,
42
- '110': 110%,
43
- '125': 125%,
44
- '150': 150%,
39
+ "none": 100%,
40
+ "75": 75%,
41
+ "90": 90%,
42
+ "110": 110%,
43
+ "125": 125%,
44
+ "150": 150%,
45
45
  );
46
46
 
47
47
  // Grayscale values
48
48
  $backdrop-grayscale-values: (
49
- 'none': 0,
50
- '25': 25%,
51
- '50': 50%,
52
- '75': 75%,
53
- '100': 100%,
49
+ "none": 0,
50
+ "25": 25%,
51
+ "50": 50%,
52
+ "75": 75%,
53
+ "100": 100%,
54
54
  );
55
55
 
56
56
  // Saturate values
57
57
  $backdrop-saturate-values: (
58
- 'none': 100%,
59
- '50': 50%,
60
- '75': 75%,
61
- '125': 125%,
62
- '150': 150%,
63
- '200': 200%,
58
+ "none": 100%,
59
+ "50": 50%,
60
+ "75": 75%,
61
+ "125": 125%,
62
+ "150": 150%,
63
+ "200": 200%,
64
64
  );
65
65
 
66
66
  // Sepia values
67
67
  $backdrop-sepia-values: (
68
- 'none': 0,
69
- '25': 25%,
70
- '50': 50%,
71
- '75': 75%,
72
- '100': 100%,
68
+ "none": 0,
69
+ "25": 25%,
70
+ "50": 50%,
71
+ "75": 75%,
72
+ "100": 100%,
73
73
  );
74
74
 
75
75
  // Hue-rotate values
76
76
  $backdrop-hue-rotate-values: (
77
- '0': 0deg,
78
- '90': 90deg,
79
- '180': 180deg,
80
- '270': 270deg,
77
+ "0": 0deg,
78
+ "90": 90deg,
79
+ "180": 180deg,
80
+ "270": 270deg,
81
81
  );
82
82
 
83
83
  // Invert values
84
84
  $backdrop-invert-values: (
85
- 'none': 0,
86
- '25': 25%,
87
- '50': 50%,
88
- '75': 75%,
89
- '100': 100%,
85
+ "none": 0,
86
+ "25": 25%,
87
+ "50": 50%,
88
+ "75": 75%,
89
+ "100": 100%,
90
90
  );
91
91
 
92
92
  // Common backdrop-filter presets
93
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%),
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
99
  );
100
100
 
101
101
  // Base backdrop-filter
@@ -103,167 +103,216 @@ $backdrop-filter-presets: (
103
103
  backdrop-filter: $value;
104
104
  }
105
105
 
106
- // Specific filter mixins
106
+ // Base layer mixin that initializes the CSS variables
107
+ @mixin backdrop-layer {
108
+ --backdrop-blur: blur(0);
109
+ --backdrop-brightness: brightness(100%);
110
+ --backdrop-contrast: contrast(100%);
111
+ --backdrop-grayscale: grayscale(0);
112
+ --backdrop-hue-rotate: hue-rotate(0deg);
113
+ --backdrop-invert: invert(0);
114
+ --backdrop-saturate: saturate(100%);
115
+ --backdrop-sepia: sepia(0);
116
+
117
+ backdrop-filter: var(--backdrop-blur) var(--backdrop-brightness) var(--backdrop-contrast) var(--backdrop-grayscale) var(--backdrop-hue-rotate) var(--backdrop-invert) var(--backdrop-saturate) var(--backdrop-sepia);
118
+ }
119
+
120
+ // Specific filter mixins - now they set CSS variables instead of the backdrop-filter property
107
121
  @mixin backdrop-blur($value) {
108
122
  @if map.has-key($backdrop-blur-values, $value) {
109
- @include backdrop-filter(blur(map.get($backdrop-blur-values, $value)));
123
+ --backdrop-blur: blur(#{map.get($backdrop-blur-values, $value)});
110
124
  } @else {
111
- @include backdrop-filter(blur($value));
125
+ --backdrop-blur: blur(#{$value});
112
126
  }
113
127
  }
114
128
 
115
129
  @mixin backdrop-brightness($value) {
116
130
  @if map.has-key($backdrop-brightness-values, $value) {
117
- @include backdrop-filter(brightness(map.get($backdrop-brightness-values, $value)));
131
+ --backdrop-brightness: brightness(#{map.get($backdrop-brightness-values, $value)});
118
132
  } @else {
119
- @include backdrop-filter(brightness($value));
133
+ --backdrop-brightness: brightness(#{$value});
120
134
  }
121
135
  }
122
136
 
123
137
  @mixin backdrop-contrast($value) {
124
138
  @if map.has-key($backdrop-contrast-values, $value) {
125
- @include backdrop-filter(contrast(map.get($backdrop-contrast-values, $value)));
139
+ --backdrop-contrast: contrast(#{map.get($backdrop-contrast-values, $value)});
126
140
  } @else {
127
- @include backdrop-filter(contrast($value));
141
+ --backdrop-contrast: contrast(#{$value});
128
142
  }
129
143
  }
130
144
 
131
145
  @mixin backdrop-grayscale($value) {
132
146
  @if map.has-key($backdrop-grayscale-values, $value) {
133
- @include backdrop-filter(grayscale(map.get($backdrop-grayscale-values, $value)));
147
+ --backdrop-grayscale: grayscale(#{map.get($backdrop-grayscale-values, $value)});
134
148
  } @else {
135
- @include backdrop-filter(grayscale($value));
149
+ --backdrop-grayscale: grayscale(#{$value});
136
150
  }
137
151
  }
138
152
 
139
153
  @mixin backdrop-hue-rotate($value) {
140
154
  @if map.has-key($backdrop-hue-rotate-values, $value) {
141
- @include backdrop-filter(hue-rotate(map.get($backdrop-hue-rotate-values, $value)));
155
+ --backdrop-hue-rotate: hue-rotate(#{map.get($backdrop-hue-rotate-values, $value)});
142
156
  } @else {
143
- @include backdrop-filter(hue-rotate($value));
157
+ --backdrop-hue-rotate: hue-rotate(#{$value});
144
158
  }
145
159
  }
146
160
 
147
161
  @mixin backdrop-invert($value) {
148
162
  @if map.has-key($backdrop-invert-values, $value) {
149
- @include backdrop-filter(invert(map.get($backdrop-invert-values, $value)));
163
+ --backdrop-invert: invert(#{map.get($backdrop-invert-values, $value)});
150
164
  } @else {
151
- @include backdrop-filter(invert($value));
165
+ --backdrop-invert: invert(#{$value});
152
166
  }
153
167
  }
154
168
 
155
169
  @mixin backdrop-saturate($value) {
156
170
  @if map.has-key($backdrop-saturate-values, $value) {
157
- @include backdrop-filter(saturate(map.get($backdrop-saturate-values, $value)));
171
+ --backdrop-saturate: saturate(#{map.get($backdrop-saturate-values, $value)});
158
172
  } @else {
159
- @include backdrop-filter(saturate($value));
173
+ --backdrop-saturate: saturate(#{$value});
160
174
  }
161
175
  }
162
176
 
163
177
  @mixin backdrop-sepia($value) {
164
178
  @if map.has-key($backdrop-sepia-values, $value) {
165
- @include backdrop-filter(sepia(map.get($backdrop-sepia-values, $value)));
179
+ --backdrop-sepia: sepia(#{map.get($backdrop-sepia-values, $value)});
166
180
  } @else {
167
- @include backdrop-filter(sepia($value));
181
+ --backdrop-sepia: sepia(#{$value});
168
182
  }
169
183
  }
170
184
 
171
185
  // Preset backdrop effects
172
186
  @mixin backdrop-frosted {
173
- @include backdrop-filter(map.get($backdrop-filter-presets, 'frosted'));
187
+ backdrop-filter: #{map.get($backdrop-filter-presets, "frosted")};
174
188
  }
175
189
 
176
190
  @mixin backdrop-glass {
177
- @include backdrop-filter(map.get($backdrop-filter-presets, 'glass'));
191
+ backdrop-filter: #{map.get($backdrop-filter-presets, "glass")};
178
192
  }
179
193
 
180
194
  @mixin backdrop-dark-glass {
181
- @include backdrop-filter(map.get($backdrop-filter-presets, 'dark-glass'));
195
+ backdrop-filter: #{map.get($backdrop-filter-presets, "dark-glass")};
182
196
  }
183
197
 
184
198
  @mixin backdrop-crystal {
185
- @include backdrop-filter(map.get($backdrop-filter-presets, 'crystal'));
199
+ backdrop-filter: #{map.get($backdrop-filter-presets, "crystal")};
186
200
  }
187
201
 
188
202
  @mixin backdrop-matte {
189
- @include backdrop-filter(map.get($backdrop-filter-presets, 'matte'));
203
+ backdrop-filter: #{map.get($backdrop-filter-presets, "matte")};
190
204
  }
191
205
 
192
206
  // Reset filter
193
207
  @mixin backdrop-none {
194
208
  backdrop-filter: none;
209
+
210
+ --backdrop-blur: none;
211
+ --backdrop-brightness: none;
212
+ --backdrop-contrast: none;
213
+ --backdrop-grayscale: none;
214
+ --backdrop-hue-rotate: none;
215
+ --backdrop-invert: none;
216
+ --backdrop-saturate: none;
217
+ --backdrop-sepia: none;
195
218
  }
196
219
 
197
220
  // Generate utility classes
198
221
  @mixin generate-backdrop-filter-utilities($breakpoint: null) {
199
222
  $suffix: if($breakpoint, "\\@#{$breakpoint}", "");
200
-
223
+
224
+ // Base layer class
225
+ #{VAR.$parent-selector} .backdrop-layer#{$suffix} {
226
+ @include backdrop-layer;
227
+ }
228
+
201
229
  // Basic backdrop utilities
202
- .backdrop-none#{$suffix} { @include backdrop-none; }
203
-
230
+ #{VAR.$parent-selector} .backdrop-none#{$suffix} {
231
+ @include backdrop-none;
232
+ }
233
+
204
234
  // Blur utilities
205
235
  @each $key, $value in $backdrop-blur-values {
206
- .backdrop-blur-#{$key}#{$suffix} { @include backdrop-blur($key); }
236
+ #{VAR.$parent-selector} .backdrop-blur-#{$key}#{$suffix} {
237
+ @include backdrop-blur($key);
238
+ }
207
239
  }
208
-
240
+
209
241
  // Brightness utilities
210
242
  @each $key, $value in $backdrop-brightness-values {
211
- .backdrop-brightness-#{$key}#{$suffix} { @include backdrop-brightness($key); }
243
+ #{VAR.$parent-selector} .backdrop-brightness-#{$key}#{$suffix} {
244
+ @include backdrop-brightness($key);
245
+ }
212
246
  }
213
-
247
+
214
248
  // Contrast utilities
215
249
  @each $key, $value in $backdrop-contrast-values {
216
- .backdrop-contrast-#{$key}#{$suffix} { @include backdrop-contrast($key); }
250
+ #{VAR.$parent-selector} .backdrop-contrast-#{$key}#{$suffix} {
251
+ @include backdrop-contrast($key);
252
+ }
217
253
  }
218
-
254
+
219
255
  // Grayscale utilities
220
256
  @each $key, $value in $backdrop-grayscale-values {
221
- .backdrop-grayscale-#{$key}#{$suffix} { @include backdrop-grayscale($key); }
257
+ #{VAR.$parent-selector} .backdrop-grayscale-#{$key}#{$suffix} {
258
+ @include backdrop-grayscale($key);
259
+ }
222
260
  }
223
-
261
+
224
262
  // Saturate utilities
225
263
  @each $key, $value in $backdrop-saturate-values {
226
- .backdrop-saturate-#{$key}#{$suffix} { @include backdrop-saturate($key); }
264
+ #{VAR.$parent-selector} .backdrop-saturate-#{$key}#{$suffix} {
265
+ @include backdrop-saturate($key);
266
+ }
227
267
  }
228
-
268
+
229
269
  // Sepia utilities
230
270
  @each $key, $value in $backdrop-sepia-values {
231
- .backdrop-sepia-#{$key}#{$suffix} { @include backdrop-sepia($key); }
271
+ #{VAR.$parent-selector} .backdrop-sepia-#{$key}#{$suffix} {
272
+ @include backdrop-sepia($key);
273
+ }
232
274
  }
233
-
275
+
234
276
  // Hue-rotate utilities
235
277
  @each $key, $value in $backdrop-hue-rotate-values {
236
- .backdrop-hue-#{$key}#{$suffix} { @include backdrop-hue-rotate($key); }
278
+ #{VAR.$parent-selector} .backdrop-hue-#{$key}#{$suffix} {
279
+ @include backdrop-hue-rotate($key);
280
+ }
237
281
  }
238
-
282
+
239
283
  // Invert utilities
240
284
  @each $key, $value in $backdrop-invert-values {
241
- .backdrop-invert-#{$key}#{$suffix} { @include backdrop-invert($key); }
285
+ #{VAR.$parent-selector} .backdrop-invert-#{$key}#{$suffix} {
286
+ @include backdrop-invert($key);
287
+ }
288
+ }
289
+
290
+ // Preset utilities (these override the CSS variables approach)
291
+ #{VAR.$parent-selector} .backdrop-frosted#{$suffix} {
292
+ @include backdrop-frosted;
293
+ }
294
+ #{VAR.$parent-selector} .backdrop-glass#{$suffix} {
295
+ @include backdrop-glass;
296
+ }
297
+ #{VAR.$parent-selector} .backdrop-dark-glass#{$suffix} {
298
+ @include backdrop-dark-glass;
299
+ }
300
+ #{VAR.$parent-selector} .backdrop-crystal#{$suffix} {
301
+ @include backdrop-crystal;
302
+ }
303
+ #{VAR.$parent-selector} .backdrop-matte#{$suffix} {
304
+ @include backdrop-matte;
242
305
  }
243
-
244
- // Preset utilities
245
- .backdrop-frosted#{$suffix} { @include backdrop-frosted; }
246
- .backdrop-glass#{$suffix} { @include backdrop-glass; }
247
- .backdrop-dark-glass#{$suffix} { @include backdrop-dark-glass; }
248
- .backdrop-crystal#{$suffix} { @include backdrop-crystal; }
249
- .backdrop-matte#{$suffix} { @include backdrop-matte; }
250
306
  }
251
307
 
252
- @if $generate-utility-classes {
308
+ @if VAR.$generate-utility-classes {
253
309
  // Generate base utilities
254
310
  @include generate-backdrop-filter-utilities;
255
-
311
+
256
312
  // Generate responsive variants
257
- @each $breakpoint, $width in $breakpoints {
313
+ @each $breakpoint, $width in VAR.$breakpoints {
258
314
  @media (min-width: #{$width}) {
259
315
  @include generate-backdrop-filter-utilities($breakpoint);
260
316
  }
261
317
  }
262
318
  }
263
-
264
- // Update your mixins-map.scss to include these mixins:
265
- // @else if str.index($ms, 'backdrop-blur(') == 1 {
266
- // $param1: list.nth($params, 1);
267
- // @include backdrop-blur($param1);
268
- // }
269
- // Add similar entries for all other backdrop filter mixins