Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ListboxProps

Hierarchy

  • Omit<HTMLAttributes<ListElement>, "value" | "defaultValue" | "onChange">
  • ListboxOptions
  • CSSTransitionComponentProps
    • ListboxProps

Index

Properties

Methods

Properties

about?: string
accessKey?: string
aria-activedescendant?: string

Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.

aria-atomic?: Booleanish

Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

aria-autocomplete?: "list" | "none" | "inline" | "both"

Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be presented if they are made.

aria-busy?: Booleanish

Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

aria-checked?: boolean | "true" | "false" | "mixed"

Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.

see

aria-pressed @see aria-selected.

aria-colcount?: number

Defines the total number of columns in a table, grid, or treegrid.

see

aria-colindex.

aria-colindex?: number

Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.

see

aria-colcount @see aria-colspan.

aria-colspan?: number

Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.

see

aria-colindex @see aria-rowspan.

aria-controls?: string

Identifies the element (or elements) whose contents or presence are controlled by the current element.

see

aria-owns.

aria-current?: boolean | "true" | "false" | "page" | "step" | "location" | "date" | "time"

Indicates the element that represents the current item within a container or set of related elements.

aria-describedby?: string

Identifies the element (or elements) that describes the object.

see

aria-labelledby

aria-details?: string

Identifies the element that provides a detailed, extended description for the object.

see

aria-describedby.

aria-disabled?: Booleanish

Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.

see

aria-hidden @see aria-readonly.

aria-dropeffect?: "link" | "none" | "copy" | "execute" | "move" | "popup"

Indicates what functions can be performed when a dragged object is released on the drop target.

deprecated

in ARIA 1.1

aria-errormessage?: string

Identifies the element that provides an error message for the object.

see

aria-invalid @see aria-describedby.

aria-expanded?: Booleanish

Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed.

aria-flowto?: string

Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.

aria-grabbed?: Booleanish

Indicates an element's "grabbed" state in a drag-and-drop operation.

deprecated

in ARIA 1.1

aria-haspopup?: boolean | "true" | "false" | "dialog" | "grid" | "listbox" | "menu" | "tree"

Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

aria-hidden?: Booleanish

Indicates whether the element is exposed to an accessibility API.

see

aria-disabled.

aria-invalid?: boolean | "true" | "false" | "grammar" | "spelling"

Indicates the entered value does not conform to the format expected by the application.

see

aria-errormessage.

aria-keyshortcuts?: string

Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

aria-label?: string

Defines a string value that labels the current element.

see

aria-labelledby.

aria-labelledby?: string

Identifies the element (or elements) that labels the current element.

see

aria-describedby.

aria-level?: number

Defines the hierarchical level of an element within a structure.

aria-live?: "off" | "assertive" | "polite"

Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

aria-modal?: Booleanish

Indicates whether an element is modal when displayed.

aria-multiline?: Booleanish

Indicates whether a text box accepts multiple lines of input or only a single line.

aria-multiselectable?: Booleanish

Indicates that the user may select more than one item from the current selectable descendants.

aria-orientation?: "horizontal" | "vertical"

Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

aria-owns?: string

Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship between DOM elements where the DOM hierarchy cannot be used to represent the relationship.

see

aria-controls.

aria-placeholder?: string

Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.

aria-posinset?: number

Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

see

aria-setsize.

aria-pressed?: boolean | "true" | "false" | "mixed"

Indicates the current "pressed" state of toggle buttons.

see

aria-checked @see aria-selected.

aria-readonly?: Booleanish

Indicates that the element is not editable, but is otherwise operable.

see

aria-disabled.

aria-relevant?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals"

Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.

see

aria-atomic.

aria-required?: Booleanish

Indicates that user input is required on the element before a form may be submitted.

aria-roledescription?: string

Defines a human-readable, author-localized description for the role of an element.

aria-rowcount?: number

Defines the total number of rows in a table, grid, or treegrid.

see

aria-rowindex.

aria-rowindex?: number

Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.

see

