Skip to content

Controlling design tools visibility #27295

@oandregal

Description

@oandregal

This issue is to discuss and streamline the behavior of design tools in terms of the visibility of the UI controls for users.

This topic is growing complex, so I want us to agree on a terminology:

  • contexts: each block that can have styles/settings assigned. Note that some blocks (core/heading) expose many contexts (core/heading/h1, ..., core/heading/h6) and there's also the "global" context that doesn't match any block.
  • block UI: the block sidebar available in all editors.
  • global UI: the global styles sidebar available in the site editor.

Use cases

Some examples of what we want theme authors to be able to do:

  • Disable custom gradients in all contexts, so they aren't visible in the block and global UIs.
  • Enable color presets in every context, and make them visible in the block and global UIs.
  • Enable font family and its presets only for the global context (this context is only visible in the global UI).
  • Enable line height for all contexts, but make it visible only visible in the global UI.

Some examples that we aim to streamline for users:

  • User is able to modify the values of the colors (theme presets) for all contexts at once.
  • User is able to modify the values of the font size (theme presets) for the paragraph context.

Coda

A related use case but that merits its own discussion is extensibility by 3rd parties. Things like disabling the typography panel entirely and provide their own, or provide a different mechanism to set font families.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Global StylesAnything related to the broader Global Styles efforts, including Styles Engine and theme.json[Feature] Design ToolsTools that impact the appearance of blocks both to expand the number of tools and improve the experi[Feature] ThemesQuestions or issues with incorporating or styling blocks in a theme.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions