Skip to content
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

[docs-infra] Mark unstable components with a chip in the nav drawer #38573

Merged
merged 3 commits into from
Aug 29, 2023

Conversation

michaldudak
Copy link
Member

Realizing we don't have any way of showing unstable components, I added a chip (similarly to "planned") to the app nav drawer entries.
I marked Base UI's Number Input as such:

image

@michaldudak michaldudak added the website Pages that are not documentation-related, marketing-focused. label Aug 21, 2023
@michaldudak michaldudak requested review from danilo-leal and a team August 21, 2023 07:45
@mui-bot
Copy link

mui-bot commented Aug 21, 2023

Netlify deploy preview

https://deploy-preview-38573--material-ui.netlify.app/

Bundle size report

No bundle size changes (Toolpad)
No bundle size changes

Generated by 🚫 dangerJS against 859b0f1

Copy link
Member

@alexfauquette alexfauquette left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On X we were using 🧪 in the name, but a chip seems more stable.

I let @danilo-leal make sure the design is 👍


@mui/x We will be able to replace the page title including a 🧪 by the property unstable: true

@flaviendelangle
Copy link
Member

On X we have a "NEW" badge that is also often used on unstable elements.
We should probably not keep both.

@alexfauquette
Copy link
Member

Field components can stay with "new" and charts move to "unstable"
image

@noraleonte
Copy link
Contributor

Field components can stay with "new" and charts move to "unstable"

Having both a 'new' and 'unstable' chips is a bit confusing. We should probably have a clear definition of what is new and what is unstable 🤔 What do we mark as new? A new docs page? A new library?

@danilo-leal danilo-leal changed the title [website] Mark unstable components with a chip in the nav drawer [docs-infra] Mark unstable components with a chip in the nav drawer Aug 21, 2023
@danilo-leal danilo-leal added scope: docs-infra Specific to the docs-infra product and removed website Pages that are not documentation-related, marketing-focused. labels Aug 21, 2023
Copy link
Contributor

@danilo-leal danilo-leal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Design-wise, it looks good! But echoing folks here on whether we want to have both New and Unstable or one or the other? From a distance, they don't sound like the same thing ⎯ I'd assume that New is something fresh that's ready for me to use, whereas Unstable sounds like a beta thing?

@michaldudak
Copy link
Member Author

michaldudak commented Aug 21, 2023

I see it exactly like that: "New" is ready to use, stable, and shiny, whereas "unstable" is, well, unstable :) Nothing in "new" suggests the component's API can still change between majors.

We could add tooltips to provide further explanation to all the chips.

@michaldudak
Copy link
Member Author

We've discussed the issue with the Core team. The word "unstable" has perhaps some negative connotations. Other options that we feel would work better include "alpha" or "experimental". Do you have any preferences in this matter?

@flaviendelangle
Copy link
Member

I like experimental, because "alpha" can be weird when it's in a component that is not itself in alpha

@samuelsycamore
Copy link
Contributor

The only drawback I could see for "experimental" is that it's a longer word, so it takes up a lot of space on the menu! 😅 But as long as it works design-wise then I think it's preferable over "unstable."

@danilo-leal
Copy link
Contributor

Screen Shot 2023-08-22 at 00 00 40

I'm also up for "experimental", but it will break on the side nav if added to components with a big name. For the Number Input particularly, it works all right. But not sure if still the best option.

At the Core meeting earlier today, we discussed the concept of the Lab and how it overlaps with what we understand "unstable" to be. In a world where "components in the lab" don't necessarily mean that they're available through another package (i.e., @mui/lab), we could use the word "lab" to refer to those in an experimental phase. What do y'all think? Of course, a much smaller label that also can convey the same thing.

@mnajdova
Copy link
Member

We could also use a "preview" label instead of unstable, this is what Radix UI uses, it shorter and to the point :)

@flaviendelangle
Copy link
Member

we discussed the concept of the Lab and how it overlaps with what we understand "unstable" to be. In a world where "components in the lab" don't necessarily mean that they're available through another package (i.e., @mui/lab), we could use the word "lab" to refer to those in an experimental phase. What do y'all think? Of course, a much smaller label that also can convey the same thing.

By the way, how does the lab package will evolve in the future?
Will you have a lab-joy, lab-material and lab-base?
Will you have only a lab for material (but why would material have a different structure than the other lines of product)?
Do you plan on removing the lab at some point and have the "unstable" components live in their final package?

@michaldudak
Copy link
Member Author

Do you plan on removing the lab at some point and have the "unstable" components live in their final package?

We're leaning toward it. Having a separate lab package for each stable one would require much bigger effort.

@michaldudak
Copy link
Member Author

I changed the text to "Preview". @danilo-leal let me know what you think about the color. I wouldn't leave it as grey, as it's too similar to "Planned"

green image image

@danilo-leal
Copy link
Contributor

@michaldudak cool, that's looking good! @mnajdova killed it with this word suggestion 😬 It doesn't seem we're using a blue chip yet. I think I'd use that and save the green one for "New", it seems more fitting. So, the final arrangement would be:

{legacy && <Chip label="Legacy" sx={sxChip('warning')} />}
{newFeature && <Chip label="New" sx={sxChip('success')} />}
{planned && <Chip label="Planned" sx={sxChip('grey')} />}
{unstable && <Chip label="Preview" sx={sxChip('primary')} />}
Screen Shot 2023-08-23 at 07 33 36

@michaldudak
Copy link
Member Author

Blue it is!

image

danilo-leal

This comment was marked as outdated.

Copy link
Contributor

@danilo-leal danilo-leal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome! 🚢 it!

(Forgot to mark the review above as approve 🤦)

@michaldudak michaldudak merged commit a392609 into mui:master Aug 29, 2023
@michaldudak michaldudak deleted the unstable-tag branch August 29, 2023 08:35
mnajdova pushed a commit to mnajdova/material-ui that referenced this pull request Sep 8, 2023
mnajdova pushed a commit to mnajdova/material-ui that referenced this pull request Sep 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope: docs-infra Specific to the docs-infra product
Projects
Status: Recently completed
Development

Successfully merging this pull request may close these issues.

8 participants