@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.
- package/README.md +2 -2
- package/dist/nuvoui.css +27685 -22739
- 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 +7 -8
- package/src/styles/abstracts/_config.scss +87 -34
- package/src/styles/abstracts/_functions.scss +70 -37
- package/src/styles/base/_base.scss +79 -59
- package/src/styles/base/_reset.scss +11 -8
- package/src/styles/index.scss +32 -17
- package/src/styles/layouts/_container.scss +1 -2
- package/src/styles/layouts/_flex.scss +442 -154
- package/src/styles/layouts/_grid.scss +145 -75
- package/src/styles/mixins-map.scss +1085 -1
- package/src/styles/themes/_theme.scss +95 -106
- package/src/styles/utilities/_alignment.scss +40 -13
- package/src/styles/utilities/_animations.scss +361 -92
- package/src/styles/utilities/_backdrop-filters.scss +297 -0
- package/src/styles/utilities/_borders.scss +360 -159
- package/src/styles/utilities/_colors.scss +24 -34
- package/src/styles/utilities/_container-queries.scss +7 -7
- package/src/styles/utilities/_cursor.scss +10 -17
- package/src/styles/utilities/_display.scss +234 -85
- package/src/styles/utilities/_helpers.scss +5 -5
- package/src/styles/utilities/_media-queries.scss +24 -27
- package/src/styles/utilities/_opacity.scss +15 -31
- package/src/styles/utilities/_position.scss +129 -66
- package/src/styles/utilities/_shadows.scss +23 -29
- package/src/styles/utilities/_sizing.scss +270 -92
- package/src/styles/utilities/_spacing.scss +317 -169
- package/src/styles/utilities/_tooltips.scss +36 -29
- package/src/styles/utilities/_transforms.scss +243 -154
- package/src/styles/utilities/_transitions.scss +129 -75
- package/src/styles/utilities/_typography.scss +341 -127
- package/src/styles/utilities/_z-index.scss +144 -0
- package/src/styles/abstracts/_index.scss +0 -1
- package/src/styles/base/_index.scss +0 -2
- package/src/styles/layouts/_index.scss +0 -3
- package/src/styles/themes/_index.scss +0 -1
- package/src/styles/utilities/_index.scss +0 -20
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
@use "../abstracts/config" as VAR;
|
|
2
|
+
|
|
3
|
+
@mixin tooltip-variables {
|
|
2
4
|
// Tooltip core variables
|
|
3
5
|
--tooltip-bg: rgba(17 17 17 / 90%);
|
|
4
6
|
--tooltip-shadow-color: rgb(0 0 0 / 20%);
|
|
5
|
-
--tooltip-text-color: #
|
|
7
|
+
--tooltip-text-color: #fff;
|
|
6
8
|
|
|
7
9
|
// Animation variables
|
|
8
10
|
--microtip-transition-duration: 0.18s;
|
|
@@ -21,7 +23,18 @@
|
|
|
21
23
|
--tooltip-border-radius: 4px;
|
|
22
24
|
}
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
// Apply variables based on parent selector
|
|
27
|
+
@if VAR.$parent-selector == "" {
|
|
28
|
+
:root {
|
|
29
|
+
@include tooltip-variables;
|
|
30
|
+
}
|
|
31
|
+
} @else {
|
|
32
|
+
#{VAR.$parent-selector} {
|
|
33
|
+
@include tooltip-variables;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
#{VAR.$parent-selector} [data-tooltip][role~="tooltip"] {
|
|
25
38
|
position: relative;
|
|
26
39
|
|
|
27
40
|
&::before,
|
|
@@ -31,8 +44,7 @@
|
|
|
31
44
|
will-change: transform;
|
|
32
45
|
opacity: 0;
|
|
33
46
|
pointer-events: none;
|
|
34
|
-
transition: all var(--microtip-transition-duration) var(--microtip-transition-easing)
|
|
35
|
-
var(--microtip-transition-delay);
|
|
47
|
+
transition: all var(--microtip-transition-duration) var(--microtip-transition-easing) var(--microtip-transition-delay);
|
|
36
48
|
position: absolute;
|
|
37
49
|
box-sizing: border-box;
|
|
38
50
|
z-index: 10;
|
|
@@ -68,13 +80,12 @@
|
|
|
68
80
|
}
|
|
69
81
|
|
|
70
82
|
// Top position tooltips
|
|
71
|
-
[role~="tooltip"][data-microtip-position|="top"] {
|
|
83
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position|="top"] {
|
|
72
84
|
&::before {
|
|
73
|
-
background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%280%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E")
|
|
74
|
-
no-repeat;
|
|
85
|
+
background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%280%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E") no-repeat;
|
|
75
86
|
height: 6px;
|
|
76
87
|
width: 18px;
|
|
77
|
-
margin-bottom:
|
|
88
|
+
margin-bottom: 6px;
|
|
78
89
|
transform: translate3d(-50%, 0, 0);
|
|
79
90
|
bottom: 100%;
|
|
80
91
|
left: 50%;
|
|
@@ -90,15 +101,13 @@
|
|
|
90
101
|
&:hover::before {
|
|
91
102
|
transform: translate3d(-50%, -5px, 0);
|
|
92
103
|
}
|
|
93
|
-
}
|
|
94
104
|
|
|
95
|
-
[role~="tooltip"][data-microtip-position="top"] {
|
|
96
105
|
&:hover::after {
|
|
97
106
|
transform: translate3d(-50%, -5px, 0);
|
|
98
107
|
}
|
|
99
108
|
}
|
|
100
109
|
|
|
101
|
-
[role~="tooltip"][data-microtip-position="top-left"] {
|
|
110
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="top-left"] {
|
|
102
111
|
&::after {
|
|
103
112
|
transform: translate3d(calc(-100% + 16px), 0, 0);
|
|
104
113
|
bottom: 100%;
|
|
@@ -109,7 +118,7 @@
|
|
|
109
118
|
}
|
|
110
119
|
}
|
|
111
120
|
|
|
112
|
-
[role~="tooltip"][data-microtip-position="top-right"] {
|
|
121
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="top-right"] {
|
|
113
122
|
&::after {
|
|
114
123
|
transform: translate3d(calc(0% + -16px), 0, 0);
|
|
115
124
|
bottom: 100%;
|
|
@@ -121,10 +130,9 @@
|
|
|
121
130
|
}
|
|
122
131
|
|
|
123
132
|
// Bottom position tooltips
|
|
124
|
-
[role~="tooltip"][data-microtip-position|="bottom"] {
|
|
133
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position|="bottom"] {
|
|
125
134
|
&::before {
|
|
126
|
-
background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28180%2018%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E")
|
|
127
|
-
no-repeat;
|
|
135
|
+
background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28180%2018%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E") no-repeat;
|
|
128
136
|
height: 6px;
|
|
129
137
|
width: 18px;
|
|
130
138
|
margin-top: 5px;
|
|
@@ -145,15 +153,13 @@
|
|
|
145
153
|
&:hover::before {
|
|
146
154
|
transform: translate3d(-50%, 0, 0);
|
|
147
155
|
}
|
|
148
|
-
}
|
|
149
156
|
|
|
150
|
-
[role~="tooltip"][data-microtip-position="bottom"] {
|
|
151
157
|
&:hover::after {
|
|
152
158
|
transform: translate3d(-50%, 0, 0);
|
|
153
159
|
}
|
|
154
160
|
}
|
|
155
161
|
|
|
156
|
-
[role~="tooltip"][data-microtip-position="bottom-left"] {
|
|
162
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="bottom-left"] {
|
|
157
163
|
&::after {
|
|
158
164
|
transform: translate3d(calc(-100% + 16px), -10px, 0);
|
|
159
165
|
top: 100%;
|
|
@@ -164,7 +170,7 @@
|
|
|
164
170
|
}
|
|
165
171
|
}
|
|
166
172
|
|
|
167
|
-
[role~="tooltip"][data-microtip-position="bottom-right"] {
|
|
173
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="bottom-right"] {
|
|
168
174
|
&::after {
|
|
169
175
|
transform: translate3d(calc(0% + -16px), -10px, 0);
|
|
170
176
|
top: 100%;
|
|
@@ -176,16 +182,18 @@
|
|
|
176
182
|
}
|
|
177
183
|
|
|
178
184
|
// Left position tooltips
|
|
179
|
-
[role~="tooltip"][data-microtip-position="left"] {
|
|
185
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="left"] {
|
|
180
186
|
&::before,
|
|
181
187
|
&::after {
|
|
182
188
|
inset: auto auto auto 100%;
|
|
189
|
+
left: auto; // Remove any left positioning
|
|
190
|
+
right: 100%; // Position to the left of the element
|
|
191
|
+
top: 50%;
|
|
183
192
|
transform: translate3d(10px, -50%, 0);
|
|
184
193
|
}
|
|
185
194
|
|
|
186
195
|
&::before {
|
|
187
|
-
background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28-90%2018%2018%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E")
|
|
188
|
-
no-repeat;
|
|
196
|
+
background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28-90%2018%2018%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E") no-repeat;
|
|
189
197
|
height: 18px;
|
|
190
198
|
width: 6px;
|
|
191
199
|
margin-right: 5px;
|
|
@@ -203,7 +211,7 @@
|
|
|
203
211
|
}
|
|
204
212
|
|
|
205
213
|
// Right position tooltips
|
|
206
|
-
[role~="tooltip"][data-microtip-position="right"] {
|
|
214
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="right"] {
|
|
207
215
|
&::before,
|
|
208
216
|
&::after {
|
|
209
217
|
bottom: auto;
|
|
@@ -213,8 +221,7 @@
|
|
|
213
221
|
}
|
|
214
222
|
|
|
215
223
|
&::before {
|
|
216
|
-
background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%2890%206%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E")
|
|
217
|
-
no-repeat;
|
|
224
|
+
background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%2890%206%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E") no-repeat;
|
|
218
225
|
height: 18px;
|
|
219
226
|
width: 6px;
|
|
220
227
|
margin-bottom: 0;
|
|
@@ -232,17 +239,17 @@
|
|
|
232
239
|
}
|
|
233
240
|
|
|
234
241
|
// Tooltip sizes
|
|
235
|
-
[role~="tooltip"][data-microtip-size="small"]::after {
|
|
242
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-size="small"]::after {
|
|
236
243
|
white-space: initial;
|
|
237
244
|
width: var(--tooltip-small-width);
|
|
238
245
|
}
|
|
239
246
|
|
|
240
|
-
[role~="tooltip"][data-microtip-size="medium"]::after {
|
|
247
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-size="medium"]::after {
|
|
241
248
|
white-space: initial;
|
|
242
249
|
width: var(--tooltip-medium-width);
|
|
243
250
|
}
|
|
244
251
|
|
|
245
|
-
[role~="tooltip"][data-microtip-size="large"]::after {
|
|
252
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-size="large"]::after {
|
|
246
253
|
white-space: initial;
|
|
247
254
|
width: var(--tooltip-large-width);
|
|
248
255
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
1
|
+
@use "../abstracts/config" as VAR;
|
|
2
|
+
@use "sass:map";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Transform Utilities
|
|
@@ -11,211 +11,300 @@
|
|
|
11
11
|
* - Transform origin
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
+
// Common transform function to avoid repetition
|
|
15
|
+
@mixin apply-transform {
|
|
16
|
+
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, 1)) scaleZ(var(--scale-z, 1));
|
|
17
|
+
}
|
|
18
|
+
|
|
14
19
|
// Translation mixins
|
|
15
20
|
@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
|
-
}
|
|
21
|
+
// Store the value in a CSS variable
|
|
22
|
+
--translate-x: #{$value};
|
|
23
|
+
@include apply-transform;
|
|
21
24
|
}
|
|
22
25
|
|
|
23
26
|
@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
|
-
}
|
|
27
|
+
// Store the value in a CSS variable
|
|
28
|
+
--translate-y: #{$value};
|
|
29
|
+
@include apply-transform;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
@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
|
-
}
|
|
33
|
+
// Store the value in a CSS variable
|
|
34
|
+
--translate-z: #{$value};
|
|
35
|
+
@include apply-transform;
|
|
37
36
|
}
|
|
38
37
|
|
|
39
38
|
@mixin translate($x, $y: null) {
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
// Always set the x value
|
|
40
|
+
--translate-x: #{$x};
|
|
42
41
|
|
|
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));
|
|
42
|
+
// Only set y if provided
|
|
43
|
+
@if $y {
|
|
44
|
+
--translate-y: #{$y};
|
|
48
45
|
}
|
|
46
|
+
|
|
47
|
+
@include apply-transform;
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
// Scale mixins
|
|
52
51
|
@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
|
-
}
|
|
52
|
+
--scale-x: #{$value};
|
|
53
|
+
@include apply-transform;
|
|
58
54
|
}
|
|
59
55
|
|
|
60
56
|
@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
|
-
}
|
|
57
|
+
--scale-y: #{$value};
|
|
58
|
+
@include apply-transform;
|
|
66
59
|
}
|
|
67
60
|
|
|
68
61
|
@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
|
-
}
|
|
62
|
+
--scale-x: #{$value};
|
|
63
|
+
--scale-y: #{$value};
|
|
64
|
+
@include apply-transform;
|
|
75
65
|
}
|
|
76
66
|
|
|
77
67
|
// Rotation mixins
|
|
78
68
|
@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
|
-
}
|
|
69
|
+
--rotate: #{$value};
|
|
70
|
+
@include apply-transform;
|
|
84
71
|
}
|
|
85
72
|
|
|
86
73
|
// Skew mixins
|
|
87
74
|
@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
|
-
}
|
|
75
|
+
--skew-x: #{$value};
|
|
76
|
+
@include apply-transform;
|
|
93
77
|
}
|
|
94
78
|
|
|
95
79
|
@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
|
-
}
|
|
80
|
+
--skew-y: #{$value};
|
|
81
|
+
@include apply-transform;
|
|
101
82
|
}
|
|
102
83
|
|
|
103
84
|
// Transform origin
|
|
104
85
|
@mixin origin($value) {
|
|
105
|
-
|
|
106
|
-
transform-origin: $value;
|
|
107
|
-
}
|
|
86
|
+
transform-origin: $value;
|
|
108
87
|
}
|
|
109
88
|
|
|
110
89
|
// Common transform values
|
|
111
90
|
$translate-values: (
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
91
|
+
"0": 0,
|
|
92
|
+
"1": 0.25rem,
|
|
93
|
+
"2": 0.5rem,
|
|
94
|
+
"3": 0.75rem,
|
|
95
|
+
"4": 1rem,
|
|
96
|
+
"5": 1.25rem,
|
|
97
|
+
"6": 1.5rem,
|
|
98
|
+
"8": 2rem,
|
|
99
|
+
"10": 2.5rem,
|
|
100
|
+
"12": 3rem,
|
|
101
|
+
"16": 4rem,
|
|
102
|
+
"20": 5rem,
|
|
103
|
+
"25p": 25%,
|
|
104
|
+
"33p": 33.333%,
|
|
105
|
+
"50p": 50%,
|
|
106
|
+
"66p": 66.667%,
|
|
107
|
+
"75p": 75%,
|
|
108
|
+
"100p": 100%,
|
|
109
|
+
);
|
|
110
|
+
|
|
111
|
+
$negative-translate-values: (
|
|
112
|
+
"1": -0.25rem,
|
|
113
|
+
"2": -0.5rem,
|
|
114
|
+
"3": -0.75rem,
|
|
115
|
+
"4": -1rem,
|
|
116
|
+
"5": -1.25rem,
|
|
117
|
+
"6": -1.5rem,
|
|
118
|
+
"8": -2rem,
|
|
119
|
+
"10": -2.5rem,
|
|
120
|
+
"12": -3rem,
|
|
121
|
+
"16": -4rem,
|
|
122
|
+
"20": -5rem,
|
|
123
|
+
"25p": -25%,
|
|
124
|
+
"33p": -33.333%,
|
|
125
|
+
"50p": -50%,
|
|
126
|
+
"66p": -66.667%,
|
|
127
|
+
"75p": -75%,
|
|
128
|
+
"100p": -100%,
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
// Scale hover utilities
|
|
132
|
+
$scale-values: (
|
|
133
|
+
"0": 0,
|
|
134
|
+
"50": 0.5,
|
|
135
|
+
"75": 0.75,
|
|
136
|
+
"90": 0.9,
|
|
137
|
+
"95": 0.95,
|
|
138
|
+
"100": 1,
|
|
139
|
+
"105": 1.05,
|
|
140
|
+
"110": 1.1,
|
|
141
|
+
"125": 1.25,
|
|
142
|
+
"150": 1.5,
|
|
143
|
+
);
|
|
144
|
+
|
|
145
|
+
// Rotation hover utilities
|
|
146
|
+
$rotation-values: (
|
|
147
|
+
"0": 0deg,
|
|
148
|
+
"45": 45deg,
|
|
149
|
+
"90": 90deg,
|
|
150
|
+
"180": 180deg,
|
|
151
|
+
"270": 270deg,
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
// Separate map for negative rotations
|
|
155
|
+
$negative-rotation-values: (
|
|
156
|
+
"45": -45deg,
|
|
157
|
+
"90": -90deg,
|
|
158
|
+
"180": -180deg,
|
|
159
|
+
"270": -270deg,
|
|
160
|
+
);
|
|
161
|
+
|
|
162
|
+
// Origin hover utilities
|
|
163
|
+
$origin-values: (
|
|
164
|
+
"center": center,
|
|
165
|
+
"top": top,
|
|
166
|
+
"top-right": top right,
|
|
167
|
+
"right": right,
|
|
168
|
+
"bottom-right": bottom right,
|
|
169
|
+
"bottom": bottom,
|
|
170
|
+
"bottom-left": bottom left,
|
|
171
|
+
"left": left,
|
|
172
|
+
"top-left": top left,
|
|
147
173
|
);
|
|
148
174
|
|
|
149
175
|
// Generate utility classes
|
|
150
|
-
@if
|
|
176
|
+
@if VAR.$generate-utility-classes {
|
|
151
177
|
// Translate utilities
|
|
152
178
|
@each $key, $value in $translate-values {
|
|
153
|
-
.translate-x-#{$key}
|
|
154
|
-
.translate-
|
|
179
|
+
#{VAR.$parent-selector} .translate-x-#{$key},
|
|
180
|
+
#{VAR.$parent-selector} .hover\:translate-x-#{$key}:hover,
|
|
181
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:translate-x-#{$key} {
|
|
182
|
+
@include translate-x($value);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
#{VAR.$parent-selector} .translate-y-#{$key},
|
|
186
|
+
#{VAR.$parent-selector} .hover\:translate-y-#{$key}:hover,
|
|
187
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:translate-y-#{$key} {
|
|
188
|
+
@include translate-y($value);
|
|
189
|
+
}
|
|
155
190
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
191
|
+
@each $key, $value in $negative-translate-values {
|
|
192
|
+
#{VAR.$parent-selector} .-translate-x-#{$key},
|
|
193
|
+
#{VAR.$parent-selector} .hover\:-translate-x-#{$key}:hover,
|
|
194
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:-translate-x-#{$key} {
|
|
195
|
+
@include translate-x($value);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
#{VAR.$parent-selector} .-translate-y-#{$key},
|
|
199
|
+
#{VAR.$parent-selector} .hover\:-translate-y-#{$key}:hover,
|
|
200
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:-translate-y-#{$key} {
|
|
201
|
+
@include translate-y($value);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
@each $key, $value in $scale-values {
|
|
206
|
+
#{VAR.$parent-selector} .scale-#{$key},
|
|
207
|
+
#{VAR.$parent-selector} .hover\:scale-#{$key}:hover,
|
|
208
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:scale-#{$key} {
|
|
209
|
+
@include scale($value);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
#{VAR.$parent-selector} .scale-x-#{$key},
|
|
213
|
+
#{VAR.$parent-selector} .hover\:scale-x-#{$key}:hover,
|
|
214
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:scale-x-#{$key} {
|
|
215
|
+
@include scale-x($value);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
#{VAR.$parent-selector} .scale-y-#{$key},
|
|
219
|
+
#{VAR.$parent-selector} .hover\:scale-y-#{$key}:hover,
|
|
220
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:scale-y-#{$key} {
|
|
221
|
+
@include scale-y($value);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
169
225
|
// Rotation utilities
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
226
|
+
@each $key, $value in $rotation-values {
|
|
227
|
+
#{VAR.$parent-selector} .rotate-#{$key},
|
|
228
|
+
#{VAR.$parent-selector} .hover\:rotate-#{$key}:hover,
|
|
229
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:rotate-#{$key} {
|
|
230
|
+
@include rotate($value);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// Negative rotation utilities
|
|
235
|
+
@each $key, $value in $negative-rotation-values {
|
|
236
|
+
#{VAR.$parent-selector} .-rotate-#{$key},
|
|
237
|
+
#{VAR.$parent-selector} .hover\:-rotate-#{$key}:hover,
|
|
238
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:-rotate-#{$key} {
|
|
239
|
+
@include rotate($value);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
180
243
|
// Origin utilities
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
.origin-top-left { @include origin(top left); }
|
|
190
|
-
|
|
244
|
+
@each $key, $value in $origin-values {
|
|
245
|
+
#{VAR.$parent-selector} .origin-#{$key},
|
|
246
|
+
#{VAR.$parent-selector} .hover\:origin-#{$key}:hover,
|
|
247
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:origin-#{$key} {
|
|
248
|
+
@include origin($value);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
|
|
191
252
|
// Responsive variants
|
|
192
|
-
@each $breakpoint, $width in
|
|
253
|
+
@each $breakpoint, $width in VAR.$breakpoints {
|
|
193
254
|
@media (min-width: #{$width}) {
|
|
194
255
|
@each $key, $value in $translate-values {
|
|
195
|
-
.translate-x-#{$key}\@#{$breakpoint}
|
|
196
|
-
.translate-
|
|
256
|
+
#{VAR.$parent-selector} .translate-x-#{$key}\@#{$breakpoint},
|
|
257
|
+
#{VAR.$parent-selector} .hover\:translate-x-#{$key}\@#{$breakpoint}:hover,
|
|
258
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:translate-x-#{$key}\@#{$breakpoint} {
|
|
259
|
+
@include translate-x($value);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
#{VAR.$parent-selector} .translate-x-#{$key}\@#{$breakpoint},
|
|
263
|
+
#{VAR.$parent-selector} .hover\:translate-y-#{$key}\@#{$breakpoint}:hover,
|
|
264
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:translate-y-#{$key}\@#{$breakpoint} {
|
|
265
|
+
@include translate-y($value);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
@each $key, $value in $negative-translate-values {
|
|
269
|
+
#{VAR.$parent-selector} .-translate-x-#{$key}\@#{$breakpoint},
|
|
270
|
+
#{VAR.$parent-selector} .hover\:-translate-x-#{$key}\@#{$breakpoint}:hover,
|
|
271
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:-translate-x-#{$key}\@#{$breakpoint} {
|
|
272
|
+
@include translate-x($value);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
#{VAR.$parent-selector} .-translate-x-#{$key}\@#{$breakpoint},
|
|
276
|
+
#{VAR.$parent-selector} .hover\:-translate-y-#{$key}\@#{$breakpoint}:hover,
|
|
277
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:-translate-y-#{$key}\@#{$breakpoint} {
|
|
278
|
+
@include translate-y($value);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
// Scale hover responsive
|
|
283
|
+
@each $key, $value in $scale-values {
|
|
284
|
+
#{VAR.$parent-selector} .scale-#{$key}\@#{$breakpoint},
|
|
285
|
+
#{VAR.$parent-selector} .hover\:scale-#{$key}\@#{$breakpoint}:hover,
|
|
286
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:scale-#{$key}\@#{$breakpoint} {
|
|
287
|
+
@include scale($value);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
// Rotation hover responsive
|
|
292
|
+
@each $key, $value in $rotation-values {
|
|
293
|
+
#{VAR.$parent-selector} .rotate-#{$key}\@#{$breakpoint},
|
|
294
|
+
#{VAR.$parent-selector} .hover\:rotate-#{$key}\@#{$breakpoint}:hover,
|
|
295
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:rotate-#{$key}\@#{$breakpoint} {
|
|
296
|
+
@include rotate($value);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
// Negative rotation utilities
|
|
301
|
+
@each $key, $value in $negative-rotation-values {
|
|
302
|
+
#{VAR.$parent-selector} .-rotate-#{$key}\@#{$breakpoint},
|
|
303
|
+
#{VAR.$parent-selector} .hover\:-rotate-#{$key}\@#{$breakpoint}:hover,
|
|
304
|
+
#{VAR.$parent-selector} .group:hover .group-hover\:-rotate-#{$key}\@#{$breakpoint} {
|
|
305
|
+
@include rotate($value);
|
|
306
|
+
}
|
|
197
307
|
}
|
|
198
|
-
|
|
199
|
-
// Scale responsive
|
|
200
|
-
.scale-0\@#{$breakpoint} { @include scale(0); }
|
|
201
|
-
.scale-50\@#{$breakpoint} { @include scale(0.5); }
|
|
202
|
-
.scale-75\@#{$breakpoint} { @include scale(0.75); }
|
|
203
|
-
.scale-90\@#{$breakpoint} { @include scale(0.9); }
|
|
204
|
-
.scale-95\@#{$breakpoint} { @include scale(0.95); }
|
|
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); }
|
|
210
|
-
|
|
211
|
-
// Rotation responsive
|
|
212
|
-
.rotate-0\@#{$breakpoint} { @include rotate(0deg); }
|
|
213
|
-
.rotate-45\@#{$breakpoint} { @include rotate(45deg); }
|
|
214
|
-
.rotate-90\@#{$breakpoint} { @include rotate(90deg); }
|
|
215
|
-
.rotate-180\@#{$breakpoint} { @include rotate(180deg); }
|
|
216
|
-
.-rotate-45\@#{$breakpoint} { @include rotate(-45deg); }
|
|
217
|
-
.-rotate-90\@#{$breakpoint} { @include rotate(-90deg); }
|
|
218
|
-
.-rotate-180\@#{$breakpoint} { @include rotate(-180deg); }
|
|
219
308
|
}
|
|
220
309
|
}
|
|
221
|
-
}
|
|
310
|
+
}
|