-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat: Add render prop to allow customizing DOM element
#9499
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
# Conflicts: # packages/@react-spectrum/s2/src/Menu.tsx # packages/react-aria-components/src/Menu.tsx # packages/react-aria-components/src/Tabs.tsx # packages/react-aria-components/src/TagGroup.tsx
|
Build successful! 🎉 |
|
Build successful! 🎉 |
|
Thank you! 🙏 This is going to be super helpful, glad to see it being added 🚀 |
|
Thanks for considering this — as I’ve mentioned in several issues and on X, this has been my # 1 pain point with RAC. Looking at the examples, I don’t see support for accessing It feels like a missed opportunity not to pass <Button
render={(props, { isPressed }) => (
<motion.button
{...props}
animate={{ scale: isPressed ? 0.9 : 1 }}
/>
)}
/> |
|
@jrmyio good idea! I added a second argument with the render props (when applicable) in the commit above. |
|
Build successful! 🎉 |
## API Changes
react-aria-components/react-aria-components:Breadcrumbs Breadcrumbs <T extends {}> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ReactNode | (T) => ReactNode
className?: string = 'react-aria-Breadcrumbs'
dependencies?: ReadonlyArray<any>
id?: string
isDisabled?: boolean
items?: Iterable<T>
onAction?: (Key) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
slot?: string | null
style?: CSSProperties
}/react-aria-components:Breadcrumb Breadcrumb {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<BreadcrumbRenderProps>
className?: ClassNameOrFunction<BreadcrumbRenderProps> = 'react-aria-Breadcrumb'
id?: Key
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, BreadcrumbRenderProps>
style?: StyleOrFunction<BreadcrumbRenderProps>
}/react-aria-components:Button Button {
aria-controls?: string
aria-current?: boolean | 'true' | 'false' | 'page' | 'step' | 'location' | 'date' | 'time'
aria-describedby?: string
aria-details?: string
aria-disabled?: boolean | 'true' | 'false'
aria-expanded?: boolean | 'true' | 'false'
aria-haspopup?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | 'true' | 'false'
aria-label?: string
aria-labelledby?: string
aria-pressed?: boolean | 'true' | 'false' | 'mixed'
autoFocus?: boolean
children?: ChildrenOrFunction<ButtonRenderProps>
className?: ClassNameOrFunction<ButtonRenderProps> = 'react-aria-Button'
excludeFromTabOrder?: boolean
form?: string
formAction?: ButtonHTMLAttributes<HTMLButtonElement>['formAction']
formEncType?: string
formMethod?: string
formNoValidate?: boolean
formTarget?: string
id?: string
isDisabled?: boolean
isPending?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
preventFocusOnPress?: boolean
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ButtonRenderProps>
slot?: string | null
style?: StyleOrFunction<ButtonRenderProps>
type?: 'button' | 'submit' | 'reset' = 'button'
value?: string/react-aria-components:Calendar Calendar <T extends DateValue> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean = false
children?: ChildrenOrFunction<CalendarRenderProps>
className?: ClassNameOrFunction<CalendarRenderProps> = 'react-aria-Calendar'
createCalendar?: (CalendarIdentifier) => Calendar
defaultFocusedValue?: DateValue | null
defaultValue?: DateValue | null
firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
focusedValue?: DateValue | null
id?: string
isDateUnavailable?: (DateValue) => boolean
isDisabled?: boolean = false
isInvalid?: boolean
isReadOnly?: boolean = false
maxValue?: DateValue | null
minValue?: DateValue | null
onChange?: (MappedDateValue<DateValue>) => void
onFocusChange?: (CalendarDate) => void
pageBehavior?: PageBehavior = visible
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, CalendarRenderProps>
selectionAlignment?: 'start' | 'center' | 'end' = 'center'
slot?: string | null
style?: StyleOrFunction<CalendarRenderProps>
value?: DateValue | null
}/react-aria-components:CalendarGrid CalendarGrid {
children?: ReactElement | Array<ReactElement> | (CalendarDate) => ReactElement
className?: string = 'react-aria-CalendarGrid'
offset?: DateDuration
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
weekdayStyle?: 'narrow' | 'short' | 'long' = "narrow"
}/react-aria-components:CalendarGridHeader CalendarGridHeader {
children: (string) => ReactElement
className?: string = 'react-aria-CalendarGridHeader'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
}/react-aria-components:CalendarGridBody CalendarGridBody {
children: (CalendarDate) => ReactElement
className?: string = 'react-aria-CalendarGridBody'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
}/react-aria-components:CalendarHeaderCell CalendarHeaderCell {
children?: ReactNode
className?: string = 'react-aria-CalendarHeaderCell'
id?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
}/react-aria-components:CalendarCell CalendarCell {
children?: ChildrenOrFunction<CalendarCellRenderProps>
className?: ClassNameOrFunction<CalendarCellRenderProps> = 'react-aria-CalendarCell'
date: CalendarDate
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, CalendarCellRenderProps>
style?: StyleOrFunction<CalendarCellRenderProps>
}/react-aria-components:RangeCalendar RangeCalendar <T extends DateValue> {
allowsNonContiguousRanges?: boolean
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean = false
children?: ChildrenOrFunction<RangeCalendarRenderProps>
className?: ClassNameOrFunction<RangeCalendarRenderProps> = 'react-aria-RangeCalendar'
createCalendar?: (CalendarIdentifier) => Calendar
defaultFocusedValue?: DateValue | null
defaultValue?: RangeValue<DateValue> | null
firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
focusedValue?: DateValue | null
id?: string
isDateUnavailable?: (DateValue) => boolean
isDisabled?: boolean = false
isInvalid?: boolean
isReadOnly?: boolean = false
maxValue?: DateValue | null
minValue?: DateValue | null
onChange?: (RangeValue<MappedDateValue<DateValue>>) => void
onFocusChange?: (CalendarDate) => void
pageBehavior?: PageBehavior = visible
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, RangeCalendarRenderProps>
selectionAlignment?: 'start' | 'center' | 'end' = 'center'
slot?: string | null
style?: StyleOrFunction<RangeCalendarRenderProps>
value?: RangeValue<DateValue> | null
}/react-aria-components:Checkbox Checkbox {
aria-controls?: string
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<CheckboxRenderProps>
className?: ClassNameOrFunction<CheckboxRenderProps> = 'react-aria-Checkbox'
defaultSelected?: boolean
excludeFromTabOrder?: boolean
form?: string
id?: string
inputRef?: RefObject<HTMLInputElement | null>
isDisabled?: boolean
isIndeterminate?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
isSelected?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (boolean) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, CheckboxRenderProps>
slot?: string | null
style?: StyleOrFunction<CheckboxRenderProps>
validate?: (boolean) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
}/react-aria-components:CheckboxGroup CheckboxGroup {
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<CheckboxGroupRenderProps>
className?: ClassNameOrFunction<CheckboxGroupRenderProps> = 'react-aria-CheckboxGroup'
defaultValue?: Array<string>
form?: string
id?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (T) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, CheckboxGroupRenderProps>
slot?: string | null
style?: StyleOrFunction<CheckboxGroupRenderProps>
validate?: (Array<string>) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
}/react-aria-components:ColorArea ColorArea {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<ColorAreaRenderProps>
className?: ClassNameOrFunction<ColorAreaRenderProps> = 'react-aria-ColorArea'
colorSpace?: ColorSpace
defaultValue?: T
form?: string
id?: string
isDisabled?: boolean
onChange?: (Color) => void
onChangeEnd?: (Color) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorAreaRenderProps>
slot?: string | null
style?: StyleOrFunction<ColorAreaRenderProps>
value?: T
xChannel?: ColorChannel
yChannel?: ColorChannel
yName?: string
}/react-aria-components:ColorField ColorField {
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
channel?: ColorChannel
children?: ChildrenOrFunction<ColorFieldRenderProps>
className?: ClassNameOrFunction<ColorFieldRenderProps> = 'react-aria-ColorField'
colorSpace?: ColorSpace
defaultValue?: T
excludeFromTabOrder?: boolean
form?: string
id?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
isWheelDisabled?: boolean
name?: string
onBeforeInput?: FormEventHandler<HTMLInputElement>
onBlur?: (FocusEvent<Target>) => void
onChange?: (Color | null) => void
onCompositionEnd?: CompositionEventHandler<HTMLInputElement>
onCompositionStart?: CompositionEventHandler<HTMLInputElement>
onCompositionUpdate?: CompositionEventHandler<HTMLInputElement>
onCopy?: ClipboardEventHandler<HTMLInputElement>
onCut?: ClipboardEventHandler<HTMLInputElement>
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onInput?: FormEventHandler<HTMLInputElement>
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPaste?: ClipboardEventHandler<HTMLInputElement>
onSelect?: ReactEventHandler<HTMLInputElement>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorFieldRenderProps>
slot?: string | null
style?: StyleOrFunction<ColorFieldRenderProps>
validate?: (Color | null) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
}/react-aria-components:ColorSlider ColorSlider {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
channel: ColorChannel
children?: ChildrenOrFunction<ColorSliderRenderProps>
className?: ClassNameOrFunction<ColorSliderRenderProps> = 'react-aria-ColorSlider'
colorSpace?: ColorSpace
defaultValue?: T
form?: string
id?: string
isDisabled?: boolean
name?: string
onChange?: (Color) => void
onChangeEnd?: (Color) => void
orientation?: Orientation = 'horizontal'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorSliderRenderProps>
slot?: string | null
style?: StyleOrFunction<ColorSliderRenderProps>
value?: T
}/react-aria-components:ColorSwatch ColorSwatch {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
className?: ClassNameOrFunction<ColorSwatchRenderProps> = 'react-aria-ColorSwatch'
color?: string | Color
colorName?: string
id?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorSwatchRenderProps>
slot?: string | null
style?: StyleOrFunction<ColorSwatchRenderProps>
}/react-aria-components:ColorSwatchPicker ColorSwatchPicker {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ReactNode
className?: ClassNameOrFunction<ColorSwatchPickerRenderProps> = 'react-aria-ColorSwatchPicker'
defaultValue?: string | Color
layout?: 'grid' | 'stack' = 'grid'
onChange?: (Color) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorSwatchPickerRenderProps>
style?: StyleOrFunction<ColorSwatchPickerRenderProps>
value?: string | Color
}/react-aria-components:ColorSwatchPickerItem ColorSwatchPickerItem {
children?: ChildrenOrFunction<ColorSwatchPickerItemRenderProps>
className?: ClassNameOrFunction<ColorSwatchPickerItemRenderProps> = 'react-aria-ColorSwatchPickerItem'
color: string | Color
isDisabled?: boolean
onClick?: (MouseEvent<FocusableElement>) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorSwatchPickerItemRenderProps>
style?: StyleOrFunction<ColorSwatchPickerItemRenderProps>
}/react-aria-components:ColorThumb ColorThumb {
children?: ChildrenOrFunction<ColorThumbRenderProps>
className?: ClassNameOrFunction<ColorThumbRenderProps> = 'react-aria-ColorThumb'
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorThumbRenderProps>
style?: StyleOrFunction<ColorThumbRenderProps>
}/react-aria-components:ColorWheel ColorWheel {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<ColorWheelRenderProps>
className?: ClassNameOrFunction<ColorWheelRenderProps> = 'react-aria-ColorWheel'
defaultValue?: string | Color = 'hsl(0, 100%, 50%)'
form?: string
id?: string
innerRadius: number
isDisabled?: boolean
name?: string
onChange?: (Color) => void
onChangeEnd?: (Color) => void
outerRadius: number
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorWheelRenderProps>
slot?: string | null
style?: StyleOrFunction<ColorWheelRenderProps>
value?: T
}/react-aria-components:ColorWheelTrack ColorWheelTrack {
className?: ClassNameOrFunction<ColorWheelTrackRenderProps> = 'react-aria-ColorWheelTrack'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorWheelTrackRenderProps>
style?: StyleOrFunction<ColorWheelTrackRenderProps>
}/react-aria-components:ComboBox ComboBox <T extends {}> {
allowsCustomValue?: boolean
allowsEmptyCollection?: boolean
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<ComboBoxRenderProps>
className?: ClassNameOrFunction<ComboBoxRenderProps> = 'react-aria-ComboBox'
defaultFilter?: (string, string) => boolean
defaultInputValue?: string
defaultItems?: Iterable<T>
defaultSelectedKey?: Key
disabledKeys?: Iterable<Key>
form?: string
formValue?: 'text' | 'key' = 'key'
id?: string
inputValue?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
isTriggerUpWhenOpen?: boolean
items?: Iterable<T>
menuTrigger?: MenuTriggerAction = 'input'
name?: string
onBlur?: (FocusEvent<HTMLInputElement>) => void
onFocus?: (FocusEvent<HTMLInputElement>) => void
onFocusChange?: (boolean) => void
onInputChange?: (string) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onOpenChange?: (boolean, MenuTriggerAction) => void
onSelectionChange?: (Key | null) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ComboBoxRenderProps>
selectedKey?: Key | null
shouldFocusWrap?: boolean
slot?: string | null
style?: StyleOrFunction<ComboBoxRenderProps>
validationBehavior?: 'native' | 'aria' = 'native'
}/react-aria-components:useRenderProps-useRenderProps <T> {
+useRenderProps <E extends keyof React.JSX.IntrinsicElements, T> {
- props: RenderPropsHookOptions<T>
+ props: RenderPropsHookOptions<T, E>
returnVal: undefined
}/react-aria-components:DateField DateField <T extends DateValue> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoComplete?: string
autoFocus?: boolean
children?: ChildrenOrFunction<DateFieldRenderProps>
className?: ClassNameOrFunction<DateFieldRenderProps> = 'react-aria-DateField'
defaultValue?: DateValue | null
form?: string
granularity?: Granularity
hideTimeZone?: boolean = false
hourCycle?: number | number
id?: string
isDateUnavailable?: (DateValue) => boolean
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
maxValue?: DateValue | null
minValue?: DateValue | null
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (MappedDateValue<DateValue> | null) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
placeholderValue?: DateValue | null
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DateFieldRenderProps>
shouldForceLeadingZeros?: boolean
slot?: string | null
style?: StyleOrFunction<DateFieldRenderProps>
validate?: (MappedDateValue<DateValue>) => ValidationError | boolean | null | undefined
value?: DateValue | null
}/react-aria-components:DateInput DateInput {
children: (DateSegment) => ReactElement
className?: ClassNameOrFunction<DateInputRenderProps> = 'react-aria-DateInput'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DateInputRenderProps>
slot?: string | null
style?: StyleOrFunction<DateInputRenderProps>
}/react-aria-components:DateSegment DateSegment {
children?: ChildrenOrFunction<DateSegmentRenderProps>
className?: ClassNameOrFunction<DateSegmentRenderProps> = 'react-aria-DateSegment'
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DateSegmentRenderProps>
segment: DateSegment
style?: StyleOrFunction<DateSegmentRenderProps>
}/react-aria-components:TimeField TimeField <T extends TimeValue> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<DateFieldRenderProps>
className?: ClassNameOrFunction<DateFieldRenderProps> = 'react-aria-TimeField'
defaultValue?: TimeValue | null
form?: string
granularity?: 'hour' | 'minute' | 'second' = 'minute'
hideTimeZone?: boolean
hourCycle?: number | number
id?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
maxValue?: TimeValue | null
minValue?: TimeValue | null
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (MappedTimeValue<TimeValue> | null) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
placeholderValue?: TimeValue
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DateFieldRenderProps>
shouldForceLeadingZeros?: boolean
slot?: string | null
style?: StyleOrFunction<DateFieldRenderProps>
validate?: (MappedTimeValue<TimeValue>) => ValidationError | boolean | null | undefined
value?: TimeValue | null
}/react-aria-components:DatePicker DatePicker <T extends DateValue> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoComplete?: string
autoFocus?: boolean
children?: ChildrenOrFunction<DatePickerRenderProps>
className?: ClassNameOrFunction<DatePickerRenderProps> = 'react-aria-DatePicker'
defaultOpen?: boolean
defaultValue?: DateValue | null
firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
form?: string
granularity?: Granularity
hideTimeZone?: boolean = false
hourCycle?: number | number
id?: string
isDateUnavailable?: (DateValue) => boolean
isDisabled?: boolean
isInvalid?: boolean
isOpen?: boolean
isReadOnly?: boolean
isRequired?: boolean
isTriggerUpWhenOpen?: boolean
maxValue?: DateValue | null
minValue?: DateValue | null
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (MappedDateValue<DateValue> | null) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onOpenChange?: (boolean) => void
pageBehavior?: PageBehavior = visible
placeholderValue?: DateValue | null
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DatePickerRenderProps>
shouldCloseOnSelect?: boolean | () => boolean = true
shouldForceLeadingZeros?: boolean
slot?: string | null
style?: StyleOrFunction<DatePickerRenderProps>
validationBehavior?: 'native' | 'aria' = 'native'
value?: DateValue | null
}/react-aria-components:DateRangePicker DateRangePicker <T extends DateValue> {
allowsNonContiguousRanges?: boolean
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<DateRangePickerRenderProps>
className?: ClassNameOrFunction<DateRangePickerRenderProps> = 'react-aria-DateRangePicker'
defaultOpen?: boolean
defaultValue?: RangeValue<DateValue> | null
endName?: string
firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
form?: string
granularity?: Granularity
hideTimeZone?: boolean = false
hourCycle?: number | number
id?: string
isDateUnavailable?: (DateValue) => boolean
isDisabled?: boolean
isInvalid?: boolean
isOpen?: boolean
isReadOnly?: boolean
isRequired?: boolean
isTriggerUpWhenOpen?: boolean
maxValue?: DateValue | null
minValue?: DateValue | null
onBlur?: (FocusEvent<Target>) => void
onChange?: (RangeValue<MappedDateValue<DateValue>> | null) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onOpenChange?: (boolean) => void
pageBehavior?: PageBehavior = visible
placeholderValue?: DateValue | null
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DateRangePickerRenderProps>
shouldCloseOnSelect?: boolean | () => boolean = true
shouldForceLeadingZeros?: boolean
slot?: string | null
startName?: string
validate?: (RangeValue<MappedDateValue<DateValue>>) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
value?: RangeValue<DateValue> | null
}/react-aria-components:Dialog Dialog {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ReactNode | (DialogRenderProps) => ReactNode
className?: string = 'react-aria-Dialog'
id?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
role?: 'dialog' | 'alertdialog' = 'dialog'
slot?: string | null
style?: CSSProperties
}/react-aria-components:Disclosure Disclosure {
children?: ChildrenOrFunction<DisclosureRenderProps>
className?: ClassNameOrFunction<DisclosureRenderProps> = 'react-aria-Disclosure'
defaultExpanded?: boolean
id?: Key
isDisabled?: boolean
isExpanded?: boolean
onExpandedChange?: (boolean) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DisclosureRenderProps>
slot?: string | null
style?: StyleOrFunction<DisclosureRenderProps>
}/react-aria-components:DisclosureGroup DisclosureGroup {
allowsMultipleExpanded?: boolean
children?: ChildrenOrFunction<DisclosureGroupRenderProps>
className?: ClassNameOrFunction<DisclosureGroupRenderProps> = 'react-aria-DisclosureGroup'
defaultExpandedKeys?: Iterable<Key>
expandedKeys?: Iterable<Key>
id?: string
isDisabled?: boolean
onExpandedChange?: (Set<Key>) => any
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DisclosureGroupRenderProps>
style?: StyleOrFunction<DisclosureGroupRenderProps>
}/react-aria-components:DisclosurePanel DisclosurePanel {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children: ReactNode
className?: ClassNameOrFunction<DisclosurePanelRenderProps> = 'react-aria-DisclosurePanel'
id?: string
label?: ReactNode
labelElementType?: ElementType = 'label'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DisclosurePanelRenderProps>
role?: 'group' | 'region' = 'group'
style?: StyleOrFunction<DisclosurePanelRenderProps>
}/react-aria-components:DropZone DropZone {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<DropZoneRenderProps>
className?: ClassNameOrFunction<DropZoneRenderProps> = 'react-aria-DropZone'
getDropOperation?: (DragTypes, Array<DropOperation>) => DropOperation
isDisabled?: boolean
onDrop?: (DropEvent) => void
onDropActivate?: (DropActivateEvent) => void
onDropEnter?: (DropEnterEvent) => void
onDropExit?: (DropExitEvent) => void
onDropMove?: (DropMoveEvent) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DropZoneRenderProps>
slot?: string | null
style?: StyleOrFunction<DropZoneRenderProps>
}/react-aria-components:FieldError FieldError {
children?: ChildrenOrFunction<FieldErrorRenderProps>
className?: ClassNameOrFunction<FieldErrorRenderProps> = 'react-aria-FieldError'
id?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, FieldErrorRenderProps>
style?: StyleOrFunction<FieldErrorRenderProps>
}/react-aria-components:Form Form {
action?: string | FormHTMLAttributes<HTMLFormElement>['action']
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoCapitalize?: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'
autoComplete?: 'off' | 'on'
children?: ReactNode
className?: string = 'react-aria-Form'
encType?: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain'
id?: string
method?: 'get' | 'post' | 'dialog'
onInvalid?: (FormEvent<HTMLFormElement>) => void
onReset?: (FormEvent<HTMLFormElement>) => void
onSubmit?: (FormEvent<HTMLFormElement>) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
role?: 'search' | 'presentation'
style?: CSSProperties
target?: '_blank' | '_self' | '_parent' | '_top'
validationBehavior?: 'aria' | 'native' = 'native'
}/react-aria-components:GridListLoadMoreItem GridListLoadMoreItem {
children?: ReactNode
className?: string = 'react-aria-GridListLoadMoreItem'
isLoading?: boolean
onLoadMore?: () => any
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
scrollOffset?: number = 1
style?: CSSProperties
}/react-aria-components:GridList GridList <T extends {}> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean | FocusStrategy
children?: ReactNode | ({}) => ReactNode
className?: ClassNameOrFunction<GridListRenderProps> = 'react-aria-GridList'
defaultSelectedKeys?: 'all' | Iterable<Key>
dependencies?: ReadonlyArray<any>
disabledBehavior?: DisabledBehavior = "all"
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
disallowTypeAhead?: boolean = false
dragAndDropHooks?: DragAndDropHooks<NoInfer<{}>>
escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
id?: string
items?: Iterable<T>
keyboardNavigationBehavior?: 'arrow' | 'tab' = 'arrow'
layout?: 'stack' | 'grid' = 'stack'
onAction?: (Key) => void
onSelectionChange?: (Selection) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, GridListRenderProps>
renderEmptyState?: (GridListRenderProps) => ReactNode
selectedKeys?: 'all' | Iterable<Key>
selectionBehavior?: SelectionBehavior = "toggle"
selectionMode?: SelectionMode
slot?: string | null
style?: StyleOrFunction<GridListRenderProps>
}/react-aria-components:GridListItem GridListItem <T extends {}> {
children?: ChildrenOrFunction<GridListItemRenderProps>
className?: ClassNameOrFunction<GridListItemRenderProps> = 'react-aria-GridListItem'
download?: boolean | string
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onAction?: () => void
onClick?: (MouseEvent<FocusableElement>) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, GridListItemRenderProps>
routerOptions?: RouterOptions
style?: StyleOrFunction<GridListItemRenderProps>
target?: HTMLAttributeAnchorTarget
textValue?: string
}/react-aria-components:GridListHeader GridListHeader {
- UNTYPED
+ children?: ReactNode
+ className?: string
+ id?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
+ style?: CSSProperties
}/react-aria-components:GridListSection GridListSection <T extends {}> {
aria-label?: string
children?: ReactNode | ({}) => ReactElement
className?: string = 'react-aria-GridListSection'
dependencies?: ReadonlyArray<any>
id?: Key
items?: Iterable<{}>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
value?: {}
}/react-aria-components:Group Group extends HTMLAttributes {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<GroupRenderProps>
className?: ClassNameOrFunction<GroupRenderProps> = 'react-aria-Group'
id?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, GroupRenderProps>
role?: 'group' | 'region' | 'presentation' = 'group'
slot?: string | null
style?: StyleOrFunction<GroupRenderProps>
}/react-aria-components:Header-Header {
+Header extends HTMLAttributes {
- UNTYPED
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
}/react-aria-components:Heading Heading extends HTMLAttributes {
level?: number
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
}/react-aria-components:Input Input extends InputHTMLAttributes {
className?: ClassNameOrFunction<InputRenderProps> = 'react-aria-Input'
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
placeholder?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, InputRenderProps>
style?: StyleOrFunction<InputRenderProps>
}/react-aria-components:Label Label extends LabelHTMLAttributes {
elementType?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
}/react-aria-components:Link Link {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
- children?: ChildrenOrFunction<LinkRenderProps>
+ children?: ChildrenOrFunction<T>
className?: ClassNameOrFunction<LinkRenderProps> = 'react-aria-Link'
download?: boolean | string
href?: Href
hrefLang?: string
id?: string
isDisabled?: boolean
onBlur?: (FocusEvent<Target>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: (DetailedHTMLProps<LinkWithRequiredHref, HTMLAnchorElement> | React.JSX.IntrinsicElements[keyof React.JSX.IntrinsicElements], LinkRenderProps) => ReactElement
routerOptions?: RouterOptions
slot?: string | null
- style?: StyleOrFunction<LinkRenderProps>
+ style?: StyleOrFunction<T>
target?: HTMLAttributeAnchorTarget
}/react-aria-components:ListBoxLoadMoreItem ListBoxLoadMoreItem {
children?: ReactNode
className?: string = 'react-aria-ListBoxLoadMoreItem'
isLoading?: boolean
onLoadMore?: () => any
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
scrollOffset?: number = 1
style?: CSSProperties
}/react-aria-components:ListBox ListBox <T extends {}> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean | FocusStrategy
children?: ReactNode | ({}) => ReactNode
className?: ClassNameOrFunction<ListBoxRenderProps> = 'react-aria-ListBox'
defaultSelectedKeys?: 'all' | Iterable<Key>
dependencies?: ReadonlyArray<any>
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
dragAndDropHooks?: DragAndDropHooks<NoInfer<{}>>
escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
id?: string
items?: Iterable<T>
layout?: 'stack' | 'grid' = 'stack'
onAction?: (Key) => void
onBlur?: (FocusEvent<Target>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onSelectionChange?: (Selection) => void
orientation?: Orientation = 'vertical'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ListBoxRenderProps>
renderEmptyState?: (ListBoxRenderProps) => ReactNode
selectedKeys?: 'all' | Iterable<Key>
selectionBehavior?: SelectionBehavior = "toggle"
selectionMode?: SelectionMode
shouldFocusWrap?: boolean
shouldSelectOnPressUp?: boolean
slot?: string | null
style?: StyleOrFunction<ListBoxRenderProps>
}/react-aria-components:ListBoxItem ListBoxItem <T extends {}> {
aria-label?: string
- children?: ChildrenOrFunction<ListBoxItemRenderProps>
+ children?: ChildrenOrFunction<T>
className?: ClassNameOrFunction<ListBoxItemRenderProps> = 'react-aria-ListBoxItem'
download?: boolean | string
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onAction?: () => void
onBlur?: (FocusEvent<HTMLDivElement>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<HTMLDivElement>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: (DetailedHTMLProps<LinkWithRequiredHref, HTMLAnchorElement> | React.JSX.IntrinsicElements[keyof React.JSX.IntrinsicElements], ListBoxItemRenderProps) => ReactElement
routerOptions?: RouterOptions
- style?: StyleOrFunction<ListBoxItemRenderProps>
+ style?: StyleOrFunction<T>
target?: HTMLAttributeAnchorTarget
textValue?: string
value?: {}
}/react-aria-components:ListBoxSection ListBoxSection <T extends {}> {
aria-label?: string
children?: ReactNode | ({}) => ReactElement
className?: string = 'react-aria-ListBoxSection'
dependencies?: ReadonlyArray<any>
id?: Key
items?: Iterable<{}>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
value?: {}
}/react-aria-components:Menu Menu <T extends {}> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean | FocusStrategy
children?: ReactNode | ({}) => ReactNode
className?: ClassNameOrFunction<MenuRenderProps> = 'react-aria-Menu'
defaultSelectedKeys?: 'all' | Iterable<Key>
dependencies?: ReadonlyArray<any>
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
id?: string
items?: Iterable<T>
onAction?: (Key) => void
onClose?: () => void
onSelectionChange?: (Selection) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, MenuRenderProps>
renderEmptyState?: () => ReactNode
selectedKeys?: 'all' | Iterable<Key>
selectionMode?: SelectionMode
shouldCloseOnSelect?: boolean
slot?: string | null
style?: StyleOrFunction<MenuRenderProps>
}/react-aria-components:MenuItem MenuItem <T extends {}> {
aria-label?: string
- children?: ChildrenOrFunction<MenuItemRenderProps>
+ children?: ChildrenOrFunction<T>
className?: ClassNameOrFunction<MenuItemRenderProps> = 'react-aria-MenuItem'
download?: boolean | string
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onAction?: () => void
onBlur?: (FocusEvent<Target>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: (DetailedHTMLProps<LinkWithRequiredHref, HTMLAnchorElement> | React.JSX.IntrinsicElements[keyof React.JSX.IntrinsicElements], MenuItemRenderProps) => ReactElement
routerOptions?: RouterOptions
shouldCloseOnSelect?: boolean
- style?: StyleOrFunction<MenuItemRenderProps>
+ style?: StyleOrFunction<T>
target?: HTMLAttributeAnchorTarget
textValue?: string
value?: {}
}/react-aria-components:MenuSection MenuSection <T extends {}> {
aria-label?: string
children?: ReactNode | ({}) => ReactElement
className?: string = 'react-aria-MenuSection'
defaultSelectedKeys?: 'all' | Iterable<Key>
dependencies?: ReadonlyArray<any>
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
id?: Key
items?: Iterable<{}>
onSelectionChange?: (Selection) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
selectedKeys?: 'all' | Iterable<Key>
selectionMode?: SelectionMode
shouldCloseOnSelect?: boolean
style?: CSSProperties
}/react-aria-components:Meter Meter {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<MeterRenderProps>
className?: ClassNameOrFunction<MeterRenderProps> = 'react-aria-Meter'
formatOptions?: Intl.NumberFormatOptions = {style: 'percent'}
id?: string
maxValue?: number = 100
minValue?: number = 0
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, MeterRenderProps>
slot?: string | null
style?: StyleOrFunction<MeterRenderProps>
value?: number = 0
valueLabel?: ReactNode/react-aria-components:Modal Modal {
children?: ChildrenOrFunction<ModalRenderProps>
className?: ClassNameOrFunction<ModalRenderProps> = 'react-aria-ModalOverlay'
defaultOpen?: boolean
isDismissable?: boolean = false
isEntering?: boolean
isExiting?: boolean
isKeyboardDismissDisabled?: boolean = false
isOpen?: boolean
onOpenChange?: (boolean) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ModalRenderProps>
shouldCloseOnInteractOutside?: (Element) => boolean
slot?: string | null
style?: StyleOrFunction<ModalRenderProps>
}/react-aria-components:ModalOverlay ModalOverlay {
children?: ChildrenOrFunction<ModalRenderProps>
className?: ClassNameOrFunction<ModalRenderProps> = 'react-aria-ModalOverlay'
defaultOpen?: boolean
isDismissable?: boolean = false
isEntering?: boolean
isExiting?: boolean
isKeyboardDismissDisabled?: boolean = false
isOpen?: boolean
onOpenChange?: (boolean) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ModalRenderProps>
shouldCloseOnInteractOutside?: (Element) => boolean
slot?: string | null
style?: StyleOrFunction<ModalRenderProps>
}/react-aria-components:NumberField NumberField {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<NumberFieldRenderProps>
className?: ClassNameOrFunction<NumberFieldRenderProps> = 'react-aria-NumberField'
decrementAriaLabel?: string
defaultValue?: number
form?: string
formatOptions?: Intl.NumberFormatOptions
id?: string
incrementAriaLabel?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
isWheelDisabled?: boolean
maxValue?: number
minValue?: number
name?: string
onBeforeInput?: FormEventHandler<HTMLInputElement>
onBlur?: (FocusEvent<Target>) => void
onChange?: (T) => void
onCompositionEnd?: CompositionEventHandler<HTMLInputElement>
onCompositionStart?: CompositionEventHandler<HTMLInputElement>
onCompositionUpdate?: CompositionEventHandler<HTMLInputElement>
onCopy?: ClipboardEventHandler<HTMLInputElement>
onCut?: ClipboardEventHandler<HTMLInputElement>
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onInput?: FormEventHandler<HTMLInputElement>
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPaste?: ClipboardEventHandler<HTMLInputElement>
onSelect?: ReactEventHandler<HTMLInputElement>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, NumberFieldRenderProps>
slot?: string | null
step?: number
style?: StyleOrFunction<NumberFieldRenderProps>
validate?: (number) => ValidationError | boolean | null | undefined
value?: number
}/react-aria-components:OverlayArrow OverlayArrow extends HTMLAttributes {
children?: ChildrenOrFunction<OverlayArrowRenderProps>
className?: ClassNameOrFunction<OverlayArrowRenderProps> = 'react-aria-OverlayArrow'
id?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, OverlayArrowRenderProps>
style?: StyleOrFunction<OverlayArrowRenderProps>
}/react-aria-components:Popover Popover {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
arrowBoundaryOffset?: number = 0
arrowRef?: RefObject<Element | null>
boundaryElement?: Element = document.body
children?: ChildrenOrFunction<PopoverRenderProps>
className?: ClassNameOrFunction<PopoverRenderProps> = 'react-aria-Popover'
containerPadding?: number = 12
crossOffset?: number = 0
defaultOpen?: boolean
isEntering?: boolean
isExiting?: boolean
isKeyboardDismissDisabled?: boolean = false
isNonModal?: boolean
isOpen?: boolean
maxHeight?: number
offset?: number = 8
onOpenChange?: (boolean) => void
placement?: Placement = 'bottom'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, PopoverRenderProps>
scrollRef?: RefObject<Element | null> = overlayRef
shouldCloseOnInteractOutside?: (Element) => boolean
shouldFlip?: boolean = true
shouldUpdatePosition?: boolean = true
style?: StyleOrFunction<PopoverRenderProps>
trigger?: string
triggerRef?: RefObject<Element | null>
}/react-aria-components:ProgressBar ProgressBar {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<ProgressBarRenderProps>
className?: ClassNameOrFunction<ProgressBarRenderProps> = 'react-aria-ProgressBar'
formatOptions?: Intl.NumberFormatOptions = {style: 'percent'}
id?: string
isIndeterminate?: boolean
maxValue?: number = 100
minValue?: number = 0
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ProgressBarRenderProps>
slot?: string | null
style?: StyleOrFunction<ProgressBarRenderProps>
value?: number = 0
valueLabel?: ReactNode/react-aria-components:RadioGroup RadioGroup {
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<RadioGroupRenderProps>
className?: ClassNameOrFunction<RadioGroupRenderProps> = 'react-aria-RadioGroup'
defaultValue?: string | null
form?: string
id?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (string) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
orientation?: Orientation = 'vertical'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, RadioGroupRenderProps>
slot?: string | null
style?: StyleOrFunction<RadioGroupRenderProps>
validate?: (string) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
}/react-aria-components:Radio Radio {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<RadioRenderProps>
className?: ClassNameOrFunction<RadioRenderProps> = 'react-aria-Radio'
id?: string
inputRef?: RefObject<HTMLInputElement | null>
isDisabled?: boolean
onBlur?: (FocusEvent<Target>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, RadioRenderProps>
slot?: string | null
style?: StyleOrFunction<RadioRenderProps>
value: string
}/react-aria-components:SearchField SearchField {
aria-activedescendant?: string
aria-autocomplete?: 'none' | 'inline' | 'list' | 'both'
aria-controls?: string
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-haspopup?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'
aria-label?: string
aria-labelledby?: string
autoComplete?: string
autoCorrect?: string
autoFocus?: boolean
children?: ChildrenOrFunction<SearchFieldRenderProps>
className?: ClassNameOrFunction<SearchFieldRenderProps> = 'react-aria-SearchField'
defaultValue?: string
enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'
excludeFromTabOrder?: boolean
form?: string
id?: string
inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
maxLength?: number
minLength?: number
name?: string
onBeforeInput?: FormEventHandler<HTMLInputElement>
onBlur?: (FocusEvent<T>) => void
onChange?: (T) => void
onClear?: () => void
onCompositionEnd?: CompositionEventHandler<HTMLInputElement>
onCompositionStart?: CompositionEventHandler<HTMLInputElement>
onCompositionUpdate?: CompositionEventHandler<HTMLInputElement>
onCopy?: ClipboardEventHandler<HTMLInputElement>
onCut?: ClipboardEventHandler<HTMLInputElement>
onFocus?: (FocusEvent<T>) => void
onFocusChange?: (boolean) => void
onInput?: FormEventHandler<HTMLInputElement>
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPaste?: ClipboardEventHandler<HTMLInputElement>
onSelect?: ReactEventHandler<HTMLInputElement>
onSubmit?: (string) => void
pattern?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SearchFieldRenderProps>
slot?: string | null
spellCheck?: string
style?: StyleOrFunction<SearchFieldRenderProps>
type?: 'text' | 'search' | 'url' | 'tel' | 'email' | 'password' | (string & {
}) = 'search'
validate?: (string) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
value?: string
}/react-aria-components:Select Select <M extends SelectionMode = 'single', T extends {} = {
}> {
allowsEmptyCollection?: boolean
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoComplete?: string
autoFocus?: boolean
children?: ChildrenOrFunction<SelectRenderProps>
className?: ClassNameOrFunction<SelectRenderProps> = 'react-aria-Select'
defaultOpen?: boolean
defaultValue?: ValueType<SelectionMode>
disabledKeys?: Iterable<Key>
excludeFromTabOrder?: boolean
form?: string
id?: string
isDisabled?: boolean
isInvalid?: boolean
isOpen?: boolean
isRequired?: boolean
isTriggerUpWhenOpen?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (ChangeValueType<SelectionMode>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onOpenChange?: (boolean) => void
placeholder?: string = 'Select an item' (localized)
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SelectRenderProps>
selectionMode?: SelectionMode = 'single'
slot?: string | null
style?: StyleOrFunction<SelectRenderProps>
validate?: (ValidationType<SelectionMode>) => ValidationError | boolean | null | undefined
value?: ValueType<SelectionMode>
}/react-aria-components:SelectValue SelectValue <T extends {}> extends HTMLAttributes {
children?: ChildrenOrFunction<SelectValueRenderProps<{}>>
className?: ClassNameOrFunction<SelectValueRenderProps<{}>> = 'react-aria-SelectValue'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SelectValueRenderProps<{}>>
style?: StyleOrFunction<SelectValueRenderProps<{}>>
}/react-aria-components:SelectionIndicator SelectionIndicator {
children?: ChildrenOrFunction<SharedElementRenderProps>
className?: ClassNameOrFunction<SharedElementRenderProps> = 'react-aria-SelectionIndicator'
isSelected?: boolean
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SharedElementRenderProps>
style?: StyleOrFunction<SharedElementRenderProps>
}/react-aria-components:Separator Separator {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
className?: string = 'react-aria-Separator'
elementType?: string
id?: string
orientation?: Orientation = 'horizontal'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
slot?: string | null
style?: CSSProperties
}/react-aria-components:SharedElement SharedElement {
children?: ChildrenOrFunction<SharedElementRenderProps>
className?: ClassNameOrFunction<SharedElementRenderProps>
isVisible?: boolean
name: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SharedElementRenderProps>
style?: StyleOrFunction<SharedElementRenderProps>
}/react-aria-components:Slider Slider <T extends number | Array<number>> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<SliderRenderProps>
className?: ClassNameOrFunction<SliderRenderProps> = 'react-aria-Slider'
defaultValue?: T
formatOptions?: Intl.NumberFormatOptions
id?: string
isDisabled?: boolean
maxValue?: number = 100
minValue?: number = 0
onChange?: (T) => void
onChangeEnd?: (T) => void
orientation?: Orientation = 'horizontal'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SliderRenderProps>
slot?: string | null
step?: number = 1
style?: StyleOrFunction<SliderRenderProps>
value?: T/react-aria-components:SliderOutput SliderOutput {
children?: ChildrenOrFunction<SliderRenderProps>
className?: ClassNameOrFunction<SliderRenderProps> = 'react-aria-SliderOutput'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SliderRenderProps>
style?: StyleOrFunction<SliderRenderProps>
}/react-aria-components:SliderTrack SliderTrack {
children?: ChildrenOrFunction<SliderTrackRenderProps>
className?: ClassNameOrFunction<SliderTrackRenderProps> = 'react-aria-SliderTrack'
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SliderTrackRenderProps>
style?: StyleOrFunction<SliderTrackRenderProps>
}/react-aria-components:SliderThumb SliderThumb {
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<SliderThumbRenderProps>
className?: ClassNameOrFunction<SliderThumbRenderProps> = 'react-aria-SliderThumb'
form?: string
id?: string
index?: number = 0
inputRef?: RefObject<HTMLInputElement | null>
isDisabled?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SliderThumbRenderProps>
style?: StyleOrFunction<SliderThumbRenderProps>
}/react-aria-components:Switch Switch {
aria-controls?: string
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<SwitchRenderProps>
className?: ClassNameOrFunction<SwitchRenderProps> = 'react-aria-Switch'
defaultSelected?: boolean
excludeFromTabOrder?: boolean
form?: string
id?: string
inputRef?: RefObject<HTMLInputElement | null>
isDisabled?: boolean
isReadOnly?: boolean
isSelected?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (boolean) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SwitchRenderProps>
slot?: string | null
style?: StyleOrFunction<SwitchRenderProps>
value?: string
}/react-aria-components:TableLoadMoreItem TableLoadMoreItem {
children?: ReactNode
className?: string = 'react-aria-TableLoadMoreItem'
isLoading?: boolean
onLoadMore?: () => any
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
scrollOffset?: number = 1
style?: CSSProperties
}/react-aria-components:Table Table {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ReactNode
className?: ClassNameOrFunction<TableRenderProps> = 'react-aria-Table'
defaultSelectedKeys?: 'all' | Iterable<Key>
disabledBehavior?: DisabledBehavior = "all"
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
dragAndDropHooks?: DragAndDropHooks
escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
onRowAction?: (Key) => void
onSelectionChange?: (Selection) => void
onSortChange?: (SortDescriptor) => any
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TableRenderProps>
selectedKeys?: 'all' | Iterable<Key>
selectionBehavior?: SelectionBehavior = "toggle"
selectionMode?: SelectionMode
shouldSelectOnPressUp?: boolean
sortDescriptor?: SortDescriptor
style?: StyleOrFunction<TableRenderProps>
}/react-aria-components:Row Row <T extends {}> {
children?: ReactNode | ({}) => ReactElement
className?: ClassNameOrFunction<RowRenderProps> = 'react-aria-Row'
columns?: Iterable<{}>
dependencies?: ReadonlyArray<any>
download?: boolean | string
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onAction?: () => void
onClick?: (MouseEvent<FocusableElement>) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, RowRenderProps>
routerOptions?: RouterOptions
style?: StyleOrFunction<RowRenderProps>
target?: HTMLAttributeAnchorTarget
textValue?: string
}/react-aria-components:Cell Cell {
children?: ChildrenOrFunction<CellRenderProps>
className?: ClassNameOrFunction<CellRenderProps> = 'react-aria-Cell'
colSpan?: number
id?: Key
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, CellRenderProps>
style?: StyleOrFunction<CellRenderProps>
textValue?: string
}/react-aria-components:Column Column {
allowsSorting?: boolean
children?: ChildrenOrFunction<ColumnRenderProps>
className?: ClassNameOrFunction<ColumnRenderProps> = 'react-aria-Column'
defaultWidth?: ColumnSize | null
id?: Key
isRowHeader?: boolean
maxWidth?: ColumnStaticSize | null
minWidth?: ColumnStaticSize | null
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColumnRenderProps>
style?: StyleOrFunction<ColumnRenderProps>
textValue?: string
width?: ColumnSize | null
}/react-aria-components:ColumnResizer ColumnResizer {
aria-label?: string
children?: ChildrenOrFunction<ColumnResizerRenderProps>
className?: ClassNameOrFunction<ColumnResizerRenderProps> = 'react-aria-ColumnResizer'
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColumnResizerRenderProps>
style?: StyleOrFunction<ColumnResizerRenderProps>
}/react-aria-components:TableHeader TableHeader <T extends {}> {
children?: ReactNode | ({}) => ReactElement
className?: ClassNameOrFunction<TableHeaderRenderProps> = 'react-aria-TableHeader'
columns?: Iterable<{}>
dependencies?: ReadonlyArray<any>
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TableHeaderRenderProps>
style?: StyleOrFunction<TableHeaderRenderProps>
}/react-aria-components:TableBody TableBody <T extends {}> {
children?: ReactNode | (T) => ReactNode
className?: ClassNameOrFunction<TableBodyRenderProps> = 'react-aria-TableBody'
dependencies?: ReadonlyArray<any>
items?: Iterable<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TableBodyRenderProps>
renderEmptyState?: (TableBodyRenderProps) => ReactNode
style?: StyleOrFunction<TableBodyRenderProps>
}/react-aria-components:ResizableTableContainer ResizableTableContainer {
children?: ReactNode
className?: string = 'react-aria-ResizableTableContainer'
id?: string
onResize?: (Map<Key, ColumnSize>) => void
onResizeEnd?: (Map<Key, ColumnSize>) => void
onResizeStart?: (Map<Key, ColumnSize>) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
}/react-aria-components:Tabs Tabs {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<TabsRenderProps>
className?: ClassNameOrFunction<TabsRenderProps> = 'react-aria-Tabs'
defaultSelectedKey?: Key
disabledKeys?: Iterable<Key>
id?: string
isDisabled?: boolean
keyboardActivation?: 'automatic' | 'manual' = 'automatic'
onSelectionChange?: (Key) => void
orientation?: Orientation = 'horizontal'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TabsRenderProps>
selectedKey?: Key | null
slot?: string | null
style?: StyleOrFunction<TabsRenderProps>
}/react-aria-components:TabList TabList <T extends {}> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ReactNode | (T) => ReactNode
className?: ClassNameOrFunction<TabListRenderProps> = 'react-aria-TabList'
dependencies?: ReadonlyArray<any>
items?: Iterable<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TabListRenderProps>
style?: StyleOrFunction<TabListRenderProps>
}/react-aria-components:TabPanels TabPanels <T extends {}> {
children?: ReactNode | (T) => ReactNode
className?: string = 'react-aria-TabPanels'
dependencies?: ReadonlyArray<any>
items?: Iterable<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
}/react-aria-components:TabPanel TabPanel {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<TabPanelRenderProps>
className?: ClassNameOrFunction<TabPanelRenderProps> = 'react-aria-TabPanel'
id?: Key
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TabPanelRenderProps>
shouldForceMount?: boolean = false
style?: StyleOrFunction<TabPanelRenderProps>
}/react-aria-components:Tab Tab {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
- children?: ChildrenOrFunction<TabRenderProps>
+ children?: ChildrenOrFunction<T>
className?: ClassNameOrFunction<TabRenderProps> = 'react-aria-Tab'
download?: boolean | string
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onBlur?: (FocusEvent<Target>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: (DetailedHTMLProps<LinkWithRequiredHref, HTMLAnchorElement> | React.JSX.IntrinsicElements[keyof React.JSX.IntrinsicElements], TabRenderProps) => ReactElement
routerOptions?: RouterOptions
- style?: StyleOrFunction<TabRenderProps>
+ style?: StyleOrFunction<T>
target?: HTMLAttributeAnchorTarget
}/react-aria-components:TagGroup TagGroup {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ReactNode
className?: string = 'react-aria-TagGroup'
defaultSelectedKeys?: 'all' | Iterable<Key>
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
id?: string
onRemove?: (Set<Key>) => void
onSelectionChange?: (Selection) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
selectedKeys?: 'all' | Iterable<Key>
selectionBehavior?: SelectionBehavior
selectionMode?: SelectionMode
shouldSelectOnPressUp?: boolean
style?: CSSProperties
}/react-aria-components:TagList TagList <T extends {}> {
children?: ReactNode | (T) => ReactNode
className?: ClassNameOrFunction<TagListRenderProps> = 'react-aria-TagList'
dependencies?: ReadonlyArray<any>
items?: Iterable<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TagListRenderProps>
renderEmptyState?: (TagListRenderProps) => ReactNode
style?: StyleOrFunction<TagListRenderProps>
}/react-aria-components:Tag Tag {
children?: ChildrenOrFunction<TagRenderProps>
className?: ClassNameOrFunction<TagRenderProps> = 'react-aria-Tag'
download?: boolean | string
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onBlur?: (FocusEvent<Target>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TagRenderProps>
routerOptions?: RouterOptions
style?: StyleOrFunction<TagRenderProps>
target?: HTMLAttributeAnchorTarget
textValue?: string/react-aria-components:Text Text extends HTMLAttributes {
elementType?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, any>
}/react-aria-components:TextArea TextArea extends TextareaHTMLAttributes {
className?: ClassNameOrFunction<InputRenderProps> = 'react-aria-TextArea'
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, InputRenderProps>
style?: StyleOrFunction<InputRenderProps>
}/react-aria-components:TextField TextField {
aria-activedescendant?: string
aria-autocomplete?: 'none' | 'inline' | 'list' | 'both'
aria-controls?: string
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-haspopup?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'
aria-label?: string
aria-labelledby?: string
autoComplete?: string
autoCorrect?: string
autoFocus?: boolean
children?: ChildrenOrFunction<TextFieldRenderProps>
className?: ClassNameOrFunction<TextFieldRenderProps> = 'react-aria-TextField'
defaultValue?: string
enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'
excludeFromTabOrder?: boolean
form?: string
id?: string
inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
maxLength?: number
minLength?: number
name?: string
onBeforeInput?: FormEventHandler<HTMLInputElement>
onBlur?: (FocusEvent<T>) => void
onChange?: (T) => void
onCompositionEnd?: CompositionEventHandler<HTMLInputElement>
onCompositionStart?: CompositionEventHandler<HTMLInputElement>
onCompositionUpdate?: CompositionEventHandler<HTMLInputElement>
onCopy?: ClipboardEventHandler<HTMLInputElement>
onCut?: ClipboardEventHandler<HTMLInputElement>
onFocus?: (FocusEvent<T>) => void
onFocusChange?: (boolean) => void
onInput?: FormEventHandler<HTMLInputElement>
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPaste?: ClipboardEventHandler<HTMLInputElement>
onSelect?: ReactEventHandler<HTMLInputElement>
pattern?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TextFieldRenderProps>
slot?: string | null
spellCheck?: string
style?: StyleOrFunction<TextFieldRenderProps>
type?: 'text' | 'search' | 'url' | 'tel' | 'email' | 'password' | (string & {
}) = 'text'
validate?: (string) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
value?: string
}/react-aria-components:UNSTABLE_Toast UNSTABLE_Toast <T> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<ToastRenderProps<T>>
className?: ClassNameOrFunction<ToastRenderProps<T>> = 'react-aria-Toast'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ToastRenderProps<T>>
style?: StyleOrFunction<ToastRenderProps<T>>
toast: QueuedToast<T>
}/react-aria-components:UNSTABLE_ToastList UNSTABLE_ToastList <T> {
aria-describedby?: string
aria-details?: string
aria-label?: string = "Notifications"
aria-labelledby?: string
children: ({
toast: QueuedToast<T>
}) => ReactElement
className?: ClassNameOrFunction<ToastRegionRenderProps<T>> = 'react-aria-ToastRegion'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ToastRegionRenderProps<T>>
style?: StyleOrFunction<ToastRegionRenderProps<T>>
}/react-aria-components:UNSTABLE_ToastRegion UNSTABLE_ToastRegion <T> {
aria-describedby?: string
aria-details?: string
aria-label?: string = "Notifications"
aria-labelledby?: string
children: ReactNode | ({
toast: QueuedToast<T>
}) => ReactElement
className?: ClassNameOrFunction<ToastRegionRenderProps<T>> = 'react-aria-ToastRegion'
queue: ToastQueue<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ToastRegionRenderProps<T>>
style?: StyleOrFunction<ToastRegionRenderProps<T>>
}/react-aria-components:UNSTABLE_ToastContent-UNSTABLE_ToastContent {
+UNSTABLE_ToastContent extends HTMLAttributes {
- UNTYPED
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
}/react-aria-components:ToggleButton ToggleButton {
aria-controls?: string
aria-describedby?: string
aria-details?: string
aria-disabled?: boolean | 'true' | 'false'
aria-expanded?: boolean | 'true' | 'false'
aria-haspopup?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | 'true' | 'false'
aria-label?: string
aria-labelledby?: string
aria-pressed?: boolean | 'true' | 'false' | 'mixed'
autoFocus?: boolean
children?: ChildrenOrFunction<ToggleButtonRenderProps>
className?: ClassNameOrFunction<ToggleButtonRenderProps> = 'react-aria-ToggleButton'
defaultSelected?: boolean
excludeFromTabOrder?: boolean
id?: Key
isDisabled?: boolean
isSelected?: boolean
onBlur?: (FocusEvent<Target>) => void
onChange?: (boolean) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
preventFocusOnPress?: boolean
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ToggleButtonRenderProps>
slot?: string | null
style?: StyleOrFunction<ToggleButtonRenderProps>
}/react-aria-components:ToggleButtonGroup ToggleButtonGroup {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<ToggleButtonGroupRenderProps>
className?: ClassNameOrFunction<ToggleButtonGroupRenderProps> = 'react-aria-ToggleButtonGroup'
defaultSelectedKeys?: Iterable<Key>
disallowEmptySelection?: boolean
isDisabled?: boolean
onSelectionChange?: (Set<Key>) => void
orientation?: Orientation = 'horizontal'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ToggleButtonGroupRenderProps>
selectedKeys?: Iterable<Key>
selectionMode?: 'single' | 'multiple' = 'single'
slot?: string | null
style?: StyleOrFunction<ToggleButtonGroupRenderProps>/react-aria-components:Toolbar Toolbar {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<ToolbarRenderProps>
className?: ClassNameOrFunction<ToolbarRenderProps> = 'react-aria-Toolbar'
orientation?: Orientation = 'horizontal'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ToolbarRenderProps>
slot?: string | null
style?: StyleOrFunction<ToolbarRenderProps>
}/react-aria-components:Tooltip Tooltip {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
arrowBoundaryOffset?: number = 0
children?: ChildrenOrFunction<TooltipRenderProps>
className?: ClassNameOrFunction<TooltipRenderProps> = 'react-aria-Tooltip'
containerPadding?: number = 12
crossOffset?: number = 0
defaultOpen?: boolean
isEntering?: boolean
isExiting?: boolean
isOpen?: boolean
offset?: number = 0
onOpenChange?: (boolean) => void
placement?: Placement = 'top'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TooltipRenderProps>
shouldFlip?: boolean = true
style?: StyleOrFunction<TooltipRenderProps>
triggerRef?: RefObject<Element | null>
}/react-aria-components:TreeLoadMoreItem TreeLoadMoreItem <T extends {}> {
children?: ChildrenOrFunction<TreeLoadMoreItemRenderProps>
className?: ClassNameOrFunction<TreeLoadMoreItemRenderProps> = 'react-aria-TreeLoadMoreItem'
isLoading?: boolean
onLoadMore?: () => any
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TreeLoadMoreItemRenderProps>
scrollOffset?: number = 1
style?: StyleOrFunction<TreeLoadMoreItemRenderProps>
}/react-aria-components:Tree Tree <T extends {}> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean | FocusStrategy
children?: ReactNode | ({}) => ReactNode
className?: ClassNameOrFunction<TreeRenderProps> = 'react-aria-Tree'
defaultExpandedKeys?: Iterable<Key>
defaultSelectedKeys?: 'all' | Iterable<Key>
dependencies?: ReadonlyArray<any>
disabledBehavior?: DisabledBehavior = 'all'
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
dragAndDropHooks?: DragAndDropHooks<NoInfer<{}>>
escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
expandedKeys?: Iterable<Key>
id?: string
items?: Iterable<T>
onAction?: (Key) => void
onExpandedChange?: (Set<Key>) => any
onSelectionChange?: (Selection) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TreeRenderProps>
renderEmptyState?: (TreeEmptyStateRenderProps) => ReactNode
selectedKeys?: 'all' | Iterable<Key>
selectionBehavior?: SelectionBehavior = "toggle"
selectionMode?: SelectionMode
slot?: string | null
style?: StyleOrFunction<TreeRenderProps>
}/react-aria-components:TreeItem TreeItem <T extends {}> {
aria-label?: string
children: ReactNode
className?: ClassNameOrFunction<TreeItemRenderProps> = 'react-aria-TreeItem'
download?: boolean | string
hasChildItems?: boolean
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onAction?: () => void
onClick?: (MouseEvent<FocusableElement>) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TreeItemRenderProps>
routerOptions?: RouterOptions
style?: StyleOrFunction<TreeItemRenderProps>
target?: HTMLAttributeAnchorTarget
textValue: string
}/react-aria-components:DropIndicator DropIndicator {
children?: ChildrenOrFunction<DropIndicatorRenderProps>
className?: ClassNameOrFunction<DropIndicatorRenderProps> = 'react-aria-DropIndicator'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DropIndicatorRenderProps>
style?: StyleOrFunction<DropIndicatorRenderProps>
target: DropTarget
}/react-aria-components:BreadcrumbsProps BreadcrumbsProps <T> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ReactNode | (T) => ReactNode
className?: string = 'react-aria-Breadcrumbs'
dependencies?: ReadonlyArray<any>
id?: string
isDisabled?: boolean
items?: Iterable<T>
onAction?: (Key) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
slot?: string | null
style?: CSSProperties
}/react-aria-components:BreadcrumbProps BreadcrumbProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<BreadcrumbRenderProps>
className?: ClassNameOrFunction<BreadcrumbRenderProps> = 'react-aria-Breadcrumb'
id?: Key
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, BreadcrumbRenderProps>
style?: StyleOrFunction<BreadcrumbRenderProps>
}/react-aria-components:ButtonProps ButtonProps {
aria-controls?: string
aria-current?: boolean | 'true' | 'false' | 'page' | 'step' | 'location' | 'date' | 'time'
aria-describedby?: string
aria-details?: string
aria-disabled?: boolean | 'true' | 'false'
aria-expanded?: boolean | 'true' | 'false'
aria-haspopup?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | 'true' | 'false'
aria-label?: string
aria-labelledby?: string
aria-pressed?: boolean | 'true' | 'false' | 'mixed'
autoFocus?: boolean
children?: ChildrenOrFunction<ButtonRenderProps>
className?: ClassNameOrFunction<ButtonRenderProps> = 'react-aria-Button'
excludeFromTabOrder?: boolean
form?: string
formAction?: ButtonHTMLAttributes<HTMLButtonElement>['formAction']
formEncType?: string
formMethod?: string
formNoValidate?: boolean
formTarget?: string
id?: string
isDisabled?: boolean
isPending?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
preventFocusOnPress?: boolean
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ButtonRenderProps>
slot?: string | null
style?: StyleOrFunction<ButtonRenderProps>
type?: 'button' | 'submit' | 'reset' = 'button'
value?: string/react-aria-components:CalendarCellProps CalendarCellProps {
children?: ChildrenOrFunction<CalendarCellRenderProps>
className?: ClassNameOrFunction<CalendarCellRenderProps> = 'react-aria-CalendarCell'
date: CalendarDate
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, CalendarCellRenderProps>
style?: StyleOrFunction<CalendarCellRenderProps>
}/react-aria-components:CalendarProps CalendarProps <T extends DateValue> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean = false
children?: ChildrenOrFunction<CalendarRenderProps>
className?: ClassNameOrFunction<CalendarRenderProps> = 'react-aria-Calendar'
createCalendar?: (CalendarIdentifier) => Calendar
defaultFocusedValue?: DateValue | null
defaultValue?: DateValue | null
firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
focusedValue?: DateValue | null
id?: string
isDateUnavailable?: (DateValue) => boolean
isDisabled?: boolean = false
isInvalid?: boolean
isReadOnly?: boolean = false
maxValue?: DateValue | null
minValue?: DateValue | null
onChange?: (MappedDateValue<DateValue>) => void
onFocusChange?: (CalendarDate) => void
pageBehavior?: PageBehavior = visible
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, CalendarRenderProps>
selectionAlignment?: 'start' | 'center' | 'end' = 'center'
slot?: string | null
style?: StyleOrFunction<CalendarRenderProps>
value?: DateValue | null
}/react-aria-components:CalendarGridProps CalendarGridProps {
children?: ReactElement | Array<ReactElement> | (CalendarDate) => ReactElement
className?: string = 'react-aria-CalendarGrid'
offset?: DateDuration
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
weekdayStyle?: 'narrow' | 'short' | 'long' = "narrow"
}/react-aria-components:CalendarGridHeaderProps CalendarGridHeaderProps {
children: (string) => ReactElement
className?: string = 'react-aria-CalendarGridHeader'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
}/react-aria-components:CalendarGridBodyProps CalendarGridBodyProps {
children: (CalendarDate) => ReactElement
className?: string = 'react-aria-CalendarGridBody'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
}/react-aria-components:CalendarHeaderCellProps CalendarHeaderCellProps {
children?: ReactNode
className?: string = 'react-aria-CalendarHeaderCell'
id?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
}/react-aria-components:RangeCalendarProps RangeCalendarProps <T extends DateValue> {
allowsNonContiguousRanges?: boolean
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean = false
children?: ChildrenOrFunction<RangeCalendarRenderProps>
className?: ClassNameOrFunction<RangeCalendarRenderProps> = 'react-aria-RangeCalendar'
createCalendar?: (CalendarIdentifier) => Calendar
defaultFocusedValue?: DateValue | null
defaultValue?: RangeValue<DateValue> | null
firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
focusedValue?: DateValue | null
id?: string
isDateUnavailable?: (DateValue) => boolean
isDisabled?: boolean = false
isInvalid?: boolean
isReadOnly?: boolean = false
maxValue?: DateValue | null
minValue?: DateValue | null
onChange?: (RangeValue<MappedDateValue<DateValue>>) => void
onFocusChange?: (CalendarDate) => void
pageBehavior?: PageBehavior = visible
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, RangeCalendarRenderProps>
selectionAlignment?: 'start' | 'center' | 'end' = 'center'
slot?: string | null
style?: StyleOrFunction<RangeCalendarRenderProps>
value?: RangeValue<DateValue> | null
}/react-aria-components:CheckboxGroupProps CheckboxGroupProps {
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<CheckboxGroupRenderProps>
className?: ClassNameOrFunction<CheckboxGroupRenderProps> = 'react-aria-CheckboxGroup'
defaultValue?: Array<string>
form?: string
id?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (T) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, CheckboxGroupRenderProps>
slot?: string | null
style?: StyleOrFunction<CheckboxGroupRenderProps>
validate?: (Array<string>) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
}/react-aria-components:CheckboxProps CheckboxProps {
aria-controls?: string
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<CheckboxRenderProps>
className?: ClassNameOrFunction<CheckboxRenderProps> = 'react-aria-Checkbox'
defaultSelected?: boolean
excludeFromTabOrder?: boolean
form?: string
id?: string
inputRef?: RefObject<HTMLInputElement | null>
isDisabled?: boolean
isIndeterminate?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
isSelected?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (boolean) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, CheckboxRenderProps>
slot?: string | null
style?: StyleOrFunction<CheckboxRenderProps>
validate?: (boolean) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
}/react-aria-components:ColorAreaProps ColorAreaProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<ColorAreaRenderProps>
className?: ClassNameOrFunction<ColorAreaRenderProps> = 'react-aria-ColorArea'
colorSpace?: ColorSpace
defaultValue?: T
form?: string
id?: string
isDisabled?: boolean
onChange?: (Color) => void
onChangeEnd?: (Color) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorAreaRenderProps>
slot?: string | null
style?: StyleOrFunction<ColorAreaRenderProps>
value?: T
xChannel?: ColorChannel
yChannel?: ColorChannel
yName?: string
}/react-aria-components:ColorFieldProps ColorFieldProps {
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
channel?: ColorChannel
children?: ChildrenOrFunction<ColorFieldRenderProps>
className?: ClassNameOrFunction<ColorFieldRenderProps> = 'react-aria-ColorField'
colorSpace?: ColorSpace
defaultValue?: T
excludeFromTabOrder?: boolean
form?: string
id?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
isWheelDisabled?: boolean
name?: string
onBeforeInput?: FormEventHandler<HTMLInputElement>
onBlur?: (FocusEvent<Target>) => void
onChange?: (Color | null) => void
onCompositionEnd?: CompositionEventHandler<HTMLInputElement>
onCompositionStart?: CompositionEventHandler<HTMLInputElement>
onCompositionUpdate?: CompositionEventHandler<HTMLInputElement>
onCopy?: ClipboardEventHandler<HTMLInputElement>
onCut?: ClipboardEventHandler<HTMLInputElement>
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onInput?: FormEventHandler<HTMLInputElement>
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPaste?: ClipboardEventHandler<HTMLInputElement>
onSelect?: ReactEventHandler<HTMLInputElement>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorFieldRenderProps>
slot?: string | null
style?: StyleOrFunction<ColorFieldRenderProps>
validate?: (Color | null) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
}/react-aria-components:ColorSliderProps ColorSliderProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
channel: ColorChannel
children?: ChildrenOrFunction<ColorSliderRenderProps>
className?: ClassNameOrFunction<ColorSliderRenderProps> = 'react-aria-ColorSlider'
colorSpace?: ColorSpace
defaultValue?: T
form?: string
id?: string
isDisabled?: boolean
name?: string
onChange?: (Color) => void
onChangeEnd?: (Color) => void
orientation?: Orientation = 'horizontal'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorSliderRenderProps>
slot?: string | null
style?: StyleOrFunction<ColorSliderRenderProps>
value?: T
}/react-aria-components:ColorSwatchProps ColorSwatchProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
className?: ClassNameOrFunction<ColorSwatchRenderProps> = 'react-aria-ColorSwatch'
color?: string | Color
colorName?: string
id?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorSwatchRenderProps>
slot?: string | null
style?: StyleOrFunction<ColorSwatchRenderProps>
}/react-aria-components:ColorSwatchPickerProps ColorSwatchPickerProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ReactNode
className?: ClassNameOrFunction<ColorSwatchPickerRenderProps> = 'react-aria-ColorSwatchPicker'
defaultValue?: string | Color
layout?: 'grid' | 'stack' = 'grid'
onChange?: (Color) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorSwatchPickerRenderProps>
style?: StyleOrFunction<ColorSwatchPickerRenderProps>
value?: string | Color
}/react-aria-components:ColorSwatchPickerItemProps ColorSwatchPickerItemProps {
children?: ChildrenOrFunction<ColorSwatchPickerItemRenderProps>
className?: ClassNameOrFunction<ColorSwatchPickerItemRenderProps> = 'react-aria-ColorSwatchPickerItem'
color: string | Color
isDisabled?: boolean
onClick?: (MouseEvent<FocusableElement>) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorSwatchPickerItemRenderProps>
style?: StyleOrFunction<ColorSwatchPickerItemRenderProps>
}/react-aria-components:ColorThumbProps ColorThumbProps {
children?: ChildrenOrFunction<ColorThumbRenderProps>
className?: ClassNameOrFunction<ColorThumbRenderProps> = 'react-aria-ColorThumb'
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorThumbRenderProps>
style?: StyleOrFunction<ColorThumbRenderProps>
}/react-aria-components:ColorWheelProps ColorWheelProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<ColorWheelRenderProps>
className?: ClassNameOrFunction<ColorWheelRenderProps> = 'react-aria-ColorWheel'
defaultValue?: string | Color = 'hsl(0, 100%, 50%)'
form?: string
id?: string
innerRadius: number
isDisabled?: boolean
name?: string
onChange?: (Color) => void
onChangeEnd?: (Color) => void
outerRadius: number
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorWheelRenderProps>
slot?: string | null
style?: StyleOrFunction<ColorWheelRenderProps>
value?: T
}/react-aria-components:ColorWheelTrackProps ColorWheelTrackProps {
className?: ClassNameOrFunction<ColorWheelTrackRenderProps> = 'react-aria-ColorWheelTrack'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColorWheelTrackRenderProps>
style?: StyleOrFunction<ColorWheelTrackRenderProps>
}/react-aria-components:ComboBoxProps ComboBoxProps <T extends {}> {
allowsCustomValue?: boolean
allowsEmptyCollection?: boolean
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<ComboBoxRenderProps>
className?: ClassNameOrFunction<ComboBoxRenderProps> = 'react-aria-ComboBox'
defaultFilter?: (string, string) => boolean
defaultInputValue?: string
defaultItems?: Iterable<T>
defaultSelectedKey?: Key
disabledKeys?: Iterable<Key>
form?: string
formValue?: 'text' | 'key' = 'key'
id?: string
inputValue?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
isTriggerUpWhenOpen?: boolean
items?: Iterable<T>
menuTrigger?: MenuTriggerAction = 'input'
name?: string
onBlur?: (FocusEvent<HTMLInputElement>) => void
onFocus?: (FocusEvent<HTMLInputElement>) => void
onFocusChange?: (boolean) => void
onInputChange?: (string) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onOpenChange?: (boolean, MenuTriggerAction) => void
onSelectionChange?: (Key | null) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ComboBoxRenderProps>
selectedKey?: Key | null
shouldFocusWrap?: boolean
slot?: string | null
style?: StyleOrFunction<ComboBoxRenderProps>
validationBehavior?: 'native' | 'aria' = 'native'
}/react-aria-components:DateFieldProps DateFieldProps <T extends DateValue> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoComplete?: string
autoFocus?: boolean
children?: ChildrenOrFunction<DateFieldRenderProps>
className?: ClassNameOrFunction<DateFieldRenderProps> = 'react-aria-DateField'
defaultValue?: DateValue | null
form?: string
granularity?: Granularity
hideTimeZone?: boolean = false
hourCycle?: number | number
id?: string
isDateUnavailable?: (DateValue) => boolean
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
maxValue?: DateValue | null
minValue?: DateValue | null
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (MappedDateValue<DateValue> | null) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
placeholderValue?: DateValue | null
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DateFieldRenderProps>
shouldForceLeadingZeros?: boolean
slot?: string | null
style?: StyleOrFunction<DateFieldRenderProps>
validate?: (MappedDateValue<DateValue>) => ValidationError | boolean | null | undefined
value?: DateValue | null
}/react-aria-components:DateInputProps DateInputProps {
children: (DateSegment) => ReactElement
className?: ClassNameOrFunction<DateInputRenderProps> = 'react-aria-DateInput'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DateInputRenderProps>
slot?: string | null
style?: StyleOrFunction<DateInputRenderProps>
}/react-aria-components:DateSegmentProps DateSegmentProps {
children?: ChildrenOrFunction<DateSegmentRenderProps>
className?: ClassNameOrFunction<DateSegmentRenderProps> = 'react-aria-DateSegment'
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DateSegmentRenderProps>
segment: DateSegment
style?: StyleOrFunction<DateSegmentRenderProps>
}/react-aria-components:TimeFieldProps TimeFieldProps <T extends TimeValue> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<DateFieldRenderProps>
className?: ClassNameOrFunction<DateFieldRenderProps> = 'react-aria-TimeField'
defaultValue?: TimeValue | null
form?: string
granularity?: 'hour' | 'minute' | 'second' = 'minute'
hideTimeZone?: boolean
hourCycle?: number | number
id?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
maxValue?: TimeValue | null
minValue?: TimeValue | null
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (MappedTimeValue<TimeValue> | null) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
placeholderValue?: TimeValue
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DateFieldRenderProps>
shouldForceLeadingZeros?: boolean
slot?: string | null
style?: StyleOrFunction<DateFieldRenderProps>
validate?: (MappedTimeValue<TimeValue>) => ValidationError | boolean | null | undefined
value?: TimeValue | null
}/react-aria-components:DatePickerProps DatePickerProps <T extends DateValue> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoComplete?: string
autoFocus?: boolean
children?: ChildrenOrFunction<DatePickerRenderProps>
className?: ClassNameOrFunction<DatePickerRenderProps> = 'react-aria-DatePicker'
defaultOpen?: boolean
defaultValue?: DateValue | null
firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
form?: string
granularity?: Granularity
hideTimeZone?: boolean = false
hourCycle?: number | number
id?: string
isDateUnavailable?: (DateValue) => boolean
isDisabled?: boolean
isInvalid?: boolean
isOpen?: boolean
isReadOnly?: boolean
isRequired?: boolean
isTriggerUpWhenOpen?: boolean
maxValue?: DateValue | null
minValue?: DateValue | null
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (MappedDateValue<DateValue> | null) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onOpenChange?: (boolean) => void
pageBehavior?: PageBehavior = visible
placeholderValue?: DateValue | null
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DatePickerRenderProps>
shouldCloseOnSelect?: boolean | () => boolean = true
shouldForceLeadingZeros?: boolean
slot?: string | null
style?: StyleOrFunction<DatePickerRenderProps>
validationBehavior?: 'native' | 'aria' = 'native'
value?: DateValue | null
}/react-aria-components:DateRangePickerProps DateRangePickerProps <T extends DateValue> {
allowsNonContiguousRanges?: boolean
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<DateRangePickerRenderProps>
className?: ClassNameOrFunction<DateRangePickerRenderProps> = 'react-aria-DateRangePicker'
defaultOpen?: boolean
defaultValue?: RangeValue<DateValue> | null
endName?: string
firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
form?: string
granularity?: Granularity
hideTimeZone?: boolean = false
hourCycle?: number | number
id?: string
isDateUnavailable?: (DateValue) => boolean
isDisabled?: boolean
isInvalid?: boolean
isOpen?: boolean
isReadOnly?: boolean
isRequired?: boolean
isTriggerUpWhenOpen?: boolean
maxValue?: DateValue | null
minValue?: DateValue | null
onBlur?: (FocusEvent<Target>) => void
onChange?: (RangeValue<MappedDateValue<DateValue>> | null) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onOpenChange?: (boolean) => void
pageBehavior?: PageBehavior = visible
placeholderValue?: DateValue | null
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DateRangePickerRenderProps>
shouldCloseOnSelect?: boolean | () => boolean = true
shouldForceLeadingZeros?: boolean
slot?: string | null
startName?: string
validate?: (RangeValue<MappedDateValue<DateValue>>) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
value?: RangeValue<DateValue> | null
}/react-aria-components:DialogProps DialogProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ReactNode | (DialogRenderProps) => ReactNode
className?: string = 'react-aria-Dialog'
id?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
role?: 'dialog' | 'alertdialog' = 'dialog'
slot?: string | null
style?: CSSProperties
}/react-aria-components:DisclosureProps DisclosureProps {
children?: ChildrenOrFunction<DisclosureRenderProps>
className?: ClassNameOrFunction<DisclosureRenderProps> = 'react-aria-Disclosure'
defaultExpanded?: boolean
id?: Key
isDisabled?: boolean
isExpanded?: boolean
onExpandedChange?: (boolean) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DisclosureRenderProps>
slot?: string | null
style?: StyleOrFunction<DisclosureRenderProps>
}/react-aria-components:DisclosurePanelProps DisclosurePanelProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children: ReactNode
className?: ClassNameOrFunction<DisclosurePanelRenderProps> = 'react-aria-DisclosurePanel'
id?: string
label?: ReactNode
labelElementType?: ElementType = 'label'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DisclosurePanelRenderProps>
role?: 'group' | 'region' = 'group'
style?: StyleOrFunction<DisclosurePanelRenderProps>
}/react-aria-components:DisclosureGroupProps DisclosureGroupProps {
allowsMultipleExpanded?: boolean
children?: ChildrenOrFunction<DisclosureGroupRenderProps>
className?: ClassNameOrFunction<DisclosureGroupRenderProps> = 'react-aria-DisclosureGroup'
defaultExpandedKeys?: Iterable<Key>
expandedKeys?: Iterable<Key>
id?: string
isDisabled?: boolean
onExpandedChange?: (Set<Key>) => any
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DisclosureGroupRenderProps>
style?: StyleOrFunction<DisclosureGroupRenderProps>
}/react-aria-components:DropZoneProps DropZoneProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<DropZoneRenderProps>
className?: ClassNameOrFunction<DropZoneRenderProps> = 'react-aria-DropZone'
getDropOperation?: (DragTypes, Array<DropOperation>) => DropOperation
isDisabled?: boolean
onDrop?: (DropEvent) => void
onDropActivate?: (DropActivateEvent) => void
onDropEnter?: (DropEnterEvent) => void
onDropExit?: (DropExitEvent) => void
onDropMove?: (DropMoveEvent) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DropZoneRenderProps>
slot?: string | null
style?: StyleOrFunction<DropZoneRenderProps>
}/react-aria-components:FieldErrorProps FieldErrorProps {
children?: ChildrenOrFunction<FieldErrorRenderProps>
className?: ClassNameOrFunction<FieldErrorRenderProps> = 'react-aria-FieldError'
id?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, FieldErrorRenderProps>
style?: StyleOrFunction<FieldErrorRenderProps>
}/react-aria-components:FormProps FormProps {
action?: string | FormHTMLAttributes<HTMLFormElement>['action']
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoCapitalize?: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'
autoComplete?: 'off' | 'on'
children?: ReactNode
className?: string = 'react-aria-Form'
encType?: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain'
id?: string
method?: 'get' | 'post' | 'dialog'
onInvalid?: (FormEvent<HTMLFormElement>) => void
onReset?: (FormEvent<HTMLFormElement>) => void
onSubmit?: (FormEvent<HTMLFormElement>) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
role?: 'search' | 'presentation'
style?: CSSProperties
target?: '_blank' | '_self' | '_parent' | '_top'
validationBehavior?: 'aria' | 'native' = 'native'
}/react-aria-components:GridListProps GridListProps <T> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean | FocusStrategy
children?: ReactNode | (T) => ReactNode
className?: ClassNameOrFunction<GridListRenderProps> = 'react-aria-GridList'
defaultSelectedKeys?: 'all' | Iterable<Key>
dependencies?: ReadonlyArray<any>
disabledBehavior?: DisabledBehavior = "all"
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
disallowTypeAhead?: boolean = false
dragAndDropHooks?: DragAndDropHooks<NoInfer<T>>
escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
id?: string
items?: Iterable<T>
keyboardNavigationBehavior?: 'arrow' | 'tab' = 'arrow'
layout?: 'stack' | 'grid' = 'stack'
onAction?: (Key) => void
onSelectionChange?: (Selection) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, GridListRenderProps>
renderEmptyState?: (GridListRenderProps) => ReactNode
selectedKeys?: 'all' | Iterable<Key>
selectionBehavior?: SelectionBehavior = "toggle"
selectionMode?: SelectionMode
slot?: string | null
style?: StyleOrFunction<GridListRenderProps>
}/react-aria-components:GridListItemProps GridListItemProps <T = {}> {
children?: ChildrenOrFunction<GridListItemRenderProps>
className?: ClassNameOrFunction<GridListItemRenderProps> = 'react-aria-GridListItem'
download?: boolean | string
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onAction?: () => void
onClick?: (MouseEvent<FocusableElement>) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, GridListItemRenderProps>
routerOptions?: RouterOptions
style?: StyleOrFunction<GridListItemRenderProps>
target?: HTMLAttributeAnchorTarget
textValue?: string
}/react-aria-components:GridListLoadMoreItemProps GridListLoadMoreItemProps {
children?: ReactNode
className?: string = 'react-aria-GridListLoadMoreItem'
isLoading?: boolean
onLoadMore?: () => any
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
scrollOffset?: number = 1
style?: CSSProperties
}/react-aria-components:GridListSectionProps GridListSectionProps <T> {
aria-label?: string
children?: ReactNode | (T) => ReactElement
className?: string = 'react-aria-GridListSection'
dependencies?: ReadonlyArray<any>
id?: Key
items?: Iterable<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
value?: T
}/react-aria-components:GroupProps GroupProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<GroupRenderProps>
className?: ClassNameOrFunction<GroupRenderProps> = 'react-aria-Group'
id?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, GroupRenderProps>
role?: 'group' | 'region' | 'presentation' = 'group'
slot?: string | null
style?: StyleOrFunction<GroupRenderProps>
}/react-aria-components:HeadingProps HeadingProps {
level?: number
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
}/react-aria-components:InputProps InputProps {
className?: ClassNameOrFunction<InputRenderProps> = 'react-aria-Input'
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
placeholder?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, InputRenderProps>
style?: StyleOrFunction<InputRenderProps>
}/react-aria-components:LabelProps LabelProps {
elementType?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
}/react-aria-components:LinkProps LinkProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
- children?: ChildrenOrFunction<LinkRenderProps>
+ children?: ChildrenOrFunction<T>
className?: ClassNameOrFunction<LinkRenderProps> = 'react-aria-Link'
download?: boolean | string
href?: Href
hrefLang?: string
id?: string
isDisabled?: boolean
onBlur?: (FocusEvent<Target>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: (DetailedHTMLProps<LinkWithRequiredHref, HTMLAnchorElement> | React.JSX.IntrinsicElements[keyof React.JSX.IntrinsicElements], LinkRenderProps) => ReactElement
routerOptions?: RouterOptions
slot?: string | null
- style?: StyleOrFunction<LinkRenderProps>
+ style?: StyleOrFunction<T>
target?: HTMLAttributeAnchorTarget
}/react-aria-components:ListBoxProps ListBoxProps <T> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean | FocusStrategy
children?: ReactNode | (T) => ReactNode
className?: ClassNameOrFunction<ListBoxRenderProps> = 'react-aria-ListBox'
defaultSelectedKeys?: 'all' | Iterable<Key>
dependencies?: ReadonlyArray<any>
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
dragAndDropHooks?: DragAndDropHooks<NoInfer<T>>
escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
id?: string
items?: Iterable<T>
layout?: 'stack' | 'grid' = 'stack'
onAction?: (Key) => void
onBlur?: (FocusEvent<Target>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onSelectionChange?: (Selection) => void
orientation?: Orientation = 'vertical'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ListBoxRenderProps>
renderEmptyState?: (ListBoxRenderProps) => ReactNode
selectedKeys?: 'all' | Iterable<Key>
selectionBehavior?: SelectionBehavior = "toggle"
selectionMode?: SelectionMode
shouldFocusWrap?: boolean
shouldSelectOnPressUp?: boolean
slot?: string | null
style?: StyleOrFunction<ListBoxRenderProps>
}/react-aria-components:ListBoxItemProps ListBoxItemProps <T = {}> {
aria-label?: string
- children?: ChildrenOrFunction<ListBoxItemRenderProps>
+ children?: ChildrenOrFunction<T>
className?: ClassNameOrFunction<ListBoxItemRenderProps> = 'react-aria-ListBoxItem'
download?: boolean | string
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onAction?: () => void
onBlur?: (FocusEvent<HTMLDivElement>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<HTMLDivElement>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: (DetailedHTMLProps<LinkWithRequiredHref, HTMLAnchorElement> | React.JSX.IntrinsicElements[keyof React.JSX.IntrinsicElements], ListBoxItemRenderProps) => ReactElement
routerOptions?: RouterOptions
- style?: StyleOrFunction<ListBoxItemRenderProps>
+ style?: StyleOrFunction<T>
target?: HTMLAttributeAnchorTarget
textValue?: string
value?: T
}/react-aria-components:ListBoxSectionProps ListBoxSectionProps <T> {
aria-label?: string
children?: ReactNode | (T) => ReactElement
className?: string = 'react-aria-ListBoxSection'
dependencies?: ReadonlyArray<any>
id?: Key
items?: Iterable<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
value?: T
}/react-aria-components:ListBoxLoadMoreItemProps ListBoxLoadMoreItemProps {
children?: ReactNode
className?: string = 'react-aria-ListBoxLoadMoreItem'
isLoading?: boolean
onLoadMore?: () => any
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
scrollOffset?: number = 1
style?: CSSProperties
}/react-aria-components:MenuProps MenuProps <T> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean | FocusStrategy
children?: ReactNode | (T) => ReactNode
className?: ClassNameOrFunction<MenuRenderProps> = 'react-aria-Menu'
defaultSelectedKeys?: 'all' | Iterable<Key>
dependencies?: ReadonlyArray<any>
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
id?: string
items?: Iterable<T>
onAction?: (Key) => void
onClose?: () => void
onSelectionChange?: (Selection) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, MenuRenderProps>
renderEmptyState?: () => ReactNode
selectedKeys?: 'all' | Iterable<Key>
selectionMode?: SelectionMode
shouldCloseOnSelect?: boolean
slot?: string | null
style?: StyleOrFunction<MenuRenderProps>
}/react-aria-components:MenuItemProps MenuItemProps <T = {}> {
aria-label?: string
- children?: ChildrenOrFunction<MenuItemRenderProps>
+ children?: ChildrenOrFunction<T>
className?: ClassNameOrFunction<MenuItemRenderProps> = 'react-aria-MenuItem'
download?: boolean | string
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onAction?: () => void
onBlur?: (FocusEvent<Target>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: (DetailedHTMLProps<LinkWithRequiredHref, HTMLAnchorElement> | React.JSX.IntrinsicElements[keyof React.JSX.IntrinsicElements], MenuItemRenderProps) => ReactElement
routerOptions?: RouterOptions
shouldCloseOnSelect?: boolean
- style?: StyleOrFunction<MenuItemRenderProps>
+ style?: StyleOrFunction<T>
target?: HTMLAttributeAnchorTarget
textValue?: string
value?: T
}/react-aria-components:MenuSectionProps MenuSectionProps <T> {
aria-label?: string
children?: ReactNode | (T) => ReactElement
className?: string = 'react-aria-MenuSection'
defaultSelectedKeys?: 'all' | Iterable<Key>
dependencies?: ReadonlyArray<any>
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
id?: Key
items?: Iterable<T>
onSelectionChange?: (Selection) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
selectedKeys?: 'all' | Iterable<Key>
selectionMode?: SelectionMode
shouldCloseOnSelect?: boolean
style?: CSSProperties
}/react-aria-components:MeterProps MeterProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<MeterRenderProps>
className?: ClassNameOrFunction<MeterRenderProps> = 'react-aria-Meter'
formatOptions?: Intl.NumberFormatOptions = {style: 'percent'}
id?: string
maxValue?: number = 100
minValue?: number = 0
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, MeterRenderProps>
slot?: string | null
style?: StyleOrFunction<MeterRenderProps>
value?: number = 0
valueLabel?: ReactNode/react-aria-components:ModalOverlayProps ModalOverlayProps {
children?: ChildrenOrFunction<ModalRenderProps>
className?: ClassNameOrFunction<ModalRenderProps> = 'react-aria-ModalOverlay'
defaultOpen?: boolean
isDismissable?: boolean = false
isEntering?: boolean
isExiting?: boolean
isKeyboardDismissDisabled?: boolean = false
isOpen?: boolean
onOpenChange?: (boolean) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ModalRenderProps>
shouldCloseOnInteractOutside?: (Element) => boolean
slot?: string | null
style?: StyleOrFunction<ModalRenderProps>
}/react-aria-components:NumberFieldProps NumberFieldProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<NumberFieldRenderProps>
className?: ClassNameOrFunction<NumberFieldRenderProps> = 'react-aria-NumberField'
decrementAriaLabel?: string
defaultValue?: number
form?: string
formatOptions?: Intl.NumberFormatOptions
id?: string
incrementAriaLabel?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
isWheelDisabled?: boolean
maxValue?: number
minValue?: number
name?: string
onBeforeInput?: FormEventHandler<HTMLInputElement>
onBlur?: (FocusEvent<Target>) => void
onChange?: (T) => void
onCompositionEnd?: CompositionEventHandler<HTMLInputElement>
onCompositionStart?: CompositionEventHandler<HTMLInputElement>
onCompositionUpdate?: CompositionEventHandler<HTMLInputElement>
onCopy?: ClipboardEventHandler<HTMLInputElement>
onCut?: ClipboardEventHandler<HTMLInputElement>
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onInput?: FormEventHandler<HTMLInputElement>
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPaste?: ClipboardEventHandler<HTMLInputElement>
onSelect?: ReactEventHandler<HTMLInputElement>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, NumberFieldRenderProps>
slot?: string | null
step?: number
style?: StyleOrFunction<NumberFieldRenderProps>
validate?: (number) => ValidationError | boolean | null | undefined
value?: number
}/react-aria-components:OverlayArrowProps OverlayArrowProps {
children?: ChildrenOrFunction<OverlayArrowRenderProps>
className?: ClassNameOrFunction<OverlayArrowRenderProps> = 'react-aria-OverlayArrow'
id?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, OverlayArrowRenderProps>
style?: StyleOrFunction<OverlayArrowRenderProps>
}/react-aria-components:PopoverProps PopoverProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
arrowBoundaryOffset?: number = 0
arrowRef?: RefObject<Element | null>
boundaryElement?: Element = document.body
children?: ChildrenOrFunction<PopoverRenderProps>
className?: ClassNameOrFunction<PopoverRenderProps> = 'react-aria-Popover'
containerPadding?: number = 12
crossOffset?: number = 0
defaultOpen?: boolean
isEntering?: boolean
isExiting?: boolean
isKeyboardDismissDisabled?: boolean = false
isNonModal?: boolean
isOpen?: boolean
maxHeight?: number
offset?: number = 8
onOpenChange?: (boolean) => void
placement?: Placement = 'bottom'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, PopoverRenderProps>
scrollRef?: RefObject<Element | null> = overlayRef
shouldCloseOnInteractOutside?: (Element) => boolean
shouldFlip?: boolean = true
shouldUpdatePosition?: boolean = true
style?: StyleOrFunction<PopoverRenderProps>
trigger?: string
triggerRef?: RefObject<Element | null>
}/react-aria-components:ProgressBarProps ProgressBarProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<ProgressBarRenderProps>
className?: ClassNameOrFunction<ProgressBarRenderProps> = 'react-aria-ProgressBar'
formatOptions?: Intl.NumberFormatOptions = {style: 'percent'}
id?: string
isIndeterminate?: boolean
maxValue?: number = 100
minValue?: number = 0
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ProgressBarRenderProps>
slot?: string | null
style?: StyleOrFunction<ProgressBarRenderProps>
value?: number = 0
valueLabel?: ReactNode/react-aria-components:RadioGroupProps RadioGroupProps {
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<RadioGroupRenderProps>
className?: ClassNameOrFunction<RadioGroupRenderProps> = 'react-aria-RadioGroup'
defaultValue?: string | null
form?: string
id?: string
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (string) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
orientation?: Orientation = 'vertical'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, RadioGroupRenderProps>
slot?: string | null
style?: StyleOrFunction<RadioGroupRenderProps>
validate?: (string) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
}/react-aria-components:RadioProps RadioProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<RadioRenderProps>
className?: ClassNameOrFunction<RadioRenderProps> = 'react-aria-Radio'
id?: string
inputRef?: RefObject<HTMLInputElement | null>
isDisabled?: boolean
onBlur?: (FocusEvent<Target>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, RadioRenderProps>
slot?: string | null
style?: StyleOrFunction<RadioRenderProps>
value: string
}/react-aria-components:SearchFieldProps SearchFieldProps {
aria-activedescendant?: string
aria-autocomplete?: 'none' | 'inline' | 'list' | 'both'
aria-controls?: string
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-haspopup?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'
aria-label?: string
aria-labelledby?: string
autoComplete?: string
autoCorrect?: string
autoFocus?: boolean
children?: ChildrenOrFunction<SearchFieldRenderProps>
className?: ClassNameOrFunction<SearchFieldRenderProps> = 'react-aria-SearchField'
defaultValue?: string
enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'
excludeFromTabOrder?: boolean
form?: string
id?: string
inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
maxLength?: number
minLength?: number
name?: string
onBeforeInput?: FormEventHandler<HTMLInputElement>
onBlur?: (FocusEvent<T>) => void
onChange?: (T) => void
onClear?: () => void
onCompositionEnd?: CompositionEventHandler<HTMLInputElement>
onCompositionStart?: CompositionEventHandler<HTMLInputElement>
onCompositionUpdate?: CompositionEventHandler<HTMLInputElement>
onCopy?: ClipboardEventHandler<HTMLInputElement>
onCut?: ClipboardEventHandler<HTMLInputElement>
onFocus?: (FocusEvent<T>) => void
onFocusChange?: (boolean) => void
onInput?: FormEventHandler<HTMLInputElement>
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPaste?: ClipboardEventHandler<HTMLInputElement>
onSelect?: ReactEventHandler<HTMLInputElement>
onSubmit?: (string) => void
pattern?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SearchFieldRenderProps>
slot?: string | null
spellCheck?: string
style?: StyleOrFunction<SearchFieldRenderProps>
type?: 'text' | 'search' | 'url' | 'tel' | 'email' | 'password' | (string & {
}) = 'search'
validate?: (string) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
value?: string
}/react-aria-components:SelectProps SelectProps <M extends SelectionMode = 'single', T extends {} = {
}> {
allowsEmptyCollection?: boolean
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoComplete?: string
autoFocus?: boolean
children?: ChildrenOrFunction<SelectRenderProps>
className?: ClassNameOrFunction<SelectRenderProps> = 'react-aria-Select'
defaultOpen?: boolean
defaultValue?: ValueType<SelectionMode>
disabledKeys?: Iterable<Key>
excludeFromTabOrder?: boolean
form?: string
id?: string
isDisabled?: boolean
isInvalid?: boolean
isOpen?: boolean
isRequired?: boolean
isTriggerUpWhenOpen?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (ChangeValueType<SelectionMode>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onOpenChange?: (boolean) => void
placeholder?: string = 'Select an item' (localized)
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SelectRenderProps>
selectionMode?: SelectionMode = 'single'
slot?: string | null
style?: StyleOrFunction<SelectRenderProps>
validate?: (ValidationType<SelectionMode>) => ValidationError | boolean | null | undefined
value?: ValueType<SelectionMode>
}/react-aria-components:SelectValueProps SelectValueProps <T extends {}> {
children?: ChildrenOrFunction<SelectValueRenderProps<{}>>
className?: ClassNameOrFunction<SelectValueRenderProps<{}>> = 'react-aria-SelectValue'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SelectValueRenderProps<{}>>
style?: StyleOrFunction<SelectValueRenderProps<{}>>
}/react-aria-components:SelectionIndicatorProps SelectionIndicatorProps {
children?: ChildrenOrFunction<SharedElementRenderProps>
className?: ClassNameOrFunction<SharedElementRenderProps> = 'react-aria-SelectionIndicator'
isSelected?: boolean
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SharedElementRenderProps>
style?: StyleOrFunction<SharedElementRenderProps>
}/react-aria-components:SharedElementProps SharedElementProps {
children?: ChildrenOrFunction<SharedElementRenderProps>
className?: ClassNameOrFunction<SharedElementRenderProps>
isVisible?: boolean
name: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SharedElementRenderProps>
style?: StyleOrFunction<SharedElementRenderProps>
}/react-aria-components:SeparatorProps SeparatorProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
className?: string = 'react-aria-Separator'
elementType?: string
id?: string
orientation?: Orientation = 'horizontal'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
slot?: string | null
style?: CSSProperties
}/react-aria-components:SliderOutputProps SliderOutputProps {
children?: ChildrenOrFunction<SliderRenderProps>
className?: ClassNameOrFunction<SliderRenderProps> = 'react-aria-SliderOutput'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SliderRenderProps>
style?: StyleOrFunction<SliderRenderProps>
}/react-aria-components:SliderProps SliderProps <T = number | Array<number>> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<SliderRenderProps>
className?: ClassNameOrFunction<SliderRenderProps> = 'react-aria-Slider'
defaultValue?: T
formatOptions?: Intl.NumberFormatOptions
id?: string
isDisabled?: boolean
maxValue?: number = 100
minValue?: number = 0
onChange?: (T) => void
onChangeEnd?: (T) => void
orientation?: Orientation = 'horizontal'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SliderRenderProps>
slot?: string | null
step?: number = 1
style?: StyleOrFunction<SliderRenderProps>
value?: T/react-aria-components:SliderThumbProps SliderThumbProps {
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<SliderThumbRenderProps>
className?: ClassNameOrFunction<SliderThumbRenderProps> = 'react-aria-SliderThumb'
form?: string
id?: string
index?: number = 0
inputRef?: RefObject<HTMLInputElement | null>
isDisabled?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SliderThumbRenderProps>
style?: StyleOrFunction<SliderThumbRenderProps>
}/react-aria-components:SliderTrackProps SliderTrackProps {
children?: ChildrenOrFunction<SliderTrackRenderProps>
className?: ClassNameOrFunction<SliderTrackRenderProps> = 'react-aria-SliderTrack'
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SliderTrackRenderProps>
style?: StyleOrFunction<SliderTrackRenderProps>
}/react-aria-components:SwitchProps SwitchProps {
aria-controls?: string
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean
children?: ChildrenOrFunction<SwitchRenderProps>
className?: ClassNameOrFunction<SwitchRenderProps> = 'react-aria-Switch'
defaultSelected?: boolean
excludeFromTabOrder?: boolean
form?: string
id?: string
inputRef?: RefObject<HTMLInputElement | null>
isDisabled?: boolean
isReadOnly?: boolean
isSelected?: boolean
name?: string
onBlur?: (FocusEvent<Target>) => void
onChange?: (boolean) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, SwitchRenderProps>
slot?: string | null
style?: StyleOrFunction<SwitchRenderProps>
value?: string
}/react-aria-components:TableProps TableProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ReactNode
className?: ClassNameOrFunction<TableRenderProps> = 'react-aria-Table'
defaultSelectedKeys?: 'all' | Iterable<Key>
disabledBehavior?: DisabledBehavior = "all"
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
dragAndDropHooks?: DragAndDropHooks
escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
onRowAction?: (Key) => void
onSelectionChange?: (Selection) => void
onSortChange?: (SortDescriptor) => any
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TableRenderProps>
selectedKeys?: 'all' | Iterable<Key>
selectionBehavior?: SelectionBehavior = "toggle"
selectionMode?: SelectionMode
shouldSelectOnPressUp?: boolean
sortDescriptor?: SortDescriptor
style?: StyleOrFunction<TableRenderProps>
}/react-aria-components:TableHeaderProps TableHeaderProps <T> {
children?: ReactNode | (T) => ReactElement
className?: ClassNameOrFunction<TableHeaderRenderProps> = 'react-aria-TableHeader'
columns?: Iterable<T>
dependencies?: ReadonlyArray<any>
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TableHeaderRenderProps>
style?: StyleOrFunction<TableHeaderRenderProps>
}/react-aria-components:TableBodyProps TableBodyProps <T> {
children?: ReactNode | (T) => ReactNode
className?: ClassNameOrFunction<TableBodyRenderProps> = 'react-aria-TableBody'
dependencies?: ReadonlyArray<any>
items?: Iterable<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TableBodyRenderProps>
renderEmptyState?: (TableBodyRenderProps) => ReactNode
style?: StyleOrFunction<TableBodyRenderProps>
}/react-aria-components:ResizableTableContainerProps ResizableTableContainerProps {
children?: ReactNode
className?: string = 'react-aria-ResizableTableContainer'
id?: string
onResize?: (Map<Key, ColumnSize>) => void
onResizeEnd?: (Map<Key, ColumnSize>) => void
onResizeStart?: (Map<Key, ColumnSize>) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
}/react-aria-components:ColumnProps ColumnProps {
allowsSorting?: boolean
children?: ChildrenOrFunction<ColumnRenderProps>
className?: ClassNameOrFunction<ColumnRenderProps> = 'react-aria-Column'
defaultWidth?: ColumnSize | null
id?: Key
isRowHeader?: boolean
maxWidth?: ColumnStaticSize | null
minWidth?: ColumnStaticSize | null
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColumnRenderProps>
style?: StyleOrFunction<ColumnRenderProps>
textValue?: string
width?: ColumnSize | null
}/react-aria-components:ColumnResizerProps ColumnResizerProps {
aria-label?: string
children?: ChildrenOrFunction<ColumnResizerRenderProps>
className?: ClassNameOrFunction<ColumnResizerRenderProps> = 'react-aria-ColumnResizer'
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ColumnResizerRenderProps>
style?: StyleOrFunction<ColumnResizerRenderProps>
}/react-aria-components:RowProps RowProps <T> {
children?: ReactNode | (T) => ReactElement
className?: ClassNameOrFunction<RowRenderProps> = 'react-aria-Row'
columns?: Iterable<T>
dependencies?: ReadonlyArray<any>
download?: boolean | string
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onAction?: () => void
onClick?: (MouseEvent<FocusableElement>) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, RowRenderProps>
routerOptions?: RouterOptions
style?: StyleOrFunction<RowRenderProps>
target?: HTMLAttributeAnchorTarget
textValue?: string
}/react-aria-components:CellProps CellProps {
children?: ChildrenOrFunction<CellRenderProps>
className?: ClassNameOrFunction<CellRenderProps> = 'react-aria-Cell'
colSpan?: number
id?: Key
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, CellRenderProps>
style?: StyleOrFunction<CellRenderProps>
textValue?: string
}/react-aria-components:TableLoadMoreItemProps TableLoadMoreItemProps {
children?: ReactNode
className?: string = 'react-aria-TableLoadMoreItem'
isLoading?: boolean
onLoadMore?: () => any
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
scrollOffset?: number = 1
style?: CSSProperties
}/react-aria-components:TabListProps TabListProps <T> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ReactNode | (T) => ReactNode
className?: ClassNameOrFunction<TabListRenderProps> = 'react-aria-TabList'
dependencies?: ReadonlyArray<any>
items?: Iterable<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TabListRenderProps>
style?: StyleOrFunction<TabListRenderProps>
}/react-aria-components:TabPanelsProps TabPanelsProps <T> {
children?: ReactNode | (T) => ReactNode
className?: string = 'react-aria-TabPanels'
dependencies?: ReadonlyArray<any>
items?: Iterable<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
style?: CSSProperties
}/react-aria-components:TabPanelProps TabPanelProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<TabPanelRenderProps>
className?: ClassNameOrFunction<TabPanelRenderProps> = 'react-aria-TabPanel'
id?: Key
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TabPanelRenderProps>
shouldForceMount?: boolean = false
style?: StyleOrFunction<TabPanelRenderProps>
}/react-aria-components:TabProps TabProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
- children?: ChildrenOrFunction<TabRenderProps>
+ children?: ChildrenOrFunction<T>
className?: ClassNameOrFunction<TabRenderProps> = 'react-aria-Tab'
download?: boolean | string
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onBlur?: (FocusEvent<Target>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: (DetailedHTMLProps<LinkWithRequiredHref, HTMLAnchorElement> | React.JSX.IntrinsicElements[keyof React.JSX.IntrinsicElements], TabRenderProps) => ReactElement
routerOptions?: RouterOptions
- style?: StyleOrFunction<TabRenderProps>
+ style?: StyleOrFunction<T>
target?: HTMLAttributeAnchorTarget
}/react-aria-components:TabsProps TabsProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<TabsRenderProps>
className?: ClassNameOrFunction<TabsRenderProps> = 'react-aria-Tabs'
defaultSelectedKey?: Key
disabledKeys?: Iterable<Key>
id?: string
isDisabled?: boolean
keyboardActivation?: 'automatic' | 'manual' = 'automatic'
onSelectionChange?: (Key) => void
orientation?: Orientation = 'horizontal'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TabsRenderProps>
selectedKey?: Key | null
slot?: string | null
style?: StyleOrFunction<TabsRenderProps>
}/react-aria-components:TagGroupProps TagGroupProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ReactNode
className?: string = 'react-aria-TagGroup'
defaultSelectedKeys?: 'all' | Iterable<Key>
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
id?: string
onRemove?: (Set<Key>) => void
onSelectionChange?: (Selection) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, undefined>
selectedKeys?: 'all' | Iterable<Key>
selectionBehavior?: SelectionBehavior
selectionMode?: SelectionMode
shouldSelectOnPressUp?: boolean
style?: CSSProperties
}/react-aria-components:TagListProps TagListProps <T> {
children?: ReactNode | (T) => ReactNode
className?: ClassNameOrFunction<TagListRenderProps> = 'react-aria-TagList'
dependencies?: ReadonlyArray<any>
items?: Iterable<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TagListRenderProps>
renderEmptyState?: (TagListRenderProps) => ReactNode
style?: StyleOrFunction<TagListRenderProps>
}/react-aria-components:TagProps TagProps {
children?: ChildrenOrFunction<TagRenderProps>
className?: ClassNameOrFunction<TagRenderProps> = 'react-aria-Tag'
download?: boolean | string
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onBlur?: (FocusEvent<Target>) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TagRenderProps>
routerOptions?: RouterOptions
style?: StyleOrFunction<TagRenderProps>
target?: HTMLAttributeAnchorTarget
textValue?: string/react-aria-components:TextAreaProps TextAreaProps {
className?: ClassNameOrFunction<InputRenderProps> = 'react-aria-TextArea'
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, InputRenderProps>
style?: StyleOrFunction<InputRenderProps>
}/react-aria-components:TextFieldProps TextFieldProps {
aria-activedescendant?: string
aria-autocomplete?: 'none' | 'inline' | 'list' | 'both'
aria-controls?: string
aria-describedby?: string
aria-details?: string
aria-errormessage?: string
aria-haspopup?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'
aria-label?: string
aria-labelledby?: string
autoComplete?: string
autoCorrect?: string
autoFocus?: boolean
children?: ChildrenOrFunction<TextFieldRenderProps>
className?: ClassNameOrFunction<TextFieldRenderProps> = 'react-aria-TextField'
defaultValue?: string
enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'
excludeFromTabOrder?: boolean
form?: string
id?: string
inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'
isDisabled?: boolean
isInvalid?: boolean
isReadOnly?: boolean
isRequired?: boolean
maxLength?: number
minLength?: number
name?: string
onBeforeInput?: FormEventHandler<HTMLInputElement>
onBlur?: (FocusEvent<T>) => void
onChange?: (T) => void
onCompositionEnd?: CompositionEventHandler<HTMLInputElement>
onCompositionStart?: CompositionEventHandler<HTMLInputElement>
onCompositionUpdate?: CompositionEventHandler<HTMLInputElement>
onCopy?: ClipboardEventHandler<HTMLInputElement>
onCut?: ClipboardEventHandler<HTMLInputElement>
onFocus?: (FocusEvent<T>) => void
onFocusChange?: (boolean) => void
onInput?: FormEventHandler<HTMLInputElement>
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPaste?: ClipboardEventHandler<HTMLInputElement>
onSelect?: ReactEventHandler<HTMLInputElement>
pattern?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TextFieldRenderProps>
slot?: string | null
spellCheck?: string
style?: StyleOrFunction<TextFieldRenderProps>
type?: 'text' | 'search' | 'url' | 'tel' | 'email' | 'password' | (string & {
}) = 'text'
validate?: (string) => ValidationError | boolean | null | undefined
validationBehavior?: 'native' | 'aria' = 'native'
value?: string
}/react-aria-components:TextProps TextProps {
elementType?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, any>
}/react-aria-components:ToastRegionProps ToastRegionProps <T> {
aria-describedby?: string
aria-details?: string
aria-label?: string = "Notifications"
aria-labelledby?: string
children: ReactNode | ({
toast: QueuedToast<T>
}) => ReactElement
className?: ClassNameOrFunction<ToastRegionRenderProps<T>> = 'react-aria-ToastRegion'
queue: ToastQueue<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ToastRegionRenderProps<T>>
style?: StyleOrFunction<ToastRegionRenderProps<T>>
}/react-aria-components:ToastListProps ToastListProps <T> {
aria-describedby?: string
aria-details?: string
aria-label?: string = "Notifications"
aria-labelledby?: string
children: ({
toast: QueuedToast<T>
}) => ReactElement
className?: ClassNameOrFunction<ToastRegionRenderProps<T>> = 'react-aria-ToastRegion'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ToastRegionRenderProps<T>>
style?: StyleOrFunction<ToastRegionRenderProps<T>>
}/react-aria-components:ToastProps ToastProps <T> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<ToastRenderProps<T>>
className?: ClassNameOrFunction<ToastRenderProps<T>> = 'react-aria-Toast'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ToastRenderProps<T>>
style?: StyleOrFunction<ToastRenderProps<T>>
toast: QueuedToast<T>
}/react-aria-components:ToggleButtonProps ToggleButtonProps {
aria-controls?: string
aria-describedby?: string
aria-details?: string
aria-disabled?: boolean | 'true' | 'false'
aria-expanded?: boolean | 'true' | 'false'
aria-haspopup?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | 'true' | 'false'
aria-label?: string
aria-labelledby?: string
aria-pressed?: boolean | 'true' | 'false' | 'mixed'
autoFocus?: boolean
children?: ChildrenOrFunction<ToggleButtonRenderProps>
className?: ClassNameOrFunction<ToggleButtonRenderProps> = 'react-aria-ToggleButton'
defaultSelected?: boolean
excludeFromTabOrder?: boolean
id?: Key
isDisabled?: boolean
isSelected?: boolean
onBlur?: (FocusEvent<Target>) => void
onChange?: (boolean) => void
onClick?: (MouseEvent<FocusableElement>) => void
onFocus?: (FocusEvent<Target>) => void
onFocusChange?: (boolean) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onKeyDown?: (KeyboardEvent) => void
onKeyUp?: (KeyboardEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
preventFocusOnPress?: boolean
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ToggleButtonRenderProps>
slot?: string | null
style?: StyleOrFunction<ToggleButtonRenderProps>
}/react-aria-components:ToggleButtonGroupProps ToggleButtonGroupProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<ToggleButtonGroupRenderProps>
className?: ClassNameOrFunction<ToggleButtonGroupRenderProps> = 'react-aria-ToggleButtonGroup'
defaultSelectedKeys?: Iterable<Key>
disallowEmptySelection?: boolean
isDisabled?: boolean
onSelectionChange?: (Set<Key>) => void
orientation?: Orientation = 'horizontal'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ToggleButtonGroupRenderProps>
selectedKeys?: Iterable<Key>
selectionMode?: 'single' | 'multiple' = 'single'
slot?: string | null
style?: StyleOrFunction<ToggleButtonGroupRenderProps>/react-aria-components:ToolbarProps ToolbarProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
children?: ChildrenOrFunction<ToolbarRenderProps>
className?: ClassNameOrFunction<ToolbarRenderProps> = 'react-aria-Toolbar'
orientation?: Orientation = 'horizontal'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, ToolbarRenderProps>
slot?: string | null
style?: StyleOrFunction<ToolbarRenderProps>
}/react-aria-components:TooltipProps TooltipProps {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
arrowBoundaryOffset?: number = 0
children?: ChildrenOrFunction<TooltipRenderProps>
className?: ClassNameOrFunction<TooltipRenderProps> = 'react-aria-Tooltip'
containerPadding?: number = 12
crossOffset?: number = 0
defaultOpen?: boolean
isEntering?: boolean
isExiting?: boolean
isOpen?: boolean
offset?: number = 0
onOpenChange?: (boolean) => void
placement?: Placement = 'top'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TooltipRenderProps>
shouldFlip?: boolean = true
style?: StyleOrFunction<TooltipRenderProps>
triggerRef?: RefObject<Element | null>
}/react-aria-components:TreeProps TreeProps <T> {
aria-describedby?: string
aria-details?: string
aria-label?: string
aria-labelledby?: string
autoFocus?: boolean | FocusStrategy
children?: ReactNode | (T) => ReactNode
className?: ClassNameOrFunction<TreeRenderProps> = 'react-aria-Tree'
defaultExpandedKeys?: Iterable<Key>
defaultSelectedKeys?: 'all' | Iterable<Key>
dependencies?: ReadonlyArray<any>
disabledBehavior?: DisabledBehavior = 'all'
disabledKeys?: Iterable<Key>
disallowEmptySelection?: boolean
dragAndDropHooks?: DragAndDropHooks<NoInfer<T>>
escapeKeyBehavior?: 'clearSelection' | 'none' = 'clearSelection'
expandedKeys?: Iterable<Key>
id?: string
items?: Iterable<T>
onAction?: (Key) => void
onExpandedChange?: (Set<Key>) => any
onSelectionChange?: (Selection) => void
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TreeRenderProps>
renderEmptyState?: (TreeEmptyStateRenderProps) => ReactNode
selectedKeys?: 'all' | Iterable<Key>
selectionBehavior?: SelectionBehavior = "toggle"
selectionMode?: SelectionMode
slot?: string | null
style?: StyleOrFunction<TreeRenderProps>
}/react-aria-components:TreeItemProps TreeItemProps <T = {}> {
aria-label?: string
children: ReactNode
className?: ClassNameOrFunction<TreeItemRenderProps> = 'react-aria-TreeItem'
download?: boolean | string
hasChildItems?: boolean
href?: Href
hrefLang?: string
id?: Key
isDisabled?: boolean
onAction?: () => void
onClick?: (MouseEvent<FocusableElement>) => void
onHoverChange?: (boolean) => void
onHoverEnd?: (HoverEvent) => void
onHoverStart?: (HoverEvent) => void
onPress?: (PressEvent) => void
onPressChange?: (boolean) => void
onPressEnd?: (PressEvent) => void
onPressStart?: (PressEvent) => void
onPressUp?: (PressEvent) => void
ping?: string
referrerPolicy?: HTMLAttributeReferrerPolicy
rel?: string
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TreeItemRenderProps>
routerOptions?: RouterOptions
style?: StyleOrFunction<TreeItemRenderProps>
target?: HTMLAttributeAnchorTarget
textValue: string
}/react-aria-components:TreeLoadMoreItemProps TreeLoadMoreItemProps {
children?: ChildrenOrFunction<TreeLoadMoreItemRenderProps>
className?: ClassNameOrFunction<TreeLoadMoreItemRenderProps> = 'react-aria-TreeLoadMoreItem'
isLoading?: boolean
onLoadMore?: () => any
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, TreeLoadMoreItemRenderProps>
scrollOffset?: number = 1
style?: StyleOrFunction<TreeLoadMoreItemRenderProps>
}/react-aria-components:DropIndicatorProps DropIndicatorProps {
children?: ChildrenOrFunction<DropIndicatorRenderProps>
className?: ClassNameOrFunction<DropIndicatorRenderProps> = 'react-aria-DropIndicator'
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, DropIndicatorRenderProps>
style?: StyleOrFunction<DropIndicatorRenderProps>
target: DropTarget
}/react-aria-components:RenderProps-RenderProps <T> {
+RenderProps <E extends keyof React.JSX.IntrinsicElements = 'div', T> {
children?: ChildrenOrFunction<T>
className?: ClassNameOrFunction<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, T>
style?: StyleOrFunction<T>
}/react-aria-components:StyleRenderProps-StyleRenderProps <T> {
+StyleRenderProps <E extends keyof React.JSX.IntrinsicElements = 'div', T> {
className?: ClassNameOrFunction<T>
+ render?: DOMRenderFunction<keyof React.JSX.IntrinsicElements, T>
style?: StyleOrFunction<T>
} |
Closes #5476, closes #5321, closes #9470, closes #9450
This adds an often-requested feature: the ability to customize the element rendered by React Aria Components and merge behavior/styles with custom components. We have generally discouraged this because it can easily lead to breaking the behavior and/or accessibility of our components. We have created features like
RouterProviderand recommended alternatives like sharing styles viaclassName. However, there are a few commonly cited use cases that don't have a good alternative at the moment.Use cases
RouterProviderfor this use case, but it does not support the extra behavior often added by router links such as pre-fetching, and supporting customhreftypes and options is complicated. Another alternative is for the router Link to handle the composition, so that it wraps RAC rather than the other way around. This has been possible since we started passing through all DOM events, but not all routers support it. In the future, routers could potentially also adopt React's new Fragment refs (currently in canary). However, at the current moment there isn't a single way to implement this that works everywhere, which complicates our documentation.className, or wrap React Aria Components with CSS-in-JS libraries. But if you already have a set of presentation-only components you cannot currently reuse them, making incremental adoption difficult. See How to use react-aria-components with styled-components? #8627.<motion.div>instead of<div>. It's possible to wrap the opposite direct withmotion.create(RAComponent), but this means motion doesn't have access to the render props (e.g. data attributes) to drive animations. See Framer Motion RAC wrappers #4813mergePropswhenever changing DOM props.Solution
Following Ariakit and Base UI, this PR adds support for the
renderprop. Unlike those libraries, React Aria only supports the function signature. Therenderfunction accepts an object of DOM props (including ref) and render props (if any, e.g.isSelected), and it is expected to return a React Element with those props applied. This is the most explicit and type-safe API, with no implicit prop merging. TypeScript will also error in most cases when trying to spread the props onto the wrong element.Guardrails
There are a few guard rails in place to help avoid unintentionally breaking the component's behavior or accessibility.
<button>is expected, you cannot render an<a>). This is checked in development and a warning is logged if we detect a mis-match. This requirement is because React Aria generates DOM props expecting a certain DOM element, and makes assumptions about the accessibility tree and behavior based on this. For example thedisabledattribute is supported on<button>but not<a>.Gotchas
Conditional elements
Some components change what element is expected based on their props. For example, MenuItem can render as a
<div>or<a>depending on thehrefprop. When anhrefis present, the behavior of the MenuItem component also changes (e.g. whether the menu closes on click, or whether the item is selectable). Therefore, even when using a custom router Link, you must pass anhrefto React Aria as well. You can detect which element to render based on whether thehrefprop is present in the DOM props (TypeScript will error if you don't do this).In cases where the Router's href prop is not a string, you can provide a fake
hrefto React Aria to ensure it renders as a link, and pass the real ones directly to the router link. For example with a RouterLink that has atoprop that's an object:This is a little non-intuitive so we will need documentation in the Framework Setup guide for this. Alternatively we could add another
elementType="div | a"prop, but that's also a little confusing when combined withrender. We will see if people have trouble.Synthetic links
Another weird case is components that render synthetic links, such as
<Row>,<GridListItem>, and<Tag>. Even when thehrefprop is provided, these still render as divs, and link navigation occurs via JS. This is because the ARIA in HTML spec disallows<a>elements withrole="rowandrole="gridcell"(see w3c/html-aria#473). This means it's not possible to userenderto render these as router links, unless the router'sLinkcomponent itself allows rendering links as a<div>instead of<a>. You can continue usingRouterProviderto handle these, or do programmatic navigation in theonPress/onActionevent. (Or you could ignore the warning and use the router Link anyway - it has no real accessibility downside - but this will fail automated a11y checkers like aXe).Internals
The implementation uses a
Proxyto dynamically create and cache components for each DOM element, e.g.dom.buttonanddom.div. These are used in place of directly rendering elements within our components. These components accept therenderprop, which if provided is called to render the element instead of rendering the DOM node directly. It also does development-only checks to ensure the correct element is rendered.The
DOMRenderPropstype is extended by all of our components to add therenderprop. It accepts a generic for the element type(s) that are expected.useRenderPropsnow accepts therenderprop and wraps it to add the render props (e.g.isPressed/isSelected). When the result is spread onto the DOM element, this gets passed through.Test instructions
Open the
ButtonandMenuRAC stories for custom renderers and verify that they look ok. TheButtonshould have a red background. TheMenuItemshould render as a link and log a message when clicked. The rest of the components are covered in unit tests.