@nuvoui/core 1.3.0 → 1.3.1
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 +230 -922
- 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 +2 -2
- package/src/styles/abstracts/_config.scss +25 -2
- package/src/styles/abstracts/_functions.scss +16 -5
- package/src/styles/base/_base.scss +2 -2
- package/src/styles/base/_reset.scss +0 -2
- package/src/styles/build.scss +3 -0
- package/src/styles/layouts/_container.scss +8 -1
- package/src/styles/layouts/_flex.scss +125 -207
- package/src/styles/layouts/_grid.scss +16 -29
- package/src/styles/themes/_theme.scss +10 -10
- package/src/styles/utilities/_alignment.scss +2 -1
- package/src/styles/utilities/_animations.scss +20 -32
- package/src/styles/utilities/_backdrop-filters.scss +7 -11
- package/src/styles/utilities/_borders.scss +3 -5
- package/src/styles/utilities/_container-queries.scss +17 -21
- package/src/styles/utilities/_cursor.scss +2 -1
- package/src/styles/utilities/_display.scss +17 -37
- package/src/styles/utilities/_helpers.scss +1 -0
- package/src/styles/utilities/_media-queries.scss +3 -5
- package/src/styles/utilities/_opacity.scss +52 -67
- package/src/styles/utilities/_position.scss +104 -132
- package/src/styles/utilities/_shadows.scss +9 -14
- package/src/styles/utilities/_sizing.scss +1 -1
- package/src/styles/utilities/_spacing.scss +143 -205
- package/src/styles/utilities/_tooltips.scss +203 -200
- package/src/styles/utilities/_transforms.scss +9 -11
- package/src/styles/utilities/_transitions.scss +8 -10
- package/src/styles/utilities/_typography.scss +17 -22
- package/src/styles/utilities/_z-index.scss +12 -19
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@use "../abstracts/config" as VAR;
|
|
2
|
+
@use "../abstracts/functions" as FN;
|
|
2
3
|
|
|
3
4
|
@mixin tooltip-variables {
|
|
4
5
|
// Tooltip core variables
|
|
@@ -23,233 +24,235 @@
|
|
|
23
24
|
--tooltip-border-radius: 4px;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
#{VAR.$parent-selector} [data-tooltip][role~="tooltip"] {
|
|
38
|
-
position: relative;
|
|
39
|
-
|
|
40
|
-
&::before,
|
|
41
|
-
&::after {
|
|
42
|
-
transform: translate3d(0, 0, 0);
|
|
43
|
-
backface-visibility: hidden;
|
|
44
|
-
will-change: transform;
|
|
45
|
-
opacity: 0;
|
|
46
|
-
pointer-events: none;
|
|
47
|
-
transition: all var(--microtip-transition-duration) var(--microtip-transition-easing) var(--microtip-transition-delay);
|
|
48
|
-
position: absolute;
|
|
49
|
-
box-sizing: border-box;
|
|
50
|
-
z-index: 10;
|
|
51
|
-
transform-origin: top;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
&::before {
|
|
55
|
-
background-size: 100% auto !important;
|
|
56
|
-
content: "";
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
&::after {
|
|
60
|
-
background: var(--tooltip-bg);
|
|
61
|
-
box-shadow: 0 3px 7px var(--tooltip-shadow-color);
|
|
62
|
-
border-radius: var(--tooltip-border-radius);
|
|
63
|
-
color: var(--tooltip-text-color);
|
|
64
|
-
content: attr(data-tooltip);
|
|
65
|
-
font-size: var(--microtip-font-size);
|
|
66
|
-
font-weight: var(--microtip-font-weight);
|
|
67
|
-
text-transform: var(--microtip-text-transform);
|
|
68
|
-
padding: 0.5em 1em;
|
|
69
|
-
white-space: nowrap;
|
|
70
|
-
box-sizing: content-box;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
&:hover::before,
|
|
74
|
-
&:hover::after,
|
|
75
|
-
&:focus::before,
|
|
76
|
-
&:focus::after {
|
|
77
|
-
opacity: 1;
|
|
78
|
-
pointer-events: auto;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Top position tooltips
|
|
83
|
-
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position|="top"] {
|
|
84
|
-
&::before {
|
|
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;
|
|
86
|
-
height: 6px;
|
|
87
|
-
width: 18px;
|
|
88
|
-
margin-bottom: 6px;
|
|
89
|
-
transform: translate3d(-50%, 0, 0);
|
|
90
|
-
bottom: 100%;
|
|
91
|
-
left: 50%;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
&::after {
|
|
95
|
-
margin-bottom: 11px;
|
|
96
|
-
transform: translate3d(-50%, 0, 0);
|
|
97
|
-
bottom: 100%;
|
|
98
|
-
left: 50%;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
&:hover::before {
|
|
102
|
-
transform: translate3d(-50%, -5px, 0);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
&:hover::after {
|
|
106
|
-
transform: translate3d(-50%, -5px, 0);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="top-left"] {
|
|
111
|
-
&::after {
|
|
112
|
-
transform: translate3d(calc(-100% + 16px), 0, 0);
|
|
113
|
-
bottom: 100%;
|
|
27
|
+
@if FN.feature-enabled("tooltips") {
|
|
28
|
+
// Apply variables based on parent selector
|
|
29
|
+
@if VAR.$parent-selector == "" {
|
|
30
|
+
:root {
|
|
31
|
+
@include tooltip-variables;
|
|
32
|
+
}
|
|
33
|
+
} @else {
|
|
34
|
+
#{VAR.$parent-selector} {
|
|
35
|
+
@include tooltip-variables;
|
|
36
|
+
}
|
|
114
37
|
}
|
|
115
38
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
39
|
+
#{VAR.$parent-selector} [data-tooltip][role~="tooltip"] {
|
|
40
|
+
position: relative;
|
|
41
|
+
|
|
42
|
+
&::before,
|
|
43
|
+
&::after {
|
|
44
|
+
transform: translate3d(0, 0, 0);
|
|
45
|
+
backface-visibility: hidden;
|
|
46
|
+
will-change: transform;
|
|
47
|
+
opacity: 0;
|
|
48
|
+
pointer-events: none;
|
|
49
|
+
transition: all var(--microtip-transition-duration) var(--microtip-transition-easing) var(--microtip-transition-delay);
|
|
50
|
+
position: absolute;
|
|
51
|
+
box-sizing: border-box;
|
|
52
|
+
z-index: 10;
|
|
53
|
+
transform-origin: top;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&::before {
|
|
57
|
+
background-size: 100% auto !important;
|
|
58
|
+
content: "";
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&::after {
|
|
62
|
+
background: var(--tooltip-bg);
|
|
63
|
+
box-shadow: 0 3px 7px var(--tooltip-shadow-color);
|
|
64
|
+
border-radius: var(--tooltip-border-radius);
|
|
65
|
+
color: var(--tooltip-text-color);
|
|
66
|
+
content: attr(data-tooltip);
|
|
67
|
+
font-size: var(--microtip-font-size);
|
|
68
|
+
font-weight: var(--microtip-font-weight);
|
|
69
|
+
text-transform: var(--microtip-text-transform);
|
|
70
|
+
padding: 0.5em 1em;
|
|
71
|
+
white-space: nowrap;
|
|
72
|
+
box-sizing: content-box;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&:hover::before,
|
|
76
|
+
&:hover::after,
|
|
77
|
+
&:focus::before,
|
|
78
|
+
&:focus::after {
|
|
79
|
+
opacity: 1;
|
|
80
|
+
pointer-events: auto;
|
|
81
|
+
}
|
|
125
82
|
}
|
|
126
83
|
|
|
127
|
-
|
|
128
|
-
|
|
84
|
+
// Top position tooltips
|
|
85
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position|="top"] {
|
|
86
|
+
&::before {
|
|
87
|
+
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;
|
|
88
|
+
height: 6px;
|
|
89
|
+
width: 18px;
|
|
90
|
+
margin-bottom: 6px;
|
|
91
|
+
transform: translate3d(-50%, 0, 0);
|
|
92
|
+
bottom: 100%;
|
|
93
|
+
left: 50%;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
&::after {
|
|
97
|
+
margin-bottom: 11px;
|
|
98
|
+
transform: translate3d(-50%, 0, 0);
|
|
99
|
+
bottom: 100%;
|
|
100
|
+
left: 50%;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
&:hover::before {
|
|
104
|
+
transform: translate3d(-50%, -5px, 0);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
&:hover::after {
|
|
108
|
+
transform: translate3d(-50%, -5px, 0);
|
|
109
|
+
}
|
|
129
110
|
}
|
|
130
|
-
}
|
|
131
111
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
width: 18px;
|
|
138
|
-
margin-top: 5px;
|
|
139
|
-
margin-bottom: 0;
|
|
140
|
-
transform: translate3d(-50%, -10px, 0);
|
|
141
|
-
bottom: auto;
|
|
142
|
-
left: 50%;
|
|
143
|
-
top: 100%;
|
|
144
|
-
}
|
|
112
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="top-left"] {
|
|
113
|
+
&::after {
|
|
114
|
+
transform: translate3d(calc(-100% + 16px), 0, 0);
|
|
115
|
+
bottom: 100%;
|
|
116
|
+
}
|
|
145
117
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
top: 100%;
|
|
150
|
-
left: 50%;
|
|
118
|
+
&:hover::after {
|
|
119
|
+
transform: translate3d(calc(-100% + 16px), -5px, 0);
|
|
120
|
+
}
|
|
151
121
|
}
|
|
152
122
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
transform: translate3d(-50%, 0, 0);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="bottom-left"] {
|
|
163
|
-
&::after {
|
|
164
|
-
transform: translate3d(calc(-100% + 16px), -10px, 0);
|
|
165
|
-
top: 100%;
|
|
166
|
-
}
|
|
123
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="top-right"] {
|
|
124
|
+
&::after {
|
|
125
|
+
transform: translate3d(calc(0% + -16px), 0, 0);
|
|
126
|
+
bottom: 100%;
|
|
127
|
+
}
|
|
167
128
|
|
|
168
|
-
|
|
169
|
-
|
|
129
|
+
&:hover::after {
|
|
130
|
+
transform: translate3d(calc(0% + -16px), -5px, 0);
|
|
131
|
+
}
|
|
170
132
|
}
|
|
171
|
-
}
|
|
172
133
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
134
|
+
// Bottom position tooltips
|
|
135
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position|="bottom"] {
|
|
136
|
+
&::before {
|
|
137
|
+
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;
|
|
138
|
+
height: 6px;
|
|
139
|
+
width: 18px;
|
|
140
|
+
margin-top: 5px;
|
|
141
|
+
margin-bottom: 0;
|
|
142
|
+
transform: translate3d(-50%, -10px, 0);
|
|
143
|
+
bottom: auto;
|
|
144
|
+
left: 50%;
|
|
145
|
+
top: 100%;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
&::after {
|
|
149
|
+
margin-top: 11px;
|
|
150
|
+
transform: translate3d(-50%, -10px, 0);
|
|
151
|
+
top: 100%;
|
|
152
|
+
left: 50%;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
&:hover::before {
|
|
156
|
+
transform: translate3d(-50%, 0, 0);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
&:hover::after {
|
|
160
|
+
transform: translate3d(-50%, 0, 0);
|
|
161
|
+
}
|
|
177
162
|
}
|
|
178
163
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
164
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="bottom-left"] {
|
|
165
|
+
&::after {
|
|
166
|
+
transform: translate3d(calc(-100% + 16px), -10px, 0);
|
|
167
|
+
top: 100%;
|
|
168
|
+
}
|
|
183
169
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
&::after {
|
|
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%;
|
|
192
|
-
transform: translate3d(10px, -50%, 0);
|
|
170
|
+
&:hover::after {
|
|
171
|
+
transform: translate3d(calc(-100% + 16px), 0, 0);
|
|
172
|
+
}
|
|
193
173
|
}
|
|
194
174
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
margin-bottom: 0;
|
|
201
|
-
}
|
|
175
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="bottom-right"] {
|
|
176
|
+
&::after {
|
|
177
|
+
transform: translate3d(calc(0% + -16px), -10px, 0);
|
|
178
|
+
top: 100%;
|
|
179
|
+
}
|
|
202
180
|
|
|
203
|
-
|
|
204
|
-
|
|
181
|
+
&:hover::after {
|
|
182
|
+
transform: translate3d(calc(0% + -16px), 0, 0);
|
|
183
|
+
}
|
|
205
184
|
}
|
|
206
185
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
186
|
+
// Left position tooltips
|
|
187
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="left"] {
|
|
188
|
+
&::before,
|
|
189
|
+
&::after {
|
|
190
|
+
inset: auto auto auto 100%;
|
|
191
|
+
left: auto; // Remove any left positioning
|
|
192
|
+
right: 100%; // Position to the left of the element
|
|
193
|
+
top: 50%;
|
|
194
|
+
transform: translate3d(10px, -50%, 0);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
&::before {
|
|
198
|
+
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;
|
|
199
|
+
height: 18px;
|
|
200
|
+
width: 6px;
|
|
201
|
+
margin-right: 5px;
|
|
202
|
+
margin-bottom: 0;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
&::after {
|
|
206
|
+
margin-right: 11px;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
&:hover::before,
|
|
210
|
+
&:hover::after {
|
|
211
|
+
transform: translate3d(0, -50%, 0);
|
|
212
|
+
}
|
|
210
213
|
}
|
|
211
|
-
}
|
|
212
214
|
|
|
213
|
-
// Right position tooltips
|
|
214
|
-
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="right"] {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
215
|
+
// Right position tooltips
|
|
216
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="right"] {
|
|
217
|
+
&::before,
|
|
218
|
+
&::after {
|
|
219
|
+
bottom: auto;
|
|
220
|
+
left: 100%;
|
|
221
|
+
top: 50%;
|
|
222
|
+
transform: translate3d(-10px, -50%, 0);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
&::before {
|
|
226
|
+
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;
|
|
227
|
+
height: 18px;
|
|
228
|
+
width: 6px;
|
|
229
|
+
margin-bottom: 0;
|
|
230
|
+
margin-left: 5px;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
&::after {
|
|
234
|
+
margin-left: 11px;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
&:hover::before,
|
|
238
|
+
&:hover::after {
|
|
239
|
+
transform: translate3d(0, -50%, 0);
|
|
240
|
+
}
|
|
221
241
|
}
|
|
222
242
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
width:
|
|
227
|
-
margin-bottom: 0;
|
|
228
|
-
margin-left: 5px;
|
|
243
|
+
// Tooltip sizes
|
|
244
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-size="small"]::after {
|
|
245
|
+
white-space: initial;
|
|
246
|
+
width: var(--tooltip-small-width);
|
|
229
247
|
}
|
|
230
248
|
|
|
231
|
-
|
|
232
|
-
|
|
249
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-size="medium"]::after {
|
|
250
|
+
white-space: initial;
|
|
251
|
+
width: var(--tooltip-medium-width);
|
|
233
252
|
}
|
|
234
253
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
254
|
+
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-size="large"]::after {
|
|
255
|
+
white-space: initial;
|
|
256
|
+
width: var(--tooltip-large-width);
|
|
238
257
|
}
|
|
239
258
|
}
|
|
240
|
-
|
|
241
|
-
// Tooltip sizes
|
|
242
|
-
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-size="small"]::after {
|
|
243
|
-
white-space: initial;
|
|
244
|
-
width: var(--tooltip-small-width);
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-size="medium"]::after {
|
|
248
|
-
white-space: initial;
|
|
249
|
-
width: var(--tooltip-medium-width);
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
#{VAR.$parent-selector} [role~="tooltip"][data-microtip-size="large"]::after {
|
|
253
|
-
white-space: initial;
|
|
254
|
-
width: var(--tooltip-large-width);
|
|
255
|
-
}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
@use "../abstracts/config" as VAR;
|
|
2
1
|
@use "sass:map";
|
|
2
|
+
@use "../abstracts/config" as VAR;
|
|
3
|
+
@use "../abstracts/functions" as FN;
|
|
3
4
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* - Skew
|
|
11
|
-
* - Transform origin
|
|
12
|
-
*/
|
|
5
|
+
// Transform Utilities
|
|
6
|
+
// - Translate (X, Y, Z)
|
|
7
|
+
// - Scale
|
|
8
|
+
// - Rotate
|
|
9
|
+
// - Skew
|
|
10
|
+
// - Transform origin
|
|
13
11
|
|
|
14
12
|
// Common transform function to avoid repetition
|
|
15
13
|
@mixin apply-transform {
|
|
@@ -173,7 +171,7 @@ $origin-values: (
|
|
|
173
171
|
);
|
|
174
172
|
|
|
175
173
|
// Generate utility classes
|
|
176
|
-
@if
|
|
174
|
+
@if FN.feature-enabled("transforms") {
|
|
177
175
|
// Translate utilities
|
|
178
176
|
@each $key, $value in $translate-values {
|
|
179
177
|
#{VAR.$parent-selector} .translate-x-#{$key},
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
// _transitions.scss
|
|
2
2
|
@use "../abstracts/config" as VAR;
|
|
3
|
+
@use "../abstracts/functions" as FN;
|
|
3
4
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* - .ease-{type}: Set transition timing function
|
|
11
|
-
* - .delay-{time}: Set transition delay
|
|
12
|
-
*/
|
|
5
|
+
// Transition Utilities
|
|
6
|
+
// - .transition: Default transition for common properties
|
|
7
|
+
// - .transition-{property}: Transition specific properties
|
|
8
|
+
// - .duration-{time}: Set transition duration
|
|
9
|
+
// - .ease-{type}: Set transition timing function
|
|
10
|
+
// - .delay-{time}: Set transition delay
|
|
13
11
|
|
|
14
12
|
// Property-specific transition mixins
|
|
15
13
|
@mixin transition-none {
|
|
@@ -89,7 +87,7 @@ $delays: (
|
|
|
89
87
|
"1000": 1000ms,
|
|
90
88
|
);
|
|
91
89
|
|
|
92
|
-
@if
|
|
90
|
+
@if FN.feature-enabled("transitions") {
|
|
93
91
|
// Property-specific transitions
|
|
94
92
|
#{VAR.$parent-selector} .transition-none {
|
|
95
93
|
@include transition-none;
|
|
@@ -6,30 +6,25 @@
|
|
|
6
6
|
|
|
7
7
|
// Import variables
|
|
8
8
|
@use "../abstracts/config" as VAR;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
* All utilities support responsive variants with @breakpoint suffix:
|
|
24
|
-
* - .text-lg@md, .font-bold@lg, etc.
|
|
25
|
-
*/
|
|
9
|
+
@use "../abstracts/functions" as FN;
|
|
10
|
+
|
|
11
|
+
// Typography Utilities
|
|
12
|
+
// Classes:
|
|
13
|
+
// - Font Size: .text-xs, .text-sm, .text-base, etc.
|
|
14
|
+
// - Font Weight: .font-thin, .font-normal, .font-bold, etc.
|
|
15
|
+
// - Line Height: .leading-none, .leading-tight, .leading-normal, etc.
|
|
16
|
+
// - Text Align: .text-left, .text-center, .text-right, .text-justify
|
|
17
|
+
// - Text Transform: .uppercase, .lowercase, .capitalize, .normal-case
|
|
18
|
+
// - Text Style: .italic, .not-italic
|
|
19
|
+
// - Text Decoration: .underline, .line-through, .no-underline
|
|
20
|
+
// - Text Overflow: .truncate
|
|
21
|
+
// All utilities support responsive variants with @breakpoint suffix:
|
|
22
|
+
// - .text-lg@md, .font-bold@lg, etc.
|
|
26
23
|
|
|
27
24
|
// Utilities for text sizes
|
|
28
25
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
* @param {string} $size - The size of the text.
|
|
32
|
-
*/
|
|
26
|
+
// Text size utility
|
|
27
|
+
// @param {string} $size - The size of the text.
|
|
33
28
|
@mixin text-size($size) {
|
|
34
29
|
@if map.has-key(VAR.$font-sizes, $size) {
|
|
35
30
|
font-size: map.get(VAR.$font-sizes, $size);
|
|
@@ -418,7 +413,7 @@
|
|
|
418
413
|
}
|
|
419
414
|
}
|
|
420
415
|
|
|
421
|
-
@if
|
|
416
|
+
@if FN.feature-enabled("typography") {
|
|
422
417
|
@include responsive-typography;
|
|
423
418
|
|
|
424
419
|
#{VAR.$parent-selector} .break-normal {
|
|
@@ -6,17 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
// Import variables
|
|
8
8
|
@use "../abstracts/config" as VAR;
|
|
9
|
+
@use "../abstracts/functions" as FN;
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
*
|
|
17
|
-
* All utilities support responsive variants with @breakpoint suffix:
|
|
18
|
-
* - .z-10@md, .z-dropdown@lg, etc.
|
|
19
|
-
*/
|
|
11
|
+
// Z-Index Utilities
|
|
12
|
+
// Classes:
|
|
13
|
+
// - z-index values: .z-0, .z-10, .z-20, etc.
|
|
14
|
+
// - Named z-index levels: .z-auto, .z-base, .z-dropdown, etc.
|
|
15
|
+
// All utilities support responsive variants with @breakpoint suffix:
|
|
16
|
+
// - .z-10@md, .z-dropdown@lg, etc.
|
|
20
17
|
|
|
21
18
|
// Z-index values map (can be moved to variables)
|
|
22
19
|
$z-indexes: (
|
|
@@ -53,10 +50,8 @@ $z-index-levels: (
|
|
|
53
50
|
"max": 9999,
|
|
54
51
|
);
|
|
55
52
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
* @param {Number|String} $value - Z-index value or key
|
|
59
|
-
*/
|
|
53
|
+
// Apply a z-index value
|
|
54
|
+
// @param {Number|String} $value - Z-index value or key
|
|
60
55
|
@mixin z-index($value) {
|
|
61
56
|
@if map.has-key($z-indexes, $value) {
|
|
62
57
|
z-index: map.get($z-indexes, $value);
|
|
@@ -67,10 +62,8 @@ $z-index-levels: (
|
|
|
67
62
|
}
|
|
68
63
|
}
|
|
69
64
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
* @param {String} $breakpoint - Optional breakpoint name for responsive variants
|
|
73
|
-
*/
|
|
65
|
+
// Generate z-index utility classes
|
|
66
|
+
// @param {String} $breakpoint - Optional breakpoint name for responsive variants
|
|
74
67
|
@mixin z-index-utilities($breakpoint: null) {
|
|
75
68
|
$suffix: if($breakpoint, "\\@#{$breakpoint}", "");
|
|
76
69
|
|
|
@@ -131,7 +124,7 @@ $z-index-levels: (
|
|
|
131
124
|
}
|
|
132
125
|
|
|
133
126
|
// Generate utility classes
|
|
134
|
-
@if
|
|
127
|
+
@if FN.feature-enabled("z-index") {
|
|
135
128
|
// Generate base utilities
|
|
136
129
|
@include z-index-utilities;
|
|
137
130
|
|