@nuvoui/core 1.2.3 → 1.2.5
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/dist/nuvoui.css +32961 -27613
- 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 +6 -7
- package/src/styles/abstracts/_config.scss +54 -54
- package/src/styles/abstracts/_functions.scss +73 -0
- package/src/styles/abstracts/_index.scss +0 -1
- package/src/styles/base/_base.scss +25 -17
- package/src/styles/base/_index.scss +1 -1
- package/src/styles/base/_reset.scss +66 -31
- package/src/styles/index.scss +2 -5
- package/src/styles/mixins-map.scss +1 -1
- package/src/styles/themes/_theme.scss +87 -132
- package/src/styles/utilities/_alignment.scss +4 -4
- package/src/styles/utilities/_animations.scss +294 -85
- package/src/styles/utilities/_backdrop-filters.scss +269 -0
- package/src/styles/utilities/_borders.scss +46 -31
- package/src/styles/utilities/_colors.scss +0 -9
- package/src/styles/utilities/_helpers.scss +1 -1
- package/src/styles/utilities/_index.scss +3 -0
- package/src/styles/utilities/_media-queries.scss +24 -15
- package/src/styles/utilities/_sizing.scss +59 -22
- package/src/styles/utilities/_spacing.scss +108 -62
- package/src/styles/utilities/_tooltips.scss +3 -0
- package/src/styles/utilities/_transforms.scss +192 -126
- package/src/styles/utilities/_transitions.scss +4 -16
- package/src/styles/utilities/_z-index.scss +114 -0
|
@@ -11,100 +11,89 @@
|
|
|
11
11
|
* - Transform origin
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
+
// Common transform function to avoid repetition
|
|
15
|
+
@mixin apply-transform {
|
|
16
|
+
transform:
|
|
17
|
+
translateX(var(--translate-x, 0))
|
|
18
|
+
translateY(var(--translate-y, 0))
|
|
19
|
+
translateZ(var(--translate-z, 0))
|
|
20
|
+
rotate(var(--rotate, 0))
|
|
21
|
+
skewX(var(--skew-x, 0))
|
|
22
|
+
skewY(var(--skew-y, 0))
|
|
23
|
+
scaleX(var(--scale-x, 1))
|
|
24
|
+
scaleY(var(--scale-y, 1))
|
|
25
|
+
scaleZ(var(--scale-z, 1));
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
14
29
|
// Translation mixins
|
|
15
30
|
@mixin translate-x($value) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
transform: translateX(var(--translate-x)) translateY(var(--translate-y, 0)) translateZ(var(--translate-z, 0)) rotate(var(--rotate, 0)) skewX(var(--skew-x, 0)) skewY(var(--skew-y, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)) scaleZ(var(--scale-z, 1));
|
|
20
|
-
}
|
|
31
|
+
// Store the value in a CSS variable
|
|
32
|
+
--translate-x: #{$value};
|
|
33
|
+
@include apply-transform;
|
|
21
34
|
}
|
|
22
35
|
|
|
23
36
|
@mixin translate-y($value) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
transform: translateX(var(--translate-x, 0)) translateY(var(--translate-y)) translateZ(var(--translate-z, 0)) rotate(var(--rotate, 0)) skewX(var(--skew-x, 0)) skewY(var(--skew-y, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)) scaleZ(var(--scale-z, 1));
|
|
28
|
-
}
|
|
37
|
+
// Store the value in a CSS variable
|
|
38
|
+
--translate-y: #{$value};
|
|
39
|
+
@include apply-transform;
|
|
29
40
|
}
|
|
30
41
|
|
|
31
42
|
@mixin translate-z($value) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
transform: translateX(var(--translate-x, 0)) translateY(var(--translate-y, 0)) translateZ(var(--translate-z)) rotate(var(--rotate, 0)) skewX(var(--skew-x, 0)) skewY(var(--skew-y, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)) scaleZ(var(--scale-z, 1));
|
|
36
|
-
}
|
|
43
|
+
// Store the value in a CSS variable
|
|
44
|
+
--translate-z: #{$value};
|
|
45
|
+
@include apply-transform;
|
|
37
46
|
}
|
|
38
47
|
|
|
39
48
|
@mixin translate($x, $y: null) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
transform: translateX(var(--translate-x)) translateY(var(--translate-y, 0)) translateZ(var(--translate-z, 0)) rotate(var(--rotate, 0)) skewX(var(--skew-x, 0)) skewY(var(--skew-y, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)) scaleZ(var(--scale-z, 1));
|
|
49
|
+
// Always set the x value
|
|
50
|
+
--translate-x: #{$x};
|
|
51
|
+
|
|
52
|
+
// Only set y if provided
|
|
53
|
+
@if $y {
|
|
54
|
+
--translate-y: #{$y};
|
|
48
55
|
}
|
|
56
|
+
|
|
57
|
+
@include apply-transform;
|
|
49
58
|
}
|
|
50
59
|
|
|
51
60
|
// Scale mixins
|
|
52
61
|
@mixin scale-x($value) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
transform: translateX(var(--translate-x, 0)) translateY(var(--translate-y, 0)) translateZ(var(--translate-z, 0)) rotate(var(--rotate, 0)) skewX(var(--skew-x, 0)) skewY(var(--skew-y, 0)) scaleX(var(--scale-x)) scaleY(var(--scale-y, 1)) scaleZ(var(--scale-z, 1));
|
|
57
|
-
}
|
|
62
|
+
--scale-x: #{$value};
|
|
63
|
+
@include apply-transform;
|
|
58
64
|
}
|
|
59
65
|
|
|
60
66
|
@mixin scale-y($value) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
transform: translateX(var(--translate-x, 0)) translateY(var(--translate-y, 0)) translateZ(var(--translate-z, 0)) rotate(var(--rotate, 0)) skewX(var(--skew-x, 0)) skewY(var(--skew-y, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y)) scaleZ(var(--scale-z, 1));
|
|
65
|
-
}
|
|
67
|
+
--scale-y: #{$value};
|
|
68
|
+
@include apply-transform;
|
|
66
69
|
}
|
|
67
70
|
|
|
68
71
|
@mixin scale($value) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
transform: translateX(var(--translate-x, 0)) translateY(var(--translate-y, 0)) translateZ(var(--translate-z, 0)) rotate(var(--rotate, 0)) skewX(var(--skew-x, 0)) skewY(var(--skew-y, 0)) scaleX(var(--scale-x)) scaleY(var(--scale-y)) scaleZ(var(--scale-z, 1));
|
|
74
|
-
}
|
|
72
|
+
--scale-x: #{$value};
|
|
73
|
+
--scale-y: #{$value};
|
|
74
|
+
@include apply-transform;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
// Rotation mixins
|
|
78
78
|
@mixin rotate($value) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
transform: translateX(var(--translate-x, 0)) translateY(var(--translate-y, 0)) translateZ(var(--translate-z, 0)) rotate(var(--rotate)) skewX(var(--skew-x, 0)) skewY(var(--skew-y, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)) scaleZ(var(--scale-z, 1));
|
|
83
|
-
}
|
|
79
|
+
--rotate: #{$value};
|
|
80
|
+
@include apply-transform;
|
|
84
81
|
}
|
|
85
82
|
|
|
86
83
|
// Skew mixins
|
|
87
84
|
@mixin skew-x($value) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
transform: translateX(var(--translate-x, 0)) translateY(var(--translate-y, 0)) translateZ(var(--translate-z, 0)) rotate(var(--rotate, 0)) skewX(var(--skew-x)) skewY(var(--skew-y, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)) scaleZ(var(--scale-z, 1));
|
|
92
|
-
}
|
|
85
|
+
--skew-x: #{$value};
|
|
86
|
+
@include apply-transform;
|
|
93
87
|
}
|
|
94
88
|
|
|
95
89
|
@mixin skew-y($value) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
transform: translateX(var(--translate-x, 0)) translateY(var(--translate-y, 0)) translateZ(var(--translate-z, 0)) rotate(var(--rotate, 0)) skewX(var(--skew-x, 0)) skewY(var(--skew-y)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)) scaleZ(var(--scale-z, 1));
|
|
100
|
-
}
|
|
90
|
+
--skew-y: #{$value};
|
|
91
|
+
@include apply-transform;
|
|
101
92
|
}
|
|
102
93
|
|
|
103
94
|
// Transform origin
|
|
104
95
|
@mixin origin($value) {
|
|
105
|
-
& {
|
|
106
96
|
transform-origin: $value;
|
|
107
|
-
}
|
|
108
97
|
}
|
|
109
98
|
|
|
110
99
|
// Common transform values
|
|
@@ -127,95 +116,172 @@ $translate-values: (
|
|
|
127
116
|
'66p': 66.667%,
|
|
128
117
|
'75p': 75%,
|
|
129
118
|
'100p': 100%,
|
|
130
|
-
'-1': -0.25rem,
|
|
131
|
-
'-2': -0.5rem,
|
|
132
|
-
'-3': -0.75rem,
|
|
133
|
-
'-4': -1rem,
|
|
134
|
-
'-5': -1.25rem,
|
|
135
|
-
'-6': -1.5rem,
|
|
136
|
-
'-8': -2rem,
|
|
137
|
-
'-10': -2.5rem,
|
|
138
|
-
'-12': -3rem,
|
|
139
|
-
'-16': -4rem,
|
|
140
|
-
'-20': -5rem,
|
|
141
|
-
'-25p': 25%,
|
|
142
|
-
'-33p': 33.333%,
|
|
143
|
-
'-50p': 50%,
|
|
144
|
-
'-66p': 66.667%,
|
|
145
|
-
'-75p': 75%,
|
|
146
|
-
'-100p': -100%,
|
|
147
119
|
);
|
|
148
120
|
|
|
121
|
+
$negative-translate-values: (
|
|
122
|
+
'1': -0.25rem,
|
|
123
|
+
'2': -0.5rem,
|
|
124
|
+
'3': -0.75rem,
|
|
125
|
+
'4': -1rem,
|
|
126
|
+
'5': -1.25rem,
|
|
127
|
+
'6': -1.5rem,
|
|
128
|
+
'8': -2rem,
|
|
129
|
+
'10': -2.5rem,
|
|
130
|
+
'12': -3rem,
|
|
131
|
+
'16': -4rem,
|
|
132
|
+
'20': -5rem,
|
|
133
|
+
'25p': 25%,
|
|
134
|
+
'33p': 33.333%,
|
|
135
|
+
'50p': 50%,
|
|
136
|
+
'66p': 66.667%,
|
|
137
|
+
'75p': 75%,
|
|
138
|
+
'100p': -100%,
|
|
139
|
+
);
|
|
140
|
+
|
|
141
|
+
// Scale hover utilities
|
|
142
|
+
$scale-values: (
|
|
143
|
+
'0': 0,
|
|
144
|
+
'50': 0.5,
|
|
145
|
+
'75': 0.75,
|
|
146
|
+
'90': 0.9,
|
|
147
|
+
'95': 0.95,
|
|
148
|
+
'100': 1,
|
|
149
|
+
'105': 1.05,
|
|
150
|
+
'110': 1.1,
|
|
151
|
+
'125': 1.25,
|
|
152
|
+
'150': 1.5
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
// Rotation hover utilities
|
|
156
|
+
$rotation-values: (
|
|
157
|
+
'0': 0deg,
|
|
158
|
+
'45': 45deg,
|
|
159
|
+
'90': 90deg,
|
|
160
|
+
'180': 180deg,
|
|
161
|
+
'270': 270deg
|
|
162
|
+
);
|
|
163
|
+
|
|
164
|
+
// Separate map for negative rotations
|
|
165
|
+
$negative-rotation-values: (
|
|
166
|
+
'45': -45deg,
|
|
167
|
+
'90': -90deg,
|
|
168
|
+
'180': -180deg,
|
|
169
|
+
'270': -270deg
|
|
170
|
+
);
|
|
171
|
+
|
|
172
|
+
// Origin hover utilities
|
|
173
|
+
$origin-values: (
|
|
174
|
+
'center': center,
|
|
175
|
+
'top': top,
|
|
176
|
+
'top-right': top right,
|
|
177
|
+
'right': right,
|
|
178
|
+
'bottom-right': bottom right,
|
|
179
|
+
'bottom': bottom,
|
|
180
|
+
'bottom-left': bottom left,
|
|
181
|
+
'left': left,
|
|
182
|
+
'top-left': top left
|
|
183
|
+
);
|
|
184
|
+
|
|
149
185
|
// Generate utility classes
|
|
150
186
|
@if $generate-utility-classes {
|
|
151
187
|
// Translate utilities
|
|
152
188
|
@each $key, $value in $translate-values {
|
|
153
|
-
.translate-x-#{$key}
|
|
154
|
-
.translate-
|
|
189
|
+
.translate-x-#{$key},
|
|
190
|
+
.hover\:translate-x-#{$key}:hover,
|
|
191
|
+
.group:hover .group-hover\:translate-x-#{$key} { @include translate-x($value); }
|
|
192
|
+
|
|
193
|
+
.translate-y-#{$key},
|
|
194
|
+
.hover\:translate-y-#{$key}:hover,
|
|
195
|
+
.group:hover .group-hover\:translate-y-#{$key} { @include translate-y($value); }
|
|
196
|
+
}
|
|
197
|
+
@each $key, $value in $negative-translate-values {
|
|
198
|
+
.-translate-x-#{$key},
|
|
199
|
+
.hover\:-translate-x-#{$key}:hover,
|
|
200
|
+
.group:hover .group-hover\:-translate-x-#{$key} { @include translate-x($value); }
|
|
201
|
+
|
|
202
|
+
.-translate-y-#{$key},
|
|
203
|
+
.hover\:-translate-y-#{$key}:hover,
|
|
204
|
+
.group:hover .group-hover\:-translate-y-#{$key} { @include translate-y($value); }
|
|
155
205
|
}
|
|
156
206
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
207
|
+
@each $key, $value in $scale-values {
|
|
208
|
+
.scale-#{$key},
|
|
209
|
+
.hover\:scale-#{$key}:hover,
|
|
210
|
+
.group:hover .group-hover\:scale-#{$key} { @include scale($value); }
|
|
211
|
+
|
|
212
|
+
.scale-x-#{$key},
|
|
213
|
+
.hover\:scale-x-#{$key}:hover,
|
|
214
|
+
.group:hover .group-hover\:scale-x-#{$key} { @include scale-x($value); }
|
|
215
|
+
|
|
216
|
+
.scale-y-#{$key},
|
|
217
|
+
.hover\:scale-y-#{$key}:hover,
|
|
218
|
+
.group:hover .group-hover\:scale-y-#{$key} { @include scale-y($value); }
|
|
219
|
+
}
|
|
168
220
|
|
|
169
221
|
// Rotation utilities
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
222
|
+
@each $key, $value in $rotation-values {
|
|
223
|
+
.rotate-#{$key},
|
|
224
|
+
.hover\:rotate-#{$key}:hover,
|
|
225
|
+
.group:hover .group-hover\:rotate-#{$key} { @include rotate($value); }
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// Negative rotation utilities
|
|
229
|
+
@each $key, $value in $negative-rotation-values {
|
|
230
|
+
.-rotate-#{$key},
|
|
231
|
+
.hover\:-rotate-#{$key}:hover,
|
|
232
|
+
.group:hover .group-hover\:-rotate-#{$key} { @include rotate($value); }
|
|
233
|
+
}
|
|
179
234
|
|
|
180
235
|
// Origin utilities
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
.origin-bottom-left { @include origin(bottom left); }
|
|
188
|
-
.origin-left { @include origin(left); }
|
|
189
|
-
.origin-top-left { @include origin(top left); }
|
|
190
|
-
|
|
236
|
+
@each $key, $value in $origin-values {
|
|
237
|
+
.origin-#{$key},
|
|
238
|
+
.hover\:origin-#{$key}:hover,
|
|
239
|
+
.group:hover .group-hover\:origin-#{$key} { @include origin($value); }
|
|
240
|
+
}
|
|
241
|
+
|
|
191
242
|
// Responsive variants
|
|
192
243
|
@each $breakpoint, $width in $breakpoints {
|
|
193
244
|
@media (min-width: #{$width}) {
|
|
194
245
|
@each $key, $value in $translate-values {
|
|
195
|
-
.translate-x-#{$key}\@#{$breakpoint}
|
|
196
|
-
.translate-
|
|
246
|
+
.translate-x-#{$key}\@#{$breakpoint},
|
|
247
|
+
.hover\:translate-x-#{$key}\@#{$breakpoint}:hover,
|
|
248
|
+
.group:hover .group-hover\:translate-x-#{$key}\@#{$breakpoint} { @include translate-x($value); }
|
|
249
|
+
|
|
250
|
+
.translate-x-#{$key}\@#{$breakpoint},
|
|
251
|
+
.hover\:translate-y-#{$key}\@#{$breakpoint}:hover,
|
|
252
|
+
.group:hover .group-hover\:translate-y-#{$key}\@#{$breakpoint} { @include translate-y($value); }
|
|
253
|
+
}
|
|
254
|
+
@each $key, $value in $negative-translate-values {
|
|
255
|
+
.-translate-x-#{$key}\@#{$breakpoint},
|
|
256
|
+
.hover\:-translate-x-#{$key}\@#{$breakpoint}:hover,
|
|
257
|
+
.group:hover .group-hover\:-translate-x-#{$key}\@#{$breakpoint} { @include translate-x($value); }
|
|
258
|
+
|
|
259
|
+
.-translate-x-#{$key}\@#{$breakpoint},
|
|
260
|
+
.hover\:-translate-y-#{$key}\@#{$breakpoint}:hover,
|
|
261
|
+
.group:hover .group-hover\:-translate-y-#{$key}\@#{$breakpoint} { @include translate-y($value); }
|
|
197
262
|
}
|
|
198
263
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
.scale-100\@#{$breakpoint} { @include scale(1); }
|
|
206
|
-
.scale-105\@#{$breakpoint} { @include scale(1.05); }
|
|
207
|
-
.scale-110\@#{$breakpoint} { @include scale(1.1); }
|
|
208
|
-
.scale-125\@#{$breakpoint} { @include scale(1.25); }
|
|
209
|
-
.scale-150\@#{$breakpoint} { @include scale(1.5); }
|
|
264
|
+
// Scale hover responsive
|
|
265
|
+
@each $key, $value in $scale-values {
|
|
266
|
+
.scale-#{$key}\@#{$breakpoint},
|
|
267
|
+
.hover\:scale-#{$key}\@#{$breakpoint}:hover,
|
|
268
|
+
.group:hover .group-hover\:scale-#{$key}\@#{$breakpoint} { @include scale($value); }
|
|
269
|
+
}
|
|
210
270
|
|
|
211
|
-
// Rotation responsive
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
271
|
+
// Rotation hover responsive
|
|
272
|
+
@each $key, $value in $rotation-values {
|
|
273
|
+
.rotate-#{$key}\@#{$breakpoint},
|
|
274
|
+
.hover\:rotate-#{$key}\@#{$breakpoint}:hover,
|
|
275
|
+
.group:hover .group-hover\:rotate-#{$key}\@#{$breakpoint} { @include rotate($value); }
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
// Negative rotation utilities
|
|
279
|
+
@each $key, $value in $negative-rotation-values {
|
|
280
|
+
.-rotate-#{$key}\@#{$breakpoint},
|
|
281
|
+
.hover\:-rotate-#{$key}\@#{$breakpoint}:hover,
|
|
282
|
+
.group:hover .group-hover\:-rotate-#{$key}\@#{$breakpoint} { @include rotate($value); }
|
|
283
|
+
}
|
|
284
|
+
|
|
219
285
|
}
|
|
220
286
|
}
|
|
221
287
|
}
|
|
@@ -9,18 +9,11 @@
|
|
|
9
9
|
* - .duration-{time}: Set transition duration
|
|
10
10
|
* - .ease-{type}: Set transition timing function
|
|
11
11
|
* - .delay-{time}: Set transition delay
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
// Base transition mixins
|
|
15
|
-
@mixin transition {
|
|
16
|
-
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
|
|
17
|
-
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
18
|
-
transition-duration: 150ms;
|
|
19
|
-
}
|
|
12
|
+
*/
|
|
20
13
|
|
|
21
14
|
// Property-specific transition mixins
|
|
22
15
|
@mixin transition-none { transition-property: none; }
|
|
23
|
-
@mixin transition
|
|
16
|
+
@mixin transition { transition-property: all; }
|
|
24
17
|
@mixin transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; }
|
|
25
18
|
@mixin transition-opacity { transition-property: opacity; }
|
|
26
19
|
@mixin transition-shadow { transition-property: box-shadow; }
|
|
@@ -79,14 +72,9 @@ $delays: (
|
|
|
79
72
|
|
|
80
73
|
|
|
81
74
|
@if $generate-utility-classes {
|
|
82
|
-
// Base transition
|
|
83
|
-
.transition {
|
|
84
|
-
@include transition;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
75
|
// Property-specific transitions
|
|
88
76
|
.transition-none { @include transition-none; }
|
|
89
|
-
.transition
|
|
77
|
+
.transition { @include transition; }
|
|
90
78
|
.transition-colors { @include transition-colors; }
|
|
91
79
|
.transition-opacity { @include transition-opacity; }
|
|
92
80
|
.transition-shadow { @include transition-shadow; }
|
|
@@ -126,7 +114,7 @@ $delays: (
|
|
|
126
114
|
|
|
127
115
|
// Property-specific transitions
|
|
128
116
|
.transition-none\@#{$breakpoint} { @include transition-none; }
|
|
129
|
-
.transition
|
|
117
|
+
.transition\@#{$breakpoint} { @include transition; }
|
|
130
118
|
.transition-colors\@#{$breakpoint} { @include transition-colors; }
|
|
131
119
|
.transition-opacity\@#{$breakpoint} { @include transition-opacity; }
|
|
132
120
|
.transition-shadow\@#{$breakpoint} { @include transition-shadow; }
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
// Section: Layout
|
|
2
|
+
// Module: Z-Index
|
|
3
|
+
|
|
4
|
+
@use 'sass:map';
|
|
5
|
+
@use 'sass:meta';
|
|
6
|
+
|
|
7
|
+
// Import variables
|
|
8
|
+
@use '../abstracts' as VAR;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Z-Index Utilities
|
|
12
|
+
*
|
|
13
|
+
* Classes:
|
|
14
|
+
* - z-index values: .z-0, .z-10, .z-20, etc.
|
|
15
|
+
* - Named z-index levels: .z-auto, .z-base, .z-dropdown, etc.
|
|
16
|
+
*
|
|
17
|
+
* All utilities support responsive variants with @breakpoint suffix:
|
|
18
|
+
* - .z-10@md, .z-dropdown@lg, etc.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
// Z-index values map (can be moved to variables)
|
|
22
|
+
$z-indexes: (
|
|
23
|
+
'auto': auto,
|
|
24
|
+
'0': 0,
|
|
25
|
+
'10': 10,
|
|
26
|
+
'20': 20,
|
|
27
|
+
'30': 30,
|
|
28
|
+
'40': 40,
|
|
29
|
+
'50': 50,
|
|
30
|
+
'60': 60,
|
|
31
|
+
'70': 70,
|
|
32
|
+
'80': 80,
|
|
33
|
+
'90': 90,
|
|
34
|
+
'100': 100,
|
|
35
|
+
'200': 200,
|
|
36
|
+
'500': 500,
|
|
37
|
+
'1000': 1000,
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
// Named z-index levels (can be moved to variables)
|
|
41
|
+
$z-index-levels: (
|
|
42
|
+
'base': 0,
|
|
43
|
+
'hover': 10,
|
|
44
|
+
'dropdown': 100,
|
|
45
|
+
'sticky': 200,
|
|
46
|
+
'fixed': 300,
|
|
47
|
+
'drawer': 400,
|
|
48
|
+
'modal': 500,
|
|
49
|
+
'popover': 600,
|
|
50
|
+
'tooltip': 700,
|
|
51
|
+
'overlay': 800,
|
|
52
|
+
'toast': 900,
|
|
53
|
+
'max': 9999
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Apply a z-index value
|
|
58
|
+
* @param {Number|String} $value - Z-index value or key
|
|
59
|
+
*/
|
|
60
|
+
@mixin z-index($value) {
|
|
61
|
+
@if map.has-key($z-indexes, $value) {
|
|
62
|
+
z-index: map.get($z-indexes, $value);
|
|
63
|
+
} @else if map.has-key($z-index-levels, $value) {
|
|
64
|
+
z-index: map.get($z-index-levels, $value);
|
|
65
|
+
} @else {
|
|
66
|
+
z-index: $value;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Generate z-index utility classes
|
|
72
|
+
* @param {String} $breakpoint - Optional breakpoint name for responsive variants
|
|
73
|
+
*/
|
|
74
|
+
@mixin z-index-utilities($breakpoint: null) {
|
|
75
|
+
$suffix: if($breakpoint, "\\@#{$breakpoint}", "");
|
|
76
|
+
|
|
77
|
+
// Standard numbered z-index utilities
|
|
78
|
+
@each $key, $value in $z-indexes {
|
|
79
|
+
.z-#{$key}#{$suffix} { @include z-index($key); }
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Named semantic z-index utilities
|
|
83
|
+
@each $key, $value in $z-index-levels {
|
|
84
|
+
.z-#{$key}#{$suffix} { @include z-index($value); }
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Create specific named utilities as mixins for use in other files
|
|
89
|
+
@mixin z-base { @include z-index('base'); }
|
|
90
|
+
@mixin z-hover { @include z-index('hover'); }
|
|
91
|
+
@mixin z-dropdown { @include z-index('dropdown'); }
|
|
92
|
+
@mixin z-sticky { @include z-index('sticky'); }
|
|
93
|
+
@mixin z-fixed { @include z-index('fixed'); }
|
|
94
|
+
@mixin z-drawer { @include z-index('drawer'); }
|
|
95
|
+
@mixin z-modal { @include z-index('modal'); }
|
|
96
|
+
@mixin z-popover { @include z-index('popover'); }
|
|
97
|
+
@mixin z-tooltip { @include z-index('tooltip'); }
|
|
98
|
+
@mixin z-overlay { @include z-index('overlay'); }
|
|
99
|
+
@mixin z-toast { @include z-index('toast'); }
|
|
100
|
+
@mixin z-max { @include z-index('max'); }
|
|
101
|
+
@mixin z-auto { @include z-index('auto'); }
|
|
102
|
+
|
|
103
|
+
// Generate utility classes
|
|
104
|
+
@if VAR.$generate-utility-classes {
|
|
105
|
+
// Generate base utilities
|
|
106
|
+
@include z-index-utilities;
|
|
107
|
+
|
|
108
|
+
// Generate responsive variants
|
|
109
|
+
@each $breakpoint, $width in VAR.$breakpoints {
|
|
110
|
+
@media (min-width: #{$width}) {
|
|
111
|
+
@include z-index-utilities($breakpoint);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|