-
Notifications
You must be signed in to change notification settings - Fork 4.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
Make ToolbarButton API consistent #22961
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diegohaz
requested review from
ajitbohra,
chrisvanpatten and
youknowriad
as code owners
June 6, 2020 04:23
diegohaz
added
[Package] Components
/packages/components
[Type] Enhancement
A suggestion for improvement.
labels
Jun 6, 2020
Size Change: +1 B Total Size: 1.12 MB
ℹ️ View Unchanged
|
gziolo
approved these changes
Jun 6, 2020
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.
Makes sense 👍
Travis agreed with you also 😃
youknowriad
added
the
[Type] Code Quality
Issues or PRs that relate to code quality
label
Jun 8, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
[Package] Components
/packages/components
[Type] Code Quality
Issues or PRs that relate to code quality
[Type] Enhancement
A suggestion for improvement.
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.
Currently,
ToolbarButton
accepts different props depending on the context in which it's being rendered:If it's a descendant of
<Toolbar>
, it acceptsextraProps
,title
andisActive
props.If it's a descendant of
<Toolbar __experimentalAccessibilityLabel>
, it accepts additionalButton
props likelabel
andisPressed
(which are equivalent totitle
andisActive
). This is soToolbarButton
has the same API asButton
, which makes it easier to migrate from one to another.The problem is that, depending on the situation, the same
ToolbarButton
component may be rendered within differentToolbar
components, and, because of that, it'll unpredictably change its own API.The following
ToolbarButton
would work only when within<Toolbar __experimentalAccessibilityLabel>
:If it's rendered within
<Toolbar>
, bothlabel
andisPressed
props would be ignored.There's another PR (#22637) that proposes deprecating
title
,isActive
andextraProps
fromToolbarButton
, but it turns out that getting rid of those props is not as simple as I'd anticipated, so I'm creating this simpler PR just to avoid future issues.This PR updates the component so both cases have the same API: both will accept the
Button
props in addition to theToolbarButton
custom props.