(
+ (story, {parameters, args}) => (
<>
- {!parameters.disableToastContainer &&
}
+ {!parameters.disableToastContainer &&
}
{story()}
>
)
],
args: {
shouldCloseOnAction: false,
- timeout: null
+ timeout: null,
+ placement: undefined
},
argTypes: {
timeout: {
control: 'radio',
options: [null, 5000]
+ },
+ placement: {
+ control: 'select',
+ options: [undefined, 'top', 'top end', 'bottom', 'bottom end']
}
}
};
diff --git a/packages/@react-spectrum/tooltip/package.json b/packages/@react-spectrum/tooltip/package.json
index 8cf157a4352..88815322715 100644
--- a/packages/@react-spectrum/tooltip/package.json
+++ b/packages/@react-spectrum/tooltip/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-spectrum/tooltip",
- "version": "3.7.0",
+ "version": "3.7.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -36,17 +36,17 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-aria/focus": "^3.19.0",
- "@react-aria/overlays": "^3.24.0",
- "@react-aria/tooltip": "^3.7.10",
- "@react-aria/utils": "^3.26.0",
- "@react-spectrum/overlays": "^5.7.0",
- "@react-spectrum/utils": "^3.12.0",
- "@react-stately/tooltip": "^3.5.0",
- "@react-types/overlays": "^3.8.11",
- "@react-types/shared": "^3.26.0",
- "@react-types/tooltip": "^3.4.13",
- "@spectrum-icons/ui": "^3.6.11",
+ "@react-aria/focus": "^3.19.1",
+ "@react-aria/overlays": "^3.25.0",
+ "@react-aria/tooltip": "^3.7.11",
+ "@react-aria/utils": "^3.27.0",
+ "@react-spectrum/overlays": "^5.7.1",
+ "@react-spectrum/utils": "^3.12.1",
+ "@react-stately/tooltip": "^3.5.1",
+ "@react-types/overlays": "^3.8.12",
+ "@react-types/shared": "^3.27.0",
+ "@react-types/tooltip": "^3.4.14",
+ "@spectrum-icons/ui": "^3.6.12",
"@swc/helpers": "^0.5.0"
},
"devDependencies": {
diff --git a/packages/@react-spectrum/tree/docs/TreeView.mdx b/packages/@react-spectrum/tree/docs/TreeView.mdx
index 06334ca4dc8..9e1fd3a0d75 100644
--- a/packages/@react-spectrum/tree/docs/TreeView.mdx
+++ b/packages/@react-spectrum/tree/docs/TreeView.mdx
@@ -11,7 +11,8 @@ import {Layout} from '@react-spectrum/docs';
export default Layout;
import docs from 'docs:@react-spectrum/tree';
-import {HeaderInfo, PropTable, PageDescription, TypeLink, VersionBadge} from '@react-spectrum/docs';
+import treeUtils from 'docs:@react-aria/test-utils/src/tree.ts';
+import {HeaderInfo, PropTable, PageDescription, TypeLink, VersionBadge, ClassAPI} from '@react-spectrum/docs';
import {Keyboard} from '@react-spectrum/text';
import packageData from '@react-spectrum/tree/package.json';
import ChevronRight from '@spectrum-icons/workflow/ChevronRight';
@@ -219,7 +220,7 @@ function ControlledSelection() {
aria-label="Example tree with controlled selection"
defaultExpandedKeys={['projects', 'project-2']}
/*- begin highlight -*/
- selectionMode="multiple"
+ selectionMode="multiple"
selectedKeys={selectedKeys}
onSelectionChange={setSelectedKeys}
/*- end highlight -*/
@@ -454,5 +455,46 @@ behaviors in your test suite.
[Long press](./testing.html#simulating-user-long-press)
-Please also refer to [React Spectrum's test suite](https://github.com/adobe/react-spectrum/blob/main/packages/%40react-spectrum/tree/test/TreeView.test.js) if you find that the above
+Please also refer to [React Spectrum's test suite](https://github.com/adobe/react-spectrum/blob/main/packages/%40react-spectrum/tree/test/TreeView.test.tsx) if you find that the above
isn't sufficient when resolving issues in your own test cases.
+
+### Test utils
+
+`@react-spectrum/test-utils` offers common tree interaction utilities which you may find helpful when writing tests. See [here](../react-aria/testing.html#react-aria-test-utils) for more information on how to setup these utilities
+in your tests. Below is the full definition of the tree tester and a sample of how you could use it in your test suite.
+
+```ts
+// Tree.test.ts
+import {render, within} from '@testing-library/react';
+import {theme} from '@react-spectrum/theme-default';
+import {User} from '@react-spectrum/test-utils';
+
+let testUtilUser = new User({interactionType: 'mouse'});
+// ...
+
+it('TreeView can select a row via keyboard', async function () {
+ // Render your test component/app and initialize the Tree tester
+ let {getByTestId} = render(
+
+
+ ...
+
+
+ );
+ let treeTester = testUtilUser.createTester('Tree', {root: getByTestId('test-tree'), interactionType: 'keyboard'});
+
+ await treeTester.toggleRowSelection({row: 0});
+ expect(treeTester.selectedRows).toHaveLength(1);
+ expect(within(treeTester.rows[0]).getByRole('checkbox')).toBeChecked();
+
+ await treeTester.toggleRowSelection({row: 1});
+ expect(treeTester.selectedRows).toHaveLength(2);
+ expect(within(treeTester.rows[1]).getByRole('checkbox')).toBeChecked();
+
+ await treeTester.toggleRowSelection({row: 0});
+ expect(treeTester.selectedRows).toHaveLength(1);
+ expect(within(treeTester.rows[0]).getByRole('checkbox')).not.toBeChecked();
+});
+```
+
+
diff --git a/packages/@react-spectrum/tree/package.json b/packages/@react-spectrum/tree/package.json
index 547b8b20010..b9af5527929 100644
--- a/packages/@react-spectrum/tree/package.json
+++ b/packages/@react-spectrum/tree/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-spectrum/tree",
- "version": "3.0.0-beta.2",
+ "version": "3.0.0-beta.3",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -36,17 +36,17 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-aria/button": "^3.11.0",
- "@react-aria/i18n": "^3.12.4",
- "@react-aria/tree": "3.0.0-beta.2",
- "@react-aria/utils": "^3.26.0",
- "@react-spectrum/checkbox": "^3.9.11",
- "@react-spectrum/text": "^3.5.10",
- "@react-spectrum/utils": "^3.12.0",
- "@react-types/shared": "^3.26.0",
- "@spectrum-icons/ui": "^3.6.11",
+ "@react-aria/button": "^3.11.1",
+ "@react-aria/i18n": "^3.12.5",
+ "@react-aria/tree": "3.0.0-beta.3",
+ "@react-aria/utils": "^3.27.0",
+ "@react-spectrum/checkbox": "^3.9.12",
+ "@react-spectrum/text": "^3.5.11",
+ "@react-spectrum/utils": "^3.12.1",
+ "@react-types/shared": "^3.27.0",
+ "@spectrum-icons/ui": "^3.6.12",
"@swc/helpers": "^0.5.0",
- "react-aria-components": "^1.5.0"
+ "react-aria-components": "^1.6.0"
},
"peerDependencies": {
"@react-spectrum/provider": "^3.0.0",
diff --git a/packages/@react-spectrum/tree/test/TreeView.test.tsx b/packages/@react-spectrum/tree/test/TreeView.test.tsx
index 5130a8b40f4..be7bc2bd8a9 100644
--- a/packages/@react-spectrum/tree/test/TreeView.test.tsx
+++ b/packages/@react-spectrum/tree/test/TreeView.test.tsx
@@ -22,6 +22,7 @@ import {Provider} from '@react-spectrum/provider';
import React from 'react';
import {theme} from '@react-spectrum/theme-default';
import {TreeView, TreeViewItem} from '../';
+import {User} from '@react-aria/test-utils';
import userEvent from '@testing-library/user-event';
let onSelectionChange = jest.fn();
@@ -170,6 +171,7 @@ let DynamicTree = ({treeProps = {}, rowProps = {}}) => (
describe('Tree', () => {
let user;
+ let testUtilUser = new User();
beforeAll(() => {
user = userEvent.setup({delay: null, pointerMap});
@@ -320,8 +322,9 @@ describe('Tree', () => {
});
it('should support dynamic trees', () => {
- let {getAllByRole} = render(
);
- let rows = getAllByRole('row');
+ let {getByRole} = render(
);
+ let treeTester = testUtilUser.createTester('Tree', {user, root: getByRole('treegrid')});
+ let rows = treeTester.rows;
expect(rows).toHaveLength(20);
// Check the rough structure to make sure dynamic rows are rendering as expected (just checks the expandable rows and their attributes)
@@ -385,11 +388,12 @@ describe('Tree', () => {
});
it('should not render checkboxes for selection with selectionStyle=highlight', async () => {
- let {getByRole, getAllByRole} = render(
);
- let tree = getByRole('treegrid');
- expect(tree).toHaveAttribute('aria-multiselectable', 'true');
+ let {getByRole} = render(
);
+ let treeTester = testUtilUser.createTester('Tree', {user, root: getByRole('treegrid')});
+ expect(treeTester.tree).toHaveAttribute('aria-multiselectable', 'true');
+ let rows = treeTester.rows;
- for (let row of getAllByRole('row')) {
+ for (let row of treeTester.rows) {
let checkbox = within(row).queryByRole('checkbox');
expect(checkbox).toBeNull();
expect(row).toHaveAttribute('aria-selected', 'false');
@@ -397,21 +401,25 @@ describe('Tree', () => {
expect(row).toHaveAttribute('data-selection-mode', 'multiple');
}
- let row2 = getAllByRole('row')[2];
- await user.click(row2);
+ let row2 = rows[2];
+ await treeTester.toggleRowSelection({row: 'Projects-1'});
expect(row2).toHaveAttribute('aria-selected', 'true');
expect(row2).toHaveAttribute('data-selected', 'true');
expect(onSelectionChange).toHaveBeenCalledTimes(1);
expect(new Set(onSelectionChange.mock.calls[0][0])).toEqual(new Set(['Projects-1']));
+ expect(treeTester.selectedRows).toHaveLength(1);
+ expect(treeTester.selectedRows[0]).toBe(row2);
- let row1 = getAllByRole('row')[1];
- await user.click(row1);
+ let row1 = rows[1];
+ await treeTester.toggleRowSelection({row: row1});
expect(row1).toHaveAttribute('aria-selected', 'true');
expect(row1).toHaveAttribute('data-selected', 'true');
expect(row2).toHaveAttribute('aria-selected', 'false');
expect(row2).not.toHaveAttribute('data-selected');
expect(onSelectionChange).toHaveBeenCalledTimes(2);
expect(new Set(onSelectionChange.mock.calls[1][0])).toEqual(new Set(['Projects']));
+ expect(treeTester.selectedRows).toHaveLength(1);
+ expect(treeTester.selectedRows[0]).toBe(row1);
});
it('should render a chevron for an expandable row marked with hasChildRows', () => {
@@ -585,28 +593,29 @@ describe('Tree', () => {
});
it('should support actions on rows', async () => {
- let {getAllByRole} = render(
);
+ let {getByRole} = render(
);
+ let treeTester = testUtilUser.createTester('Tree', {user, root: getByRole('treegrid')});
- let row = getAllByRole('row')[0];
- await user.click(row);
+ let rows = treeTester.rows;
+ await treeTester.triggerRowAction({row: rows[0]});
expect(onAction).toHaveBeenCalledTimes(1);
expect(onAction).toHaveBeenLastCalledWith('Photos');
expect(onSelectionChange).toHaveBeenCalledTimes(0);
// Due to disabledBehavior being set to 'all' this expandable row has its action disabled
- let disabledRow = getAllByRole('row')[1];
+ let disabledRow = rows[1];
expect(disabledRow).toHaveAttribute('data-disabled', 'true');
- await user.click(disabledRow);
+ await treeTester.triggerRowAction({row: disabledRow});
expect(onAction).toHaveBeenCalledTimes(1);
expect(onSelectionChange).toHaveBeenCalledTimes(0);
- let expandableRow = getAllByRole('row')[2];
- await user.click(expandableRow);
+ let expandableRow = rows[2];
+ await treeTester.triggerRowAction({row: expandableRow});
expect(onAction).toHaveBeenCalledTimes(2);
expect(onAction).toHaveBeenLastCalledWith('Projects-1');
expect(onSelectionChange).toHaveBeenCalledTimes(0);
- await user.keyboard('{Enter}');
+ await treeTester.triggerRowAction({row: expandableRow, interactionType: 'keyboard'});
expect(onAction).toHaveBeenCalledTimes(3);
expect(onAction).toHaveBeenLastCalledWith('Projects-1');
expect(onSelectionChange).toHaveBeenCalledTimes(0);
@@ -827,8 +836,9 @@ describe('Tree', () => {
};
it('should expand/collapse a row when clicking/using Enter on the row itself and there arent any other primary actions', async () => {
- let {getAllByRole} = render(
);
- let rows = getAllByRole('row');
+ let {getByRole} = render(
);
+ let treeTester = testUtilUser.createTester('Tree', {user, root: getByRole('treegrid')});
+ let rows = treeTester.rows;
expect(rows).toHaveLength(20);
await user.tab();
@@ -842,7 +852,7 @@ describe('Tree', () => {
expect(onExpandedChange).toHaveBeenCalledTimes(0);
// Check we can open/close a top level row
- await trigger(rows[0], 'Enter');
+ await treeTester.toggleRowExpansion({row: rows[0], interactionType: type as 'mouse' | 'keyboard'});
expect(document.activeElement).toBe(rows[0]);
expect(rows[0]).toHaveAttribute('aria-expanded', 'false');
expect(rows[0]).not.toHaveAttribute('data-expanded');
@@ -853,10 +863,10 @@ describe('Tree', () => {
expect(onExpandedChange).toHaveBeenCalledTimes(1);
// Note that the children of the parent row will still be in the "expanded" array
expect(new Set(onExpandedChange.mock.calls[0][0])).toEqual(new Set(['Project-2', 'Project-5', 'Reports', 'Reports-1', 'Reports-1A', 'Reports-1AB']));
- rows = getAllByRole('row');
+ rows = treeTester.rows;
expect(rows).toHaveLength(9);
- await trigger(rows[0], 'Enter');
+ await treeTester.toggleRowExpansion({row: rows[0], interactionType: type as 'mouse' | 'keyboard'});
expect(document.activeElement).toBe(rows[0]);
expect(rows[0]).toHaveAttribute('aria-expanded', 'true');
expect(rows[0]).toHaveAttribute('data-expanded', 'true');
@@ -866,7 +876,7 @@ describe('Tree', () => {
expect(rows[0]).toHaveAttribute('data-has-child-rows', 'true');
expect(onExpandedChange).toHaveBeenCalledTimes(2);
expect(new Set(onExpandedChange.mock.calls[1][0])).toEqual(new Set(['Projects', 'Project-2', 'Project-5', 'Reports', 'Reports-1', 'Reports-1A', 'Reports-1AB']));
- rows = getAllByRole('row');
+ rows = treeTester.rows;
expect(rows).toHaveLength(20);
await user.keyboard('{ArrowDown}');
@@ -880,7 +890,7 @@ describe('Tree', () => {
expect(rows[2]).toHaveAttribute('data-has-child-rows', 'true');
// Check we can close a nested row and it doesn't affect the parent
- await trigger(rows[2], 'ArrowLeft');
+ await treeTester.toggleRowExpansion({row: rows[2], interactionType: type as 'mouse' | 'keyboard'});
expect(document.activeElement).toBe(rows[2]);
expect(rows[2]).toHaveAttribute('aria-expanded', 'false');
expect(rows[2]).not.toHaveAttribute('data-expanded');
@@ -896,25 +906,25 @@ describe('Tree', () => {
expect(rows[0]).toHaveAttribute('data-has-child-rows', 'true');
expect(onExpandedChange).toHaveBeenCalledTimes(3);
expect(new Set(onExpandedChange.mock.calls[2][0])).toEqual(new Set(['Projects', 'Project-5', 'Reports', 'Reports-1', 'Reports-1A', 'Reports-1AB']));
- rows = getAllByRole('row');
+ rows = treeTester.rows;
expect(rows).toHaveLength(17);
// Check behavior of onExpandedChange when a nested row is already closed and the parent is collapsed
await user.keyboard('{ArrowUp}');
await user.keyboard('{ArrowUp}');
- await trigger(rows[0], 'ArrowLeft');
+ await treeTester.toggleRowExpansion({row: rows[0], interactionType: type as 'mouse' | 'keyboard'});
expect(document.activeElement).toBe(rows[0]);
expect(onExpandedChange).toHaveBeenCalledTimes(4);
expect(new Set(onExpandedChange.mock.calls[3][0])).toEqual(new Set(['Project-5', 'Reports', 'Reports-1', 'Reports-1A', 'Reports-1AB']));
- rows = getAllByRole('row');
+ rows = treeTester.rows;
expect(rows).toHaveLength(9);
// Check that the nested collapsed row is still closed when the parent is reexpanded
- await trigger(rows[0], 'ArrowRight');
+ await treeTester.toggleRowExpansion({row: rows[0], interactionType: type as 'mouse' | 'keyboard'});
expect(document.activeElement).toBe(rows[0]);
expect(onExpandedChange).toHaveBeenCalledTimes(5);
expect(new Set(onExpandedChange.mock.calls[4][0])).toEqual(new Set(['Projects', 'Project-5', 'Reports', 'Reports-1', 'Reports-1A', 'Reports-1AB']));
- rows = getAllByRole('row');
+ rows = treeTester.rows;
expect(rows).toHaveLength(17);
});
@@ -1138,7 +1148,7 @@ describe('Tree', () => {
);
}
- let {getAllByRole, getByRole} = render(
+ let {getByRole} = render(
{
);
- let tree = getByRole('treegrid');
+ let treeTester = testUtilUser.createTester('Tree', {user, root: getByRole('treegrid')});
+ let tree = treeTester.tree;
expect(tree).toHaveAttribute('data-empty', 'true');
expect(tree).not.toHaveAttribute('data-focused');
expect(tree).not.toHaveAttribute('data-focus-visible');
- let row = getAllByRole('row')[0];
+ let row = treeTester.rows[0];
expect(row).toHaveAttribute('aria-level', '1');
expect(row).toHaveAttribute('aria-posinset', '1');
expect(row).toHaveAttribute('aria-setsize', '1');
- let gridCell = within(row).getByRole('gridcell');
+ let gridCell = treeTester.cells({element: row})[0];
expect(gridCell).toHaveTextContent('No resultsNo results found.');
await user.tab();
diff --git a/packages/@react-spectrum/utils/package.json b/packages/@react-spectrum/utils/package.json
index d71cd754c00..66ad7444696 100644
--- a/packages/@react-spectrum/utils/package.json
+++ b/packages/@react-spectrum/utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-spectrum/utils",
- "version": "3.12.0",
+ "version": "3.12.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -24,15 +24,16 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-aria/i18n": "^3.12.4",
+ "@react-aria/i18n": "^3.12.5",
"@react-aria/ssr": "^3.9.7",
- "@react-aria/utils": "^3.26.0",
- "@react-types/shared": "^3.26.0",
+ "@react-aria/utils": "^3.27.0",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0",
"clsx": "^2.0.0"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-spectrum/utils/src/Slots.tsx b/packages/@react-spectrum/utils/src/Slots.tsx
index e910ccd7048..d6aa6204ccf 100644
--- a/packages/@react-spectrum/utils/src/Slots.tsx
+++ b/packages/@react-spectrum/utils/src/Slots.tsx
@@ -36,7 +36,7 @@ export function cssModuleToSlots(cssModule) {
export function SlotProvider(props) {
const emptyObj = useMemo(() => ({}), []);
- // eslint-disable-next-line react-hooks/exhaustive-deps
+
let parentSlots = useContext(SlotContext) || emptyObj;
let {slots = emptyObj, children} = props;
diff --git a/packages/@react-spectrum/view/package.json b/packages/@react-spectrum/view/package.json
index 18a2d0afe2e..888af55a024 100644
--- a/packages/@react-spectrum/view/package.json
+++ b/packages/@react-spectrum/view/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-spectrum/view",
- "version": "3.6.14",
+ "version": "3.6.15",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -36,10 +36,10 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-aria/utils": "^3.26.0",
- "@react-spectrum/utils": "^3.12.0",
- "@react-types/shared": "^3.26.0",
- "@react-types/view": "^3.4.13",
+ "@react-aria/utils": "^3.27.0",
+ "@react-spectrum/utils": "^3.12.1",
+ "@react-types/shared": "^3.27.0",
+ "@react-types/view": "^3.4.14",
"@swc/helpers": "^0.5.0"
},
"devDependencies": {
@@ -47,7 +47,8 @@
},
"peerDependencies": {
"@react-spectrum/provider": "^3.0.0",
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-spectrum/well/package.json b/packages/@react-spectrum/well/package.json
index 72ce9c4c6dc..2b40c40ea7a 100644
--- a/packages/@react-spectrum/well/package.json
+++ b/packages/@react-spectrum/well/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-spectrum/well",
- "version": "3.4.18",
+ "version": "3.4.19",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -36,17 +36,18 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-aria/utils": "^3.26.0",
- "@react-spectrum/utils": "^3.12.0",
- "@react-types/shared": "^3.26.0",
- "@react-types/well": "^3.3.13",
+ "@react-aria/utils": "^3.27.0",
+ "@react-spectrum/utils": "^3.12.1",
+ "@react-types/shared": "^3.27.0",
+ "@react-types/well": "^3.3.14",
"@swc/helpers": "^0.5.0"
},
"devDependencies": {
"@adobe/spectrum-css-temp": "3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/autocomplete/package.json b/packages/@react-stately/autocomplete/package.json
index c8b6e31070f..bc5757931be 100644
--- a/packages/@react-stately/autocomplete/package.json
+++ b/packages/@react-stately/autocomplete/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/autocomplete",
- "version": "3.0.0-alpha.1",
+ "version": "3.0.0-alpha.0",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
diff --git a/packages/@react-stately/autocomplete/src/index.ts b/packages/@react-stately/autocomplete/src/index.ts
index c95279ae2fb..4e067fcf24f 100644
--- a/packages/@react-stately/autocomplete/src/index.ts
+++ b/packages/@react-stately/autocomplete/src/index.ts
@@ -10,6 +10,6 @@
* governing permissions and limitations under the License.
*/
-export {useAutocompleteState} from './useAutocompleteState';
+export {UNSTABLE_useAutocompleteState} from './useAutocompleteState';
export type {AutocompleteProps, AutocompleteStateOptions, AutocompleteState} from './useAutocompleteState';
diff --git a/packages/@react-stately/autocomplete/src/useAutocompleteState.ts b/packages/@react-stately/autocomplete/src/useAutocompleteState.ts
index 230682867d7..bb27d86db66 100644
--- a/packages/@react-stately/autocomplete/src/useAutocompleteState.ts
+++ b/packages/@react-stately/autocomplete/src/useAutocompleteState.ts
@@ -1,5 +1,5 @@
/*
- * Copyright 2020 Adobe. All rights reserved.
+ * Copyright 2024 Adobe. All rights reserved.
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0
@@ -41,7 +41,7 @@ export interface AutocompleteStateOptions extends Omit
(props: Calenda
maxValue,
selectionAlignment,
isDateUnavailable,
- pageBehavior = 'visible'
+ pageBehavior = 'visible',
+ firstDayOfWeek
} = props;
let calendar = useMemo(() => createCalendar(resolvedOptions.calendar), [createCalendar, resolvedOptions.calendar]);
@@ -326,15 +327,14 @@ export function useCalendarState(props: Calenda
return isSameDay(next, endDate) || this.isInvalid(next);
},
getDatesInWeek(weekIndex, from = startDate) {
- // let date = startOfWeek(from, locale);
let date = from.add({weeks: weekIndex});
let dates: (CalendarDate | null)[] = [];
- date = startOfWeek(date, locale);
-
+ date = startOfWeek(date, locale, firstDayOfWeek);
+
// startOfWeek will clamp dates within the calendar system's valid range, which may
// start in the middle of a week. In this case, add null placeholders.
- let dayOfWeek = getDayOfWeek(date, locale);
+ let dayOfWeek = getDayOfWeek(date, locale, firstDayOfWeek);
for (let i = 0; i < dayOfWeek; i++) {
dates.push(null);
}
diff --git a/packages/@react-stately/checkbox/package.json b/packages/@react-stately/checkbox/package.json
index 6ece3639a3b..87a511ded10 100644
--- a/packages/@react-stately/checkbox/package.json
+++ b/packages/@react-stately/checkbox/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/checkbox",
- "version": "3.6.10",
+ "version": "3.6.11",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,10 +22,10 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/form": "^3.1.0",
+ "@react-stately/form": "^3.1.1",
"@react-stately/utils": "^3.10.5",
- "@react-types/checkbox": "^3.9.0",
- "@react-types/shared": "^3.26.0",
+ "@react-types/checkbox": "^3.9.1",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/collections/package.json b/packages/@react-stately/collections/package.json
index 997a112b7bf..14c4e38d690 100644
--- a/packages/@react-stately/collections/package.json
+++ b/packages/@react-stately/collections/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/collections",
- "version": "3.12.0",
+ "version": "3.12.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,7 +22,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/shared": "^3.26.0",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/color/package.json b/packages/@react-stately/color/package.json
index 77baee5c306..7ec483c9852 100644
--- a/packages/@react-stately/color/package.json
+++ b/packages/@react-stately/color/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/color",
- "version": "3.8.1",
+ "version": "3.8.2",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -24,13 +24,12 @@
"dependencies": {
"@internationalized/number": "^3.6.0",
"@internationalized/string": "^3.2.5",
- "@react-aria/i18n": "^3.12.4",
- "@react-stately/form": "^3.1.0",
- "@react-stately/numberfield": "^3.9.8",
- "@react-stately/slider": "^3.6.0",
+ "@react-stately/form": "^3.1.1",
+ "@react-stately/numberfield": "^3.9.9",
+ "@react-stately/slider": "^3.6.1",
"@react-stately/utils": "^3.10.5",
- "@react-types/color": "^3.0.1",
- "@react-types/shared": "^3.26.0",
+ "@react-types/color": "^3.0.2",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/combobox/package.json b/packages/@react-stately/combobox/package.json
index 8ffa498ed54..912e32c983d 100644
--- a/packages/@react-stately/combobox/package.json
+++ b/packages/@react-stately/combobox/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/combobox",
- "version": "3.10.1",
+ "version": "3.10.2",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,14 +22,14 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/collections": "^3.12.0",
- "@react-stately/form": "^3.1.0",
- "@react-stately/list": "^3.11.1",
- "@react-stately/overlays": "^3.6.12",
- "@react-stately/select": "^3.6.9",
+ "@react-stately/collections": "^3.12.1",
+ "@react-stately/form": "^3.1.1",
+ "@react-stately/list": "^3.11.2",
+ "@react-stately/overlays": "^3.6.13",
+ "@react-stately/select": "^3.6.10",
"@react-stately/utils": "^3.10.5",
- "@react-types/combobox": "^3.13.1",
- "@react-types/shared": "^3.26.0",
+ "@react-types/combobox": "^3.13.2",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/data/package.json b/packages/@react-stately/data/package.json
index 93d73d2ead2..f9b7febe965 100644
--- a/packages/@react-stately/data/package.json
+++ b/packages/@react-stately/data/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/data",
- "version": "3.12.0",
+ "version": "3.12.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,7 +22,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/shared": "^3.26.0",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/datepicker/package.json b/packages/@react-stately/datepicker/package.json
index 484fde822ea..c112f43b7e9 100644
--- a/packages/@react-stately/datepicker/package.json
+++ b/packages/@react-stately/datepicker/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/datepicker",
- "version": "3.11.0",
+ "version": "3.12.0",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,13 +22,13 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@internationalized/date": "^3.6.0",
+ "@internationalized/date": "^3.7.0",
"@internationalized/string": "^3.2.5",
- "@react-stately/form": "^3.1.0",
- "@react-stately/overlays": "^3.6.12",
+ "@react-stately/form": "^3.1.1",
+ "@react-stately/overlays": "^3.6.13",
"@react-stately/utils": "^3.10.5",
- "@react-types/datepicker": "^3.9.0",
- "@react-types/shared": "^3.26.0",
+ "@react-types/datepicker": "^3.10.0",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/disclosure/package.json b/packages/@react-stately/disclosure/package.json
index 0a463cbe1b1..7071c0734fa 100644
--- a/packages/@react-stately/disclosure/package.json
+++ b/packages/@react-stately/disclosure/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/disclosure",
- "version": "3.0.0",
+ "version": "3.0.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@react-stately/utils": "^3.10.5",
- "@react-types/shared": "^3.26.0",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/dnd/package.json b/packages/@react-stately/dnd/package.json
index 459bcab7b1e..1f076abe53f 100644
--- a/packages/@react-stately/dnd/package.json
+++ b/packages/@react-stately/dnd/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/dnd",
- "version": "3.5.0",
+ "version": "3.5.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,8 +22,8 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/selection": "^3.18.0",
- "@react-types/shared": "^3.26.0",
+ "@react-stately/selection": "^3.19.0",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/form/package.json b/packages/@react-stately/form/package.json
index 3d745e4a749..658da7c5cef 100644
--- a/packages/@react-stately/form/package.json
+++ b/packages/@react-stately/form/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/form",
- "version": "3.1.0",
+ "version": "3.1.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,7 +22,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/shared": "^3.26.0",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/grid/package.json b/packages/@react-stately/grid/package.json
index 2adbfe2be56..df1c4d1340c 100644
--- a/packages/@react-stately/grid/package.json
+++ b/packages/@react-stately/grid/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/grid",
- "version": "3.10.0",
+ "version": "3.10.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,10 +22,10 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/collections": "^3.12.0",
- "@react-stately/selection": "^3.18.0",
- "@react-types/grid": "^3.2.10",
- "@react-types/shared": "^3.26.0",
+ "@react-stately/collections": "^3.12.1",
+ "@react-stately/selection": "^3.19.0",
+ "@react-types/grid": "^3.2.11",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/layout/package.json b/packages/@react-stately/layout/package.json
index 76b9cdd4fd2..30f1ade1672 100644
--- a/packages/@react-stately/layout/package.json
+++ b/packages/@react-stately/layout/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/layout",
- "version": "4.1.0",
+ "version": "4.1.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,12 +22,12 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/collections": "^3.12.0",
- "@react-stately/table": "^3.13.0",
- "@react-stately/virtualizer": "^4.2.0",
- "@react-types/grid": "^3.2.10",
- "@react-types/shared": "^3.26.0",
- "@react-types/table": "^3.10.3",
+ "@react-stately/collections": "^3.12.1",
+ "@react-stately/table": "^3.13.1",
+ "@react-stately/virtualizer": "^4.2.1",
+ "@react-types/grid": "^3.2.11",
+ "@react-types/shared": "^3.27.0",
+ "@react-types/table": "^3.10.4",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/list/package.json b/packages/@react-stately/list/package.json
index 1dc5d906424..e807e5807db 100644
--- a/packages/@react-stately/list/package.json
+++ b/packages/@react-stately/list/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/list",
- "version": "3.11.1",
+ "version": "3.11.2",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,10 +22,10 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/collections": "^3.12.0",
- "@react-stately/selection": "^3.18.0",
+ "@react-stately/collections": "^3.12.1",
+ "@react-stately/selection": "^3.19.0",
"@react-stately/utils": "^3.10.5",
- "@react-types/shared": "^3.26.0",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/menu/package.json b/packages/@react-stately/menu/package.json
index ec173acb626..3d304855c87 100644
--- a/packages/@react-stately/menu/package.json
+++ b/packages/@react-stately/menu/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/menu",
- "version": "3.9.0",
+ "version": "3.9.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,9 +22,9 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/overlays": "^3.6.12",
- "@react-types/menu": "^3.9.13",
- "@react-types/shared": "^3.26.0",
+ "@react-stately/overlays": "^3.6.13",
+ "@react-types/menu": "^3.9.14",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/numberfield/package.json b/packages/@react-stately/numberfield/package.json
index 79fb7a6b484..4d57b435dd8 100644
--- a/packages/@react-stately/numberfield/package.json
+++ b/packages/@react-stately/numberfield/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/numberfield",
- "version": "3.9.8",
+ "version": "3.9.9",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -23,9 +23,9 @@
},
"dependencies": {
"@internationalized/number": "^3.6.0",
- "@react-stately/form": "^3.1.0",
+ "@react-stately/form": "^3.1.1",
"@react-stately/utils": "^3.10.5",
- "@react-types/numberfield": "^3.8.7",
+ "@react-types/numberfield": "^3.8.8",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/overlays/package.json b/packages/@react-stately/overlays/package.json
index 82353fec877..5f71578fdac 100644
--- a/packages/@react-stately/overlays/package.json
+++ b/packages/@react-stately/overlays/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/overlays",
- "version": "3.6.12",
+ "version": "3.6.13",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@react-stately/utils": "^3.10.5",
- "@react-types/overlays": "^3.8.11",
+ "@react-types/overlays": "^3.8.12",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/radio/package.json b/packages/@react-stately/radio/package.json
index ed5fdf95cc8..f716e180e76 100644
--- a/packages/@react-stately/radio/package.json
+++ b/packages/@react-stately/radio/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/radio",
- "version": "3.10.9",
+ "version": "3.10.10",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,10 +22,10 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/form": "^3.1.0",
+ "@react-stately/form": "^3.1.1",
"@react-stately/utils": "^3.10.5",
- "@react-types/radio": "^3.8.5",
- "@react-types/shared": "^3.26.0",
+ "@react-types/radio": "^3.8.6",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/searchfield/package.json b/packages/@react-stately/searchfield/package.json
index f684ee40be0..648c7d69904 100644
--- a/packages/@react-stately/searchfield/package.json
+++ b/packages/@react-stately/searchfield/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/searchfield",
- "version": "3.5.8",
+ "version": "3.5.9",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@react-stately/utils": "^3.10.5",
- "@react-types/searchfield": "^3.5.10",
+ "@react-types/searchfield": "^3.5.11",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/select/package.json b/packages/@react-stately/select/package.json
index 0ed5275209c..48066b12f74 100644
--- a/packages/@react-stately/select/package.json
+++ b/packages/@react-stately/select/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/select",
- "version": "3.6.9",
+ "version": "3.6.10",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,11 +22,11 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/form": "^3.1.0",
- "@react-stately/list": "^3.11.1",
- "@react-stately/overlays": "^3.6.12",
- "@react-types/select": "^3.9.8",
- "@react-types/shared": "^3.26.0",
+ "@react-stately/form": "^3.1.1",
+ "@react-stately/list": "^3.11.2",
+ "@react-stately/overlays": "^3.6.13",
+ "@react-types/select": "^3.9.9",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/selection/package.json b/packages/@react-stately/selection/package.json
index e5c014a3893..0fd68b19f5b 100644
--- a/packages/@react-stately/selection/package.json
+++ b/packages/@react-stately/selection/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/selection",
- "version": "3.18.0",
+ "version": "3.19.0",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,9 +22,9 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/collections": "^3.12.0",
+ "@react-stately/collections": "^3.12.1",
"@react-stately/utils": "^3.10.5",
- "@react-types/shared": "^3.26.0",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/selection/src/types.ts b/packages/@react-stately/selection/src/types.ts
index 30dbee9c0b1..8eafe03307b 100644
--- a/packages/@react-stately/selection/src/types.ts
+++ b/packages/@react-stately/selection/src/types.ts
@@ -10,7 +10,7 @@
* governing permissions and limitations under the License.
*/
-import {DisabledBehavior, FocusStrategy, Key, LongPressEvent, PressEvent, Selection, SelectionBehavior, SelectionMode} from '@react-types/shared';
+import {Collection, DisabledBehavior, FocusStrategy, Key, LongPressEvent, Node, PressEvent, Selection, SelectionBehavior, SelectionMode} from '@react-types/shared';
export interface FocusState {
@@ -107,5 +107,7 @@ export interface MultipleSelectionManager extends FocusState {
/** Returns whether the given key is a hyperlink. */
isLink(key: Key): boolean,
/** Returns the props for the given item. */
- getItemProps(key: Key): any
+ getItemProps(key: Key): any,
+ /** The collection of nodes that the selection manager handles. */
+ collection: Collection>
}
diff --git a/packages/@react-stately/slider/package.json b/packages/@react-stately/slider/package.json
index 8b3997df69a..8df5f8e4e94 100644
--- a/packages/@react-stately/slider/package.json
+++ b/packages/@react-stately/slider/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/slider",
- "version": "3.6.0",
+ "version": "3.6.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -23,8 +23,8 @@
},
"dependencies": {
"@react-stately/utils": "^3.10.5",
- "@react-types/shared": "^3.26.0",
- "@react-types/slider": "^3.7.7",
+ "@react-types/shared": "^3.27.0",
+ "@react-types/slider": "^3.7.8",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/steplist/package.json b/packages/@react-stately/steplist/package.json
index 4ce1614e595..f22d08605dd 100644
--- a/packages/@react-stately/steplist/package.json
+++ b/packages/@react-stately/steplist/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/steplist",
- "version": "3.0.0-alpha.10",
+ "version": "3.0.0-alpha.11",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,9 +22,9 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/list": "^3.11.1",
+ "@react-stately/list": "^3.11.2",
"@react-stately/utils": "^3.10.5",
- "@react-types/shared": "^3.26.0",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/table/package.json b/packages/@react-stately/table/package.json
index 7bd86202449..0d63ab248d7 100644
--- a/packages/@react-stately/table/package.json
+++ b/packages/@react-stately/table/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/table",
- "version": "3.13.0",
+ "version": "3.13.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,14 +22,14 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/collections": "^3.12.0",
+ "@react-stately/collections": "^3.12.1",
"@react-stately/flags": "^3.0.5",
- "@react-stately/grid": "^3.10.0",
- "@react-stately/selection": "^3.18.0",
+ "@react-stately/grid": "^3.10.1",
+ "@react-stately/selection": "^3.19.0",
"@react-stately/utils": "^3.10.5",
- "@react-types/grid": "^3.2.10",
- "@react-types/shared": "^3.26.0",
- "@react-types/table": "^3.10.3",
+ "@react-types/grid": "^3.2.11",
+ "@react-types/shared": "^3.27.0",
+ "@react-types/table": "^3.10.4",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/tabs/package.json b/packages/@react-stately/tabs/package.json
index b91e4a3d9bd..99fca2604e1 100644
--- a/packages/@react-stately/tabs/package.json
+++ b/packages/@react-stately/tabs/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/tabs",
- "version": "3.7.0",
+ "version": "3.7.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,9 +22,9 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/list": "^3.11.1",
- "@react-types/shared": "^3.26.0",
- "@react-types/tabs": "^3.3.11",
+ "@react-stately/list": "^3.11.2",
+ "@react-types/shared": "^3.27.0",
+ "@react-types/tabs": "^3.3.12",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/toggle/package.json b/packages/@react-stately/toggle/package.json
index 3186644f0de..00e71258ec5 100644
--- a/packages/@react-stately/toggle/package.json
+++ b/packages/@react-stately/toggle/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/toggle",
- "version": "3.8.0",
+ "version": "3.8.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -23,8 +23,8 @@
},
"dependencies": {
"@react-stately/utils": "^3.10.5",
- "@react-types/checkbox": "^3.9.0",
- "@react-types/shared": "^3.26.0",
+ "@react-types/checkbox": "^3.9.1",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/tooltip/package.json b/packages/@react-stately/tooltip/package.json
index 7d3d48a7e0b..71bafc183a0 100644
--- a/packages/@react-stately/tooltip/package.json
+++ b/packages/@react-stately/tooltip/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/tooltip",
- "version": "3.5.0",
+ "version": "3.5.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,8 +22,8 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/overlays": "^3.6.12",
- "@react-types/tooltip": "^3.4.13",
+ "@react-stately/overlays": "^3.6.13",
+ "@react-types/tooltip": "^3.4.14",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/tree/package.json b/packages/@react-stately/tree/package.json
index 08147613f3f..23b5ea24a2f 100644
--- a/packages/@react-stately/tree/package.json
+++ b/packages/@react-stately/tree/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/tree",
- "version": "3.8.6",
+ "version": "3.8.7",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,10 +22,10 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/collections": "^3.12.0",
- "@react-stately/selection": "^3.18.0",
+ "@react-stately/collections": "^3.12.1",
+ "@react-stately/selection": "^3.19.0",
"@react-stately/utils": "^3.10.5",
- "@react-types/shared": "^3.26.0",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
diff --git a/packages/@react-stately/virtualizer/package.json b/packages/@react-stately/virtualizer/package.json
index 035af9fae7f..d835bd5a7b0 100644
--- a/packages/@react-stately/virtualizer/package.json
+++ b/packages/@react-stately/virtualizer/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-stately/virtualizer",
- "version": "4.2.0",
+ "version": "4.2.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"main": "dist/main.js",
@@ -22,12 +22,13 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-aria/utils": "^3.26.0",
- "@react-types/shared": "^3.26.0",
+ "@react-aria/utils": "^3.27.0",
+ "@react-types/shared": "^3.27.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/accordion/package.json b/packages/@react-types/accordion/package.json
index 3f86c0a400b..5c9c1001b23 100644
--- a/packages/@react-types/accordion/package.json
+++ b/packages/@react-types/accordion/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/accordion",
- "version": "3.0.0-alpha.25",
+ "version": "3.0.0-alpha.26",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,7 +9,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/shared": "^3.26.0"
+ "@react-types/shared": "^3.27.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
diff --git a/packages/@react-types/actionbar/package.json b/packages/@react-types/actionbar/package.json
index 81b2ef3f91e..0d55b482c20 100644
--- a/packages/@react-types/actionbar/package.json
+++ b/packages/@react-types/actionbar/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/actionbar",
- "version": "3.1.11",
+ "version": "3.1.12",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,7 +9,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/shared": "^3.26.0"
+ "@react-types/shared": "^3.27.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
diff --git a/packages/@react-types/actiongroup/package.json b/packages/@react-types/actiongroup/package.json
index ca848c0b40e..78da60815a9 100644
--- a/packages/@react-types/actiongroup/package.json
+++ b/packages/@react-types/actiongroup/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/actiongroup",
- "version": "3.4.13",
+ "version": "3.4.14",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,7 +9,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/shared": "^3.26.0"
+ "@react-types/shared": "^3.27.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
diff --git a/packages/@react-types/autocomplete/package.json b/packages/@react-types/autocomplete/package.json
index 53a0c5d1ddf..d8041a3563d 100644
--- a/packages/@react-types/autocomplete/package.json
+++ b/packages/@react-types/autocomplete/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/autocomplete",
- "version": "3.0.0-alpha.27",
+ "version": "3.0.0-alpha.28",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,9 +9,9 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/combobox": "^3.13.1",
- "@react-types/searchfield": "^3.5.10",
- "@react-types/shared": "^3.26.0"
+ "@react-types/combobox": "^3.13.2",
+ "@react-types/searchfield": "^3.5.11",
+ "@react-types/shared": "^3.27.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
diff --git a/packages/@react-types/avatar/package.json b/packages/@react-types/avatar/package.json
index 4914c53a9c4..8ba3700c0ab 100644
--- a/packages/@react-types/avatar/package.json
+++ b/packages/@react-types/avatar/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/avatar",
- "version": "3.0.11",
+ "version": "3.0.12",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,7 +9,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/shared": "^3.26.0"
+ "@react-types/shared": "^3.27.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
diff --git a/packages/@react-types/badge/package.json b/packages/@react-types/badge/package.json
index 8873670026b..f89c3c53acc 100644
--- a/packages/@react-types/badge/package.json
+++ b/packages/@react-types/badge/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/badge",
- "version": "3.1.13",
+ "version": "3.1.14",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,7 +9,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/shared": "^3.26.0"
+ "@react-types/shared": "^3.27.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
diff --git a/packages/@react-types/breadcrumbs/package.json b/packages/@react-types/breadcrumbs/package.json
index 4122f2e447d..72e6421df27 100644
--- a/packages/@react-types/breadcrumbs/package.json
+++ b/packages/@react-types/breadcrumbs/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/breadcrumbs",
- "version": "3.7.9",
+ "version": "3.7.10",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,8 +9,8 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/link": "^3.5.9",
- "@react-types/shared": "^3.26.0"
+ "@react-types/link": "^3.5.10",
+ "@react-types/shared": "^3.27.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
diff --git a/packages/@react-types/button/package.json b/packages/@react-types/button/package.json
index 5e0b5ab2443..9ddd9eb6635 100644
--- a/packages/@react-types/button/package.json
+++ b/packages/@react-types/button/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/button",
- "version": "3.10.1",
+ "version": "3.10.2",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,7 +9,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/shared": "^3.26.0"
+ "@react-types/shared": "^3.27.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
diff --git a/packages/@react-types/buttongroup/package.json b/packages/@react-types/buttongroup/package.json
index 279ba848a3c..283c90a4954 100644
--- a/packages/@react-types/buttongroup/package.json
+++ b/packages/@react-types/buttongroup/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/buttongroup",
- "version": "3.3.13",
+ "version": "3.3.14",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,7 +9,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/shared": "^3.26.0"
+ "@react-types/shared": "^3.27.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
diff --git a/packages/@react-types/calendar/package.json b/packages/@react-types/calendar/package.json
index 1b38fd14eeb..6f0d3101cea 100644
--- a/packages/@react-types/calendar/package.json
+++ b/packages/@react-types/calendar/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/calendar",
- "version": "3.5.0",
+ "version": "3.6.0",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,8 +9,8 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@internationalized/date": "^3.6.0",
- "@react-types/shared": "^3.26.0"
+ "@internationalized/date": "^3.7.0",
+ "@react-types/shared": "^3.27.0"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/calendar/src/index.d.ts b/packages/@react-types/calendar/src/index.d.ts
index 0fc6d643559..29ec9945a13 100644
--- a/packages/@react-types/calendar/src/index.d.ts
+++ b/packages/@react-types/calendar/src/index.d.ts
@@ -62,7 +62,11 @@ export interface CalendarPropsBase {
* Controls the behavior of paging. Pagination either works by advancing the visible page by visibleDuration (default) or one unit of visibleDuration.
* @default visible
*/
- pageBehavior?: PageBehavior
+ pageBehavior?: PageBehavior,
+ /**
+ * The day that starts the week.
+ */
+ firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
}
export type DateRange = RangeValue | null;
diff --git a/packages/@react-types/card/package.json b/packages/@react-types/card/package.json
index 440668e64ff..8fb616719b3 100644
--- a/packages/@react-types/card/package.json
+++ b/packages/@react-types/card/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/card",
- "version": "3.0.0-alpha.31",
+ "version": "3.0.0-alpha.32",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,9 +9,9 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-stately/virtualizer": "^4.2.0",
- "@react-types/provider": "^3.8.5",
- "@react-types/shared": "^3.26.0"
+ "@react-stately/virtualizer": "^4.2.1",
+ "@react-types/provider": "^3.8.6",
+ "@react-types/shared": "^3.27.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
diff --git a/packages/@react-types/checkbox/package.json b/packages/@react-types/checkbox/package.json
index d0ccf57d7e6..e21ad00464c 100644
--- a/packages/@react-types/checkbox/package.json
+++ b/packages/@react-types/checkbox/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/checkbox",
- "version": "3.9.0",
+ "version": "3.9.1",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,7 +9,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/shared": "^3.26.0"
+ "@react-types/shared": "^3.27.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
diff --git a/packages/@react-types/color/package.json b/packages/@react-types/color/package.json
index 6ab92db4511..36badabc86c 100644
--- a/packages/@react-types/color/package.json
+++ b/packages/@react-types/color/package.json
@@ -1,6 +1,6 @@
{
"name": "@react-types/color",
- "version": "3.0.1",
+ "version": "3.0.2",
"description": "Spectrum UI components in React",
"license": "Apache-2.0",
"types": "src/index.d.ts",
@@ -9,8 +9,8 @@
"url": "https://github.com/adobe/react-spectrum"
},
"dependencies": {
- "@react-types/shared": "^3.26.0",
- "@react-types/slider": "^3.7.7"
+ "@react-types/shared": "^3.27.0",
+ "@react-types/slider": "^3.7.8"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
diff --git a/packages/@react-types/color/src/index.d.ts b/packages/@react-types/color/src/index.d.ts
index 9112e35b81d..7350c51497d 100644
--- a/packages/@react-types/color/src/index.d.ts
+++ b/packages/@react-types/color/src/index.d.ts
@@ -118,14 +118,14 @@ export interface ColorFieldProps extends Omit,
onChange?: (color: Color | null) => void
}
-export interface AriaColorFieldProps extends ColorFieldProps, AriaLabelingProps, FocusableDOMProps, Omit, AriaValidationProps {
+export interface AriaColorFieldProps extends ColorFieldProps, AriaLabelingProps, FocusableDOMProps, Omit, AriaValidationProps {
/** Enables or disables changing the value with scroll. */
isWheelDisabled?: boolean
}
export interface SpectrumColorFieldProps extends SpectrumTextInputBase, Omit, SpectrumFieldValidation, SpectrumLabelableProps, StyleProps {
/**
- * The color channel that this field edits. If not provided,
+ * The color channel that this field edits. If not provided,
* the color is edited as a hex value.
*/
channel?: ColorChannel,
@@ -160,7 +160,7 @@ export interface SpectrumColorWheelProps extends AriaColorWheelProps, Omit