beercss 3.0.7 → 3.1.0

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.
@@ -60,9 +60,7 @@
60
60
  }
61
61
 
62
62
  /* icon */
63
- .field > i,
64
- .field > img,
65
- .field > .loader {
63
+ .field > :is(i, img, svg, .loader) {
66
64
  position: absolute;
67
65
  top: 50%;
68
66
  left: auto;
@@ -72,35 +70,17 @@
72
70
  z-index: 0;
73
71
  }
74
72
 
75
- .field.border > i,
76
- .field.fill > i,
77
- .field.round > i,
78
- .field.border > img,
79
- .field.fill > img,
80
- .field.round > img,
81
- .field.border > .loader,
82
- .field.fill > .loader,
83
- .field.round > .loader {
73
+ .field:is(.border, .fill, .round) > :is(i, img, svg, .loader) {
84
74
  left: auto;
85
75
  right: 1rem;
86
76
  }
87
77
 
88
- .field > i:first-child,
89
- .field > img:first-child,
90
- .field > .loader:first-child {
78
+ .field > :is(i, img, svg, .loader):first-child {
91
79
  left: 1rem;
92
80
  right: auto;
93
81
  }
94
82
 
95
- .field.border > i:first-child,
96
- .field.fill > i:first-child,
97
- .field.round > i:first-child,
98
- .field.border > img:first-child,
99
- .field.fill > img:first-child,
100
- .field.round > img:first-child,
101
- .field.border > .loader:first-child,
102
- .field.fill > .loader:first-child,
103
- .field.round > .loader:first-child {
83
+ .field:is(.border, .fill, .round) > :is(i, img, svg, .loader):first-child {
104
84
  left: 1rem;
105
85
  right: auto;
106
86
  }
@@ -118,9 +98,8 @@
118
98
  /* input, textarea and select */
119
99
  .field > select,
120
100
  input[type^=date],
121
- input[type^=time] {
122
- -webkit-appearance: none;
123
- -moz-appearance: none;
101
+ input[type^=time],
102
+ input[type^=search] {
124
103
  appearance: none;
125
104
  cursor: pointer;
126
105
  }
@@ -152,9 +131,14 @@ input[type=file] {
152
131
  cursor: pointer;
153
132
  }
154
133
 
155
- .field > input,
156
- .field > textarea,
157
- .field > select {
134
+ input[type=search]::-webkit-search-decoration,
135
+ input[type=search]::-webkit-search-cancel-button,
136
+ input[type=search]::-webkit-search-results-button,
137
+ input[type=search]::-webkit-search-results-decoration {
138
+ display: none;
139
+ }
140
+
141
+ .field > :is(input, textarea, select) {
158
142
  border: 0.0625rem solid transparent;
159
143
  padding: 0 0.9375rem;
160
144
  font-family: inherit;
@@ -167,72 +151,58 @@ input[type=file] {
167
151
  resize: none;
168
152
  }
169
153
 
170
- .field > input:focus,
171
- .field > textarea:focus,
172
- .field > select:focus {
154
+ .field > :is(input, textarea, select):focus {
173
155
  border: 0.125rem solid transparent;
174
156
  padding: 0 0.875rem;
175
157
  }
176
158
 
177
- .field.border > input,
178
- .field.border > textarea,
179
- .field.border > select {
159
+ .field.border > :is(input, textarea, select) {
180
160
  border-color: var(--outline);
181
161
  }
182
162
 
183
- .field.border > input:focus,
184
- .field.border > textarea:focus,
185
- .field.border > select:focus {
163
+ .field.border > :is(input, textarea, select):focus {
186
164
  border-color: var(--primary);
187
165
  }
188
166
 
189
- .field.round > input,
190
- .field.round > textarea,
191
- .field.round > select {
167
+ .field.round > :is(input, textarea, select) {
192
168
  padding-left: 1.4376rem;
193
169
  padding-right: 1.4376rem;
194
170
  }
195
171
 
196
- .field.round > input:focus,
197
- .field.round > textarea:focus,
198
- .field.round > select:focus {
172
+ .field.round > :is(input, textarea, select):focus {
199
173
  padding-left: 1.375rem;
200
174
  padding-right: 1.375rem;
201
175
  }
202
176
 
203
- .field.prefix > input,
204
- .field.prefix > textarea,
205
- .field.prefix > select {
177
+ .field.prefix > :is(input, textarea, select) {
206
178
  padding-left: 2.9375rem;
207
179
  }
208
180
 
209
- .field.prefix > input:focus,
210
- .field.prefix > textarea:focus,
211
- .field.prefix > select:focus {
181
+ .field.prefix > .slider {
182
+ margin-left: 3.5rem;
183
+ }
184
+
185
+ .field.prefix > :is(input, textarea, select):focus {
212
186
  padding-left: 2.875rem;
213
187
  }
214
188
 
215
- .field.suffix > input,
216
- .field.suffix > textarea,
217
- .field.suffix > select {
189
+ .field.suffix > :is(input, textarea, select) {
218
190
  padding-right: 2.9375rem;
219
191
  }
220
192
 
221
- .field.suffix > input:focus,
222
- .field.suffix > textarea:focus,
223
- .field.suffix > select:focus {
193
+ .field.suffix > .slider {
194
+ margin-right: 3.5rem;
195
+ }
196
+
197
+ .field.suffix > :is(input, textarea, select):focus {
224
198
  padding-right: 2.875rem;
225
199
  }
226
200
 
227
- .field:not(.border, .round) > input,
228
- .field:not(.border, .round) > textarea,
229
- .field:not(.border, .round) > select {
201
+ .field:not(.border, .round) > :is(input, textarea, select) {
230
202
  border-bottom-color: var(--outline);
231
203
  }
232
204
 
233
- .field:not(.border, .round) > input:focus,
234
- .field:not(.border, .round) > textarea:focus,
235
- .field:not(.border, .round) > select:focus {
205
+ .field:not(.border, .round) > :is(input, textarea, select):focus {
236
206
  border-bottom-color: var(--primary);
237
207
  }
238
208
 
@@ -244,40 +214,22 @@ input[type=file] {
244
214
  border-radius: 0.25rem;
245
215
  }
246
216
 
247
- .field.round {
248
- border-radius: 2rem;
249
- }
250
-
251
- .field.round:not(.border, .fill) > input,
252
- .field.round:not(.border, .fill) > textarea,
253
- .field.round:not(.border, .fill) > select,
254
- .field.round:not(.border) > input:focus,
255
- .field.round:not(.border) > textarea:focus,
256
- .field.round:not(.border) > select:focus {
217
+ .field.round:not(.border, .fill) > :is(input, textarea, select),
218
+ .field.round:not(.border) > :is(input, textarea, select):focus {
257
219
  box-shadow: var(--elevate1);
258
220
  }
259
221
 
260
- .field.round:not(.border, .fill) > input:focus,
261
- .field.round:not(.border, .fill) > textarea:focus,
262
- .field.round:not(.border, .fill) > select:focus {
222
+ .field.round:not(.border, .fill) > :is(input, textarea, select):focus {
263
223
  box-shadow: var(--elevate2);
264
224
  }
265
225
 
266
- .field.invalid:not(.border, .round) > input,
267
- .field.invalid:not(.border, .round) > textarea,
268
- .field.invalid:not(.border, .round) > select,
269
- .field.invalid:not(.border, .round) > input:focus,
270
- .field.invalid:not(.border, .round) > textarea:focus,
271
- .field.invalid:not(.border, .round) > select:focus {
226
+ .field.invalid:not(.border, .round) > :is(input, textarea, select),
227
+ .field.invalid:not(.border, .round) > :is(input, textarea, select):focus {
272
228
  border-bottom-color: var(--error);
273
229
  }
274
230
 
275
- .field.invalid.border > input,
276
- .field.invalid.border > textarea,
277
- .field.invalid.border > select,
278
- .field.invalid.border > input:focus,
279
- .field.invalid.border > textarea:focus,
280
- .field.invalid.border > select:focus {
231
+ .field.invalid.border > :is(input, textarea, select),
232
+ .field.invalid.border > :is(input, textarea, select):focus {
281
233
  border-color: var(--error);
282
234
  }
283
235
 
@@ -313,8 +265,7 @@ input[type=file] {
313
265
  padding-top: 1rem;
314
266
  }
315
267
 
316
- .field.label.border:not(.fill) > input,
317
- .field.label.border:not(.fill) > select {
268
+ .field.label.border:not(.fill) > :is(input, select) {
318
269
  padding-top: 0;
319
270
  }
320
271
 
@@ -432,8 +383,7 @@ input[type=file] {
432
383
  }
433
384
 
434
385
  /* helper */
435
- .field > .helper,
436
- .field > .error {
386
+ .field > :is(.helper, .error) {
437
387
  position: absolute;
438
388
  left: 1rem;
439
389
  bottom: 0;
@@ -451,8 +401,7 @@ a.helper {
451
401
  color: var(--error) !important;
452
402
  }
453
403
 
454
- .field.round > .helper,
455
- .field.round > .error {
404
+ .field.round > :is(.helper, .error) {
456
405
  left: 1.5rem;
457
406
  }
458
407
 
@@ -1,52 +1,57 @@
1
1
  i {
2
+ --i-size: 1.5rem;
3
+
2
4
  font-family: "Material Symbols Outlined";
3
5
  font-weight: normal;
4
6
  font-style: normal;
5
- font-size: 1.5rem;
6
- line-height: 1;
7
+ font-size: var(--i-size);
7
8
  letter-spacing: normal;
8
9
  text-transform: none;
9
- display: inline-block;
10
+ display: inline-flex;
11
+ align-items: center;
10
12
  white-space: nowrap;
11
13
  word-wrap: normal;
12
14
  direction: ltr;
13
- -webkit-font-feature-settings: "liga";
15
+ font-feature-settings: "liga";
14
16
  -webkit-font-smoothing: antialiased;
15
17
  vertical-align: middle;
16
18
  text-align: center;
17
19
  overflow: hidden;
18
- width: 1.5rem;
19
- min-width: 1.5rem;
20
+ width: var(--i-size);
21
+ min-width: var(--i-size);
22
+ height: var(--i-size);
23
+ min-height: var(--i-size);
20
24
  box-sizing: content-box;
21
25
  }
22
26
 
23
27
  i.tiny {
24
- font-size: 1rem;
25
- width: 1rem;
26
- min-width: 1rem;
28
+ --i-size: 1rem;
27
29
  }
28
30
 
29
31
  i.small {
30
- font-size: 1.25rem;
31
- width: 1.25rem;
32
- min-width: 1.25rem;
32
+ --i-size: 1.25rem;
33
33
  }
34
34
 
35
35
  i.large {
36
- font-size: 1.75rem;
37
- width: 1.75rem;
38
- min-width: 1.75rem;
36
+ --i-size: 1.75rem;
39
37
  }
40
38
 
41
39
  i.extra {
42
- font-size: 2rem;
43
- width: 2rem;
40
+ --i-size: 2rem;
44
41
  }
45
42
 
46
43
  i.fill,
47
- a.row:hover > i,
48
- a.row:focus > i,
49
- .transparent:hover > i,
50
- .transparent:focus > i {
44
+ a.row:is(:hover, :focus) > i,
45
+ .transparent:is(:hover, :focus) > i {
51
46
  font-variation-settings: "FILL" 1;
52
47
  }
48
+
49
+ i > :is(img, svg) {
50
+ width: 100%;
51
+ height: 100%;
52
+ background-size: 100%;
53
+ border-radius: inherit;
54
+ position: absolute;
55
+ top: 0;
56
+ left: 0;
57
+ }
@@ -6,38 +6,31 @@
6
6
  position: fixed;
7
7
  }
8
8
 
9
- .absolute.left.right,
10
- .fixed.left.right {
9
+ :is(.absolute, .fixed).left.right {
11
10
  width: auto;
12
11
  }
13
12
 
14
- .absolute.left.right.small,
15
- .fixed.left.right.small {
13
+ :is(.absolute, .fixed).left.right.small {
16
14
  height: 20rem;
17
15
  }
18
16
 
19
- .absolute.left.right.medium,
20
- .fixed.left.right.medium {
17
+ :is(.absolute, .fixed).left.right.medium {
21
18
  height: 28rem;
22
19
  }
23
20
 
24
- .absolute.left.right.large,
25
- .fixed.left.right.large {
21
+ :is(.absolute, .fixed).left.right.large {
26
22
  height: 44rem;
27
23
  }
28
24
 
29
- .absolute.top.bottom.small,
30
- .fixed.top.bottom.small {
25
+ :is(.absolute, .fixed).top.bottom.small {
31
26
  width: 20rem;
32
27
  }
33
28
 
34
- .absolute.top.bottom.medium,
35
- .fixed.top.bottom.medium {
29
+ :is(.absolute, .fixed).top.bottom.medium {
36
30
  width: 28rem;
37
31
  }
38
32
 
39
- .absolute.top.bottom.large,
40
- .fixed.top.bottom.large {
33
+ :is(.absolute, .fixed).top.bottom.large {
41
34
  width: 44rem;
42
35
  }
43
36
 
@@ -47,8 +40,7 @@ footer {
47
40
  background-color: var(--surface);
48
41
  }
49
42
 
50
- header.fixed,
51
- footer.fixed {
43
+ :is(header, footer).fixed {
52
44
  position: sticky;
53
45
  top: 0;
54
46
  bottom: 0;
@@ -59,8 +51,7 @@ footer.fixed {
59
51
  border-radius: 0;
60
52
  }
61
53
 
62
- header.fixed::before,
63
- footer.fixed::before {
54
+ :is(header, footer).fixed::before {
64
55
  content: "";
65
56
  position: absolute;
66
57
  top: 0;
@@ -72,35 +63,27 @@ footer.fixed::before {
72
63
  background-color: inherit;
73
64
  }
74
65
 
75
- .modal > header,
76
- .modal > footer {
66
+ :is(.modal, .dropdown) > :is(header, footer) {
77
67
  padding: 0;
68
+ background-color: inherit;
78
69
  }
79
70
 
80
- article > header,
81
- article > footer {
71
+ article > :is(header, footer) {
82
72
  padding: inherit;
83
73
  padding-left: 0;
84
74
  padding-right: 0;
85
75
  z-index: 11 !important;
86
76
  }
87
77
 
88
- .modal > header.fixed,
89
- article > header.fixed,
90
- .padding > header.fixed,
91
- .medium-padding > header.fixed {
78
+ :is(.modal, article, .padding, .medium-padding) > header.fixed {
92
79
  transform: translateY(-1rem);
93
80
  }
94
81
 
95
- .modal > footer.fixed,
96
- article > footer.fixed,
97
- .padding > footer.fixed,
98
- .medium-padding > footer.fixed {
82
+ :is(.modal, article, .padding, .medium-padding) > footer.fixed {
99
83
  transform: translateY(1rem);
100
84
  }
101
85
 
102
- .no-padding > header.fixed,
103
- .no-padding > footer.fixed {
86
+ .no-padding > :is(header, footer).fixed {
104
87
  transform: none;
105
88
  }
106
89
 
@@ -1,19 +1,8 @@
1
- img.small,
2
- img.medium,
3
- img.large,
4
- img.tiny,
5
- img.extra,
6
- img.round,
7
- img.circle,
8
- img.responsive,
9
- video.small,
10
- video.medium,
11
- video.large,
12
- video.tiny,
13
- video.extra,
14
- video.round,
15
- video.circle,
16
- video.responsive {
1
+ svg {
2
+ fill: currentColor;
3
+ }
4
+
5
+ :is(img, svg, video):is(.small, .medium, .large, .tiny, .extra, .round, .circle, .responsive) {
17
6
  object-fit: cover;
18
7
  object-position: center;
19
8
  transition: var(--speed3) transform, var(--speed3) border-radius, var(--speed3) padding;
@@ -21,177 +10,138 @@ video.responsive {
21
10
  width: 3rem;
22
11
  }
23
12
 
24
- img.round,
25
- video.round {
13
+ :is(img, svg, video).round {
26
14
  border-radius: 0.5rem;
27
15
  }
28
16
 
29
- img.circle,
30
- video.circle {
17
+ :is(img, svg, video).circle {
31
18
  border-radius: 50%;
32
19
  }
33
20
 
34
- img.tiny,
35
- video.tiny {
21
+ :is(img, svg, video).tiny {
36
22
  height: 2rem;
37
23
  width: 2rem;
38
24
  }
39
25
 
40
- img.small,
41
- video.small {
26
+ :is(img, svg, video).small {
42
27
  height: 2.5rem;
43
28
  width: 2.5rem;
44
29
  }
45
30
 
46
- img.large,
47
- video.large {
31
+ :is(img, svg, video).large {
48
32
  height: 3.5rem;
49
33
  width: 3.5rem;
50
34
  }
51
35
 
52
- img.extra,
53
- video.extra {
36
+ :is(img, svg, video).extra {
54
37
  height: 4rem;
55
38
  width: 4rem;
56
39
  }
57
40
 
58
- img.responsive,
59
- video.responsive {
41
+ :is(img, svg, video).responsive {
60
42
  width: 100%;
61
43
  height: 100%;
62
44
  margin: 0 auto;
63
45
  }
64
46
 
65
- button > img.responsive,
66
- .button > img.responsive,
67
- .chip > img.responsive {
47
+ :is(button, .button, .chip) > :is(img, svg).responsive {
68
48
  width: 2.5rem;
69
49
  }
70
50
 
71
- button:not(.transparent) > img.responsive,
72
- .button:not(.transparent) > img.responsive,
73
- .chip:not(.transparent) > img.responsive {
51
+ :is(button, .button, .chip):not(.transparent) > :is(img, svg).responsive {
74
52
  border: 0.25rem solid transparent;
75
53
  }
76
54
 
77
- button.small > img.responsive,
78
- .button.small > img.responsive,
79
- .chip.small > img.responsive {
55
+ :is(button, .button, .chip).small > :is(img, svg).responsive {
80
56
  width: 2rem;
81
57
  }
82
58
 
83
- button.large > img.responsive,
84
- .button.large > img.responsive,
85
- .chip.large > img.responsive {
59
+ :is(button, .button, .chip).large > :is(img, svg).responsive {
86
60
  width: 3rem;
87
61
  }
88
62
 
89
- button.extra > img.responsive,
90
- .button.extra > img.responsive,
91
- .chip.extra > img.responsive {
63
+ :is(button, .button, .chip).extra > :is(img, svg).responsive {
92
64
  width: 3.5rem;
93
65
  }
94
66
 
95
- img.responsive.tiny,
96
- video.responsive.tiny {
67
+ :is(img, svg, video).responsive.tiny {
97
68
  width: 100%;
98
69
  height: 4rem;
99
70
  }
100
71
 
101
- img.responsive.small,
102
- video.responsive.small {
72
+ :is(img, svg, video).responsive.small {
103
73
  width: 100%;
104
74
  height: 8rem;
105
75
  }
106
76
 
107
- img.responsive.medium,
108
- video.responsive.medium {
77
+ :is(img, svg, video).responsive.medium {
109
78
  width: 100%;
110
79
  height: 12rem;
111
80
  }
112
81
 
113
- img.responsive.large,
114
- video.responsive.large {
82
+ :is(img, svg, video).responsive.large {
115
83
  width: 100%;
116
84
  height: 16rem;
117
85
  }
118
86
 
119
- img.responsive.extra,
120
- video.responsive.extra {
87
+ :is(img, svg, video).responsive.extra {
121
88
  width: 100%;
122
89
  height: 20rem;
123
90
  }
124
91
 
125
- img.responsive.round,
126
- video.responsive.round {
92
+ :is(img, svg, video).responsive.round {
127
93
  border-radius: 2rem;
128
94
  }
129
95
 
130
- img.empty-state,
131
- video.empty-state {
96
+ :is(img, svg, video).empty-state {
132
97
  max-width: 100%;
133
98
  width: 24rem;
134
99
  }
135
100
 
136
- button > img:not(.responsive, .tiny, .small, .medium, .large, .extra),
137
- .button > img:not(.responsive, .tiny, .small, .medium, .large, .extra),
138
- .chip > img:not(.responsive, .tiny, .small, .medium, .large, .extra),
139
- .field > img:not(.responsive, .tiny, .small, .medium, .large, .extra),
140
- .tabs img:not(.responsive, .tiny, .small, .medium, .large, .extra),
141
- td img:not(.responsive, .tiny, .small, .medium, .large, .extra) {
101
+ :is(button, .button, .chip, .field) > :is(img, svg):not(.responsive, .tiny, .small, .medium, .large, .extra),
102
+ :is(.tabs, td) :is(img, svg):not(.responsive, .tiny, .small, .medium, .large, .extra) {
142
103
  min-width: 1.5rem;
143
104
  max-width: 1.5rem;
144
105
  min-height: 1.5rem;
145
106
  max-height: 1.5rem;
146
107
  }
147
108
 
148
- .button > i,
149
- .button > img,
150
- .button > img.responsive,
151
- button > i,
152
- button > img,
153
- button > img.responsive,
154
- .chip > i,
155
- .chip > img,
156
- .chip > img.responsive {
109
+ :is(button, .button, .chip) > :is(i, img, svg),
110
+ :is(button, .button, .chip) > :is(img, svg).responsive {
157
111
  margin: 0 -0.5rem;
158
112
  }
159
113
 
160
- .button > img.responsive,
161
- button > img.responsive {
114
+ :is(button, .button) > :is(img, svg).responsive {
162
115
  margin-left: -1.5rem;
163
116
  }
164
117
 
165
- .button > span + img.responsive,
166
- button > span + img.responsive {
118
+ :is(button, .button) > span + :is(img, svg).responsive {
167
119
  margin-right: -1.5rem;
168
120
  }
169
121
 
170
- .chip > img.responsive {
122
+ .chip > :is(img, svg).responsive {
171
123
  margin-left: -1rem;
172
124
  }
173
125
 
174
- .chip > span + img.responsive {
126
+ .chip > span + :is(img, svg).responsive {
175
127
  margin-right: -1rem;
176
128
  }
177
129
 
178
- .circle > img.responsive,
179
- .square > img.responsive {
130
+ :is(.circle, .square) > :is(img, svg).responsive {
180
131
  margin: 0;
181
132
  }
182
133
 
183
- .extend > i,
184
- .extend > img {
134
+ .extend > :is(i, img, svg) {
185
135
  margin: 0;
186
136
  position: absolute;
187
137
  left: 1rem;
188
138
  }
189
139
 
190
- .extend > img.responsive {
140
+ .extend > :is(img, svg).responsive {
191
141
  left: 0;
192
142
  width: 3.5rem;
193
143
  }
194
144
 
195
- .extend.border > img.responsive {
145
+ .extend.border > :is(img, svg).responsive {
196
146
  width: 3.375rem;
197
147
  }