react-aria-components 3.0.0-nightly-412a51816-250219 → 3.0.0-nightly-a792c1ad5-250222

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 (80) hide show
  1. package/dist/Autocomplete.main.js +20 -10
  2. package/dist/Autocomplete.main.js.map +1 -1
  3. package/dist/Autocomplete.mjs +20 -10
  4. package/dist/Autocomplete.module.js +20 -10
  5. package/dist/Autocomplete.module.js.map +1 -1
  6. package/dist/GridList.main.js.map +1 -1
  7. package/dist/GridList.module.js.map +1 -1
  8. package/dist/Group.main.js.map +1 -1
  9. package/dist/Group.module.js.map +1 -1
  10. package/dist/ListBox.main.js +16 -16
  11. package/dist/ListBox.main.js.map +1 -1
  12. package/dist/ListBox.mjs +17 -17
  13. package/dist/ListBox.module.js +17 -17
  14. package/dist/ListBox.module.js.map +1 -1
  15. package/dist/Menu.main.js +72 -7
  16. package/dist/Menu.main.js.map +1 -1
  17. package/dist/Menu.mjs +72 -8
  18. package/dist/Menu.module.js +72 -8
  19. package/dist/Menu.module.js.map +1 -1
  20. package/dist/Popover.main.js +38 -14
  21. package/dist/Popover.main.js.map +1 -1
  22. package/dist/Popover.mjs +39 -15
  23. package/dist/Popover.module.js +39 -15
  24. package/dist/Popover.module.js.map +1 -1
  25. package/dist/SearchField.main.js +3 -1
  26. package/dist/SearchField.main.js.map +1 -1
  27. package/dist/SearchField.mjs +4 -2
  28. package/dist/SearchField.module.js +4 -2
  29. package/dist/SearchField.module.js.map +1 -1
  30. package/dist/Table.main.js +10 -38
  31. package/dist/Table.main.js.map +1 -1
  32. package/dist/Table.mjs +10 -38
  33. package/dist/Table.module.js +10 -38
  34. package/dist/Table.module.js.map +1 -1
  35. package/dist/TableLayout.main.js.map +1 -1
  36. package/dist/TableLayout.module.js.map +1 -1
  37. package/dist/TextField.main.js +3 -1
  38. package/dist/TextField.main.js.map +1 -1
  39. package/dist/TextField.mjs +4 -2
  40. package/dist/TextField.module.js +4 -2
  41. package/dist/TextField.module.js.map +1 -1
  42. package/dist/Toast.main.js +150 -0
  43. package/dist/Toast.main.js.map +1 -0
  44. package/dist/Toast.mjs +139 -0
  45. package/dist/Toast.module.js +139 -0
  46. package/dist/Toast.module.js.map +1 -0
  47. package/dist/Tree.main.js +26 -25
  48. package/dist/Tree.main.js.map +1 -1
  49. package/dist/Tree.mjs +21 -20
  50. package/dist/Tree.module.js +21 -20
  51. package/dist/Tree.module.js.map +1 -1
  52. package/dist/Virtualizer.main.js +4 -1
  53. package/dist/Virtualizer.main.js.map +1 -1
  54. package/dist/Virtualizer.mjs +4 -1
  55. package/dist/Virtualizer.module.js +4 -1
  56. package/dist/Virtualizer.module.js.map +1 -1
  57. package/dist/import.mjs +11 -5
  58. package/dist/main.js +32 -13
  59. package/dist/main.js.map +1 -1
  60. package/dist/module.js +11 -5
  61. package/dist/module.js.map +1 -1
  62. package/dist/types.d.ts +136 -28
  63. package/dist/types.d.ts.map +1 -1
  64. package/i18n/index.js +1 -1
  65. package/i18n/index.mjs +1 -1
  66. package/package.json +34 -32
  67. package/src/Autocomplete.tsx +14 -11
  68. package/src/GridList.tsx +5 -0
  69. package/src/Group.tsx +1 -0
  70. package/src/ListBox.tsx +9 -8
  71. package/src/Menu.tsx +68 -10
  72. package/src/Popover.tsx +47 -21
  73. package/src/SearchField.tsx +3 -3
  74. package/src/Table.tsx +10 -40
  75. package/src/TableLayout.ts +1 -1
  76. package/src/TextField.tsx +3 -3
  77. package/src/Toast.tsx +185 -0
  78. package/src/Tree.tsx +50 -37
  79. package/src/Virtualizer.tsx +18 -3
  80. package/src/index.ts +13 -7