aria-rowcount @see aria-rowspan.

aria-rowspan?: number

Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.

see

aria-rowindex @see aria-colspan.

aria-selected?: Booleanish

Indicates the current "selected" state of various widgets.

see

aria-checked @see aria-pressed.

aria-setsize?: number

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.

see

aria-posinset.

aria-sort?: "none" | "ascending" | "descending" | "other"

Indicates if items in a table or grid are sorted in ascending or descending order.

aria-valuemax?: number

Defines the maximum allowed value for a range widget.

aria-valuemin?: number

Defines the minimum allowed value for a range widget.

aria-valuenow?: number

Defines the current value for a range widget.

see

aria-valuetext.

aria-valuetext?: string

Defines the human readable text alternative of aria-valuenow for a range widget.

autoCapitalize?: string
autoCorrect?: string
autoSave?: string
children?: ReactNode
className?: string
classNames?: CSSTransitionClassNames

{@inheritDoc CSSTransitionClassNames}

color?: string
contentEditable?: Booleanish | "inherit"
contextMenu?: string
dangerouslySetInnerHTML?: { __html: string }

Type declaration

  • __html: string
datatype?: string
defaultChecked?: boolean
dir?: string
disableMovementChange?: boolean

Boolean if using the keyboard should not immediately trigger the onChange callback. When this is enabled, the onChange callback will only be called if the user clicks an item or presses the enter or space key.

draggable?: Booleanish
getOptionId?: (baseId: string, index: number) => string

Type declaration

    • (baseId: string, index: number): string
    • The default way to generate a "unique" id for each option within the listbox by concatenating the current index with a base id.

      Note: The index will be incremented by 1 so the ids start from 1 instead of 0. This is so that it matches how paginated results work with aria-posinset

      • aria-setsize.

      Parameters

      • baseId: string

        The base id of the listbox.

      • index: number

        The current index of the option

      Returns string

      a "unique" id for the option

getOptionLabel?: (option: ListboxOption, labelKey: string) => ReactNode

Type declaration

    • A function that will get the label for an option. The default behavior is to check if the option is an object. If it is, it'll use the labelKey property and fallback to the children property. If it is anything else, the option itself will be returned.

      This is used in both the select's button element to show the current value as well as rendering each option within the listbox component.

      Parameters

      • option: ListboxOption

        The option that should be converted into a renderable label element.

      • labelKey: string

        The object key to use to extract the label from an option object.

      Returns ReactNode

      a renderable label to display.

getOptionValue?: (item: unknown, valueKey?: string) => string

Type declaration

    • (item: unknown, valueKey?: string): string
    • The default implementation of the getItemValue search option that will attempt to "stringify" any unknown item as a string.

      internal

      Parameters

      • item: unknown

        The current item to transform

      • Optional valueKey: string

        The key to use that should hold the value if the item is an object

      Returns string

      the item as a string

hidden?: boolean
id: string

The id for the listbox. This is required for a11y and is used to generate unique ids for each option within the listbox for aria-activedescendant movement.

inlist?: any
inputMode?: "none" | "search" | "text" | "tel" | "url" | "email" | "numeric" | "decimal"

Hints at the type of data that might be entered by the user while editing the element or its contents

see

https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

is?: string

Specify that a standard HTML element should behave like a defined custom built-in element

see

https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

itemID?: string
itemProp?: string
itemRef?: string
itemScope?: boolean
itemType?: string
labelKey?: string

A key to use that extracts the display label for an option from the options list. This will only be used if the option is an object and is passed to the getOptionLabel prop.

lang?: string
name?: string

An optional name to provide for the listbox that will be provided with the onChange callback.

