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

[RFC] BaseUI tutorial #36697

Closed
mj12albert opened this issue Mar 30, 2023 · 4 comments
Closed

[RFC] BaseUI tutorial #36697

mj12albert opened this issue Mar 30, 2023 · 4 comments
Assignees
Labels
docs Improvements or additions to the documentation package: base-ui Specific to @mui/base RFC Request For Comments

Comments

@mj12albert
Copy link
Member

mj12albert commented Mar 30, 2023

Part of #32979

What's the problem? 🤔

  • Base does not have a tutorial of similar depth and complexity as the Joy tutorial
  • We got feedback about the current Tailwind based tutorial being impractical
    • For Tailwind integration, there could be more emphasis on the setup and the actual demo could be much simpler (e.g. just a button)

What are the requirements? ❓

  • Can be implemented using only Base components or only Base hooks
  • A more practical/realistic example than a music player
  • No light/dark mode, it relies on the styling solution and not Base itself
  • Looks good in both light and dark mode of the docs site

Options? 💡

1 - Credit card input

Sandbox: https://deploy-preview-36699--material-ui.netlify.app/base/getting-started/tutorial/#credit-card-input

Screenshot 2023-03-30 at 8 32 20 PM

Reference: (Stripe Elements)
Screenshot 2023-03-30 at 8 38 08 PM

2 - Steam Deck settings UI

Sandbox: https://deploy-preview-36699--material-ui.netlify.app/base/getting-started/tutorial/#steam-deck-settings

Screenshot 2023-03-30 at 8 32 45 PM

Reference:
Screenshot 2023-03-30 at 8 36 48 PM

3 - Login form just like JoyUI

Didn't make a sandbox for this one. Whereas the JoyUI tutorial has a focus on key features specific to Joy (e.g. global variants, color scheme), we could shift the focus on Base's features, e.g. show the login form with 3 different styling solutions, or implement the form using only unstyled components or only hooks

Maybe we could replicate a well known design e.g. the Github login form

Reference:
Screenshot 2023-03-30 at 8 42 52 PM

@mj12albert mj12albert added status: waiting for maintainer These issues haven't been looked at yet by a maintainer RFC Request For Comments labels Mar 30, 2023
@mj12albert mj12albert self-assigned this Mar 30, 2023
@mj12albert mj12albert removed the status: waiting for maintainer These issues haven't been looked at yet by a maintainer label Mar 30, 2023
@mj12albert
Copy link
Member Author

mj12albert commented Mar 30, 2023

Right now I'm leaning more towards #2 even though it was kind of a last minute idea (actually more of a discovery), it makes use of 3 different Base components but overall isn't too complex.

#1 is a little flashier but I realized there's no pure hook equivalent of FormControl, and it requires a bit of extraneous code cluttering up the demo (svgs, some verbose credit card regexes)

@mj12albert mj12albert added docs Improvements or additions to the documentation package: base-ui Specific to @mui/base labels Mar 30, 2023
@samuelsycamore
Copy link
Member

samuelsycamore commented Mar 30, 2023

Thanks for taking this on @mj12albert!! I love 2. I think it would be nice to have 3 as well, so users could compare/contrast Joy vs. Base. Actually it would be great to have them all, sooner or later :)

@danilo-leal
Copy link
Contributor

danilo-leal commented Mar 30, 2023

Yeah, appreciate you doing this @mj12albert! I agree with y'all that 2 seems like the best but I kinda see a progression in complexity here (1 → 3 → 2) which makes me think if we couldn't have them all but oriented per levels of difficulty ⎯ e.g. "here's a beginner-level tutorial building something with Base UI"; "here's an intermediate-level..."; etc.

@mj12albert
Copy link
Member Author

Continued in mui/base-ui#21 !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Improvements or additions to the documentation package: base-ui Specific to @mui/base RFC Request For Comments
Projects
None yet
Development

No branches or pull requests

3 participants