@nuvoui/core 1.1.8 → 1.2.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/README.md +90 -35
- package/dist/nuvoui.css +28531 -0
- package/dist/nuvoui.css.map +1 -0
- package/dist/nuvoui.min.css +2 -1
- package/dist/nuvoui.min.css.map +1 -0
- package/package.json +48 -27
- package/src/styles/abstracts/_config.scss +157 -0
- package/src/styles/abstracts/_functions.scss +81 -0
- package/src/styles/abstracts/_index.scss +2 -0
- package/src/styles/base/_base.scss +2 -2
- package/src/styles/base/_index.scss +2 -0
- package/src/styles/base/_reset.scss +8 -6
- package/src/styles/index.scss +11 -30
- package/src/styles/layouts/_container.scss +7 -23
- package/src/styles/layouts/_flex.scss +116 -113
- package/src/styles/layouts/_grid.scss +70 -100
- package/src/styles/layouts/_index.scss +3 -0
- package/src/styles/mixins-map.scss +1 -1515
- package/src/styles/themes/_index.scss +1 -0
- package/src/styles/themes/_theme.scss +175 -55
- package/src/styles/utilities/_alignment.scss +9 -7
- package/src/styles/utilities/_animations.scss +65 -61
- package/src/styles/utilities/_borders.scss +283 -18
- package/src/styles/utilities/_colors.scss +68 -49
- package/src/styles/utilities/_container-queries.scss +19 -18
- package/src/styles/utilities/_display.scss +59 -57
- package/src/styles/utilities/_helpers.scss +110 -108
- package/src/styles/utilities/_index.scss +19 -0
- package/src/styles/utilities/_media-queries.scss +68 -15
- package/src/styles/utilities/_opacity.scss +51 -27
- package/src/styles/utilities/_position.scss +38 -37
- package/src/styles/utilities/_shadows.scss +195 -137
- package/src/styles/utilities/_sizing.scss +74 -71
- package/src/styles/utilities/_spacing.scss +117 -99
- package/src/styles/utilities/_tooltips.scss +153 -105
- package/src/styles/utilities/_transitions.scss +77 -73
- package/src/styles/utilities/_typography.scss +23 -26
- package/src/styles/utilities/_functions.scss +0 -84
- package/src/styles/utilities/_variables.scss +0 -126
|
@@ -1,128 +1,130 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
3
|
-
@use
|
|
4
|
-
@use
|
|
5
|
-
@use
|
|
6
|
-
|
|
1
|
+
@use "sass:string";
|
|
2
|
+
@use "sass:math";
|
|
3
|
+
@use "sass:map";
|
|
4
|
+
@use "sass:list";
|
|
5
|
+
@use "sass:meta";
|
|
6
|
+
|
|
7
|
+
@use "../abstracts/config" as *;
|
|
7
8
|
|
|
8
9
|
@if $enable-debuger {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
.NuvoUI-Debugger-Wrapper {
|
|
11
|
+
color: #fff;
|
|
12
|
+
font-family: Arial, sans-serif;
|
|
13
|
+
position: fixed;
|
|
14
|
+
z-index: 999999;
|
|
15
|
+
inset: 10px auto auto 10px;
|
|
16
|
+
pointer-events: none;
|
|
17
|
+
|
|
18
|
+
&.top-left {
|
|
19
|
+
inset: 10px auto auto 10px;
|
|
20
|
+
text-align: left;
|
|
21
|
+
}
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
&.top-right {
|
|
24
|
+
inset: 10px 10px auto auto;
|
|
25
|
+
text-align: right;
|
|
26
|
+
}
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
&.bottom-left {
|
|
29
|
+
inset: auto auto 10px 10px;
|
|
30
|
+
text-align: left;
|
|
31
|
+
}
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
&.bottom-right {
|
|
34
|
+
inset: auto 10px 10px auto;
|
|
35
|
+
text-align: right;
|
|
36
|
+
}
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
.NuvoUI-Debugger-Main,
|
|
39
|
+
.NuvoUI-Debugger {
|
|
40
|
+
padding: 10px;
|
|
41
|
+
background-color: rgb(0 0 0 / 80%);
|
|
42
|
+
border-radius: 5px;
|
|
43
|
+
border: 1px solid green;
|
|
44
|
+
box-shadow: 0 0 2px 0 #fff;
|
|
45
|
+
pointer-events: none;
|
|
46
|
+
}
|
|
45
47
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
.NuvoUI-Debugger-Main {
|
|
49
|
+
$breakpoint-keys: map.keys($breakpoints);
|
|
50
|
+
$total: list.length($breakpoint-keys);
|
|
49
51
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
&::before,
|
|
53
|
+
&::after {
|
|
54
|
+
font-family: "Courier New", Courier, monospace;
|
|
55
|
+
font-size: 0.8em;
|
|
56
|
+
display: block;
|
|
57
|
+
}
|
|
56
58
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
&::before {
|
|
60
|
+
font-weight: bold;
|
|
61
|
+
}
|
|
60
62
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
} @else {
|
|
72
|
-
$prev: list.nth($breakpoint-keys, $i - 1);
|
|
73
|
-
$prev-width: map.get($breakpoints, $prev);
|
|
74
|
-
|
|
75
|
-
@media (min-width: #{$prev-width}) and (max-width: (#{$current-width} - 1)) {
|
|
76
|
-
&::before {
|
|
77
|
-
content: "Screen: #{$current}";
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
63
|
+
@for $i from 1 through $total {
|
|
64
|
+
$current: list.nth($breakpoint-keys, $i);
|
|
65
|
+
$current-width: map.get($breakpoints, $current);
|
|
66
|
+
|
|
67
|
+
@if $i == 1 {
|
|
68
|
+
@media (max-width: #{$current-width}) {
|
|
69
|
+
&::before {
|
|
70
|
+
content: "Screen: #{$current}";
|
|
81
71
|
}
|
|
72
|
+
}
|
|
73
|
+
} @else {
|
|
74
|
+
$prev: list.nth($breakpoint-keys, $i - 1);
|
|
75
|
+
$prev-width: map.get($breakpoints, $prev);
|
|
82
76
|
|
|
83
|
-
|
|
84
|
-
|
|
77
|
+
@media (min-width: #{$prev-width}) and (max-width: (#{$current-width} - 1)) {
|
|
78
|
+
&::before {
|
|
79
|
+
content: "Screen: #{$current}";
|
|
85
80
|
}
|
|
81
|
+
}
|
|
86
82
|
}
|
|
83
|
+
}
|
|
87
84
|
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
&::after {
|
|
86
|
+
content: attr(data-size);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
90
89
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
font-family: 'Courier New', Courier, monospace;
|
|
94
|
-
font-size: 0.8em;
|
|
95
|
-
display: block;
|
|
96
|
-
}
|
|
90
|
+
.NuvoUI-Debugger {
|
|
91
|
+
margin-top: 10px;
|
|
97
92
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
93
|
+
&::before,
|
|
94
|
+
&::after {
|
|
95
|
+
font-family: "Courier New", Courier, monospace;
|
|
96
|
+
font-size: 0.8em;
|
|
97
|
+
display: block;
|
|
98
|
+
}
|
|
102
99
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
100
|
+
&::before {
|
|
101
|
+
font-weight: bold;
|
|
102
|
+
content: attr(data-element);
|
|
103
|
+
}
|
|
107
104
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
105
|
+
&::after {
|
|
106
|
+
content: attr(data-size);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.NuvoUI-Debugger-Close {
|
|
111
|
+
color: #fff;
|
|
112
|
+
cursor: pointer;
|
|
113
|
+
font-size: 14px;
|
|
114
|
+
pointer-events: auto;
|
|
115
|
+
position: absolute;
|
|
116
|
+
right: 0;
|
|
117
|
+
top: 0;
|
|
118
|
+
background: #00800199;
|
|
119
|
+
border-radius: 20px;
|
|
120
|
+
height: 14px;
|
|
121
|
+
width: 14px;
|
|
122
|
+
line-height: 14px;
|
|
123
|
+
text-align: center;
|
|
124
|
+
|
|
125
|
+
&:hover {
|
|
126
|
+
background: #008001;
|
|
127
|
+
}
|
|
127
128
|
}
|
|
128
|
-
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
@use "../abstracts/config" as cfg;
|
|
2
|
+
|
|
3
|
+
// Forward all utility files
|
|
4
|
+
@forward "alignment";
|
|
5
|
+
@forward "animations";
|
|
6
|
+
@forward "borders";
|
|
7
|
+
@forward "colors";
|
|
8
|
+
@forward "container-queries";
|
|
9
|
+
@forward "display";
|
|
10
|
+
@forward "helpers";
|
|
11
|
+
@forward "media-queries";
|
|
12
|
+
@forward "opacity";
|
|
13
|
+
@forward "position";
|
|
14
|
+
@forward "shadows";
|
|
15
|
+
@forward "sizing";
|
|
16
|
+
@forward "spacing";
|
|
17
|
+
@forward "tooltips";
|
|
18
|
+
@forward "transitions";
|
|
19
|
+
@forward "typography";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// Section: Utilities
|
|
2
2
|
// Module: Media Queries
|
|
3
3
|
|
|
4
|
-
@use
|
|
5
|
-
@use
|
|
6
|
-
@use
|
|
7
|
-
@use
|
|
8
|
-
|
|
4
|
+
@use "sass:map";
|
|
5
|
+
@use "sass:math";
|
|
6
|
+
@use "sass:meta";
|
|
7
|
+
@use "../abstracts" as *;
|
|
8
|
+
@use "../abstracts/functions" as FN;
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* @description Media query mixins.
|
|
@@ -13,13 +13,25 @@
|
|
|
13
13
|
* @param {string} $type - The media query type (e.g. 'lg', 'md').
|
|
14
14
|
*/
|
|
15
15
|
@mixin media-up($breakpoint) {
|
|
16
|
-
|
|
16
|
+
$blueprint-value: FN.get-breakpoint-value($breakpoint);
|
|
17
|
+
$unit: math.unit($blueprint-value);
|
|
18
|
+
@if $unit == '' {
|
|
19
|
+
$blueprint-value: $blueprint-value * 1px;
|
|
20
|
+
$unit: 'px';
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@media screen and (min-width: FN.get-breakpoint-value($blueprint-value)) {
|
|
17
24
|
@content;
|
|
18
25
|
}
|
|
19
26
|
}
|
|
20
27
|
|
|
21
28
|
@mixin media-down($breakpoint) {
|
|
22
|
-
$
|
|
29
|
+
$blueprint-value: FN.get-breakpoint-value($breakpoint);
|
|
30
|
+
$unit: math.unit($blueprint-value);
|
|
31
|
+
@if $unit == '' {
|
|
32
|
+
$blueprint-value: $blueprint-value * 1px;
|
|
33
|
+
}
|
|
34
|
+
$val: $blueprint-value - 0.01;
|
|
23
35
|
@media screen and (max-width: #{$val}) {
|
|
24
36
|
@content;
|
|
25
37
|
}
|
|
@@ -27,7 +39,13 @@
|
|
|
27
39
|
|
|
28
40
|
@mixin media-between($lower, $upper) {
|
|
29
41
|
$lower-val: FN.get-breakpoint-value($lower);
|
|
30
|
-
$upper-val: FN.get-breakpoint-value($upper)
|
|
42
|
+
$upper-val: FN.get-breakpoint-value($upper);
|
|
43
|
+
$unit: math.unit($upper-val);
|
|
44
|
+
@if $unit == '' {
|
|
45
|
+
$upper-val: $upper-val * 1px;
|
|
46
|
+
}
|
|
47
|
+
$upper-val: $blueprint-value - 0.01;
|
|
48
|
+
|
|
31
49
|
@media screen and (min-width: #{$lower-val}) and (max-width: #{$upper-val}) {
|
|
32
50
|
@content;
|
|
33
51
|
}
|
|
@@ -37,13 +55,13 @@
|
|
|
37
55
|
@mixin media-only($breakpoint) {
|
|
38
56
|
$min: FN.get-breakpoint-value($breakpoint);
|
|
39
57
|
$next-breakpoint: null;
|
|
40
|
-
|
|
58
|
+
|
|
41
59
|
@each $name, $width in $breakpoints {
|
|
42
|
-
@if $width > $min and (meta.type-of($next-breakpoint) ==
|
|
60
|
+
@if $width > $min and (meta.type-of($next-breakpoint) == "null" or $width < $next-breakpoint) {
|
|
43
61
|
$next-breakpoint: $width;
|
|
44
62
|
}
|
|
45
63
|
}
|
|
46
|
-
|
|
64
|
+
|
|
47
65
|
@if $next-breakpoint {
|
|
48
66
|
@media (min-width: #{$min}) and (max-width: #{$next-breakpoint - 0.02px}) {
|
|
49
67
|
@content;
|
|
@@ -76,12 +94,26 @@
|
|
|
76
94
|
}
|
|
77
95
|
}
|
|
78
96
|
|
|
79
|
-
//
|
|
80
|
-
|
|
97
|
+
// System preference only
|
|
98
|
+
@mixin prefers-dark {
|
|
99
|
+
@media (prefers-color-scheme: dark) {
|
|
100
|
+
@content;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// User preference takes precedence
|
|
81
105
|
@mixin dark-mode {
|
|
82
|
-
|
|
106
|
+
// Apply when user explicitly chooses dark
|
|
107
|
+
[data-theme="dark"] & {
|
|
83
108
|
@content;
|
|
84
109
|
}
|
|
110
|
+
|
|
111
|
+
// Apply when system is dark AND user hasn't made a choice
|
|
112
|
+
@media (prefers-color-scheme: dark) {
|
|
113
|
+
[data-theme="system"] & {
|
|
114
|
+
@content;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
85
117
|
}
|
|
86
118
|
|
|
87
119
|
// Device orientation
|
|
@@ -124,9 +156,30 @@
|
|
|
124
156
|
}
|
|
125
157
|
}
|
|
126
158
|
|
|
159
|
+
// Data-saving mode
|
|
160
|
+
@mixin save-data {
|
|
161
|
+
@media (prefers-reduced-data: reduce) {
|
|
162
|
+
@content;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Mouse precision detection
|
|
167
|
+
@mixin fine-pointer {
|
|
168
|
+
@media (pointer: fine) {
|
|
169
|
+
@content;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// Display mode for PWAs
|
|
174
|
+
@mixin display-mode($mode: "standalone") {
|
|
175
|
+
@media (display-mode: #{$mode}) {
|
|
176
|
+
@content;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
127
180
|
// High contrast mode
|
|
128
181
|
@mixin high-contrast {
|
|
129
182
|
@media (forced-colors: active) {
|
|
130
183
|
@content;
|
|
131
184
|
}
|
|
132
|
-
}
|
|
185
|
+
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
// Section: Presentation
|
|
2
2
|
// Module: Opacity
|
|
3
3
|
|
|
4
|
-
@use
|
|
5
|
-
@use
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
@use "sass:math";
|
|
5
|
+
@use "../abstracts" as *;
|
|
8
6
|
|
|
9
7
|
/**
|
|
10
8
|
* @component Opacity
|
|
@@ -73,32 +71,58 @@
|
|
|
73
71
|
* @see transitions
|
|
74
72
|
*/
|
|
75
73
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
.opacity-#{$i} { opacity: math.div($i, 100); }
|
|
79
|
-
.hover\:opacity-#{$i}:hover { opacity: math.div($i, 100); }
|
|
80
|
-
.focus\:opacity-#{$i}:focus { opacity: math.div($i, 100); }
|
|
81
|
-
.active\:opacity-#{$i}:active { opacity: math.div($i, 100); }
|
|
82
|
-
.group:hover .group-hover\:opacity-#{$i} { opacity: math.div($i, 100); }
|
|
74
|
+
@mixin opacity($value) {
|
|
75
|
+
opacity: math.div($value, 100);
|
|
83
76
|
}
|
|
84
77
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
@
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
78
|
+
@if $generate-utility-classes {
|
|
79
|
+
// Opacity Utilities
|
|
80
|
+
@each $i in $percentages {
|
|
81
|
+
.opacity-#{$i} {
|
|
82
|
+
@include opacity ($i);
|
|
83
|
+
}
|
|
84
|
+
.hover\:opacity-#{$i}:hover {
|
|
85
|
+
@include opacity ($i);
|
|
86
|
+
}
|
|
87
|
+
.focus\:opacity-#{$i}:focus {
|
|
88
|
+
@include opacity ($i);
|
|
89
|
+
}
|
|
90
|
+
.active\:opacity-#{$i}:active {
|
|
91
|
+
@include opacity ($i);
|
|
92
|
+
}
|
|
93
|
+
.group:hover .group-hover\:opacity-#{$i} {
|
|
94
|
+
@include opacity ($i);
|
|
94
95
|
}
|
|
95
96
|
}
|
|
96
|
-
}
|
|
97
97
|
|
|
98
|
-
//
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
98
|
+
// Responsive Variants for Opacity
|
|
99
|
+
@each $breakpoint, $width in $breakpoints {
|
|
100
|
+
@media (min-width: #{$width}) {
|
|
101
|
+
@each $i in $percentages {
|
|
102
|
+
.opacity-#{$i}\@#{$breakpoint} {
|
|
103
|
+
@include opacity ($i);
|
|
104
|
+
}
|
|
105
|
+
.hover\:opacity-#{$i}\@#{$breakpoint}:hover {
|
|
106
|
+
@include opacity ($i);
|
|
107
|
+
}
|
|
108
|
+
.focus\:opacity-#{$i}\@#{$breakpoint}:focus {
|
|
109
|
+
@include opacity ($i);
|
|
110
|
+
}
|
|
111
|
+
.active\:opacity-#{$i}\@#{$breakpoint}:active {
|
|
112
|
+
@include opacity ($i);
|
|
113
|
+
}
|
|
114
|
+
.group:hover .group-hover\:opacity-#{$i}\@#{$breakpoint} {
|
|
115
|
+
@include opacity ($i);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// Transition Opacity
|
|
122
|
+
// TODO move to transitons may be?
|
|
123
|
+
.transition-opacity {
|
|
124
|
+
transition-property: opacity;
|
|
125
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
126
|
+
transition-duration: 150ms;
|
|
127
|
+
}
|
|
104
128
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@use '
|
|
1
|
+
@use '../abstracts' as *;
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @component Position
|
|
@@ -49,9 +49,9 @@
|
|
|
49
49
|
*/
|
|
50
50
|
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
// -----------------------------------------------
|
|
53
53
|
// MIXINS
|
|
54
|
-
|
|
54
|
+
// -----------------------------------------------
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
/**
|
|
@@ -171,42 +171,43 @@
|
|
|
171
171
|
|
|
172
172
|
|
|
173
173
|
|
|
174
|
-
|
|
174
|
+
// -----------------------------------------------
|
|
175
175
|
// UTILITY CLASSES
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
// Position Classes
|
|
179
|
-
.static { @include static; }
|
|
180
|
-
.relative { @include relative; }
|
|
181
|
-
.absolute { @include absolute; }
|
|
182
|
-
.fixed { @include fixed; }
|
|
183
|
-
.sticky { @include sticky; }
|
|
184
|
-
|
|
185
|
-
// Placement Classes
|
|
186
|
-
@each $key, $value in $spacings {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
176
|
+
// -----------------------------------------------
|
|
177
|
+
@if $generate-utility-classes {
|
|
178
|
+
// Position Classes
|
|
179
|
+
.static { @include static; }
|
|
180
|
+
.relative { @include relative; }
|
|
181
|
+
.absolute { @include absolute; }
|
|
182
|
+
.fixed { @include fixed; }
|
|
183
|
+
.sticky { @include sticky; }
|
|
184
|
+
|
|
185
|
+
// Placement Classes
|
|
186
|
+
@each $key, $value in $spacings {
|
|
187
|
+
.top-#{$key} { @include top($value); }
|
|
188
|
+
.right-#{$key} { @include right($value); }
|
|
189
|
+
.bottom-#{$key} { @include bottom($value); }
|
|
190
|
+
.left-#{$key} { @include left($value); }
|
|
191
|
+
}
|
|
192
192
|
|
|
193
|
-
|
|
194
|
-
// RESPONSIVE CLASSES
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
// Responsive Position Classes
|
|
198
|
-
@each $breakpoint, $width in $breakpoints {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
193
|
+
// -----------------------------------------------
|
|
194
|
+
// RESPONSIVE CLASSES
|
|
195
|
+
// -----------------------------------------------
|
|
196
|
+
|
|
197
|
+
// Responsive Position Classes
|
|
198
|
+
@each $breakpoint, $width in $breakpoints {
|
|
199
|
+
@media (min-width: #{$width}) {
|
|
200
|
+
.static\@#{$breakpoint} {@include static;}
|
|
201
|
+
.relative\@#{$breakpoint} {@include relative;}
|
|
202
|
+
.absolute\@#{$breakpoint} {@include absolute;}
|
|
203
|
+
.fixed\@#{$breakpoint} {@include fixed;}
|
|
204
|
+
.sticky\@#{$breakpoint} {@include sticky;}
|
|
205
|
+
@each $key, $value in $spacings {
|
|
206
|
+
.top-#{$key}\@#{$breakpoint} {@include top($value);}
|
|
207
|
+
.right-#{$key}\@#{$breakpoint} {@include right($value);}
|
|
208
|
+
.bottom-#{$key}\@#{$breakpoint} {@include bottom($value);}
|
|
209
|
+
.left-#{$key}\@#{$breakpoint} {@include left($value);}
|
|
210
|
+
}
|
|
210
211
|
}
|
|
211
212
|
}
|
|
212
213
|
}
|