@@ -15,6 +15,7 @@ export function connect<T extends PropTypes>(
15
15
16
16
function getItemState ( props : ItemProps ) : ItemState {
17
17
return {
18
+ value : props . value ,
18
19
invalid : ! ! props . invalid ,
19
20
disabled : ! ! props . disabled || groupDisabled ,
20
21
checked : context . get ( "value" ) === props . value ,
@@ -25,30 +26,23 @@ export function connect<T extends PropTypes>(
25
26
}
26
27
27
28
function getItemDataAttrs < T extends ItemProps > ( props : T ) {
28
- const radioState = getItemState ( props )
29
+ const itemState = getItemState ( props )
29
30
return {
30
- "data-focus" : dataAttr ( radioState . focused ) ,
31
- "data-focus-visible" : dataAttr ( radioState . focused && context . get ( "focusVisible" ) ) ,
32
- "data-disabled" : dataAttr ( radioState . disabled ) ,
31
+ "data-focus" : dataAttr ( itemState . focused ) ,
32
+ "data-focus-visible" : dataAttr ( itemState . focused && context . get ( "focusVisible" ) ) ,
33
+ "data-disabled" : dataAttr ( itemState . disabled ) ,
33
34
"data-readonly" : dataAttr ( readOnly ) ,
34
- "data-state" : radioState . checked ? "checked" : "unchecked" ,
35
- "data-hover" : dataAttr ( radioState . hovered ) ,
36
- "data-invalid" : dataAttr ( radioState . invalid ) ,
35
+ "data-state" : itemState . checked ? "checked" : "unchecked" ,
36
+ "data-hover" : dataAttr ( itemState . hovered ) ,
37
+ "data-invalid" : dataAttr ( itemState . invalid ) ,
37
38
"data-orientation" : prop ( "orientation" ) ,
38
39
"data-ssr" : dataAttr ( context . get ( "ssr" ) ) ,
39
40
}
40
41
}
41
42
42
43
const focus = ( ) => {
43
- const firstEnabledAndCheckedInput = dom . getFirstEnabledAndCheckedInputEl ( scope )
44
-
45
- if ( firstEnabledAndCheckedInput ) {
46
- firstEnabledAndCheckedInput . focus ( )
47
- return
48
- }
49
-
50
- const firstEnabledInput = dom . getFirstEnabledInputEl ( scope )
51
- firstEnabledInput ?. focus ( )
44
+ const nodeToFocus = dom . getFirstEnabledAndCheckedInputEl ( scope ) ?? dom . getFirstEnabledInputEl ( scope )
45
+ nodeToFocus ?. focus ( )
52
46
}
53
47
54
48
return {
@@ -139,20 +133,20 @@ export function connect<T extends PropTypes>(
139
133
} ,
140
134
141
135
getItemControlProps ( props ) {
142
- const controlState = getItemState ( props )
136
+ const itemState = getItemState ( props )
143
137
144
138
return normalize . element ( {
145
139
...parts . itemControl . attrs ,
146
140
dir : prop ( "dir" ) ,
147
141
id : dom . getItemControlId ( scope , props . value ) ,
148
- "data-active" : dataAttr ( controlState . active ) ,
142
+ "data-active" : dataAttr ( itemState . active ) ,
149
143
"aria-hidden" : true ,
150
144
...getItemDataAttrs ( props ) ,
151
145
} )
152
146
} ,
153
147
154
148
getItemHiddenInputProps ( props ) {
155
- const inputState = getItemState ( props )
149
+ const itemState = getItemState ( props )
156
150
157
151
return normalize . input ( {
158
152
"data-ownedby" : dom . getRootId ( scope ) ,
@@ -190,8 +184,8 @@ export function connect<T extends PropTypes>(
190
184
send ( { type : "SET_ACTIVE" , value : null } )
191
185
}
192
186
} ,
193
- disabled : inputState . disabled ,
194
- defaultChecked : inputState . checked ,
187
+ disabled : itemState . disabled ,
188
+ defaultChecked : itemState . checked ,
195
189
style : visuallyHiddenStyle ,
196
190
} )
197
191
} ,
0 commit comments