GitHub

Reference machines

accordion

interface 3 type 4 function 1
interface Interfaces 3

# AccordionContext

Type Parameters

V

Members

collapsible
collapsible: boolean

When mode='single', whether the only-open panel can be collapsed.

expandedIds
expandedIds: readonly string[]

Item ids currently in the expanded set.

focusedId
focusedId: string | null

Item id with keyboard focus, or null.

items
items: readonly AccordionItem<V>[]
mode
mode: AccordionMode

# AccordionItem

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

# CreateAccordionInput

Type Parameters

V

Members

collapsible?
optional collapsible?: boolean

When mode='single' (default), allow closing the only-open. Default true.

defaultValue?
optional defaultValue?: V | readonly V[] | null

Initial value(s). For single, V or null; for multiple, V[].

items
items: readonly AccordionItem<V>[]
mode?
optional mode?: AccordionMode
navigation?
optional navigation?: "wrap" | "clamp"

Whether arrow navigation wraps (default per APG) or clamps.

type Type Aliases 4

# AccordionEvent

AccordionEvent<V> = { id: string; type: "TOGGLE"; } | { id: string; type: "EXPAND"; } | { id: string; type: "COLLAPSE"; } | { id: string; type: "FOCUS"; } | { type: "BLUR"; } | { direction: NavigateDirection; type: "NAVIGATE"; } | { items: ReadonlyArray<AccordionItem<V>>; type: "SET.ITEMS"; } | { type: "SET.VALUE"; value: ReadonlyArray<V> | V | null; } | { mode: AccordionMode; type: "SET.MODE"; } | { type: "SET.COLLAPSIBLE"; value: boolean; }

Type Parameters

V
function Functions 1

# createAccordionMachine ( )

createAccordionMachine<V>(input): AccordionMachine<V>

Construct a fresh Accordion machine.

Type Parameters

V

Parameters

Returns

AccordionMachine<V>