GitHub

Reference headless

select

interface 4 type 4 function 1
interface Interfaces 4

# CreateSelectOptions

Type Parameters

V

Members

defaultOpen?
optional defaultOpen?: boolean

###### Inherited from

CreateSelectInput.defaultOpen

defaultValue?
optional defaultValue?: V | null

###### Inherited from

CreateSelectInput.defaultValue

id?
optional id?: string
items
items: readonly SelectItem<V>[]

###### Inherited from

CreateSelectInput.items

navigation?
optional navigation?: "wrap" | "clamp"

Default 'wrap' — APG listboxes wrap by default.

###### Inherited from

CreateSelectInput.navigation

onOpenChange?
optional onOpenChange?: (open) => void

###### Parameters

###### open

boolean

###### Returns

void

onValueChange?
optional onValueChange?: (value) => void

###### Parameters

###### value

V | null

###### Returns

void

interface

# SelectContext

Type Parameters

V

Members

highlightedId
highlightedId: string | null
items
items: readonly SelectItem<V>[]
typeahead
typeahead: string

Buffer for type-ahead search. The Layer 3 attachment resets this after a short timeout (typically 500 ms) by dispatching TYPEAHEAD.RESET.

value
value: V | null

# SelectController

Type Parameters

V

Members

context
readonly context: Readonly<SelectContext<V>>
highlightedId
readonly highlightedId: string | null
id
readonly id: string
listbox
readonly listbox: Attachment
listboxId
readonly listboxId: string
machine
readonly machine: SelectMachine<V>
open
readonly open: boolean
state
readonly state: SelectState
trigger
readonly trigger: Attachment
triggerId
readonly triggerId: string
value
readonly value: V | null
hide()
hide(): void

###### Returns

void

option()
option(item): Attachment

###### Parameters

###### item

SelectItem<V>

###### Returns

Attachment

optionElementId()
optionElementId(itemId): string

###### Parameters

###### itemId

string

###### Returns

string

selectId()
selectId(id): void

###### Parameters

###### id

string

###### Returns

void

setItems()
setItems(items): void

###### Parameters

###### items

readonly SelectItem<V>[]

###### Returns

void

setValue()
setValue(value): void

###### Parameters

###### value

V | null

###### Returns

void

show()
show(): void

###### Returns

void

subscribe()
subscribe(listener): () => void

###### Parameters

###### listener

(snapshot) => void

###### Returns

() => void

toggle()
toggle(): void

###### Returns

void

interface

# SelectItem

Type Parameters

V

Members

disabled?
readonly optional disabled?: boolean

###### Overrides

CollectionItem.disabled

id
readonly id: string

###### Overrides

CollectionItem.id

label?
readonly optional label?: string

###### Overrides

CollectionItem.label

value
readonly value: V
type Type Aliases 4

# Attachment

Attachment = (node) => void | (() => void)

Parameters

node
HTMLElement

Returns

void | (() => void)
type

# SelectEvent

SelectEvent<V> = { type: "OPEN"; } | { type: "CLOSE"; } | { type: "TOGGLE"; } | { type: "ESCAPE"; } | { id: string; type: "SELECT"; } | { id: string | null; type: "HIGHLIGHT"; } | { direction: NavigateDirection; type: "NAVIGATE"; } | { char: string; type: "TYPEAHEAD"; } | { type: "TYPEAHEAD.RESET"; } | { type: "SET.VALUE"; value: V | null; } | { items: ReadonlyArray<SelectItem<V>>; type: "SET.ITEMS"; }

Type Parameters

V
type

# SelectState

SelectState = "closed" | "open"
function Functions 1