Skip to content

[DEPR] Branding without design tokens #23

@brian-smith-tcril

Description

@brian-smith-tcril

RFC Start Date

2024-07-19

Target Plan Accepted Date

2024-08-02

Target Transition Unblocked Date

2025-05-22

Earliest Breaking Changes Unblocked Date

2025-06-18

Earliest Open edX Named Release Without This Functionality

Ulmo - 2025-05

Rationale

https://github.com/openedx/paragon/blob/master/docs/decisions/0019-scaling-styles-with-design-tokens.rst
https://github.com/openedx/paragon/tree/alpha?tab=readme-ov-file#design-tokens

Removal

from https://github.com/openedx/paragon/blob/master/docs/decisions/0019-scaling-styles-with-design-tokens.rst#implications-for-theme-authors-eg-edxbrand-packages

Currently, theme authors largely modify SCSS variables from core Paragon by creating a _variables.scss file and importing it after the core Paragon SCSS styles in consuming applications (e.g., micro-frontends). Doing so, SCSS will override the original variables' values defined by core Paragon with the new SCSS from the @edx/brand theme.

Replacement

With design tokens, theme authors will instead override core Paragon tokens by defining their own JSON tokens that get deep merged alongside the core Paragon tokens, thus overriding any tokens that were defined by the theme author.

  • Note: Existing themes packages will not work once this change has landed, see the Migration section for how to migrate.

Deprecation

There is no plan to mark the code for deprecation. This will be a one time switch.

Migration

There are plans to create a how-to document for migrating existing brand packages to design tokens, as well as discussions being had around building out automated tooling to assist in the process.

As of writing, the following information is available:

Additional Info

No response

Task List

There are 3 main phases:

  1. frontend-platform documentation (step by step guide to migration)
  2. mfe upgrades - upgrade every MFE to use design tokens
  3. tooling for tutor - tooling for building and hosting CSS variables

Additionally work has already been done to upgrade paragon to support design tokens, and frontend-app-discussions has been built on a pilot branch to use design tokens, proving out the system.

These MFEs are considered out of scope for the conversion:

openedx/frontend-app-admin-portal
openedx/frontend-app-enterprise-public-catalog
openedx/frontend-app-learner-portal-enterprise
openedx/frontend-enterprise
openedx/frontend-app-learner-portal-programs
openedx/frontend-app-ecommerce
openedx/frontend-app-payment
openedx/frontend-component-ai-translations
openedx/frontend-app-shell

Metadata

Metadata

Labels

deprProposal for deprecation & removal per OEP-21

Type

No type

Projects

Status

Transition Unblocked

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions