-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[core] feat: Overlay2 component #6656
Conversation
fix compilation, add docs, strict mode compatBuild artifact links for this commit: documentation | landing | table | demoThis is an automated comment from the deploy-preview CircleCI job. |
fix Overlay2 iso testBuild artifact links for this commit: documentation | landing | table | demoThis is an automated comment from the deploy-preview CircleCI job. |
migrate overlay components to use Overlay2Build artifact links for this commit: documentation | landing | table | demoThis is an automated comment from the deploy-preview CircleCI job. |
fix (almost) all testsBuild artifact links for this commit: documentation | landing | table | demoThis is an automated comment from the deploy-preview CircleCI job. |
Merge remote-tracking branch 'origin/develop' into ad/overlay2Build artifact links for this commit: documentation | landing | table | demoThis is an automated comment from the deploy-preview CircleCI job. |
update Overlay2 docsBuild artifact links for this commit: documentation | landing | table | demoThis is an automated comment from the deploy-preview CircleCI job. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
need to deprecate <Toast>
and update OverlayToaster docs to mention <Toast2>
fix docs TODO, improve errorsBuild artifact links for this commit: documentation | landing | table | demoThis is an automated comment from the deploy-preview CircleCI job. |
fix lintBuild artifact links for this commit: documentation | landing | table | demoThis is an automated comment from the deploy-preview CircleCI job. |
const getLastOpened = () => openStack[openStack.length - 1]; | ||
|
||
/** | ||
* HACKHACK: ugly global state manipulation should move to a proper React context |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
consider fixing this in this PR and biting the bullet with the necessary <OverlayProvider>
break
edit: this PR is already quite large, I could add the context/provider in a follow-up before cutting the next release
); | ||
|
||
React.useEffect(() => { | ||
setRef(ref, instance); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
consider useImperativeHandle
to do this instead
Fixes #3979
Checklist
Changes proposed in this pull request:
<CSSTransition nodeRef>
correctly to avoid any code path which usesReactDOM.findDOMNode()
(this was not done properly in [v4] fix: remove usage of findDOMNode #4623)<StrictMode>
enabledoverlayTests.tsx
, with some modifications to adjust for the new constraints onchildren
- see migration guide)ref
to rendered DOM node), deprecate ToastTODO (likely in a future PR):
overlayStack
state into a new context/provider pattern [core] feat: OverlaysProvider #6674useImperativeHandle()
hook to set theOverlayInstance
ref [core] feat(Overlay2): useImperativeHandle #6675Reviewers should focus on:
No regressions in overlay-based components
Screenshot
Overlay2 in docs-app:
OverlayToaster using Overlay2 and Toast2 in docs-app:
Toast2 in demo-app:
Child ref docs: