Skip to content

Commit b9c4020

Browse files
committed
Unify input styles for checkbox, radio, and range
1 parent c7184c6 commit b9c4020

File tree

3 files changed

+29
-33
lines changed

3 files changed

+29
-33
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
- Extract dual range to dual_range component
88
- Add card-check to card.css
99
- Flash add animation-play-state stop on hover
10+
- Use".input" for "checkbox, radio and range".
1011

1112
## 2.0.3 - 2025-08-08
1213
- Fix command component accessibility issues
Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
11
.input {
2-
appearance: none;
3-
background-color: var(--input-background, var(--color-surface));
4-
block-size: var(--input-block-size, auto);
5-
border: 1px solid var(--input-border-color, var(--color-border));
6-
border-radius: var(--input-radius, var(--rounded-md));
7-
box-shadow: var(--input-box-shadow, var(--shadow-xs));
8-
font-size: var(--input-font-size, var(--text-sm));
9-
inline-size: var(--input-inline-size, var(--size-full));
10-
padding: var(--input-padding, .375rem .75rem);
2+
&:not([type="checkbox"], [type="radio"], [type="range"]) {
3+
appearance: none;
4+
background-color: var(--input-background, var(--color-surface));
5+
block-size: var(--input-block-size, auto);
6+
border: 1px solid var(--input-border-color, var(--color-border));
7+
border-radius: var(--input-radius, var(--rounded-md));
8+
box-shadow: var(--input-box-shadow, var(--shadow-xs));
9+
font-size: var(--input-font-size, var(--text-sm));
10+
inline-size: var(--input-inline-size, var(--size-full));
11+
padding: var(--input-padding, .375rem .75rem);
12+
}
1113

12-
option {
13-
padding: revert;
14+
&:is([type="checkbox"], [type="radio"]) {
15+
accent-color: var(--input-accent-color, var(--color-primary));
16+
block-size: var(--input-check-size, var(--size-4));
17+
inline-size: var(--input-check-size, var(--size-4));
18+
}
19+
20+
&:is([type="range"]) {
21+
accent-color: var(--input-accent-color, var(--color-primary));
1422
}
1523

1624
&:is(textarea[rows="auto"]) {
@@ -29,19 +37,7 @@
2937
&::file-selector-button {
3038
font-weight: var(--font-medium);
3139
}
32-
}
33-
34-
:is(.checkbox, .radio) {
35-
accent-color: var(--input-accent-color, var(--color-primary));
36-
block-size: var(--input-check-size, var(--size-4));
37-
inline-size: var(--input-check-size, var(--size-4));
38-
}
39-
40-
:is(.range) {
41-
accent-color: var(--input-accent-color, var(--color-primary));
42-
}
4340

44-
:is(.input, .checkbox, .radio, .range) {
4541
&:user-invalid {
4642
border-color: var(--color-negative);
4743
}
@@ -58,17 +54,19 @@
5854
cursor: not-allowed; opacity: var(--opacity-50);
5955
}
6056

57+
> option {
58+
padding: revert;
59+
}
60+
6161
.field_with_errors & {
6262
border-color: var(--color-negative);
6363
}
6464
}
6565

66-
.input--actor {
67-
input {
68-
border: 0; inline-size: 100%; outline: 0;
69-
}
66+
.input--actor > input {
67+
border: 0; inline-size: 100%; outline: 0;
68+
}
7069

71-
&:focus-within {
72-
outline: var(--input-outline-size, 2px) solid var(--color-selected-dark);
73-
}
70+
.input--actor:focus-within {
71+
outline: var(--input-outline-size, 2px) solid var(--color-selected-dark);
7472
}

lib/generators/css_zero/scaffold/templates/_form.html.erb.tt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@
2424
<% elsif attribute.attachments? -%>
2525
<%%= form.label :<%= attribute.column_name %>, class: "text-sm font-medium leading-none" %>
2626
<%%= form.<%= attribute.field_type %> :<%= attribute.column_name %>, multiple: true, class: "input" %>
27-
<% elsif attribute.field_type == :checkbox -%>
28-
<%%= form.label :<%= attribute.column_name %>, class: "text-sm font-medium leading-none" %>
29-
<%%= form.<%= attribute.field_type %> :<%= attribute.column_name %>, class: "checkbox" %>
3027
<% else -%>
3128
<%%= form.label :<%= attribute.column_name %>, class: "text-sm font-medium leading-none" %>
3229
<%%= form.<%= attribute.field_type %> :<%= attribute.column_name %>, class: "input" %>

0 commit comments

Comments
 (0)