feat(core): Added support for simultaneous pseudo states #10656
Merged
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.
PR Checklist
What is the current behavior?
Right now, there are cases when views lose some of their visual states because only a single visual state is supported at a time.
What is the new behavior?
This PR ensures that a view may own multiple visual/pseudo states at the same time.
Added
_addVisualState
and_removeVisualState
private methods and deprecated_goToVisualState
private method to achieve this.New methods will internally add/remove
defaultVisualState
when needed.On top of that, existing event listeners were improved and added automated tests for new methods as well.
These changes were inspired from #9789 even though they have not included any new public API for modifying view pseudo-states so let's leave the issue open.