onAbort?: ReactEventHandler<ListElement>
onAbortCapture?: ReactEventHandler<ListElement>
onAnimationEnd?: AnimationEventHandler<ListElement>
onAnimationEndCapture?: AnimationEventHandler<ListElement>
onAnimationIteration?: AnimationEventHandler<ListElement>
onAnimationIterationCapture?: AnimationEventHandler<ListElement>
onAnimationStart?: AnimationEventHandler<ListElement>
onAnimationStartCapture?: AnimationEventHandler<ListElement>
onAuxClick?: MouseEventHandler<ListElement>
onAuxClickCapture?: MouseEventHandler<ListElement>
onBeforeInput?: FormEventHandler<ListElement>
onBeforeInputCapture?: FormEventHandler<ListElement>
onBlur?: FocusEventHandler<ListElement>
onBlurCapture?: FocusEventHandler<ListElement>
onCanPlay?: ReactEventHandler<ListElement>
onCanPlayCapture?: ReactEventHandler<ListElement>
onCanPlayThrough?: ReactEventHandler<ListElement>
onCanPlayThroughCapture?: ReactEventHandler<ListElement>
see

ListboxChangeEventHandler

onChangeCapture?: FormEventHandler<ListElement>
onClick?: MouseEventHandler<ListElement>
onClickCapture?: MouseEventHandler<ListElement>
onCompositionEnd?: CompositionEventHandler<ListElement>
onCompositionEndCapture?: CompositionEventHandler<ListElement>
onCompositionStart?: CompositionEventHandler<ListElement>
onCompositionStartCapture?: CompositionEventHandler<ListElement>
onCompositionUpdate?: CompositionEventHandler<ListElement>
onCompositionUpdateCapture?: CompositionEventHandler<ListElement>
onContextMenu?: MouseEventHandler<ListElement>
onContextMenuCapture?: MouseEventHandler<ListElement>
onCopy?: ClipboardEventHandler<ListElement>
onCopyCapture?: ClipboardEventHandler<ListElement>
onCut?: ClipboardEventHandler<ListElement>
onCutCapture?: ClipboardEventHandler<ListElement>
onDoubleClick?: MouseEventHandler<ListElement>
onDoubleClickCapture?: MouseEventHandler<ListElement>
onDrag?: DragEventHandler<ListElement>
onDragCapture?: DragEventHandler<ListElement>
onDragEnd?: DragEventHandler<ListElement>
onDragEndCapture?: DragEventHandler<ListElement>
onDragEnter?: DragEventHandler<ListElement>
onDragEnterCapture?: DragEventHandler<ListElement>
onDragExit?: DragEventHandler<ListElement>
onDragExitCapture?: DragEventHandler<ListElement>
onDragLeave?: DragEventHandler<ListElement>
onDragLeaveCapture?: DragEventHandler<ListElement>
onDragOver?: DragEventHandler<ListElement>
onDragOverCapture?: DragEventHandler<ListElement>
onDragStart?: DragEventHandler<ListElement>
onDragStartCapture?: DragEventHandler<ListElement>
onDrop?: DragEventHandler<ListElement>
onDropCapture?: DragEventHandler<ListElement>
onDurationChange?: ReactEventHandler<ListElement>
onDurationChangeCapture?: ReactEventHandler<ListElement>
onEmptied?: ReactEventHandler<ListElement>
onEmptiedCapture?: ReactEventHandler<ListElement>
onEncrypted?: ReactEventHandler<ListElement>
onEncryptedCapture?: ReactEventHandler<ListElement>
onEnded?: ReactEventHandler<ListElement>
onEndedCapture?: ReactEventHandler<ListElement>
onEnter?: TransitionEnterHandler

This function will be called once the TransitionStage has been set to "enter".

see

TransitionEnterHandler

onEntered?: TransitionEnterHandler

This function will be called once the TransitionStage has been set to "entering".

see

TransitionEnterHandler

onEntering?: TransitionEnterHandler

This function will be called once the TransitionStage has been set to "enter".

see

TransitionEnterHandler

onError?: ReactEventHandler<ListElement>
onErrorCapture?: ReactEventHandler<ListElement>
onExit?: TransitionExitHandler

This function will be called once the TransitionStage has been set to "entered".

see

TransitionEnterHandler

