diff --git a/.circleci/comment.js b/.circleci/comment.js
index 4db4feb6f52..04231015b53 100644
--- a/.circleci/comment.js
+++ b/.circleci/comment.js
@@ -19,6 +19,7 @@ async function run() {
body: `Build successful! 🎉
* [View the storybook](https://reactspectrum.blob.core.windows.net/reactspectrum/${process.env.CIRCLE_SHA1}/storybook/index.html)
+* [View the storybook-17](https://reactspectrum.blob.core.windows.net/reactspectrum/${process.env.CIRCLE_SHA1}/storybook-17/index.html)
* [View the documentation](https://reactspectrum.blob.core.windows.net/reactspectrum/${process.env.CIRCLE_SHA1}/docs/index.html)`
});
}
diff --git a/.circleci/config.yml b/.circleci/config.yml
index a1beefdb655..415ec72c870 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -51,6 +51,19 @@ jobs:
name: test
command: yarn ci-test
+ test_17:
+ docker:
+ - image: circleci/node:12.10
+
+ working_directory: ~/react-spectrum
+ steps:
+ - restore_cache:
+ key: react-spectrum-{{ .Environment.CIRCLE_SHA1 }}
+
+ - run:
+ name: test
+ command: yarn ci-test-17
+
lint:
docker:
- image: circleci/node:12.10
@@ -82,6 +95,26 @@ jobs:
root: dist
paths:
- '*/storybook/'
+
+ storybook-17:
+ docker:
+ - image: circleci/node:12.10
+ resource_class: large
+
+ working_directory: ~/react-spectrum
+ steps:
+ - restore_cache:
+ key: react-spectrum-{{ .Environment.CIRCLE_SHA1 }}
+
+ - run:
+ name: build storybook-17
+ command: make storybook-17
+
+ - persist_to_workspace:
+ root: dist
+ paths:
+ - '*/storybook-17/'
+
docs:
docker:
- image: circleci/node:12.10
@@ -182,12 +215,18 @@ workflows:
- test:
requires:
- install
+ - test_17:
+ requires:
+ - install
- lint:
requires:
- install
- storybook:
requires:
- install
+ - storybook-17:
+ requires:
+ - install
- docs:
requires:
- install
@@ -201,7 +240,9 @@ workflows:
requires:
- lint
- test
+ - test_17
- storybook
+ - storybook-17
- docs
- deploy-production:
filters:
diff --git a/.storybook/layout.js b/.storybook/layout.js
index ed9b1e43447..074800672c2 100644
--- a/.storybook/layout.js
+++ b/.storybook/layout.js
@@ -7,6 +7,7 @@ export function VerticalCenter({children, className, style}) {
className={ clsx('react-spectrum-story', className) }
style={style}
>
+ {REACT_VERSION}
{ children }
);
diff --git a/.storybook/webpack.config.js b/.storybook/webpack.config.js
index e5be0f9ec5a..794649f4df0 100644
--- a/.storybook/webpack.config.js
+++ b/.storybook/webpack.config.js
@@ -2,6 +2,7 @@ const path = require('path');
const webpack = require('webpack');
const md5 = require('md5');
const fs = require('fs');
+const reactVersion = require('react/package.json').version;
const fileHashMemo = {};
@@ -27,6 +28,7 @@ module.exports = ({config}, env) => {
// see https://github.com/storybooks/storybook/issues/1570
config.plugins = config.plugins.filter(plugin => plugin.constructor.name !== 'UglifyJsPlugin')
}
+ config.plugins.push(new webpack.DefinePlugin({REACT_VERSION: JSON.stringify(reactVersion)}));
config.resolve.extensions.push('.ts', '.tsx');
diff --git a/Makefile b/Makefile
index 3c890d8dea0..6c9256a5ed2 100644
--- a/Makefile
+++ b/Makefile
@@ -69,6 +69,9 @@ icons: packages/@spectrum-icons/workflow/src packages/@spectrum-icons/color/src
storybook:
NODE_ENV=production yarn build:storybook
+storybook-17:
+ yarn build:storybook-17
+
# for now doesn't have deploy since v3 doesn't have a place for docs and stuff yet
ci:
$(MAKE) publish
diff --git a/jest.ssr.config.js b/jest.ssr.config.js
index 44619faeacd..91fe04957a8 100644
--- a/jest.ssr.config.js
+++ b/jest.ssr.config.js
@@ -33,6 +33,8 @@ module.exports = {
'packages/'
],
+ testTimeout: 30000,
+
globalSetup: require.resolve('@react-spectrum/test-utils/src/ssrSetup'),
globalTeardown: require.resolve('@react-spectrum/test-utils/src/ssrTeardown'),
diff --git a/package.json b/package.json
index b54f9221ea7..2eb246953c9 100644
--- a/package.json
+++ b/package.json
@@ -17,6 +17,7 @@
"check-types": "tsc",
"start": "cross-env NODE_ENV=storybook start-storybook -p 9003 --ci -c '.storybook'",
"build:storybook": "build-storybook -c .storybook -o dist/$(git rev-parse HEAD)/storybook",
+ "build:storybook-17": "yarn add -W react@17.0.0-rc.1 react-dom@17.0.0-rc.1 && NODE_ENV=production build-storybook -c .storybook -o dist/$(git rev-parse HEAD)/storybook-17",
"start:chromatic": "NODE_ENV=storybook start-storybook -p 9004 --ci -c '.chromatic'",
"build:chromatic": "build-storybook -c .chromatic -o dist/$(git rev-parse HEAD)/chromatic",
"start:docs": "PARCEL_WORKER_BACKEND=process DOCS_ENV=dev parcel 'packages/@react-{spectrum,aria,stately}/*/docs/*.mdx' 'packages/dev/docs/pages/**/*.mdx'",
@@ -24,6 +25,7 @@
"test": "yarn jest",
"test:ssr": "yarn jest --config jest.ssr.config.js",
"ci-test": "yarn jest --maxWorkers=2 && yarn test:ssr --runInBand",
+ "ci-test-17": "yarn add -W react@17.0.0-rc.1 react-dom@17.0.0-rc.1 && yarn jest --maxWorkers=2 && yarn test:ssr --runInBand",
"lint": "yarn check-types && eslint packages --ext .js,.ts,.tsx && node scripts/lint-packages.js",
"jest": "node scripts/jest.js",
"copyrights": "babel-node --presets @babel/env ./scripts/addHeaders.js",
@@ -114,7 +116,7 @@
"ignore-styles": "^5.0.1",
"jest": "^26.4.2",
"jest-matchmedia-mock": "^1.0.0",
- "jsdom": "^16.2.2",
+ "jsdom": "^16.3.0",
"lerna": "^3.13.2",
"lfcdn": "^0.4.2",
"md5": "^2.2.1",
@@ -137,9 +139,9 @@
"postcss-svg": "^3.0.0",
"prop-types": "^15.6.0",
"raf": "^3.4.0",
- "react": "^0.14 || ^15 || ^16",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"react-axe": "^3.0.2",
- "react-dom": "^0.14 || ^15 || ^16",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1",
"react-overlays": "0.8.3",
"react-test-renderer": "^16.9.0",
"recursive-readdir": "^2.2.2",
@@ -161,6 +163,8 @@
"resolutions": {
"@babel/core": "7.9.0",
"@babel/runtime": "7.9.0",
- "postcss-calc": "6.0.2"
+ "postcss-calc": "6.0.2",
+ "jest-environment-jsdom": "26.3.0",
+ "jsdom": "16.3.0"
}
}
diff --git a/packages/@react-aria/actiongroup/package.json b/packages/@react-aria/actiongroup/package.json
index 1b9b90524f4..f76003c76c9 100644
--- a/packages/@react-aria/actiongroup/package.json
+++ b/packages/@react-aria/actiongroup/package.json
@@ -28,7 +28,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/aria-modal-polyfill/package.json b/packages/@react-aria/aria-modal-polyfill/package.json
index 859a90b8a36..bbc7f214b57 100644
--- a/packages/@react-aria/aria-modal-polyfill/package.json
+++ b/packages/@react-aria/aria-modal-polyfill/package.json
@@ -22,7 +22,7 @@
"aria-hidden": "^1.1.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/breadcrumbs/package.json b/packages/@react-aria/breadcrumbs/package.json
index 852be152bcd..a3856016f1e 100644
--- a/packages/@react-aria/breadcrumbs/package.json
+++ b/packages/@react-aria/breadcrumbs/package.json
@@ -26,7 +26,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/button/package.json b/packages/@react-aria/button/package.json
index 184cb660f7a..aa975293ccc 100644
--- a/packages/@react-aria/button/package.json
+++ b/packages/@react-aria/button/package.json
@@ -26,7 +26,7 @@
"@react-types/button": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/calendar/package.json b/packages/@react-aria/calendar/package.json
index 23552bbffa2..5a67c16de02 100644
--- a/packages/@react-aria/calendar/package.json
+++ b/packages/@react-aria/calendar/package.json
@@ -30,7 +30,7 @@
"date-fns": "^1.30.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/checkbox/package.json b/packages/@react-aria/checkbox/package.json
index 8fef6c9fe4c..34a1d1033a3 100644
--- a/packages/@react-aria/checkbox/package.json
+++ b/packages/@react-aria/checkbox/package.json
@@ -26,7 +26,7 @@
"@react-types/checkbox": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/combobox/package.json b/packages/@react-aria/combobox/package.json
index 78219acda37..1b8d073ab89 100644
--- a/packages/@react-aria/combobox/package.json
+++ b/packages/@react-aria/combobox/package.json
@@ -30,7 +30,7 @@
"@react-types/combobox": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/datepicker/package.json b/packages/@react-aria/datepicker/package.json
index 2d400cb44c8..80b90c83e55 100644
--- a/packages/@react-aria/datepicker/package.json
+++ b/packages/@react-aria/datepicker/package.json
@@ -31,7 +31,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/dialog/package.json b/packages/@react-aria/dialog/package.json
index 8f9dc58a6e8..ec201c36209 100644
--- a/packages/@react-aria/dialog/package.json
+++ b/packages/@react-aria/dialog/package.json
@@ -17,7 +17,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"dependencies": {
"@babel/runtime": "^7.6.2",
diff --git a/packages/@react-aria/focus/package.json b/packages/@react-aria/focus/package.json
index f47c623b632..66ab72b321b 100644
--- a/packages/@react-aria/focus/package.json
+++ b/packages/@react-aria/focus/package.json
@@ -24,7 +24,7 @@
"clsx": "^1.1.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/focus/src/FocusScope.tsx b/packages/@react-aria/focus/src/FocusScope.tsx
index aa2e833bccf..1981f4515d6 100644
--- a/packages/@react-aria/focus/src/FocusScope.tsx
+++ b/packages/@react-aria/focus/src/FocusScope.tsx
@@ -239,14 +239,12 @@ function useFocusContainment(scopeRef: RefObject, contain: boolea
focusFirstInScope(activeScope.current);
}
} else {
- e.stopPropagation();
activeScope = scopeRef;
focusedNode.current = e.target;
}
};
let onBlur = (e) => {
- e.stopPropagation();
let isInAnyScope = isElementInAnyScope(e.relatedTarget, scopes);
if (!isInAnyScope) {
@@ -273,7 +271,8 @@ function useFocusContainment(scopeRef: RefObject, contain: boolea
// eslint-disable-next-line arrow-body-style
useEffect(() => {
- return () => cancelAnimationFrame(raf.current);
+ let rafRef = raf.current;
+ return () => cancelAnimationFrame(rafRef);
}, []);
}
diff --git a/packages/@react-aria/focus/src/focusSafely.ts b/packages/@react-aria/focus/src/focusSafely.ts
index 2fcff8a8c1d..8476ed275b7 100644
--- a/packages/@react-aria/focus/src/focusSafely.ts
+++ b/packages/@react-aria/focus/src/focusSafely.ts
@@ -18,7 +18,7 @@ import {getInteractionModality} from '@react-aria/interactions';
* as page scrolling and screen reader issues with CSS transitions.
*/
export function focusSafely(element: HTMLElement) {
- // If the user is interating with a virtual cursor, e.g. screen reader, then
+ // If the user is interacting with a virtual cursor, e.g. screen reader, then
// wait until after any animated transitions that are currently occurring on
// the page before shifting focus. This avoids issues with VoiceOver on iOS
// causing the page to scroll when moving focus if the element is transitioning
diff --git a/packages/@react-aria/focus/test/FocusScope.test.js b/packages/@react-aria/focus/test/FocusScope.test.js
index 65dbe3a57f5..840da2b7f53 100644
--- a/packages/@react-aria/focus/test/FocusScope.test.js
+++ b/packages/@react-aria/focus/test/FocusScope.test.js
@@ -245,7 +245,7 @@ describe('FocusScope', function () {
expect(document.activeElement).toBe(input2);
input2.blur();
- expect(document.activeElement).toBe(document.body);
+ expect(document.activeElement).toBe(input2);
outside.focus();
fireEvent.focusIn(outside);
@@ -274,7 +274,7 @@ describe('FocusScope', function () {
expect(document.activeElement).toBe(input2);
input2.blur();
- expect(document.activeElement).toBe(document.body);
+ expect(document.activeElement).toBe(input2);
fireEvent.focusOut(input2);
expect(document.activeElement).toBe(input2);
});
diff --git a/packages/@react-aria/i18n/package.json b/packages/@react-aria/i18n/package.json
index f8626d25f44..aeb8c9f5e4a 100644
--- a/packages/@react-aria/i18n/package.json
+++ b/packages/@react-aria/i18n/package.json
@@ -23,7 +23,7 @@
"intl-messageformat": "^2.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/interactions/package.json b/packages/@react-aria/interactions/package.json
index 8f79a4e92c7..9470175356e 100644
--- a/packages/@react-aria/interactions/package.json
+++ b/packages/@react-aria/interactions/package.json
@@ -22,7 +22,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/interactions/src/useInteractOutside.ts b/packages/@react-aria/interactions/src/useInteractOutside.ts
index 5c91732d9b5..feeeb1f5187 100644
--- a/packages/@react-aria/interactions/src/useInteractOutside.ts
+++ b/packages/@react-aria/interactions/src/useInteractOutside.ts
@@ -50,12 +50,13 @@ export function useInteractOutside(props: InteractOutsideProps) {
}
};
- document.addEventListener('pointerdown', onPointerDown, false);
- document.addEventListener('pointerup', onPointerUp, false);
+ // changing these to capture phase fixed combobox
+ document.addEventListener('pointerdown', onPointerDown, true);
+ document.addEventListener('pointerup', onPointerUp, true);
return () => {
- document.removeEventListener('pointerdown', onPointerDown, false);
- document.removeEventListener('pointerup', onPointerUp, false);
+ document.removeEventListener('pointerdown', onPointerDown, true);
+ document.removeEventListener('pointerup', onPointerUp, true);
};
} else {
let onMouseUp = (e) => {
@@ -75,16 +76,16 @@ export function useInteractOutside(props: InteractOutsideProps) {
}
};
- document.addEventListener('mousedown', onPointerDown, false);
- document.addEventListener('mouseup', onMouseUp, false);
- document.addEventListener('touchstart', onPointerDown, false);
- document.addEventListener('touchend', onTouchEnd, false);
+ document.addEventListener('mousedown', onPointerDown, true);
+ document.addEventListener('mouseup', onMouseUp, true);
+ document.addEventListener('touchstart', onPointerDown, true);
+ document.addEventListener('touchend', onTouchEnd, true);
return () => {
- document.removeEventListener('mousedown', onPointerDown, false);
- document.removeEventListener('mouseup', onMouseUp, false);
- document.removeEventListener('touchstart', onPointerDown, false);
- document.removeEventListener('touchend', onTouchEnd, false);
+ document.removeEventListener('mousedown', onPointerDown, true);
+ document.removeEventListener('mouseup', onMouseUp, true);
+ document.removeEventListener('touchstart', onPointerDown, true);
+ document.removeEventListener('touchend', onTouchEnd, true);
};
}
}, [onInteractOutside, ref, state.ignoreEmulatedMouseEvents, state.isPointerDown]);
diff --git a/packages/@react-aria/label/package.json b/packages/@react-aria/label/package.json
index dbf5692ba2a..d34251d4191 100644
--- a/packages/@react-aria/label/package.json
+++ b/packages/@react-aria/label/package.json
@@ -23,7 +23,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/link/package.json b/packages/@react-aria/link/package.json
index 601155df9f0..f6b7c018f3e 100644
--- a/packages/@react-aria/link/package.json
+++ b/packages/@react-aria/link/package.json
@@ -24,7 +24,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/listbox/package.json b/packages/@react-aria/listbox/package.json
index 28cb3eb3139..4b79a3796a3 100644
--- a/packages/@react-aria/listbox/package.json
+++ b/packages/@react-aria/listbox/package.json
@@ -27,7 +27,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/live-announcer/package.json b/packages/@react-aria/live-announcer/package.json
index d4265bc1975..1e289dce9bf 100644
--- a/packages/@react-aria/live-announcer/package.json
+++ b/packages/@react-aria/live-announcer/package.json
@@ -23,8 +23,8 @@
"@react-aria/visually-hidden": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0",
- "react-dom": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/menu/package.json b/packages/@react-aria/menu/package.json
index d66b733b57b..6428b93147d 100644
--- a/packages/@react-aria/menu/package.json
+++ b/packages/@react-aria/menu/package.json
@@ -30,7 +30,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/meter/package.json b/packages/@react-aria/meter/package.json
index 9188f8ae05b..54b5b2aa916 100644
--- a/packages/@react-aria/meter/package.json
+++ b/packages/@react-aria/meter/package.json
@@ -23,7 +23,7 @@
"@react-types/meter": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/numberfield/package.json b/packages/@react-aria/numberfield/package.json
index 6210b2fb1d0..31876e646e5 100644
--- a/packages/@react-aria/numberfield/package.json
+++ b/packages/@react-aria/numberfield/package.json
@@ -30,7 +30,7 @@
"@react-types/textfield": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/numberfield/src/useNumberField.ts b/packages/@react-aria/numberfield/src/useNumberField.ts
index 0b2f3d2da39..1b3dddd1ad6 100644
--- a/packages/@react-aria/numberfield/src/useNumberField.ts
+++ b/packages/@react-aria/numberfield/src/useNumberField.ts
@@ -129,13 +129,14 @@ export function useNumberField(props: NumberFieldProps, state: NumberFieldState,
}
};
- document.getElementById(inputId).addEventListener(
+ let inputRef = ref.current;
+ inputRef.addEventListener(
'wheel',
handleInputScrollWheel,
{passive: false}
);
return () => {
- document.getElementById(inputId).removeEventListener(
+ inputRef.removeEventListener(
'wheel',
handleInputScrollWheel
);
diff --git a/packages/@react-aria/overlays/package.json b/packages/@react-aria/overlays/package.json
index 724cb79fa0a..dc77ff86427 100644
--- a/packages/@react-aria/overlays/package.json
+++ b/packages/@react-aria/overlays/package.json
@@ -28,8 +28,8 @@
"dom-helpers": "^3.3.1"
},
"peerDependencies": {
- "react": "^16.8.0",
- "react-dom": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/overlays/src/useOverlay.ts b/packages/@react-aria/overlays/src/useOverlay.ts
index b0a431087ad..c37807f4665 100644
--- a/packages/@react-aria/overlays/src/useOverlay.ts
+++ b/packages/@react-aria/overlays/src/useOverlay.ts
@@ -29,8 +29,8 @@ interface OverlayProps {
/** Whether the overlay should close when focus is lost or moves outside it. */
shouldCloseOnBlur?: boolean,
- /**
- * Whether pressing the escape key to close the overlay should be disabled.
+ /**
+ * Whether pressing the escape key to close the overlay should be disabled.
* @default false
*/
isKeyboardDismissDisabled?: boolean,
@@ -38,7 +38,7 @@ interface OverlayProps {
/**
* When user interacts with the argument element outside of the overlay ref,
* return true if onClose should be called. This gives you a chance to filter
- * out interaction with elements that should not dismiss the overlay.
+ * out interaction with elements that should not dismiss the overlay.
* By default, onClose will always be called on interaction outside the overlay ref.
*/
shouldCloseOnInteractOutside?: (element: HTMLElement) => boolean
diff --git a/packages/@react-aria/pagination/package.json b/packages/@react-aria/pagination/package.json
index a25de6fefd6..f26d1685347 100644
--- a/packages/@react-aria/pagination/package.json
+++ b/packages/@react-aria/pagination/package.json
@@ -24,7 +24,7 @@
"@react-types/pagination": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/progress/package.json b/packages/@react-aria/progress/package.json
index f1474033ce9..73ae4d2ae0c 100644
--- a/packages/@react-aria/progress/package.json
+++ b/packages/@react-aria/progress/package.json
@@ -25,7 +25,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/radio/package.json b/packages/@react-aria/radio/package.json
index 983221626ce..ad42dc03785 100644
--- a/packages/@react-aria/radio/package.json
+++ b/packages/@react-aria/radio/package.json
@@ -27,7 +27,7 @@
"@react-types/radio": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/searchfield/package.json b/packages/@react-aria/searchfield/package.json
index f1a30c48ab6..f55e3741243 100644
--- a/packages/@react-aria/searchfield/package.json
+++ b/packages/@react-aria/searchfield/package.json
@@ -28,7 +28,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/select/package.json b/packages/@react-aria/select/package.json
index 8718651df3c..df205c6b1f2 100644
--- a/packages/@react-aria/select/package.json
+++ b/packages/@react-aria/select/package.json
@@ -31,7 +31,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/selection/package.json b/packages/@react-aria/selection/package.json
index 0655e868dd5..e427251a10e 100644
--- a/packages/@react-aria/selection/package.json
+++ b/packages/@react-aria/selection/package.json
@@ -27,7 +27,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/separator/package.json b/packages/@react-aria/separator/package.json
index 323c26c871c..80c9b971539 100644
--- a/packages/@react-aria/separator/package.json
+++ b/packages/@react-aria/separator/package.json
@@ -22,7 +22,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/sidenav/package.json b/packages/@react-aria/sidenav/package.json
index 2c8b2f35aa3..fb396c7ddf5 100644
--- a/packages/@react-aria/sidenav/package.json
+++ b/packages/@react-aria/sidenav/package.json
@@ -28,7 +28,7 @@
"@react-types/sidenav": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/slider/package.json b/packages/@react-aria/slider/package.json
index b4fde09901b..46a05779d87 100644
--- a/packages/@react-aria/slider/package.json
+++ b/packages/@react-aria/slider/package.json
@@ -29,7 +29,7 @@
"@react-types/slider": "3.0.0-alpha.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/spinbutton/package.json b/packages/@react-aria/spinbutton/package.json
index dddd7de9424..3b643ecdddf 100644
--- a/packages/@react-aria/spinbutton/package.json
+++ b/packages/@react-aria/spinbutton/package.json
@@ -25,7 +25,7 @@
"@react-types/shared": "^3.0.2"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/splitview/package.json b/packages/@react-aria/splitview/package.json
index 3077cb82b60..3aaf71e05ef 100644
--- a/packages/@react-aria/splitview/package.json
+++ b/packages/@react-aria/splitview/package.json
@@ -24,7 +24,7 @@
"@react-stately/splitview": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/ssr/package.json b/packages/@react-aria/ssr/package.json
index c827b8f3182..80f7b32a7c5 100644
--- a/packages/@react-aria/ssr/package.json
+++ b/packages/@react-aria/ssr/package.json
@@ -20,7 +20,7 @@
"@babel/runtime": "^7.6.2"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/switch/package.json b/packages/@react-aria/switch/package.json
index 5b3c0caa0ae..7c558b80120 100644
--- a/packages/@react-aria/switch/package.json
+++ b/packages/@react-aria/switch/package.json
@@ -23,7 +23,7 @@
"@react-types/switch": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/table/package.json b/packages/@react-aria/table/package.json
index aeb98ce9228..2b643d1ea1d 100644
--- a/packages/@react-aria/table/package.json
+++ b/packages/@react-aria/table/package.json
@@ -31,7 +31,7 @@
"@react-types/table": "3.0.0-rc.4"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/tabs/package.json b/packages/@react-aria/tabs/package.json
index 9aaab481c83..9a4c0143a7e 100644
--- a/packages/@react-aria/tabs/package.json
+++ b/packages/@react-aria/tabs/package.json
@@ -27,7 +27,7 @@
"@react-types/tabs": "3.0.0-alpha.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/tag/package.json b/packages/@react-aria/tag/package.json
index 6dac6f13c03..3383e5d4903 100644
--- a/packages/@react-aria/tag/package.json
+++ b/packages/@react-aria/tag/package.json
@@ -26,7 +26,7 @@
"@react-types/tag": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/textfield/package.json b/packages/@react-aria/textfield/package.json
index 2e9e5bde93e..f909e715d18 100644
--- a/packages/@react-aria/textfield/package.json
+++ b/packages/@react-aria/textfield/package.json
@@ -25,7 +25,7 @@
"@react-types/textfield": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/toast/package.json b/packages/@react-aria/toast/package.json
index b09285f25b7..867681aec43 100644
--- a/packages/@react-aria/toast/package.json
+++ b/packages/@react-aria/toast/package.json
@@ -27,7 +27,7 @@
"@react-stately/toast": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/toggle/package.json b/packages/@react-aria/toggle/package.json
index 06bc2921ae1..0332915ff48 100644
--- a/packages/@react-aria/toggle/package.json
+++ b/packages/@react-aria/toggle/package.json
@@ -27,7 +27,7 @@
"@react-types/switch": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/tooltip/package.json b/packages/@react-aria/tooltip/package.json
index 30918dc9238..331c66bec68 100644
--- a/packages/@react-aria/tooltip/package.json
+++ b/packages/@react-aria/tooltip/package.json
@@ -27,7 +27,7 @@
"@react-types/tooltip": "3.0.0-alpha.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/tooltip/src/useTooltipTrigger.ts b/packages/@react-aria/tooltip/src/useTooltipTrigger.ts
index def5d79308c..a83828e08aa 100644
--- a/packages/@react-aria/tooltip/src/useTooltipTrigger.ts
+++ b/packages/@react-aria/tooltip/src/useTooltipTrigger.ts
@@ -55,9 +55,9 @@ export function useTooltipTrigger(props: TooltipTriggerProps, state: TooltipTrig
}
};
if (state.isOpen) {
- document.addEventListener('keydown', onKeyDown);
+ document.addEventListener('keydown', onKeyDown, true);
return () => {
- document.removeEventListener('keydown', onKeyDown);
+ document.removeEventListener('keydown', onKeyDown, true);
};
}
}, [ref, state]);
diff --git a/packages/@react-aria/tree/package.json b/packages/@react-aria/tree/package.json
index 5c9de6e06d2..61a955be412 100644
--- a/packages/@react-aria/tree/package.json
+++ b/packages/@react-aria/tree/package.json
@@ -22,7 +22,7 @@
"@react-stately/tree": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/utils/package.json b/packages/@react-aria/utils/package.json
index 650552cf81f..a195186a0a8 100644
--- a/packages/@react-aria/utils/package.json
+++ b/packages/@react-aria/utils/package.json
@@ -23,7 +23,7 @@
"clsx": "^1.1.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/utils/src/useId.ts b/packages/@react-aria/utils/src/useId.ts
index 0ca99c6efb9..3b60fe2a99e 100644
--- a/packages/@react-aria/utils/src/useId.ts
+++ b/packages/@react-aria/utils/src/useId.ts
@@ -10,9 +10,9 @@
* governing permissions and limitations under the License.
*/
+import {useEffect, useRef, useState} from 'react';
import {useLayoutEffect} from './useLayoutEffect';
import {useSSRSafeId} from '@react-aria/ssr';
-import {useState} from 'react';
let map: Map void> = new Map();
@@ -21,9 +21,33 @@ let map: Map void> = new Map();
* @param defaultId - Default component id.
*/
export function useId(defaultId?: string): string {
+ let isRendering = useRef(true);
+ isRendering.current = true;
let [value, setValue] = useState(defaultId);
+ let nextId = useRef(null);
+ // don't memo this, we want it new each render so that the Effects always run
+ let updateValue = (val) => {
+ if (!isRendering.current) {
+ setValue(val);
+ } else {
+ nextId.current = val;
+ }
+ };
+
+ useLayoutEffect(() => {
+ isRendering.current = false;
+ }, [updateValue]);
+
+ useEffect(() => {
+ let newId = nextId.current;
+ if (newId) {
+ setValue(newId);
+ nextId.current = null;
+ }
+ }, [setValue, updateValue]);
+
let res = useSSRSafeId(value);
- map.set(res, setValue);
+ map.set(res, updateValue);
return res;
}
diff --git a/packages/@react-aria/virtualizer/package.json b/packages/@react-aria/virtualizer/package.json
index 86749160655..a37c132938c 100644
--- a/packages/@react-aria/virtualizer/package.json
+++ b/packages/@react-aria/virtualizer/package.json
@@ -24,8 +24,8 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0",
- "react-dom": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-aria/visually-hidden/package.json b/packages/@react-aria/visually-hidden/package.json
index 2f55591f0ac..04c56457577 100644
--- a/packages/@react-aria/visually-hidden/package.json
+++ b/packages/@react-aria/visually-hidden/package.json
@@ -25,7 +25,7 @@
"clsx": "^1.1.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-spectrum/actiongroup/package.json b/packages/@react-spectrum/actiongroup/package.json
index fb6d537fe82..375e913b7f8 100644
--- a/packages/@react-spectrum/actiongroup/package.json
+++ b/packages/@react-spectrum/actiongroup/package.json
@@ -52,7 +52,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/actiongroup/test/ActionGroup.test.js b/packages/@react-spectrum/actiongroup/test/ActionGroup.test.js
index b83fcf9dd5f..2b824c5e415 100644
--- a/packages/@react-spectrum/actiongroup/test/ActionGroup.test.js
+++ b/packages/@react-spectrum/actiongroup/test/ActionGroup.test.js
@@ -292,7 +292,7 @@ describe('ActionGroup', function () {
let buttonBefore = tree.getByLabelText('ButtonBefore');
let buttonAfter = tree.getByLabelText('ButtonAfter');
let buttons = tree.getAllByRole('radio');
- buttonBefore.focus();
+ act(() => {buttonBefore.focus();});
act(() => userEvent.tab());
expect(document.activeElement).toBe(buttons[0]);
diff --git a/packages/@react-spectrum/alert/package.json b/packages/@react-spectrum/alert/package.json
index 8e0efc77134..307f35a039d 100644
--- a/packages/@react-spectrum/alert/package.json
+++ b/packages/@react-spectrum/alert/package.json
@@ -42,7 +42,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/breadcrumbs/package.json b/packages/@react-spectrum/breadcrumbs/package.json
index dd65595de4b..8c32fc2ea81 100644
--- a/packages/@react-spectrum/breadcrumbs/package.json
+++ b/packages/@react-spectrum/breadcrumbs/package.json
@@ -48,7 +48,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/button/package.json b/packages/@react-spectrum/button/package.json
index 716de974489..acae7296bfa 100644
--- a/packages/@react-spectrum/button/package.json
+++ b/packages/@react-spectrum/button/package.json
@@ -48,7 +48,7 @@
"@react-spectrum/test-utils": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/buttongroup/package.json b/packages/@react-spectrum/buttongroup/package.json
index 141657554a0..abea62a5010 100644
--- a/packages/@react-spectrum/buttongroup/package.json
+++ b/packages/@react-spectrum/buttongroup/package.json
@@ -44,7 +44,7 @@
"@spectrum-icons/workflow": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/calendar/package.json b/packages/@react-spectrum/calendar/package.json
index 38bb0907d3c..0f0e93603dc 100644
--- a/packages/@react-spectrum/calendar/package.json
+++ b/packages/@react-spectrum/calendar/package.json
@@ -51,7 +51,7 @@
"@react-spectrum/test-utils": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/checkbox/package.json b/packages/@react-spectrum/checkbox/package.json
index c918dcbe2d1..c6a00fe748b 100644
--- a/packages/@react-spectrum/checkbox/package.json
+++ b/packages/@react-spectrum/checkbox/package.json
@@ -48,7 +48,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/combobox/package.json b/packages/@react-spectrum/combobox/package.json
index b858c119df7..bc1ccc0c849 100644
--- a/packages/@react-spectrum/combobox/package.json
+++ b/packages/@react-spectrum/combobox/package.json
@@ -55,7 +55,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/datepicker/package.json b/packages/@react-spectrum/datepicker/package.json
index 50d7e7facb4..ac2c13a419b 100644
--- a/packages/@react-spectrum/datepicker/package.json
+++ b/packages/@react-spectrum/datepicker/package.json
@@ -53,7 +53,7 @@
"@react-spectrum/test-utils": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/datepicker/test/DatePicker.test.js b/packages/@react-spectrum/datepicker/test/DatePicker.test.js
index 7d6fce93ea0..8bd05da5d0c 100644
--- a/packages/@react-spectrum/datepicker/test/DatePicker.test.js
+++ b/packages/@react-spectrum/datepicker/test/DatePicker.test.js
@@ -10,14 +10,22 @@
* governing permissions and limitations under the License.
*/
+import {act, fireEvent, render} from '@testing-library/react';
import {DatePicker} from '../';
-import {fireEvent, render} from '@testing-library/react';
import {Provider} from '@react-spectrum/provider';
import React from 'react';
import {theme} from '@react-spectrum/theme-default';
import {triggerPress} from '@react-spectrum/test-utils';
describe('DatePicker', function () {
+ beforeAll(() => {
+ jest.useFakeTimers();
+ });
+ afterEach(() => {
+ act(() => {
+ jest.runAllTimers();
+ });
+ });
describe('basics', function () {
it('should render a datepicker with a specified date', function () {
let {getByRole, getAllByRole} = render();
@@ -275,7 +283,7 @@ describe('DatePicker', function () {
let {getByLabelText, unmount} = render();
let segment = getByLabelText(label);
let textContent = segment.textContent;
- segment.focus();
+ act(() => {segment.focus();});
fireEvent.keyDown(segment, {key: options.upKey || 'ArrowUp'});
expect(onChange).toHaveBeenCalledTimes(1);
@@ -293,7 +301,7 @@ describe('DatePicker', function () {
({getByLabelText, unmount} = render());
segment = getByLabelText(label);
textContent = segment.textContent;
- segment.focus();
+ act(() => {segment.focus();});
fireEvent.keyDown(segment, {key: options.upKey || 'ArrowUp'});
expect(onChange).toHaveBeenCalledTimes(1);
@@ -306,7 +314,7 @@ describe('DatePicker', function () {
({getByLabelText, unmount} = render());
segment = getByLabelText(label);
textContent = segment.textContent;
- segment.focus();
+ act(() => {segment.focus();});
fireEvent.keyDown(segment, {key: options.downKey || 'ArrowDown'});
expect(onChange).toHaveBeenCalledTimes(1);
@@ -319,7 +327,7 @@ describe('DatePicker', function () {
({getByLabelText, unmount} = render());
segment = getByLabelText(label);
textContent = segment.textContent;
- segment.focus();
+ act(() => {segment.focus();});
fireEvent.keyDown(segment, {key: options.upKey || 'ArrowUp'});
expect(onChange).not.toHaveBeenCalled();
@@ -331,7 +339,7 @@ describe('DatePicker', function () {
({getByLabelText, unmount} = render());
segment = getByLabelText(label);
textContent = segment.textContent;
- segment.focus();
+ act(() => {segment.focus();});
fireEvent.keyDown(segment, {key: options.downKey || 'ArrowDown'});
expect(onChange).not.toHaveBeenCalled();
@@ -488,7 +496,7 @@ describe('DatePicker', function () {
let {getByLabelText, getAllByRole, unmount} = render();
let segment = getByLabelText(label);
let textContent = segment.textContent;
- segment.focus();
+ act(() => {segment.focus();});
let i = 0;
for (let key of keys) {
@@ -518,7 +526,7 @@ describe('DatePicker', function () {
({getByLabelText, getAllByRole, unmount} = render());
segment = getByLabelText(label);
textContent = segment.textContent;
- segment.focus();
+ act(() => {segment.focus();});
i = 0;
for (let key of keys) {
@@ -548,7 +556,7 @@ describe('DatePicker', function () {
({getByLabelText, getAllByRole, unmount} = render());
segment = getByLabelText(label);
textContent = segment.textContent;
- segment.focus();
+ act(() => {segment.focus();});
for (let key of keys) {
fireEvent.keyDown(segment, {key});
@@ -641,7 +649,7 @@ describe('DatePicker', function () {
let {getByLabelText, unmount} = render();
let segment = getByLabelText(label);
let textContent = segment.textContent;
- segment.focus();
+ act(() => {segment.focus();});
fireEvent.keyDown(segment, {key: 'Backspace'});
expect(onChange).toHaveBeenCalledTimes(1);
@@ -654,7 +662,7 @@ describe('DatePicker', function () {
({getByLabelText, unmount} = render());
segment = getByLabelText(label);
textContent = segment.textContent;
- segment.focus();
+ act(() => {segment.focus();});
fireEvent.keyDown(segment, {key: 'Backspace'});
expect(onChange).toHaveBeenCalledTimes(1);
@@ -716,7 +724,7 @@ describe('DatePicker', function () {
);
let segment = getByLabelText('العام');
expect(segment).toHaveTextContent('٢٠١٩');
- segment.focus();
+ act(() => {segment.focus();});
fireEvent.keyDown(segment, {key: 'Backspace'});
expect(onChange).toHaveBeenCalledTimes(1);
@@ -797,7 +805,7 @@ describe('DatePicker', function () {
expect(combobox).toHaveTextContent(`1/1/${new Date().getFullYear()}`);
let segments = getAllByRole('spinbutton');
- segments[0].focus();
+ act(() => {segments[0].focus();});
fireEvent.keyDown(document.activeElement, {key: 'Enter'});
expect(segments[1]).toHaveFocus();
@@ -822,7 +830,7 @@ describe('DatePicker', function () {
expect(combobox).toHaveTextContent(`1/1/${new Date().getFullYear()}`);
let segments = getAllByRole('spinbutton');
- segments[0].focus();
+ act(() => {segments[0].focus();});
fireEvent.keyDown(document.activeElement, {key: 'ArrowUp'});
fireEvent.keyDown(document.activeElement, {key: 'ArrowRight'});
@@ -850,7 +858,7 @@ describe('DatePicker', function () {
expect(combobox).toHaveTextContent(`1/1/${new Date().getFullYear()}`);
let segments = getAllByRole('spinbutton');
- segments[0].focus();
+ act(() => {segments[0].focus();});
fireEvent.keyDown(document.activeElement, {key: 'ArrowUp'});
fireEvent.keyDown(document.activeElement, {key: 'ArrowRight'});
@@ -881,7 +889,7 @@ describe('DatePicker', function () {
expect(combobox).toHaveTextContent(`1/1/${new Date().getFullYear()}`);
let segments = getAllByRole('spinbutton');
- segments[0].focus();
+ act(() => {segments[0].focus();});
fireEvent.keyDown(document.activeElement, {key: '4'});
expect(segments[1]).toHaveFocus();
@@ -914,7 +922,7 @@ describe('DatePicker', function () {
expect(combobox).toHaveTextContent(`1/1/${new Date().getFullYear()}`);
let segments = getAllByRole('spinbutton');
- segments[0].focus();
+ act(() => {segments[0].focus();});
fireEvent.keyDown(document.activeElement, {key: '4'});
expect(segments[1]).toHaveFocus();
diff --git a/packages/@react-spectrum/datepicker/test/DateRangePicker.test.js b/packages/@react-spectrum/datepicker/test/DateRangePicker.test.js
index 4c551e2fdab..acc1a26e967 100644
--- a/packages/@react-spectrum/datepicker/test/DateRangePicker.test.js
+++ b/packages/@react-spectrum/datepicker/test/DateRangePicker.test.js
@@ -364,7 +364,7 @@ describe('DateRangePicker', function () {
let startMonth = getAllByLabelText('Month')[0];
expect(startMonth).toHaveTextContent('2');
- startMonth.focus();
+ act(() => {startMonth.focus();});
fireEvent.keyDown(startMonth, {key: 'ArrowDown'});
expect(startMonth).toHaveTextContent('1'); // uncontrolled
@@ -373,7 +373,7 @@ describe('DateRangePicker', function () {
let endYear = getAllByLabelText('Year')[1];
expect(endYear).toHaveTextContent('2019');
- endYear.focus();
+ act(() => {endYear.focus();});
fireEvent.keyDown(endYear, {key: 'ArrowUp'});
expect(endYear).toHaveTextContent('2020'); // uncontrolled
@@ -391,7 +391,7 @@ describe('DateRangePicker', function () {
let startMonth = getAllByLabelText('Month')[0];
expect(startMonth).toHaveTextContent('2');
- startMonth.focus();
+ act(() => {startMonth.focus();});
fireEvent.keyDown(startMonth, {key: 'ArrowDown'});
expect(startMonth).toHaveTextContent('2'); // controlled
@@ -400,7 +400,7 @@ describe('DateRangePicker', function () {
let endYear = getAllByLabelText('Year')[1];
expect(endYear).toHaveTextContent('2019');
- endYear.focus();
+ act(() => {endYear.focus();});
fireEvent.keyDown(endYear, {key: 'ArrowUp'});
expect(endYear).toHaveTextContent('2019'); // controlled
@@ -417,7 +417,7 @@ describe('DateRangePicker', function () {
);
let startMonth = getAllByLabelText('Month')[0];
- startMonth.focus();
+ act(() => {startMonth.focus();});
fireEvent.keyDown(startMonth, {key: '8'});
expect(startMonth).toHaveTextContent('8'); // uncontrolled
@@ -428,7 +428,7 @@ describe('DateRangePicker', function () {
let endYear = getAllByLabelText('Year')[1];
expect(endYear).toHaveTextContent('2019');
- endYear.focus();
+ act(() => {endYear.focus();});
fireEvent.keyDown(endYear, {key: '2'});
fireEvent.keyDown(endYear, {key: '0'});
fireEvent.keyDown(endYear, {key: '2'});
@@ -448,7 +448,7 @@ describe('DateRangePicker', function () {
);
let startMonth = getAllByLabelText('Month')[0];
- startMonth.focus();
+ act(() => {startMonth.focus();});
fireEvent.keyDown(startMonth, {key: '8'});
expect(startMonth).toHaveTextContent('2'); // controlled
@@ -459,7 +459,7 @@ describe('DateRangePicker', function () {
let endDay = getAllByLabelText('Day')[1];
expect(endDay).toHaveTextContent('6');
- endDay.focus();
+ act(() => {endDay.focus();});
fireEvent.keyDown(endDay, {key: '4'});
expect(endDay).toHaveTextContent('6'); // controlled
@@ -477,7 +477,7 @@ describe('DateRangePicker', function () {
let endYear = getAllByLabelText('Year')[1];
expect(endYear).toHaveTextContent('2019');
- endYear.focus();
+ act(() => {endYear.focus();});
fireEvent.keyDown(endYear, {key: 'Backspace'});
expect(endYear).toHaveTextContent('201'); // uncontrolled
@@ -495,7 +495,7 @@ describe('DateRangePicker', function () {
let endYear = getAllByLabelText('Year')[1];
expect(endYear).toHaveTextContent('2019');
- endYear.focus();
+ act(() => {endYear.focus();});
fireEvent.keyDown(endYear, {key: 'Backspace'});
expect(endYear).toHaveTextContent('2019'); // controlled
@@ -650,7 +650,7 @@ describe('DateRangePicker', function () {
expect(endDate).toHaveTextContent(`1/1/${new Date().getFullYear()}`);
let segments = getAllByRole('spinbutton');
- segments[0].focus();
+ act(() => {segments[0].focus();});
fireEvent.keyDown(document.activeElement, {key: '2'});
expect(startDate).toHaveTextContent(`2/1/${new Date().getFullYear()}`);
diff --git a/packages/@react-spectrum/dialog/package.json b/packages/@react-spectrum/dialog/package.json
index 983ac5f37cb..1997c2d016c 100644
--- a/packages/@react-spectrum/dialog/package.json
+++ b/packages/@react-spectrum/dialog/package.json
@@ -58,7 +58,7 @@
"@react-spectrum/test-utils": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/dialog/test/DialogTrigger.test.js b/packages/@react-spectrum/dialog/test/DialogTrigger.test.js
index 4d8fe6f2c46..8fcafd3c583 100644
--- a/packages/@react-spectrum/dialog/test/DialogTrigger.test.js
+++ b/packages/@react-spectrum/dialog/test/DialogTrigger.test.js
@@ -13,13 +13,17 @@
import {act, fireEvent, render, waitFor, within} from '@testing-library/react';
import {ActionButton, Button} from '@react-spectrum/button';
import {ButtonGroup} from '@react-spectrum/buttongroup';
+import {Content} from '@react-spectrum/view';
import {Dialog, DialogTrigger} from '../';
import {Item, Menu, MenuTrigger} from '@react-spectrum/menu';
import MatchMediaMock from 'jest-matchmedia-mock';
import {Provider} from '@react-spectrum/provider';
import React from 'react';
+import {TextField} from '@react-spectrum/textfield';
import {theme} from '@react-spectrum/theme-default';
import {triggerPress} from '@react-spectrum/test-utils';
+import userEvent from '@testing-library/user-event';
+
describe('DialogTrigger', function () {
let matchMedia;
@@ -32,7 +36,8 @@ describe('DialogTrigger', function () {
beforeEach(() => {
matchMedia = new MatchMediaMock();
- jest.spyOn(window, 'requestAnimationFrame').mockImplementation(cb => cb());
+ // this needs to be a setTimeout so that the dialog can be removed from the dom before the callback is invoked
+ jest.spyOn(window, 'requestAnimationFrame').mockImplementation(cb => setTimeout(() => cb(), 0));
});
afterEach(() => {
@@ -244,7 +249,9 @@ describe('DialogTrigger', function () {
);
let button = getByRole('button');
- triggerPress(button);
+ act(() => {button.focus();});
+ fireEvent.focusIn(button);
+ act(() => {userEvent.click(button);});
act(() => {
jest.runAllTimers();
@@ -269,6 +276,11 @@ describe('DialogTrigger', function () {
expect(dialog).not.toBeInTheDocument();
}); // wait for animation
+ // now that it's been unmounted, run the raf callback
+ act(() => {
+ jest.runAllTimers();
+ });
+
expect(document.activeElement).toBe(button);
});
@@ -762,4 +774,74 @@ describe('DialogTrigger', function () {
expect(warn).toHaveBeenCalledTimes(1);
expect(warn).toHaveBeenCalledWith('A DialogTrigger unmounted while open. This is likely due to being placed within a trigger that unmounts or inside a conditional. Consider using a DialogContainer instead.');
});
+
+ it('should not try to restore focus to the outer dialog when the inner dialog opens', async () => {
+ let {getByRole} = render(
+
+
+
+ Trigger
+
+
+
+ );
+ let button = getByRole('button');
+ triggerPress(button);
+
+ act(() => {
+ jest.runAllTimers();
+ });
+
+ let outerDialog = getByRole('dialog');
+
+ await waitFor(() => {
+ expect(outerDialog).toBeVisible();
+ }); // wait for animation
+ let outerButton = getByRole('button');
+ let outerInput = getByRole('textbox');
+
+ expect(document.activeElement).toBe(outerInput);
+ triggerPress(outerButton);
+
+ act(() => {
+ jest.runAllTimers();
+ });
+
+ let innerDialog = getByRole('dialog');
+
+ await waitFor(() => {
+ expect(innerDialog).toBeVisible();
+ }); // wait for animation
+
+ let innerInput = getByRole('textbox');
+
+ expect(document.activeElement).toBe(innerInput);
+
+ act(() => {userEvent.click(document.body);});
+
+ act(() => {
+ jest.runAllTimers();
+ });
+
+ expect(document.activeElement).toBe(innerInput);
+
+ let outsideInput = document.getElementById('document-input');
+ act(() => {outsideInput.focus();});
+ act(() => {
+ jest.runAllTimers();
+ });
+ expect(document.activeElement).toBe(innerInput);
+ });
});
diff --git a/packages/@react-spectrum/divider/package.json b/packages/@react-spectrum/divider/package.json
index c2c3df41860..8d9af768f4e 100644
--- a/packages/@react-spectrum/divider/package.json
+++ b/packages/@react-spectrum/divider/package.json
@@ -41,7 +41,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-spectrum/form/package.json b/packages/@react-spectrum/form/package.json
index 0f3c0ec67e7..f539fbe7d68 100644
--- a/packages/@react-spectrum/form/package.json
+++ b/packages/@react-spectrum/form/package.json
@@ -41,7 +41,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/icon/package.json b/packages/@react-spectrum/icon/package.json
index 0bd3af0235c..5f1c006fccd 100644
--- a/packages/@react-spectrum/icon/package.json
+++ b/packages/@react-spectrum/icon/package.json
@@ -41,7 +41,7 @@
"@spectrum-icons/workflow": "^3.0.0"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/illustratedmessage/package.json b/packages/@react-spectrum/illustratedmessage/package.json
index ae07e359944..b602bde5e34 100644
--- a/packages/@react-spectrum/illustratedmessage/package.json
+++ b/packages/@react-spectrum/illustratedmessage/package.json
@@ -42,7 +42,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/image/package.json b/packages/@react-spectrum/image/package.json
index 5022bd620e9..b94889706e3 100644
--- a/packages/@react-spectrum/image/package.json
+++ b/packages/@react-spectrum/image/package.json
@@ -42,7 +42,7 @@
},
"peerDependencies": {
"@react-spectrum/provider": "^3.0.0-rc.1",
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-spectrum/label/package.json b/packages/@react-spectrum/label/package.json
index 68e55664d03..3c8893611e6 100644
--- a/packages/@react-spectrum/label/package.json
+++ b/packages/@react-spectrum/label/package.json
@@ -44,7 +44,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/layout/package.json b/packages/@react-spectrum/layout/package.json
index 806fb12ce3f..825787a43fb 100644
--- a/packages/@react-spectrum/layout/package.json
+++ b/packages/@react-spectrum/layout/package.json
@@ -44,7 +44,7 @@
},
"peerDependencies": {
"@react-spectrum/provider": "^3.0.0-rc.1",
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-spectrum/link/package.json b/packages/@react-spectrum/link/package.json
index 0a68e1634f8..cc38f7b7c11 100644
--- a/packages/@react-spectrum/link/package.json
+++ b/packages/@react-spectrum/link/package.json
@@ -43,7 +43,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/listbox/package.json b/packages/@react-spectrum/listbox/package.json
index ce821c886a8..84141fdf338 100644
--- a/packages/@react-spectrum/listbox/package.json
+++ b/packages/@react-spectrum/listbox/package.json
@@ -56,7 +56,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/menu/package.json b/packages/@react-spectrum/menu/package.json
index 4efcfdb6d31..0195030b66e 100644
--- a/packages/@react-spectrum/menu/package.json
+++ b/packages/@react-spectrum/menu/package.json
@@ -60,7 +60,7 @@
},
"peerDependencies": {
"@react-spectrum/provider": "^3.0.0-rc.1",
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-spectrum/meter/package.json b/packages/@react-spectrum/meter/package.json
index 032e5f3e3dc..0f4d7b06222 100644
--- a/packages/@react-spectrum/meter/package.json
+++ b/packages/@react-spectrum/meter/package.json
@@ -42,7 +42,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/numberfield/package.json b/packages/@react-spectrum/numberfield/package.json
index 208f481262e..c4b989bdb2a 100644
--- a/packages/@react-spectrum/numberfield/package.json
+++ b/packages/@react-spectrum/numberfield/package.json
@@ -50,7 +50,7 @@
"@react-spectrum/test-utils": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/overlays/package.json b/packages/@react-spectrum/overlays/package.json
index 5e5531d4d62..deaf7eae018 100644
--- a/packages/@react-spectrum/overlays/package.json
+++ b/packages/@react-spectrum/overlays/package.json
@@ -44,8 +44,8 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
- "react-dom": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/pagination/package.json b/packages/@react-spectrum/pagination/package.json
index ba1d69ed559..ae4d1d7f9f7 100644
--- a/packages/@react-spectrum/pagination/package.json
+++ b/packages/@react-spectrum/pagination/package.json
@@ -47,7 +47,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/picker/package.json b/packages/@react-spectrum/picker/package.json
index 04916be0ec0..7682e8b08fd 100644
--- a/packages/@react-spectrum/picker/package.json
+++ b/packages/@react-spectrum/picker/package.json
@@ -57,7 +57,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/progress/package.json b/packages/@react-spectrum/progress/package.json
index f88062fd006..6508d4ccf21 100644
--- a/packages/@react-spectrum/progress/package.json
+++ b/packages/@react-spectrum/progress/package.json
@@ -42,7 +42,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/provider/package.json b/packages/@react-spectrum/provider/package.json
index 22f5f18daa1..7a9253d0c14 100644
--- a/packages/@react-spectrum/provider/package.json
+++ b/packages/@react-spectrum/provider/package.json
@@ -44,7 +44,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-spectrum/radio/package.json b/packages/@react-spectrum/radio/package.json
index fb425996e31..a1ee5f5c106 100644
--- a/packages/@react-spectrum/radio/package.json
+++ b/packages/@react-spectrum/radio/package.json
@@ -46,7 +46,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/searchfield/package.json b/packages/@react-spectrum/searchfield/package.json
index 8d1a1fd152d..f1db5967b62 100644
--- a/packages/@react-spectrum/searchfield/package.json
+++ b/packages/@react-spectrum/searchfield/package.json
@@ -46,7 +46,7 @@
"@react-spectrum/test-utils": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/sidenav/package.json b/packages/@react-spectrum/sidenav/package.json
index 9c9dfa0dc97..fa5ad33ba3a 100644
--- a/packages/@react-spectrum/sidenav/package.json
+++ b/packages/@react-spectrum/sidenav/package.json
@@ -53,7 +53,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/sidenav/test/SideNav.test.js b/packages/@react-spectrum/sidenav/test/SideNav.test.js
index 0cd0fb03f0c..d65f60bae51 100644
--- a/packages/@react-spectrum/sidenav/test/SideNav.test.js
+++ b/packages/@react-spectrum/sidenav/test/SideNav.test.js
@@ -189,7 +189,7 @@ describe('SideNav', function () {
getByText('Alice')
];
- bar.focus();
+ act(() => {bar.focus();});
triggerPress(bar);
expect(foo).not.toHaveAttribute('aria-current');
@@ -204,7 +204,7 @@ describe('SideNav', function () {
expect(spy).toBeCalledTimes(1);
- alice.focus();
+ act(() => {alice.focus();});
triggerPress(alice);
expect(foo).not.toHaveAttribute('aria-current');
@@ -266,7 +266,7 @@ describe('SideNav', function () {
let items = getAllByRole('link');
let selectedItem = items[0];
- selectedItem.focus();
+ act(() => {selectedItem.focus();});
expect(selectedItem).toBe(document.activeElement);
act(() => {fireEvent.keyDown(selectedItem, {key: 'ArrowDown', code: 40, charCode: 40});});
let nextSelectedItem = items[1];
@@ -294,13 +294,13 @@ describe('SideNav', function () {
let items = getAllByRole('link');
let firstItem = items[0];
- firstItem.focus();
+ act(() => {firstItem.focus();});
expect(firstItem).toBe(document.activeElement);
act(() => {fireEvent.keyDown(firstItem, {key: 'ArrowUp', code: 40, charCode: 40});});
let lastItem = items[items.length - 1];
expect(lastItem).not.toBe(document.activeElement);
- lastItem.focus();
+ act(() => {lastItem.focus();});
expect(lastItem).toBe(document.activeElement);
act(() => {fireEvent.keyDown(lastItem, {key: 'ArrowDown', code: 38, charCode: 38});});
expect(firstItem).not.toBe(document.activeElement);
@@ -323,7 +323,7 @@ describe('SideNav', function () {
let items = getAllByRole('link');
let firstItem = items[0];
- firstItem.focus();
+ act(() => {firstItem.focus();});
expect(firstItem).toBe(document.activeElement);
act(() => {
fireEvent.keyDown(firstItem, {key: 'ArrowUp', code: 40, charCode: 40});
@@ -331,7 +331,7 @@ describe('SideNav', function () {
let lastItem = items[items.length - 1];
expect(lastItem).toBe(document.activeElement);
- lastItem.focus();
+ act(() => {lastItem.focus();});
expect(lastItem).toBe(document.activeElement);
act(() => {
fireEvent.keyDown(lastItem, {key: 'ArrowDown', code: 38, charCode: 38});
@@ -469,7 +469,7 @@ describe('SideNav', function () {
expect(bar).toHaveAttribute('aria-current', 'page');
- alice.focus();
+ act(() => {alice.focus();});
triggerPress(alice);
expect(bar).not.toHaveAttribute('aria-current');
expect(alice).toHaveAttribute('aria-current', 'page');
@@ -506,7 +506,7 @@ describe('SideNav', function () {
expect(bar).toHaveAttribute('aria-current', 'page');
- alice.focus();
+ act(() => {alice.focus();});
triggerPress(alice);
expect(bar).not.toHaveAttribute('aria-current');
expect(alice).toHaveAttribute('aria-current', 'page');
diff --git a/packages/@react-spectrum/splitview/package.json b/packages/@react-spectrum/splitview/package.json
index cb761da4f0b..62e441132e8 100644
--- a/packages/@react-spectrum/splitview/package.json
+++ b/packages/@react-spectrum/splitview/package.json
@@ -43,7 +43,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-spectrum/statuslight/package.json b/packages/@react-spectrum/statuslight/package.json
index c336f40a73f..652e163c237 100644
--- a/packages/@react-spectrum/statuslight/package.json
+++ b/packages/@react-spectrum/statuslight/package.json
@@ -41,7 +41,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/switch/package.json b/packages/@react-spectrum/switch/package.json
index ec680e60cf7..efb2274ee6f 100644
--- a/packages/@react-spectrum/switch/package.json
+++ b/packages/@react-spectrum/switch/package.json
@@ -46,7 +46,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/table/package.json b/packages/@react-spectrum/table/package.json
index 8e3912babb1..1f9118d0765 100644
--- a/packages/@react-spectrum/table/package.json
+++ b/packages/@react-spectrum/table/package.json
@@ -53,7 +53,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/tabs/package.json b/packages/@react-spectrum/tabs/package.json
index dbc43337763..27bfe0b2794 100644
--- a/packages/@react-spectrum/tabs/package.json
+++ b/packages/@react-spectrum/tabs/package.json
@@ -51,7 +51,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/tag/package.json b/packages/@react-spectrum/tag/package.json
index 157e6771d9d..47c2973a6d4 100644
--- a/packages/@react-spectrum/tag/package.json
+++ b/packages/@react-spectrum/tag/package.json
@@ -47,7 +47,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/test-utils/package.json b/packages/@react-spectrum/test-utils/package.json
index 4bec3ec182c..fcb5fa24ace 100644
--- a/packages/@react-spectrum/test-utils/package.json
+++ b/packages/@react-spectrum/test-utils/package.json
@@ -39,8 +39,8 @@
"peerDependencies": {
"@testing-library/react": "^10.4.9",
"@testing-library/user-event": "^12.1.3",
- "react": "^16.8.0",
- "react-dom": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1"
},
"devDependencies": {
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
diff --git a/packages/@react-spectrum/text/package.json b/packages/@react-spectrum/text/package.json
index e84a9885c52..5bac0aa334c 100644
--- a/packages/@react-spectrum/text/package.json
+++ b/packages/@react-spectrum/text/package.json
@@ -42,7 +42,7 @@
},
"peerDependencies": {
"@react-spectrum/provider": "^3.0.0-rc.1",
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-spectrum/textfield/package.json b/packages/@react-spectrum/textfield/package.json
index dd27c1a55f3..e6534295031 100644
--- a/packages/@react-spectrum/textfield/package.json
+++ b/packages/@react-spectrum/textfield/package.json
@@ -50,7 +50,7 @@
"@spectrum-icons/workflow": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/toast/package.json b/packages/@react-spectrum/toast/package.json
index 0ac0e7b40eb..8d23f9eda3e 100644
--- a/packages/@react-spectrum/toast/package.json
+++ b/packages/@react-spectrum/toast/package.json
@@ -46,7 +46,7 @@
"@react-spectrum/test-utils": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/toast/test/Toast.test.js b/packages/@react-spectrum/toast/test/Toast.test.js
index 56c91b0b5c2..af6f8b7f73b 100644
--- a/packages/@react-spectrum/toast/test/Toast.test.js
+++ b/packages/@react-spectrum/toast/test/Toast.test.js
@@ -10,8 +10,8 @@
* governing permissions and limitations under the License.
*/
+import {act, render} from '@testing-library/react';
import React from 'react';
-import {render} from '@testing-library/react';
import {Toast} from '../';
import {triggerPress} from '@react-spectrum/test-utils';
import {Toast as V2Toast} from '@react/react-spectrum/Toast';
@@ -125,7 +125,7 @@ describe('Toast', function () {
let button = getAllByRole('button');
// action button
- button[0].focus();
+ act(() => {button[0].focus();});
triggerPress(document.activeElement);
expect(onClose).toHaveBeenCalledTimes(1);
expect(onAction).toHaveBeenCalledTimes(1);
@@ -134,7 +134,7 @@ describe('Toast', function () {
}
// close button
- button[1].focus();
+ act(() => {button[1].focus();});
triggerPress(document.activeElement);
expect(onClose).toHaveBeenCalledTimes(2);
expect(onAction).toHaveBeenCalledTimes(1);
diff --git a/packages/@react-spectrum/tooltip/package.json b/packages/@react-spectrum/tooltip/package.json
index 6dc5e86e17a..0840a5c4fdc 100644
--- a/packages/@react-spectrum/tooltip/package.json
+++ b/packages/@react-spectrum/tooltip/package.json
@@ -50,7 +50,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/tree/package.json b/packages/@react-spectrum/tree/package.json
index 6c25d179ce0..78ad8554f32 100644
--- a/packages/@react-spectrum/tree/package.json
+++ b/packages/@react-spectrum/tree/package.json
@@ -47,7 +47,7 @@
"@react-aria/tree": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"devDependencies": {
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
diff --git a/packages/@react-spectrum/utils/package.json b/packages/@react-spectrum/utils/package.json
index cee834747dd..d910c14b6c0 100644
--- a/packages/@react-spectrum/utils/package.json
+++ b/packages/@react-spectrum/utils/package.json
@@ -27,7 +27,7 @@
"clsx": "^1.1.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-spectrum/view/package.json b/packages/@react-spectrum/view/package.json
index ed499fdf139..58d960e723a 100644
--- a/packages/@react-spectrum/view/package.json
+++ b/packages/@react-spectrum/view/package.json
@@ -42,7 +42,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/packages/@react-spectrum/well/package.json b/packages/@react-spectrum/well/package.json
index 0475838a531..40fc265cd26 100644
--- a/packages/@react-spectrum/well/package.json
+++ b/packages/@react-spectrum/well/package.json
@@ -41,7 +41,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/calendar/package.json b/packages/@react-stately/calendar/package.json
index fe9fae8c084..cff3a82b1f5 100644
--- a/packages/@react-stately/calendar/package.json
+++ b/packages/@react-stately/calendar/package.json
@@ -27,7 +27,7 @@
"date-fns": "^1.30.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/checkbox/package.json b/packages/@react-stately/checkbox/package.json
index 1811fcac467..7d8c1e9f307 100644
--- a/packages/@react-stately/checkbox/package.json
+++ b/packages/@react-stately/checkbox/package.json
@@ -23,7 +23,7 @@
"@react-types/checkbox": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/collections/package.json b/packages/@react-stately/collections/package.json
index b58628beab8..b75bd0c56df 100644
--- a/packages/@react-stately/collections/package.json
+++ b/packages/@react-stately/collections/package.json
@@ -21,7 +21,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/combobox/package.json b/packages/@react-stately/combobox/package.json
index b87c94fa29b..1a71ccf4631 100644
--- a/packages/@react-stately/combobox/package.json
+++ b/packages/@react-stately/combobox/package.json
@@ -29,7 +29,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/data/package.json b/packages/@react-stately/data/package.json
index f1802608f81..4915cfc865b 100644
--- a/packages/@react-stately/data/package.json
+++ b/packages/@react-stately/data/package.json
@@ -21,7 +21,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/datepicker/package.json b/packages/@react-stately/datepicker/package.json
index 19aac0683c9..5589f91b8c3 100644
--- a/packages/@react-stately/datepicker/package.json
+++ b/packages/@react-stately/datepicker/package.json
@@ -26,7 +26,7 @@
"date-fns": "^1.30.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/layout/package.json b/packages/@react-stately/layout/package.json
index 0f2a6f40442..87e9e4affbb 100644
--- a/packages/@react-stately/layout/package.json
+++ b/packages/@react-stately/layout/package.json
@@ -24,7 +24,7 @@
"@react-types/table": "3.0.0-rc.4"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/list/package.json b/packages/@react-stately/list/package.json
index 43aeae04ffd..9558c209cf1 100644
--- a/packages/@react-stately/list/package.json
+++ b/packages/@react-stately/list/package.json
@@ -24,7 +24,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/menu/package.json b/packages/@react-stately/menu/package.json
index 430503ea3c7..5de27a72699 100644
--- a/packages/@react-stately/menu/package.json
+++ b/packages/@react-stately/menu/package.json
@@ -24,7 +24,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/numberfield/package.json b/packages/@react-stately/numberfield/package.json
index b7af2f51615..db6e196b692 100644
--- a/packages/@react-stately/numberfield/package.json
+++ b/packages/@react-stately/numberfield/package.json
@@ -26,7 +26,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/overlays/package.json b/packages/@react-stately/overlays/package.json
index 509a59d7e80..c37699d8299 100644
--- a/packages/@react-stately/overlays/package.json
+++ b/packages/@react-stately/overlays/package.json
@@ -22,7 +22,7 @@
"@react-types/overlays": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/pagination/package.json b/packages/@react-stately/pagination/package.json
index 3afbefffa19..4aa42187d98 100644
--- a/packages/@react-stately/pagination/package.json
+++ b/packages/@react-stately/pagination/package.json
@@ -23,7 +23,7 @@
"@react-types/pagination": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/radio/package.json b/packages/@react-stately/radio/package.json
index 1aa5dbcf959..1bf923337fd 100644
--- a/packages/@react-stately/radio/package.json
+++ b/packages/@react-stately/radio/package.json
@@ -22,10 +22,7 @@
"@react-types/radio": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
- },
- "devDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/searchfield/package.json b/packages/@react-stately/searchfield/package.json
index d049f7c65eb..dfbc392053c 100644
--- a/packages/@react-stately/searchfield/package.json
+++ b/packages/@react-stately/searchfield/package.json
@@ -23,10 +23,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
- },
- "devDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/select/package.json b/packages/@react-stately/select/package.json
index 9ceac64650b..830b68457fc 100644
--- a/packages/@react-stately/select/package.json
+++ b/packages/@react-stately/select/package.json
@@ -27,7 +27,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/selection/package.json b/packages/@react-stately/selection/package.json
index 8b2fcaabbbd..40428bb10d5 100644
--- a/packages/@react-stately/selection/package.json
+++ b/packages/@react-stately/selection/package.json
@@ -23,7 +23,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/slider/package.json b/packages/@react-stately/slider/package.json
index 6e589c59dc9..19f11ef417b 100644
--- a/packages/@react-stately/slider/package.json
+++ b/packages/@react-stately/slider/package.json
@@ -24,10 +24,7 @@
"@react-types/slider": "3.0.0-alpha.0"
},
"peerDependencies": {
- "react": "^16.8.0"
- },
- "devDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/splitview/package.json b/packages/@react-stately/splitview/package.json
index cd2122929a1..5383be9f430 100644
--- a/packages/@react-stately/splitview/package.json
+++ b/packages/@react-stately/splitview/package.json
@@ -23,7 +23,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"devDependencies": {
"@react-types/shared": "^3.0.0-alpha.1"
diff --git a/packages/@react-stately/table/package.json b/packages/@react-stately/table/package.json
index 99d1b8515cf..2eac8d28522 100644
--- a/packages/@react-stately/table/package.json
+++ b/packages/@react-stately/table/package.json
@@ -25,7 +25,7 @@
"@react-types/table": "3.0.0-rc.4"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/toast/package.json b/packages/@react-stately/toast/package.json
index 0297ae2f768..793382cc549 100644
--- a/packages/@react-stately/toast/package.json
+++ b/packages/@react-stately/toast/package.json
@@ -22,7 +22,7 @@
"@react-types/toast": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/toggle/package.json b/packages/@react-stately/toggle/package.json
index 03a9a04abd3..5b4d3c734fe 100644
--- a/packages/@react-stately/toggle/package.json
+++ b/packages/@react-stately/toggle/package.json
@@ -23,7 +23,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/tooltip/package.json b/packages/@react-stately/tooltip/package.json
index cdd68d668b5..e2e309317bf 100644
--- a/packages/@react-stately/tooltip/package.json
+++ b/packages/@react-stately/tooltip/package.json
@@ -23,7 +23,7 @@
"@react-types/tooltip": "3.0.0-alpha.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/tree/package.json b/packages/@react-stately/tree/package.json
index 6a818f127b7..475a971b566 100644
--- a/packages/@react-stately/tree/package.json
+++ b/packages/@react-stately/tree/package.json
@@ -24,7 +24,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-stately/utils/package.json b/packages/@react-stately/utils/package.json
index 3576d69a338..d11a3607be8 100644
--- a/packages/@react-stately/utils/package.json
+++ b/packages/@react-stately/utils/package.json
@@ -17,10 +17,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"peerDependencies": {
- "react": "^16.8.0"
- },
- "devDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"dependencies": {
"@babel/runtime": "^7.6.2"
diff --git a/packages/@react-stately/virtualizer/package.json b/packages/@react-stately/virtualizer/package.json
index 5b462feac0d..0f291cbf146 100644
--- a/packages/@react-stately/virtualizer/package.json
+++ b/packages/@react-stately/virtualizer/package.json
@@ -22,7 +22,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/actiongroup/package.json b/packages/@react-types/actiongroup/package.json
index 1a75767dd16..91bcba2428a 100644
--- a/packages/@react-types/actiongroup/package.json
+++ b/packages/@react-types/actiongroup/package.json
@@ -13,7 +13,7 @@
"@react-types/button": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/alert/package.json b/packages/@react-types/alert/package.json
index 17ed3f5505c..b4149b298f3 100644
--- a/packages/@react-types/alert/package.json
+++ b/packages/@react-types/alert/package.json
@@ -13,7 +13,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/breadcrumbs/package.json b/packages/@react-types/breadcrumbs/package.json
index ea91b27ab7c..2b4496ac0b7 100644
--- a/packages/@react-types/breadcrumbs/package.json
+++ b/packages/@react-types/breadcrumbs/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/button/package.json b/packages/@react-types/button/package.json
index e8095fa27b4..3805408535c 100644
--- a/packages/@react-types/button/package.json
+++ b/packages/@react-types/button/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/buttongroup/package.json b/packages/@react-types/buttongroup/package.json
index a6b1b5156ea..75593f39c11 100644
--- a/packages/@react-types/buttongroup/package.json
+++ b/packages/@react-types/buttongroup/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/checkbox/package.json b/packages/@react-types/checkbox/package.json
index 813b14ccbdd..e847ea4aff4 100644
--- a/packages/@react-types/checkbox/package.json
+++ b/packages/@react-types/checkbox/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/combobox/package.json b/packages/@react-types/combobox/package.json
index e928b7d0780..d301d617863 100644
--- a/packages/@react-types/combobox/package.json
+++ b/packages/@react-types/combobox/package.json
@@ -13,7 +13,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/dialog/package.json b/packages/@react-types/dialog/package.json
index 7ad466f841b..98853fc2669 100644
--- a/packages/@react-types/dialog/package.json
+++ b/packages/@react-types/dialog/package.json
@@ -13,7 +13,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.12.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/divider/package.json b/packages/@react-types/divider/package.json
index b29a0d01077..3a4af72a77d 100644
--- a/packages/@react-types/divider/package.json
+++ b/packages/@react-types/divider/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.12.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/form/package.json b/packages/@react-types/form/package.json
index 6d34b0c53f7..5e96659a6a1 100644
--- a/packages/@react-types/form/package.json
+++ b/packages/@react-types/form/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/illustratedmessage/package.json b/packages/@react-types/illustratedmessage/package.json
index 5e8677f7339..badce36af7a 100644
--- a/packages/@react-types/illustratedmessage/package.json
+++ b/packages/@react-types/illustratedmessage/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/image/package.json b/packages/@react-types/image/package.json
index 720a59b33b9..79e973dc0e4 100644
--- a/packages/@react-types/image/package.json
+++ b/packages/@react-types/image/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/label/package.json b/packages/@react-types/label/package.json
index 810af8029dd..b22553ae9fc 100644
--- a/packages/@react-types/label/package.json
+++ b/packages/@react-types/label/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/layout/package.json b/packages/@react-types/layout/package.json
index ac43ff3aa95..c73ccb90093 100644
--- a/packages/@react-types/layout/package.json
+++ b/packages/@react-types/layout/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/link/package.json b/packages/@react-types/link/package.json
index 8b7b54e3588..251ee7f0c22 100644
--- a/packages/@react-types/link/package.json
+++ b/packages/@react-types/link/package.json
@@ -13,7 +13,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/listbox/package.json b/packages/@react-types/listbox/package.json
index 01fad77423c..bc24896a8a6 100644
--- a/packages/@react-types/listbox/package.json
+++ b/packages/@react-types/listbox/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/menu/package.json b/packages/@react-types/menu/package.json
index f591fb6022b..87c3b7abf3e 100644
--- a/packages/@react-types/menu/package.json
+++ b/packages/@react-types/menu/package.json
@@ -13,7 +13,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/meter/package.json b/packages/@react-types/meter/package.json
index 7c5b2c9e8c2..cdc1cf18e43 100644
--- a/packages/@react-types/meter/package.json
+++ b/packages/@react-types/meter/package.json
@@ -13,7 +13,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/numberfield/package.json b/packages/@react-types/numberfield/package.json
index ec6e0955cfa..af0dd1d4478 100644
--- a/packages/@react-types/numberfield/package.json
+++ b/packages/@react-types/numberfield/package.json
@@ -13,7 +13,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/overlays/package.json b/packages/@react-types/overlays/package.json
index d91c585f573..4845e01cd47 100644
--- a/packages/@react-types/overlays/package.json
+++ b/packages/@react-types/overlays/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/progress/package.json b/packages/@react-types/progress/package.json
index c232a9932df..d923cd04497 100644
--- a/packages/@react-types/progress/package.json
+++ b/packages/@react-types/progress/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/provider/package.json b/packages/@react-types/provider/package.json
index 18d24e80083..8d38eb3e248 100644
--- a/packages/@react-types/provider/package.json
+++ b/packages/@react-types/provider/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/radio/package.json b/packages/@react-types/radio/package.json
index 60ff3a1b0dd..57c33e7eabe 100644
--- a/packages/@react-types/radio/package.json
+++ b/packages/@react-types/radio/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/searchfield/package.json b/packages/@react-types/searchfield/package.json
index 40a57b69cff..d8fa40d5ac2 100644
--- a/packages/@react-types/searchfield/package.json
+++ b/packages/@react-types/searchfield/package.json
@@ -12,7 +12,7 @@
"@react-types/textfield": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/select/package.json b/packages/@react-types/select/package.json
index d7288d9262e..e93ef439cdf 100644
--- a/packages/@react-types/select/package.json
+++ b/packages/@react-types/select/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/shared/package.json b/packages/@react-types/shared/package.json
index 9494a57d9c8..0f869c3adc5 100644
--- a/packages/@react-types/shared/package.json
+++ b/packages/@react-types/shared/package.json
@@ -9,7 +9,7 @@
"url": "https://github.com/adobe/react-spectrum"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/sidenav/package.json b/packages/@react-types/sidenav/package.json
index 56a7f174a02..aea5242dafe 100644
--- a/packages/@react-types/sidenav/package.json
+++ b/packages/@react-types/sidenav/package.json
@@ -14,7 +14,7 @@
"@react-stately/virtualizer": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/slider/package.json b/packages/@react-types/slider/package.json
index d84c2fb3ae6..284192d76ce 100644
--- a/packages/@react-types/slider/package.json
+++ b/packages/@react-types/slider/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/statuslight/package.json b/packages/@react-types/statuslight/package.json
index 55f2f1222e5..299f4f0cd93 100644
--- a/packages/@react-types/statuslight/package.json
+++ b/packages/@react-types/statuslight/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/switch/package.json b/packages/@react-types/switch/package.json
index ff89d9136bb..57a98898b41 100644
--- a/packages/@react-types/switch/package.json
+++ b/packages/@react-types/switch/package.json
@@ -13,7 +13,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/table/package.json b/packages/@react-types/table/package.json
index de65f596bd8..23800877e43 100644
--- a/packages/@react-types/table/package.json
+++ b/packages/@react-types/table/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/tabs/package.json b/packages/@react-types/tabs/package.json
index b1421cfcea1..29108ec94a8 100644
--- a/packages/@react-types/tabs/package.json
+++ b/packages/@react-types/tabs/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/tag/package.json b/packages/@react-types/tag/package.json
index ca36b54e640..396b3d1ed5b 100644
--- a/packages/@react-types/tag/package.json
+++ b/packages/@react-types/tag/package.json
@@ -13,7 +13,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/text/package.json b/packages/@react-types/text/package.json
index 01ab125302a..1f2421f7e03 100644
--- a/packages/@react-types/text/package.json
+++ b/packages/@react-types/text/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/textfield/package.json b/packages/@react-types/textfield/package.json
index 88dfe2b72cb..74c03384f47 100644
--- a/packages/@react-types/textfield/package.json
+++ b/packages/@react-types/textfield/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/toast/package.json b/packages/@react-types/toast/package.json
index 09e4eed6713..cc343528c57 100644
--- a/packages/@react-types/toast/package.json
+++ b/packages/@react-types/toast/package.json
@@ -13,7 +13,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/tooltip/package.json b/packages/@react-types/tooltip/package.json
index e73a9571b3c..1e34f8a91b5 100644
--- a/packages/@react-types/tooltip/package.json
+++ b/packages/@react-types/tooltip/package.json
@@ -13,7 +13,7 @@
"@react-types/shared": "^3.2.0"
},
"peerDependencies": {
- "react": "^16.12.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/view/package.json b/packages/@react-types/view/package.json
index c9523d632b9..6bd43505b83 100644
--- a/packages/@react-types/view/package.json
+++ b/packages/@react-types/view/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@react-types/well/package.json b/packages/@react-types/well/package.json
index 3c85ef72aec..0cc887b0015 100644
--- a/packages/@react-types/well/package.json
+++ b/packages/@react-types/well/package.json
@@ -12,7 +12,7 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@spectrum-icons/color/package.json b/packages/@spectrum-icons/color/package.json
index 5b3047dadd6..127a51e1451 100644
--- a/packages/@spectrum-icons/color/package.json
+++ b/packages/@spectrum-icons/color/package.json
@@ -16,8 +16,10 @@
"@react-spectrum/icon": "^3.1.0"
},
"devDependencies": {
- "@spectrum-icons/build-tools": "^3.0.0-alpha.1",
- "react": "^16.8.0"
+ "@spectrum-icons/build-tools": "^3.0.0-alpha.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@spectrum-icons/illustrations/package.json b/packages/@spectrum-icons/illustrations/package.json
index 1662178d4f5..ad761a17d80 100644
--- a/packages/@spectrum-icons/illustrations/package.json
+++ b/packages/@spectrum-icons/illustrations/package.json
@@ -14,8 +14,10 @@
"@adobe/react-spectrum-ui": "^1.0.0"
},
"devDependencies": {
- "@spectrum-icons/build-tools": "^3.0.0-alpha.1",
- "react": "^16.8.0"
+ "@spectrum-icons/build-tools": "^3.0.0-alpha.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@spectrum-icons/ui/package.json b/packages/@spectrum-icons/ui/package.json
index 4c5d757403d..cac6ce113f9 100644
--- a/packages/@spectrum-icons/ui/package.json
+++ b/packages/@spectrum-icons/ui/package.json
@@ -16,8 +16,10 @@
"@react-spectrum/icon": "^3.1.0"
},
"devDependencies": {
- "@spectrum-icons/build-tools": "^3.0.0-alpha.1",
- "react": "^16.8.0"
+ "@spectrum-icons/build-tools": "^3.0.0-alpha.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/@spectrum-icons/workflow/package.json b/packages/@spectrum-icons/workflow/package.json
index 474788170ba..1164f9bfc78 100644
--- a/packages/@spectrum-icons/workflow/package.json
+++ b/packages/@spectrum-icons/workflow/package.json
@@ -16,8 +16,10 @@
"@react-spectrum/icon": "^3.1.0"
},
"devDependencies": {
- "@spectrum-icons/build-tools": "^3.0.0-alpha.1",
- "react": "^16.8.0"
+ "@spectrum-icons/build-tools": "^3.0.0-alpha.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/packages/dev/docs/package.json b/packages/dev/docs/package.json
index f17f93c8e6d..5a1ca884a7f 100644
--- a/packages/dev/docs/package.json
+++ b/packages/dev/docs/package.json
@@ -28,8 +28,8 @@
"highlight.js": "9.18.1",
"markdown-to-jsx": "^6.11.0",
"quicklink": "^2.0.0",
- "react": "^16.8.0",
- "react-dom": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1",
"react-lowlight": "^2.0.0"
}
}
diff --git a/packages/dev/parcel-optimizer-ssg/package.json b/packages/dev/parcel-optimizer-ssg/package.json
index 0a43e68e85d..ebe7a1aacf3 100644
--- a/packages/dev/parcel-optimizer-ssg/package.json
+++ b/packages/dev/parcel-optimizer-ssg/package.json
@@ -9,8 +9,8 @@
"dependencies": {
"@parcel/plugin": "nightly",
"@parcel/utils": "nightly",
- "react": "^16.8.0",
- "react-dom": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1",
"require-from-string": "^2.0.2"
}
}
diff --git a/patches/@jest+types++chalk+3.0.0.patch b/patches/@jest+types++chalk+3.0.0.patch
deleted file mode 100644
index 05963bb0e8b..00000000000
--- a/patches/@jest+types++chalk+3.0.0.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/node_modules/@jest/types/node_modules/chalk/index.d.ts b/node_modules/@jest/types/node_modules/chalk/index.d.ts
-index 7e22c45..21b7ec4 100644
---- a/node_modules/@jest/types/node_modules/chalk/index.d.ts
-+++ b/node_modules/@jest/types/node_modules/chalk/index.d.ts
-@@ -400,6 +400,7 @@ This simply means that `chalk.red.yellow.green` is equivalent to `chalk.green`.
- */
- declare const chalk: chalk.Chalk & chalk.ChalkFunction & {
- supportsColor: chalk.ColorSupport | false;
-+ // @ts-ignore
- Level: typeof LevelEnum;
- Color: Color;
- ForegroundColor: ForegroundColor;
diff --git a/plop-templates/@react-aria/package.json.hbs b/plop-templates/@react-aria/package.json.hbs
index ce5e8668185..c699c39a438 100644
--- a/plop-templates/@react-aria/package.json.hbs
+++ b/plop-templates/@react-aria/package.json.hbs
@@ -21,7 +21,7 @@
"@babel/runtime": "^7.6.2"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/plop-templates/@react-spectrum/package.json.hbs b/plop-templates/@react-spectrum/package.json.hbs
index 42c57366f5c..1eeda180933 100644
--- a/plop-templates/@react-spectrum/package.json.hbs
+++ b/plop-templates/@react-spectrum/package.json.hbs
@@ -35,7 +35,7 @@
"@adobe/spectrum-css-temp": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0",
+ "react": "^16.8.0 || ^17.0.0-rc.1",
"@react-spectrum/provider": "^3.0.0-rc.1"
},
"publishConfig": {
diff --git a/plop-templates/@react-stately/package.json.hbs b/plop-templates/@react-stately/package.json.hbs
index dcf5999b976..37f44396029 100644
--- a/plop-templates/@react-stately/package.json.hbs
+++ b/plop-templates/@react-stately/package.json.hbs
@@ -19,7 +19,7 @@
"@react-stately/utils": "^3.0.0-alpha.1"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
},
"publishConfig": {
"access": "public"
diff --git a/plop-templates/@react-types/package.json.hbs b/plop-templates/@react-types/package.json.hbs
index c34a6cab38e..10d71ad96e3 100644
--- a/plop-templates/@react-types/package.json.hbs
+++ b/plop-templates/@react-types/package.json.hbs
@@ -13,6 +13,6 @@
"@react-types/shared": "^3.1.0"
},
"peerDependencies": {
- "react": "^16.8.0"
+ "react": "^16.8.0 || ^17.0.0-rc.1"
}
}
diff --git a/scripts/jest.js b/scripts/jest.js
index 31cfd2e0602..2bcc0571fa3 100644
--- a/scripts/jest.js
+++ b/scripts/jest.js
@@ -21,8 +21,6 @@ try {
console.log('Skipping v2 parity tests since it is not installed...');
args.push('-t', '^((?!v2).)*$');
}
-// leaving this in to make it easy for people to target a certain suite
-// args.push('packages/@react-spectrum/textfield/test/TextField.test.js');
process.env.NODE_ICU_DATA = 'node_modules/full-icu';
let jest = spawn('jest', args, {
diff --git a/scripts/setupTests.js b/scripts/setupTests.js
index 1e4e767a91d..77d85fbc304 100644
--- a/scripts/setupTests.js
+++ b/scripts/setupTests.js
@@ -13,6 +13,25 @@
// setup file
import '@testing-library/jest-dom';
+// this prints a nice stack like this
+/**
+ * TypeError: Converting circular structure to JSON
+ * --> starting at object with constructor 'HTMLButtonElement'
+ * | property '__reactFiber$kmjivnwji9j' -> object with constructor 'FiberNode'
+ * --- property 'stateNode' closes the circle
+ * at stringify ()
+ * at writeChannelMessage (internal/child_process/serialization.js:118:20)
+ * at process.target._send (internal/child_process.js:784:17)
+ * at process.target.send (internal/child_process.js:682:19)
+ * at reportSuccess (/Users/rsnow/GitProjects/react-spectrum/node_modules/jest-cli/node_modules/jest-worker/build/workers/processChild.js:67:11)
+ */
+if (!process.env.LISTENING_TO_UNHANDLED_REJECTION) {
+ process.on('unhandledRejection', reason => {
+ throw reason
+ })
+ // Avoid memory leak by adding too many listeners
+ process.env.LISTENING_TO_UNHANDLED_REJECTION = true
+}
const ERROR_PATTERNS_WE_SHOULD_FIX_BUT_ALLOW = [];
const WARNING_PATTERNS_WE_SHOULD_FIX_BUT_ALLOW = [
diff --git a/yarn.lock b/yarn.lock
index f324ed6ef24..a97da377e0e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4819,7 +4819,7 @@ JSONStream@^1.0.4, JSONStream@^1.3.4:
jsonparse "^1.2.0"
through ">=2.2.7 <3"
-abab@^2.0.0, abab@^2.0.3:
+abab@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a"
integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==
@@ -4849,14 +4849,6 @@ acorn-globals@^3.0.0:
dependencies:
acorn "^4.0.4"
-acorn-globals@^4.1.0, acorn-globals@^4.3.0, acorn-globals@^4.3.2:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7"
- integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==
- dependencies:
- acorn "^6.0.1"
- acorn-walk "^6.0.1"
-
acorn-globals@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45"
@@ -4870,11 +4862,6 @@ acorn-jsx@^5.0.0:
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384"
integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==
-acorn-walk@^6.0.1:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c"
- integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==
-
acorn-walk@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e"
@@ -4890,16 +4877,6 @@ acorn@^4.0.4, acorn@~4.0.2:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=
-acorn@^5.5.3:
- version "5.7.3"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
- integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
-
-acorn@^6.0.1, acorn@^6.0.4:
- version "6.4.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
- integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
-
acorn@^6.0.7:
version "6.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e"
@@ -4910,7 +4887,7 @@ acorn@^6.2.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784"
integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==
-acorn@^7.1.0, acorn@^7.1.1:
+acorn@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf"
integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==
@@ -5331,11 +5308,6 @@ array-each@^1.0.0, array-each@^1.0.1:
resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f"
integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8=
-array-equal@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
- integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=
-
array-filter@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83"
@@ -8351,24 +8323,17 @@ csso@^4.0.2:
dependencies:
css-tree "1.0.0-alpha.39"
-cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4, cssom@~0.3.6:
- version "0.3.8"
- resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
- integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
-
-cssom@^0.4.1, cssom@^0.4.4:
+cssom@^0.4.4:
version "0.4.4"
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10"
integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==
-cssstyle@^1.0.0, cssstyle@^1.1.1:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1"
- integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==
- dependencies:
- cssom "0.3.x"
+cssom@~0.3.6:
+ version "0.3.8"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
+ integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
-cssstyle@^2.0.0, cssstyle@^2.2.0:
+cssstyle@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852"
integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
@@ -8419,15 +8384,6 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
-data-urls@^1.0.0, data-urls@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe"
- integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==
- dependencies:
- abab "^2.0.0"
- whatwg-mimetype "^2.2.0"
- whatwg-url "^7.0.0"
-
data-urls@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
@@ -8912,13 +8868,6 @@ domelementtype@^2.0.1:
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d"
integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==
-domexception@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
- integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==
- dependencies:
- webidl-conversions "^4.0.2"
-
domexception@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304"
@@ -9519,19 +9468,7 @@ escape-string-regexp@^2.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
-escodegen@^1.11.0:
- version "1.14.3"
- resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
- integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==
- dependencies:
- esprima "^4.0.1"
- estraverse "^4.2.0"
- esutils "^2.0.2"
- optionator "^0.8.1"
- optionalDependencies:
- source-map "~0.6.1"
-
-escodegen@^1.11.1, escodegen@^1.14.1:
+escodegen@^1.14.1:
version "1.14.1"
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457"
integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==
@@ -9543,18 +9480,6 @@ escodegen@^1.11.1, escodegen@^1.14.1:
optionalDependencies:
source-map "~0.6.1"
-escodegen@^1.9.1:
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541"
- integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==
- dependencies:
- esprima "^3.1.3"
- estraverse "^4.2.0"
- esutils "^2.0.2"
- optionator "^0.8.1"
- optionalDependencies:
- source-map "~0.6.1"
-
eslint-import-resolver-node@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
@@ -9752,11 +9677,6 @@ espree@^5.0.1:
acorn-jsx "^5.0.0"
eslint-visitor-keys "^1.0.0"
-esprima@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
- integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=
-
esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
@@ -11762,13 +11682,6 @@ html-comment-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
-html-encoding-sniffer@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
- integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==
- dependencies:
- whatwg-encoding "^1.0.1"
-
html-encoding-sniffer@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3"
@@ -13314,19 +13227,7 @@ jest-each@^26.4.2:
jest-util "^26.3.0"
pretty-format "^26.4.2"
-jest-environment-jsdom@^25.5.0:
- version "25.5.0"
- resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834"
- integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==
- dependencies:
- "@jest/environment" "^25.5.0"
- "@jest/fake-timers" "^25.5.0"
- "@jest/types" "^25.5.0"
- jest-mock "^25.5.0"
- jest-util "^25.5.0"
- jsdom "^15.2.1"
-
-jest-environment-jsdom@^26.3.0:
+jest-environment-jsdom@26.3.0, jest-environment-jsdom@^25.5.0, jest-environment-jsdom@^26.3.0:
version "26.3.0"
resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.3.0.tgz#3b749ba0f3a78e92ba2c9ce519e16e5dd515220c"
integrity sha512-zra8He2btIMJkAzvLaiZ9QwEPGEetbxqmjEBQwhH3CA+Hhhu0jSiEJxnJMbX28TGUvPLxBt/zyaTLrOPF4yMJA==
@@ -13950,106 +13851,10 @@ jsdoctypeparser@^6.1.0:
resolved "https://registry.yarnpkg.com/jsdoctypeparser/-/jsdoctypeparser-6.1.0.tgz#acfb936c26300d98f1405cb03e20b06748e512a8"
integrity sha512-UCQBZ3xCUBv/PLfwKAJhp6jmGOSLFNKzrotXGNgbKhWvz27wPsCsVeP7gIcHPElQw2agBmynAitXqhxR58XAmA==
-jsdom@^11.5.1:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8"
- integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==
- dependencies:
- abab "^2.0.0"
- acorn "^5.5.3"
- acorn-globals "^4.1.0"
- array-equal "^1.0.0"
- cssom ">= 0.3.2 < 0.4.0"
- cssstyle "^1.0.0"
- data-urls "^1.0.0"
- domexception "^1.0.1"
- escodegen "^1.9.1"
- html-encoding-sniffer "^1.0.2"
- left-pad "^1.3.0"
- nwsapi "^2.0.7"
- parse5 "4.0.0"
- pn "^1.1.0"
- request "^2.87.0"
- request-promise-native "^1.0.5"
- sax "^1.2.4"
- symbol-tree "^3.2.2"
- tough-cookie "^2.3.4"
- w3c-hr-time "^1.0.1"
- webidl-conversions "^4.0.2"
- whatwg-encoding "^1.0.3"
- whatwg-mimetype "^2.1.0"
- whatwg-url "^6.4.1"
- ws "^5.2.0"
- xml-name-validator "^3.0.0"
-
-jsdom@^14.1.0:
- version "14.1.0"
- resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b"
- integrity sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==
- dependencies:
- abab "^2.0.0"
- acorn "^6.0.4"
- acorn-globals "^4.3.0"
- array-equal "^1.0.0"
- cssom "^0.3.4"
- cssstyle "^1.1.1"
- data-urls "^1.1.0"
- domexception "^1.0.1"
- escodegen "^1.11.0"
- html-encoding-sniffer "^1.0.2"
- nwsapi "^2.1.3"
- parse5 "5.1.0"
- pn "^1.1.0"
- request "^2.88.0"
- request-promise-native "^1.0.5"
- saxes "^3.1.9"
- symbol-tree "^3.2.2"
- tough-cookie "^2.5.0"
- w3c-hr-time "^1.0.1"
- w3c-xmlserializer "^1.1.2"
- webidl-conversions "^4.0.2"
- whatwg-encoding "^1.0.5"
- whatwg-mimetype "^2.3.0"
- whatwg-url "^7.0.0"
- ws "^6.1.2"
- xml-name-validator "^3.0.0"
-
-jsdom@^15.2.1:
- version "15.2.1"
- resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5"
- integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==
- dependencies:
- abab "^2.0.0"
- acorn "^7.1.0"
- acorn-globals "^4.3.2"
- array-equal "^1.0.0"
- cssom "^0.4.1"
- cssstyle "^2.0.0"
- data-urls "^1.1.0"
- domexception "^1.0.1"
- escodegen "^1.11.1"
- html-encoding-sniffer "^1.0.2"
- nwsapi "^2.2.0"
- parse5 "5.1.0"
- pn "^1.1.0"
- request "^2.88.0"
- request-promise-native "^1.0.7"
- saxes "^3.1.9"
- symbol-tree "^3.2.2"
- tough-cookie "^3.0.1"
- w3c-hr-time "^1.0.1"
- w3c-xmlserializer "^1.1.2"
- webidl-conversions "^4.0.2"
- whatwg-encoding "^1.0.5"
- whatwg-mimetype "^2.3.0"
- whatwg-url "^7.0.0"
- ws "^7.0.0"
- xml-name-validator "^3.0.0"
-
-jsdom@^16.2.2:
- version "16.2.2"
- resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.2.2.tgz#76f2f7541646beb46a938f5dc476b88705bedf2b"
- integrity sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg==
+jsdom@16.3.0, jsdom@^11.5.1, jsdom@^14.1.0, jsdom@^16.2.2, jsdom@^16.3.0:
+ version "16.3.0"
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.3.0.tgz#75690b7dac36c67be49c336dcd7219bbbed0810c"
+ integrity sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg==
dependencies:
abab "^2.0.3"
acorn "^7.1.1"
@@ -14071,7 +13876,7 @@ jsdom@^16.2.2:
tough-cookie "^3.0.1"
w3c-hr-time "^1.0.2"
w3c-xmlserializer "^2.0.0"
- webidl-conversions "^6.0.0"
+ webidl-conversions "^6.1.0"
whatwg-encoding "^1.0.5"
whatwg-mimetype "^2.3.0"
whatwg-url "^8.0.0"
@@ -14358,11 +14163,6 @@ lead@^1.0.0:
dependencies:
flush-write-stream "^1.0.2"
-left-pad@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
- integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==
-
lerna@^3.13.2:
version "3.18.1"
resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.18.1.tgz#ddc3b68fbba09cb71e3d893500ade787e794b828"
@@ -16338,12 +16138,7 @@ number-is-nan@^1.0.0:
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-nwsapi@^2.0.7:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f"
- integrity sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==
-
-nwsapi@^2.1.3, nwsapi@^2.2.0:
+nwsapi@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
@@ -17054,16 +16849,6 @@ parse-url@^5.0.0:
parse-path "^4.0.0"
protocols "^1.4.0"
-parse5@4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
- integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==
-
-parse5@5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2"
- integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==
-
parse5@5.1.1, parse5@^5.0.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
@@ -17402,11 +17187,6 @@ pluralize@^8.0.0:
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1"
integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==
-pn@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
- integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
-
pnp-webpack-plugin@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb"
@@ -18782,15 +18562,15 @@ react-docgen@^5.0.0:
node-dir "^0.1.10"
strip-indent "^3.0.0"
-"react-dom@^0.14 || ^15 || ^16", react-dom@^16.8.0:
- version "16.10.2"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.10.2.tgz#4840bce5409176bc3a1f2bd8cb10b92db452fda6"
- integrity sha512-kWGDcH3ItJK4+6Pl9DZB16BXYAZyrYQItU4OMy0jAkv5aNqc+mAKb4TpFtAteI6TJZu+9ZlNhaeNQSVQDHJzkw==
+"react-dom@^16.8.0 || ^17.0.0-rc.1":
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f"
+ integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
prop-types "^15.6.2"
- scheduler "^0.16.2"
+ scheduler "^0.19.1"
react-dom@^16.8.3:
version "16.13.0"
@@ -19007,16 +18787,7 @@ react-transition-group@^2.2.0, react-transition-group@^2.2.1:
prop-types "^15.6.2"
react-lifecycles-compat "^3.0.4"
-"react@^0.14 || ^15 || ^16", react@^16.8.0:
- version "16.10.2"
- resolved "https://registry.yarnpkg.com/react/-/react-16.10.2.tgz#a5ede5cdd5c536f745173c8da47bda64797a4cf0"
- integrity sha512-MFVIq0DpIhrHFyqLU0S3+4dIcBhhOvBE8bJ/5kHPVOVaGdo0KuiQzpcjCPsf585WvhypqtrMILyoE2th6dT+Lw==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
- prop-types "^15.6.2"
-
-react@^16.7.0:
+react@^16.7.0, "react@^16.8.0 || ^17.0.0-rc.1":
version "16.13.1"
resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e"
integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==
@@ -19603,7 +19374,7 @@ request-promise-core@1.1.3:
dependencies:
lodash "^4.17.15"
-request-promise-native@^1.0.5, request-promise-native@^1.0.7, request-promise-native@^1.0.8:
+request-promise-native@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36"
integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==
@@ -20005,18 +19776,11 @@ sax@0.4.2:
resolved "https://registry.yarnpkg.com/sax/-/sax-0.4.2.tgz#39f3b601733d6bec97105b242a2a40fd6978ac3c"
integrity sha1-OfO2AXM9a+yXEFskKipA/Wl4rDw=
-sax@>=0.6.0, sax@^1.2.1, sax@^1.2.4, sax@~1.2.4:
+sax@>=0.6.0, sax@^1.2.1, sax@~1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
-saxes@^3.1.9:
- version "3.1.11"
- resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b"
- integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==
- dependencies:
- xmlchars "^2.1.1"
-
saxes@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d"
@@ -20040,6 +19804,14 @@ scheduler@^0.19.0:
loose-envify "^1.1.0"
object-assign "^4.1.1"
+scheduler@^0.19.1:
+ version "0.19.1"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"
+ integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
schema-utils@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
@@ -21508,7 +21280,7 @@ symbol-observable@^1.1.0, symbol-observable@^1.2.0:
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
-symbol-tree@^3.2.2, symbol-tree@^3.2.4:
+symbol-tree@^3.2.4:
version "3.2.4"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
@@ -21991,7 +21763,7 @@ token-stream@0.0.1:
resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-0.0.1.tgz#ceeefc717a76c4316f126d0b9dbaa55d7e7df01a"
integrity sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=
-tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0:
+tough-cookie@^2.3.3, tough-cookie@~2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
@@ -23004,22 +22776,13 @@ void-elements@^2.0.1:
resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=
-w3c-hr-time@^1.0.1, w3c-hr-time@^1.0.2:
+w3c-hr-time@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==
dependencies:
browser-process-hrtime "^1.0.0"
-w3c-xmlserializer@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794"
- integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==
- dependencies:
- domexception "^1.0.1"
- webidl-conversions "^4.0.2"
- xml-name-validator "^3.0.0"
-
w3c-xmlserializer@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a"
@@ -23079,7 +22842,7 @@ webidl-conversions@^5.0.0:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
-webidl-conversions@^6.0.0:
+webidl-conversions@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
@@ -23200,27 +22963,18 @@ websocket-extensions@>=0.1.1:
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29"
integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==
-whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5:
+whatwg-encoding@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==
dependencies:
iconv-lite "0.4.24"
-whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0:
+whatwg-mimetype@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
-whatwg-url@^6.4.1:
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8"
- integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==
- dependencies:
- lodash.sortby "^4.7.0"
- tr46 "^1.0.1"
- webidl-conversions "^4.0.2"
-
whatwg-url@^7.0.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06"
@@ -23476,21 +23230,14 @@ write@1.0.3:
dependencies:
mkdirp "^0.5.1"
-ws@^5.2.0:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
- integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==
- dependencies:
- async-limiter "~1.0.0"
-
-ws@^6.1.2, ws@^6.2.0:
+ws@^6.2.0:
version "6.2.1"
resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==
dependencies:
async-limiter "~1.0.0"
-ws@^7.0.0, ws@^7.2.3:
+ws@^7.2.3:
version "7.2.5"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.5.tgz#abb1370d4626a5a9cd79d8de404aa18b3465d10d"
integrity sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA==
@@ -23567,7 +23314,7 @@ xmlbuilder@~11.0.0:
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
-xmlchars@^2.1.1, xmlchars@^2.2.0:
+xmlchars@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==