package/src/Tree.tsx CHANGED
@@ -10,15 +10,14 @@
10
10
  * governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import {AriaTreeGridListItemOptions, AriaTreeGridListProps, useTreeGridList, useTreeGridListItem} from '@react-aria/tree';
13
+ import {AriaTreeItemOptions, AriaTreeProps, FocusScope, mergeProps, useFocusRing, useGridListSelectionCheckbox, useHover, useTree, useTreeItem} from 'react-aria';
14
14
  import {ButtonContext} from './Button';
15
15
  import {CheckboxContext} from './RSPContexts';
16
16
  import {Collection, CollectionBuilder, CollectionNode, createBranchComponent, createLeafComponent, useCachedChildren} from '@react-aria/collections';
17
17
  import {CollectionProps, CollectionRendererContext, DefaultCollectionRenderer, ItemRenderProps, usePersistedKeys} from './Collection';
18
18
  import {ContextValue, DEFAULT_SLOT, Provider, RenderProps, ScrollableProps, SlotProps, StyleRenderProps, useContextProps, useRenderProps} from './utils';
19
- import {DisabledBehavior, Expandable, forwardRefType, HoverEvents, Key, LinkDOMProps, RefObject} from '@react-types/shared';
19
+ import {DisabledBehavior, Expandable, forwardRefType, HoverEvents, Key, LinkDOMProps, MultipleSelection, RefObject} from '@react-types/shared';
20
20
  import {filterDOMProps, useObjectRef} from '@react-aria/utils';
21
- import {FocusScope, mergeProps, useFocusRing, useGridListSelectionCheckbox, useHover} from 'react-aria';
22
21
  import {Collection as ICollection, Node, SelectionBehavior, TreeState, useTreeState} from 'react-stately';
23
22
  import React, {createContext, ForwardedRef, forwardRef, HTMLAttributes, ReactNode, useContext, useEffect, useMemo, useRef} from 'react';
24
23
  import {useControlledState} from '@react-stately/utils';
