@nuvoui/core 1.2.1 → 1.2.3
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 +96 -73
- package/dist/nuvoui.css +19044 -14979
- 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 +1 -1
- package/src/styles/abstracts/_config.scss +18 -36
- package/src/styles/index.scss +5 -2
- package/src/styles/layouts/_flex.scss +59 -30
- package/src/styles/layouts/_grid.scss +23 -23
- package/src/styles/mixins-map.scss +1 -1
- package/src/styles/themes/_theme.scss +91 -73
- package/src/styles/utilities/_alignment.scss +16 -16
- package/src/styles/utilities/_animations.scss +61 -8
- package/src/styles/utilities/_borders.scss +53 -31
- package/src/styles/utilities/_colors.scss +61 -65
- package/src/styles/utilities/_cursor.scss +23 -0
- package/src/styles/utilities/_index.scss +1 -0
- package/src/styles/utilities/_opacity.scss +14 -21
- package/src/styles/utilities/_position.scss +44 -1
- package/src/styles/utilities/_sizing.scss +72 -73
- package/src/styles/utilities/_spacing.scss +85 -49
- package/src/styles/utilities/_transforms.scss +221 -0
- package/src/styles/utilities/_transitions.scss +1 -1
- package/src/styles/utilities/_typography.scss +100 -26
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
* @description Sets padding on all sides
|
|
118
118
|
* @param {Number|String} $val - Padding value
|
|
119
119
|
*/
|
|
120
|
-
@mixin p($val) {
|
|
120
|
+
@mixin p($val) { padding: format-unit-value($val); }
|
|
121
121
|
|
|
122
122
|
/**
|
|
123
123
|
* @mixin px
|
|
@@ -138,38 +138,54 @@
|
|
|
138
138
|
*/
|
|
139
139
|
@mixin py($val) {
|
|
140
140
|
$val: format-unit-value($val);
|
|
141
|
-
|
|
141
|
+
|
|
142
142
|
padding-top: $val;
|
|
143
143
|
padding-bottom: $val;
|
|
144
144
|
}
|
|
145
|
-
|
|
145
|
+
|
|
146
146
|
/**
|
|
147
147
|
* @mixin pt
|
|
148
148
|
* @description Sets padding-top
|
|
149
149
|
* @param {Number|String} $val - Padding value
|
|
150
150
|
*/
|
|
151
|
-
@mixin pt($val) {
|
|
151
|
+
@mixin pt($val) {
|
|
152
|
+
$val: format-unit-value($val);
|
|
153
|
+
|
|
154
|
+
padding-top: $val;
|
|
155
|
+
}
|
|
152
156
|
|
|
153
157
|
/**
|
|
154
158
|
* @mixin pr
|
|
155
159
|
* @description Sets padding-right
|
|
156
160
|
* @param {Number|String} $val - Padding value
|
|
157
161
|
*/
|
|
158
|
-
@mixin pr($val) {
|
|
162
|
+
@mixin pr($val) {
|
|
163
|
+
$val: format-unit-value($val);
|
|
164
|
+
|
|
165
|
+
padding-right: $val;
|
|
166
|
+
}
|
|
159
167
|
|
|
160
168
|
/**
|
|
161
169
|
* @mixin pb
|
|
162
170
|
* @description Sets padding-bottom
|
|
163
171
|
* @param {Number|String} $val - Padding value
|
|
164
172
|
*/
|
|
165
|
-
@mixin pb($val) {
|
|
173
|
+
@mixin pb($val) {
|
|
174
|
+
$val: format-unit-value($val);
|
|
175
|
+
|
|
176
|
+
padding-bottom: $val;
|
|
177
|
+
}
|
|
166
178
|
|
|
167
179
|
/**
|
|
168
180
|
* @mixin pl
|
|
169
181
|
* @description Sets padding-left
|
|
170
182
|
* @param {Number|String} $val - Padding value
|
|
171
183
|
*/
|
|
172
|
-
@mixin pl($val) {
|
|
184
|
+
@mixin pl($val) {
|
|
185
|
+
$val: format-unit-value($val);
|
|
186
|
+
|
|
187
|
+
padding-left: $val;
|
|
188
|
+
}
|
|
173
189
|
|
|
174
190
|
// -----------------------------------------------
|
|
175
191
|
// MARGIN MIXINS
|
|
@@ -180,7 +196,11 @@
|
|
|
180
196
|
* @description Sets margin on all sides
|
|
181
197
|
* @param {Number|String} $val - Margin value
|
|
182
198
|
*/
|
|
183
|
-
@mixin m($val) {
|
|
199
|
+
@mixin m($val) {
|
|
200
|
+
$val: format-unit-value($val);
|
|
201
|
+
|
|
202
|
+
margin: $val;
|
|
203
|
+
}
|
|
184
204
|
|
|
185
205
|
/**
|
|
186
206
|
* @mixin mx
|
|
@@ -189,7 +209,7 @@
|
|
|
189
209
|
*/
|
|
190
210
|
@mixin mx($val) {
|
|
191
211
|
$val: format-unit-value($val);
|
|
192
|
-
|
|
212
|
+
|
|
193
213
|
margin-left: $val;
|
|
194
214
|
margin-right: $val;
|
|
195
215
|
}
|
|
@@ -211,40 +231,56 @@
|
|
|
211
231
|
* @description Sets margin-top
|
|
212
232
|
* @param {Number|String} $val - Margin value
|
|
213
233
|
*/
|
|
214
|
-
@mixin mt($val) {
|
|
234
|
+
@mixin mt($val) {
|
|
235
|
+
$val: format-unit-value($val);
|
|
236
|
+
|
|
237
|
+
margin-top: $val;
|
|
238
|
+
}
|
|
215
239
|
|
|
216
240
|
/**
|
|
217
241
|
* @mixin mr
|
|
218
242
|
* @description Sets margin-right
|
|
219
243
|
* @param {Number|String} $val - Margin value
|
|
220
244
|
*/
|
|
221
|
-
@mixin mr($val) {
|
|
245
|
+
@mixin mr($val) {
|
|
246
|
+
$val: format-unit-value($val);
|
|
247
|
+
|
|
248
|
+
margin-right: $val;
|
|
249
|
+
}
|
|
222
250
|
|
|
223
251
|
/**
|
|
224
252
|
* @mixin mb
|
|
225
253
|
* @description Sets margin-bottom
|
|
226
254
|
* @param {Number|String} $val - Margin value
|
|
227
255
|
*/
|
|
228
|
-
@mixin mb($val) {
|
|
256
|
+
@mixin mb($val) {
|
|
257
|
+
$val: format-unit-value($val);
|
|
258
|
+
|
|
259
|
+
margin-bottom: $val;
|
|
260
|
+
}
|
|
229
261
|
|
|
230
262
|
/**
|
|
231
263
|
* @mixin ml
|
|
232
264
|
* @description Sets margin-left
|
|
233
265
|
* @param {Number|String} $val - Margin value
|
|
234
266
|
*/
|
|
235
|
-
@mixin ml($val) {
|
|
267
|
+
@mixin ml($val) {
|
|
268
|
+
$val: format-unit-value($val);
|
|
269
|
+
|
|
270
|
+
margin-left: $val;
|
|
271
|
+
}
|
|
236
272
|
|
|
237
273
|
/**
|
|
238
274
|
* @mixin ml-auto
|
|
239
275
|
* @description Sets margin-left to auto
|
|
240
276
|
*/
|
|
241
|
-
@mixin ml-auto {
|
|
277
|
+
@mixin ml-auto { margin-left: auto; }
|
|
242
278
|
|
|
243
279
|
/**
|
|
244
280
|
* @mixin mr-auto
|
|
245
281
|
* @description Sets margin-right to auto
|
|
246
282
|
*/
|
|
247
|
-
@mixin mr-auto {
|
|
283
|
+
@mixin mr-auto { margin-right: auto; }
|
|
248
284
|
|
|
249
285
|
/**
|
|
250
286
|
* @mixin mx-auto
|
|
@@ -362,39 +398,39 @@
|
|
|
362
398
|
// -----------------------------------------------
|
|
363
399
|
|
|
364
400
|
@each $breakpoint, $width in $breakpoints {
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
}
|
|
401
|
+
@media (min-width: #{$width}) {
|
|
402
|
+
.mx-auto\@#{$breakpoint} { @include mx-auto; }
|
|
403
|
+
.ml-auto\@#{$breakpoint} { @include ml-auto; }
|
|
404
|
+
.mr-auto\@#{$breakpoint} { @include mr-auto; }
|
|
405
|
+
|
|
406
|
+
// Generate utilities from spacing map
|
|
407
|
+
@each $key, $value in $spacings {
|
|
408
|
+
// Padding classes
|
|
409
|
+
.p-#{$key}\@#{$breakpoint} { @include p($value); }
|
|
410
|
+
.px-#{$key}\@#{$breakpoint} { @include px($value); }
|
|
411
|
+
.py-#{$key}\@#{$breakpoint} { @include py($value); }
|
|
412
|
+
.pt-#{$key}\@#{$breakpoint} { @include pt($value); }
|
|
413
|
+
.pr-#{$key}\@#{$breakpoint} { @include pr($value); }
|
|
414
|
+
.pb-#{$key}\@#{$breakpoint} { @include pb($value); }
|
|
415
|
+
.pl-#{$key}\@#{$breakpoint} { @include pl($value); }
|
|
416
|
+
|
|
417
|
+
// Margin classes
|
|
418
|
+
.m-#{$key}\@#{$breakpoint} { @include m($value); }
|
|
419
|
+
.mx-#{$key}\@#{$breakpoint} { @include mx($value); }
|
|
420
|
+
.my-#{$key}\@#{$breakpoint} { @include my($value); }
|
|
421
|
+
.mt-#{$key}\@#{$breakpoint} { @include mt($value); }
|
|
422
|
+
.mr-#{$key}\@#{$breakpoint} { @include mr($value); }
|
|
423
|
+
.mb-#{$key}\@#{$breakpoint} { @include mb($value); }
|
|
424
|
+
.ml-#{$key}\@#{$breakpoint} { @include ml($value); }
|
|
425
|
+
|
|
426
|
+
.gap-#{$key}\@#{$breakpoint} { gap: $value; }
|
|
427
|
+
.gap-x-#{$key}\@#{$breakpoint} { column-gap: $value; }
|
|
428
|
+
.gap-y-#{$key}\@#{$breakpoint} { row-gap: $value; }
|
|
429
|
+
|
|
430
|
+
// Space classes
|
|
431
|
+
.space-x-#{$key}\@#{$breakpoint} { @include space-x($value); }
|
|
432
|
+
.space-y-#{$key}\@#{$breakpoint} { @include space-y($value); }
|
|
398
433
|
}
|
|
434
|
+
}
|
|
399
435
|
}
|
|
400
|
-
}
|
|
436
|
+
}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
@use '../abstracts' as *;
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Transform Utilities
|
|
6
|
+
*
|
|
7
|
+
* - Translate (X, Y, Z)
|
|
8
|
+
* - Scale
|
|
9
|
+
* - Rotate
|
|
10
|
+
* - Skew
|
|
11
|
+
* - Transform origin
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
// Translation mixins
|
|
15
|
+
@mixin translate-x($value) {
|
|
16
|
+
& {
|
|
17
|
+
--translate-x: #{$value};
|
|
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
|
+
}
|
|
22
|
+
|
|
23
|
+
@mixin translate-y($value) {
|
|
24
|
+
& {
|
|
25
|
+
--translate-y: #{$value};
|
|
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
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@mixin translate-z($value) {
|
|
32
|
+
& {
|
|
33
|
+
--translate-z: #{$value};
|
|
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
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@mixin translate($x, $y: null) {
|
|
40
|
+
& {
|
|
41
|
+
--translate-x: #{$x};
|
|
42
|
+
|
|
43
|
+
@if $y {
|
|
44
|
+
--translate-y: #{$y};
|
|
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));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Scale mixins
|
|
52
|
+
@mixin scale-x($value) {
|
|
53
|
+
& {
|
|
54
|
+
--scale-x: #{$value};
|
|
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
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@mixin scale-y($value) {
|
|
61
|
+
& {
|
|
62
|
+
--scale-y: #{$value};
|
|
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
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@mixin scale($value) {
|
|
69
|
+
& {
|
|
70
|
+
--scale-x: #{$value};
|
|
71
|
+
--scale-y: #{$value};
|
|
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
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Rotation mixins
|
|
78
|
+
@mixin rotate($value) {
|
|
79
|
+
& {
|
|
80
|
+
--rotate: #{$value};
|
|
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
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// Skew mixins
|
|
87
|
+
@mixin skew-x($value) {
|
|
88
|
+
& {
|
|
89
|
+
--skew-x: #{$value};
|
|
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
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
@mixin skew-y($value) {
|
|
96
|
+
& {
|
|
97
|
+
--skew-y: #{$value};
|
|
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
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Transform origin
|
|
104
|
+
@mixin origin($value) {
|
|
105
|
+
& {
|
|
106
|
+
transform-origin: $value;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Common transform values
|
|
111
|
+
$translate-values: (
|
|
112
|
+
'0': 0,
|
|
113
|
+
'1': 0.25rem,
|
|
114
|
+
'2': 0.5rem,
|
|
115
|
+
'3': 0.75rem,
|
|
116
|
+
'4': 1rem,
|
|
117
|
+
'5': 1.25rem,
|
|
118
|
+
'6': 1.5rem,
|
|
119
|
+
'8': 2rem,
|
|
120
|
+
'10': 2.5rem,
|
|
121
|
+
'12': 3rem,
|
|
122
|
+
'16': 4rem,
|
|
123
|
+
'20': 5rem,
|
|
124
|
+
'25p': 25%,
|
|
125
|
+
'33p': 33.333%,
|
|
126
|
+
'50p': 50%,
|
|
127
|
+
'66p': 66.667%,
|
|
128
|
+
'75p': 75%,
|
|
129
|
+
'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
|
+
);
|
|
148
|
+
|
|
149
|
+
// Generate utility classes
|
|
150
|
+
@if $generate-utility-classes {
|
|
151
|
+
// Translate utilities
|
|
152
|
+
@each $key, $value in $translate-values {
|
|
153
|
+
.translate-x-#{$key} { @include translate-x($value); }
|
|
154
|
+
.translate-y-#{$key} { @include translate-y($value); }
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// Scale utilities
|
|
158
|
+
.scale-0 { @include scale(0); }
|
|
159
|
+
.scale-50 { @include scale(0.5); }
|
|
160
|
+
.scale-75 { @include scale(0.75); }
|
|
161
|
+
.scale-90 { @include scale(0.9); }
|
|
162
|
+
.scale-95 { @include scale(0.95); }
|
|
163
|
+
.scale-100 { @include scale(1); }
|
|
164
|
+
.scale-105 { @include scale(1.05); }
|
|
165
|
+
.scale-110 { @include scale(1.1); }
|
|
166
|
+
.scale-125 { @include scale(1.25); }
|
|
167
|
+
.scale-150 { @include scale(1.5); }
|
|
168
|
+
|
|
169
|
+
// Rotation utilities
|
|
170
|
+
.rotate-0 { @include rotate(0deg); }
|
|
171
|
+
.rotate-45 { @include rotate(45deg); }
|
|
172
|
+
.rotate-90 { @include rotate(90deg); }
|
|
173
|
+
.rotate-180 { @include rotate(180deg); }
|
|
174
|
+
.rotate-270 { @include rotate(270deg); }
|
|
175
|
+
.-rotate-45 { @include rotate(-45deg); }
|
|
176
|
+
.-rotate-90 { @include rotate(-90deg); }
|
|
177
|
+
.-rotate-180 { @include rotate(-180deg); }
|
|
178
|
+
.-rotate-270 { @include rotate(-270deg); }
|
|
179
|
+
|
|
180
|
+
// Origin utilities
|
|
181
|
+
.origin-center { @include origin(center); }
|
|
182
|
+
.origin-top { @include origin(top); }
|
|
183
|
+
.origin-top-right { @include origin(top right); }
|
|
184
|
+
.origin-right { @include origin(right); }
|
|
185
|
+
.origin-bottom-right { @include origin(bottom right); }
|
|
186
|
+
.origin-bottom { @include origin(bottom); }
|
|
187
|
+
.origin-bottom-left { @include origin(bottom left); }
|
|
188
|
+
.origin-left { @include origin(left); }
|
|
189
|
+
.origin-top-left { @include origin(top left); }
|
|
190
|
+
|
|
191
|
+
// Responsive variants
|
|
192
|
+
@each $breakpoint, $width in $breakpoints {
|
|
193
|
+
@media (min-width: #{$width}) {
|
|
194
|
+
@each $key, $value in $translate-values {
|
|
195
|
+
.translate-x-#{$key}\@#{$breakpoint} { @include translate-x($value); }
|
|
196
|
+
.translate-y-#{$key}\@#{$breakpoint} { @include translate-y($value); }
|
|
197
|
+
}
|
|
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
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Module: Text
|
|
3
3
|
|
|
4
4
|
@use 'sass:map';
|
|
5
|
+
@use 'sass:meta';
|
|
5
6
|
|
|
6
7
|
// Import variables
|
|
7
8
|
@use '../abstracts' as VAR;
|
|
@@ -31,12 +32,11 @@
|
|
|
31
32
|
* @param {string} $size - The size of the text.
|
|
32
33
|
*/
|
|
33
34
|
@mixin text-size($size) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
@if map.has-key(VAR.$font-sizes, $size) {
|
|
36
|
+
font-size: map.get(VAR.$font-sizes, $size);
|
|
37
|
+
} @else {
|
|
38
|
+
font-size: $size;
|
|
39
|
+
}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
// Font weights
|
|
@@ -50,13 +50,34 @@
|
|
|
50
50
|
@mixin font-extrabold { font-weight: 800; }
|
|
51
51
|
@mixin font-black { font-weight: 900; }
|
|
52
52
|
|
|
53
|
+
|
|
54
|
+
@mixin leading($value){
|
|
55
|
+
@if meta.type-of($value) == 'number' {
|
|
56
|
+
line-height: $value;
|
|
57
|
+
} @else if $value == 'none' {
|
|
58
|
+
line-height: 1;
|
|
59
|
+
} @else if $value == 'tight' {
|
|
60
|
+
line-height: 1.25;
|
|
61
|
+
} @else if $value == 'snug' {
|
|
62
|
+
line-height: 1.375;
|
|
63
|
+
} @else if $value == 'normal' {
|
|
64
|
+
line-height: 1.5;
|
|
65
|
+
} @else if $value == 'relaxed' {
|
|
66
|
+
line-height: 1.625;
|
|
67
|
+
} @else if $value == 'loose' {
|
|
68
|
+
line-height: 2;
|
|
69
|
+
} @else {
|
|
70
|
+
line-height: $value;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
53
74
|
// Line heights
|
|
54
|
-
@mixin leading-none {
|
|
55
|
-
@mixin leading-tight {
|
|
56
|
-
@mixin leading-snug {
|
|
57
|
-
@mixin leading-normal {
|
|
58
|
-
@mixin leading-relaxed {
|
|
59
|
-
@mixin leading-loose {
|
|
75
|
+
@mixin leading-none { @include leading(none);}
|
|
76
|
+
@mixin leading-tight { @include leading(tight);}
|
|
77
|
+
@mixin leading-snug { @include leading(snug);}
|
|
78
|
+
@mixin leading-normal { @include leading(normal);}
|
|
79
|
+
@mixin leading-relaxed { @include leading(relaxed);}
|
|
80
|
+
@mixin leading-loose { @include leading(loose);}
|
|
60
81
|
|
|
61
82
|
// Text alignment
|
|
62
83
|
@mixin text-left { text-align: left; }
|
|
@@ -72,16 +93,28 @@
|
|
|
72
93
|
@mixin normal-case { text-transform: none; }
|
|
73
94
|
|
|
74
95
|
// Font style mixins
|
|
75
|
-
@mixin italic { font-style: italic; }
|
|
76
|
-
@mixin not-italic { font-style: normal; }
|
|
96
|
+
@mixin italic { font-style: italic; }
|
|
97
|
+
@mixin not-italic { font-style: normal; }
|
|
77
98
|
|
|
78
99
|
// Text decoration mixins
|
|
79
|
-
@mixin underline { text-decoration: underline; }
|
|
80
|
-
@mixin line-through { text-decoration: line-through; }
|
|
81
|
-
@mixin no-underline { text-decoration: none; }
|
|
100
|
+
@mixin underline { text-decoration: underline; }
|
|
101
|
+
@mixin line-through { text-decoration: line-through; }
|
|
102
|
+
@mixin no-underline { text-decoration: none; }
|
|
82
103
|
|
|
83
104
|
// Text overflow mixin
|
|
84
|
-
@mixin truncate {
|
|
105
|
+
@mixin truncate {
|
|
106
|
+
overflow: hidden;
|
|
107
|
+
text-overflow: ellipsis;
|
|
108
|
+
white-space: nowrap;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
@mixin overflow-label {
|
|
112
|
+
white-space: nowrap;
|
|
113
|
+
word-break: break-all;
|
|
114
|
+
text-overflow: ellipsis;
|
|
115
|
+
overflow: hidden;
|
|
116
|
+
min-width: 0;
|
|
117
|
+
}
|
|
85
118
|
|
|
86
119
|
@mixin truncate-lines($lines: 2) {
|
|
87
120
|
display: -webkit-box;
|
|
@@ -92,7 +125,11 @@
|
|
|
92
125
|
}
|
|
93
126
|
|
|
94
127
|
|
|
95
|
-
@mixin break-normal {
|
|
128
|
+
@mixin break-normal {
|
|
129
|
+
overflow-wrap: normal;
|
|
130
|
+
word-break: normal;
|
|
131
|
+
}
|
|
132
|
+
|
|
96
133
|
@mixin break-words { overflow-wrap: break-word; }
|
|
97
134
|
@mixin break-all { word-break: break-all; }
|
|
98
135
|
@mixin whitespace-normal { white-space: normal; }
|
|
@@ -102,6 +139,35 @@
|
|
|
102
139
|
@mixin whitespace-pre-wrap { white-space: pre-wrap; }
|
|
103
140
|
|
|
104
141
|
|
|
142
|
+
// Custom letter spacing mixin with value
|
|
143
|
+
@mixin tracking($value) {
|
|
144
|
+
@if meta.type-of($value) == 'number' {
|
|
145
|
+
letter-spacing: $value;
|
|
146
|
+
} @else if $value == 'tighter' {
|
|
147
|
+
letter-spacing: -0.05em;
|
|
148
|
+
} @else if $value == 'tight' {
|
|
149
|
+
letter-spacing: -0.025em;
|
|
150
|
+
} @else if $value == 'normal' {
|
|
151
|
+
letter-spacing: 0;
|
|
152
|
+
} @else if $value == 'wide' {
|
|
153
|
+
letter-spacing: 0.025em;
|
|
154
|
+
} @else if $value == 'wider' {
|
|
155
|
+
letter-spacing: 0.05em;
|
|
156
|
+
} @else if $value == 'widest' {
|
|
157
|
+
letter-spacing: 0.1em;
|
|
158
|
+
} @else {
|
|
159
|
+
letter-spacing: $value;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@mixin tracking-tighter { @include tracking(tighter) };
|
|
164
|
+
@mixin tracking-tight { @include tracking(tight) };
|
|
165
|
+
@mixin tracking-normal { @include tracking(normal) };
|
|
166
|
+
@mixin tracking-wide { @include tracking(wide) };
|
|
167
|
+
@mixin tracking-wider { @include tracking(wider) };
|
|
168
|
+
@mixin tracking-widest { @include tracking(widest) };
|
|
169
|
+
|
|
170
|
+
|
|
105
171
|
@mixin responsive-typography($breakpoint: null) {
|
|
106
172
|
$suffix: if($breakpoint, "\\@#{$breakpoint}", "");
|
|
107
173
|
|
|
@@ -153,6 +219,15 @@
|
|
|
153
219
|
.truncate-3#{$suffix} { @include truncate-lines(3); }
|
|
154
220
|
.truncate-4#{$suffix} { @include truncate-lines(4); }
|
|
155
221
|
.truncate-5#{$suffix} { @include truncate-lines(5); }
|
|
222
|
+
|
|
223
|
+
.tracking-tighter#{$suffix} { @include tracking(tighter) };
|
|
224
|
+
.tracking-tight#{$suffix} { @include tracking(tight) };
|
|
225
|
+
.tracking-normal#{$suffix} { @include tracking(normal) };
|
|
226
|
+
.tracking-wide#{$suffix} { @include tracking(wide) };
|
|
227
|
+
.tracking-wider#{$suffix} { @include tracking(wider) };
|
|
228
|
+
.tracking-widest#{$suffix} { @include tracking(widest) };
|
|
229
|
+
|
|
230
|
+
.overflow-label#{$suffix}{@include overflow-label};
|
|
156
231
|
}
|
|
157
232
|
|
|
158
233
|
@if VAR.$generate-utility-classes {
|
|
@@ -167,12 +242,11 @@
|
|
|
167
242
|
.whitespace-pre-wrap { @include whitespace-pre-wrap; }
|
|
168
243
|
|
|
169
244
|
@each $breakpoint, $width in VAR.$breakpoints {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
}
|
|
174
|
-
@include responsive-typography($breakpoint);
|
|
245
|
+
@media (min-width: #{$width}) {
|
|
246
|
+
@each $size, $val in VAR.$font-sizes {
|
|
247
|
+
.text-#{$size}\@#{$breakpoint} { @include text-size($size); }
|
|
175
248
|
}
|
|
249
|
+
@include responsive-typography($breakpoint);
|
|
250
|
+
}
|
|
176
251
|
}
|
|
177
|
-
|
|
178
|
-
}
|
|
252
|
+
}
|