[EuiContextMenu] Fix post-transition unclickable menu items #3656
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #3547, in which menu items in an EuiContextMenuPanel would become unclickable after animating in. The problem was caused by the applied animation class (e.g.,
.euiContextMenuPanel-txOutRight
) that setspointer-events: none;
not being removed after the animation end.This appeared only in Chromium browsers and was likely spurred on by a recent (unknown) change that resulted in a
setState
race condition.The solution here is to bypass the offending state update by removing it entirely. The
isTransitioning
state flag was nothing more than an analog for the existence of thetransitionType
prop provided by the parent component and updated on the same events. ReplacingisTransitioning
and itssetState
methods with a truthy prop check simplifies logic without changing behavior.Also fixed a bug in the docs that was causing prop type warnings in dev mode.
Checklist
- [ ] Check against all themes for compatibility in both light and dark modes- [ ] Checked in mobile- [ ] Checked in IE11 and Firefox- [ ] Props have proper autodocs- [ ] Added documentation- [ ] Added or updated jest tests- [ ] Checked for accessibility including keyboard-only and screenreader modes