react-aria-components 1.10.1 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/dist/Breadcrumbs.main.js +9 -2
  2. package/dist/Breadcrumbs.main.js.map +1 -1
  3. package/dist/Breadcrumbs.mjs +10 -3
  4. package/dist/Breadcrumbs.module.js +10 -3
  5. package/dist/Breadcrumbs.module.js.map +1 -1
  6. package/dist/Button.main.js +7 -17
  7. package/dist/Button.main.js.map +1 -1
  8. package/dist/Button.mjs +7 -17
  9. package/dist/Button.module.js +7 -17
  10. package/dist/Button.module.js.map +1 -1
  11. package/dist/Calendar.main.js +36 -14
  12. package/dist/Calendar.main.js.map +1 -1
  13. package/dist/Calendar.mjs +38 -16
  14. package/dist/Calendar.module.js +38 -16
  15. package/dist/Calendar.module.js.map +1 -1
  16. package/dist/Checkbox.main.js +8 -3
  17. package/dist/Checkbox.main.js.map +1 -1
  18. package/dist/Checkbox.mjs +10 -5
  19. package/dist/Checkbox.module.js +10 -5
  20. package/dist/Checkbox.module.js.map +1 -1
  21. package/dist/Collection.main.js.map +1 -1
  22. package/dist/Collection.module.js.map +1 -1
  23. package/dist/ColorArea.main.js +4 -4
  24. package/dist/ColorArea.main.js.map +1 -1
  25. package/dist/ColorArea.mjs +5 -5
  26. package/dist/ColorArea.module.js +5 -5
  27. package/dist/ColorArea.module.js.map +1 -1
  28. package/dist/ColorField.main.js +14 -1
  29. package/dist/ColorField.main.js.map +1 -1
  30. package/dist/ColorField.mjs +14 -1
  31. package/dist/ColorField.module.js +14 -1
  32. package/dist/ColorField.module.js.map +1 -1
  33. package/dist/ColorSlider.main.js +3 -1
  34. package/dist/ColorSlider.main.js.map +1 -1
  35. package/dist/ColorSlider.mjs +3 -1
  36. package/dist/ColorSlider.module.js +3 -1
  37. package/dist/ColorSlider.module.js.map +1 -1
  38. package/dist/ColorSwatch.main.js +6 -2
  39. package/dist/ColorSwatch.main.js.map +1 -1
  40. package/dist/ColorSwatch.mjs +6 -2
  41. package/dist/ColorSwatch.module.js +6 -2
  42. package/dist/ColorSwatch.module.js.map +1 -1
  43. package/dist/ColorSwatchPicker.main.js.map +1 -1
  44. package/dist/ColorSwatchPicker.module.js.map +1 -1
  45. package/dist/ColorThumb.main.js +3 -1
  46. package/dist/ColorThumb.main.js.map +1 -1
  47. package/dist/ColorThumb.mjs +3 -1
  48. package/dist/ColorThumb.module.js +3 -1
  49. package/dist/ColorThumb.module.js.map +1 -1
  50. package/dist/ColorWheel.main.js +3 -1
  51. package/dist/ColorWheel.main.js.map +1 -1
  52. package/dist/ColorWheel.mjs +3 -1
  53. package/dist/ColorWheel.module.js +3 -1
  54. package/dist/ColorWheel.module.js.map +1 -1
  55. package/dist/ComboBox.main.js +4 -1
  56. package/dist/ComboBox.main.js.map +1 -1
  57. package/dist/ComboBox.mjs +4 -1
  58. package/dist/ComboBox.module.js +4 -1
  59. package/dist/ComboBox.module.js.map +1 -1
  60. package/dist/DateField.main.js +16 -3
  61. package/dist/DateField.main.js.map +1 -1
  62. package/dist/DateField.mjs +16 -3
  63. package/dist/DateField.module.js +16 -3
  64. package/dist/DateField.module.js.map +1 -1
  65. package/dist/DatePicker.main.js +15 -8
  66. package/dist/DatePicker.main.js.map +1 -1
  67. package/dist/DatePicker.mjs +16 -9
  68. package/dist/DatePicker.module.js +16 -9
  69. package/dist/DatePicker.module.js.map +1 -1
  70. package/dist/Dialog.main.js +4 -3
  71. package/dist/Dialog.main.js.map +1 -1
  72. package/dist/Dialog.mjs +5 -4
  73. package/dist/Dialog.module.js +5 -4
  74. package/dist/Dialog.module.js.map +1 -1
  75. package/dist/Disclosure.main.js +12 -10
  76. package/dist/Disclosure.main.js.map +1 -1
  77. package/dist/Disclosure.mjs +13 -11
  78. package/dist/Disclosure.module.js +13 -11
  79. package/dist/Disclosure.module.js.map +1 -1
  80. package/dist/DragAndDrop.main.js +31 -3
  81. package/dist/DragAndDrop.main.js.map +1 -1
  82. package/dist/DragAndDrop.mjs +31 -3
  83. package/dist/DragAndDrop.module.js +31 -3
  84. package/dist/DragAndDrop.module.js.map +1 -1
  85. package/dist/DropZone.main.js +4 -3
  86. package/dist/DropZone.main.js.map +1 -1
  87. package/dist/DropZone.mjs +4 -3
  88. package/dist/DropZone.module.js +4 -3
  89. package/dist/DropZone.module.js.map +1 -1
  90. package/dist/FieldError.main.js +3 -1
  91. package/dist/FieldError.main.js.map +1 -1
  92. package/dist/FieldError.mjs +3 -1
  93. package/dist/FieldError.module.js +3 -1
  94. package/dist/FieldError.module.js.map +1 -1
  95. package/dist/FileTrigger.main.js +3 -1
  96. package/dist/FileTrigger.main.js.map +1 -1
  97. package/dist/FileTrigger.mjs +3 -1
  98. package/dist/FileTrigger.module.js +3 -1
  99. package/dist/FileTrigger.module.js.map +1 -1
  100. package/dist/Form.main.js.map +1 -1
  101. package/dist/Form.module.js.map +1 -1
  102. package/dist/GridList.main.js +20 -13
  103. package/dist/GridList.main.js.map +1 -1
  104. package/dist/GridList.mjs +21 -14
  105. package/dist/GridList.module.js +21 -14
  106. package/dist/GridList.module.js.map +1 -1
  107. package/dist/HiddenDateInput.main.js +118 -0
  108. package/dist/HiddenDateInput.main.js.map +1 -0
  109. package/dist/HiddenDateInput.mjs +109 -0
  110. package/dist/HiddenDateInput.module.js +109 -0
  111. package/dist/HiddenDateInput.module.js.map +1 -0
  112. package/dist/Link.main.js +7 -1
  113. package/dist/Link.main.js.map +1 -1
  114. package/dist/Link.mjs +7 -1
  115. package/dist/Link.module.js +7 -1
  116. package/dist/Link.module.js.map +1 -1
  117. package/dist/ListBox.main.js +22 -19
  118. package/dist/ListBox.main.js.map +1 -1
  119. package/dist/ListBox.mjs +23 -20
  120. package/dist/ListBox.module.js +23 -20
  121. package/dist/ListBox.module.js.map +1 -1
  122. package/dist/Menu.main.js +15 -8
  123. package/dist/Menu.main.js.map +1 -1
  124. package/dist/Menu.mjs +16 -9
  125. package/dist/Menu.module.js +16 -9
  126. package/dist/Menu.module.js.map +1 -1
  127. package/dist/Meter.main.js +6 -2
  128. package/dist/Meter.main.js.map +1 -1
  129. package/dist/Meter.mjs +6 -2
  130. package/dist/Meter.module.js +6 -2
  131. package/dist/Meter.module.js.map +1 -1
  132. package/dist/Modal.main.js +31 -6
  133. package/dist/Modal.main.js.map +1 -1
  134. package/dist/Modal.mjs +31 -6
  135. package/dist/Modal.module.js +31 -6
  136. package/dist/Modal.module.js.map +1 -1
  137. package/dist/NumberField.main.js +4 -1
  138. package/dist/NumberField.main.js.map +1 -1
  139. package/dist/NumberField.mjs +4 -1
  140. package/dist/NumberField.module.js +4 -1
  141. package/dist/NumberField.module.js.map +1 -1
  142. package/dist/Popover.main.js +3 -1
  143. package/dist/Popover.main.js.map +1 -1
  144. package/dist/Popover.mjs +3 -1
  145. package/dist/Popover.module.js +3 -1
  146. package/dist/Popover.module.js.map +1 -1
  147. package/dist/ProgressBar.main.js +6 -2
  148. package/dist/ProgressBar.main.js.map +1 -1
  149. package/dist/ProgressBar.mjs +6 -2
  150. package/dist/ProgressBar.module.js +6 -2
  151. package/dist/ProgressBar.module.js.map +1 -1
  152. package/dist/RadioGroup.main.js +8 -3
  153. package/dist/RadioGroup.main.js.map +1 -1
  154. package/dist/RadioGroup.mjs +9 -4
  155. package/dist/RadioGroup.module.js +9 -4
  156. package/dist/RadioGroup.module.js.map +1 -1
  157. package/dist/SearchField.main.js +3 -1
  158. package/dist/SearchField.main.js.map +1 -1
  159. package/dist/SearchField.mjs +3 -1
  160. package/dist/SearchField.module.js +3 -1
  161. package/dist/SearchField.module.js.map +1 -1
  162. package/dist/Select.main.js +12 -14
  163. package/dist/Select.main.js.map +1 -1
  164. package/dist/Select.mjs +13 -15
  165. package/dist/Select.module.js +13 -15
  166. package/dist/Select.module.js.map +1 -1
  167. package/dist/Separator.main.js +4 -2
  168. package/dist/Separator.main.js.map +1 -1
  169. package/dist/Separator.mjs +5 -3
  170. package/dist/Separator.module.js +5 -3
  171. package/dist/Separator.module.js.map +1 -1
  172. package/dist/Slider.main.js +7 -5
  173. package/dist/Slider.main.js.map +1 -1
  174. package/dist/Slider.mjs +8 -6
  175. package/dist/Slider.module.js +8 -6
  176. package/dist/Slider.module.js.map +1 -1
  177. package/dist/Switch.main.js +4 -1
  178. package/dist/Switch.main.js.map +1 -1
  179. package/dist/Switch.mjs +4 -1
  180. package/dist/Switch.module.js +4 -1
  181. package/dist/Switch.module.js.map +1 -1
  182. package/dist/Table.main.js +47 -26
  183. package/dist/Table.main.js.map +1 -1
  184. package/dist/Table.mjs +48 -27
  185. package/dist/Table.module.js +48 -27
  186. package/dist/Table.module.js.map +1 -1
  187. package/dist/Tabs.main.js +20 -10
  188. package/dist/Tabs.main.js.map +1 -1
  189. package/dist/Tabs.mjs +21 -11
  190. package/dist/Tabs.module.js +21 -11
  191. package/dist/Tabs.module.js.map +1 -1
  192. package/dist/TagGroup.main.js +14 -8
  193. package/dist/TagGroup.main.js.map +1 -1
  194. package/dist/TagGroup.mjs +14 -8
  195. package/dist/TagGroup.module.js +14 -8
  196. package/dist/TagGroup.module.js.map +1 -1
  197. package/dist/TextField.main.js +13 -1
  198. package/dist/TextField.main.js.map +1 -1
  199. package/dist/TextField.mjs +13 -1
  200. package/dist/TextField.module.js +13 -1
  201. package/dist/TextField.module.js.map +1 -1
  202. package/dist/Toast.main.js +9 -5
  203. package/dist/Toast.main.js.map +1 -1
  204. package/dist/Toast.mjs +9 -5
  205. package/dist/Toast.module.js +9 -5
  206. package/dist/Toast.module.js.map +1 -1
  207. package/dist/ToggleButton.main.js +8 -2
  208. package/dist/ToggleButton.main.js.map +1 -1
  209. package/dist/ToggleButton.mjs +8 -2
  210. package/dist/ToggleButton.module.js +8 -2
  211. package/dist/ToggleButton.module.js.map +1 -1
  212. package/dist/ToggleButtonGroup.main.js +6 -2
  213. package/dist/ToggleButtonGroup.main.js.map +1 -1
  214. package/dist/ToggleButtonGroup.mjs +6 -2
  215. package/dist/ToggleButtonGroup.module.js +6 -2
  216. package/dist/ToggleButtonGroup.module.js.map +1 -1
  217. package/dist/Toolbar.main.js +4 -3
  218. package/dist/Toolbar.main.js.map +1 -1
  219. package/dist/Toolbar.mjs +4 -3
  220. package/dist/Toolbar.module.js +4 -3
  221. package/dist/Toolbar.module.js.map +1 -1
  222. package/dist/Tooltip.main.js +5 -3
  223. package/dist/Tooltip.main.js.map +1 -1
  224. package/dist/Tooltip.mjs +5 -3
  225. package/dist/Tooltip.module.js +5 -3
  226. package/dist/Tooltip.module.js.map +1 -1
  227. package/dist/Tree.main.js +73 -26
  228. package/dist/Tree.main.js.map +1 -1
  229. package/dist/Tree.mjs +74 -27
  230. package/dist/Tree.module.js +74 -27
  231. package/dist/Tree.module.js.map +1 -1
  232. package/dist/TreeDropTargetDelegate.main.js +8 -5
  233. package/dist/TreeDropTargetDelegate.main.js.map +1 -1
  234. package/dist/TreeDropTargetDelegate.mjs +8 -5
  235. package/dist/TreeDropTargetDelegate.module.js +8 -5
  236. package/dist/TreeDropTargetDelegate.module.js.map +1 -1
  237. package/dist/import.mjs +5 -5
  238. package/dist/main.js +4 -4
  239. package/dist/main.js.map +1 -1
  240. package/dist/module.js +5 -5
  241. package/dist/module.js.map +1 -1
  242. package/dist/types.d.ts +212 -203
  243. package/dist/types.d.ts.map +1 -1
  244. package/dist/useDragAndDrop.main.js.map +1 -1
  245. package/dist/useDragAndDrop.module.js.map +1 -1
  246. package/dist/utils.main.js.map +1 -1
  247. package/dist/utils.module.js.map +1 -1
  248. package/i18n/de-DE.js +1 -1
  249. package/i18n/de-DE.mjs +1 -1
  250. package/package.json +25 -25
  251. package/src/Breadcrumbs.tsx +10 -6
  252. package/src/Button.tsx +8 -30
  253. package/src/Calendar.tsx +41 -24
  254. package/src/Checkbox.tsx +8 -6
  255. package/src/Collection.tsx +2 -2
  256. package/src/ColorArea.tsx +5 -6
  257. package/src/ColorField.tsx +6 -4
  258. package/src/ColorSlider.tsx +3 -2
  259. package/src/ColorSwatch.tsx +6 -3
  260. package/src/ColorSwatchPicker.tsx +3 -3
  261. package/src/ColorThumb.tsx +3 -3
  262. package/src/ColorWheel.tsx +6 -5
  263. package/src/ComboBox.tsx +4 -4
  264. package/src/DateField.tsx +15 -10
  265. package/src/DatePicker.tsx +14 -12
  266. package/src/Dialog.tsx +6 -6
  267. package/src/Disclosure.tsx +10 -14
  268. package/src/DragAndDrop.tsx +31 -1
  269. package/src/DropZone.tsx +4 -5
  270. package/src/FieldError.tsx +3 -3
  271. package/src/FileTrigger.tsx +4 -3
  272. package/src/Form.tsx +2 -1
  273. package/src/GridList.tsx +25 -18
  274. package/src/HiddenDateInput.tsx +142 -0
  275. package/src/Link.tsx +7 -3
  276. package/src/ListBox.tsx +30 -26
  277. package/src/Menu.tsx +15 -12
  278. package/src/Meter.tsx +6 -3
  279. package/src/Modal.tsx +16 -5
  280. package/src/NumberField.tsx +4 -4
  281. package/src/Popover.tsx +3 -3
  282. package/src/ProgressBar.tsx +6 -2
  283. package/src/RadioGroup.tsx +8 -6
  284. package/src/SearchField.tsx +3 -2
  285. package/src/Select.tsx +13 -16
  286. package/src/Separator.tsx +6 -4
  287. package/src/Slider.tsx +9 -11
  288. package/src/Switch.tsx +4 -3
  289. package/src/Table.tsx +58 -56
  290. package/src/Tabs.tsx +18 -15
  291. package/src/TagGroup.tsx +13 -12
  292. package/src/TextField.tsx +5 -2
  293. package/src/Toast.tsx +10 -8
  294. package/src/ToggleButton.tsx +8 -4
  295. package/src/ToggleButtonGroup.tsx +6 -4
  296. package/src/Toolbar.tsx +4 -5
  297. package/src/Tooltip.tsx +6 -5
  298. package/src/Tree.tsx +90 -42
  299. package/src/TreeDropTargetDelegate.ts +5 -1
  300. package/src/index.ts +8 -8
  301. package/src/useDragAndDrop.tsx +2 -2
  302. package/src/utils.tsx +9 -9
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { AriaLabelingProps, RefObject, DOMProps as _DOMProps1, ValidationResult, HoverEvents as _HoverEvents1, InputDOMProps, CollectionBase, DropTargetDelegate, ItemDropTarget, Key, LayoutDelegate, DraggableCollectionProps, DroppableCollectionProps, LinkDOMProps, ValueBase, MultipleSelection, Node as _Node1, Orientation as _Orientation2, DisabledBehavior as _DisabledBehavior1, Expandable, SelectionMode as _SelectionMode1 } from "@react-types/shared";
2
- import React, { Context, CSSProperties, ForwardedRef, JSX, ReactNode, UIEvent, HTMLAttributes, LabelHTMLAttributes, InputHTMLAttributes, OutputHTMLAttributes, TextareaHTMLAttributes, ReactElement } from "react";
1
+ import { AriaLabelingProps, RefObject, DOMProps as _DOMProps1, GlobalDOMAttributes, ValidationResult, HoverEvents as _HoverEvents1, InputDOMProps, CollectionBase, DropTargetDelegate, ItemDropTarget, Key, LayoutDelegate, DraggableCollectionProps, DroppableCollectionProps, LinkDOMProps, PressEvents, ValueBase, MultipleSelection, Node as _Node1, Orientation as _Orientation2, DisabledBehavior as _DisabledBehavior1, Expandable, SelectionMode as _SelectionMode1 } from "@react-types/shared";
2
+ import React, { Context, CSSProperties, ForwardedRef, JSX, ReactNode, HTMLAttributes, LabelHTMLAttributes, InputHTMLAttributes, OutputHTMLAttributes, TextareaHTMLAttributes, ReactElement } from "react";
3
3
  import { FormProps as _FormProps1 } from "@react-types/form";
