-
-
Notifications
You must be signed in to change notification settings - Fork 235
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
feat: implemented/added scroll-area component to design-system #1283
feat: implemented/added scroll-area component to design-system #1283
Conversation
β Deploy Preview for design-insights ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
β Deploy Preview for oss-insights ready!Built without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify site settings. |
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.
PR Compliance Checks
Thank you for your Pull Request! We have run several checks on this pull request in order to make sure it's suitable for merging into this project. The results are listed in the following section.
Watched Files
This pull request modifies specific files that require careful review by the maintainers.
Files Matched
- npm-shrinkwrap.json
- package.json
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.
LGTM ππ
Co-authored-by: ( Nechiforel David-Samuel ) NsdHSO <37635083+NsdHSO@users.noreply.github.com>
Co-authored-by: ( Nechiforel David-Samuel ) NsdHSO <37635083+NsdHSO@users.noreply.github.com>
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.
LGTM
π This PR is included in version 1.54.0-beta.2 π The release is available on GitHub release Your semantic-release bot π¦π |
## [1.54.0](v1.53.0...v1.54.0) (2023-06-28) ### π Bug Fixes * fix yellow color for `<Pill />` component ([#1299](#1299)) ([2f2d9f5](2f2d9f5)) ### π Features * hide highlights tab components on profiles without highlights ([#1304](#1304)) ([976739f](976739f)) * add `BillBoard` component to design system ([#1306](#1306)) ([1181cfd](1181cfd)) * add `FeaturedHighlightPanel` component to design system ([#1307](#1307)) ([452213c](452213c)) * add `UserCard` component to storybook design system ([#1295](#1295)) ([6867011](6867011)) * add highlight prompt to design system ([#1297](#1297)) ([4a85e74](4a85e74)) * add top users panel component to design system ([#1300](#1300)) ([9c05fec](9c05fec)) * add URL for collaboration requests ([#1305](#1305)) ([b3f8ea5](b3f8ea5)) * allow login flow after selecting repositories to add to insight page (close [#1132](#1132)) ([#1184](#1184)) ([21aaa0b](21aaa0b)) * implemented/added scroll-area component to design-system ([#1283](#1283)) ([b7280ab](b7280ab))
π This PR is included in version 1.54.0 π The release is available on GitHub release Your semantic-release bot π¦π |
## [1.54.0-beta.2](open-sauced/app@v1.54.0-beta.1...v1.54.0-beta.2) (2023-06-26) ### π Features * add highlight prompt to design system ([#1297](open-sauced/app#1297)) ([4a85e74](open-sauced/app@4a85e74)) * implemented/added scroll-area component to design-system ([#1283](open-sauced/app#1283)) ([b7280ab](open-sauced/app@b7280ab))
## [1.54.0](open-sauced/app@v1.53.0...v1.54.0) (2023-06-28) ### π Bug Fixes * fix yellow color for `<Pill />` component ([#1299](open-sauced/app#1299)) ([2f2d9f5](open-sauced/app@2f2d9f5)) ### π Features * hide highlights tab components on profiles without highlights ([#1304](open-sauced/app#1304)) ([976739f](open-sauced/app@976739f)) * add `BillBoard` component to design system ([#1306](open-sauced/app#1306)) ([1181cfd](open-sauced/app@1181cfd)) * add `FeaturedHighlightPanel` component to design system ([#1307](open-sauced/app#1307)) ([452213c](open-sauced/app@452213c)) * add `UserCard` component to storybook design system ([#1295](open-sauced/app#1295)) ([6867011](open-sauced/app@6867011)) * add highlight prompt to design system ([#1297](open-sauced/app#1297)) ([4a85e74](open-sauced/app@4a85e74)) * add top users panel component to design system ([#1300](open-sauced/app#1300)) ([9c05fec](open-sauced/app@9c05fec)) * add URL for collaboration requests ([#1305](open-sauced/app#1305)) ([b3f8ea5](open-sauced/app@b3f8ea5)) * allow login flow after selecting repositories to add to insight page (close [#1132](open-sauced/app#1132)) ([#1184](open-sauced/app#1184)) ([21aaa0b](open-sauced/app@21aaa0b)) * implemented/added scroll-area component to design-system ([#1283](open-sauced/app#1283)) ([b7280ab](open-sauced/app@b7280ab))
What type of PR is this? (check all applicable)
Description
This PR Implements
@radix-ui/react-scroll-area
primitive to create theScrollArea
component which was in turn implemented in theSelect
component to allow scrolling of overflowingSelectItems
value within the component which wasn't caught by theavoidCollisions
prop because of our preferredposition
value i.e.popper
I had initially intended to address this with the ScrollUpButton/ScrollDownButton sub-component of the already-implemented
@radix-ui/react-select
primitive, but there was a certain challenge with this approach.In order for to use the
ScrollUpButton
andScrollDownButton
components, we'd need to have theposition
prop of the Select Primitive Content set to the defaultitem-aligned
instead of our preferredpopper
(as seen below)Code Sample
But doing this, i.e. setting the Select Primitive Content
position
to the defaultitem-aligned
it makes the content behave similarly to a native MacOS menu by positioning it relative to the active item as seen below on a responsive layout.Unlike our current preferred
position
ofpopper
which positions the content below the select trigger making it behave like a "dropdown menu" or "popover" as seen below on a responsive layout.At the point when
position
defaults/sets toitem-aligned
, theScrollUpButton
andScrollDownButton
components, if implemented displays on demand when the content collides with the top/bottom of the viewport, as seen below on a responsive layout.But this come at the expense of our preferred
position
ing value, enforcing theitem-aligned
which doesn't really seem to look aesthetically good nor great UX-wise.The Trade-off
I thought it was a better to stick with our preferred
position
value ofpopper
, coupling it with theScrollArea
component implementation, we let ourSelect
component behave like a dropdown menu, and also improve the usability experience by enhancing its general responsiveness, as seen in screenshot below.Related Tickets & Documents
fixes #1273
Mobile & Desktop Screenshots/Recordings
Before
screencast-localhost_3000-2023.06.21-17_53_10.webm
After
screencast-localhost_3000-2023.06.21-17_38_47.webm
Added tests?
Added to documentation?
[optional] Are there any post-deployment tasks we need to perform?
Nothing much, Its important to note that I added a new package though i.e.
@radix-ui/react-scroll-area
[optional] What gif best describes this PR or how it makes you feel?