onExited?: TransitionExitHandler

This function will be called once the TransitionStage has been set to "exited".

see

TransitionExitHandler

onExiting?: TransitionExitHandler

This function will be called once the TransitionStage has been set to "exiting".

see

TransitionExitHandler

onFocus?: FocusEventHandler<ListElement>
onFocusCapture?: FocusEventHandler<ListElement>
onGotPointerCapture?: PointerEventHandler<ListElement>
onGotPointerCaptureCapture?: PointerEventHandler<ListElement>
onInput?: FormEventHandler<ListElement>
onInputCapture?: FormEventHandler<ListElement>
onInvalid?: FormEventHandler<ListElement>
onInvalidCapture?: FormEventHandler<ListElement>
onKeyDown?: KeyboardEventHandler<ListElement>
onKeyDownCapture?: KeyboardEventHandler<ListElement>
onKeyPress?: KeyboardEventHandler<ListElement>
deprecated
onKeyPressCapture?: KeyboardEventHandler<ListElement>
deprecated
onKeyUp?: KeyboardEventHandler<ListElement>
onKeyUpCapture?: KeyboardEventHandler<ListElement>
onLoad?: ReactEventHandler<ListElement>
onLoadCapture?: ReactEventHandler<ListElement>
onLoadStart?: ReactEventHandler<ListElement>
onLoadStartCapture?: ReactEventHandler<ListElement>
onLoadedData?: ReactEventHandler<ListElement>
onLoadedDataCapture?: ReactEventHandler<ListElement>
onLoadedMetadata?: ReactEventHandler<ListElement>
onLoadedMetadataCapture?: ReactEventHandler<ListElement>
onLostPointerCapture?: PointerEventHandler<ListElement>
onLostPointerCaptureCapture?: PointerEventHandler<ListElement>
onMouseDown?: MouseEventHandler<ListElement>
onMouseDownCapture?: MouseEventHandler<ListElement>
onMouseEnter?: MouseEventHandler<ListElement>
onMouseLeave?: MouseEventHandler<ListElement>
onMouseMove?: MouseEventHandler<ListElement>
onMouseMoveCapture?: MouseEventHandler<ListElement>
onMouseOut?: MouseEventHandler<ListElement>
onMouseOutCapture?: MouseEventHandler<ListElement>
onMouseOver?: MouseEventHandler<ListElement>
onMouseOverCapture?: MouseEventHandler<ListElement>
onMouseUp?: MouseEventHandler<ListElement>
onMouseUpCapture?: MouseEventHandler<ListElement>
onPaste?: ClipboardEventHandler<ListElement>
onPasteCapture?: ClipboardEventHandler<ListElement>
onPause?: ReactEventHandler<ListElement>
onPauseCapture?: ReactEventHandler<ListElement>
onPlay?: ReactEventHandler<ListElement>
onPlayCapture?: ReactEventHandler<ListElement>
onPlaying?: ReactEventHandler<ListElement>
onPlayingCapture?: ReactEventHandler<ListElement>
onPointerCancel?: PointerEventHandler<ListElement>
onPointerCancelCapture?: PointerEventHandler<ListElement>
onPointerDown?: PointerEventHandler<ListElement>
onPointerDownCapture?: PointerEventHandler<ListElement>
onPointerEnter?: PointerEventHandler<ListElement>
onPointerEnterCapture?: PointerEventHandler<ListElement>
onPointerLeave?: PointerEventHandler<ListElement>
onPointerLeaveCapture?: PointerEventHandler<ListElement>
onPointerMove?: PointerEventHandler<ListElement>
onPointerMoveCapture?: PointerEventHandler<ListElement>
onPointerOut?: PointerEventHandler<ListElement>
onPointerOutCapture?: PointerEventHandler<ListElement>
onPointerOver?: PointerEventHandler<ListElement>
onPointerOverCapture?: PointerEventHandler<ListElement>
onPointerUp?: PointerEventHandler<ListElement>
onPointerUpCapture?: PointerEventHandler<ListElement>
onProgress?: ReactEventHandler<ListElement>
onProgressCapture?: ReactEventHandler<ListElement>
onRateChange?: ReactEventHandler<ListElement>
onRateChangeCapture?: ReactEventHandler<ListElement>
onReset?: FormEventHandler<ListElement>
onResetCapture?: FormEventHandler<ListElement>
onScroll?: UIEventHandler<ListElement>
onScrollCapture?: UIEventHandler<ListElement>
onSeeked?: ReactEventHandler<ListElement>
onSeekedCapture?: ReactEventHandler<ListElement>
onSeeking?: ReactEventHandler<ListElement>
onSeekingCapture?: ReactEventHandler<ListElement>
onSelect?: ReactEventHandler<ListElement>
onSelectCapture?: ReactEventHandler<ListElement>
onStalled?: ReactEventHandler<ListElement>
onStalledCapture?: ReactEventHandler<ListElement>
onSubmit?: FormEventHandler<ListElement>
onSubmitCapture?: FormEventHandler<ListElement>
onSuspend?: ReactEventHandler<ListElement>
onSuspendCapture?: ReactEventHandler<ListElement>
onTimeUpdate?: ReactEventHandler<ListElement>
onTimeUpdateCapture?: ReactEventHandler<ListElement>
onTouchCancel?: TouchEventHandler<ListElement>
onTouchCancelCapture?: TouchEventHandler<ListElement>
onTouchEnd?: TouchEventHandler<ListElement>
onTouchEndCapture?: TouchEventHandler<ListElement>
onTouchMove?: TouchEventHandler<ListElement>
onTouchMoveCapture?: TouchEventHandler<ListElement>
onTouchStart?: TouchEventHandler<ListElement>
onTouchStartCapture?: TouchEventHandler<ListElement>
onTransitionEnd?: TransitionEventHandler<ListElement>
onTransitionEndCapture?: TransitionEventHandler<ListElement>
onVolumeChange?: ReactEventHandler<ListElement>
onVolumeChangeCapture?: ReactEventHandler<ListElement>
onWaiting?: ReactEventHandler<ListElement>
onWaitingCapture?: ReactEventHandler<ListElement>
onWheel?: WheelEventHandler<ListElement>
onWheelCapture?: WheelEventHandler<ListElement>
options: readonly ListboxOption[]

