File tree Expand file tree Collapse file tree 3 files changed +35
-2
lines changed
apps/website/src/routes/docs/headless/select/examples
packages/kit-headless/src/components/select Expand file tree Collapse file tree 3 files changed +35
-2
lines changed Original file line number Diff line number Diff line change @@ -11,7 +11,6 @@ export default component$(() => {
11
11
class = "hidden"
12
12
style = { { padding : '0px' , margin : '0px' , listStyle : 'none' } }
13
13
>
14
- < SelectOption disabled > My option</ SelectOption >
15
14
{ usersSig . value . map ( ( user ) => (
16
15
< SelectOption key = { user } > { user } </ SelectOption >
17
16
) ) }
Original file line number Diff line number Diff line change
1
+ What do we absolutely need? I am talking about the bare minimum, but powerful functionality we need for a select component.
2
+
3
+ # Select Research
4
+
5
+ ## Anatomy:
6
+
7
+ <Select>
8
+ <SelectTrigger />
9
+ <SelectPopover>
10
+ <SelectListbox>
11
+ <SelectOption>
12
+ </SelectListbox>
13
+ </SelectPopover>
14
+ </Select>
15
+
16
+ ## Props:
17
+
18
+ name: bind:selected
19
+ type: Signal
20
+ description: controlled selected value, manages the selected option.
21
+
22
+ name: defaultSelected
23
+ type: boolean
24
+ description: uncontrolled selected value, sets the initial selected option.
25
+
26
+ name: onSelectedChange$
27
+ type: PropFunction
28
+ description: Prop function called when the value changes.
29
+
30
+ name: multiple
31
+ type: boolean
32
+ description: used for multi-select
33
+
34
+ ## Keyboard Interactions:
Original file line number Diff line number Diff line change @@ -164,11 +164,11 @@ export const SelectTrigger = component$<SelectTriggerProps>((props) => {
164
164
{ ...props }
165
165
ref = { context . triggerRef }
166
166
onClick$ = { [ handleClick$ , props . onClick$ ] }
167
- aria-expanded = { context . isListboxOpenSig . value }
168
167
onKeyDown$ = { [ handleKeyDownSync$ , handleKeyDown$ , props . onKeyDown$ ] }
169
168
data-open = { context . isListboxOpenSig . value ? '' : undefined }
170
169
data-closed = { ! context . isListboxOpenSig . value ? '' : undefined }
171
170
class = "bg-slate-800 p-2 text-white"
171
+ aria-expanded = { context . isListboxOpenSig . value }
172
172
>
173
173
< Slot />
174
174
{ context . selectedOptionRef . value ?. textContent }
You can’t perform that action at this time.
0 commit comments