@pushui/styles 0.0.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.
@@ -0,0 +1,143 @@
1
+ @use '../mixins/mq' as *;
2
+
3
+ $text-aligns: left, center, right;
4
+
5
+ @each $align in $text-aligns {
6
+ .text-#{$align} {
7
+ text-align: $align;
8
+ }
9
+ }
10
+
11
+ $justify: (
12
+ 'start': flex-start,
13
+ 'center': center,
14
+ 'end': flex-end,
15
+ 'between': space-between,
16
+ 'around': space-around,
17
+ 'evenly': space-evenly,
18
+ );
19
+
20
+ @each $name, $value in $justify {
21
+ .justify-#{$name} {
22
+ justify-content: $value;
23
+ }
24
+ }
25
+
26
+ $items: (
27
+ 'start': flex-start,
28
+ 'center': center,
29
+ 'end': flex-end,
30
+ 'stretch': stretch,
31
+ 'baseline': baseline,
32
+ );
33
+
34
+ @each $name, $value in $items {
35
+ .items-#{$name} {
36
+ align-items: $value;
37
+ }
38
+ }
39
+
40
+ @each $name, $value in $items {
41
+ .self-#{$name} {
42
+ align-self: $value;
43
+ }
44
+ }
45
+
46
+ .flex-row { flex-direction: row; }
47
+ .flex-col { flex-direction: column; }
48
+ .flex-row-reverse { flex-direction: row-reverse; }
49
+ .flex-col-reverse { flex-direction: column-reverse; }
50
+
51
+ .flex-wrap { flex-wrap: wrap; }
52
+ .flex-nowrap { flex-wrap: nowrap; }
53
+
54
+
55
+ @include mq-sm {
56
+ @each $align in $text-aligns {
57
+ .text-sm-#{$align} { text-align: $align; }
58
+ }
59
+
60
+ @each $name, $value in $justify {
61
+ .justify-sm-#{$name} { justify-content: $value; }
62
+ }
63
+
64
+ @each $name, $value in $items {
65
+ .items-sm-#{$name} { align-items: $value; }
66
+ .self-sm-#{$name} { align-self: $value; }
67
+ }
68
+
69
+ .flex-sm-row { flex-direction: row; }
70
+ .flex-sm-col { flex-direction: column; }
71
+ .flex-sm-row-reverse { flex-direction: row-reverse; }
72
+ .flex-sm-col-reverse { flex-direction: column-reverse; }
73
+ .flex-sm-wrap { flex-wrap: wrap; }
74
+ .flex-sm-nowrap { flex-wrap: nowrap; }
75
+ }
76
+
77
+
78
+ @include mq-md {
79
+ @each $align in $text-aligns {
80
+ .text-md-#{$align} { text-align: $align; }
81
+ }
82
+
83
+ @each $name, $value in $justify {
84
+ .justify-md-#{$name} { justify-content: $value; }
85
+ }
86
+
87
+ @each $name, $value in $items {
88
+ .items-md-#{$name} { align-items: $value; }
89
+ .self-md-#{$name} { align-self: $value; }
90
+ }
91
+
92
+ .flex-md-row { flex-direction: row; }
93
+ .flex-md-col { flex-direction: column; }
94
+ .flex-md-row-reverse { flex-direction: row-reverse; }
95
+ .flex-md-col-reverse { flex-direction: column-reverse; }
96
+ .flex-md-wrap { flex-wrap: wrap; }
97
+ .flex-md-nowrap { flex-wrap: nowrap; }
98
+ }
99
+
100
+
101
+ @include mq-lg {
102
+ @each $align in $text-aligns {
103
+ .text-lg-#{$align} { text-align: $align; }
104
+ }
105
+
106
+ @each $name, $value in $justify {
107
+ .justify-lg-#{$name} { justify-content: $value; }
108
+ }
109
+
110
+ @each $name, $value in $items {
111
+ .items-lg-#{$name} { align-items: $value; }
112
+ .self-lg-#{$name} { align-self: $value; }
113
+ }
114
+
115
+ .flex-lg-row { flex-direction: row; }
116
+ .flex-lg-col { flex-direction: column; }
117
+ .flex-lg-row-reverse { flex-direction: row-reverse; }
118
+ .flex-lg-col-reverse { flex-direction: column-reverse; }
119
+ .flex-lg-wrap { flex-wrap: wrap; }
120
+ .flex-lg-nowrap { flex-wrap: nowrap; }
121
+ }
122
+
123
+ @include mq-xl {
124
+ @each $align in $text-aligns {
125
+ .text-xl-#{$align} { text-align: $align; }
126
+ }
127
+
128
+ @each $name, $value in $justify {
129
+ .justify-xl-#{$name} { justify-content: $value; }
130
+ }
131
+
132
+ @each $name, $value in $items {
133
+ .items-xl-#{$name} { align-items: $value; }
134
+ .self-xl-#{$name} { align-self: $value; }
135
+ }
136
+
137
+ .flex-xl-row { flex-direction: row; }
138
+ .flex-xl-col { flex-direction: column; }
139
+ .flex-xl-row-reverse { flex-direction: row-reverse; }
140
+ .flex-xl-col-reverse { flex-direction: column-reverse; }
141
+ .flex-xl-wrap { flex-wrap: wrap; }
142
+ .flex-xl-nowrap { flex-wrap: nowrap; }
143
+ }
@@ -0,0 +1,4 @@
1
+ .aspect-square { aspect-ratio: 1 / 1; }
2
+ .aspect-video { aspect-ratio: 16 / 9; }
3
+ .aspect-4-3 { aspect-ratio: 4 / 3; }
4
+ .aspect-3-2 { aspect-ratio: 3 / 2; }
@@ -0,0 +1,48 @@
1
+ $color-variants: (default, primary, secondary, success, danger, warning, info);
2
+ $color-levels: (1, 2, 3, contrast);
3
+
4
+ .b {
5
+ border: 0.1rem solid var(--color-grey-4);
6
+ }
7
+
8
+ @each $variant in $color-variants {
9
+ @each $level in $color-levels {
10
+ .b-#{$variant}-#{$level} {
11
+ border: 0.1rem solid var(--color-#{$variant}-#{$level});
12
+ }
13
+ }
14
+ }
15
+
16
+ @for $i from 1 through 7 {
17
+ .b-grey-#{$i} {
18
+ border: 0.1rem solid var(--color-grey-#{$i});
19
+ }
20
+ }
21
+
22
+ .b-black {
23
+ border: 0.1rem solid var(--color-black);
24
+ }
25
+
26
+ .b-white {
27
+ border: 0.1rem solid var(--color-white);
28
+ }
29
+
30
+ .b-t {
31
+ border-top: 0.1rem solid var(--color-grey-4);
32
+ }
33
+
34
+ .b-r {
35
+ border-right: 0.1rem solid var(--color-grey-4);
36
+ }
37
+
38
+ .b-b {
39
+ border-bottom: 0.1rem solid var(--color-grey-4);
40
+ }
41
+
42
+ .b-l {
43
+ border-left: 0.1rem solid var(--color-grey-4);
44
+ }
45
+
46
+ .b-none {
47
+ border: none;
48
+ }
@@ -0,0 +1,45 @@
1
+ @use '../mixins/color' as *;
2
+
3
+ @each $variant in $color-variants {
4
+ @each $level in $color-levels {
5
+ .bg-#{$variant}-#{$level} {
6
+ background-color: var(--color-#{$variant}-#{$level});
7
+ }
8
+ }
9
+ }
10
+
11
+ @each $variant in $color-variants {
12
+ @each $level in $color-levels {
13
+ .text-#{$variant}-#{$level} {
14
+ color: var(--color-#{$variant}-#{$level});
15
+ }
16
+ }
17
+ }
18
+
19
+ @for $i from 1 through 7 {
20
+ .bg-grey-#{$i} {
21
+ background-color: var(--color-grey-#{$i});
22
+ }
23
+ }
24
+
25
+ @for $i from 1 through 7 {
26
+ .text-grey-#{$i} {
27
+ color: var(--color-grey-#{$i});
28
+ }
29
+ }
30
+
31
+ .bg-black {
32
+ background-color: var(--color-black);
33
+ }
34
+
35
+ .bg-white {
36
+ background-color: var(--color-white);
37
+ }
38
+
39
+ .text-black {
40
+ color: var(--color-black);
41
+ }
42
+
43
+ .text-white {
44
+ color: var(--color-white);
45
+ }
@@ -0,0 +1,41 @@
1
+ @use '../mixins/mq' as *;
2
+
3
+ $displays: (
4
+ 'none': none,
5
+ 'block': block,
6
+ 'flex': flex,
7
+ 'grid': grid,
8
+ 'inline': inline,
9
+ 'inline-block': inline-block,
10
+ 'inline-flex': inline-flex,
11
+ );
12
+
13
+ @each $name, $value in $displays {
14
+ .d-#{$name} {
15
+ display: $value;
16
+ }
17
+ }
18
+
19
+ @include mq-sm {
20
+ @each $name, $value in $displays {
21
+ .d-sm-#{$name} { display: $value; }
22
+ }
23
+ }
24
+
25
+ @include mq-md {
26
+ @each $name, $value in $displays {
27
+ .d-md-#{$name} { display: $value; }
28
+ }
29
+ }
30
+
31
+ @include mq-lg {
32
+ @each $name, $value in $displays {
33
+ .d-lg-#{$name} { display: $value; }
34
+ }
35
+ }
36
+
37
+ @include mq-xl {
38
+ @each $name, $value in $displays {
39
+ .d-xl-#{$name} { display: $value; }
40
+ }
41
+ }
@@ -0,0 +1,5 @@
1
+ .fit-cover { object-fit: cover; }
2
+ .fit-contain { object-fit: contain; }
3
+ .fit-fill { object-fit: fill; }
4
+ .fit-none { object-fit: none; }
5
+ .fit-scale-down { object-fit: scale-down; }
@@ -0,0 +1,52 @@
1
+ @use '../mixins/mq' as *;
2
+
3
+ $sizes: 1, 2, 3, 4, 5, 6, 7, 8, 9;
4
+
5
+ @each $size in $sizes {
6
+ .fs-#{$size} {
7
+ font-size: var(--font-size-#{$size});
8
+ }
9
+ }
10
+
11
+ @include mq-sm {
12
+ @each $size in $sizes {
13
+ .fs-sm-#{$size} { font-size: var(--font-size-#{$size}); }
14
+ }
15
+ }
16
+
17
+ @include mq-md {
18
+ @each $size in $sizes {
19
+ .fs-md-#{$size} { font-size: var(--font-size-#{$size}); }
20
+ }
21
+ }
22
+
23
+ @include mq-lg {
24
+ @each $size in $sizes {
25
+ .fs-lg-#{$size} { font-size: var(--font-size-#{$size}); }
26
+ }
27
+ }
28
+
29
+ @include mq-xl {
30
+ @each $size in $sizes {
31
+ .fs-xl-#{$size} { font-size: var(--font-size-#{$size}); }
32
+ }
33
+ }
34
+
35
+ $weights: body, button, strong, heading;
36
+
37
+ @each $weight in $weights {
38
+ .fw-#{$weight} {
39
+ font-weight: var(--font-weight-#{$weight});
40
+ }
41
+ }
42
+
43
+ .text-uppercase { text-transform: uppercase; }
44
+ .text-lowercase { text-transform: lowercase; }
45
+ .text-capitalize { text-transform: capitalize; }
46
+ .text-nowrap { white-space: nowrap; }
47
+
48
+ .text-truncate {
49
+ overflow: hidden;
50
+ text-overflow: ellipsis;
51
+ white-space: nowrap;
52
+ }
@@ -0,0 +1,9 @@
1
+ .obj-center { object-position: center; }
2
+ .obj-top { object-position: top; }
3
+ .obj-bottom { object-position: bottom; }
4
+ .obj-left { object-position: left; }
5
+ .obj-right { object-position: right; }
6
+ .obj-top-left { object-position: top left; }
7
+ .obj-top-right { object-position: top right; }
8
+ .obj-bottom-left { object-position: bottom left; }
9
+ .obj-bottom-right { object-position: bottom right; }
@@ -0,0 +1,5 @@
1
+ @for $i from 0 through 10 {
2
+ .opacity-#{$i} {
3
+ opacity: calc($i / 10);
4
+ }
5
+ }
@@ -0,0 +1,7 @@
1
+ .overflow-hidden { overflow: hidden; }
2
+ .overflow-auto { overflow: auto; }
3
+ .overflow-scroll { overflow: scroll; }
4
+ .overflow-x-auto { overflow-x: auto; }
5
+ .overflow-x-hidden { overflow-x: hidden; }
6
+ .overflow-y-auto { overflow-y: auto; }
7
+ .overflow-y-hidden { overflow-y: hidden; }
@@ -0,0 +1,5 @@
1
+ .relative { position: relative; }
2
+ .absolute { position: absolute; }
3
+ .fixed { position: fixed; }
4
+ .sticky { position: sticky; }
5
+ .static { position: static; }
@@ -0,0 +1,13 @@
1
+ @for $i from 1 through 7 {
2
+ .r-#{$i} {
3
+ border-radius: var(--radius-#{$i});
4
+ }
5
+ }
6
+
7
+ .r-full {
8
+ border-radius: 9999px;
9
+ }
10
+
11
+ .r-none {
12
+ border-radius: 0;
13
+ }
@@ -0,0 +1,20 @@
1
+ .w-full { width: 100%; }
2
+ .w-auto { width: auto; }
3
+ .h-full { height: 100%; }
4
+ .h-auto { height: auto; }
5
+
6
+ .h-screen {
7
+ height: 100vh;
8
+
9
+ @supports (height: 100dvh) {
10
+ height: 100dvh;
11
+ }
12
+ }
13
+
14
+ .min-h-screen {
15
+ min-height: 100vh;
16
+
17
+ @supports (min-height: 100dvh) {
18
+ min-height: 100dvh;
19
+ }
20
+ }
@@ -0,0 +1,226 @@
1
+ @use '../mixins/mq' as *;
2
+
3
+ $sizes: 1, 2, 3, 4, 5, 6, 7, 8, 9;
4
+ $directions: (
5
+ 't': 'top',
6
+ 'r': 'right',
7
+ 'b': 'bottom',
8
+ 'l': 'left',
9
+ );
10
+ $axes: (
11
+ 'v': ('top', 'bottom'),
12
+ 'h': ('left', 'right'),
13
+ );
14
+
15
+
16
+ .m-0 { margin: 0; }
17
+ .p-0 { padding: 0; }
18
+ .g-0 { gap: 0; }
19
+
20
+ @each $dir, $prop in $directions {
21
+ .m#{$dir}-0 { margin-#{$prop}: 0; }
22
+ .p#{$dir}-0 { padding-#{$prop}: 0; }
23
+ }
24
+
25
+ @each $axis, $props in $axes {
26
+ .m#{$axis}-0 { @each $prop in $props { margin-#{$prop}: 0; } }
27
+ .p#{$axis}-0 { @each $prop in $props { padding-#{$prop}: 0; } }
28
+ }
29
+
30
+
31
+ .m-auto { margin: auto; }
32
+
33
+ @each $dir, $prop in $directions {
34
+ .m#{$dir}-auto { margin-#{$prop}: auto; }
35
+ }
36
+
37
+ @each $axis, $props in $axes {
38
+ .m#{$axis}-auto { @each $prop in $props { margin-#{$prop}: auto; } }
39
+ }
40
+
41
+
42
+ @each $size in $sizes {
43
+ .g-#{$size} {
44
+ gap: var(--spacing-#{$size});
45
+ }
46
+ }
47
+
48
+ @each $size in $sizes {
49
+ .m-#{$size} {
50
+ margin: var(--spacing-#{$size});
51
+ }
52
+
53
+ @each $dir, $prop in $directions {
54
+ .m#{$dir}-#{$size} {
55
+ margin-#{$prop}: var(--spacing-#{$size});
56
+ }
57
+ }
58
+
59
+ @each $axis, $props in $axes {
60
+ .m#{$axis}-#{$size} {
61
+ @each $prop in $props {
62
+ margin-#{$prop}: var(--spacing-#{$size});
63
+ }
64
+ }
65
+ }
66
+ }
67
+
68
+ @each $size in $sizes {
69
+ .p-#{$size} {
70
+ padding: var(--spacing-#{$size});
71
+ }
72
+
73
+ @each $dir, $prop in $directions {
74
+ .p#{$dir}-#{$size} {
75
+ padding-#{$prop}: var(--spacing-#{$size});
76
+ }
77
+ }
78
+
79
+ @each $axis, $props in $axes {
80
+ .p#{$axis}-#{$size} {
81
+ @each $prop in $props {
82
+ padding-#{$prop}: var(--spacing-#{$size});
83
+ }
84
+ }
85
+ }
86
+ }
87
+
88
+ @include mq-sm {
89
+ .m-sm-0 { margin: 0; }
90
+ .p-sm-0 { padding: 0; }
91
+ .g-sm-0 { gap: 0; }
92
+ .m-sm-auto { margin: auto; }
93
+
94
+ @each $dir, $prop in $directions {
95
+ .m#{$dir}-sm-0 { margin-#{$prop}: 0; }
96
+ .p#{$dir}-sm-0 { padding-#{$prop}: 0; }
97
+ .m#{$dir}-sm-auto { margin-#{$prop}: auto; }
98
+ }
99
+
100
+ @each $axis, $props in $axes {
101
+ .m#{$axis}-sm-0 { @each $prop in $props { margin-#{$prop}: 0; } }
102
+ .p#{$axis}-sm-0 { @each $prop in $props { padding-#{$prop}: 0; } }
103
+ .m#{$axis}-sm-auto { @each $prop in $props { margin-#{$prop}: auto; } }
104
+ }
105
+
106
+ @each $size in $sizes {
107
+ .m-sm-#{$size} { margin: var(--spacing-#{$size}); }
108
+ .p-sm-#{$size} { padding: var(--spacing-#{$size}); }
109
+ .g-sm-#{$size} { gap: var(--spacing-#{$size}); }
110
+
111
+ @each $dir, $prop in $directions {
112
+ .m#{$dir}-sm-#{$size} { margin-#{$prop}: var(--spacing-#{$size}); }
113
+ .p#{$dir}-sm-#{$size} { padding-#{$prop}: var(--spacing-#{$size}); }
114
+ }
115
+
116
+ @each $axis, $props in $axes {
117
+ .m#{$axis}-sm-#{$size} { @each $prop in $props { margin-#{$prop}: var(--spacing-#{$size}); } }
118
+ .p#{$axis}-sm-#{$size} { @each $prop in $props { padding-#{$prop}: var(--spacing-#{$size}); } }
119
+ }
120
+ }
121
+ }
122
+
123
+ @include mq-md {
124
+ .m-md-0 { margin: 0; }
125
+ .p-md-0 { padding: 0; }
126
+ .g-md-0 { gap: 0; }
127
+ .m-md-auto { margin: auto; }
128
+
129
+ @each $dir, $prop in $directions {
130
+ .m#{$dir}-md-0 { margin-#{$prop}: 0; }
131
+ .p#{$dir}-md-0 { padding-#{$prop}: 0; }
132
+ .m#{$dir}-md-auto { margin-#{$prop}: auto; }
133
+ }
134
+
135
+ @each $axis, $props in $axes {
136
+ .m#{$axis}-md-0 { @each $prop in $props { margin-#{$prop}: 0; } }
137
+ .p#{$axis}-md-0 { @each $prop in $props { padding-#{$prop}: 0; } }
138
+ .m#{$axis}-md-auto { @each $prop in $props { margin-#{$prop}: auto; } }
139
+ }
140
+
141
+ @each $size in $sizes {
142
+ .m-md-#{$size} { margin: var(--spacing-#{$size}); }
143
+ .p-md-#{$size} { padding: var(--spacing-#{$size}); }
144
+ .g-md-#{$size} { gap: var(--spacing-#{$size}); }
145
+
146
+ @each $dir, $prop in $directions {
147
+ .m#{$dir}-md-#{$size} { margin-#{$prop}: var(--spacing-#{$size}); }
148
+ .p#{$dir}-md-#{$size} { padding-#{$prop}: var(--spacing-#{$size}); }
149
+ }
150
+
151
+ @each $axis, $props in $axes {
152
+ .m#{$axis}-md-#{$size} { @each $prop in $props { margin-#{$prop}: var(--spacing-#{$size}); } }
153
+ .p#{$axis}-md-#{$size} { @each $prop in $props { padding-#{$prop}: var(--spacing-#{$size}); } }
154
+ }
155
+ }
156
+ }
157
+
158
+ @include mq-lg {
159
+ .m-lg-0 { margin: 0; }
160
+ .p-lg-0 { padding: 0; }
161
+ .g-lg-0 { gap: 0; }
162
+ .m-lg-auto { margin: auto; }
163
+
164
+ @each $dir, $prop in $directions {
165
+ .m#{$dir}-lg-0 { margin-#{$prop}: 0; }
166
+ .p#{$dir}-lg-0 { padding-#{$prop}: 0; }
167
+ .m#{$dir}-lg-auto { margin-#{$prop}: auto; }
168
+ }
169
+
170
+ @each $axis, $props in $axes {
171
+ .m#{$axis}-lg-0 { @each $prop in $props { margin-#{$prop}: 0; } }
172
+ .p#{$axis}-lg-0 { @each $prop in $props { padding-#{$prop}: 0; } }
173
+ .m#{$axis}-lg-auto { @each $prop in $props { margin-#{$prop}: auto; } }
174
+ }
175
+
176
+ @each $size in $sizes {
177
+ .m-lg-#{$size} { margin: var(--spacing-#{$size}); }
178
+ .p-lg-#{$size} { padding: var(--spacing-#{$size}); }
179
+ .g-lg-#{$size} { gap: var(--spacing-#{$size}); }
180
+
181
+ @each $dir, $prop in $directions {
182
+ .m#{$dir}-lg-#{$size} { margin-#{$prop}: var(--spacing-#{$size}); }
183
+ .p#{$dir}-lg-#{$size} { padding-#{$prop}: var(--spacing-#{$size}); }
184
+ }
185
+
186
+ @each $axis, $props in $axes {
187
+ .m#{$axis}-lg-#{$size} { @each $prop in $props { margin-#{$prop}: var(--spacing-#{$size}); } }
188
+ .p#{$axis}-lg-#{$size} { @each $prop in $props { padding-#{$prop}: var(--spacing-#{$size}); } }
189
+ }
190
+ }
191
+ }
192
+
193
+ @include mq-xl {
194
+ .m-xl-0 { margin: 0; }
195
+ .p-xl-0 { padding: 0; }
196
+ .g-xl-0 { gap: 0; }
197
+ .m-xl-auto { margin: auto; }
198
+
199
+ @each $dir, $prop in $directions {
200
+ .m#{$dir}-xl-0 { margin-#{$prop}: 0; }
201
+ .p#{$dir}-xl-0 { padding-#{$prop}: 0; }
202
+ .m#{$dir}-xl-auto { margin-#{$prop}: auto; }
203
+ }
204
+
205
+ @each $axis, $props in $axes {
206
+ .m#{$axis}-xl-0 { @each $prop in $props { margin-#{$prop}: 0; } }
207
+ .p#{$axis}-xl-0 { @each $prop in $props { padding-#{$prop}: 0; } }
208
+ .m#{$axis}-xl-auto { @each $prop in $props { margin-#{$prop}: auto; } }
209
+ }
210
+
211
+ @each $size in $sizes {
212
+ .m-xl-#{$size} { margin: var(--spacing-#{$size}); }
213
+ .p-xl-#{$size} { padding: var(--spacing-#{$size}); }
214
+ .g-xl-#{$size} { gap: var(--spacing-#{$size}); }
215
+
216
+ @each $dir, $prop in $directions {
217
+ .m#{$dir}-xl-#{$size} { margin-#{$prop}: var(--spacing-#{$size}); }
218
+ .p#{$dir}-xl-#{$size} { padding-#{$prop}: var(--spacing-#{$size}); }
219
+ }
220
+
221
+ @each $axis, $props in $axes {
222
+ .m#{$axis}-xl-#{$size} { @each $prop in $props { margin-#{$prop}: var(--spacing-#{$size}); } }
223
+ .p#{$axis}-xl-#{$size} { @each $prop in $props { padding-#{$prop}: var(--spacing-#{$size}); } }
224
+ }
225
+ }
226
+ }