-
Notifications
You must be signed in to change notification settings - Fork 1.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
[Sheet] Deprecate component #4210
Conversation
size-limit report
|
Co-authored-by: Sadie Redden <sadie.redden@shopify.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.
👍
I'm a big fan of subtraction. I randomly heard about this ticket, and really comment the team for doing this. It takes courage to subtract things but its necessary for building focused and great systems like Polaris. |
I think this is a good deprecation. Is there any published guidance on what is going to happen to the We have similar implementations that followed this design pattern and are always interested in leveraging the great minds on the Polaris design team for inspiration. |
@mbaumbach as of now the filters will remain using the sheet. On the next major release we will move them into the Filters component so the pattern is not accessible to solve multiple problems. Removing the sheet pattern for filters would require an understanding on how users filter across the entire admin experience. If you are looking for a UX pattern that doesn't use the sheet I would recommend PC Part Picker. A change like this in the admin would require changes to the admin frame (header, sidebar) to create more space. |
We are constantly following Polaris because we always want to be up to date with our apps. They are doing are really good job, keep going! PS: The last Unite was world class! Best regards from Koblenz, 247APPS Team :-) |
Our use case for sheets involves using them for on-page documentation (i.e. a quick pop-out for more details). It is particularly useful because the international audience for the application is not very technically sophisticated, and having these reminders and instructions easily available at any part of the interface is really quite helpful for them. Losing the sheet component actually creates more of a context change for us, which I understand is the opposite of the objective with this deprecation: the user has to go to a completely different page, with likely a different layout (for example, a wiki). The idea that the only valid use case for Sheet is the way you use it in the Filter component (which, it sounds like you will be maintaining, by the way) seems a bit...not fully considered. I appreciate that you will be maintaining it for Filters, because we are also starting to use Sheet in this way for that component as well. Could you please reconsider deprecating this component? |
I think there are valid uses cases for Sheet. I just built an app that lets someone design templates, and a Sheet is used to view and edit properties for the template. The properties do not need to always be visible, and they need to be visible, when desired, alongside the template. A modal would be inappropriate as it would cover the template. Please, please don't get rid of this component. Sheet has been a really good solution to meet my app's needs. |
This PR deprecates the sheet component.
WHY are these changes introduced?
Most of this is true for modals as well. In general, we should avoid modal patterns as much as possible.
WHAT is this pull request doing?
@deprecated
flag to the sheet componentconsole.warn
in development modedeprecationNotice
information that will be visible in the style guide (see https://github.com/Shopify/polaris-styleguide/pull/4086)Example of how this will show up in the style guide: (For exact wording, see the "files changed" tab.)
Example of how this will show up in the Figma library:
How to 🎩
🖥 Local development instructions
🗒 General tophatting guidelines
📄 Changelog guidelines
Copy-paste this code in
playground/Playground.tsx
:🎩 checklist
README.md
with documentation changes