Design and UI styling (original) (raw)

Our Design System is a constantly evolving set of specifications that aim to ensure visual consistency across Docker products, and meetlevel AA accessibility standards. We've opened parts of it to extension authors, documenting basic styles (color, typography) and components. See:Docker Extensions Styleguide.

We require extensions to match the wider Docker Desktop UI to a certain degree, and reserve the right to make this stricter in the future.

To get started on your UI, follow the steps below.

Docker Desktop's UI is written in React andMUI (using Material UI to specific). This is the only officially supported framework for building extensions, and the one that our init command automatically configures for you. Using it brings significant benefits to authors:

Read ourMUI best practices guide to learn future-proof ways to use MUI with Docker Desktop.

You may prefer to use another framework, perhaps because you or your team are more familiar with it or because you have existing assets you want to reuse. This is possible, but highly discouraged. It means that:

Follow our MUI best practices (if applicable)

See ourMUI best practices article.

Only use colors from our palette

With minor exceptions, displaying your logo for example, you should only use colors from our palette. These can be found in ourstyle guide document, and will also soon be available in our MUI theme and via CSS variables.

Use counterpart colors in light/dark mode

Our colors have been chosen so that the counterpart colors in each variant of the palette should have the same essential characteristics. Anywhere you use red-300 in light mode, you should use red-300 in dark mode too.