@@ -120,7 +119,7 @@ export interface TreeRenderProps {
120
119
 
121
120
  export interface TreeEmptyStateRenderProps extends Omit<TreeRenderProps, 'isEmpty'> {}
122
121
 
123
- export interface TreeProps<T> extends Omit<AriaTreeGridListProps<T>, 'children'>, CollectionProps<T>, StyleRenderProps<TreeRenderProps>, SlotProps, ScrollableProps<HTMLDivElement>, Expandable {
122
+ export interface TreeProps<T> extends Omit<AriaTreeProps<T>, 'children'>, MultipleSelection, CollectionProps<T>, StyleRenderProps<TreeRenderProps>, SlotProps, ScrollableProps<HTMLDivElement>, Expandable {
124
123
  /** How multiple selection should behave in the tree. */
125
124
  selectionBehavior?: SelectionBehavior,
126
125
  /** Provides content to display when there are no items in the list. */
@@ -133,16 +132,16 @@ export interface TreeProps<T> extends Omit<AriaTreeGridListProps<T>, 'children'>
133
132
  }
134
133
 
135
134
 
136
- export const UNSTABLE_TreeContext = createContext<ContextValue<TreeProps<any>, HTMLDivElement>>(null);
137
- export const UNSTABLE_TreeStateContext = createContext<TreeState<any> | null>(null);
135
+ export const TreeContext = createContext<ContextValue<TreeProps<any>, HTMLDivElement>>(null);
136
+ export const TreeStateContext = createContext<TreeState<any> | null>(null);
138
137
 
139
138
  /**
140
139
  * A tree provides users with a way to navigate nested hierarchical information, with support for keyboard navigation
141
140
  * and selection.
142
141
  */
143
- export const UNSTABLE_Tree = /*#__PURE__*/ (forwardRef as forwardRefType)(function Tree<T extends object>(props: TreeProps<T>, ref: ForwardedRef<HTMLDivElement>) {
142
+ export const Tree = /*#__PURE__*/ (forwardRef as forwardRefType)(function Tree<T extends object>(props: TreeProps<T>, ref: ForwardedRef<HTMLDivElement>) {
144
143
  // Render the portal first so that we have the collection by the time we render the DOM in SSR.
145
- [props, ref] = useContextProps(props, ref, UNSTABLE_TreeContext);
144
+ [props, ref] = useContextProps(props, ref, TreeContext);
146
145
 
147
146
  return (
148
147
  <CollectionBuilder content={<Collection {...props} />}>
@@ -189,7 +188,7 @@ function TreeInner<T extends object>({props, collection, treeRef: ref}: TreeInne
189
188
  disabledBehavior
190
189
  });
191
190
 
192
- let {gridProps} = useTreeGridList({
191
+ let {gridProps} = useTree({
193
192
  ...props,
194
193
  isVirtualized,
195
194
  layoutDelegate
@@ -245,7 +244,7 @@ function TreeInner<T extends object>({props, collection, treeRef: ref}: TreeInne
245
244
  data-focus-visible={isFocusVisible || undefined}>
246
245
  <Provider
247
246
  values={[
248
- [UNSTABLE_TreeStateContext, state]
247
+ [TreeStateContext, state]
249
248
  ]}>
250
249
  <CollectionRoot
251
250
  collection={state.collection}
@@ -260,34 +259,39 @@ function TreeInner<T extends object>({props, collection, treeRef: ref}: TreeInne
260
259
 
261
260
  // TODO: readd the rest of the render props when tree supports them
262
261
  export interface TreeItemRenderProps extends Omit<ItemRenderProps, 'allowsDragging' | 'isDragging' | 'isDropTarget'> {
263
- /** Whether the tree item is expanded. */
264
- isExpanded: boolean,
265
- // TODO: api discussion, how do we feel about the below? This is so we can still style the row as grey when a child element within is focused
266
- // Maybe should have this for the other collection item render props
267
- /** Whether the tree item's children have keyboard focus. */
268
- isFocusVisibleWithin: boolean
269
- }
270
-
271
- export interface TreeItemContentRenderProps extends ItemRenderProps {
272
- // Whether the tree item is expanded.
262
+ /**
263
+ * Whether the tree item is expanded.
264
+ * @selector [data-expanded]
265
+ */
273
266
  isExpanded: boolean,
274
- // Whether the tree item has child tree items.
267
+ /**
268
+ * Whether the tree item has child tree items.
269
+ * @selector [data-has-child-items]
270
+ */
275
271
  hasChildItems: boolean,
276
- // What level the tree item has within the tree.
272
+ /**
273
+ * What level the tree item has within the tree.
274
+ * @selector [data-level="number"]
275
+ */
277
276
  level: number,
278
- // Whether the tree item's children have keyboard focus.
277
+ /**
278
+ * Whether the tree item's children have keyboard focus.
279
+ * @selector [data-focus-visible-within]
280
+ */
279
281
  isFocusVisibleWithin: boolean,
280
- // The state of the tree.
282
+ /** The state of the tree. */
281
283
  state: TreeState<unknown>,
282
- // The unique id of the tree row.
284
+ /** The unique id of the tree row. */
283
285
  id: Key
284
286
  }
285
287
 
288
+ export interface TreeItemContentRenderProps extends TreeItemRenderProps {}
289
+
286
290
  // The TreeItemContent is the one that accepts RenderProps because we would get much more complicated logic in TreeItem otherwise since we'd
287
291
  // need to do a bunch of check to figure out what is the Content and what are the actual collection elements (aka child rows) of the TreeItem
288
292
  export interface TreeItemContentProps extends Pick<RenderProps<TreeItemContentRenderProps>, 'children'> {}
289
293
 
290
- export const UNSTABLE_TreeItemContent = /*#__PURE__*/ createLeafComponent('content', function TreeItemContent(props: TreeItemContentProps) {
294
+ export const TreeItemContent = /*#__PURE__*/ createLeafComponent('content', function TreeItemContent(props: TreeItemContentProps) {
291
295
  let values = useContext(TreeItemContentContext)!;
292
296
  let renderProps = useRenderProps({
293
297
  children: props.children,
@@ -302,7 +306,7 @@ export const UNSTABLE_TreeItemContent = /*#__PURE__*/ createLeafComponent('conte
302
306
 
303
307
  export const TreeItemContentContext = createContext<TreeItemContentRenderProps | null>(null);
304
308
 
305
- export interface TreeItemProps<T = object> extends StyleRenderProps<TreeItemRenderProps>, LinkDOMProps, HoverEvents, Pick<AriaTreeGridListItemOptions, 'hasChildItems'> {
309
+ export interface TreeItemProps<T = object> extends StyleRenderProps<TreeItemRenderProps>, LinkDOMProps, HoverEvents, Pick<AriaTreeItemOptions, 'hasChildItems'> {
306
310
  /** The unique id of the tree row. */
307
311
  id?: Key,
308
312
  /** The object value that this tree item represents. When using dynamic collections, this is set automatically. */
@@ -312,18 +316,25 @@ export interface TreeItemProps<T = object> extends StyleRenderProps<TreeItemRend
312
316
  /** An accessibility label for this tree item. */
313
317
  'aria-label'?: string,
314
318
  /** The content of the tree item along with any nested children. Supports static nested tree items or use of a Collection to dynamically render nested tree items. */
315
- children: ReactNode
319
+ children: ReactNode,
320
+ /** Whether the item is disabled. */
321
+ isDisabled?: boolean,
322
+ /**
323
+ * Handler that is called when a user performs an action on this tree item. The exact user event depends on
324
+ * the collection's `selectionBehavior` prop and the interaction modality.
325
+ */
326
+ onAction?: () => void
316
327
  }
317
328
 
318
329
  /**
319
330
  * A TreeItem represents an individual item in a Tree.
320
331
  */
321
- export const UNSTABLE_TreeItem = /*#__PURE__*/ createBranchComponent('item', <T extends object>(props: TreeItemProps<T>, ref: ForwardedRef<HTMLDivElement>, item: Node<T>) => {
322
- let state = useContext(UNSTABLE_TreeStateContext)!;
332
+ export const TreeItem = /*#__PURE__*/ createBranchComponent('item', <T extends object>(props: TreeItemProps<T>, ref: ForwardedRef<HTMLDivElement>, item: Node<T>) => {
333
+ let state = useContext(TreeStateContext)!;
323
334
  ref = useObjectRef<HTMLDivElement>(ref);
324
335
  // TODO: remove this when we support description in tree row
325
336
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
326
- let {rowProps, gridCellProps, expandButtonProps, descriptionProps, ...states} = useTreeGridListItem({node: item}, state, ref);
337
+ let {rowProps, gridCellProps, expandButtonProps, descriptionProps, ...states} = useTreeItem({node: item}, state, ref);
327
338
  let isExpanded = rowProps['aria-expanded'] === true;
328
339
  let hasChildItems = props.hasChildItems || [...state.collection.getChildren!(item.key)]?.length > 1;;
329
340
  let level = rowProps['aria-level'] || 1;
@@ -345,6 +356,8 @@ export const UNSTABLE_TreeItem = /*#__PURE__*/ createBranchComponent('item', <T
345
356
  state
346
357
  );
347
358
 
359
+ let selectionMode = state.selectionManager.selectionMode;
360
+ let selectionBehavior = state.selectionManager.selectionBehavior;
348
361
  let renderPropValues = React.useMemo<TreeItemContentRenderProps>(() => ({
349
362
  ...states,
350
363
  isHovered,
@@ -352,12 +365,12 @@ export const UNSTABLE_TreeItem = /*#__PURE__*/ createBranchComponent('item', <T
352
365
  isExpanded,
353
366
  hasChildItems,
354
367
  level,
355
- selectionMode: state.selectionManager.selectionMode,
356
- selectionBehavior: state.selectionManager.selectionBehavior,
368
+ selectionMode,
369
+ selectionBehavior,
357
370
  isFocusVisibleWithin,
358
371
  state,
359
372
  id: item.key
360
- }), [states, isHovered, isFocusVisible, state.selectionManager, isExpanded, hasChildItems, level, isFocusVisibleWithin, state, item.key]);
373
+ }), [states, isHovered, isFocusVisible, selectionMode, selectionBehavior, isExpanded, hasChildItems, level, isFocusVisibleWithin, state, item.key]);
361
374
 
362
375
  let renderProps = useRenderProps({
363
376
  ...props,
@@ -461,11 +474,11 @@ export interface TreeLoadingIndicatorRenderProps {
461
474
 
462
475
  export interface TreeLoaderProps extends RenderProps<TreeLoadingIndicatorRenderProps>, StyleRenderProps<TreeLoadingIndicatorRenderProps> {}
463
476
 
464
- export const UNSTABLE_TreeLoadingIndicator = createLeafComponent('loader', function TreeLoader<T extends object>(props: TreeLoaderProps, ref: ForwardedRef<HTMLDivElement>, item: Node<T>) {
465
- let state = useContext(UNSTABLE_TreeStateContext);
477
+ export const TreeLoadingIndicator = createLeafComponent('loader', function TreeLoader<T extends object>(props: TreeLoaderProps, ref: ForwardedRef<HTMLDivElement>, item: Node<T>) {
478
+ let state = useContext(TreeStateContext);
466
479
  // This loader row is is non-interactable, but we want the same aria props calculated as a typical row
467
480
  // @ts-ignore
468
- let {rowProps} = useTreeGridListItem({node: item}, state, ref);
481
+ let {rowProps} = useTreeItem({node: item}, state, ref);
469
482
  let level = rowProps['aria-level'] || 1;
470
483
 
471
484
  let ariaProps = {
@@ -24,20 +24,35 @@ export interface LayoutOptionsDelegate<O> {
24
24
 
25
25
  interface ILayout<O> extends Layout<Node<unknown>, O>, Partial<DropTargetDelegate>, LayoutOptionsDelegate<O> {}
26
26
 
27
+ interface LayoutClass<O> {
28
+ new(): ILayout<O>
29
+ }
30
+
27
31
  export interface VirtualizerProps<O> {
28
32
  /** The child collection to virtualize (e.g. ListBox, GridList, or Table). */
29
33
  children: ReactNode,
30
34
  /** The layout object that determines the position and size of the visible elements. */
31
- layout: ILayout<O>,
35
+ layout: LayoutClass<O> | ILayout<O>,
32
36
  /** Options for the layout. */
33
37
  layoutOptions?: O
34
38
  }
35
39
 
40
+ interface LayoutContextValue {
41
+ layout: ILayout<any>,
42
+ layoutOptions?: any
43
+ }
44
+
36
45
  const VirtualizerContext = createContext<VirtualizerState<any, any> | null>(null);
37
- const LayoutContext = createContext<Pick<VirtualizerProps<any>, 'layout' | 'layoutOptions'> | null>(null);
46
+ const LayoutContext = createContext<LayoutContextValue | null>(null);
38
47
 
48
+ /**
49
+ * A Virtualizer renders a scrollable collection of data using customizable layouts.
50
+ * It supports very large collections by only rendering visible items to the DOM, reusing
51
+ * them as the user scrolls.
52
+ */
39
53
  export function Virtualizer<O>(props: VirtualizerProps<O>) {
40
- let {children, layout, layoutOptions} = props;
54
+ let {children, layout: layoutProp, layoutOptions} = props;
55
+ let layout = useMemo(() => typeof layoutProp === 'function' ? new layoutProp() : layoutProp, [layoutProp]);
41
56
  let renderer: CollectionRenderer = useMemo(() => ({
42
57
  isVirtualized: true,
43
58
  layoutDelegate: layout,
package/src/index.ts CHANGED
@@ -16,7 +16,7 @@ import 'client-only';
16
16
 
17
17
  export {CheckboxContext, ColorAreaContext, ColorFieldContext, ColorSliderContext, ColorWheelContext, HeadingContext} from './RSPContexts';
18
18
 
19
- export {UNSTABLE_Autocomplete, UNSTABLE_AutocompleteContext, UNSTABLE_AutocompleteStateContext} from './Autocomplete';
19
+ export {Autocomplete, AutocompleteContext, AutocompleteStateContext} from './Autocomplete';
20
20
  export {Breadcrumbs, BreadcrumbsContext, Breadcrumb} from './Breadcrumbs';
21
21
  export {Button, ButtonContext} from './Button';
22
22
  export {Calendar, CalendarGrid, CalendarGridHeader, CalendarGridBody, CalendarHeaderCell, CalendarCell, RangeCalendar, CalendarContext, RangeCalendarContext, CalendarStateContext, RangeCalendarStateContext} from './Calendar';
@@ -44,13 +44,13 @@ export {Group, GroupContext} from './Group';
44
44
  export {Header, HeaderContext} from './Header';
45
45
  export {Heading} from './Heading';
46
46
  export {Input, InputContext} from './Input';
47
- export {Section, CollectionRendererContext as UNSTABLE_CollectionRendererContext, DefaultCollectionRenderer as UNSTABLE_DefaultCollectionRenderer} from './Collection';
47
+ export {Section, CollectionRendererContext, DefaultCollectionRenderer} from './Collection';
48
48
  export {Collection, createLeafComponent as UNSTABLE_createLeafComponent, createBranchComponent as UNSTABLE_createBranchComponent, CollectionBuilder as UNSTABLE_CollectionBuilder} from '@react-aria/collections';
49
49
  export {Keyboard, KeyboardContext} from './Keyboard';
50
50
  export {Label, LabelContext} from './Label';
51
51
  export {Link, LinkContext} from './Link';
52
52
  export {ListBox, ListBoxItem, ListBoxSection, ListBoxContext, ListStateContext} from './ListBox';
53
- export {Menu, MenuItem, MenuTrigger, MenuSection, MenuContext, MenuStateContext, RootMenuTriggerStateContext, SubmenuTrigger} from './Menu';
53
+ export {Menu, MenuItem, MenuTrigger, MenuSection, MenuContext, MenuStateContext, RootMenuTriggerStateContext, SubmenuTrigger, SubDialogTrigger as UNSTABLE_SubDialogTrigger} from './Menu';
54
54
  export {Meter, MeterContext} from './Meter';
55
55
  export {Modal, ModalOverlay, ModalContext} from './Modal';
56
56
  export {NumberField, NumberFieldContext, NumberFieldStateContext} from './NumberField';
@@ -64,24 +64,28 @@ export {Separator, SeparatorContext} from './Separator';
64
64
  export {Slider, SliderOutput, SliderTrack, SliderThumb, SliderContext, SliderOutputContext, SliderTrackContext, SliderStateContext} from './Slider';
65
65
  export {Switch, SwitchContext} from './Switch';
66
66
  export {UNSTABLE_TableLoadingIndicator, Table, Row, Cell, Column, ColumnResizer, TableHeader, TableBody, TableContext, ResizableTableContainer, useTableOptions, TableStateContext, TableColumnResizeStateContext} from './Table';
67
- export {TableLayout as UNSTABLE_TableLayout} from './TableLayout';
67
+ export {TableLayout} from './TableLayout';
68
68
  export {Tabs, TabList, TabPanel, Tab, TabsContext, TabListStateContext} from './Tabs';
69
69
  export {TagGroup, TagGroupContext, TagList, TagListContext, Tag} from './TagGroup';
70
70
  export {Text, TextContext} from './Text';
71
71
  export {TextArea, TextAreaContext} from './TextArea';
72
72
  export {TextField, TextFieldContext} from './TextField';
73
+ export {Toast as UNSTABLE_Toast, ToastRegion as UNSTABLE_ToastRegion, ToastContent as UNSTABLE_ToastContent} from './Toast';
73
74
  export {ToggleButton, ToggleButtonContext} from './ToggleButton';
74
75
  export {ToggleButtonGroup, ToggleButtonGroupContext, ToggleGroupStateContext} from './ToggleButtonGroup';
75
76
  export {Toolbar, ToolbarContext} from './Toolbar';
76
77
  export {TooltipTrigger, Tooltip, TooltipTriggerStateContext, TooltipContext} from './Tooltip';
77
- export {UNSTABLE_TreeLoadingIndicator, UNSTABLE_Tree, UNSTABLE_TreeItem, UNSTABLE_TreeContext, UNSTABLE_TreeItemContent, UNSTABLE_TreeStateContext} from './Tree';
78
+ export {TreeLoadingIndicator, Tree, TreeItem, TreeContext, TreeItemContent, TreeStateContext} from './Tree';
78
79
  export {useDragAndDrop} from './useDragAndDrop';
79
80
  export {DropIndicator, DropIndicatorContext, DragAndDropContext} from './DragAndDrop';
80
- export {Virtualizer as UNSTABLE_Virtualizer} from './Virtualizer';
81
+ export {Virtualizer} from './Virtualizer';
81
82
  export {DIRECTORY_DRAG_TYPE, isDirectoryDropItem, isFileDropItem, isTextDropItem, SSRProvider, RouterProvider, I18nProvider, useLocale, useFilter, Pressable, Focusable} from 'react-aria';
82
83
  export {FormValidationContext} from 'react-stately';
83
84
  export {parseColor, getColorChannels} from '@react-stately/color';
84
85
  export {ListLayout as UNSTABLE_ListLayout, GridLayout as UNSTABLE_GridLayout} from '@react-stately/layout';
86
+ export {ToastQueue as UNSTABLE_ToastQueue} from '@react-stately/toast';
87
+ export {ListLayout, GridLayout, WaterfallLayout} from '@react-stately/layout';
88
+ export {Layout, LayoutInfo, Size, Rect, Point} from '@react-stately/virtualizer';
85
89
 
86
90
  export type {AutocompleteProps} from './Autocomplete';
87
91
  export type {BreadcrumbsProps, BreadcrumbProps, BreadcrumbRenderProps} from './Breadcrumbs';
@@ -132,6 +136,8 @@ export type {TagGroupProps, TagListProps, TagListRenderProps, TagProps, TagRende
132
136
  export type {TextAreaProps} from './TextArea';
133
137
  export type {TextFieldProps, TextFieldRenderProps} from './TextField';
134
138
  export type {TextProps} from './Text';
139
+ export type {ToastRegionProps, ToastRegionRenderProps, ToastProps, ToastRenderProps} from './Toast';
140
+ export type {ToastOptions} from '@react-stately/toast';
135
141
  export type {ToggleButtonProps, ToggleButtonRenderProps} from './ToggleButton';
136
142
  export type {ToggleButtonGroupProps, ToggleButtonGroupRenderProps} from './ToggleButtonGroup';
137
143
  export type {ToolbarProps, ToolbarRenderProps} from './Toolbar';
@@ -147,4 +153,4 @@ export type {DirectoryDropItem, DraggableCollectionEndEvent, DraggableCollection
147
153
  export type {Key, Selection, SortDescriptor, SortDirection, SelectionMode} from 'react-stately';
148
154
  export type {ValidationResult, RouterConfig} from '@react-types/shared';
149
155
  export type {Color, ColorSpace, ColorFormat} from '@react-types/color';
150
- export type {ListLayoutOptions, GridLayoutOptions} from '@react-stately/layout';
156
+ export type {ListLayoutOptions, GridLayoutOptions, WaterfallLayoutOptions} from '@react-stately/layout';