beercss 3.13.3 → 4.0.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.
- package/README.md +86 -83
- package/dist/cdn/beer.css +1249 -137
- package/dist/cdn/beer.custom-element.js +2 -3
- package/dist/cdn/beer.custom-element.min.js +1 -1
- package/dist/cdn/beer.js +20 -19
- package/dist/cdn/beer.min.css +1 -1
- package/dist/cdn/beer.min.js +1 -1
- package/dist/cdn/beer.scoped.css +2544 -1428
- package/dist/cdn/beer.scoped.min.css +2 -1
- package/package.json +2 -2
- package/src/cdn/beer.css +4 -2
- package/src/cdn/beer.ts +5 -5
- package/src/cdn/customElement.js +2 -3
- package/src/cdn/elements/bars.css +8 -8
- package/src/cdn/elements/buttons.css +2 -3
- package/src/cdn/elements/chips.css +0 -1
- package/src/cdn/elements/dialogs.css +2 -8
- package/src/cdn/elements/expansions.css +10 -3
- package/src/cdn/elements/fields.css +11 -12
- package/src/cdn/elements/icons.css +1 -1
- package/src/cdn/elements/lists.css +6 -2
- package/src/cdn/elements/mainLayouts.css +2 -2
- package/src/cdn/elements/media.css +2 -2
- package/src/cdn/elements/menus.css +4 -4
- package/src/cdn/elements/navigations.css +7 -8
- package/src/cdn/elements/progress.css +4 -4
- package/src/cdn/elements/progress.ts +11 -9
- package/src/cdn/elements/selections.css +3 -3
- package/src/cdn/elements/sliders.css +15 -19
- package/src/cdn/elements/sliders.ts +5 -5
- package/src/cdn/helpers/forms.css +1 -1
- package/src/cdn/helpers/ripples.ts +1 -1
- package/src/cdn/helpers/scrolls.css +0 -1
- package/src/cdn/helpers/typography.css +31 -30
- package/src/cdn/settings/fonts.css +8 -8
- package/src/cdn/settings/globals.css +37 -0
- package/src/cdn/{helpers → settings}/reset.css +5 -23
- /package/src/cdn/{helpers → settings}/theme.css +0 -0
- /package/src/cdn/{helpers → settings}/theme.ts +0 -0
|
@@ -12,7 +12,6 @@ button {
|
|
|
12
12
|
color: var(--on-primary);
|
|
13
13
|
padding: 0 var(--_padding);
|
|
14
14
|
background-color: var(--primary);
|
|
15
|
-
margin: 0 0.5rem;
|
|
16
15
|
border-radius: var(--_size);
|
|
17
16
|
transition: transform var(--speed3), border-radius var(--speed2), padding var(--speed3);
|
|
18
17
|
user-select: none;
|
|
@@ -45,7 +44,7 @@ button {
|
|
|
45
44
|
color: var(--primary);
|
|
46
45
|
}
|
|
47
46
|
|
|
48
|
-
.extend > span {
|
|
47
|
+
.extend > span:not([class]) {
|
|
49
48
|
display: none;
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -62,7 +61,7 @@ button {
|
|
|
62
61
|
|
|
63
62
|
.extend:is(:hover, .active) > :is(img, svg) + span {
|
|
64
63
|
display: inherit;
|
|
65
|
-
margin-inline-start: calc(1rem + var(--_padding));
|
|
64
|
+
margin-inline-start: calc(1rem + var(--_padding, 0));
|
|
66
65
|
}
|
|
67
66
|
|
|
68
67
|
:is(.button, button)[disabled] {
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
border: 0.0625rem solid var(--outline-variant);
|
|
14
14
|
color: var(--on-surface-variant);
|
|
15
15
|
padding: 0 var(--_padding);
|
|
16
|
-
margin: 0 0.5rem;
|
|
17
16
|
text-transform: none;
|
|
18
17
|
border-radius: 0.5rem;
|
|
19
18
|
transition: transform var(--speed3), border-radius var(--speed3), padding var(--speed3);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
dialog {
|
|
2
2
|
--_padding: 1.5rem;
|
|
3
|
-
--_top: calc(var(--_padding) + var(--top));
|
|
4
|
-
--_bottom: calc(var(--_padding) + var(--bottom));
|
|
3
|
+
--_top: calc(var(--_padding, 0) + var(--top, 0));
|
|
4
|
+
--_bottom: calc(var(--_padding, 0) + var(--bottom, 0));
|
|
5
5
|
display: block;
|
|
6
6
|
visibility: hidden;
|
|
7
7
|
border: none;
|
|
@@ -143,10 +143,4 @@ dialog.medium:is(.top, .bottom) {
|
|
|
143
143
|
|
|
144
144
|
dialog.large:is(.top, .bottom) {
|
|
145
145
|
block-size: 32rem;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
@media (pointer: coarse) {
|
|
149
|
-
body:has(dialog[open], dialog.active) {
|
|
150
|
-
overflow: hidden;
|
|
151
|
-
}
|
|
152
146
|
}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
summary
|
|
2
|
-
summary:focus {
|
|
1
|
+
summary {
|
|
3
2
|
list-style-type: none;
|
|
4
3
|
cursor: pointer;
|
|
5
|
-
outline: none;
|
|
6
4
|
}
|
|
7
5
|
|
|
8
6
|
summary::-webkit-details-marker {
|
|
9
7
|
display: none;
|
|
10
8
|
}
|
|
9
|
+
|
|
10
|
+
summary > * {
|
|
11
|
+
pointer-events: none;
|
|
12
|
+
margin: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
li > details > summary + .list {
|
|
16
|
+
margin: 0 !important;
|
|
17
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.field {
|
|
2
2
|
--_input: 3rem;
|
|
3
3
|
--_start: 1.2rem;
|
|
4
|
-
--_middle: calc(var(--_input) / 2);
|
|
4
|
+
--_middle: calc(var(--_input, 0) / 2);
|
|
5
5
|
border-radius: 0.25rem 0.25rem 0 0;
|
|
6
6
|
min-block-size: var(--_input);
|
|
7
7
|
display: flex;
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
/* icon */
|
|
58
58
|
.field > :is(i, img, svg, progress.circle, a) {
|
|
59
59
|
position: absolute;
|
|
60
|
-
inset: calc((var(--_input) / 2) - 0.75rem) auto auto auto;
|
|
60
|
+
inset: calc((var(--_input, 0) / 2) - 0.75rem) auto auto auto;
|
|
61
61
|
cursor: pointer;
|
|
62
62
|
z-index: 10;
|
|
63
63
|
inline-size: 1.5rem;
|
|
@@ -77,12 +77,12 @@
|
|
|
77
77
|
|
|
78
78
|
.field > :is(i, img, svg, progress.circle, a),
|
|
79
79
|
[dir=rtl] .field > :is(i, img, svg, progress.circle, a):first-child {
|
|
80
|
-
inset: calc(var(--_middle) - 0.75rem) 1rem auto auto;
|
|
80
|
+
inset: calc(var(--_middle, 0) - 0.75rem) 1rem auto auto;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
.field > :is(i, img, svg, progress.circle, a):first-child,
|
|
84
84
|
[dir=rtl] .field > :is(i, img, svg, progress.circle, a) {
|
|
85
|
-
inset: calc(var(--_middle) - 0.75rem) auto auto 1rem;
|
|
85
|
+
inset: calc(var(--_middle, 0) - 0.75rem) auto auto 1rem;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
.field.invalid > i {
|
|
@@ -105,7 +105,6 @@
|
|
|
105
105
|
padding: 0 0.9375rem;
|
|
106
106
|
font-family: inherit;
|
|
107
107
|
font-size: 1rem;
|
|
108
|
-
inline-size: 100%;
|
|
109
108
|
min-block-size: var(--_input);
|
|
110
109
|
outline: none;
|
|
111
110
|
z-index: 1;
|
|
@@ -126,7 +125,7 @@ input::-webkit-date-and-time-value {
|
|
|
126
125
|
|
|
127
126
|
.field > :is(input, textarea, select):focus {
|
|
128
127
|
border: 0.125rem solid transparent;
|
|
129
|
-
padding: 0
|
|
128
|
+
padding-inline: 0.875rem;
|
|
130
129
|
}
|
|
131
130
|
|
|
132
131
|
.field > textarea:not([rows]) {
|
|
@@ -272,21 +271,21 @@ input[type=number] {
|
|
|
272
271
|
}
|
|
273
272
|
|
|
274
273
|
.field > textarea {
|
|
275
|
-
padding-block-start:
|
|
274
|
+
padding-block-start: var(--_start) !important;
|
|
276
275
|
}
|
|
277
276
|
|
|
278
277
|
.field > textarea:focus {
|
|
279
|
-
padding-block-start: calc(var(--_start) - 0.01rem) !important;
|
|
278
|
+
padding-block-start: calc(var(--_start, 0) - 0.01rem) !important;
|
|
280
279
|
}
|
|
281
280
|
|
|
282
281
|
.field:not(.label) > textarea,
|
|
283
282
|
.field.border:not(.fill) > textarea {
|
|
284
|
-
padding-block-start: calc(var(--_start) - 0.5rem) !important;
|
|
283
|
+
padding-block-start: calc(var(--_start, 0) - 0.5rem) !important;
|
|
285
284
|
}
|
|
286
285
|
|
|
287
286
|
.field:not(.label) > textarea:focus,
|
|
288
287
|
.field.border:not(.fill) > textarea:focus {
|
|
289
|
-
padding-block-start: calc(var(--_start) - 0.51rem) !important;
|
|
288
|
+
padding-block-start: calc(var(--_start, 0) - 0.51rem) !important;
|
|
290
289
|
}
|
|
291
290
|
|
|
292
291
|
/* label */
|
|
@@ -295,8 +294,8 @@ input[type=number] {
|
|
|
295
294
|
position: absolute;
|
|
296
295
|
inset: -0.5rem 1rem 0 var(--_start);
|
|
297
296
|
display: flex;
|
|
298
|
-
block-size: calc(var(--_input) + 1rem);
|
|
299
|
-
line-height: calc(var(--_input) + 1rem);
|
|
297
|
+
block-size: calc(var(--_input, 0) + 1rem);
|
|
298
|
+
line-height: calc(var(--_input, 0) + 1rem);
|
|
300
299
|
font-size: 1rem;
|
|
301
300
|
transition: all 0.2s;
|
|
302
301
|
gap: 0.25rem;
|
|
@@ -34,8 +34,7 @@
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
.list > li > *,
|
|
37
|
-
.list > li > a:only-child >
|
|
38
|
-
.list > li > details > summary > * {
|
|
37
|
+
.list > li > a:only-child > * {
|
|
39
38
|
margin: 0;
|
|
40
39
|
}
|
|
41
40
|
|
|
@@ -69,3 +68,8 @@
|
|
|
69
68
|
.list.large-space > li > details > summary {
|
|
70
69
|
min-block-size: 5.5rem;
|
|
71
70
|
}
|
|
71
|
+
|
|
72
|
+
:is(li, li > a:only-child):focus-visible {
|
|
73
|
+
outline: 0.125rem solid var(--primary);
|
|
74
|
+
outline-offset: -0.25rem;
|
|
75
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
:has(> main) {
|
|
2
2
|
display: grid;
|
|
3
|
-
grid-template-columns: auto 1fr auto;
|
|
4
|
-
grid-template-rows: auto auto 1fr auto auto;
|
|
3
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
4
|
+
grid-template-rows: auto auto minmax(0, 1fr) auto auto;
|
|
5
5
|
grid-template-areas:
|
|
6
6
|
"left top right"
|
|
7
7
|
"left header right"
|
|
@@ -83,11 +83,11 @@ svg {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
:is(button, .button, .chip):not(.extend) > .responsive:first-child {
|
|
86
|
-
margin-inline-start: calc(-1 * var(--_padding));
|
|
86
|
+
margin-inline-start: calc(-1 * var(--_padding, 0));
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
:is(button, .button, .chip):not(.extend) > .responsive:not(:first-child) {
|
|
90
|
-
margin-inline-end: calc(-1 * var(--_padding));
|
|
90
|
+
margin-inline-end: calc(-1 * var(--_padding, 0));
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
:is(button, .button, .chip, .circle, .square, .extend) > .responsive {
|
|
@@ -152,22 +152,22 @@ menu:has(menu) {
|
|
|
152
152
|
|
|
153
153
|
menu > li > :is(menu, menu.right),
|
|
154
154
|
[dir=rtl] menu > li > menu.left {
|
|
155
|
-
inset: auto auto calc(3rem * (var(--_child) - var(--_type))) 100%;
|
|
155
|
+
inset: auto auto calc(3rem * (var(--_child, 0) - var(--_type, 0))) 100%;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
[dir=rtl] menu > li > :is(menu, menu.right),
|
|
159
159
|
menu > li > menu.left {
|
|
160
|
-
inset: auto 100% calc(3rem * (var(--_child) - var(--_type))) auto;
|
|
160
|
+
inset: auto 100% calc(3rem * (var(--_child, 0) - var(--_type, 0))) auto;
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
menu > li > :is(menu.top, menu.top.right),
|
|
164
164
|
[dir=rtl] menu > li > menu.top.left {
|
|
165
|
-
inset: calc(3rem * (var(--_child) - var(--_type))) auto auto 100%;
|
|
165
|
+
inset: calc(3rem * (var(--_child, 0) - var(--_type, 0))) auto auto 100%;
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
[dir=rtl] menu > li > :is(menu.top, menu.top.right),
|
|
169
169
|
menu > li > menu.top.left {
|
|
170
|
-
inset: calc(3rem * (var(--_child) - var(--_type))) 100% auto auto;
|
|
170
|
+
inset: calc(3rem * (var(--_child, 0) - var(--_type, 0))) 100% auto auto;
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
menu.no-space > li {
|
|
@@ -14,7 +14,6 @@ a.row {
|
|
|
14
14
|
white-space: nowrap;
|
|
15
15
|
gap: 1rem;
|
|
16
16
|
border-radius: 0;
|
|
17
|
-
min-inline-size: 0;
|
|
18
17
|
}
|
|
19
18
|
|
|
20
19
|
a.row,
|
|
@@ -72,8 +71,8 @@ nav > :is(ol, ul) > li > span > * {
|
|
|
72
71
|
|
|
73
72
|
nav:is(.left, .right, .top, .bottom) {
|
|
74
73
|
--_padding: 0.5rem;
|
|
75
|
-
--_top: calc(var(--_padding) + var(--top));
|
|
76
|
-
--_bottom: calc(var(--_padding) + var(--bottom));
|
|
74
|
+
--_top: calc(var(--_padding, 0) + var(--top, 0));
|
|
75
|
+
--_bottom: calc(var(--_padding, 0) + var(--bottom, 0));
|
|
77
76
|
position: sticky;
|
|
78
77
|
inset: 0;
|
|
79
78
|
border: 0;
|
|
@@ -106,12 +105,12 @@ nav:is(.top, .bottom) {
|
|
|
106
105
|
}
|
|
107
106
|
|
|
108
107
|
nav.top {
|
|
109
|
-
block-size: calc(var(--top) + 4.5rem);
|
|
108
|
+
block-size: calc(var(--top, 0) + 4.5rem);
|
|
110
109
|
padding-block-start: var(--_top);
|
|
111
110
|
}
|
|
112
111
|
|
|
113
112
|
nav.bottom {
|
|
114
|
-
block-size: calc(var(--bottom) + 4.5rem);
|
|
113
|
+
block-size: calc(var(--bottom, 0) + 4.5rem);
|
|
115
114
|
padding-block-end: var(--_bottom);
|
|
116
115
|
}
|
|
117
116
|
|
|
@@ -139,7 +138,7 @@ nav > header > .extend:hover {
|
|
|
139
138
|
inline-size: var(--_size);
|
|
140
139
|
}
|
|
141
140
|
|
|
142
|
-
nav > header > .extend:hover > span {
|
|
141
|
+
nav > header > .extend:hover > span:not([class]) {
|
|
143
142
|
display: none;
|
|
144
143
|
}
|
|
145
144
|
|
|
@@ -177,13 +176,13 @@ nav.max > header > .extend {
|
|
|
177
176
|
padding: 0 var(--_padding);
|
|
178
177
|
}
|
|
179
178
|
|
|
180
|
-
nav.max > header > .extend > span {
|
|
179
|
+
nav.max > header > .extend > span:not([class]) {
|
|
181
180
|
display: block;
|
|
182
181
|
margin-inline-start: var(--_padding);
|
|
183
182
|
}
|
|
184
183
|
|
|
185
184
|
nav.max > header > .extend > :is(img, svg) + span {
|
|
186
|
-
margin-inline-start: calc(1rem + var(--_padding));
|
|
185
|
+
margin-inline-start: calc(1rem + var(--_padding, 0));
|
|
187
186
|
}
|
|
188
187
|
|
|
189
188
|
nav.max:is(.top, .bottom) {
|
|
@@ -70,12 +70,12 @@ progress::-moz-progress-bar {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
progress.wavy {
|
|
73
|
-
block-size: calc(var(--_size) * 2);
|
|
73
|
+
block-size: calc(var(--_size, 0) * 2);
|
|
74
74
|
background: none;
|
|
75
75
|
background-image: var(--_light);
|
|
76
76
|
background-repeat: repeat-x;
|
|
77
77
|
background-position: 0 50%;
|
|
78
|
-
background-size: auto calc(var(--_size) / 2);
|
|
78
|
+
background-size: auto calc(var(--_size, 0) / 2);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
.dark progress.wavy {
|
|
@@ -102,7 +102,7 @@ progress.circle {
|
|
|
102
102
|
--_value: attr(value type(<number>), 50);
|
|
103
103
|
inline-size: 2.5rem;
|
|
104
104
|
block-size: 2.5rem;
|
|
105
|
-
background: conic-gradient(currentColor calc(var(--_value) * 1%), var(--active) 0%);
|
|
105
|
+
background: conic-gradient(currentColor calc(var(--_value, 0) * 1%), var(--active) 0%);
|
|
106
106
|
border-radius: 50%;
|
|
107
107
|
mask-image: radial-gradient(circle at center, transparent 57%, currentColor 60%);
|
|
108
108
|
}
|
|
@@ -116,7 +116,7 @@ progress.circle::-moz-progress-bar {
|
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
progress.circle.wavy {
|
|
119
|
-
background: conic-gradient(currentColor calc(var(--_value) * 1%), var(--active) 0);
|
|
119
|
+
background: conic-gradient(currentColor calc(var(--_value, 0) * 1%), var(--active) 0);
|
|
120
120
|
mask-repeat: no-repeat;
|
|
121
121
|
mask-position: center;
|
|
122
122
|
mask-size: contain;
|
|
@@ -12,15 +12,17 @@ function onInputDocument(e: Event) {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
function updateProgress(progress: HTMLProgressElement) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
requestAnimationFrame(() => {
|
|
16
|
+
if (!progress.hasAttribute("value") && !progress.hasAttribute("max")) {
|
|
17
|
+
const value = hasClass(progress, "circle") ? "50" : "100";
|
|
18
|
+
progress.style.setProperty("--_value", value);
|
|
19
|
+
progress.setAttribute("value", value);
|
|
20
|
+
progress.setAttribute("max", "100");
|
|
21
|
+
progress.classList.add("indeterminate");
|
|
22
|
+
} else {
|
|
23
|
+
progress.style.setProperty("--_value", String(progress.value));
|
|
24
|
+
}
|
|
25
|
+
});
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
export function updateAllProgress() {
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
outline: none;
|
|
64
64
|
color: var(--primary);
|
|
65
65
|
position: absolute;
|
|
66
|
-
inset: auto auto auto calc(var(--_size) * -1);
|
|
66
|
+
inset: auto auto auto calc(var(--_size, 0) * -1);
|
|
67
67
|
border-radius: 50%;
|
|
68
68
|
user-select: none;
|
|
69
69
|
z-index: 1;
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
[dir=rtl] :is(.checkbox, .radio) > span > i,
|
|
74
74
|
[dir=rtl] :is(.checkbox, .radio) > span::after {
|
|
75
75
|
--_size: inherit;
|
|
76
|
-
inset: auto calc(var(--_size) * -1) auto auto;
|
|
76
|
+
inset: auto calc(var(--_size, 0) * -1) auto auto;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
.switch > span::before,
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
justify-content: center;
|
|
86
86
|
border-radius: 50%;
|
|
87
87
|
transition: all var(--speed2);
|
|
88
|
-
font-size: calc(var(--_size) - 0.5rem);
|
|
88
|
+
font-size: calc(var(--_size, 0) - 0.5rem);
|
|
89
89
|
user-select: none;
|
|
90
90
|
min-inline-size: var(--_size);
|
|
91
91
|
min-block-size: var(--_size);
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
--_value1: "";
|
|
5
5
|
--_value2: "";
|
|
6
6
|
--_track: 1rem;
|
|
7
|
-
--_thumb: max(2.5rem, calc(var(--_track) + 0.5rem));
|
|
7
|
+
--_thumb: max(2.5rem, calc(var(--_track, 0) + 0.5rem));
|
|
8
8
|
display: flex;
|
|
9
9
|
align-items: center !important;
|
|
10
10
|
inline-size: auto;
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
pointer-events: all;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
.slider > input
|
|
68
|
+
.slider > input ~ input {
|
|
69
69
|
position: absolute;
|
|
70
70
|
}
|
|
71
71
|
|
|
@@ -129,22 +129,22 @@
|
|
|
129
129
|
cursor: not-allowed;
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
.slider > input:disabled ~ span {
|
|
132
|
+
.slider > input:disabled ~ span:not([class]) {
|
|
133
133
|
background: var(--outline);
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
.slider > span {
|
|
136
|
+
.slider > span:not([class]) {
|
|
137
137
|
position: absolute;
|
|
138
138
|
block-size: var(--_track);
|
|
139
139
|
border-radius: 1rem 0 0 1rem;
|
|
140
140
|
background: var(--primary);
|
|
141
141
|
color: var(--on-primary);
|
|
142
142
|
z-index: 0;
|
|
143
|
-
inset: calc(50% - (var(--_track) / 2)) var(--_end) auto var(--_start);
|
|
143
|
+
inset: calc(50% - (var(--_track, 0) / 2)) var(--_end) auto var(--_start);
|
|
144
144
|
clip-path: polygon(0 0, calc(100% - 0.5rem) 0, calc(100% - 0.5rem) 100%, 0 100%);
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
.slider > input[type=range] + input[type=range] ~ span {
|
|
147
|
+
.slider > input[type=range] + input[type=range] ~ span:not([class]) {
|
|
148
148
|
border-radius: 0;
|
|
149
149
|
clip-path: polygon(0.5rem 0, max(0.5rem, calc(100% - 0.5rem)) 0, max(0.5rem, calc(100% - 0.5rem)) 100%, 0.5rem 100%);
|
|
150
150
|
}
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
block-size: var(--_track);
|
|
161
161
|
border-radius: 1rem;
|
|
162
162
|
background: var(--secondary-container);
|
|
163
|
-
clip-path: polygon(calc(var(--_start) - 0.5rem) 0, 0 0, 0 100%, calc(var(--_start) - 0.5rem) 100%, calc(var(--_start) - 0.5rem) 0, calc(100% - var(--_end) + 0.5rem) 0, 100% 0, 100% 100%, calc(100% - var(--_end) + 0.5rem) 100%, calc(100% - var(--_end) + 0.5rem) 0);
|
|
163
|
+
clip-path: polygon(calc(var(--_start, 0) - 0.5rem) 0, 0 0, 0 100%, calc(var(--_start, 0) - 0.5rem) 100%, calc(var(--_start, 0) - 0.5rem) 0, calc(100% - var(--_end, 0) + 0.5rem) 0, 100% 0, 100% 100%, calc(100% - var(--_end, 0) + 0.5rem) 100%, calc(100% - var(--_end, 0) + 0.5rem) 0);
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
.slider:has(> [disabled])::before {
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
.slider > .tooltip {
|
|
191
191
|
visibility: hidden !important;
|
|
192
192
|
opacity: 0 !important;
|
|
193
|
-
inset: 0 auto auto calc(100% - var(--_end));
|
|
193
|
+
inset: 0 auto auto calc(100% - var(--_end, 0));
|
|
194
194
|
border-radius: 2rem;
|
|
195
195
|
transition: top var(--speed2) ease, opacity var(--speed2) ease;
|
|
196
196
|
transform: translate(-50%, -25%) !important;
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
.slider > .tooltip.bottom {
|
|
201
|
-
inset: auto auto 0 calc(100% - var(--_end));
|
|
201
|
+
inset: auto auto 0 calc(100% - var(--_end, 0));
|
|
202
202
|
transition: bottom var(--speed2) ease, opacity var(--speed2) ease;
|
|
203
203
|
transform: translate(-50%, 25%) !important;
|
|
204
204
|
}
|
|
@@ -212,12 +212,12 @@
|
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
.slider > .tooltip + .tooltip {
|
|
215
|
-
inset: 0.25rem calc(100% - var(--_start)) auto auto;
|
|
215
|
+
inset: 0.25rem calc(100% - var(--_start, 0)) auto auto;
|
|
216
216
|
transform: translate(50%, -25%) !important;
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
.slider > .tooltip + .tooltip.bottom {
|
|
220
|
-
inset: auto calc(100% - var(--_start)) -0.25rem auto;
|
|
220
|
+
inset: auto calc(100% - var(--_start, 0)) -0.25rem auto;
|
|
221
221
|
transform: translate(50%, 25%) !important;
|
|
222
222
|
}
|
|
223
223
|
|
|
@@ -251,13 +251,13 @@
|
|
|
251
251
|
inset-block: auto;
|
|
252
252
|
block-size: 2.5rem;
|
|
253
253
|
inline-size: 2.5rem;
|
|
254
|
-
margin-block: calc(-1 * var(--_thumb)) 0 !important;
|
|
254
|
+
margin-block: calc(-1 * var(--_thumb, 0)) 0 !important;
|
|
255
255
|
transform: rotate(90deg) translate(-75%, 50%) !important;
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
.slider.vertical > .tooltip.bottom {
|
|
259
259
|
inset-block: auto;
|
|
260
|
-
margin-block: 0 calc(-1 * var(--_thumb)) !important;
|
|
260
|
+
margin-block: 0 calc(-1 * var(--_thumb, 0)) !important;
|
|
261
261
|
transform: rotate(90deg) translate(75%, 50%) !important;
|
|
262
262
|
}
|
|
263
263
|
|
|
@@ -313,7 +313,7 @@
|
|
|
313
313
|
transform: none !important;
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
-
.slider.max > span {
|
|
316
|
+
.slider.max > span:not([class]) {
|
|
317
317
|
block-size: auto !important;
|
|
318
318
|
inset: 0 var(--_end) 0 var(--_start);
|
|
319
319
|
clip-path: none;
|
|
@@ -322,7 +322,7 @@
|
|
|
322
322
|
border-radius: 0;
|
|
323
323
|
}
|
|
324
324
|
|
|
325
|
-
.slider.max.vertical > span {
|
|
325
|
+
.slider.max.vertical > span:not([class]) {
|
|
326
326
|
inset: var(--_end) 0 var(--_start) 0;
|
|
327
327
|
}
|
|
328
328
|
|
|
@@ -351,8 +351,4 @@
|
|
|
351
351
|
.slider > :hover ~ .tooltip.bottom {
|
|
352
352
|
inset-block: auto -1rem !important;
|
|
353
353
|
}
|
|
354
|
-
|
|
355
|
-
body:has(input[type=range]:focus) {
|
|
356
|
-
overflow: hidden;
|
|
357
|
-
}
|
|
358
354
|
}
|
|
@@ -13,8 +13,11 @@ function onInputDocument(e: Event) {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
function onChangeInput(e: Event) {
|
|
16
|
+
const isCoarse = window.matchMedia('(pointer: coarse)').matches;
|
|
17
|
+
if (!isCoarse) return;
|
|
18
|
+
|
|
16
19
|
const input = e.target as HTMLInputElement;
|
|
17
|
-
|
|
20
|
+
input.blur();
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
function updateAllRanges() {
|
|
@@ -63,10 +66,7 @@ function updateRange(input: HTMLInputElement) {
|
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
68
|
|
|
66
|
-
label.style.
|
|
67
|
-
label.style.setProperty("--_end", `${end}%`);
|
|
68
|
-
label.style.setProperty("--_value1", `'${value1}'`);
|
|
69
|
-
label.style.setProperty("--_value2", `'${value2}'`);
|
|
69
|
+
requestAnimationFrame(() => label.style.cssText = `--_start: ${start}%; --_end: ${end}%; --_value1: '${value1}'; --_value2: '${value2}';`);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
export function updateAllSliders() {
|
|
@@ -19,7 +19,7 @@ function updateRipple(e: PointerEvent) {
|
|
|
19
19
|
ripple.style.inlineSize = ripple.style.blockSize = `${diameter}px`;
|
|
20
20
|
ripple.style.left = `${x}px`;
|
|
21
21
|
ripple.style.top = `${y}px`;
|
|
22
|
-
ripple
|
|
22
|
+
onWeak(ripple, "animationend", () => { rippleContainer.remove(); });
|
|
23
23
|
|
|
24
24
|
rippleContainer.appendChild(ripple);
|
|
25
25
|
element.appendChild(rippleContainer);
|