The list of options to display within the listbox.

placeholder?: string
portal?: boolean

Boolean if the portal should be used.

portalInto?: PortalInto
portalIntoId?: string
prefix?: string
property?: string
radioGroup?: string
readOnly?: boolean

Boolean if all the options should just be read only and prevent the onChange handler to be called when an option is keyboard focused or clicked.

resource?: string
results?: number
role?: AriaRole
security?: string
slot?: string
spellCheck?: Booleanish
style?: CSSProperties
suppressContentEditableWarning?: boolean
suppressHydrationWarning?: boolean
tabIndex?: number
temporary?: boolean

Boolean if the listbox is in a temporary element (like a dropdown). This will update the behavior so that the default tabIndex is -1 instead of 0 since it shouldn't be tab focusable within a dropdown.

timeout?: TransitionTimeout

{@inheritDoc TransitionTimeout}

title?: string
translate?: "yes" | "no"
typeof?: string
unselectable?: "on" | "off"
value: string

The listbox is a controlled component, so you will need to provide the current value and an onChange handler. The value must be a string and should be one of the option's values when something has been selected. If you want to have an "empty" select box to require the user to manually select something to be considered valid, you can set this to the empty string and it'll be considered "unvalued".

valueKey?: string

A key to use that extracts the value for the option from the options list. This will only be used if the option is an object and will be passed to the getOptionValue prop.

visible?: boolean

Boolean if the listbox is visible. This should stay defaulted as true when the temporary prop is set to false.

vocab?: string

Methods

  • onRequestClose(): void

Generated using TypeDoc