Skip to content

Conversation

@devongovett
Copy link
Member

@devongovett devongovett commented Jan 16, 2026

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 RouterProvider and recommended alternatives like sharing styles via className. However, there are a few commonly cited use cases that don't have a good alternative at the moment.

Use cases

  1. Rendering as a Router Link component. We support RouterProvider for this use case, but it does not support the extra behavior often added by router links such as pre-fetching, and supporting custom href types 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.
  2. Reusing an existing component with styles and/or presentational behaviors (e.g. animations). It's possible to share styles by reusing the same 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.
  3. Using animation libraries, e.g. rendering <motion.div> instead of <div>. It's possible to wrap the opposite direct with motion.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 #4813
  4. Overriding DOM props. A bit of an advanced use-case, but as an escape hatch the ability to change DOM attributes, e.g. override data attributes or merge custom event handlers, this could be useful. Note that it's easy to break the component's behavior, so it's best to use mergeProps whenever changing DOM props.

Solution

Following Ariakit and Base UI, this PR adds support for the render prop. Unlike those libraries, React Aria only supports the function signature. The render function 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.

  1. You must render the expected element type (e.g. if <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 the disabled attribute is supported on <button> but not <a>.
  2. Only a single root DOM element can be rendered (no fragments).
  3. You must pass through props and ref to the underlying DOM element, merging with your own prop as appropriate. We log a warning if the ref is not attached, but do not currently verify the DOM props.

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 the href prop. When an href is 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 an href to React Aria as well. You can detect which element to render based on whether the href prop is present in the DOM props (TypeScript will error if you don't do this).

function MyMenuItem(props: MenuItemProps) {
  return (
    <MenuItem
      {...props} 
      render={domProps => 'href' in domProps ? <RouterLink {...domProps} /> : <div {...domProps} />} />
  );
}

In cases where the Router's href prop is not a string, you can provide a fake href to 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 a to prop that's an object:

function MyMenuItem(props: MenuItemProps & RouterLinkProps) {
  let {to, ...otherProps} = props;
  return (
    <MenuItem
      {...otherProps}
      // Fake href so React Aria knows this is a link.
      href={to ? '#' : undefined}
      render={domProps => 'href' in domProps ? <RouterLink {...domProps} to={to} /> : <div {...domProps} />} />
  );
}

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 with render. 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 the href prop is provided, these still render as divs, and link navigation occurs via JS. This is because the ARIA in HTML spec disallows <a> elements with role="row and role="gridcell" (see w3c/html-aria#473). This means it's not possible to use render to render these as router links, unless the router's Link component itself allows rendering links as a <div> instead of <a>. You can continue using RouterProvider to handle these, or do programmatic navigation in the onPress / onAction event. (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 Proxy to dynamically create and cache components for each DOM element, e.g. dom.button and dom.div. These are used in place of directly rendering elements within our components. These components accept the render prop, 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 DOMRenderProps type is extended by all of our components to add the render prop. It accepts a generic for the element type(s) that are expected.

useRenderProps now accepts the render prop 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 Button and Menu RAC stories for custom renderers and verify that they look ok. The Button should have a red background. The MenuItem should render as a link and log a message when clicked. The rest of the components are covered in unit tests.

# 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
@rspbot
Copy link

rspbot commented Jan 16, 2026

@rspbot
Copy link

rspbot commented Jan 16, 2026

@mryechkin
Copy link

Thank you! 🙏 This is going to be super helpful, glad to see it being added 🚀

@jrmyio
Copy link

jrmyio commented Jan 17, 2026

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 renderProps directly. If those aren’t passed as a second argument, the DX still feels pretty rough. You’d be forced to rely on untyped attributes like data-pressed from props, rather than using the already strongly typed render props such as isPressed.

It feels like a missed opportunity not to pass renderProps as a second argument, since it would enable a much nicer and more ergonomic API, for example:

<Button
  render={(props, { isPressed }) => (
    <motion.button
      {...props}
      animate={{ scale: isPressed ? 0.9 : 1 }}
    />
  )}
/>

@devongovett
Copy link
Member Author

@jrmyio good idea! I added a second argument with the render props (when applicable) in the commit above.

@rspbot
Copy link

rspbot commented Jan 20, 2026

@rspbot
Copy link

rspbot commented Jan 20, 2026

## 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>
 }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add preload prop to RouterProvider for link prefetching React Aria Components: rendering as custom components asChild props, like in Radix UI

5 participants