@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.
Files changed (41) hide show
  1. package/README.md +2 -2
  2. package/dist/nuvoui.css +27685 -22739
  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 +7 -8
  7. package/src/styles/abstracts/_config.scss +87 -34
  8. package/src/styles/abstracts/_functions.scss +70 -37
  9. package/src/styles/base/_base.scss +79 -59
  10. package/src/styles/base/_reset.scss +11 -8
  11. package/src/styles/index.scss +32 -17
  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 +95 -106
  17. package/src/styles/utilities/_alignment.scss +40 -13
  18. package/src/styles/utilities/_animations.scss +361 -92
  19. package/src/styles/utilities/_backdrop-filters.scss +297 -0
  20. package/src/styles/utilities/_borders.scss +360 -159
  21. package/src/styles/utilities/_colors.scss +24 -34
  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 +270 -92
  31. package/src/styles/utilities/_spacing.scss +317 -169
  32. package/src/styles/utilities/_tooltips.scss +36 -29
  33. package/src/styles/utilities/_transforms.scss +243 -154
  34. package/src/styles/utilities/_transitions.scss +129 -75
  35. package/src/styles/utilities/_typography.scss +341 -127
  36. package/src/styles/utilities/_z-index.scss +144 -0
  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 -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