4
- import { AriaCheckboxGroupProps, AriaCheckboxProps, HoverEvents, AriaColorAreaProps, AriaColorFieldProps, AriaSliderProps, AriaSliderThumbProps, Orientation, AriaColorSliderProps, AriaColorWheelOptions, AriaProgressBarProps, AriaButtonProps, HoverProps, AriaSearchFieldProps, AriaTextFieldProps, AriaLinkOptions, AriaBreadcrumbsProps, AriaCalendarProps, AriaRangeCalendarProps, DateValue, AriaColorSwatchProps, DropIndicatorProps as _DropIndicatorProps1, DraggableCollectionOptions, DraggableItemProps, DraggableItemResult, DragItem, DragPreview, DropIndicatorAria, DroppableCollectionOptions, DroppableCollectionResult, DroppableItemOptions, DroppableItemResult, DropTarget, DropTargetDelegate as _DropTargetDelegate1, ListDropTargetDelegate, SeparatorProps as _SeparatorProps1, AriaListBoxProps, PlacementAxis, AriaPopoverProps, PositionProps, AriaMenuProps, AriaDialogProps, AriaComboBoxProps, AriaDateFieldProps, AriaTimeFieldProps, TimeValue, AriaDatePickerProps, AriaDateRangePickerProps, AriaDisclosureProps, DropOptions, AriaGridListProps, AriaMeterProps, AriaModalOverlayProps, AriaNumberFieldProps, AriaRadioGroupProps, AriaRadioProps, AriaSelectProps, AriaSwitchProps, AriaTabListProps, AriaTabPanelProps, AriaTagGroupProps, AriaToastProps, AriaToastRegionProps, AriaToggleButtonGroupProps, AriaToggleButtonProps, AriaPositionProps, Placement, AriaTreeItemOptions, AriaTreeProps } from "react-aria";
4
+ import { AriaCheckboxGroupProps, AriaCheckboxProps, HoverEvents, AriaColorAreaProps, HoverProps, AriaColorFieldProps, AriaSliderProps, AriaSliderThumbProps, Orientation, AriaColorSliderProps, AriaColorWheelOptions, AriaProgressBarProps, AriaButtonProps, AriaSearchFieldProps, AriaTextFieldProps, AriaLinkOptions, AriaBreadcrumbsProps, AriaCalendarProps, AriaRangeCalendarProps, DateValue, AriaColorSwatchProps, DropIndicatorProps as _DropIndicatorProps1, DraggableCollectionOptions, DraggableItemProps, DraggableItemResult, DragItem, DragPreview, DropIndicatorAria, DroppableCollectionOptions, DroppableCollectionResult, DroppableItemOptions, DroppableItemResult, DropTarget, DropTargetDelegate as _DropTargetDelegate1, ListDropTargetDelegate, SeparatorProps as _SeparatorProps1, AriaListBoxProps, PlacementAxis, AriaPopoverProps, PositionProps, AriaMenuProps, AriaDialogProps, AriaComboBoxProps, AriaDateFieldProps, AriaTimeFieldProps, TimeValue, AriaDatePickerProps, AriaDateRangePickerProps, AriaDisclosureProps, DropOptions, AriaGridListProps, AriaMeterProps, AriaModalOverlayProps, AriaNumberFieldProps, AriaRadioGroupProps, AriaRadioProps, AriaSelectProps, AriaSwitchProps, AriaTabListProps, AriaTabPanelProps, AriaTagGroupProps, AriaToastProps, AriaToastRegionProps, AriaToggleButtonGroupProps, AriaToggleButtonProps, AriaPositionProps, Placement, AriaTreeItemOptions, AriaTreeProps } from "react-aria";
5
5
  import { CheckboxGroupState, Color, ColorAreaState, ColorChannel, ColorFieldState, ColorSpace, SliderState, ColorSliderState, ColorWheelState, SearchFieldState, Collection, Node, SelectionBehavior, SelectionMode, SectionProps as _SectionProps1, CalendarState, RangeCalendarState, DraggableCollectionState, DraggableCollectionStateOptions, DroppableCollectionState, DroppableCollectionStateOptions, ListState, Orientation as _Orientation1, ColorPickerState, ColorPickerProps as _ColorPickerProps1, OverlayTriggerProps, MenuTriggerProps as _MenuTriggerProps1, RootMenuTriggerState, TreeState, OverlayTriggerState, ComboBoxState, DateFieldState, DateSegmentType, DateSegment as _DateSegment1, TimeFieldState, DatePickerState, DatePickerStateOptions, DateRangePickerState, DateRangePickerStateOptions, DisclosureGroupState, DisclosureState, DisclosureGroupProps as _DisclosureGroupProps1, NumberFieldState, RadioGroupState, SelectState, ToggleState, DisabledBehavior, SortDirection, TableState, TabListState, QueuedToast, ToastQueue, ToastState, ToggleGroupState, TooltipTriggerProps, TooltipTriggerState } from "react-stately";
6
6
  import { AriaAutocompleteProps } from "@react-aria/autocomplete";
7
7
  import { AutocompleteState } from "@react-stately/autocomplete";
@@ -35,25 +35,24 @@ interface DOMProps extends StyleProps, _DOMProps1 {
35
35
  /** The children of the component. */
36
36
  children?: ReactNode;
37
37
  }
38
- interface ScrollableProps<T extends Element> {
39
- /** Handler that is called when a user scrolls. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Element/scroll_event). */
40
- onScroll?: (e: UIEvent<T>) => void;
41
- }
38
+ type ClassNameOrFunction<T> = string | ((values: T & {
39
+ defaultClassName: string | undefined;
40
+ }) => string);
41
+ type StyleOrFunction<T> = CSSProperties | ((values: T & {
42
+ defaultStyle: CSSProperties;
43
+ }) => CSSProperties | undefined);
42
44
  export interface StyleRenderProps<T> {
43
45
  /** The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state. */
44
- className?: string | ((values: T & {
45
- defaultClassName: string | undefined;
46
- }) => string);
46
+ className?: ClassNameOrFunction<T>;
47
47
  /** The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. A function may be provided to compute the style based on component state. */
48
- style?: CSSProperties | ((values: T & {
49
- defaultStyle: CSSProperties;
50
- }) => CSSProperties | undefined);
48
+ style?: StyleOrFunction<T>;
51
49
  }
50
+ type ChildrenOrFunction<T> = ReactNode | ((values: T & {
51
+ defaultChildren: ReactNode | undefined;
52
+ }) => ReactNode);
52
53
  export interface RenderProps<T> extends StyleRenderProps<T> {
53
54
  /** The children of the component. A function may be provided to alter the children based on component state. */
54
- children?: ReactNode | ((values: T & {
55
- defaultChildren: ReactNode | undefined;
56
- }) => ReactNode);
55
+ children?: ChildrenOrFunction<T>;
57
56
  }
