mui / mui/material-ui

Support a second design system

Open
#22,485 22 comments 142 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

design design: joy priority: important scope: all components type: new feature
Dominant language
JavaScript
Stars
99.1k
Forks
32.5k
Avg merge
2d 17h
Merged PRs (30d)
106

Description

Summary 💡

Provide a second theme the community would love. It has to gain traction on its own to make it a successful effort.

Examples 🌈

One example of a component library that supports multiple themes:

Capture d’écran 2020-09-04 à 16 39 02

https://seek-oss.github.io/braid-design-system/components/Button

Motivation 🔦

Material Design doesn't have a monopoly on the design systems used by developers and designers. During our last survey, we had 28 feedback to improve custom themes and provide a new theme.

The issues with Material Design:

  • Feels a lot like Google. Moving away from this brand can require more overrides than is desirable.
  • Community love/hate relationship with Material Design. It's polarising.
  • I suspect that making a good looking UI could be made easier, too many shadows.

Proposed solution

We bring on board a designer/developer (somebody with both skills, but has to be a really great designer, no need to have strong development skills) to build a theme using a limited set of constraints:

  • Create a new repository under a different name in the mui-org organization.
  • Use the unstyled components we are working on #6218. This should save a lot of time in the process. This would create a healthy constraint to make sure that the unstyled components truly deliver (hopefully it will force us to improve them). It would also give the unstyled components credibility.
  • Use the tooling infrastructure. Our CI infrastructure is pretty solid at this point. We can make it work across repositories as we do it with material-ui-x.

A few elements that we could consider setting as constraints but we are not fully convinced, it could actually harm:

  • Use the same documentation infrastructure
  • Use the same styling solution

Related issues

  • #18908: Material Design studies x4 themes
  • #21911: iOS theme
  • #23519: true dark theme
  • #21113: document the themes of the community

Benchmark

https://trello.com/c/02I7LL5D/2491-introduce-a-second-theme

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the unstyled components work in #6218 and the tooling setup referenced through material-ui-x. Define the scope and constraints for a separate theme repository, including whether to share documentation and styling infrastructure. Done means a decided, community-supported plan for building and maintaining the second design system.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, react
Domain
design, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.