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.
Description
I chose to implement
asChild
behavior instead ofas
prop, which is really difficult to handle when we implement components on top ofstyled
.Also this choice follows the following RFC:
as
design pattern is deprecated on Radix-UI #218usgae of
as
prop is not disabled by this PR, simply, we cannot handle polymorphic typing properly. Users can still remove types from the component and make use ofas
prop if they prefer.Added test and story to back the use case of a "ButtonLink"
I also reworked
state="waiting"
implementation, so it doesn't clash withasChild
behavior.Preview
simplescreenrecorder-2022-04-13_12.24.23.mp4
Good PR checkboxes
Good Review checkboxes
ℹ️ Copy the snippet and paste in the review field to fill it