58
57
  interface RenderPropsHookOptions<T> extends RenderProps<T>, _DOMProps1, AriaLabelingProps {
59
58
  values: T;
@@ -84,7 +83,7 @@ export interface SlotProps {
84
83
  slot?: string | null;
85
84
  }
86
85
  export function useSlottedContext<T>(context: Context<SlottedContextValue<T>>, slot?: string | null): T | null | undefined;
87
- export function useContextProps<T, U extends SlotProps, E extends Element>(props: T & SlotProps, ref: ForwardedRef<E>, context: Context<ContextValue<U, E>>): [T, RefObject<E | null>];
86
+ export function useContextProps<T, U extends SlotProps, E extends Element>(props: T & SlotProps, ref: ForwardedRef<E> | undefined, context: Context<ContextValue<U, E>>): [T, RefObject<E | null>];
88
87
  interface RACValidation {
89
88
  /**
90
89
  * Whether to use native HTML form validation to prevent form submission
@@ -102,13 +101,13 @@ export const Text: React.ForwardRefExoticComponent<TextProps & React.RefAttribut
102
101
  export const FieldErrorContext: React.Context<ValidationResult | null>;
103
102
  export interface FieldErrorRenderProps extends ValidationResult {
104
103
  }
105
- export interface FieldErrorProps extends RenderProps<FieldErrorRenderProps>, _DOMProps1 {
104
+ export interface FieldErrorProps extends RenderProps<FieldErrorRenderProps>, _DOMProps1, GlobalDOMAttributes<HTMLDivElement> {
106
105
  }
107
106
  /**
108
107
  * A FieldError displays validation errors for a form field.
109
108
  */
110
109
  export const FieldError: React.ForwardRefExoticComponent<FieldErrorProps & React.RefAttributes<HTMLElement>>;
111
- export interface FormProps extends _FormProps1, DOMProps {
110
+ export interface FormProps extends _FormProps1, DOMProps, GlobalDOMAttributes<HTMLFormElement> {
112
111
  /**
113
112
  * Whether to use native HTML form validation to prevent form submission
114
113
  * when a field value is missing or invalid, or mark fields as required
@@ -128,9 +127,9 @@ export interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
128
127
  }
129
128
  export const LabelContext: React.Context<ContextValue<LabelProps, HTMLLabelElement>>;
130
129
  export const Label: (props: LabelProps & React.RefAttributes<HTMLLabelElement>) => React.ReactElement | null;
131
- export interface CheckboxGroupProps extends Omit<AriaCheckboxGroupProps, 'children' | 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, RenderProps<CheckboxGroupRenderProps>, SlotProps {
130
+ export interface CheckboxGroupProps extends Omit<AriaCheckboxGroupProps, 'children' | 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, RenderProps<CheckboxGroupRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
132
131
  }
133
- export interface CheckboxProps extends Omit<AriaCheckboxProps, 'children' | 'validationState' | 'validationBehavior'>, HoverEvents, RACValidation, RenderProps<CheckboxRenderProps>, SlotProps {
132
+ export interface CheckboxProps extends Omit<AriaCheckboxProps, 'children' | 'validationState' | 'validationBehavior'>, HoverEvents, RACValidation, RenderProps<CheckboxRenderProps>, SlotProps, Omit<GlobalDOMAttributes<HTMLLabelElement>, 'onClick'> {
134
133
  /**
135
134
  * A ref for the HTML input element.
136
135
  */
@@ -256,7 +255,7 @@ export interface ColorThumbRenderProps {
256
255
  */
257
256
  isDisabled: boolean;
258
257
  }
259
- export interface ColorThumbProps extends _HoverEvents1, RenderProps<ColorThumbRenderProps> {
258
+ export interface ColorThumbProps extends _HoverEvents1, RenderProps<ColorThumbRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
260
259
  }
261
260
  /**
262
261
  * A color thumb appears within a ColorArea, ColorSlider, or ColorWheel and allows a user to drag to adjust the color value.
@@ -273,13 +272,59 @@ export interface ColorAreaRenderProps {
273
272
  */
274
273
  state: ColorAreaState;
275
274
  }
276
- export interface ColorAreaProps extends AriaColorAreaProps, RenderProps<ColorAreaRenderProps>, SlotProps {
275
+ export interface ColorAreaProps extends AriaColorAreaProps, RenderProps<ColorAreaRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
277
276
  }
278
277
  export const ColorAreaStateContext: React.Context<ColorAreaState | null>;
279
278
  /**
280
279
  * A color area allows users to adjust two channels of an RGB, HSL or HSB color value against a two-dimensional gradient background.
281
280
  */
282
281
  export const ColorArea: React.ForwardRefExoticComponent<ColorAreaProps & React.RefAttributes<HTMLDivElement>>;
282
+ export interface GroupRenderProps {
283
+ /**
284
+ * Whether the group is currently hovered with a mouse.
285
+ * @selector [data-hovered]
286
+ */
287
+ isHovered: boolean;
288
+ /**
289
+ * Whether an element within the group is focused, either via a mouse or keyboard.
290
+ * @selector [data-focus-within]
291
+ */
292
+ isFocusWithin: boolean;
293
+ /**
294
+ * Whether an element within the group is keyboard focused.
295
+ * @selector [data-focus-visible]
296
+ */
297
+ isFocusVisible: boolean;
298
+ /**
299
+ * Whether the group is disabled.
300
+ * @selector [data-disabled]
301
+ */
302
+ isDisabled: boolean;
303
+ /**
304
+ * Whether the group is invalid.
305
+ * @selector [data-invalid]
306
+ */
307
+ isInvalid: boolean;
308
+ }
309
+ export interface GroupProps extends AriaLabelingProps, Omit<HTMLAttributes<HTMLElement>, 'children' | 'className' | 'style' | 'role' | 'slot'>, _DOMProps1, HoverProps, RenderProps<GroupRenderProps>, SlotProps {
310
+ /** Whether the group is disabled. */
311
+ isDisabled?: boolean;
312
+ /** Whether the group is invalid. */
313
+ isInvalid?: boolean;
314
+ /**
315
+ * An accessibility role for the group. By default, this is set to `'group'`.
316
+ * Use `'region'` when the contents of the group is important enough to be
317
+ * included in the page table of contents. Use `'presentation'` if the group
318
+ * is visual only and does not represent a semantic grouping of controls.
319
+ * @default 'group'
320
+ */
321
+ role?: 'group' | 'region' | 'presentation';
322
+ }
323
+ export const GroupContext: React.Context<ContextValue<GroupProps, HTMLDivElement>>;
324
+ /**
325
+ * A group represents a set of related UI controls, and supports interactive states for styling.
326
+ */
327
+ export const Group: (props: GroupProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
283
328
  export interface InputRenderProps {
284
329
  /**
285
330
  * Whether the input is currently hovered with a mouse.
@@ -335,7 +380,7 @@ export interface ColorFieldRenderProps {
335
380
  */
336
381
  state: ColorFieldState;
337
382
  }
338
- export interface ColorFieldProps extends Omit<AriaColorFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, InputDOMProps, RenderProps<ColorFieldRenderProps>, SlotProps {
383
+ export interface ColorFieldProps extends Omit<AriaColorFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, InputDOMProps, RenderProps<ColorFieldRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
339
384
  /**
340
385
  * The color channel that this field edits. If not provided,
341
386
  * the color is edited as a hex value.
@@ -352,7 +397,7 @@ export const ColorFieldStateContext: React.Context<ColorFieldState | null>;
352
397
  * A color field allows users to edit a hex color or individual color channel value.
353
398
  */
354
399
  export const ColorField: React.ForwardRefExoticComponent<ColorFieldProps & React.RefAttributes<HTMLDivElement>>;
355
- export interface SliderProps<T = number | number[]> extends Omit<AriaSliderProps<T>, 'label'>, RenderProps<SliderRenderProps>, SlotProps {
400
+ export interface SliderProps<T = number | number[]> extends Omit<AriaSliderProps<T>, 'label'>, RenderProps<SliderRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
356
401
  /**
357
402
  * The display format of the value label.
358
403
  */
@@ -382,7 +427,7 @@ export interface SliderRenderProps {
382
427
  * A slider allows a user to select one or more values within a range.
383
428
  */
384
429
  export const Slider: <T extends number | number[]>(props: SliderProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
385
- export interface SliderOutputProps extends RenderProps<SliderRenderProps> {
430
+ export interface SliderOutputProps extends RenderProps<SliderRenderProps>, GlobalDOMAttributes<HTMLOutputElement> {
386
431
  }
387
432
  interface SliderOutputContextValue extends Omit<OutputHTMLAttributes<HTMLOutputElement>, 'children' | 'className' | 'style'>, SliderOutputProps {
388
433
  }
@@ -397,9 +442,9 @@ export interface SliderTrackRenderProps extends SliderRenderProps {
397
442
  */
398
443
  isHovered: boolean;
399
444
  }
400
- export interface SliderTrackProps extends HoverEvents, RenderProps<SliderTrackRenderProps> {
445
+ export interface SliderTrackProps extends HoverEvents, RenderProps<SliderTrackRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
401
446
  }
402
- interface SliderTrackContextValue extends Omit<HTMLAttributes<HTMLElement>, 'children' | 'className' | 'style'>, SliderTrackProps {
447
+ interface SliderTrackContextValue extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'className' | 'style'>, SliderTrackProps {
403
448
  }
404
449
  /**
405
450
  * A slider track is a container for one or more slider thumbs.
@@ -436,7 +481,7 @@ export interface SliderThumbRenderProps {
436
481
  */
437
482
  isDisabled: boolean;
438
483
  }
439
- export interface SliderThumbProps extends Omit<AriaSliderThumbProps, 'label' | 'validationState'>, HoverEvents, RenderProps<SliderThumbRenderProps> {
484
+ export interface SliderThumbProps extends Omit<AriaSliderThumbProps, 'label' | 'validationState'>, HoverEvents, RenderProps<SliderThumbRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
440
485
  /**
441
486
  * A ref for the HTML input element.
442
487
  */
@@ -462,7 +507,7 @@ export interface ColorSliderRenderProps {
462
507
  */
463
508
  state: ColorSliderState;
464
509
  }
465
- export interface ColorSliderProps extends Omit<AriaColorSliderProps, 'label'>, RenderProps<ColorSliderRenderProps>, SlotProps {
510
+ export interface ColorSliderProps extends Omit<AriaColorSliderProps, 'label'>, RenderProps<ColorSliderRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
466
511
  }
467
512
  export const ColorSliderStateContext: React.Context<ColorSliderState | null>;
468
513
  /**
@@ -476,11 +521,11 @@ export interface ColorWheelRenderProps {
476
521
  */
477
522
  isDisabled: boolean;
478
523
  /**
479
- * State of the color color wheel.
524
+ * State of the color wheel.
480
525
  */
481
526
  state: ColorWheelState;
482
527
  }
483
- export interface ColorWheelProps extends AriaColorWheelOptions, RenderProps<ColorWheelRenderProps>, SlotProps {
528
+ export interface ColorWheelProps extends AriaColorWheelOptions, RenderProps<ColorWheelRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
484
529
  }
485
530
  export const ColorWheelStateContext: React.Context<ColorWheelState | null>;
486
531
  /**
@@ -489,9 +534,9 @@ export const ColorWheelStateContext: React.Context<ColorWheelState | null>;
489
534
  export const ColorWheel: React.ForwardRefExoticComponent<ColorWheelProps & React.RefAttributes<HTMLDivElement>>;
490
535
  export interface ColorWheelTrackRenderProps extends ColorWheelRenderProps {
491
536
  }
492
- export interface ColorWheelTrackProps extends StyleRenderProps<ColorWheelTrackRenderProps> {
537
+ export interface ColorWheelTrackProps extends StyleRenderProps<ColorWheelTrackRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
493
538
  }
494
- interface ColorWheelTrackContextValue extends Omit<HTMLAttributes<HTMLElement>, 'children' | 'className' | 'style'>, ColorWheelTrackProps {
539
+ interface ColorWheelTrackContextValue extends Omit<HTMLAttributes<HTMLElement>, 'children' | 'className' | 'style'>, StyleRenderProps<ColorWheelTrackRenderProps> {
495
540
  }
496
541
  export const ColorWheelTrackContext: React.Context<ContextValue<ColorWheelTrackContextValue, HTMLDivElement>>;
497
542
  /**
@@ -508,7 +553,7 @@ export const ColorFieldContext: Context<ContextValue<ColorFieldProps, HTMLDivEle
508
553
  export const ColorSliderContext: Context<ContextValue<Partial<ColorSliderProps>, HTMLDivElement>>;
509
554
  export const ColorWheelContext: Context<ContextValue<Partial<ColorWheelProps>, HTMLDivElement>>;
510
555
  export const HeadingContext: Context<ContextValue<HeadingProps, HTMLHeadingElement>>;
511
- export interface ProgressBarProps extends Omit<AriaProgressBarProps, 'label'>, RenderProps<ProgressBarRenderProps>, SlotProps {
556
+ export interface ProgressBarProps extends Omit<AriaProgressBarProps, 'label'>, RenderProps<ProgressBarRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
512
557
  }
513
558
  export interface ProgressBarRenderProps {
514
559
  /**
@@ -564,29 +609,7 @@ export interface ButtonRenderProps {
564
609
  */
565
610
  isPending: boolean;
566
611
  }
567
- export interface ButtonProps extends Omit<AriaButtonProps, 'children' | 'href' | 'target' | 'rel' | 'elementType'>, HoverEvents, SlotProps, RenderProps<ButtonRenderProps> {
568
- /**
569
- * The `<form>` element to associate the button with.
570
- * The value of this attribute must be the id of a `<form>` in the same document.
571
- */
572
- form?: string;
573
- /**
574
- * The URL that processes the information submitted by the button.
575
- * Overrides the action attribute of the button's form owner.
576
- */
577
- formAction?: string;
578
- /** Indicates how to encode the form data that is submitted. */
579
- formEncType?: string;
580
- /** Indicates the HTTP method used to submit the form. */
581
- formMethod?: string;
582
- /** Indicates that the form is not to be validated when it is submitted. */
583
- formNoValidate?: boolean;
584
- /** Overrides the target attribute of the button's form owner. */
585
- formTarget?: string;
586
- /** Submitted as a pair with the button's value as part of the form data. */
587
- name?: string;
588
- /** The value associated with the button's name when it's submitted with the form data. */
589
- value?: string;
612
+ export interface ButtonProps extends Omit<AriaButtonProps, 'children' | 'href' | 'target' | 'rel' | 'elementType'>, HoverEvents, SlotProps, RenderProps<ButtonRenderProps>, Omit<GlobalDOMAttributes<HTMLButtonElement>, 'onClick'> {
590
613
  /**
591
614
  * Whether the button is in a pending state. This disables press and hover events
592
615
  * while retaining focusability, and announces the pending state to screen readers.
@@ -601,52 +624,6 @@ export const ButtonContext: React.Context<ContextValue<ButtonContextValue, HTMLB
601
624
  * A button allows a user to perform an action, with mouse, touch, and keyboard interactions.
602
625
  */
603
626
  export const Button: (props: ButtonProps & React.RefAttributes<HTMLButtonElement>) => React.ReactElement | null;
604
- export interface GroupRenderProps {
605
- /**
606
- * Whether the group is currently hovered with a mouse.
607
- * @selector [data-hovered]
608
- */
609
- isHovered: boolean;
610
- /**
611
- * Whether an element within the group is focused, either via a mouse or keyboard.
612
- * @selector [data-focus-within]
613
- */
614
- isFocusWithin: boolean;
615
- /**
616
- * Whether an element within the group is keyboard focused.
617
- * @selector [data-focus-visible]
618
- */
619
- isFocusVisible: boolean;
620
- /**
621
- * Whether the group is disabled.
622
- * @selector [data-disabled]
623
- */
624
- isDisabled: boolean;
625
- /**
626
- * Whether the group is invalid.
627
- * @selector [data-invalid]
628
- */
629
- isInvalid: boolean;
630
- }
631
- export interface GroupProps extends AriaLabelingProps, Omit<HTMLAttributes<HTMLElement>, 'children' | 'className' | 'style' | 'role' | 'slot'>, _DOMProps1, HoverProps, RenderProps<GroupRenderProps>, SlotProps {
632
- /** Whether the group is disabled. */
633
- isDisabled?: boolean;
634
- /** Whether the group is invalid. */
635
- isInvalid?: boolean;
636
- /**
637
- * An accessibility role for the group. By default, this is set to `'group'`.
638
- * Use `'region'` when the contents of the group is important enough to be
639
- * included in the page table of contents. Use `'presentation'` if the group
640
- * is visual only and does not represent a semantic grouping of controls.
641
- * @default 'group'
642
- */
643
- role?: 'group' | 'region' | 'presentation';
644
- }
645
- export const GroupContext: React.Context<ContextValue<GroupProps, HTMLDivElement>>;
646
- /**
647
- * A group represents a set of related UI controls, and supports interactive states for styling.
648
- */
649
- export const Group: (props: GroupProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
650
627
  export interface SearchFieldRenderProps {
651
628
  /**
652
629
  * Whether the search field is empty.
@@ -668,7 +645,7 @@ export interface SearchFieldRenderProps {
668
645
  */
669
646
  state: SearchFieldState;
670
647
  }
671
- export interface SearchFieldProps extends Omit<AriaSearchFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, RenderProps<SearchFieldRenderProps>, SlotProps {
648
+ export interface SearchFieldProps extends Omit<AriaSearchFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, RenderProps<SearchFieldRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
672
649
  }
673
650
  export const SearchFieldContext: React.Context<ContextValue<SearchFieldProps, HTMLDivElement>>;
674
651
  /**
@@ -704,7 +681,7 @@ export interface TextFieldRenderProps {
704
681
  */
705
682
  isRequired: boolean;
706
683
  }
707
- export interface TextFieldProps extends Omit<AriaTextFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, Omit<DOMProps, 'style' | 'className' | 'children'>, SlotProps, RenderProps<TextFieldRenderProps> {
684
+ export interface TextFieldProps extends Omit<AriaTextFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, Omit<DOMProps, 'style' | 'className' | 'children'>, SlotProps, RenderProps<TextFieldRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
708
685
  /** Whether the value is invalid. */
709
686
  isInvalid?: boolean;
710
687
  }
@@ -785,7 +762,7 @@ interface ItemRenderProps {
785
762
  */
786
763
  isDropTarget?: boolean;
787
764
  }
788
- export interface SectionProps<T> extends Omit<_SectionProps1<T>, 'children' | 'title'>, StyleProps {
765
+ export interface SectionProps<T> extends Omit<_SectionProps1<T>, 'children' | 'title'>, StyleProps, GlobalDOMAttributes<HTMLElement> {
789
766
  /** The unique id of the section. */
790
767
  id?: Key;
791
768
  /** The object value that this section represents. When using dynamic collections, this is set automatically. */
@@ -829,7 +806,7 @@ export interface CollectionRenderer {
829
806
  }
830
807
  export const DefaultCollectionRenderer: CollectionRenderer;
831
808
  export const CollectionRendererContext: React.Context<CollectionRenderer>;
832
- export interface LinkProps extends Omit<AriaLinkOptions, 'elementType'>, HoverEvents, RenderProps<LinkRenderProps>, SlotProps {
809
+ export interface LinkProps extends Omit<AriaLinkOptions, 'elementType'>, HoverEvents, RenderProps<LinkRenderProps>, SlotProps, Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {
833
810
  }
834
811
  export interface LinkRenderProps {
835
812
  /**
@@ -869,7 +846,7 @@ export const LinkContext: React.Context<ContextValue<LinkProps, HTMLAnchorElemen
869
846
  * or application.
870
847
  */
871
848
  export const Link: (props: LinkProps & React.RefAttributes<HTMLAnchorElement>) => React.ReactElement | null;
872
- export interface BreadcrumbsProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'>, AriaBreadcrumbsProps, StyleProps, SlotProps {
849
+ export interface BreadcrumbsProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'>, AriaBreadcrumbsProps, StyleProps, SlotProps, GlobalDOMAttributes<HTMLOListElement> {
873
850
  /** Whether the breadcrumbs are disabled. */
874
851
  isDisabled?: boolean;
875
852
  /** Handler that is called when a breadcrumb is clicked. */
@@ -892,14 +869,14 @@ export interface BreadcrumbRenderProps {
892
869
  */
893
870
  isDisabled: boolean;
894
871
  }
895
- export interface BreadcrumbProps extends RenderProps<BreadcrumbRenderProps> {
872
+ export interface BreadcrumbProps extends RenderProps<BreadcrumbRenderProps>, GlobalDOMAttributes<HTMLLIElement> {
896
873
  /** A unique id for the breadcrumb, which will be passed to `onAction` when the breadcrumb is pressed. */
897
874
  id?: Key;
898
875
  }
899
876
  /**
900
877
  * A Breadcrumb represents an individual item in a `<Breadcrumbs>` list.
901
878
  */
902
- export const Breadcrumb: (props: BreadcrumbProps & React.RefAttributes<object>) => React.ReactElement | null;
879
+ export const Breadcrumb: (props: BreadcrumbProps & React.RefAttributes<HTMLLIElement>) => React.ReactElement | null;
903
880
  export interface CalendarRenderProps {
904
881
  /**
905
882
  * Whether the calendar is disabled.
@@ -922,7 +899,7 @@ export interface RangeCalendarRenderProps extends Omit<CalendarRenderProps, 'sta
922
899
  */
923
900
  state: RangeCalendarState;
924
901
  }
925
- export interface CalendarProps<T extends DateValue> extends Omit<AriaCalendarProps<T>, 'errorMessage' | 'validationState'>, RenderProps<CalendarRenderProps>, SlotProps {
902
+ export interface CalendarProps<T extends DateValue> extends Omit<AriaCalendarProps<T>, 'errorMessage' | 'validationState'>, RenderProps<CalendarRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
926
903
  /**
927
904
  * The amount of days that will be displayed at once. This affects how pagination works.
928
905
  * @default {months: 1}
@@ -935,7 +912,7 @@ export interface CalendarProps<T extends DateValue> extends Omit<AriaCalendarPro
935
912
  */
936
913
  createCalendar?: (identifier: CalendarIdentifier) => _Calendar1;
937
914
  }
938
- export interface RangeCalendarProps<T extends DateValue> extends Omit<AriaRangeCalendarProps<T>, 'errorMessage' | 'validationState'>, RenderProps<RangeCalendarRenderProps>, SlotProps {
915
+ export interface RangeCalendarProps<T extends DateValue> extends Omit<AriaRangeCalendarProps<T>, 'errorMessage' | 'validationState'>, RenderProps<RangeCalendarRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
939
916
  /**
940
917
  * The amount of days that will be displayed at once. This affects how pagination works.
941
918
  * @default {months: 1}
@@ -1034,8 +1011,13 @@ export interface CalendarCellRenderProps {
1034
1011
  * @selector [data-invalid]
1035
1012
  */
1036
1013
  isInvalid: boolean;
1014
+ /**
1015
+ * Whether the cell is today.
1016
+ * @selector [data-today]
1017
+ */
1018
+ isToday: boolean;
1037
1019
  }
1038
- export interface CalendarGridProps extends StyleProps {
1020
+ export interface CalendarGridProps extends StyleProps, GlobalDOMAttributes<HTMLTableElement> {
1039
1021
  /**
1040
1022
  * Either a function to render calendar cells for each date in the month,
1041
1023
  * or children containing a `<CalendarGridHeader>`` and `<CalendarGridBody>`
@@ -1060,7 +1042,7 @@ export interface CalendarGridProps extends StyleProps {
1060
1042
  * can be keyboard navigated and selected by the user.
1061
1043
  */
1062
1044
  export const CalendarGrid: (props: CalendarGridProps & React.RefAttributes<HTMLTableElement>) => ReactElement | null;
1063
- export interface CalendarGridHeaderProps extends StyleProps {
1045
+ export interface CalendarGridHeaderProps extends StyleProps, GlobalDOMAttributes<HTMLTableSectionElement> {
1064
1046
  /** A function to render a `<CalendarHeaderCell>` for a weekday name. */
1065
1047
  children: (day: string) => ReactElement;
1066
1048
  }
@@ -1068,13 +1050,13 @@ export interface CalendarGridHeaderProps extends StyleProps {
1068
1050
  * A calendar grid header displays a row of week day names at the top of a month.
1069
1051
  */
1070
1052
  export const CalendarGridHeader: (props: CalendarGridHeaderProps & React.RefAttributes<HTMLTableSectionElement>) => ReactElement | null;
1071
- export interface CalendarHeaderCellProps extends DOMProps {
1053
+ export interface CalendarHeaderCellProps extends DOMProps, GlobalDOMAttributes<HTMLTableHeaderCellElement> {
1072
1054
  }
1073
1055
  /**
1074
1056
  * A calendar header cell displays a week day name at the top of a column within a calendar.
1075
1057
  */
1076
1058
  export const CalendarHeaderCell: React.ForwardRefExoticComponent<CalendarHeaderCellProps & React.RefAttributes<HTMLTableCellElement>>;
1077
- export interface CalendarGridBodyProps extends StyleProps {
1059
+ export interface CalendarGridBodyProps extends StyleProps, GlobalDOMAttributes<HTMLTableSectionElement> {
1078
1060
  /** A function to render a `<CalendarCell>` for a given date. */
1079
1061
  children: (date: CalendarDate) => ReactElement;
1080
1062
  }
@@ -1082,7 +1064,7 @@ export interface CalendarGridBodyProps extends StyleProps {
1082
1064
  * A calendar grid body displays a grid of calendar cells within a month.
1083
1065
  */
1084
1066
  export const CalendarGridBody: (props: CalendarGridBodyProps & React.RefAttributes<HTMLTableSectionElement>) => ReactElement | null;
1085
- export interface CalendarCellProps extends RenderProps<CalendarCellRenderProps>, _HoverEvents1 {
1067
+ export interface CalendarCellProps extends RenderProps<CalendarCellRenderProps>, _HoverEvents1, GlobalDOMAttributes<HTMLTableCellElement> {
1086
1068
  /** The date to render in the cell. */
1087
1069
  date: CalendarDate;
1088
1070
  }
@@ -1094,7 +1076,7 @@ export interface ColorSwatchRenderProps {
1094
1076
  /** The color of the swatch. */
1095
1077
  color: Color;
1096
1078
  }
1097
- export interface ColorSwatchProps extends AriaColorSwatchProps, StyleRenderProps<ColorSwatchRenderProps>, SlotProps {
1079
+ export interface ColorSwatchProps extends AriaColorSwatchProps, StyleRenderProps<ColorSwatchRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
1098
1080
  }
1099
1081
  export const ColorSwatchContext: React.Context<ContextValue<ColorSwatchProps, HTMLDivElement>>;
1100
1082
  /**
@@ -1108,7 +1090,11 @@ interface DragHooks {
1108
1090
  useDraggableCollection?: (props: DraggableCollectionOptions, state: DraggableCollectionState, ref: RefObject<HTMLElement | null>) => void;
1109
1091
  useDraggableItem?: (props: DraggableItemProps, state: DraggableCollectionState) => DraggableItemResult;
1110
1092
  DragPreview?: typeof DragPreview;
1111
- renderDragPreview?: (items: DragItem[]) => JSX.Element;
1093
+ renderDragPreview?: (items: DragItem[]) => JSX.Element | {
1094
+ element: JSX.Element;
1095
+ x: number;
1096
+ y: number;
1097
+ };
1112
1098
  isVirtualDragging?: () => boolean;
1113
1099
  }
1114
1100
  interface DropHooks {
@@ -1135,7 +1121,11 @@ export interface DragAndDropOptions extends Omit<DraggableCollectionProps, 'prev
1135
1121
  * A function that renders a drag preview, which is shown under the user's cursor while dragging.
1136
1122
  * By default, a copy of the dragged element is rendered.
1137
1123
  */
1138
- renderDragPreview?: (items: DragItem[]) => JSX.Element;
1124
+ renderDragPreview?: (items: DragItem[]) => JSX.Element | {
1125
+ element: JSX.Element;
1126
+ x: number;
1127
+ y: number;
1128
+ };
1139
1129
  /**
1140
1130
  * A function that renders a drop indicator element between two items in a collection.
1141
1131
  * This should render a `<DropIndicator>` element. If this function is not provided, a
@@ -1175,11 +1165,11 @@ interface DropIndicatorContextValue {
1175
1165
  */
1176
1166
  export const DropIndicator: React.ForwardRefExoticComponent<DropIndicatorProps & React.RefAttributes<HTMLElement>>;
1177
1167
  export const HeaderContext: React.Context<ContextValue<React.HTMLAttributes<HTMLElement>, HTMLElement>>;
1178
- export const Header: (props: React.HTMLAttributes<HTMLElement> & React.RefAttributes<object>) => React.ReactElement | null;
1179
- export interface SeparatorProps extends _SeparatorProps1, StyleProps, SlotProps {
1168
+ export const Header: (props: React.HTMLAttributes<HTMLElement> & React.RefAttributes<HTMLElement>) => React.ReactElement | null;
1169
+ export interface SeparatorProps extends _SeparatorProps1, StyleProps, SlotProps, GlobalDOMAttributes<HTMLElement> {
1180
1170
  }
1181
1171
  export const SeparatorContext: React.Context<ContextValue<SeparatorProps, HTMLElement>>;
1182
- export const Separator: (props: SeparatorProps & React.RefAttributes<object>) => React.ReactElement | null;
1172
+ export const Separator: (props: SeparatorProps & React.RefAttributes<HTMLElement>) => React.ReactElement | null;
1183
1173
  export interface ListBoxRenderProps {
1184
1174
  /**
1185
1175
  * Whether the listbox has no items and should display its empty state.
@@ -1211,8 +1201,11 @@ export interface ListBoxRenderProps {
1211
1201
  */
1212
1202
  state: ListState<unknown>;
1213
1203
  }
1214
- export interface ListBoxProps<T> extends Omit<AriaListBoxProps<T>, 'children' | 'label'>, CollectionProps<T>, StyleRenderProps<ListBoxRenderProps>, SlotProps, ScrollableProps<HTMLDivElement> {
1215
- /** How multiple selection should behave in the collection. */
1204
+ export interface ListBoxProps<T> extends Omit<AriaListBoxProps<T>, 'children' | 'label'>, CollectionProps<T>, StyleRenderProps<ListBoxRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
1205
+ /**
1206
+ * How multiple selection should behave in the collection.
1207
+ * @default "toggle"
1208
+ */
1216
1209
  selectionBehavior?: SelectionBehavior;
1217
1210
  /** The drag and drop hooks returned by `useDragAndDrop` used to enable drag and drop behavior for the ListBox. */
1218
1211
  dragAndDropHooks?: DragAndDropHooks;
@@ -1244,7 +1237,7 @@ export interface ListBoxSectionProps<T> extends SectionProps<T> {
1244
1237
  export const ListBoxSection: <T extends object>(props: ListBoxSectionProps<T> & React.RefAttributes<HTMLElement>) => React.ReactElement | null;
1245
1238
  export interface ListBoxItemRenderProps extends ItemRenderProps {
1246
1239
  }
1247
- export interface ListBoxItemProps<T = object> extends RenderProps<ListBoxItemRenderProps>, LinkDOMProps, _HoverEvents1 {
1240
+ export interface ListBoxItemProps<T = object> extends RenderProps<ListBoxItemRenderProps>, LinkDOMProps, _HoverEvents1, PressEvents, Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {
1248
1241
  /** The unique id of the item. */
1249
1242
  id?: Key;
1250
1243
  /** The object value that this item represents. When using dynamic collections, this is set automatically. */
@@ -1264,8 +1257,8 @@ export interface ListBoxItemProps<T = object> extends RenderProps<ListBoxItemRen
1264
1257
  /**
1265
1258
  * A ListBoxItem represents an individual option in a ListBox.
1266
1259
  */
1267
- export const ListBoxItem: <T extends object>(props: ListBoxItemProps<T> & React.RefAttributes<T>) => React.ReactElement | null;
1268
- interface ListBoxLoadingSentinelProps extends Omit<LoadMoreSentinelProps, 'collection'>, StyleProps {
1260
+ export const ListBoxItem: <T extends object>(props: ListBoxItemProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
1261
+ export interface ListBoxLoadMoreItemProps extends Omit<LoadMoreSentinelProps, 'collection'>, StyleProps, GlobalDOMAttributes<HTMLDivElement> {
1269
1262
  /**
1270
1263
  * The load more spinner to render when loading additional items.
1271
1264
  */
@@ -1275,10 +1268,10 @@ interface ListBoxLoadingSentinelProps extends Omit<LoadMoreSentinelProps, 'colle
1275
1268
  */
1276
1269
  isLoading?: boolean;
1277
1270
  }
1278
- export const UNSTABLE_ListBoxLoadingSentinel: <T extends object>(props: ListBoxLoadingSentinelProps & React.RefAttributes<T>) => React.ReactElement | null;
1271
+ export const ListBoxLoadMoreItem: (props: ListBoxLoadMoreItemProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
1279
1272
  export interface ColorSwatchPickerRenderProps extends Omit<ListBoxRenderProps, 'isDropTarget'> {
1280
1273
  }
1281
- export interface ColorSwatchPickerProps extends ValueBase<string | Color, Color>, AriaLabelingProps, StyleRenderProps<ColorSwatchPickerRenderProps> {
1274
+ export interface ColorSwatchPickerProps extends ValueBase<string | Color, Color>, AriaLabelingProps, StyleRenderProps<ColorSwatchPickerRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
1282
1275
  /** The children of the ColorSwatchPicker. */
1283
1276
  children?: ReactNode;
1284
1277
  /**
@@ -1296,7 +1289,7 @@ export interface ColorSwatchPickerItemRenderProps extends Omit<ListBoxItemRender
1296
1289
  /** The color of the swatch. */
1297
1290
  color: Color;
1298
1291
  }
1299
- export interface ColorSwatchPickerItemProps extends RenderProps<ColorSwatchPickerItemRenderProps>, _HoverEvents1 {
1292
+ export interface ColorSwatchPickerItemProps extends RenderProps<ColorSwatchPickerItemRenderProps>, _HoverEvents1, PressEvents, Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {
1300
1293
  /** The color of the swatch. */
1301
1294
  color: string | Color;
1302
1295
  /** Whether the color swatch is disabled. */
@@ -1330,7 +1323,7 @@ export interface OverlayArrowRenderProps {
1330
1323
  * such as a popover or tooltip such that it aligns with a trigger element.
1331
1324
  */
1332
1325
  export const OverlayArrow: (props: OverlayArrowProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
1333
- export interface PopoverProps extends Omit<PositionProps, 'isOpen'>, Omit<AriaPopoverProps, 'popoverRef' | 'triggerRef' | 'groupRef' | 'offset' | 'arrowSize'>, OverlayTriggerProps, RenderProps<PopoverRenderProps>, SlotProps, AriaLabelingProps {
1326
+ export interface PopoverProps extends Omit<PositionProps, 'isOpen'>, Omit<AriaPopoverProps, 'popoverRef' | 'triggerRef' | 'groupRef' | 'offset' | 'arrowSize'>, OverlayTriggerProps, RenderProps<PopoverRenderProps>, SlotProps, AriaLabelingProps, GlobalDOMAttributes<HTMLDivElement> {
1334
1327
  /**
1335
1328
  * The name of the component that triggered the popover. This is reflected on the element
1336
1329
  * as the `data-trigger` attribute, and can be used to provide specific
@@ -1429,7 +1422,7 @@ interface MenuRenderProps {
1429
1422
  */
1430
1423
  isEmpty: boolean;
1431
1424
  }
1432
- export interface MenuProps<T> extends Omit<AriaMenuProps<T>, 'children'>, CollectionProps<T>, StyleRenderProps<MenuRenderProps>, SlotProps, ScrollableProps<HTMLDivElement> {
1425
+ export interface MenuProps<T> extends Omit<AriaMenuProps<T>, 'children'>, CollectionProps<T>, StyleRenderProps<MenuRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
1433
1426
  /** Provides content to display when there are no items in the list. */
1434
1427
  renderEmptyState?: () => ReactNode;
1435
1428
  }
@@ -1457,7 +1450,7 @@ export interface MenuItemRenderProps extends ItemRenderProps {
1457
1450
  */
1458
1451
  isOpen: boolean;
1459
1452
  }
1460
- export interface MenuItemProps<T = object> extends RenderProps<MenuItemRenderProps>, LinkDOMProps, _HoverEvents1 {
1453
+ export interface MenuItemProps<T = object> extends RenderProps<MenuItemRenderProps>, LinkDOMProps, _HoverEvents1, PressEvents, Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {
1461
1454
  /** The unique id of the item. */
1462
1455
  id?: Key;
1463
1456
  /** The object value that this item represents. When using dynamic collections, this is set automatically. */
@@ -1474,14 +1467,14 @@ export interface MenuItemProps<T = object> extends RenderProps<MenuItemRenderPro
1474
1467
  /**
1475
1468
  * A MenuItem represents an individual action in a Menu.
1476
1469
  */
1477
- export const MenuItem: <T extends object>(props: MenuItemProps<T> & React.RefAttributes<T>) => ReactElement | null;
1470
+ export const MenuItem: <T extends object>(props: MenuItemProps<T> & React.RefAttributes<HTMLDivElement>) => ReactElement | null;
1478
1471
  export interface DialogTriggerProps extends OverlayTriggerProps {
1479
1472
  children: ReactNode;
1480
1473
  }
1481
1474
  export interface DialogRenderProps {
1482
1475
  close: () => void;
1483
1476
  }
1484
- export interface DialogProps extends AriaDialogProps, StyleProps, SlotProps {
1477
+ export interface DialogProps extends AriaDialogProps, StyleProps, SlotProps, GlobalDOMAttributes<HTMLElement> {
1485
1478
  /** Children of the dialog. A function may be provided to access a function to close the dialog. */
1486
1479
  children?: ReactNode | ((opts: DialogRenderProps) => ReactNode);
1487
1480
  }
@@ -1517,7 +1510,7 @@ export interface ComboBoxRenderProps {
1517
1510
  */
1518
1511
  isRequired: boolean;
1519
1512
  }
1520
- export interface ComboBoxProps<T extends object> extends Omit<AriaComboBoxProps<T>, 'children' | 'placeholder' | 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, RenderProps<ComboBoxRenderProps>, SlotProps {
1513
+ export interface ComboBoxProps<T extends object> extends Omit<AriaComboBoxProps<T>, 'children' | 'placeholder' | 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, RenderProps<ComboBoxRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
1521
1514
  /** The filter function used to determine if a option should be included in the combo box list. */
1522
1515
  defaultFilter?: (textValue: string, inputValue: string) => boolean;
1523
1516
  /**
@@ -1551,9 +1544,9 @@ export interface DateFieldRenderProps {
1551
1544
  */
1552
1545
  isDisabled: boolean;
1553
1546
  }
1554
- export interface DateFieldProps<T extends DateValue> extends Omit<AriaDateFieldProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, RenderProps<DateFieldRenderProps>, SlotProps {
1547
+ export interface DateFieldProps<T extends DateValue> extends Omit<AriaDateFieldProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, RenderProps<DateFieldRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
1555
1548
  }
1556
- export interface TimeFieldProps<T extends TimeValue> extends Omit<AriaTimeFieldProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, RenderProps<DateFieldRenderProps>, SlotProps {
1549
+ export interface TimeFieldProps<T extends TimeValue> extends Omit<AriaTimeFieldProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, RenderProps<DateFieldRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
1557
1550
  }
1558
1551
  export const DateFieldContext: React.Context<ContextValue<DateFieldProps<any>, HTMLDivElement>>;
1559
1552
  export const TimeFieldContext: React.Context<ContextValue<TimeFieldProps<any>, HTMLDivElement>>;
@@ -1596,7 +1589,7 @@ export interface DateInputRenderProps {
1596
1589
  */
1597
1590
  isInvalid: boolean;
1598
1591
  }
1599
- export interface DateInputProps extends SlotProps, StyleRenderProps<DateInputRenderProps> {
1592
+ export interface DateInputProps extends SlotProps, StyleRenderProps<DateInputRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
1600
1593
  children: (segment: _DateSegment1) => ReactElement;
1601
1594
  }
1602
1595
  /**
@@ -1645,14 +1638,14 @@ export interface DateSegmentRenderProps extends Omit<_DateSegment1, 'isEditable'
1645
1638
  */
1646
1639
  type: DateSegmentType;
1647
1640
  }
1648
- export interface DateSegmentProps extends RenderProps<DateSegmentRenderProps>, HoverEvents {
1641
+ export interface DateSegmentProps extends RenderProps<DateSegmentRenderProps>, HoverEvents, GlobalDOMAttributes<HTMLSpanElement> {
1649
1642
  segment: _DateSegment1;
1650
1643
  }
1651
1644
  /**
1652
1645
  * A date segment displays an individual unit of a date and time, and allows users to edit
1653
1646
  * the value by typing or using the arrow keys to increment and decrement.
1654
1647
  */
1655
- export const DateSegment: (props: DateSegmentProps & React.RefAttributes<HTMLDivElement>) => ReactElement | null;
1648
+ export const DateSegment: (props: DateSegmentProps & React.RefAttributes<HTMLSpanElement>) => ReactElement | null;
1656
1649
  export interface DatePickerRenderProps {
1657
1650
  /**
1658
1651
  * Whether an element within the date picker is focused, either via a mouse or keyboard.
@@ -1690,9 +1683,9 @@ export interface DateRangePickerRenderProps extends Omit<DatePickerRenderProps,
1690
1683
  */
1691
1684
  state: DateRangePickerState;
1692
1685
  }
1693
- export interface DatePickerProps<T extends DateValue> extends Omit<AriaDatePickerProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, Pick<DatePickerStateOptions<T>, 'shouldCloseOnSelect'>, RACValidation, RenderProps<DatePickerRenderProps>, SlotProps {
1686
+ export interface DatePickerProps<T extends DateValue> extends Omit<AriaDatePickerProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, Pick<DatePickerStateOptions<T>, 'shouldCloseOnSelect'>, RACValidation, RenderProps<DatePickerRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
1694
1687
  }
1695
- export interface DateRangePickerProps<T extends DateValue> extends Omit<AriaDateRangePickerProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, Pick<DateRangePickerStateOptions<T>, 'shouldCloseOnSelect'>, RACValidation, RenderProps<DateRangePickerRenderProps>, SlotProps {
1688
+ export interface DateRangePickerProps<T extends DateValue> extends Omit<AriaDateRangePickerProps<T>, 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, Pick<DateRangePickerStateOptions<T>, 'shouldCloseOnSelect'>, RACValidation, RenderProps<DateRangePickerRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
1696
1689
  }
1697
1690
  export const DatePickerContext: React.Context<ContextValue<DatePickerProps<any>, HTMLDivElement>>;
1698
1691
  export const DateRangePickerContext: React.Context<ContextValue<DateRangePickerProps<any>, HTMLDivElement>>;
@@ -1707,7 +1700,7 @@ export const DatePicker: <T extends DateValue>(props: DatePickerProps<T> & React
1707
1700
  * users to enter or select a date and time range.
1708
1701
  */
1709
1702
  export const DateRangePicker: <T extends DateValue>(props: DateRangePickerProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
1710
- export interface DisclosureGroupProps extends _DisclosureGroupProps1, RenderProps<DisclosureGroupRenderProps>, _DOMProps1 {
1703
+ export interface DisclosureGroupProps extends _DisclosureGroupProps1, RenderProps<DisclosureGroupRenderProps>, _DOMProps1, GlobalDOMAttributes<HTMLDivElement> {
1711
1704
  }
1712
1705
  export interface DisclosureGroupRenderProps {
1713
1706
  /**
@@ -1726,7 +1719,7 @@ export const DisclosureGroupStateContext: React.Context<DisclosureGroupState | n
1726
1719
  * It supports both single and multiple expanded items.
1727
1720
  */
1728
1721
  export const DisclosureGroup: React.ForwardRefExoticComponent<DisclosureGroupProps & React.RefAttributes<HTMLDivElement>>;
1729
- export interface DisclosureProps extends Omit<AriaDisclosureProps, 'children'>, RenderProps<DisclosureRenderProps>, SlotProps {
1722
+ export interface DisclosureProps extends Omit<AriaDisclosureProps, 'children'>, RenderProps<DisclosureRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
1730
1723
  /** An id for the disclosure when used within a DisclosureGroup, matching the id used in `expandedKeys`. */
1731
1724
  id?: Key;
1732
1725
  }
@@ -1764,7 +1757,7 @@ export interface DisclosurePanelRenderProps {
1764
1757
  */
1765
1758
  isFocusVisibleWithin: boolean;
1766
1759
  }
1767
- export interface DisclosurePanelProps extends RenderProps<DisclosurePanelRenderProps>, _DOMProps1 {
1760
+ export interface DisclosurePanelProps extends RenderProps<DisclosurePanelRenderProps>, _DOMProps1, GlobalDOMAttributes<HTMLDivElement> {
1768
1761
  /**
1769
1762
  * The accessibility role for the disclosure's panel.
1770
1763
  * @default 'group'
@@ -1806,18 +1799,18 @@ export interface DropZoneRenderProps {
1806
1799
  */
1807
1800
  isDisabled: boolean;
1808
1801
  }
1809
- export interface DropZoneProps extends Omit<DropOptions, 'getDropOperationForPoint' | 'ref' | 'hasDropButton'>, _HoverEvents1, RenderProps<DropZoneRenderProps>, SlotProps, AriaLabelingProps {
1802
+ export interface DropZoneProps extends Omit<DropOptions, 'getDropOperationForPoint' | 'ref' | 'hasDropButton'>, _HoverEvents1, RenderProps<DropZoneRenderProps>, SlotProps, AriaLabelingProps, GlobalDOMAttributes<HTMLDivElement> {
1810
1803
  }
1811
1804
  export const DropZoneContext: React.Context<ContextValue<DropZoneProps, HTMLDivElement>>;
1812
1805
  /**
1813
1806
  * A drop zone is an area into which one or multiple objects can be dragged and dropped.
1814
1807
  */
1815
1808
  export const DropZone: React.ForwardRefExoticComponent<DropZoneProps & React.RefAttributes<HTMLDivElement>>;
1816
- export interface FileTriggerProps {
1809
+ export interface FileTriggerProps extends GlobalDOMAttributes<HTMLInputElement> {
1817
1810
  /**
1818
1811
  * Specifies what mime type of files are allowed.
1819
1812
  */
1820
- acceptedFileTypes?: Array<string>;
1813
+ acceptedFileTypes?: ReadonlyArray<string>;
1821
1814
  /**
1822
1815
  * Whether multiple files can be selected.
1823
1816
  */
@@ -1874,13 +1867,16 @@ export interface GridListRenderProps {
1874
1867
  */
1875
1868
  state: ListState<unknown>;
1876
1869
  }
1877
- export interface GridListProps<T> extends Omit<AriaGridListProps<T>, 'children'>, CollectionProps<T>, StyleRenderProps<GridListRenderProps>, SlotProps, ScrollableProps<HTMLDivElement> {
1870
+ export interface GridListProps<T> extends Omit<AriaGridListProps<T>, 'children'>, CollectionProps<T>, StyleRenderProps<GridListRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
1878
1871
  /**
1879
1872
  * Whether typeahead navigation is disabled.
1880
1873
  * @default false
1881
1874
  */
1882
1875
  disallowTypeAhead?: boolean;
1883
- /** How multiple selection should behave in the collection. */
1876
+ /**
1877
+ * How multiple selection should behave in the collection.
1878
+ * @default "toggle"
1879
+ */
1884
1880
  selectionBehavior?: SelectionBehavior;
1885
1881
  /** The drag and drop hooks returned by `useDragAndDrop` used to enable drag and drop behavior for the GridList. */
1886
1882
  dragAndDropHooks?: DragAndDropHooks;
@@ -1900,7 +1896,7 @@ export const GridListContext: React.Context<ContextValue<GridListProps<any>, HTM
1900
1896
  export const GridList: <T extends object>(props: GridListProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
1901
1897
  export interface GridListItemRenderProps extends ItemRenderProps {
1902
1898
  }
1903
- export interface GridListItemProps<T = object> extends RenderProps<GridListItemRenderProps>, LinkDOMProps, _HoverEvents1 {
1899
+ export interface GridListItemProps<T = object> extends RenderProps<GridListItemRenderProps>, LinkDOMProps, _HoverEvents1, PressEvents, Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {
1904
1900
  /** The unique id of the item. */
1905
1901
  id?: Key;
1906
1902
  /** The object value that this item represents. When using dynamic collections, this is set automatically. */
@@ -1918,8 +1914,8 @@ export interface GridListItemProps<T = object> extends RenderProps<GridListItemR
1918
1914
  /**
1919
1915
  * A GridListItem represents an individual item in a GridList.
1920
1916
  */
1921
- export const GridListItem: <T extends object>(props: GridListItemProps<T> & React.RefAttributes<T>) => React.ReactElement | null;
1922
- interface GridListLoadingSentinelProps extends Omit<LoadMoreSentinelProps, 'collection'>, StyleProps {
1917
+ export const GridListItem: <T extends object>(props: GridListItemProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
1918
+ export interface GridListLoadMoreItemProps extends Omit<LoadMoreSentinelProps, 'collection'>, StyleProps, GlobalDOMAttributes<HTMLDivElement> {
1923
1919
  /**
1924
1920
  * The load more spinner to render when loading additional items.
1925
1921
  */
@@ -1929,8 +1925,8 @@ interface GridListLoadingSentinelProps extends Omit<LoadMoreSentinelProps, 'coll
1929
1925
  */
1930
1926
  isLoading?: boolean;
1931
1927
  }
1932
- export const UNSTABLE_GridListLoadingSentinel: <T extends object>(props: GridListLoadingSentinelProps & React.RefAttributes<T>) => React.ReactElement | null;
1933
- export interface MeterProps extends Omit<AriaMeterProps, 'label'>, RenderProps<MeterRenderProps>, SlotProps {
1928
+ export const GridListLoadMoreItem: (props: GridListLoadMoreItemProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
1929
+ export interface MeterProps extends Omit<AriaMeterProps, 'label'>, RenderProps<MeterRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
1934
1930
  }
1935
1931
  export interface MeterRenderProps {
1936
1932
  /**
@@ -1948,7 +1944,7 @@ export const MeterContext: React.Context<ContextValue<MeterProps, HTMLDivElement
1948
1944
  * A meter represents a quantity within a known range, or a fractional value.
1949
1945
  */
1950
1946
  export const Meter: (props: MeterProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
1951
- export interface ModalOverlayProps extends AriaModalOverlayProps, OverlayTriggerProps, RenderProps<ModalRenderProps>, SlotProps {
1947
+ export interface ModalOverlayProps extends AriaModalOverlayProps, OverlayTriggerProps, RenderProps<ModalRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
1952
1948
  /**
1953
1949
  * Whether the modal is currently performing an entry animation.
1954
1950
  */
@@ -2010,7 +2006,7 @@ export interface NumberFieldRenderProps {
2010
2006
  */
2011
2007
  state: NumberFieldState;
2012
2008
  }
2013
- export interface NumberFieldProps extends Omit<AriaNumberFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, InputDOMProps, RenderProps<NumberFieldRenderProps>, SlotProps {
2009
+ export interface NumberFieldProps extends Omit<AriaNumberFieldProps, 'label' | 'placeholder' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, InputDOMProps, RenderProps<NumberFieldRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
2014
2010
  }
2015
2011
  export const NumberFieldContext: React.Context<ContextValue<NumberFieldProps, HTMLDivElement>>;
2016
2012
  export const NumberFieldStateContext: React.Context<NumberFieldState | null>;
@@ -2018,9 +2014,9 @@ export const NumberFieldStateContext: React.Context<NumberFieldState | null>;
2018
2014
  * A number field allows a user to enter a number, and increment or decrement the value using stepper buttons.
2019
2015
  */
2020
2016
  export const NumberField: (props: NumberFieldProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
2021
- export interface RadioGroupProps extends Omit<AriaRadioGroupProps, 'children' | 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, RenderProps<RadioGroupRenderProps>, SlotProps {
2017
+ export interface RadioGroupProps extends Omit<AriaRadioGroupProps, 'children' | 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior'>, RACValidation, RenderProps<RadioGroupRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
2022
2018
  }
2023
- export interface RadioProps extends Omit<AriaRadioProps, 'children'>, HoverEvents, RenderProps<RadioRenderProps>, SlotProps {
2019
+ export interface RadioProps extends Omit<AriaRadioProps, 'children'>, HoverEvents, RenderProps<RadioRenderProps>, SlotProps, Omit<GlobalDOMAttributes<HTMLLabelElement>, 'onClick'> {
2024
2020
  /**
2025
2021
  * A ref for the HTML input element.
2026
2022
  */
@@ -2147,7 +2143,7 @@ export interface SelectRenderProps {
2147
2143
  */
2148
2144
  isRequired: boolean;
2149
2145
  }
2150
- export interface SelectProps<T extends object = {}> extends Omit<AriaSelectProps<T>, 'children' | 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior' | 'items'>, RACValidation, RenderProps<SelectRenderProps>, SlotProps {
2146
+ export interface SelectProps<T extends object = {}> extends Omit<AriaSelectProps<T>, 'children' | 'label' | 'description' | 'errorMessage' | 'validationState' | 'validationBehavior' | 'items'>, RACValidation, RenderProps<SelectRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
2151
2147
  /**
2152
2148
  * Temporary text that occupies the select when it is empty.
2153
2149
  * @default 'Select an item' (localized)
@@ -2179,7 +2175,7 @@ export const SelectValueContext: React.Context<ContextValue<SelectValueProps<any
2179
2175
  * It is usually placed within the button element.
2180
2176
  */
2181
2177
  export const SelectValue: <T extends object>(props: SelectValueProps<T> & React.RefAttributes<HTMLSpanElement>) => React.ReactElement | null;
2182
- export interface SwitchProps extends Omit<AriaSwitchProps, 'children'>, HoverEvents, RenderProps<SwitchRenderProps>, SlotProps {
2178
+ export interface SwitchProps extends Omit<AriaSwitchProps, 'children'>, HoverEvents, RenderProps<SwitchRenderProps>, SlotProps, Omit<GlobalDOMAttributes<HTMLLabelElement>, 'onClick'> {
2183
2179
  /**
2184
2180
  * A ref for the HTML input element.
2185
2181
  */
@@ -2231,7 +2227,7 @@ export const SwitchContext: React.Context<ContextValue<SwitchProps, HTMLLabelEle
2231
2227
  * A switch allows a user to turn a setting on or off.
2232
2228
  */
2233
2229
  export const Switch: (props: SwitchProps & React.RefAttributes<HTMLLabelElement>) => React.ReactElement | null;
2234
- export interface ResizableTableContainerProps extends DOMProps, ScrollableProps<HTMLDivElement> {
2230
+ export interface ResizableTableContainerProps extends DOMProps, GlobalDOMAttributes<HTMLDivElement> {
2235
2231
  /**
2236
2232
  * Handler that is called when a user starts a column resize.
2237
2233
  */
@@ -2249,7 +2245,7 @@ export interface ResizableTableContainerProps extends DOMProps, ScrollableProps<
2249
2245
  onResizeEnd?: (widths: Map<Key, ColumnSize>) => void;
2250
2246
  }
2251
2247
  export const ResizableTableContainer: React.ForwardRefExoticComponent<ResizableTableContainerProps & React.RefAttributes<HTMLDivElement>>;
2252
- export const TableContext: React.Context<ContextValue<TableProps, HTMLTableElement>>;
2248
+ export const TableContext: React.Context<ContextValue<TableProps, HTMLDivElement | HTMLTableElement>>;
2253
2249
  export const TableStateContext: React.Context<TableState<any> | null>;
2254
2250
  export const TableColumnResizeStateContext: React.Context<TableColumnResizeState<unknown> | null>;
2255
2251
  export interface TableRenderProps {
@@ -2273,7 +2269,7 @@ export interface TableRenderProps {
2273
2269
  */
2274
2270
  state: TableState<unknown>;
2275
2271
  }
2276
- export interface TableProps extends Omit<_TableProps1<any>, 'children'>, StyleRenderProps<TableRenderProps>, SlotProps, AriaLabelingProps, ScrollableProps<HTMLTableElement> {
2272
+ export interface TableProps extends Omit<_TableProps1<any>, 'children'>, StyleRenderProps<TableRenderProps>, SlotProps, AriaLabelingProps, GlobalDOMAttributes<HTMLTableElement> {
2277
2273
  /** The elements that make up the table. Includes the TableHeader, TableBody, Columns, and Rows. */
2278
2274
  children?: ReactNode;
2279
2275
  /**
@@ -2295,7 +2291,7 @@ export interface TableProps extends Omit<_TableProps1<any>, 'children'>, StyleRe
2295
2291
  * A table displays data in rows and columns and enables a user to navigate its contents via directional navigation keys,
2296
2292
  * and optionally supports row selection and sorting.
2297
2293
  */
2298
- export const Table: React.ForwardRefExoticComponent<TableProps & React.RefAttributes<HTMLTableElement>>;
2294
+ export const Table: React.ForwardRefExoticComponent<TableProps & React.RefAttributes<HTMLDivElement | HTMLTableElement>>;
2299
2295
  interface TableOptionsContextValue {
2300
2296
  /** The type of selection that is allowed in the table. */
2301
2297
  selectionMode: SelectionMode;
@@ -2317,7 +2313,7 @@ interface TableHeaderRenderProps {
2317
2313
  */
2318
2314
  isHovered: boolean;
2319
2315
  }
2320
- export interface TableHeaderProps<T> extends StyleRenderProps<TableHeaderRenderProps>, _HoverEvents1 {
2316
+ export interface TableHeaderProps<T> extends StyleRenderProps<TableHeaderRenderProps>, _HoverEvents1, GlobalDOMAttributes<HTMLTableSectionElement> {
2321
2317
  /** A list of table columns. */
2322
2318
  columns?: Iterable<T>;
2323
2319
  /** A list of `Column(s)` or a function. If the latter, a list of columns must be provided using the `columns` prop. */
@@ -2328,7 +2324,7 @@ export interface TableHeaderProps<T> extends StyleRenderProps<TableHeaderRenderP
2328
2324
  /**
2329
2325
  * A header within a `<Table>`, containing the table columns.
2330
2326
  */
2331
- export const TableHeader: <T extends object>(props: TableHeaderProps<T> & React.RefAttributes<HTMLTableSectionElement>) => ReactElement | null;
2327
+ export const TableHeader: <T extends object>(props: TableHeaderProps<T> & React.RefAttributes<HTMLDivElement | HTMLTableSectionElement>) => ReactElement | null;
2332
2328
  export interface ColumnRenderProps {
2333
2329
  /**
2334
2330
  * Whether the item is currently hovered with a mouse.
@@ -2369,7 +2365,7 @@ export interface ColumnRenderProps {
2369
2365
  */
2370
2366
  startResize(): void;
2371
2367
  }
2372
- export interface ColumnProps extends RenderProps<ColumnRenderProps> {
2368
+ export interface ColumnProps extends RenderProps<ColumnRenderProps>, GlobalDOMAttributes<HTMLTableHeaderCellElement> {
2373
2369
  /** The unique id of the column. */
2374
2370
  id?: Key;
2375
2371
  /** Whether the column allows sorting. */
@@ -2390,7 +2386,7 @@ export interface ColumnProps extends RenderProps<ColumnRenderProps> {
2390
2386
  /**
2391
2387
  * A column within a `<Table>`.
2392
2388
  */
2393
- export const Column: (props: ColumnProps & React.RefAttributes<object>) => ReactElement | null;
2389
+ export const Column: (props: ColumnProps & React.RefAttributes<HTMLDivElement | HTMLTableCellElement>) => ReactElement | null;
2394
2390
  export interface ColumnResizerRenderProps {
2395
2391
  /**
2396
2392
  * Whether the resizer is currently hovered with a mouse.
@@ -2418,7 +2414,7 @@ export interface ColumnResizerRenderProps {
2418
2414
  */
2419
2415
  resizableDirection: 'right' | 'left' | 'both';
2420
2416
  }
2421
- export interface ColumnResizerProps extends _HoverEvents1, RenderProps<ColumnResizerRenderProps> {
2417
+ export interface ColumnResizerProps extends _HoverEvents1, RenderProps<ColumnResizerRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
2422
2418
  /** A custom accessibility label for the resizer. */
2423
2419
  'aria-label'?: string;
2424
2420
  }
@@ -2435,21 +2431,21 @@ export interface TableBodyRenderProps {
2435
2431
  */
2436
2432
  isDropTarget: boolean;
2437
2433
  }
2438
- export interface TableBodyProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'>, StyleRenderProps<TableBodyRenderProps> {
2434
+ export interface TableBodyProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'>, StyleRenderProps<TableBodyRenderProps>, GlobalDOMAttributes<HTMLTableSectionElement> {
2439
2435
  /** Provides content to display when there are no rows in the table. */
2440
2436
  renderEmptyState?: (props: TableBodyRenderProps) => ReactNode;
2441
2437
  }
2442
2438
  /**
2443
2439
  * The body of a `<Table>`, containing the table rows.
2444
2440
  */
2445
- export const TableBody: <T extends object>(props: TableBodyProps<T> & React.RefAttributes<HTMLTableSectionElement>) => ReactElement | null;
2441
+ export const TableBody: <T extends object>(props: TableBodyProps<T> & React.RefAttributes<HTMLDivElement | HTMLTableSectionElement>) => ReactElement | null;
2446
2442
  export interface RowRenderProps extends ItemRenderProps {
2447
2443
  /** Whether the row's children have keyboard focus. */
2448
2444
  isFocusVisibleWithin: boolean;
2449
2445
  /** The unique id of the row. */
2450
2446
  id?: Key;
2451
2447
  }
2452
- export interface RowProps<T> extends StyleRenderProps<RowRenderProps>, LinkDOMProps, _HoverEvents1 {
2448
+ export interface RowProps<T> extends StyleRenderProps<RowRenderProps>, LinkDOMProps, _HoverEvents1, PressEvents, Omit<GlobalDOMAttributes<HTMLTableRowElement>, 'onClick'> {
2453
2449
  /** A list of columns used when dynamically rendering cells. */
2454
2450
  columns?: Iterable<T>;
2455
2451
  /** The cells within the row. Supports static items or a function for dynamic rendering. */
@@ -2473,7 +2469,7 @@ export interface RowProps<T> extends StyleRenderProps<RowRenderProps>, LinkDOMPr
2473
2469
  /**
2474
2470
  * A row within a `<Table>`.
2475
2471
  */
2476
- export const Row: <T extends object>(props: RowProps<T> & React.RefAttributes<HTMLTableRowElement>) => ReactElement | null;
2472
+ export const Row: <T extends object>(props: RowProps<T> & React.RefAttributes<HTMLDivElement | HTMLTableRowElement>) => ReactElement | null;
2477
2473
  export interface CellRenderProps {
2478
2474
  /**
2479
2475
  * Whether the cell is currently in a pressed state.
@@ -2500,7 +2496,7 @@ export interface CellRenderProps {
2500
2496
  **/
2501
2497
  id?: Key;
2502
2498
  }
2503
- export interface CellProps extends RenderProps<CellRenderProps> {
2499
+ export interface CellProps extends RenderProps<CellRenderProps>, GlobalDOMAttributes<HTMLTableCellElement> {
2504
2500
  /** The unique id of the cell. */
2505
2501
  id?: Key;
2506
2502
  /** A string representation of the cell's contents, used for features like typeahead. */
@@ -2511,8 +2507,8 @@ export interface CellProps extends RenderProps<CellRenderProps> {
2511
2507
  /**
2512
2508
  * A cell within a table row.
2513
2509
  */
2514
- export const Cell: (props: CellProps & React.RefAttributes<object>) => ReactElement | null;
2515
- interface TableLoadingSentinelProps extends Omit<LoadMoreSentinelProps, 'collection'>, StyleProps {
2510
+ export const Cell: (props: CellProps & React.RefAttributes<HTMLDivElement | HTMLTableCellElement>) => ReactElement | null;
2511
+ export interface TableLoadMoreItemProps extends Omit<LoadMoreSentinelProps, 'collection'>, StyleProps, GlobalDOMAttributes<HTMLTableRowElement> {
2516
2512
  /**
2517
2513
  * The load more spinner to render when loading additional items.
2518
2514
  */
@@ -2522,7 +2518,7 @@ interface TableLoadingSentinelProps extends Omit<LoadMoreSentinelProps, 'collect
2522
2518
  */
2523
2519
  isLoading?: boolean;
2524
2520
  }
2525
- export const UNSTABLE_TableLoadingSentinel: <T extends object>(props: TableLoadingSentinelProps & React.RefAttributes<T>) => ReactElement | null;
2521
+ export const TableLoadMoreItem: (props: TableLoadMoreItemProps & React.RefAttributes<HTMLTableRowElement>) => ReactElement | null;
2526
2522
  interface LayoutOptionsDelegate<O> {
2527
2523
  useLayoutOptions?(): O;
2528
2524
  }
@@ -2548,7 +2544,7 @@ export function Virtualizer<O>(props: VirtualizerProps<O>): JSX.Element;
2548
2544
  export class TableLayout<T, O extends TableLayoutProps = TableLayoutProps> extends _TableLayout1<T, O> implements LayoutOptionsDelegate<TableLayoutProps> {
2549
2545
  useLayoutOptions(): TableLayoutProps;
2550
2546
  }
2551
- export interface TabsProps extends Omit<AriaTabListProps<any>, 'items' | 'children'>, RenderProps<TabsRenderProps>, SlotProps {
2547
+ export interface TabsProps extends Omit<AriaTabListProps<any>, 'items' | 'children'>, RenderProps<TabsRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
2552
2548
  }
2553
2549
  export interface TabsRenderProps {
2554
2550
  /**
@@ -2557,7 +2553,7 @@ export interface TabsRenderProps {
2557
2553
  */
2558
2554
  orientation: Orientation;
2559
2555
  }
2560
- export interface TabListProps<T> extends StyleRenderProps<TabListRenderProps>, AriaLabelingProps, Omit<CollectionProps<T>, 'disabledKeys'> {
2556
+ export interface TabListProps<T> extends StyleRenderProps<TabListRenderProps>, AriaLabelingProps, Omit<CollectionProps<T>, 'disabledKeys'>, GlobalDOMAttributes<HTMLDivElement> {
2561
2557
  }
2562
2558
  export interface TabListRenderProps {
2563
2559
  /**
@@ -2570,7 +2566,7 @@ export interface TabListRenderProps {
2570
2566
  */
2571
2567
  state: TabListState<unknown>;
2572
2568
  }
2573
- export interface TabProps extends RenderProps<TabRenderProps>, AriaLabelingProps, LinkDOMProps, _HoverEvents1 {
2569
+ export interface TabProps extends RenderProps<TabRenderProps>, AriaLabelingProps, LinkDOMProps, _HoverEvents1, PressEvents, Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {
2574
2570
  /** The unique id of the tab. */
2575
2571
  id?: Key;
2576
2572
  /** Whether the tab is disabled. */
@@ -2608,7 +2604,7 @@ export interface TabRenderProps {
2608
2604
  */
2609
2605
  isDisabled: boolean;
2610
2606
  }
2611
- export interface TabPanelProps extends AriaTabPanelProps, RenderProps<TabPanelRenderProps> {
2607
+ export interface TabPanelProps extends AriaTabPanelProps, RenderProps<TabPanelRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
2612
2608
  /**
2613
2609
  * Whether to mount the tab panel in the DOM even when it is not currently selected.
2614
2610
  * Inactive tab panels are inert and cannot be interacted with. They must be styled appropriately so this is clear to the user visually.
@@ -2652,12 +2648,12 @@ export const TabList: <T extends object>(props: TabListProps<T> & React.RefAttri
2652
2648
  /**
2653
2649
  * A Tab provides a title for an individual item within a TabList.
2654
2650
  */
2655
- export const Tab: (props: TabProps & React.RefAttributes<object>) => React.ReactElement | null;
2651
+ export const Tab: (props: TabProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
2656
2652
  /**
2657
2653
  * A TabPanel provides the content for a tab.
2658
2654
  */
2659
2655
  export const TabPanel: (props: TabPanelProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
2660
- export interface TagGroupProps extends Omit<AriaTagGroupProps<unknown>, 'children' | 'items' | 'label' | 'description' | 'errorMessage' | 'keyboardDelegate'>, DOMProps, SlotProps {
2656
+ export interface TagGroupProps extends Omit<AriaTagGroupProps<unknown>, 'children' | 'items' | 'label' | 'description' | 'errorMessage' | 'keyboardDelegate'>, DOMProps, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
2661
2657
  }
2662
2658
  export interface TagListRenderProps {
2663
2659
  /**
@@ -2680,7 +2676,7 @@ export interface TagListRenderProps {
2680
2676
  */
2681
2677
  state: ListState<unknown>;
2682
2678
  }
2683
- export interface TagListProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'>, StyleRenderProps<TagListRenderProps> {
2679
+ export interface TagListProps<T> extends Omit<CollectionProps<T>, 'disabledKeys'>, StyleRenderProps<TagListRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
2684
2680
  /** Provides content to display when there are no items in the tag list. */
2685
2681
  renderEmptyState?: (props: TagListRenderProps) => ReactNode;
2686
2682
  }
@@ -2701,7 +2697,7 @@ export interface TagRenderProps extends Omit<ItemRenderProps, 'allowsDragging' |
2701
2697
  */
2702
2698
  allowsRemoving: boolean;
2703
2699
  }
2704
- export interface TagProps extends RenderProps<TagRenderProps>, LinkDOMProps, _HoverEvents1 {
2700
+ export interface TagProps extends RenderProps<TagRenderProps>, LinkDOMProps, _HoverEvents1, PressEvents, Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {
2705
2701
  /** A unique id for the tag. */
2706
2702
  id?: Key;
2707
2703
  /**
@@ -2715,7 +2711,7 @@ export interface TagProps extends RenderProps<TagRenderProps>, LinkDOMProps, _Ho
2715
2711
  /**
2716
2712
  * A Tag is an individual item within a TagList.
2717
2713
  */
2718
- export const Tag: (props: TagProps & React.RefAttributes<object>) => React.ReactElement | null;
2714
+ export const Tag: (props: TagProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
2719
2715
  export const UNSTABLE_ToastStateContext: React.Context<ToastState<any> | null>;
2720
2716
  export interface ToastRegionRenderProps<T> {
2721
2717
  /** A list of all currently visible toasts. */
@@ -2736,7 +2732,7 @@ export interface ToastRegionRenderProps<T> {
2736
2732
  */
2737
2733
  isFocusVisible: boolean;
2738
2734
  }
2739
- export interface ToastRegionProps<T> extends AriaToastRegionProps, StyleRenderProps<ToastRegionRenderProps<T>> {
2735
+ export interface ToastRegionProps<T> extends AriaToastRegionProps, StyleRenderProps<ToastRegionRenderProps<T>>, GlobalDOMAttributes<HTMLDivElement> {
2740
2736
  /** The queue of toasts to display. */
2741
2737
  queue: ToastQueue<T>;
2742
2738
  /** A function to render each toast, or children containing a `<ToastList>`. */
@@ -2771,7 +2767,7 @@ export interface ToastRenderProps<T> {
2771
2767
  */
2772
2768
  isFocusVisible: boolean;
2773
2769
  }
2774
- export interface ToastProps<T> extends AriaToastProps<T>, RenderProps<ToastRenderProps<T>> {
2770
+ export interface ToastProps<T> extends AriaToastProps<T>, RenderProps<ToastRenderProps<T>>, GlobalDOMAttributes<HTMLDivElement> {
2775
2771
  }
2776
2772
  /**
2777
2773
  * A Toast displays a brief, temporary notification of actions, errors, or other events in an application.
@@ -2792,7 +2788,7 @@ export interface ToggleButtonGroupRenderProps {
2792
2788
  */
2793
2789
  state: ToggleGroupState;
2794
2790
  }
2795
- export interface ToggleButtonGroupProps extends AriaToggleButtonGroupProps, RenderProps<ToggleButtonGroupRenderProps>, SlotProps {
2791
+ export interface ToggleButtonGroupProps extends AriaToggleButtonGroupProps, RenderProps<ToggleButtonGroupRenderProps>, SlotProps, GlobalDOMAttributes<HTMLDivElement> {
2796
2792
  }
2797
2793
  export const ToggleButtonGroupContext: React.Context<ContextValue<ToggleButtonGroupProps, HTMLDivElement>>;
2798
2794
  export const ToggleGroupStateContext: React.Context<ToggleGroupState | null>;
@@ -2811,7 +2807,7 @@ export interface ToggleButtonRenderProps extends Omit<ButtonRenderProps, 'isPend
2811
2807
  */
2812
2808
  state: ToggleState;
2813
2809
  }
2814
- export interface ToggleButtonProps extends Omit<AriaToggleButtonProps, 'children' | 'elementType' | 'id'>, HoverEvents, SlotProps, RenderProps<ToggleButtonRenderProps> {
2810
+ export interface ToggleButtonProps extends Omit<AriaToggleButtonProps, 'children' | 'elementType' | 'id'>, HoverEvents, SlotProps, RenderProps<ToggleButtonRenderProps>, Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {
2815
2811
  /** When used in a ToggleButtonGroup, an identifier for the item in `selectedKeys`. When used standalone, a DOM id. */
2816
2812
  id?: Key;
2817
2813
  }
@@ -2827,7 +2823,7 @@ export interface ToolbarRenderProps {
2827
2823
  */
2828
2824
  orientation: _Orientation2;
2829
2825
  }
2830
- export interface ToolbarProps extends AriaToolbarProps, SlotProps, RenderProps<ToolbarRenderProps> {
2826
+ export interface ToolbarProps extends AriaToolbarProps, SlotProps, RenderProps<ToolbarRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
2831
2827
  }
2832
2828
  export const ToolbarContext: React.Context<ContextValue<ToolbarProps, HTMLDivElement>>;
2833
2829
  /**
@@ -2838,7 +2834,7 @@ export const Toolbar: (props: ToolbarProps & React.RefAttributes<HTMLDivElement>
2838
2834
  export interface TooltipTriggerComponentProps extends TooltipTriggerProps {
2839
2835
  children: ReactNode;
2840
2836
  }
2841
- export interface TooltipProps extends PositionProps, Pick<AriaPositionProps, 'arrowBoundaryOffset'>, OverlayTriggerProps, AriaLabelingProps, RenderProps<TooltipRenderProps> {
2837
+ export interface TooltipProps extends PositionProps, Pick<AriaPositionProps, 'arrowBoundaryOffset'>, OverlayTriggerProps, AriaLabelingProps, RenderProps<TooltipRenderProps>, GlobalDOMAttributes<HTMLDivElement> {
2842
2838
  /**
2843
2839
  * The ref for the element which the tooltip positions itself with respect to.
2844
2840
  *
@@ -2931,8 +2927,11 @@ export interface TreeRenderProps {
2931
2927
  }
2932
2928
  interface TreeEmptyStateRenderProps extends Omit<TreeRenderProps, 'isEmpty'> {
2933
2929
  }
2934
- export interface TreeProps<T> extends Omit<AriaTreeProps<T>, 'children'>, MultipleSelection, CollectionProps<T>, StyleRenderProps<TreeRenderProps>, SlotProps, ScrollableProps<HTMLDivElement>, Expandable {
2935
- /** How multiple selection should behave in the tree. */
2930
+ export interface TreeProps<T> extends Omit<AriaTreeProps<T>, 'children'>, MultipleSelection, CollectionProps<T>, StyleRenderProps<TreeRenderProps>, SlotProps, Expandable, GlobalDOMAttributes<HTMLDivElement> {
2931
+ /**
2932
+ * How multiple selection should behave in the tree.
2933
+ * @default "toggle"
2934
+ */
2936
2935
  selectionBehavior?: SelectionBehavior;
2937
2936
  /** Provides content to display when there are no items in the list. */
2938
2937
  renderEmptyState?: (props: TreeEmptyStateRenderProps) => ReactNode;
@@ -2981,8 +2980,8 @@ export interface TreeItemContentRenderProps extends TreeItemRenderProps {
2981
2980
  }
2982
2981
  export interface TreeItemContentProps extends Pick<RenderProps<TreeItemContentRenderProps>, 'children'> {
2983
2982
  }
2984
- export const TreeItemContent: (props: TreeItemContentProps & React.RefAttributes<object>) => React.ReactElement | null;
2985
- export interface TreeItemProps<T = object> extends StyleRenderProps<TreeItemRenderProps>, LinkDOMProps, _HoverEvents1, Pick<AriaTreeItemOptions, 'hasChildItems'> {
2983
+ export const TreeItemContent: (props: TreeItemContentProps & React.RefAttributes<Element>) => React.ReactElement | null;
2984
+ export interface TreeItemProps<T = object> extends StyleRenderProps<TreeItemRenderProps>, LinkDOMProps, _HoverEvents1, PressEvents, Pick<AriaTreeItemOptions, 'hasChildItems'>, Omit<GlobalDOMAttributes<HTMLDivElement>, 'onClick'> {
2986
2985
  /** The unique id of the tree row. */
2987
2986
  id?: Key;
2988
2987
  /** The object value that this tree item represents. When using dynamic collections, this is set automatically. */
@@ -3005,16 +3004,26 @@ export interface TreeItemProps<T = object> extends StyleRenderProps<TreeItemRend
3005
3004
  * A TreeItem represents an individual item in a Tree.
3006
3005
  */
3007
3006
  export const TreeItem: <T extends object>(props: TreeItemProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
3008
- interface UNSTABLE_TreeLoadingIndicatorRenderProps {
3007
+ export interface TreeLoadMoreItemRenderProps {
3009
3008
  /**
3010
3009
  * What level the tree item has within the tree.
3011
3010
  * @selector [data-level]
3012
3011
  */
3013
3012
  level: number;
3014
3013
  }
3015
- interface TreeLoaderProps extends RenderProps<UNSTABLE_TreeLoadingIndicatorRenderProps>, StyleRenderProps<UNSTABLE_TreeLoadingIndicatorRenderProps> {
3014
+ export interface TreeLoadMoreItemProps extends Omit<LoadMoreSentinelProps, 'collection'>, RenderProps<TreeLoadMoreItemRenderProps> {
3015
+ /**
3016
+ * The load more spinner to render when loading additional items.
3017
+ */
3018
+ children?: ReactNode | ((values: TreeLoadMoreItemRenderProps & {
3019
+ defaultChildren: ReactNode | undefined;
3020
+ }) => ReactNode);
3021
+ /**
3022
+ * Whether or not the loading spinner should be rendered or not.
3023
+ */
3024
+ isLoading?: boolean;
3016
3025
  }
3017
- export const UNSTABLE_TreeLoadingIndicator: <T extends object>(props: TreeLoaderProps & React.RefAttributes<T>) => React.ReactElement | null;
3026
+ export const TreeLoadMoreItem: <T extends object>(props: TreeLoadMoreItemProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
3018
3027
  export { Collection, createLeafComponent as UNSTABLE_createLeafComponent, createBranchComponent as UNSTABLE_createBranchComponent, CollectionBuilder as UNSTABLE_CollectionBuilder } from '@react-aria/collections';
3019
3028
  export { DIRECTORY_DRAG_TYPE, isDirectoryDropItem, isFileDropItem, isTextDropItem, SSRProvider, RouterProvider, I18nProvider, useLocale, useFilter, Pressable, Focusable } from 'react-aria';
3020
3029
  export { FormValidationContext, parseColor, getColorChannels, ToastQueue as UNSTABLE_ToastQueue } from 'react-stately';