GitHub

Reference headless

radioGroup

interface 4 type 4 function 1
interface Interfaces 4

# CreateRadioGroupOptions

Type Parameters

V

Members

defaultValue?
optional defaultValue?: V | null

###### Inherited from

CreateRadioGroupInput.defaultValue

disabled?
optional disabled?: boolean

###### Inherited from

CreateRadioGroupInput.disabled

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

###### Inherited from

CreateRadioGroupInput.items

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

Whether arrow navigation wraps (default) or clamps.

###### Inherited from

CreateRadioGroupInput.navigation

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

###### Parameters

###### value

V | null

###### Returns

void

interface

# RadioGroupContext

Type Parameters

V

Members

focusedId
focusedId: string | null
items
items: readonly RadioItem<V>[]
value
value: V | null

# RadioGroupController

Type Parameters

V

Members

context
readonly context: Readonly<RadioGroupContext<V>>
disabled
readonly disabled: boolean
focusedId
readonly focusedId: string | null
id
readonly id: string
items
readonly items: readonly RadioItem<V>[]
machine
readonly machine: RadioGroupMachine<V>

Underlying machine — exposed for advanced use, debugging, tests.

root
readonly root: Attachment

Attach to the group container.

state
readonly state: RadioGroupState
value
readonly value: V | null
item()
item(item): Attachment

Attach to one item element. Returns an attachment closure that wires click + keyboard for that specific item.

###### Parameters

###### item

RadioItem<V>

###### Returns

Attachment

itemElementId()
itemElementId(itemId): string

Compute the DOM id for a given item.

###### Parameters

###### itemId

string

###### Returns

string

select()
select(id): void

User-action selection.

###### Parameters

###### id

string

###### Returns

void

setDisabled()
setDisabled(disabled): void

###### Parameters

###### disabled

boolean

###### Returns

void

setItems()
setItems(items): void

Replace the group's items (e.g., when filtered).

###### Parameters

###### items

readonly RadioItem<V>[]

###### Returns

void

setValue()
setValue(value): void

Programmatic value update.

###### Parameters

###### value

V | null

###### Returns

void

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

###### Parameters

###### listener

(snapshot) => void

###### Returns

() => void

interface

# RadioItem

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

# RadioGroupEvent

RadioGroupEvent<V> = { id: string; type: "SELECT"; } | { id: string; type: "FOCUS"; } | { type: "BLUR"; } | { direction: NavigateDirection; type: "NAVIGATE"; } | { type: "SET.VALUE"; value: V | null; } | { items: ReadonlyArray<RadioItem<V>>; type: "SET.ITEMS"; } | { type: "DISABLE"; } | { type: "ENABLE"; }

Type Parameters

V
type

# RadioGroupState

RadioGroupState = "idle" | "disabled"
function Functions 1

# createRadioGroup ( )

createRadioGroup<V>(options): RadioGroupController<V>

Create a RadioGroup controller plus the group + item attachment factories.

Type Parameters

V

Parameters

Returns

RadioGroupController<V>